.navbar { background: #fff; color: $body-color; border-bottom: 1px solid $border-color; display: flex; min-height: 3.5rem; width: 100%; .nav-link { color: inherit; white-space: nowrap; } } .navbar-nav { flex-direction: row; margin-left: -($navbar-padding-x); margin-right: -($navbar-padding-x); .nav-link { display: flex; color: $text-muted; transition: .3s color; &:hover { color: $body-color; } } .nav-item { position: relative; } .navbar-nav { padding-left: .5rem; padding-right: .5rem; } } .navbar:not(.navbar-side) .navbar-subnav { position: absolute; top: 100%; left: 0; z-index: $zindex-tooltip; background: #fff; border: 1px solid $border-color; border-radius: 3px; width: 12rem; font-size: $h5-font-size; box-shadow: 0 0.5rem 1rem rgba(18, 18, 18, 0.15); padding: .25rem; .nav { flex-direction: column; } } /** Navbar brand */ .navbar-brand { display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; @at-root a#{&} { transition: .3s opacity; &:hover { opacity: .8; } } } .navbar-brand-logo { height: 2rem; } /** Navbar toggler */ .navbar-toggler { padding: 0; border: 0; } .navbar-toggler-icon { width: 2rem; height: 2rem; } /** Fixed navbar */ .navbar-fixed { position: fixed; z-index: $zindex-sticky; &.navbar-side { top: 0; left: 0; bottom: 0; &.navbar-right { right: 0; left: auto; } } } /* Sidebar */ .navbar-side { width: $sidenav-width; min-width: $sidenav-width; background: $sidenav-bg; border-right: 1px solid $sidenav-border-color; user-select: none; flex-direction: column; align-items: inherit; margin: 0; pointer-events: inherit; justify-content: start; flex-wrap: nowrap; overflow: auto; .nav { flex-direction: column; } .nav-link { display: flex; align-items: center; color: $text-muted; height: 2.5rem; padding: 0 $navbar-padding-x; box-shadow: inset 2px 0 0 0 transparent; transition: .3s background, .3s box-shadow; &[aria-expanded=true], &:hover { background: rgba($link-color, .04); border-color: $primary; box-shadow: inset 2px 0 0 0 $primary; } > .icon { width: 2rem; } &[data-toggle="collapse"] { &:after { display: block; font-family: $font-icons !important; content: ''; margin-left: auto; transition: transform .3s; } &[aria-expanded="true"]:after { transform: rotate(-180deg); } } } &:not(.navbar-folded) { &[data-toggle="collapse"][aria-expanded=true] { background: none; box-shadow: none; } } &:not(.hide-navbar-folded) { .nav-item .nav-item .nav-link { padding-left: 2.5rem; } .nav-item .nav-item .nav-item .nav-link { padding-left: 3.5rem; } .nav-item .nav-item .nav-item .nav-item .nav-link { padding-left: 4.5rem; } } .navbar-brand { text-align: center; height: 2.5rem; } .navbar-heading { @extend .subheader; margin: 0 0 .5rem; } .navbar-nav { flex-direction: column; } } /* Fixed navbar */ .navbar-fixed { top: 0; bottom: 0; + .navbar-bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba($dark, .2); z-index: $zindex-dropdown; display: none; } } /* Responsive utils */ .navbar { &.navbar-side { display: none; @include media-breakpoint-up(xl) { display: flex; &.navbar-fixed { & ~ .layout-main { margin-left: $sidenav-width; } &.navbar-right ~ .layout-main { margin-left: 0; margin-right: $sidenav-width; } } } &.navbar-folded { display: flex; &.navbar-fixed { @include media-breakpoint-up(lg) { & ~ .layout-main { margin-left: $sidenav-folded-width; } &.navbar-right ~ .layout-main { margin-left: 0; margin-right: $sidenav-folded-width; } } } } } } /* Right navbar */ .navbar-right { order: 9; border-right: none; border-left: 1px solid $sidenav-border-color; } /* Dark navbar */ .navbar-dark { color: #fff; background-color: $sidenav-dark-bg; .navbar-brand { filter: brightness(0) invert(1); } .navbar-divider { border-color: rgba(#fff, .2); } .nav-link { color: inherit; } } /** Sticky navbar */ .navbar-sticky { position: sticky; top: 0; z-index: 100; &.navbar-side { left: 0; } } /** Folded navbar */ .navbar-folded { width: $sidenav-folded-width; min-width: $sidenav-folded-width; .navbar-brand { width: 2.5rem; } .navbar-heading { display: none; } .nav-text { display: none; } .nav-link { padding-top: 0; padding-bottom: 0; justify-content: center; &[data-toggle="collapse"]:after { content: none; } } .nav-icon { opacity: 1; justify-content: center; } .navbar-subnav { position: absolute; left: 100%; top: 0; background: #fff; .nav-text { display: block; } .nav-link { color: $body-color; } } } .nav-icon { display: flex; width: 1.5rem; border-radius: 100%; flex-shrink: 0; opacity: .8; font-size: px2rem(15px); align-items: center; .icon { font-size: inherit; } } .nav-text { display: flex; width: 100%; align-items: center; } /** Utils */ .hide-navbar-folded { @at-root .navbar-side.navbar-folded & { display: none; } } .hide-navbar-expanded { @at-root .navbar-side:not(.navbar-folded) & { display: none; } } .navbar-toggler-icon { outline: 1px solid red; }