body {
    overflow: auto;
}

.il-layout-page {
    grid-template-rows: auto auto 1fr;
    overflow: visible;
    overflow-x: hidden;
    height: auto;
}

/* header */
header.disabled {
    pointer-events: none;
    opacity: 0.3;
}

.header-inner {
    position: relative;
    height: auto;
    padding: 5px 15px;
    z-index: 100;
}

.il-logo {
    height: auto;
}
.il-logo img.rf-logo,
.il-logo img.custom-logo {
    width: auto;
    height: 100px;
    padding: 8px;
    object-fit: contain;
}

@media only screen and (max-width: 768px) {
    .il-logo {
      width: auto;
    }
    .il-logo img.rf-logo, .il-logo img.custom-logo {
        height: 45px;
    }
}

.il-pagetitle {
    flex-direction: column;
    align-items: flex-start;
}
.il-pagetitle em {
    display: block;
    font-weight: normal;
    font-style: normal;
    font-size: var(--font-size-small);
}


/* top menu - right */

.metabar > ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: end;
}
.metabar .btn-bulky > .bulky-label {
    display: none;
}
header .metabar .icon {
    color: var(--color-grey);
    font-size: 1.2em;
}
header .il-maincontrols-metabar .btn {
    border: 0;
}
header .il-maincontrols-metabar li {
    position: relative;
}
header .il-maincontrols-metabar .il-metabar-slates .il-maincontrols-slate {
    min-width: 400px;
    z-index: 1000;
}

/* searchbar */

#ilMMSearchMenu {
    display: none;
}
.header-inner li.search {
    display: flex;
}
.header-inner li.search > button {
    display: none !important;
}
.header-inner li.search :is(#ilMMSearchMenu, #mm_search_menu_ac) {
    display: none;
}
.header-inner .il-maincontrols-metabar form#mm_search_form {
    padding: 0;
}
.header-inner li.search #mm_search_form .input-group {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 300px;
}
.header-inner li.search #mm_search_form .input-group-btn {
    flex-grow: 2;
}
.header-inner li.search #mm_search_form button {
    background: var(--color-xdark-blue);
    color: var(--color-white);
    padding: 5px 10px;
    border-top-right-radius: var(--border-radius-large);
    width: 100%;
    height: 100%;
}
.header-inner li.search #mm_search_form button .glyphicon {
    filter: none;
}
.header-inner li.search #mm_search_form > .input-group input {
    min-width: 0;
    position: relative;
    background: var(--color-xxlight-grey);
    border: 0;
    border-bottom: 2px solid var(--color-xdark-blue);
    border-radius: 0;
    border-top-left-radius: var(--border-radius-large);
    padding: 0.3em 1em;
}

@media (max-width: 768px) {
    .header-inner li.search #mm_search_form .input-group {
        width: 3em;
    }
    .header-inner li.search #mm_search_form > .input-group input {
        position: absolute;
        right: 0;
        width: 100%;
        min-width: 3em;
        height: 100%;
        opacity: 0;
        z-index: 10;
        cursor: pointer;
        transition: opacity 0.1s ease-in-out 0s, right 0.5s ease-in-out 0.5s;
    }
    .header-inner li.search #mm_search_form > .input-group input:focus {
        transition: opacity 0.3s ease-in-out 0.5s, right 0.1s ease-in-out 0s;
        opacity: 1;
        right: 100%;
        min-width: 200px;
        cursor: text;
    }
    .il-maincontrols-metabar {
        margin: 0;
    }
}


.il-avatar.il-avatar-letter {
    background-color: var(--color-xdark-blue) !important;
    border-color: var(--color-xlight-grey) !important;
    color: var(--color-white) !important;
}
.il-avatar {
    height: 5em;
    width: 5em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4em;
    border-style: solid;
    border-width: 2px;
    overflow: hidden;
    font-size: 0.7em;
}
.il-avatar.il-avatar-letter span.abbreviation {
    text-transform: uppercase;
    top: 0;
    font-size: var(--font-size-xsmall);
}
.il-avatar + .bulky-label {
    display: none;
}


