html, body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
}

.sky, .grass, .road {
    position: relative;
}

.sky {
    height: 40%;
    background-color: #A2A2E0;
}

.cloud {
    position: absolute;
    left: 0;
}

.cloud:nth-child(1) {
    width: 300px;
    opacity: 1;
    top: -40px;
    animation: wind 20s alternate infinite linear;
}

.cloud:nth-child(2) {
    width: 200px;
    opacity: 0.5;
    top: 30%;
    animation: wind 40s alternate-reverse infinite linear;
}

.grass {
    height: 25%;
    background-color: seagreen;
}

.road {
    height: 35%;
    background-color: dimgrey;
    border-top: 10px solid grey;
    border-bottom: 10px solid grey;
    box-sizing: border-box;
}

.lines {
    border: 5px dashed #fff;
    width: 100%;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
}

#rider-1, #rider-2 {
    width: 150px;
    position: absolute;
}

#rider-1 {
    left: 0;
    top: -20%;
    animation: drive 5s alternate infinite linear;
}

#rider-2 {
    transform: scaleX(-1);
    right: 0;
    top: 35%;
    animation: drive 5s alternate-reverse infinite linear;
}

@keyframes drive {
    0% {
        left: 0;
    }
    100% {
        left: 90%;
    }
}

@keyframes wind {
    0% {
        left: 0;
    }
    100% {
        left: 80%;
    }
}