/* Preloader Styles */
.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: grid;
  place-items: center;
  z-index: 9999;
}
.theme-dark .preloader {
  background-color: #111;
  color: #FFF;
}

.preloader-container {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  padding-bottom: 3rem;
}

.preloader-img {
  animation: animloaderimg 2000ms ease-in-out infinite;
}

.preloader .loader {
  width: 140px;
  height: 0.25rem;
  display: inline-block;
  position: relative;
  background: rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border-radius: 50rem;
}
.theme-dark .preloader .loader {
  background: rgba(255, 255, 255, 0.15);
}

.preloader .loader::after {
  content: "";
  width: 30px;
  height: 4.8px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  animation: animloader 2000ms linear infinite;
  border-radius: 50rem;
}
.theme-dark .preloader .loader::after {
  background: #FFF;
}

/* Animations */
@keyframes animloader {
  0% { left: 0; transform: translateX(-100%); }
  100% { left: 100%; transform: translateX(0%); }
}

@keyframes animloaderimg {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1rem); }
  100% { transform: translateY(0); }
}
