/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*End Meyers Reset*/
* {
	box-sizing:border-box;
}
strong {
	font-weight:800;
}
em {
	font-style: italic;
}
body {
	color:#212529;
  	font-family: "Open Sans", sans-serif;
  	font-optical-sizing: auto;
  	font-style: normal;
  	font-variation-settings:"wdth" 100;
}
html {
    scroll-behavior: smooth;
}

[id] {
    scroll-margin-top: 10rem;
}
header {
	background-color:#fff;
	position:sticky;
	top:0;
	width:100%;
	padding:1rem 2rem;
	box-shadow: 0 0 0 10px #e71e28,    /* Inner layer */ 0 0 0 20px white, /* Middle layer */0 0 0 30px #073675;  /* Outer layer */
	z-index:10000;
}
.top-logo {
	max-height:125px;
}
.top-logo-bar {
	max-height:50px;
}
nav {
	display:flex;
	text-align:right;
	flex:1;
	justify-content:flex-end;
	column-gap:1.5rem;
}
nav li {
	text-align:right;
	list-style:none;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
}
nav li:hover {
	color:#e71e28;
}
nav a {
	text-decoration:none;
	color:#073675;
	font-size:2rem;
}
nav a:active {
	color:#e71e28;
}
.inner-section {
	max-width:1300px;
	min-width:1000px;
	margin:0 auto;
}
.flex-parent, .flex-parent-nav {
	display:flex;
	align-items:center;
	column-gap:2rem;
}
.flex-parent-nav {
	background-color:#fff;
}
.wave-header {
	max-width:1300px;
	min-width:1000px;	
  	width: 100%;
  	height: 220px;
  	overflow: hidden;
	margin:0 auto;
}

