/* version 1.01 */
#spinner{
     height:100%;
     width:100%;
     background:url(spinner.gif) no-repeat center center;
     position:absolute;
     z-index:3000;
	 display:block;
}

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	src: local('Open Sans Light'), local('OpenSans-Light'), url(./fonts/font.woff) format('woff');
	font-display: swap;
}

/* general definitions for background, <details>, etc*/
::selection {
	color: #eee;
	background: darkred;
}
body ::-webkit-scrollbar {
	height: 16px;
	overflow: visible;
	width: 16px;
}
body ::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, .1);
	background-clip: padding-box;
	border: solid transparent;
	min-height: 28px;
	padding: 100px 0 0;
	box-shadow: inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07);
	border-width: 1px 1px 1px 6px;
}
body ::-webkit-scrollbar-thumb:hover {
	background-color: rgba(0, 0, 0, 0.5);
}
body ::-webkit-scrollbar-button {
	height: 0;
	width: 0;
}
::-webkit-scrollbar-track {
	background-clip: padding-box;
	border: solid transparent;
	border-width: 0 0 0 4px;
}
body ::-webkit-scrollbar-corner {
	background: transparent;
}
body {
	color: #222;
	font-family: 'Open Sans', arial, sans-serif;
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	padding: 2em;
	background: -webkit-gradient(radial, center center, 500, center center, 1400, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.6))) #fff;
	background: -moz-radial-gradient(farthest-side, rgba(0,0,0,0) 90%, rgba(0,0,0,0.2) 150%) #fff;
	background: -webkit-radial-gradient(farthest-side, rgba(0,0,0,0) 90%, rgba(0,0,0,0.2) 150%) #fff;
	background: -ms-radial-gradient(farthest-side, rgba(0,0,0,0) 90%, rgba(0,0,0,0.2) 150%) #fff;
	background: -o-radial-gradient(farthest-side, rgba(0,0,0,0) 90%, rgba(0,0,0,0.2) 150%) #fff;
	background: radial-gradient(farthest-side, rgba(0,0,0,0) 90%, rgba(0,0,0,0.2) 150%) #fff;
	box-sizing: border-box;
}
a {
	color: navy;
}
details {
	position: absolute;
	top: 0;
	left: 1em;
	margin: 1em 0;
	padding: 10px;
	background: #fff;
	background:  rgba(155,155,155,0.1);
	border: 1px solid rgba(0,0,0,0.3);
	border-radius: 5px;
	max-width: 600px;
	font-size: 10pt;
	z-index: 100;
	background-color:rgba(247,247,247,0.8);
}
details > div {
	margin: 10px 0;
}
details > summary {
	cursor: pointer;
	white-space: nowrap;
	font-size: 12pt;
}
/* Firefox workaround */
.no-details details > summary:before { float: left; width: 15px; content: '\25B6'; }
.no-details details.open > summary:before { content: '\25BC'; }


