* {
    margin: 0;
    padding: 0;
}

body {
    /*To hide the horizontal scroller appearing during the animation*/
    overflow: hidden;
    font-family: 'Lucida Grande', 'Helvetica Neue', sans-serif;
}

h1 {
    position: absolute;
    font-size: 115px;
    left: 0;
    right: 0;
    margin: 125px auto;
    text-align: center;
    color: #fff;
    text-shadow: 0px 1px 1px #ddd, 0px 2px 1px #d6d6d6, 0px 3px 1px #ccc, 0px 4px 1px #c5c5c5, 0px 5px 1px #c1c1c1, 0px 6px 1px #bbb, 0px 7px 1px #777, 0px 8px 3px rgba(100, 100, 100, 0.4), 0px 9px 5px rgba(100, 100, 100, 0.1), 0px 10px 7px rgba(100, 100, 100, 0.15), 0px 11px 9px rgba(100, 100, 100, 0.2), 0px 12px 11px rgba(100, 100, 100, 0.25), 0px 13px 15px rgba(100, 100, 100, 0.3);
}

#clouds {
    width: 100%;
    padding: 100px 0;
    background: #c9dbe9;
    background: -webkit-linear-gradient(top, #c9dbe9 0%, #fff 100%);
    background: -linear-gradient(top, #c9dbe9 0%, #fff 100%);
    background: -moz-linear-gradient(top, #c9dbe9 0%, #fff 100%);
}


/*Time to finalise the cloud shape*/

.cloud {
    width: 200px;
    height: 60px;
    background: #fff;
    border-radius: 200px;
    -moz-border-radius: 200px;
    -webkit-border-radius: 200px;
    position: relative;
}

.cloud:before, .cloud:after {
    content: '';
    position: absolute;
    background: #fff;
    width: 100px;
    height: 80px;
    position: absolute;
    top: -15px;
    left: 10px;
    border-radius: 100px;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    -moz-transform: rotate(30deg);
}

.cloud:after {
    width: 120px;
    height: 120px;
    top: -55px;
    left: auto;
    right: 15px;
}


/*Time to animate*/

.x1 {
    -webkit-animation: moveclouds 30s linear infinite;
    -moz-animation: moveclouds 30s linear infinite;
    -o-animation: moveclouds 30s linear infinite;
}


/*variable speed, opacity, and position of clouds for realistic effect*/

.x2 {
    left: 200px;
    -webkit-transform: scale(0.6);
    -moz-transform: scale(0.6);
    transform: scale(0.6);
    opacity: 0.6;
    /*opacity proportional to the size*/
    /*Speed will also be proportional to the size and opacity*/
    /*More the speed. Less the time in 's' = seconds*/
    -webkit-animation: moveclouds 50s linear infinite;
    -moz-animation: moveclouds 50s linear infinite;
    -o-animation: moveclouds 50s linear infinite;
}

.x3 {
    left: -250px;
    top: -200px;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
    /*opacity proportional to the size*/
    -webkit-animation: moveclouds 40s linear infinite;
    -moz-animation: moveclouds 40s linear infinite;
    -o-animation: moveclouds 40s linear infinite;
}

.x4 {
    left: 470px;
    top: -250px;
    -webkit-transform: scale(0.75);
    -moz-transform: scale(0.75);
    transform: scale(0.75);
    opacity: 0.75;
    /*opacity proportional to the size*/
    -webkit-animation: moveclouds 36s linear infinite;
    -moz-animation: moveclouds 36s linear infinite;
    -o-animation: moveclouds 36s linear infinite;
}

.x5 {
    left: -150px;
    top: -150px;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
    /*opacity proportional to the size*/
    -webkit-animation: moveclouds 40s linear infinite;
    -moz-animation: moveclouds 40s linear infinite;
    -o-animation: moveclouds 40s linear infinite;
}

@-webkit-keyframes moveclouds {
    0% {
        margin-left: 2000px;
    }
    100% {
        margin-left: -2000px;
    }
}

@-moz-keyframes moveclouds {
    0% {
        margin-left: 2000px;
    }
    100% {
        margin-left: -2000px;
    }
}

@-o-keyframes moveclouds {
    0% {
        margin-left: 2000px;
    }
    100% {
        margin-left: -2000px;
    }
}
