body {
  background: #ecf3f3;
}

.particle {
  position: absolute;
  border-radius: 50%;
}

@-webkit-keyframes particle-animation-1 {
  100% {
    transform: translate3d(13vw, 18vh, 55px);
  }
}

@keyframes particle-animation-1 {
  100% {
    transform: translate3d(13vw, 18vh, 55px);
  }
}
.particle:nth-child(1) {
  -webkit-animation: particle-animation-1 60s infinite;
          animation: particle-animation-1 60s infinite;
  opacity: 0.46;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
  transform: translate3d(44vw, 6vh, 23px);
  background: #7a26d9;
}

@-webkit-keyframes particle-animation-2 {
  100% {
    transform: translate3d(44vw, 26vh, 11px);
  }
}

@keyframes particle-animation-2 {
  100% {
    transform: translate3d(44vw, 26vh, 11px);
  }
}
.particle:nth-child(2) {
  -webkit-animation: particle-animation-2 60s infinite;
          animation: particle-animation-2 60s infinite;
  opacity: 0.86;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
  transform: translate3d(56vw, 46vh, 47px);
  background: #26afd9;
}

@-webkit-keyframes particle-animation-3 {
  100% {
    transform: translate3d(62vw, 31vh, 53px);
  }
}

@keyframes particle-animation-3 {
  100% {
    transform: translate3d(62vw, 31vh, 53px);
  }
}
.particle:nth-child(3) {
  -webkit-animation: particle-animation-3 60s infinite;
          animation: particle-animation-3 60s infinite;
  opacity: 0.83;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
  transform: translate3d(19vw, 24vh, 99px);
  background: #d98b26;
}

@-webkit-keyframes particle-animation-4 {
  100% {
    transform: translate3d(47vw, 18vh, 29px);
  }
}

@keyframes particle-animation-4 {
  100% {
    transform: translate3d(47vw, 18vh, 29px);
  }
}
.particle:nth-child(4) {
  -webkit-animation: particle-animation-4 60s infinite;
          animation: particle-animation-4 60s infinite;
  opacity: 0.9;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
  transform: translate3d(43vw, 7vh, 33px);
  background: #9dd926;
}

@-webkit-keyframes particle-animation-5 {
  100% {
    transform: translate3d(74vw, 49vh, 89px);
  }
}

@keyframes particle-animation-5 {
  100% {
    transform: translate3d(74vw, 49vh, 89px);
  }
}
.particle:nth-child(5) {
  -webkit-animation: particle-animation-5 60s infinite;
          animation: particle-animation-5 60s infinite;
  opacity: 0.82;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
  transform: translate3d(73vw, 38vh, 80px);
  background: #266bd9;
}

@-webkit-keyframes particle-animation-6 {
  100% {
    transform: translate3d(3vw, 20vh, 24px);
  }
}

@keyframes particle-animation-6 {
  100% {
    transform: translate3d(3vw, 20vh, 24px);
  }
}
.particle:nth-child(6) {
  -webkit-animation: particle-animation-6 60s infinite;
          animation: particle-animation-6 60s infinite;
  opacity: 0.31;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -1.2s;
          animation-delay: -1.2s;
  transform: translate3d(86vw, 89vh, 93px);
  background: #d92691;
}

@-webkit-keyframes particle-animation-7 {
  100% {
    transform: translate3d(35vw, 64vh, 88px);
  }
}

@keyframes particle-animation-7 {
  100% {
    transform: translate3d(35vw, 64vh, 88px);
  }
}
.particle:nth-child(7) {
  -webkit-animation: particle-animation-7 60s infinite;
          animation: particle-animation-7 60s infinite;
  opacity: 0.13;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -1.4s;
          animation-delay: -1.4s;
  transform: translate3d(33vw, 22vh, 57px);
  background: #d92f26;
}

@-webkit-keyframes particle-animation-8 {
  100% {
    transform: translate3d(5vw, 55vh, 87px);
  }
}

