/*-----------------------------------*\
  RESET/BASIC
\*-----------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0; padding:0; border:0; outline:0; 
	vertical-align:baseline; background:transparent;
}

* { box-sizing: border-box; }

html {
    font-size: 62.5%;
}

body {
	font-family: adelle, serif;
	font-weight: 400; font-size: 1.4rem; line-height: 1.5;
	color: #000; min-height: 100vh;
    display: flex; flex-direction: column;
    background: #fff;
}

[ng\:cloak], [ng-cloak], .ng-cloak {
	display: none !important;
}

img {
    width: 100%; height: auto;
    display: block;
}

a {
	transition: all 0.25s linear;
	text-decoration: none;
}

.btn {
	font-family: acumin-pro, sans-serif;
	display: inline-block; color: #fff;
	background: #115740; font-weight: 700;
	padding: 0 20px; line-height: 48px;
	border-radius: 3px;
}

.btn:hover {
	color: #FFCD00;
}

.basic {
	padding: 0 20px; margin: 0 auto; 
	max-width: 1320px;
}

h2 {
	font-family: acumin-pro-wide, sans-serif;
	color: #115740; font-size: 2.4rem;
	line-height: 1.1; font-weight: 800;
	text-transform: uppercase;
}

button, input[type="submit"] {
    background: none; border: 0;
    color: inherit; cursor: pointer;
    line-height: normal;
    overflow: visible; padding: 0;
    display: inline-block;
    transition: all 0.25s linear;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
}

.green {
	color: #fff; 
	background: #115740;
	padding-bottom: 120px;
}

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

	.basic {
		padding: 0 30px;
	}

	h2 {
		font-size: 3rem;
	}

	.green {
		padding-bottom: 200px;
	}

}

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

	body {
		font-size: 1.6rem;
	}

	.basic {
		padding: 0 40px;
	}

	h2 {
		font-size: 4rem;
	}

	.green {
		padding-bottom: 300px;
	}

}

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

	h2 {
		font-size: 4.8rem;
	}

	.green {
		padding-bottom: 380px;
	}

}

/*-----------------------------------*\
  HEADER
\*-----------------------------------*/

header {
	background: #fff; position: fixed;
	left: 0; right: 0; top: 0;
	z-index: 3;
	box-shadow: 0 3px 20px -20px rgba(0,0,0,0.85);
}

header .basic {
	display: flex; justify-content: space-between;
	align-items: center; height: 60px;
}

.logo {
	width: 120px;
}

nav {
	margin-left: auto;
}

.btn-nav {
	font-family: acumin-pro, sans-serif;
	display: inline-block; color: #fff;
	background: #115740; font-weight: 700;
	padding: 0 10px; line-height: 36px;
	border-radius: 3px;
}

.btn-nav:hover {
	color: #FFCD00;
}

.navlinks {
	display: none;
}

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

	.navlinks {
		display: inline-block;
	}

	.navlinks a {
		font-family: acumin-pro, sans-serif;
		display: inline-block; color: #000;
		margin-right: 30px;
		line-height: 36px;
	}

}

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

	header .basic {
		height: 92px;
	}

	.logo {
		width: 186px;
	}

	.navlinks a {
		margin-right: 60px;
		line-height: 48px;
	}

	.btn-nav {
		padding: 0 20px; line-height: 48px;
	}

}

/*-----------------------------------*\
  BANNER
\*-----------------------------------*/

#banner {
	margin-bottom: 60px;
	padding: 60px 0 0;
}

.banner-copy {
	padding: 30px 20px 0;
}

h1 {
	font-family: acumin-pro-wide, sans-serif;
	font-weight: 800; color: #FFCD00;
	text-transform: uppercase;
	font-size: 3rem; line-height: 1.1;
	margin-bottom: 12px;
}

.banner-copy p {
	margin-bottom: 16px;
	font-size: 1.6rem;
}

.disclaimer {
	font-size: 1rem;
	margin-bottom: 20px;
	color: #C4C4C4;
}

.btn-banner {
	font-family: acumin-pro, sans-serif;
	display: inline-block; background: #FFCD00;
	color: #115740; line-height: 48px;
	padding: 0 20px; border-radius: 3px;
	font-weight: 700;
}

