@charset "UTF-8";
/* Container that takes up the full page */
.loaderContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 1;
}

/* Inner container for tooth and orbit */
.loaderContainerInner {
  position: relative;
  width: 180px; /* Фиксированный размер для центрирования */
  height: 90px; /* Добавлено для согласованности с орбитой */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

/* Central tooth spinner */
.tooth {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px; /* Явный размер для десктопа */
  height: 100px;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 122, 255, 0.3);
  animation: spin 2.5s linear infinite; /* Быстрее вращение */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  /* Убедимся, что SVG внутри масштабируется */
}
.tooth > svg {
  width: 100%;
  height: 100%;
  display: block;
}
.tooth {
  /* Десктоп (>1024px) */
}
@media only screen and (min-width: 1025px) {
  .tooth {
    width: 100px;
    height: 100px;
  }
}
.tooth {
  /* Планшеты (768px–1024px) */
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tooth {
    width: 80px;
    height: 80px;
  }
}
.tooth {
  /* Мобильные (<768px) */
}
@media only screen and (max-width: 767px) {
  .tooth {
    width: 50px;
    height: 50px;
  }
}
.tooth {
  /* Очень маленькие экраны (<390px) */
}
@media only screen and (max-width: 390px) {
  .tooth {
    width: 35px;
    height: 35px;
  }
}
.tooth {
  /* Очень маленькие экраны (<390px) */
}
@media only screen and (max-width: 370px) {
  .tooth {
    width: 26px;
    height: 26px;
  }
}

/* Orbit path */
.orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 170px;
  height: 170px;
  border: 2px solid rgba(3, 104, 119, 0.4901960784);
  border-radius: 50%;
  margin-top: -85px;
  margin-left: -85px;
  animation: rotateOrbit 4s linear infinite; /* Медленнее вращение */
  /* Мобильные (<768px) */
}
@media only screen and (max-width: 767px) {
  .orbit {
    width: 110px;
    height: 110px;
    margin-top: -55px;
    margin-left: -55px;
  }
}
.orbit {
  /* Очень маленькие экраны (<390px) */
}
@media only screen and (max-width: 390px) {
  .orbit {
    width: 110px;
    height: 110px;
    margin-top: -55px;
    margin-left: -55px;
  }
}

/* Orbiting dental tool */
.dentalTool {
  width: 18px;
  height: 18px;
  background-color: #1cabb4;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 5px rgba(0, 170, 255, 0.5);
  /* Мобильные (<768px) */
}
@media only screen and (max-width: 767px) {
  .dentalTool {
    width: 12px;
    height: 12px;
  }
}

/* Animation for tooth spinning */
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
/* Animation for orbit rotation */
@keyframes rotateOrbit {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Container for dental-themed particles */
.particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: -webkit-fill-available;
  pointer-events: none;
  z-index: 0;
  max-height: 220px;
  pointer-events: none;
  z-index: 0;
}

/* Styles for each particle */
.particle {
  position: absolute;
  background-color: rgba(0, 122, 255, 0.7);
  border-radius: 50%;
  animation: twinkle 2.5s infinite alternate;
}

/* Twinkle animation for particles */
@keyframes twinkle {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0.4;
  }
}