// // Menu // -------------------------------------------------- $menu-submenu-width: $menu-width - $menu-collapsed-width; .caret-right { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-left: $caret-width-base dashed; border-top: $caret-width-base solid transparent; border-bottom: $caret-width-base solid transparent; } .menu { background-color: $menu-bg; color: $menu-color; width: $menu-width; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; z-index: 9000; transition: width 0.2s cubic-bezier(.4,0,.2,1), transform 0.2s cubic-bezier(.4,0,.2,1); ol { padding-left: 0; margin: 0; } li { display: block; &.divider { border-top: 1px solid $menu-divider-border-color; } a { display: block; text-decoration: none; white-space: nowrap; line-height: $menu-link-height; } } a:not(.collapsed) .caret { transform: rotate(180deg); } } .menu-folded, .menu-collapsed { width: $menu-collapsed-width; &.menu-hovered { width: $menu-width; } } .menu-fixed { height: 100vh; position: fixed; top: 0; left: 0; } .menu-icon, .menu-body, .menu-caret { display: table-cell; vertical-align: middle; } .menu-icon { width: $menu-collapsed-width; min-width: $menu-collapsed-width; text-align: center; * { width: $menu-icon-size; height: $menu-icon-size; font-size: $menu-icon-size; line-height: 1; } } .menu-body { width: 100%; } .menu-caret { padding-right: 15px; } .menu-link-icon { color: $menu-link-icon-color; } .menu-link-body { font-weight: 600; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .menu-link { background-color: $menu-link-bg; color: $menu-link-color; &:hover, &:focus { background-color: $menu-link-hover-bg; color: $menu-link-hover-color; .menu-link-icon { color: $menu-link-hover-icon-color; } } .active &, .active:hover &, .active:focus & { background-color: $menu-active-bg; color: $menu-active-color; .menu-link-icon { color: $menu-active-icon-color; } } & > .menu-body { padding-left: 15px; } .menu-icon + .menu-body { padding-left: 0; } } .menu-header { background-color: $menu-header-bg; color: $menu-header-color; z-index: 1000; position: static; a { color: $menu-header-link-color; &:hover { background-color: $menu-header-link-hover-bg; color: $menu-header-link-hover-color; } } & > .menu-body { padding-left: 15px; } .menu-icon + .menu-body { padding-left: 0; } } .menu-header-icon { * { width: $menu-header-icon-size; height: $menu-header-icon-size; font-size: $menu-header-icon-size; } } .menu-header-body { height: $menu-header-height; position: relative; color: $menu-header-color; } .menu-header-heading { font-size: $menu-header-heading-size; margin-top: 0; margin-bottom: 0; color: $menu-header-color; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .menu-header-submenu { position: absolute; width: 100%; top: $menu-header-height; background-color: $menu-header-submenu-bg; color: $menu-header-submenu-color; border-top: 1px solid $menu-header-submenu-border-color; a { color: $menu-header-submenu-link-color; padding-left: 22px; &:hover { background-color: $menu-header-submenu-link-hover-bg; color: $menu-header-submenu-link-hover-color; } } } .menu-footer { background-color: $menu-footer-bg; color: $menu-footer-color; z-index: 1000; position: static; a { color: $menu-footer-link-color; &:hover { background-color: $menu-footer-link-hover-bg; color: $menu-footer-link-hover-color; } &.collapsed .caret { transform: rotate(180deg); } &:not(.collapsed) .caret { transform: rotate(0deg); } } } .menu-footer-icon { * { width: $menu-footer-icon-size; height: $menu-footer-icon-size; font-size: $menu-footer-icon-size; } } .menu-footer-body { height: $menu-footer-height; position: relative; color: $menu-footer-color; } .menu-footer-heading { font-size: $menu-footer-heading-size; margin-top: 0; margin-bottom: 0; color: $menu-footer-color; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .menu-footer-submenu { position: absolute; width: 100%; bottom: $menu-footer-height; background-color: $menu-footer-submenu-bg; color: $menu-footer-submenu-color; border-top: 1px solid $menu-footer-submenu-border-color; border-bottom: 1px solid $menu-footer-submenu-border-color; a { color: $menu-footer-submenu-link-color; padding-left: $menu-collapsed-width; &:hover { background-color: $menu-footer-submenu-link-hover-bg; color: $menu-footer-submenu-link-hover-color; } } } .menu-submenu { width: $menu-submenu-width; margin-left: $menu-collapsed-width; color: $menu-submenu-color; background-color: $menu-submenu-bg; z-index: 8000; .menu-header { color: $menu-submenu-header-color; background-color: $menu-submenu-header-bg; } .menu-link { background-color: $menu-submenu-link-bg; color: $menu-submenu-link-color; &:hover, &:focus { background-color: $menu-submenu-link-hover-bg; color: $menu-submenu-link-hover-color; .menu-link-icon { color: $menu-submenu-link-hover-icon-color; } } .active &, .active:hover &, .active:focus & { background-color: $menu-submenu-active-bg; color: $menu-submenu-active-color; .menu-link-icon { color: $menu-submenu-active-icon-color; } } } } .menu-submenu-collapsed { transform: translate3d(-$menu-width, 0, 0); } @media (min-width: $grid-float-breakpoint) { .menu-app { margin-left: 0; } }