/* Page Sidebar */

.sidebar {
    width: 220px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    padding-top: 50px;
    background: @black;
    z-index: 1010;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    
    & .nav {
		display: block;
		
		& > li {
			position: relative;
			
			& > a {
				padding: 7px 20px;
				line-height: 20px;
				color: #aaa;
				display: block;
				text-decoration: none;
				
				& i {
					float: left;
					margin: -3px 10px -3px 0;
					width: 26px;
					text-align: center;
					line-height: 26px;
					font-size: 18px;
					border-radius: 6px;
					color: #fff;
					background: rgba(255,255,255,0.25);
				}
				& i[class^="fa"] {
					font-size: 14px;
				}
				& i[class^="ion-"] {
					font-size: 24px;
				}
				& .icon-img {
					float: left;
					margin: -3px 10px -3px 0;
					width: 26px;
					height: 26px;
					overflow: hidden;
					border-radius: 6px;
				}
				& .icon-img img {
					max-width: 100%;
					max-height: 100%;
					display: block;
				}
				& .badge {
					margin-top: 1px;
					padding: 3px 8px;
					background: @black_darker;
					font-weight: 600;
					font-size: 10px;
				}
			}
			&.expand > a,
			& > a:hover,
			& > a:focus {
				background: rgba(255,255,255,.1);
				color: #aaa;
			}
			&,
			& > a {
				.clearfix();
			}
			&.active > a {
				position: relative;
				z-index: 10;
				
				& i {
					color: #fff;
					background: none !important;
				}
				& .label,
				& .badge {
					background: rgba(0,0,0,0.25);
				}
			}
			&.active > a, 
			&.active > a:hover, 
			&.active > a:focus {
				color: #fff;
				background: @blue;
			}
			&.nav-header {
				margin: 0;
				padding: 15px 20px 3px;
				line-height: 20px;
				font-size: 11px;
				color: #889097;
				font-weight: 600;
				
				& a {
					padding: 0;
					margin: 0;
					display: inline;
					
					&:hover,
					&:focus {
						background: none;
						color: #fff;
					}
					& i {
						float: none;
						margin: 0;
					}
				}
			}
			&.nav-profile {
				padding: 20px;
				color: #fff;
				background: #1a2229;
				overflow: hidden;
				
				& a {
					padding: 0;
				}
				& > a {
					margin: -20px;
					padding: 20px;
					display: block;
					color: #fff;
				}
				& .image {
					width: 34px;
					height: 34px;
					margin-bottom: 10px;
					overflow: hidden;
					border-radius: 50%;
					position: relative;
					
					& img {
						max-width: 100%;
						max-height: 100%;
					}
				}
				& .info {
					font-size: 14px;
					position: relative;
					
					& .caret {
						margin-top: 2px;
					}
					& small {
						display: block;
						color: rgba(255,255,255,0.75);
						font-size: 12px;
						margin-bottom: -5px;
					}
				}
				& .cover {
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					background: url('images/cover-sidebar-user.jpg');
					background-repeat: no-repeat;
					background-size: cover;
					
					&.with-shadow:before {
						content: '';
						position: absolute;
						left: 0;
						right: 0;
						top: 0;
						bottom: 0;
						transition: all .2s linear;
						background: rgba(21, 21, 21, 0.75);
					}
				}
				& a:hover .cover.with-shadow:before,
				& a:focus .cover.with-shadow:before {
					opacity: 0.75;
				}
			}
			&.nav-widget {
				padding: 10px 20px;
				
				& i {
					margin-right: auto;
				}
			}
		}
		
		&.nav-profile {
			padding: 0;
			border-bottom: 1px solid @black_lighter;
			padding-bottom: 5px;
			display: none;
			
			&.active {
				display: block;
			}
		}
	}
}
.sidebar-bg {
    background: @black;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 220px;
    z-index: 1000;
}


/* Page Sidebar - Grid Style */

.sidebar.sidebar-grid .nav > li {
	& > a {
		border-bottom: 1px solid #393939;
		border-top: 1px solid #393939;
	}
	&.active > a {
		border-color: #393939;
		z-index: 10;
	}
	&.expanding > a,
	&.expand > a {
		border-bottom-color: transparent;
	}
	& + li {
		margin-top: -1px;
	}
}


