@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap');

/* =========================================================== */
/* resets and general elements */

html, body, header, footer, div, ul, li, section, article, aside {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 100;
	margin: 0;
	background: #fafafa;
	color: #0A1630;
	font-size: 1.1em;
}

h1, h2, h3, h4 {
    font-family: 'Oswald', Arial, sans-serif;
	margin: 0 0 0.25em 0;
    font-weight: 500;
}
h1 { font-size: 2em; letter-spacing: 0.01em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.25em; }
h4 { font-size: 1em; }

a {
	color: #0A1630;
	text-decoration: none;
}
a:hover {
	color: rgba(0, 52, 111, 1);
}

p {
	margin: 0 0 1em 0;
}

.grey { color: #8a8a8a; }

/* =========================================================== */
/* inputs */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="date"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	cursor: initial;
	font-size: 1.1em;
	height: 2.25em;
	margin: 0 0 0.5em 0;
	padding: 6px 10px;
	background-color: #ffffff;
	border: 1px solid #D1D1D1;
	border-radius: 3px;
	box-shadow: none;
	box-sizing: border-box;
	width: 100%;
}
input.disabled {
	border: 1px solid #e4e4e4;
}
input:disabled, select:disabled {
	border: 1px solid #e4e4e4;
}
input[type="date"], .date-input {
	height: 2.75em;
	width: 12em;
	font-family: sans-serif;
}
textarea {
	font-family: sans-serif;
}
select {
	-webkit-appearance: none;
    background-position: right 50%;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="https://www.w3.org/2000/svg" width="14" height="12" version="1"><path d="M4 8L0 4h8z"/></svg>');
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="date"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
	min-height: 3em;
	padding-top: 6px;
	padding-bottom: 6px;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="date"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid rgba(0, 52, 111, 1);
  outline: 0; }

/* buttons */
.button {
	color: white;
	font-family: 'Open Sans', sans-serif;
	font-weight: normal;
	align-items: center;
	font-size: 0.8em;
	padding: 0.75em 1.3em;
    text-align: center;
    cursor: pointer;
    text-shadow: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    border: none;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: inline-block;
    align-items: center;
	box-sizing: border-box;
	color: #FFFFFF;
	border-radius: 5px;
	background-color: rgba(0, 52, 111, 1);
}
.button:hover { filter: brightness(120%); }
.button:active { filter: brightness(80%); }
.button:disabled { background-color: #e4e4e4; cursor: not-allowed; }
.button-dark { background-image: linear-gradient(45deg, #e75904, #613111); }
.button-light { background-image: linear-gradient(45deg, #e79f04, #463000); }
.button-small { font-size: 0.75em; padding: 0.5em 1em; }
.button-medium { font-size: 1em; padding: 0.75em 1.5em; }
.button-large { font-size: 1.25em; padding: 1em 2em; }
.button-block { display: block; width: 100%; }

@media (min-width: 768px) {

	.two-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1em;
	}
	.three-columns {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 1em;
	}
	.five-columns {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		grid-column-gap: 0.75em;
	}
	.six-columns {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
		grid-column-gap: 0.5em;
	}
	.two-one-columns {
		display: grid;
		grid-template-columns: 2fr 1fr;
		grid-column-gap: 1em;
	}
	.one-two-columns {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-column-gap: 1em;
	}
	.one-three-columns {
		display: grid;
		grid-template-columns: 1fr 3fr;
		grid-column-gap: 1em;
	}
	.three-one-columns {
		display: grid;
		grid-template-columns: 3fr 1fr;
		grid-column-gap: 1em;
	}
}

label { display: block; }

body {
	background-color: rgba(0, 52, 111, 1);
}

header {
	background-color: #fff;
	max-width: 1280px;
	margin: 0 auto;
}
header .marquee {
	position: relative;
}
header img {
	width: 100%;
	display: block;
}
header .marquee .caption {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-5%, -50%);
	font-size: 0.5em;
	color: #fff;
	text-align: left;
}
@media (min-width: 768px) {
	header .marquee .caption {
		font-size: 0.9em;
	}
}
@media (min-width: 1024px) {
	header .marquee .caption {
		top: 70%;
		left: 55%;
		font-size: 1.1em;
	}
}
header .marquee .caption.home {
	top: 40%;
}
@media (min-width: 1024px) {
	header .marquee .caption.home {
		top: 25%;
	}
}
header nav {
	height: 4em;
	border-bottom: 9px solid rgba(0, 52, 111, 1);
	padding: 1em;
	text-align: center;
}
@media (min-width: 768px) {
	header nav {
		text-align: left;
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		padding: 0 0 0 1em;
	}
}
header nav h1 {
	font-size: 1.5em;
	margin: 0;
}
header nav ul {
	list-style: none;
	margin: 0.5em 0 0 0;
}
header nav ul li {
	display: inline;
	margin: 0 1em;
	font-family: 'Oswald', Arial, sans-serif;
	text-transform: uppercase;
}
@media (min-width: 768px) {
	header nav ul {
		text-align: right;
		margin: 1em 0 0 0;
	}
}
main {
	background-color: #fff;
}

main section {
	max-width: 960px;
	margin: 0 auto;
	padding: 2em;
}

.pullout {
	font-size: 0.9em;
	margin: 1em 0;
	padding: 1em;
	background-color: rgba(0, 52, 111, 1);
	color: white;
	line-height: 1.5em;
}
.pullout-button {
	background-color: #fff;
	color: rgba(0, 52, 111, 1);
	font-size: 0.8em;
	padding: 0.25em;
	text-align: center;
	display: block;
	margin: 1em 0 0 0;
}
@media (min-width: 768px) {
	.pullout {
		margin: 1em;
		float: right;
		width: 30%;
	}
}

footer {
	background-color: rgba(0, 52, 111, 1);
	color: #fff;
	font-size: 0.8em;
	text-align: center;
	padding: 0.5em;
}

footer a, footer a:hover {
	color: #fff;
}
