html {
    font: 10px/150% Arial, Verdana, Microsoft Yahei, "\5b8b\4f53";
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-color: #f1f1f1;
    overflow: hidden;
}

body,
section,
div,
canvas,
p {
    margin: 0;
    padding: 0;
    display: flex;
}

.moon-shine {
    width: 100vw;
    height: 100vh;
    background-color: #000;
    flex-direction: column;
}

.sea,
.land {
    height: 100vh;
    flex-direction: column;
    position: relative;
    left: 0;
}

.sea {
    width: 20vw;
}

.land {
    width: 80vw;
}

.title {
    pointer-events: none;
    font-size: 2rem;
    color: #fff;
    letter-spacing: 1rem;
}

.title .p1 {
    position: absolute;
    left: 5rem;
    bottom: 30rem;
}

.title .p2 {
    position: absolute;
    left: 20rem;
    bottom: 25rem;
}

.wave {
    pointer-events: none;
    margin-top: auto;
    width: 100%;
    height: 20rem;

}


.stars {
    pointer-events: none;
    width: 100%;
    height: 60vh;
    position: relative;
}

.star {
    background-color: #fff;
    width: 0.3rem;
    height: 0.3rem;
    position: absolute;
    border-radius: 50%;
    opacity: .6
}


.bigger {
    width: 0.4rem;
    height: 0.4rem;
}

.sparkling {
    animation: sparkle 4s infinite linear;
}

@keyframes sparkle {
    0% {
        opacity: .3
    }

    20% {
        opacity: .5
    }

    40% {
        opacity: 7
    }

    60% {
        opacity: 1
    }

    80% {
        opacity: .6
    }

    100% {
        opacity: .3
    }
}


.moon {
    pointer-events: none;
    z-index: 199;
    position: absolute;
    top: 5rem;
    right: 9rem;
    width: 15rem;
    height: 15rem;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: inset #FFF -0.4rem 0.4rem 1.2rem 0.4rem, inset rgba(0, 0, 0, 0.2) -1.2rem 1.2rem 6rem 0.4rem, #888 0 0 2.4rem 0.1rem, #FFF 0 0 8rem 0.4rem;
}

.earth {
    pointer-events: none;
    width: 100%;
    height: 11rem;
    background-color: #b48841;
}

.trees {
    margin-top: auto;
}

.tree {
    width: 5rem;
    height: 5rem;
    position: relative;
}

.tree .trunk {
    position: absolute;
    left: 2.5rem;
    bottom: 0;
    width: 0.4rem;
    height: 3rem;
    background-color: #b44e41;
}

.tree .leaf {
    position: absolute;
    left: 1.7rem;
    top: 0;
    width: 2rem;
    height: 3rem;
    background-color: #8BA660;
    border-radius: 70% 70% 10% 10%;
}

.tree .leaf2 {
    background-color: #6db441;
}

.rabbit {
    width: 5rem;
    height: 3rem;
    background-color: #fff;
    border-radius: 70% 90% 60% 50%;
    position: relative;
    left: 10vw;
    box-shadow: -0.2rem 1rem 0 -0.75rem #b78e81;
    transform: rotate(0deg) translate(-2rem, 0);
    animation: hop 1s infinite linear;
    z-index: 10;
    transition: left 20s linear;
}


.rabbit:before {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    border-radius: 100%;
    top: .5rem;
    left: -0.3rem;
    box-shadow: 4rem .4rem 0 -0.35rem #3f3334, 0.5rem 1rem 0 #fff, 4rem 1rem 0 -0.3rem #fff, 4rem 1rem 0 -0.3rem #fff, 4rem 1rem 0 -0.4rem #fff;
    animation: kick 1s infinite linear
}

.rabbit:after {
    content: "";
    position: absolute;
    width: .75rem;
    height: 2rem;
    background-color: #fff;
    border-radius: 50% 100% 0 0;
    transform: rotate(-30deg);
    right: 1rem;
    top: -1rem;
    border-top: 0.1rem solid #f7f5f4;
    border-left: 0.1rem solid #f7f5f4;
    box-shadow: -0.5rem 0 0 -0.1rem #fff
}

@keyframes hop {
    20% {
        transform: rotate(-10deg) translate(1rem, -2rem);
        box-shadow: -0.2rem 3rem 0 -1rem #b78e81
    }

    40% {
        transform: rotate(10deg) translate(3rem, -4rem);
        box-shadow: -0.2rem 3.25rem 0 -1.1rem #b78e81
    }

    60%,
    75% {
        transform: rotate(0) translate(4rem, 0);
        box-shadow: -0.2rem 1rem 0 -0.75rem #b78e81
    }
}

@keyframes kick {

    20%,
    50% {
        box-shadow: 4rem .4rem 0 -0.35rem #3f3334, 0.5rem 1.5rem 0 #fff, 4rem 1.75rem 0 -0.3rem #fff, 4rem 1.75rem 0 -0.3rem #fff, 4rem 1.9rem 0 -0.4rem #fff
    }

    40% {
        box-shadow: 4rem .4rem 0 -0.35rem #3f3334, 0.5rem 2rem 0 #fff, 4rem 1.75rem 0 -0.3rem #fff, 4.2rem 1.75rem 0 -0.2rem #fff, 4.4rem 1.9rem 0 -0.2rem #fff
    }
}