/* ========================================
   NRO
======================================== */
.locations-page {
  margin: 0;
  padding: 32px 0 32px;
  background: transparent;
  min-height: calc(100vh - 432px);

  .new-locations.container {
    max-width: 880px;
    border-radius: 12px;
    padding: 24px;
  }

  .new-locations p.no-record {
    text-align: center;
    font-family: "TradeGothicLTStd", "Trade Gothic LT Std", sans-serif;
    font-weight: bold;
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .new-locations .tabs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 680px;
    border-radius: 40px;
    flex-wrap: wrap;
  }

  .new-locations .tab {
    flex: 1;
    padding: 8px 12px;
    text-align: center;
    font-family: "TradeGothicLTStd", "Trade Gothic LT Std", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 700;
    color: #606060;
    border-radius: 40px;
    cursor: pointer;
    transition: background 0.25s ease;
    background: #e7e7e7;
  }

  .new-locations .tab a {
    color: inherit !important;
    text-decoration: none;
    text-wrap-mode: nowrap;
    white-space: nowrap;
  }

  .new-locations .tab:not(.active):hover {
    background: #dcdcdc;
  }

  .new-locations .tab.active {
    background: var(--brand-red, #be2f37);
    color: #ffffff;
  }

  .location-card {
    display: flex;
    min-height: 150px;
    margin-bottom: 16px;
    background: transparent;
    border: 1px solid #000;
    border-radius: 16px;
    overflow: hidden;
    flex-direction: column;
  }

  .location-card .card-image {
    flex: 0 0 180px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .location-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* object-fit: cover; */
    display: block;
  }

  .card-content {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    width: 100%;
    padding: 32px;
    flex-direction: column;
  }

  .loc-title {
    font-family: "TradeGothicLTStd-BdCn20";
    font-size: 1.25rem;
    line-height: 1.5;
    font-weight: 700;
    color: var(--brand-red);
    margin-bottom: 0;
  }

  a .loc-title:hover {
    color: black;
  }

  .card-text a {
    text-decoration: underline;
  }

  .card-text a:hover {
    text-decoration: none;
    color: #000;
  }

  .address {
    font-family: "TradeGothicLTStd-Cn18";
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--brand-body-accent-color, #606060);
  }

  .card-status {
    display: flex;
    align-items: center;
  }

  .status-pill {
    padding: 8px 32px;
    border: 2px solid var(--brand-red, #be2f37);
    border-radius: 30px;
    background: transparent;
    font-family: "TradeGothicLTStd-BdCn20";
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--brand-red, #be2f37);
  }

  .comingsoon .status-pill {
    background: var(--brand-red);
    color: #ffffff;
    border: none;
  }

  @media (max-width: 767.98px) {
    .locations-page {
      padding: 20px 0;

      .new-locations.container {
        padding: 16px;
      }

      .new-locations .tabs {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        background: transparent;
        border-radius: 16px;
      }

      .new-locations .tab {
        padding: 12px 0;
        background: #e7e7e7;
      }

      .location-card {
        gap: 10px;
      }

      .card-content {
        display: grid;
        grid-template-rows: auto auto;
        gap: 16px;
        padding: 20px 20px 20px 0;
        justify-content: center;
      }

      .card-text {
        text-align: center;
      }

      .card-status {
        justify-content: center;
        width: 100%;
      }

      .status-pill {
        padding: 6px 14px;
      }
    }
  }

  @media (min-width: 576px) {
    .location-card {
      flex-direction: row;
    }

    .location-card .card-image {
      flex: 0 0 12.5rem;
    }
  }

  @media (min-width: 768px) {
    .new-locations .tabs {
      flex-wrap: nowrap;
      background: #e7e7e7;
    }
  }

  @media (min-width: 992px) {
    .card-content {
      flex-direction: row;
      align-items: center;
    }

    .address {
      margin-bottom: 0;
    }
  }
}


/* ========================================
   ACCESSIBILITY PAGE
======================================== */

.page--accessibility {
  background: #fff;
}

.page--accessibility .container--iframe {
  max-width: 960px;
  padding: 48px 0;
}

.page--accessibility h1 {
  font-family: var(--brand-heading-font, "TradeGothicLTStd-BdCn20, " Helvetica Neue Condensed Bold ", " Arial Narrow Bold ", sans-serif");
  font-size: 2.5rem;
  font-weight: 700;
  line-height: normal;
  color: var(--brand-body-default-color, #303030);
  padding: 8px 0 12px;
  margin-bottom: 40px;
}

@media(max-width: 768px) {
  .page--accessibility h1 {
    font-size: 1.5rem;
    padding: 0 40px;
  }
}



/* ========================================
   HERO IMAGE
======================================== */
.hero-image {

  &::before {
    background-image: linear-gradient(to top, rgb(246, 246, 246, 1) 0%, rgba(0, 0, 0, 0.25) 20%, rgba(0, 0, 0, 0) 100%);
    /* background-image: linear-gradient(to top, rgb(246, 246, 246, 1) 0%, rgba(0, 0, 0, 0.25) 30%, rgba(0, 0, 0, 0) 100%); */
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
  }

  &::after {
    background-image: linear-gradient(to top, rgb(246, 246, 246), rgba(255, 255, 255, 0));
    width: 100%;
    height: 10%;
    position: absolute;
    bottom: -5px;
    left: 0;
    content: "";
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
  }
}

.hero-image,
.hero-video {
  display: flex;
  align-items: center;
}

.hero-video__background-m-video {
  aspect-ratio: 9/16;
  object-fit: cover;
}

.hero-video__background-d-video {
  aspect-ratio: 21/9;
  object-fit: cover;
}

.hero-image__wrapper,
.hero-video__wrapper {
  position: absolute;
  width: 100%;
}

.hero-image__content,
.hero-video__content {
  color: #fff;

  &.text-center .hero-image__cta-group,
  &.text-center .hero-video__cta-group {
    justify-content: center;

    .hero-image__cta,
    .hero-video__cta {
      margin-left: auto;
      margin-right: auto;
    }
  }

  &.text-left .hero-image__cta-group,
  &.text-left .hero-video__cta-group {
    justify-content: start;

    .hero-image__cta,
    .hero-video__cta {
      margin-right: auto;
    }
  }

  &.text-right .hero-image__cta-group,
  &.text-right .hero-video__cta-group {
    justify-content: end;

    .hero-image__cta,
    .hero-video__cta {
      margin-left: auto;
    }
  }
}

.hero-image__heading,
.hero-image__heading-image,
.hero-image__disclaimer,
.hero-video__heading,
.hero-video__heading-image,
.hero-video__disclaimer {
  margin-bottom: 1rem;
}

.hero-image__heading span,
.hero-video__heading span {
  color: #fff;
  font-family: inherit;
  text-transform: uppercase;
}

.hero-image__cta-group,
.hero-video__cta-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hero-image__cta,
.hero-video__cta {
  text-transform: uppercase;
  width: min(100%, 15rem);
}

.hero-video__video-controls {
  &.right-2 {
    right: 2%;
  }

  &.bottom-2 {
    bottom: 2%;
  }
}

.hero-image__cta--primary,
.hero-image__cta--primary:visited,
.hero-video__cta--primary,
.hero-video__cta--primary:visited {
  background: var(--brand-red, #be2f37);
  border: 2px solid var(--brand-red, #be2f37);
  color: #fff;
}

.hero-image__cta--primary:active,
.hero-image__cta--primary:hover,
.hero-image__cta--primary:focus,
.hero-video__cta--primary:active,
.hero-video__cta--primary:hover,
.hero-video__cta--primary:focus {
  background: var(--brand-red-hover, #ec3f47);
  border: 2px solid var(--brand-red-hover, #ec3f47);
  color: #fff;
}

.hero-image__cta--secondary,
.hero-image__cta--secondary:visited,
.hero-video__cta--secondary,
.hero-video__cta--secondary:visited {
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
}

.hero-image__cta--secondary:active,
.hero-image__cta--secondary:hover,
.hero-image__cta--secondary:focus,
.hero-video__cta--secondary:active,
.hero-video__cta--secondary:hover,
.hero-video__cta--secondary:focus {
  border: 2px solid #fff;
  background: #fff;
  color: var(--brand-red, #be2f37);
}

@media (min-width: 768px) {
  .hero-image {
    h1 {
      font-size: 3rem;
    }
  }

  .hero-image__cta-group,
  .hero-video__cta-group {
    display: flex;
    flex-direction: row;
  }
}

@media (min-width: 1200px) {
  .hero-image {
    h1 {
      font-size: 3.5rem;
    }
  }
}




/* ========================================
   OUR STORY 
======================================== */



#page-our-story {

  /* Full width section */
  .full-width-container__intro {
    .full-width-container__heading {
      h2 {
        font-size: 1.5rem;
      }
    }

    @media (min-width:992px) {
      .full-width-container__heading {
        h2 {
          font-size: 2.125rem;
        }
      }
    }


  }

  /* Two Column Layout - Left Content, Right Image: Spotlight */

  .half-image-half-content__spotlight {
    .half-image-half-content__row {
      background: var(--brand-red, #be2f37);
    }

    .half-image-half-content__media {
      img {
        transform: translateY(-10%);
        box-shadow: rgba(0, 0, 0, 0.09) 0px 3px 12px;
        -webkit-transform: translateY(-10%);
        -moz-transform: translateY(-10%);
        -ms-transform: translateY(-10%);
        -o-transform: translateY(-10%);
      }
    }

    .half-image-half-content__content {

      .half-image-half-content__heading {
        color: #FFF;
      }

      .half-image-half-content__description {
        color: #FFF;
        margin-bottom: 2rem;
      }


    }

    @media (min-width:768px) {
      .half-image-half-content__row {
        align-items: center;
        justify-content: center;
      }

      .half-image-half-content__media {
        img {
          transform: none;
          -webkit-transform: none;
          -moz-transform: none;
          -ms-transform: none;
          -o-transform: none;
          -webkit-transform: none;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%;
        }
      }

      .half-image-half-content__content {
        .half-image-half-content__description {
          margin-bottom: 0;
        }
      }

    }

    @media (min-width:992px) {
      .half-image-half-content__heading {
        font-size: 2.125rem;
      }
    }

    @media (min-width:1200px) {
      &.half-image-half-content__container {
        max-width: 960px !important;
      }
    }



  }


  /* Two Column Layout - Left Content, Right Image:: History timeline */

  .half-image-half-content__history {
    .half-image-half-content__heading {
      font-size: 1.5rem;
    }

    .half-image-half-content__media {
      img {
        aspect-ratio: 1/1;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    @media (min-width:768px) {

      .half-image-half-content__row {
        align-items: center;
        justify-content: center;

      }
    }

    @media (min-width:992px) {
      .half-image-half-content__heading {
        font-size: 2.125rem;
      }
    }


  }



  /* PROMOTIONAL CARD SECTION */

  .promo-card-section {
    padding: 80px 0;
    background-color: var(--brand-color-sugar-cane, #EDEDEC) !important;

    .promo-card {
      text-align: center;
      display: flex;
      flex-direction: column;
      margin-bottom: auto;
    }

    .promo-card__title {
      font-family: var(--font-heading, serif);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--brand-red, #be2f37);

      h3 {
        font-size: 1.5rem;
      }
    }

    .promo-card__cta_container {
      display: flex;
      justify-content: center;
    }

    .promo-card__cta {
      color: #fff;
      background: var(--brand-red, #be2f37);
      border: 2px solid var(--brand-red, #be2f37);
      padding: 0.75rem 1.5rem;
      text-transform: uppercase;
      display: inline-block;
    }

    .promo-card__image {
      width: 100%;
      display: block;
      margin-bottom: 1.5rem;
    }

    .promo-card__description {
      font-size: 1rem;
      line-height: 1.8;
      color: #555;
      flex-grow: 1;
      padding: 0 10px;
    }

    .promo-card-content__row {
      display: flex;
      flex-direction: column;
      margin-bottom: 1rem;
    }

    @media (min-width: 768px) {
      .promo-card__title {
        h3 {
          font-size: 1.75rem;
        }
      }
    }

    @media (min-width: 1200px) {
      .promo-card__title {
        h3 {
          font-size: 2.5rem;
        }
      }
    }
  }



}