@charset "utf-8";


body {
	font-family: Verdana, Geneva, sans-serif;
	color: rgb(9, 22, 58);
	background-color: rgba(212, 245, 255, 0.8);
	width: 90%;
	margin: 0 auto;
}
header{
	text-align: center;
	padding: 20px;
}
h2 {
	font-size: 1.3em;
}
nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
nav a:hover {
	color: rgb(255, 255, 255);
	background-color: rgb(83, 2, 75);
}
nav a {
	display: block;
	line-height: 2.8em;
	text-align: center;
	padding-left: 10px;
	padding-right: 10px;
	text-decoration: none;
	color: rgb(20, 10, 80);
	background-color: rgb(25, 180, 236);
}
main{
	padding: 20px;
	margin-top: 35px;
}
.main-img {
  float: right;
  display: flex;
  gap: 20px;
  width: 50%;
  padding: 25px;
}
.main-img img {
  width: 100%;
  height: auto;
  display: block;
}
header img{
	width: 100%;
}
body > footer {
	background-color: rgb(25, 180, 236);
	color: rgba(83, 78, 83,0.6);
	font-weight: bold;
	font-size: 0.9em;
	line-height: 3em;
	text-align: center;
	margin-top: 10px;
	padding: 10px;
	clear: both;
}
nav li{
	display: block;
	width: 20%;
	float: left;
}
ol{
	list-style-type: disclosure-closed;
}
p.vacation-text{
	padding: 0 20px 20px 20px;
	text-indent: 1.5em;
}
div.vacation h1, div.vacation h2{
	padding-left: 5px;
}
div.vacation h1{
	padding-top: 15px;
}
/* Flexbox styles for Vacation images */
div.gallery{
	display: flex;
	flex-wrap: wrap;
}
div.imgGallery{
	flex: 23%;
	max-width: 25%;
	padding: 0 2px;
}
div.imgGallery img{
	width: 100%;
}
/* Styles for Family Table */
table{
	border-collapse: collapse;
	width: 95%;
	border: 5px solid rgb(9, 22, 58);
	color: rgb(9, 22, 58);
	margin-left: auto;
	margin-right: auto;
}
main.family{
	padding: 30px 0 20px 0;
}
tbody th,tbody td{
	border: 2px solid rgb(9, 22, 58);
	padding: 8px;
	text-align: left;
}
thead th, thead td{
	background-color: rgb(25, 180, 236);
	text-align: center;
	padding: 8px;
	border: 2px solid rgb(9, 22, 58);
	font-size: 1.11em;
}
tfoot td{
	text-align: center;
	font-size: 0.5em;
	color: rgb(9, 22, 58);
	padding: 4px;
	background-color: rgb(25, 180, 236);
}
tbody tr:nth-of-type(even){
	background-color: rgba(152, 214, 236, 0.75);
}
/*Contact Me form styles*/
input:focus:valid, select:focus:valid, textarea:focus:valid{
	background-color: #dae4f5;
	border: 2px solid rgb(25, 180, 236);
	outline: none;
}
input:focus:invalid, select:focus:invalid, textarea:focus:invalid{
	background-color: rgb(250, 222, 222);
	border: 2px solid #dc3545;
}
/* Media Query for Flexbox 50% width */
@media only screen and (max-width: 1100px){
	div.imgGallery{
		flex: 48%;
		max-width: 50%;
	}
}
/* Media Query for Mobile Devices 0px - 768px */
@media only screen and (max-width: 768px){
	body{
		width: 100%;
		margin: 0;
		background-color: rgba(71, 71, 119, 0.3);
	}
	.main-img{
		float: none;
		width: 90%;
		display:flex;
		flex-direction: column;
	}
	.main-img img{
		width: 100%;
		height: auto;
	}
	/* Hamburger Menu */
	.menu-container{
		position: relative;
		display: inline-block;
		width: 40%;
		min-width: 150px;
	}
	.hamburger{
	width: 24px;
	display:block;
	padding: 15px;
	padding-left: 20%;
	}
	.hamburger-bar{
	width: 100%;
	display: block;
	height: 3px;
	border-radius: 2px;
	background: black;
	}
	.hamburger-bar + .hamburger-bar{
	margin-top: 4px;
	}
	.nav-links{
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: rgb(25, 180, 236);
		margin: 0;
		padding: 0;
		z-index: 10;
	}
	.menu-container:hover .nav-links{
		display: block;
	}
	/* End of Hamburger Menu */
	nav li{
		float: none;
		font-size: x-large;
		width: 100%;
		display: block;
	}
	nav a{
		border-bottom: solid black 1px;
	}
	div.imgGallery{
		flex: 100%;
		max-width:100%;
	}
	main{
		margin-top: 0;
	}
	main > ol{
		margin-top: 10px;
		margin-bottom: 10px;
	}
	/*responsive design for family table*/
	table, tbody, tr, td, th{
		display: block;
	}
	thead, tfoot{
		display: none;
	}
	tbody td{
		position: relative;
		padding-left: 40%;
		height: auto;
	}
	td::before{
	content: attr(data-label);
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px;
	width: 40%;
	}
	form{
		width: 100%;
		font-size: large;
	}
	fieldset{
		width: 100%;
		padding: 5px;
		margin: 0;
	}
	form input, form select, form textarea{
		position: inherit;
		display: block;
		height: 50px;
		padding: 5px;
		width: 90%;
	}
	form label{
		position: inherit;
		display: block;
		height: 50px;
		width: 90%;
	}
	input[type="submit"], input[type="reset"]{
		float: none;
		width: 90%;
		margin: 10px;
		font-size: 1.2em;
	}
}

@media only screen and (min-width: 769px){

	html {
		background-image: url(images/bg2.jpg);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-attachment: fixed;
	}
	.nav-links{
		display: block;
	}
	.hamburger{
		display: none;
	}
	form{
		width: 90%;
	}
	fieldset{
		width:90%;
		padding: 5px;
		margin-right: 10px;
		margin-bottom: 10px;
	}
	form input, form select, form textarea{
		display: block;
		position: relative;
		left: 30%;
		padding: 5px;
		height: auto;
		width: 60%;
	}
	form label{
		display: block;
		position: absolute;
		padding: 5px;
		width: 30%;
	}
	input[type="radio"]{
		display: inline;
		position: inherit;
		left: 0;
		width: auto;
	}
	label.radio{
		display: inline;
		position: inherit;
	}
	input[type="submit"], input[type="reset"]{
		display: block;
		float: left;
		left: 0;
		text-align: center;
		width: 40%;
		padding: 10px;
		margin-left: 5%;
		margin-right: 5%;
		margin-bottom: 10px;
	}
	footer{
		clear: both;
	}
}
