/* #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,
q:before, q:after {
	quotes: none;
	content: '';
	content: none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}

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

:root {
	/* Core brand */
	--navy:#0e3a6d;
	--navy-deep:#10233b;
	--navy-darker:#0a2445;
	--lime:#a6c425;

	/* Navy scale */
	--slate-body:#4a6180;
	--slate-seo:#33465e;
	--slate-muted:#7089a6;
	--slate-label:#5b789c;
	--slate-placeholder:#9aabbe;

	/* Light backgrounds */
	--bg:#ffffff;
	--bg-mist:#f4f7fb;
	--bg-mist-alt:#f6f8fb;
	--bg-mist-blue:#eef4fa;
	--bg-tile:#f2f5f8;

	/* Text on navy */
	--on-navy-body:#c3d7ea;
	--on-navy-emphasis:#cfe0f1;
	--on-navy-lead:#dce8f4;
	--on-navy-meta:#8fabc9;
	--on-navy-fine:#7f9dbc;

	/* Hairlines */
	--rule:rgba(14,58,109,.14);
	--rule-subtle:rgba(14,58,109,.10);
	--rule-faint:rgba(14,58,109,.08);
	--rule-btn:rgba(14,58,109,.28);
	--rule-panel:rgba(14,58,109,.35);
	--rule-navy:rgba(255,255,255,.18);
	--rule-navy-strong:rgba(255,255,255,.28);
	--rule-navy-subtle:rgba(255,255,255,.16);
	--rule-navy-btn:rgba(255,255,255,.45);
	--rule-crumb:#c2cfdd;

	/* Interaction + utility */
	--navy-hover:#0a2a50;
	--lime-hover:#96b120;
	--slate-ink:#3d5573;
	--error:#ffd7d7;
	--bg-placeholder:#eef2f6;
	--stripe-a:#e3ebf4;
	--stripe-b:#f2f6fb;

	/* Spacing */
	--gutter:clamp(20px, 5vw, 56px);
	/* Distance from the viewport edge to the .container edge. 0 below 1400px.
	   Lets a full-bleed band align its content with .container. */
	--bleed:max(0px, calc((100vw - 1400px) / 2));
	--pad-lg:clamp(48px, 7vw, 82px);
	--pad-std:clamp(40px, 7vw, 70px);
	--pad-sm:clamp(34px, 7vw, 56px);
	--gap-major:clamp(24px, 5vw, 56px);

	/* Aliases retained for base-theme rules */
	--color-main:var(--navy-deep);
	--color-link:var(--navy);
	--color-link-hover:#0a2a50;

	--font-body:"Barlow", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--font-display:"Barlow Condensed", "Barlow", system-ui, sans-serif;
}

/* 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%; }
body {font-size:16px;font-weight:400;font-family:var(--font-body);line-height:1.6;color:var(--navy-deep);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;}
*, *::before, *::after {box-sizing:border-box;}

html,
body {scroll-behavior: smooth;}

/* #Typography
================================================== */
p {line-height:1.6;margin-bottom:20px;}

h1,
h2,
h3,
h4,
h5,
h6 {margin-top:0;margin-bottom:2rem;font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:var(--navy);}
h1 {font-size:clamp(43px, 8.2vw, 82px);line-height:.9;letter-spacing:-.01em;text-wrap:balance;}
h2 {font-size:clamp(24px, 4.6vw, 46px);line-height:.98;}
h3 {font-size:24px;line-height:1.1;}
h4 {font-size:20px;line-height:1.1;}
h5 {font-size:18px;line-height:1.1;}
h6 {font-size:17px;line-height:1.1;}

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

.entry ul,
.entry ol {margin:0 0 20px 20px;}
.entry ul {list-style:disc;}
.entry ol {list-style:decimal;}
.entry li {line-height:1.6;margin-bottom:1rem;}

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: 7px 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; }
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-link);text-decoration:none;transition:all 0.4s ease;}
a:hover {color:var(--color-link-hover); }
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;}
/* Skip links must become visible when focused, or they do nothing. */
.skip-links a.screen-reader-only:focus {clip:auto;width:auto;height:auto;overflow:visible;top:8px;left:8px;z-index:100000;padding:12px 18px;background:var(--navy);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;text-decoration:none;}

.anchor {scroll-margin-top: 85px;}
@media (min-width:1000px) {
	.anchor {scroll-margin-top: 90px;}
}
.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;}

.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;}

.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%;}
