.night {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotateZ(40deg);
}

.star {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 2px;
  background: linear-gradient(-45deg, #fff, rgba(0, 0, 255, 0));
  border-radius: 999px;
  filter: drop-shadow(0 0 6px #fff);
  animation:
    tail 3s ease-in-out infinite,
    falling 3s ease-in-out infinite;
}

@keyframes tail {
  0% {
    width: 0;
  }

  30% {
    width: 100px;
  }

  100% {
    width: 0;
  }
}

@keyframes falling {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(800px);
  }
}

.star::before,
.star::after {
  content: '';
  position: absolute;
  top: calc(50%-1px);
  right: 0;
  height: 2px;
  background: linear-gradient(-45deg, rgba(0, 0, 255, 0), #fff, rgba(0, 0, 255, 0));
  border-radius: 100%;
  transform: translateX(50%) rotateZ(45deg);
  animation: shining 3s ease-in-out infinite;
}

@keyframes shining {
  0% {
    width: 0;
  }

  50% {
    width: 30px;
  }

  100% {
    width: 0;
  }
}

.star::after {
  transform: translateX(50%) rotateZ(-45deg);
}

.star:nth-child(1) {
  top: calc(50% - 100px);
  left: calc(50% - 250px);
  animation-delay: 1s;
}

.star:nth-child(1)::before,
.star:nth-child(1)::after {
  animation-delay: 1s;
}

.star:nth-child(2) {
  top: calc(50% - 50px);
  left: calc(50% - 200px);
  animation-delay: 1.2s;
}

.star:nth-child(2)::before,
.star:nth-child(2)::after {
  animation-delay: 1.2s;
}

.star:nth-child(3) {
  top: calc(50% - 0px);
  left: calc(50% - 150px);
  animation-delay: 1.4s;
}

.star:nth-child(3)::before,
.star:nth-child(3)::after {
  animation-delay: 1.4s;
}

.star:nth-child(4) {
  top: calc(50% - -50px);
  left: calc(50% - 200px);
  animation-delay: 1.6s;
}

.star:nth-child(4)::before,
.star:nth-child(4)::after {
  animation-delay: 1.6s;
}

.star:nth-child(5) {
  top: calc(50% - -100px);
  left: calc(50% - 250px);
  animation-delay: 1.8s;
}

.star:nth-child(5)::before,
.star:nth-child(5)::after {
  animation-delay: 1.8s;
}

.single-star {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 2px;
  background: linear-gradient(-45deg, #fff, rgba(0, 0, 255, 0));
  border-radius: 999px;
  filter: drop-shadow(0 0 6px #fff);
}

.single-star::before,
.single-star::after {
  content: '';
  position: absolute;
  top: calc(50%-1px);
  right: 0;
  height: 2px;
  background: linear-gradient(-45deg, rgba(0, 0, 255, 0), #fff, rgba(0, 0, 255, 0));
  border-radius: 100%;
  transform: translateX(50%) rotateZ(45deg);
  animation: shining 3s ease-in-out infinite;
}

.single-star::after {
  transform: translateX(50%) rotateZ(-45deg);
}

.single-star:nth-child(1) {
  top: calc(50% - 60px);
  left: calc(50% - 250px);
  animation-delay: 1s;
}

.single-star:nth-child(1)::before,
.single-star:nth-child(1)::after {
  animation-delay: 1s;
}

.single-star:nth-child(2) {
  top: calc(50% - 50px);
  left: calc(50% - 300px);
  animation-delay: 1.2s;
}

.single-star:nth-child(2)::before,
.single-star:nth-child(2)::after {
  animation-delay: 1.2s;
}

.single-star:nth-child(3) {
  top: calc(50% - 40px);
  left: calc(50% - 150px);
  animation-delay: 1.4s;
}

.single-star:nth-child(3)::before,
.single-star:nth-child(3)::after {
  animation-delay: 1.4s;
}

.single-star:nth-child(4) {
  top: calc(50% - -50px);
  left: calc(50% - 150px);
  animation-delay: 1.6s;
}

.single-star:nth-child(4)::before,
.single-star:nth-child(4)::after {
  animation-delay: 1.6s;
}

.single-star:nth-child(5) {
  top: calc(50% - -10px);
  left: calc(50% - 250px);
  animation-delay: 1.8s;
}

.single-star:nth-child(5)::before,
.single-star:nth-child(5)::after {
  animation-delay: 1.8s;
}

@media only screen and (max-width: 1024px) {
  @keyframes falling {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(200px);
    }
  }
}
