body {
  background: #ecf3f3;
}

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

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

@keyframes particle-animation-1 {
  100% {
    transform: translate3d(62vw, 12vh, 41px);
  }
}
.particle:nth-child(1) {
  -webkit-animation: particle-animation-1 60s infinite;
          animation: particle-animation-1 60s infinite;
  opacity: 0.37;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
  transform: translate3d(54vw, 30vh, 59px);
  background: #cd26d9;
}

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

@keyframes particle-animation-2 {
  100% {
    transform: translate3d(41vw, 46vh, 60px);
  }
}
.particle:nth-child(2) {
  -webkit-animation: particle-animation-2 60s infinite;
          animation: particle-animation-2 60s infinite;
  opacity: 0.67;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
  transform: translate3d(7vw, 57vh, 34px);
  background: #26d93b;
}

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

@keyframes particle-animation-3 {
  100% {
    transform: translate3d(7vw, 53vh, 76px);
  }
}
.particle:nth-child(3) {
  -webkit-animation: particle-animation-3 60s infinite;
          animation: particle-animation-3 60s infinite;
  opacity: 0.97;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
  transform: translate3d(31vw, 72vh, 52px);
  background: #d926c1;
}

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

@keyframes particle-animation-4 {
  100% {
    transform: translate3d(34vw, 30vh, 100px);
  }
}
.particle:nth-child(4) {
  -webkit-animation: particle-animation-4 60s infinite;
          animation: particle-animation-4 60s infinite;
  opacity: 0.71;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
  transform: translate3d(1vw, 42vh, 59px);
  background: #26d92f;
}

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

@keyframes particle-animation-5 {
  100% {
    transform: translate3d(46vw, 21vh, 99px);
  }
}
.particle:nth-child(5) {
  -webkit-animation: particle-animation-5 60s infinite;
          animation: particle-animation-5 60s infinite;
  opacity: 0.07;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
  transform: translate3d(15vw, 64vh, 76px);
  background: #d95926;
}

@-webkit-keyframes particle-animation-6 {
  100% {
    transform: translate3d(5vw, 60vh, 53px);
  }
}

@keyframes particle-animation-6 {
  100% {
    transform: translate3d(5vw, 60vh, 53px);
  }
}
.particle:nth-child(6) {
  -webkit-animation: particle-animation-6 60s infinite;
          animation: particle-animation-6 60s infinite;
  opacity: 0.32;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -1.2s;
          animation-delay: -1.2s;
  transform: translate3d(19vw, 35vh, 57px);
  background: #d99126;
}

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

@keyframes particle-animation-7 {
  100% {
    transform: translate3d(20vw, 28vh, 84px);
  }
}
.particle:nth-child(7) {
  -webkit-animation: particle-animation-7 60s infinite;
          animation: particle-animation-7 60s infinite;
  opacity: 0.64;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -1.4s;
          animation-delay: -1.4s;
  transform: translate3d(70vw, 73vh, 72px);
  background: #d926a9;
}

@-webkit-keyframes particle-animation-8 {
  100% {
    transform: translate3d(90vw, 75vh, 89px);
  }
}

@keyframes particle-animation-8 {
  100% {
    transform: translate3d(90vw, 75vh, 89px);
  }
}
.particle:nth-child(8) {
  -webkit-animation: particle-animation-8 60s infinite;
          animation: particle-animation-8 60s infinite;
  opacity: 0.71;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -1.6s;
          animation-delay: -1.6s;
  transform: translate3d(80vw, 22vh, 73px);
  background: #ca26d9;
}

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

@keyframes particle-animation-9 {
  100% {
    transform: translate3d(63vw, 46vh, 75px);
  }
}
.particle:nth-child(9) {
  -webkit-animation: particle-animation-9 60s infinite;
          animation: particle-animation-9 60s infinite;
  opacity: 0.63;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -1.8s;
          animation-delay: -1.8s;
  transform: translate3d(42vw, 86vh, 46px);
  background: #26d9cd;
}

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

@keyframes particle-animation-10 {
  100% {
    transform: translate3d(34vw, 31vh, 98px);
  }
}
.particle:nth-child(10) {
  -webkit-animation: particle-animation-10 60s infinite;
          animation: particle-animation-10 60s infinite;
  opacity: 0.14;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
  transform: translate3d(71vw, 9vh, 20px);
  background: #26d9d9;
}

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

@keyframes particle-animation-11 {
  100% {
    transform: translate3d(2vw, 42vh, 96px);
  }
}
.particle:nth-child(11) {
  -webkit-animation: particle-animation-11 60s infinite;
          animation: particle-animation-11 60s infinite;
  opacity: 0.61;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -2.2s;
          animation-delay: -2.2s;
  transform: translate3d(82vw, 45vh, 26px);
  background: #d97426;
}

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

