.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
    background-color: var(--color-primary-extra-dark-70);
    border-bottom: 1px solid var(--color-primary-dark);
    backdrop-filter: blur(10rem);
    -webkit-transition: border-color var(--transition-duration);
    transition: border-color var(--transition-duration);
}

.header:has(.header__nav.active) {
    border-color: var(--color-primary);
}

.header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32rem;
    padding: 12rem 0 11rem;
}

.header__logo {
    display: block;
    width: var(--logo-width);
    height: var(--logo-height);
}

.header__logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: calc(100svh - var(--header-height));
    position: absolute;
    top: var(--header-height);
    left: 0;
    overflow-y: auto;
    background-color: var(--color-primary-extra-dark-95);
    -webkit-transition:
        visibility var(--transition-duration),
        opacity var(--transition-duration);
    transition:
        visibility var(--transition-duration),
        opacity var(--transition-duration);
}

.header__nav:not(.active) {
    visibility: hidden;
    opacity: 0;
}

.header__nav-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 32rem;
    min-height: 100%;
    padding: 32rem 0;
    -webkit-transition: -webkit-transform var(--transition-duration);
    transition: -webkit-transform var(--transition-duration);
    transition: transform var(--transition-duration);
    transition: transform var(--transition-duration), -webkit-transform var(--transition-duration);
}

.header__nav:not(.active) .header__nav-inner {
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
}

.header__menu > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24rem;
}

.header__menu > ul a {
    display: block;
}

.header__menu > ul > li:has(> ul),
.header__menu > ul > li.menu-item-has-children,
.header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header {
    position: relative;
}

.header__menu > ul > li > a,
.header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > a {
    font-weight: 700;
    font-size: 18rem;
    line-height: 24rem;
    color: var(--color-primary-light);
    -webkit-transition: color var(--transition-duration);
    transition: color var(--transition-duration);
}

.header__menu > ul > li > a[href='#'],
.header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > a[href='#'] {
    pointer-events: none;
}