button {
	display: inline-block;
	background: -webkit-gradient(linear, 0% 40%, 0% 70%, from(#F9F9F9), to(#E3E3E3));
	background: -webkit-linear-gradient(#F9F9F9 40%, #E3E3E3 70%);
	background: -moz-linear-gradient(#F9F9F9 40%, #E3E3E3 70%);
	background: -ms-linear-gradient(#F9F9F9 40%, #E3E3E3 70%);
	background: -o-linear-gradient(#F9F9F9 40%, #E3E3E3 70%);
	background: linear-gradient(#F9F9F9 40%, #E3E3E3 70%);
	border: 1px solid #999;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	/* padding: 5px 8px;*/
	outline: none;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	cursor: pointer;
	text-shadow: 1px 1px #fff;
	font-weight: 700;
	font-size: 10pt;
}
button:not(:disabled):hover,
button:not(:disabled).active {
	border-color: black;
}
button:not(:disabled):active,
button:not(:disabled).active {
	background: -webkit-gradient(linear, 0% 40%, 0% 70%, from(#E3E3E3), to(#F9F9F9));
	background: -webkit-linear-gradient(#E3E3E3 40%, #F9F9F9 70%);
	background: -moz-linear-gradient(#E3E3E3 40%, #F9F9F9 70%);
	background: -ms-linear-gradient(#E3E3E3 40%, #F9F9F9 70%);
	background: -o-linear-gradient(#E3E3E3 40%, #F9F9F9 70%);
	background: linear-gradient(#E3E3E3 40%, #F9F9F9 70%);
}


input[type="range"]{
	-webkit-appearance: none !important;
	margin: -5px 0;	/*align with center line of buttons in FF*/
}

input[type=range]::-webkit-slider-runnable-track {
	background-color: #555;
	box-shadow: 0 -1px 1px rgba(255,255,255,0.5) inset;
	border-radius: 10px;
}

input[type="range"]::-moz-range-track {
	border: 0px;
	background: #555;
	height: 7px;
	border-radius: 10px;
	top: 45px;
}

input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 7px;
	box-shadow: 1px 1px 5px rgba(0,0,0,1);
	border-radius: 2px;
	cursor: pointer;
	border-top: 1px solid #fff;
	background: #ccc -moz-linear-gradient(top, rgb(240, 240, 240), rgb(210, 210, 210));
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	width: 20px;
	height: 8px;
	box-shadow: 1px 1px 5px rgba(0,0,0,1);
	cursor: pointer;
	border-top: 1px solid #fff;
	background: #ccc -webkit-linear-gradient(top, rgb(240, 240, 240), rgb(210, 210, 210));
}
h2 {
	margin: 0;
	font-weight: 300;
}

html, body {
	height: 100%;

	overflow: hidden;
	margin: 0;
	padding: 0;
}
body > section {
	display: -webkit-flex;
	display: flex;

	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	height: 100%;
	-webkit-perspective: 900;
	-moz-perspective: 900px;
	perspective: 900px;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
}
section > * {
	display: -webkit-flex;
	-webkit-align-items: center;
	-moz-align-items: center;
}

.tooltip
{
	float: right;
	display: inline;
	position: relative;
	text-decoration: none;
	top: 15px;
	left: -10px;
	padding: 5px 15px;
	z-index: 101;
}
.tooltip:hover
{
	float: right;
	display: inline;
	position: relative;
	text-decoration: none;
	top: 3px;
	left: -10px;
	padding: 5px 15px;
}
.tooltip:hover:after
{
	float: right;
	display: inline;
	background: #333;
	background: rgba(254,233,192,.9);
	border: solid;
	border-width: 1px;
	border-radius: 5px;
	top: 5px;
	color: #000;
	content: attr(alt);
	left: -400px;
	padding: 5px 15px;
	position: absolute;
	z-index: 102;
	width: 350px;
}
.tooltip:hover:before
{
	float: right;
	display: inline;
	border: solid;
	border-color: transparent black;
	border-width: 6px 0px 6px 6px;
	top: 20px;
	content: "";
	left: -120px;
	position: relative;
	z-index: 102;
}

label {
	cursor: pointer;
}


/*
 modal crap needed to satisfy Google Chrome's "autoplay" bullshit
*/

.modal-autoplay {
	display: none;
	position: fixed;
	padding-top: 0px;
	left: 0;
	top: 0;
	width:  100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0,0,0);
	background-color: rgba(1,0,0,0.4);
	z-index: 9999;
}

.modal-autoplay-content {
	background-color: #d0d0d0;
	margin: 10px;
	padding: 10px;
	border: 1px solid #000;
	width: 500px;
}

/*
 icons used for "play", "pause", etc
*/
@font-face {
	/* stripped down the origial 280kb font to the few glyphs that are actually
	used. trade-off: symbolic icon names to longer works and instead icons
	have to be referred to using their unicode */
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	src: url(./fonts/MaterialIcons-Regular-Stripped.eot); /* For IE6-8 */
	src: local('MaterialIcons-Regular'),
		url(./fonts/MaterialIcons-Regular-Stripped.woff2) format('woff2'),
		url(./fonts/MaterialIcons-Regular-Stripped.woff) format('woff'),
		url(./fonts/MaterialIcons-Regular-Stripped.ttf) format('truetype');

	/* this makes no sense but to squelch the silly complaint from Lighthouse*/
	font-display: swap;
}
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	margin: 0px;
	padding: 0px;
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;
}


/*
 player specific positioning of the displayed 'frequency spectrum', etc

 NOTE: the reflection and position handling is a fucking nightmare: The Chome idiots
 like to change their dumbshit implementation with almost every minor release.. each
 time breaking what had to be used before.. bunch of clueless morons!
 (Their latest achievement: reflection suddenly disappears (border and all) AS SOON as
 JavaScript draws to the contained canvas. Of course they are also too dumb to use
 regular font definitions anymore.)
*/

#moz-reflect-logo {
	position: relative;
	padding: 0 10px;

	-webkit-box-reflect: below 10px -webkit-linear-gradient(top, transparent 10%, transparent 40%,  rgba(255,255,255,0.9));
}

#logo {
	position: relative;
	padding: 0 10px;

	top: 40px;
	left: 400px;
	z-index:2;

	-webkit-transform: translateX(-220px) translateY(100px) translateZ(300px) rotateX(-28deg) rotateY(-60deg) rotateZ(-6deg);
	-moz-transform: translateX(-240px) translateY(200px) translateZ(300px) rotateX(-28deg) rotateY(-60deg) rotateZ(-6deg);
}

#moz-reflect-logo:after {
	content: "";
	display: none;
}

/* problem: the gradient used to "fade-out" the reflection uses no transparency - and covers the background */
#moz-reflect-logo.enableMozReflection:after {
	display: block;

	background: -moz-linear-gradient(top, rgba(255,255,255,1.0), rgba(255,255,255,0.8)) -60px,
				-moz-element(#logoCanvas)  0px 0px no-repeat;

	position:relative;
	width: auto;
	height: 100px;
	margin-bottom: 0px;
	-moz-transform: scaleY(-1);
}

#moz-reflect-spectrum {
	position: relative;
	padding: 0 10px;
	-webkit-box-reflect: below 5px -webkit-linear-gradient(top, transparent, transparent 50%, rgba(255,255,255,0.4));
}

#spectrum {
	position: relative;
	padding: 0 10px;

	top: 120px;
	left: 265px;
	z-index:1;

	-webkit-transform: translateX(-250px) translateY(-250px) translateZ(0px) rotateX(-40deg) rotateY(45deg);
	-moz-transform: translateX(-250px) translateY(-250px) translateZ(0px) rotateX(-40deg) rotateY(45deg);
}

#moz-reflect-spectrum:after {
	content: "";
	display: none;
}

#moz-reflect-spectrum.enableMozReflection:after {
	display: block;

	background: -moz-linear-gradient(top, rgba(255,255,255,1.0), rgba(255,255,255,0.8)) -60px,
				-moz-element(#spectrumCanvas)  0px 15px no-repeat;

	position:relative;
	top: 0px;
	width: auto;
	height: 100px;
	margin-bottom: 0px;
	-moz-transform: scaleY(-1);
}

.modalDialog {
	position: fixed;
	font-family: Arial, Helvetica, sans-serif;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 99999;
	opacity:0;
	-webkit-transition: opacity 400ms ease-in;
	-moz-transition: opacity 400ms ease-in;
	transition: opacity 400ms ease-in;
	pointer-events: none;
}

.modalDialog:target {
	opacity:1;
	pointer-events: auto;
}

.modalDialog > div {
	width: 400px;
	position: relative;
	margin: 10% auto;
	padding: 5px 20px 13px 20px;
	border-radius: 10px;
	background: #fff;
	background: -moz-linear-gradient(#fff, #999);
	background: -webkit-linear-gradient(#fff, #999);
	background: -o-linear-gradient(#fff, #999);
}

/* quickanddirty playlist hack */
.column {
	float: left;
	width: 50%;
}

/* Clear floats after the columns */
.playlist:after {
	content: "";
	display: table;
	clear: both;
}

