* {
    box-sizing: border-box;
}

body {
    background-color: rgb(0, 23, 31);
    color: rgb(244, 243, 238);
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

.wrapper {
    background-color: rgb(140, 28, 19);
    max-width: 75%;
    margin: 0 auto;
    padding: 2%;
    min-height: 100vh;
    border-radius: 40px;
}

/* Style for the hamburger menu icon */
#menu-icon {
    display: none;
    font-size: 2em;
    color: rgb(244, 243, 238);
    text-decoration: none;
    padding: 10px;
    position: absolute;
    top: 10px;
    right: 20px;
    z-index: 1000;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-size: 1.3em;
}

nav a {
    text-decoration: none;
    display: block;
    padding: 20px;
    margin: 20px;
}

#site-nav {
    position: relative;
    border-top: 2px solid rgb(0, 23, 31);
    border-bottom: 2px solid rgb(0, 23, 31);
}


#site-nav li {
    display: inline-block;
    padding: 2%;
    margin: 0;
}

#site-nav ul {
    text-align: center;
}

#site-nav a {
    padding: 10px;
}

#page-nav ul {
    text-align: justify;
    font-size: 1.1em;
}

#page-nav li {
    display: inline-block;
    padding: 1%;
    margin-right: 10px;
    border: 1px dashed rgb(255, 255, 255);
    border-radius: 5px 20px;
    background-color: rgb(0, 23, 31);
}

#page-nav a {
    padding: 10px;
    margin: 0;
    display: inline-block;
    color: rgb(244, 243, 238);
}

#page-nav a:hover {
    padding: 10px;
    text-decoration: 2px rgb(140, 28, 19) underline;
}

a {
    color: rgb(244, 243, 238);

}

a:visited {
    color: rgb(255, 255, 255);
}

a:active {
    color: rgb(0, 23, 31);
}

#site-nav a:hover {
    padding-bottom: 5px;
    border-bottom: 5px solid rgb(0, 23, 31);
}

main {
    padding: 25px;
}

li {
    list-style-type: square;
    line-height: 150%;
    padding: 0 5px;
    margin: 0;
}

figure {
    border: 1px solid rgb(0, 23, 31);
    padding: 3px;
    margin: 15px 15px;
    max-width: 250px;
    border-radius: 10px;
}

figure img {
    width: 100%;
    border-radius: 10px;
}


figure figcaption {
    text-align: center;
    font-size: 0.9em;
}

.float-right {
    float: right;
    margin: 0 20px 75px 0;
}

.float-left {
    float: left;
    margin-right: 10px;
}

.clear-floats {
    clear: both;
}

.overflow-border {
    border-bottom: 5px double rgb(0, 23, 31);
    overflow: hidden;
}

dl {
    line-height: 150%;
}

dt {
    font-weight: bold;
    line-height: 175%;
    border-bottom: 2px double rgb(0, 23, 31);
}

footer {
    display: inline-block;
    padding: 10px;
    margin: 20px;
    min-width: 100%;
    color: rgb(244, 243, 238);

    font-size: 0.8em;
    font-style: italic;
    text-align: center;
}

footer ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

footer li {
    display: inline;
    padding: 0 75px 0 0;
}

footer li a {
    text-decoration: none;
    color: rgb(244, 243, 238);
}

footer a:hover {
    text-decoration: underline;

}




/* =================================== */
/* === MOBILE STYLES (768px & below) === */
/* =================================== */
@media (max-width: 768px) {

    /* 1. Make the main wrapper use more screen space */
    .wrapper {
        max-width: 98%;
        padding: 1%;
    }

    /* Push the main content down */
    main {
        padding-top: 60px;
    }

    /* 2. Display hamburger icon in place of menu */
    #menu-icon {
        display: block; /* Show the icon on mobile */
    }
    
    #site-nav ul {
        display: none; /* Hide the nav links by default on mobile */
        text-align: center;
        padding-top: 50px; /* Add space so links don't overlap the icon */
    }
    
    #site-nav li {
        display: block; /* Keep these stacked vertically when shown */
        padding: 15px 0;
    }
    
    /* This class will be added by JavaScript to show the menu */
    #site-nav ul.show {
        display: block;
    }

    /* Style the secondary nav on the Favorites page */
    #page-nav li {
        display: block;
        text-align: center;
        margin: 10px auto;
    }

    /* 3. Remove image floats so they stack cleanly */
    .float-right,
    .float-left {
        float: none; /* Disables the float property */
        display: block;
        margin: 20px auto; /* Centers the figure block */
    }
    
    /* 4. Make featured project cards stack vertically */
    .project-card {
        width: 95%; /* Makes each card take up most of the width */
        margin: 10px auto;
    }

    /* 5. Stack footer links for better readability */
    footer li {
        display: block;
        padding: 5px 0; /* Adds vertical space, removes horizontal */
        text-align: center;
    }

    /* 6. Slightly reduce the main heading size */
    h1 {
        font-size: 2em;
    }
}










