@media (max-width: 768px) {
  .container {
    padding-left: 25px;
    padding-right: 25px; } }

html, body {
  scroll-behavior: auto; }

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto; } }
/* ========================================================================== */
/* Global Setup */
/* ========================================================================== */
.contain, .contain-sm, .contain-xs {
  padding: 0 20px;
  /*
   margin: 0 auto;
   max-width: 1560px;
   */ }

.contain-left {
  padding-left: 20px; }

@media (min-width: 768px) {
  .contain {
    padding: 0 40px; }

  .contain-sm {
    padding: 0 80px; }

  .contain-xs {
    padding: 0 80px; }

  .contain-left {
    padding-left: 40px; } }
/*
 @media (min-width: 1024px) {
 .contain { padding: 0 80px; }
 .contain-sm { padding: 0 120px; }
 .contain-left { padding-left: 80px; }
 }
 */
@media (min-width: 1440px) {
  .contain {
    padding: 0 150px; }

  .contain-sm {
    padding: 0 300px; }

  .contain-xs {
    padding: 0 400px; }

  .contain-left {
    padding-left: 150px; } }
/* GTranslate */
.gtranslate_wrapper_mobile #gt_float_wrapper, .gtranslate_wrapper_desktop #gt_float_wrapper {
  display: flex; }
  .gtranslate_wrapper_mobile .gt_float_switcher, .gtranslate_wrapper_desktop .gt_float_switcher {
    font-family: var(--bs-body-font-family);
    box-shadow: none;
    color: black; }
    .gtranslate_wrapper_mobile .gt_float_switcher .gt-selected .gt-current-lang, .gtranslate_wrapper_desktop .gt_float_switcher .gt-selected .gt-current-lang {
      padding: 0;
      color: black;
      font-weight: 700; }
    .gtranslate_wrapper_mobile .gt_float_switcher .gt_options, .gtranslate_wrapper_desktop .gt_float_switcher .gt_options {
      position: absolute;
      flex-direction: column;
      gap: 10px;
      background: white;
      padding: 10px;
      margin-left: -10px;
      max-height: none;
      overflow: visible; }
      .gtranslate_wrapper_mobile .gt_float_switcher .gt_options.gt-open, .gtranslate_wrapper_desktop .gt_float_switcher .gt_options.gt-open {
        display: flex !important; }
      .gtranslate_wrapper_mobile .gt_float_switcher .gt_options a, .gtranslate_wrapper_desktop .gt_float_switcher .gt_options a {
        padding: 0;
        color: black; }
      .gtranslate_wrapper_mobile .gt_float_switcher .gt_options a:hover, .gtranslate_wrapper_desktop .gt_float_switcher .gt_options a:hover {
        background: none; }
    .gtranslate_wrapper_mobile .gt_float_switcher img, .gtranslate_wrapper_desktop .gt_float_switcher img {
      display: none; }
    .gtranslate_wrapper_mobile .gt_float_switcher .nturl, .gtranslate_wrapper_desktop .gt_float_switcher .nturl {
      font-size: 16px; }
    /* ========================================================================== */
