* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
::selection {
    background-color: rgba(126, 157, 120, 0.4);
    color: rgb(76, 103, 70);
}
hr {
    color: #b68943;
    border: solid 1px;
}
body {
    background-color: white;
    color: #3e5639fa;
    position: relative;
}
p {
    text-align: justify;
    padding: 5px;
}
h1,
h2,
h3 {
    font-family: Montserrat, sans-serif;
}
p,
a,
figcaption,
li {
    font-family: Roboto, sans-serif;
}
header p {
    font-size: 1.1em;
}
header {
    padding: 20px;
    background-color: rgba(76, 103, 70, 0.15);
    color: rgba(76, 103, 70, 0.9);
    text-align: center;
}

h2 {
    margin-bottom: 10px;
}
figure {
    justify-self: center;
    max-width: 400px;
}
main {
    margin-bottom: 180px;
}
h2 {
    padding: 10px;
    margin: 5px 0;
}
#introduction_text {
    color: #556550;
    background-color: #ffffff;
    padding: 10px;
    margin: 5px 0;
    border: 5px solid #90a88a;
}
main nav:first-of-type a {
    color: #5a7754;
    position: fixed;
    font-size: 50px;
    right: 20px;
    top: 20px;
    z-index: 2;
    background-color: transparent;
}
main nav:first-of-type a:hover,
main nav:first-of-type a:focus {
    color: #465942;
    background-color: transparent;
}
a {
    color: #40583a;
    background-color: transparent;
    text-decoration: none;
}
a:hover,
a:focus {
    color: #b68943;
    background-color: inherit;
}
#services {
    margin: 10px;
}
#services p {
    display: none;
}
#services a {
    display: block;
}
li {
    list-style: none;
}
#services li {
    border-bottom: 2px solid;
    border-left: 10px solid;
    background-color: rgba(218, 230, 215, 0.5);
    padding: 5px;
    text-align: center;
}
#services ul {
    margin: 10px;
}
#services li {
    background-color: rgba(144, 168, 138, 0.5);
    color: inherit;
}
#services ul li:hover,
#services ul li:focus {
    background-color: rgba(182, 138, 67, 0.3);
    border-color: #85632d;
    color: inherit;
}
#services li:hover a,
#services li:focus a {
    color: #85632d;
    background-color: transparent;
}
.responsive_image {
    width: 100%;
    height: auto;
    padding: 5px;
    padding-bottom: 0;
}
figcaption {
    text-align: center;
}
article {
    padding: 10px;
    margin: 10px;
    border: solid 2px;
    box-shadow: 5px 4px 10px rgba(90, 119, 84, 0.3);
    margin-bottom: 30px;
}

footer {
    background-color: rgba(255, 188, 82, 0.05);
    color: #382200;
}
footer a {
    color: #9e6918;
    background-color: inherit;
}
footer a:hover,
footer a:focus {
    color: #c99a52;
    background-color: inherit;
}
footer {
    position: absolute;
    bottom: 0;
    padding-top: 20px;
    width: 100%;
}
hr {
    margin-top: 10px;
}
footer p {
    align-self: center;
    margin-bottom: 10px;
}
footer p:last-of-type {
    flex: 100%;
}
#disclaimer {
    flex: none;
}
footer p {
    flex: 100%;
    text-align: center;
}

#disclaimer {
    background-color: rgb(196, 160, 103);
    color: #422900;
    padding: 10px;
    margin: 0;
}
.themes_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: stretch;
}

h3 {
    margin: 20px;
}
main .themes_container li a {
    flex: 100%;
}
main .themes_container li,
article p:last-child a {
    border-radius: 20px;
    height: 40px;
    width: 120px;
    text-align: center;
    align-content: center;
    margin: 5px;
    padding: 10px;
    background-color: rgba(76, 103, 70, 0.9);
    color: white;
}
main .themes_container li:hover,
main .themes_container li:focus,
article p:last-child a:hover,
article p:last-child a:focus {
    background-color: #90a88a;
}
.section_container article a,
article p:last-child a {
    color: white;
    font-weight: bold;
}
article p:last-of-type a {
    padding: 8px 20px;
}
.section_container:last-of-type {
    flex-direction: row-reverse;
}
article p {
    margin: 10px;
}
#quick_site_delivery li {
    list-style: circle;
    margin-left: 40px;
}
#professional_photography img {
    flex: 100%;
    align-self: center;
    max-height: 250px;
    width: auto;
    max-width: 100%;
}
@media screen and (min-width: 700px) and (max-width: 1100px) {
    footer nav {
        display: flex;
    }
    #intro {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: center;
    }

    #professional_photography img {
        flex: 100%;
    }

    h1 {
        flex: 70%;
        text-align: left;
    }
    #services ul {
        display: flex;
    }
    #services li {
        flex: 100%;
        margin: 0 5px;
        align-content: center;
    }
    .section_container {
        display: flex;
    }
    .section_container article {
        flex: 100%;
    }
    .section_container:first-of-type article {
        flex: 50%;
    }
    .section_container:first-of-type article:first-of-type {
        flex: 50%;
    }
    h1 {
        font-size: 2.5em;
    }
}
@media screen and (min-width: 1100px) {
    .container {
        display: flex;
    }
    header,
    a {
        margin-top: 50px;
    }
    header h2,
    header p {
        width: 70%;
        justify-self: center;
    }
    main nav:first-of-type {
        background-color: #90a88a;
        width: 100%;
        position: absolute;
        top: -50px;
        height: 50px;
    }
    #services {
        position: absolute;
        top: -50px;
        left: 0;
        width: 60px;
        height: 50px;
        margin: 0;
    }

    #services ul li {
        border: none;
        background-color: white;
        width: 300px;
        padding: 0;
        text-align: center;
    }
    #services ul li:hover,
    #services ul li:focus {
        background-color: #f3ecc0;
        color: inherit;
    }
    #services p {
        display: block;
        background-color: #5a7754;
        font-size: 30px;
        width: 60px;
        padding: 10px;
        height: 50px;
        text-align: center;
        color: #dae6d7;
    }

    #services:hover p,
    #services:focus p {
        background-color: #b68943;
        color: #f3ecc0;
    }
    #services h2 {
        display: none;
    }
    #services ul {
        display: none;
        margin: 0;
    }
    #services a {
        display: none;
        border-bottom: solid 2px;
        padding: 15px;
        margin: 0;
        text-align: center;
        text-decoration: none;
    }

    #services:hover a,
    #services:hover ul,
    #services:focus a,
    #services:focus ul {
        display: block;
    }

    #intro {
        display: flex;
        justify-self: center;
        align-items: center;
    }
    #professional_photography img {
        flex: 100%;
    }

    h1 {
        flex: 70%;
        text-align: left;
    }

    .section_container {
        display: flex;
    }
    .section_container article {
        flex: 100%;
    }
    .section_container:first-of-type article {
        flex: 100%;
    }
    .section_container:first-of-type article:first-of-type {
        flex: 100%;
    }
    #professional_photography #text {
        flex: 100%;
    }
    footer nav {
        display: flex;
    }
    h1 {
        font-size: 2.5em;
    }
    #service {
        display: none;
    }
}
