.loading-screen {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: #fff;
  overflow: hidden;
}

.progress-bar {
  animation: fade-in 0.5s 2.5s 1 forwards;
  background-color: #f1f1f1;
  height: 4px;
  margin: 56px auto 20px;
  opacity: 0;
  overflow: hidden;
  position: relative;
  width: 300px;
}

.progress-bar::before {
  animation: progress-bar 2s linear infinite;
  background-color: #000;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
}

.bg-effect {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

.bg-effect__inner {
  animation: fade-out 0.5s 1.25s 1 linear forwards, brackground 0.6s 1.25s 1 cubic-bezier(0, 0, 0.2, 1);
  background: #eee;
  border-radius: 50%;
  height: 600px;
  left: 50%;
  margin: -348px -300px 0;
  position: absolute;
  top: 50%;
  transform: scale(0);
  width: 600px;
}

.logo {
  height: 100%;
  text-align: center;
}

.logo__top {
  height: 50%;
  margin: 0 0 -100px;
}

.logo__inner {
  height: 100px;
  margin: 0 auto;
  position: relative;
  width: 100px;
}

.logo__animation {
  animation: fade-in 0.5s 0.5s 1 linear forwards, logo-jump 1.75s 0.5s 1 cubic-bezier(0, 0, 0.67, 1) forwards;
  opacity: 0;
  transform: scale(0.68);
}

.logo__animation img {
  height: 100px;
}

@keyframes progress-bar {
  from {
    left: -200px;
    width: 30%;
  }
  to {
    left: 100%;
  }
}

@keyframes fade-in {
  100% {
    opacity: 1;
  }
}

@keyframes fade-out {
  100% {
    opacity: 0;
  }
}

@keyframes brackground {
  100% {
    transform: none;
  }
}

@keyframes logo-jump {
  43% {
    animation-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
    transform: scale(0.75);
  }
  60% {
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    transform: translateY(-16px);
  }
  77% {
    animation-timing-function: cubic-bezier(0.16, 0, 0.2, 1);
    transform: none;
  }
  89% {
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    transform: translateY(-5px);
  }
  100% {
    transform: none;
  }
}
