﻿* { box-sizing: border-box; -moz-box-sizing: border-box; font-family: Gilroy, Calibri, Tahoma, Arial, sans-serif; transition: background 0.2s, color 0.2s, box-shadow 0.2s, opacity 0.2s; }
html, body { margin: 0; padding: 0; min-width: 300px; font-size: 16px; background-color: #072034; }
a { text-decoration: none; color: #45A085; font-weight: bold; }
a:hover, a:focus { color: #55B095; text-decoration: underline; }
img { max-width: 100%; }
p { margin: 5px 0 20px 0; padding: 0 5px; }
p:empty { display: none; }
p.withBelow { margin-bottom: 0; }
h1, h2, h3, h4, h5, h6, .header { font-family: 'Titillium Web', Tahoma, Arial, sans-serif; font-weight: normal; color: #2D2C59; }
h1, .header.h1 { font-size: 50px; padding: 5px; margin: 5px 5px 10px 5px; }
h2, .header.h2 { font-size: 40px; padding: 5px; margin: 15px 0 5px 0; }
h3, .header.h3 { font-size: 30px; padding: 5px; margin: 10px 0 5px 0; }
h4, .header.h4 { font-size: 22px; padding: 5px; margin: 10px 0 5px 0; }
h5, .header.h5 { font-size: 20px; padding: 5px; margin: 10px 0 5px 0; }
h6, .header.h6 { font-size: 18px; padding: 5px; margin: 10px 0 5px 0; }
h1 *, h2 *, h3 *, h4 *, h5 * { font-size: inherit; }
ul, ol, dl { clear: left; margin: 5px 0 20px 0; padding: 0 5px 0 30px; }
ul ul, ul ol, ol ol, ol ul { margin: 0; }
ul li, ol li { margin-bottom: 2.5px; }
dl dt { font-weight: bold; }
dl dd { margin-bottom: 10px; }
input, select, textarea { padding: 2px 5px; border: 1px solid #BDCEAC; }
select, option { text-overflow: ellipsis; }
input[type=button], input[type=submit] { padding: 2px 5px; -webkit-appearance: none; border-radius: 0; border-width: 1px; background-color: #1B5456; color: #B3DED5; border-color: #144448; }
input[type=button]:hover, input[type=submit]:hover { cursor: pointer; background-color: #B3DED5; color: #1B5456; }
a img { border: none; } /* IE still does this */
table { width: 100%; max-width: 1500px; margin: 5px auto 20px auto; border-collapse: collapse; }
table tr:first-of-type td, table th { font-weight: bold; background-color: #0F3E63; color: #FFF; font-size: 20px; text-align: center; }
table tr:first-of-type td a { color: #FFF; }
table * { font-size: inherit; }
table td, table th { border: 1px solid #0F3E63; padding: 2px 5px; }
pre, code { display: block; white-space: pre-wrap; padding: 10px; background-color: #EEE; word-break: break-word; }
pre, code, pre *, code * { font-family: Consolas, 'Courier New', monospace; font-size: 14px; tab-size: 25px; }
pre.inline, code.inline { display: inline-block; padding: 2px 5px; margin: 1px 2px; }
@media (max-width: 1000px){
	h1, .header.h1 { font-size: 30px; padding: 5px; margin: 5px 5px 10px 5px; }
	h2, .header.h2 { font-size: 24px; padding: 5px; margin: 15px 0 5px 0; }
	h3, .header.h3 { font-size: 20px; padding: 5px; margin: 10px 0 5px 0 }
	h4, .header.h4 { font-size: 18px; padding: 5px; margin: 10px 0 5px 0 }
	h5, .header.h5 { font-size: 16px; padding: 5px; margin: 5px 0 5px 0 }
}
@media (max-width: 800px){
	h1, .header.h1 { font-size: 28px; padding: 5px; margin: 5px 5px 10px 5px; }
	h2, .header.h2 { font-size: 22px; padding: 5px; margin: 15px 0 5px 0; }
	h3, .header.h3 { font-size: 20px; padding: 5px; margin: 10px 0 5px 0 }
	h4, .header.h4 { font-size: 18px; padding: 5px; margin: 10px 0 5px 0 }
	h5, .header.h5 { font-size: 16px; padding: 5px; margin: 5px 0 5px 0 }
}

/* CSS spec requires these be separate selectors */
input[placeholder] { text-overflow: ellipsis; }
::-moz-placeholder { text-overflow: ellipsis; opacity: 0.7; }
::-webkit-input-placeholder { text-overflow: ellipsis; opacity: 0.7; }
:-ms-input-placeholder { text-overflow: ellipsis; opacity: 0.7; }

/* Content */
#content { padding: 5px 1vw 50px 1vw; margin: 0 2vw; min-height: 700px; background-color: #FFF; }

/* Header */
#header { display: flex; align-items: center; height: 100px; background-color: #FFF; margin: 0 2vw; }
#header #logoLinkBox { flex: 225px 0 0; padding: 2.5px 10px; }
#header #logoLinkBox .logoLinkTop { display: block; height: 40px; }
#header #logoLinkBox .logoLinkTop img { display: block; max-height: 100%; }
#header #logoLinkBox .logoLinkBottom { display: block; height: 35px; }
#header #logoLinkBox .logoLinkBottom img { display: block; max-height: 100%; margin: 0 auto; }
#header #navigationBox { position: relative; margin-left: auto; padding: 0 10px; }
#header #navigationBox #navigationContent { position: absolute; right: 0; z-index: 1000; background-color: #FFF; border: 1px solid #072034; padding: 5px; }
#header #navigationBox.collapsed #navigationContent { display: none; }
#header #navigationBox #navigationContent #mainNavigation { display: flex; vertical-align: top; }
#header #navigationBox #navigationContent #mainNavigation .navigationSet { width: 250px; border-right: 1px solid #072034; padding: 0 10px; }
#header #navigationBox #navigationContent #mainNavigation .navigationSet:last-child { border: none; }
#header #navigationBox #navigationContent #mainNavigation .navigationSet .navHeader { font-weight: bold; font-family: 'Titillium Web', Tahoma, Arial, sans-serif; color: #2D2C59; }
#header #navigationBox #navigationContent #subNavigation { display: flex; margin-top: 5px; background-color: #0F3E63; color: #FFF; }
#header #navigationBox #navigationContent #subNavigation a { color: #FFF; }
#header #navigationBox #navigationContent #subNavigation a:hover, #header #navigationBox #navigationContent #subNavigation a:focus { color: #0F3E63; background-color: #FFF; }
#header #navigationBox #navigationContent a { display: block; padding: 5px 10px; font-weight: normal; text-decoration: none; }
#header #navigationBox #navigationContent a:hover, #header #navigationBox #navigationContent a:focus { background-color: #55B095; color: #FFF; }
#header #navigationBox #navigationContent a * { transition: none; }
#header #navigationBox #navigationToggle { height: 50px; width: 150px; font-size: 20px; }
#header #navigationBox #navigationToggle i { margin-left: 10px; }
@media (max-width: 1850px){
	#header #navigationBox #navigationContent #mainNavigation { flex-wrap: wrap; }
	#header #navigationBox #navigationContent #mainNavigation .navigationSet { width: 300px; border: none; }
	#header #navigationBox #navigationContent #subNavigation { flex-direction: column; }
}
@media (max-width: 600px){
	#header #navigationBox #navigationToggle { width: 75px; }
	#header #navigationBox #navigationToggle i { margin-left: 0; }
	#header #navigationBox #navigationToggle .menuText { display: none; }
}

/* Footer */
#footer { background-color: #414142; color: #FFF; padding: 10px; min-height: 100px; padding: 10px 5vw; }
#footer .footerColumns { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
#footer .footerColumn { min-width: 250px; max-width: 400px; margin-bottom: 25px; padding: 0 25px 0 0; }
#footer .footerColumn h2 { font-size: 18px; color: #FFF; }
#footer .footerColumn a { font-weight: normal; color: #FFF; opacity: 0.8; display: block; padding: 2px 5px; }
#footer .footerColumn a:hover, #footer .footerColumn a:focus { opacity: 1; }
#footer .footerColumn a.imageLink { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; align-items: center; height: 50px; width: 100%; background-color: #FFF; padding: 5px; margin: 5px 0; }
#footer .footerColumn a.imageLink img { max-width: 100%; max-height: 100%; }
#footer .footerColumn.ccLicenseColumn { min-width: 325px; }
#footer #ccLicense a { display: inline; }
#footer .footerColumn.footerLogo { text-align: center; padding: 25px 25px 0 0; }
#footer .footerColumn.footerLogo img { max-height: 200px; }
#footer #footerLogin { text-align: center; padding: 5px; opacity: 0.7; font-size: 14px; }
@media (max-width: 1700px){
	#footer .footerColumns { -webkit-flex-direction: column; flex-direction: column; }
	#footer .footerColumn.footerLogo { text-align: left; }
}

/* Buttons */
button, a.linkButton, .linkButton { font-weight: normal; font-size: inherit; padding: 5px 10px; border: 1px solid #AAA; display: inline-block; text-align: center; cursor: pointer; text-decoration: none; }
a.greenButton, .greenButton { background-color: #45A085; border-color: #45A085; color: #FFF; }
a.greenButton:hover, a.greenButton:focus, .greenButton:hover, .greenButton:focus { background-color: #55B095; border-color: #55B095; color: #FFF; }
a.blueButton, .blueButton { background-color: #0F3E63; border-color: #0F3E63; color: #FFF; }
a.blueButton:hover, a.blueButton:focus, .blueButton:hover, .blueButton:focus { background-color: #1F4E73; border-color: #1F4E73; color: #FFF; }
a.redButton, .redButton { background-color: #B2282E; border-color: #B2282E; color: #FFF; }
a.redButton:hover, a.redButton:focus, .redButton:hover, .redButton:focus { background-color: #C2383E; border-color: #C2383E; color: #FFF; }
a.whiteButton, .whiteButton { background-color: #F5F5F5; border-color: #EEE; color: #000; }
a.whiteButton:hover, a.whiteButton:focus, .whiteButton:hover, .whiteButton:focus { background-color: #EAEAEA; border-color: #D5D5D5; color: #000; }
a.goldButton, .goldButton { background-color: #B48452; border-color: #B48452; color: #FFF; }
a.goldButton:hover, a.goldButton:focus, .goldButton:hover, .goldButton:focus { background-color: #A6764A; border-color: #A6764A; color: #FFF; }

/* Misc */
.fa { transition: none; }
.section { margin-bottom: 25px; }
.helpBox { display: flex; background-color: rgba(0,150,50,0.1); padding: 5px; }
.helpBox .helpIcon { flex: 25px 0 0; margin-right: 10px; opacity: 0.75; color: #1B5456; font-size: 25px; }
.helpBox .helpContent { flex: 100% 1 1; }
.helpBox .helpContent div { margin-bottom: 5px; }

/* Hero Banner */
.heroBanner { display: flex; align-items: center; padding: 15px 15px 15px 2vw; background-color: #0F3E63; margin: 0 -1vw; }
.heroBanner * { color: #FFF; }
.heroBanner .heroBannerContent { flex: 100% 1 1; }
.heroBanner .logo { height: 10vw; flex: 25% 1 1; background-size: contain; background-repeat: no-repeat; background-position: center center; }
.heroBanner .subHeader { padding: 2.5px 10px; }
