header {
    background-color: var(--white-color);
    z-index: 10;
    position: relative;
}
.wp-block-navigation__responsive-dialog:has(button[class*="close"]):after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--white-color);
    z-index: 1;
    border-bottom: var(--black-color) solid 1px;
}

header > div,
nav.wp-block-navigation,
.wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container {
    position: unset;
}

.wp-block-navigation__responsive-container-close {
    z-index: 999;
}

.wp-block-navigation__responsive-dialog {
    z-index: 999;
    position: relative;
}

.wp-block-navigation__responsive-container-close + .wp-block-navigation__responsive-container-content {
    width: 100vw;
    left: 0;
    position: absolute;
}

/* Logo animation */
.first-name-ending,
.tagline,
.last-name {
    transition: width 0.1s ease-out;
}
header:not(.minimized) .full-name {
    gap: 5px;
}
header:not(.minimized) .capital-letter-short {
    width: 0;
}
header:not(.minimized) .tagline img {
    display: block;
}
header.minimized .full-name {
    gap: 0;
}
header.minimized .capital-letter-long {
    margin-right: -3px;
}
header.minimized .capital-letter-short {
    margin-left: -3px;
}
header.minimized .first-name-ending,
header.minimized .tagline,
header.minimized .last-name {
    width: 0;
}
header .full-logo-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
}
header.minimized .logo-container {
    height: 23px;
}
header.minimized .tagline {
    margin: -10px;
}

/* Socials */
.socials-container {
    gap: 5px;
}

/* Menu */
.wp-block-navigation__responsive-container {
    display: inline-block;
    bottom: unset;
    animation: none!important;
}

.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    top: 0;
    transition: top 0.5s ease;
}
.wp-block-navigation__responsive-container-open {
    position: relative;
    z-index: 99;
}
.wp-block-navigation:has(button[class*="wp-block-navigation__responsive"]),
nav ~ .wp-block-hyperlink-group,
nav ~ .socials-container {
    z-index: 99;
}


.wp-block-navigation__responsive-container-open::after {
    content: "";
    position: absolute;
    left: 0;
    background-color: var(--black-color);
    transition: left 0.15s ease-in-out;
}
.wp-block-navigation__responsive-container-open svg rect:last-child {
    display: none;
}
body:has(.is-menu-open) .wp-block-navigation__responsive-container-open {
    opacity: 0;
}
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container .wp-block-pages-list__item__link {
    font-size: 30px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-funnel);
    text-transform: uppercase;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover {
    text-decoration: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item:hover,
.wp-block-navigation__responsive-container .wp-block-pages-list__item__link:hover {
    opacity: .35;
}
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    padding: 15px!important;
    border-bottom: var(--black-color) solid 1px;
    background-color: var(--white-color);
}
.wp-block-navigation__responsive-container.is-menu-open {
    bottom: unset;
    overflow: visible;
    background-color: transparent!important;
    padding: 0;
    z-index: unset !important;
}
.wp-block-navigation__responsive-dialog {
    position: static;
}
.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
    margin-top: 0;
}
.wp-block-navigation__responsive-container-close {
    right: unset;
}
.wp-block-navigation__responsive-container-close svg {
    stroke: var(--black-color);
}

@media screen and (min-width: 768px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        transition: max-height 0.1s ease;
    }

    /* Logo animation */
    header.minimized {
        padding-top: 15px;
        padding-bottom: 15px;
        max-height: 72px;
    }
    .capital-letter-long {
        width: 29px;
    }
    header.minimized .capital-letter-short {
        width: 26px;
    }
    header:not(.minimized) {
        max-height: 102px;
    }
    header:not(.minimized) .first-name-ending {
        width: 81px;
    }
    header:not(.minimized) .tagline {
        width: 129px;
        margin-top: 5px;
    }
    header:not(.minimized) .last-name {
        width: 133px;
    }

    /* Menu */
    .wp-block-navigation__responsive-container-open:hover::after {
        left: calc(100% - 18.5px);
    }
    .wp-block-navigation__responsive-container-open::after {
        width: 18px;
        height: 7px;
        bottom: 2px;
    }
    .wp-block-navigation__responsive-container-open svg {
        width: 37px;
    }
    .wp-block-navigation__responsive-container-open svg rect:first-child {
        height: 7px;
        width: inherit;
        x: -7px;
        y: 2px;
    }
    .has-modal-open .wp-block-navigation__responsive-close {
        max-width: var(--wp--style--global--content-size);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        top: 80px;
    }
    .wp-block-navigation__responsive-container-close svg {
        height: 31px;
        width: 31px;
    }
    .wp-block-navigation__responsive-container-close svg {
        stroke-width: 3;
    }
    .wp-block-navigation__responsive-container-close {
        top: -100px;
    }
    .is-menu-open .wp-block-navigation__responsive-container-close {
        top: 25px;
        left: 30px;
    }
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-page-list {
        flex-direction: row!important;
        gap: 90px!important;
    }
}

@media screen and (max-width: 768px) {
    header {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    /* Logo animation */
    header.mobile-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
    }
    .capital-letter-long {
        width: 22px;
    }
    header.minimized .capital-letter-short {
        width: 21px;
    }
    header:not(.minimized) .first-name-ending {
        width: 63px;
    }
    header:not(.minimized) .tagline {
        width: 105px;
        margin-top: 4px;
        height: 11px;
    }
    header:not(.minimized) .last-name {
        width: 103px;
    }

    /* Socials */
    .socials-container .social-icon {
        max-width: 30px;
    }

    /* Menu */
    .wp-block-navigation__responsive-container-open:hover::after {
        left: calc(100% - 16px);
    }
    .wp-block-navigation__responsive-container-open::after {
        width: 15px;
        height: 5px;
        bottom: 5px;
    }
    .wp-block-navigation__responsive-container-open svg {
        width: 28px;
    }
    .wp-block-navigation__responsive-container-open svg rect:first-child {
        height: 5px;
        width: inherit;
        x: -3px;
        y: 5px;
    }
    .wp-block-navigation__responsive-container-close {
        left: 15px;
    }
    .wp-block-navigation__responsive-container-close svg {
        stroke-width: 2;
    }
    .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        top: -180px;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        top: 51px;
    }
    .wp-block-navigation__responsive-container-close {
        top: 12px;
        display: none;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        display: inline-block;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
}