* {
    box-sizing: border-box;
}

body {
    margin: 0px;
    font-family: sans-serif;
}

body {
    background-image: url(../images/Website\ Background.png);
    background-size: cover;
    background-position: center center;
}

#navbar {
    background-color: #598745;
    display: flex;
    align-items: center;
    border-bottom: 10px solid #3a2512;
}

#navbar a {
    display: inline-block;
    text-decoration: none;
    color: #c3ec94;
    padding: 62px 28px;
}

#navbar a:hover {
    background-color: #4b5d40;
}

#navbar #logo {
    margin-right: auto;
    padding-top: 14px;
    padding-bottom: 12px;
}

#navbar #logo img {
    width: 130px;
}

#hero {
    background-image: url(../images/treehouse-2.jpg);
    height: 85vh;
    background-size: cover;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 8px solid #3a2512;
}

#hero .hero-content {
    text-align: center;
    color: #25150f;
    background-color: #ebdfcb;
    padding: 32px;
    border: 8px solid #3a2512;
    border-radius: 12px;
}

#hero h1 {
    font-size: 36px;
    margin-top: 14px;
}

#hero a {
    font-size: 16px;
    display: inline-block;
    background-color: #3a2512;
    color: #ebdfcb;
    text-decoration: none;
    padding: 20px;
}

#hero a:hover {
    background-color: #7a512d;
}

.heading {
    text-align: center;
    font-size: 20px;
    color: #25150f;
    background-color: #ebdfcb;
    padding: 2px;
    border-bottom: 10px solid #3a2512
}

#centered-column {
    width: 90vw;
    max-width: 800px;
    margin: 48px auto;
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
    justify-content: center;
}

.card {
    width: 350px;
    border: 8px solid #3a2512;
    border-radius: 12px;
    padding: 12px;
    background-color: #ebdfcb;
}

.card img {
    width: 100%;
}

.card h2 {
    font-size: 28px;
    margin-top: 12px;
    font-family: Arial, Helvetica, sans-serif;
    color: #25150f;
}

.card h3 {
    font-size: 22px;
    font-family: Arial, Helvetica, sans-serif;
    color: #25150f;
}

.card p {
    font-size: 18px;
    font-family: Arial, Helvetica, sans-serif;
    color: #25150f;
}

.card h5 {
    font-size: 23px;
    font-family: Arial, Helvetica, sans-serif;
    color: #25150f;
    margin-top: 6px;
    margin-bottom: 14px;
}

.center-column {
    width: 50%;
    min-width: 300px;
    margin: 0px auto;
    padding: 0px 36px;
}

.side-by-side {
    display: flex;
    align-items: center;
    margin: 12px 24px;
    padding: 36px 36px;
    background-color: #ebdfcb;
    border: 8px solid #3a2512;
    border-radius: 12px;
}

.side-by-side .image-container {
    flex: 1;
}

.side-by-side .text-container {
    flex: 1;
    padding: 28px;
}

.side-by-side .image-container img {
    width: 100%;
}

.side-by-side .text-container h4 {
    font-size: 20px;
    color: #3a2512;
}

.side-by-side .text-container h1 {
    font-size: 36px;
    color: #3a2512;
}

.side-by-side .text-container h2 {
    font-size: 28px;
    color: #3a2512;
}

.side-by-side .text-container p {
    font-size: 18px;
    color: #3a2512;
}

#footer {
    border-top: 10px solid #3a2512;
    background-color: #598745;
    color: #c3ec94;
    padding: 14px;
}

#footer a {
    text-decoration: none;
    color: #c3ec94
}

#footer-navbar {
    width: 800px;
    margin: 0px auto;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) and (min-width: 481px) {
    #navbar {
        flex-direction: column;
        align-items: center;
    }

    #navbar #logo {
        margin-right: 0px;
    }

    #navbar a {
        width: 100%;
        text-align: center;
    }

    #hero {
        flex-direction: column;
    }

    #hero .hero-content {
        position: relative;
    }

    #hero .hero-content h1 {
        font-size: 28px;
    }

    #hero .hero-content a {
        font-size: 16px;
    }

    .heading {
        font-size: 16px;
    }

    #centered-column {
        width: 90%;
    }

    .side-by-side {
        flex-direction: column;
    }

    #footer {
        display: flex;
        align-items: center;
    }

    #footer a {
        margin: 6px;
    }

    #footer-navbar {
        flex-direction: column;
        text-align: center;
    }
}

@media screen and (max-width: 480px) {
    #navbar {
        flex-direction: column;
        align-items: center;
    }

    #navbar #logo {
        margin-right: 0px;
    }

    #navbar a {
        width: 100%;
        text-align: center;
    }

    #hero {
        flex-direction: column;
    }

    #hero .hero-content {
        position: relative;
    }

    #hero .hero-content h1 {
        font-size: 26px;
    }

    #hero .hero-content a {
        font-size: 14px;
    }

    .heading {
        font-size: 14px;
    }

    #centered-column {
        width: 90%;
    }

    .side-by-side {
        flex-direction: column;
    }

    #footer {
        display: flex;
        align-items: center;
    }

    #footer a {
        margin: 6px;
    }

    #footer-navbar {
        flex-direction: column;
        text-align: center;
    }
}