:root {
  --loader-color: #54a8fb;
}

/* 隐藏类（Bootstrap 风格）*/
.d-none {
  display: none !important;
}

.loader-wrapper {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  background-color: white;
  z-index: 999999;
  top: 0;
  transition: opacity 0.5s ease;
  animation-delay: 1s;
  animation: global-rotate 20s infinite linear;
}

.loader-wrapper .loader-index {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.loader-wrapper .loader-index .loader {
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  perspective: 800px;
}

.loader-wrapper .loader-index .loader .strand {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.loader-wrapper .loader-index .loader .strand.one {
  left: 0%;
  top: 0%;
  border-bottom: 3px solid #54a8fb;
  animation: rotate-one 1s linear infinite;
}

.loader-wrapper .loader-index .loader .strand.two {
  right: 0%;
  top: 0%;
  border-bottom: 3px solid #54a8fb;
  animation: rotate-two 1s linear infinite;
}

.loader-wrapper .loader-index .loader .strand.three {
  right: 0%;
  bottom: 0%;
  border-bottom: 3px solid #54a8fb;
  animation: rotate-three 1s linear infinite;
}

@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(720deg);
  }
}
