body {
  background: #ecf3f3;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0; }

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

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

.particle:nth-child(1) {
  animation: particle-animation-1 60s infinite;
  opacity: 0.2;
  height: 6px;
  width: 6px;
  animation-delay: -0.2s;
  transform: translate3d(2vw, 43vh, 92px);
  background: #26d9b8; }

@keyframes particle-animation-2 {
  100% {
    transform: translate3d(76vw, 63vh, 85px); } }

.particle:nth-child(2) {
  animation: particle-animation-2 60s infinite;
  opacity: 0.79;
  height: 6px;
  width: 6px;
  animation-delay: -0.4s;
  transform: translate3d(59vw, 59vh, 21px);
  background: #266bd9; }

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

.particle:nth-child(3) {
  animation: particle-animation-3 60s infinite;
  opacity: 0.02;
  height: 7px;
  width: 7px;
  animation-delay: -0.6s;
  transform: translate3d(49vw, 19vh, 87px);
  background: #d98526; }

@keyframes particle-animation-4 {
  100% {
    transform: translate3d(37vw, 85vh, 59px); } }

.particle:nth-child(4) {
  animation: particle-animation-4 60s infinite;
  opacity: 0.84;
  height: 10px;
  width: 10px;
  animation-delay: -0.8s;
  transform: translate3d(52vw, 46vh, 1px);
  background: #d9268b; }

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

.particle:nth-child(5) {
  animation: particle-animation-5 60s infinite;
  opacity: 0.06;
  height: 6px;
  width: 6px;
  animation-delay: -1s;
  transform: translate3d(56vw, 61vh, 2px);
  background: #d97126; }

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

.particle:nth-child(6) {
  animation: particle-animation-6 60s infinite;
  opacity: 0.33;
  height: 7px;
  width: 7px;
  animation-delay: -1.2s;
  transform: translate3d(72vw, 14vh, 89px);
  background: #26d941; }

@keyframes particle-animation-7 {
  100% {
    transform: translate3d(78vw, 86vh, 89px); } }

.particle:nth-child(7) {
  animation: particle-animation-7 60s infinite;
  opacity: 0.46;
  height: 8px;
  width: 8px;
  animation-delay: -1.4s;
  transform: translate3d(42vw, 77vh, 98px);
  background: #2656d9; }

@keyframes particle-animation-8 {
  100% {
    transform: translate3d(9vw, 54vh, 71px); } }

.particle:nth-child(8) {
  animation: particle-animation-8 60s infinite;
  opacity: 0.87;
  height: 8px;
  width: 8px;
  animation-delay: -1.6s;
  transform: translate3d(63vw, 88vh, 76px);
  background: #d9d326; }

@keyframes particle-animation-9 {
  100% {
    transform: translate3d(67vw, 90vh, 5px); } }

.particle:nth-child(9) {
  animation: particle-animation-9 60s infinite;
  opacity: 0.35;
  height: 10px;
  width: 10px;
  animation-delay: -1.8s;
  transform: translate3d(52vw, 32vh, 65px);
  background: #2694d9; }

@keyframes particle-animation-10 {
  100% {
    transform: translate3d(32vw, 47vh, 26px); } }

.particle:nth-child(10) {
  animation: particle-animation-10 60s infinite;
  opacity: 0.33;
  height: 7px;
  width: 7px;
  animation-delay: -2s;
  transform: translate3d(41vw, 84vh, 28px);
  background: #d97a26; }

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

.particle:nth-child(11) {
  animation: particle-animation-11 60s infinite;
  opacity: 0.27;
  height: 6px;
  width: 6px;
  animation-delay: -2.2s;
  transform: translate3d(3vw, 75vh, 61px);
  background: #d926c7; }

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

.particle:nth-child(12) {
  animation: particle-animation-12 60s infinite;
  opacity: 0.61;
  height: 9px;
  width: 9px;
  animation-delay: -2.4s;
  transform: translate3d(79vw, 29vh, 47px);
  background: #2677d9; }

@keyframes particle-animation-13 {
  100% {
    transform: translate3d(20vw, 70vh, 2px); } }

.particle:nth-child(13) {
  animation: particle-animation-13 60s infinite;
  opacity: 0.17;
  height: 8px;
  width: 8px;
  animation-delay: -2.6s;
  transform: translate3d(33vw, 60vh, 11px);
  background: #d98526; }

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

.particle:nth-child(14) {
  animation: particle-animation-14 60s infinite;
  opacity: 0.85;
  height: 10px;
  width: 10px;
  animation-delay: -2.8s;
  transform: translate3d(45vw, 70vh, 32px);
  background: #b826d9; }

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

.particle:nth-child(15) {
  animation: particle-animation-15 60s infinite;
  opacity: 0.51;
  height: 9px;
  width: 9px;
  animation-delay: -3s;
  transform: translate3d(86vw, 33vh, 21px);
  background: #d9269a; }

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

.particle:nth-child(16) {
  animation: particle-animation-16 60s infinite;
  opacity: 0.89;
  height: 10px;
  width: 10px;
  animation-delay: -3.2s;
  transform: translate3d(55vw, 89vh, 85px);
  background: #d96226; }

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

.particle:nth-child(17) {
  animation: particle-animation-17 60s infinite;
  opacity: 0.95;
  height: 8px;
  width: 8px;
  animation-delay: -3.4s;
  transform: translate3d(24vw, 36vh, 97px);
  background: #d92c26; }

@keyframes particle-animation-18 {
  100% {
    transform: translate3d(3vw, 38vh, 42px); } }

.particle:nth-child(18) {
  animation: particle-animation-18 60s infinite;
  opacity: 0.69;
  height: 7px;
  width: 7px;
  animation-delay: -3.6s;
  transform: translate3d(81vw, 53vh, 97px);
  background: #26d926; }

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

.particle:nth-child(19) {
  animation: particle-animation-19 60s infinite;
  opacity: 0.14;
  height: 8px;
  width: 8px;
  animation-delay: -3.8s;
  transform: translate3d(31vw, 68vh, 89px);
  background: #26d9ca; }

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

.particle:nth-child(20) {
  animation: particle-animation-20 60s infinite;
  opacity: 0.77;
  height: 8px;
  width: 8px;
  animation-delay: -4s;
  transform: translate3d(6vw, 18vh, 74px);
  background: #26d9a0; }

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

.particle:nth-child(21) {
  animation: particle-animation-21 60s infinite;
  opacity: 0.04;
  height: 9px;
  width: 9px;
  animation-delay: -4.2s;
  transform: translate3d(44vw, 26vh, 73px);
  background: #9126d9; }

@keyframes particle-animation-22 {
  100% {
    transform: translate3d(10vw, 49vh, 3px); } }

.particle:nth-child(22) {
  animation: particle-animation-22 60s infinite;
  opacity: 0.14;
  height: 10px;
  width: 10px;
  animation-delay: -4.4s;
  transform: translate3d(55vw, 21vh, 34px);
  background: #a9d926; }

@keyframes particle-animation-23 {
  100% {
    transform: translate3d(73vw, 87vh, 72px); } }

.particle:nth-child(23) {
  animation: particle-animation-23 60s infinite;
  opacity: 0.37;
  height: 8px;
  width: 8px;
  animation-delay: -4.6s;
  transform: translate3d(35vw, 57vh, 63px);
  background: #d94426; }

@keyframes particle-animation-24 {
  100% {
    transform: translate3d(43vw, 59vh, 57px); } }

.particle:nth-child(24) {
  animation: particle-animation-24 60s infinite;
  opacity: 0.91;
  height: 10px;
  width: 10px;
  animation-delay: -4.8s;
  transform: translate3d(81vw, 74vh, 55px);
  background: #d9264a; }

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

.particle:nth-child(25) {
  animation: particle-animation-25 60s infinite;
  opacity: 0.41;
  height: 9px;
  width: 9px;
  animation-delay: -5s;
  transform: translate3d(61vw, 70vh, 81px);
  background: #2680d9; }

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

.particle:nth-child(26) {
  animation: particle-animation-26 60s infinite;
  opacity: 0.41;
  height: 6px;
  width: 6px;
  animation-delay: -5.2s;
  transform: translate3d(16vw, 34vh, 27px);
  background: #26acd9; }

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

.particle:nth-child(27) {
  animation: particle-animation-27 60s infinite;
  opacity: 0.23;
  height: 6px;
  width: 6px;
  animation-delay: -5.4s;
  transform: translate3d(53vw, 11vh, 8px);
  background: #5cd926; }

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

.particle:nth-child(28) {
  animation: particle-animation-28 60s infinite;
  opacity: 0.62;
  height: 9px;
  width: 9px;
  animation-delay: -5.6s;
  transform: translate3d(62vw, 4vh, 64px);
  background: #68d926; }

@keyframes particle-animation-29 {
  100% {
    transform: translate3d(60vw, 17vh, 67px); } }

.particle:nth-child(29) {
  animation: particle-animation-29 60s infinite;
  opacity: 0.62;
  height: 8px;
  width: 8px;
  animation-delay: -5.8s;
  transform: translate3d(13vw, 38vh, 24px);
  background: #2f26d9; }

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

.particle:nth-child(30) {
  animation: particle-animation-30 60s infinite;
  opacity: 0.3;
  height: 10px;
  width: 10px;
  animation-delay: -6s;
  transform: translate3d(63vw, 30vh, 55px);
  background: #26d941; }