@keyframes particle-animation-8 {
  100% {
    transform: translate3d(5vw, 55vh, 87px);
  }
}
.particle:nth-child(8) {
  -webkit-animation: particle-animation-8 60s infinite;
          animation: particle-animation-8 60s infinite;
  opacity: 0.32;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -1.6s;
          animation-delay: -1.6s;
  transform: translate3d(40vw, 69vh, 92px);
  background: #269dd9;
}

@-webkit-keyframes particle-animation-9 {
  100% {
    transform: translate3d(83vw, 83vh, 42px);
  }
}

@keyframes particle-animation-9 {
  100% {
    transform: translate3d(83vw, 83vh, 42px);
  }
}
.particle:nth-child(9) {
  -webkit-animation: particle-animation-9 60s infinite;
          animation: particle-animation-9 60s infinite;
  opacity: 0.81;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -1.8s;
          animation-delay: -1.8s;
  transform: translate3d(47vw, 38vh, 99px);
  background: #263bd9;
}

@-webkit-keyframes particle-animation-10 {
  100% {
    transform: translate3d(72vw, 85vh, 31px);
  }
}

@keyframes particle-animation-10 {
  100% {
    transform: translate3d(72vw, 85vh, 31px);
  }
}
.particle:nth-child(10) {
  -webkit-animation: particle-animation-10 60s infinite;
          animation: particle-animation-10 60s infinite;
  opacity: 0.63;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
  transform: translate3d(7vw, 63vh, 56px);
  background: #26d971;
}

@-webkit-keyframes particle-animation-11 {
  100% {
    transform: translate3d(48vw, 40vh, 10px);
  }
}

@keyframes particle-animation-11 {
  100% {
    transform: translate3d(48vw, 40vh, 10px);
  }
}
.particle:nth-child(11) {
  -webkit-animation: particle-animation-11 60s infinite;
          animation: particle-animation-11 60s infinite;
  opacity: 0.34;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -2.2s;
          animation-delay: -2.2s;
  transform: translate3d(65vw, 81vh, 75px);
  background: #26d9b2;
}

@-webkit-keyframes particle-animation-12 {
  100% {
    transform: translate3d(61vw, 38vh, 12px);
  }
}

@keyframes particle-animation-12 {
  100% {
    transform: translate3d(61vw, 38vh, 12px);
  }
}
.particle:nth-child(12) {
  -webkit-animation: particle-animation-12 60s infinite;
          animation: particle-animation-12 60s infinite;
  opacity: 0.06;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2.4s;
          animation-delay: -2.4s;
  transform: translate3d(4vw, 22vh, 58px);
  background: #d9264a;
}

@-webkit-keyframes particle-animation-13 {
  100% {
    transform: translate3d(6vw, 75vh, 54px);
  }
}

@keyframes particle-animation-13 {
  100% {
    transform: translate3d(6vw, 75vh, 54px);
  }
}
.particle:nth-child(13) {
  -webkit-animation: particle-animation-13 60s infinite;
          animation: particle-animation-13 60s infinite;
  opacity: 0.41;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -2.6s;
          animation-delay: -2.6s;
  transform: translate3d(37vw, 89vh, 31px);
  background: #4dd926;
}

@-webkit-keyframes particle-animation-14 {
  100% {
    transform: translate3d(63vw, 89vh, 79px);
  }
}

@keyframes particle-animation-14 {
  100% {
    transform: translate3d(63vw, 89vh, 79px);
  }
}
.particle:nth-child(14) {
  -webkit-animation: particle-animation-14 60s infinite;
          animation: particle-animation-14 60s infinite;
  opacity: 0.06;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -2.8s;
          animation-delay: -2.8s;
  transform: translate3d(35vw, 74vh, 29px);
  background: #26d9c1;
}

@-webkit-keyframes particle-animation-15 {
  100% {
    transform: translate3d(76vw, 88vh, 44px);
  }
}

@keyframes particle-animation-15 {
  100% {
    transform: translate3d(76vw, 88vh, 44px);
  }
}
.particle:nth-child(15) {
  -webkit-animation: particle-animation-15 60s infinite;
          animation: particle-animation-15 60s infinite;
  opacity: 0.14;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -3s;
          animation-delay: -3s;
  transform: translate3d(40vw, 69vh, 91px);
  background: #8e26d9;
}

