@import './globals.scss';

.FullScreenOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: 4;

  .icon-close {
    position: absolute;
    top: 0px;
    right: 10px;
    z-index: 5;
    margin:0;
    padding:0;
  }

  .dimmed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(122, 122, 122, 0.3);
    z-index: 6;
  }

  .content {
    display: inline-block;
    position: relative;
    z-index: 7;
  }
}

.FullScreenOverlay.FullScreenOverlay-scale {
  @keyframes scaleFullScreenOverlay {
    0% {
      top: 50vh;
      left: 50vw;
      width: 0;
      height: 0;
      transform: scale(0);
    }
    100% {
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      transform: scale(1);
    }
  }

  position: fixed;
  top: 50vh;
  left: 50vw;
  width: 0;
  height: 0;
  transform: scale(0);
  overflow: hidden;
  animation: scaleFullScreenOverlay $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-scale.back {
  @keyframes scaleFullScreenOverlayBack {
    0% {
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      transform: scale(1);
    }
    100% {
      top: 50vh;
      left: 50vw;
      width: 0;
      height: 0;
      transform: scale(0);
    }
  }
  animation: scaleFullScreenOverlayBack $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-left {
  @keyframes scaleFullScreenOverlayfromLeft {
    0% {
      left: -100vw;
    }
    100% {
      left: 0;
    }
  }

  position: fixed;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  animation: scaleFullScreenOverlayfromLeft $default-transition forwards ease-in;
}
.FullScreenOverlay.FullScreenOverlay-left.back {
  @keyframes scaleFullScreenOverlayfromLeftBack {
    0% {
      left: 0;
    }
    100% {
      left: -100vw;
    }
  }
  animation: scaleFullScreenOverlayfromLeftBack $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-top {
  @keyframes scaleFullScreenOverlayfromTop {
    0% {
      top: -100vh;
    }
    100% {
      top: 0;
    }
  }

  position: fixed;
  top: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  animation: scaleFullScreenOverlayfromTop $default-transition forwards ease-in;
}
.FullScreenOverlay.FullScreenOverlay-top.back {
  @keyframes scaleFullScreenOverlayfromTopBack {
    0% {
      top: 0;
    }
    100% {
      top: -100vh;
    }
  }
  animation: scaleFullScreenOverlayfromTopBack $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-right {
  @keyframes scaleFullScreenOverlayfromRight {
    0% {
      right: -100vw;
    }
    100% {
      right: 0;
    }
  }

  position: fixed;
  top: 0;
  right: -100vw;
  left: auto;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  animation: scaleFullScreenOverlayfromRight $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-right.back {
  @keyframes scaleFullScreenOverlayfromRightBack {
    0% {
      right: 0;
    }
    100% {
      right: -100vw;
    }
  }
  animation: scaleFullScreenOverlayfromRightBack $default-transition forwards ease-in;
}

.FullScreenOverlay.FullScreenOverlay-bottom {
  @keyframes scaleFullScreenOverlayfromBottom {
    0% {
      bottom: -100vh;
    }
    100% {
      bottom: 0;
    }
  }

  top: auto;
  position: fixed;
  bottom: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  animation: scaleFullScreenOverlayfromBottom $default-transition forwards ease-in;
}
.FullScreenOverlay.FullScreenOverlay-bottom.back {
  @keyframes scaleFullScreenOverlayfromBottomBack {
    0% {
      bottom: 0;
    }
    100% {
      bottom: -100vh;
    }
  }
  animation: scaleFullScreenOverlayfromBottomBack $default-transition forwards ease-in;
}
