#xiv-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.loader {
  position: absolute;
  top: 50%;
  margin-left: -50px;
  left: 50%;
  animation: speeder 0.4s linear infinite;
  will-change: transform;
}
.loader > span {
  height: 5px;
  width: 35px;
  background: #fa0000;
  position: absolute;
  top: -19px;
  left: 60px;
  border-radius: 2px 10px 1px 0;
}
.base span {
  position: absolute;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 100px solid #f90e0e;
  border-bottom: 6px solid transparent;
}
.base span:before {
  content: "";
  height: 22px;
  width: 22px;
  border-radius: 50%;
  background: #fb0505;
  position: absolute;
  right: -110px;
  top: -16px;
}
.base span:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-top: 0 solid transparent;
  border-right: 55px solid #fd0202;
  border-bottom: 16px solid transparent;
  top: -16px;
  right: -98px;
}
.face {
  position: absolute;
  height: 12px;
  width: 20px;
  background: #f50101;
  border-radius: 20px 20px 0 0;
  transform: rotate(-40deg);
  right: -125px;
  top: -15px;
}
.face:after {
  content: "";
  height: 12px;
  width: 12px;
  background: #ff0707;
  right: 4px;
  top: 7px;
  position: absolute;
  transform: rotate(40deg);
  transform-origin: 50% 50%;
  border-radius: 0 0 0 2px;
}
.loader > span > span:nth-child(1),
.loader > span > span:nth-child(2),
.loader > span > span:nth-child(3),
.loader > span > span:nth-child(4) {
  width: 30px;
  height: 1px;
  background: #fa0101;
  position: absolute;
  animation: fazer1 0.2s linear infinite;
  will-change: transform, opacity;
}
.loader > span > span:nth-child(2) {
  top: 3px;
  animation: fazer2 0.4s linear infinite;
}
.loader > span > span:nth-child(3) {
  top: 1px;
  animation: fazer3 0.4s linear infinite;
  animation-delay: -1s;
}
.loader > span > span:nth-child(4) {
  top: 4px;
  animation: fazer4 1s linear infinite;
  animation-delay: -1s;
}
@keyframes fazer1 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-80px, 0, 0);
    opacity: 0;
  }
}
@keyframes fazer2 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100px, 0, 0);
    opacity: 0;
  }
}
@keyframes fazer3 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50px, 0, 0);
    opacity: 0;
  }
}
@keyframes fazer4 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-150px, 0, 0);
    opacity: 0;
  }
}
@keyframes speeder {
  0% {
    transform: translate3d(2px, 1px, 0) rotate(0deg);
  }
  10% {
    transform: translate3d(-1px, -3px, 0) rotate(-1deg);
  }
  20% {
    transform: translate3d(-2px, 0px, 0) rotate(1deg);
  }
  30% {
    transform: translate3d(1px, 2px, 0) rotate(0deg);
  }
  40% {
    transform: translate3d(1px, -1px, 0) rotate(1deg);
  }
  50% {
    transform: translate3d(-1px, 3px, 0) rotate(-1deg);
  }
  60% {
    transform: translate3d(-1px, 1px, 0) rotate(0deg);
  }
  70% {
    transform: translate3d(3px, 1px, 0) rotate(-1deg);
  }
  80% {
    transform: translate3d(-2px, -1px, 0) rotate(1deg);
  }
  90% {
    transform: translate3d(2px, 1px, 0) rotate(0deg);
  }
  100% {
    transform: translate3d(1px, -2px, 0) rotate(-1deg);
  }
}
.longfazers {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.longfazers span {
  position: absolute;
  height: 2px;
  width: 20%;
  background: #f70202;
  will-change: transform, opacity;
}
.longfazers span:nth-child(1) {
  top: 20%;
  animation: lf 0.6s linear infinite;
  animation-delay: -5s;
}
.longfazers span:nth-child(2) {
  top: 40%;
  animation: lf2 0.8s linear infinite;
  animation-delay: -1s;
}
.longfazers span:nth-child(3) {
  top: 60%;
  animation: lf3 0.6s linear infinite;
}
.longfazers span:nth-child(4) {
  top: 80%;
  animation: lf4 0.5s linear infinite;
  animation-delay: -3s;
}
@keyframes lf {
  0% {
    transform: translate3d(500%, 0, 0);
  }
  100% {
    transform: translate3d(-500%, 0, 0);
    opacity: 0;
  }
}
@keyframes lf2 {
  0% {
    transform: translate3d(500%, 0, 0);
  }
  100% {
    transform: translate3d(-500%, 0, 0);
    opacity: 0;
  }
}
@keyframes lf3 {
  0% {
    transform: translate3d(500%, 0, 0);
  }
  100% {
    transform: translate3d(-500%, 0, 0);
    opacity: 0;
  }
}
@keyframes lf4 {
  0% {
    transform: translate3d(500%, 0, 0);
  }
  100% {
    transform: translate3d(-500%, 0, 0);
    opacity: 0;
  }
}

/* Hide scrollbar during preloader */
html.preloader-active,
body.preloader-active {
    overflow: hidden !important;
    scrollbar-width: none !important; /* Firefox */
}
html.preloader-active::-webkit-scrollbar,
body.preloader-active::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
}
#xiv-preloader {
    scrollbar-width: none;
}
#xiv-preloader::-webkit-scrollbar {
    display: none !important;
}
