@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


/* =====================================================
   GLOBAL
===================================================== */

* {
    box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Outfit", sans-serif;
}


/* =====================================================
   HEADER
===================================================== */

.main-header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 9999;

    background: transparent;

    transition:
        background 0.4s ease,
        box-shadow 0.4s ease;
}


/* =====================================================
   SCROLLED HEADER
===================================================== */

.main-header.scrolled {
    background: #fff;

    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
}


/* =====================================================
   HEADER CONTAINER
===================================================== */

.header-container {
    position: relative;

    width: 90%;
    max-width: 1600px;

    height: 110px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    transition: height 0.4s ease;
}


.main-header.scrolled .header-container {
    height: 75px;
}


/* =====================================================
   LEFT NAVIGATION
===================================================== */

.header-left {
    width: 40%;

    display: flex;

    align-items: center;

    gap: 35px;
}


.header-left > a,
.dropdown-link {
    position: relative;

    display: inline-flex;

    align-items: center;

    color: #000;

    font-family: "Montserrat", sans-serif;

    font-size: 18px;

    font-weight: 500;

    line-height: 1;

    text-decoration: none;

    transition: color 0.3s ease;
}


.header-left > a:hover,
.dropdown-link:hover {
    color: #b6a697;
}


.main-header.scrolled .header-left > a,
.main-header.scrolled .dropdown-link {
    color: #3b2c20;
}


/* =====================================================
   SERVICES DROPDOWN
===================================================== */

.nav-dropdown {
    position: relative;
}


/* Services button */

.dropdown-link {
    gap: 8px;

    padding: 0;

    border: none;

    background: transparent;

    cursor: pointer;
}


/* =====================================================
   DROPDOWN ARROW
===================================================== */

.dropdown-arrow {
    width: 8px;
    height: 8px;

    display: inline-block;

    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;

    transform: rotate(45deg);

    margin-top: -4px;

    transition: transform 0.3s ease;
}


/* Arrow hover */

.nav-dropdown:hover .dropdown-arrow {
    transform: rotate(225deg);

    margin-top: 4px;
}


/* =====================================================
   DROPDOWN MENU
===================================================== */

.dropdown-menu {
    position: absolute;

    top: calc(100% + 25px);

    left: 0;

    width: 220px;

    padding: 10px 0;

    background: #fff;

    border-radius: 6px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.12);

    opacity: 0;

    visibility: hidden;

    transform: translateY(10px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease;
}


/* Desktop dropdown */

.nav-dropdown:hover .dropdown-menu {
    opacity: 1;

    visibility: visible;

    transform: translateY(0);
}


/* Dropdown links */

.dropdown-menu a {
    display: block;

    padding: 11px 18px;

    color: #000;

    font-family: "Montserrat", sans-serif;

    font-size: 16px;

    font-weight: 500;

    line-height: 1.4;

    text-decoration: none;

    transition:
        background 0.3s ease,
        color 0.3s ease;
}


.dropdown-menu a:hover {
    background: #f7f4f1;

    color: #b6a697;
}


/* =====================================================
   CENTER LOGO
===================================================== */

.header-logo {
    position: absolute;

    left: 50%;

    top: 65%;

    transform: translate(-50%, -42%);

    z-index: 2;
}


.header-logo a {
    display: block;

    line-height: 0;

    text-decoration: none;
}


.header-logo img {
    display: block;

    width: 180px;

    height: auto;

    transition: width 0.4s ease;
}


/* Smaller logo after scroll */

.main-header.scrolled .header-logo {
    transform: translate(-50%, -50%);
}


.main-header.scrolled .header-logo img {
    width: 125px;
}


/* =====================================================
   RIGHT CONTACT
===================================================== */

.header-right {
    width: 40%;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 25px;
}


.header-contact {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    color: #000;

    font-family: "Montserrat", sans-serif;

    font-size: 18px;

    font-weight: 500;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition: color 0.3s ease;
}


.main-header.scrolled .header-contact {
    color: #3b2c20;
}


.header-contact:hover {
    color: #b6a697;
}


.contact-icon {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    font-size: 18px;

    line-height: 1;
}


/* =====================================================
   MOBILE BUTTON
===================================================== */

.mobile-menu-btn {
    display: none;

    width: 40px;

    height: 40px;

    padding: 7px;

    border: none;

    background: transparent;

    cursor: pointer;
}


.mobile-menu-btn span {
    display: block;

    width: 25px;

    height: 2px;

    margin: 5px auto;

    background: #000;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease,
        background 0.3s ease;
}


/* =====================================================
   MOBILE BUTTON ACTIVE - X
===================================================== */

.mobile-menu-btn.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =====================================================
   MOBILE CONTACT
===================================================== */

