body {
  background: #eef;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sky {
  margin-top: -60px;
  perspective: 400px;
  filter: drop-shadow(0px 150px 10px rgba(0, 0, 0, 0.2));
}

.sky div {
  transform-style: preserve-3d;
}

.sky .bird {
  animation: fly 10s linear infinite;
}

.sky .bird .wind {
  position: absolute;
  left: 50%;
  width: 4px;
  height: 200px;
  margin-left: -2px;
  border-radius: 999px;
  overflow: hidden;
}

.sky .bird .wind:nth-child(1) {
  transform: translate3d(151px, 133px, -7px) rotateY(90deg);
}

.sky .bird .wind:nth-child(1)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 160, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1407ms 3365ms linear infinite;
}

.sky .bird .wind:nth-child(2) {
  transform: translate3d(118px, 19px, 74px) rotateY(90deg);
}

.sky .bird .wind.wind:nth-child(2)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 209, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1085ms 4272ms linear infinite;
}

.sky .bird .wind:nth-child(3) {
  transform: translate3d(105px, -125px, -18px) rotateY(90deg);
}

.sky .bird .wind:nth-child(3)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 156, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 2221ms 1970ms linear infinite;
}

.sky .bird .wind:nth-child(4) {
  transform: translate3d(35px, 145px, -58px) rotateY(90deg);
}

.sky .bird .wind:nth-child(4)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 232, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1751ms 4581ms linear infinite;
}

.sky .bird .wind:nth-child(5) {
  transform: translate3d(-75px, -21px, -73px) rotateY(90deg);
}

.sky .bird .wind:nth-child(5)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 29, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1615ms 3225ms linear infinite;
}

.sky .bird .wind:nth-child(6) {
  transform: translate3d(-27px, -60px, -98px) rotateY(90deg);
}

.sky .bird .wind:nth-child(6)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 68, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1584ms 3768ms linear infinite;
}

.sky .bird .wind:nth-child(7) {
  transform: translate3d(38px, 114px, -1px) rotateY(90deg);
}

.sky .bird .wind:nth-child(7)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 65, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 2401ms 2547ms linear infinite;
}

.sky .bird .wind:nth-child(8) {
  transform: translate3d(-58px, -25px, -82px) rotateY(90deg);
}

.sky .bird .wind:nth-child(8)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 20, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1341ms 2491ms linear infinite;
}

.sky .bird .wind:nth-child(9) {
  transform: translate3d(-114px, -129px, -23px) rotateY(90deg);
}

.sky .bird .wind:nth-child(9)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 179, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1701ms 1959ms linear infinite;
}

.sky .bird .wind:nth-child(10) {
  transform: translate3d(68px, 12px, -50px) rotateY(90deg);
}

.sky .bird .wind:nth-child(10)::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 300px;
  background: rgba(100, 200, 109, 0.3);
  border-radius: 999px;
  transform: translateY(-300px);
  animation: wind 1823ms 3651ms linear infinite;
}

.sky .bird_body {
  position: relative;
  width: 30px;
  height: 40px;
  background: #a277fa;
}

.sky .bird_head {
  position: absolute;
  top: -30px;
  border-right: 15px solid transparent;
  border-bottom: 30px solid #877bd5;
  border-left: 15px solid transparent;
  transform-origin: 50% 100%;
  transform: rotateX(-20deg);
}

.sky .bird_wing_left {
  position: absolute;
  left: -30px;
  height: 30px;
  border-right: 30px solid #81bcf2;
  border-bottom: 10px solid transparent;
  transform-origin: 100% 0;
  animation: wingLeft 1s cubic-bezier(0.36, 0.1, 0.16, 1) infinite alternate;
}

.sky .bird_wing_left_top {
  position: absolute;
  left: -30px;
  border-right: 30px solid #aaaed1;
  border-bottom: 30px solid transparent;
  transform-origin: 100% 0;
  animation: wingLeft 1s cubic-bezier(0.545, 0.08, 0.52, 0.975) infinite
    alternate;
}

.sky .bird_wing_right {
  position: absolute;
  left: 30px;
  height: 30px;
  border-left: 30px solid #b9c7fc;
  border-bottom: 10px solid transparent;
  transform-origin: 0 0;
  animation: wingRight 1s cubic-bezier(0.36, 0.1, 0.16, 1) infinite alternate;
}

.sky .bird_wing_right_top {
  position: absolute;
  border-left: 30px solid #a8b2ec;
  border-bottom: 30px solid transparent;
  transform-origin: 0 0;
  animation: wingRight 1s cubic-bezier(0.545, 0.08, 0.52, 0.975) infinite
    alternate;
}

.sky .bird_tail_left {
  position: absolute;
  top: 40px;
  border-right: 30px solid transparent;
  border-top: 40px solid #6777d5;
  transform-origin: 50% 0;
  transform: rotateX(-20deg);
}

.sky .bird_tail_right {
  position: absolute;
  top: 40px;
  border-left: 30px solid transparent;
  border-top: 40px solid #8e67e7;
  transform-origin: 50% 0;
  transform: rotateX(-20deg);
}

@keyframes fly {
  0% {
    transform: rotateX(-120deg) rotateZ(0deg) rotateX(10deg);
  }

  100% {
    transform: rotateX(-120deg) rotateZ(360deg) rotateX(10deg);
  }
}

@keyframes wingLeft {
  0% {
    transform: rotateY(-40deg);
  }

  100% {
    transform: rotateY(40deg);
  }
}

@keyframes wingRight {
  0% {
    transform: rotateY(40deg);
  }

  100% {
    transform: rotateY(-40deg);
  }
}

@keyframes wind {
  0% {
    transform: translateY(-300px);
  }

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

h1 {
  position: absolute;
  top: 65px;
  font-family: cursive;
  text-align: center;
  color: gray;
  width: 100%;
}
