/* === AUTODOC GLOBAL PRELOADER v3 === */

.av-preloader{
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;

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

  background:
    radial-gradient(circle at top, rgba(37, 99, 235, .08), transparent 32%),
    radial-gradient(circle at 80% 20%, rgba(124, 58, 237, .08), transparent 26%),
    #f3f6fb;

  transition: opacity .45s ease, visibility .45s ease;
}

.av-preloader.hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* мягкое фоновое свечение */
.av-preloader::before{
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 99, 235, .10), transparent 68%);
  filter: blur(10px);
  animation: avGlow 3.2s ease-in-out infinite;
}

/* логотип */
.av-preloader__logo{
  position: relative;
  z-index: 1;

  height: 178px;
  width: auto;

  opacity: 0;
  transform: translateY(8px) scale(.98);

  animation:
    avLogoIn .8s ease forwards,
    avLogoBreath 2.8s ease-in-out .9s infinite;
  transform-origin: center;
  will-change: transform, opacity;
}

@keyframes avLogoIn{
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes avLogoBreath{
  0%, 100%{
    transform: translateY(0) scale(1);
  }
  50%{
    transform: translateY(0) scale(1.035);
  }
}

@keyframes avGlow{
  0%, 100%{
    transform: scale(1);
    opacity: .7;
  }
  50%{
    transform: scale(1.08);
    opacity: 1;
  }
}

/* точки */
.av-preloader__dots{
  position: relative;
  z-index: 1;

  display: flex;
  align-items: flex-end;
  gap: 14px;
  min-height: 18px;
}

.av-preloader__dot{
  width: 14px;
  height: 14px;
  border-radius: 999px;

  box-shadow: 0 6px 18px rgba(37, 99, 235, .16);

  animation: avDotJump 1.15s infinite ease-in-out;
  will-change: transform, opacity;
}
/* цвета точек */

.av-preloader__dot:nth-child(1){
  background:#aeb6be;
}

.av-preloader__dot:nth-child(2){
  background:#6d7885;
}

.av-preloader__dot:nth-child(3){
  background:#374453;
}
.av-preloader__dot:nth-child(2){
  animation-delay: .15s;
}

.av-preloader__dot:nth-child(3){
  animation-delay: .30s;
}

@keyframes avDotJump{
  0%, 80%, 100%{
    transform: translateY(0) scale(1);
    opacity: .42;
  }
  40%{
    transform: translateY(-12px) scale(1.08);
    opacity: 1;
  }
}