@charset "utf-8";
/********* CSS RESETS **********/

nav ul, nav ol {
	list-style-type: none;
}

img {
	max-width:100%;
}

h1, h2, h3, p, ul, ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
	color: #131012;
}

a {
	text-decoration: none;
}
/********* End CSS Reset *********/

/********* Body Styles *********/
#container {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	background-color: #9a8c98;
}
/********* End Body Styles *********/

/********* Header Styles *********/
header {
	background-color: #4f474e;
	display: flex;
	justify-content: space-between;
}

#logo {
    margin-left: 10px;
    margin-top: 10px;
	padding-bottom: 10px;
}

#navigation {
	position: relative;
	z-index: 1001;
}

#mobileNav {
	background: #4f474e;
	margin-bottom: 20px;
	padding-right: 20px;
}

#bars {
	font-weight: 200;
	color: #f2e9e4
}

#mobileNav h2 {	
    font-family: 'Playfair Display', serif;
	font-weight: 300;
	font-size: 1.5em;
	text-align: right;
	line-height: 50px;
	color: #f2e9e4;
}

#mainNav {
	width: 180px;
	padding-right: 20px;
	position: absolute;
	top: 50px;
	right: 0;
	border-top: 1px solid #f2e9e4;
}

#mainNav ul {
	background: #4f474e;
}

#mainNav ul li a {
    display: block;
    background: #4f474e;
	font-family: 'Montserrat', 'sans serif';
    color: #f2e9e4;
    font-weight: 200;
    font-size: 10px;
    line-height: 50px;
    text-decoration: none;
    text-align: right;
    width: 200px;
    margin-right: 20px;
    border-bottom: 1px solid #f2e9e4;
    letter-spacing: 5px;
}

#mainNav ul li a:hover {
	background:#746972;
}
/********* End Header Styles *********/

/********* Middle Styles *********/
#banner1 {
    background-image: url(Images/beachFam_600X304.png);/*This image was sourced from https://www.pexels.com/photo/man-and-woman-sitting-on-rock-near-seashore-1914982/*/
  	position: relative;
    height: 304px;
    width: 100%;
}

#beachFam h2 {
    font-family: 'Playfair Display', serif;
    color: #131012;
    font-weight: 500;
    font-size: 2em;
    text-align: left;
    position: relative;
    top: 55px;
    left: 30px;
	opacity: 75%;
}

#beachFam button {
    margin-top: 10px;
    padding: 10px 30px;
    justify-content: center;
    align-items: center;
    background-color: #4f474e;
    font-family: 'Montserrat', 'sans serif';
    font-size: 0.75em;
    color: #f2e9e4;
    border-radius: 50px;
    transition-duration: 0.4s;
    position: relative;
    left: 45px;
    top: 55px;
}

#beachFam button:hover {background-color: #2d282d;}

#mission img {
	display: none;
}

#missionStatement {
	width: 80%;	
	margin: 20px auto 25px auto;
    background-color: #f2e9e4;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 25px;
    padding-bottom: 25px;
    -webkit-box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
    box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
}

#missionStatement h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 2em;
	text-align: center;
	padding-bottom: 10px;
}

#missionStatement p {
    font-family: 'Montserrat', 'sans serif';
    font-weight: 400;
    font-size: 1em;
    line-height: 165%;
    padding-top: 10px;
}
#team {	margin-bottom: 35px;}

#banner2 {
	background-image: url(Images/bluffsFam_600x304.png);/*This image was sourced from https://www.pexels.com/photo/man-and-woman-sitting-on-stone-carrying-baby-2120220/*/
    position: relative;
    height: 304px;
    width: 100%;
}

#team h2 {
    position: absolute;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 2em;
    color: #131012;
    border-bottom: 1px solid #131012;
    opacity: 75%;
    left: 320px;
    top: 30px;
}

.teamMember {
	width: 93.5%;	
	margin: 20px auto;
	padding-bottom: 25px;
	background-color: #f2e9e4;
	-webkit-box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
    box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
}

.teamMember h3, .teamMember p {
	padding-left: 30px;
	padding-right: 30px;
}

.teamMember h3 {
	font-family: 'Playfair Display', serif;
	font-weight: 500;
	font-size: 1.5em;
	padding-top: 25px;
}

.teamMember p {
	font-family: 'Montserrat', 'sans serif';
	font-weight: 400;
	font-size: 1em;
	line-height: 165%;
	padding-top: 10px;
}

#banner3 {
    background-image: url(Images/happyGirls_600x304.png);/*This image was sourced from https://www.pexels.com/photo/two-women-on-balcony-206409/*/
    position: relative;
    height: 304px;
    width: 100%;
}

#services h2{
    position: absolute;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 2em;
    color: #131012;
    border-bottom: 1px solid #131012;
    padding-left: 8px;
    padding-right: 8px;
    opacity: 75%;
    left: 220px;
    top: 25px;
}

#list-of-services {
    width: 80%;
	margin: 20px auto 35px auto;
    margin-bottom: 35px;
    padding: 30px 30px 30px 30px;
    background-color: #f2e9e4;
    font-family: 'Montserrat', 'sans serif';
    font-size: 1.25em;
    font-weight: 500;
    text-align: center;
    line-height: 200%;
    -webkit-box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
    box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
}

