/*! 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: #124065;
	/*--brand2: #03acff;*/
	--brand2: #0b77b5;
	--dark: #000000;
	--dark2: #161c2d;
	--gradient: linear-gradient(225deg, #0b77ba 0%, #161c2d 100%);
	--highlight: #d80044;
	--light: #ffffff;
	--light2: #f4f7fa;
	--light2tr: #f4f7fac0;
}

html {height: 100%; scroll-behavior: smooth}
body {color: var(--brand); display: flex; flex-direction: column; font-family: 'Open Sans', sans-serif; margin: 0 auto; max-width: 120rem; min-height: 100%; overflow-x: hidden; position: relative}
main {flex-grow: 1}
[id] {scroll-margin-top: 7rem}
h1, h2, h3, h4, h5, h6, p {margin: 1rem 0}
li {margin: 0.5rem 0}
a {color: inherit}
img {height: auto; max-width: 100%}
.container {padding: 0 3em}
.button {background-color: var(--highlight); border-radius: 1rem; color: var(--light); font-weight: bold; padding: 0.25rem 1rem; text-decoration: none}
.videowrapper {border-radius: 1rem; margin: 1rem auto; max-width: 720px; overflow: clip}
.videowrapper:has(iframe) {aspect-ratio: 16 / 9; position: relative}
.videowrapper iframe {height: 100%; left: 0; position: absolute; top: 0; width: 100%}
.center {text-align: center}
hr {border: 1px solid var(--brand); display: block; margin: 1rem auto 1rem 0; max-width: 5rem}
#hero_copy hr, .section.bg1 hr, .section.bg2 hr, .section.bg4 hr {border-color: var(--light)}
hr.center, .center hr {margin: 1rem auto}
.heading {font-size: 2rem}

/* form */
.field {margin: 1em 0}
.fieldset {border-collapse: collapse; border-style: hidden; display: table; table-layout: fixed; width: 100%}
.fieldset .field {border: 1rem solid transparent; display: table-cell; vertical-align: bottom}
.field label {display: block; margin-bottom: 0.25em}
.field input[type=email], .field input[type="submit"], .field input[type=tel], .field input[type=text], .field select {background-color: var(--light); border: 1px solid var(--brand2); border-radius: 1rem; box-sizing: border-box; padding: 0.25rem 1rem; width: 100%}
.field input[type="submit"] {background-color: var(--highlight); border: none; color: var(--light); cursor: pointer; font-size: 1.125rem; font-weight: bold; height: auto; padding: 0.5rem 1rem}
.disclaimer {font-size: 0.75rem}
.disclaimer.pp {text-align: center}
.englishonly {text-align: center}
.cf-turnstile {text-align: center}
textarea[name="comments"] {display: none}
.form_prehead {font-size: 1.25rem; font-weight: bold}
.form_prehead span {display: block; font-size: 1.125rem; font-weight: normal}
.accordion_toggle.terms_toggle {color: var(--brand); padding: 0;}
.accordion_toggle.terms_toggle:after {display: none}

/* header */
#header {background-color: var(--highlight); color: var(--light); position: sticky; top: 0; z-index: 10}
#header .container {align-items: center; display: flex}
#header_cta {display: none}
#header_logo {flex-grow: 1}
#header_logo img {max-height: 3rem; padding: 0.5rem 0; vertical-align: middle}
#header_menu {position: relative}
#header_menu_toggle {background-color: transparent; border: none; color: inherit}
#header_menu_bars {color: inherit; display: block; font-size: 3rem}
#header_menu_menu {background-color: var(--brand); max-width: 80vw; position: absolute; right: 0; top: 100%; width: max-content}
body.js #header_menu_menu {display:none}
#header_menu_menu ul {list-style: none; margin: 0; padding: 0}
#header_menu_menu a {display: block; padding: 0.5rem 1rem; text-decoration: none}
#header_menu_menu li {margin: 0}
#header_menu_menu li:first-child a {padding-top: 1rem}
#header_menu_menu li:last-child a {padding-bottom: 1rem}

/* hero */
#hero {background-color: var(--brand2); background-position: center; background-size: cover; color: var(--light); overflow: hidden; padding: 2rem 0; position: relative}
#hero::before {background-color: var(--brand2); content: ''; height: 100%; left: 0; opacity: 0.5; position: absolute; top: 0; width: 100%}
#hero_vid {height: 66.6667%; left: 0px; overflow: clip; position: absolute; right: 0; top: 0}
#hero_vid:before {background-color: var(--brand2); content: ''; height: 100%; left: 0; opacity: 0.75; position: absolute; top: 0; width: 100%; z-index: 1}
#hero_vid video {height: auto; left: 50%; min-height: 105%; min-width: 105%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: auto; z-index: 0}
#hero .container {position: relative; z-index: 1}
#hero_copy {font-size: 1.125rem; text-shadow: 0 0 1px black, 0 0 2px black}
#hero_copy h1 .prehead {display: block; font-size: 1.5rem; font-weight: normal}
#hero_copy h1 hr {display: none}
#top_form {margin-top: 2rem}
.form_outer {background-color: var(--light2tr); border: 4px solid var(--light); border-radius: 1rem; color: var(--dark); padding: 1rem}

