body {
  background: #ecf3f3;
}

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

@-webkit-keyframes particle-animation-1 {
  100% {
    transform: translate3d(59vw, 78vh, 52px);
  }
}

@keyframes particle-animation-1 {
  100% {
    transform: translate3d(59vw, 78vh, 52px);
  }
}
.particle:nth-child(1) {
  -webkit-animation: particle-animation-1 60s infinite;
          animation: particle-animation-1 60s infinite;
  opacity: 0.8;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
  transform: translate3d(46vw, 14vh, 80px);
  background: #bed926;
}

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

@keyframes particle-animation-2 {
  100% {
    transform: translate3d(31vw, 1vh, 26px);
  }
}
.particle:nth-child(2) {
  -webkit-animation: particle-animation-2 60s infinite;
          animation: particle-animation-2 60s infinite;
  opacity: 0.62;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
  transform: translate3d(83vw, 9vh, 26px);
  background: #d9cd26;
}

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

@keyframes particle-animation-3 {
  100% {
    transform: translate3d(32vw, 83vh, 3px);
  }
}
.particle:nth-child(3) {
  -webkit-animation: particle-animation-3 60s infinite;
          animation: particle-animation-3 60s infinite;
  opacity: 0.05;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
  transform: translate3d(18vw, 43vh, 53px);
  background: #265fd9;
}

@-webkit-keyframes particle-animation-4 {
  100% {
    transform: translate3d(63vw, 88vh, 58px);
  }
}

@keyframes particle-animation-4 {
  100% {
    transform: translate3d(63vw, 88vh, 58px);
  }
}
.particle:nth-child(4) {
  -webkit-animation: particle-animation-4 60s infinite;
          animation: particle-animation-4 60s infinite;
  opacity: 0.43;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
  transform: translate3d(25vw, 24vh, 1px);
  background: #bbd926;
}

@-webkit-keyframes particle-animation-5 {
  100% {
    transform: translate3d(31vw, 20vh, 11px);
  }
}

@keyframes particle-animation-5 {
  100% {
    transform: translate3d(31vw, 20vh, 11px);
  }
}
.particle:nth-child(5) {
  -webkit-animation: particle-animation-5 60s infinite;
          animation: particle-animation-5 60s infinite;
  opacity: 0.74;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
  transform: translate3d(62vw, 71vh, 52px);
  background: #c1d926;
}

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

@keyframes particle-animation-6 {
  100% {
    transform: translate3d(69vw, 75vh, 4px);
  }
}
.particle:nth-child(6) {
  -webkit-animation: particle-animation-6 60s infinite;
          animation: particle-animation-6 60s infinite;
  opacity: 0.41;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -1.2s;
          animation-delay: -1.2s;
  transform: translate3d(78vw, 69vh, 82px);
  background: #3e26d9;
}

@-webkit-keyframes particle-animation-7 {
  100% {
    transform: translate3d(36vw, 6vh, 45px);
  }
}

@keyframes particle-animation-7 {
  100% {
    transform: translate3d(36vw, 6vh, 45px);
  }
}
.particle:nth-child(7) {
  -webkit-animation: particle-animation-7 60s infinite;
          animation: particle-animation-7 60s infinite;
  opacity: 0.67;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -1.4s;
          animation-delay: -1.4s;
  transform: translate3d(79vw, 63vh, 75px);
  background: #2671d9;
}

@-webkit-keyframes particle-animation-8 {
  100% {
    transform: translate3d(30vw, 24vh, 45px);
  }
}

@keyframes particle-animation-8 {
  100% {
    transform: translate3d(30vw, 24vh, 45px);
  }
}
.particle:nth-child(8) {
  -webkit-animation: particle-animation-8 60s infinite;
          animation: particle-animation-8 60s infinite;
  opacity: 0.96;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -1.6s;
          animation-delay: -1.6s;
  transform: translate3d(29vw, 3vh, 99px);
  background: #26d9af;
}

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

@keyframes particle-animation-9 {
  100% {
    transform: translate3d(25vw, 37vh, 46px);
  }
}
.particle:nth-child(9) {
  -webkit-animation: particle-animation-9 60s infinite;
          animation: particle-animation-9 60s infinite;
  opacity: 0.19;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -1.8s;
          animation-delay: -1.8s;
  transform: translate3d(61vw, 10vh, 86px);
  background: #26d96b;
}

@-webkit-keyframes particle-animation-10 {
  100% {
    transform: translate3d(16vw, 80vh, 43px);
  }
}

@keyframes particle-animation-10 {
  100% {
    transform: translate3d(16vw, 80vh, 43px);
  }
}
.particle:nth-child(10) {
  -webkit-animation: particle-animation-10 60s infinite;
          animation: particle-animation-10 60s infinite;
  opacity: 0.3;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
  transform: translate3d(31vw, 89vh, 28px);
  background: #26c4d9;
}

