.canvas {
    height: 100vh;
    width: 100vw;
    position: fixed;
/*        z-index: -15;*/
    overflow: hidden;
}

/*.bubble {
  display: block;
  border-radius: 100%;
  opacity: 0.8;
  position: absolute;
}*/

.bubble {
    position: absolute;
    background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 100%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1);
    border-radius: 50%;
    pointer-events: auto;
    opacity: 0.5;
}

.bubble:after {
    content: "";
    position: absolute;
    background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
    width: 60%;
    height: 60%;
    top: 5%;
    right: 5%;
    border-radius: 50%;
    transform: rotateY(30deg) rotateX(30deg);
    opacity: 0.8;
}

.bubble:nth-child(1) {
    /*  background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);*/
    width: 5px;
    height: 5px;
    left: 73vw;
    bottom: 40vh;
    -webkit-animation: move1 infinite 9s;
    animation: move1 infinite 9s;
}

@-webkit-keyframes move1 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 7vh;
        transform: translate(9px, 0);
        opacity: 0;
    }
}

@keyframes move1 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 7vh;
        transform: translate(9px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(2) {
    /*  background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #bbb 100%);*/
    width: 94px;
    height: 94px;
    left: 43vw;
    bottom: 35vh;
    -webkit-animation: move2 infinite 5s;
    animation: move2 infinite 5s;
}

@-webkit-keyframes move2 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 38vh;
        transform: translate(-85px, 0);
        opacity: 0;
    }
}

@keyframes move2 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 38vh;
        transform: translate(-85px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(3) {
    /*  background: radial-gradient(ellipse at center, #fff 0%, #ccc 46%, #bbb 100%);*/
    width: 86px;
    height: 86px;
    left: 36vw;
    bottom: 12vh;
    -webkit-animation: move3 infinite 13s;
    animation: move3 infinite 13s;
}

@-webkit-keyframes move3 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 9vh;
        transform: translate(87px, 0);
        opacity: 0;
    }
}

@keyframes move3 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 9vh;
        transform: translate(87px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(4) {
    /*  background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 19px;
    height: 19px;
    left: 26vw;
    bottom: 60vh;
    -webkit-animation: move4 infinite 5s;
    animation: move4 infinite 5s;
}

@-webkit-keyframes move4 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 35vh;
        transform: translate(111px, 0);
        opacity: 0;
    }
}

@keyframes move4 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 35vh;
        transform: translate(111px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(5) {
    /*    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);*/
    width: 64px;
    height: 64px;
    left: 38vw;
    bottom: 32vh;
    -webkit-animation: move5 infinite 8s;
    animation: move5 infinite 8s;
}

@-webkit-keyframes move5 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(187px, 0);
        opacity: 0;
    }
}

@keyframes move5 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(187px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(6) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 37px;
    height: 37px;
    left: 52vw;
    bottom: 68vh;
    -webkit-animation: move6 infinite 15s;
    animation: move6 infinite 15s;
}

@-webkit-keyframes move6 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 29vh;
        transform: translate(18px, 0);
        opacity: 0;
    }
}

@keyframes move6 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 29vh;
        transform: translate(18px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(7) {
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 56px;
    height: 56px;
    left: 78vw;
    bottom: 28vh;
    -webkit-animation: move7 infinite 4s;
    animation: move7 infinite 4s;
}

@-webkit-keyframes move7 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 96vh;
        transform: translate(-100px, 0);
        opacity: 0;
    }
}

@keyframes move7 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 96vh;
        transform: translate(-100px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(8) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 62px;
    height: 62px;
    left: 54vw;
    bottom: 47vh;
    -webkit-animation: move8 infinite 4s;
    animation: move8 infinite 4s;
}

@-webkit-keyframes move8 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 39vh;
        transform: translate(59px, 0);
        opacity: 0;
    }
}

@keyframes move8 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 39vh;
        transform: translate(59px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(9) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 21px;
    height: 21px;
    left: 43vw;
    bottom: 39vh;
    -webkit-animation: move9 infinite 8s;
    animation: move9 infinite 8s;
}

@-webkit-keyframes move9 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 50vh;
        transform: translate(62px, 0);
        opacity: 0;
    }
}

@keyframes move9 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 50vh;
        transform: translate(62px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(10) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 41px;
    height: 41px;
    left: 76vw;
    bottom: 51vh;
    -webkit-animation: move10 infinite 12s;
    animation: move10 infinite 12s;
}