@keyframes particle-animation-12 {
  100% {
    transform: translate3d(90vw, 59vh, 53px);
  }
}
.particle:nth-child(12) {
  -webkit-animation: particle-animation-12 60s infinite;
          animation: particle-animation-12 60s infinite;
  opacity: 0.15;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -2.4s;
          animation-delay: -2.4s;
  transform: translate3d(13vw, 21vh, 33px);
  background: #d99126;
}

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

@keyframes particle-animation-13 {
  100% {
    transform: translate3d(59vw, 59vh, 66px);
  }
}
.particle:nth-child(13) {
  -webkit-animation: particle-animation-13 60s infinite;
          animation: particle-animation-13 60s infinite;
  opacity: 0.58;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -2.6s;
          animation-delay: -2.6s;
  transform: translate3d(58vw, 16vh, 35px);
  background: #26d3d9;
}

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

@keyframes particle-animation-14 {
  100% {
    transform: translate3d(84vw, 7vh, 82px);
  }
}
.particle:nth-child(14) {
  -webkit-animation: particle-animation-14 60s infinite;
          animation: particle-animation-14 60s infinite;
  opacity: 0.74;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -2.8s;
          animation-delay: -2.8s;
  transform: translate3d(36vw, 32vh, 17px);
  background: #d93e26;
}

@-webkit-keyframes particle-animation-15 {
  100% {
    transform: translate3d(51vw, 5vh, 57px);
  }
}

@keyframes particle-animation-15 {
  100% {
    transform: translate3d(51vw, 5vh, 57px);
  }
}
.particle:nth-child(15) {
  -webkit-animation: particle-animation-15 60s infinite;
          animation: particle-animation-15 60s infinite;
  opacity: 0.63;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -3s;
          animation-delay: -3s;
  transform: translate3d(17vw, 38vh, 46px);
  background: #a026d9;
}

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

@keyframes particle-animation-16 {
  100% {
    transform: translate3d(85vw, 79vh, 84px);
  }
}
.particle:nth-child(16) {
  -webkit-animation: particle-animation-16 60s infinite;
          animation: particle-animation-16 60s infinite;
  opacity: 0.11;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -3.2s;
          animation-delay: -3.2s;
  transform: translate3d(42vw, 36vh, 48px);
  background: #d9267a;
}

@-webkit-keyframes particle-animation-17 {
  100% {
    transform: translate3d(15vw, 35vh, 6px);
  }
}

@keyframes particle-animation-17 {
  100% {
    transform: translate3d(15vw, 35vh, 6px);
  }
}
.particle:nth-child(17) {
  -webkit-animation: particle-animation-17 60s infinite;
          animation: particle-animation-17 60s infinite;
  opacity: 0.77;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -3.4s;
          animation-delay: -3.4s;
  transform: translate3d(46vw, 75vh, 49px);
  background: #d92674;
}

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

@keyframes particle-animation-18 {
  100% {
    transform: translate3d(88vw, 54vh, 67px);
  }
}
.particle:nth-child(18) {
  -webkit-animation: particle-animation-18 60s infinite;
          animation: particle-animation-18 60s infinite;
  opacity: 0.33;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -3.6s;
          animation-delay: -3.6s;
  transform: translate3d(37vw, 77vh, 12px);
  background: #2650d9;
}

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

@keyframes particle-animation-19 {
  100% {
    transform: translate3d(20vw, 42vh, 10px);
  }
}
.particle:nth-child(19) {
  -webkit-animation: particle-animation-19 60s infinite;
          animation: particle-animation-19 60s infinite;
  opacity: 0.49;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -3.8s;
          animation-delay: -3.8s;
  transform: translate3d(26vw, 22vh, 86px);
  background: #acd926;
}

@-webkit-keyframes particle-animation-20 {
  100% {
    transform: translate3d(86vw, 10vh, 34px);
  }
}

@keyframes particle-animation-20 {
  100% {
    transform: translate3d(86vw, 10vh, 34px);
  }
}
.particle:nth-child(20) {
  -webkit-animation: particle-animation-20 60s infinite;
          animation: particle-animation-20 60s infinite;
  opacity: 0.56;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
  transform: translate3d(85vw, 3vh, 77px);
  background: #26d947;
}

@-webkit-keyframes particle-animation-21 {
  100% {
    transform: translate3d(17vw, 40vh, 93px);
  }
}