/* header navbar */
.header-menu {
    border-top: 1px solid var(--color-light-grey);
    padding: 0 12px;
    box-shadow: var(--box-shadow);
}
.header-menu .il-mainbar {
    background: transparent;
    box-shadow: none;
}
.header-menu .il-mainbar-triggers {
    position: relative;
    width: 100%;
    display: block;
}
.header-menu .il-mainbar-entries {
    display: flex;
}
.header-menu .il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky, .btn-bulky:hover, .il-link.link-bulky:hover) {
    background: transparent;
    color: var(--color-black);
    font-size: var(--font-size-xsmall);
    display: flex;
    white-space: nowrap;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5em;
    height: auto;
    border: 0;
    padding: 15px;
}
.header-menu .il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky).engaged {
    background: var(--color-xxxlight-blue) !important;
}
.header-menu .il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky).engaged span {
    color: var(--color-xdark-blue);
}
.header-menu .il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky) > img {
    display: none;
}
.header-menu .il-mainbar-tools-button {
    display: none;
}
.header-menu .il-mainbar-entries li {
    position: relative;
    margin: 0;
}
.header-menu .il-mainbar-entries li > div {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: max(130%, 300px, 20svw);
    background: var(--color-white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-large);
}
.header-menu .il-mainbar-triggers > ul > li > .btn-bulky::after {
    content: "\e114";
    font-family: "Glyphicons Halflings";
    font-size: 0.6em;
    transition: rotate .3s ease-in-out;
    rotate: 0deg;
}
.header-menu .il-mainbar-triggers > ul > li > .btn-bulky.engaged::after {
    rotate: 180deg;
}
.il-maincontrols-slate .btn-bulky.engaged::before,
.il-maincontrols-slate .link-bulky.engaged::before,
.il-maincontrols-slate .btn-bulky.disengaged::before,
.il-maincontrols-slate .link-bulky.disengaged::before {
    font-size: 0.5em;
}

body.menu-vertical .il-maincontrols-mainbar {
    background: var(--color-xxlight-grey);
    grid-template-columns: auto 100%;
    position: sticky;
    top: 0;
    height: 100svh;
}
body.menu-vertical .il-mainbar-slates {
    width: 329px;
}
body.menu-vertical .il-mainbar-tools-button .btn-bulky, .il-mainbar-tools-button .btn-bulky.engaged {
    background: var(--color-xdark-blue);
}
body.menu-vertical .il-mainbar-tools-button .btn-bulky .icon, .il-mainbar-tools-button .btn-bulky.engaged .icon {
    filter: invert(0);
}
body.menu-vertical .il-maincontrols-slate :not(.backnav) > :is(.btn-bulky:hover, .link-bulky:hover, .btn-bulky.engaged, .link-bulky.engaged) {
    background: var(--color-xxlight-blue) !important;
}

body.menu-vertical .nav.il-maincontrols {
    position: relative;
}
body.menu-vertical .il-layout-page {
    overflow-x: clip;
}

body.menu-vertical .il-mainbar-triggers .btn-bulky,
body.menu-vertical .il-mainbar-triggers .il-link.link-bulky {
    border-bottom: 1px solid #dddddd !important;
}

@media (max-width: 768px) {
    .il-layout-page.with-mainbar-slates-engaged .nav.il-maincontrols {
        z-index: 1000;
        height: 100svh;
    }
    .nav.il-maincontrols {
        position: fixed !important;
    }
    body.menu-vertical .il-maincontrols-mainbar {
        height: auto;
    }
}


