:root {
  /* Logo Based Colors */
  --logo-light-blue: #4197cb;
  --logo-dark-blue: #194f90;
  --logo-orange: #f88d2b;
  --logo-orange-dark: #b05706;
  /* Primary Colors */
  --primary-darkest-blue: #00041f;
  --primary-dark-blue: #00263d;
  --primary-teal: #0094a2;
  --primary-light-blue: #66ffff;
  --primary-grey: #e3e3e3;
  --primary-light-grey: #f7f8fa;
}

/**
 * Background Color Classes
 */
.bg-darkest-blue {
  background-color: var(--primary-darkest-blue) !important;
}
.bg-dark-blue {
  background-color: var(--primary-dark-blue) !important;
}
.bg-light-blue {
  background-color: var(--primary-light-blue) !important;
}
.bg-teal {
  background-color: var(--primary-teal) !important;
}
.bg-orange {
  background-color: var(--logo-orange) !important;
}
.bg-grey {
  background-color: var(--primary-grey) !important;
}
.bg-light-grey {
  background-color: var(--primary-light-grey) !important;
}
.bg-black {
  background-color: #000000 !important;
}
.bg-white {
  background-color: #ffffff !important;
}

.bg-hover-darkest-blue:hover {
  background-color: var(--primary-darkest-blue) !important;
}
.bg-hover-dark-blue:hover {
  background-color: var(--primary-dark-blue) !important;
}
.bg-hover-light-blue:hover {
  background-color: var(--primary-light-blue) !important;
}
.bg-hover-teal:hover {
  background-color: var(--primary-teal) !important;
}
.bg-hover-orange:hover {
  background-color: var(--logo-orange) !important;
}
.bg-hover-grey:hover {
  background-color: var(--primary-grey) !important;
}
.bg-hover-light-grey:hover {
  background-color: var(--primary-light-grey) !important;
}
.bg-hover-black:hover {
  background-color: #000000 !important;
}
.bg-hover-white:hover {
  background-color: #ffffff !important;
}

/**
 * Text Color Classes
 */
.text-darkest-blue {
  color: var(--primary-darkest-blue);
}
.text-dark-blue {
  color: var(--primary-dark-blue) !important;
}
.text-light-blue {
  color: var(--primary-light-blue) !important;
}
.text-teal {
  color: var(--primary-teal) !important;
}
.text-orange {
  color: var(--logo-orange) !important;
}
.text-logo-orange {
  color: var(--logo-orange);
}
.text-logo-dark-blue {
  color: var(--logo-dark-blue);
}
.text-logo-light-blue {
  color: var(--logo-light-blue);
}
.text-grey {
  color: var(--primary-grey);
}
.text-light-grey {
  color: var(--primary-light-grey);
}
.text-black {
  color: #000000;
}
.text-white {
  color: #ffffff;
}

/**
 * Text Hover Color Classes
 */
.text-hover-darkest-blue:hover {
  color: var(--primary-darkest-blue) !important;
}
.text-hover-dark-blue:hover {
  color: var(--primary-dark-blue) !important;
}
.text-hover-light-blue:hover {
  color: var(--primary-light-blue) !important;
}
.text-hover-teal:hover {
  color: var(--primary-teal) !important;
}
.text-hover-orange:hover {
  color: var(--logo-orange) !important;
}
.text-hover-black:hover {
  color: #000000 !important;
}
.text-hover-white:hover {
  color: #ffffff !important;
}
.text-hover-grey:hover {
  color: var(--primary-grey) !important;
}
.text-hover-light-grey:hover {
  color: var(--primary-light-grey) !important;
}

/**
 * Border Color Classes
 * Compatible with localized Bootstrap
 */
.border-darkest-blue,
.bootstrap .border-darkest-blue {
  border-color: var(--primary-darkest-blue) !important;
}
.border-dark-blue,
.bootstrap .border-dark-blue {
  border-color: var(--primary-dark-blue) !important;
}
.border-light-blue,
.bootstrap .border-light-blue {
  border-color: var(--primary-light-blue) !important;
}
.border-teal,
.bootstrap .border-teal,
.bootstrap .border-bottom.border-teal {
  border-color: var(--primary-teal) !important;
}
.border-orange,
.bootstrap .border-orange,
.bootstrap .border-bottom.border-orange {
  border-color: var(--logo-orange) !important;
}
.border-logo-orange {
  border-color: var(--logo-orange) !important;
}
.border-logo-dark-blue {
  border-color: var(--logo-dark-blue) !important;
}
.border-logo-light-blue {
  border-color: var(--logo-light-blue) !important;
}
.border-grey,
.bootstrap .border-grey {
  border-color: var(--primary-grey) !important;
}
.border-light-grey,
.bootstrap .border-light-grey {
  border-color: var(--primary-light-grey) !important;
}
.border-black {
  border-color: #000000;
}
.border-white,
.bootstrap .border-white {
  border-color: #ffffff;
}

