
.page-header__logo {
    --color-background: transparent;
    --width: 7.5rem;
}

@media (min-width: 30rem) {
    .page-header__logo {
        --width: 10rem;
    }
}

.page-header__logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-grow: 1;
    justify-content: center;
    margin-right: 1rem;
}

.page-header__logo img {
    display: block;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}

@media (max-width: 61.999rem) {
    .page-header__logo {
        margin-left: 1rem;
    }

    .page-header--no-menu .page-header__logo {
        justify-content: flex-start;
        margin-left: 0;
    }

    .page-header--no-search .page-header__logo {
        justify-content: flex-end;
        margin-right: 0;
    }
}

@media (min-width: 62rem) {
    .page-header__logo {
        flex-grow: 0;
    }
}

.page-header__logo {
    background-color: var(--color-background, transparent);
}

.page-header__logo picture {
    width: var(--width, 12.5rem);
}

.page-header__menu {
    --box-shadow-small: var(--root-box-shadow);
    --color-background: var(--root-color--white);
    --font-size: var(--root-font-size); /* Reset, use REM */
}

.page-header__menu__wrapper {
    --alignment-horizontal: flex-end; /* center, flex-start, flex-end. See .page-header__menu__wrapper --flex-grow */
    --flex-grow: 1; /* Take all available space = 1 */
    --min-height: 3rem;
}

.page-header__menu__link {
    --color-background: transparent;
    --color-background__active: transparent;
    --color-background__hover: transparent;

    --width-border-horizontal-small: var(--root-border-width);
    --color-border-horizontal-small: var(--root-color-border);
    --color-border-vertical-small__interactive: var(--root-color--primary);
    --color-border-vertical-small__active: var(--root-color--primary);
    --color-icon-arrow-small: transparent;

    --width-border-vertical-wide: var(--root-border-width);
    --color-border-vertical-wide: transparent; /* Border left/right whole block */
    --color-border-horizontal-wide: var(--root-color--primary);
    --color-border-horizontal-wide__active: var(--root-color--primary);
    --condition-border-horizontal-position__interactive: 1; /* -1 = top, 0 = none, 1 = bottom */
    --condition-border-vertical__visibility: 0; /* 1 = visible, 0 = not visible */

    --flex-grow: 0; /* See .page-header__menu__wrapper --alignment-horizontal */

    --font-family: var(--root-font-family--primary);
    --font-size: 0.889em;
    --font-style: normal;
    --font-weight: var(--root-font-weight--normal);
    --line-height: 1.5;
}

.page-header__menu__text {
    --color-border-vertical-wide: var(--root-color--grey); /* Border left/right text height all menu items */

    --color-text: var(--root-color-text);
    --color-text__active: var(--root-color--primary);
    --color-text__hover: var(--root-color--primary);

    --padding-horizontal: 1rem;
}

.page-header__menu {
    overflow: hidden;
}

.page-header__menu:not(.page-header__button-menu) {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
}

.page-header__button-menu {
    display: flex;
    align-items: center;
    flex-grow: 1;
    width: inherit;
    height: 100%;
}

.page-header__menu__wrapper {
    display: flex;
}

.page-header__button-menu .page-header__menu__wrapper {
    align-items: center;
}

.page-header__menu__wrapper .button {
    margin: 0;
}

@media (max-width: 61.999rem) {
    .page-header__menu:not(.page-header__button-menu) {
        position: absolute;
        z-index: -1;
        right: 0;
        left: 0;
        transform: translateY(var(--root-page-header-height, 5rem));
    }

    .page-header__menu:not(.transition):not(.page-header__button-menu) {
        max-height: calc(100vh - var(--root-page-header-height, 5rem));
        overflow-y: auto !important;
    }

    .page-header__menu:not(.page-header__button-menu) .page-header__menu__wrapper {
        flex-direction: column;
        width: 100%;
    }

    .page-header__button-menu {
        padding-right: 1rem;
    }
}

@media (min-width: 62rem) {
    .page-header__menu {
        display: flex;
        align-items: center;
        flex-grow: 1;
        width: inherit;
        height: 100%;
        transition: width 300ms cubic-bezier(0.46, 0.03, 0.52, 0.96), opacity 200ms ease-in-out 300ms;
        opacity: 1;
    }

    .page-header__menu:not(.page-header__button-menu) {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .page-header__menu:not(.page-header__button-menu) .page-header__menu__wrapper {
        align-items: stretch;
    }
}

@media (min-width: 62rem) {
    .page-header--expanded .page-header__menu {
        opacity: 0;
        width: 0;
        flex-grow: 0;
        transition: opacity 200ms ease-in-out, width 300ms cubic-bezier(0.46, 0.03, 0.52, 0.96) 200ms;
    }
}

.page-header__menu {
    font-size: var(--font-size, 1rem); /* Reset, use REM */
    background-color: var(--color-background, transparent);
}

.page-header__button-menu {
    justify-content: var(--alignment-horizontal, flex-end);
}

@media (max-width: 61.999rem) {
    .page-header__menu:not(.page-header__button-menu) {
        background-color: var(--color-background, #fff);
        box-shadow: var(--box-shadow-small, 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16));
    }
}

@media (min-width: 62rem) {
    .page-header__menu__wrapper {
        justify-content: var(--alignment-horizontal, flex-end);
        flex-grow: var(--flex-grow, 1);
        min-height: var(--min-height, 3rem);
    }
}

.page-header {
    --font-size: var(--root-font-size); /* Reset, use REM */
    --height: var(--root-page-header-height);
    --box-shadow: var(--root-box-shadow);
    --color-background: var(--root-color--white);
}

.page-header {
    position: fixed;
    z-index: 10;
    top: 0;
}

.page-header.is-open {
    overflow: visible;
}

.page-header__container {
    position: relative;
    display: flex;
    height: 100%;
}

.page-header {
    font-size: var(--font-size, 1rem); /* Reset, use REM */
    height: var(--height, 4.5rem);
    background-color: var(--color-background, white);
    box-shadow: var(--box-shadow, 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16));
}

.page-header__container {
    background-color: var(--color-background, white);
}

.page-header__toggle {
    line-height: 1.6;
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: opacity 200ms 400ms;
}

.page-header__toggle__icon {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    transition: opacity 200ms 400ms;
}

.page-header__toggle .page-header__toggle__icon--close {
    opacity: 0;
}

.page-header.page-header--expanded .page-header__toggle[aria-expanded="true"] .page-header__toggle__icon {
    transition: opacity 200ms;
    opacity: 0;
}

.page-header.page-header--expanded .page-header__toggle[aria-expanded="true"] .page-header__toggle__icon--close {
    opacity: 1
}

@media (min-width: 62rem) {
    .page-header__toggle {
        display: none;
    }
}

.page-header__toggle {
    font-size: var(--font-size, 1rem); /* Reset, use REM */
}

.page-header.page-header--expanded .page-header__toggle:not([aria-expanded]) {
    transition: opacity 200ms;
    pointer-events: none;
    opacity: 0;
}
