/* Lightbox Modal */
.lightbox {
  background: hsl(345, 6%, 13%);
  z-index: 9999999 !important;
}
@media (min-width: 960px) {
  .lightbox {
    background: rgba(16, 16, 16, 0.93);
    backdrop-filter: grayscale(100%);
  }
}
.lightbox img {
  object-fit: contain;
  width: auto;
  width: 88vw;
  height: auto;
}
@media (min-width: 640px) {
  .lightbox img {
    height: 80vh;
  }
}

.lightbox-content {
  transition: all 0.2s linear;
}
.lightbox-content iframe, .lightbox-content video {
  width: 90vw;
  aspect-ratio: 16/9;
  object-fit: contain;
  background-color: rgb(31, 31, 31);
}
@media (min-width: 640px) {
  .lightbox-content iframe, .lightbox-content video {
    width: 65vw;
  }
}

/* Navigation Buttons */
.nav-btn {
  top: 50%;
  transform: translateY(-50%);
  padding: 10px 30px 10px 30px;
  height: 85vh;
}
@media (min-width: 640px) {
  .nav-btn {
    display: block;
  }
}

/* Close Button */
.close {
  top: 18px;
  right: 23px;
}
@media (min-width: 640px) {
  .close {
    top: 30px;
    right: 30px;
  }
}

/* Thumbnail Navigation */
.thumbs-container {
  display: none;
  padding-bottom: 1rem;
}
@media (min-width: 640px) {
  .thumbs-container {
    margin-bottom: 1rem;
    padding-bottom: 0;
  }
}
.thumbs-container .thumb-wrapper {
  scroll-snap-align: center;
  flex: 0 0 auto;
  margin: 0 0.25rem;
}
.thumbs-container .thumb-wrapper img {
  cursor: pointer;
  margin: 0px 0px;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.52);
  width: 65px;
  height: 45px;
  transition: all 0.2s linear;
}
@media (min-width: 640px) {
  .thumbs-container .thumb-wrapper img {
    width: 100px;
    height: 70px;
  }
}
.thumbs-container .thumb-wrapper img.active, .thumbs-container .thumb-wrapper img:hover {
  filter: grayscale(0%) brightness(1);
}

.fade-out {
  opacity: 0;
  margin-left: -1rem;
}

.fade-in {
  opacity: 1;
  margin-left: 0rem;
}

.gn-lightbox-open {
  overflow: hidden;
}
