/** Variables **/
:root {
  --high-contrast-light-primary: #ffffff;
  --high-contrast-light-secondary: #78be44;
  --high-contrast-dark-primary: #1f4286;
  --high-contrast-dark-secondary: #212121;
}

/** General Stuff **/
body.high-contrast {
  background-color: var(--high-contrast-light-primary) !important;
  color: var(--high-contrast-dark-primary) !important;
}

h4 {
  color: var(--high-contrast-dark-primary) !important;
}

a:hover {
  /* Don't change the text colour on hover */
  color: var(--high-contrast-dark-secondary) !important;
}

.button {
  background-color: var(--high-contrast-light-primary) !important;
  color: var(--high-contrast-dark-primary) !important;
}
.button.full-schedule {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

.main .container .button,
.three-col .button {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

/** Input Placeholder Colours **/
::-webkit-input-placeholder {
  color: var(--high-contrast-dark-secondary) !important;
}
:-moz-placeholder {
  color: var(--high-contrast-dark-secondary) !important;
}
::-moz-placeholder {
  color: var(--high-contrast-dark-secondary) !important;
}
:-ms-input-placeholder {
  color: var(--high-contrast-dark-secondary) !important;
}

/** Header Stuff **/
#topbar .language a:hover,
#topbar .interactive-map-link:hover,
#topbar .interactive-map-link:focus-visible,
#nav-tabs > ul li:hover a:hover {
  color: var(--high-contrast-light-primary) !important;
}

@media screen and (max-width: 1200px) {
  #nav-tabs > ul {
    background: none;
    border-top: 2px solid var(--high-contrast-dark-primary);
    border-bottom: 2px solid var(--high-contrast-dark-primary);
    color: var(--high-contrast-light-primary);
  }
  #nav-tabs > ul li a,
  #nav-tabs > ul li:hover a:hover {
    text-decoration: underline;
    color: var(--high-contrast-dark-primary) !important;
  }
}

#main-navigation .menu a {
  font-weight: 400 !important;
}

@media screen and (min-width: 1201px) {
  #main-navigation .sub-menu .sub-menu {
    background-color: var(--high-contrast-light-primary) !important;
    box-shadow: 0 9px 8px 0 rgba(0, 0, 0, 0.45) !important;
  }
  .menu li a,
  .menu li.menu-item-has-children a:after {
    color: var(--high-contrast-dark-primary) !important;
  }
}

@media screen and (max-width: 1200px) {
  #main-navigation .sub-menu .sub-menu {
    top: 5px;
  }
  .sub-menu {
    background-color: var(--high-contrast-dark-primary) !important;
  }
}

#main-navigation li[role="tab"] a:hover {
  color: var(--high-contrast-light-primary) !important;
}

#main-navigation .menu li:hover > a {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}
#main-navigation .menu li.menu-item-has-children:hover > a:after {
  color: var(--high-contrast-light-primary) !important;
}

#main-navigation .menu .sub-menu li:hover > a {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

/** Slick Slider **/
#banner {
  background-color: var(--high-contrast-light-primary) !important;
}

#banner.interior {
  background-color: var(--high-contrast-dark-primary) !important;
}

#banner.interior a {
  text-decoration: underline !important;
}
#banner.interior a:hover {
  color: var(--high-contrast-light-primary) !important;
}

#banner.interior:before,
#banner.interior:after {
  background: none !important;
}

#banner .overlay img {
  display: none;
}

#banner.interior #breadcrumbs .fa-home {
  color: var(--high-contrast-light-primary) !important;
}

#banner .container main {
  color: var(--high-contrast-light-primary) !important;
  padding: 40px;
  background-color: var(--high-contrast-dark-primary) !important;
  border: 2px solid var(--high-contrast-light-primary) !important;
  border-radius: 8px;
}
#banner .container main .button {
  font-size: 14px !important;
}

.slick-dots li, .slick-dots li button {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}
.slick-dots li, .slick-dots li button {
  border: 2px solid var(--high-contrast-light-primary) !important;
}
.slick-dots li button, .slick-dots li button:before {
  background: var(--high-contrast-dark-secondary) !important;
}
.slick-dots li button:before {
  width: 24px;
  height: 24px;
  border: none;
  margin: 4px 0 0 4px;
}
.slick-dots li.slick-active button:before{
  opacity: 1 !important;
  background: var(--high-contrast-light-primary) !important;
  border-radius: 50%;
}
/* autoplay toggle button */
#banner .container button.slick-autoplay-toggle-button {
  position: relative;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 60px;
  height: 60px;
  border: 0;
  background: var(--black);
  color: var(--white);
  text-align: center;
  cursor: pointer;
  transition: var(--fade);
}
#banner .container button.slick-autoplay-toggle-button:before {
  content: '\f04c';
  display: flex;
  align-items: center;
  font-family: var(--icons);
  font-size: 24px;
  font-weight: 700;
  color: var(--white);
  opacity: 1;
}
#banner .container button.slick-autoplay-toggle-button.playing:before {
  content: '\f04b';
}
#banner .container button.slick-autoplay-toggle-button:hover,
#banner .container button.slick-autoplay-toggle-button:focus {
  background: var(--darkblue);
}

