/* CSS RESET START */

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}


/* CSS RESET END */


/* CSS Main START */

html {
    scroll-behavior: smooth;
}

img {
    display: block;
    max-width: 100%;
}

body {
    font-family: 'poppins', sans-serif;
    font-size: 1.125rem;
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

p {
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 1rem;
}

.page-container {
    min-height: 100vh;
    margin-top: 7.5em;
}

.h1-title {
    font-size: 2.50rem;
    border-bottom-style: solid;
}

.h2-title {
    font-size: 1.50rem;
    padding: 1em;
}

.h1-title,
.h2-title {
    font-weight: bold;
    text-align: center;
    margin: 2em 0;
}

.content-link {
    color: #9c5721;
}

#backToTopBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 15px;
    z-index: 99;
    font-size: 18px;
    border: none;
    outline: none;
    background-color: #f67800;
    color: white;
    cursor: pointer;
    padding: 15px;
    border-radius: 4px;
}

#backToTopBtn:focus {
    opacity: 0.7;
}

@media (hover: hover) {
    #backToTopBtn:hover,
    .submit-btn:hover,
    .content-link:hover {
        opacity: 0.7;
        /* solves sticky problem on mobile */
    }
}


/* CSS Main END */


/* NAVBAR START */

.nav-container {
    background-color: #9c5721;
    position: sticky;
    top: 0;
    z-index: 1;
}

.navbar {
    display: flex;
    flex-direction: row;
    gap: 1em;
    justify-content: space-between;
    padding: 1em;
}

.nav-list-item {
    list-style: none;
    padding: .25em;
}

.nav-link {
    cursor: pointer;
    text-decoration: none;
    color: #fff;
    font-size: 1.25rem;
}

.nav-link:hover,
.nav-link:focus {
    opacity: 0.7;
}

.current-page {
    border: 2.5px solid #000;
    padding: 0.3em;
    border-radius: 7%;
    -webkit-border-radius: 7%;
    -moz-border-radius: 7%;
    -ms-border-radius: 7%;
    -o-border-radius: 7%;
}

.nav-menu {
    position: fixed;
    left: -100%;
    top: 12em;
    flex-direction: column;
    background-color: #9c5721;
    border: 2.5px solid #000;
    width: 100%;
    margin: 0 auto;
    padding: 1em;
    text-align: center;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}

.nav-menu.active {
    left: 0;
}

.hamburger {
    position: absolute;
    right: 1em;
    display: block;
    cursor: pointer;
    background-color: #000;
    border-radius: 50%;
    padding: 0.5em;
    width: 3em;
    height: 2.75em;
    border: none;
}

.bar {
    display: block;
    width: 100%;
    background-color: white;
    height: 3px;
    margin: 5px auto;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.hamburger.active .bar:nth-child(2) {
    opacity: 0;
}

.hamburger.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    -o-transform: translateY(8px) rotate(45deg);
}

.hamburger.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    -o-transform: translateY(-8px) rotate(-45deg);
}


/* NAVBAR END */


/* Footer START */

.footer-container {
    background-color: #9c5721;
}

.footer-text {
    padding: 1.75em;
}

.webdev {
    cursor: pointer;
    color: #fff;
}

.webdev:hover,
.webdev:focus {
    opacity: 0.7;
}

#newsletter {
    border-bottom-style: solid;
}


/* Footer END */


/* Brevo (Formerly SendinBlue) Newsletter Footer START */

@font-face {
    font-display: block;
    font-family: Roboto;
    src: url(https://assets.brevo.com/font/Roboto/Latin/normal/normal/7529907e9eaf8ebb5220c5f9850e3811.woff2) format("woff2"), url(https://assets.brevo.com/font/Roboto/Latin/normal/normal/25c678feafdc175a70922a116c9be3e7.woff) format("woff")
}

@font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 600;
    src: url(https://assets.brevo.com/font/Roboto/Latin/medium/normal/6e9caeeafb1f3491be3e32744bc30440.woff2) format("woff2"), url(https://assets.brevo.com/font/Roboto/Latin/medium/normal/71501f0d8d5aa95960f6475d5487d4c2.woff) format("woff")
}

@font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 700;
    src: url(https://assets.brevo.com/font/Roboto/Latin/bold/normal/3ef7cf158f310cf752d5ad08cd0e7e60.woff2) format("woff2"), url(https://assets.brevo.com/font/Roboto/Latin/bold/normal/ece3a1d82f18b60bcce0211725c476aa.woff) format("woff")
}

#sib-container input:-ms-input-placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
}

#sib-container input::placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
}

#sib-container textarea::placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
}

#newsletterTitle {
    text-align: center;
    margin: auto;
}

.sib-form-block__button:hover,
.sib-form-block__button-with-loader:hover,
.sib-form-block__button:focus,
.sib-form-block__button-with-loader:focus {
    opacity: 0.7;
}


/* Brevo (Formerly SendinBlue) Newsletter Footer END */


/* Home & About PIC START */

.luke-pic,
.bio-pic {
    margin: 0 auto;
    padding: 1em;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
}


/* Home & About PIC START END */


/* Contact START */

.form-container {
    text-align: center;
    background: #c07125;
    margin: 1em;
    border-radius: 20px;
}

.thank-you-container {
    text-align: center;
    background: #c07125;
    margin: 10em 1em;
    border-radius: 20px;
}

.thank-you-container>.h1-title {
    padding: 1em;
    border-bottom-style: none;
}

input,
textarea {
    border-radius: 5px;
    padding: 0.25em;
    field-sizing: content;
}

.form-input {
    display: flex;
    flex-direction: column;
    padding: 1em;
}

.submit-btn {
    border-radius: 7px;
    padding: 0.5em;
    width: 80%;
    background-color: #9c5721;
    color: white;
    margin: 1em;
}

.submit-btn:hover {
    cursor: pointer;
}


/* Submit Btn Hover Up In Main CSS Area */

.required:after {
    content: " *";
    color: hsl(0deg 100% 50% / 69%);
    font-size: 1.50em;
}

.input-validation:user-invalid {
    border: 2px solid red;
}

.input-validation:user-valid {
    border: 2px solid green;
}


/* Contact END */


/* Media Queries */

@media (min-width: 768px) {
    .hamburger {
        display: none;
    }
    .nav-menu {
        position: inherit;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        gap: 1em;
        border: none;
    }
    .page-container {
        margin-top: 1em;
    }
}