@font-face {
  font-family: "beyond_infinityregular";
  src: url("/fonts/beyond_infinity-webfont.woff2") format("woff2"),
    url("/fonts/beyond_infinity-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

.beyond-infinity {
  font-family: "beyond_infinityregular" !important;
}

.label {
  align-items: center;
  background: #005faa;
  color: #fff;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.7px;
  line-height: 120%;
  text-transform: uppercase;
  transform: rotate(180deg);
  writing-mode: vertical-lr;
}

.rs-section {
  color: #231f20;
  font-family: Montserrat;
  font-style: normal;
  line-height: 150%;
}

.rs-section .rs-header h1 {
  color: #005faa;
  font-size: 46px;
  font-weight: 700;
  line-height: 110%;
}

.rs-section .rs-header p {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  word-spacing: 3px;
}

.title-image-wrapper {
  flex-shrink: 0;
  height: 620px;
}

.title-image-wrapper img {
  object-fit: cover;
  width: 100%;
}

/* --- BUTTON STYLES --- */
.btn-back-to-top .icon::before {
  color: white;
  content: "\f286";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
}

/* --- PRODUCTS STYLES --- */
.products-container {
  display: flex;
  flex-grow: 1;
  -webkit-overflow-scrolling: touch;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  width: 100%;
}

.products-container::-webkit-scrollbar {
  height: 0;
  width: 0;
}

.carousel-product-card {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  line-height: 21px;
}
.cfRoomProduct-carousel {
  border: 1px solid #dbdbdb;
}
.carousel-product-card .img-circle {
  border-radius: 50%;
  display: inline-block;
  height: 28px;
  margin-right: 5px;
  margin-top: 6px;
  object-fit: cover;
  width: 28px;
}

.carousel-product-card .img-circle.active-img-circle {
  border: 3px solid #231f20;
  box-sizing: border-box;
}

.carousel-product-title {
  font-size: 14px;
  font-weight: 700;
}

.carousel-product-title span {
  font-weight: 400;
}

.carousel-product-blurb {
  font-size: 11px;
  font-weight: 400;
  max-height: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.carousel-product-details-title {
  font-size: 11px;
  font-weight: 700;
}

.carousel-product-details-desc {
  font-size: 11px;
  overflow-wrap: break-word;
}

.carousel-product-img img {
  aspect-ratio: 1/1;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.carousel-product-img p {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.45px;
  line-height: 120%;
  text-align: center;
  text-transform: uppercase;
}

.carousel-scroll-icon {
  color: #fff;
  cursor: pointer;
  font-weight: 100;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.carousel-img {
  left: 0;
  object-fit: cover;
  top: 0;
  width: 100%;
}

/* --- MEDIA QUERIES --- */
@media (max-width: 767px) {
  .carousel-product-card {
    flex: 0 0 100%;
  }
}

@media (max-width: 1200px) {
  .carousel-img {
    height: 140px;
    position: static;
  }

  .carousel-scroll-icon {
    right: 7px;
    top: 20%;
  }
}

@media (min-width: 576px) {
  .extended-container {
    max-width: calc(((100vw - (100vw - 100%) - 540px) / 2) + 540px) !important;
  }
}

@media (min-width: 768px) {
  .extended-container {
    max-width: calc(((100vw - (100vw - 100%) - 720px) / 2) + 720px) !important;
  }
}

@media (min-width: 992px) {
  .extended-container {
    max-width: calc(((100vw - (100vw - 100%) - 960px) / 2) + 960px) !important;
  }
}

@media (min-width: 1200px) {
  .extended-container {
    max-width: calc(
      ((100vw - (100vw - 100%) - 1140px) / 2) + 1140px
    ) !important;
  }

  .carousel-img {
    height: 100%;
  }
}

@media (min-width: 1350px) {
  .extended-container {
    max-width: calc(
      ((100vw - 30px - (100vw - 100%) - var(--component-max-width)) / 2) +
        var(--component-max-width)
    ) !important;
  }
}

.choices-blue {
  color: #005faa !important;
  font-size: 44px !important;
}