.btn-banner:hover {
	background: #fff;
}

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

	#banner {
		display: flex; 
		margin-bottom: 80px;
		align-items: center;
	}

	.banner-img {
		order: 2;
		width: 46.5%;
	}

	.banner-copy {
		order: 1;
		width: 53.5%;
		padding: 0 30px;
	}

	h1 {
		font-size: 3.6rem; 
	}

}

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

	#banner {
		margin-bottom: 96px;
		padding: 92px 0 0;
	}

	.banner-img {
		order: 2;
		width: 46.5%;
	}

	.banner-copy {
		padding: 0 40px;
	}

	h1 {
		font-size: 4.8rem; 
	}

	.banner-copy p {
		font-size: 1.8rem;
		margin-bottom: 14px;
		max-width: 543px;
	}

	.disclaimer {
		margin-bottom: 40px;
	}

}

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

	#banner {
		margin-bottom: 120px;
	}

	.banner-copy {
		display: flex;
		justify-content: center;
	}

	.bc-inner {
		max-width: 571px;
	}

	h1 {
		font-size: 6.4rem; 
		margin-bottom: 30px;
		line-height: 1;
	}

}

/*-----------------------------------*\
  WHY
\*-----------------------------------*/

.why-intro {
	text-align: center;
	margin-bottom: 30px;
}

#why h2 {
	color: #FFCD00;
	margin-bottom: 10px;
}

.item {
	margin-bottom: 30px;
}

.whyimg {
	margin-bottom: 20px;
	border-radius: 5px;
}

h3 {
	font-family: acumin-pro-wide, sans-serif;
	font-weight: 800; color: #FFCD00;
	text-transform: uppercase;
	font-size: 1.8rem; line-height: 1.1;
	margin-bottom: 8px;
}

.item p {
	margin-bottom: 16px;
}

.item p a {
	color: #fff;
	text-decoration: underline;
}

.whylink {
	font-family: acumin-pro, sans-serif;
	font-weight: 700; text-decoration: underline;
	color: #FFCD00;
}

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

	.why-row {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 20px;
	}

	.item {
		margin-bottom: 0;
	}

}

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

	.why-intro {
		margin-bottom: 60px;
	}

	.why-intro p {
		max-width: 736px;
		margin: 0 auto;
	}

}

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

	.why-row {
		grid-column-gap: 24px;
	}

	.whyimg {
		margin-bottom: 36px;
	}

	h3 {
		font-size: 2.2rem; 
		margin-bottom: 12px;
	}

	.item p {
		margin-bottom: 24px;
	}

}

/*-----------------------------------*\
  QUALIFY
\*-----------------------------------*/

#bigpic {
	position: relative; z-index: 2;
	margin: -96px 0 60px;
}

#bigpic img {
	border-radius: 5px;
}

#qualify {
	margin-bottom: 60px;
}

.qualify-intro {
	text-align: center;
	margin-bottom: 30px;
}

#qualify h2 {
	margin-bottom: 12px;
}

.box {
	border-radius: 5px;
	background: #FFCD00;
	padding: 12px 12px 24px;
	margin-bottom: 30px;
}

h4 {
	font-family: acumin-pro-wide, sans-serif;
	position: relative; color: #115740;
	font-size: 1.8rem; font-weight: 800;
	text-transform: uppercase;
	padding: 8px 12px; background: #fff;
	display: inline-block; line-height: 1.2;
	margin-bottom: 20px;
}

h4:after {
	content: ""; position: absolute;
	left: 5px; right: -5px; top: 5px;
	bottom: -5px; border: 1px solid #115740;
}

.box a {
	color: #000; text-decoration: underline;
}

ul.checks {
	list-style: none;
}

ul.checks li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 44px;
}

.check {
	position: absolute; width: 20px;
	left: 5px; top: 3px;
}

ul.squares {
	list-style: none;
	margin-left: 44px;
}

ul.squares li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 40px;
}

.square {
	position: absolute; width: 18px;
	left: 0; top: 3px;
}

