* {
    margin: 0;
    padding: 0;
}

body {
    background-color: #000;
    overflow: hidden;
}

img {
    image-rendering: pixelated;
}

.hide {
    opacity: 0;
    pointer-events: none;
}

.castor {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    animation: background 6000ms infinite linear;
    background-image: url(/assets/sprites/empty.png);
    background-size: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: scale(0.25);
    transition: transform 1500ms, background-image 1500ms ease;
}

.website {
    position: absolute;
    top: 5%;
    right: 5%;
    width: 65vw;
    height: 65vh;
}

.beaver {
    width: 50%;
    cursor: pointer;
    position: absolute;
    inset: 0;
    margin: auto;
    animation: boat 2500ms infinite linear;
    transition: left 1800ms;
}

.beaver__move {
    left: 150%;
}

.castorbackground {
    background-image: url(/assets/sprites/water.jpg);
    background-size: 350px;
    image-rendering: pixelated;
    transform: scale(0.9);
}

.door {
    cursor: pointer;
}

.maths {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    animation: background2 600000ms infinite linear;
    background-image: url(/assets/sprites/empty.png);
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    flex-direction: column;
    transition: background-image 1500ms ease;
}

.maths__open {
    background-image: url(/assets/sprites/numbers.jpg);
}

.beaverfly {
    animation: beaverfly 25000ms forwards;
    position: absolute;
    top: 0;
    left: 0;
}

.evan {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    animation: background3 10000ms infinite linear;
    background-image: url(/assets/sprites/space.jpg);
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    flex-direction: column;
    transition: background-image 1500ms ease;
}

@keyframes beaverfly {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(160vw, 70vh) rotate(300deg);
    }
}

@keyframes beaverspace {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(160vw, -90vh) rotate(-300deg);
    }
}

.mario {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    animation: opacity 6500ms forwards;
}

@keyframes background {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -350px 0px;
    }
}

@keyframes background2 {
    0% {
        background-position: 0px 0px;
    }

    100% {
        background-position: -50000px -50000px;
    }
}

@keyframes opacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes background3 {
    0% {
        background-position: 0px 0px;
        background-size: 20vw;
    }

    50% {
        background-position: -50px -50px;
        background-size: 16vw;
    }

    100% {
        background-position: 0 0;
        background-size: 20vw;
    }
}

@keyframes boat {

    0%,
    100% {
        transform: translate(0, 0) rotate(0);
    }

    25% {
        transform: translate(10px, -10px) rotate(-3deg);
    }

    50% {
        transform: translate(0, -20px) rotate(0);
    }

    75% {
        transform: translate(-10px, -10px) rotate(3deg);
    }
}

@keyframes twingo {
    0% {
        transform: scaleX(-1) translateX(50vw) translateY(10vh);
    }

    100% {
        transform: scaleX(-1) translateX(-100vw) translateY(0vh);
    }
}

@keyframes shake {
    0% {
        transform: scale(2);
    }

    50% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(2);
    }
}

.beaverspace {
    position: absolute;
    animation: beaverspace 65000ms forwards;
    bottom: 0;
    left: 0;
}


.evan1 {
    position: absolute;
    top: 5%;
    left: 5%;
    width: 15vw;
}