/*
=====================
    Global Styles
=====================
*/
:root {
    --bg-color: #0E1D20;
    --accent-blue: #26665E;
    --main-red: #9D3917;
    --main-yellow: #BE7613;
    --main-black: #1B1B1B;
}

.figtree-main {
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

.figtree-italics {
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: italic;
}

.prompt-regular {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body {
    background-color: var(--bg-color);
    color: var(--main-yellow);
    text-align: center;
    font-size: 150%;
}

@media screen and (max-width: 873px) {
    body {
        font-size: 115%;
    }
}

img {
    width: 100%;
    max-width: 800px;
    block-size: auto;
    object-fit: contain;
    height: auto;
    margin: 0 auto;
}

a {
    text-decoration: none;
    color: var(--main-yellow);
}

/*
==================
    Nav Styles
==================
*/
nav {
    position: sticky;
    top: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-rows: auto;
    margin: 0;
    padding: 0;
    grid-template-areas: 
        "logo title socials"
        "logo links .";
    grid-template-columns: 0.5fr 1fr 0.5fr;
}

nav h1 {
    grid-area: title;
}

h1 {
    display: flex;
    align-items: center;
    justify-content: center;
}

#nav-logo-section {
    grid-area: logo;
    align-self: center;
    justify-self: center;
}

#nav-logo {
    max-width: 45%;
    align-self: center;
    margin: 0 auto;
}

#nav-links-section {
    grid-area: links;
    margin: 0;
    padding: 0;
}

#nav-links {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-around;
    height: 100%;
    align-content: center;
    flex-wrap: wrap;
}

.nav-link a:hover {
    color: var(--main-red);
}

.active a {
    color: var(--main-red);
}

#nav-social-section {
    grid-area: socials;
    display: flex;
    gap: 2.5rem;
    justify-content: center;
    justify-items: center;
    align-self: center;
    margin: 0;
    padding: 0;
}

#nav-social-section svg {
    width: 4rem;
}

#nav-social-section svg path {
    fill: var(--main-red);
}

#nav-social-section svg:hover {
    path {
        fill: var(--main-yellow);
    }
}

/*
================================
    Global Nav Media Queries
================================
*/

@media screen and (max-width: 873px) {
    nav {
        grid-template-columns: 0.5fr 1fr 0.4fr;
        grid-template-areas: 
            "logo title hamburger";
        margin: 0;
        padding: 0;
    }

    nav h1 img {
        width: 110%;
    }

    #nav-logo {
        max-width: 70%;
    }

    #nav-social-section {
        display: none;
    }

    #nav-links-section {
        display: none;
    }

    #nav-links {
        flex-direction: column;
        justify-content: center;
        gap: 3rem;
    }

    .hamburger {
        display: inline-block !important;
        grid-area: hamburger;
    }
}

@media screen and (max-width: 700px) {
    nav h1 {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 600px) {
    nav h1 {
        font-size: 2rem;
    }

    #nav-logo {
        margin-top: 0.6rem;
    }
}

@media screen and (max-width: 470px) {
    nav h1 {
        font-size: 1.5rem;
    }
}

/*
=====================
    Footer Styles
=====================
*/
.main-footer-divide {
    border: none;
    height: 3px;
    width: 80%;
    background-color: var(--accent-blue);
    border-radius: 15%;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

footer p {
    font-size: 60%;
    margin-bottom: 2rem;
    color: var(--accent-blue);
}

/*
========================
    Home Main Styles
========================
*/
#home-main {
    margin: 0;
    padding: 0;
}

#home-logo-section {
    margin: -1rem auto 0 auto;
    padding: 0;
    max-width: 60%;
}

#tag-line-section {
    margin: -0.9rem auto 0 auto;
    text-align: center;
    letter-spacing: 0.2rem;
}

.main-tag {
    color: var(--main-red);
    font-weight: 500;
    font-size: 150%;
    width: 25%;
    margin: 3rem auto 1rem auto;
}

.secondary-tag {
    font-size: 100%;
    width: 30%;
    margin: 0 auto;
}

#contact-btn-section {
    margin: 3rem auto;
}

#contact-btn {
    background-color: var(--main-yellow);
    color: var(--main-red);
    padding: 1rem 2rem;
    font-weight: bold;
}

#contact-btn:hover {
    background-color: var(--bg-color);
    border: 2px solid var(--main-yellow);
    color: var(--main-yellow);
    cursor: pointer;
}

#home-social-section {
    display: none;
}

#home-social-section svg {
    width: 2rem;
}

#home-social-section svg path {
    fill: var(--main-red);
}

#home-social-section svg:hover {
    path {
        fill: var(--main-yellow);
    }
}

/*
===============================
    Home Main Media Queries
===============================
*/
@media screen and (max-width: 1095px) {
    #home-logo-section {
        margin-top: -2rem;
    }

    .secondary-tag {
        width: 50%;
    }
}

@media screen and (max-width: 930px) {
    .main-tag {
        width: 50%;
    }
}