.wave-header svg {
  width: 100%;
  height: 100%;
  display: block;
}
h1 {
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	text-transform:uppercase;
	font-size:3.5rem;
	line-height:1.15;
	margin-bottom:1.5rem;
	color:#073675;
	letter-spacing: -4px;
	z-index:1000;
}
.blue-highlight {
	display:inline-block;
	/*background-color:#b8e1ff;*/
	background-image: linear-gradient(#b8e1ff 100%, #b8e1ff 100%);
	background-size: 100% 25px;
	background-repeat: no-repeat;
	background-position: left 75%;
	padding:0 1rem 0rem 1rem;
	margin-bottom:-.5rem;
	color:#e71e28;
	font-size:8rem;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	letter-spacing: -2px;
}
.red-highlight {
	display:inline-block;
	/*background-color:#b8e1ff;*/
	background-image: linear-gradient(#e71e28 100%, #e71e28 100%);
	background-size: 100% 25px;
	background-repeat: no-repeat;
	background-position: left 75%;
	padding:0 1rem 0rem 1rem;
	margin-bottom:-.5rem;
	color:#fff;
	font-size:6rem;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	letter-spacing: -2px;
}
.yellow-highlight {
	display:inline-block;
	/*background-color:#b8e1ff;*/
	background-image: linear-gradient(#fff3cd 100%, #fff3cd 100%);
	background-size: 100% 25px;
	background-repeat: no-repeat;
	background-position: left 75%;
	padding:0 1rem 0rem 1rem;
	margin-bottom:-.5rem;
	color:#e71e28;
	font-size:8rem;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	letter-spacing: -2px;
}
.pink-highlight {
	display:inline-block;
	/*background-color:#b8e1ff;*/
	background-image: linear-gradient(#ffe9f3 100%, #ffe9f3 100%);
	background-size: 100% 25px;
	background-repeat: no-repeat;
	background-position: left 75%;
	padding:0 1rem 0rem 1rem;
	margin-bottom:-1rem;
	color:#e71e28;
	font-size:4.5rem;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	letter-spacing: -2px;
}
.blue-highlight-two {
	display:inline-block;
	/*background-color:#b8e1ff;*/
	background-image: linear-gradient(#b8e1ff 100%, #b8e1ff 100%);
	background-size: 100% 25px;
	background-repeat: no-repeat;
	background-position: left 75%;
	padding:0 1rem 0rem 1rem;
	margin-bottom:-.5rem;
	color:#e71e28;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	letter-spacing: -2px;
}
#hero {
	padding:4rem 2rem 6rem 2rem;
}
#hero p, .content-section, .content-section2, .when-to-contact {
	font-size:1.25rem;
	line-height:1.25;
}
.content-section {
	padding:6rem 2rem;
}
.content-section2 {
	padding:2rem;
}
.half-flex {
	flex:1;
}
.third-flex {
	flex:1;
	border-radius: 20px;
	background: #ffffff;
	box-shadow:  20px 20px 60px #6A86AC,
				 -20px -20px 60px #ffffff;
	padding:2rem;
	text-align:center;
}
/*.third-flex {
	flex:1;
	padding:2rem;
	text-align:center;
	background-color:#e71e28;
}*/
.about-heart {
	padding:4rem 0 3rem 0;
}
.about-heart img {
	width:100%;
}
.about-heart p {
	margin-bottom:1rem;
	font-size:1.25rem;
	line-height:1.25;
}
.critical-incident p {
	margin-bottom:3rem;
	text-align:center;
	color:#073675;
}
.critical-points {
	text-align:left;
	column-gap:2rem;
	margin:0 auto;
	padding:0;
	align-items:stretch;
	z-index:999;
}
.third-flex i {
	font-size:3.5rem;
	padding-bottom:1rem;
	color:#e1ebfa;
}
.third-flex strong {
	font-size:1.5rem;
}
.third-flex p {
	margin-bottom:1rem;
	font-size:1rem;
	color:#073675;
}
.one-crit {
	
}
.two-crit {
	
}
.three-crit {
	
}	
.photo-hold {
	padding:2rem 0;
}
.when-to-contact {
	padding:4rem 0 3rem 0;
	text-align:center;
	color:#073675;
}
.fa-circle-envelope {
	font-size:2rem;
}
.email-text {
	color:#073675 !important;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
}
.email-section p {
	margin-bottom:2rem;
}
.email-section a {
	text-decoration: none;
}
.email-section button {
	display:flex;
	align-items:center;
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	background-color:#073675;
	color:#fff;
	text-transform:uppercase;
	font-size:1rem;
	border:none;
	padding:1rem;
	transition:.5s;
	margin-bottom:2rem;
}
.email-section button i {
	display:inline-block;
	padding-right:.5rem;
}
.email-section button:hover {
	cursor:pointer;
	padding-left:2rem;
	background-color:#e71e28;
}
.map-hold {
	position:relative;
	display:block;
	width:100%;
}
.zoom-hover {
	opacity:0;
	position:absolute;
	display:flex;
	align-items:center;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,.75);
	transition:.5s;
	color:#073675;
	cursor:pointer;
}
.zoom-hover:hover {
	opacity:1;
	transition:.5s;	
}
.zoom-hover p {
	display:block;
	margin:0 auto;
}
#footer-links {
	background-color:#073675;
	padding:2rem 0;
	font-size:1rem;
	line-height:1.25;
}
#footer-links a {
	color:#fff;
}
.footer-col-hold {
	max-width:1300px;
	min-width:1000px;
	margin:0 auto;
	display:flex;
	column-gap:1rem;
	color:#fff;
}
.one-col {
	flex:1;
	border-right:1px solid #fff;
	padding-right:1rem;
	text-align:center;
}
.two-col {
	flex:3;
	border-right:1px solid #fff;
	padding:0 1rem;
}
.three-col {
	flex:2;
	padding-left:1rem;
}
.two-col p:first-child, .three-col p:first-child {
	margin-bottom:1rem;
}
.three-col strong {
	font-family: "Walter Turncoat", cursive;
  	font-weight: 400;
  	font-style: normal;
	font-size:1.25rem;
}
footer {
	background-color:#232323;
	text-align:center;
	padding:2rem 0;
}
footer p {
	color:#fff;
}
.pale-blue {
	background-color:#e1ebfa;
}
.pale-green {
	background-color:#f2fafa;
}
.blue-bg {
	background-color:#073675;
	color:#fff;
}
.red-bg {
	background-color:#e71e28;
	color:#fff;
}
.highlight-square {
	display:block;
	height:30px;
	width:30px;
	border-radius:5px;
	margin-bottom:1rem;
}
.white-text {
	color:#fff;
}
.light-yellow {
	background-color:#fff3cd;
}
.light-green {
	background-color:#caf0c7;
}
.light-pink {
	background-color:#ffe9f3;
}
.checkbox-option {
	padding-bottom:1rem;
}


/* CHECKBOX */

