:root {
	--slone-white: #fafafa;
	--labeur-white: #a2a09b;
	--track-title: #d2d0cb;
	--track-title-hover: #42413f;
	--track-artist: #72706b;
	--spotify: #1ed760;
	--facebook-blue: #0866ff;
	--twitter-blue: #1d9bf0;
	--youtube: #ff0000;
	--soundcloud: #ff5500;
	--apple: #d60017;
	--deezer: #a238ff;
	--tidal: #ffffff;
}
*, *:after, *:before {
	box-sizing: border-box;
}
body, button, input {
	font-family: "Quicksand", sans-serif;
	font-weight: 200;
	font-style: normal;
	margin: 0;
}
body {
	color: var(--labeur-white);
	background-color: #000;
	background-image: url("../media/images/Guillaume-Chantraine-Live-01-2017-2160.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 100vh;
	box-sizing: border-box;
	font-weight: 400;
}
ul {
	margin: 0;
	padding: 0;
}
a {
	color: #D9D7D0
}

button {
	border: 0 none;
	background-color: transparent;
	color: inherit;
	transition: all 300ms ease-in-out;
	transform-origin: center;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

button:hover {
	color: #E9E7E0
}
button:active {
	transform: scale(.9);
}

.skip-to {
	position: absolute;
	top: 0; left: -20000em;
	z-index: 10000;
	padding: .5em;
	margin: .125em;
	background-color: #000;
	color: #FFF;
	border: 1px solid #AAA;
}

.skip-to:focus {
	display: block;
	left: 0;
}

.container {
	margin: 0 auto;
	max-width: 60rem;
	width: 100%;
	padding: .5em;
}


#main-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}


#main-header h1 {
	font-weight: 400;
	font-style: normal;	
	margin: 0 .25em 0 0;
	color: #FAFAFA;
}

#main-header h2 {
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
	font-size: 1.2em;
	margin:0;
}
#main-content .container {
	position:relative;
}

.social-networks ul {
	display: flex;
	list-style: none;
	justify-content: space-around;
	margin: 0; 
	padding: 0;
	font-size: 2em;
	gap: .5em;
}

.social-networks li {
	line-height: 1;
}

.social-networks li a {
	transition: color 200ms ease;
}
.social-networks li a.youtube:hover {
	color: var(--youtube);
}
.social-networks li a.facebook:hover {
	color: var(--facebook-blue);
}
.social-networks li a.x:hover {
	color: var(--twitter-blue);
}
.social-networks li a.spotify:hover {
	color: var(--spotify);
}
.social-networks li a.soundcloud:hover {
	color: var(--soundcloud);
}

.media-interface .progress-bar-container,
.media-interface .volume-slider-container {
	height: .25em;
	border-radius: .25em;
	background-color: #FFF4;
	cursor: pointer;
}

.media-interface .progress-bar-container {
	width: 100%;
	cursor: pointer;
	margin-top: 1em;
	margin-left: auto;
	margin-right: auto;
}
.media-interface .volume-slider-container {
	width: 110px;
	margin-left: auto;
	margin-right: auto;
}

.media-interface .progress-bar,
.media-interface .volume-slider {
	height: 100%;
	background-color: var(--slone-white);
	transition: width 0.2s ease;
	border-radius: 10px;
}


.media-interface .current-track-title {
	padding: .75em 0 .25em;
	text-align: center;
	color: var(--slone-white);
	font-weight:400;
}

.media-controls {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: .25em 0 .75em;
}

.media-controls button {
	margin: .25em;
	width: 2em;
	line-height: 1;
	font-size: 1em;
}
.media-controls .bt-play-pause {
	font-size: 2em;
}
.media-controls .bt-mute-toggle {
	margin-left: 2em
}

.media-controls .active {
	color: var(--slone-white);
	text-shadow: 0 0 .25em #fafafa90;
}



.media-playlists {
	background-color: #000000AD;
	box-shadow: inset 0 0 3em #000000AD;
	border-radius: .5em;
	transform: translateX(-110%);
	opacity: 0;
	transition: transform 500ms ease-in-out, opacity 400ms ease-in-out;
}

.media-playlists.active {
	transform: translateX(0);
	opacity: 1;
}

.media-playlists .playlists-selection,
.media-playlists .tracklist {
	padding: 1em;
}

