@charset "UTF-8";

html {
  height: 100%;
}

#loading {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: #090909;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

#loading.hide {
  opacity: 0;
  visibility: hidden;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.spinner-box {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.spinner {
  animation: rotate 1s linear infinite;
  border-radius: 50%;
  height: 76px;
  width: 76px;
  position: relative;
}

.spinner::before,
.spinner::after {
  content: '';
  position: absolute;
}

.spinner::before {
  border-radius: 50%;
  background:
    linear-gradient(360deg, hsla(264, 78%, 45%, 0) 0%, hsla(264, 78%, 45%, 0.3) 100%) 0% 0%,
    linear-gradient(-180deg, hsla(264, 78%, 45%, 0.3) 0%, hsla(264, 78%, 45%, 0.6) 100%) 100% 0%,
    linear-gradient(-90deg, hsla(264, 78%, 45%, 0.6) 0%, hsla(264, 78%, 45%, 0.9) 100%) 100% 100%,
    linear-gradient(0deg, hsla(264, 78%, 45%, 0.9) 0%, hsla(287, 87%, 63%, 1) 100%) 0% 100%;
  background-repeat: no-repeat;
  background-size: 50% 50%;
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
}

.spinner::after {
  background: #090909;
  border-radius: 50%;
  top: 7%;
  bottom: 7%;
  left: 7%;
  right: 7%;
}

#loading p {
  color: #fff;
  font-size: 14px;
  letter-spacing: .5em;
  margin-left: -1em;
  margin-top: 1.2em;
}

#loading.hide .spinner-box {
  opacity: 0;
  visibility: hidden;
}

body.noscroll {
  overflow: hidden;
}

body img {
  vertical-align: bottom;
}

body [data-target] {
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
  transition: .4s;
  opacity: 0;
  will-change: transform,
    opacity,
}

body.loaded [data-target].action {
  opacity: 1;
}

body [data-target][data-nomotion] {
  -webkit-transition: none;
  transition: none;
  opacity: 1;
}

body [data-target][data-slideup] {
  -webkit-transform: translateY(1.56vw) scale(1);
  transform: translateY(1.56vw) scale(1);
}

body.loaded [data-target][data-slideup].action {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

body [data-target][data-slidedown] {
  -webkit-transform: translateY(-1.56vw) scale(1);
  transform: translateY(-1.56vw) scale(1);
}

body.loaded [data-target][data-slidedown].action {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

body [data-target][data-slideleft] {
  -webkit-transform: translateX(1.56vw) scale(1);
  transform: translateX(1.56vw) scale(1);
}

body.loaded [data-target][data-slideleft].action {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

body.loaded [data-target][data-slideright] {
  -webkit-transform: translateX(-1.56vw) scale(1);
  transform: translateX(-1.56vw) scale(1);
}

body.loaded [data-target][data-slideright].action {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

body [data-lzy] {
  opacity: 0;
  will-change: opacity;
}

body.loaded [data-lzy].action {
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  opacity: 1;
}

body .disable-hover {
  pointer-events: none;
}

body #defineSVG {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  z-index: -1;
}

body [data-target][data-mask] {
  -webkit-transition: -webkit-transform 0.6s linear;
  transition: transform 0.6s linear;
  -webkit-animation-duration: .6s;
  animation-duration: .6s;
}

body [data-target][data-mask].action {
  -webkit-animation-name: mask_toRight;
  animation-name: mask_toRight;
}

body [data-target][data-blur] {
  animation-duration: .6s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8, 0, .5, 1);
}

body.loaded [data-target][data-blur].action {
  -webkit-animation-name: blur;
  animation-name: blur;
}

body [data-target][data-maskleft],
body [data-target][data-maskright] {
  transition-property: transform,
    filter,
    clip-path,
    -webkit-transform,
    -webkit-filter,
    -webkit-clip-path;
  -webkit-transition-duration: .6s;
  transition-duration: .6s;
  transition-timing-function: cubic-bezier(0.83, 0.16, 0.48, 0.99);
}

body [data-target][data-maskleft] {
  clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
}

body [data-target][data-maskright] {
  clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
}

body.loaded .action[data-target][data-maskleft],
body.loaded .action[data-target][data-maskright] {
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}

body [data-target][data-blur] {
  animation-duration: .6s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8, 0, .5, 1);
}

body.loaded [data-target][data-blur].action {
  -webkit-animation-name: blur;
  animation-name: blur;
}