.border-hover-darkest-blue:hover,
.bootstrap .border-hover-darkest-blue:hover {
  border-color: var(--primary-darkest-blue) !important;
}
.border-hover-dark-blue:hover,
.bootstrap .border-hover-dark-blue:hover {
  border-color: var(--primary-dark-blue) !important;
}
.border-hover-light-blue:hover,
.bootstrap .border-hover-light-blue:hover {
  border-color: var(--primary-light-blue) !important;
}
.border-hover-teal:hover,
.bootstrap .border-hover-teal:hover {
  border-color: var(--primary-teal) !important;
}
.border-hover-orange:hover,
.bootstrap .border-hover-orange:hover {
  border-color: var(--logo-orange) !important;
}
.border-hover-logo-orange:hover {
  border-color: var(--logo-orange) !important;
}
.border-hover-logo-dark-blue:hover {
  border-color: var(--logo-dark-blue) !important;
}
.border-hover-logo-light-blue:hover {
  border-color: var(--logo-light-blue) !important;
}
.border-hover-grey:hover,
.bootstrap .border-hover-grey:hover {
  border-color: var(--primary-grey) !important;
}
.border-hover-light-grey:hover,
.bootstrap .border-hover-light-grey:hover {
  border-color: var(--primary-light-grey) !important;
}
.border-hover-black:hover {
  border-color: #000000;
}
.border-hover-white:hover,
.bootstrap .border-hover-white:hover {
  border-color: #ffffff;
}
/* Page header styles */
.header-coverage {
  background-color: #011935;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: right;
  height: 200px;
  border-bottom: 2px solid #5d7fac;
  width: 100%;
}
.header-coverage-title {
  color: #6ff;
  font-family: 'carto', Arial, sans-serif;
  font-weight: normal;
  font-size: 3rem;
  text-shadow: 1px 3px 3px #2f2f2f;
  margin-bottom: -2px;
}
.header-coverage span.header-coverage-subtitle {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
}
.clk {
  text-align: center;
  padding-top: 61px;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
  .header-coverage {
    background-position: 0;
  }
  .header-coverage-title {
    font-size: 28px;
    margin-bottom: 8px;
  }
  .header-coverage-subtitle {
    display: block;
    font-size: 12px;
  }
  .clk {
    padding-top: 35px;
  }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 64em) {
  .header-coverage {
    background-position: right;
  }
  .header-coverage-title {
    font-size: 1.85rem;
  }
  .header-coverage-subtitle {
    font-size: 0.85rem;
  }
  .clk {
    padding-top: 65px;
  }
}

/* List Styles */
ul.arrow li {
  /* list-style-image: url('/img/yellowArrow.png') !important; */
  margin: 7px 0px 6px 35px;
  font-size: 14px;
}

:focus {
  outline-color: transparent;
}

/* Foundation overrides for localized bootstrap */
div.bootstrap .row {
  width: auto;
  max-width: none;
}
.bootstrap img {
  max-width: none;
}

/* Utility class for Foundation behavior in Bootstrap when necessary */
.bootstrap .max-75 {
  max-width: 75rem;
}

/* Header Footer Overwrites */
div.da-img {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.row.row.columns {
  float: none !important;
}

.main-nav-container {
  margin-bottom: 0px !important;
}

.columns .medium-12 .footer-globe {
  padding-left: 0px !important;
}

header nav.main-nav ul.menu li ul {
  margin-top: 0px !important;
  width: 410px;
  white-space: normal;
}
header .social-media-icons {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 39.9375em) {
  footer#footerLegal {
    max-width: 39.9375em;
    padding: 5px;
    text-align: left;
  }
}

#footer a {
  color: #ffffff;
}
#footer a:hover {
  text-decoration: none;
}

.top-bar {
  height: auto !important;
}

.block-img-ie img {
  height: auto;
  width: 100% !important;
}

form#resourceDropdown select.text {
  font-size: 11px;
  height: 26px;
  padding: 3px 20px 3px 3px;
}

.login-cart {
  float: right;
  margin-right: -20px;
  top: -25px !important;
  position: relative;
  padding-top: 2px;
}

.top-bar form {
  min-width: 235px !important;
}

.button {
  margin: 0 0 0.5rem !important;
}

.show-last-login {
  white-space: nowrap;
}

header .label-text {
  margin-top: 7px !important;
}

body header .label-text-remember {
  margin-top: 11px !important;
}

#last_login {
  display: none;
}

select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='https://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb(138, 138, 138)'></polygon></svg>");
  background-size: 9px 6px;
}

table.fixed-header {
  position: absolute;
  top: 50px;
}

.no-show {
  opacity: 0;
  transition: 0.15s opacity;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  header nav.main-nav ul li a {
    padding: 10px 8px;
    font-size: 10.5px;
  }
}

div#content .callout .columns .contact-button {
  margin-top: 15px;
  margin-bottom: 15px;
}