/* Page Sidebar - Gradient Style */

.gradient-enabled .sidebar .nav > li.active > a .label.label-theme,
.gradient-enabled .sidebar .nav > li.active > a .badge {
    background: rgba(0,0,0,0.4);
}


/* Page Sidebar - Sub Menu */

.sidebar li > a .caret,
.float-sub-menu li > a .caret {
    display: block;
    float: right;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 11px;
    border: none;
}
.sidebar li > a .caret:before,
.float-sub-menu li > a .caret:before {
	content: '\f054';
    display: block;
    text-align: center;
    transition: all .2s linear;
    opacity: 0.5;
}
.sidebar li.active > a .caret:before,
.sidebar li.expanding > a .caret:before,
.sidebar li.expand > a .caret:before,
.float-sub-menu li.active > a .caret:before,
.float-sub-menu li.expanding > a .caret:before,
.float-sub-menu li.expand > a .caret:before {
	opacity: 1.0;
	transform: rotate(90deg);
}
.sidebar li.closing > a .caret:before,
.sidebar li.closed > a .caret:before,
.float-sub-menu li.closing > a .caret:before,
.float-sub-menu li.closed > a .caret:before {
	transform: rotate(0deg);
}
.sidebar .sub-menu {
    list-style-type: none;
    padding: 5px 0 10px 42px;
    margin: 0;
    position: relative;
    display: none;
    
    & > li {
		position: relative;
		
		& > a {
			padding: 3px 20px 3px 15px;
			display:block;
			color: #aaa;
			text-decoration: none;
			position: relative;
		}
		& > a:hover,
		& > a:focus,
		&.active > a,
		&.active > a:hover,
		&.active > a:focus {
			color: #fff;
		}
	}
	& .sub-menu {
		padding: 0 0 0 15px;
		background: none;
	}
}
.sidebar .nav > li li.has-sub.active > a {
    color: #889097;
}
.sidebar .has-sub.active > .sub-menu {
    display: block;
}
.sidebar .nav .sub-menu > li > a .caret {
    margin-top: -1px;
    left: -5px;
    color: #a3a7ac;
}


/* Page Sidebar - Minified Style */