@-webkit-keyframes move10 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 23vh;
        transform: translate(-75px, 0);
        opacity: 0;
    }
}

@keyframes move10 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 23vh;
        transform: translate(-75px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(11) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 92px;
    height: 92px;
    left: 38vw;
    bottom: 74vh;
    -webkit-animation: move11 infinite 3s;
    animation: move11 infinite 3s;
}

@-webkit-keyframes move11 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 22vh;
        transform: translate(101px, 0);
        opacity: 0;
    }
}

@keyframes move11 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 22vh;
        transform: translate(101px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(12) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 64px;
    height: 64px;
    left: 43vw;
    bottom: 38vh;
    -webkit-animation: move12 infinite 9s;
    animation: move12 infinite 9s;
}

@-webkit-keyframes move12 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(29px, 0);
        opacity: 0;
    }
}

@keyframes move12 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(29px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(13) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 52px;
    height: 52px;
    left: 40vw;
    bottom: 29vh;
    -webkit-animation: move13 infinite 5s;
    animation: move13 infinite 5s;
}

@-webkit-keyframes move13 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 99vh;
        transform: translate(-54px, 0);
        opacity: 0;
    }
}

@keyframes move13 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 99vh;
        transform: translate(-54px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(14) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 66px;
    height: 66px;
    left: 97vw;
    bottom: 64vh;
    -webkit-animation: move14 infinite 15s;
    animation: move14 infinite 15s;
}

@-webkit-keyframes move14 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 20vh;
        transform: translate(150px, 0);
        opacity: 0;
    }
}

@keyframes move14 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 20vh;
        transform: translate(150px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(15) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 65px;
    height: 65px;
    left: 63vw;
    bottom: 5vh;
    -webkit-animation: move15 infinite 13s;
    animation: move15 infinite 13s;
}

@-webkit-keyframes move15 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(115px, 0);
        opacity: 0;
    }
}

@keyframes move15 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(115px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(16) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 88px;
    height: 88px;
    left: 92vw;
    bottom: 37vh;
    -webkit-animation: move16 infinite 3s;
    animation: move16 infinite 3s;
}

@-webkit-keyframes move16 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 68vh;
        transform: translate(169px, 0);
        opacity: 0;
    }
}

@keyframes move16 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 68vh;
        transform: translate(169px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(17) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 9px;
    height: 9px;
    left: 20vw;
    bottom: 11vh;
    -webkit-animation: move17 infinite 14s;
    animation: move17 infinite 14s;
}

@-webkit-keyframes move17 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 69vh;
        transform: translate(7px, 0);
        opacity: 0;
    }
}

@keyframes move17 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 69vh;
        transform: translate(7px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(18) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 94px;
    height: 94px;
    left: 33vw;
    bottom: 85vh;
    -webkit-animation: move18 infinite 10s;
    animation: move18 infinite 10s;
}

@-webkit-keyframes move18 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(110px, 0);
        opacity: 0;
    }
}

@keyframes move18 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 13vh;
        transform: translate(110px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(19) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 23px;
    height: 23px;
    left: 90vw;
    bottom: 70vh;
    -webkit-animation: move19 infinite 6s;
    animation: move19 infinite 6s;
}

@-webkit-keyframes move19 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(16px, 0);
        opacity: 0;
    }
}

@keyframes move19 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 12vh;
        transform: translate(16px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(20) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 93px;
    height: 93px;
    left: 1vw;
    bottom: 16vh;
    -webkit-animation: move20 infinite 8s;
    animation: move20 infinite 8s;
}

@-webkit-keyframes move20 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 65vh;
        transform: translate(-4px, 0);
        opacity: 0;
    }
}

@keyframes move20 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 65vh;
        transform: translate(-4px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(21) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 93px;
    height: 93px;
    left: 37vw;
    bottom: 90vh;
    -webkit-animation: move21 infinite 3s;
    animation: move21 infinite 3s;
}

@-webkit-keyframes move21 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 5vh;
        transform: translate(-45px, 0);
        opacity: 0;
    }
}

@keyframes move21 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 5vh;
        transform: translate(-45px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(22) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 26px;
    height: 26px;
    left: 47vw;
    bottom: 58vh;
    -webkit-animation: move22 infinite 5s;
    animation: move22 infinite 5s;
}

@-webkit-keyframes move22 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 63vh;
        transform: translate(18px, 0);
        opacity: 0;
    }
}