.box br {
	display: none;
}

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

	#bigpic {
		margin: -148px 0 80px;
	}

	#qualify {
		margin-bottom: 80px;
	}

	.boxes {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 20px;
		margin: 0 auto 40px;
		max-width: 972px;
	}

	.box {
		border-radius: 5px;
		background: #FFCD00;
		padding: 20px 20px 40px;
		margin-bottom: 0;
	}

}

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

	#bigpic {
		margin: -200px 0 96px;
	}

	#qualify {
		margin-bottom: 96px;
	}

	#qualify h2 {
		margin-bottom: 16px;
	}

	.qualify-intro {
		margin-bottom: 60px;
	}

	.qualify-intro p {
		max-width: 700px;
		margin: 0 auto;
	}

	.boxes {
		grid-column-gap: 40px;
		margin: 0 auto 60px;
	}

	.box {
		padding: 20px 20px 60px;
	}

	h4 {
		font-size: 2.2rem; 
		padding: 15px 20px;
		margin-bottom: 30px;
		line-height: 1;
	}

	h4:after {
		left: 6px; right: -6px; top: 6px;
		bottom: -6px;
	}

	.box br {
		display: block;
	}

	ul.checks li {
		margin-bottom: 28px;
		padding-left: 50px;
	}

	ul.checks li.single {
		padding-top: 6px;
	}

	.check {
		width: 25px;
		left: 6px; top: 5px;
	}

	ul.squares {
		margin-left: 50px;
	}

	ul.squares li {
		margin-bottom: 20px;
		padding-left: 42px;
	}

	.square {
		top: 3px;
	}

}

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

	#bigpic {
		margin: -260px 0 120px;
	}

	#qualify {
		margin-bottom: 120px;
	}

}

/*-----------------------------------*\
  FAQ
\*-----------------------------------*/

#faq {
	padding: 0 0 60px;
}

#faq h2 {
	text-align: center; 
	margin-bottom: 36px;
}

.acc-section {
	max-width: 850px;
	margin: 0 auto;
}

.acc-row {
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.acc-intro {
	font-family: acumin-pro, sans-serif;
    cursor: pointer; position: relative;
    font-weight: 700; font-size: 1.8rem;
    padding-right: 30px; line-height: 1.2;
}

.acc-intro:after {
    content: ""; display: block;
    width: 20px; height: 10px;
    position: absolute; right: 0; top: 8px;
    background: url(../images/arrow.png) no-repeat left top;
    background-size: 20px;
    transition: all 0.25s linear;
}

.acc-intro.open:after {
    transform: rotate(180deg);
}

.acc-details {
    display: none;
    padding: 20px 0 0;
}

p.first {
	margin-bottom: 20px;
}

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

	#faq h2 {
		margin-bottom: 48px;
	}

}

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

	#faq h2 {
		margin-bottom: 60px;
	}

	.acc-row {
	    padding-bottom: 40px;
	    margin-bottom: 40px;
	}

	.acc-intro {
	    font-size: 2.2rem;
	}

	.acc-intro:after {
	    top: 10px;
	}

	.acc-details {
	    padding: 30px 0 0;
	}

	p.first {
		margin-bottom: 24px;
	}

}

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

	#faq h2 {
		margin-bottom: 80px;
	}

}

/*-----------------------------------*\
  CONTACT
\*-----------------------------------*/

#contact {
	padding: 60px 0;
	background: #115740;
	color: #fff;
}

.contact-intro {
	margin-bottom: 30px;
	font-size: 1.4rem;
}

#contact h2 {
	color: #FFCD00;
	margin-bottom: 10px;
}

.contact-form {
	position: relative;
}

.formrow {
	margin-bottom: 14px;
}

label {
	font-family: acumin-pro, sans-serif;
	display: block; margin-bottom: 8px;
	font-weight: 400; color: #FFCD00;
	line-height: 1; font-size: 1.2rem;
}

input[type="text"], 
input[type="tel"], 
input[type="email"],
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0; border-radius: 4px; outline: 0; 
    box-shadow: none; display: block; width: 100%;
    font-size: 1.6rem; line-height: 48px; 
    height: 48px; background: #fff;
    font-family: acumin-pro, sans-serif;
    padding: 0 12px; color: #000; font-weight: 400;
}

select {
	background: #fff url(../images/select.png) no-repeat right center;
  	background-size: 48px;
}

.submitwrap {
	text-align: right;
	padding-top: 12px;
}

