.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background: url(../img/bg_magic_circle.jpg) center;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  animation: loading_fallback_hide 0s linear 8s forwards;
}

.loading__logo {
  margin-top: -20px;
  opacity: 0;
  animation: logo_fade 3s 0.1s forwards;
  width: 179px;
}

.loading__clock {
  position: relative;
  width: 60px;
  height: 60px;
  margin-top: 24px;
  opacity: 0;
  animation: logo_fade 3s 0.25s forwards;
}

.loading__clock img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 0 2px rgba(10, 25, 74, 0.95))
    drop-shadow(0 0 10px rgba(10, 25, 74, 0.65))
    drop-shadow(0 0 14px rgba(255, 255, 255, 0.22));
}

.loading__clock-long,
.loading__clock-short {
  transform-origin: 50% 50%;
  transition: none;
}

@media all and (min-width: 768px) {
  .loading__logo {
    width: 300px;
  }
}
@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  33% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes loading_fallback_hide {
  to {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