@-webkit-keyframes particle-animation-16 {
  100% {
    transform: translate3d(11vw, 25vh, 79px);
  }
}

@keyframes particle-animation-16 {
  100% {
    transform: translate3d(11vw, 25vh, 79px);
  }
}
.particle:nth-child(16) {
  -webkit-animation: particle-animation-16 60s infinite;
          animation: particle-animation-16 60s infinite;
  opacity: 0.95;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -3.2s;
          animation-delay: -3.2s;
  transform: translate3d(66vw, 66vh, 50px);
  background: #b2d926;
}

@-webkit-keyframes particle-animation-17 {
  100% {
    transform: translate3d(65vw, 75vh, 2px);
  }
}

@keyframes particle-animation-17 {
  100% {
    transform: translate3d(65vw, 75vh, 2px);
  }
}
.particle:nth-child(17) {
  -webkit-animation: particle-animation-17 60s infinite;
          animation: particle-animation-17 60s infinite;
  opacity: 0.88;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -3.4s;
          animation-delay: -3.4s;
  transform: translate3d(59vw, 75vh, 85px);
  background: #d92629;
}

@-webkit-keyframes particle-animation-18 {
  100% {
    transform: translate3d(46vw, 2vh, 7px);
  }
}

@keyframes particle-animation-18 {
  100% {
    transform: translate3d(46vw, 2vh, 7px);
  }
}
.particle:nth-child(18) {
  -webkit-animation: particle-animation-18 60s infinite;
          animation: particle-animation-18 60s infinite;
  opacity: 0.78;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -3.6s;
          animation-delay: -3.6s;
  transform: translate3d(24vw, 32vh, 45px);
  background: #26b8d9;
}

@-webkit-keyframes particle-animation-19 {
  100% {
    transform: translate3d(70vw, 14vh, 27px);
  }
}

@keyframes particle-animation-19 {
  100% {
    transform: translate3d(70vw, 14vh, 27px);
  }
}
.particle:nth-child(19) {
  -webkit-animation: particle-animation-19 60s infinite;
          animation: particle-animation-19 60s infinite;
  opacity: 0.21;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -3.8s;
          animation-delay: -3.8s;
  transform: translate3d(54vw, 19vh, 23px);
  background: #d926a9;
}

@-webkit-keyframes particle-animation-20 {
  100% {
    transform: translate3d(42vw, 79vh, 81px);
  }
}

@keyframes particle-animation-20 {
  100% {
    transform: translate3d(42vw, 79vh, 81px);
  }
}
.particle:nth-child(20) {
  -webkit-animation: particle-animation-20 60s infinite;
          animation: particle-animation-20 60s infinite;
  opacity: 0.14;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
  transform: translate3d(78vw, 44vh, 48px);
  background: #d97a26;
}

@-webkit-keyframes particle-animation-21 {
  100% {
    transform: translate3d(14vw, 70vh, 30px);
  }
}

@keyframes particle-animation-21 {
  100% {
    transform: translate3d(14vw, 70vh, 30px);
  }
}
.particle:nth-child(21) {
  -webkit-animation: particle-animation-21 60s infinite;
          animation: particle-animation-21 60s infinite;
  opacity: 0.11;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -4.2s;
          animation-delay: -4.2s;
  transform: translate3d(36vw, 51vh, 34px);
  background: #d96e26;
}

@-webkit-keyframes particle-animation-22 {
  100% {
    transform: translate3d(24vw, 62vh, 66px);
  }
}

@keyframes particle-animation-22 {
  100% {
    transform: translate3d(24vw, 62vh, 66px);
  }
}
.particle:nth-child(22) {
  -webkit-animation: particle-animation-22 60s infinite;
          animation: particle-animation-22 60s infinite;
  opacity: 0.17;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.4s;
          animation-delay: -4.4s;
  transform: translate3d(86vw, 26vh, 23px);
  background: #d97d26;
}

@-webkit-keyframes particle-animation-23 {
  100% {
    transform: translate3d(12vw, 43vh, 38px);
  }
}

