
html {height: 100%;}
body {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	background-color: #2A2C31;
	color: #dadada;
	height: 100%;
	overflow: hidden;
}

#playlist {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 90%;
	overflow-y: auto;
}
#playlist::-webkit-scrollbar {
	width: 10px;
	background-color: #2A2C31;
}
#playlist::-webkit-scrollbar-thumb {
	background-color: #ff8c00;
}
#playlist li {
	background-color: #1a1c21;
	padding: 8px 20px;
	cursor: pointer;
	font-size: 12px;
}
#playlist li.active {
	color: #ff8c00;
}
#playlist li + li {margin-top: 1px;}

#controls {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	box-shadow: -1px 0 5px 1px #1a1a1a;
	text-align: center;
	height: 10%;
	transition: ease-in-out .3s;
}
#controls.autohide {
	transform: translateY(95%);
	transition: ease-in-out .3s;
}
#controls.autohide:hover {
	transform: translateY(0);
	transition: ease-in-out .3s;
}
#controls button {
	background-color: transparent;
	color: #fff;
	margin: 10px 5px;
	border: none;
	width: 40px;
	height: 40px;
	line-height: 40px;
	cursor: pointer;
	outline: none;
	font-size: 16px;
	user-select: none;
	animation: .5s pop-in;
}
#controls button + button {animation-delay: .1s;}
#controls button + button + button {animation-delay: .2s;}
#controls button + button + button + button {animation-delay: .3s;}
#controls button + button + button + button + button {animation-delay: .4s;}
#controls button:hover {
	background-color: #1a1c21;
}

#current-track {
	position: absolute;
	font-size: 12px;
	max-width: 20%;
	overflow: hidden;
	top: 28px;
	left: 20px;
}
#current-track-inner {
	display: block;
	white-space: nowrap;
	animation: 10s linear marquee infinite;
}
#current-track-inner:hover {
	animation-play-state: paused;
}
#current-time {
	position: absolute;
	font-size: 12px;
	top: 28px;
	right: 20px;
}

#seekbar {
	background-color: #6f3c00;
	width: 100%;
	cursor: pointer;
	overflow: hidden;
}
#seekbar::after {
    content: ' ';
    outline: 1px red;
    width: 100%;
    height: 12px;
    display: block;
    position: absolute;
    top: -8px;
}
#seekbar-progress {
	height: 5px;
	background-color: #ff8c00;
	width: 100%;
	transform: translateX(-100%);
}

#search {
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 10px;
	background-color: #000;
	color: #6f3c00;
	border: 0;
	outline: none;
}

#external-window {
	border: none;
	position: absolute;
	bottom: calc(10% + 20px);
	right: 20px;
	box-shadow: 0px 0 5px 0px #000;
	width: 355px;
	height: 200px;
	transform: translateX(400px);
	transition: all ease-in-out .3s;
	background-color: #000;
}
#external-window video {
	width: 100%;
	height: 100%;
}
#external-window.active {
	transform: translateX(0);
	transition: all ease-in-out .3s;
}
#external-window.big:not(.full) {
	width: calc(100%);
	height: calc(90%);
	bottom: 10%;
	right: 0;
	transition: all ease-in-out .3s;
}
#external-window.full {
	width: 100%;
	height: 100%;
	bottom: 0;
	right: 0;
	transition: all ease-in-out .3s;
}
#external-window-closer {
	position: absolute;
	bottom: calc(10% + 210px);
	right: 10px;
	border: none;
	border-radius: 20px;
	height: 20px;
	width: 20px;
	line-height: 20px;
	background-color: #600;
	color: #fff;
	font-size: 8px;
	opacity: 0;
	cursor: pointer;
	text-align: center;
	transform: translateX(400px);
	transition: transform ease-in-out .3s;
}
#external-window-closer:hover {
	opacity: 1;
}
#external-window.active ~ #external-window-closer {
	transform: translateX(0px);
	transition: transform ease-in-out .3s;
}

@keyframes marquee {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}

@keyframes slide-from-left {
	from {
		transform: translateX(-100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes pop-in {
	0% {
		transform: scale(0);
		opacity: 0;
	}
	66% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
		opacity: 1
	}
}