@-webkit-keyframes particle-animation-11 {
  100% {
    transform: translate3d(37vw, 52vh, 32px);
  }
}

@keyframes particle-animation-11 {
  100% {
    transform: translate3d(37vw, 52vh, 32px);
  }
}
.particle:nth-child(11) {
  -webkit-animation: particle-animation-11 60s infinite;
          animation: particle-animation-11 60s infinite;
  opacity: 0.39;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -2.2s;
          animation-delay: -2.2s;
  transform: translate3d(41vw, 54vh, 18px);
  background: #266ed9;
}

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

@keyframes particle-animation-12 {
  100% {
    transform: translate3d(69vw, 84vh, 9px);
  }
}
.particle:nth-child(12) {
  -webkit-animation: particle-animation-12 60s infinite;
          animation: particle-animation-12 60s infinite;
  opacity: 0.16;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -2.4s;
          animation-delay: -2.4s;
  transform: translate3d(65vw, 30vh, 16px);
  background: #d3d926;
}

@-webkit-keyframes particle-animation-13 {
  100% {
    transform: translate3d(5vw, 27vh, 37px);
  }
}

@keyframes particle-animation-13 {
  100% {
    transform: translate3d(5vw, 27vh, 37px);
  }
}
.particle:nth-child(13) {
  -webkit-animation: particle-animation-13 60s infinite;
          animation: particle-animation-13 60s infinite;
  opacity: 0.31;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2.6s;
          animation-delay: -2.6s;
  transform: translate3d(48vw, 37vh, 7px);
  background: #5c26d9;
}

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

@keyframes particle-animation-14 {
  100% {
    transform: translate3d(44vw, 41vh, 100px);
  }
}
.particle:nth-child(14) {
  -webkit-animation: particle-animation-14 60s infinite;
          animation: particle-animation-14 60s infinite;
  opacity: 0.06;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2.8s;
          animation-delay: -2.8s;
  transform: translate3d(88vw, 24vh, 28px);
  background: #77d926;
}

@-webkit-keyframes particle-animation-15 {
  100% {
    transform: translate3d(80vw, 59vh, 82px);
  }
}

@keyframes particle-animation-15 {
  100% {
    transform: translate3d(80vw, 59vh, 82px);
  }
}
.particle:nth-child(15) {
  -webkit-animation: particle-animation-15 60s infinite;
          animation: particle-animation-15 60s infinite;
  opacity: 0.3;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -3s;
          animation-delay: -3s;
  transform: translate3d(75vw, 20vh, 24px);
  background: #94d926;
}

@-webkit-keyframes particle-animation-16 {
  100% {
    transform: translate3d(81vw, 23vh, 7px);
  }
}

@keyframes particle-animation-16 {
  100% {
    transform: translate3d(81vw, 23vh, 7px);
  }
}
.particle:nth-child(16) {
  -webkit-animation: particle-animation-16 60s infinite;
          animation: particle-animation-16 60s infinite;
  opacity: 0.6;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -3.2s;
          animation-delay: -3.2s;
  transform: translate3d(84vw, 11vh, 14px);
  background: #26d994;
}

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

@keyframes particle-animation-17 {
  100% {
    transform: translate3d(45vw, 11vh, 65px);
  }
}
.particle:nth-child(17) {
  -webkit-animation: particle-animation-17 60s infinite;
          animation: particle-animation-17 60s infinite;
  opacity: 0.6;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -3.4s;
          animation-delay: -3.4s;
  transform: translate3d(42vw, 32vh, 66px);
  background: #267dd9;
}

@-webkit-keyframes particle-animation-18 {
  100% {
    transform: translate3d(17vw, 37vh, 22px);
  }
}

@keyframes particle-animation-18 {
  100% {
    transform: translate3d(17vw, 37vh, 22px);
  }
}
.particle:nth-child(18) {
  -webkit-animation: particle-animation-18 60s infinite;
          animation: particle-animation-18 60s infinite;
  opacity: 0.01;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -3.6s;
          animation-delay: -3.6s;
  transform: translate3d(78vw, 77vh, 93px);
  background: #a6d926;
}

@-webkit-keyframes particle-animation-19 {
  100% {
    transform: translate3d(5vw, 20vh, 22px);
  }
}

@keyframes particle-animation-19 {
  100% {
    transform: translate3d(5vw, 20vh, 22px);
  }
}
.particle:nth-child(19) {
  -webkit-animation: particle-animation-19 60s infinite;
          animation: particle-animation-19 60s infinite;
  opacity: 0.28;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -3.8s;
          animation-delay: -3.8s;
  transform: translate3d(80vw, 42vh, 58px);
  background: #29d926;
}

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

