/* ------------------------------ */
/* ------ Fullscreen Video ------ */
/* ------------------------------ */

.overlay {
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

.overlay, .overlay__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.overlay__bg {
  z-index: 1;
  background: var(--brand-white);
  opacity: .95;
}

.overlay__content {
  position: relative;
  z-index: 2;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;

  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Mobile
  height: calc(80vh - 3rem);
Mobile End */

.overlay__content iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  max-height: 100%;
  background-color: var(--brand-brown);
  cursor: pointer;
}

.overlay__close {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 12;
  line-height: 0;
  opacity: 0;
  -webkit-transition: var(--transition-2);
  -o-transition: var(--transition-2);
  transition: var(--transition-2);
}

.overlay-open .overlay__close {
  opacity: 1;
}

.overlay-close .overlay__close {
  opacity: 0;
}

.overlay__close_container {
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--brand-brown);
}

.overlay__close__icon {
    position: relative;
    height: 100%;
    width: 100%;
}

.overlay__close__icon::before, .overlay__close__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--brand-white);
}

.overlay__close__icon::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.overlay__close__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.no-touchevents .overlay__close:hover {
  opacity: var(--opacity-2);
}


/* Open overlay */
body.overlay-open {
  overflow: hidden;
}

.overlay-open .overlay, .overlay-open .overlay__content {
  opacity: 1;
  visibility: visible;
}

.overlay-open .overlay {
  z-index: 100;
}

.overlay-open .overlay__content {
  -webkit-transition-delay: .5s;
       -o-transition-delay: .5s;
          transition-delay: .5s;
}


/* Close overlay */
.overlay-close .overlay, .overlay-close .overlay .overlay__content {
  opacity: 0;
  visibility: hidden;
}

.overlay-close .overlay {
  -webkit-transition-delay: .5s;
       -o-transition-delay: .5s;
          transition-delay: .5s;
}

.overlay-close .overlay .overlay__content {
  -webkit-transition-delay: 0s;
       -o-transition-delay: 0s;
          transition-delay: 0s;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 1400px) {

  .overlay__close, .overlay__close_container {
    width: 60px;
    height: 60px;
  }

  .overlay__close__icon::before, .overlay__close__icon::after {
    width: 32px;
    height: 2px;
  }

  .overlay__content {
    padding: var(--spacing-6) var(--spacing-12);
  }

}


@media all and (min-width: 2100px) {

  .overlay__content {
    max-width: 1920px;
  }

}


@media all and (max-width: 2099.98px) and (min-width: 1600px) {

  .overlay__content {
    max-width: 90vw;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 992px) {

  .overlay__close, .overlay__close_container {
    width: 56px;
    height: 56px;
  }

  .overlay__close__icon::before, .overlay__close__icon::after {
    width: 30px;
    height: 2px;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 768px) {

  .overlay__content {
    padding: var(--spacing-6) 80px;
  }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

  .overlay__close, .overlay__close_container {
    width: 50px;
    height: 50px;
  }
  
  .overlay__close__icon::before, .overlay__close__icon::after {
    width: 26px;
    height: 2px;
  }

}


@media all and (max-width: 767.98px) {

  .overlay__content {
    padding: 60px 0;
  }

  .overlay__close, .overlay__close_container {
    width: 48px;
    height: 48px;
  }
  
  .overlay__close__icon::before, .overlay__close__icon::after {
    width: 24px;
    height: 2px;
  }

}