.preloader {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(var(--stb-brand-150));
  background-image: url('/assets/images/general/pattern-bg.svg');
  direction: ltr;
}

.preloader__img {
  width: 150px;
  height: 150px;
  position: relative;
  animation: preloader-animate 2s linear infinite;
}

.preloader__shadow {
  position: absolute;
  animation: preloader-animate-shadow 1s infinite;
}

.preloader__stick {
  position: absolute;
  translate: 40px -13px;
  animation: preloader-animate-stick 2s infinite;
}

.preloader__note {
  position: absolute;
  z-index: 2;
  opacity: 0;
  transform: scale(0) translate(-10px, -10px);
  animation: preloader-animate-note 2s infinite;
}

@keyframes preloader-animate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes preloader-animate-shadow {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes preloader-animate-stick {
  0%, 100% {
    transform: rotate(0);
  }

  50% {
    transform: rotate(15deg) translate(2px, 2px);
  }
}

@keyframes preloader-animate-note {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  10%, 90% {
    opacity: 1;
  }

  100% {
    transform: scale(2) translate(-40px, -40px);
    opacity: 0;
  }
}