.page-sidebar-minified {
	& .sidebar {
		width: 60px;
		position: absolute;
	}
	& .sidebar-bg {
		width: 60px;
	}
	& .content {
		margin-left: 60px;
	}
	& .footer {
		margin-left: 85px;
	}
	&.page-sidebar-fixed .sidebar {
		position: fixed;
	}
	&:not(.page-sidebar-fixed) .sidebar .slimScrollDiv,
	&:not(.page-sidebar-fixed) .sidebar .slimScrollDiv > div {
		overflow: visible !important;
		height: auto !important;
	}
	& .sidebar.sidebar-right .slimScrollDiv,
	& .sidebar.sidebar-right .slimScrollDiv > div,
	&.page-sidebar-fixed .sidebar .slimScrollDiv,
	&.page-sidebar-fixed .sidebar .slimScrollDiv > div {
		overflow: hidden !important;
	}
	& .sidebar .nav > li > a {
		padding: 10px 20px;
	}
	& .sidebar .nav-profile,
	& .sidebar .nav-header,
	& .sidebar .nav > li > a > span {
		display: none;
	}
	& .sidebar .caret {
		position: absolute;
		top: 9px;
		right: 3px;
	}
	& .sidebar .caret:before,
	& .sidebar li.active .caret:before,
	& .sidebar li.expanding .caret:before,
	& .sidebar li.expand .caret:before { 
		transform: rotate(0deg);
	}
	& .sidebar .nav > li > a > i,
	& .sidebar .nav > li > a .icon-img {
		margin: -5px -7px;
	}
	& .sidebar .nav li.has-sub > .sub-menu {
		position: absolute;
		left: 100%;
		top: 0;
		width: 220px;
		display: none;
		padding: 10px 0 10px 30px;
		margin: 0;
		background: #242a31;
	}
	& .sidebar-minify-btn i:before {
		content: '\f3d3';
	}
	&.page-with-right-sidebar .content {
		margin-right: 60px;
		margin-left: 0;
	}
	&.page-with-right-sidebar .footer {
		margin-right: 85px;
		margin-left: 25px;
	}
	&.page-with-right-sidebar .sub-menu {
		left: auto !important;
		right: 100%;
	}
	&.page-with-right-sidebar .nav > li.has-sub > a .caret {
		position: absolute;
		left: 0;
	}
	&.page-with-right-sidebar .nav > li.has-sub > a .caret:before {
		content: '\f104';
	}
	&.page-with-right-sidebar .sidebar .sub-menu .caret {
		left: 0;
		top: 2px;
		border-left: 4px solid transparent !important;
		border-right: 4px solid !important;
	}
	&.page-with-right-sidebar .sidebar .nav li.has-sub > .sub-menu {
		padding: 10px 30px 10px 0;
	}
	&.page-with-right-sidebar .sidebar .sub-menu:before {
		right: 26px;
		left: auto;
	}
	&.page-with-right-sidebar .sidebar .sub-menu > li > a:before {
		right: 0;
		left: auto;
		margin-right: -6px;
		margin-left: 0;
	}
	&.page-with-right-sidebar .sidebar-minify-btn i:before {
		content: '\f3d2';
	}
	& .sidebar .slimScrollBar,
	& .sidebar .slimScrollRail {
		display: none !important;
	}
	& .sidebar.sidebar-right .slimScrollBar {
		display: block !important;
	}
	& .sidebar-minify-btn {
		margin-right: 6px!important;
		margin-left: 6px!important;
		float: none!important;
		
		& i {
			margin: 0 !important;
			float: none !important;
			display: block;
		}
	}
}
.sidebar-minify-btn {
    margin: 10px 0;
    float: right;
    padding: 5px 15px !important;
    background: rgba(0,0,0,.5);
    color: #fff;
    border-radius: 20px;
	
	& i {
		margin: 0 10px 0 0 !important;
		background: none !important;
		color: #fff;
		font-size: 18px !important;
		width: auto!important;
		line-height: 20px!important;
		height: auto!important;
		opacity: 0.25;
	}
}


/* Page Sidebar - Light Style (Added in V1.7) */

.page-with-light-sidebar {
	& .sidebar,
	& .sidebar-bg {
		background: #fff;
	}
	& .sidebar .nav.nav-profile {
		border-bottom: 1px solid #ccc;
	}
	& .sidebar .nav > li.nav-profile a,
	& .sidebar .nav > li.nav-profile.active a,
	& .sidebar .nav > li.nav-profile.active a:hover,
	& .sidebar .nav > li.nav-profile.active a:focus {
		color: #fff;
	}
	& .sidebar .nav > li > a {
		color: @black_lighter;
		font-weight: 500;
	}
	& .sidebar .nav > li .sub-menu,
	&.page-sidebar-minified .sidebar .nav li.has-sub > .sub-menu,
	&.page-sidebar-minified .sidebar .nav > li.has-sub:focus > a, 
	&.page-sidebar-minified .sidebar .nav > li.has-sub:hover > a {
		background: none;
		color: @black;
	}
	& .sidebar .nav > li > a i {
		background: rgba(0,0,0,0.25);
	}
	& .sidebar .nav > li.active > a i {
		background: none;
	}
	& .sidebar .nav > li.active > a {
		color: #fff;
	}
	& .sidebar .nav > li .sub-menu:before {
		background: #B1B9C0;
	}
	& .sidebar .nav > li .sub-menu > li.active > a:before {
		color: #575d63;
	}
	& .sidebar .sub-menu {
		& > li > a {
			font-weight: normal;
		}
		& > li.active > a {
			font-weight: normal;
			color: #777;
		}
		& > li > a:focus, 
		& > li > a:hover,
		& > li.active > a, 
		& > li.active > a:focus, 
		& > li.active > a:hover,
		.flat-black & > li.active > a {
			color: @black_lighter;
		}
		& > li.active > a {
			font-weight: 600;
		}
		& > li:before, 
		& > li > a:after, 
		& > li.has-sub > a:before {
			background: #e7e9ea;
		}
	}
	&.page-sidebar-minified .sidebar .nav > li.active > a > i {
		color: #fff;
	}
	& .sidebar-minify-btn {
		color: #fff;
		
		&:hover,
		&:focus {
			background: rgba(0,0,0,.65) !important;
		}
	}
	& .sidebar .slimScrollBar {
		background: #000 !important;
	}
}


