.canvas {
    height: 100vh;
    width: 100vw;
    /* background: linear-gradient(to bottom, #edfffa 0%, #31c5d6 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, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 14px;
    height: 14px;
    left: 9vw;
    bottom: 72vh;
    -webkit-animation: move1 infinite 9s;
    animation: move1 infinite 9s;
}

@-webkit-keyframes move1 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 76vh;
        transform: translate(-61px, 0);
        opacity: 0;
    }
}

@keyframes move1 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 76vh;
        transform: translate(-61px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(2) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 88px;
    height: 88px;
    left: 100vw;
    bottom: 29vh;
    -webkit-animation: move2 infinite 4s;
    animation: move2 infinite 4s;
}

@-webkit-keyframes move2 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 43vh;
        transform: translate(144px, 0);
        opacity: 0;
    }
}

@keyframes move2 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 43vh;
        transform: translate(144px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(3) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 30px;
    height: 30px;
    left: 53vw;
    bottom: 99vh;
    -webkit-animation: move3 infinite 13s;
    animation: move3 infinite 13s;
}

@-webkit-keyframes move3 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 33vh;
        transform: translate(-89px, 0);
        opacity: 0;
    }
}

@keyframes move3 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 33vh;
        transform: translate(-89px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(4) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 51px;
    height: 51px;
    left: 99vw;
    bottom: 83vh;
    -webkit-animation: move4 infinite 12s;
    animation: move4 infinite 12s;
}

@-webkit-keyframes move4 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(-87px, 0);
        opacity: 0;
    }
}

@keyframes move4 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(-87px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(5) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 39px;
    height: 39px;
    left: 14vw;
    bottom: 18vh;
    -webkit-animation: move5 infinite 7s;
    animation: move5 infinite 7s;
}

@-webkit-keyframes move5 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 30vh;
        transform: translate(10px, 0);
        opacity: 0;
    }
}

@keyframes move5 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 30vh;
        transform: translate(10px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(6) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 69px;
    height: 69px;
    left: 70vw;
    bottom: 83vh;
    -webkit-animation: move6 infinite 10s;
    animation: move6 infinite 10s;
}

@-webkit-keyframes move6 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 71vh;
        transform: translate(-56px, 0);
        opacity: 0;
    }
}

@keyframes move6 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 71vh;
        transform: translate(-56px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(7) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 100px;
    height: 100px;
    left: 43vw;
    bottom: 83vh;
    -webkit-animation: move7 infinite 3s;
    animation: move7 infinite 3s;
}

@-webkit-keyframes move7 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 77vh;
        transform: translate(192px, 0);
        opacity: 0;
    }
}

@keyframes move7 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 77vh;
        transform: translate(192px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(8) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 74px;
    height: 74px;
    left: 47vw;
    bottom: 35vh;
    -webkit-animation: move8 infinite 3s;
    animation: move8 infinite 3s;
}

@-webkit-keyframes move8 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 77vh;
        transform: translate(-61px, 0);
        opacity: 0;
    }
}

@keyframes move8 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 77vh;
        transform: translate(-61px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(9) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 36px;
    height: 36px;
    left: 81vw;
    bottom: 18vh;
    -webkit-animation: move9 infinite 4s;
    animation: move9 infinite 4s;
}

@-webkit-keyframes move9 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(184px, 0);
        opacity: 0;
    }
}

@keyframes move9 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(184px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(10) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 51px;
    height: 51px;
    left: 44vw;
    bottom: 58vh;
    -webkit-animation: move10 infinite 5s;
    animation: move10 infinite 5s;
}

@-webkit-keyframes move10 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 83vh;
        transform: translate(-69px, 0);
        opacity: 0;
    }
}

@keyframes move10 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 83vh;
        transform: translate(-69px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(11) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 90px;
    height: 90px;
    left: 57vw;
    bottom: 76vh;
    -webkit-animation: move11 infinite 6s;
    animation: move11 infinite 6s;
}

@-webkit-keyframes move11 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 56vh;
        transform: translate(35px, 0);
        opacity: 0;
    }
}

@keyframes move11 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 56vh;
        transform: translate(35px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(12) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 82px;
    height: 82px;
    left: 7vw;
    bottom: 70vh;
    -webkit-animation: move12 infinite 12s;
    animation: move12 infinite 12s;
}

@-webkit-keyframes move12 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 29vh;
        transform: translate(62px, 0);
        opacity: 0;
    }
}

@keyframes move12 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 29vh;
        transform: translate(62px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(13) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 71px;
    height: 71px;
    left: 70vw;
    bottom: 27vh;
    -webkit-animation: move13 infinite 11s;
    animation: move13 infinite 11s;
}

@-webkit-keyframes move13 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(139px, 0);
        opacity: 0;
    }
}

@keyframes move13 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(139px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(14) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 41px;
    height: 41px;
    left: 19vw;
    bottom: 64vh;
    -webkit-animation: move14 infinite 5s;
    animation: move14 infinite 5s;
}

@-webkit-keyframes move14 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(13px, 0);
        opacity: 0;
    }
}

@keyframes move14 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(13px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(15) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 32px;
    height: 32px;
    left: 42vw;
    bottom: 58vh;
    -webkit-animation: move15 infinite 5s;
    animation: move15 infinite 5s;
}

@-webkit-keyframes move15 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 37vh;
        transform: translate(-11px, 0);
        opacity: 0;
    }
}

@keyframes move15 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 37vh;
        transform: translate(-11px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(16) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 77px;
    height: 77px;
    left: 40vw;
    bottom: 100vh;
    -webkit-animation: move16 infinite 13s;
    animation: move16 infinite 13s;
}

@-webkit-keyframes move16 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(43px, 0);
        opacity: 0;
    }
}

@keyframes move16 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(43px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(17) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 9px;
    height: 9px;
    left: 30vw;
    bottom: 78vh;
    -webkit-animation: move17 infinite 12s;
    animation: move17 infinite 12s;
}

@-webkit-keyframes move17 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(113px, 0);
        opacity: 0;
    }
}

@keyframes move17 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(113px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(18) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 77px;
    height: 77px;
    left: 89vw;
    bottom: 29vh;
    -webkit-animation: move18 infinite 7s;
    animation: move18 infinite 7s;
}

@-webkit-keyframes move18 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 47vh;
        transform: translate(-13px, 0);
        opacity: 0;
    }
}

@keyframes move18 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 47vh;
        transform: translate(-13px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(19) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 44px;
    height: 44px;
    left: 9vw;
    bottom: 39vh;
    -webkit-animation: move19 infinite 5s;
    animation: move19 infinite 5s;
}

@-webkit-keyframes move19 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 89vh;
        transform: translate(193px, 0);
        opacity: 0;
    }
}

@keyframes move19 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 89vh;
        transform: translate(193px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(20) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 78px;
    height: 78px;
    left: 62vw;
    bottom: 89vh;
    -webkit-animation: move20 infinite 3s;
    animation: move20 infinite 3s;
}

@-webkit-keyframes move20 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 43vh;
        transform: translate(110px, 0);
        opacity: 0;
    }
}

@keyframes move20 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 43vh;
        transform: translate(110px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(21) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 32px;
    height: 32px;
    left: 54vw;
    bottom: 42vh;
    -webkit-animation: move21 infinite 9s;
    animation: move21 infinite 9s;
}

@-webkit-keyframes move21 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 57vh;
        transform: translate(-19px, 0);
        opacity: 0;
    }
}

@keyframes move21 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 57vh;
        transform: translate(-19px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(22) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 41px;
    height: 41px;
    left: 47vw;
    bottom: 52vh;
    -webkit-animation: move22 infinite 11s;
    animation: move22 infinite 11s;
}

@-webkit-keyframes move22 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 75vh;
        transform: translate(-27px, 0);
        opacity: 0;
    }
}

@keyframes move22 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 75vh;
        transform: translate(-27px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(23) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 38px;
    height: 38px;
    left: 88vw;
    bottom: 42vh;
    -webkit-animation: move23 infinite 8s;
    animation: move23 infinite 8s;
}

@-webkit-keyframes move23 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 32vh;
        transform: translate(182px, 0);
        opacity: 0;
    }
}

@keyframes move23 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 32vh;
        transform: translate(182px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(24) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 90px;
    height: 90px;
    left: 76vw;
    bottom: 93vh;
    -webkit-animation: move24 infinite 3s;
    animation: move24 infinite 3s;
}

@-webkit-keyframes move24 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 6vh;
        transform: translate(-94px, 0);
        opacity: 0;
    }
}

@keyframes move24 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 6vh;
        transform: translate(-94px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(25) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 76px;
    height: 76px;
    left: 78vw;
    bottom: 26vh;
    -webkit-animation: move25 infinite 3s;
    animation: move25 infinite 3s;
}

@-webkit-keyframes move25 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(112px, 0);
        opacity: 0;
    }
}

@keyframes move25 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(112px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(26) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 33px;
    height: 33px;
    left: 4vw;
    bottom: 89vh;
    -webkit-animation: move26 infinite 4s;
    animation: move26 infinite 4s;
}

@-webkit-keyframes move26 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 63vh;
        transform: translate(170px, 0);
        opacity: 0;
    }
}

@keyframes move26 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 63vh;
        transform: translate(170px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(27) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 32px;
    height: 32px;
    left: 39vw;
    bottom: 76vh;
    -webkit-animation: move27 infinite 10s;
    animation: move27 infinite 10s;
}

@-webkit-keyframes move27 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(29px, 0);
        opacity: 0;
    }
}

@keyframes move27 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(29px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(28) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 58px;
    height: 58px;
    left: 50vw;
    bottom: 44vh;
    -webkit-animation: move28 infinite 3s;
    animation: move28 infinite 3s;
}

@-webkit-keyframes move28 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 62vh;
        transform: translate(188px, 0);
        opacity: 0;
    }
}

@keyframes move28 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 62vh;
        transform: translate(188px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(29) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 40px;
    height: 40px;
    left: 34vw;
    bottom: 93vh;
    -webkit-animation: move29 infinite 6s;
    animation: move29 infinite 6s;
}

@-webkit-keyframes move29 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 11vh;
        transform: translate(113px, 0);
        opacity: 0;
    }
}

@keyframes move29 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 11vh;
        transform: translate(113px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(30) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 16px;
    height: 16px;
    left: 18vw;
    bottom: 42vh;
    -webkit-animation: move30 infinite 5s;
    animation: move30 infinite 5s;
}

@-webkit-keyframes move30 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 21vh;
        transform: translate(54px, 0);
        opacity: 0;
    }
}

@keyframes move30 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 21vh;
        transform: translate(54px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(31) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 18px;
    height: 18px;
    left: 59vw;
    bottom: 49vh;
    -webkit-animation: move31 infinite 7s;
    animation: move31 infinite 7s;
}

@-webkit-keyframes move31 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 51vh;
        transform: translate(61px, 0);
        opacity: 0;
    }
}

@keyframes move31 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 51vh;
        transform: translate(61px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(32) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 70px;
    height: 70px;
    left: 56vw;
    bottom: 4vh;
    -webkit-animation: move32 infinite 9s;
    animation: move32 infinite 9s;
}

@-webkit-keyframes move32 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 84vh;
        transform: translate(-49px, 0);
        opacity: 0;
    }
}

@keyframes move32 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 84vh;
        transform: translate(-49px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(33) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 7px;
    height: 7px;
    left: 32vw;
    bottom: 18vh;
    -webkit-animation: move33 infinite 9s;
    animation: move33 infinite 9s;
}

@-webkit-keyframes move33 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 34vh;
        transform: translate(98px, 0);
        opacity: 0;
    }
}

@keyframes move33 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 34vh;
        transform: translate(98px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(34) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 89px;
    height: 89px;
    left: 32vw;
    bottom: 59vh;
    -webkit-animation: move34 infinite 4s;
    animation: move34 infinite 4s;
}

@-webkit-keyframes move34 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 54vh;
        transform: translate(90px, 0);
        opacity: 0;
    }
}

@keyframes move34 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 54vh;
        transform: translate(90px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(35) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 98px;
    height: 98px;
    left: 34vw;
    bottom: 14vh;
    -webkit-animation: move35 infinite 12s;
    animation: move35 infinite 12s;
}

@-webkit-keyframes move35 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 96vh;
        transform: translate(59px, 0);
        opacity: 0;
    }
}

@keyframes move35 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 96vh;
        transform: translate(59px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(36) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 62px;
    height: 62px;
    left: 94vw;
    bottom: 69vh;
    -webkit-animation: move36 infinite 5s;
    animation: move36 infinite 5s;
}

@-webkit-keyframes move36 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(101px, 0);
        opacity: 0;
    }
}

@keyframes move36 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 36vh;
        transform: translate(101px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(37) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 51px;
    height: 51px;
    left: 63vw;
    bottom: 8vh;
    -webkit-animation: move37 infinite 12s;
    animation: move37 infinite 12s;
}

@-webkit-keyframes move37 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 46vh;
        transform: translate(97px, 0);
        opacity: 0;
    }
}

@keyframes move37 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 46vh;
        transform: translate(97px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(38) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 21px;
    height: 21px;
    left: 45vw;
    bottom: 12vh;
    -webkit-animation: move38 infinite 12s;
    animation: move38 infinite 12s;
}

@-webkit-keyframes move38 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(-51px, 0);
        opacity: 0;
    }
}

@keyframes move38 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(-51px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(39) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 90px;
    height: 90px;
    left: 80vw;
    bottom: 76vh;
    -webkit-animation: move39 infinite 7s;
    animation: move39 infinite 7s;
}

@-webkit-keyframes move39 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(132px, 0);
        opacity: 0;
    }
}

@keyframes move39 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(132px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(40) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 50px;
    height: 50px;
    left: 30vw;
    bottom: 63vh;
    -webkit-animation: move40 infinite 3s;
    animation: move40 infinite 3s;
}

@-webkit-keyframes move40 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 73vh;
        transform: translate(-37px, 0);
        opacity: 0;
    }
}

@keyframes move40 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 73vh;
        transform: translate(-37px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(41) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 64px;
    height: 64px;
    left: 94vw;
    bottom: 61vh;
    -webkit-animation: move41 infinite 9s;
    animation: move41 infinite 9s;
}

@-webkit-keyframes move41 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(-80px, 0);
        opacity: 0;
    }
}

@keyframes move41 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(-80px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(42) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 5px;
    height: 5px;
    left: 61vw;
    bottom: 87vh;
    -webkit-animation: move42 infinite 14s;
    animation: move42 infinite 14s;
}

@-webkit-keyframes move42 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 78vh;
        transform: translate(-11px, 0);
        opacity: 0;
    }
}

@keyframes move42 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 78vh;
        transform: translate(-11px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(43) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 77px;
    height: 77px;
    left: 54vw;
    bottom: 49vh;
    -webkit-animation: move43 infinite 14s;
    animation: move43 infinite 14s;
}

@-webkit-keyframes move43 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 27vh;
        transform: translate(-52px, 0);
        opacity: 0;
    }
}

@keyframes move43 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 27vh;
        transform: translate(-52px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(44) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 16px;
    height: 16px;
    left: 5vw;
    bottom: 2vh;
    -webkit-animation: move44 infinite 3s;
    animation: move44 infinite 3s;
}

@-webkit-keyframes move44 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 98vh;
        transform: translate(127px, 0);
        opacity: 0;
    }
}

@keyframes move44 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 98vh;
        transform: translate(127px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(45) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 44px;
    height: 44px;
    left: 53vw;
    bottom: 28vh;
    -webkit-animation: move45 infinite 8s;
    animation: move45 infinite 8s;
}

@-webkit-keyframes move45 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 88vh;
        transform: translate(-32px, 0);
        opacity: 0;
    }
}

@keyframes move45 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 88vh;
        transform: translate(-32px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(46) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 98px;
    height: 98px;
    left: 36vw;
    bottom: 47vh;
    -webkit-animation: move46 infinite 3s;
    animation: move46 infinite 3s;
}

@-webkit-keyframes move46 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(158px, 0);
        opacity: 0;
    }
}

@keyframes move46 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 79vh;
        transform: translate(158px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(47) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 56px;
    height: 56px;
    left: 30vw;
    bottom: 46vh;
    -webkit-animation: move47 infinite 4s;
    animation: move47 infinite 4s;
}

@-webkit-keyframes move47 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 51vh;
        transform: translate(16px, 0);
        opacity: 0;
    }
}

@keyframes move47 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 51vh;
        transform: translate(16px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(48) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 77px;
    height: 77px;
    left: 14vw;
    bottom: 22vh;
    -webkit-animation: move48 infinite 6s;
    animation: move48 infinite 6s;
}

@-webkit-keyframes move48 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(81px, 0);
        opacity: 0;
    }
}

@keyframes move48 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(81px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(49) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 12px;
    height: 12px;
    left: 68vw;
    bottom: 100vh;
    -webkit-animation: move49 infinite 13s;
    animation: move49 infinite 13s;
}

@-webkit-keyframes move49 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 39vh;
        transform: translate(178px, 0);
        opacity: 0;
    }
}

@keyframes move49 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 39vh;
        transform: translate(178px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(50) {
    background: radial-gradient(ellipse at top right, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    width: 54px;
    height: 54px;
    left: 63vw;
    bottom: 20vh;
    -webkit-animation: move50 infinite 9s;
    animation: move50 infinite 9s;
}

@-webkit-keyframes move50 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 17vh;
        transform: translate(142px, 0);
        opacity: 0;
    }
}

@keyframes move50 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 17vh;
        transform: translate(142px, 0);
        opacity: 0;
    }
}