@keyframes move22 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 63vh;
        transform: translate(18px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(23) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 40px;
    height: 40px;
    left: 27vw;
    bottom: 14vh;
    -webkit-animation: move23 infinite 15s;
    animation: move23 infinite 15s;
}

@-webkit-keyframes move23 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 82vh;
        transform: translate(-3px, 0);
        opacity: 0;
    }
}

@keyframes move23 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 82vh;
        transform: translate(-3px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(24) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 69px;
    height: 69px;
    left: 26vw;
    bottom: 47vh;
    -webkit-animation: move24 infinite 3s;
    animation: move24 infinite 3s;
}

@-webkit-keyframes move24 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 41vh;
        transform: translate(-87px, 0);
        opacity: 0;
    }
}

@keyframes move24 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 41vh;
        transform: translate(-87px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(25) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 78px;
    height: 78px;
    left: 12vw;
    bottom: 35vh;
    -webkit-animation: move25 infinite 9s;
    animation: move25 infinite 9s;
}

@-webkit-keyframes move25 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 67vh;
        transform: translate(34px, 0);
        opacity: 0;
    }
}

@keyframes move25 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 67vh;
        transform: translate(34px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(26) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 67px;
    height: 67px;
    left: 23vw;
    bottom: 74vh;
    -webkit-animation: move26 infinite 14s;
    animation: move26 infinite 14s;
}

@-webkit-keyframes move26 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(-63px, 0);
        opacity: 0;
    }
}

@keyframes move26 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 40vh;
        transform: translate(-63px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(27) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 28px;
    height: 28px;
    left: 82vw;
    bottom: 79vh;
    -webkit-animation: move27 infinite 11s;
    animation: move27 infinite 11s;
}

@-webkit-keyframes move27 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 45vh;
        transform: translate(106px, 0);
        opacity: 0;
    }
}

@keyframes move27 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 45vh;
        transform: translate(106px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(28) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 29px;
    height: 29px;
    left: 52vw;
    bottom: 24vh;
    -webkit-animation: move28 infinite 11s;
    animation: move28 infinite 11s;
}

@-webkit-keyframes move28 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 62vh;
        transform: translate(23px, 0);
        opacity: 0;
    }
}

@keyframes move28 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 62vh;
        transform: translate(23px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(29) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 75px;
    height: 75px;
    left: 44vw;
    bottom: 6vh;
    -webkit-animation: move29 infinite 4s;
    animation: move29 infinite 4s;
}

@-webkit-keyframes move29 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 65vh;
        transform: translate(-19px, 0);
        opacity: 0;
    }
}

@keyframes move29 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 65vh;
        transform: translate(-19px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(30) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 7px;
    height: 7px;
    left: 44vw;
    bottom: 2vh;
    -webkit-animation: move30 infinite 11s;
    animation: move30 infinite 11s;
}

@-webkit-keyframes move30 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 45vh;
        transform: translate(127px, 0);
        opacity: 0;
    }
}

@keyframes move30 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 45vh;
        transform: translate(127px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(31) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 98px;
    height: 98px;
    left: 41vw;
    bottom: 34vh;
    -webkit-animation: move31 infinite 14s;
    animation: move31 infinite 14s;
}

@-webkit-keyframes move31 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 75vh;
        transform: translate(137px, 0);
        opacity: 0;
    }
}

@keyframes move31 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 75vh;
        transform: translate(137px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(32) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 54px;
    height: 54px;
    left: 69vw;
    bottom: 47vh;
    -webkit-animation: move32 infinite 7s;
    animation: move32 infinite 7s;
}

@-webkit-keyframes move32 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 42vh;
        transform: translate(141px, 0);
        opacity: 0;
    }
}

@keyframes move32 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 42vh;
        transform: translate(141px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(33) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 84px;
    height: 84px;
    left: 16vw;
    bottom: 86vh;
    -webkit-animation: move33 infinite 4s;
    animation: move33 infinite 4s;
}

@-webkit-keyframes move33 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 93vh;
        transform: translate(94px, 0);
        opacity: 0;
    }
}

@keyframes move33 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 93vh;
        transform: translate(94px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(34) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 26px;
    height: 26px;
    left: 66vw;
    bottom: 37vh;
    -webkit-animation: move34 infinite 11s;
    animation: move34 infinite 11s;
}

@-webkit-keyframes move34 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 16vh;
        transform: translate(-83px, 0);
        opacity: 0;
    }
}

