body.page-loading {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

.splash-screen {
  display: none;
}

.page-loading .splash-screen {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: Inter, Poppins, "sans-serif";
  background-color: #f9f9f9;
  color: #5e6278;
  line-height: 1;
  font-size: 14px;
  font-weight: 400;
  animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.page-loading .splash-screen span {
  color: #5e6278;
  transition: none !important;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

.page-loading .splash-screen span::after {
  content: "";
  animation: dots 1.5s steps(4, end) infinite;
}

@keyframes dots {
  0%,
  25% {
    content: "";
  }
  26%,
  50% {
    content: ".";
  }
  51%,
  75% {
    content: "..";
  }
  76%,
  100% {
    content: "...";
  }
}

.page-loading .splash-screen img {
  margin-left: calc(100vw - 100%);
  margin-bottom: 30px;
  height: 60px !important;
  animation: bounceIn 0.8s ease-out;
}

@keyframes bounceIn {
  0% {
    transform: scale(0.3);
    opacity: 0;
  }
  50% {
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

html[data-bs-theme="dark"] .page-loading .splash-screen {
  background-color: #151521;
  color: #ffffff;
}

html[data-bs-theme="dark"] .page-loading .splash-screen span {
  color: #ffffff;
}

.splash-screen .dark-logo {
  display: none;
}

.splash-screen .light-logo {
  display: block;
}

html[data-bs-theme="dark"] .splash-screen .light-logo {
  display: none;
}

html[data-bs-theme="dark"] .splash-screen .dark-logo {
  display: block;
}