/* Page Sidebar - Wide Style */

.page-with-wide-sidebar {
	& .sidebar,
	& .sidebar+.sidebar-bg,
	&.page-sidebar-minified .sidebar.sidebar-right,
	&.page-sidebar-minified .sidebar-bg.sidebar-right {
		width: 250px;
	}
	& .content {
		margin-left: 250px;
	}
	&.page-with-right-sidebar:not(.page-sidebar-minified) .content {
		margin-right: 250px;
		margin-left: 0;
	}
	&.page-with-two-sidebar .content {
		margin-left: 250px;
		margin-right: 250px;
	}
	&.page-sidebar-minified .sidebar,
	&.page-sidebar-minified .sidebar + .sidebar-bg {
		width: 60px;
	}
	&.page-sidebar-minified:not(.page-with-right-sidebar) .content {
		margin-left: 60px;
	}
	& .footer {
		margin-left: 280px;
	}
	&.page-with-right-sidebar:not(.page-sidebar-minified) .footer {
		margin-left: 30px;
		margin-right: 280px;
	}
}


/* Page Sidebar - Transparent Style */

.sidebar.sidebar-transparent {
    background: none;
    
	& .nav > li.nav-profile,
	& .nav > li.nav-profile.active {
		background: rgba(0, 0, 0, 0.25);
	}
	& .nav > li.nav-profile a:hover,
	& .nav > li.nav-profile a:focus,
	& .nav > li.nav-profile .cover,
	& .nav > li.nav-profile .cover.with-shadow:before {
		background: none;
	}
	& .sub-menu {
		background: none;
	}
	& + .sidebar-bg:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.5);
	}
	& .nav > li.nav-header {
		color: #fff;
	}
	& .has-sub.active > .sub-menu {
		overflow: hidden;
	}
	& .nav > li.active > a, 
	& .nav > li.active > a:hover, 
	& .nav > li.active > a:focus {
		background: rgba(0, 0, 0, 0.3);
	}
	& .sub-menu > li:before, 
	& .sub-menu > li > a:after, 
	& .sub-menu > li.has-sub > a:before {
		background: rgba(0, 0, 0, 0.3);
	}
}
.page-sidebar-minified .sidebar.sidebar-transparent .nav > li.has-sub .sub-menu {
    background: rgba(26, 34, 41, 0.85);
}
.page-sidebar-toggled.page-sidebar-minified .sidebar.sidebar-transparent + .sidebar-bg,
.sidebar.sidebar-transparent + .sidebar-bg {
    background: url(images/cover-sidebar.jpg);
    background-size: cover;
}
.page-sidebar-minified .sidebar.sidebar-transparent .nav > li.has-sub:hover > a, 
.page-sidebar-minified .sidebar.sidebar-transparent .nav > li.has-sub:focus > a,
.sidebar.sidebar-transparent .nav > li.expand > a, 
.sidebar.sidebar-transparent .nav > li > a:focus, 
.sidebar.sidebar-transparent .nav > li > a:hover {
	background: none;
	color: #fff;
}


/* Page Sidebar - Right Sidebar */

