@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700,700i');

body,
html {
  background:#FFFFFF;
  margin:0;
  padding:0;
  height:100%;
  width:100%;
}

header div.logo {
  background-color:#FFFFFF;
}

header div.logo img {
  width:270px;
  height:auto;
  z-index:100;
  margin:6px 0 6px 0;
}

nav {
  padding:20px 0 0 0;
  text-align:right;
}

header {
  background-color:#00045f;
  background-image:linear-gradient(to right, #FFFFFF 20%, #00045f 20%);
}

div.home-header {
  padding:40px 0 !important;
}

div.page-title {
  background-color:#66cc66;
}

div.page-title > div {
  background-color:rgba(0, 0, 0, 0.45);
  padding:40px 0 40px 0;
}

div.page-title > div div.col-12 {
  padding-top:20px;
  padding-bottom:15px;
}

div.page-title > div div.col-12 h1 {
  color:#FFFFFF;
}

@media(min-width:768px) {
  div.home-header {
    background-color:rgba(0, 0, 0, 0.1);
    padding:80px 0 !important;
  }
}

@media(max-width:768px) {
  div.page-title > div {
    padding:5px 0 10px;
  }
}

.nomargin {
  margin-bottom:0 !important;
}

div.countdown {
  background-color:#2f2f2f;
  padding:20px 0 18px 0;
}

div.countdown p {
  text-transform:uppercase;
  color:#FFFFFF;
  line-height:1em;
  font-weight:bold;
  vertical-align:baseline;
  margin:0;
}

div.countdown p strong {
  font-size:20px;
  letter-spacing:0.5px;
}

div.countdown p span {
  font-size:34px;
  padding:0 6px 0 30px;
}

div.blue {
  background-color:#33659a;
}

div.blue * {
  color:#FFFFFF;
}

div.blue a:hover {
  color:#faa819;
}

body > div.blue,
body > div.gray {
  padding:65px 0 55px 0;
}

@media(max-width:768px) {
  div.page-title + div.blue a + a {
    display:block;
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid rgba(255, 255, 255, 0.4);
  }

  body > div.blue,
  body > div.gray {
    padding:45px 0 40px 0;
  }
}

div.white {
  background-color:#FFFFFF;
}

div.gray {
  background-color:rgba(0, 0, 0, 0.08);
}

div.top-bar {
  background-color:#faa819;
  padding:8px 0 8px 0;
}

@media (max-width: 576px) {
  div.top-bar p {
    font-size:16px;
  }
}

div.photo-left {
  background-position:top left;
  background-size:auto 100%;
  background-repeat:no-repeat;
}

div.photo-left > div {
  background-image:linear-gradient(to right, transparent 50%, #FFFFFF 50%);
}

div.photo-left div.row div.col-md-6,
div.photo-right div.row div.col-md-6 {
  padding-top:65px;
  padding-bottom:55px;
}

div.photo-right {
  background-position:top right;
  background-size:auto 100%;
  background-repeat:no-repeat;
}

div.photo-right > div {
  background-image:linear-gradient(to right, #FFFFFF 50%, transparent 50%);
}

@media (max-width: 576px) {
  div.photo-left,
  div.photo-right {
    padding-top:250px;
    background-position:top;
    background-size:100% auto;
  }

  div.photo-left > div,
  div.photo-right > div {
    background-color:#FFFFFF;
  }

  div.countdown span#countdown-days,
  div.countdown span#countdown-minutes {
    padding-left:0;
  }

  div.countdown span#countdown-days:before,
  div.countdown span#countdown-minutes:before {
    content:".";
    display:block;
    visibility:hidden;
  }
}

main > div {
  padding:65px 0 50px 0;
}

main > div.container > div.row > div + div.col {
  margin-top:-65px;
  padding-top:65px;
  margin-bottom:-50px;
  padding-bottom:50px;
  background-color:#f2f9f2;
}

img.headshot {
  aspect-ratio:1/1;
  object-fit:cover;
  width:100%;
  max-width:290px;
}

div.box {
  border:1px solid #00045f;
  padding:32px 32px 32px 32px;
  position:relative;
}

div.box:before {
  content:"";
  display:inline-block;
  position:absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 42px 42px 0 0;
  border-color: #00045f transparent transparent transparent;
  top:0;
  left:0;
}

div.box > *:first-child {
  margin-top:0;
}

div.box > *:last-child {
  margin-bottom:0;
}

div.box + div.box {
  margin-top:40px;
}

div.blue svg {
  display:inline;
  height:18px;
  width:18px;
  margin-right:4px;
  position:relative;
  top:2px;
}

div.sponsor-logos img {
  display:inline;
  margin:0 35px 10px 35px;
  height:90px;
  width:auto;
}

footer {
  border-bottom:10px solid #2f2f2f;
}

footer > p {
  background-color:#2f2f2f;
  padding:15px 0 5px 0;
}

@media (min-width: 576px) {
  div.three-columns {
    columns:3;
  }
}

div.three-columns p {
  font-size:14px;
}

footer p {
  font-size:14px;
  margin:0;
  color:#FFFFFF;
}

footer p.social svg {
  height:1.1em;
  color:#FFFFFF;
  margin-right:6px;
}

footer p.social svg path {
  fill:#FFFFFF;
}

footer p.social a:hover,
footer p.social a:hover svg path {
  color:#faa819 !important;
  fill:#faa819;
}

img.img-fluid {
  margin-bottom:20px;
}

form input[type="text"],
form input[type="number"],
form input[type="password"],
form input[type="phone"],
form input[type="email"],
form select,
form textarea {
  padding: 6px 2px 4px 2px;
  color: #000000;
  font:16px/16px "Roboto", Arial, Helvetica, sans-serif;
  -webkit-appearance: none;
  width: 100%;
  border-radius:3px;
  border: 1px solid #000000;
  min-height:31px;
}

form select {
  background-image:url(/images/layout/chevron-down.png) !important;
  background-position:right 10px center !important;
  background-size:16px auto !important;
  background-repeat:no-repeat !important;
}

form label input[type="radio"],
form label input[type="checkbox"] {
  display:none;
}

form label input[type="radio"] + span,
form label input[type="checkbox"] + span{
  display:inline-block;
  height:18px;
  width:18px;
  border:1px solid #000000;
  position:relative;
  top:3px;
  margin-right:8px;
}

form label input[type="radio"] + span {
  border-radius:50%;
}

form label input[type="radio"]:checked + span,
form label input[type="checkbox"]:checked + span {
  background-color:#000000;
}

form label input[type="radio"]:disabled + span,
form label input[type="checkbox"]:disabled + span {
  background-color:rgba(0, 0, 0, 0.1);
}

table td {
  vertical-align:top;
}

form.wide-tables table {
  width:100%;
}

form.wide-tables table td {
  width:1px;
  white-space:nowrap;
}

form.wide-tables table td + td {
  width:100%;
  padding-left:15px;
}

form.wide-tables p {
  font-size:18px;
  line-height:30px;
}

form.wide-tables table td + td input,
form.wide-tables table td + td select,
form.wide-tables textarea {
  border:1px solid #000000;
  width:100%;
  border-radius:0;
  padding:10px;
  margin-bottom:12px;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #666;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #666;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #666;
}

:-moz-placeholder { /* Firefox 18- */
  color: #666;
}

/********************
  Text Styles
********************/

p,
li {
  font:18px/1.5em "Roboto", Arial, Helvetica, sans-serif;
  color:#000000;
  margin:0 0 1em 0;
}

li {
  margin:0 0 0.33em 0;
}

p.small {
  font-size:14px;
}

p.large {
  font-size:22px;
  margin-bottom: 18px;
}

header > table p + p {
  margin-top:48px;
}

h1,
h2 {
  font:bold 36px/1.3em "Roboto", Arial, Helvetica, sans-serif;
  color:#000000;
  margin:0;
  text-transform:uppercase;
}


@media(max-width:768px) {
  h1 {
    font-size:34px;
  }
}

h2 {
  margin-bottom:0.65em;
}

form h2 {
  font:bold 22px/1.3em "Roboto", Arial, Helvetica, sans-serif;
  color:#000000;
  background-color:#e8e8e8;
  text-transform:uppercase;
  padding:28px 34px 24px 34px;
  margin:20px 0 15px 0;
}

@media (max-width: 576px) {
  form h2 {
    font:bold 20px/1.3em "Roboto", Arial, Helvetica, sans-serif;
    padding:18px 22px 18px 22px;
  }
}

form input + h2:first-of-type {
  margin-top: 0;
}

h3 {
  font:bold 26px/1.3em "Roboto", Arial, Helvetica, sans-serif;
  color:#33659a;
  margin:1em 0 0.4em 0;
  text-transform:uppercase;
}

div.box h3 {
  margin:-15px 0 5px 0;
}

h4 {
  font:bold 20px/1.3em "Roboto", Arial, Helvetica, sans-serif;
  color:#b21220;
  text-transform:uppercase;
  margin:0 0 4px 0;
}

main > div div > *:first-child {
  margin-top:0;
}

/********************
  Link Styles
********************/

a,
a:hover {
  color:#00045f;
  text-decoration:none !important;
  transition:all 0.5s;
}

footer a {
  color:#FFFFFF !important;
  transition:all 0.5s;
}

nav a {
  display:inline;
  font:normal 16px/1em "Roboto", Arial, Helvetica, sans-serif;
  color:#FFFFFF;
  text-transform:uppercase;
}

nav a:hover {
  color:#faa819;
}

nav a.on {
  color:#0d0e10;
}

nav > a + a,
nav > a + span,
nav > span + a,
nav > span + span {
  margin-left:20px;
}

a.btn,
nav > a:last-of-type {
  display:inline-block;
  background-color:#faa819;
  border:2px solid #faa819;
  color:#000000;
  padding:12px 20px 10px 20px;
  font-weight:bold;
  text-transform:uppercase;
  white-space:normal;
}

nav > span {
  position:relative;
}

nav > span > span {
  display:none;
  width:220px;
  background-color:#33659a;
  position:absolute;
  top:20px;
  left:0;
  text-align:left;
  border-top:10px solid #00045f;
  z-index:10;
}

nav > span:hover > span {
  display:inline-block;
}

nav > span > span a {
  display:block;
  padding:10px 15px;
}

nav > span > span a:first-child {
  padding-top:10px;
}

nav > span > span a:last-child {
  padding-bottom:10px;
}

nav > span > span a:hover {
  background-color:#2f2f2f !important;
}

@media (max-width: 768px) {
  header {
    background:#FFFFFF;
  }

  header div.container {
    max-width:100%;
    margin:0;
    padding:0;
  }

  header div.container > div.row {
    margin:0;
  }

  header div.container > div.row > div {
    padding:0;
  }

  header div.logo {
    text-align:center;
  }

  header div.logo img {
    width:80%;
    max-width:265px;
    margin:10px 0 0 0;
  }

  nav {
    background-color:#00045f;
    margin-top:15px;
    padding:0;
    text-align:center;
  }

  nav > a,
  nav > span {
    text-align:center;
    display:inline-block !important;
    padding:8px 0 !important;
    margin:0 !important;
    width:49%;
  }

  nav a:last-of-type {
    text-align:center;
    border:none !important;
  }
}

a.btn.sm {
  padding:8px 16px;
}

a.btn.tiny {
  font-size:14px;
  padding:4px 10px;
}

nav > a:last-of-type {
  margin-left:30px;
}

a.btn:hover,
a.btn.alt,
nav > a:last-of-type:hover {
  color:#000000;
  background-color:#FFFFFF;
}

a.btn.alt:hover {
  background-color:#faa819;
}

a.btn + a.btn {
  margin-left:8px;
}

/********************
  Bootstrap Override Styles
********************/

.row {
  margin-left:-30px;
  margin-right:-30px;
}

.container, .col, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9 {
  padding-left:30px;
  padding-right:30px;
}

.row.thin-padding {
  margin-left:-15px;
  margin-right:-15px;
}

.row.thin-padding .col, .row.thin-padding .col-lg-1, .row.thin-padding .col-lg-10, .row.thin-padding .col-lg-11, .row.thin-padding .col-lg-12, .row.thin-padding .col-lg-2, .row.thin-padding .col-lg-3, .row.thin-padding .col-lg-4, .row.thin-padding .col-lg-5, .row.thin-padding .col-lg-6, .row.thin-padding .col-lg-7, .row.thin-padding .col-lg-8, .row.thin-padding .col-lg-9, .row.thin-padding .col-md-1, .row.thin-padding .col-md-10, .row.thin-padding .col-md-11, .row.thin-padding .col-md-12, .row.thin-padding .col-md-2, .row.thin-padding .col-md-3, .row.thin-padding .col-md-4, .row.thin-padding .col-md-5, .row.thin-padding .col-md-6, .row.thin-padding .col-md-7, .row.thin-padding .col-md-8, .row.thin-padding .col-md-9, .row.thin-padding .col-sm-1, .row.thin-padding .col-sm-10, .row.thin-padding .col-sm-11, .row.thin-padding .col-sm-12, .row.thin-padding .col-sm-2, .row.thin-padding .col-sm-3, .row.thin-padding .col-sm-4, .row.thin-padding .col-sm-5, .row.thin-padding .col-sm-6, .row.thin-padding .col-sm-7, .row.thin-padding .col-sm-8, .row.thin-padding .col-sm-9, .row.thin-padding .col-1, .row.thin-padding .col-10, .row.thin-padding .col-11, .row.thin-padding .col-12, .row.thin-padding .col-2, .row.thin-padding .col-3, .row.thin-padding .col-4, .row.thin-padding .col-5, .row.thin-padding .col-6, .row.thin-padding .col-7, .row.thin-padding .col-8, .row.thin-padding .col-9 {
  padding-left:15px;
  padding-right:15px;
}

@media (min-width: 992px) {
  .container {
      max-width: 1300px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1400px;
  }
}

div.overlay-on,
div.overlay-off {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background:rgba(0, 0, 0, 0.75);
  z-index:9999;
  overflow:auto;
  text-align:center;
  opacity:1;
  transition:all 1s;
}

div.overlay-on > table > tbody > tr > td {
  vertical-align:middle;
  text-align:center;
}

div.overlay-off {
  top:-100%;
  opacity:0;
  transition:all 0.5s;
}

div.overlay-on > table {
  height:100%;
  width:100%;
}

div.overlay-on > table > tbody > tr > td > div {
  display:inline-block;
  width:96%;
  max-width:950px;
  text-align:left;
  background-color: #FFFFFF;
  border-radius:6px;
  padding:40px;
  box-shadow:0 0 15px rgba(0, 0, 0, 0.6);
  font-size:10px;
  position: relative;
}

div.overlay-on > table > tbody > tr > td > div a.close {
  position:absolute;
  top:5px;
  right:5px;
  font-size:22px;
  font-weight:normal;
  color:#000000;
  text-decoration:none;
}