/* Base Styles */
body {
	/* max-width: 95%; */
	font-family: Arial, sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.6;
	width: 100vw;
	/* min-width: 475px; */
	padding-bottom: 5vw; /* Add padding at the bottom for scrolling */
	margin-bottom: 5vw; /* Add padding at the bottom for scrolling */
	height: 100vh; /* Full viewport height */
}

/* Container */
.container {
	width: 90%;
	max-width: 1200px;
	margin: auto;
}


/* Main Section */
.main {
	padding: 20px;
}

/* Grid Layout */
.row {
	display: flex;
	flex-wrap: wrap;
	margin: -10px;
}

.col {
	flex: 1;
	padding: 10px;
	min-width: 250px; /* Minimum width for columns */
}

/* Footer */
footer {
	background: #004d7a;
	color: #ffffff;
	text-align: center;
	padding: 1rem 0;
}

/* Media Queries */
@media (max-width: 768px) {
	nav {
		flex-direction: column;
	}
	
	.row {
		flex-direction: column;
	}
	
	.col {
		flex-basis: 100%;
	}
}

@media (max-width: 480px) {
	header h1 {
		font-size: 1.5rem;
	}
	
	nav a {
		padding: 10px;
		font-size: 0.9rem;
	}
	
	footer {
		font-size: 0.8rem;
	}
}
h1 { font-size: 4em; }
h2 { font-size: 3em; }
h3 { font-size: 2.5em; }
h4 { font-size: 2em; }
h5 { font-size: 1.5em; }
.container {
	display: flex;
	width: 90%; /* Set a width for the container */
}

.box {
	margin: 0 auto; /* padding: 1em; */
	/* height: 18em; */
	/* display: flex; */
	justify-content: center; /* Center text horizontally */
	align-items: center; /* Center text vertically */
}

.fixed img {
	width: 150px;
}
.fixed {
	text-align: center;
	width: auto;
}
div.fixed div.caption {display: block !important; clear: both !important;}
.flexible {
	text-align: center;
	flex-grow: 1; /* Allow the middle box to grow and fill the available space */
}

section {
	display: flex;
	justify-content: center; /* Center buttons */
	padding: 20px;
	width: 100%; /* Full width of the viewport */
}
section em { dispaly: block; }
.responsive-button {
	flex: 1; /* Grow to fill available space */
	max-width: 300px; /* Maximum width for buttons */
	margin: 0 10px; /* Padding between buttons */
	padding: 15px; /* Button padding */
	font-size: 2vw; /* Responsive font size */
	background-color: #007bb8;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 600px) {
	.responsive-button {
		font-size: 4vw; /* Increase font size for smaller screens */
	}
}

/* Landscape mobile browsers adjustments */
@media (orientation: landscape)  {
	body {
	padding-bottom: 15vw; /* Add padding at the bottom for scrolling */
	margin-bottom: 15vw; /* Add padding at the bottom for scrolling */
		/* font-size: 90%; /* Reduce text size by 25% */ */
	}
	.flexible {
		font-size: 125%;
		flex-grow: 1; /* Allow the middle box to grow and fill the available space */
	}

}
button {display: block; padding: 1em; font-size: 2.5em; background-color: black; color: white; width: 45%; margin: .5em; float: left; }
button.halfsize {display: block; padding: 1em; font-size: 2.5em; background-color: black; color: white; width: 45%; margin: .5em; float: right;}
button a { color: white; text-decoration: none;}
button a:hover { color: black; text-decoration: none;}
button a:click { color: black; text-decoration: underline;}

.align_c { text-align: center; display: block; }
.float_l {float: left !important;}
.float_r {float: right !important;}
div.portrait div span {display: block; font-size: 1.75em; font-weight: bold }
div.header { clear: both; display: block; height: 4em; }
div.portrait div.message { font-size: 2em; color: blue;  }
div.bottom { position: fixed; bottom: 0; left: 0; right: 0; height: 8vw; background-color: #fff; font-size: 2vw; text-align: center; }
div.bottom.contact { text-align: center;}
div.bottom.contact address { display: inline;}



/* Admin Stuff */
div.admin { width: 90%; margin-left: 5%; }
div.admin form ul {font-size: 1.5em; margin-bottom: 2em; }
div.admin form ul li { width: 45em; }
div.admin form ul li label { width: 10em; float: left; font-weight: bold; }
div.errors { font-weight: bold; width: 60%; color: #f00; font-size: 2em; margin: 0 auto; }