/* sections */
.section {margin: 4rem 0}
.section.bg { margin: 0; padding: 3rem 0}
.section.bg1 {background-color: var(--brand2); color: var(--light)}
.section.bg2 {background-color: var(--brand); color: var(--light)}
.section.bg3 {background-color: var(--light2)}
.section.bg4 {background-color: var(--highlight); color: var(--light)}
.row {margin: 2rem 0}
.imgholder img {box-shadow: 2px 2px 2px black; border-radius: 1rem; display: block; margin: 0 auto}
.icon_block {align-items: start; display: flex; gap: 1rem; margin: 2rem auto; max-width: 640px}
.icon_block .icon {display: block}
.icon_block .copy {flex-grow: 1}
.icon_block .copy > :first-child {margin-top: 0}
/*accreditation*/
#accreditation {text-align: center}
.accreds {align-items: center; display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center}
/*testimonial*/
.testimonial {align-items: start; background-color: var(--light); border-radius: 1rem; color: var(--dark2); display: flex; gap: 2rem; padding: 1rem}
.testimonial .copyholder {align-self: center}
.testimonial_top {display: none}
.testimonial .imgholder {aspect-ratio: 0.75; border-radius: 50%; flex-basis: 30%; flex-shrink: 0; overflow: clip}
.testimonial_img {height: 100%; object-fit: cover}
.testimonial_quote {font-size: 1.125rem; font-weight: bold}
.testimonial_name {color: var(--dark2); font-size: 0.9375rem; margin-top: 1rem}

/* components */
body.js .accordion_toggle {cursor: pointer}
body.js .accordion_content {display: none}
body.js .tabnav {display: none}

/*programs*/
.accordion {background-color: var(--brand); border-radius: 0.5rem; color: var(--light); margin: 1rem 0; padding: 1rem 2rem}
.section.bg1 .accordion, .section.bg4 .accordion {background-color: var(--light); color: var(--dark)}
.accordion_toggle {margin: 0; padding: 1rem 2rem 1rem 0; position: relative}
.accordion_toggle .subhead {display: block; font-size: 1rem; font-weight: normal; margin-top: 0.25rem}
.accordion_toggle:after {content: '\2192'; display: block; line-height: 1rem; margin: 0 0 0 auto; position: absolute; right: 0; top: 50%; transform: translateY(-50%)}

/* footer */
#footer {background-color: var(--highlight); color: var(--light); text-align: center}
.subfooter {font-size: 0.85rem}
.subfooter .links a{display: inline-block}
.subfooter .links a:before {content: "|"; display: inline-block; margin: 0 0.5rem 0 0.25rem; text-decoration: none}
#sticky_cta {bottom: 0; padding: 1rem; position: sticky; text-align: center}
#sticky_cta .button {border: 2px solid var(--light)}