/* Main Template */
/* ========================================================================== */
header.page-header.desktop {
  display: none;
  background: white;
  z-index: 1000;
  position: fixed;
  width: 100%;
  top: 0;
  transition: var(--transition-all-slow);
  transform: translateY(0); }
  header.page-header.desktop.slide-up {
    transform: translateY(calc(-100% - 10px));
    /* 10px is the shadow */ }
  header.page-header.desktop .content-outer {
    position: relative;
    z-index: 1;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.102);
    background: white; }
  header.page-header.desktop .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    z-index: 10; }
    header.page-header.desktop .content .logo {
      width: 105px; }
      header.page-header.desktop .content .logo img {
        width: 100%; }
    header.page-header.desktop .content ul.menu {
      display: flex;
      gap: 20px;
      align-items: center;
      font-weight: 700;
      list-style: none;
      margin: 0;
      padding: 0; }
      header.page-header.desktop .content ul.menu a {
        text-decoration: none; }
      header.page-header.desktop .content ul.menu a path {
        transition: var(--transition-all); }
      header.page-header.desktop .content ul.menu a:hover, header.page-header.desktop .content ul.menu a.active {
        color: var(--color-red); }
      header.page-header.desktop .content ul.menu a:hover path {
        fill: var(--color-red); }
      header.page-header.desktop .content ul.menu .search {
        display: flex;
        align-items: center;
        position: relative;
        margin-top: -4px; }
        header.page-header.desktop .content ul.menu .search a {
          position: relative;
          z-index: 2; }
        header.page-header.desktop .content ul.menu .search .close-icon {
          display: none;
          width: 25px;
          height: 25px; }
        header.page-header.desktop .content ul.menu .search form.search-form {
          display: none;
          position: absolute;
          right: 0;
          top: 1px;
          z-index: 1; }
          header.page-header.desktop .content ul.menu .search form.search-form input {
            width: 30vw;
            border-top: 0;
            border-right: 0;
            border-left: 0;
            border-bottom-width: 1px; }
            header.page-header.desktop .content ul.menu .search form.search-form input:focus {
              outline: none; }
      header.page-header.desktop .content ul.menu .gt-selected .gt-current-lang {
        transition: var(--transition-all); }
      header.page-header.desktop .content ul.menu .gt-selected .gt-current-lang:hover {
        color: var(--color-red); }
  header.page-header.desktop .mega-menus {
    position: absolute;
    width: 100%;
    left: 0;
    background: url("/template/mega-menu-border-mosaic.png") no-repeat center bottom;
    background-size: 100% 12px;
    padding-bottom: 12px;
    transition: var(--transition-all-slow);
    transform: translateY(-100%);
    opacity: 0; }
    header.page-header.desktop .mega-menus.open {
      transform: translateY(0);
      opacity: 1; }
    header.page-header.desktop .mega-menus .mega-menu {
      display: none;
      width: 100%;
      background: white;
      left: 0;
      padding-top: 30px;
      padding-bottom: 50px;
      margin: 0 auto;
      display: flex;
      column-gap: 60px;
      row-gap: 30px;
      justify-content: center;
      list-style: none;
      /* up to 2 <li> */
      /* 3 or more <li> */ }
      header.page-header.desktop .mega-menus .mega-menu:has(> li:nth-child(3)) {
        flex-wrap: wrap;
        justify-content: space-between; }
        header.page-header.desktop .mega-menus .mega-menu:has(> li:nth-child(3)) > li {
          flex: 0 0 47%;
          /*auto;*/ }
      header.page-header.desktop .mega-menus .mega-menu > li h3 {
        font-size: 20px;
        font-weight: 700;
        margin: 0 0 20px 0;
        padding: 10px 0;
        border-bottom: 1px solid #c6c6c6; }
        header.page-header.desktop .mega-menus .mega-menu > li ul {
          column-gap: 48px;
          margin: 0;
          padding: 0;
          list-style: none; }
          header.page-header.desktop .mega-menus .mega-menu > li ul.columns {
            column-count: 2; }
          header.page-header.desktop .mega-menus .mega-menu > li ul a {
            font-size: 18px;
            font-weight: 400;
            display: block;
            text-decoration: none;
            color: black; }
            header.page-header.desktop .mega-menus .mega-menu > li ul a:hover, header.page-header.desktop .mega-menus .mega-menu > li ul a.active {
              color: var(--color-red); }

header.page-header.mobile {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  background: white;
  transition: transform 1s ease;
  transform: translateY(0); }
  header.page-header.mobile.slide-up {
    transform: translateY(calc(-100% - 10px)); }
  header.page-header.mobile .alert-bar {
    font-size: 16px; }
    header.page-header.mobile .alert-bar.slide-up {
      margin-top: -61px; }
    header.page-header.mobile .alert-bar .text {
      /* prevent wrapping on first page load */
      display: flex;
      white-space: nowrap; }
  header.page-header.mobile .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px; }
    header.page-header.mobile .content .logo {
      width: 100px; }
      header.page-header.mobile .content .logo img {
        width: 100%; }
    header.page-header.mobile .content .menu-container {
      display: flex;
      align-items: center;
      gap: 20px; }
      header.page-header.mobile .content .menu-container .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 10px;
        width: 50px;
        height: 50px;
        font-size: 24px;
        font-weight: 700;
        background: none;
        border: none; }
        header.page-header.mobile .content .menu-container .menu-toggle span {
          display: block;
          width: 100%;
          height: 4px;
          background: black;
          border-radius: 2px; }
        header.page-header.mobile .content .menu-container .menu-toggle span:nth-child(1) {
          width: 65%;
          align-self: start; }
        header.page-header.mobile .content .menu-container .menu-toggle span:nth-child(3) {
          width: 65%;
          align-self: end; }
      header.page-header.mobile .content .menu-container .main-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100svh;
        background: white url('/template/footer-bg-xs.png') no-repeat center bottom;
        background-size: 100vw;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 20px;
        padding: 25px 25px 35px 25px;
        transition: transform 0.3s ease-in-out;
        transform: translateX(100%); }
        header.page-header.mobile .content .menu-container .main-menu.open {
          transform: translateX(0); }
        header.page-header.mobile .content .menu-container .main-menu div.close {
          display: flex;
          justify-content: end; }
          header.page-header.mobile .content .menu-container .main-menu div.close button.menu-close {
            background: none;
            border: none; }
            header.page-header.mobile .content .menu-container .main-menu div.close button.menu-close svg {
              width: 32px; }
        header.page-header.mobile .content .menu-container .main-menu ul.menu {
          display: flex;
          flex-direction: column;
          gap: 16px;
          align-items: start;
          justify-content: center;
          flex-grow: 1;
          font-size: 25px;
          font-weight: 700;
          list-style: none;
          margin: 0;
          padding: 0; }
          header.page-header.mobile .content .menu-container .main-menu ul.menu a {
            text-decoration: none; }
          header.page-header.mobile .content .menu-container .main-menu ul.menu a:hover, header.page-header.mobile .content .menu-container .main-menu ul.menu a.active {
            color: var(--color-red); }
          header.page-header.mobile .content .menu-container .main-menu ul.menu li {
            display: flex;
            align-items: center;
            gap: 20px;
            white-space: nowrap; }
          header.page-header.mobile .content .menu-container .main-menu ul.menu li::after {
            content: '';
            display: block;
            width: 100%;
            height: 20px;
            width: 12px;
            background: url('/template/icon-chevron-right-red.svg') no-repeat center bottom; }
        header.page-header.mobile .content .menu-container .main-menu .bottom {
          display: flex;
          flex-direction: column;
          gap: 30px; }
        header.page-header.mobile .content .menu-container .main-menu a.chat {
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 23px;
          font-weight: 700;
          gap: 15px;
          text-decoration: none; }
          header.page-header.mobile .content .menu-container .main-menu a.chat img {
            width: 55px;
            height: auto; }
        header.page-header.mobile .content .menu-container .main-menu form.search {
          position: relative; }
          header.page-header.mobile .content .menu-container .main-menu form.search input {
            border: 1px solid black;
            border-radius: 4px;
            padding: 10px 15px;
            width: 100%; }
          header.page-header.mobile .content .menu-container .main-menu form.search button {
            background: none;
            border: none;
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            padding: 10px 15px; }
      header.page-header.mobile .content .menu-container .mega-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100svh;
        background: white url('/template/footer-bg-xs.png') no-repeat center bottom;
        background-size: 100vw;
        padding: 25px 25px 35px 25px;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 20px;
        transition: transform 0.3s ease-in-out;
        transform: translateX(100%); }
        header.page-header.mobile .content .menu-container .mega-menu.open {
          transform: translateX(0); }
        header.page-header.mobile .content .menu-container .mega-menu div.close {
          display: flex;
          justify-content: end; }
          header.page-header.mobile .content .menu-container .mega-menu div.close button.menu-close {
            background: none;
            border: none; }
            header.page-header.mobile .content .menu-container .mega-menu div.close button.menu-close svg {
              width: 32px; }
        header.page-header.mobile .content .menu-container .mega-menu button.back {
          display: flex;
          align-items: center;
          gap: 10px;
          font-size: 24px;
          font-weight: 700;
          background: none;
          border: none;
          padding: 0; }
          header.page-header.mobile .content .menu-container .mega-menu button.back svg {
            width: 25px;
            height: auto; }
        header.page-header.mobile .content .menu-container .mega-menu ul.menu {
          list-style: none;
          margin: 0;
          padding: 0 0 20px 0;
          display: flex;
          flex-direction: column;
          gap: 16px;
          overflow: auto; }
          header.page-header.mobile .content .menu-container .mega-menu ul.menu > li h3 {
            font-size: 20px;
            font-weight: 700;
            margin: 0 0 20px 0;
            padding: 10px 0;
            color: #9a9a9a;
            border-bottom: 1px solid #9a9a9a; }
            header.page-header.mobile .content .menu-container .mega-menu ul.menu > li ul {
              display: flex;
              flex-direction: column;
              gap: 20px;
              margin: 0;
              padding: 0;
              list-style: none;
              font-size: 25px;
              font-weight: 700; }
              header.page-header.mobile .content .menu-container .mega-menu ul.menu > li ul a {
                display: block;
                text-decoration: none;
                color: black;
                line-height: 1.2; }
                header.page-header.mobile .content .menu-container .mega-menu ul.menu > li ul a:hover, header.page-header.mobile .content .menu-container .mega-menu ul.menu > li ul a.active {
                  color: var(--color-red); }
      header.page-header.mobile .content .menu-container .main-menu .social, header.page-header.mobile .content .menu-container .mega-menu .social {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
        font-size: 22px;
        font-weight: 700;
        border-top: 1px solid #c6c6c6;
        padding-top: 25px; }
        header.page-header.mobile .content .menu-container .main-menu .social div, header.page-header.mobile .content .menu-container .mega-menu .social div {
          display: flex;
          gap: 10px;
          align-items: center; }
          header.page-header.mobile .content .menu-container .main-menu .social div a, header.page-header.mobile .content .menu-container .mega-menu .social div a {
            display: block;
            width: 35px; }
            header.page-header.mobile .content .menu-container .main-menu .social div a img, header.page-header.mobile .content .menu-container .mega-menu .social div a img {
              display: block;
              width: 100%;
              aspect-ratio: 1; }

@media (min-width: 1200px) {
  header.page-header.mobile {
    display: none; }

  header.page-header.desktop {
    display: block; } }

header.page-header .alert-bar {
  position: relative;
  z-index: 2;
  font-size: 22px;
  font-weight: 700;
  color: white;
  padding: 17px;
  position: relative;
  margin-top: 0;
  transition: margin-top 0.3s ease-in-out;
  /*var(--transition-all-slow);  */ }
  header.page-header .alert-bar .js-marquee {
    display: flex;
    gap: 30px;
    float: none !important; }
  header.page-header .alert-bar .text {
    /* prevent wrapping on first page load */
    display: flex;
    white-space: nowrap; }
  header.page-header .alert-bar.red {
    background: var(--color-red); }
  header.page-header .alert-bar.orange {
    background: var(--color-orange); }
  header.page-header .alert-bar.yellow {
    background: var(--color-yellow); }
  header.page-header .alert-bar.black {
    background: black; }
  header.page-header .alert-bar.pink {
    background: var(--color-pink); }
  header.page-header .alert-bar.blue {
    background: var(--color-blue); }
  header.page-header .alert-bar a {
    color: white; }
  header.page-header .alert-bar p {
    margin: 0; }
  header.page-header .alert-bar.slide-up {
    margin-top: -67px; }

footer.page-footer {
  background: white; }
  footer.page-footer .main {
    padding-top: 60px; }
  footer.page-footer .main hr {
    opacity: 1;
    border-top: 1px solid #c6c6c6;
    margin: 60px 0 0 0; }
  footer.page-footer .main > .row {
    gap: 30px; }
  @media (min-width: 1200px) {
    footer.page-footer .main {
      padding-top: 84px; }
      footer.page-footer .main hr {
        margin: 84px 0 0 0; }
      footer.page-footer .main > .row {
        gap: 0; } }
  footer.page-footer .main .social {
    display: flex;
    font-size: 24px;
    font-weight: 700;
    gap: 20px;
    white-space: nowrap; }
    footer.page-footer .main .social.mobile {
      display: flex;
      margin-top: 30px; }
    footer.page-footer .main .social.desktop {
      display: none; }
    @media (min-width: 1200px) {
    footer.page-footer .main .social.mobile {
      display: none; }
    footer.page-footer .main .social.desktop {
      display: flex; } }
    footer.page-footer .main .social nav {
      display: flex;
      gap: 10px;
      align-items: center; }
      footer.page-footer .main .social nav a {
        display: block;
        width: 30px; }
        footer.page-footer .main .social nav a img {
          display: block;
          width: 100%;
          aspect-ratio: 1; }
  footer.page-footer .main .logo-area {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center; }
    footer.page-footer .main .logo-area .logo img {
      display: block;
      width: 100%;
      max-width: 237px;
      aspect-ratio: 1.74; }
    @media (min-width: 1200px) {
    footer.page-footer .main .logo-area {
      align-items: start; }
      footer.page-footer .main .logo-area .logo img {
        max-width: 174px; } }
  footer.page-footer .main .subscribe {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-align: center; }
    footer.page-footer .main .subscribe h3 {
      font-family: var(--font-heading);
      font-size: 40px;
      font-weight: 400; }
    footer.page-footer .main .subscribe form {
      border: 1px solid black;
      border-radius: 4px;
      display: flex;
      overflow: hidden;
      width: 100%;
      max-width: 410px;
      margin-bottom: 5px; }
      footer.page-footer .main .subscribe form input {
        border: none;
        padding: 10px;
        flex: 1; }
      footer.page-footer .main .subscribe form button {
        background: black;
        color: white;
        border: none;
        width: 50px;
        display: flex;
        justify-content: center;
        align-items: center; }
  footer.page-footer .main .quicklinks {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    font-size: 24px;
    font-weight: 500; }
    @media (min-width: 1200px) {
    footer.page-footer .main .quicklinks {
      align-items: end; } }
    footer.page-footer .main .quicklinks a {
      text-decoration: none; }
      footer.page-footer .main .quicklinks a:hover {
        color: var(--color-red); }
  footer.page-footer .copyright {
    padding: 26px 0;
    font-size: 14px;
    font-weight: 500;
    text-align: center; }
  footer.page-footer .copyright a {
    text-decoration: none; }
    footer.page-footer .copyright a:hover {
      color: var(--color-red); }
  footer.page-footer .mosaic {
    background: linear-gradient(to right, #00964e 50%, black 50%); }
  footer.page-footer .mosaic div {
    height: 12px;
    background-image: url('/template/footer-bg-xs.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }
  @media (min-width: 768px) {
    footer.page-footer .mosaic div {
      background-image: url('/template/footer-bg.png');
      background-size: cover; } }
/* ========================================================================== */
/* Utilities */
/* ========================================================================== */
.material-icon {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

.material-icon.solid {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

.material-icon.thin {
  font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24; }

.material-icon.bold {
  font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 0, 'opsz' 24; }

.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 32px 0; }
  .pagination .current {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: black;
    color: white; }
  .pagination .prev, .pagination .next {
    width: auto;
    padding-left: 16px;
    padding-right: 16px; }
  .pagination a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: white;
    border: 1px solid #c6c6c6;
    text-decoration: none;
    color: black; }
  .pagination a.active, .pagination a:hover {
    background: black;
    color: white;
    border-color: black; }

nav.breadcrumbs {
  display: flex;
  padding: 32px 0;
  font-size: 15px;
  font-weight: 500;
  gap: 4px; }
  nav.breadcrumbs a {
    text-decoration: underline;
    font-weight: 700; }
  @media (min-width: 768px) {
  nav.breadcrumbs {
    padding: 48px 0; } }

.shadow-card {
  text-decoration: none;
  /* this is how it in the mockup
   &:hover {
   .image {
   background-color: transparent;
   img {
   transform: scale(1.1);
   }
   }
   }
   */ }
  .shadow-card, .shadow-card * {
    transition: all 0.3s ease-in-out; }
  .shadow-card .image {
    position: relative;
    background-color: var(--color-orange);
    border-radius: 4px; }
  .shadow-card .image .zoom-wrapper {
    overflow: hidden;
    position: relative;
    transform: translate(8px, -8px);
    border-radius: 4px; }
  .shadow-card .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transform-origin: center; }
  .shadow-card .image .icon {
    position: absolute;
    right: calc(15px - 8px);
    bottom: calc(15px + 8px);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 4px; }
    @media (min-width: 992px) {
    .shadow-card .image .icon {
      right: calc(20px - 8px);
      bottom: calc(20px + 8px); } }
    .shadow-card .image .icon svg path {
      fill: white; }
  .shadow-card .text {
    padding-left: 8px;
    margin-top: 20px;
    font-weight: 700; }
  @media (min-width: 1200px) {
    .shadow-card .text {
      font-size: 24px; } }
  .shadow-card .text p {
    margin: 0; }
  .shadow-card .text date {
    font-size: 16px;
    color: #909090;
    font-weight: 400; }
  .shadow-card.orange .image, .shadow-card.orange .image .icon {
    background-color: var(--color-orange); }
  .shadow-card.green .image, .shadow-card.green .image .icon {
    background-color: var(--color-green); }
  .shadow-card.blue .image, .shadow-card.blue .image .icon {
    background-color: var(--color-blue); }
  .shadow-card.yellow .image, .shadow-card.yellow .image .icon {
    background-color: var(--color-yellow); }
  .shadow-card.yellow .image .icon path {
    fill: black; }
  .shadow-card.pink .image, .shadow-card.pink .image .icon {
    background-color: var(--color-pink); }
  .shadow-card.red .image, .shadow-card.red .image .icon {
    background-color: var(--color-red); }
  .shadow-card:not(.no-zoom):hover .image {
    transform: translate(8px, -8px); }
    .shadow-card:not(.no-zoom):hover .image .zoom-wrapper {
      transform: translate(0, 0); }
    .shadow-card:not(.no-zoom):hover .image .icon {
      transform: translate(-8px, 8px); }
    .shadow-card:not(.no-zoom):hover .image img {
      transform: scale(1.1); }

.featherlight {
  background: rgba(0, 0, 0, 0.8) !important; }
  .featherlight .featherlight-content {
    padding: 0;
    border-bottom: 0;
    background: var(--color-body-bg); }
  .featherlight .featherlight-content .caption {
    background: rgba(0, 0, 0, 0.9);
    color: white;
    font-size: 16px;
    padding: 10px;
    text-align: center; }
  .featherlight .featherlight-content .featherlight-previous, .featherlight .featherlight-content .featherlight-next {
    transition: all 0.3s ease-in-out; }
    .featherlight .featherlight-content .featherlight-previous:hover, .featherlight .featherlight-content .featherlight-next:hover {
      background: rgba(0, 0, 0, 0.3); }
    .featherlight .featherlight-content .featherlight-previous span, .featherlight .featherlight-content .featherlight-next span {
      font-size: 0; }
    .featherlight .featherlight-content .featherlight-previous span::before, .featherlight .featherlight-content .featherlight-next span::before {
      font-size: 45px;
      text-shadow: none; }
  .featherlight .featherlight-content .featherlight-previous {
    left: 0;
    top: 0;
    right: 85%; }
    .featherlight .featherlight-content .featherlight-previous span::before {
      content: '❮'; }
  .featherlight .featherlight-content .featherlight-next {
    right: 0;
    top: 0;
    left: 85%; }
    .featherlight .featherlight-content .featherlight-next span::before {
      content: '❯'; }

.highlight-not-started {
  /* page title starts with '* ' */
  background: #fce8e6; }

.highlight-in-progress {
  /* page title starts with '^ ' */
  background: #fef3c7; }

.highlight-complete {
  /* page title does not start with '* ' or '^ ' */
  background: #e6f4ea; }

.shadow {
  box-shadow: var(--shadow); }

.shadow-sm {
  box-shadow: var(--shadow-sm); }

.shadow-md {
  box-shadow: var(--shadow-md); }
/* ========================================================================== */
/* Components / Sections */
/* ========================================================================== */
section.hero {
  position: relative;
  height: 100svh;
  max-height: 1024px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: 70px;
  /* match with .contain gap */
  background-size: cover;
  background-position: center; }
  section.hero > .contain {
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 70px;
    /* match with .hero gap */ }
  section.hero .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none; }
  section.hero .video-background iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.78vh;
    /* 100vh * (16/9) — fills height first */
    height: 100vh;
    transform: translate(-50%, -50%); }
  @media (min-aspect-ratio: 1.7777777778) {
    section.hero .video-background iframe {
      width: 100vw;
      height: 56.25vw;
      /* 100vw * (9/16) — fills width first */ } }
  section.hero .gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.2) 30%, rgba(0, 0, 0, 0.2) 100%); }
  section.hero .mosaic {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 1420px;
    background-image: url('/template/header-mosaic.png');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 150vw; }
  section.hero h1 {
    font-family: var(--font-heading);
    font-size: 55px;
    font-weight: 400;
    line-height: 1;
    color: white;
    text-transform: uppercase;
    margin-bottom: 0; }
  section.hero.subpage {
    max-height: 550px;
    margin-top: 80px;
    /* nudge down to mostly clear header */ }
  section.hero.subpage .contain {
    margin-bottom: 150px; }
  section.hero.midpage {
    justify-content: center;
    align-items: center; }
  section.hero.midpage > .contain {
    align-items: center;
    text-align: center;
    gap: 30px;
    /* less space between h1 and flights */ }
  section.hero.midpage h2 {
    color: white;
    font-size: 70px;
    line-height: 65px; }
  @media (min-width: 992px) {
    section.hero.midpage > .contain {
      gap: 40px;
      /* less space between h1 and flights */ }

    section.hero.midpage h2 {
      font-size: 115px;
      line-height: 100px; }

    section.hero.midpage .mosaic {
      max-width: 1000px; } }
  section.hero .weather-tabs-wrapper {
    display: flex;
    flex-direction: column; }
  @media (min-width: 992px) {
    section.hero .weather-tabs-wrapper {
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      section.hero .weather-tabs-wrapper .weather {
        order: 2; }
      section.hero .weather-tabs-wrapper .info-tabs-wrapper {
        order: 1; } }
  section.hero .weather-tabs-wrapper .weather {
    position: relative;
    z-index: 10;
    color: white;
    font-size: 16px; }
    section.hero .weather-tabs-wrapper .weather .contain {
      display: flex;
      gap: 7px;
      white-space: nowrap; }
    section.hero .weather-tabs-wrapper .weather .image i {
      color: white;
      font-size: 22px; }
      section.hero .weather-tabs-wrapper .weather .image img {
        width: 22px;
        height: 22px; }
    @media (min-width: 992px) {
    section.hero .weather-tabs-wrapper .weather .contain {
      padding-left: 0; } }
  section.hero div.info-tabs-wrapper {
    overflow-x: auto;
    padding: 0 20px; }
  @media (min-width: 768px) {
    section.hero div.info-tabs-wrapper {
      padding: 0 40px; } }
  @media (min-width: 1440px) {
    section.hero div.info-tabs-wrapper {
      padding: 0 150px; } }
  section.hero div.info-tabs-wrapper div.info-tabs {
    display: flex;
    gap: 26px;
    margin-bottom: 26px;
    position: relative;
    z-index: 10;
    min-width: max-content; }
    section.hero div.info-tabs-wrapper div.info-tabs a.tab {
      display: flex;
      gap: 15px;
      align-items: center;
      padding: 15px 20px 15px 15px;
      background: white;
      border-radius: 4px;
      text-decoration: none;
      white-space: nowrap; }
      section.hero div.info-tabs-wrapper div.info-tabs a.tab .icon {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 40px;
        border-radius: 4px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 20px;
        color: white; }
        section.hero div.info-tabs-wrapper div.info-tabs a.tab .icon .material-icon {
          font-size: 28px; }
        section.hero div.info-tabs-wrapper div.info-tabs a.tab .icon svg {
          width: 20px;
          height: auto; }
        section.hero div.info-tabs-wrapper div.info-tabs a.tab .icon.clock {
          background-image: url('/template/icon-clock.svg'); }
        section.hero div.info-tabs-wrapper div.info-tabs a.tab .icon.car {
          background-image: url('/template/icon-car.svg');
          background-size: 27px; }
      section.hero div.info-tabs-wrapper div.info-tabs a.tab p {
        margin: 0; }
      section.hero div.info-tabs-wrapper div.info-tabs a.tab.orange .icon {
        background-color: var(--color-orange); }
      section.hero div.info-tabs-wrapper div.info-tabs a.tab.green .icon {
        background-color: var(--color-green); }
  section.hero div.flight-search {
    width: 100%;
    max-width: 650px; }
  section.hero div.flight-search .tabs {
    display: flex;
    gap: 10px;
    align-items: end; }
    section.hero div.flight-search .tabs .tab {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      height: 50px;
      padding: 10px 20px;
      font-size: 16px;
      font-weight: 700;
      color: white;
      background: rgba(0, 0, 0, 0.25);
      border: 1px solid white;
      border-bottom: none;
      border-radius: 4px;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      text-decoration: none;
      white-space: nowrap;
      transition: color 0.3s ease-in-out, background 0.3s ease-in-out; }
      section.hero div.flight-search .tabs .tab span {
        display: none; }
      section.hero div.flight-search .tabs .tab svg path {
        fill: white; }
      section.hero div.flight-search .tabs .tab.active {
        color: black;
        background: white;
        padding-top: 28px;
        padding-bottom: 28px; }
        section.hero div.flight-search .tabs .tab.active svg path {
          fill: black; }
      @media (min-width: 430px) {
    section.hero div.flight-search .tabs .tab span {
      display: block; }
    section.hero div.flight-search .tabs .tab svg {
      display: none; } }
      @media (min-width: 768px) {
    section.hero div.flight-search .tabs .tab svg {
      display: block; } }
  section.hero div.flight-search form {
    position: relative;
    width: 100%; }
    section.hero div.flight-search form input[type="text"] {
      width: 100%;
      padding: 20px 20px;
      background: white;
      border: none;
      border-radius: 4px;
      border-top-left-radius: 0;
      box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.251); }
    section.hero div.flight-search form input[type="text"]:focus {
      outline: none; }
    section.hero div.flight-search form button[type="submit"] {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      aspect-ratio: 1;
      background: white;
      appearance: none;
      border: none;
      border-top-right-radius: 4px;
      border-bottom-right-radius: 4px; }
    section.hero div.flight-search form .next-flights-card {
      position: absolute;
      opacity: 0;
      pointer-events: none;
      transform: translateY(-99%) scaleY(0%);
      transform-origin: bottom;
      transition: opacity 0.2s ease-in-out, transform 0.3s ease-in-out, visibility 0s linear 0.3s;
      visibility: hidden;
      /* hidden by default, shown when form is focused */
      width: 100%;
      padding: 20px 20px 0 20px;
      background: white;
      border-radius: 4px;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; }
      section.hero div.flight-search form .next-flights-card.open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(-99%) scaleY(100%);
        transition-delay: 0s;
        visibility: visible; }
      section.hero div.flight-search form .next-flights-card__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding-bottom: 18px;
        border-bottom: 1px solid #d8d8d8; }
      section.hero div.flight-search form .next-flights-card__title {
        margin: 0;
        font-size: 16px;
        line-height: 1.2;
        font-weight: 700; }
      section.hero div.flight-search form .next-flights-card__close svg {
        width: 16px;
        height: auto; }
    section.hero div.flight-search form .next-flights-list {
      margin: 0;
      padding: 0;
      list-style: none; }
      section.hero div.flight-search form .next-flights-list__item {
        border-bottom: 1px solid #e1e1e1; }
        section.hero div.flight-search form .next-flights-list__item:last-child {
          border-bottom: 0; }
      section.hero div.flight-search form .next-flights-list__link {
        display: grid;
        grid-template-columns: 42px 65px minmax(100px, 1fr) 47px 16px;
        font-size: 15px;
        cursor: pointer;
        color: inherit;
        align-items: center;
        gap: 14px;
        min-height: 62px;
        line-height: 1.3;
        text-decoration: none; }
        @media (min-width: 576px) {
    section.hero div.flight-search form .next-flights-list__link {
      grid-template-columns: 64px 72px minmax(100px, 1fr) 86px auto;
      font-size: 17px; } }
        section.hero div.flight-search form .next-flights-list__link:focus .flight-number, section.hero div.flight-search form .next-flights-list__link:hover .flight-number {
          text-decoration: underline; }
    section.hero div.flight-search form .flight-type, section.hero div.flight-search form .flight-status {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      border-radius: 999px;
      font-weight: 700;
      white-space: nowrap; }
    section.hero div.flight-search form .flight-type {
      min-width: 48px;
      padding: 5px 10px;
      font-size: 14px; }
      section.hero div.flight-search form .flight-type--dep {
        color: #0067b1;
        background: #e7f1ff; }
      section.hero div.flight-search form .flight-type--arr {
        color: #007a3d;
        background: #e6f7ee; }
    section.hero div.flight-search form .flight-time, section.hero div.flight-search form .flight-number, section.hero div.flight-search form .flight-city {
      white-space: nowrap; }
    section.hero div.flight-search form .flight-status {
      font-size: 14px;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      text-indent: -9999px;
      position: relative;
      justify-self: end; }
      section.hero div.flight-search form .flight-status--on-time, section.hero div.flight-search form .flight-status--landed {
        background: var(--color-green); }
      section.hero div.flight-search form .flight-status--boarding, section.hero div.flight-search form .flight-status--arrived {
        background: var(--color-blue); }
      section.hero div.flight-search form .flight-status--early {
        background: var(--color-teal); }
      section.hero div.flight-search form .flight-status--delayed {
        background: var(--color-orange); }
      section.hero div.flight-search form .flight-status--cancelled {
        background: var(--color-red); }
      @media (min-width: 576px) {
    section.hero div.flight-search form .flight-status {
      min-width: 84px;
      padding: 6px 12px;
      text-indent: 0;
      border-radius: 999px;
      width: auto;
      height: auto; }
      section.hero div.flight-search form .flight-status--on-time, section.hero div.flight-search form .flight-status--landed {
        color: var(--color-green);
        background: #e6f7ee; }
      section.hero div.flight-search form .flight-status--boarding, section.hero div.flight-search form .flight-status--arrived {
        color: var(--color-blue);
        background: #e7f1ff; }
      section.hero div.flight-search form .flight-status--early {
        color: var(--color-teal);
        background: #e7f1ff; }
      section.hero div.flight-search form .flight-status--delayed {
        color: var(--color-orange);
        background: #fff0df; }
      section.hero div.flight-search form .flight-status--cancelled {
        color: var(--color-red);
        background: #ffe6e6; } }
  section.hero div.flight-search .view-all {
    text-align: right;
    padding-top: 5px;
    font-size: 14px; }
    section.hero div.flight-search .view-all a {
      color: white; }
    @media (min-width: 768px) {
    section.hero div.flight-search .view-all {
      font-size: 18px; } }
  @media (min-width: 768px) {
  section.hero .mosaic {
    background-size: contain; } }
  @media (min-width: 992px) {
  section.hero h1 {
    font-size: 100px; }
  section.hero.subpage {
    height: 657px;
    max-height: none; }
  section.hero.flights-hero .contain {
    margin-bottom: 150px; } }
  @media (max-height: 950px) {
  section.hero {
    gap: 45px; }
    section.hero .flight-search input[type="text"] {
      padding-top: 15px !important;
      padding-bottom: 15px !important; }

    section.hero .weather {
      top: -20px; }

    section.hero > .contain {
      gap: 35px;
      /* less space between h1 and flights */ } }

section.not-found {
  padding: 200px 0 35px 0; }
  section.not-found .text-center {
    text-align: center; }

section.search {
  padding-bottom: 35px; }
  @media (min-width: 768px) {
  section.search {
    padding-bottom: 85px; } }
  section.search .search-form {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 24px; }
  section.search .search-form input[type="text"] {
    width: 100%;
    max-width: 400px;
    padding: 10px 15px;
    border: 1px solid #c6c6c6;
    border-radius: 4px; }
  section.search .search-form button {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    padding: 10px 15px; }

section.photo-gallery {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.photo-gallery {
    padding: 85px 0; } }
  section.photo-gallery .intro.above {
    margin-bottom: 35px; }
  @media (min-width: 768px) {
    section.photo-gallery .intro.above {
      margin-bottom: 85px; } }
  section.photo-gallery .intro.below {
    margin-top: 35px; }
  @media (min-width: 768px) {
    section.photo-gallery .intro.below {
      margin-top: 85px; } }
  section.photo-gallery.bg-blue {
    background: var(--color-blue-light); }
  section.photo-gallery.bg-white {
    background: white; }
  section.photo-gallery.masonry .photos {
    columns: 4 240px;
    /* up to 4 columns, min 240px each */
    column-gap: 16px; }
  section.photo-gallery.masonry .photos > * {
    break-inside: avoid;
    margin-bottom: 16px;
    display: block; }
  section.photo-gallery.grid .photos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px; }
  section.photo-gallery.grid > * {
    display: block; }
  section.photo-gallery.grid.grid-small .photos {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  section.photo-gallery.grid.grid-medium .photos {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
  section.photo-gallery.grid.grid-large .photos {
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr)); }

section.rfps {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.rfps {
    padding: 85px 0; } }

section.jobs {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.jobs {
    padding: 85px 0; } }

section.text, section.text-2up {
  display: flex;
  flex-direction: column;
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.text, section.text-2up {
    padding: 85px 0; } }
  section.text.bg-blue, section.text-2up.bg-blue {
    background: var(--color-blue-light); }
  section.text.bg-white, section.text-2up.bg-white {
    background: white; }
  section.text .content > *:last-child:not(h1, h2, h3, h4, h5, h6), section.text-2up .content > *:last-child:not(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 0; }
  section.text h2, section.text-2up h2 {
    margin-bottom: 2rem; }

.breadcrumbs-container + section.text:not(.bg-white):not(.bg-blue), .breadcrumbs-container + section.text-2up:not(.bg-white):not(.bg-blue) {
  padding-top: 0; }
  @media (min-width: 768px) {
  .breadcrumbs-container + section.text:not(.bg-white):not(.bg-blue), .breadcrumbs-container + section.text-2up:not(.bg-white):not(.bg-blue) {
    padding-top: 48px; } }

section.text.bg-none table.table thead.table-light th, section.text-2up.bg-none table.table thead.table-light th {
  background-color: #eee; }

section.accordion .items-list {
  display: flex;
  flex-direction: column;
  gap: 24px; }
  section.accordion .item input {
    display: none; }
  section.accordion .item label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 16px 24px;
    background-color: var(--color-blue);
    border-radius: 4px;
    font-weight: 600;
    color: white; }
    section.accordion .item label .icon {
      display: flex;
      align-items: center;
      transition: transform 0.3s ease;
      transform: rotate(90deg); }
  section.accordion .item .content {
    display: none;
    padding: 16px 24px 0 24px; }
    section.accordion .item .content > *:last-child {
      margin-bottom: 0; }
  section.accordion .item.open .icon {
    transform: rotate(90deg) scaleX(-1); }
  section.accordion .item.open.no-padding .content {
    padding: 24px 0 0 0; }

section.flights {
  position: relative;
  margin-top: -50px;
  padding-bottom: 48px; }
  section.flights .tabs {
    display: flex;
    gap: 10px; }
  section.flights .tabs .tab {
    display: inline-flex;
    height: 50px;
    align-items: center;
    gap: 10px;
    color: white;
    font-weight: 700;
    border: 1px solid white;
    border-bottom: none;
    border-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: rgba(0, 0, 0, 0.25);
    padding: 10px 20px;
    text-decoration: none;
    transition: all 0.3s ease-in-out; }
    section.flights .tabs .tab svg path {
      fill: white; }
  section.flights .tabs .tab.active {
    color: black;
    background: var(--color-body-bg); }
    section.flights .tabs .tab.active svg path {
      fill: black; }
  section.flights .content {
    width: 100%; }
  section.flights .content .search-form form {
    position: relative;
    width: 100%;
    max-width: 560px; }
    section.flights .content .search-form input[type=text] {
      background: white;
      border: 1px solid black;
      border-radius: 4px;
      padding: 15px 20px;
      width: 100%; }
    section.flights .content .search-form button {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background: none;
      border: none;
      padding: 10px 30px;
      background: url('/template/icon-search.svg') center center no-repeat; }
      section.flights .content .search-form button.close {
        background: url('/template/icon-close.svg') center center no-repeat;
        background-size: 24px; }
  section.flights .content .ball {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-block; }
  section.flights .content .legend {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 35px 0 20px 0;
    font-size: 16px;
    font-weight: 400; }
    section.flights .content .legend button.refresh {
      display: inline-flex;
      align-items: center;
      align-self: center;
      border: 0;
      padding: 0;
      background: none;
      cursor: pointer;
      white-space: nowrap; }
      section.flights .content .legend button.refresh::before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 17px;
        background: url('/template/icon-refresh.svg');
        margin-right: 8px;
        transition: all 200ms ease; }
      section.flights .content .legend button.refresh:hover::before {
        transform: rotate(180deg); }
    section.flights .content .legend .statuses {
      display: flex;
      column-gap: 25px;
      row-gap: 5px;
      justify-content: center;
      align-items: center;
      white-space: nowrap;
      flex-wrap: wrap; }
      section.flights .content .legend .statuses div {
        display: flex;
        align-items: center;
        gap: 8px; }
      section.flights .content .legend .statuses strong {
        flex: 1 1 100%;
        text-align: center; }
      @media (min-width: 768px) {
    section.flights .content .legend .statuses strong {
      flex: 0 0 auto; } }
    section.flights .content .legend .statuses {
      order: 2; }
    section.flights .content .legend .refresh {
      order: 1; }
    @media (min-width: 768px) {
    section.flights .content .legend {
      padding: 40px 0 25px 0;
      font-size: 18px;
      flex-direction: row;
      justify-content: space-between; }
      section.flights .content .legend .statuses {
        order: 1;
        justify-content: start; }

      section.flights .content .legend .refresh {
        order: 2;
        align-self: end; } }
  section.flights .content .flights-list-container {
    overflow-x: auto; }
    section.flights .content .flights-list-container h2 {
      margin-bottom: 20px; }
    section.flights .content .flights-list-container table.flights-list {
      width: 100%;
      border-collapse: collapse;
      border-spacing: 0;
      color: #231f20; }
      section.flights .content .flights-list-container table.flights-list tr.heading {
        background: var(--color-blue-dark);
        color: white;
        font-size: 18px;
        font-weight: 700;
        overflow: hidden; }
        section.flights .content .flights-list-container table.flights-list tr.heading .from, section.flights .content .flights-list-container table.flights-list tr.heading .to {
          display: none; }
        section.flights .content .flights-list-container table.flights-list tr.heading .from.active, section.flights .content .flights-list-container table.flights-list tr.heading .to.active {
          display: block; }
        section.flights .content .flights-list-container table.flights-list tr.heading th:first-child {
          border-radius: 4px 0 0 4px; }
        section.flights .content .flights-list-container table.flights-list tr.heading th:last-child {
          border-radius: 0 4px 4px 0; }
      section.flights .content .flights-list-container table.flights-list tr.date-bar td {
        padding-bottom: 0;
        padding-top: 32px; }
        section.flights .content .flights-list-container table.flights-list tr.date-bar td .bar {
          border-bottom: 1px solid var(--color-blue-dark); }
          section.flights .content .flights-list-container table.flights-list tr.date-bar td .bar .label {
            display: inline-block;
            font-size: 14px;
            padding: 6px 12px;
            background: var(--color-blue-dark);
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            color: white;
            font-weight: 700; }
            @media (min-width: 768px) {
      section.flights .content .flights-list-container table.flights-list tr.date-bar td .bar .label {
        font-size: 16px; } }
      section.flights .content .flights-list-container table.flights-list tr.flight.even {
        background: #e5edef; }
        section.flights .content .flights-list-container table.flights-list tr.flight.hidden {
          display: none; }
        section.flights .content .flights-list-container table.flights-list tr.flight td:first-child {
          border-radius: 4px 0 0 4px; }
        section.flights .content .flights-list-container table.flights-list tr.flight td:last-child {
          border-radius: 0 4px 4px 0; }
        section.flights .content .flights-list-container table.flights-list tr.flight .airline {
          font-weight: 700;
          display: block; }
        section.flights .content .flights-list-container table.flights-list tr.flight .status {
          text-align: right; }
        section.flights .content .flights-list-container table.flights-list tr.flight .status .ball {
          position: relative;
          top: 2px;
          margin-left: 5px; }
        @media (min-width: 768px) {
    section.flights .content .flights-list-container table.flights-list tr.flight .airline {
      display: inline-block; } }
      section.flights .content .flights-list-container table.flights-list tr.bottom-bar td {
        padding-top: 0; }
        section.flights .content .flights-list-container table.flights-list tr.bottom-bar td div {
          border-top: 1px solid #c6c6c6; }
      section.flights .content .flights-list-container table.flights-list th, section.flights .content .flights-list-container table.flights-list td {
        font-size: 16px;
        padding: 10px 10px; }
      @media (min-width: 768px) {
    section.flights .content .flights-list-container table.flights-list th, section.flights .content .flights-list-container table.flights-list td {
      font-size: 18px;
      padding: 15px 25px; } }
    @media (min-width: 768px) {
    section.flights .content .flights-list-container h2 {
      margin-bottom: 35px; } }

section.tiles {
  /* Sizing - default (small tiles) */
  /* Sizing - large tiles (up to 4 tiles) */ }
  @media (min-width: 768px) {
  section.tiles .tiles-list .tile {
    flex: 0 0 calc(50% - 16px); } }
  @media (min-width: 1024px) {
  section.tiles .tiles-list .tile {
    flex: 0 0 calc(33.3% - 21px); } }
  @media (min-width: 1500px) {
  section.tiles .tiles-list .tile {
    flex: 0 0 calc(20% - 26px); } }
  @media (min-width: 768px) {
  section.tiles .tiles-list.large-tiles .tile {
    flex: 0 0 calc(50% - 16px); } }
  @media (min-width: 1024px) {
  section.tiles .tiles-list.large-tiles .tile {
    flex: 0 0 calc(33.3% - 21px); } }
  @media (min-width: 1500px) {
  section.tiles .tiles-list.large-tiles .tile {
    flex: 0 0 calc(25% - 24px); } }
  section.tiles .contain.blue {
    background-color: var(--color-blue-light); }
  section.tiles .introduction {
    padding-bottom: 48px; }
  section.tiles .introduction > *:last-child {
    margin-bottom: 0; }
  @media (min-width: 768px) {
    section.tiles .introduction {
      padding-top: 32px;
      padding-bottom: 80px; } }
  section.tiles .tiles-list {
    padding: 48px 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center; }
  @media (min-width: 768px) {
    section.tiles .tiles-list {
      padding: 80px 0;
      flex-direction: row;
      align-items: stretch; } }
  section.tiles .tile {
    border-radius: 4px;
    overflow: hidden;
    flex: 0 0 100%;
    display: flex;
    flex-direction: column; }
  section.tiles .tile .image {
    background: white;
    padding: 15%;
    aspect-ratio: 1.3333333333;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2px; }
    section.tiles .tile .image img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover; }
  section.tiles .tile .content {
    background: white;
    padding: 16px 24px 24px 24px;
    flex: 1; }
    section.tiles .tile .content .name {
      font-size: 24px; }
      section.tiles .tile .content .name .circle-arrow {
        display: block;
        float: right;
        margin-top: 5px;
        border: 2px solid var(--color-red);
        border-radius: 50%;
        width: 23px;
        height: 23px;
        display: flex;
        justify-content: center;
        align-items: center; }
        section.tiles .tile .content .name .circle-arrow svg {
          transform: translateX(1px);
          width: 7px;
          height: auto; }
        section.tiles .tile .content .name .circle-arrow:hover {
          background-color: var(--color-red); }
        section.tiles .tile .content .name .circle-arrow:hover svg path {
          stroke: white; }
    section.tiles .tile .content .meta {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 8px; }
      section.tiles .tile .content .meta .phone {
        background: url('/template/icon-phone-pink.png') no-repeat left center;
        background-size: 15px;
        padding-left: 24px; }
      section.tiles .tile .content .meta .email {
        background: url('/template/icon-envelope-pink.png') no-repeat left center;
        background-size: 15px;
        padding-left: 24px; }
      section.tiles .tile .content .meta .website {
        background: url('/template/icon-globe-pink.png') no-repeat left center;
        background-size: 15px;
        padding-left: 24px; }
      section.tiles .tile .content .meta > *:last-child {
        margin-bottom: 0; }
    section.tiles .tile .content a:hover {
      color: var(--color-red); }

section.logo-tiles {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.logo-tiles {
    padding: 85px 0; } }
  section.logo-tiles.blue {
    background-color: var(--color-blue-light); }
  section.logo-tiles .introduction {
    margin-bottom: 60px; }
  section.logo-tiles .tiles-list {
    display: flex;
    gap: 24px; }
  section.logo-tiles .tiles-list .tile {
    min-width: 70vw;
    border-radius: 4px;
    overflow: hidden; }
    section.logo-tiles .tiles-list .tile .image {
      background: white;
      padding: 15%;
      aspect-ratio: 1.3333333333;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 2px; }
      section.logo-tiles .tiles-list .tile .image img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover; }
    section.logo-tiles .tiles-list .tile .content {
      background: white;
      padding: 16px 24px 24px 24px; }
      section.logo-tiles .tiles-list .tile .content .name {
        font-size: 24px; }
        section.logo-tiles .tiles-list .tile .content .name .circle-arrow {
          display: block;
          float: right;
          margin-top: 5px;
          border: 2px solid var(--color-red);
          border-radius: 50%;
          width: 23px;
          height: 23px;
          display: flex;
          justify-content: center;
          align-items: center; }
        section.logo-tiles .tiles-list .tile .content .name .circle-arrow svg {
          transform: translateX(1px);
          width: 7px;
          height: auto; }
        section.logo-tiles .tiles-list .tile .content .name .circle-arrow:hover {
          background-color: var(--color-red); }
          section.logo-tiles .tiles-list .tile .content .name .circle-arrow:hover svg path {
            stroke: white; }
      section.logo-tiles .tiles-list .tile .content .meta {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 8px; }
        section.logo-tiles .tiles-list .tile .content .meta .phone {
          background: url('/template/icon-phone-pink.png') no-repeat left center;
          background-size: 15px;
          padding-left: 24px; }
        section.logo-tiles .tiles-list .tile .content .meta .website {
          background: url('/template/icon-globe-pink.png') no-repeat left center;
          background-size: 15px;
          padding-left: 24px; }
      section.logo-tiles .tiles-list .tile .content a:hover {
        color: var(--color-red); }
  section.logo-tiles .buttons {
    display: flex;
    gap: 10px; }
  section.logo-tiles .buttons button {
    border: 2px solid var(--color-red);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center; }
    section.logo-tiles .buttons button svg {
      transform: translateX(2px); }
  section.logo-tiles .buttons button.prev-item {
    transform: rotate(180deg); }
  section.logo-tiles .buttons button.next-item {
    transform: translateY(-1px); }
  section.logo-tiles .buttons button:hover {
    background-color: var(--color-red); }
    section.logo-tiles .buttons button:hover svg path {
      stroke: white; }
  section.logo-tiles .scrollable {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    -ms-overflow-style: none;
    /* IE/Edge */
    scrollbar-width: none;
    /* Firefox */
    cursor: grab; }
  section.logo-tiles .scrollable::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */ }
  @media (min-width: 768px) {
  section.logo-tiles {
    /* undo the scrollable on desktop */ }
    section.logo-tiles .scrollable {
      overflow: visible;
      cursor: default; }

    section.logo-tiles .tiles-list {
      display: grid;
      gap: 35px;
      grid-template-columns: repeat(2, 1fr); }
      section.logo-tiles .tiles-list .tile {
        min-width: auto; }

    section.logo-tiles .buttons {
      display: none; } }
  @media (min-width: 992px) {
  section.logo-tiles .tiles-list {
    grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1440px) {
  section.logo-tiles .tiles-list {
    grid-template-columns: repeat(4, 1fr); } }

section.image-cards {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.image-cards {
    padding: 85px 0; } }
  section.image-cards .contain {
    margin-bottom: 30px; }
  @media (min-width: 768px) {
  section.image-cards .contain {
    margin-bottom: 60px; } }
  section.image-cards .cards-container {
    overflow-x: auto;
    padding: 8px 20px; }
  @media (min-width: 768px) {
    section.image-cards .cards-container {
      padding: 8px 40px; } }
  @media (min-width: 1024px) {
    section.image-cards .cards-container {
      padding: 8px 100px; } }
  @media (min-width: 1200px) {
    section.image-cards .cards-container {
      padding: 8px 150px; } }
  section.image-cards .cards-container .cards {
    display: flex;
    gap: 25px;
    min-width: max-content; }
    @media (min-width: 1024px) {
    section.image-cards .cards-container .cards {
      min-width: auto;
      gap: 35px; } }
  section.image-cards .cards-container .item {
    width: 200px; }
    @media (min-width: 1024px) {
    section.image-cards .cards-container .item {
      width: auto; } }

section.cta-banner {
  padding: 35px 0;
  background-color: var(--color-blue-light); }
  @media (min-width: 768px) {
  section.cta-banner {
    padding: 85px 0; } }
  section.cta-banner h2 {
    margin-bottom: 0px; }
  section.cta-banner .content {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 15px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto; }
  section.cta-banner .buttons {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center; }
  section.cta-banner.size-xs .content {
    max-width: 500px; }
  section.cta-banner.size-sm .content {
    max-width: 700px; }
  section.cta-banner.size-md .content {
    max-width: 850px; }

section.image-text {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.image-text {
    padding: 85px 0; } }
  section.image-text .contain, section.image-text .contain-sm {
    display: grid;
    gap: 40px; }
  @media (min-width: 992px) {
    section.image-text .contain, section.image-text .contain-sm {
      grid-template-columns: repeat(2, 1fr);
      gap: 4%; } }
  @media (min-width: 992px) {
    section.image-text .contain, section.image-text .contain-sm {
      grid-template-columns: repeat(2, 1fr);
      gap: 8%; } }
  section.image-text .content {
    display: flex;
    flex-direction: column;
    justify-content: center; }
  section.image-text .content .buttons {
    margin-top: 16px;
    display: flex;
    gap: 16px; }
  @media (min-width: 992px) {
      section.image-text.align-image-right .contain .shadow-card, section.image-text.align-image-right .contain-sm .shadow-card {
        order: 2; }
      section.image-text.align-image-right .contain .content, section.image-text.align-image-right .contain-sm .content {
        order: 1; } }
  section.image-text.bg-blue {
    background: var(--color-blue-light); }

section.image-banner {
  position: relative;
  padding: 25px 0; }
  section.image-banner.bg-blue {
    background: var(--color-blue-light); }
  section.image-banner.bg-white {
    background: white; }
  section.image-banner img.banner {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    object-fit: cover;
    min-height: 369px; }
  section.image-banner.no-crop img.banner {
    object-fit: contain; }
  section.image-banner .content img {
    max-width: 100%;
    height: auto; }
  section.image-banner .contain, section.image-banner .contain-sm {
    display: flex;
    flex-direction: column;
    align-items: center; }
  section.image-banner .content {
    position: relative;
    border-radius: 4px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
    background: #f6f6f6;
    padding: 28px;
    max-width: 850px;
    margin-left: 20px;
    margin-right: 20px;
    margin-top: -80px; }
  section.image-banner .content > * {
    margin: 0; }
  section.image-banner .buttons {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center; }
  @media (min-width: 768px) {
  section.image-banner {
    padding: 65px 0; }
    section.image-banner .content {
      padding: 48px;
      margin-top: -100px; } }

section.routes-table {
  background: white;
  padding: 35px 0;
  border-bottom: 5px solid var(--color-blue); }
  @media (min-width: 768px) {
  section.routes-table {
    padding: 85px 0; } }
  section.routes-table .contain, section.routes-table .contain-sm {
    overflow-x: auto; }
  section.routes-table .table-container {
    min-width: 1050px;
    overflow-x: auto; }

section.tour-operators {
  background: white;
  padding: 35px 0;
  border-bottom: 5px solid var(--color-blue); }
  @media (min-width: 768px) {
  section.tour-operators {
    padding: 85px 0; } }
  section.tour-operators .contain, section.tour-operators .contain-sm {
    overflow-x: auto; }
  section.tour-operators .table-container {
    min-width: 600px;
    overflow-x: auto; }

section.whatsnew {
  padding: 25px 0 50px 0; }
  @media (min-width: 768px) {
  section.whatsnew {
    padding: 65px 0; } }
  section.whatsnew hr {
    display: none; }
  section.whatsnew .news {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 40px; }
  @media (max-width: 767px) {
    section.whatsnew .news .primary {
      margin-right: 8px; } }
  section.whatsnew .news .list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: start;
    justify-content: space-between; }
    section.whatsnew .news .list ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      width: 100%; }
      section.whatsnew .news .list ul li {
        padding: 25px 0;
        border-bottom: 1px solid #c6c6c6; }
        section.whatsnew .news .list ul li:last-child {
          border-bottom: none; }
        section.whatsnew .news .list ul li a {
          display: flex;
          align-items: center;
          gap: 20px;
          text-decoration: none;
          color: inherit; }
        section.whatsnew .news .list ul li a div.img {
          width: 110px;
          aspect-ratio: 1;
          background-size: cover;
          background-repeat: no-repeat;
          background-position: center;
          border-radius: 4px;
          transition: all 0.3s ease-in-out; }
        section.whatsnew .news .list ul li a:hover div.img {
          transform: scale(1.05); }
        section.whatsnew .news .list ul li a span {
          font-weight: 700; }
          section.whatsnew .news .list ul li a span date {
            display: block;
            font-size: 16px;
            color: #909090;
            font-weight: 400; }
    section.whatsnew .news .list a.button {
      align-self: center;
      padding-left: 30px;
      padding-right: 30px; }
  @media (min-width: 1024px) {
    section.whatsnew .news {
      flex-direction: row;
      justify-content: space-between; }
      section.whatsnew .news .primary {
        width: 50%; }
      section.whatsnew .news .list {
        width: 45%;
        position: relative;
        margin-top: -8px; }
        section.whatsnew .news .list ul {
          gap: 30px; }
          section.whatsnew .news .list ul li {
            padding: 0;
            border-bottom: none; }
            section.whatsnew .news .list ul li a {
              gap: 30px; }
            section.whatsnew .news .list ul li a:hover .title {
              text-decoration: underline; }
        section.whatsnew .news .list a.button {
          align-self: end; } }
  @media (min-width: 1300px) {
    section.whatsnew .news {
      margin-top: 50px; }
      section.whatsnew .news .primary {
        width: 58%; }
      section.whatsnew .news .list {
        width: 35%; }
        section.whatsnew .news .list ul li a div.img {
          width: 7vw; } }

body.page1 .whatsnew hr {
  display: block;
  position: relative;
  border-top: 1px solid #c6c6c6;
  opacity: 1;
  margin: 0;
  top: -25px; }
  @media (min-width: 768px) {
  body.page1 .whatsnew hr {
    top: -65px; } }

section.news-releases .showing {
  margin-bottom: 16px; }
  section.news-releases .title-date {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 24px;
    margin-bottom: 8px; }
  section.news-releases .title-date .date {
    opacity: 0.8;
    white-space: nowrap; }
  section.news-releases hr {
    border: none;
    border-top: 1px solid #c0c0c0;
    margin: 16px 0;
    margin: 24px 0; }

section.videos {
  padding: 35px 0; }
  @media (min-width: 768px) {
  section.videos {
    padding: 85px 0; } }
  section.videos h2 {
    margin-bottom: 35px; }
  @media (min-width: 768px) {
    section.videos h2 {
      margin-bottom: 85px; } }
  section.videos .list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 24px; }
  section.videos .list > div {
    position: relative;
    width: 100%;
    aspect-ratio: 1.7777777778; }
    section.videos .list > div iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0; }
  section.videos .video-thumb {
    position: relative;
    display: block; }
  section.videos .video-thumb img {
    display: block;
    width: 100%;
    height: auto; }
  section.videos .video-thumb .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 48px;
    margin-top: -24px;
    margin-left: -34px;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 12px; }
  section.videos .video-thumb .play-button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -6px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #fff; }

form.webform {
  background: white;
  padding: 16px 16px 24px 16px;
  border-radius: 8px;
  box-shadow: var(--shadow); }
  @media (min-width: 768px) {
  form.webform {
    padding: 24px 32px 32px 32px; } }
  form.webform h3 {
    margin-bottom: 1.5rem; }
  form.webform .req {
    color: #f00; }
  form.webform input[type=text], form.webform input[type=email], form.webform input[type=password], form.webform select, form.webform textarea {
    border: 1px solid #d0d5dd;
    border-radius: 4px;
    width: 100%;
    padding: 4px 8px;
    box-shadow: var(--shadow-sm);
    font-size: 1rem; }
  form.webform input[type=radio], form.webform input[type=checkbox] {
    box-shadow: var(--shadow-sm); }
  form.webform .row:not(.no-border) {
    border-bottom: 1px solid #eee; }
  form.webform .section .row:last-child {
    border-bottom: none; }
  form.webform .section {
    padding-top: 24px; }
  form.webform .section:nth-child(odd) {
    background: #f9f9f9; }
  @media (max-width: 767px) {
  form.webform {
    width: calc(100% + 40px);
    margin-left: -20px;
    border-radius: 0;
    padding-left: 4px;
    padding-right: 4px; }
    form.webform .form-check {
      margin-right: 8px; }
      form.webform .form-check label {
        font-size: 14px; } }
  form.webform .error {
    border: 1px solid #f8d7da !important;
    background: #fdf3f4; }
  form.webform .grecaptcha-badge {
    display: none !important; }
  form.webform .form-check-inline:last-of-type {
    margin-right: 0; }
/* scrolling tabs for vendors pages (food & bev), and passenger services */
.hero-tabs {
  margin-bottom: 20px; }
  .hero-tabs .scrollable {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-top: 20px;
    /* this makes more area grabable */
    padding-bottom: 20px;
    padding-right: 35px;
    -ms-overflow-style: none;
    /* IE/Edge */
    scrollbar-width: none;
    /* Firefox */
    cursor: grab; }
  .hero-tabs .scrollable::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */ }
  .hero-tabs .tab {
    background: white;
    border-radius: 4px;
    white-space: nowrap;
    padding: 15px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    height: 70px;
    display: flex;
    align-items: center;
    gap: 16px; }
  .hero-tabs .tab .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(0, 151, 206, 0.302);
    border-radius: 4px;
    transition: all 0.3s ease-in-out; }
    .hero-tabs .tab .icon img {
      display: block;
      height: auto; }
    .hero-tabs .tab .icon .material-icon {
      font-size: 28px; }
  .hero-tabs .tab:hover .icon {
    background: var(--color-blue); }

section.passenger-services {
  padding-bottom: 30px;
  position: relative;
  margin-top: calc(0px - 90px - 40px); }
  @media (min-width: 768px) {
  section.passenger-services {
    padding-bottom: 80px; } }
  section.passenger-services .lounges {
    position: relative;
    background-color: rgba(0, 151, 206, 0.071);
    margin-top: 30px;
    margin-bottom: 34px;
    padding-bottom: 34px; }
  section.passenger-services .lounges .title-bar {
    border-radius: 4px;
    margin-bottom: 5px;
    position: relative;
    top: -30px; }
  @media (min-width: 768px) {
    section.passenger-services .lounges {
      margin-bottom: 75px;
      padding-bottom: 75px; } }
  section.passenger-services .lounges .photos {
    display: grid;
    grid-template-columns: 1fr 0.5fr 0.5fr;
    /* big photo on left, 4 smaller on right */
    grid-template-rows: auto auto;
    /* two rows on the right side */
    gap: 35px;
    /* Make images fill their cell */ }
    section.passenger-services .lounges .photos > .big {
      grid-row: 1 / span 2;
      /* take both rows */
      grid-column: 1; }
    section.passenger-services .lounges .photos > .top-right {
      grid-row: 1;
      grid-column: 2; }
    section.passenger-services .lounges .photos > .mid-right {
      grid-row: 1;
      grid-column: 3; }
    section.passenger-services .lounges .photos > .bottom-left {
      grid-row: 2;
      grid-column: 2; }
    section.passenger-services .lounges .photos > .bottom-right {
      grid-row: 2;
      grid-column: 3; }
    section.passenger-services .lounges .photos img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 4px; }
  section.passenger-services .lounges .info {
    margin-top: 30px; }
    section.passenger-services .lounges .info .button {
      padding-left: 45px;
      padding-right: 45px; }
    section.passenger-services .lounges .info .directions-website {
      margin-top: 28px;
      padding-bottom: 30px;
      margin-bottom: 30px;
      border-bottom: 1px solid #c6c6c6;
      display: flex;
      gap: 20px; }
      section.passenger-services .lounges .info .directions-website p {
        margin: 0; }
      section.passenger-services .lounges .info .directions-website a {
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 5px; }
        section.passenger-services .lounges .info .directions-website a span {
          text-decoration: underline; }
    section.passenger-services .lounges .info ul {
      margin-bottom: 2rem; }
    section.passenger-services .lounges .info .description > *:last-child {
      margin-bottom: 0; }
    @media (min-width: 768px) {
    section.passenger-services .lounges .info {
      margin-top: 66px; }
      section.passenger-services .lounges .info .directions-website {
        border: 0; } }
  section.passenger-services .services {
    display: flex;
    flex-direction: column;
    gap: 34px; }
  section.passenger-services .services .service {
    display: flex;
    flex-direction: column;
    break-inside: avoid; }
    section.passenger-services .services .service .description {
      padding: 25px 30px;
      background: rgba(0, 151, 206, 0.071);
      border-bottom-left-radius: 4px;
      border-bottom-right-radius: 4px;
      word-break: break-word;
      overflow: hidden; }
      section.passenger-services .services .service .description *:last-child {
        margin-bottom: 0; }
  @media (min-width: 1024px) {
    section.passenger-services .services {
      display: block;
      column-count: 2;
      column-gap: 5%; }
      section.passenger-services .services .service {
        margin-bottom: 34px; } }
  section.passenger-services .title-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    font-weight: 700;
    background-color: var(--color-blue);
    color: white;
    font-size: 18px;
    padding: 10px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px; }
  section.passenger-services .title-bar .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: white;
    color: black;
    border-radius: 4px; }
    section.passenger-services .title-bar .icon .material-icon {
      font-size: 28px; }
    section.passenger-services .title-bar .icon img {
      display: block;
      height: auto; }

section.vendors {
  padding-bottom: 30px;
  position: relative;
  margin-top: calc(0px - 90px - 40px); }
  @media (min-width: 768px) {
  section.vendors {
    padding-bottom: 80px; } }
  section.vendors .material-icon {
    font-size: 28px; }
  section.vendors .hero-tabs .tab .icon {
    background: rgba(255, 107, 0, 0.251);
    color: black; }
    section.vendors .hero-tabs .tab .icon .material-icon {
      font-size: 28px; }
  section.vendors .hero-tabs .tab:hover .icon {
    background: var(--color-orange);
    color: white; }
  section.vendors .content {
    display: grid;
    gap: 35px; }
  @media (min-width: 992px) {
    section.vendors .content {
      grid-template-columns: 1fr 1fr; } }
  section.vendors .content .map-column {
    display: none;
    position: relative; }
    @media (min-width: 992px) {
    section.vendors .content .map-column {
      display: block; } }
    section.vendors .content .map-column .sticky {
      position: sticky;
      top: 100px;
      /* adjust based on header height */
      height: calc(100vh - 200px);
      /* full viewport height minus top and bottom offsets */ }
  section.vendors .content .vendors-column {
    display: flex;
    flex-direction: column;
    gap: 35px;
    container-type: inline-size; }
    section.vendors .content .vendors-column .category-section {
      display: flex;
      flex-direction: column;
      gap: 35px; }
    section.vendors .content .vendors-column .category {
      background: var(--color-orange);
      color: white;
      border-radius: 4px;
      white-space: nowrap;
      padding: 15px;
      font-size: 18px;
      font-weight: 700;
      text-decoration: none;
      display: flex;
      align-items: center;
      height: 70px;
      display: flex;
      align-items: center;
      gap: 16px; }
      section.vendors .content .vendors-column .category .icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: white;
        color: black;
        border-radius: 4px;
        transition: all 0.3s ease-in-out; }
        section.vendors .content .vendors-column .category .icon img {
          display: block;
          height: auto; }
        section.vendors .content .vendors-column .category .icon .material-icon {
          font-size: 28px; }
    section.vendors .content .vendors-column .vendors-list {
      display: grid;
      gap: 35px;
      grid-template-columns: 1fr; }
      @container (min-width: 650px) {
    section.vendors .content .vendors-column .vendors-list {
      grid-template-columns: 1fr 1fr; } }
      section.vendors .content .vendors-column .vendors-list .vendor {
        display: flex;
        flex-direction: column;
        background: white;
        border-radius: 4px;
        overflow: hidden; }
        section.vendors .content .vendors-column .vendors-list .vendor.hover .vendor-image {
          background-size: 150%; }
        section.vendors .content .vendors-column .vendors-list .vendor.hover h3 a {
          color: var(--color-red); }
        section.vendors .content .vendors-column .vendors-list .vendor .vendor-image {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          aspect-ratio: 1.4247787611;
          background-size: 140%;
          transition: all 0.3s ease-in-out;
          background-position: center;
          background-repeat: no-repeat; }
        section.vendors .content .vendors-column .vendors-list .vendor .vendor-image.size-contain {
          background-size: calc(100% - 5vw); }
        section.vendors .content .vendors-column .vendors-list .vendor .details {
          padding: 17px 23px;
          display: flex;
          flex-direction: column;
          gap: 8px;
          font-size: 16px; }
        section.vendors .content .vendors-column .vendors-list .vendor .details h3, section.vendors .content .vendors-column .vendors-list .vendor .details p {
          margin: 0; }
        section.vendors .content .vendors-column .vendors-list .vendor .details h3 {
          font-size: 24px;
          margin-bottom: 16px; }
          section.vendors .content .vendors-column .vendors-list .vendor .details h3 a {
            text-decoration: none;
            display: flex;
            justify-content: space-between; }
          section.vendors .content .vendors-column .vendors-list .vendor .details h3 svg {
            flex-shrink: 0; }
        section.vendors .content .vendors-column .vendors-list .vendor .details p {
          display: flex;
          align-items: start;
          gap: 8px; }
        section.vendors .content .vendors-column .vendors-list .vendor .details .material-icon {
          position: relative;
          margin-top: 3px;
          margin-left: -2px;
          font-size: 18px;
          color: var(--color-pink); }
        section.vendors .content .vendors-column .vendors-list .vendor .details .label {
          margin-top: 15px;
          font-size: 14px;
          padding: 2px 7px;
          border-radius: 4px;
          border: 1px solid #000;
          display: inline-block;
          align-self: start;
          font-weight: 700; }
          section.vendors .content .vendors-column .vendors-list .vendor .details .label.open {
            border-color: green;
            color: green; }
  section.vendors #mappedin-map {
    /*
     margin-top: 35px;
     height: calc(100vh - 70px);
     */
    height: 100%; }

.featherlight.vendor-lightbox .featherlight-content {
  width: 100%;
  height: 100%;
  margin: 0;
  max-height: none;
  background: #f6f6f6; }
  .featherlight.vendor-lightbox .featherlight-close-icon.featherlight-close {
    background: white url('/template/icon-close.svg') center center no-repeat;
    background-size: 17px;
    margin: 40px 40px;
    width: 45px;
    height: 45px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center; }
  .featherlight.vendor-lightbox div.header {
    height: 50vh; }
  .featherlight.vendor-lightbox div.header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }
  .featherlight.vendor-lightbox div.content {
    padding-top: 54px;
    padding-bottom: 54px; }
  .featherlight.vendor-lightbox div.content h2 {
    text-transform: uppercase; }
  .featherlight.vendor-lightbox div.content .meta {
    display: flex;
    font-size: 16px;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 0 25px 0; }
    .featherlight.vendor-lightbox div.content .meta a {
      display: flex;
      align-items: center;
      gap: 8px;
      text-decoration: none; }
      .featherlight.vendor-lightbox div.content .meta a span {
        text-decoration: underline; }
    .featherlight.vendor-lightbox div.content .meta img {
      height: 18px;
      width: auto; }
    .featherlight.vendor-lightbox div.content .meta .social {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 15px; }
  .featherlight.vendor-lightbox div.content .category {
    padding: 25px 0;
    border-top: 1px solid #c6c6c6;
    border-bottom: 1px solid #c6c6c6;
    margin-bottom: 50px;
    display: flex;
    gap: 15px;
    align-items: start;
    font-size: 18px; }
    @media (min-width: 992px) {
    .featherlight.vendor-lightbox div.content .category {
      align-items: center; } }
    .featherlight.vendor-lightbox div.content .category .icon {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 40px;
      height: 40px;
      background: rgba(255, 107, 0, 0.251);
      border-radius: 4px; }
      .featherlight.vendor-lightbox div.content .category .icon img {
        display: block;
        height: auto; }
      .featherlight.vendor-lightbox div.content .category .icon .material-icon {
        font-size: 28px; }
  .featherlight.vendor-lightbox div.content .description *:last-child {
    margin-bottom: 0; }
  .featherlight.vendor-lightbox div.footer {
    display: grid;
    padding-bottom: 90px;
    gap: 20px;
    /*
     @media (min-width: 992px) {
     gap: 35px;
     grid-template-columns: 1fr 1fr;
     }
     */ }
  .featherlight.vendor-lightbox div.footer .photos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px; }
    @media (min-width: 992px) {
    .featherlight.vendor-lightbox div.footer .photos {
      gap: 35px; } }
    .featherlight.vendor-lightbox div.footer .photos .photo {
      width: 100%;
      aspect-ratio: 1.1794871795;
      background: #e0e0e0;
      border-radius: 4px;
      overflow: hidden; }
      .featherlight.vendor-lightbox div.footer .photos .photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block; }
      .featherlight.vendor-lightbox div.footer .photos .photo.size-contain {
        padding: 2.5vw; }
        .featherlight.vendor-lightbox div.footer .photos .photo.size-contain img {
          object-fit: contain; }
  .featherlight.vendor-lightbox div.footer .map {
    background: #e0e0e0;
    border-radius: 4px;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .featherlight.vendor-lightbox div.mosaic {
    background-image: url('/template/footer-bg.png');
    background-size: cover;
    height: 12px; }

body.template6 {
  /* terminal map */ }
  body.template6 #mappedin-map {
    top: 95px; }
  body.template6 footer.page-footer {
    display: none;
    /* map extends to bottom of page, so hide the footer */ }
/* USERWAY Accessibility Widget - custom placement */
body .uwy {
  z-index: 100 !important; }
  body .uwy.uon {
    z-index: 2147483647 !important; }

body .uwy.userway_p5 .userway_buttons_wrapper {
  left: auto !important;
  right: 20px !important;
  bottom: 110px !important;
  transition: all 0.3s ease-in-out !important; }
  @media (min-width: 1024px) {
  body .uwy.userway_p5 .userway_buttons_wrapper {
    bottom: 26px !important;
    right: auto !important;
    left: 15px !important;
    top: auto !important; } }

body.scrolled .uwy.userway_p5 .userway_buttons_wrapper {
  display: none !important;
  top: auto !important;
  bottom: 15px !important;
  left: 20px !important;
  right: auto !important; }
  @media (min-width: 1024px) {
  body.scrolled .uwy.userway_p5 .userway_buttons_wrapper {
    bottom: 15px !important; } }

.respond-widget iframe {
  transform: translate(10px, 10px); }
  @media (min-width: 1024px) {
    .respond-widget iframe {
      transform: translate(5px, 5px); } }
