body, html {
    height: 100%;
}

* {
	scrollbar-width: thin;
}
::-webkit-scrollbar {
    width: .5em;
}
::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
::-webkit-scrollbar-thumb {
	background-color: darkgrey;
	outline: 1px solid slategrey;
	border-radius: 3px;
}
#appbar {
	height: 50px;
}
#appbar a {
	text-decoration: none;
}
#appbar i, #appbar span {
	vertical-align: middle;
}
body.emptypage #appbar {
	display: none;
	top: -60px;
}
#main {
	min-height: 100%;
	padding-top: 50px;
}
body.dashboard #main {
	background-color: #F8F9FA;
}
#sidebar {
	position: fixed;
	top: 52px;
	left: 0;
	bottom: 0;
	width: 200px;
	color: #4b4d4c;
	background-color: #fff;
	border-right: 1px solid #F0E3E4;
	margin-left: -200px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 5;
	transition: margin 0.2s ease;
}
.sideopen #sidebar {
	margin-left: 0!important;
}
.sidemenu>li {
	border-left: 4px solid #fff;
}
.sidemenu>li.active {
	border-left-color: #007BFF;
}
.sidemenu>li a, .sub-menu>li a {
	display: block;
	position: relative;
	text-decoration: none;
	color: #4b4d4c;
	overflow: hidden;
}
.sidemenu a.current {
	font-weight: 600;
	background-color: #EAEDF0;
}
.sidemenu i {
	display: inline-block;
	vertical-align: middle;
	width: 1.5rem;
}
.sidemenu span {
	vertical-align: middle;
}
.sidemenu>li a:hover, .sidemenu>li.active a {
	text-decoration: none;
	color: #111;
}
.sidemenu>li.active a {
	color: #007BFF;
}
.sidemenu a:hover {
	color: #000;
	background-color: #fafafa;
}
.sub-menu>li a:hover {
	text-decoration: none;
	color: #111;
	background-color: #F2F1F1;
}
.sub-menu>li.active a {
	text-decoration: none;
	color: #000;
	background-color: #F2F1F1;
}
.sub-menu .ion-images {
	color: #007BFF!important;
}
.sub-menu .ion-ios-videocam-outline {
	color: #f00!important;
}
.sub-menu .ion-film-marker {
	color: #7221C4!important;
}
.sub-menu .ion-ios-musical-notes {
	color: #CC0000!important;
}
.sub-menu .ion-ios-compose-outline {
	color: #10BF2F!important;
}
.sub-menu .ion-ios-star {
	color: #FED323!important;
}
.sub-menu .ion-ios-paper-outline {
	color: #4387EF!important;
}
.sub-menu .ion-ios-locked {
	color: #E64232!important;
}
.icon-spin {
	-webkit-animation: icon-spin 2s infinite linear;
	animation: icon-spin 2s infinite linear;
}
@-webkit-keyframes icon-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes icon-spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@keyframes blink {
  50% {
    opacity: 0.0;
  }
}
@-webkit-keyframes blink {
  50% {
    opacity: 0.0;
  }
}
.blink {
  animation: blink 1s step-start 0s infinite;
  -webkit-animation: blink 1s step-start 0s infinite;
}

.fullbody #appbar, .fullbody #sidebar, .fullbody #playingnow {
	display: none;
}
.fullbody #main {
	padding: 0!important;
}

/* home */
.hero {
	position: relative;
	height: 160px;
	background-repeat: no-repeat;
	background-position: center 10%;
	background-size: cover;
	margin: 0 -15px;
}
.hero .bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	line-height: 1.1;
	color: #fff;
	background-color: rgba(42, 44, 49, .6);
}
.hero a, .hero a:hover, .hero a:active, .hero a:visited {
	text-decoration: none;
	color: #fff;
}
.mainmenu a, .mainmenu a:hover, .mainmenu a:active, .mainmenu a:visited {
	text-decoration: none;
	color: #4b4d4c;
}
.mainmenu .badge {
	margin: -6px -6px 0 0;
}

.sidepanel {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: #fff;
	border-right: 1px solid #ddd;
	padding: 0 20px 20px 20px;
	margin-left: -100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	transition: margin 0.2s ease;
	z-index: 1031;
}
.sidepanel.show {
	margin-left: 0;
}

@media (min-width: 768px) {
	.sidepanel {
		position: relative;
		top: auto;
		width: 210px;
		flex-basis: 210px;
		flex-shrink: 0;
		flex-grow: 0;
		min-height: 100%;
		padding: 22px 15px 22px 0;
		margin-left: 0;
		overflow: visible;
		z-index: auto;
	}
	.mainpanel {
		max-width: calc(100% - 210px);
	}
}
@media (min-width: 1024px) {
	#sidebutton {
		display: none;
	}
	#sidebar {
		margin-left: 0;
	}
	#main {
		padding-left: 200px;
	}
	body.dashboard #sidebutton {
		display: block;
	}
	body.emptypage #sidebar, body.dashboard #sidebar {
		margin-left: -200px;
	}
	body.emptypage #main, body.dashboard #main {
		padding-left: 0;
	}
}

@media (min-height: 480px) {
	.hero {
		height: 200px;
	}
}