/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checklist"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* screen reader */
.sr-only {border:0;clip:rect(0, 0, 0, 0);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}

/* vars */
:root {
	--brand: #0075a9;
	--brand2: #1c355e;
	--brand3: #f32735;
	--dark: #666666;
	--light: #ffffff;
}

html {height: 100%; scroll-behavior: smooth}
body {background-color: var(--light); color: var(--dark); display: flex; flex-direction: column; font-family: sans-serif; height: 100%; margin: 0 auto; max-width: 1920px}
h1, h2, h3, h4, h5, h6, p, ul, ol {margin: 1rem 0}
h1, h2, h3, h4, h5, h6, li {line-height: 1}
li {margin: 0.5rem 0}
h1 {font-size: 2rem}
h2 {font-size: 1.75rem}
h3 {font-size: 1.5rem}
h4 {font-size: 1.375rem}
h5 {font-size: 1.25rem}
h6 {font-size: 1.125rem}
a {color: inherit}
img {height: auto; max-width: 100%}
.container {padding: 0 1em}
.caps {text-transform: uppercase}
.center {text-align: center}
.center ol, .center ul {display: inline-block; margin: 0; padding: 0; text-align: left}
.float_left {float: left; margin: 0 1rem 0.5rem 0}
.toggled {display: none}
.buttonholder {align-items: baseline; display: flex; flex-wrap: wrap; gap: 1rem}
.buttonholder.center {justify-content: center}
.button {background-color: var(--brand); border-radius: 100rem; display: inline-block; font-weight: bold; padding: 0.5rem 1rem; text-decoration: none}
.cols {column-count: 2}
.cols.cols3 {column-count: 3}
.cols li {break-inside: avoid; margin-top: 0}
.vidwrapper:has(iframe) {aspect-ratio: 16 /9; position: relative}
.vidwrapper iframe {height: 100%; left: 0; position: absolute; top: 0; width: 100%}

/* form */
.field {margin: 1em 0; text-align: left}
.field label {display: block; line-height: 1; margin-bottom: 0.25em}
.field input:not([type]), input[type=email], .field input[type=tel], .field input[type=text], .field select {box-sizing: border-box; border: none; padding: 0.25rem 0.5rem; border-radius: 0.25rem; background-color: var(--light); color: var(--dark); width: 100%}
.field input[type="submit"] {background-color: var(--brand3); border: none; border-radius: 0.5rem; color: var(--light); font-size: 1.125rem; padding: 0.5rem 1rem; text-transform: uppercase; width: 100%}
.field.cb {align-items: start; display: flex; gap: 0.25rem}
.field.cb label {margin: 0}
.form fieldset {border: none; margin: 1rem 0; padding: 0}
.form fieldset legend {display: block}
.form fieldset .field {margin: 0.5rem 0}
[name="comments"] {display: none}
.form {font-size: 1rem}
.form hgroup {text-wrap: balance}
.form h2, .form .deadline {text-transform: uppercase}
.form .deadline {font-size: 1.25rem; font-weight: bold}
.form .disclaimer {font-size: 0.85rem; text-wrap: balance}

/* header */
#header {color: black; padding: 1rem 0}
#header_logo, #header_nav, #header_phone {margin: 0.5rem 0}
#header_logo:first-child, #header_nav:first-child, #header_phone:first-child {margin-top: 0}
#header_logo:last-child, #header_nav:last-child, #header_phone:last-child {margin-bottom: 0}
#header_logo img {display:block; height: 5rem; margin: 0 auto; width: auto}
#header_nav ul {align-items: end; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: center; list-style: none; margin: 0; padding: 0}
#header_nav li {margin: 0}
#header_nav a {font-weight: bold; text-decoration: none}
#header_phone {color: var(--brand3); font-size: 1.125rem; text-align: center}
#header_phone a {align-items: center; display: inline-flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center}
#header_phone a {text-decoration: none}

