#menu { margin-bottom: 3em; } .sidebar-collapsed #menu { margin-bottom: 8em; } #menu .config-menu { position: absolute; bottom: 0; left: 0; right: 0; background-color: @menu-bg-color; margin-top: auto; > ul { display: flex; flex-wrap: nowrap; padding: 0; > li { > a { padding: 0.5em 0.5em 0.5em 0.75em; line-height: 2.167em; white-space: nowrap; text-decoration: none; } &:hover .nav-level-1 { display: block; } } li.active a:after { display: none; } .user-nav-item { width: 100%; overflow: hidden; // necessary for .text-ellipsis of > a { overflow: hidden; text-overflow: ellipsis; } &:not(.active):hover a, &:not(.active) a:focus { background: @menu-hover-bg-color; } } .config-nav-item { line-height: 2; display: flex; align-items: center; position: relative; > button { background: none; border: none; display: block; .rounded-corners(); > .state-badge { position: absolute; pointer-events: none; } .icon { opacity: .8; font-size: 1.25em; &:before { margin-right: 0; } } } &:hover > button { background: fade(@menu-hover-bg-color, 25); > .state-badge { display: none; } } button:focus { background: fade(@menu-hover-bg-color, 25); } &.active > button { color: @text-color-inverted; background: @icinga-blue; } } .state-badge { line-height: 1.2; padding: .25em; font-family: @font-family-wide; } } .nav-level-1 li { &.badge-nav-item > a { display: flex; align-items: baseline; width: 100%; .state-badge { margin-left: auto; } } } .nav-item-logout { color: @color-critical; border-top: 1px solid @gray-lighter; } .user-ball { .ball(); .ball-size-l(); .ball-solid(@icinga-blue); // icingadb-web/public/css/common.less: .user-ball font-weight: bold; text-transform: uppercase; // compensate border vertically and add space to the right; margin: -1px .2em -2px 0; border: 1px solid @text-color-inverted; font-style: normal; line-height: 1.2; } } #layout:not(.sidebar-collapsed) #menu .config-menu { .user-nav-item { > a { padding-right: 4.75em; } &.active.selected + .config-nav-item { > button { color: @text-color-inverted; } } } .config-nav-item { position: absolute; right: 2.5em; bottom: 0; top: 0; .state-badge { left: -1em; top: 0; } } .flyout { bottom: 100%; right: -2em; width: 15em; } } .sidebar-collapsed #menu .config-menu { ul { flex-direction: column; .user-ball { margin-left: .25em * 1.5/2; margin-right: .5em + .25em * 1.5/2; width: 2em * 1.5/2 ; height: 2em * 1.5/2; font-size: 2/1.5em; line-height: 1; } .config-nav-item { padding-right: 0; margin-bottom: 3em; .icon { font-size: 1.5em; } button { position: relative; width: 3em; margin: .125em .5em; padding: .5em .75em; .state-badge { right: -.25em; bottom: -.25em; font-size: .75em; overflow: hidden; text-overflow: ellipsis; max-width: 4em; } } } } .flyout { bottom: 0; left: 100%; width: 14em; &:before { left: -.6em; bottom: 1em; transform: rotate(135deg); } } } .flyout { display: none; position: absolute; border: 1px solid @gray-lighter; background: @body-bg-color; box-shadow: 0 0 1em 0 rgba(0,0,0,.25); z-index: 1; .rounded-corners(); a { font-size: 11/12em; padding: 0.364em 0.545em 0.364em 2em; line-height: 2; &:hover { text-decoration: none; background: @menu-2ndlvl-highlight-bg-color; } } h3 { font-size: 10/12em; color: @text-color-light; letter-spacing: .1px; padding: 0.364em 0.545em 0.364em 0.545em; margin: 0; } .flyout-content { overflow: auto; // Partially escape to have ems calculated max-height: calc(~"100vh - " 50/12em); padding: .5em 0; position: relative; } // Caret &:before { content: ""; display: block; position: absolute; transform: rotate(45deg); background: @body-bg-color; border-bottom: 1px solid @gray-lighter; border-right: 1px solid @gray-lighter; height: 1.1em; width: 1.1em; bottom: -.6em; right: 2.5em; } } // Prevent flyout to vanish on autorefresh #layout.config-flyout-open .config-nav-item { .flyout { display: block; } > button > .state-badge { display: none; } } #layout.minimal-layout .config-menu { display: none; } #layout.minimal-layout #menu { margin-bottom: 0; } #layout:not(.minimal-layout) #menu .primary-nav { .user-nav-item, .configuration-nav-item, .system-nav-item { display: none; } }