.menu-toggled #menuSocial {
    opacity: 1;
}
.menu-toggled .header-menu-left, .menu-toggled .header-menu-right li:nth-child(1), .menu-toggled .header-menu-right li:nth-child(2) {
    opacity: 0;
    pointer-events: none;
}
.menu-toggled #header .header-logo .header-logo-color, .header-invert #header .header-logo .header-logo-color,
.header-dropdown-toggled #header .header-logo .header-logo-color, .header-always-invert #header .header-logo .header-logo-color {
    opacity: 1;
    visibility: visible;
}
.menu-toggled #header .burger-icon-line {
    border-color: #000 !important;
}
.header-invert #header a, .header-dropdown-toggled #header a, .header-always-invert #header a {
    color: #000;
}
.header-dropdown-toggled #header a:after {
    background: #000;
}
.header-invert #header a:after,
.header-always-invert #header a:after {
    background: #000;
}
.header-invert #header .burger-icon-line, .header-dropdown-toggled #header .burger-icon-line,
.header-always-invert #header .burger-icon-line {
    border-color: #000;
}
.header-invert #header {
    background: #ffffff;
    padding: 20px;
}
.menu-toggled.header-invert #header {
    background: none;
}
.header-invert #header .header-dropdown-content {
    margin-left: 250px;
}
.header-invert #header .header-nav-dropdown {
    padding-top: 70px;
}
#loadingOverlay {
    display: none;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    opacity: 0.4;
    z-index: 5;
    pointer-events: none;
}

/*========================================*\
    Header
\*========================================*/
#header {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100%;
    z-index: 3;
    font-size: 16px;
    padding: 80px;
    color: #fff !important;
    font-family: 'Playfair Display', serif;
    transition: 0.5s;
}
#header a {
    color: #fff;
    transition: 0.3s color ease-in-out;
}
.header-logo {
    width: var(--side-gutter);
    transition: 0.3s color ease-in-out;
}
.header-logo a {
    position: relative;
}
.header-logo img {
    width: 60px;
}
.header-logo .header-logo-color {
    position: absolute;
    left: 0px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out;
   -moz-transition: opacity 0.5s ease-in-out;
   -webkit-transition: opacity 0.5s ease-in-out;
}
#header ul {
    display: flex;
    align-items: center;
}
#header li {
    margin: 0 35px;
}
#header li:first-child {
    margin-left: 0px;
}
#header a {
    position: relative;
}
#header a:after {
    content: '';
    width: 0;
    position: absolute;
    bottom: 1px;
    left: 0;
    height: 1px;
    background-color: white;
    transition: 0.2s width, 0.2s background-color;
}
#header li.nav-item a:hover::after {
    width: 100%;
}
#header li.active-link a:after {
    width: 100%;
}
.header-menu-right {
    margin-left: auto;
    margin-right: 0;
}
#header .menu-trigger {
    margin-right: 0;
}
.header-nav-item {
    position: relative;
}
.header-nav-dropdown {
    position: absolute;
    background: #fff;
    color: #999999;
    width: 100%;
    left: 0px;
    top: 0px;
    box-shadow: 0 20px 24px rgb(0 0 0 / 10%);
    border-top: 1px solid #ececec;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-15px);
    transition: 0.4s;
    padding-top: 160px;
    padding-bottom: 50px;
    z-index: -1;
}
.header-dropdown-content {
    display: flex;
}
#header .header-dropdown-content ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: max-content;
    position: relative;
    opacity: 0;
    transition: 0.3s opacity ease-in-out;
}
#header .header-dropdown-content ul:nth-child(2) {
    margin-left: -28px;
}
#header .header-dropdown-content li {
    margin: 0px !important;
    padding: 8px 0px;
    font-size: 14px;
}
#header .header-dropdown-content li a {
    color: #999999 !important;
}
#header .header-dropdown-content li a:hover {
    color: #000 !important;
}
#header .header-dropdown-content ul.active {
    opacity: 1;
}
.header-nav-dropdown.active {
    transform: translateY(0px);
    visibility: visible;
    opacity: 1;
}
.burger-icon .burger-icon-line {
    display: block;
    width: 30px;
    height: 0px;
    margin-bottom: 5px;
    position: relative;
    border-top: 2px solid #fff;
    z-index: 4;
    transform-origin: 4px 0px;
    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), opacity 0.55s ease, border-color 0.3s;
}
.burger-icon .burger-icon-line:last-child {
    margin-bottom: 0px;
}
#burgerIcon.search-is-open .burger-icon .burger-icon-line {
    z-index: -1;
}
.burger-icon.menu-is-toggled .burger-icon-line {
    border-color: #fff;
}
.burger-icon.menu-is-toggled span.burger-icon-line:first-child {
    transform-origin: 0% 0%;
}
.burger-icon.menu-is-toggled span.burger-icon-line:nth-last-child(2) {
    transform-origin: 0% 100%;
}
.burger-icon.menu-is-toggled span.burger-icon-line:first-child
{
    opacity: 1;
    transform: rotate(45deg);
}
.burger-icon.menu-is-toggled span.burger-icon-line:nth-child(2) {
    opacity: 0;
    transform: scale(0.2, 0.2);
}
.burger-icon.menu-is-toggled span.burger-icon-line:nth-child(3) {
    opacity: 1;
    transform: rotate(-45deg) translate(-5px, 1px);
}


