
/* Main container */
.vc-container{
	text-align: center;
	height: 500px;
	margin-bottom: 50px;
	position: relative;
}

/* Tape elements */
.vc-tape-wrapper{
	-webkit-perspective: 800px;	
	-moz-perspective: 800px;
	-o-perspective: 800px;
	-ms-perspective: 800px;
	perspective: 800px;
}
.vc-tape{
	width: 586px;
	height: 379px;
	margin: 30px auto 0;
	position: relative;
	-webkit-transition: all .4s ease-in-out;	
	-moz-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
}
.vc-loader{
	position: absolute;
	width: 31px;
	height: 31px;
	bottom: 50px;
	left: 50%;
	margin: -15px 0 0 -15px;
	background: transparent url(../images/ajax-loader.gif) no-repeat center center;
	display: none;
}
.vc-tape-back{
	width: 100%;
	height: 100%;
	position: relative;
	background: transparent url(../images/cs_back.png) no-repeat center center;
}
.vc-tape-wheel{
	width: 125px;
	height: 125px;
	position: absolute;
	top: 110px;
	background: transparent;
	border-radius: 50%;
}
.vc-tape-wheel-left{
	left: 109px;
	box-shadow: 0 0 0 70px #000;
}
.vc-tape-wheel-right{
	right: 113px;
}
@-webkit-keyframes rotateLeft {
	0% { -webkit-transform: rotate(0deg) translateZ(-1px); }
	100% { -webkit-transform: rotate(-360deg) translateZ(-1px); }
}
@-webkit-keyframes rotateRight {
	0% { -webkit-transform: rotate(0deg) translateZ(-1px); }
	100% { -webkit-transform: rotate(360deg) translateZ(-1px); }
}
@-moz-keyframes rotateLeft {
	0% { -moz-transform: rotate(0deg) translateZ(-1px); }
	100% { -moz-transform: rotate(-360deg) translateZ(-1px); }
}
@-moz-keyframes rotateRight {
	0% { -moz-transform: rotate(0deg) translateZ(-1px); }
	100% { -moz-transform: rotate(360deg) translateZ(-1px); }
}
@-o-keyframes rotateLeft {
	0% { -o-transform: rotate(0deg) translateZ(-1px); }
	100% { -o-transform: rotate(-360deg) translateZ(-1px); }
}
@-o-keyframes rotateRight {
	0% { -o-transform: rotate(0deg) translateZ(-1px); }
	100% { -o-transform: rotate(360deg) translateZ(-1px); }
}
@-ms-keyframes rotateLeft {
	0% { -ms-transform: rotate(0deg) translateZ(-1px); }
	100% { -ms-transform: rotate(-360deg) translateZ(-1px); }
}
@-ms-keyframes rotateRight {
	0% { -ms-transform: rotate(0deg) translateZ(-1px); }
	100% { -ms-transform: rotate(360deg) translateZ(-1px); }
}
@keyframes rotateLeft {
	0% { transform: rotate(0deg) translateZ(-1px); }
	100% { transform: rotate(-360deg) translateZ(-1px); }
}
@keyframes rotateRight {
	0% { transform: rotate(0deg) translateZ(-1px); }
	100% { transform: rotate(360deg) translateZ(-1px); }
}
.vc-tape-wheel div{
	width: 100%;
	height: 100%;
	background: transparent url(../images/cs_wheel.png) no-repeat center center;
}
.vc-tape-front{
	width: 100%;
	height: 100%;
	position: absolute;
	background: transparent url(../images/cs_front.png) no-repeat center center;
	top: 0px;
	left: 0px;
}
.vc-tape-side-b{
	display: none;
	-webkit-transform: rotate3d(0, 1, 0, 180deg);
	-moz-transform: rotate3d(0, 1, 0, 180deg);
	-o-transform: rotate3d(0, 1, 0, 180deg);
	-ms-transform: rotate3d(0, 1, 0, 180deg);
	transform: rotate3d(0, 1, 0, 180deg);
}

