Files
2026-02-22 21:59:33 +01:00

670 lines
15 KiB
Plaintext

//
// Generate Sidebar Caret Style
//
.sidebar-caret(@style) {
.sidebar-menu {
li > a > span.caret,
li > a.menu-open > span.caret {
color: inherit;
width: 20px;
height: 20px;
top: 0;
margin: 0;
border: 0;
}
li > a > span.caret:after {
content: "\f105";
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
text-decoration: inherit;
font-size: 14px ;
display: inline-block;
padding-right: 3px;
float: right;
right: 0;
}
li > a.menu-open > span.caret:after { content: "\f107"; }
li > ul > li > a > span.caret,
li > ul > li > a.menu-open > span.caret {
top: 11px;
}
} // #End: sidebar menu
// Alt Caret style in a Horizontal Menu
.sb-top .sidebar-menu {
li > a > span.caret,
li > a.menu-open > span.caret {
width: 18px;
height: 18px;
line-height: 1;
}
li > ul > li > a > span.caret,
li > ul > li > a.menu-open > span.caret {
top: 11px !important;
}
} // #End: sidebar menu
} // #End: Caret Style mixin
//
// Generate Sidebar "Top" Variant - Horizontal Menu Style
//
.sidebar-top-variant() {
// Modify primary content wrappers for static navbar
.navbar + #sidebar_left + #content_wrapper,
.navbar.navbar-static-top + #sidebar_left + #content_wrapper {
margin-left: 0;
padding-top: 55px;
}
// Modify primary content wrappers for fixed navbar
.navbar.navbar-fixed-top + #sidebar_left + #content_wrapper {
margin-left: 0;
padding-top: 115px;
}
// Hide sidebar_right toggle btn as sidebar is
// not compatible when a horizontal menu is used
#toggle_sidemenu_r { display: none !important; }
// Modify Topbar-dropmenu settings when in Boxed layout
#topbar-dropmenu { top: 0; }
// Modify Topbar fixed settings
#topbar.affix { margin-left: 0; }
// Modify Topbar fixed settings when in Boxed layout
&.boxed-layout #topbar.affix {
width: 1140px !important;
margin-left: 0;
margin-right: 0;
left: auto;
right: auto;
}
// Modify Topbar fixed settings when in boxed layout and sidebar_right is open
&.boxed-layout.sb-r-o #topbar.affix {
width: 840px!important;
}
// Modify navbar trays
.navbar-nav.navbar-right,
.navbar-nav.navbar-right:last-child { margin-right: 0; }
// Modify navbar branding
.navbar-branding { width: 160px; }
// Convert Left Sidebar into Horizontal "OnHover" Menu
#sidebar_left {
overflow: visible;
z-index: 1028;
width: 100%;
min-height: 0;
margin-top: 60px;
padding: 0;
border: 0;
// Hide sidebar labels/trays/titles as they are incompatible
.sidebar-toggle-mini,
.sidebar-menu .sidebar-label,
.sidebar-menu li > ul > li > ul > li .label,
.sidebar-menu .sidebar-title-tray {
display: none !important;
}
// Top Level Menu
.sidebar-menu {
padding-bottom: 0;
// items
> li { float: left; }
> li:first-child { padding-top: 0; }
// item links
> li > a {
overflow: visible;
color: @sb-top-menu-text;
padding: 0 18px;
height: 55px;
line-height: 55px;
}
// item link states
> li.active > a,
> li:hover > a,
> li > a.menu-open,
> li > a:hover,
> li > a:focus {
color: @sb-top-text-hover;
background-color: @sub-menu-bg;
-webkit-transition: background-color 0.2s ease;
transition: background-color 0.2s ease;
}
// active item link
> li.active > a { color: @sb-top-active-text !important; }
// item title
> li > a > .sidebar-title { font-weight: 400; }
// item icon
> li > a > span:nth-child(1) {
width: auto;
padding-left: 0;
padding-right: 5px;
line-height: 55px;
}
// item caret
li > a > span.caret {
color: @sb-top-caret;
position: relative;
top: 0;
right: 0;
margin-left: 5px;
}
} // #End: Top Level Menu
// Sub Level menu
.sidebar-menu > li > ul {
position: absolute;
left: 0;
top: 100%;
width: 195px;
height: auto;
border-left: 0;
padding-bottom: 2px;
overflow: hidden;
// item
> li { overflow: hidden; }
// item link
> li > a { padding: 8px 15px 8px 15px; }
// item - states
> li > a.menu-open:after,
> li.active > a:after,
> li:hover > a:after,
> li:focus > a:after {
left: 1px;
width: 3px;
}
// item submenu
> li ul { width: 195px; }
// item caret
> li > a .caret {
position: absolute;
top: 15px;
right: 10px;
}
} // #End: Sub Level menu
// Multi Level menu
.sidebar-menu > li > ul > li > ul {
// item link
> li a { padding: 8px 15px 8px 20px; }
// item - active border
> li.active > a:after,
> li:hover > a:after,
> li:focus > a:after {
left: 1px;
width: 3px;
}
} // #End: Multi Level menu
// OnHover - Open Menu/Submenu Override
.sidebar-menu li > ul > li > a.menu-open + ul { display: block !important; }
// Sidebar "Light" version
&.sidebar-light {
border-right: 0;
-webkit-box-shadow: 0 1px 0 #DDD;
box-shadow: 0 1px 0 #DDD;
// Sidebar menu
.sidebar-menu {
// item link
> li > a > span:nth-child(2) { color: #888; }
// item link - states
> li.active > a,
> li:hover > a,
> li > a.menu-open,
> li > a:hover,
> li > a:focus {
background-color: #f2f2f2;
}
// item submenu
> li > ul {
top: 99%;
border: 0;
-webkit-box-shadow: 0 3px 3px rgba(0,0,0, 0.2);
box-shadow: 0 3px 3px rgba(0,0,0, 0.2);
}
// submenu item links
li > ul > li > a { padding: 9px 15px 8px 17px; }
} // #End: Sidebar Menu
} // #End: Sidebar "light" version
} // #End: #sidebar_left
// Menu Option - Small. Activate via "sb-top-sm" on body class
&.sb-top-sm {
// Modify primary content wrappers for static navbar
.navbar + #sidebar_left + #content_wrapper,
.navbar.navbar-static-top + #sidebar_left + #content_wrapper {
padding-top: 45px;
}
// Modify primary content wrappers for fixed navbar
.navbar.navbar-fixed-top + #sidebar_left + #content_wrapper {
padding-top: 105px;
}
#sidebar_left {
height: 45px;
// sidebar menu items
.sidebar-menu > li > a {
height: 45px;
line-height: 45px;
padding: 0 16px;
}
// sidebar menu icons
.sidebar-menu > li > a > span:nth-child(1) {
font-size: 12px;
line-height: 45px;
}
} // #End: #sidebar_left
} // #End: Menu Option - Small
// Menu Option - Large. activate via "sb-top-lg" on body class
&.sb-top-lg {
// Modify primary content wrappers for static navbar
.navbar + #sidebar_left + #content_wrapper,
.navbar.navbar-static-top + #sidebar_left + #content_wrapper {
padding-top: 75px;
}
// Modify primary content wrappers for fixed navbar
.navbar.navbar-fixed-top + #sidebar_left + #content_wrapper {
padding-top: 135px;
}
#sidebar_left {
height: 75px;
// sidebar menu item links
.sidebar-menu > li > a {
height: 75px;
line-height: inherit;
text-align: center;
padding: 0 10px;
}
// sidebar menu icons
.sidebar-menu > li > a > span:nth-child(1) {
width: 100%;
font-size: 20px;
line-height: 40px;
padding-top: 4px;
}
// sidebar menu title
.sidebar-menu > li > a > .sidebar-title {
padding-left: 0;
}
} // #End: #sidebar_left
} // #End: Menu Option - Large
// Sidebar State - Collapsed
&.sb-top-collapsed {
#sidebar_left { top: -110px; }
// Modify primary content wrappers for static navbar
.navbar + #sidebar_left + #content_wrapper,
.navbar.navbar-static-top + #sidebar_left + #content_wrapper {
padding-top: 0px;
}
// Modify primary content wrappers for fixed navbar
.navbar.navbar-fixed-top + #sidebar_left + #content_wrapper {
padding-top: 60px;
}
// rotate menu toggle caret
#toggle_sidemenu_t .fa-caret-up {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
// modify caret color if navbar is using a contextual
.navbar[class*='bg-'] #toggle_sidemenu_t .fa-caret-up { color: #FFF; }
} // #End: Sidebar State - Collapsed
//
// HORIZONTAL MENU RESPONSIVE SETTINGS
//
// When < 1100px
@media (max-width: 1100px) {
#content_wrapper {
margin-left: 0 !important;
left: 0 !important;
}
} // #End: @media (max-width: 1100px)
// When > 900px
@media (max-width: 900px) {
#sidebar_left {
top: 0 !important;
opacity: 0 !important;
visibility: hidden !important;
height: auto !important;
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
// sidebar menu
.sidebar-menu {
// item
> li {
float: none;
width: 100%;
}
// item link
> li > a {
height: 45px !important;
line-height: 45px !important;
padding: 0 16px !important;
text-align: left !important;
}
// item icon
> li > a > span:nth-child(1) {
width: auto !important;
font-size: 12px !important;
line-height: 45px !important;
padding: 0 !important;
}
// item title
> li > a > .sidebar-title {
padding-left: 8px !important;
}
// item submenus
> li > ul,
> li > ul > li ul {
position: relative;
width: auto;
}
} // #End: sidebar menu
// Sidebar "light" version
&.sidebar-light {
border-right: 0;
-webkit-box-shadow: 0 1px 0 #DDD;
box-shadow: 0 1px 0 #DDD;
// item submenu
.sidebar-menu > li > ul {
border: 0;
box-shadow: none;
}
// submenu links
.sidebar-menu li > ul > li > a {
padding: 9px 15px 8px 17px;
}
} // #End: #sidebar_left "Light" version
} // #End: #sidebar_left
// Navbar Branding
.navbar-branding {
width: 0;
display: none;
}
// Toggle Menu Button
#toggle_sidemenu_t { width: 44px; }
// Fixed Navbar
.navbar.navbar-fixed-top + #sidebar_left + #content_wrapper {
padding-top: 60px !important;
}
// Collapsed State
&.sb-top-collapsed {
#sidebar_left {
visibility: visible !important;
opacity: 1 !important;
}
} // #End: Sidebar State - Collapsed (responsive)
} // #End: @media (min-width: 901px)
// When > 901px
// Reverses default "OnHover" functionality
@media (min-width: 901px) {
// Menus have been converted to show only on:hover. Hide by default
.sidebar-menu > li > a.menu-open + ul { display: none; }
// Menus have been converted. We display them only on:hover
.sidebar-menu > li:hover > a + ul {
z-index: 1;
display: block !important;
}
} // #End: @media (min-width: 901px)
} // #End: Horizontal Menu Variant mixin
//
// Generate Sidebar Light Skin
//
.sidebar-light-variant() {
color: #666;
background-color: #fafafa;
border-right: 1px solid #DDD;
// Top Level Menu Item - Label color
.sidebar-menu .sidebar-label {
color: #AAA;
font-size: 11px;
font-weight: 500;
}
// Top Level Menu Item - Caret color
.sidebar-menu li > a > span.caret {
color: #BBB;
}
.sidebar-menu li > a.menu-open > span.caret {
color: #999;
}
// Menu Item Links - Color
.sidebar-menu > li a {
color: #888;
}
// Top Level Menu Item - BG Color:hover
.sidebar-menu > li > a:hover,
.sidebar-menu > li > a:focus,
.sidebar-menu > li > a:active {
background-color: transparent;
}
// Top Level Menu Item - Icon
.sidebar-menu > li > a > span:nth-child(1) {
color: #888;
}
// Top Level Menu Item - Title
.sidebar-menu > li > a > span:nth-child(2) {
color: #555;
font-weight: 500;
letter-spacing: 0.4px;
}
// Top Level Menu Active Item - Icon Color
.sidebar-menu > li.active > a > span:nth-child(1) {
color: @brand-primary;
}
// Sub-Menu level BG
.sidebar-menu > li > ul {
background-color: #f2f2f2;
box-shadow: 0 1px 0 #E5e5e5 inset,0 -1px 0 #E5e5e5 inset;
}
// Sub-Menu Level Item - BG Color:hover
.sidebar-menu > li > ul > li > a:hover,
.sidebar-menu > li > ul > li > a:focus {
background-color: transparent;
}
// Sub-Menu Level Active Item - Icon Color
.sidebar-menu > li > ul > li.active > a > span:nth-child(1),
.sidebar-menu > li > ul > li > a.menu-open > span:nth-child(1) {
color: @brand-primary;
}
// Multi-level menu - BG Color
.sidebar-menu > li > ul > li ul {
background-color: #eaeaea;
box-shadow: 0 1px 0 #d9d9d9 inset,0 -1px 0 #d9d9d9 inset;
}
// Multi-level menu item - BG Color:hover
.sidebar-menu > li > ul > li > ul > li > a:hover,
.sidebar-menu > li > ul > li > ul > li > a:focus {
background-color: transparent;
}
// Top Level item left border
.sidebar-menu > li > a.menu-open:after,
.sidebar-menu > li > ul > li > a.menu-open:after {
background: transparent;
}
// Sub-Menu item left border
.sidebar-menu > li > ul > li > a.menu-open:after,
.sidebar-menu > li > ul > li > ul > li > a.menu-open:after {
background: @brand-info;
}
// Multi level item left border
.sidebar-menu > li > ul > li > ul > li.active > a:after,
.sidebar-menu > li > ul > li > ul > li:hover > a:after,
.sidebar-menu > li > ul > li > ul > li:focus > a:after {
background: @brand-alert;
}
// Active Menu item Caret
.sidebar-menu > li > ul > li.active > a > span.caret {
color: #AAA;
}
// Progress bar background
.sidebar-menu .sidebar-stat .progress {
background-color: #ddd;
}
// sidebar toggle close btn
.sidebar-toggle-mini a {
background-color: #f7f7f7;
border-color: #eaeaea;
}
// bg-light.light version (pure white)
&.light {
background-color: #fff;
.sidebar-menu > li > ul {
background-color: #fbfbfb;
}
.sidebar-menu > li > ul > li ul {
background-color: #f5f5f5;
}
}
// Sidebar Author Widget
.sidebar-widget.author-widget {
.media-body { color: #666; }
.media-links a { color: #999; }
.media-links a:hover { color: #555; }
&.menu-widget-open .media-links a.sidebar-menu-toggle { color: #555; }
}
// Sidebar Menu Widget
.sidebar-widget.menu-widget {
background-color: #f2f2f2;
border-top: 1px solid darken(#f2f2f2, 3%);
border-bottom: 1px solid darken(#f2f2f2, 3%);
a span {
color: #777;
}
}
// Sidebar Search Widget
.sidebar-widget.search-widget {
background-color: #f2f2f2;
border-top: 1px solid darken(#f2f2f2, 3%);
border-bottom: 1px solid darken(#f2f2f2, 3%);
}
}