/*! 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: #13447e;
	--brand_light: #e7f0fb;
	--button: #cc2127;
	--button_shadow: #cc212766;
	--dark: #13243a;
	--light: #ffffff;
}
#noscript {border: 6px double red; font-weight: bold; padding: 1rem; text-align: center}
html {height: 100%; scroll-behavior: smooth}
body {background-color: var(--light); color: var(--dark); display: flex; flex-direction: column; font-family: sans-serif; margin: 0 auto; min-height: 100%; overflow-x: clip}
h1, h2, h3, h4, h5, h6, p, ul, ol, li {margin: 1rem 0}
h1, h2, h3, h4, h5, h6 {line-height: 1}
h1, h2, h3, h4, h5, h6 {font-family: 'Mulish', system-ui, sans-serif}
p {line-height: 1.5}
h1 {font-size: 2.5rem}
h2 {font-size: 2rem}
h3 {font-size: 1.25rem}
a {color: inherit}
img {height: auto; max-width: 100%}
mark {background-color: transparent; color: var(--button)}
ol, ul {list-style: none; padding: 0 0 0 1rem}
ol {counter-reset: count}
li {align-items: start; display: flex; gap: 0.5rem; line-height: 1.3333}
li :first-child {margin-top: 0}
ol li::before {content: counter(count); counter-increment: count}
ul li::before {content: '\2713'}
[id] {scroll-margin-top: 8rem}
.container {padding: 0 1em; position: relative}
.caps {text-transform: uppercase}
.center {text-align: center; text-wrap: balance}
.center ol, .center ul {display: inline-block; margin: 0; padding: 0; text-align: left}
.circled, li::before {align-items: center; background-color: var(--brand_light); border-radius: 1000rem; box-sizing: border-box; color: var(--brand); display: inline-flex; font-size: 0.8125em; font-weight: bold; height: 1.625em; justify-content: center; min-width: 1.635em; padding: 0 0.25rem; vertical-align: middle; width: auto}
.buttonholder {align-items: baseline; display: flex; flex-wrap: wrap; gap: 1rem}
.center .buttonholder, .buttonholder.center {justify-content: center}
.button {background-color: var(--button); border-radius: 0.375rem; box-shadow: var(--button_shadow) 0 0.375rem 1.25rem 0; color: var(--light); display: inline-block; font-weight: bold; padding: 1.125rem 2rem; text-align: center; text-decoration: none}
.cols {column-count: 2}
.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%}
.prehead {color: var(--brand); font-weight: bold; font-size: 0.8125rem; letter-spacing: 0.15625em; text-transform: uppercase}
p.prehead {line-height: 1}
/* form */
.form {font-size: 1rem}
.form hgroup {text-wrap: balance}
.form .disclaimer {font-size: 0.875rem; text-wrap: balance}
.field {margin: 1em 0; text-align: left}
.field label, legend {display: block; font-size: 0.875rem; font-weight: bold; line-height: 1; margin-bottom: 0.25em; text-transform: uppercase}
.field label span, legend span {display: block; font-size: 0.75em; font-weight: normal; opacity: 0.75; text-transform: none}
.field input:not([type]), input[type=email], .field input[type=tel], .field input[type=text], .field select, .field textarea {box-sizing: border-box; border: 2px solid var(--brand_light); padding: 0.5rem 1rem; border-radius: 0.5rem; background-color: var(--light); color: var(--dark); width: 100%}
.field textarea {resize: vertical}
.field input[type="submit"] {background-color: var(--button); border: none; border-radius: 0.5rem; color: var(--light); font-size: 1rem; font-weight: bold; padding: 1rem; width: 100%}
.field.cb {align-items: start; display: flex; gap: 0.5rem}
.field.cb label {font-weight: normal; text-align: left; text-transform: none}
fieldset {border: none; margin: 1rem 0; padding: 0}
fieldset .fieldset, fieldset .field {margin-top: 0}
[name="comments"] {display: none}
/* top bar */
#top_bar {background-color: var(--brand_light); color: var(--brand); padding: 0.5rem 0}
#top_bar .container {align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: center}
#top_bar p {align-items: center; display: flex; font-size: 0.8125rem;  gap: 0.25rem; line-height: normal; margin: 0}
#top_bar a {text-decoration: none}
#top_bar .circled {background-color: var(--brand); color: var(--light)}
/* header */
#header {background-color: var(--light); position: sticky; top: 0; z-index: 10}
#header .container {align-items: center; display: flex; gap: 2rem; justify-content: space-between}
#header a {text-decoration: none}
#header .button {box-shadow: var(--button_shadow) 0px 0.125rem 0.3125rem 0px; padding: 0.6875rem 1.125rem}
#header_logo, #header_links {margin: 1rem 0}
#header_logo, #header_menu_open {flex-shrink: 0}
#header_logo img {display: block}
#header_nav {background-color: var(--brand_light); display: none; font-weight: bold; position: absolute; right: 0; top: 100%}
#header_nav ul {list-style: none; margin: 0; padding: 0}
#header_nav li {margin: 0}
#header_nav li::before {display: none}
#header_nav a {display: block; padding: 0.5rem 2rem}
#header_nav li:first-child a {padding-top: 1rem}
#header_nav li:last-child a {padding-bottom: 1rem}
#header_links {align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: center}
#header_phone {color: var(--brand); font-weight: bold}
#header_menu_open {align-self: stretch; background-color: transparent; border: none; cursor: pointer; display: block; font-size: 3rem; line-height: 0; padding: 0}
/* sections */
section {margin: 3rem 0}
section:nth-child(2n+1):not(#hero):not(#logo_carousel) {background: linear-gradient(120deg,#13548f 0%,#1560ab 55%,#1a6dc0 100%); color: var(--light); margin: 0; padding: 3rem 0}
/*hero*/
#hero, #thanks {background-color: var(--brand); background-image: url('../img/hero/hero_960.jpg'); background-position: center; background-size: cover; color: var(--light); margin:0; padding: 2rem 0; position: relative}
#hero::before, #thanks::before {background-color: var(--brand); content: ''; height: 100%; left: 0; opacity: 0.25; position: absolute; top: 0; width: 100%}
#hero_copy .prehead {color: var(--brand_light)}
/*thanks*/
body:has(#thanks), main:has(#thanks), #thanks {display: flex; flex-direction: column; height: 100%}
#thanks {justify-content: center}
/*row*/
.row .imgholder {margin: 1rem 0}
.row .img {aspect-ratio: 2; background-color: var(--brand_light); background-position: center; background-size: cover; border-radius: 1rem}
/* footer */
#footer {background-color: var(--dark); color: var(--brand_light); padding: 1rem 0; text-align: center; text-transform: uppercase}
#footer .container > :first-child {margin-top: 0}
#footer .container > :last-child {margin-bottom: 0}
#footer p {font-size: 0.75rem}
#footer .divider {display: block; font-size: 0; margin: 0.25rem 0 0 0}
/* logos */
.logo_carousel {margin: 1rem 0}
.logo_carousel .swiper-slide img {display: block; height: 4rem; margin: 0 auto; width: auto}
/* modal */
body:has(.modal.open) {overflow: hidden; position: relative}
body:has(.modal.open):before {background-color: #000000d0; content: ''; height: 100%; left: 0; position: absolute; right: 0; width: 100%; z-index:20}
dialog {background-color: transparent; border: none; box-sizing: border-box; padding: 1rem}
.modal.open {display: flex; flex-direction: column; height: 100vh; justify-content: space-around; left: 0; overflow: auto; position: fixed; top: 0; width: 100%; z-index:20}
.modal_inner {background-color: var(--light); border-radius: 1rem; overflow: clip; margin: 0 auto; max-width: 60rem; position: relative}
.modal_closer {border: none; box-shadow: #00000040 0 0 0.25rem 1px; cursor: pointer; font-size: 1.25rem; font-weight: normal; position: absolute; right: 0.5rem; top: 0.5rem}
.modal_inner:has(aside) {display: flex; flex-direction: column}
.modal_inner aside {background-color: var(--brand); box-sizing: border-box; color: var(--light); display: flex; flex-basis: 18rem; flex-direction: column; flex-shrink: 0; justify-content: space-between; padding: 1rem 2rem}
.modal_inner aside .logo {background-color: var(--light); border-radius: 0.5rem; margin: 1rem 0; padding: 0.5rem; width: max-content}
.modal_inner aside h2 {font-size: 1.5rem}
.modal_inner aside p {font-size: 1rem}
.modal_inner aside ul {font-size: 0.875rem; padding: 0}
.modal_inner .content {display: flex; flex-direction: column; flex-grow: 1; justify-content: center; padding: 1rem 2rem}
.modal_inner .form h2 {font-size: 1.625rem}
.modal_inner .form p {line-height: normal}
.modal_inner .form .disclaimer {text-align: center}
@media(min-width: 60rem){
	h1 {font-size: 3.875rem}
	h2 {font-size: 2.75rem}
	h3 {font-size: 1.5rem}
	p {font-size: 1.25rem}
	.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}
	/* header */
	#header_nav {background-color: transparent; display: block !important; position: static}
	#header_nav ul {align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: center}
	#header_nav a {padding: 0}
	#header_links {flex-shrink: 0; flex-wrap: nowrap; justify-content: end}
	#header_menu_open {display: none}	
	/*sections*/
	section {margin: 5rem 0}
	/* hero */
	#hero, #thanks {background-image: url('../img/hero/hero.jpg');}
	#hero {padding: 8rem 0}
	#hero_copy {max-width: 40rem}
	#hero_copy hgroup {font-size: 1.25rem}
	/*row*/
	.row {align-items: center; display: flex; gap: 4rem}
	.row.rev {flex-direction: row-reverse}
	.row > * {flex-basis: 100%}
	.row .imgholder {align-self: stretch}
	.row .img {aspect-ratio: 1.25}
	/* footer */
	#footer .container {align-items: center; display: flex; justify-content: space-between}
	#footer p {margin: 0}
	#footer .divider {display: inline-block; font-size: inherit; margin: 0 0.5rem}
	/* modal */
	.modal_inner:has(aside) {flex-direction: row}
}