.header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button {
    width: 24rem;
    height: 24rem;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-header:has(> a[href='#'])
    .menu-item-has-children-button {
    width: 100%;
    height: 100%;
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-header
    > .menu-item-has-children-button:before {
    content: '';
    width: 24rem;
    height: 24rem;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    background: url('../../img/icons/chevron-down-primary.svg') center/12rem no-repeat;
    -webkit-transition: -webkit-transform var(--transition-duration);
    transition: -webkit-transform var(--transition-duration);
    transition: transform var(--transition-duration);
    transition: transform var(--transition-duration), -webkit-transform var(--transition-duration);
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-header
    > .menu-item-has-children-button:has(> input:checked):before {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-header
    > .menu-item-has-children-button
    > input {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
}

.header__menu > ul > li > ul {
    margin-top: 16rem;
}

.header__menu > ul > li.menu-item-has-children > .menu-item-has-children-dropdown {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 0fr;
    grid-template-rows: 0fr;
    -webkit-transition: grid-template-rows var(--transition-duration);
    transition: grid-template-rows var(--transition-duration);
    transition: grid-template-rows var(--transition-duration), -ms-grid-rows var(--transition-duration);
}

.header__menu > ul > li > ul > li:not(:first-child),
.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-dropdown
    > .menu-item-has-children-dropdown-body
    > ul
    > li:not(:first-child) {
    margin-top: 12rem;
}

.header__menu > ul > li > ul > li > a,
.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-dropdown
    > .menu-item-has-children-dropdown-body
    > ul
    > li
    > a {
    -webkit-transition: color var(--transition-duration);
    transition: color var(--transition-duration);
}

.header__menu
    > ul
    > li.menu-item-has-children:has(> .menu-item-has-children-header > .menu-item-has-children-button > input:checked)
    > .menu-item-has-children-dropdown {
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-dropdown
    > .menu-item-has-children-dropdown-body {
    overflow: hidden;
}

.header__menu
    > ul
    > li.menu-item-has-children
    > .menu-item-has-children-dropdown
    > .menu-item-has-children-dropdown-body
    > ul {
    padding-top: 16rem;
    -webkit-transition:
        opacity calc(var(--transition-duration) * 1.5),
        -webkit-transform calc(var(--transition-duration) * 1.5);
    transition:
        opacity calc(var(--transition-duration) * 1.5),
        -webkit-transform calc(var(--transition-duration) * 1.5);
    transition:
        transform calc(var(--transition-duration) * 1.5),
        opacity calc(var(--transition-duration) * 1.5);
    transition:
        transform calc(var(--transition-duration) * 1.5),
        opacity calc(var(--transition-duration) * 1.5),
        -webkit-transform calc(var(--transition-duration) * 1.5);
}

.header__menu
    > ul
    > li.menu-item-has-children:has(
        > .menu-item-has-children-header > .menu-item-has-children-button > input:not(:checked)
    )
    > .menu-item-has-children-dropdown
    > .menu-item-has-children-dropdown-body
    > ul {
    -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
            transform: translateY(50%);
    opacity: 0;
}

.header__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24rem;
}

body:has(#wpadminbar) .header {
    top: var(--wpadminbar-height);
}

@media screen and (min-width: 768px) {
    .header__buttons {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .header__inner {
        padding: 20rem 0 19rem;
    }

    .header__burger-button {
        display: none;
    }

    .header__nav {
        max-width: calc(100% - var(--logo-width) - 32rem);
        height: unset;
        position: unset;
        overflow: unset;
        background-color: transparent;
        -webkit-transition: unset;
        transition: unset;
    }

    .header__nav[data-lock-padding] {
        padding-right: 0 !important;
    }

    .header__nav:not(.active) {
        visibility: visible;
        opacity: 1;
    }

    .header__nav-container {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .header__nav-inner {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        max-height: unset;
        padding: 0;
        -webkit-transition: unset;
        transition: unset;
    }

    .header__nav:not(.active) .header__nav-inner {
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);
    }

    .header__menu {
        margin: 0 auto;
    }

    .header__menu > ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 32rem;
    }

    .header__menu > ul > li > a,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > a {
        font-weight: 400;
        font-size: 14rem;
        line-height: 20rem;
    }

    .header__menu > ul > li:has(> ul) > a,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header {
        padding-right: 20rem;
    }

    .header__menu > ul > li:has(> ul) > a {
        position: relative;
    }

    .header__menu > ul > li:has(> ul) > a:after,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > a:after {
        content: '';
        width: 12rem;
        height: 12rem;
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
        background: url('../../img/icons/chevron-down-primary.svg') center/contain no-repeat;
        -webkit-transition: -webkit-transform var(--transition-duration);
        transition: -webkit-transform var(--transition-duration);
        transition: transform var(--transition-duration);
        transition: transform var(--transition-duration), -webkit-transform var(--transition-duration);
    }

    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > .menu-item-has-children-button {
        display: none;
    }

    .header__menu > ul > li > ul,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-dropdown {
        width: 100%;
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content;
        position: absolute;
        bottom: -12rem;
        left: 50%;
        -webkit-transform: translate(-50%, calc(100% + 24rem));
            -ms-transform: translate(-50%, calc(100% + 24rem));
                transform: translate(-50%, calc(100% + 24rem));
        visibility: hidden;
        opacity: 0;
        background-color: var(--color-primary-extra-dark-95);
        border: 1px solid var(--color-primary-dark);
        border-radius: var(--border-radius);
        margin-top: 0;
        padding: 9rem 0;
    }

    .header__menu > ul > li > ul:before,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-dropdown:before {
        content: '';
        width: 100%;
        height: 12rem;
        position: absolute;
        top: -1px;
        left: 0;
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%);
    }

    .header__menu > ul > li > ul {
        -webkit-transition:
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
        transition:
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
        transition:
            transform var(--transition-duration),
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration);
        transition:
            transform var(--transition-duration),
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
    }

    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-dropdown {
        display: block;
        -webkit-transition:
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
        transition:
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
        transition:
            transform var(--transition-duration),
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration);
        transition:
            transform var(--transition-duration),
            visibility var(--transition-duration),
            opacity var(--transition-duration),
            border-color var(--transition-duration),
            -webkit-transform var(--transition-duration);
    }

    .header__menu > ul > li > ul > li:not(:first-child),
    .header__menu
        > ul
        > li.menu-item-has-children
        > .menu-item-has-children-dropdown
        > .menu-item-has-children-dropdown-body
        > ul
        > li:not(:first-child) {
        margin-top: 0;
    }

    .header__menu > ul > li > ul > li > a,
    .header__menu
        > ul
        > li.menu-item-has-children
        > .menu-item-has-children-dropdown
        > .menu-item-has-children-dropdown-body
        > ul
        > li
        > a {
        padding: 9rem 18rem;
    }

    .header__menu
        > ul
        > li.menu-item-has-children
        > .menu-item-has-children-dropdown
        > .menu-item-has-children-dropdown-body
        > ul {
        padding-top: 0;
        -webkit-transition: unset;
        transition: unset;
    }

    .header__menu
        > ul
        > li.menu-item-has-children:has(
            > .menu-item-has-children-header > .menu-item-has-children-button > input:not(:checked)
        )
        > .menu-item-has-children-dropdown
        > .menu-item-has-children-dropdown-body
        > ul {
        -webkit-transform: unset;
            -ms-transform: unset;
                transform: unset;
        opacity: 1;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) and (hover: hover) {
    .header__menu > ul > li:has(> ul):hover > a:after,
    .header__menu > ul > li:has(> ul):hover > .menu-item-has-children-header > a:after,
    .header__menu > ul > li.menu-item-has-children:hover > a:after,
    .header__menu > ul > li.menu-item-has-children:hover > .menu-item-has-children-header > a:after {
        -webkit-transform: translateY(-50%) rotate(180deg);
            -ms-transform: translateY(-50%) rotate(180deg);
                transform: translateY(-50%) rotate(180deg);
    }

    .header__menu > ul > li > ul:hover,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-dropdown:hover {
        border-color: var(--color-primary);
    }

    .header__menu > ul > li:has(> ul):hover > ul {
        visibility: visible;
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
            -ms-transform: translate(-50%, 100%);
                transform: translate(-50%, 100%);
    }

    .header__menu
        > ul
        > li.menu-item-has-children:has(> .menu-item-has-children-dropdown):hover
        > .menu-item-has-children-dropdown {
        visibility: visible;
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
            -ms-transform: translate(-50%, 100%);
                transform: translate(-50%, 100%);
    }
}

@media (hover: hover) {
    .header__menu > ul > li > a:hover,
    .header__menu > ul > li.menu-item-has-children > .menu-item-has-children-header > a:hover {
        color: var(--color-primary);
    }

    .header__menu > ul > li > ul > li > a:hover,
    .header__menu
        > ul
        > li.menu-item-has-children
        > .menu-item-has-children-dropdown
        > .menu-item-has-children-dropdown-body
        > ul
        > li
        > a:hover {
        color: var(--color-primary);
    }
}
