#backdrop{
	bottom:0;
	background:rgba(0,0,0,.7);
}

#backdrop,#popup{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#popup{
	z-index:3500;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-flow:column nowrap;
	    flex-flow:column;
	-ms-flex-pack:center;
	    justify-content:center;
}

	#popupContainer{
		position:relative;
		width:500px;
		max-width:94%;
		height:auto;
		background:rgba(255,255,255,.9);
		font-size:22px;
		line-height:1.5;
		color:#3d3d3d;
		margin:0 auto;
	}
	
		#popup .wrapper{
			padding:40px;
		}
		
	#popupClose{
		position:absolute;
		top:-15px;
		right:-15px;
	}

.hero.wide {
	position: relative;
	width: 100%; 
	height: 100vh; 
	background-position: center; 
	background-size:cover;
}

.hero.wide:before {
	position: absolute;
	top: 0; 
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: black;
	opacity: .2;
}

.floating {
	position: absolute;
	top: 50%; 
	left: 50%;
	content: '';
	z-index: 1;
	color: white;
	transform: translate(-50%, -50%);
	font-weight: 100;
}

.floating strong {
	font-weight: 600;
}

.what-to-expect {
	width: 100%;
	min-height: 536px;
	height: auto;
	background: #0F3550;
	display: flex;	
	position: relative
}

.what-to-expect .left {
	width: 50%;
	min-height: 536px;
	height: auto;
	background: white;
	padding: 60px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}

.what-to-expect .right {
	width: 50%;
	height: 90%;
	background-position: center;
	background-size: cover;
	position: relative;
	min-height: 480px;
}

.what-to-expect p, 
.map-section .right p {
    line-height: 1.3;
    font-size: 20px;
}

.what-to-expect h2,
.map-section .right h2 {
	font-weight: 100;
}

.what-to-expect h2 strong,
.map-section .right h2 strong {
	font-weight: 600;
}

.for-your-family {
	min-height: 620px;
	height: auto;
	background: #0F3550;
	width: 100%;
	padding: 40px;
	padding-bottom: 180px;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	border-bottom: 14px solid #F2C248;
}

.for-your-family img.background-icon {
	position: absolute;
	left: -300px;
	width: 48%;
	height: auto;
}	

.for-your-family .buttons {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

.for-your-family .buttons a.big-button {
	max-width: 377px;
	min-height: 223px;
	overflow: hidden;
	position: relative;
	background: white;
	margin: 12px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 100;	
	position: relative;
	color: white;
	font-size: 24px;
	background-size: cover;
	z-index: 2;
}

.for-your-family .buttons a.big-button:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #1F589B;
	content: '';
	opacity: .8;
	z-index: 1;
	transition: all .7s;
}

.for-your-family .buttons a.big-button:hover:before {
	background: #296cb7;		
}

.for-your-family .buttons a.big-button strong {
	font-weight: 600;
}

.for-your-family .buttons a.big-button p {
	position: relative;
	z-index: 3;
	padding: 0 100px;
	text-align: center;
}

.for-your-family .content {
	line-height: 2;
	max-width: 1000px;
	padding-bottom: 40px;
}

.for-your-family .content h2 {
	font-weight: 100;
}

.for-your-family .content h2 strong {
	font-weight: 600;
}

.map-section {
	min-height: 640px;
	height: auto;
	width: 100%;
	display: flex;	
}

.map-section .left {
	width: 50%;
	height: 100%;
	background: transparent;
}

.map-section .right {
	width: 53%;
	position: relative;
	top: -80px;
	background: white;
	min-height: 530px;
	height: 100%;
	padding: 60px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}

@media (max-width: 1044px) {
	.buttons {
		flex-direction: column;
	}
	
	.map-section {
		background-position: -140px 0;
	}
	
	#bottom .columns {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	
	#bottom {
		padding-bottom: 60px;
	}
}

@media (max-width:768px) {
	.what-to-expect {
		flex-direction: column;
	}
	
	.what-to-expect .left,
	.what-to-expect .right {
		width: 100%;
	}
	
	.map-section .right {
		width: 100%;
	}
	
	.map-section .left {
		display: none;
	}
	
	.map-section {
		min-height: 900px;
	}
	
	.map-section {
		background-position: -140px 300px;
	}
	.hero.wide {
		background-position: left; 
	}
	.hero.wide:before {
		position: absolute;
		top: 0; 
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
		background: black;
		opacity: .3;
	}
}