/** Front Page: Flight Table Tabs **/
#flights-tabs div[role="tablist"] {
  border-bottom: 4px solid var(--high-contrast-dark-primary) !important;
}
#flights-tabs div[role="tablist"] a {
  background-color: var(--high-contrast-light-primary) !important;
  color: var(--high-contrast-dark-primary) !important;
  border: 1px solid var(--high-contrast-dark-primary) !important;
}
#flights-tabs div[role="tablist"] a:hover,
#flights-tabs div[role="tablist"] a[aria-selected="true"] {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

/** Flight Table **/
.flight-tracker-table .table-row {
  color: var(--high-contrast-dark-primary) !important;
  border-bottom: 1px solid var(--high-contrast-dark-secondary) !important;
}
.flight-tracker-table .table-row:nth-child(even) {
  background: var(--high-contrast-light-primary) !important;
}

.flight-tracker-table .green, .flight-tracker-table .red, .flight-tracker-table .blue {
  color: var(--high-contrast-dark-primary) !important;
}

.flight-tracker-table .table-row td.number {
  background: var(--high-contrast-light-primary) !important;
}

.flight-table .gray-box {
  font-size: 15px !important;
  color: var(--high-contrast-dark-secondary) !important;
}

@media screen and (max-width: 768px) {
  .flight-tracker-table .table-row:not(.flight-tracker-table-header):nth-child(odd) {
    background: var(--high-contrast-light-primary) !important;
  }
}

/** Front Page: Getting Here, While You're Here **/
#getting-here, #while-youre-here {
  background: linear-gradient(180deg, var(--darkblue) 270px, var(--white) 0%, var(--white) 100%) !important;
}
#getting-here a, #while-youre-here a {
  text-decoration: underline !important;
}

/** Interior: Economic Impact **/
#what-happened-slides .slide {
  opacity: 1 !important;
}
#what-happened .slick-slide[aria-hidden="true"] {
  opacity: 0.4 !important;
}

#who-we-are .button,
#whats-next .button {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

/** Interior: Rates and Charges **/
.row.heading {
  background: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}
.fees-wrap h2,
.fees-wrap .content-before,
.fees-wrap .content-after,
.fees-wrap .fees-table {
  background: var(--high-contrast-light-primary) !important;
}

/** Sub-Footer: Newsletter **/
#newsletter {
  padding: 0;
  background: none !important;
}
@media screen and (max-width: 768px) {
  #newsletter {
    padding-bottom: 20px;
  }
}
.gform_wrapper .gform_footer input[type=submit] {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}
.gform_wrapper .ginput_container input:not([type="checkbox"]),
.gform_wrapper .ginput_container textarea,
#newsletter .gform_wrapper.gravity-theme .gform_fields input {
  border: 1px solid var(--high-contrast-dark-secondary) !important;
}

/** Interior Pages: Sidebar **/
.main .sidebar-nav {
  border: 2px solid var(--high-contrast-dark-primary);
  background: var(--high-contrast-light-primary);
  color: var(--high-contrast-dark-primary);
  border-radius: 8px;
}

.main .sidebar-nav .nav-parent a {
  border: none !important;
  border-radius: 0 !important;
  background-color: var(--high-contrast-dark-primary) !important;
}
.main .sidebar-nav .nav-parent a:hover {
  color: var(--high-contrast-light-primary) !important;
  font-weight: bold !important;
}

.main .sidebar-nav li:hover > a {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

.main .sidebar-nav li:not(.nav-parent):hover .children a {
  background: none;
}

.main .sidebar-nav li.current_page_item a {
  font-weight: bold !important;
}


/** Page: Non-Stop Flights **/
#destination-select h4 {
  color: var(--high-contrast-dark-primary) !important;
}

.destination-data:nth-child(even) {
  background: var(--high-contrast-light-primary) !important;
}

.destination-data .mobile {
  font-size: 12px !important;
  color: var(--high-contrast-dark-secondary) !important;
}


/** Flexible Content Modules **/
.white-bg .button,
.grey-bg .button,
#feature-blocks .button {
  background-color: var(--high-contrast-dark-primary) !important;
  color: var(--high-contrast-light-primary) !important;
}

.white-bg h2,
.grey-bg h2,
.column h3,
.grey-bg h3 {
  color: var(--high-contrast-dark-secondary) !important;
}

.notice .container .fas {
  color: #a81021;
}

#feature-blocks .description h6 {
  color: var(--high-contrast-dark-secondary) !important;
}

@media screen and (max-width: 1024px) {
  #building-blocks .block img {
    z-index: -1;
    opacity: 0;
  }
  #building-blocks .block:not(:last-child) {
    margin: 0;
  }
}


/** Footer **/
#footer {
  background: linear-gradient(90deg, var(--high-contrast-dark-secondary) 60%, var(--high-contrast-dark-primary) 40%) !important;
}

@media screen and (max-width: 768px) {
  #footer {
    background: var(--high-contrast-dark-secondary) !important;
  }
  #footer-right {
    background: var(--high-contrast-dark-primary) !important;
  }
}

#footer a {
  text-decoration: underline !important;
}
#footer #footer-left .menu a {
  color: var(--high-contrast-light-primary) !important;
}
#footer #footer-left .menu a:hover {
  font-weight: bold !important;
}
#footer #footer-right a:hover {
  color: var(--high-contrast-light-primary) !important;
  font-weight: bold !important;
}
#footer #footer-left h2,
#footer #footer-right h2 {
  color: var(--high-contrast-light-primary) !important;
}

#footer-right ul.social a i {
  color: var(--high-contrast-dark-primary) !important;
}
