:root {
    --moon-shadow-offset-X: calc(var(--moon-size)*4/15);
    --moon-shadow-offset-Y: calc(var(--moon-size)*0.3);
    --moon-size: 63vh;
}

#container {
    height: 87vh;
}

.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sea {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 35%;
    backdrop-filter: blur(100px);
    -webkit-backdrop-filter: blur(100px);
    z-index: 0;
}

.moon-box {
    overflow: hidden;
    height: 82vh;
}

.moon {
    margin: 0;
    padding: 0;
    position: absolute;

    top: 50%;
    bottom: 0px;
    left: 50%;
    right: 0px;

    border-radius: 50%;

    transform: translate(calc(-50% - var(--moon-shadow-offset-X)), calc(-50% - var(--moon-shadow-offset-Y)));
    width: var(--moon-size);
    height: var(--moon-size);
    box-shadow: var(--moon-shadow-offset-X) var(--moon-shadow-offset-Y) 0 var(--fr-color);
    transition-duration: 500ms;
    /*transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);*/
}

.bg {
    background-color: var(--bg-color);
}

@media screen and (max-width: 800px) {
    #container {
        height: 87vh;
    }

    :root {
        --moon-size: 25vh;
    }

    .moon {
        top: 58%;
        left: 50%;
    }
}