/* #Reset & Basics (Inspired by E. Meyers)
================================================== */
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,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header,menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* #Basic Styles
================================================== */

:root {
	--font-main: "Outfit", sans-serif;

	--color-gold:#baa072;
	--color-dark-blue:#687e91;

	--color-primary-blue: #0079F2;
	--color-dark-navy: #001C34;
	--color-light-blue: #B1DBFF;
	--color-pale-blue-gray: #F6FBFF;
	--color-white: #FFFFFF;

	--color-accent-cyan-blue: #49EFFC;
	--color-darker-cyan-blue: #1FBFE5;

	--color-accent-purple: #A98DFF;
	--color-darker-purple: #806EFF;

	--color-accent-mint: #43FFBB;
	--color-darker-mint: #0ED8B1;

	--color-accent-yellow: #FFDB29;
	--color-darker-yellow: #FFB000;

	--color-accent-orange: #FFA05F;
	--color-darker-orange: #F47C22;

	--color-accent-green: #90E856;
	--color-darker-green: #0FBC18;

	--color-accent-pink: #FC70B0;
	--color-darker-pink: #D7459E;

	--color-gray: #0A3A6540;
}

/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html { font-size: 62.5%;  scroll-behavior: smooth;}
body {font-size: 18px; font-weight: 400; font-family: var(--font-main); color: var(--color-dark-navy);-webkit-font-smoothing: antialiased;-webkit-text-size-adjust: 100%;}

/* #Typography
================================================== */
p { font-size: 18px; line-height:1.5; margin-bottom:20px; color: var(--color-dark-navy); font-weight: 300;}

h1,
h2,
h3,
h4,
h5,
h6 { margin-top: 0; margin-bottom: 2rem; font-weight: 400; line-height: 1.2; font-family: var(--font-main); color: var(--color-dark-navy);}
h1 { font-size: 3.0rem; line-height: 1.1}
h2 { font-size: 2.4rem; font-weight: 500; line-height: 1.2}
h3 { font-size: 1.8rem; font-weight: 600; line-height: 1.2}
h4 { font-size: 1.4rem; font-weight: 700; letter-spacing: 2.1px; text-transform: uppercase;}
h5 { font-size: 1.3rem;}
h6 { font-size: 1.2rem;}

h1.sub-head {line-height: 1.1}
h2.header-cta, .cta-widget h2 {font-size: 3rem; font-weight: 400;}
p.text-small,
.text-small p {font-size: 1.4rem; line-height: 1.4; }
p.text-large,
.text-large p {font-size: 1.8rem; font-weight: 300;}
.button-style {font-size: 14px; font-weight: 700; line-height: 1.26; text-transform: uppercase; color: var(--color-dark-navy);}

@media (min-width: 1000px) {
	h1 { font-size: 6.0rem; }
	h2 { font-size: 3.6rem; }
	h3 { font-size: 2.2rem; }
	h4 { font-size: 1.6rem; }

	h1.sub-head {font-size: 5.3rem;}
	h2.header-cta, .cta-widget h2 {font-size: 6rem;}
	p.text-large,
	.text-large p {font-size: 2.2rem;}
}

em {font-style:italic;}
strong {font-weight:600;}

.entry ul {margin-bottom: 20px;}
.entry ul {list-style: none;}
.entry ol {counter-reset: item; list-style-type: none;}
.entry li {line-height:1.5;margin-bottom:1rem; position: relative;}
.entry ul li {padding-left: 30px;}
.entry ol li:before {content: counter(item, decimal-leading-zero) "/ ";counter-increment: item;color: var(--color-primary-blue); margin-right: 5px;}
.entry ul li:before {position: absolute; content: ''; width: 20px; height: 20px; left: -0; top: 4px; background-image: url(../svg/brand-blue-checkmark.svg); background-size: contain;}

code { padding: .2rem .5rem; margin: 0 .2rem; font-size: 90%; white-space: nowrap; background: #F1F1F1; border: 1px solid #E1E1E1; border-radius: 4px; }
pre > code { display: block; padding: 1rem 1.5rem; white-space: pre; }

hr { margin-top: 3rem; margin-bottom: 3.5rem; border-width: 0; border-top: 1px solid #E1E1E1; }

sup {font-size:1.1rem;}

/* #Forms
================================================== */

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select { height: 38px; padding: 6px 10px; background-color: #fff; border: 1px solid #D1D1D1; border-radius: 0; box-shadow: none; box-sizing: border-box; }

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
button,
.button,
input[type=button],
input[type=submit] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
textarea { min-height: 65px; padding-top: 6px; padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus { border: 1px solid #222; outline: 0; }


/* #Images
================================================== */
img {max-width: 100%;height: auto; }

/* #Misc
================================================== */
a {color: var(--color-primary-blue); text-decoration: unset; transition:all 0.4s ease;}
.entry a {text-decoration: underline; }
a:hover {color: var(--color-dark-navy);}
a,
a:focus {outline:none;}

.screen-reader-only {border: 0;clip: rect(0, 0, 0, 0);height: 1px;overflow: hidden;position: absolute !important;width: 1px;word-wrap: normal !important;}
.skip-links li {height: 0;list-style: none;width: 0;}

.anchor {margin-top:-100px;padding-bottom:100px;display:block;position:relative;z-index:-1;}

.remove-bottom { margin-bottom:0; }
.add-bottom { margin-bottom: 20px; }
.half-bottom { margin-bottom: 10px; }
.double-bottom { margin-bottom: 40px; }
.spacer {padding-top:60px;padding-bottom:60px;}
.spacer-top {padding-top:60px;}
.spacer-btm {padding-bottom:60px;}

.spacer-big {padding-top:120px;padding-bottom:120px;}
.spacer-top-big {padding-top:120px;}
.spacer-btm-big {padding-bottom:120px;}

.left {float:left;}
.right {float:right;}
.alignleft {display: inline;float: left;margin-right: 15px;}
.alignright {display: inline;float: right;margin-left: 15px;}
.aligncenter {clear: both;display: block;margin-left: auto;margin-right: auto;}
.nofloat {float:none !important;}

.tal {text-align:left;}
.tar {text-align:right;}
.tac {text-align:center;}
.cap {text-transform:uppercase;}

.font-bold {font-weight: 700;}

.f-white, .f-white a, .f-white h1, .f-white h2, .f-white h3, .f-white p {color: var(--color-white); }
.f-cyan-blue {color: var(--color-darker-cyan-blue);}
.f-blue {color: var(--color-primary-blue); }

.bg-pale-blue-gray {background-color: var(--color-pale-blue-gray);}
.bg-navy {background-color: var(--color-dark-navy);}

.bg-cover {background-position:center center;background-repeat:no-repeat;background-size:cover;}
@media (min-width:1000px) {
	.bg-fix {background-attachment: fixed;}
}

.frame-container {position: relative;padding-bottom: 56.25%;padding-top: 30px; height: 0; overflow: hidden;}
.frame-container iframe,
.frame-container object,
.frame-container embed,
.frame-container video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