.vc-tape-front span{
	color: rgba(0, 0, 0, 0.6);
	position: absolute;
	top: 83px;
	left: 67px;
	font-family: Arial;
	font-weight: bold;
	font-size: 20px;
}

/* Controls list */
ul.vc-controls{
	list-style: none;
	padding: 0;
	width: 440px;
	position: absolute;
	bottom: 18px;
	left: 50%;
	margin: 0 0 0 -170px;
	background: -moz-linear-gradient(top, rgba(170,170,170,0.35) 0%, rgba(255,255,255,0.44) 50%, rgba(255,255,255,0.53) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(170,170,170,0.35)), color-stop(50%,rgba(255,255,255,0.44)), color-stop(100%,rgba(255,255,255,0.53)));
	background: -webkit-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: -o-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: -ms-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: linear-gradient(to bottom, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#59aaaaaa', endColorstr='#87ffffff',GradientType=0 );
	border: 1px solid rgba(0,0,0,0.1);
	border-bottom-color: rgba(255,255,255,0.6);
	padding: 8px;
	height: 54px;
	box-shadow: 
		inset 0 1px 0px rgba(0,0,0,0.05),
		0 1px 0 rgba(255,255,255,0.8),
		0 -1px 0 rgba(255,255,255,0.4),
		inset 0 2px 19px rgba(0,0,0,0.05),
		0 2px 1px rgba(0,0,0,0.06);
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	border-radius: 12px;
}

