/**
 * Home media gallery styles.
 *
 * Default layout is static; JS only adds the animated mode.
 */
.home-media-gallery {
  position: relative;
  z-index: 10;
}

.home-media-gallery__scroll-indicator {
  display: none;
}

.home-media-gallery__stage {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 2rem;
}

.home-media-gallery__viewport {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}

.home-media-gallery__group {
  position: relative;
  display: grid;
  gap: 1rem;
}

.home-media-gallery__item {
  position: relative;
}
.home-media-gallery__item--primary {
  width: 100%;
}
.home-media-gallery__item--secondary {
  width: min(70%, 32rem);
  margin-top: -15%;
  margin-left: auto;
}

.home-media-gallery__media {
  display: block;
  width: 100%;
  height: auto;
  -webkit-border-radius: 8px;
          border-radius: 8px;
}

.home-media-gallery__video {
  background-color: #1a1a1a;
}

.home-media-gallery--enhanced .home-media-gallery__scroll-indicator {
  position: fixed;
  display: block;
  padding-top: 2rem;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(180deg);
      -ms-transform: translateX(-50%) rotate(180deg);
          transform: translateX(-50%) rotate(180deg);
  z-index: 30;
  -webkit-transition: -webkit-transform 1.3s var(--cubic-transition);
  transition: -webkit-transform 1.3s var(--cubic-transition);
  -o-transition: transform 1.3s var(--cubic-transition);
  transition: transform 1.3s var(--cubic-transition);
  transition: transform 1.3s var(--cubic-transition), -webkit-transform 1.3s var(--cubic-transition);
  pointer-events: none;
}
.home-media-gallery--enhanced .home-media-gallery__scroll-indicator--hidden {
  -webkit-transform: translate(-50%, 150%) rotate(180deg);
      -ms-transform: translate(-50%, 150%) rotate(180deg);
          transform: translate(-50%, 150%) rotate(180deg);
}
.home-media-gallery--enhanced .home-media-gallery__scroll-indicator .fa-kit {
  display: block;
  font-size: 30px;
  -webkit-animation: scrollIndicatorBounce 1.5s ease-in-out infinite;
          animation: scrollIndicatorBounce 1.5s ease-in-out infinite;
}
.home-media-gallery--enhanced .home-media-gallery__stage {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.home-media-gallery--enhanced .home-media-gallery__viewport {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: block;
}
.home-media-gallery--enhanced .home-media-gallery__group {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.home-media-gallery--enhanced .home-media-gallery__item {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}
.home-media-gallery--enhanced .home-media-gallery__item--primary {
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%) scale(0);
      -ms-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary {
  width: 70%;
  margin: 0;
  -webkit-transform: translate(0%, 50%) scale(0);
      -ms-transform: translate(0%, 50%) scale(0);
          transform: translate(0%, 50%) scale(0);
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary.home-media-gallery__item--top-left {
  top: 0;
  left: 0;
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary.home-media-gallery__item--top-right {
  top: 0;
  right: 0;
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary.home-media-gallery__item--bottom-left {
  bottom: 0;
  left: 0;
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary.home-media-gallery__item--bottom-right {
  right: 0;
  bottom: 0;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
}
.home-media-gallery--enhanced .home-media-gallery__item--secondary.home-media-gallery__item--secondary--visible {
  -webkit-transform: translate(15%, 90%) scale(1);
      -ms-transform: translate(15%, 90%) scale(1);
          transform: translate(15%, 90%) scale(1);
  -webkit-transition: -webkit-transform 0.9s var(--cubic-transition);
  transition: -webkit-transform 0.9s var(--cubic-transition);
  -o-transition: transform 0.9s var(--cubic-transition);
  transition: transform 0.9s var(--cubic-transition);
  transition: transform 0.9s var(--cubic-transition), -webkit-transform 0.9s var(--cubic-transition);
}
.home-media-gallery--enhanced .home-media-gallery__media {
  max-height: 100vh;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (max-width: 768px) {
  .home-media-gallery__stage {
    padding: 1.5rem 1rem;
  }
  .home-media-gallery__viewport {
    gap: 2rem;
  }
  .home-media-gallery__item--secondary {
    width: min(80%, 24rem);
    margin-top: -10%;
  }
  .home-media-gallery--enhanced .home-media-gallery__item--primary {
    width: 95%;
  }
  .home-media-gallery--enhanced .home-media-gallery__item--secondary {
    width: 50%;
  }
}
@media (max-width: 480px) {
  .home-media-gallery__item--secondary {
    width: 100%;
    margin-top: 0;
  }
  .home-media-gallery--enhanced .home-media-gallery__item--primary {
    width: 100%;
  }
  .home-media-gallery--enhanced .home-media-gallery__item--secondary {
    width: 60%;
  }
}
@-webkit-keyframes scrollIndicatorBounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
}
@keyframes scrollIndicatorBounce {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
}