body {
    background: linear-gradient(to top, #87ceeb, #f0f8ff);
}

.cloud {
    position: absolute;
    background: #fff;
    border-radius: 50%;
    opacity: 0.9;
}

    .cloud::before,
    .cloud::after {
        content: '';
        position: absolute;
        background: #fff;
        border-radius: 50%;
    }

/* Cloud 1 — cartoon bubble */
.cloud1 {
    width: 120px;
    height: 70px;
    top: 50px;
    left: -200px;
    animation: moveClouds 60s linear infinite;
}

    .cloud1::before {
        width: 90px;
        height: 90px;
        top: -30px;
        left: 30px;
    }

    .cloud1::after {
        width: 60px;
        height: 60px;
        top: 10px;
        left: 80px;
    }

/* Cloud 2 — cartoon bubble */
.cloud2 {
    width: 150px;
    height: 80px;
    top: 150px;
    left: -250px;
    animation: moveClouds 90s linear infinite;
}

    .cloud2::before {
        width: 100px;
        height: 100px;
        top: -40px;
        left: 40px;
    }

    .cloud2::after {
        width: 70px;
        height: 70px;
        top: 20px;
        left: 100px;
    }

/* Cloud 3 — cartoon bubble */
.cloud3 {
    width: 100px;
    height: 60px;
    top: 250px;
    left: -150px;
    animation: moveClouds 70s linear infinite;
}

    .cloud3::before {
        width: 80px;
        height: 80px;
        top: -25px;
        left: 25px;
    }

    .cloud3::after {
        width: 50px;
        height: 50px;
        top: 15px;
        left: 70px;
    }   

@keyframes moveClouds {
    0% {
        left: -200px;
    }

    100% {
        left: 100vw;
    }
}