@import url('normalize.css');
/* Icon font for player controls */
@font-face {
	font-family: 'playericons';
	src: 	url("fonts/playericons.eot");
	src: 	url("fonts/playericons.eot?#iefix") format('embedded-opentype'), 
		url("fonts/playericons.woff") format('woff'), 
		url("fonts/playericons.ttf") format('truetype'), 
		url("fonts/playericons.svg#playericons") format('svg');
	font-weight: normal;
	font-style: normal;
}
/* General Demo Style */

html{
	-webkit-text-size-adjust: 100%;
}
body{
	font-family: Cambria, Georgia, serif;
	background: #b6b6b6 url(../images/bg.jpg) fixed no-repeat top center;
	background-size: cover;
	font-weight: 400;
	font-size: 15px;
	color: #333;
	overflow-x: hidden;
	overflow-y: auto;
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	padding:
		max(12px, env(safe-area-inset-top))
		max(12px, env(safe-area-inset-right))
		max(16px, env(safe-area-inset-bottom))
		max(12px, env(safe-area-inset-left));
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
	/* Center the player on desktop */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
a{
	color: #2886BC;
	text-decoration: none;
}
a:hover{
	color: #000;
}
.container{
	width: 100%;
	max-width: 100%;
	position: relative;
	/* Enables 100cqi in .vc-scaler = real content width inside body padding (fixes iOS 100vw overflow) */
	container-type: inline-size;
	container-name: cassette-player;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.page-header{
	text-align: center;
	margin: 0 0 0.75rem;
	padding: 0 0.5rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.15);
}
.page-header h1{
	font-family: 'Aldrich', system-ui, sans-serif;
	font-size: clamp(1.25rem, 4vw, 1.75rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #444;
	margin: 0 0 0.35rem;
	line-height: 1.2;
}
.page-tagline{
	font-size: clamp(0.8rem, 2.8vw, 0.95rem);
	color: #555;
	margin: 0;
	line-height: 1.45;
	font-style: italic;
	max-width: 28em;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px){
	body{
		/* Fixed background causes repaint jank on scroll; scroll is fine here since player fits */
		background-attachment: scroll;
		min-height: 100svh;
		min-height: 100dvh;
		/* Top-align on phone — player is scaled to fit so no scrolling needed */
		justify-content: flex-start;
	}
	.container{
		width: 100%;
		min-width: 0;
	}
}
.clr{
	clear: both;
	padding: 0;
	height: 0;
	margin: 0;
}
.container > header{
	margin: 10px 10px 0px 10px;
	padding: 20px 10px 0px 10px;
	position: relative;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    text-align: center;
}
.container > header h1{
	font-family: 'Aldrich';
	font-size: 26px;
	line-height: 26px;
	margin: 0;
	position: relative;
	font-weight: 300;
	color: #666;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
}
.container > header h1 span{
	font-weight: 700;
}
.container > header h2{
	width: 500px;
	font-size: 14px;
	line-height: 22px;
	font-weight: 300;
	margin: 0 auto;
	padding: 15px 0 5px 0;
	color: #666;
	font-style: italic;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.9);
}
.container > header h2 strong{
	color: #781430;
}

.main{
	width: 672px;
	height: 480px;
	padding: 30px 0;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
/* Header Style */
.codrops-top{
	line-height: 24px;
	font-size: 11px;
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	z-index: 9999;
	position: relative;
	font-family: Cambria, Georgia, serif;
	box-shadow: 1px 0px 2px rgba(0,0,0,0.2);
}
.codrops-top a{
	padding: 0px 10px;
	letter-spacing: 1px;
	color: #333;
	display: inline-block;
}
.codrops-top a:hover{
	background: rgba(255,255,255,0.3);
}
.codrops-top span.right{
	float: right;
}
.codrops-top span.right a{
	float: left;
	display: block;
}
.attribution{
	width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: 20px 10px 50px;
	border-top: 1px solid rgba(255,255,255,0.5);
	box-shadow: 0 -1px 0 rgba(0,0,0,0.1);
	text-shadow: 0 1px 1px rgba(255,255,255,0.8);
	font-size: 10px;
	font-family: 'Aldrich';
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 1px;
	color: #666;
}

.support-note span{
	color: #ac375d;
	font-size: 16px;
	display: none;
	font-weight: bold;
	text-align: center;
	padding: 5px 0;
}
.no-cssanimations .support-note span.no-cssanimations,
.no-csstransforms .support-note span.no-csstransforms,
.no-csstransforms3d .support-note span.no-csstransforms3d,
.no-csstransitions .support-note span.no-csstransitions{
	display: block;
}