body.menu-horizontal .il-maincontrols-slate-content header.show-title {
    display: none;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > button.menulevel {
    display: none;
}
body.menu-horizontal .il-drilldown li > .menulevel, .il-drilldown li > .btn-bulky,
body.menu-horizontal .il-drilldown li > .link-bulky, .il-drilldown li > hr {
    display: inherit;
}
body.menu-horizontal .header-menu .il-mainbar-entries li {
    position: relative;
    margin: 0;
    align-items: center;
    display: flex;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown ul {
    width: 100%;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > button.menulevel > .glyphicon {
    font-size: var(--font-size-xxxsmall);
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > button.menulevel.engaged {
    color: var(--color-xdark-blue);
    background: var(--color-xxxlight-blue) !important;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > button.menulevel.engaged + ul,
body.menu-horizontal .il-maincontrols-slate-content > ul > li > .il-maincontrols-slate.engaged {
    display: block !important;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > ul,
body.menu-horizontal .il-maincontrols-slate-content > ul > li > .il-maincontrols-slate {
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    background: var(--color-white);
    display: none;
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow);
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > ul a {
    padding: 8px 15px !important;
    justify-content: flex-start;
    min-height: 0;
}
body.menu-horizontal .il-maincontrols-slate-content .il-drilldown > ul > li > ul > li > ul a span {
    text-align: left !important;
}


/* navbar */
.il-mainbar-triggers {
    position: sticky !important;
    top: 0;
    background: transparent;
}
.il-mainbar-slates {
    height: 100svh;
    position: sticky !important;
    top: 0;
    width: 100%;
}
.il-mainbar {
    background-color: var(--color-xxxlight-blue);
}
.il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky, .btn-bulky:hover, .il-link.link-bulky:hover) {
    background: transparent;
    text-decoration: none !important;
    color: var(--color-black);
}
.il-mainbar-triggers :is(.btn-bulky, .il-link.link-bulky, .btn-bulky:hover, .il-link.link-bulky:hover) .bulky-label {
    color: var(--color-black);
    text-decoration: none;
    margin: 0;
}
.il-mainbar-slates {
    box-shadow: none;
    background: var(--color-xxxlight-blue);
}
.il-maincontrols-slate .btn-bulky, .il-maincontrols-slate .link-bulky {
    background-color: transparent;
    margin-bottom: 0;
    color: var(--color-black);
    border-bottom: 1px solid var(--color-xlight-blue);
}
body.menu-vertical .il-maincontrols-slate .btn-bulky, .il-maincontrols-slate .link-bulky {
    border-bottom: none;
}
.il-maincontrols-mainbar {
    grid-template-columns: 0 100%;
}
.il-layout-page.with-mainbar-slates-engaged .il-maincontrols-mainbar .il-mainbar-close-slates {
    display: none;
}
.il-mainbar-tools-entries:not(:has(li:nth-child(2))) {
    display: none;
}
.il-mainbar-tools-entries-bg {
    background-color: var(--color-xxxlight-blue);
}
.il-tree li.il-tree-node.highlighted > .node-line {
    background-color: var(--color-xxlight-blue);
}
.il-mainbar-tools-entries .btn-bulky .bulky-label, .il-mainbar-tools-entries .btn-bulky .bulky-label, .il-mainbar-tools-entries .il-link.link-bulky .bulky-label {
    overflow: visible;
}
.il-mainbar-tools-entries .btn-bulky.engaged, .il-mainbar-tools-entries .btn-bulky.engaged, .il-mainbar-tools-entries .il-link.link-bulky.engaged {
    background-color: transparent;
    color: var(--color-black);
    width: auto;
    margin-left: 10px;
    display: flex;
    align-items: center;
    font-size: var(--font-size-normal);
    overflow: visible;
}
body.menu-horizontal .il-layout-page .il-maincontrols-mainbar .il-mainbar-slates {
    display: none;
}
body.menu-horizontal.mindef-style-loaded .il-layout-page .il-maincontrols-mainbar .il-mainbar-slates {
    display: flex;
    flex-direction: column;
    z-index: 996;
}
body.menu-horizontal.mindef-style-loaded .il-layout-page .il-maincontrols-mainbar {
    width: 409px;
}
.nav.il-maincontrols.disengaged :is(.il-layout-page.with-mainbar-slates-engaged, .il-maincontrols-mainbar) {
    width: 0;
    display: none;
}
.il-drilldown .menulevel {
    background: transparent;
}


/* login page */

body.is_login .il-layout-page-content {
    min-height: 80svh;
}
.ilLogin_wrapper {
    display: flex;
    width: 100svw;
    translate: -50% 0;
    position: relative;
    left: 50%;
    top: -80px;
    margin-bottom: -80px;
    gap: 3rem;
    min-height: 80svh;
}
.ilLogin_wrapper > * {
    flex: 1;
    display: flex;
    align-items: center;
}
.ilLogin_wrapper .ilLogin_thumbnail.hidden {
    max-width: 0;
}
.ilLogin_wrapper img.login-thumbnail {
    height: 100%;
    object-fit: cover;
}
body.is_login div.ilAdminRow {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

div.ilStartupSection form.form-horizontal .ilFormHeader {
    background: transparent;
}
div.ilStartupSection form.form-horizontal {
    border: 0;
    width: 100%;
    max-width: 40rem;
    min-width: 350px;
}

div.ilStartupSection form[name="formlogin"] .form-group > * {
    float: none;
    width: 100%;
}
div.ilStartupSection form[name="formlogin"] .form-group label {
    font-size: var(--font-size-xsmall);
}
div.ilStartupSection form[name="formlogin"] :is(.ilFormRequired, .asterisk) {
    visibility: hidden;
}
div.ilStartupSection form[name="formlogin"] :is(.ilFormHeader, .ilFormFooter, .form-group > *) {
    padding-left: 0;
    padding-right: 0;
}
div.ilStartupSection :is(a.il_ContainerItemCommand2:link, a.il_ContainerItemCommand2:visited, a.il_ContainerItemCommand:link, a.il_ContainerItemCommand:visited) {
    font-size: var(--font-size-xxsmall);
    display: block;
    text-align: center;
    margin: 0;
}
div.ilStartupSection input:is([type="text"], [type="password"]) {
    border: 0;
    border-bottom: 3px solid var(--color-xdark-blue);
    border-radius: 0;
    background: var(--color-xxxlight-grey);
}

@media (max-width: 768px) {
    .ilLogin_wrapper {
        flex-direction: column;
    }
    .ilLogin_wrapper .ilLogin_thumbnail.visible {
        max-height: 200px;
    }
    .ilLogin_wrapper img.login-thumbnail {
        height: 200px;
        object-fit: cover;
        width: 100%;
    }
}


/* main page */

.il-layout-page-content {
    padding: 30px;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    min-height: 100svh;
    overflow: visible;
}

@media (max-width: 768px) {
    .il-layout-page-content {
        padding: 10px;
    }
}

#ilContentContainer img {
    max-width: 100% !important;
}


/* breadcrumbs */

.breadcrumbs {
    box-shadow: none;
}
body.menu-horizontal .breadcrumb_wrapper {
    --breadcrumb-offset: 100px;
    margin-left: calc(var(--breadcrumb-offset) * -1);
    width: calc(100% + (var(--breadcrumb-offset) * 2));
    margin-bottom: 20px;
}
.breadcrumb_wrapper .breadcrumb span.crumb a {
    color: var(--color-grey);
}
.breadcrumb_wrapper .breadcrumb span.crumb a:focus {
    border: 0;
}
.breadcrumb_wrapper .breadcrumb > span + span::before {
    color: var(--color-grey);
    padding: 0 1em;
    font-size: 0.6em;
    vertical-align: middle;
    display: inline-block;
}
.with-mainbar-slates-engaged nav.breadcrumb_wrapper {
    --breadcrumb-offset: 0;
}
@media only screen and (max-width: 1650px) {
    nav.breadcrumb_wrapper {
        --breadcrumb-offset: 0 !important;
    }
}
