.navbar {
    background: var(--body-background-color);
    padding-top: 0;
    padding-bottom: 0;
    z-index: 100;
}

.navbar.is-fixed-top {
    position: fixed;
    width: 100%;
}

.navbar .container {
    align-items: center;
    display: flex;
    height: var(--navbar-height);
    flex-direction: row;
    overflow: visible;
    justify-content: space-between;
    position: relative;
    transition: height ease 150ms;

}

.scrolled .navbar .container {
    height: var(--navbar-scrolled-height);
}

#block-lim-branding {
    height: calc(100% - 36px);
}
.block-system-branding-block > figure {
    margin: 0;
    transition: opacity 150ms ease;
}
.preload.frontpage .block-system-branding-block > figure {
    opacity: 0;
}
.block-system-branding-block * {
    height: 100%;
    top: 0;
    width: auto;
}
.block-system-branding-block a, .block-system-branding-block img {
    display: block;
}

#toggle-menu {
    display: none;
}

#primary-menu {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

#primary-menu > div {
    margin-left: 30px;
}

.main-menu {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap:  30px;
    justify-content: end;
}
.menu-menu li {
    margin: 0;
    padding: 0;
}
.main-menu a {
    display: block;
    padding: 11px 1px;
    position: relative;
    overflow: hidden;
}
.main-menu a::after {
    animation: slideOutRight 200ms;
    background: var(--yellow);
    bottom: 0;
    content: '';
    display: block;
    height: 2px;
    left: calc(-100% - 1px);
    padding: 0;
    position: absolute;
    width: 100%;
}

.main-menu a:hover::after, 
.main-menu a.is-active::after {
    animation: slideInRight 200ms;
    left: 0;
}

.main-menu a.hide-text {
    visibility: visible;
}
.main-menu a.hide-text span {
    display: none;
}

#block-demobutton .button {
    padding-left: 1.75em;
    padding-right: 1.75em;
}

@media screen and (max-width: 1216px) {

    #block-lim-branding, #block-lim-branding * {
        height: 48px;
        z-index: 999;
    }

    button#toggle-menu {
        background: var(--yellow);
        border: none;
        box-shadow: none;
        cursor: pointer;
        display: block;
        height: 48px;
        padding: 9px 8px;
        overflow: hidden;
        position: relative;
        width: 48px;
        z-index: 999;
    }

    #toggle-menu span {
        background: var(--black);
        border-radius: 2px;
        display: block;
        height: 2px;
        margin: 6px;
        transition: all 150ms ease;
    }

    #toggle-menu.is-active span:first-child {
        transform-origin: center center;
        transform: translateY(8px) translateY(50%) rotate(45deg);
    }
    #toggle-menu.is-active span:nth-child(2) {
        opacity: 0;
        margin-left: 0px;
    }
    #toggle-menu.is-active span:last-child {
        transform-origin: center center;
        transform: translateY(-8px) translateY(50%) rotate(-45deg);
    }

    #primary-menu {
        display: block;
        position: absolute;
        height: 0vh;
        margin: 0;
        overflow: hidden;
        top: 0;
        width: 100%;
        transition: all 1ms linear 250ms;
    }
    #primary-menu.is-expanded {
        overflow: visible;
        height: 100vh;
        transition: all 1ms linear 0ms;
    }

    #primary-menu nav {
        display: block;
        height: 100vh;
        left: 0;
        overflow: visible;
        position: absolute;
        right: 0;
        top: -100vh;
        transition: all 360ms ease;
        padding: 0;
    }

    #primary-menu.is-expanded nav {
        top: 0vh;
        transition: all 360ms ease;
    }

    #primary-menu nav::before {
        background: var(--body-background-color);
        content: '';
        display: block;
        height: 100vh;
        left: calc(0px - var(--section-h-padding));
        position: absolute;
        top: 0;
        width: 100vw;
    }

    #block-lim-branding img {
        transform-origin: left center;
        transform: scale(1.4);
    }

    #block-lim-branding::before {
        bottom: 0;
        content: 'Menu';
        display: flex;
        align-items: center;
        justify-items: space-around;
        font-size: 150%;
        font-weight: var(--weight-bold);
        margin: 0 var(--section-h-padding);
        overflow: visible;
        left: 0;
        position: absolute;
        top: 0;
        opacity: 0;
        transition: opacity 100ms ease;
        width: 1px;
    }
    .menu-expanded #block-lim-branding::before {
        opacity: 1;
    }
    .menu-expanded #block-lim-branding figure {
        opacity: 0;
    }


    .main-menu {
        align-items: flex-start;
        display: flex;
        gap: var(--section-h-padding);
        flex-direction: column;
        justify-content: flex-start;
        padding-top: var(--navbar-height);
    }
    .main-menu a {
        font-size: 110%;
        font-weight: var(--weight-semibold);
        line-height: 1em;
        padding: 6px var(--section-h-padding);
    }
    .main-menu a::after {
        height: 0px;
        left: 0;
        top: 4px;
        width: 3px;
    }
    .main-menu a:hover::after, .main-menu a.is-active::after {
        animation: none;
        height: calc(100% - 12px);
    }
    .main-menu .icon-large {
        font-size: 125%;
        font-weight: var(--weight-normal);
    }

    #block-demobutton {
        left: auto;
        margin-top: -24px;
        opacity: 0;
        top: calc(0px - var(--navbar-height));
        right: 56px;
        position: absolute;
        transition: opacity 150ms ease;
    }
    .menu-expanded #block-demobutton {
        top: calc(var(--navbar-height) / 2);
        opacity: 1;
    }
    #block-demobutton .button {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 80%;
        height: 48px;
        padding: 0 !important;
        width: 145px;
    }

    #block-lim-local-tasks {
        display: none;
    }

}

.language-picker {
    position: relative;
    margin-right: -6px;
}
.language-picker.flags a {
	display: block;
	position:relative;
	overflow: hidden;
	text-indent: 50px;
	max-width: 39px;
    padding-bottom: 19px;
}

.language-picker.flags a::before {
    border: 1px solid var(--black-bis);
	width: calc(100% - 12px);
	height: 100%;
}

.language-picker .caret {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    text-indent: 0;
}

.language-picker ul.links {
    position: absolute;
    left: -12px;
    top: 100%;
    background: var(--white);
    padding: 0;
    overflow: hidden;
    height: 0px;
    border-radius: 4px;
}
.language-picker:hover ul.links, .language-picker.active ul.links {
    height: auto;
    padding: 12px;
}

@media screen and (max-width: 1216px) {
    
    #block-languageswitcher {
        position: absolute;
        right: 0;
        top: var(--navbar-height);
        margin-top: 5px;
        opacity: 0;
        transition: all 150ms ease;
    }
    .menu-expanded #block-languageswitcher {
        opacity: 1;
    }

    .language-picker {
        margin: 0;
    }

    .language-picker ul {
        white-space: nowrap;
        border-radius: 0 !important;
        background: none;
    }

    .language-picker.flags a {
        display: inline-block;
        vertical-align: top;
        max-width: 32px;
        width: 32px;
        height: 0px;
        margin-left: 8px;
        padding-bottom: 26px;
    }

    .language-picker.flags a::before {
        width: 100%;
    }

    .language-picker ul.links {
        padding: 0 !important;
        display: inline-block;
        vertical-align: top;
        position: relative;
        top: auto;
        left: auto;
        height: auto;
    }

    .language-picker.flags .caret {
        display: none;
    }

}