@keyframes particle-animation-20 {
  100% {
    transform: translate3d(49vw, 90vh, 24px);
  }
}
.particle:nth-child(20) {
  -webkit-animation: particle-animation-20 60s infinite;
          animation: particle-animation-20 60s infinite;
  opacity: 0.98;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
  transform: translate3d(61vw, 4vh, 50px);
  background: #7a26d9;
}

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

@keyframes particle-animation-21 {
  100% {
    transform: translate3d(52vw, 46vh, 38px);
  }
}
.particle:nth-child(21) {
  -webkit-animation: particle-animation-21 60s infinite;
          animation: particle-animation-21 60s infinite;
  opacity: 0.89;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.2s;
          animation-delay: -4.2s;
  transform: translate3d(86vw, 16vh, 75px);
  background: #a6d926;
}

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

@keyframes particle-animation-22 {
  100% {
    transform: translate3d(80vw, 65vh, 66px);
  }
}
.particle:nth-child(22) {
  -webkit-animation: particle-animation-22 60s infinite;
          animation: particle-animation-22 60s infinite;
  opacity: 0.15;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -4.4s;
          animation-delay: -4.4s;
  transform: translate3d(34vw, 38vh, 3px);
  background: #d9265f;
}

@-webkit-keyframes particle-animation-23 {
  100% {
    transform: translate3d(54vw, 57vh, 22px);
  }
}

@keyframes particle-animation-23 {
  100% {
    transform: translate3d(54vw, 57vh, 22px);
  }
}
.particle:nth-child(23) {
  -webkit-animation: particle-animation-23 60s infinite;
          animation: particle-animation-23 60s infinite;
  opacity: 0.59;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -4.6s;
          animation-delay: -4.6s;
  transform: translate3d(33vw, 13vh, 77px);
  background: #d926d3;
}

@-webkit-keyframes particle-animation-24 {
  100% {
    transform: translate3d(8vw, 11vh, 68px);
  }
}

@keyframes particle-animation-24 {
  100% {
    transform: translate3d(8vw, 11vh, 68px);
  }
}
.particle:nth-child(24) {
  -webkit-animation: particle-animation-24 60s infinite;
          animation: particle-animation-24 60s infinite;
  opacity: 0.21;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.8s;
          animation-delay: -4.8s;
  transform: translate3d(14vw, 78vh, 27px);
  background: #d926be;
}

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

@keyframes particle-animation-25 {
  100% {
    transform: translate3d(42vw, 20vh, 66px);
  }
}
.particle:nth-child(25) {
  -webkit-animation: particle-animation-25 60s infinite;
          animation: particle-animation-25 60s infinite;
  opacity: 0.92;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
  transform: translate3d(31vw, 28vh, 89px);
  background: #d9268e;
}

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

@keyframes particle-animation-26 {
  100% {
    transform: translate3d(82vw, 2vh, 60px);
  }
}
.particle:nth-child(26) {
  -webkit-animation: particle-animation-26 60s infinite;
          animation: particle-animation-26 60s infinite;
  opacity: 0.27;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -5.2s;
          animation-delay: -5.2s;
  transform: translate3d(62vw, 76vh, 81px);
  background: #d9266b;
}

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

@keyframes particle-animation-27 {
  100% {
    transform: translate3d(54vw, 12vh, 31px);
  }
}
.particle:nth-child(27) {
  -webkit-animation: particle-animation-27 60s infinite;
          animation: particle-animation-27 60s infinite;
  opacity: 0.69;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -5.4s;
          animation-delay: -5.4s;
  transform: translate3d(76vw, 6vh, 18px);
  background: #a326d9;
}

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

@keyframes particle-animation-28 {
  100% {
    transform: translate3d(14vw, 76vh, 14px);
  }
}
.particle:nth-child(28) {
  -webkit-animation: particle-animation-28 60s infinite;
          animation: particle-animation-28 60s infinite;
  opacity: 0.59;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -5.6s;
          animation-delay: -5.6s;
  transform: translate3d(25vw, 72vh, 62px);
  background: #26c4d9;
}

@-webkit-keyframes particle-animation-29 {
  100% {
    transform: translate3d(45vw, 59vh, 3px);
  }
}

@keyframes particle-animation-29 {
  100% {
    transform: translate3d(45vw, 59vh, 3px);
  }
}
.particle:nth-child(29) {
  -webkit-animation: particle-animation-29 60s infinite;
          animation: particle-animation-29 60s infinite;
  opacity: 0.92;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -5.8s;
          animation-delay: -5.8s;
  transform: translate3d(82vw, 9vh, 86px);
  background: #26d9c1;
}

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

@keyframes particle-animation-30 {
  100% {
    transform: translate3d(47vw, 72vh, 70px);
  }
}
.particle:nth-child(30) {
  -webkit-animation: particle-animation-30 60s infinite;
          animation: particle-animation-30 60s infinite;
  opacity: 0.51;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -6s;
          animation-delay: -6s;
  transform: translate3d(78vw, 22vh, 74px);
  background: #d9a626;
}