* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*Schriften Monserrat und Bebas Neue*/
@font-face {
  font-family: "Montserrat";
  src: url(/fonts/Montserrat-Light.ttf);
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: "Montserrat";
  src: url(/fonts/Montserrat-Regular.ttf);
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Montserrat";
  src: url(/fonts/Montserrat-Medium.ttf);
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Montserrat";
  src: url(/fonts/Montserrat-Bold.ttf);
  font-style: normal;
  font-weight: 600;
}

body {
  overflow-x: hidden; /* Hide scrollbars */
}

.cover {
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: -100vw;
  z-index: 1000;
}
.transition.slide .cover1 {
  background-color: #fff;
  animation: slide 0.3s ease-in-out forwards;
}
.transition.slide .cover2 {
  background-color: crimson;
  animation: slide 0.5s ease-in-out forwards;
  animation-delay: 0.2s;
}
.transition.slide .cover3 {
  background-color: #333333;
  animation: slide 0.4s ease-in-out forwards;
  animation-delay: 0.4s;
}
.transition.slide .cover4 {
  background-color: #999999;
  animation: slide 0.3s ease-in-out forwards;
  animation-delay: 0.6s;
}

@keyframes slide {
  from {
    left: -100vw;
  }
  to {
    left: 0;
  }
}

.content {
  background-color: crimson;
  position: relative;
  min-height: 100vh;
  max-height: fit-content;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  animation-name: background;
  animation-duration: 10s;
}

@keyframes background {
  0% {
    background-color: rgb(95, 95, 95);
  }
  40% {
    background-color: rgb(128, 128, 128);
  }
  41% {
    background-color: rgb(255, 255, 255);
  }
  42% {
    background-color: rgb(143, 143, 143);
  }
  62% {
    background-color: rgb(155, 155, 155);
  }
  62% {
    background-color: rgb(155, 155, 155);
  }
  70% {
    background-color: crimson;
  }
}

.logo {
  width: 773px;
  height: 452px;
}

.logo_wolke {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  width: 773px;
  animation-name: cloud;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes cloud {
  0% {
    opacity: 0;
    transform: translateX(100%) rotate(20deg);
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
    transform: translateX(0%);
  }
  62% {
    opacity: 1;
    transform: translateX(-1%);
  }
  64% {
    opacity: 1;
    transform: translateX(1%);
  }
  66% {
    opacity: 1;
    transform: translateX(-1%);
  }
  68% {
    opacity: 1;
    transform: translateX(1%);
  }
  70% {
    opacity: 1;
    transform: translateX(0%);
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.logo_regen {
  position: absolute;
  width: 773px;
  opacity: 0;
  animation-name: rain;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes rain {
  60% {
    opacity: 0;
    transform: translate3d(0, -50%, 0);
  }
  70% {
    opacity: 1;
    transform: none;
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.logo_schatten {
  position: absolute;
  width: 773px;
  opacity: 0;
  animation-name: swing;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes swing {
  0% {
    transform: rotate3d(0, 0, 0, 0deg);
  }
  45% {
    opacity: 0;
    transform: translateY(50%);
  }
  70% {
    opacity: 1;
    transform: rotate3d(0, 0, 0, 0deg);
  }
  72% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  74% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  76% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  78% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
  90% {
    transform: translate(5px, 10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.logo_creators {
  position: absolute;
  width: 773px;
  opacity: 0;
  animation-name: creators;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes creators {
  0% {
    filter: saturate(0);
    transform: rotate3d(0, 0, 0, 0deg);
  }
  55% {
    opacity: 0;
    transform: translateY(70%);
    filter: saturate(0);
  }
  70% {
    opacity: 1;
    transform: rotate3d(0, 0, 0, 0deg);
  }
  73% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  75% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
    filter: saturate(100%);
  }
  77% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  79% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.logo_claim {
  position: absolute;
  width: 773px;
  opacity: 0;
  animation-name: claim;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes claim {
  0% {
    opacity: 0;
    transform: translateX(-100%);
    filter: saturate(0);
  }
  57% {
    opacity: 0;
    transform: translateX(-100%);
    filter: saturate(0);
  }
  60% {
    opacity: 1;
    transform: translateX(5%);
  }
  62% {
    opacity: 1;
    transform: translateX(-3%);
  }
  64% {
    opacity: 1;
    transform: translateX(2%);
  }
  66% {
    opacity: 1;
    transform: translateX(0%);
  }
  80% {
    filter: saturate(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.claim {
  opacity: 0;
  display: none;
  width: 80%;
}

.welcom {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 773px;
  opacity: 0;
  animation-name: welcom;
  animation-duration: 10s;
  animation-fill-mode: forwards;
}

@keyframes welcom {
  0% {
    opacity: 0;
    transform: translateY(200%);
  }
  80% {
    opacity: 0;
    transform: translateY(200%);
  }
  83% {
    opacity: 1;
    transform: translateY(-5%);
  }
  85% {
    opacity: 1;
    transform: translateY(3%);
  }
  87% {
    opacity: 1;
    transform: translateY(-2%);
  }
  89% {
    opacity: 1;
    transform: translateY(0%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

a {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  border: 2px solid #fff;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: 20px;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  letter-spacing: 0.1em;
}

a::before {
  content: "";
  position: absolute;
  top: 6px;
  left: -3px;
  width: calc(100% + 6px);
  height: calc(100% - 12px);
  background: crimson;
  transition: 0.5s ease-in-out;
  transform: scaleY(1);
  transition-delay: 0.5s;
}

a:hover::before {
  transform: scaleY(0);
}

a::after {
  content: "";
  position: absolute;
  top: -2px;
  left: 6px;
  height: calc(100% + 4px);
  width: calc(100% - 12px);
  background: crimson;
  transition: 0.5s ease-in-out;
  transform: scaleX(1);
}

a:hover::after {
  transform: scaleX(0);
}

a span {
  position: relative;
  z-index: 3;
}

/*media queries 01 780px */
@media (max-width: 780px) {
  .logo {
    width: 80%;
    height: 350px;
  }

  .logo_wolke {
    position: absolute;
    width: 80%;
  }
  .logo_regen {
    position: absolute;
    width: 80%;
  }
  .logo_schatten {
    position: absolute;
    width: 80%;
  }
  .logo_creators {
    position: absolute;
    width: 80%;
  }
  .logo_claim {
    opacity: 0;
    display: none;
    position: absolute;
    width: 80%;
  }

  .claim {
    opacity: 1;
    display: block;
    animation-name: claim;
    animation-duration: 10s;
    animation-fill-mode: forwards;
  }

  .welcom {
    width: 80%;
  }
  a {
    font-weight: 400;
    border: 1px solid #fff;
  }
}

/*media queries 02 600px */
@media (max-width: 600px) {
  .logo {
    height: 280px;
  }
}

/*media queries 03 500px */
@media (max-width: 500px) {
  .logo {
    height: 230px;
  }
}

/*media queries 04 400px */
@media (max-width: 400px) {
  .logo {
    height: 190px;
  }
}
