@charset "UTF-8";

html,
body {
  margin: 0;
  padding: 0;
}

.l-intro {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100svh;
  background: rgb(16, 57, 92);
  z-index: 9999;
  overflow-y: scroll;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: intro_base 6.5s ease-in-out forwards;
  animation: intro_base 6.5s ease-in-out forwards;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.l-intro__cont {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: min(72%, 640px);
  height: calc(100% + 1px);
}

.l-intro__logo {
  width: 100%;
  fill: rgb(16, 57, 92);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: intro_logo 6.5s ease-in-out forwards;
  animation: intro_logo 6.5s ease-in-out forwards;
}

.l-intro::-webkit-scrollbar {
  display: none;
}

@-webkit-keyframes intro_base {
  40% {
    background: rgb(16, 57, 92);
  }

  50% {
    background: #FFF;
  }

  60% {
    background: #FFF;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }

  75% {
    background: #FFF;
    opacity: 0;
    height: 100svh;
    -webkit-filter: blur(40px);
    filter: blur(40px);
  }

  99% {
    background: #FFF;
    opacity: 0;
    height: 0;
  }

  100% {
    background: #FFF;
    opacity: 0;
    height: 0;
  }
}

@keyframes intro_base {
  40% {
    background: rgb(16, 57, 92);
  }

  50% {
    background: #FFF;
  }

  60% {
    background: #FFF;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }

  75% {
    background: #FFF;
    opacity: 0;
    height: 100svh;
    -webkit-filter: blur(40px);
    filter: blur(40px);
  }

  99% {
    background: #FFF;
    opacity: 0;
    height: 0;
  }

  100% {
    background: #FFF;
    opacity: 0;
    height: 0;
  }
}

@-webkit-keyframes intro_logo {
  0% {
    -webkit-transform: scale(110%);
    transform: scale(110%);
    -webkit-filter: drop-shadow(0 0 0 #00b7ff);
    filter: drop-shadow(0 0 0 #00b7ff);
  }

  10% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 8px #00a6ff);
    filter: drop-shadow(0 0 8px #00a6ff);
  }

  20% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 24px #0091ff);
    filter: drop-shadow(0 0 24px #0091ff);
  }

  32% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  40% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  70% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  100% {
    -webkit-transform: scale(180%);
    transform: scale(180%);
    -webkit-filter: drop-shadow(0 0 0 #FFF);
    filter: drop-shadow(0 0 0 #FFF);
  }
}

@keyframes intro_logo {
  0% {
    -webkit-transform: scale(110%);
    transform: scale(110%);
    -webkit-filter: drop-shadow(0 0 0 #00b7ff);
    filter: drop-shadow(0 0 0 #00b7ff);
  }

  10% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 8px #00a6ff);
    filter: drop-shadow(0 0 8px #00a6ff);
  }

  20% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 24px #0091ff);
    filter: drop-shadow(0 0 24px #0091ff);
  }

  32% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  40% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  70% {
    -webkit-transform: scale(100%);
    transform: scale(100%);
    -webkit-filter: drop-shadow(0 0 1px #FFF);
    filter: drop-shadow(0 0 1px #FFF);
  }

  100% {
    -webkit-transform: scale(180%);
    transform: scale(180%);
    -webkit-filter: drop-shadow(0 0 0 #FFF);
    filter: drop-shadow(0 0 0 #FFF);
  }
}