.media-playlists .playlists-selection ul {
	display: flex;
	list-style: none;
	gap: 1em;
}
.media-playlists .playlists-selection li {
	cursor: pointer;
	padding: .7em;	
	border-radius: .5em;
}
.media-playlists .playlists-selection li:hover {
	background-color: #fafafa50
}
.media-playlists .playlists-selection li.active {
	background-color: var(--slone-white);
	color: #000;
	animation: tab-playing 1s infinite alternate ease-in;
}

.media-playlists .playlists-selection li.shown {
	background-color: var(--slone-white);
	color: #000;
	animation: none;
}

.media-playlists button {
	margin-left: .5em;

}


@keyframes tab-playing {
	0% {
		background-color: #fafafaa0;
	}
	100% {
		background-color: #fafafa50;
	}
}


.media-playlists .tracklist {
	grid-area: tracklist;
	text-align: left;
	overflow: auto;	
	height: calc( 100vh - 24em );
}

.media-playlists .tracklist ul {
	list-style: none;
}

.media-playlists .tracklist li .track-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	padding: .5em;
	margin: 0;
	border-width: 0;
	border-radius: .25em;
	background-color: transparent;
	text-align: left;
	color: var(--track-title);
	transition: transform 200ms ease-in-out;
	font: inherit;
	width: 100%;
}

.media-playlists .tracklist li .track-wrapper:hover {
	background-color: #fff3;
	color: var(--track-title-hover);
}

.media-playlists .tracklist li .track-wrapper:active {
	background-color: #fff;
	color: var(--track-title-hover);
	transform: scale(.98);
}
.media-playlists .tracklist li .track-wrapper button:active {
	transform: none;
}

.media-playlists .tracklist .current {
	font-weight: 600;
	color: #FFE;
}

.media-playlists .tracklist .track-wrapper:active button {
	color: var(--track-title-hover);
}


.media-playlists .tracklist li button span {
	display: block;
}
.media-playlists .tracklist .track-artist {
	font-size: .8em;
	color: var(--track-artist);
}

.media-playlists .tracklist .track-wrapper button {
	display: block;
	text-align: left;
	flex-basis: 100%;
	font-size: 1em;
}
.media-playlists .tracklist .distributed-by {
	display: flex;
	justify-items: flex-start;
	align-items: center;
	flex-direction: row;
}
.media-playlists .tracklist .distributed-by .platform {
	margin-left: .5em;
	font-size: 1.25em;
	color: #AAA;
}

.media-playlists .tracklist .distributed-by .spotify:hover {
	color: var(--spotify);
}

.media-playlists .tracklist .distributed-by .soundcloud:hover {
	color: var(--soundcloud);
}

.media-playlists .tracklist .distributed-by .apple:hover {
	color: var(--apple);
}

.media-playlists .tracklist .distributed-by .deezer:hover {
	color: var(--deezer);
}

.media-playlists .tracklist .distributed-by .tidal:hover {
	color: var(--tidal);
}

.media-playlists .tracklist .distributed-by .ytmusic:hover {
	color: var(--youtube);
}

#main-footer { 
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 1000;
}

.copyright {
	text-align: right;
	font-weight: 500;
	font-size: .9em;
	margin: .25em 0;
	padding: 0;
}

@media screen and (max-width: 600px) {
	body {
		background-position: 67% center;
		font-size: .95rem;
	}

	.media-playlists .playlists-selection ul {
		justify-content: center;
	}
	.media-playlists .playlists-selection li {
		width: 50%;
	}

	#main-header .container { align-items: flex-start;}
	#main-header h1 { font-size: 1.5em; font-weight: 600; }
	#main-header h2 { font-size:.9em; }	
	.social-networks ul { font-size: 1.4em; padding-top: .25em;}
}

@media screen and (max-width: 485px) {


	.media-playlists .playlists-selection,
	.media-playlists .tracklist {
		padding: .25em;
	} 
	.media-playlists button { display: none;}


	.social-networks ul { font-size: 1.3em; padding-top: .25em;}


	.media-playlists {
		font-size: .9em;
	}

	.bt-random-toggle, .bt-loop-toggle, .media-volume-control 
	{
		display: none;
	}

	#main-footer .copyright {
		font-size: .7em;
	}

}

@media screen and (max-width: 390px) {

	#main-header h1 { font-size: 1.4em; font-weight: 600; }
	#main-header h2 { font-size: .9em; }	
	.social-networks li { font-size: .9em; padding-top: .15em; }

	.media-playlists .tracklist {
		height: calc( 100vh - 22em );
	}
}