/*! 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}

.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}

:root{
	--bg: #e5e5e5;
	--bg2: #eef4f9;
	--brand: #132a49;
	--brand2: #3878ba;
	--brand3: #fac422;
	--dark: #1f3552;
	--light: #ffffff;
	--overlay: #132a49b2;
}

html {height: 100%; scroll-behavior: smooth}
body {background-color: var(--light); color: var(--dark); display: flex; flex-direction: column; font-family: sans-serif; min-height: 100%; overflow-x: hidden; margin: 0 auto}
main {display: flex; flex-direction: column; flex-grow: 1}
h1, h2, h3, h4, h6, h6, p, ol, ul {margin: 1rem 0}
li {line-height: 1; margin: 0.5rem 0}
h1, h2, h3, h4, h6, h6 {line-height: 1}
a {color: inherit}
img {height: auto; max-width: 100%}
mark {background-color: transparent; color: var(--brand2)}
ul:not([class]) li::marker {color: var(--brand3); content: '\2B24\a0';}
[id] {scroll-margin-top: 4rem}
.container {padding: 0 1rem; position: relative}
.caps {text-transform: uppercase}
.center {text-align: center}
.buttonholder {display: flex; flex-wrap: wrap; gap: 1rem}
.center .buttonholder, .buttonholder.center {justify-content: center}
.button {background-color: var(--brand); border: 1px solid transparent; border-radius: 0.5rem; color: var(--light); cursor: pointer; display: inline-block; padding: 1rem 2rem; text-align: center; text-decoration: none}
.svg_wrap svg {display: block; height: 2rem; margin: 0 auto; width: auto}
.checks {column-count: 2; column-gap: 1rem; display: inline-block; list-style: none; padding: 0}
.checks li {break-inside: avoid; margin-top: 0; text-align: left}
.checks li::before {background-image: url('../img/checkmark.png'); background-position: center; background-size: contain; content: ''; display: inline-block;  height: 1em; margin-right: 0.25rem; vertical-align: text-top; width: 1em}
.container > :first-child {margin-top: 0}
.container > :last-child {margin-bottom: 0}

/* form */
.fieldset, .field {margin: 1rem 0}
.fieldset {align-items: stretch; display: flex}
.fieldset .field {flex-basis: 100% ; margin: 0}
.fieldset .field:not(:first-child) input {border-bottom-left-radius: 0; border-top-left-radius: 0; border-left: none}
.fieldset .field:not(:last-child) input {border-bottom-right-radius: 0; border-top-right-radius: 0}
.field:has(svg) {position: relative}
.field:has(svg) input, .field:has(svg) select {padding-right: 2rem}
.field:has(svg) select {appearance: none}
.field svg {height: auto; position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); width: 1rem}
input:not([type='checkbox'], [type='radio']), select {background-color: var(--bg2); border: 1px solid #c0c5c8; border-radius: 1000rem; box-sizing: border-box; padding: 0.75rem 1rem; width: 100%}
input[type="submit"] {background-color: var(--brand3); border-color: transparent; color: var(--brand); font-weight: bold}
[name="comments"] {display:none}
.form {background-color: var(--light); color: var(--brand); padding: 1rem; text-align: center}
.deadline, .formhead, .form_subhead {line-height: normal; margin: 0.5rem 0; line-height: normal; text-wrap: balance}
.formhead {font-size: 1.25rem; margin: 1rem 0}
.form p.disclaimer {line-height: normal; text-wrap: balance}

/* header */
#header {align-items: center; background-color: var(--brand3); color: var(--dark); display: flex; gap: 2rem; justify-content: end; padding: 1rem; position: sticky; top: 0; z-index: 5}
#menu {align-items: center; display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0}
#menu li {margin: 0}
#menu a {display: inline-block; font-size: 0.9rem; font-weight: bold; text-align: center; text-decoration: none}

/* hero */
#hero {background-color: var(--brand); color: var(--light); display: flex}
#hero aside {background-color: var(--brand3); flex-basis: 3rem; flex-shrink: 0; padding: 1rem}
#hero .content {padding: 0}
#hero_copy, #hero_copy .copy {position: relative}
#hero_logo {left: 1rem; position: absolute; top: 1rem; z-index: 1}
#hero_copy {background-position: center; background-size: cover; padding: 1rem; text-wrap: balance}
#hero_copy::before {background-color: var(--overlay); bottom: 0; content: ''; left: 0; right: 0; position: absolute; top: 0}
#hero_copy .copy {padding: 16rem 0 0 0}
#hero_copy .copy > :first-child {margin-top: 0}
#hero_copy .copy > :last-child {margin-bottom: 0}
#hero_copy h1 {margin: 0 0 2rem 0}
main:has(#thanks) {background-position: center; background-size: cover; display: flex; flex-direction: column; justify-content: center; position: relative}
main:has(#thanks)::before {background-color: var(--overlay); bottom: 0; content: ''; left: 0; right: 0; position: absolute; top: 0}
#thanks {color: var(--light); position: relative; text-align: center; text-wrap: balance}

/* sections */
.section:has(aside) {display: flex}
.section aside {background-color: var(--bg); flex-basis: 1rem; flex-shrink: 0}
.section aside span {display: none}
.section:nth-child(2n+1) {background-color: var(--bg2)}
.section:nth-child(2n+1) aside {background-color: var(--brand2); color: var(--light)}
.section .content {flex-grow: 1; padding: 2rem 0}
/*row*/
.section .content:has(.row:last-child .formholder) {padding-bottom: 0}
.section .container:has(.row .formholder) {padding-left: 0; padding-right: 0}
.row:has(.formholder) .copyholder {padding: 0 1rem}
.imgholder img {display: block; margin: 1rem auto}
/*boxes*/
.box {background-color: var(--bg2); border-radius: 1rem; margin: 2rem auto; max-width: 640px; padding: 1rem 2rem}
.section:nth-child(2n+1) .box {background-color: var(--light)}

/* footer */
#footer {background-color: var(--brand); color: var(--light); padding: 1rem}
#footer p {line-height: normal; margin: 1rem 0}
#footer_info > :last-child {margin-bottom: 0}
#footer_links {display: flex; flex-wrap: wrap}
#footer_links a:before {content: '|'; display: inline-block; text-decoration: none; margin: 0 0.5rem}
#footer_links a:first-child::before {display: none}

@media(min-width: 60rem){
	h1, h2 {font-size: 2.25rem; margin: 2rem 0}
	p {line-height: 2}
	p + p:not(.buttonholder) {margin-top: 2rem}
	ul {column-count: 2; column-gap: 2rem}
	li {line-height: 1.5}
	ul li {break-inside: avoid; margin-top: 0}
	.container {max-width: 80rem; margin: 0 auto}
	.form .disclaimer {font-size: 0.80rem}
	#hero .content {background-position: center; background-size: cover; flex-grow: 1; max-width: none; position: relative}
	#hero .content::before {background-color: var(--overlay); bottom: 0; content: ''; left: 0; right: 0; position: absolute; top: 0}
	#hero .subcontainer {align-items: end; display: flex; max-width: 120rem; margin: 0 auto; padding: 2rem 2rem 2rem 1rem}
	#hero_copy {background-image: none !important; flex-grow: 1; padding: 0}
	#hero_copy::before {display: none}
	#hero_copy .copy {padding: 0 4rem 1rem 3rem}
	#hero_copy h1 {margin: 0 0 2rem 0}
	#topform {border-radius: 2rem; flex-basis: 350px; flex-shrink: 0; margin: 1rem 0; position: relative}
	#hero aside {flex-basis: 5rem; flex-shrink: 0; padding: 1rem}
	.section aside {align-items: center;  display: flex; flex-basis: 5rem; flex-direction: column; flex-shrink: 0; justify-content: center; padding: 2rem 1rem}
	.section aside span {display: block; font-size: 2rem; font-weight: bold; text-transform: uppercase; white-space: nowrap; writing-mode: sideways-lr}
	.section .content {padding: 4rem 0}
	.section .content:has(.row:last-child .formholder) {padding-bottom: 4rem}
	.section .container:has(.row .formholder) {padding-left: 1rem; padding-right: 1rem}
	.row {align-items: center; display: flex; gap: 2rem;}
	.row .imgholder, .row .formholder {flex-basis: 350px; flex-shrink: 0}
	.row .imgholder, .row .imgholder img, .row .imgholder .img, .row .formholder .form {border-radius: 2rem}
	.row:has(.formholder) .copyholder {padding: 0}
	.row .copyholder {flex-grow: 1}
	.row .copyholder > :first-child {margin-top: 0}
	.row .copyholder > :last-child {margin-bottom: 0}
	.boxes {display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center}
	.box {box-sizing: border-box; flex-basis: calc(50% - 1rem); margin: 0}
	#footer {padding: 2rem 7rem}
	#footer .container {align-items: center; display: flex; gap: 2rem; justify-content: space-between}
	#footer_info {text-align: right}
	#footer_info > :first-child {margin-top: 0}
}
@media (min-width: 85rem){
	h1, h2 {font-size: 3rem}
	#topform, .row .imgholder {flex-basis: 450px}
	.row .formholder {flex-basis: calc(450px + 2rem)}
}