.page-with-right-sidebar {
	& .sidebar {
		text-align: right;
		
		& .nav > li > a .icon-img,
		& .nav > li > a i {
			float: right;
			margin-left: 10px;
			margin-right: 0;
		}
		& .sub-menu {
			padding-left: 0;
			padding-right: 39px;
			
			& > li:before {
				left: auto;
				right: -13px;
			}
			& > li:after {
				left: auto;
				right: 0;
			}
			& > li > a {
				padding-left: 20px;
				padding-right: 15px;
			}
			& > li > a:after {
				left: auto;
				right: -11px;
			}
			& .sub-menu {
				padding-left: 0;
				padding-right: 15px;
			}
		}
		& .nav > li.nav-profile .image {
			margin-left: auto;
			margin-right: 0;
		}
	}
	&.page-sidebar-minified .sidebar {
		& .nav > li > a .icon-img,
		& .nav > li > a i {
			margin-right: -4px;
		}
		& li > a .caret {
			margin-left: 0;
		}
		& li > a .caret:before {
			transform: none !important;
		}
	}
	& .float-sub-menu-line,
	& .float-sub-menu-arrow,
	& .float-sub-menu li:after {
		left: auto;
		right: 0;
	}
	& .sidebar li.active > a .caret:before, 
	& .sidebar li.expanding > a .caret:before, 
	& .sidebar li.expand > a .caret:before, 
	& .float-sub-menu li.active > a .caret:before, 
	& .float-sub-menu li.expanding > a .caret:before, 
	& .float-sub-menu li.expand > a .caret:before {
		transform: rotate(-90deg);
	}
	& .float-sub-menu {
		padding-left: 0;
		padding-right: 39px;
		text-align: right;
		
		& li > a {
			padding-left: 15px;
			padding-right: 20px;
		}
		& li > a .caret,
		& .sidebar li > a .caret {
			float: left;
			margin-left: -5px;
			margin-right: 2px;
			font-size: 16px;
		}
		& .sub-menu {
			padding-left: 0;
			padding-right: 15px;
		}
		& li > a .caret:before,
		& .sidebar li > a .caret:before {
			content: '\f104';
		}
		& li:before {
			right: -13px;
			left: auto;
		}
		& li > a:after {
			right: -11px;
			left: auto;
		}
	}
}


/* Page Sidebar - Floating Sub Menu */

.float-sub-menu-container {
	position: fixed;
	width: 220px;
	margin: 0;
	background: #393939;
	z-index: 1020;
}
.float-sub-menu-arrow {
	position: absolute;
	top: 20px;
	left: 0;
	width: 28px;
	height: 2px;
	background: @black;
}
.float-sub-menu-line {
	position: absolute;
	top: 20px;
	left: 26px;
	width: 2px;
	background: @black;
}
.float-sub-menu {
	padding: 9px 0 9px 39px;
	margin: 0;
	list-style-type: none;
	
	& .sub-menu {
		display: none;
		list-style-type: none;
	}
	& .active > .sub-menu {
		display: block;
	}
	& li {
		position: relative;
		
		&:first-child:before {
			top: -14px;
		}
		&:before,
		& > a:after,
		&.has-sub > a:before {
			background: @black;
		}
		&:before {
			content: '';
			position: absolute;
			left: -13px;
			top: 0;
			bottom: 0;
			width: 2px;
		}
		&:last-child:before {
			bottom: auto;
			height: 13px;
		}
		&:first-child:last-child:before {
			height: 27px;
		}
		&:after {
			content: '';
			position: absolute;
			left: 0;
			width: 6px;
			height: 6px;
			border: 1px solid #aaa;
			top: 11px;
			border-radius: 4px;
			margin-top: -2px;
			z-index: 10;
			background: #393939;
		}
		&.has-sub > a:before {
			content: '';
			position: absolute;
			left: 2px;
			top: 11px;
			bottom: 11px;
			width: 2px;
		}
		& > a:after {
			content: '';
			position: absolute;
			left: -11px;
			top: 11px;
			width: 11px;
			height: 2px;
		}
		& > a {
			line-height: 18px;
			padding: 3px 20px 3px 15px;
			display:block;
			color: #aaa;
			text-decoration: none;
			position: relative;
		}
		& > a:hover,
		& > a:focus,
		&.active > a,
		&.active > a:hover,
		&.active > a:focus {
			color: #fff;
		}
		&.active:after {
			border-color: @blue;
		}
		& > a .caret {
			margin-top: -1px;
			color: #aaa;
		}
	}
	& > li:first-child:before {
		top: 11px;
	}
	& .float-sub-menu-arrow:before,
	& .float-sub-menu-arrow:after {
		display: none !important;
	}
	& > li:first-child:last-child:before {
		height: 0px !important;
	}
	& .sub-menu {
		padding: 0 0 0 15px;
		background: none;
	}
}