.intro-loader {
  clip-path: circle(150vmax at 50% 50%);
  transition: clip-path .38s cubic-bezier(.72, 0, .28, 1) !important;
}

.intro-loader .intro-panel,
.intro-loader.is-leaving .intro-panel {
  transform: none !important;
}

.intro-loader:not(.is-leaving) .intro-web-transition {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

.intro-loader.is-entering {
  clip-path: circle(0 at 50% 50%) !important;
  transition: none !important;
}

.intro-loader.is-leaving {
  clip-path: circle(0 at 50% 50%);
  transition: none !important;
  animation: loader-web-pull-final .93s both !important;
}

.intro-loader.is-leaving .intro-web-transition {
  display: block !important;
  width: 135vmin !important;
  height: 135vmin !important;
  opacity: 1;
  filter: invert(1) !important;
  transform: translate(-50%, -50%) scale(0);
  animation: web-shoot-pull-final .93s both !important;
}

.intro-mask img {
  animation: intro-pulse-clean-final .85s ease-in-out infinite alternate !important;
}

.intro-loader.is-leaving .intro-mask {
  transform: translate(-50%, -50%) scale(.82) !important;
  opacity: 0 !important;
  transition: transform .32s ease, opacity .24s ease !important;
}

@keyframes intro-pulse-clean-final {
  from { transform: translateY(0) scale(1); }
  to { transform: translateY(-8px) scale(1.045); }
}

@keyframes web-shoot-pull-final {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.02); }
  10% { opacity: 1; }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
  60% { opacity: 1; transform: translate(-50%, -50%) scale(.98); }
  68% { opacity: 1; transform: translate(-50%, -50%) scale(1.015); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(0); }
}

@keyframes loader-web-pull-final {
  0%, 38% { clip-path: circle(150vmax at 50% 50%); }
  50% { clip-path: circle(72.9vmin at 50% 50%); }
  60% { clip-path: circle(66.15vmin at 50% 50%); }
  68% { clip-path: circle(68.5vmin at 50% 50%); }
  100% { clip-path: circle(0 at 50% 50%); }
}