@keyframes move34 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 16vh;
        transform: translate(-83px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(35) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 53px;
    height: 53px;
    left: 20vw;
    bottom: 53vh;
    -webkit-animation: move35 infinite 14s;
    animation: move35 infinite 14s;
}

@-webkit-keyframes move35 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 33vh;
        transform: translate(-62px, 0);
        opacity: 0;
    }
}

@keyframes move35 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 33vh;
        transform: translate(-62px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(36) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 33px;
    height: 33px;
    left: 2vw;
    bottom: 29vh;
    -webkit-animation: move36 infinite 9s;
    animation: move36 infinite 9s;
}

@-webkit-keyframes move36 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 70vh;
        transform: translate(22px, 0);
        opacity: 0;
    }
}

@keyframes move36 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 70vh;
        transform: translate(22px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(37) {
/*    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);*/
    width: 82px;
    height: 82px;
    left: 37vw;
    bottom: 85vh;
    -webkit-animation: move37 infinite 11s;
    animation: move37 infinite 11s;
}

@-webkit-keyframes move37 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(-88px, 0);
        opacity: 0;
    }
}

@keyframes move37 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 19vh;
        transform: translate(-88px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(38) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 84px;
    height: 84px;
    left: 49vw;
    bottom: 89vh;
    -webkit-animation: move38 infinite 14s;
    animation: move38 infinite 14s;
}

@-webkit-keyframes move38 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 83vh;
        transform: translate(67px, 0);
        opacity: 0;
    }
}

@keyframes move38 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 83vh;
        transform: translate(67px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(39) {
/*    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);*/
    width: 16px;
    height: 16px;
    left: 36vw;
    bottom: 87vh;
    -webkit-animation: move39 infinite 11s;
    animation: move39 infinite 11s;
}

@-webkit-keyframes move39 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 69vh;
        transform: translate(109px, 0);
        opacity: 0;
    }
}

@keyframes move39 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 69vh;
        transform: translate(109px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(40) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 49px;
    height: 49px;
    left: 53vw;
    bottom: 7vh;
    -webkit-animation: move40 infinite 9s;
    animation: move40 infinite 9s;
}

@-webkit-keyframes move40 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 35vh;
        transform: translate(46px, 0);
        opacity: 0;
    }
}

@keyframes move40 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 35vh;
        transform: translate(46px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(41) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 69px;
    height: 69px;
    left: 66vw;
    bottom: 34vh;
    -webkit-animation: move41 infinite 11s;
    animation: move41 infinite 11s;
}

@-webkit-keyframes move41 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 18vh;
        transform: translate(-22px, 0);
        opacity: 0;
    }
}

@keyframes move41 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 18vh;
        transform: translate(-22px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(42) {
    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);
    width: 31px;
    height: 31px;
    left: 39vw;
    bottom: 29vh;
    -webkit-animation: move42 infinite 15s;
    animation: move42 infinite 15s;
}

@-webkit-keyframes move42 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 22vh;
        transform: translate(183px, 0);
        opacity: 0;
    }
}

@keyframes move42 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 22vh;
        transform: translate(183px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(43) {
    background: radial-gradient(ellipse at center, #b8c6c6 0%, #30b3d3 46%, #20628c 100%);
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 33px;
    height: 33px;
    left: 23vw;
    bottom: 28vh;
    -webkit-animation: move43 infinite 13s;
    animation: move43 infinite 13s;
}

@-webkit-keyframes move43 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 0vh;
        transform: translate(7px, 0);
        opacity: 0;
    }
}

@keyframes move43 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 0vh;
        transform: translate(7px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(44) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 13px;
    height: 13px;
    left: 82vw;
    bottom: 91vh;
    -webkit-animation: move44 infinite 12s;
    animation: move44 infinite 12s;
}

@-webkit-keyframes move44 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 4vh;
        transform: translate(123px, 0);
        opacity: 0;
    }
}

@keyframes move44 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 4vh;
        transform: translate(123px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(45) {
/*    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);*/
    width: 8px;
    height: 8px;
    left: 43vw;
    bottom: 72vh;
    -webkit-animation: move45 infinite 3s;
    animation: move45 infinite 3s;
}

@-webkit-keyframes move45 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 5vh;
        transform: translate(149px, 0);
        opacity: 0;
    }
}

@keyframes move45 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 5vh;
        transform: translate(149px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(46) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 72px;
    height: 72px;
    left: 13vw;
    bottom: 17vh;
    -webkit-animation: move46 infinite 4s;
    animation: move46 infinite 4s;
}

