#preloader-plus-ultimate{
  transition: opacity var(--ppu-duration, 400ms) ease;
  pointer-events:auto;
}
#preloader-plus-ultimate.is-hidden{
  opacity:0;
  pointer-events:none;
}

.preloader-dots{
  font-size: 2rem;
  letter-spacing: 20px;
  margin-bottom: 20px;
  display: flex;
  gap: 18px;
}
.preloader-dots span{
  opacity: .3;
  animation: preloaderDot 1.3s infinite;
}
.preloader-dots span:nth-child(2){ animation-delay: .2s; }
.preloader-dots span:nth-child(3){ animation-delay: .4s; }

@keyframes preloaderDot{
  0%,100%{ opacity:.3; transform:scale(1); }
  30%{ opacity:1; transform:scale(1.25); }
}

.preloader-gif{
  display:block;
  width:90px; height:90px;
  object-fit:contain;
  margin-bottom:22px;
}
.preloader-text{
  font-weight:700;
  font-size:1.3rem;
  margin-bottom:18px;
  text-align:center;
}
.preloader-percent{
  font-size:1.5rem;
  font-weight:500;
}

/* responsivo */
@media (max-width:900px){
  .preloader-dots{ font-size:2rem; letter-spacing:14px; gap:12px; }
  .preloader-gif{ width:64px; height:64px; }
}
@media (max-width:600px){
  .preloader-dots{ font-size:1.8rem; letter-spacing:8px; gap:6px; }
  .preloader-gif{ width:40px; height:40px; }
}
@media (prefers-reduced-motion: reduce){
  .preloader-dots span{ animation:none; }
}