html,
body {
    height: 100%;
    margin: 0;
}

/* Header and navigation styles */
header {
    background-color: #333;
    color: #ffffff;
    padding: 1rem;
}

nav ul {
    display: flex;
    list-style-type: none;
    justify-content: left;
}

nav li {
    margin: 0 1rem;
}

nav a {
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    padding: 0.5rem;
}

nav a:hover {
    background-color: #555;
}

footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 1rem;
    flex-shrink: 0;
}


.content {
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: black;
    text-align: center;
}

section {
    margin-bottom: 2rem;
}

.about-container {
    background-color: black;
    font-family: Apple Chancery, cursive;
    font-family: Comic Sans MS, Comic Sans, cursive;
    font-family: Bradley Hand, cursive;
    font-family: Brush Script MT, Brush Script Std, cursive;
    font-family: Snell Roundhand, cursive;
    font-family: Didot, serif;
    font-family: Roboto, Montserrat, Lato, Arial;
    font-family: URW Chancery L, cursive;
    font-family: Times, Times New Roman, serif;
}

.about-content {
    border: 0.3rem solid brown;
    border-radius: 3px;
    background-color: bisque;
    padding: 1rem;
    min-height: 100vh;
    width: 90%;
    margin: auto;
    font-size: 1.25rem;
}

.about-header {
    background-color: rgb(247, 182, 103);
    border: 5px ridge wheat;
    border-radius: 5px;
    margin: 0 15px 0 15px;
    padding: 2rem 1rem 1rem 2rem;
    font-size: 1.1rem;
    font-style: italic;
}

.about-title {
    font-size: 2rem;
    font-weight: bolder;
}

.about-subtitle {
    margin-top: 1rem;
    font-weight: bold;
    font-style: italic;
}

.about-text {
    padding-top: 0.25rem;
    padding-left: 1rem;
}

.about-fantasy {
    display: inline-block;
    width: fit-content;
    height: 1.5rem;
    border-radius: 5px;
    font-weight: bolder;
}

.container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
}

.about-image-container {
    background-color: lightgray;
    width: 80%;
    margin: auto;
}

.about-image {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    width: 100%;
    height: 100%;
}

.about-image-caption {
    background-color: lightgray;
    padding-left: 5px;
}

.about-image-caption-text {
    font-size: 1rem;
    font-family: serif;
}

@keyframes moveRight {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(25%) rotate(90deg);
        background-color: red;
    }

    50% {
        transform: translateX(50%) rotate(180deg);
        background-color: green;
    }

    75% {
        transform: translateX(75%) rotate(270);
        background-color: yellow;
    }

    100% {
        transform: translateX(100%) rotate(360deg);
        background-color: blue;
    }
}

.animated-text {
    animation: moveRight 5s linear 1;
}

.home-subtitle {
    margin-top: 0px;
    color: goldenrod;
    font-family: cursive;
    font-size: 3rem;
}

.home-image {
    background-color: black;
    max-width: 50%;
    height: auto%;
    object-fit: contain;
}

.home-link {
    background-color: goldenrod;
    margin-top: 1rem;
    border-radius: 5px;
    margin-right: 2rem;
    font-size: 1.5rem;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}

button a {
    text-decoration: none;
    color: inherit;
}

@media (max-width: 768px) {

    .content {
        justify-content: center;
        align-items: center;
    }

    .home-subtitle {
        font-size: 2.5rem;
    }

    .home-link {
        margin-right: 0.5rem;
    }


    nav li {
        margin: 0 0.25rem;
    }

    nav a {
        padding: 0.2rem;
        font-size: 1rem;
    }

    .animated-text {
        animation: none;
    }

    .about-image {
        width: 100%;
    }

    .about-image-container {
        .about-image-container {
            grid-template-rows: repeat(auto-fill, min-content);
        }

        .about-image {
            width: 100%;
            height: auto;
            border-radius: 10px;
        }

        .about-image-caption {
            width: 100%;
            padding: 3px;
        }

    }


}