:root {
  --product-heading-padding: 1rem;
}

.navigation--fixed-true {
  position: absolute !important;
}

body {
  background: linear-gradient(172deg, rgba(0, 0, 0, 1) 6%, rgba(85, 71, 64, 1) 21%, rgba(85, 71, 64, 1) 26%, rgba(0, 0, 0, 1) 42%, rgba(0, 0, 0, 1) 53%, rgba(124, 77, 47, 1) 74%, rgba(124, 77, 47, 1) 79%, rgba(0, 0, 0, 1) 96%);
}

#product-line {
  position: absolute;
  top: 115vh;
  width: 10%;
  left: -20px;
  z-index: -1;
  transform: translateY(-50%);
}

#overview-line {
  top: unset !important;
  bottom: 150vh;
}

/* Main wrapping element */
.navigation--absolute-true ~ .product__transparent-header {
  margin-top: calc(var(--header-height, 0rem) - 5px);
}

.product__fixed-header {
  top: calc((var(--header-height, 0rem) - 5px) + var(--announcement-height, 0rem))!important;
}

.fixed-nav-scrolled .product__fixed-header {
  top: calc((var(--header-height, 0rem) - 1.25rem) - 5px) !important; /* 0.75rem = fixed header vertical padding (3rem - 1.75rem) */
}

.fixed-nav-scrolled .product__announcement-bar-header-fixed {
  top: calc((var(--header-height, 0rem) - 1.25rem) + var(--announcement-height, 0rem) - 5px) !important; /* 0.75rem = fixed header vertical padding (1.5rem - 1.75rem) */
}

.product__announcement-bar-fixed {
  top: calc(var(--announcement-height, 0rem) - 5px) !important;
}

.product__announcement-bar-header-fixed {
  top: calc((var(--header-height, 0rem) + var(--announcement-height, 0rem)) - 5px) !important;
}

.product__announcement-bar-fixed-header-unfixed {
  margin-top: calc(var(--announcement-height, 0rem) * 2.5);
}

@media (min-width: 1000px) {
  :root {
    --product-heading-padding: 2rem;
  }

  .fixed-nav-scrolled .product__fixed-header {
    top: calc((var(--header-height, 0rem) - 2.5rem) - 1px) !important; /* 2.5rem = fixed header vertical padding (4rem - 1.5rem) */
  }

  .fixed-nav-scrolled .product__announcement-bar-header-fixed {
    top: calc((var(--header-height, 0rem) - 2.5rem) + var(--announcement-height, 0rem) - 1px) !important; /* 2.5rem = fixed header vertical padding (4rem - 1.5rem) */
  }

  .product__announcement-bar-fixed-header-unfixed {
    margin-top: calc(var(--announcement-height, 0rem) * 2.5);
  }
}

/* Jumpbar */
.product__jumpbar {
  position: sticky;
  top: -1px;
  z-index: 3;
  transition: top 0.2s ease-in-out;
}

.product__jumpbar-inner {
  height: 100%;
  width: 100%;
}

.product__jumpbar-items {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.product__jumpbar-item-label {
  color: currentColor;
  text-transform: uppercase;
  padding: 1rem;
  text-decoration: none;
  background-color: transparent;
}

/* ## SECTIONS */

/* # Intro */
.product__intro {
  position: relative;
}

.product__intro-content-container {
  height: calc(100vh - var(--booking-bar-height));
  height: calc(100svh - var(--booking-bar-height));
  display: flex;
  justify-content: center;
  align-items: center;
}

.product__intro-content-text {
  position: relative;
  z-index: 2;
}

.product__intro-subheader,
.product__intro-header {
  grid-column: 1 / 5;
  padding-bottom: 0.9375rem;
}

.product__intro-header {
  padding-top: 3rem;
}

.product__intro-text {
  grid-column: 1 / 5;
}

.product__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.product__image img,
.product__image figure {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product__image figure::before,
.product__image figure::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(var(--header-height) * 2);
}

.product__image figure::before {
  top: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 100%) 0%, rgba(0, 0, 0, 0%) 100%);
}