.mobile-nav-contact {
    display: none;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1100px) {

    .header-container {
        width: 94%;
    }

    .header-left {
        gap: 20px;
    }

    .header-right {
        gap: 15px;
    }

    .header-contact {
        font-size: 11px;
    }

    .header-logo img {
        width: 150px;
    }

    .main-header.scrolled .header-logo img {
        width: 115px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 768px) {

    /* HEADER */

    .header-container {
        width: 90%;
        height: 80px;
    }

    .main-header.scrolled .header-container {
        height: 65px;
    }


    /* =================================================
       SAME DESKTOP NAV -> MOBILE MENU
    ================================================= */

    .header-left {
        position: fixed;

        top: 0;
        left: 0;

        width: 100%;
        height: 100vh;
        height: 100dvh;

        margin: 0;
        padding: 100px 25px 30px;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        background: #fff;

        overflow-y: auto;

        opacity: 0;
        visibility: hidden;

        transform: translateX(-100%);

        transition:
            transform 0.4s ease,
            opacity 0.3s ease,
            visibility 0.3s ease;

        z-index: 9998;
    }


    /* OPEN */

    .header-left.mobile-open {
        opacity: 1;

        visibility: visible;

        transform: translateX(0);
    }


    /* =================================================
       MOBILE LINKS
    ================================================= */

    .header-left > a,
    .header-left .dropdown-link {

        width: 100%;

        min-height: 55px;

        padding: 16px 5px;

        display: flex;

        align-items: center;

        justify-content: space-between;

        border: none;

        border-bottom: 1px solid #e5e5e5;

        background: transparent;

        color: #333 !important;

        font-family: "Montserrat", sans-serif;

        font-size: 16px;

        font-weight: 600;

        line-height: 1.4;

        text-decoration: none;

        text-align: left;

        box-sizing: border-box;
    }


    .header-left > a:hover,
    .header-left .dropdown-link:hover {
        color: #b6a697 !important;
    }


    /* =================================================
       SERVICES
    ================================================= */

    .nav-dropdown {
        position: relative;

        width: 100%;
    }


    .dropdown-link {
        cursor: pointer;
    }


    /* =================================================
       ARROW
    ================================================= */

    .dropdown-arrow {
        flex-shrink: 0;

        width: 8px;
        height: 8px;

        border-right: 2px solid #333;
        border-bottom: 2px solid #333;

        transform: rotate(45deg);

        margin-right: 5px;

        transition: transform 0.3s ease;
    }


    .nav-dropdown.mobile-dropdown-open
    .dropdown-arrow {

        transform: rotate(225deg);

    }


    /* =================================================
       MOBILE DROPDOWN
    ================================================= */

    .dropdown-menu {

        position: static;

        width: 100%;

        margin: 0;

        padding: 0;

        display: none;

        background: #f8f8f8;

        border-radius: 0;

        box-shadow: none;

        opacity: 1;

        visibility: visible;

        transform: none;
    }


    /* OPEN */

    .nav-dropdown.mobile-dropdown-open
    .dropdown-menu {

        display: block;

    }


    .dropdown-menu a {

        display: block;

        width: 100%;

        padding: 14px 20px;

        border-bottom: 1px solid #e8e8e8;

        color: #555 !important;

        font-family: "Montserrat", sans-serif;

        font-size: 14px;

        font-weight: 500;

        text-decoration: none;

        box-sizing: border-box;
    }


    .dropdown-menu a:hover {

        background: #f1efed;

        color: #b6a697 !important;

    }


    /* =================================================
       MOBILE CONTACT
    ================================================= */

    .mobile-nav-contact {
        display: block;
        /* margin-top: 25px; */
        padding-top: 15px;
        /* border-top: 1px solid #e5e5e5; */
    }


    .mobile-nav-contact a {

        display: flex;

        align-items: center;

        gap: 10px;

        padding: 9px 5px;

        color: #3b2c20 !important;

        font-family: "Montserrat", sans-serif;

        font-size: 14px;

        font-weight: 500;

        text-decoration: none;
    }


    .mobile-nav-contact i {

        width: 18px;

        color: #b6a697;

        text-align: center;
    }


    /* =================================================
       HIDE DESKTOP CONTACT
    ================================================= */

    .header-right {
        display: none;
    }


    /* =================================================
       LOGO
    ================================================= */

    .header-logo {

        top: 75%;

        transform:
            translate(-50%, -50%);

        z-index: 10001;
    }


    .header-logo img {

        width: 99px;

    }


    .main-header.scrolled .header-logo {

        transform:
            translate(-50%, -50%);
    }


    .main-header.scrolled .header-logo img {

        width: 110px;

    }


    /* =================================================
       HAMBURGER
    ================================================= */

    .mobile-menu-btn {

        display: flex;

        position: fixed;

        top: 18px;

        right: 5%;

        width: 40px;

        height: 40px;

        padding: 5px;

        flex-direction: column;

        align-items: center;

        justify-content: center;

        gap: 0;

        border: none;

        background: transparent;

        cursor: pointer;

        z-index: 10002;
    }


    .mobile-menu-btn span {

        display: block;

        width: 25px;

        height: 2px;

        margin: 3px 0;

        background: #000;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }


    /* =================================================
       HAMBURGER -> X
    ================================================= */

    .mobile-menu-btn.active span:nth-child(1) {

        transform:
            translateY(8px)
            rotate(45deg);

    }


    .mobile-menu-btn.active span:nth-child(2) {

        opacity: 0;

    }


    .mobile-menu-btn.active span:nth-child(3) {

        transform:
            translateY(-8px)
            rotate(-45deg);

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .header-container {
        width: 92%;
        height: 75px;
    }

    .main-header.scrolled .header-container {
        height: 62px;
    }

    .header-left {
        padding:
            90px
            22px
            30px;
    }

    .header-logo img {
        width: 125px;
    }

    .main-header.scrolled .header-logo img {
        width: 100px;
    }

    .mobile-menu-btn {
        right: 4%;
        top: 14px;
        width: 36px;
        height: 36px;
    }

    .mobile-menu-btn span {
        width: 23px;
    }

}
