/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width:100%;
}


/* GLOBALS and UTILS */
* {
	font-family: "Open Sans", sans-serif;
	box-sizing:border-box;
}
h1 {
	color: #0b306a;
	text-transform: uppercase;
	font-size: 46px;
	font-weight: 900;
	line-height: 60px;
}
h2 {
	font-size:42px;
	margin-bottom:24px;
	font-weight:900;
	color:#0b306a;
}
h3 {

}
h1, h2, h3 {
	font-family: "Montserrat", sans-serif;
}
p {
	color:#0b306a;
	line-height:28px;
	font-size:16px;
}

.cf, .clearfix {
  display:block;
  clear:both;
  width:100%;
}

.orange-bg {
	background-color:#e05c37;
}
.orange-bg * {
	color:white;
}
.full-height {
	min-height:800px;
	height:100vh;
}
.shadow-left, .shadow-right {
	position:relative;
	z-index:1;
}
.shadow-left > div, .shadow-left > .inner, .shadow-right > div, .shadow-right > .inner {
	position:relative;
	z-index:1;
}

/* thought about making this a bit more dynamic, but we're pressed for time here and thats too much thot */
.hero .shadow-left:after {
	content: ' ';
  display: block;
  position: absolute;
  width: 95%;
  height: 95%;
  background: rgba(0,0,0,0.2);
  transform: rotate(-4.5deg) skewX(-4.5deg);
  margin-top: -44%;
  z-index: 0;
  margin-left: 5%;
}


.why .shadow-left:after {
	content: ' ';
  display: block;
  position: absolute;
  width: 90%;
  height: 95%;
  background: rgba(0,0,0,0.2);
  transform: rotate(-3deg) skewX(-3deg);
  margin-top: 5%;
  z-index: 0;
  margin-left: 9%;
}


.outcomes .shadow-right:after {
	content: ' ';
	display: block;
	position: absolute;
	width: 90%;
	height: 95%;
	background: rgba(0,0,0,0.2);
	transform: rotate(3deg) skewX(3deg);
	margin-top: 5%;
	z-index: 0;
	margin-left: 0%
}

.mobile-only {
	display:none;
}
.desktop-only {
	display:block;
}



/* NAV/HEADER */
header {
	position:fixed;
	width:100%;
	z-index:50;
	background:white;
}
nav {
	float:right;
	padding:25px 30px;
}
nav ul {

}
nav li {
	display: inline-block;
}
nav a {
	color:#e05c37;
	text-decoration:none;
	padding:12px 12px;
	font-weight:200;
	font-size:24px;
}
nav a:hover {
	text-decoration:underline;
}
.slideout {
	width:100vw;
	height:100vh;
	background:rgba(255,255,255,0.97);
	left:-100vw;
	top:0;
	position:fixed;
	opacity:0;
	transition:opacity 0.18s ease-out, left 0.18s ease-out;
}
.slideout.active {
	left:0;
	opacity:1;
}
.slideout ul {
	padding: 60px;
}
.slideout a {
	color: #dc5d3e;
	text-decoration: none;
	padding: 20px 0;
	display: inline-block;
	font-size: 22px;
	font-weight: 200;
}
.close-slideout {
	position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  padding: 20px;
}
.slideout .downlaods {
  padding: 0 60px;
	line-height:20px;
}
.slideout .downlaods img {
	width: 15px;
  height: 15px;
  margin: 0px 8px -1px 0;
}
.slideout .downlaods a {
	padding:10px 0;
	font-size:18px;
}



.downlaods-float {
	position:fixed;
	bottom:0;
	left:0;
	padding: 20px 40px;
	background: #e05c37;
	z-index: 5;
}
.downlaods-float a {
	color: white;
	text-decoration: none;
	font-size: 18px;
	font-weight: 100;
	line-height: 30px;
}
.downlaods-float a img {
	width: 14px;
  height: 14px;
  vertical-align: middle;
  margin: -3px 5px 0 0;
}


/* HERO */
.hero {
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(/assets/img/heart-land.svg);
	background-repeat: no-repeat;
	background-size: 95%;
	background-position: -225% 40%;
}
.hero .box {
	margin-right: -40%;
}
.hero .inner {
	padding: 5vw 4vw;
  background: white;
  width: 45vw;
}
.hero h2 {
	font-size: 32px;
  color: #e05c37;
  text-transform: uppercase;
  letter-spacing: 6px;
}
.hero .darr {
	position:absolute;
	bottom:20px;
	width:20px;
	left:0;
	right:0;
	margin: auto;
}