/* sections */
section {margin: 3rem 0}
/*hero*/
#hero {margin: 0}
#hero_img, #thanks {background-image: url('../img/hero/hero_960.jpg'); text-shadow: 0 0 0.25rem black}
#hero_img {background-color: var(--brand2); background-position: center; background-size: cover; color: var(--light); padding: 1rem 0 3rem; position: relative; text-align: center}
#hero_img::before, #thanks::before {background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.5) 100%); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 100%}
#hero_img .container {align-items: center;display: flex; flex-direction: column; justify-content: space-between; min-height: 20rem; position: relative}
#hero_img hgroup {text-wrap: balance}
#hero h1 {text-transform: uppercase}
#hero_badges {align-self: start}
#get-started, #bottom_form {background-color: var(--brand); color: var(--light); text-align: center}
#get-started {padding: 1rem}
/*thanks*/
main:has(#thanks) {display: flex; flex-direction: column; flex-grow: 1}
#thanks {background-position: center; background-size: cover; color: var(--light); display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin: 0; padding: 1rem 0; position: relative; text-align: center; text-wrap: balance}
#thanks .container {position: relative}
/*bottom form*/
#bottom_form {padding: 2rem; margin: 0}
/*row*/
.row {margin: 2rem 0}
.row .img {aspect-ratio: 1.618; background-color: var(--brand2); background-position: center; background-size: cover; border-radius: 0.5rem}
/*SPARK*/
#spark_img {background-image: url('../img/spark.jpg')}
/*testimonials*/
#testimonials {background-image: url(/lp/assets/img/testimonials/testimonials_960.jpg); background-position: center; background-size: cover; color: var(--light); margin: 0; padding: 4rem; text-align: center}
.testimonial > :first-child {margin-top: 0}
.testimonial > :last-child {margin-bottom: 0}
.testimonial_img {border-radius: 1rem; max-height: 12rem; width: auto}
.testimonial_quote {font-style: italic; text-wrap: balance}
.testimonial_name {font-weight: bold}

/* footer */
#footer {background-color: var(--brand2); color: var(--light); padding: 1rem 0; text-align: center}
#footer .container > :first-child {margin-top: 0}
#footer .container > :last-child {margin-bottom: 0}
#footer p {margin: 0.5rem 0}
.footer_info, .footnotes {margin: 1rem 0}
.footnotes {font-size: 0.875rem; text-align: left}

@media(min-width: 60rem){
	body {font-size: 1.125rem}
	.container {margin: 0 auto; max-width: 80rem}
	/* form */
	.fieldset {align-items: end; display: flex; gap: 1rem; margin: 1rem 0}
	.fieldset .field {flex-basis: 100%; margin: 0}
	.field input:not([type]), input[type="email"], .field input[type="tel"], .field input[type="text"], .field select {font-size: 1.25rem}
	.form .deadline {font-size: 1.5rem}
	/* header */
	#header .container {align-items: center; display: flex; gap: 2rem; justify-content: space-between}
	#header_logo,#header_phone {flex-shrink: 0}
	#header_logo, #header_nav, #header_phone {margin: 0}
	#header_logo img {height: auto}
	#header_phone {font-size: 1.375rem}
	/* sections */
	/*hero*/
	#hero {display: flex}
	#hero_img, #thanks {background-image: url('../img/hero/hero.jpg')}
	#hero_img {flex-grow: 1; font-size: 1.5rem; padding: 1rem 0}
	#hero_img .container {flex-direction: column-reverse; gap: 4rem; height: 100%; justify-content: end; min-height: auto}
	#hero_img h1 {font-size: 2.25rem}
	#get-started {box-sizing: border-box; flex-basis: 30rem; flex-shrink: 0; padding: 1rem 2rem}
	/*bottom form*/
	#bottom_form .form {max-width: 40rem; margin: 0 auto}
	/*programs*/
	.programs_grid {display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-around}
	.programs_grid_program {flex-basis: calc(50% - 2rem); text-align: center; text-wrap: balance}
	/*row*/
	.row {display: flex; gap: 2rem}
	.row.rev {flex-direction: row-reverse}
	.row .copyholder, .row .imgholder, .row .vidholder {flex-basis: 100%}
	.row .copyholder {align-self: center}
	.row .img {aspect-ratio: auto; min-height: 24rem}
	/*testimonials*/
	#testimonials {background-image: url(/lp/assets/img/testimonials/testimonials_1440.jpg)}
	/* footer */
	#footer {font-size: 1rem}
	.footer_info {display: flex; gap: 2rem; justify-content: space-between}
	.footer_info p {margin: 0}
}