/* 
    Author: Demani Merritt
    Date: March 25, 2026
    File Name: styles.css
*/

/* CSS Reset */
body, header, nav, main, footer, img, h1, h2, h3, ul, li, a, div, p {
    margin: 0;
    padding: 0;
    border: 0;
}

/* Style rules for body and images */
body {
    background-color: #f6eee4;
    font-family: Verdana, Arial, sans-serif;
}

img {
    max-width: 100%;
    display: block;
}

/* ========================= */
/* Mobile Viewport Styles    */
/* ========================= */

/* Show mobile classes and hide tablet/desktop nav */
.mobile, .mobile-nav {
    display: block;
}

.tab-desk, .desktop, #nav-links {
    display: none;
}

/* Style rules for header area */
.mobile h1 {
    padding: 2%;
    text-align: center;
    font-family: "Emblema One", cursive;
    line-height: 2em;
}

.mobile h3 {
    padding: 2%;
    text-align: center;
    font-size: 1.25em;
    font-style: italic;
}

/* Style rules for navigation area */
nav {
    background-color: #2a1f14;
    position: relative;
}

/* Mobile navigation links */
.mobile-nav a {
    color: #ffffff;
    text-align: center;
    font-size: 2em;
    text-decoration: none;
    padding: 3%;
    display: block;
}

.mobile-nav a.nav-icon {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    color: #f6eee4;
    padding: 2%;
}

.nav-icon div {
    height: 40px;
    width: 40px;
    color: #2a1f14;
}

/* Style rules for main content */
main {
    padding: 2%;
}

main h2 {
    text-align: center;
    padding: 2%;
}

main p {
    font-size: 1.25em;
    padding: 1%;
}

main h3 {
    padding-top: 2%;
    padding-bottom: 1%;
}

main ul {
    margin-left: 5%;
    list-style-type: square;
}

main li {
    padding: 1%;
    font-size: 1.1em;
}

/* Class style rules */
.link {
    color: #4d3319;
    text-decoration: none;
    font-weight: bold;
    font-style: italic;
}

.action {
    font-size: 1.75em;
    font-weight: bold;
    text-align: center;
}

/* ID style rules */
#welcome,
#info,
#partnership,
#gallery,
#contact,
#questions,
#answer {
    padding: 2%;
}

#contact {
    text-align: center;
}

/* FAQ styles */
#questions p {
    cursor: pointer;
    padding: 2%;
}

#answer {
    text-align: center;
    font-weight: bold;
    width: 80%;
    margin: 0 auto;
    padding: 2%;
}

#answer h2 {
    display: none;
    padding-bottom: 2%;
}

/* Style rules for footer content */
footer {
    text-align: center;
    font-size: 0.85em;
    background-color: #2a1f14;
    color: #f6eee4;
    padding: 1% 0;
}

footer p {
    padding: 0.5%;
}

footer a {
    color: #f3e6d8;
    text-decoration: none;
}

/* ========================= */
/* Tablet Viewport Styles    */
/* ========================= */
@media screen and (min-width: 620px) {

    /* Hide mobile-only content */
    .mobile, .mobile-nav {
        display: none;
    }

    /* Show tablet/desktop content */
    .tab-desk {
        display: block;
    }

    /* Tablet nav area style rules */
    nav ul {
        list-style-type: none;
        margin: 0;
        text-align: center;
        padding: 0;
    }

    nav li {
        display: inline-block;
        font-size: 1.5em;
        font-family: Geneva, Arial, sans-serif;
        font-weight: bold;
    }

    nav li a {
        display: block;
        color: #f6eee4;
        text-align: center;
        padding: 0.5em 1.5em;
        text-decoration: none;
    }

    /* Tablet header image */
    header img {
        width: 100%;
    }

    /* Tablet main content */
    main {
        padding: 3%;
    }

    main h2 {
        font-size: 2em;
    }

    main p {
        font-size: 1.15em;
    }

    main li {
        font-size: 1.1em;
    }

    /* FAQ area */
    #questions p {
        font-size: 1.1em;
    }

    #answer {
        width: 70%;
    }
}

/* ========================= */
/* Desktop Viewport Styles   */
/* ========================= */
@media screen and (min-width: 1000px) {

    /* Show desktop class if used later */
    .desktop {
        display: block;
    }

    /* Desktop nav hover effect */
    nav li a:hover {
        color: #2a1f14;
        background-color: #f6eee4;
    }

    /* Desktop main content */
    main {
        padding: 4%;
        max-width: 1200px;
        margin: 0 auto;
    }

    main h2 {
        font-size: 2.2em;
    }

    main p {
        font-size: 1.2em;
    }

    #answer {
        width: 60%;
    }
}