@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400');
@import url('https://fonts.googleapis.com/css?family=Montserrat');

*{margin:0;padding:0;}
html,body{height:100%;}
body{
	font-family:Roboto,sans-serif;
	background-color:#000;
	overflow:hidden;
}
:not(:root):fullscreen::backdrop{
	background-color:transparent;
	background:transparent;
}

.s_centered{
    -ms-display:flex;
    display:flex;
    align-items:center;
    justify-content:center;
}
.s_truncate{
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	word-break:normal;
}
.s_no-select{
	-webkit-user-select:none;  /* Chrome all / Safari all */
	-moz-user-select:none;     /* Firefox all */
	-ms-user-select:none;      /* IE 10+ */
	user-select:none;
}

#fullPlayButton{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 100;
}
#fullPlayButton #play{
	cursor: pointer;
	width: 150px;
	height: 150px;
	color: #FFF;
	background-size: 101%;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url('../img/artwork 500x500.jpg');
}
#fullPlayButton #play .material-icons{font-size: 100px;opacity:.7}

#walls, #player{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}
#walls{
	background-color: #000;
	background-image:url('../img/artwork 500x500.jpg');
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}
#player{
	backdrop-filter:blur(5px);
	transition:all 1s ease;
}
#player.blur{
	backdrop-filter:blur(15px);
}
#video{
	position: absolute;
	width: auto;
	height: 100%;
}
#canvas{
	position: fixed;
	top: 0;
	background-color: rgba(0, 0, 0, 0.35);
	/*left: 5vw;*/
}
.trackInfo{
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 5%;
	width: 90%;
	padding-top: 20px;
	opacity: 0;
	box-sizing: border-box;
}
.trackInfo .preview{
	float: left;
	margin-right: 20px;
	width: 100px;
	height: 100px;
	background-size: cover;
	background-position: center;
	background-attachment: no-repeat;
}
.trackInfo .badge{
	font-family: Montserrat, Roboto, sans-serif;
	color: #FFF;
	overflow: hidden;
}
.trackInfo .badge .title{
	font-size: 30px;
}
.lyrics{
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 5%;
	width: 90%;
	height: 50%;
	overflow: hidden;
	z-index: 10;
}
.lyrics .badge{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 20px 0 0;
	text-align: center;
	color: #FFF;
	box-sizing: border-box;
}
#fullPlayButton.fadeIn, .trackInfo.fadeIn, .lyrics .badge.fadeIn{
	-webkit-animation: fade-in 400ms forwards;
	animation: fade-in 400ms forwards;
}
#fullPlayButton.fadeOut, .trackInfo.fadeOut, .lyrics .badge.fadeOut{
	-webkit-animation: fade-out 400ms forwards;
	animation: fade-out 400ms forwards;
}
.lyrics .badge .spanish{
	font-size: 30px;
	font-family: Roboto, sans-serif;
	font-style: italic;
}
.lyrics .badge .english{
	color: #DDD;
	font-family: Montserrat, sans-serif;
}

@keyframes fade-in{
	from{
		-webkit-animation-timing-function: cubic-bezier(.25, .1, .25, 1);
		animation-timing-function: cubic-bezier(.25, .1, .25, 1);
		-webkit-opacity: 0;
		opacity: 0;
	}
	to{
		-webkit-opacity: 1;
		opacity: 1;
	}
}
@keyframes fade-out{
	from{
		-webkit-animation-timing-function: cubic-bezier(.25, .1, .25, 1);
		animation-timing-function: cubic-bezier(.25, .1, .25, 1);
		-webkit-opacity: 1;
		opacity: 1;
	}
	to{
		pointer-events: none;
		-webkit-opacity: 0;
		opacity: 0;
	}
}

@media (min-width: 420px){
	.trackInfo, .lyrics{
		left: 10%;
		width: 80%;
	}
}