@keyframes particle-animation-23 {
  100% {
    transform: translate3d(12vw, 43vh, 38px);
  }
}
.particle:nth-child(23) {
  -webkit-animation: particle-animation-23 60s infinite;
          animation: particle-animation-23 60s infinite;
  opacity: 0.17;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.6s;
          animation-delay: -4.6s;
  transform: translate3d(59vw, 17vh, 32px);
  background: #d99426;
}

@-webkit-keyframes particle-animation-24 {
  100% {
    transform: translate3d(4vw, 44vh, 17px);
  }
}

@keyframes particle-animation-24 {
  100% {
    transform: translate3d(4vw, 44vh, 17px);
  }
}
.particle:nth-child(24) {
  -webkit-animation: particle-animation-24 60s infinite;
          animation: particle-animation-24 60s infinite;
  opacity: 0.54;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -4.8s;
          animation-delay: -4.8s;
  transform: translate3d(39vw, 36vh, 29px);
  background: #d926c4;
}

@-webkit-keyframes particle-animation-25 {
  100% {
    transform: translate3d(61vw, 63vh, 30px);
  }
}

@keyframes particle-animation-25 {
  100% {
    transform: translate3d(61vw, 63vh, 30px);
  }
}
.particle:nth-child(25) {
  -webkit-animation: particle-animation-25 60s infinite;
          animation: particle-animation-25 60s infinite;
  opacity: 0.13;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
  transform: translate3d(46vw, 49vh, 6px);
  background: #5c26d9;
}

@-webkit-keyframes particle-animation-26 {
  100% {
    transform: translate3d(40vw, 48vh, 56px);
  }
}

@keyframes particle-animation-26 {
  100% {
    transform: translate3d(40vw, 48vh, 56px);
  }
}
.particle:nth-child(26) {
  -webkit-animation: particle-animation-26 60s infinite;
          animation: particle-animation-26 60s infinite;
  opacity: 0.59;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -5.2s;
          animation-delay: -5.2s;
  transform: translate3d(60vw, 13vh, 5px);
  background: #26d98e;
}

@-webkit-keyframes particle-animation-27 {
  100% {
    transform: translate3d(42vw, 26vh, 62px);
  }
}

@keyframes particle-animation-27 {
  100% {
    transform: translate3d(42vw, 26vh, 62px);
  }
}
.particle:nth-child(27) {
  -webkit-animation: particle-animation-27 60s infinite;
          animation: particle-animation-27 60s infinite;
  opacity: 0.68;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -5.4s;
          animation-delay: -5.4s;
  transform: translate3d(9vw, 29vh, 10px);
  background: #2685d9;
}

@-webkit-keyframes particle-animation-28 {
  100% {
    transform: translate3d(9vw, 13vh, 44px);
  }
}

@keyframes particle-animation-28 {
  100% {
    transform: translate3d(9vw, 13vh, 44px);
  }
}
.particle:nth-child(28) {
  -webkit-animation: particle-animation-28 60s infinite;
          animation: particle-animation-28 60s infinite;
  opacity: 0.47;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -5.6s;
          animation-delay: -5.6s;
  transform: translate3d(37vw, 6vh, 70px);
  background: #c126d9;
}

@-webkit-keyframes particle-animation-29 {
  100% {
    transform: translate3d(35vw, 86vh, 56px);
  }
}

@keyframes particle-animation-29 {
  100% {
    transform: translate3d(35vw, 86vh, 56px);
  }
}
.particle:nth-child(29) {
  -webkit-animation: particle-animation-29 60s infinite;
          animation: particle-animation-29 60s infinite;
  opacity: 0.72;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -5.8s;
          animation-delay: -5.8s;
  transform: translate3d(23vw, 18vh, 32px);
  background: #35d926;
}

@-webkit-keyframes particle-animation-30 {
  100% {
    transform: translate3d(67vw, 88vh, 53px);
  }
}

@keyframes particle-animation-30 {
  100% {
    transform: translate3d(67vw, 88vh, 53px);
  }
}
.particle:nth-child(30) {
  -webkit-animation: particle-animation-30 60s infinite;
          animation: particle-animation-30 60s infinite;
  opacity: 0.57;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -6s;
          animation-delay: -6s;
  transform: translate3d(38vw, 9vh, 91px);
  background: #26d94a;
}
