.ccsa{https://codepen.io/bajzarpa/pen/woYNXp}

.canvas {
  height: 100vh;
  width: 100vw;
  background: linear-gradient(to bottom, #fff 0%, #f00 100%);
  position: relative;
  overflow: hidden;
}
.bubble {
  display: block;
  border-radius: 100%;
  opacity: 0.8;
  position: absolute;
}
.bubble:nth-child(1) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 28px;
  height: 28px;
  left: 80vw;
  bottom: 39vh;
  -webkit-animation: move1 infinite 13s;
          animation: move1 infinite 13s;
}
@-webkit-keyframes move1 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 25vh;
    transform: translate(29px, 0);
    opacity: 0;
  }
}
@keyframes move1 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 25vh;
    transform: translate(29px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(2) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 32px;
  height: 32px;
  left: 4vw;
  bottom: 76vh;
  -webkit-animation: move2 infinite 15s;
          animation: move2 infinite 15s;
}
@-webkit-keyframes move2 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 86vh;
    transform: translate(-56px, 0);
    opacity: 0;
  }
}
@keyframes move2 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 86vh;
    transform: translate(-56px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(3) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 32px;
  height: 32px;
  left: 18vw;
  bottom: 14vh;
  -webkit-animation: move3 infinite 8s;
          animation: move3 infinite 8s;
}
@-webkit-keyframes move3 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 5vh;
    transform: translate(-8px, 0);
    opacity: 0;
  }
}
@keyframes move3 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 5vh;
    transform: translate(-8px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(4) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 48px;
  height: 48px;
  left: 48vw;
  bottom: 37vh;
  -webkit-animation: move4 infinite 7s;
          animation: move4 infinite 7s;
}
@-webkit-keyframes move4 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 28vh;
    transform: translate(68px, 0);
    opacity: 0;
  }
}
@keyframes move4 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 28vh;
    transform: translate(68px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(5) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 18px;
  height: 18px;
  left: 42vw;
  bottom: 71vh;
  -webkit-animation: move5 infinite 13s;
          animation: move5 infinite 13s;
}
@-webkit-keyframes move5 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 25vh;
    transform: translate(-69px, 0);
    opacity: 0;
  }
}
@keyframes move5 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 25vh;
    transform: translate(-69px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(6) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 68px;
  height: 68px;
  left: 35vw;
  bottom: 81vh;
  -webkit-animation: move6 infinite 12s;
          animation: move6 infinite 12s;
}
@-webkit-keyframes move6 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 66vh;
    transform: translate(3px, 0);
    opacity: 0;
  }
}
@keyframes move6 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 66vh;
    transform: translate(3px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(7) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 100px;
  height: 100px;
  left: 47vw;
  bottom: 91vh;
  -webkit-animation: move7 infinite 7s;
          animation: move7 infinite 7s;
}
@-webkit-keyframes move7 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(94px, 0);
    opacity: 0;
  }
}
@keyframes move7 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(94px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(8) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 35px;
  height: 35px;
  left: 73vw;
  bottom: 86vh;
  -webkit-animation: move8 infinite 3s;
          animation: move8 infinite 3s;
}
@-webkit-keyframes move8 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 46vh;
    transform: translate(-13px, 0);
    opacity: 0;
  }
}
@keyframes move8 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 46vh;
    transform: translate(-13px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(9) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 62px;
  height: 62px;
  left: 30vw;
  bottom: 9vh;
  -webkit-animation: move9 infinite 15s;
          animation: move9 infinite 15s;
}
@-webkit-keyframes move9 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 74vh;
    transform: translate(85px, 0);
    opacity: 0;
  }
}
@keyframes move9 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 74vh;
    transform: translate(85px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(10) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 61px;
  height: 61px;
  left: 57vw;
  bottom: 32vh;
  -webkit-animation: move10 infinite 9s;
          animation: move10 infinite 9s;
}
@-webkit-keyframes move10 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 39vh;
    transform: translate(-68px, 0);
    opacity: 0;
  }
}
@keyframes move10 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 39vh;
    transform: translate(-68px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(11) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 91px;
  height: 91px;
  left: 19vw;
  bottom: 35vh;
  -webkit-animation: move11 infinite 7s;
          animation: move11 infinite 7s;
}
@-webkit-keyframes move11 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 96vh;
    transform: translate(-29px, 0);
    opacity: 0;
  }
}
@keyframes move11 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 96vh;
    transform: translate(-29px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(12) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 38px;
  height: 38px;
  left: 97vw;
  bottom: 20vh;
  -webkit-animation: move12 infinite 14s;
          animation: move12 infinite 14s;
}
@-webkit-keyframes move12 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 89vh;
    transform: translate(0px, 0);
    opacity: 0;
  }
}
@keyframes move12 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 89vh;
    transform: translate(0px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(13) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 85px;
  height: 85px;
  left: 5vw;
  bottom: 5vh;
  -webkit-animation: move13 infinite 12s;
          animation: move13 infinite 12s;
}
@-webkit-keyframes move13 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 38vh;
    transform: translate(-24px, 0);
    opacity: 0;
  }
}
@keyframes move13 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 38vh;
    transform: translate(-24px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(14) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 57px;
  height: 57px;
  left: 98vw;
  bottom: 61vh;
  -webkit-animation: move14 infinite 6s;
          animation: move14 infinite 6s;
}
@-webkit-keyframes move14 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 47vh;
    transform: translate(47px, 0);
    opacity: 0;
  }
}
@keyframes move14 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 47vh;
    transform: translate(47px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(15) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 40px;
  height: 40px;
  left: 79vw;
  bottom: 98vh;
  -webkit-animation: move15 infinite 4s;
          animation: move15 infinite 4s;
}
@-webkit-keyframes move15 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 64vh;
    transform: translate(200px, 0);
    opacity: 0;
  }
}
@keyframes move15 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 64vh;
    transform: translate(200px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(16) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 6px;
  height: 6px;
  left: 70vw;
  bottom: 54vh;
  -webkit-animation: move16 infinite 6s;
          animation: move16 infinite 6s;
}
@-webkit-keyframes move16 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 32vh;
    transform: translate(59px, 0);
    opacity: 0;
  }
}
@keyframes move16 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 32vh;
    transform: translate(59px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(17) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 24px;
  height: 24px;
  left: 59vw;
  bottom: 96vh;
  -webkit-animation: move17 infinite 10s;
          animation: move17 infinite 10s;
}
@-webkit-keyframes move17 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 38vh;
    transform: translate(149px, 0);
    opacity: 0;
  }
}
@keyframes move17 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 38vh;
    transform: translate(149px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(18) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 22px;
  height: 22px;
  left: 36vw;
  bottom: 58vh;
  -webkit-animation: move18 infinite 12s;
          animation: move18 infinite 12s;
}
@-webkit-keyframes move18 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 85vh;
    transform: translate(-47px, 0);
    opacity: 0;
  }
}
@keyframes move18 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 85vh;
    transform: translate(-47px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(19) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 8px;
  height: 8px;
  left: 44vw;
  bottom: 44vh;
  -webkit-animation: move19 infinite 12s;
          animation: move19 infinite 12s;
}
@-webkit-keyframes move19 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 85vh;
    transform: translate(47px, 0);
    opacity: 0;
  }
}
@keyframes move19 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 85vh;
    transform: translate(47px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(20) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 50px;
  height: 50px;
  left: 76vw;
  bottom: 9vh;
  -webkit-animation: move20 infinite 10s;
          animation: move20 infinite 10s;
}
@-webkit-keyframes move20 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 100vh;
    transform: translate(116px, 0);
    opacity: 0;
  }
}
@keyframes move20 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 100vh;
    transform: translate(116px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(21) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 45px;
  height: 45px;
  left: 25vw;
  bottom: 95vh;
  -webkit-animation: move21 infinite 11s;
          animation: move21 infinite 11s;
}
@-webkit-keyframes move21 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 56vh;
    transform: translate(178px, 0);
    opacity: 0;
  }
}
@keyframes move21 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 56vh;
    transform: translate(178px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(22) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 73px;
  height: 73px;
  left: 97vw;
  bottom: 65vh;
  -webkit-animation: move22 infinite 3s;
          animation: move22 infinite 3s;
}
@-webkit-keyframes move22 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 34vh;
    transform: translate(-31px, 0);
    opacity: 0;
  }
}
@keyframes move22 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 34vh;
    transform: translate(-31px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(23) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 69px;
  height: 69px;
  left: 43vw;
  bottom: 6vh;
  -webkit-animation: move23 infinite 14s;
          animation: move23 infinite 14s;
}
@-webkit-keyframes move23 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 86vh;
    transform: translate(-65px, 0);
    opacity: 0;
  }
}
@keyframes move23 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 86vh;
    transform: translate(-65px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(24) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 60px;
  height: 60px;
  left: 61vw;
  bottom: 58vh;
  -webkit-animation: move24 infinite 9s;
          animation: move24 infinite 9s;
}
@-webkit-keyframes move24 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 54vh;
    transform: translate(145px, 0);
    opacity: 0;
  }
}
@keyframes move24 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 54vh;
    transform: translate(145px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(25) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 54px;
  height: 54px;
  left: 83vw;
  bottom: 94vh;
  -webkit-animation: move25 infinite 11s;
          animation: move25 infinite 11s;
}
@-webkit-keyframes move25 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 6vh;
    transform: translate(-53px, 0);
    opacity: 0;
  }
}
@keyframes move25 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 6vh;
    transform: translate(-53px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(26) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 17px;
  height: 17px;
  left: 86vw;
  bottom: 98vh;
  -webkit-animation: move26 infinite 14s;
          animation: move26 infinite 14s;
}
@-webkit-keyframes move26 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 1vh;
    transform: translate(64px, 0);
    opacity: 0;
  }
}
@keyframes move26 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 1vh;
    transform: translate(64px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(27) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 23px;
  height: 23px;
  left: 25vw;
  bottom: 18vh;
  -webkit-animation: move27 infinite 6s;
          animation: move27 infinite 6s;
}
@-webkit-keyframes move27 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 68vh;
    transform: translate(114px, 0);
    opacity: 0;
  }
}
@keyframes move27 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 68vh;
    transform: translate(114px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(28) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 88px;
  height: 88px;
  left: 54vw;
  bottom: 54vh;
  -webkit-animation: move28 infinite 7s;
          animation: move28 infinite 7s;
}
@-webkit-keyframes move28 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 17vh;
    transform: translate(-92px, 0);
    opacity: 0;
  }
}
@keyframes move28 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 17vh;
    transform: translate(-92px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(29) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 76px;
  height: 76px;
  left: 85vw;
  bottom: 35vh;
  -webkit-animation: move29 infinite 13s;
          animation: move29 infinite 13s;
}
@-webkit-keyframes move29 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 54vh;
    transform: translate(74px, 0);
    opacity: 0;
  }
}
@keyframes move29 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 54vh;
    transform: translate(74px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(30) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 77px;
  height: 77px;
  left: 97vw;
  bottom: 20vh;
  -webkit-animation: move30 infinite 15s;
          animation: move30 infinite 15s;
}
@-webkit-keyframes move30 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 1vh;
    transform: translate(183px, 0);
    opacity: 0;
  }
}
@keyframes move30 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 1vh;
    transform: translate(183px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(31) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 92px;
  height: 92px;
  left: 2vw;
  bottom: 72vh;
  -webkit-animation: move31 infinite 13s;
          animation: move31 infinite 13s;
}
@-webkit-keyframes move31 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 26vh;
    transform: translate(189px, 0);
    opacity: 0;
  }
}
@keyframes move31 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 26vh;
    transform: translate(189px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(32) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 48px;
  height: 48px;
  left: 44vw;
  bottom: 34vh;
  -webkit-animation: move32 infinite 14s;
          animation: move32 infinite 14s;
}
@-webkit-keyframes move32 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 17vh;
    transform: translate(-24px, 0);
    opacity: 0;
  }
}
@keyframes move32 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 17vh;
    transform: translate(-24px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(33) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 26px;
  height: 26px;
  left: 30vw;
  bottom: 60vh;
  -webkit-animation: move33 infinite 12s;
          animation: move33 infinite 12s;
}
@-webkit-keyframes move33 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 49vh;
    transform: translate(66px, 0);
    opacity: 0;
  }
}
@keyframes move33 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 49vh;
    transform: translate(66px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(34) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 12px;
  height: 12px;
  left: 85vw;
  bottom: 68vh;
  -webkit-animation: move34 infinite 9s;
          animation: move34 infinite 9s;
}
@-webkit-keyframes move34 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 50vh;
    transform: translate(108px, 0);
    opacity: 0;
  }
}
@keyframes move34 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 50vh;
    transform: translate(108px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(35) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 63px;
  height: 63px;
  left: 95vw;
  bottom: 32vh;
  -webkit-animation: move35 infinite 4s;
          animation: move35 infinite 4s;
}
@-webkit-keyframes move35 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 90vh;
    transform: translate(107px, 0);
    opacity: 0;
  }
}
@keyframes move35 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 90vh;
    transform: translate(107px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(36) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 56px;
  height: 56px;
  left: 41vw;
  bottom: 56vh;
  -webkit-animation: move36 infinite 10s;
          animation: move36 infinite 10s;
}
@-webkit-keyframes move36 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 69vh;
    transform: translate(32px, 0);
    opacity: 0;
  }
}
@keyframes move36 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 69vh;
    transform: translate(32px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(37) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 7px;
  height: 7px;
  left: 3vw;
  bottom: 49vh;
  -webkit-animation: move37 infinite 11s;
          animation: move37 infinite 11s;
}
@-webkit-keyframes move37 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 60vh;
    transform: translate(170px, 0);
    opacity: 0;
  }
}
@keyframes move37 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 60vh;
    transform: translate(170px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(38) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 70px;
  height: 70px;
  left: 93vw;
  bottom: 88vh;
  -webkit-animation: move38 infinite 11s;
          animation: move38 infinite 11s;
}
@-webkit-keyframes move38 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 44vh;
    transform: translate(114px, 0);
    opacity: 0;
  }
}
@keyframes move38 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 44vh;
    transform: translate(114px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(39) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 66px;
  height: 66px;
  left: 3vw;
  bottom: 20vh;
  -webkit-animation: move39 infinite 9s;
          animation: move39 infinite 9s;
}
@-webkit-keyframes move39 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(16px, 0);
    opacity: 0;
  }
}
@keyframes move39 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(16px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(40) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 10px;
  height: 10px;
  left: 47vw;
  bottom: 32vh;
  -webkit-animation: move40 infinite 5s;
          animation: move40 infinite 5s;
}
@-webkit-keyframes move40 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 45vh;
    transform: translate(87px, 0);
    opacity: 0;
  }
}
@keyframes move40 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 45vh;
    transform: translate(87px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(41) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 57px;
  height: 57px;
  left: 29vw;
  bottom: 82vh;
  -webkit-animation: move41 infinite 14s;
          animation: move41 infinite 14s;
}
@-webkit-keyframes move41 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 51vh;
    transform: translate(162px, 0);
    opacity: 0;
  }
}
@keyframes move41 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 51vh;
    transform: translate(162px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(42) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 82px;
  height: 82px;
  left: 13vw;
  bottom: 35vh;
  -webkit-animation: move42 infinite 11s;
          animation: move42 infinite 11s;
}
@-webkit-keyframes move42 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 59vh;
    transform: translate(142px, 0);
    opacity: 0;
  }
}
@keyframes move42 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 59vh;
    transform: translate(142px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(43) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 25px;
  height: 25px;
  left: 58vw;
  bottom: 34vh;
  -webkit-animation: move43 infinite 15s;
          animation: move43 infinite 15s;
}
@-webkit-keyframes move43 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 19vh;
    transform: translate(141px, 0);
    opacity: 0;
  }
}
@keyframes move43 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 19vh;
    transform: translate(141px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(44) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 60px;
  height: 60px;
  left: 16vw;
  bottom: 26vh;
  -webkit-animation: move44 infinite 15s;
          animation: move44 infinite 15s;
}
@-webkit-keyframes move44 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(83px, 0);
    opacity: 0;
  }
}
@keyframes move44 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 70vh;
    transform: translate(83px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(45) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 45px;
  height: 45px;
  left: 6vw;
  bottom: 93vh;
  -webkit-animation: move45 infinite 8s;
          animation: move45 infinite 8s;
}
@-webkit-keyframes move45 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 19vh;
    transform: translate(141px, 0);
    opacity: 0;
  }
}
@keyframes move45 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 19vh;
    transform: translate(141px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(46) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 17px;
  height: 17px;
  left: 58vw;
  bottom: 60vh;
  -webkit-animation: move46 infinite 5s;
          animation: move46 infinite 5s;
}
@-webkit-keyframes move46 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 46vh;
    transform: translate(74px, 0);
    opacity: 0;
  }
}
@keyframes move46 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 46vh;
    transform: translate(74px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(47) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 92px;
  height: 92px;
  left: 4vw;
  bottom: 21vh;
  -webkit-animation: move47 infinite 12s;
          animation: move47 infinite 12s;
}
@-webkit-keyframes move47 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 67vh;
    transform: translate(57px, 0);
    opacity: 0;
  }
}
@keyframes move47 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 67vh;
    transform: translate(57px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(48) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 47px;
  height: 47px;
  left: 95vw;
  bottom: 17vh;
  -webkit-animation: move48 infinite 14s;
          animation: move48 infinite 14s;
}
@-webkit-keyframes move48 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 22vh;
    transform: translate(26px, 0);
    opacity: 0;
  }
}
@keyframes move48 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 22vh;
    transform: translate(26px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(49) {
  background: radial-gradient(ellipse at center, #fff 0%, #f00 46%, #000 100%);
  width: 74px;
  height: 74px;
  left: 64vw;
  bottom: 4vh;
  -webkit-animation: move49 infinite 6s;
          animation: move49 infinite 6s;
}
@-webkit-keyframes move49 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 55vh;
    transform: translate(38px, 0);
    opacity: 0;
  }
}
@keyframes move49 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 55vh;
    transform: translate(38px, 0);
    opacity: 0;
  }
}
.bubble:nth-child(50) {
  background: radial-gradient(ellipse at top right, #fff 0%, #f00 46%, #000 100%);
  width: 47px;
  height: 47px;
  left: 66vw;
  bottom: 34vh;
  -webkit-animation: move50 infinite 6s;
          animation: move50 infinite 6s;
}
@-webkit-keyframes move50 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 13vh;
    transform: translate(189px, 0);
    opacity: 0;
  }
}
@keyframes move50 {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 13vh;
    transform: translate(189px, 0);
    opacity: 0;
  }
}