#requests {
	width: 80%;	
	margin: 20px auto;
	padding: 30px 30px 30px 30px;
	background-color: #f2e9e4;
	-webkit-box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
    box-shadow: 0px 2px 8px 3px hsla(0,0%,17%,0.52);
}

#requests h2 {
	padding-bottom: 20px;
	font-family: 'Playfair Display', serif;
	font-size: 1.65em;
	font-weight: 500;
	text-align: center;
}

form {
	font-family: 'Montserrat', 'sans serif';
	font-size: 1em;
}

.form-row.full-width {
    grid-column: 1/-1;
}

input, textarea {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	margin: 12px 0;
	box-sizing: border-box;
	border: none;
}

textarea {
	resize: vertical;
	min-height: 100px;
}

#message {
	padding-bottom: 50px;
	width: 100%;
}

#formButton {
    margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
    padding: 10px 30px;
    display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Montserrat', 'sans serif'; 
    background-color: #4f474e;
    font-size: 1.5em;
    color: #f2e9e4;
    border-radius: 50px;
    transition-duration: 0.4s;
}

#formButton:hover {background-color: #2d282d;}

#banner1, #banner2, #banner3 {
	background-size: cover;
	background-position: center;
}
/********* End Middle Styles *********/

/********* Footer Styles *********/
footer {
	margin-top: 35px;
	padding: 20px 20px;
	background-color: #4f474e;
}

#footerElements {
	display: flex;
	justify-content: space-around;
}

#footerNav {
	font-family: 'Montserrat', 'sans serif';
	font-size: 1em;
}

#footerNav ul li a {
	font-weight: 100;
	line-height: 200%;
	color: #f2e9e4;
}

#footerNav ul li a:hover {
	color: #d6d6e2;
}

#line {
	border-left: 1px solid hsla(21,35%,92%,0.32);
}

#contactUs {
	padding-bottom: 10px;
}

#contactUs h3, #location h3 {
	padding-bottom: 10px;
	font-family: 'Playfair Display', serif;
	font-weight: 300;
	font-size: 1em;
	color: #f2e9e4;
}

#contactUs p, #location address p {
	font-family: 'Montserrat', 'sans serif';
	font-weight: 100;
	font-size: 0.75em;
	color: #f2e9e4;
	line-height: 165%;
}

#contactUs a {
	color: #f2e9e4;
}

#contactUs a:hover {
	color: #d6d6e2;
}

#socialIcons ul {
    display: flex;
	justify-content: space-around;
}

#socialIcons {
	padding-top: 30px;
	font-size: 1.5em;
}

#socialIcons ul li i {
	color: #bdb4bb;
	transition-duration: 0.4s
}

#socialIcons ul li i:hover {
	color: #c9ada7;
}
/********* End Footer Styles *********/

@media only screen and (min-width: 600px) {
	#container {
		max-width: 960px;
	}

	#mobileNav {
		display: none;
	}
	
	#mainNav {
		box-sizing: border-box;
		position: static;
		width: 100%;
		margin-bottom: 20px;
		border-top: none;
	}
	
	#mainNav ul {
		display: flex;
	}
	
	#mainNav ul li {
		flex: 1;
	}
	
	#mainNav ul li a {
		width: 100%;
		padding: 0;
		text-align: center;
		border-bottom: none;
	}
	
	#mainNav ul li a:hover {
        background: none;
        border-bottom: 0.75px solid #f2e9e4;
	}

	#banner1 {
		background-image: url("Images/beachFam_960x487.png");/*This image was sourced from https://www.pexels.com/photo/man-and-woman-sitting-on-rock-near-seashore-1914982/*/
		position: relative;
		height: 487px;
		width: 100%;
	}
	
	.teamMember {
		display: flex;
		flex: 1fr 1fr;
		padding: 0;
	}
	
	.teamMember img {
		max-width: 400px;
		max-height: 400px;
		padding: 0;
	}
	
	.teamMember p {
		font-size: 12px;
	}
}

@media only screen and (min-width: 960px) {
	#container {
		max-width: 1440px;
	}
	
	#banner1 {
		background-image: url("Images/beachFam_1000x507.png");/*This image was sourced from https://www.pexels.com/photo/man-and-woman-sitting-on-rock-near-seashore-1914982/*/
		position: relative;
		height: 507px;
		width: 100%;
		margin: 0 auto;
	}
	
	#missionStatement {
		max-width: 900px;
		display: flex;
		flex-direction: row-reverse;
		flex: 1fr 1fr;
		justify-content: space-between;
	}
	
	#missionStatement h2 {
		text-align: left;
	}
	
	#missionStatement img {
		display: block;
		border-radius: 200px;
		margin-left: 50px;
	}
	
	.teamMember {
		max-width: 1000px;
	}
	
	.teamMember h3 {
		padding-bottom: 25px;
	}
	
	.teamMember p {
		font-size: 1em;
		line-height: 30px;
	}
	
	#list-of-services ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
		list-style: none;
		padding: 0;
	}
	
	#requests form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 15px;
	}
	
	#message { /*I want this to go across the bottom of the form, but it is getting stuck halfway*/
		grid-column: 1/-1;
		width: 100%;
	}
	
}