/* thanks */
main:has(#thanks) {background-color: var(--light2); display: flex; flex-direction: column; justify-content: center}
#thanks {padding: 2rem 0}
#thanks h1, #thanks h2 {font-size: 2rem}
#thanks a:not(.button) {color: var(--brand); font-weight: bold}

/* sideform */
#slideform {max-width: calc(100% - 3rem); position: fixed; right: 0; top: 50%; transform: translateY(-50%); transition: width 0.5s ease-in-out; width: 0; z-index: 1}
#slide_handle {background-color: var(--highlight); border: 2px solid var(--brand); border-radius: 1rem 0 0 1rem; border-right: none; color: var(--light); cursor: pointer; font-weight: bold; padding: 1rem 0.75rem; position: absolute; right: 100%; text-transform: uppercase; top: 50%; transform: translateY(-50%); text-orientation: upright; white-space: nowrap; writing-mode: vertical-lr}
#slideform_form {width: 360px}
#slideform_form .form_outer {background-color: var(--light2); border: 2px solid var(--brand); border-radius: 1rem 0 0 1rem; border-right: none; color: var(--dark); padding: 1rem}
#slideform_form .form_inner {background-color: transparent; border: none; border-radius: none; padding: 0}	
#slideform_form .form_prehead {color: inherit}

@media(min-width: 60rem) {
	.container {margin: 0 auto; max-width: 80rem}
	.d-tbl {border-collapse: collapse; border-style:hidden; display: table; table-layout: fixed; width: 100%}
	.d-tbl.rev {direction: rtl}
	.d-tbl_cell {border: 2rem solid transparent; direction: ltr; display: table-cell; vertical-align: top}
	/* header */
	#header_logo {flex-grow: 0}
	#header_logo img {max-height: 3.5rem}
	#header .container {justify-content: space-between}
	#header_menu_toggle {display: none}
	#header_menu_menu {background-color: transparent; display: block !important; flex-grow: 1; max-width: none; position: static}
	#header_menu_menu li {display: inline-block}
	#header_menu_menu a, #header_menu_menu li:first-child a, #header_menu_menu li:last-child a {padding: 0.5rem}
	#header_cta {display: block}
	/* hero */
	#hero_vid {height: 100%}
	#hero {padding: 4rem 0}
	#hero .container {align-items: center; display: flex; gap: 4rem}
	#hero_copy {flex-grow: 1; font-size: 1.25rem}
	#hero_copy h1 {font-size: 4.5rem}
	#hero_copy h1 hr {display: block}
	#top_form {flex-basis: 640px}
	.form_outer {background-color: transparent; border: none; border-radius: none; padding: 0}	
	.form_inner {background-color: var(--light2tr); border: 4px solid var(--light); border-radius: 1rem; padding: 1rem}
	.form_prehead {color: var(--light); font-size: 1.5rem; text-align: center; text-shadow: 0 0 1px black, 0 0 2px black}
	#slideform .form_prehead {text-shadow: none}
	.form_prehead span {font-size: 1.25rem}
	.field input[type="email"], .field input[type="submit"], .field input[type="tel"], .field input[type="text"], .field select {font-size: 1.125rem}
	/* sections */
	.subsection {margin: 2rem 0}
	.row .d-tbl_cell {border-width: 4rem; vertical-align: middle}
	.icon_blocks {display: flex; flex-wrap: wrap; gap: 4rem; justify-content: center; margin: 2rem 0}
	.icon_block {flex-basis: calc(100% / 3 - 4rem); margin: 0}
	#sticky_cta {display: none}
	/*testimonial*/
	.testimonial {align-items: center; background-color: transparent; color: var(--light); gap: 12rem; padding: 0}
	.testimonial .imgholder {aspect-ratio: auto; border-radius: 0; order: 2}
	.testimonial_top {display: block; margin: 0 0 2rem 0}
	.testimonial_quotemark {font-size: 5rem; line-height: 0}
	.testimonial_stars {color: gold; font-size: 1.25rem;}
	.testimonial_quote, .testimonial_testimonial {line-height: 2}
	.testimonial_name {color: inherit; font-weight: bold}
	.testimonial .imgholder {padding: 0 0 4px 4px}
	.testimonial_img {border-radius: 1rem; height: auto}
	.imgholder img.testimonial_img {box-shadow: -2px 2px 2px black}

	/* components */
	/*tabs*/
	body.js .tabnav {align-items: stretch; display: flex; gap: 0 0.5rem; list-style: none; margin: 0; padding: 0}
	body.js .tabnav li {background-color: var(--brand); border-radius: 1rem 1rem 0 0; box-sizing: border-box; color: var(--light); flex-basis: calc(25%); flex-shrink: 1; margin: 0; padding: 0}
	body.js .section.bg2 .tabnav li {background-color: var(--dark2)}
	body.js .tabnav li:has(a[aria-expanded="true"]), body.js .section.bg2 .tabnav li:has(a[aria-expanded="true"]) {background-color: var(--highlight); color: var(--light)}
	body.js .section.bg4 .tabnav li:has(a[aria-expanded="true"]) {background-color: var(--brand2); color: var(--light)}
	body.js .tabnav li a {box-sizing: border-box; display: flex; flex-direction: column; font-size: 1.125rem; font-weight: bold; height: 100%; justify-content: center; padding: 0.5rem 1rem; text-decoration: none; width: 100%}
	body.js .accordion.tab .accordion_content {display: block !important}
	.accordion.tab .accordion_toggle {cursor: auto; margin: 1rem 0; padding: 0}
	.accordion.tab .accordion_toggle::after {display: none}
	.accordion_toggle .subhead {font-weight: bold}
	.tabswrap {margin: 2rem 0}
	.tabs {background-color: var(--brand); color: var(--light); border-radius: 0 1rem 1rem 1rem}
	.tabs:has(> :nth-child(4)) {border-top-right-radius: 0}
	.section.bg1 .tabs, .section.bg2 .tabs, .section.bg4 .tabs {background-color: var(--light); color: var(--brand)}
	body.js .tab {display: none}
	body.js .tab.active {display: block}
	.tab.accordion {background-color: transparent !important; color: inherit !important; margin: 0}
	.tab h2, .tab h3, .tab h4, .tab h6, .tab h6 {color: var(--highlight)}
	
	/* thanks */
	#thanks {font-size: 1.25rem}
	#thanks h1, #thanks h2 {font-size: 2.5rem}
	.thanks_links {width: 40%}
}
