/** Shopify CDN: Minification failed

Line 308:1 Expected "}" to go with "{"

**/
.hero-banner {
  width: 100vw;
  height: calc(85vh - 80px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .hero-banner {
    height: calc(75vh - 80px);
  }
}

.hero-banner__text-overlay,
.hero-banner__image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.hero-banner__text-overlay {
  display: flex;
  gap: 0.5rem;
  padding: 2.5rem 0.9375rem;
}

@media screen and (min-width: 1025px) {

  .hero-banner__text-overlay {
    padding: 2.5rem 3.75rem;
  }
}

.hero-banner__text-overlay .hero-banner__content {
  width: 100%;
  height: 100%;
  display: flex;
  padding: 0;
}

.hero-banner__text {
  padding-bottom: 0;
}

.hero-banner__content--top-left {
  align-items: flex-start;
  justify-content: flex-start;
}

.hero-banner__content--top-center {
  align-items: flex-start;
  justify-content: center;
}

.hero-banner__content--top-right {
  align-items: flex-start;
  justify-content: flex-end;
}

.hero-banner__content--middle-left {
  align-items: center;
  justify-content: flex-start;
}

.hero-banner__content--middle-center {
  align-items: center;
  justify-content: center;
}

.hero-banner__content--middle-right {
  align-items: center;
  justify-content: flex-end;
}

.hero-banner__content--bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.hero-banner__content--bottom-center {
  align-items: flex-end;
  justify-content: center;
}

.hero-banner__content--bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

@media screen and (max-width: 1024px) {
  .hero-banner__text-mobile--left {
    text-align: left;
  }
  
  .hero-banner__text-mobile--center {
    text-align: center;
  }
  
  .hero-banner__text-mobile--right {
    text-align: right;
  }
}

@media screen and (min-width: 1025px) {
  .hero-banner__text--left {
    text-align: left;
  }
  
  .hero-banner__text--center {
    text-align: center;
  }
  
  .hero-banner__text--right {
    text-align: right;
  }
}

.hero-banner__text > * {
  margin: 0.5rem 0;
}

.hero-banner__text > *:last-child {
  margin-bottom: 0;
}

.hero-banner__body-text {
  max-width: 25rem;
  color: rgba(var(--color-foreground), 1);
}

.hero-banner__discover-more {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-self: flex-end;
}

.hero-banner__discover-more span {
  max-width: 5.875rem;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.015rem;
}

.hero-banner__discover-more svg {
  width: 1.5rem;
  height: 100%; 
  animation-duration: 1.6s;
  animation-name: arrowBounce;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}

@keyframes arrowBounce {
  50% {
    transform: translateY(6px);
  }
}

.hero-banner__media {
  --ratio-percent: 56.25%;
  position: relative;
  padding-bottom: calc(var(--ratio-percent) - var(--media-border-width));
}

/* Needed for gradient continuity with or without animation so that transparent PNG images come up as we would expect */
.scroll-trigger:where(.gradient.hero-banner__media) {
  background: transparent;
}

.hero-banner__media.global-media-settings--full-width {
  width: 100vw;
  height: calc(85vh - 80px);
  padding-bottom: var(--ratio-percent);
}

@media screen and (max-width: 768px) {
  .hero-banner__media.global-media-settings--full-width {
    height: calc(80vh - 80px);
  }
}

.hero-banner__media.deferred-media {
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
}

.hero-banner__media.deferred-media:after {
  content: none;
}

.hero-banner__poster.deferred-media__poster:focus {
  outline-offset: 0.3rem;
}

.hero-banner__media iframe {
  width: 177.77777778vh;
  height: 56.25vw;
  min-width: 101%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(var(--color-foreground), 0.03);
  border: 0;
}

.hero-banner__poster,
.hero-banner__media video {
  position: absolute;
  width: 100%;
  height: 100%;
}

.hero-banner__media video {
  background: #000000;
}

.hero-banner__media.media-fit-cover video {
  object-fit: cover;
}

.banner__subheading {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
}

.hero-banner__title.uppercase {
  font-weight: 700;
  text-transform: none;
}

.hero-banner__title.semibold {
  font-weight: 600;
}

@media (min-width: 768px) {
  .hero-banner__alignment {
    padding: 0;
    width: 100%;
    overflow: hidden;
    position: relative;
  }
}

.hero-banner__rating {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}

.hero-banner__stars {
  display: inline-flex;
  gap: 0.3rem;
}

.hero-banner__stars svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}

button.hero-banner__discover-more {
  display: inline-flex;
  align-items: flex-end;
}

.hero-banner__discover-more .hero-banner__stars svg {
  animation: none !important;
  transform: none !important;
}

@media screen and (max-width: 767px) {
  .hero-banner__discover-more .hero-banner__rating,
  .hero-banner__discover-more .hero-banner__stars {
    max-width: none;
  }

  .hero-banner__discover-more .hero-banner__stars {
    gap: 2px;
  }

  .hero-banner__discover-more .hero-banner__stars svg {
    width: 12px;
    height: 12px;
  }
  button.hero-banner__discover-more > svg {
  flex-shrink: 0;
  width: 14px;
  height: 100px;
}

@media screen and (max-width: 767px) {
  button.hero-banner__discover-more > svg {
    width: 11px;
    height: 80px;
  }
}