body {
  margin: 0;
}

section {
  position: relative;
  width: 100%;
  height: 100vh;
}

#canvas {
  position: fixed;
  top: 0;
  left: 0;
  background: #000;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#text-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.text {
  opacity: 0;
  font-size: 100px;
  color: white;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

#text-happy {
  animation-name: fade-in-happy;
  animation-delay: 2s;
}

#text-birthday {
  animation-name: fade-in-birthday;
  animation-delay: 4s;
}

#text-name {
  animation-name: fade-in-name;
  animation-delay: 6s;
}

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

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

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

@media screen and (max-width: 768px) {
  #text-container {
    width: 90%;
  }

  #text-happy.text,
  #text-birthday.text,
  #text-name.text {
    font-size: 100px; 
  }
}