/* Controls list items */
ul.vc-controls li {
	display: block;
	float: left;
	width: 80px;
    height: 50px;
	line-height: 55px;
	text-align: left;
    padding: 10px;
	margin: 0;
    cursor: pointer;
    background: #ddd url(../images/metal.jpg) no-repeat center top;
	box-shadow: 
		inset 0 0 0 1px rgba(0,0,0, 0.2), 
		inset 0 0 1px 2px rgba(255,255,255,0.9),
		inset 0 -6px 5px rgba(0,0,0,0.1),
		0 6px 7px rgba(0,0,0,0.3),
		0 4px 1px rgba(0,0,0,0.5);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

ul.vc-controls li:first-child{
	border-radius: 8px 0 0 8px;
}

ul.vc-controls li:last-child{
	border-radius: 0px 8px 8px 0px;
}

ul.vc-controls li.vc-control-play{
	width: 120px;
}

/* Control icons */
ul.vc-controls li span:before{
	font-size: 16px;
	line-height: 50px;
	text-align: center;
	float: left;
	color: #444;
	font-family: 'playericons';
	text-shadow:  1px 1px 1px rgba(255,255,255,0.9);
	font-style: normal;
	font-weight: normal;
	text-transform: none;
	speak: none;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: 0.2em;
	text-align: center;
}

li.vc-control-pause span:before { content: '\50'; } 
li.vc-control-fforward span:before { content: '\23e9'; } 
li.vc-control-rewind span:before { content: '\23ea'; } 
li.vc-control-stop span:before { content: '\25aa'; } 
li.vc-control-play span:before { content: '\70'; } 
li.vc-control-volume-off span:before { content: 'ðŸ”‡'; } 
li.vc-control-volume-down span:before { content: 'ðŸ”‰'; } 
li.vc-control-volume-up span:before { content: 'ðŸ”Š'; } 

ul.vc-controls li:hover{
	box-shadow: 
		inset 0 0 0 1px rgba(0,0,0, 0.2), 
		inset 0 0 1px 2px rgba(255,255,255,0.9),
		inset 0 -10px 15px rgba(0,0,0,0.1),
		0 6px 7px rgba(0,0,0,0.3),
		0 4px 1px rgba(0,0,0,0.5);
}

/* Pressed (active) */
ul.vc-controls li.vc-control-active{
	height: 50px;
	margin-top: 2px;
	background-image: url(../images/metal_dark.jpg);
	box-shadow: 
		inset 0 0 0 1px rgba(0,0,0, 0.18), 
		inset 0 0 1px 2px rgba(255,255,255,0.5),
		inset 0 -6px 5px rgba(0,0,0,0.1),
		0 6px 7px rgba(0,0,0,0.3),
		0 2px 1px rgba(0,0,0,0.5);

}

/* Activated */
ul.vc-controls li.vc-control-pressed,
ul.vc-controls li.vc-control-active.vc-control-pressed{
	height: 50px;
	background-image: url(../images/metal_dark.jpg);
	margin-top: 4px;
	box-shadow: 
		inset 0 0 0 1px rgba(0,0,0, 0.2), 
		inset 0 0 5px 1px rgba(255,255,255,0.5),
		inset 0 -10px 15px rgba(0,0,0,0.2),
		0 7px 5px rgba(255,255,255,0.5);
}

/* 	
Background for the volume knob 
See knobKnob.css for the knob style
*/
.vc-volume-wrap{
	width: 100px;
	height: 100px;
	position: absolute;
	bottom: 0px;
	left: 50%;
	margin-left: -318px;
	background: -moz-linear-gradient(top, rgba(170,170,170,0.35) 0%, rgba(255,255,255,0.44) 50%, rgba(255,255,255,0.53) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(170,170,170,0.35)), color-stop(50%,rgba(255,255,255,0.44)), color-stop(100%,rgba(255,255,255,0.53)));
	background: -webkit-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: -o-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: -ms-linear-gradient(top, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	background: linear-gradient(to bottom, rgba(170,170,170,0.35) 0%,rgba(255,255,255,0.44) 50%,rgba(255,255,255,0.53) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#59aaaaaa', endColorstr='#87ffffff',GradientType=0 );
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 50%;
	padding: 8px;
	box-shadow: 
		inset 0 1px 0px rgba(0,0,0,0.05),
		0 1px 0 rgba(255,255,255,0.6),
		0 -1px 0 rgba(255,255,255,0.4),
		inset 0 2px 19px rgba(0,0,0,0.05),
		0 2px 1px rgba(0,0,0,0.06);
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.vc-volume-wrap:after{
	content: 'Volume';
	margin-top: 15px;
	display: block;
}

/* Text style for controls */
ul.vc-controls li,
.vc-volume-wrap:after{
	font-family: 'Aldrich';
	font-size: 10px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #666;
	text-shadow: 0 1px 1px rgba(255,255,255,0.8);
}

/* =========================================================
   Cassette playlist redesign
   ========================================================= */
.vc-container{
	width: 1050px;
	height: 535px;
	margin: 0 auto 45px;
	text-align: center;
	position: relative;
}

.vc-stage{
	width: 100%;
	height: 430px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}

.vc-tape-area{
	width: 650px;
	height: 430px;
	position: relative;
	flex: 0 0 650px;
}

.vc-tape-wrapper{
	position: relative;
}

.vc-tape{
	margin: 0 auto;
}

/* J-card inspired playlist */
.vc-playlist{
	width: 300px;
	height: 330px;
	margin: 35px 22px 0 0;
	padding: 20px 18px 14px;
	box-sizing: border-box;
	text-align: left;
	position: relative;
	font-family: 'Aldrich', Arial, sans-serif;
	color: #4c5960;
	background:
		linear-gradient(rgba(255,255,255,.72), rgba(224,228,229,.78)),
		url(../images/metal.jpg) center/cover;
	border: 1px solid rgba(0,0,0,.18);
	border-radius: 5px;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.9),
		inset 0 -10px 25px rgba(0,0,0,.07),
		0 5px 14px rgba(0,0,0,.18),
		0 1px 0 rgba(255,255,255,.7);
}

.vc-playlist:before,
.vc-playlist:after{
	content: '';
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #777;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.8);
}
.vc-playlist:before{ top: 8px; left: 8px; }
.vc-playlist:after{ top: 8px; right: 8px; }

.vc-playlist-header{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
}

.vc-playlist-kicker{
	display: block;
	font-size: 8px;
	letter-spacing: 1.5px;
	color: #7a8589;
	margin-bottom: 5px;
}

.vc-playlist-side{
	display: block;
	font-size: 22px;
	line-height: 22px;
	letter-spacing: 1px;
	color: #3e5964;
	text-shadow: 1px 1px 0 rgba(255,255,255,.9);
}

.vc-playlist-count{
	font-size: 8px;
	letter-spacing: 1px;
	white-space: nowrap;
	padding-bottom: 2px;
	color: #7b8588;
}

.vc-playlist-rule{
	height: 1px;
	margin: 13px 0 8px;
	background: rgba(50,65,70,.25);
	box-shadow: 0 1px 0 rgba(255,255,255,.8);
}

.vc-playlist-list{
	list-style: none;
	margin: 0;
	padding: 0;
	height: 222px;
	overflow-y: auto;
	counter-reset: tracks;
}

.vc-playlist-list::-webkit-scrollbar{ width: 5px; }
.vc-playlist-list::-webkit-scrollbar-track{ background: rgba(0,0,0,.06); }
.vc-playlist-list::-webkit-scrollbar-thumb{ background: rgba(70,80,82,.32); border-radius: 4px; }

.vc-playlist-list li{
	margin: 0;
	padding: 0;
	border-bottom: 1px dotted rgba(50,65,70,.2);
}

.vc-track-button{
	width: 100%;
	border: 0;
	background: transparent;
	padding: 10px 7px;
	margin: 0;
	font-family: 'Aldrich', Arial, sans-serif;
	font-size: 10px;
	line-height: 16px;
	letter-spacing: .35px;
	text-align: left;
	color: #5c676b;
	cursor: pointer;
	text-transform: uppercase;
	text-shadow: 0 1px 0 rgba(255,255,255,.9);
	transition: background .15s ease, color .15s ease, padding-left .15s ease;
}

.vc-track-button:hover{
	background: rgba(255,255,255,.48);
	color: #263f4a;
	padding-left: 10px;
}

.vc-track-number{
	display: inline-block;
	width: 28px;
	color: #8a9497;
	font-size: 9px;
}

.vc-track-name{
	display: inline-block;
	width: calc(100% - 34px);
	vertical-align: top;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vc-track-current .vc-track-button{
	background: rgba(56,133,165,.16);
	color: #245b73;
	box-shadow: inset 3px 0 0 #438aa7;
}

.vc-track-current .vc-track-number:before{
	content: '▶';
	font-size: 8px;
	margin-right: 4px;
	color: #3d7e98;
}

.vc-playlist-footer{
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 12px;
	padding-top: 9px;
	border-top: 1px solid rgba(50,65,70,.2);
	display: flex;
	justify-content: space-between;
	font-size: 8px;
	letter-spacing: 1px;
	color: #7a8589;
}

.vc-playlist-status{
	color: #3d7084;
}

/* Re-center the original hardware controls under the cassette. */
ul.vc-controls{
	left: 325px;
	margin-left: -190px;
	bottom: 7px;
}

.vc-volume-wrap{
	left: 325px;
	margin-left: -318px;
	bottom: -1px;
}

.vc-loader{
	left: 325px;
}

@media screen and (max-width: 1100px){
	.vc-container{
		width: 100%;
		height: 860px;
	}
	.vc-stage{
		height: auto;
		flex-direction: column;
		align-items: center;
	}
	.vc-tape-area{
		flex: none;
	}
	.vc-playlist{
		margin: 10px auto 0;
		width: 420px;
		height: 300px;
	}
	.vc-playlist-list{
		height: 190px;
	}
	ul.vc-controls{
		left: 50%;
		margin-left: -220px;
	}
	.vc-volume-wrap{
		left: 50%;
		margin-left: -318px;
	}
	.vc-loader{ left: 50%; }
}

@media screen and (max-width: 680px){
	.vc-container{ height: 500px; }
	.vc-tape-area{
		transform: scale(.78);
		transform-origin: top center;
		height: 340px;
	}
	.vc-playlist{
		display: none; /* Hide playlist on mobile */
	}
	ul.vc-controls{
		transform: scale(.82);
		transform-origin: center bottom;
	}
	.vc-volume-wrap{
		transform: scale(.82);
		transform-origin: center bottom;
	}
	header {
		padding-top: 40px; /* Prevent back button overlap */
	}
	header h1 { font-size: 20px; }
	header h2 { font-size: 12px; }
}
