:root /* color variables */ {
    --col-blue0: #0B1E34;
    --col-blue1: #123154;
    --col-blue2: #2360FF;
    --col-blue3: #238DFF;
    --col-blue4: #23BAFF;
    --col-blue5: #92D9FA;
    --col-blue6: #BFEFFF;
    --col-blue7: #E2F7FF;
    --col-yellow0: #617102;
    --col-yellow1: #FCEC52;
    --col-yellow2: #FEFBD4;
    --col-yellow3: #b0b300;
}
@font-face {
    font-family: 'Eurofurence';
    src: url('res/fonts/Eurofurence.ttf');
}
@font-face {
    font-family: 'id-pop';
    src: url('res/fonts/id-POP_FTMARU.ttf');
}
@font-face {
    font-family: 'GothicStd';
    src: url('res/fonts/LetterGothicStd.otf');
}
* {
    box-sizing: border-box;
}
div.center {
    margin: auto;
    width: fit-content;
}
p {
    margin: 0px;
    color: rgb(39, 39, 39);
    font-family: GothicStd;
}
h3, h4 {
    font-family: GothicStd;
}
body {
    background-color: var(--col-blue3);
    background-image: url(res/img/checker.png);
    background-size: 50px;
    margin: 100px;
    overflow-x: hidden;
} 
div.slime {
    width: 100vw;
    height: 200px;
    max-height: 150px;
    background-image: url(res/img/goo_yellow_2.png);
    background-size: contain;
    position: absolute;
    top: 0px;
    left: 0px;
    animation: slimeScroll 120s ease-in-out -10s infinite,
    slimeStretch 4s ease-in-out 0s infinite;
}
    @keyframes slimeScroll {
        0% {background-position-x: 0%;}
        50% {background-position-x: 100%;}
    }
    @keyframes slimeStretch {
        0% {transform: scaleY(1) translateY(0px);}
        50% {transform: scaleY(1.2) translateY(10px)}
    }
div.box1 {
    margin: 0px;
    padding: 5px 40px;
    width: 1000px;
    height: fit-content;
    background-color: var(--col-blue2);
    background-image: url(res/img/goo_blue2.png);
    background-size: 200px;
    background-position-y: 0px;
    background-position-x: 0px;
    border-radius: 40px;
    outline: 5px solid var(--col-blue6);
    box-shadow: 
    inset 0 -3px 2px 2px var(--col-blue3),
    inset 0 10px 10px -5px var(--col-blue6),
    inset 0 0 0px 10px #92d9fa4b,
    0 5px 10px var(--col-blue0);
    animation: boxSlimeVert 10s linear 0s infinite, boxSlimeHoriz 20s ease-in-out 0s infinite;
}
    @keyframes boxSlimeVert {
        0% {
            background-position-y: 0px;
        }
        100% {
            background-position-y: 110px;
        }
    }
    @keyframes boxSlimeHoriz {
        0% {
            background-position-x: 0px;
        }
        50% {
            background-position-x: 200px;
        }
    }
    .button {
        background-color: var(--col-blue7);
        border: solid 4px var(--col-blue5);
        box-shadow: inset 0 -5px 4px var(--col-blue5), 0px 4px 5px var(--col-blue1);
        border-radius: 30px;
        width: 170px;
        margin: 0px 5px;
        padding: 10px;
        z-index: 10;
        text-align: center;
        position: relative;
        transition: all 1s;
        transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
    }
        div.button.here {
            background-color: var(--col-blue4);
            filter: grayscale(0.6);
        }
    div.button h2 {
        font-size: 30px;
        margin: auto;
        color: var(--col-blue2);
        filter: drop-shadow(3px 3px 0px var(--col-blue5));
        font-family: Eurofurence;
        clip-path: border-box;
    }
    div.button img {
        position: absolute;
        top: 15px;
        left: 70px;
        width: 25px;
        border-radius: 5px;
        transform: rotate(0deg) scale(200%);
        filter: opacity(30%);
        transition: all 0.5s;
    }

    div.button:hover {
        top: -5px;
        left: -5px;
        background-color: var(--col-blue4);
        box-shadow: inset 0 -5px 4px var(--col-blue3), 6px 10px 5px var(--col-blue1);
        transform: rotate(-1deg);
        z-index: 1;
    }
    div.button:hover img {
        transition: all 0.5s;
        transform: rotate(0deg) scale(200%);
        filter: opacity(100%);
        top: 15px;
    }
    div.button:hover h2 {
        filter: none;
        color: var(--col-blue7);
        text-shadow: 0px 0px 4px var(--col-blue0);
    }
        div.boxSolid {
            background-color: var(--col-blue5);
            padding: 15px;
            box-shadow: 
            inset -10px 10px 10px -5px var(--col-blue6),
            inset 0 0 0px 10px #92d9fa,
            0 5px 10px var(--col-blue0);
        }
div.box3 {
    padding: 15px 15px;
    min-width: 100px;
    width: 200px;
    height: 100%;
    background-color: var(--col-blue2);
    border-radius: 20px;
    border: 5px solid var(--col-blue6);
    box-shadow: 
    inset 0 -3px 2px 2px var(--col-blue3),
    inset 0 10px 10px -5px var(--col-blue6),
    inset 0 0 0px 10px #92d9fa4b,
    0 2px 3px var(--col-blue2);
}

@keyframes shake {
    0% {transform: rotate(1deg);}
    50% {transform: rotate(-1deg);}
    100% {transform: rotate(1deg);}
}
@keyframes stretch {
    0% {transform: scaleX(1);}
    50% {transform: scaleX(1.2);}
    100% {transform: scaleX(1);}
}