/*========================================*\
    Content
\*========================================*/
#content {
    min-height: 100vh;
}


/*========================================*\
    Footer
\*========================================*/
#footer {
    color: #9d9d9d;
    background: #fafafa;
    padding: 80px 0px;
}
#footerContainer {
    max-width: 1440px;
    margin: auto;
}
.footer-logo {
    margin-bottom: 30px;
}
.footer-logo img {
    width: 100px;
}
.footer-social-links {
    display: flex;
    justify-content: flex-end;
}
.footer-social-link > span {
    display: flex;
    background-color: #9d9d9d;
    color: #fff;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
.footer-copyright {
    color: #9d9d9d;
    border-top: 1px solid #9d9d9d;
    font-size: 12px;
    padding: 30px 0px 0px 0px;
    margin-top: 30px;
}
.footer-contact,
.footer-contact:hover {
    color: #fff;
}


/*========================================*\
    Menu Social
\*========================================*/
#menuSocial {
    position: fixed;
    z-index: 3;
    left: 0;
    bottom: 60px;
    display: flex;
    flex-direction: column;
    transition: 0.3s opacity ease-in-out, 0.3s filter ease-in-out;
}
#menuSocial li {
    margin-top: 15px;
}


/*========================================*\
    Menu Overlay
\*========================================*/
#menuOverlay {
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #f1f1f1;
    visibility: hidden;
    opacity: 0;
    z-index: 2;
    transition: 0.5s;
}
#menuOverlay a {
    position: relative;
    color: #343434;
    font-family: 'Playfair Display', serif;
}
#menuOverlay .menu-section-left a:after {
    content: '';
    position: absolute;
    width: 0%;
    background-color: white;
    height: 3px;
    bottom: 13px;
    left: 0;
    transition: 0.5s width ease-in-out;
    z-index: 2;
    backface-visibility: hidden;
}
#menuOverlay .menu-section-left a:hover:after {
    width: 100%;
}
#menuOverlay.menu-is-toggled {
    visibility: visible;
    opacity: 1;
}
#menuOverlay .menu-overlay-wrap {
    display: flex;
    justify-content: space-between;
}
#menuOverlay .menu-section-title {
    display: block;
    color: #343434;
    font-size: 12px;
}
.menu-section-left .menu-section-title {
    margin-bottom: 10px;
}
.menu-section-left li a {
    font-size: 80px;
    margin: 18px 0px;
}
#menuOverlay .product-count {
    position: absolute;
    opacity: 0;
    font-size: 13px;
}
#menuOverlay .menu-section-right {
    border-left: 1px solid #343434;
    padding-left: 60px;
}
.menu-section-right .menu-section-title {
    margin-bottom: 22px;
}
.menu-subsection:first-child {
    margin-bottom: 40px;
}
.menu-section-right li a {
    font-size: 22px;
    margin: 5px 0px;
}
#menuOverlay .menu-social {
    display: none;
    filter: invert(1);
    margin-top: 60px;
}
#menuOverlay .menu-social ul {
    display: flex;
}
#menuOverlay .menu-social li {
    margin-right: 15px;
}


/*========================================*\
    Media Query
\*========================================*/
/* 1440px */
@media (max-width: 1724px) {
    #header {
        padding: 60px;
    }
    .header-logo {
        width: 170px;
    }
    #footer {
        padding: 60px 20px;
    }
    #header .header-dropdown-content {
        margin-left: 230px;
    }
}

/* 1024px */
@media (max-width: 1300px) {
    #header {
        padding: 40px;
    }
    #menuOverlay .menu-section-right {
        padding-left: 40px;
        border: none;
    }
}

/* tablet */
@media only screen and (max-width: 876px) {
    #header {
        padding: 35px 25px 25px 25px;
    }
    #headerNav {
        display: none;
    }
    .footer-social-links {
        justify-content: flex-start;
    }
    .header-menu-left {
        display: none !important;
    }
    .header-menu-right li:nth-child(1), .header-menu-right li:nth-child(2) {
        display: none;
    }
    .header-logo {
        width: 170px;
        font-size: 14px;
    }
    #menuSocial {
        display: none;
    }
    #menuOverlay {
        display: block;
        overflow: auto;
        overscroll-behavior: none;
    }
    #menuOverlay .menu-overlay-wrap {
        justify-content: inherit;
        flex-direction: column;
        overflow: auto;
    }
    .menu-section-left li a {
        font-size: 54px;
    }
    #menuOverlay .menu-section-left {
        margin-top: 130px;
        padding-bottom: 60px;
        border-bottom: 1px solid #343434;
        margin-bottom: 60px;
    }
    #menuOverlay .menu-section-right {
        padding-left: 0px;
        border: none;
        margin-bottom: 130px;
    }
    #menuOverlay .menu-social {
        display: block;
    }
}

/* smartphone */
@media (max-width: 603px) {
    #searchInputWrap > div:nth-child(1) {
        flex: 1;
    }
    #headerSearchBox.search-is-open {
        height: 100%;
    }
    #headerSearchBox.search-is-open > div {
        width: 100%;
    }
    #headerSearchBox.search-is-open #headerSearchInput {
        width: 100%;
    }
    #headerSearchBtn.search-is-open {
        transform: translateX(-100vw) translateX(90px);
    }
    .menu-section-left li a {
        font-size: 48px;
    }
}