.product__image figure::after {
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0%) 0%, rgba(0, 0, 0, 100%) 100%);
}

.product__image::before {
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 1;
}

.product__intro-link-container {
  position: absolute;
  left: 0;
  bottom: 0;
}

.product__intro-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}

.product__intro-link .chevron {
  width: fit-content;
}

@media (min-width: 1000px) {
  .product__intro-subheader {
    grid-column: 3 / 11;
    padding-bottom: 0.9375rem;
  }

  .product__intro-header {
    grid-column: 1 / 13;
    padding-bottom: 1.5625rem;
  }

  .product__intro-text {
    grid-column: 5 / 9;
  }
}

/* # Overview */
.product__overview-content-container {
  row-gap: 2.5rem;
}

.product__overview-left-column,
.product__overview-right-column {
  grid-column: 1 / 5;
}

.product__overview-header {
  padding-bottom: var(--product-heading-padding);
}

.product__overview-text {
  white-space: pre-line;
}

.product__videos-swiper-container {
  overflow: hidden;
  position: relative;
}

.product__overview__swiper-navigation {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  padding: 1rem;
  z-index: 2;
  width: 100%;
  justify-content: space-between;
}

@media (min-width: 1000px) {
  .product__overview-left-column {
    grid-column: 1 / 7;
  }

  .product__overview-right-column {
    grid-column: 8 / 12;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* # Booking bar (sticky bottom) */
.product__bar {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  border-bottom: 1px solid white;
}

.product__bar-content-container {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.product__bar-left {
  width: 100%;
}

.product__bar-right {
  display: flex;
  align-items: flex-end;
  gap: 0.625rem;
  justify-content: flex-end;
  width: 100%;
}

.product__bar-right-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.product__bar-button-outer {
  flex-shrink: 0;
}

.product__bar-details {
  display: flex;
  flex-direction: column;
  font-size: 0.5rem;
}

.product__bar-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

  .product__bar-banner-label {
    display: inline-block;
    background-image: url('https://static.myeasol.net/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ImYwYWE5NDI2LTA4NDktNGNiMy05NzNhLTVlYjExMGRiMDdhMiIsInB1ciI6ImJsb2JfaWQifX0=--2e4d719c802f9f674573289c5bac4d1fe47c68b8/button-gradient.png');
    background-size: cover;
    background-repeat: no-repeat;
    color: rgb(255, 255, 255);
    padding: 0.216em 1em;
    border-radius: 3px;
  }

@media (min-width: 1000px) {
  .product__bar-details {
    display: block;
    padding-top: 0.21875rem;
    gap: 0.625rem;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .product__bar-banners {
    display: flex;
    gap: 0.625rem;
    padding-bottom: 0.4375rem;
  }

  .product__bar-price {
    display: block;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0;
  }
}

/* # Highlights */
.product__highlights-content-container {
  isolation: isolate;
}

.product__highlights-left-column {
  grid-column: 1 / 5;
}

.product__highlights-right-column {
  grid-column: 1 / 5;
}

@media (min-width: 1000px) {
  .product__highlights-left-column {
    grid-column: 1 / 5;
  }

  .product__highlights-right-column {
    grid-column: 6 / 13;
  }
}

/* Highlights navigation */
.product__highlights__swiper-navigation {
  padding-top: calc(1.5625rem - var(--wysiwyg-padding));
  padding-bottom: 2.1875rem;
}

@media (min-width: 1000px) {
  .product__highlights__swiper-navigation {
    padding-bottom: 0;
  }
}

/* Highlights pagination bar */
:root {
  --product__highlights-border-height: 0.0625rem;
  --product__highlights-bar-height: 0.1875rem;
}

.product__highlights-pagination-bar {
  margin-bottom: 2.5rem;
  border-bottom: solid var(--product__highlights-border-height) currentColor;
}

.product__highlights-pagination-header {
  padding-bottom: 1.25rem;
}

.product__highlights-pagination-inner {
  display: flex;
}

.product__highlights-pagination-item {
  opacity: 0.4;
  cursor: pointer;
  flex: 1 1 auto;
  margin-bottom: calc(
    var(--product__highlights-bar-height) / -2 +
      var(--product__highlights-border-height) / -2
  );
}

.product__highlights-pagination-item.active {
  opacity: 1;
  border-bottom: solid var(--product__highlights-bar-height) currentColor;
}

.product__highlights-pagination-item-header {
  display: none;
}

@media (min-width: 1000px) {
  .product__highlights-pagination-header {
    padding-bottom: 1.75rem;
  }

  .product__highlights-pagination-inner {
    gap: 2.5rem;
  }

  .product__highlights-pagination-item {
    flex: unset;
  }

  .product__highlights-pagination-item-header {
    display: block;
    padding-bottom: 1.75rem;
  }
}

/* Highlights text slider */
.product__highlights-slide-header {
  padding-bottom: 0.9375rem;
}

@media (min-width: 1000px) {
  .product__highlights-slide-header {
    display: none;
  }
}

/* Highlights image slider */
.product__highlights-slide-images {
  display: grid;
  grid-column-gap: var(--x-spacer-small);
  grid-template-columns: repeat(4, 1fr);
}

.product__highlights-slide-image {
  grid-column: 1 / 5;
}

@media (min-width: 1000px) {
  .product__highlights-slide-images {
    grid-template-columns: repeat(7, 1fr);
  }

  .product__highlights-slide-image.single {
    grid-column: 1 / 8;
  }
}

/* # Hosts */
.product__hosts-content-container {
  grid-row-gap: var(--product-heading-padding);
}

.product__hosts-items-container,
.product__hosts-center-column {
  grid-column: 1 / 5;
  padding-bottom: var(--product-heading-padding);
}

.product__hosts-item {
  position: relative;
}

.product__hosts-item:hover .product__hosts-img::before {
  opacity: 0;
}

.product__hosts-img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('https://static.myeasol.net/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6IjZlOTEzOGFiLTMxNmItNDAyNi04NmU4LTg0YTVkZGYyNzZlYSIsInB1ciI6ImJsb2JfaWQifX0=--314f2bb4b4a0a2b34a5ad2c8087c7f957cb51e0b/img-gradient.png');
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
  opacity: 1;
  transition: 0.2s opacity ease-in-out;
}

.product__hosts-name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.product_hosts-insta {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 2;
}

.product__hosts-swiper-slide {
  padding: 0 calc(var(--x-spacer-small)/2);
}

.product__hosts-items-container {
  position: relative;
}

.product__hosts-swiper {
  overflow: auto;
}

.product__hosts .swiper-navigation {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  justify-content: space-between;
  z-index: 2;
  padding: 0 var(--x-spacer);
  transform: translate(0, -50%);
}

@media (min-width: 1000px) {
  .product__hosts-center-column,
  .product__hosts-items-container {
    grid-column: 1 / 13;
  }

  .product__hosts-items-container-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--x-spacer-small);
  }

  .product__hosts-items-container-flex .product__hosts-item {
    width: 100%;
    max-width: 25vw;
  }

  .product__hosts .swiper-slide:not(.swiper-slide-active) .product__hosts-item {
    transform: scale(0.85);
  }


}

/* # Included */
.product__included-list-header,
.product__included-list-left,
.product__included-list-right {
  grid-column: 1 / 5;
}

.product__included-content-container {
  grid-row-gap: var(--product-heading-padding);
}

.product__included-header, .product__included-list-title {
  text-align: center;
}

.product__included__plus {
  margin-left: 1.375rem;
  flex-shrink: 0;
}

.product__included-item {
  display: flex;
  gap: 0.625rem;
  padding-bottom: 0.625rem;
  align-items: center;
}

.product__not-included {
  opacity: 0.5;
}

@media (min-width: 1000px) {

  .product__included-list-header {
    grid-column: 4 / span 6;
  }

  .product__included-header, .product__included-list-title {
    text-align: left;
  }

  .product__included-list-left {
    grid-column: 4 / span 3;
  }

  .product__included-list-right {
    grid-column: 7 / span 3;
  }

  .product__included__plus {
    margin-left: 5.3125rem;
  }

  .product__included-main {
    border-right: 1px solid white;
  }
}

/* # Variants */
.product__variants-heading {
  padding-bottom: var(--product-heading-padding);
}

.product__variants-items {
  row-gap: 1.25rem;
}

.product__variants .experience-card {
  grid-column: 1 / span 4;
}

.product__variants .experience-card__simple-button {
  width: 100%;
}

@media (min-width: 1000px) {
  .product__variants .experience-card {
    grid-column: 2 / span 10;
  }
}

/* # Location */
.product__location__content-container {
  row-gap: 2.5rem;
}

.product__location__left-column,
.product__location__right-column {
  grid-column: 1 / 5;
}

.product__location__map {
  color: var(--body-color);
  aspect-ratio: 3.5 / 2;
  width: 100%;
}

.product__location__map:empty {
  display: none;
}

.product__location__map .gm-ui-hover-effect {
  outline: 0 !important;
}

@media (min-width: 1000px) {
  .product__location__left-column {
    grid-column: 1 / 7;
  }

  .product__location__right-column {
    grid-column: 8 / 12;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* # Extras */
.product__extras-heading {
  padding-bottom: var(--product-heading-padding);
}

.product__extras-items {
  row-gap: 1.25rem;
}

.product__extras .experience-card {
  grid-column: span 4;
}

@media (min-width: 1000px) {
  .product__extras-items--1 .product__experience-card--1 {
    grid-column: 5 / 9;
  }

  .product__extras-items--2 .product__experience-card--1 {
    grid-column: 3 / 7;
  }

  .product__extras-items--2 .product__experience-card--2 {
    grid-column: 7 / 11;
  }
}

/* # Gallery */
.product__gallery-heading {
  padding-bottom: var(--product-heading-padding);
}

.product__gallery-swiper
  .product__gallery-swiper-pagination.swiper-pagination-bullets {
  bottom: 1.4375rem;
  display: flex;
  justify-content: center;
  gap: calc(0.4375rem + 0.085rem * 2);
}

.product__gallery-swiper-pagination--bullet {
  border-radius: 0;
  width: calc(1.25rem - 0.085rem * 2);
  height: calc(1.25rem - 0.085rem * 2);
  outline: 0.085rem solid currentColor;
  opacity: 1;
  cursor: pointer;
}

.product__gallery-swiper-pagination--bullet-active {
  border: 0.165rem solid;
}

@media (min-width: 1000px) {
  .product__gallery-heading {
    padding-bottom: var(--product-heading-padding);
  }

  .product__gallery-swiper
    .product__gallery-swiper-pagination.swiper-pagination-bullets {
    bottom: 2.5rem;
    gap: calc(0.4375rem + 0.10625rem * 2);
  }

  .product__gallery-swiper-pagination--bullet {
    width: calc(1.5625rem - 0.10625rem * 2);
    height: calc(1.5625rem - 0.10625rem * 2);
    outline: 0.10625rem solid currentColor;
  }

  .product__gallery-swiper-pagination--bullet-active {
    border: 0.20625rem solid;
  }

  .product__gallery-img {
    aspect-ratio: 16 / 9;
  }
}

/* # Trip tips */
.product__tips-heading {
  padding-bottom: var(--product-heading-padding);
}

.product__tips-items {
  row-gap: 1.25rem;
}

.product__tips-item {
  grid-column-end: span 4;
}

.product__tips-item-image {
  margin-bottom: 1.25rem;
}

.product__tips-item-header {
  padding-bottom: 0.625rem;
}

@media (min-width: 1000px) {
  .product__tips-heading {
    padding-bottom: var(--product-heading-padding);
  }
}

/* # Reviews */
.product__reviews-content-container {
  isolation: isolate;
}

.product__reviews-items-container {
  overflow: hidden;
}

.product__reviews-swiper {
  overflow: visible;
}

.product__reviews-heading {
  padding-bottom: var(--product-heading-padding);
  text-align: center;
}

.product__reviews-item {
  padding: 0 calc(var(--x-spacer-small)/2);
}

.product__reviews-image-wrapper {
  position: relative;
}

.product__reviews-image-wrapper::before {
  content: '';
  background-image: url('https://static.myeasol.net/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6IjJhZTVhNzBlLWZjOTEtNDI2YS05OWZkLTRkNzcxNmQxMGU5OSIsInB1ciI6ImJsb2JfaWQifX0=--f3a723ec71fb30c40a06a05e36e07f8111754b55/waves.svg');
  position: absolute;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  width: 208px;
  height: 58px;
  top: -20px;
  left: -20px;
}

.product__reviews-item-inner {
  padding-top: 29px;
}

.product__reviews-image {
  margin-bottom: 1.25rem;
}

.product__reviews-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product__review-header {
  padding-bottom: 0.625rem;
}

.product__reviews-items-container  {
  position: relative;
}

.product__reviews .swiper-navigation {
  position: absolute;
  top: 25%;
  left: 0;
  width: 100%;
  justify-content: space-between;
  z-index: 2;
}

@media (min-width: 1000px) {

  .product__reviews-item-inner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: var(--x-spacer);
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .product__reviews-image-wrapper,
  .product__reviews-item-content {
    width: 40%;
  }

  .product__reviews .swiper-navigation {
    top: 50%;
  }
  
}

/* # Faq */
.product__faq-header-column,
.product__faq-main-column  {
  grid-column: 1 / 5;
}

.product__faq-header {
  text-align: center;
}

.product__faq-accordion-item {
  padding: 0.5rem 0;
  border-bottom: solid 0.0625rem currentColor;
}

.product__faq-accordion-item:first-of-type {
  border-top: solid 0.0625rem currentColor;
}

.product__faq-accordion-top {
  display: flex;
  width: 100%;
  justify-content: space-between;
  text-align: left;
}

.product__faq__plus {
  margin-left: 1.375rem;
  flex-shrink: 0;
}

.product__faq-accordion-top.active .product__faq__plus {
  transform: rotate(45deg);
}

.product__faq-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-in-out;
  display: grid;
  grid-column-gap: var(--x-spacer-small);
  grid-template-columns: repeat(4, 1fr);
}

.product__faq-accordion-text {
  grid-column: 1 / 5;
  padding-top: 0.5rem;
}

.product__faq-content-container {
  grid-row-gap: var(--product-heading-padding);
}

@media (min-width: 1000px) {
  .product__faq-header-column,
  .product__faq-main-column {
    grid-column: 4 / span 6;
  }

  .product__faq-accordion-item {
    border-bottom: solid 0.0625rem currentColor;
  }

  .product__faq__plus {
    margin-left: 5.3125rem;
  }

  .product__faq-accordion-content {
    grid-template-columns: repeat(7, 1fr);
  }

  .product__faq-accordion-text {
    grid-column: 1 / 7;
    padding-top: 1.875rem;
  }

  .product__faq-header {
    text-align: left;
  }

  .product__faq-accordion-header {
    font-size: 1.4375rem;
    line-height: 1.2;
  }
}

/* # Multiple Accommodations */
.product__multiple-pagination-item.active {
  border-bottom-color: currentColor;
}

.product__multiple-content-container {
  isolation: isolate;
}

.product__multiple-left-column {
  grid-column: 1 / 5;
}

.product__multiple-right-column {
  grid-column: 1 / 5;
}

.product__multiple-name {
  margin-bottom: 1rem;
  line-height: .85;
}

.product__multiple-location {
  display: inline-block;
  position: relative;
  margin-right: .25rem;
}

.product__multiple-location + .product__multiple-location {
  padding-left: .85rem;
}

.product__multiple-location + .product__multiple-location:before {
  position: absolute;
  content: "•";
  left: 0;
}

@media (min-width: 1000px) {
  .product__multiple-left-column {
    grid-column: 1 / 5;
  }

  .product__multiple-right-column {
    grid-column: 6 / 13;
  }
}

/* navigation */
.product__multiple__swiper-navigation {
  padding-top: calc(1.5625rem - var(--wysiwyg-padding));
  padding-bottom: 2.1875rem;
  order: 1;
}

@media (min-width: 1000px) {
  .product__multiple__swiper-navigation {
    padding-bottom: 0;
  }

  .product__multiple__swiper-navigation {
    order: 2;
  }
}

/* pagination bar */
:root {
  --product-multiple-border-height: 0.0625rem;
  --product-multiple-bar-height: 0.1875rem;
}

.product__multiple-pagination-bar {
  margin-bottom: 1.5rem;
  border-bottom: solid var(--product-multiple-border-height);
}

.product__multiple-pagination-header {
  padding-bottom: 1.25rem;
}

.product__multiple-pagination-inner {
  display: flex;
}

.product__multiple-pagination-item {
  opacity: 0.4;
  cursor: pointer;
  flex: 1 1 auto;
  margin-bottom: calc(var(--product-multiple-bar-height) / -2 + var(--product-multiple-border-height) / -2);
}

.product__multiple-pagination-item.active {
  opacity: 1;
  border-bottom: solid var(--product-multiple-bar-height) currentColor;
}

.product__multiple-pagination-item-header {
  display: none;
}

@media (min-width: 1000px) {
  .product__multiple-pagination-bar {
    margin-bottom: 2.5rem;
  }

  .product__multiple-pagination-header {
    padding-bottom: 1.75rem;
  }

  .product__multiple-pagination-inner {
    gap: 2.5rem;
  }

  .product__multiple-pagination-item {
    flex: unset;
  }

  .product__multiple-pagination-item-header {
    display: block;
    padding-bottom: 1.75rem;
  }
}

/* text slider */
.product__multiple-slide-copy {
  display: flex;
  flex-direction: column;
}

.product__multiple-slide-copy-text {
  order: 2;
}

.product__multiple-slide-header {
  padding-bottom: 0.9375rem;
}

@media (min-width: 1000px) {
  .product__multiple-slide-header {
    display: none;
  }

  .product__multiple-slide-copy-text {
    order: 1;
    margin-bottom: 1rem;
  }
}

/* image slider */
.product__multiple-slide-images {
  display: grid;
  grid-column-gap: var(--x-spacer-small);
  grid-template-columns: repeat(4, 1fr);
}

.product__multiple-slide-image {
  grid-column: 1 / 5;
}

.product__multiple-slide-image.double:last-of-type {
  display: none;
}

@media (min-width: 1000px) {
  .product__multiple-slide-images {
    grid-template-columns: repeat(7, 1fr);
  }

  .product__multiple-slide-image.single {
    grid-column: 1 / 8;
  }

  .product__multiple-slide-image.double:first-of-type {
    grid-column: 1 / 5;
  }

  .product__multiple-slide-image.double:last-of-type {
    display: block;
    grid-column: 5 / 8;
  }
}

/* # Venue */
.product__venue {
  text-align: center;
}

.product__venue__header,
.product__venue__subtext {
  padding-bottom: 0.9375rem;
}

.product__venue__column,
.product__venue__column--wide,
.product__venue__image-box {
  grid-column: 1 / 13;
}

.product__venue__column {
  margin-bottom: calc(1rem - var(--wysiwyg-padding));
}

@media (min-width: 1000px) {
  .product__venue__header,
  .product__venue__subtext {
    padding-bottom: 1.5625rem;
  }

  .product__venue__column {
    margin-bottom: calc(2.25rem - var(--wysiwyg-padding));
  }

  .product__venue__column {
    grid-column: 4 / 10;
  }

  .product__venue__column--wide {
    grid-column: 2 / 12;
  }
}

/* # Blog */
.product__blog-content-container {
  row-gap: 1.25rem;
}

.product__blog-left-column,
.product__blog-right-column {
  grid-column: 1 / 13;
  margin-bottom: var(--x-spacer-small);
}

.product__blog-heading,
.product__blog-overview {
  padding-bottom: var(--product-heading-padding);
  text-align: center;
}

.product__blog-image {
  margin-bottom: 1.25rem;
}

.product__blog-subheader {
  padding-bottom: 0.625rem;
}

.product__blog-link {
  display: block;
  padding-bottom: 0.625rem;
  transition: text-decoration 0.2s ease-in-out;
}

.product__blog-link:link:hover {
  text-decoration: underline;
}

@media (min-width: 1000px) {
  .product__blog-left-column {
    grid-column: 1 / 9;
  }

  .product__blog-right-column {
    grid-column: 9 / 13;
  }

  .product__blog-heading,
  .product__blog-overview {
    padding-bottom: var(--product-heading-padding);
  }
}

/* # Dates */
.product__dates-heading {
  width: 100%;
  text-align: center;
  padding-bottom: var(--product-heading-padding);
}

.product__dates__pagination-wrapper {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 1.25rem;
}

.product__dates__pagination {
  font-size: 0.8rem;
  line-height: 1.33;
  letter-spacing: 0.0833em;
  text-transform: uppercase;
}

.product__dates__separator {
  line-height: 1;
}

.product__dates__pagination-wrapper .current {
  font-weight: bold;
}

.product__dates-list turbo-frame {
  position: relative;
}

.product__dates-list turbo-frame[busy] > * {
  opacity: 0.25;
  pointer-events: none;
}

.product__dates-list-inner {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.product__dates-list turbo-frame[busy]::after {
  animation: spinner 0.6s linear infinite;
  border-radius: 50%;
  content: '';
  display: block;
  height: 2.5rem;
  left: calc(50% - 1.25rem);
  position: absolute;
  top: calc(50% - 1.25rem);
  width: 2.5rem;
  z-index: 1;
}

@media (min-width: 1000px) {
  .product__dates-list-inner {
    margin: 0 auto;
    max-width: 50%;
  }
}

/* # Schedule */
.product__schedule-heading {
  padding-bottom: var(--product-heading-padding);
  text-align: center;
}

.product__schedule-overview {
  text-align: center;
  padding: 0 var(--x-spacer);
}

.product__schedule-accordion-item {
  border-bottom-color: currentColor;
}

.product__schedule-accordion-item:first-of-type {
  border-top-color: currentColor;
}

.product__schedule-left-column {
  grid-column: 1 / 5;
  position: relative;
}

.product__schedule-right-column {
  grid-column: 1 / 5;
}

.product__schedule-accordion-item {
  padding: 1.25rem 0;
  border-bottom: solid 0.0625rem;
}

.product__schedule-accordion-item:first-of-type {
  border-top: solid 0.0625rem;
}

.product__schedule-accordion-top {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  text-align: left;
}

.product__schedule__plus {
  margin-left: 1.375rem;
  flex-shrink: 0;
}

.product__schedule .check {
  width: 0.75rem;
  height: 0.75rem;
}

.product__schedule-accordion-top.active .product__schedule__plus {
  transform: rotate(45deg);
}

.product__schedule-accordion-bottom {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-in-out;
}

.product__schedule-accordion-content,
.product__schedule-accordion-text,
.product__schedule-text-body,
.product__schedule-include-list,
.product__schedule-include-list .weight-bold {
  padding-bottom: 1.25rem;
}

.product__schedule-included-item {
  padding-bottom: .65rem;
}

.product__schedule-image-container {
  margin-bottom: 3.125rem;
}

.product__schedule-item-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.product__schedule-item:not(.active) {
  display: none;
}

.product__schedule-days {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.button-schedule-day.active {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.button-schedule-day:not(.active) {
  opacity: 0.5;
}

.product__schedule-select-label {
  font-size: 0.75rem;
  text-align: center;
  width: 100%;
  display: block;
}

.product__schedule-grid {
  grid-row-gap: var(--x-spacer-small);
}

@media (min-width: 1000px) {

  .product__schedule-select-label {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 0 0;
    transform: rotate(-90deg) translate(-100%, -120%);
    width:fit-content;
  }

  .product__schedule-days {
    flex-direction: column;
    padding-left: 0.5rem;
    width: fit-content;
    margin-top: 0;
  }

  .button-schedule-day {
    font-size: 1.25rem;
  }

  .product__schedule-item-inner {
    flex-direction: row;
    align-items: flex-start;
  }

  .product__schedule-item-image-outer, .product__schedule-item-content-outer {
    width: 50%;
  }

  .product__schedule-overview {
    width: 33.33%;
    padding: 0;
    margin: 0 auto;
  }

  .product__schedule-left-column {
    grid-column: 3 / 4;
  }

  .product__schedule-right-column {
    grid-column: 4 / 11;
  }

  .product__schedule-accordion-item {
    padding: 1.875rem 0;
  }

  .product__schedule-accordion-header {
    font-size: 2.25rem;
    line-height: 1;
  }

  .product__schedule__plus {
    margin-left: 5.3125rem;
  }

  .product__schedule-accordion-content {
    padding-top: 1.875rem;
    display: flex;
    gap: 1.25rem;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .product__schedule-accordion-text {
    width: 50%;
    padding-bottom: 0;
  }

  .product__schedule-image-container {
    margin-bottom: 0;
  }

  .product__schedule figure {
    aspect-ratio: 2/3;
  }
}

@keyframes spinner {
  to { transform: rotate(360deg); }
}

/* Videos */

.product__videos-header-container {
  padding-bottom: var(--product-heading-padding);
}

.product__videos-swiper-container {
  position: relative;
}

.product__videos-video iframe {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.product__videos .swiper-navigation {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  justify-content: space-between;
  z-index: 2;
  padding: 0 var(--x-spacer);
  transform: translate(0, -50%);
}

.product__videos-video {
  position: relative;
  transform: scale(0.85);
}

.product__videos .product__videos-video::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('https://static.myeasol.net/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6IjZlOTEzOGFiLTMxNmItNDAyNi04NmU4LTg0YTVkZGYyNzZlYSIsInB1ciI6ImJsb2JfaWQifX0=--314f2bb4b4a0a2b34a5ad2c8087c7f957cb51e0b/img-gradient.png');
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
  opacity: 1;
  transition: 0.2s opacity ease-in-out;
}

.product__videos .swiper-slide-active .product__videos-video {
  transform: scale(1);
}

.product__videos .swiper-slide-active .product__videos-video::before {
  opacity: 0;
  pointer-events: none;
}

.product__videos__swiper-navigation {
  pointer-events: none;
}

.product__videos__swiper-navigation-prev, .product__videos__swiper-navigation-next {
  pointer-events: all;
}

/* Global Info */

.product__global-info-contents {
  padding: var(--x-spacer-small);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--x-spacer);
}

.product__global-info-image, .product__global-info-header {
  margin-bottom: 1.5rem;
}

.product__global-info-header {
  margin-bottom: 0.75rem;
}

.product__global-info-image img {
  height: 3.5rem !important;
  width: auto !important;
}

@media (min-width: 1000px) {
  .product__global-info-contents {
    padding: var(--x-spacer);
    max-width: 80%;
    margin: 0 auto;
    flex-direction: row;
    align-items: flex-start;
  }
}

/* Other */

.product__schedule-overview {
  margin-bottom: 1.5625rem !important;
}

@media (min-width: 1000px) {
  
  .product__hosts-content-container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: var(--x-spacer-small);
  }
  
  .product__hosts-content-container .default-grid {
    display: flex;
    flex-direction: column;
    grid-column-start: span 3;
  }
  
  .product__hosts-img img {
    object-fit: cover;
    aspect-ratio: 4/5;
  }
  
  .product__schedule-overview {
    margin-bottom: 3.125rem !important;
  }
  
  .product__hosts-center-column {
    padding-bottom: 0 !important;
  }
  
}
