
html, body {
	margin: 0;
	padding: 0;
	min-height: 100%;
	display: block;
}

body {
	font-family: 'system-ui', arial;
	background: #efefef;
}

main {
	margin: auto;
	max-width: 1000px;
	padding: 20px;
}

iframe {
	max-width: 100%;
}

a {
	color: #c60000; 
	text-decoration: none;
}

sup {
	color: #ccc;
}

input {
	font-size: 14px;
	padding: 10px;
	border: solid 1px #ccc;
	background: #fff;
	box-sizing: border-box;
	width: 100%;
	max-width: 550px;
}

header {
	clear: both;
	display: block;
	height: 80px;
	box-shadow: 0px 0px 10px #ccc;
	background: url('../img/logo.svg') center center;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 250px;
	margin-bottom: 20px;
}

footer {
	background: #fff;
	text-align: center;
	display: block; 
	padding: 20px;
	clear: both;
	margin-top: 20px;
	box-shadow: 0px 0px 10px #ccc;
}

footer a {
	padding-left: 10px;
	padding-right: 10px;
	display: inline-block;
}

#mainNav {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	left: 0; top: 0; right: 0;
}

#mainNav a {
	padding: 5px 10px;
	border-radius: 5px;
	display: inline-block;
	transition: all .3s ease-in-out;
}

#mainNav a.active {
	color: #fff;
	background: #333;
}

.listItem {
	width: 100%;
	height: 100px;
	margin-bottom: 20px;
	display: flex;
	text-decoration: none;
}

.listIcon {
	width: 100px;
	height: 100px;
	display: inline-block;
	flex-shrink: 0;
	border-radius: 50%;
}

.listItem h2 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin: 0px;
	padding: 0px;
	padding-left: 20px;
	overflow: hidden;
	max-width: 75ch;
	max-height: 80px;
	text-overflow: ellipsis;
}

#p_default .listItem h2 {
	padding-top: 15px;
}

.listItem h2 span {
	font-size: 15px;
}

#p_podcast .listIcon {
	background: url("../img/video.png?v2") center center no-repeat #fff;
}

#p_news .listIcon {
	background: url("../img/article.png?v2") center center no-repeat #fff;
}

#p_default .listIcon {
	background: url("../img/audio.png?v2") center center no-repeat #fff;
}

#liveDisplay {
	border-bottom: solid 4px #C60000;
	box-sizing: border-box;
	background-color: #fff;
	background-position: bottom center;
	background-repeat: no-repeat;
	text-align:center;
	height: 300px;
}

#playingNowArtist, #playingNowTitle {
	white-space:  nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	font-size: 11px;
	font-weight: 500;
	max-width: 200px;
	margin:auto;
	color: #333;
}

#playingNowTitle {
	padding-top: 38px;
}


#liveDisplay.lp {
	background-image: url('../img/lp_off.gif'); 
	background-position: center center;
}

#liveDisplay.mc {
	background-image: url('../img/cassette_off.gif'); 
}

#liveDisplay.cd {
	background-image: url('../img/cd_off.gif'); 
	background-position: center center;
}

#liveDisplay.lp.playing {
	background-image: url('../img/lp.gif'); 
	background-position: center center;
}

#liveDisplay.mc.playing {
	background-image: url('../img/cassette.gif'); 	
}

#liveDisplay.cd.playing {
	background-image: url('../img/cd.gif'); 
	background-position: center center;
}

.cd #playingNowArtist, .cd #playingNowTitle {
	color: #fff;
	max-width: 250px;
	padding-top: 10px;
	max-width: 150px;
}

.cd #playingNowArtist {
	margin-bottom: 20px;
}

.lp #playingNowArtist, .lp #playingNowTitle {
	color: #fff;
	max-width: 230px;
	max-width: 120px;
}

.lp #playingNowTitle {
	padding-top: 75px;
}

.lp #btnPlayLive {
	margin-top: 125px;
}

#btnPlayLive, button {
	border: none;
	font-size: 16px;
	font-weight: 600;
	padding: 10px 20px;
	color: #fff;
	margin-top: 160px;
	bottom: 20px;
	letter-spacing: 2px;
	border-radius: 6px;
}

button {
	margin: initial;
	background: #333;
	font-weight: normal;
}

button:hover {
	opacity: 0.9;
}

#liveDisplay button:hover {
	opacity: .8;
}

#installApp {
	background: #0080C0;
}

#qButtons {
	display: block;
	border-radius: none;
	width: 100%;
	background-color: #fff;
	text-align: center;
	padding-top: 10px;
}

#qButtons button {
	height: 32px;
	margin: 0px 10px;
	padding: 0;
	border: none;
	width: 32px;
	background: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 50%;
}

#qButtons button.checked {
	background-color: #FCEC78;
}

#qButtons #btnLp {
	background-image: url('../img/lp.png');
}

#qButtons #btnMc {
	background-image: url('../img/tape.png');
}

#qButtons #btnCd {
	background-image: url('../img/cd.png');
}

#errMsg {
	display: block;
	padding: 10px;
	background: #FCEC78;
	box-sizing: border-box;
	border-radius: 5px;
	margin-bottom: 20px;
	color: #000;
	clear: both;
}

.line {
	border-bottom: solid 4px #C60000;
}

.left {
	float: left;
}

.right {
	float: right; 
}

.clear {
	clear: both;
}

.green {
	background: #5CC639;
}

.red {
	background: #C60000;
}

.textRed {
	color: #C60000;
}

.textRight {
	text-align: right;
}

.textCenter {
	text-align: center;
}

.flex {
	display: flex;
	align-items: center;
}

.loader {
	background: url('../img/loader.gif') center center no-repeat #fff;
	background-size: cover;
	padding: 10px;
	text-align:center;
	display: block;
	color: #ccc;
}

.loading {
	background-image: url('../img/loader.gif');
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #fff;
	background-size: cover;
}

.disabled {
	opacity: .5;
	pointer-events: none;
}

.hide {
	display: none !important;
}

#podcastPlayer {
	background: #000;
	text-align: center;
}

[data-role="page"] {
	scroll-margin-top: 250px;
	animation: fadein 1s;
}

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

	.listItem h2 {
		font-size: 15px;
	}
	
	.listIcon {
		width: 80px;
		height: 80px;
	}
	
	#installApp {
		width: 100%;
		margin-top: 20px;
	}
}


@keyframes fadein {
	0% {
		opacity:0.0;
	}
	100% {
		opacity:1.0;
	}
}
