body {
  overflow: hidden;
}

body.loaded {
  visibility: visible;
}

.loader, .overlay {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

body.loaded .overlay,
body.loaded .loader {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(234, 234, 234, 0.7);
  backdrop-filter: blur(8px);
  z-index: 999;
  pointer-events: all;
}

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150px;
  height: 150px;
  margin-top: -75px;
  margin-left: -75px;
  border-radius: 50%;
  perspective: 800px;
  z-index: 1000;
}

.inner {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.inner.one {
  left: 0%;
  top: 0%;
  animation: rotate-one 1s linear infinite;
  border-bottom: 3px solid #a9adb3;
}

.inner.two {
  right: 0%;
  top: 0%;
  animation: rotate-two 1s linear infinite;
  border-right: 3px solid #a9adb3;
}

.inner.three {
  right: 0%;
  bottom: 0%;
  animation: rotate-three 1s linear infinite;
  border-top: 3px solid #a9adb3;
  /* border-top: 3px solid #194376; */
}

.image-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  width: 80px;
  height: 80px;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes rotate-one {
  0% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
  }
}

@keyframes rotate-two {
  0% {
    transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
  }
}

@keyframes rotate-three {
  0% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
  }
}

.loading_image_base {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px !important;
  height: auto !important;
  object-fit: contain;
  display: block;
  max-width: 100%;
}


.base_loading_text {
  position: absolute;
  top: 120%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  text-align: center;
  width: 250px;
  max-width: 250px;
  font-size: 13px;
  color: #143965;
  font-weight: bold;
}