#btn-submit {
	font-family: acumin-pro, sans-serif;
	display: inline-block; border-radius: 4px;
	background: #FFCD00; color: #115740;
	height: 48px; line-height: 48px;
	font-weight: 700; font-size: 1.6rem;
	padding: 0 20px;
}

#btn-submit:hover {
	background: #fff;
}

.help-block {
	font-family: acumin-pro, sans-serif;
	padding-top: 4px; font-size: 1.2rem;
	color: #FFCD00; font-weight: 700;
}

.spinner-wrap {
    position: absolute; top: 50%;
    left: 0; right: 0;
    transform: translateY(-50%);
}

.spinner {
    margin: 0 auto; height: 60px; width: 60px;
    -webkit-animation: rotate 0.8s infinite linear;
    animation: rotate 0.8s infinite linear;
    border: 8px solid #FFCD00;
    border-right-color: transparent;
    border-radius: 50%;
}

@-webkit-keyframes rotate {
  0%    { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100%  { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes rotate {
  0%    { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100%  { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

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

	#contact {
		padding: 80px 0;
	}

	#contact .basic {
		display: flex;
		justify-content: space-between;
	}

	.contact-intro {
		margin-bottom: 0;
		width: 48%;
	}

	.contact-form {
		width: 48%;
	}

}

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

	#contact {
		padding: 96px 0;
	}

	#contact h2 {
		margin-bottom: 16px;
	}

}

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

	#contact {
		padding: 120px 0;
	}

	#contact h2 {
		margin-bottom: 20px;
	}

	.contact-intro {
		width: 38%;
	}

	.contact-form {
		width: 47.5%;
	}

	.formrow {
		margin-bottom: 18px;
	}

	label {
		margin-bottom: 10px;
	}

	input[type="text"], 
	input[type="tel"], 
	input[type="email"],
	select {
	    line-height: 64px; 
	    height: 64px; 
	    padding: 0 16px;
	}

	.submitwrap {
		padding-top: 16px;
	}

}

/*-----------------------------------*\
  FOOTER
\*-----------------------------------*/

footer {
	padding: 30px 0 20px;
	font-family: acumin-pro, sans-serif;
}

.footer-top {
	margin-bottom: 32px;
}

.footerlogo {
	width: 96px;
	margin-bottom: 30px;
}

.fc-method {
	margin-bottom: 20px;
}

.fc-method.fc-social {
	margin-bottom: 0;
}

.fc-email a {
	color: #000;
}

h5 {
	color: #858585; margin-bottom: 12px;
	font-weight: 400; line-height: 1.2;
}

.fs-icons {
	width: 136px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 16px;
}

.footer-legal {
	color: #858585;
	font-size: 1.2rem;
}

.fl-big {
	display: none;
}

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

	footer {
		padding: 50px 0 20px;
	}

	.footer-top {
		margin-bottom: 48px; display: flex;
	}

	.footerlogo {
		width: 120px;
		margin-bottom: 0;
		padding-top: 3px;
	}

	.footer-contact {
		width: 50%; margin-left: auto;
	}

	.fc-inner {
		display: flex; flex-wrap: wrap;
	}

	.fc-method {
		width: 60%;
		margin-bottom: 30px;
	}

	.fc-method.fc-address {
		width: 40%;
	}

	.fl-big {
		display: block;
	}

	.fl-small {
		display: none;
	}

}

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

	.footer-top {
		margin-bottom: 60px;
	}

	.footerlogo {
		width: 148px;
		padding-top: 4px;
	}

	.footer-contact {
		width: 41%;
	}

	h5 {
		margin-bottom: 16px;
	}

	.fc-method {
		margin-bottom: 40px;
	}

}

/*-----------------------------------*\
  THANKS
\*-----------------------------------*/

#thanks {
    width: 100vw; height: 100vh;
    display: flex; align-items: center;
    justify-content: center;
}

.thanks-inner {
    text-align: center;
}

.tylogo {
    width: 150px; margin: 0 auto 20px;
}

.tymsg {
    font-size: 2rem;
}

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

    .tylogo {
        width: 180px; margin: 0 auto 30px;
    }

    .tymsg {
        font-size: 2.4rem;
    }

}