
@font-face{font-family:prometo;font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/7301Prometo.woff2') format('woff2');}


:root {
  --gcdc-color-blue: #163FF8;
  --gcdc-color-tan: #F9F3E0;
  --gcdc-section-margin: 10vw;
}

html {
  font-size: 18px;
}

body, html {
	margin: 0px;
	padding: 0px;
	height: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

/* ---------------  Bootstrap Table Columns ---------------- */

.row-height {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}
.col-height {
	position: relative;
  display: table-cell;
  float: none;
  height: 100%;
}
.col-top {
  vertical-align: top;
}
.col-middle {
  vertical-align: middle;
}
.col-bottom {
  vertical-align: bottom;
}

@media (min-width: 480px) {
  .row-xs-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-xs-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-xs-top {
    vertical-align: top;
  }
  .col-xs-middle {
    vertical-align: middle;
  }
  .col-xs-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 768px) {
  .row-sm-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-sm-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-sm-top {
    vertical-align: top;
  }
  .col-sm-middle {
    vertical-align: middle;
  }
  .col-sm-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 992px) {
  .row-md-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-md-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-md-top {
    vertical-align: top;
  }
  .col-md-middle {
    vertical-align: middle;
  }
  .col-md-bottom {
    vertical-align: bottom;
  }
}

/* ---------- Home: full-viewport background video ---------- */

.home-hero {
  isolation: isolate;
}

.home-video-bg {
  z-index: 0;
  pointer-events: none;
}

.home-video-bg__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-hero__content {
  z-index: 1;
}

/* ---------- Site menu: offcanvas + hamburger ---------- */

.site-menu-toggle.hamburger {
  z-index: 1060;
  line-height: 1;
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 1.25rem 1.5rem;
}

.site-menu-toggle.hamburger:hover {
  opacity: 0.85;
}

.site-menu-toggle.hamburger:focus {
  outline: none;
}

.site-menu-toggle.hamburger:focus-visible {
  outline: none !important;
}

/* White bars on video / dark backgrounds (hamburgers default is black) */
.site-menu-toggle.hamburger .hamburger-inner,
.site-menu-toggle.hamburger .hamburger-inner::before,
.site-menu-toggle.hamburger .hamburger-inner::after {
  background-color: #fff;
}

.site-menu-toggle.hamburger.is-active .hamburger-inner,
.site-menu-toggle.hamburger.is-active .hamburger-inner::before,
.site-menu-toggle.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.site-offcanvas {
  --bs-offcanvas-bg: transparent;
  background-color: transparent !important;
}

.site-offcanvas .offcanvas-body {
  min-height: 0;
}

.site-offcanvas-close {
  opacity: 0.9;
}

.site-offcanvas-close:hover {
  opacity: 1;
}

.site-offcanvas-nav > li > a {
  display: block;
  width: 100%;
  text-align: center;
  text-transform: lowercase;
  color: #fff !important;
  background-color: #0f2847;
  border: 2px solid #fff;
  border-radius: 0.25rem;
  padding: 0.875rem 0.875rem;
  font-weight: 500;
  font-family: 'prometo', sans-serif;
  font-size: 24px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.site-offcanvas-nav > li > a:hover,
.site-offcanvas-nav > li > a:focus {
  color: #fff !important;
  background-color: #163a63;
}

.site-offcanvas-nav > li > a:focus-visible {
  outline: 2px solid var(--gcdc-color-tan, #f9f3e0);
  outline-offset: 2px;
}

/* Nested items (optional sub-menus) */
.site-offcanvas-nav .sub-menu {
  list-style: none;
  padding: 0.75rem 0 0;
  margin: 0;
}

.site-offcanvas-nav .sub-menu li + li {
  margin-top: 0.5rem;
}

.site-offcanvas-nav .sub-menu a {
  display: block;
  text-align: center;
  text-transform: lowercase;
  color: rgba(255, 255, 255, 0.95) !important;
  background-color: rgba(15, 40, 71, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0.25rem;
  padding: 0.65rem 1rem;
  font-size: 0.95rem;
  text-decoration: none;
}

.site-offcanvas-nav .sub-menu a:hover,
.site-offcanvas-nav .sub-menu a:focus {
  background-color: rgba(22, 58, 99, 0.9);
  color: #fff !important;
}

@media (min-width: 1200px) {
  .row-lg-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-lg-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-lg-top {
    vertical-align: top;
  }
  .col-lg-middle {
    vertical-align: middle;
  }
  .col-lg-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 576px) {
  #siteOffcanvas {
    margin-right: -2px;
  }