@media screen and (max-width: 873px) {
    #home-logo-section {
        max-width: 70%;
    }

    #home-social-section {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        padding: 0 2rem;
        width: 25%;
        margin: 0 auto;
    }

    .main-tag {
        font-size: 83%;
        margin-top: 1rem;
        margin-bottom: 0.8rem;
        width: 75%;
    }

    .secondary-tag {
        font-size: 58%;
        margin-bottom: 0;
        width: 85%;
    }

    #contact-btn-section {
        margin-top: 1.8rem;
        margin-bottom: 2rem;
    }

    #contact-btn {
        padding: 0.5rem 1rem;
        font-size: 60%;
    }
}

@media screen and (max-width: 515px) {
    #home-logo {
        margin-top: 0.9rem;
    }
}

/*
=========================
    About Main Styles
=========================
*/
.smaller-paragraph {
    width: 50%;
    margin: 0 auto;
    line-height: 150%;
    font-size: 80%;
    letter-spacing: 0.07rem;
}

.page-head {
    margin: 0;
    margin-top: 1.5rem;
}

h2 img {
    max-width: 17%;
}

#about-header img {
    max-width: 15%;
}

/*
================================
    About Main Media Queries
================================
*/
/*
@media screen and (max-width: 1150px) {
    .smaller-paragraph {
        width: 70%;
    }
}
*/
@media screen and (max-width: 873px) {
    .smaller-paragraph {
        line-height: 2.2rem;
    }
}

@media screen and (max-width: 700px) {
    .smaller-paragraph {
        width: 80%;
    }
}

@media screen and (max-width: 500px) {
    .smaller-paragraph {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 400px) {
    .smaller-paragraph {
        line-height: 1.5rem;
    }
}

/*
===========================
    Contact Main Styles
===========================
*/

#contact-h2 {
    margin-bottom: 0rem;
}

#contact-email {
    margin: 1rem;
    font-size: 100%;
}

#contact-email a {
    text-decoration: underline;
}

#contact-h3 {
    margin: 5rem;
    margin-bottom: 4rem;
    font-size: 110%;
}

.msg {
    list-style-type: none;
}

/*
==================================
    Contact Main Media Queries
==================================
*/


/*
===================
    Form Styles
===================
*/
form {
    width: 45%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 0.1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: 
        "fname . lname"
        "email . subject"
        "message message message"
        "btn btn btn";
}

#fname-section {
    grid-area: fname;
}

#lname-section {
    grid-area: lname;
}

#email-section {
    grid-area: email;
}

#subject-section {
    grid-area: subject;
}

#message-section {
    grid-area: message;
}

#form-submit-btn {
    grid-area: btn;
}

.form-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

label {
    font-size: 88%;
    text-align: left;
}

input,
textarea,
#form-submit-btn {
    background-color: rgba(38, 102, 94, 0.6);
    border-width: 1px;
    margin-top: 0.5rem;
    color: var(--main-yellow);
    
}

input {
    width: 100%;
    height: 80%;
}

textarea {
    width: 100%;
    height: 100%;
}

#form-submit-btn {
    width: 50%;
    margin: 0 auto;
    height: 4rem;
    border: 1px solid var(--main-yellow);
    margin-top: 4rem;
}

#form-submit-btn:hover {
    background-color: var(--bg-color);
    cursor: pointer;
}

#form-privacy-msg {
    width: 80%;
    margin: 0 auto;
    margin-top: 2rem;
    font-size: 60%;
}

/*
==========================
    Form Media Queries
==========================
*/
@media screen and (max-width: 1350px) {
    form {
        width: 70%;
    }
}

@media screen and (max-width: 873px) {
    form {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }

    input {
        height: 1.8rem;
    }

    textarea {
        height: 7rem;
    }

    #form-submit-btn {
        margin-top: 1rem;
        width: 35%;
        height: 2.5rem;
        font-size: 80%;
    }
}

/*
========================
    Portfolio Styles
========================
*/
.coming-soon {
    max-width: 45%;
    margin: 0 auto;
}

/*
======================
    Booking Styles
======================
*/
#booking-content {
    text-align: left;
    letter-spacing: 0.07rem;
    padding: 2rem;
}

#booking-content ul {
    list-style-type: ' ✧ ';
    padding-left: 5rem;
}

#booking-content ul li {
    margin-top: 0.5rem;
}

.centered {
    text-align: center !important;
}

.bigger-txt {
    font-size: 115%;
}

.underlined-link {
    text-decoration: underline;
}

/* 
=============================
    Booking Media Queries
=============================
*/
@media screen and (max-width: 873px) {
    #booking-header img {
        max-width: 25%;
    }

    #booking-content {
        padding: 1rem;
    }

    #booking-content ul {
        padding-left: 3rem;
    }

    .bigger-txt {
        font-size: 110%;
    }
}

/*
=================================
    Terms & Conditions Styles
=================================
*/
.policies-section {
    text-align: left;
    font-size: 90%;
    padding: 2rem;
}

.policies-section h2 {
    text-align: center;
}

.terms-footer-divide {
    border: none;
    height: 3px;
    width: 100%;
    background-color: var(--accent-blue);
    border-radius: 15%;
    margin-top: 1rem;
    margin-bottom: 1rem;
}