@-webkit-keyframes move46 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 61vh;
        transform: translate(55px, 0);
        opacity: 0;
    }
}

@keyframes move46 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 61vh;
        transform: translate(55px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(47) {
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 18px;
    height: 18px;
    left: 81vw;
    bottom: 69vh;
    -webkit-animation: move47 infinite 4s;
    animation: move47 infinite 4s;
}

@-webkit-keyframes move47 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 52vh;
        transform: translate(52px, 0);
        opacity: 0;
    }
}

@keyframes move47 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 52vh;
        transform: translate(52px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(48) {
    /*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 88px;
    height: 88px;
    left: 20vw;
    bottom: 8vh;
    -webkit-animation: move48 infinite 11s;
    animation: move48 infinite 11s;
}

@-webkit-keyframes move48 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(-36px, 0);
        opacity: 0;
    }
}

@keyframes move48 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 59vh;
        transform: translate(-36px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(49) {
    background: radial-gradient(ellipse at center, #FFF 0%, #eee 46%, #ccc 100%);
    width: 25px;
    height: 25px;
    left: 58vw;
    bottom: 52vh;
    -webkit-animation: move49 infinite 4s;
    animation: move49 infinite 4s;
}

@-webkit-keyframes move49 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 81vh;
        transform: translate(-88px, 0);
        opacity: 0;
    }
}

@keyframes move49 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 81vh;
        transform: translate(-88px, 0);
        opacity: 0;
    }
}

.bubble:nth-child(50) {
/*    background: radial-gradient(ellipse at top right, #fff 0%, #eee 46%, #ccc 100%);*/
    width: 42px;
    height: 42px;
    left: 58vw;
    bottom: 31vh;
    -webkit-animation: move50 infinite 3s;
    animation: move50 infinite 3s;
}

@-webkit-keyframes move50 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 82vh;
        transform: translate(106px, 0);
        opacity: 0;
    }
}

@keyframes move50 {
    0% {
        bottom: -100px;
    }

    100% {
        bottom: 82vh;
        transform: translate(106px, 0);
        opacity: 0;
    }
}



/*--------------------POP---------------------*/

.bubble-wobble {
    -webkit-animation: bubbleWobble 0.5s ease;
    -moz-animation: bubbleWobble 0.5s ease;
    animation: bubbleWobble 0.5s ease;
    background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 100%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1);
}

@-webkit-keyframes bubbleWobble {
    0% {
        -webkit-transform: scale(1);
    }

    20% {
        -webkit-transform: scale(0.8);
    }

    40% {
        -webkit-transform: scale(1.1);
    }

    60% {
        -webkit-transform: scale(0.95);
    }

    80% {
        -webkit-transform: scale(1.03);
    }

    100% {
        -webkit-transform: scale(1);
    }
}

@-moz-keyframes bubbleWobble {
    0% {
        -moz-transform: scale(1);
    }

    20% {
        -moz-transform: scale(0.8);
    }

    40% {
        -moz-transform: scale(1.1);
    }

    60% {
        -moz-transform: scale(0.95);
    }

    80% {
        -moz-transform: scale(1.03);
    }

    100% {
        -moz-transform: scale(1);
    }
}

@keyframes bubbleWobble {
    0% {
        transform: scale(1);
    }

    20% {
        transform: scale(0.8);
    }

    40% {
        transform: scale(1.1);
    }

    60% {
        transform: scale(0.95);
    }

    80% {
        transform: scale(1.03);
    }

    100% {
        transform: scale(1);
    }
}

.bubble-pop {
    -webkit-animation: bubblePop 1.4s ease;
    -moz-animation: bubblePop 1.4s ease;
    animation: bubblePop 1.4s ease;
    opacity: 0;
}

@-webkit-keyframes bubblePop {
    0% {
        -webkit-transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: scale(0);
        opacity: 0.6;
    }

    100% {
        -webkit-transform: scale(0.5);
        opacity: 0;
    }
}

@-moz-keyframes bubblePop {
    0% {
        -moz-transform: scale(1);
        opacity: 1;
    }

    20% {
        -moz-transform: scale(0);
        opacity: 0.6;
    }

    100% {
        -moz-transform: scale(0.5);
        opacity: 0;
    }
}

@keyframes bubblePop {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    20% {
        transform: scale(0);
        opacity: 0.6;
    }

    100% {
        transform: scale(0.5);
        opacity: 0;
    }
}