/* FULLSCREEN PRELOADER */
.js-preloaders {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease;
}

/* hide state */
.js-preloaders.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* inner wrapper */
.preloader-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 20px;
}

/* LOGO CONTAINER */
.logo-loader {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 320px;
  max-width: 60vw;
  overflow: hidden;
}

/* LOGO IMAGE */
.logo-loader img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.95);
}

/* SHINE EFFECT */
.logo-loader .logo-shine {
  position: absolute;
  inset: 0;
  pointer-events: none;

  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0) 40%,
    rgba(255, 255, 255, 0.9) 50%,
    rgba(255, 255, 255, 0) 60%,
    rgba(255, 255, 255, 0) 100%
  );

  transform: translateX(-120%);
  animation: logoSweep 1.2s ease-in-out infinite;
  mix-blend-mode: screen;
}

/* RTL support */
[dir="rtl"] .js-preloaders {
  direction: rtl;
}

/* SWEEP ANIMATION */
@keyframes logoSweep {
  0% {
    transform: translateX(-120%);
  }
  60% {
    transform: translateX(120%);
  }
  100% {
    transform: translateX(120%);
  }
}

@media (max-width: 550px) {
  .logo-loader {
    width: 250px;
    max-width: 80vw;
  }
}

@media (max-width: 400px) {
  .logo-loader {
    width: 220px;
    max-width: 85vw;
  }
}