.what {
	background-image:url(/assets/img/what.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: -30vw;
	background-position-y: 100%;
}
.what .right {
	height: 100%;
  float: right;
  width: 50%;
  display: flex;
  align-items: center;
}
.what .inner {
	padding:90px;
}
.what p {

}





.why {
	display:flex;
	align-items:center;
	overflow-x:hidden;
	justify-content:center;
}
.why .grad-box {
	height: 100vh;
	width: 50%;
	position: absolute;
	right: 0%;
	background: linear-gradient(to bottom right, #219667 0%, #0e3b6a 100%);
	min-height:800px;
	background-color:#156469;
}
.why .box {
	max-width:1400px;
	margin:0 auto;
	height:70vh;
}
.why .left {
	width:50%;
	padding:60px;
	display:flex;
	align-items:center;
	height:100%;
	justify-content:center;
	float:left;
}
.why .right {
	background-image:url(/assets/img/why.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	float:right;
	background-position-x:50%;
	width:50%;
	height:100%;
}




.where {
	display:flex;
	align-items:center;
	justify-content:center;
	background-image:url(/assets/img/where-states.svg);
	background-size: 66%;
	background-repeat: no-repeat;
	background-position: 97% 40%;
}
.where .left {
	max-width:1400px;
}
.where .inner {
	float: left;
  width: 50%;
	padding-left:60px;
}







.outcomes {
	display:flex;
	align-items:center;
	justify-content:center;
}
.outcomes .grad-box {
	height: 100vh;
	width: 50vw;
	position: absolute;
	left: 0;
	background: linear-gradient(to bottom right, #219667 0%, #0e3b6a 100%);
	min-height:800px;
}
.outcomes .box {
	max-width:1400px;
	margin:0 auto;
	height:70vh;
}
.outcomes .right {
	width:50%;
	padding:60px;
	display:flex;
	align-items:center;
	height:100%;
	justify-content:center;
	float:right;
}
.outcomes .left {
	background-image:url(/assets/img/outcomes.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x:50%;
	float:left;
	width:50%;
	height:100%;
}


.explore {
	width:100%;
	background:#eaebec;
	padding-bottom:80px;
}
.explore .box {
	margin:0 auto;
	max-width:1400px;
	padding-top:60px;
}
/*.explore .words p {
	max-width:800px;
}*/
.fb-interactive select {cursor:pointer;}
.fb-interactive .green-square-wrap > div {background:white;border:none;}
#explore .fb-interactive .green-square-wrap > div {border-color:#f8f8f8;}
.fb-interactive .map-container {background:white;}
#explore .fb-interactive .green-border {border-color:#f8f8f8;}

.downloads {
	background: url(/assets/img/heart-land.svg);
	padding-top: 80px;
	padding-bottom: 20vw;
	text-align: center;
	background-repeat: no-repeat;
	background-size: 90%;
	background-position: 50% -70%;
}
.button {
  display: inline-block;
  color: #e05c36;
  text-decoration: none;
  font-weight: 900;
  border: 2px solid #e05c36;
  border-radius: 40px;
  padding: 7px 20px;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 16px;
}





footer {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:80px 60px;
	position:relative;
	z-index:10;
	background:white;
}
footer > div {
	width:33%;
}
footer .left {
	text-align:left;
}
footer .mid {
	text-align:center;
}
footer .right {
	text-align:right;
}
footer img {
	height:40px;
}







/* LETS DO MOBILE AND WEIRD BREAKPOINTS! */
@media screen and (max-height:1100px){
	.why .box {
		height:90vh;
		min-height: 640px;
	}
	.outcomes .box {
		height:90vh;
		min-height: 640px;
	}
}
@media screen and (max-width:1200px) {
	.what .inner {
		padding:60px;
	}
}

/* FULL MOBILE */
@media screen and (max-width:768px) {
	.mobile-hamburger.mobile-only {
		width:60px;
		height:60px;
		background:#dc5d3e;
		display:flex;
	}
	.mobile-hamburger {
		padding:18px;
	}
	header {
		background:transparent;
	}



	.mobile-only {
		display:block;
	}
	.desktop-only {
		display:none;
	}

	h2 {
		font-size:28px;
	}

	.full-height {
		min-height:100vh;
		height:auto;
	}
	.downlaods-float {
		display:none;
	}
	.hero {
		background-size: 150vh;
    background-position: 90% 60%;
	}
	.hero .box {
		margin:0;
	}
	.hero .inner {
		width: 100vw;
		padding: 12vw 5vw;
	}
	.hero .shadow-left:after {
		margin-top:-41%;
	}

	.what {
		padding-top: 60vw;
		background-size: 100vw;
	}
	.what .right, .outcomes .right {
		width:100%;
		float:none;
	}
	.what .inner {
		padding:60px 40px;
	}



	.where {
		background-position-x: 50%;
    background-position-y: 80px;
    padding-top: 280px;
		display:block;
	}
	.where .inner {
		width:100%;
		padding:0 40px 60px;
	}



	.why {
		display:block;
	}
	.why .grad-box {
		display:none;
	}
	.why .left {
		width:100%;
		background: linear-gradient(to bottom right, #219667 0%, #0e3b6a 100%);
		padding:40px;
	}
	.why .right {
		display:none;
	}
	.why .shadow-left:after {
		display:none;
	}


	.outcomes {
		display:block;
	}
	.outcomes .grad-box {
		display:none;
	}
	.outcomes .box {
		height:auto;
		min-height: unset;
	}
	.outcomes .right {
		padding:60px 40px;
	}
	.outcomes .shadow-right:after {
		content: ' ';
		display: block;
		position: absolute;
		width: 90%;
		height: 35%;
		background: rgba(0,0,0,0.2);
		transform: rotate(3deg) skewX(3deg);
		margin-top: -82%;
		z-index: 0;
		margin-left: 0%;
	}

	.explore .box {
		padding-left:0;
		padding-top:60px;
	}


	.downloads {
		padding-bottom: 50vw;
    background-size: 150%;
    background-position: 50% 62vw;
	}


	footer {
		display:block;
		padding:60px 20px;
	}
	footer img {
		width:100%;
		height:auto;
	}
	footer .left {
		width:45%;
		float:left;
	}
	footer .right {
		width:45%;
		float:right;
	}
	footer > div {
		width:100%;
	}
	footer img {
		height:30px;
	}
	footer .copyright {
		width:100%;
		clear:both;
		padding-top:40px;
		text-align:center;
	}


}
