/* font-family: 'Allison', cursive;
font-family: 'Raleway', sans-serif; */

* {
    margin: 0;
    padding: 0;
    font-family: 'Raleway', sans-serif;
}

h1 {
    font-family: 'Allison', cursive;
    font-size: 72px;
    color: orange;

}
h2 {
    font-family: 'Allison', cursive;
    font-size: 60px;
    color: white;
    padding-bottom: 35px;
}
h3 {
    font-family: 'Allison', cursive;
    font-size: 80px;
    color: orange;
    text-align: center;
    padding-bottom: 35px;
}
h4 {
    font-family: 'Allison', cursive;
    font-size: 60px;
    color: rgb(255, 255, 255);
    flex-grow: 1;
}
h5 {
    color: purple;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 700;
}

p {
    color: rgb(235, 226, 245);
}
i {
    font-size: 50px;
    color: orange;
}

header {
    background-color: black;
    padding: 0 90px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

nav {
    align-self: center;
}

nav a {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    padding: 3px 9px;
}

nav a:hover {
    color: orange;
}

#hero {
    height: 60vh;
    background-color: limegreen;
    overflow: hidden;
}

#hero img {
    max-height: 100%; 
    min-width: 100%;  
    object-fit: cover;  
    vertical-align: bottom; 
}

#features {
    padding: 50px 90px 70px 90px;
}

#features div {
    display: flex;
    column-gap: 35px;
    row-gap: 50px;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

article {
    background-color: purple;
    display: flex;
    flex: 0 1 300px;
    flex-direction: column;
    min-height: 300px;
    padding: 0 15px 25px 15px;
}

article span {
    flex-grow: 1;
    text-align: center;
}

article a {
    background-color: white;
    color: purple;
    text-decoration: none;
    text-transform: uppercase;
    padding: 3px 9px;
    align-self: center;
}

#gallery {
    background-color: black;
    padding: 40px 90px;
}

#gallery h2 {
    text-align: center;
}

#gallery div {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 10px;
    justify-content: center;
}

#gallery img {
    flex: 1 1 230px;
}

footer {
    background-color: orange;
    padding: 20px 90px;
    display: flex;
    column-gap: 40px;
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 20px;
}

footer i {
    font-size: 30px;
    color: white;
}

.icons {
    align-self: center;
}

.toggle {
    display: none;
    align-self: center;
}
    
.active {
    display: flex;
}

/* the following rule will style the bars */
i.fa-bars {
    color: white;
    font-size: 30px;
    align-self: center;
}

/* Tablet Styles */
@media (max-width: 825px) {
    
    body {
        background-color: rgb(255, 216, 172);
    }

    header {
        padding: 10 30px;
    }

    nav {
        display: flex;
        flex-direction: column;
    }

    #features {
        padding: 32px 32px;
    }

    h1 {
        font-size: 60px;
    }

    h3{
        font-size: 72px;
    }

    h2 {
        font-size: 48px;
    }

    article {
        display: flex;
        flex: 0 1 300px;
        flex-direction: column;
        min-height: 300px;
        padding: 0 15px 25px 15px;
    }

    footer {
        padding: 20px 42px;
        column-gap: 20px;
    }
}


/* Toggle Rules */
@media (max-width: 700px) {
    .toggle {
    display: block;
    align-self: center;
    }
    
    nav {
    flex: 100%;
    display: none;
    text-align: center;
    row-gap: 8px;
    }

    h4 {
        flex: 100%;
    }
}


/* Mobile Styles */
@media (max-width: 450px) {
    body {
        background-color: rgb(250, 198, 139);
    }
    
    #features {
        padding: 10px 32px 32px 32px;
    }

    h3 {
        font-size: 50px;
    }

    h2 {
        font-size: 42px;
    }

    h4 {
        text-align: center;
    }

    article {
        flex: 100%;
    }

    #gallery {
        padding: 40px 40px;
    }

    footer {
        justify-content: center;
        span {
            text-align: center;
        }
    }

    footer span:last-of-type {
        flex: 100%;
    }
}