/* Navigation bar and site identity. */
@media print {
    header,
    #sidebar,
    #navbar {
        display: none;
    }
}

/* Top bar */
.top-shaded {
    position: relative;
    display: flex;
    align-items: center;
    height: 48px;
    margin: 0 auto;
    background: var(--sra-color-surface-muted);

    & .container {
        display: flex;
        align-items: center;
    }
}

.top-item {
    overflow-x: hidden;
    margin: 0 10px;
    color: black;
    font-size: 15px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-pack-right {
    flex: 1 0 0px;
    text-align: right;
}

/* Identity */
.identity-block {
    vertical-align: middle;
}

.identity-link {
    display: inline-block;
    max-width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
    color: var(--sra-color-text);
    font-size: 24px;
    line-height: 1.3;
    vertical-align: middle;
}

.identity-box {
    display: inline-box;
    width: 36px;
    height: 36px;
    margin-right: 20px;
    border: 6px solid var(--sra-color-accent);
}

.identity-logo {
    float: right;

    & img {
        height: 70px;
    }
}

.logo-container {
    padding-top: 15px;
    padding-bottom: 15px;
}

.luh_logo {
    height: 36px;
    margin-right: 10px;
}

.identity-xsmall {
    display: inline-block;
}

.identity-full {
    display: none;
}

@media (min-width: 800px) {
    .identity-full {
        display: inline-block;
    }

    .identity-xsmall {
        display: none;
    }
}

@media (max-width: 799px) {
    .identity-box {
        display: none;
    }

    .identity-logo {
        float: left;

        & img {
            height: 38px;
            margin: 15px 10px 20px 0px;
        }
    }

    .logo-container {
        padding-bottom: 5px;
    }
}

/* Navigation */
.navbar {
    position: relative;
    min-height: 50px;
    margin-bottom: 10px;
    border: 1px solid transparent;
    color: var(--sra-color-text);
}

.navbar-collapse {
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
}

.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-top: 17px;
    border-radius: 4px;

    &:focus {
        outline: 0;
    }

    & .icon-bar {
        display: block;
        width: 22px;
        height: 3px;
        border-radius: 1px;
        background: var(--sra-color-primary);

        & + .icon-bar {
            margin-top: 4px;
        }
    }
}

.navbar-nav {
    & hr {
        border-top: 1px solid var(--sra-color-border);
    }
}

.nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

ul.nav {
    & > li {
        position: relative;
        display: block;
        padding-left: 25px;
        border-left: 1px solid var(--sra-color-border);
    }

    & > li.headline {
        padding-bottom: 7px;
        color: #6e7881;
        font-family: inherit;
        font-size: 15px;
        font-weight: bold;

        &:not(:first-child) {
            padding-top: 20px;
        }
    }
}

.nav-item {
    &:first-child {
        padding-left: 0px;
        border: none;

        & a {
            margin-left: 0px;
        }
    }

    & > a {
        position: relative;
        display: block;
        margin: 0px 25px 0px 0px;
        border-bottom: 3px solid transparent;
        color: var(--sra-color-text);
        font-size: 24px;
        font-weight: 600;

        &:active,
        &:hover,
        &:focus {
            text-decoration: none !important;
        }

        & > img {
            max-width: none;
        }
    }

    & a:hover,
    & a:active,
    & a:focus {
        border-bottom: 3px solid var(--sra-color-accent);
    }
}

.nav-active > a {
    border-bottom: 3px solid var(--sra-color-primary);
}

.navbar-sub-container {
    position: absolute;
    z-index: 999;
    display: none;
    width: 100%;
    padding-top: 10px;

    &:hover {
        display: block;
    }

    & .navbar-sub {
        width: max-content;
        padding: 10px 20px;
        background: var(--sra-color-surface-muted);

        & ul {
            margin: 0px;
            padding: 0px;
            list-style: none;
        }

        & li {
            padding: 2px 0px;
            font-weight: bold;

            & :hover {
                border-bottom: 3px solid transparent;
            }
        }
    }
}

.visible-xs,
.subnav-xs {
    display: none;
}

.subnav-xs {
    & .headline {
        margin-top: 5px;
        padding: 0px;
        border: none;
        color: var(--sra-color-text);
        font-size: 20px;
        font-weight: 600;
    }

    & .nav-item a {
        border: none;
        color: var(--sra-color-primary);
        font-size: 16px;

        &:hover,
        &:focus,
        &:active {
            text-decoration: underline !important;
        }
    }
}

#subnav {
    border-bottom: 1px solid var(--sra-color-border);

    & * {
        color: var(--sra-color-primary);
        font-weight: 600;
    }
}

ul.subnav {
    margin: 20px 0px;
    padding-left: 0px;
    font-size: 0px;
    list-style: none;

    & .nav-item {
        display: inline-block;
        width: 24%;
        max-width: 24%;
        border: none;
        vertical-align: top;

        & a {
            font-size: 16px;

            &:hover,
            &:focus,
            &:active {
                border-bottom: 3px solid transparent;
                text-decoration: underline;
            }
        }
    }

    & .headline {
        margin-top: 5px;
        color: var(--sra-color-text) !important;
        font-size: 18px;
    }
}

.subnav .menu-append-item a {
    font-size: 16px;
}

.lecture-menu-append {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px 0px;
    justify-content: flex-start;

    & .headline {
        flex-basis: 100%;
        margin-top: 5px;
        color: var(--sra-color-text) !important;
        font-size: 18px;
    }

    & .menu-append-item {
        flex-basis: 24%;
    }
}

@media (min-width: 800px) {
    .navbar-collapse {
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;

        &.collapse {
            display: block !important;
            height: auto !important;
            padding-bottom: 0;
            overflow: visible !important;
        }

        &.in {
            overflow-y: visible;
        }
    }

    .navbar-toggle {
        display: none;
    }

    .navbar-nav .nav-item {
        float: left;
    }

    .nav-item:hover > div {
        display: block;
    }
}

@media (max-width: 799px) {
    .visible-xs,
    .subnav-xs {
        display: block !important;
        border-color: var(--sra-color-body-text);
    }

    #subnav-lectures {
        display: none;
    }

    #navbar {
        width: fit-content;
        margin-top: -25px;
        margin-left: auto;
        padding: 5px 15px;
        border: 1px solid var(--sra-color-border);
        border-radius: 3px;
        background: var(--sra-color-surface-nav);
        text-align: right;

        & .nav-item {
            float: none !important;
            padding-left: 0px;
            border: 0px;

            & a {
                margin: 0px;
                border-bottom: 3px solid transparent;
            }
        }
    }

    .navbar {
        min-height: unset !important;
    }

    .navbar-toggle {
        border: none;
        border-radius: 2px;
        background: none;
        color: var(--sra-color-primary);
    }

    ul.navbar-nav {
        display: flex;
        flex-wrap: wrap;
    }

    .navbar-sub-container {
        position: unset;
        display: block;
        padding: 0;

        & .navbar-sub {
            padding: 0px;
        }
    }

    li.nav-item-main {
        float: unset;
        flex-basis: 50%;
        text-align: left;
    }

    .lecture-menu-append .menu-append-item {
        flex-basis: 45%;
    }
}
