/** HEADER MENU **/
:root {
    --header-menu-shadow-size: 4px;
    --header-menu-shadow: 0.5px 0.87px 3px rgba(0, 0, 0, 0.7);
    --header-menu-section-color: var(--palette-primary-text);
    --header-menu-section-color-hover: var(--palette-primary-bright);
    --header-menu-background: transparent url('gfx-2020/style/header-background-2.png') repeat-x left bottom / contain;
}

.header-menu-layer {
    position: relative;
    margin: 0px;
    width: 100%;
    height: 100vh;
    background-color: transparent;
    overflow: hidden;
}

.header-menu-container {
    position: relative;
    pointer-events: auto;
    overflow: hidden;
    height: var(--header-height);
    box-sizing: border-box;

    background: var(--header-menu-background);
}

.header-menu {
    width: 100%;
    height: 100%;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    font-family: var(--header-font);
    font-size: 16px;
    font-weight: bold;
    background-color: transparent;
    text-shadow: var(--header-menu-shadow);
}

.header-menu-section {
    flex-grow: 0;
    flex-shrink: 0;
}
.header-menu-sep {
    flex-grow: 0;
    flex-shrink: 0;
    width: 8px;
}
    .header-menu-sep:first-child {
        display: none;
    }
    .header-menu-sep:last-child {
        display: none;
    }
.header-menu-filler {
    flex-grow: 1;
    flex-shrink: 1;
    padding: 0;
    margin: 0;
}


/** HEADER SECTIONS **/
.header-menu-section {
    box-sizing: border-box;
    position: relative;
    margin: 0;
    padding: calc(20px - var(--header-menu-shadow-size)) calc(10px - var(--header-menu-shadow-size));
    cursor: pointer;
    color: var(--header-menu-section-color)
}
    .header-menu-section.with-submenu {
        padding-right: 0;
    }
    .header-menu-section .item > a {
        color: inherit;
        text-decoration: none;
        white-space: nowrap;
        vertical-align: middle;
        line-height: 120%;
        padding: var(--header-menu-shadow-size);
    }
        .header-menu-section:hover .item > a {
            color: var(--header-menu-section-color-hover);
        }
        .header-menu-section .item > a:focus {
            outline: none;
        }
            .header-menu-section.with-submenu .item > a .submenu-switch {
                display: inline-block;
                width: 26px;
                height: 26px;
                vertical-align: middle;
                background-repeat: no-repeat;
                background-image: url('gfx-2020/style/submenu-switch-shadow.svg');
                background-size: contain;
                background-position: center center;
            }
                .header-menu-section.with-submenu:hover .item > a .submenu-switch {
                    background-image: url('gfx-2020/style/submenu-switch-shadow-hover.svg');
                }

            #header-mobile .header-menu-section.with-submenu .item > a .submenu-switch {
                display: none;
            }


/** LOGO **/
.header-menu-logo {
    margin-left: calc(31px + var(--header-side-gap));
    margin-right: 10px;
    padding: 0;
    cursor: pointer;
    width: 175px;
}
    #header-mobile .header-menu-logo {
        margin-left: 0px;
        margin-right: 5px;
    }

/** IDENTITY **/
.header-menu-section.user-identity {
    --user-identity-height: 40px;

    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
}
    .header-menu-section.user-identity .item {
        position: relative;
        margin: var(--header-menu-shadow-size);
        margin-right: var(--header-side-gap);

        background-color: var(--palette-primary-main);
        text-shadow: none;
        box-shadow: var(--header-menu-shadow);

        border-radius: calc(0.5 * var(--button-radius-ratio) * var(--user-identity-height));
        overflow: hidden;
    }
        .header-menu-section.user-identity:hover .item {
            background-color: var(--palette-primary-dim);
        }
        .header-menu-section.user-identity .item > a {
            display: inline-flex;
            align-items: center;
            box-sizing: border-box;
            min-height: var(--user-identity-height);
            padding: 0px calc(0.4 * var(--user-identity-height));
            color: var(--palette-primary-text);
        }
            .header-menu-section.user-identity.with-image .item > a {
                padding-left: 0;
            }
            #header-mobile .header-menu-section.user-identity.with-image .item > a {
                padding: 0;
            }

        .header-menu-section.user-identity.with-submenu .item > a .submenu-switch,
        .header-menu-section.user-identity.with-submenu:hover .item > a .submenu-switch {
            width: 10px;
            height: 10px;
            margin-left: 8px;
            background-image: url('gfx-2020/style/submenu-switch.svg');
        }
        .header-menu-section.user-identity .user-identity-details {
            white-space: normal;
            max-height: var(--user-identity-height);
            max-width: 200px;
            line-height: 100%;
            overflow: hidden;
        }
            .header-menu-section.user-identity.with-image .user-identity-details {
                margin-left: 10px;
            }
    .header-menu-section.user-identity .user-identity-role {
        position: absolute;
        left: 0;
        top: 0;
        width: var(--user-identity-height);
        height: var(--user-identity-height);
        border-radius: calc(0.5 * var(--button-radius-ratio) * var(--user-identity-height));
        border-width: 3px;
        border-style: solid;
        box-sizing: border-box;
        background: none;
    }
        .header-menu-section.user-identity .user-identity-role.userAttendee {
            border: none;
        }


/* MOBILE BUTTON */
#mobile-button {
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
}
    #mobile-button > .item > a {
        line-height: 0;
    }
        #mobile-button > .item > a > .submenu-switch {
            display: none;
        }

.menu-button-icon {
    position: relative;
    display: inline-block;
    width: 31px;
    height: 31px;
    margin: 0px 6px;
    background-repeat: no-repeat;
    background-image: url('gfx-2020/style/mobile-menu.svg');
    background-size: contain;
    background-position: center center;
}


/** SUBMENU **/
.user-menu .popup-menu-item:last-of-type a:before {
    background-image: url('gfx-2020/style/submenu-bullet-logout.svg');
    background-size: 16px auto;
}


/** USER MENU HEADER **/
.user-menu-header {
    position: relative;
    padding-top: 0px;
    padding-bottom: 8px;
    padding-left: 8px;
    padding-right: 8px;
    font-family: var(--regular-font);
}
    .user-menu-header .user-name {
        font-size: var(--font-size-regular);
        font-weight: bold;
        line-height: var(--font-size-large);
    }
    .user-menu-header .user-type-role {
        line-height: var(--font-size-large);
    }
        .user-menu-header .user-type-role .role-icon {
            display: inline-block;
            height: var(--font-size-large);
            line-height: var(--font-size-large);
            margin: 0px 2px;
            vertical-align: top;
        }