@keyframes particle-animation-21 {
  100% {
    transform: translate3d(17vw, 40vh, 93px);
  }
}
.particle:nth-child(21) {
  -webkit-animation: particle-animation-21 60s infinite;
          animation: particle-animation-21 60s infinite;
  opacity: 0.72;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.2s;
          animation-delay: -4.2s;
  transform: translate3d(42vw, 9vh, 6px);
  background: #2682d9;
}

@-webkit-keyframes particle-animation-22 {
  100% {
    transform: translate3d(79vw, 75vh, 64px);
  }
}

@keyframes particle-animation-22 {
  100% {
    transform: translate3d(79vw, 75vh, 64px);
  }
}
.particle:nth-child(22) {
  -webkit-animation: particle-animation-22 60s infinite;
          animation: particle-animation-22 60s infinite;
  opacity: 0.15;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -4.4s;
          animation-delay: -4.4s;
  transform: translate3d(50vw, 48vh, 86px);
  background: #26d94d;
}

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

@keyframes particle-animation-23 {
  100% {
    transform: translate3d(79vw, 22vh, 61px);
  }
}
.particle:nth-child(23) {
  -webkit-animation: particle-animation-23 60s infinite;
          animation: particle-animation-23 60s infinite;
  opacity: 0.77;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -4.6s;
          animation-delay: -4.6s;
  transform: translate3d(49vw, 23vh, 96px);
  background: #cad926;
}

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

@keyframes particle-animation-24 {
  100% {
    transform: translate3d(14vw, 34vh, 33px);
  }
}
.particle:nth-child(24) {
  -webkit-animation: particle-animation-24 60s infinite;
          animation: particle-animation-24 60s infinite;
  opacity: 0.83;
  height: 7px;
  width: 7px;
  -webkit-animation-delay: -4.8s;
          animation-delay: -4.8s;
  transform: translate3d(41vw, 15vh, 64px);
  background: #26d9d9;
}

@-webkit-keyframes particle-animation-25 {
  100% {
    transform: translate3d(71vw, 55vh, 93px);
  }
}

@keyframes particle-animation-25 {
  100% {
    transform: translate3d(71vw, 55vh, 93px);
  }
}
.particle:nth-child(25) {
  -webkit-animation: particle-animation-25 60s infinite;
          animation: particle-animation-25 60s infinite;
  opacity: 0.89;
  height: 6px;
  width: 6px;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
  transform: translate3d(41vw, 9vh, 37px);
  background: #d93226;
}

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

@keyframes particle-animation-26 {
  100% {
    transform: translate3d(37vw, 29vh, 48px);
  }
}
.particle:nth-child(26) {
  -webkit-animation: particle-animation-26 60s infinite;
          animation: particle-animation-26 60s infinite;
  opacity: 0.47;
  height: 8px;
  width: 8px;
  -webkit-animation-delay: -5.2s;
          animation-delay: -5.2s;
  transform: translate3d(78vw, 51vh, 9px);
  background: #d95f26;
}

@-webkit-keyframes particle-animation-27 {
  100% {
    transform: translate3d(45vw, 72vh, 18px);
  }
}

@keyframes particle-animation-27 {
  100% {
    transform: translate3d(45vw, 72vh, 18px);
  }
}
.particle:nth-child(27) {
  -webkit-animation: particle-animation-27 60s infinite;
          animation: particle-animation-27 60s infinite;
  opacity: 0.89;
  height: 10px;
  width: 10px;
  -webkit-animation-delay: -5.4s;
          animation-delay: -5.4s;
  transform: translate3d(77vw, 3vh, 3px);
  background: #7126d9;
}

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

@keyframes particle-animation-28 {
  100% {
    transform: translate3d(82vw, 65vh, 29px);
  }
}
.particle:nth-child(28) {
  -webkit-animation: particle-animation-28 60s infinite;
          animation: particle-animation-28 60s infinite;
  opacity: 0.27;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -5.6s;
          animation-delay: -5.6s;
  transform: translate3d(62vw, 16vh, 90px);
  background: #26d96b;
}

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

@keyframes particle-animation-29 {
  100% {
    transform: translate3d(24vw, 8vh, 82px);
  }
}
.particle:nth-child(29) {
  -webkit-animation: particle-animation-29 60s infinite;
          animation: particle-animation-29 60s infinite;
  opacity: 0.95;
  height: 9px;
  width: 9px;
  -webkit-animation-delay: -5.8s;
          animation-delay: -5.8s;
  transform: translate3d(77vw, 27vh, 54px);
  background: #d926b2;
}

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

@keyframes particle-animation-30 {
  100% {
    transform: translate3d(19vw, 63vh, 74px);
  }
}
.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(55vw, 89vh, 87px);
  background: #26d982;
}