div#content .callout .columns .contact-button a {
  background-color: #0e7faa;
  border-radius: 25px;
  color: #fff;
  padding: 10px 25px 10px 25px;
}

div#content .callout .columns .contact-button a:hover {
  padding: 10px 25px 10px 25px;
  cursor: pointer;
  background-color: #007095;
  border-radius: 25px;
}
/* Header Footer Overwrites  END */

/* GMI Platform Cards */
.card-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-content: center;
  justify-items: center;
  max-width: 84rem;
  margin: 0 auto;
  padding: 0.3rem 4.3rem 3.2rem;
}
.card {
  background-color: #fff;
  box-shadow: 0 1rem 1.5rem rgba(0, 0, 0, 0.325);
  overflow: hidden;
  transition: all 0.4s;
  width: 90%;
}
.card:hover {
  transform: translateY(-1.2rem);
  box-shadow: 0 1rem 1.5rem rgba(0, 0, 0, 0.225);
}
.bootstrap .card {
  border-radius: 1rem;
  height: 100%;
}
.title-sm {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  gap: 0.4rem;
  margin-top: 0.6rem;
}
.gmi-tiny-globe {
  width: 1.4rem;
  height: auto;
  margin-top: -0.8rem;
}
.sub-text {
  margin-left: 2rem;
}
/* Corrections for Bootstrap conflicts */
.bootstrap a {
  text-decoration: none;
  color: var(--primary-teal);
}
.bootstrap a:hover {
  color: var(--logo-orange);
}
.bootstrap .primary-btn {
  border-radius: 6px;
  color: #66ffff;
}
.bootstrap .primary-btn:hover {
  color: #00263d;
}
.bootstrap sup {
  top: -1rem;
  font-size: 0.9rem;
}
.bootstrap sup.sup-descrip {
  top: -0.7rem;
  font-size: 0.6rem;
}
.bootstrap .header-sup {
  top: -1.7rem;
}
.bootstrap hr {
  background-color: #6ff;
  border: 0;
  opacity: 0.45;
  margin-top: -0.2rem;
}
.bootstrap hr:not([size]) {
  margin: 0 0 0 1.9rem;
  height: 0.3rem;
  width: 80%;
}
.bootstrap hr.sidebar {
  margin: 1rem 0;
  width: 100%;
  background-color: rgb(33, 37, 41);
  height: 1px;
  opacity: 0.25;
}
.bootstrap .card-img-top {
  height: 15.7rem;
}
.bootstrap .card-text {
  font-size: 1.75rem;
}
.card--title {
  margin-top: -12.3rem;
}
.card-text {
  font-size: 1.95rem;
  font-weight: bold;
}
.card-description {
  line-height: 1.3;
  width: 17ch;
}
div.bootstrap .row {
  width: auto;
  max-width: none;
}
.card-bottom {
  height: 10%;
}
.bootstrap .form-switch .form-check-input,
.bootstrap .form-switch .form-check-input[type='checkbox'] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  border-color: var(--primary-grey);
}
.bootstrap .form-switch .form-check-input:checked {
  background-color: var(--primary-dark-blue);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
  border-color: var(--primary-dark-blue);
}
.bootstrap .form-control:focus {
  border-color: var(--primary-teal);
  color: var(--primary-darkest-blue);
}
.bootstrap .form-control::placeholder {
  color: var(--primary-dark-blue);
  opacity: 0.5;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
  .bootstrap h1 {
    font-size: calc(1.3rem);
  }
  .header-coverage-title span {
    font-size: 1rem;
  }
  .header-coverage-subtitle {
    font-size: 13px;
  }
  .clk {
    text-align: center;
    padding-top: 64px;
  }
  .bootstrap h4.display-6 {
    font-size: 2rem;
  }
  .card-wrapper {
    grid-template-columns: 1fr;
    padding: 0;
  }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 64em) {
  .header-coverage-title {
    font-size: 26px;
  }
  .header-coverage-title span {
    font-size: 1rem;
  }
  .header-coverage-subtitle {
    font-size: 13px;
  }
  .header-coverage {
    background-position: 0;
  }
  .clk {
    text-align: center;
    padding-top: 80px;
  }
  .bootstrap h4.display-6 {
    font-size: 2rem;
  }
  .card-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  .bootstrap h3 {
    font-size: calc(1.5rem);
  }
  .card-text {
    font-size: 1.5rem;
  }
}
/* GMI Platform Cards END */

/* Table fix for translated-pages section */
article.project-coverage {
  overflow: auto;
}

/* Manually define behavior for modal backdrop with localized Bootstrap */
.modal-backdrop {
  background-color: #000;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1050;
}
.fade {
  transition: opacity 0.15s linear;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}
/* For non-localized Bootstrap pages OR Bootstrap 4 pages */
.modal:not(.bootstrap .modal) {
  z-index: 1200;
}

/* Overlay light blue filter for "low-poly" look */
.light-blue-filter {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(5883%) hue-rotate(148deg)
    brightness(106%) contrast(102%);
}
