/*========================================================================================= File Name: navigation.scss Description: Common mixin for menus, contain dark and light version scss. ---------------------------------------------------------------------------------------- Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template Author: PIXINVENT Author URL: http://www.themeforest.net/user/pixinvent ==========================================================================================*/ // Import first main menu mixin @import '../mixins/main-menu-mixin'; // Main menu base //============== .main-menu { z-index: 1031; position: absolute; display: table-cell; height: 100%; overflow: hidden; &.menu-light { @include menu-theme($body-color, $white); } &.menu-dark { @include menu-theme($menu-dark-color, $menu-dark-bg-color); } &.menu-fixed { position: fixed; } &.menu-static { height: 100%; padding-bottom: calc(100% - 20rem); .main-menu-content { height: unset !important; } } &.menu-shadow { box-shadow: 0 0 15px 0 rgba($black, 0.05); } &.menu-border { border-right: 1px solid $border-color; } // menu scroll shadow .shadow-bottom { display: none; position: absolute; z-index: 2; height: 50px; width: 100%; pointer-events: none; margin-top: -0.7rem; filter: blur(5px); background: linear-gradient(#fff 41%, hsla(0, 0%, 100%, 0.11) 95%, hsla(0, 0%, 100%, 0)); .bordered-layout & { background: linear-gradient($body-bg 41%, hsla(0, 0%, 100%, 0.11) 95%, hsla(0, 0%, 100%, 0)); } } // Native Scrollbar (.menu-native-scroll) &.menu-native-scroll { .main-menu-content { overflow-y: scroll !important; } } .navbar-header { height: 100%; width: $menu-expanded-width; height: $navbar-height; position: relative; padding: 0.35rem 1rem 0.3rem 1.64rem; transition: 300ms ease all, background 0s; .navbar-brand { display: flex; align-items: center; margin-top: 1.35rem; font-size: inherit; .brand-logo img { max-width: 36px; } .brand-text { color: $primary; padding-left: 1rem; margin-bottom: 0; font-weight: 600; letter-spacing: 0.01rem; font-size: 1.45rem; animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein; } } .modern-nav-toggle { animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein; } } .main-menu-content { height: calc(100% - #{$navbar-height}) !important; position: relative; .ps__rail-y { z-index: 3; } } ul { list-style: none; margin: 0; padding: 0; &.navigation-main { overflow-x: hidden; padding-bottom: 0.75rem; > li:first-child { margin-top: 0.5rem; } } } a { outline: none; &:hover, &:focus { text-decoration: none; } } } // Main Navigation .navigation { font-size: 1.1rem; font-family: $font-family-monospace; font-weight: 400; overflow-y: hidden; padding-bottom: 20px; .navigation-header { font-family: $font-family-monospace; font-weight: $headings-font-weight; line-height: $headings-line-height; padding: 12px 22px; font-size: 0.9rem; text-transform: uppercase; } li { position: relative; white-space: nowrap; a { display: block; text-overflow: ellipsis; overflow: hidden; i, svg { height: 11px; width: 11px; font-size: 11px; margin-right: 1.38rem; } } &.menu-item-animating { transition: height 0.25s ease-in-out; } &.disabled { a { cursor: not-allowed; opacity: 0.65; pointer-events: none; } } } } // Media queries for small screen devices // ========================================= @include media-breakpoint-down(md) { // menu hide/open animation .menu-hide .main-menu, .menu-open .main-menu { transition: transform 0.25s, top 0.35s, height 0.35s; } .main-menu { transform: translate3d(-240px, 0, 0); backface-visibility: hidden; perspective: 1000; } .menu-open .main-menu { transform: translate3d(0, 0, 0); } } @include media-breakpoint-up(md) { .drag-target { z-index: 0; } }