.credits {
    position: fixed;
    color: white;
    bottom: 10px;
    left: 30px;
    z-index: 90;
    font-family: 'Patrick Hand', serif;
    font-size: 1.4rem;
}

.credits > a {
    color: white;
}

/* Decorations */

.index-grass {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}

.cloud {
    left: 0;
    bottom: 20%;
    position: fixed;
    margin: 15px;
    width: min(15%, 34vh, 20vw);
    max-width: 300px;
}

.logo {
    position: absolute;
    top: 0;
    left: 0;
    width: min(100%, 110vh);
    max-width: 90%;
}

.mascots {
    bottom: 0;
    position: fixed;
    right: 0;
    width: min(30%, 40vh, 40vw);
    z-index: 3;
}

.sun {
    margin: 15px;
    max-width: 300px;
    position: fixed;
    width: min(15%, 34vh, 20vw);
    right: 0;
}

/* Link Buttons */

.nav-links {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-52.5%, -50%);
    max-width: 100%;
    z-index: 3;
}

.link-row {
    display: flex;
    justify-content: center;
    gap: max(50px, 8vw);
    margin: 2vh 0;
}

.nav-link img {
    width: min(28vw, 28vh);
    max-width: 400px;
    min-height: 80px;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    object-fit: scale-down;
    display: block;
}

.nav-link:hover img {
    transform: scale(1.05) rotate(-2deg);
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
}

/* Mobile */

@media (max-aspect-ratio: 3/4.5) {
    .nav-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .link-row {
        flex-direction: column;
        width: 70%;
        align-items: center;
        margin-bottom: 4vh;
        margin-left: -6vh;
        margin-right: -6vh;
    }

    .nav-link img {
        width: 100%;
        max-width: 300px;
        height: auto;
    }

    .characters {
        width: 45%;
    }
}

@media (max-width: 800px) {
    .credits {
        font-size: 1.1rem;
    }
}