.animated-check {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.animated-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.check-box {
    width: 24px;
    height: 24px;
    flex-shrink: 0;

    border: 2px solid #073675;
    border-radius: 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


/* CHECKMARK */

.checkmark {
    width: 6px;
    height: 12px;

    border: solid white;
    border-width: 0 3px 3px 0;

    transform: rotate(45deg) scale(0);
    opacity: 0;

    transition:
        transform 0.2s ease 0.05s,
        opacity 0.15s ease;
}


/* CHECKED BOX */

.animated-check input:checked + .check-box {
    background-color: #e71e28;
    border-color: #e71e28;

    animation: check-pop 0.3s ease;
}

.animated-check input:checked + .check-box .checkmark {
    transform: rotate(45deg) scale(1);
    opacity: 1;
}


/* INDIVIDUAL MESSAGES
   Hidden until that specific checkbox is checked */

.check-message {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
	text-align:left;
    transform: translateY(-5px);

    transition:
        max-height 0.35s ease,
        opacity 0.25s ease,
        transform 0.35s ease,
        margin-top 0.35s ease;
}

.checkbox-option:has(input:checked) .check-message {
    max-height: 1000px;
    opacity: 1;

    margin-top: 10px;

    transform: translateY(0);
}


/* FINAL "ALL CHECKED" MESSAGE
   Hidden until every checkbox is checked */

.all-checked-message {
    max-height: 0;
    overflow: hidden;
    opacity: 0;

    margin-top: 0;

    transform: translateY(-10px) scale(0.95);

    transition:
        max-height 0.4s ease,
        opacity 0.3s ease,
        transform 0.4s ease,
        margin-top 0.4s ease;
}

.checkbox-list {
	padding:2rem 2rem 1rem 2rem;
	border:3px solid #b8e1ff;
	margin: 0 auto;
	width:65%;
}

.checkbox-list:not(:has(.checkbox-option input:not(:checked)))
.all-checked-message {
    max-height: 200px;
    opacity: 1;

    margin-top: 25px;

    transform: translateY(0) scale(1);
}


/* HOVER */

.animated-check:hover .check-box {
    border-color: #222;
}


/* KEYBOARD FOCUS */

.animated-check input:focus-visible + .check-box {
    outline: 3px solid rgba(0, 0, 0, 0.2);
    outline-offset: 3px;
}


/* POP ANIMATION */

@keyframes check-pop {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }

}
@media only screen and (max-width: 1000px) {
	header {
		padding:.5rem 0;
		box-shadow: 0 0 0 5px #e71e28,    /* Inner layer */ 0 0 0 10px white, /* Middle layer */0 0 0 15px #073675;  /* Outer layer */
	}
	.top-logo {
		max-height:50px;
	}
	.top-logo-bar {
		max-height:25px;
	}
	nav {
		column-gap:1rem;
		text-align:center;
		justify-content:center;
	}	
	nav a {
		font-size:1.5rem;
	}	
	.flex-parent {
		flex-direction:column;
	}
	.flex-one {
		order:2;
	}
	.flex-two {
		order:1;
		margin-bottom:1rem;
	}
	.inner-section {
		max-width:100%;
		padding:0 1rem;
		min-width:0;
	}	
	.content-section {
		padding:3rem 0;
		text-align:center;
	}	
	.content-section2 {
		padding:3rem 2rem;
		text-align:center;
	}	
	.photo-hold {
		padding:0 0 2rem 0;
	}	
	p {
		font-size:1rem !important;
	}
	#hero {
		text-align:center;
		padding:3rem 0;
	}
	h1 {
		font-size:2.5rem;
	}	
	.blue-highlight {
		font-size:5rem;
		letter-spacing: -2px;
	}
	.red-highlight {
		font-size:3.75rem;
		letter-spacing: -2px;
	}
	.yellow-highlight {
		font-size:4.75rem;
		letter-spacing: -2px;
	}
	.pink-highlight {
		font-size:3.5rem;
		letter-spacing: -2px;
	}	
	.critical-points {
		width:100%;
		padding:2rem 2rem 0 2rem;
	}	
	.third-flex {
		margin-bottom:2rem;
		padding-left:1rem;
	}
	.third-flex:last-child {
		margin-bottom:0;
	}
	.highlight-square {
		display:none;
	}	
	.email-section button {
		width:100%;
		text-align:center !important;
	}
	.about-heart {
		padding:2rem 1rem 2rem 1rem !important;
		text-align:center;
	}	
	.critical-incident {
		padding:2rem 1rem 2rem 1rem !important;
	}
	.critical-points {
		padding:0 1rem;
	}
	.when-to-contact {
		padding:2rem;
	}
	.checkbox-list {
		width:100%;
		font-size:1rem;
	}	
	#footer-links {
		text-align:center;
		padding:2rem;
	}
	.footer-col-hold {
		display:block;
		width:100%;
		min-width:0;
	}
	.one-col, .two-col, .three-col {
		padding:0;
		border:none;
	}	
	.one-col {
		margin-bottom:2rem;
	}
	[id] {
    	scroll-margin-top:5rem;
	}	
}