* {
    margin: 0;
    font-family: "Kodchasan", sans-serif;
    box-sizing: border-box;
}

    /* Type Rules */
h1 {
    font-family: "Permanent Marker", serif;
    font-weight: 400;
    font-size: 58px;
    color: var(--neutral);
    text-align: center;
}

h2 {
    font-family: "Permanent Marker", serif;
    font-weight: 400;
    font-size: 40px;
    color: var(--secondary);
}

h3 {
    font-family: "Permanent Marker", serif;
    font-weight: 400;
    font-size: 38px;
    color: var(--accent);
    text-align: center;
}

h4 {
    font-family: "Permanent Marker", serif;
    font-weight: 400;
    font-size: 24px;
    color: var(--accent);
}

p {
    font-weight: 500;
    font-size: 20px;
    
    b {
        font-weight: 700;
    }
    color: var(--neutral);
}

/* small {
    font-size: 32px;
} */



    /* link rules */
a {
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    font-weight: bold;
    color: var(--neutral);
}

a:hover {
    color: var(--secondary);
}

/* accessibility link rule */
.hide {
    display: none;
}


    /* Color Rules */
:root {
    --neutral: #342B23;
    --accent: #E1D4A0;
    --inverse: #F9F6EC;
    --primary100: #E0B856;
    --primary075: #E9CD89;
    --primary050: #F3E3BB;
    --primary025: #F9F1DD;
    --secondary: #623C1B;
}



    /* Button Rules */
.light {
    background-color: var(--primary050);
    color: var(--neutral);
    font-size: small;
    border-radius: 8px;
    padding: 10px 16px 10px 16px;
    /* display: block; */
}

.light:hover {
    background-color: var(--primary075);
    color: var(--secondary);
}

.medium {
    background-color: var(--primary075);
    color: var(--neutral);
    font-size: small;
    border-radius: 8px;
    padding: 10px 16px 10px 16px;
}

.medium:hover {
    background-color: var(--primary050);
    color: var(--secondary);
}

.dark{
    background-color: var(--secondary);
    color: var(--inverse);
    font-size: small;
    border-radius: 8px;
    padding: 10px 16px 10px 16px;
}

.dark:hover {
    background-color: var(--neutral);
    color: var(--primary025);
}




body {
    background-color: var(--primary025);
}


    /* for Programs, About, Call To Action */
section {
    padding: 112px 64px 112px 64px;
}


    /* Nav */
header {
    background-color: var(--primary100);
    position: fixed;
    width: 100vw;
    padding: 2px 64px;

    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

nav {
    display: flex;
    column-gap: 32px;
    align-items: center;

    span {
    display: flex;
    gap: 16px;
    }
}


    /* Hero Image */
#Hero {
    padding: 0;
    overflow: hidden;
    img {
        width: 100%;
        height: 100vh;
        object-fit: cover;
        object-position: right center;
    }
}


    /* Intro */
main {
    padding: 112px 64px 112px 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 80px;
    row-gap: 80px;
}


/* for Intro and About sections */
figure {
    display: flex;
    flex: 1 1;

    img {
        width: 100%;
        height: auto;
    }
}

aside {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px; 
    
    img {
        padding-left: 20px;
        width: 65%;
        height: auto;
    }
}




    /* Programs */
#Programs  {
    background-color: var(--secondary);
    display: flex;
    align-items: center; 
    flex-direction: column;
    gap: 80px;

    p, .type {
        color: var(--inverse);
        text-align: center;
    }
    .type:hover {
        color: var(--primary025);
    }
    article {
        max-width: 800px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px; 
    }
    div {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 32px;
        align-self: stretch; 
    }
    div article{
        width: 300px;
    }
    span {
        display: flex;
        align-items: center;
        gap: 24px;
    }
}


    /* About */
#About {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 80px;
}


    /* Call To Action */
#CTA {
    background-image: url(../Images/CTA-Full.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;

    p {
        font-weight: bold;
        text-align: center;
    }
    article {
        max-width: 768px;
        display: flex;
        flex-direction: column;
        gap: 24px; 
    }
    span {
        display: flex;
        align-items: center;
        gap: 16px;
    }
}


    /* Footer */
footer {
    background-color: var(--primary075);
    padding: 48px 64px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px;

    p, a {
        font-size: small;
    } 
    div {
        display: flex;
        justify-content: center;  
        align-items: center;
        flex-wrap: wrap;
        gap: 32px;
    }
    span {
        display: flex;
        justify-content: center;
        flex-grow: 1;
        gap: 24px;
        color: var(--neutral);
    }
}

hr {
    border: .5px solid var(--secondary);
    border-radius: 3px;
}

#left {
    display: flex;
    justify-content: flex-start;
}

#right {
    display: flex;
    justify-content: flex-end;
    align-items: center; 
    gap: 12px;
}


/* Hamburger Menu Rules */
.toggle {
    display: none;
}
    
.active {
    display: flex;
}

i.fa-bars {
    font-size: 20px;
    align-self: center;
}







/* Tablet Styles */
@media (max-width: 825px) {
    /* text rules */
    h1 {
        font-size: 36px;
    }
    h2 {
        font-size: 28px;
    }
    h3 {
        font-size: 26px;
    }
    h4 {
        font-size: 22px;
    }
    p {
        font-size: 14px;
    }
    a {
        font-size: 14px;
    }

    /* button rules */
    .light {
        font-size: 12px;
        padding: 8px 12px;
    }
    .medium{
        font-size: 12px;
        padding: 8px 12px;
    }
    .dark{
        font-size: 12px;
        padding: 8px 12px;
    }


    /* Header */
    header {
        padding: 2px 48px;
        column-gap: 32px;
    }
    nav {
        column-gap: 20px;
    }


    /* Intro and About */
    main {
        padding: 60px 32px;
    }
    section {
        padding: 60px 32px;
    }
    aside img {
        width: 50%;
    }


    /* CTA */
    #CTA{
        background-image :url(../Images/CTA-Small.jpg);
    }
    

    /* Footer */
    footer {
        padding: 28px 32px;
        gap: 24px;

        p, a {
            font-size: 12px;
        }
        div {
            gap: 24px;
        }
    }
}


/* Toggle Rules */
@media (max-width: 675px) {
    .toggle {
        display: block;
        align-self: center;
    }
        
    nav {
        flex: 100%;
        align-items: flex-end;
        flex-direction: column;
        display: none;
        text-align: center;
        row-gap: 8px;
        
        span {
            flex-direction: column;
            gap: 8px;
        }
    }
}



/* Mobile Styles */
@media (max-width: 450px) {
    i.fa-bars {
        font-size: 14px;
    }

    h1 {
        font-size: 32px;
    }


    /* Header */
    header {
        padding: 6px 24px;
        column-gap: 24px;
    }

    /* Hero Image */
    #Hero img {
        object-position: 90% center;
    }

    /* for Programs, About, Call To Action */
    section {
        padding: 60px 26px;
        flex-direction: column;
    }


     /* Intro and About */
    main {
        padding: 60px 26px;
        flex-direction: column;
        row-gap: 60px;
    }
    #About {
        gap: 30px;
        padding: 32px 26px 48px 26px;

    }
    aside img {
        width: 50%;
    }


    /* Footer */
    footer {
        padding: 24px 26px;
        gap: 20px;
        
        p, a {
            font-size: 10px;
        }
        div {
            display: none;
        }
        hr {
            display: none;
        }
        span {
            flex-wrap: wrap;
            gap: 12px;
        }
    }
}