*{
	margin:0;
	padding:0;
	border:0;
	outline:none;
}
a{ 
	text-decoration: none; 
}
body {
	background:#333;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#hap-wrapper{
	font-family: Arial, Helvetica, sans-serif;
	max-width: 640px;
	position:relative;
}
.hap-select{
    color:#fff;
    font-size:13px!important;
	margin:0;
    margin-bottom:1px;
    height:30px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-indent: 0.01px;
	text-overflow: "";
	background: url('../data/misc/arrow.png') no-repeat right #222 !important;
	padding:3px 25px 3px 10px;
	border:0;
	border-radius: 0;
	line-height:normal!important;
	width:auto;
}
.hap-select::-ms-expand {
    display: none;
}
.hap-player-holder{
	height:300px;
	background:#111;
	width: 100%;
	overflow: hidden;
}
.hap-icon-color{
	color:#fff !important;
	-webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out; 
}
.hap-icon-rollover-color{
	color:#4DA7FE !important;
	-webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out; 
}
.hap-contr-btn-i{
	position: absolute;
    top: 0;
    left: 0;
	width:30px;
	height:30px;
	text-align: center;
	display: inline-block;
	font-size: 18px!important;
	line-height: 30px!important;
}
.hap-player-thumb-wrapper{
	position:relative;
	top:0px;
	left:0px;
	width:100%;
	height:255px;
	height: -webkit-calc(100% - 45px);
    height: -moz-calc(100% - 45px);
    height: calc(100% - 45px);
	background:#000;
	overflow:hidden;
}
.hap-player-thumb{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
}
.hap-player-thumb img{
	display:block;
	position: absolute;
	max-width:none;
}
.hap-media-title-mask{
	position:relative;
	top:0px;
	left:15px;
	float:left;
	width:50%;
	width: -webkit-calc(100% - 270px);
    width: -moz-calc(100% - 270px);
    width: calc(100% - 270px);
	height:100%;
	overflow:hidden;
}
.hap-media-title{
	position:absolute;
	top:0;
	left:0;
	height: 100%;
	white-space: nowrap;
	font-size:13px;
	color:#fff;
	line-height: 30px;
}
.hap-player-controls{
	position:relative;
	width:100%;
	height:30px;
	top:0px;
	left:0px;
	background: #111;
}
.hap-playback-toggle,
.hap-prev-toggle,
.hap-next-toggle{
	position:relative;
	top:0px;
	left:5px;
	width:30px;
	height:30px;
	float:left;
}
.hap-lyrics-toggle{
	position:relative;
	top:0px;
	left:5px;
	width:30px;
	height:30px;
	float:right;
	cursor: pointer;
	margin-right:10px;
}
.hap-player-volume{
	position:relative;
	height:30px;
	width:30px;
	top:0px;
	float:right;
	margin-right:5px;
}
.hap-volume-seekbar{
	position:relative;
	top:-1px;
	width:80px;
	height:32px;
	float:right;
	cursor: pointer;
	margin-right:10px;
	touch-action: none;
}
.hap-volume-bg{
	position:absolute;
	top:12px;
	left:10px;
	width:60px;
	height:8px;
	background:#333333;
}
.hap-volume-level{
	position:absolute;
	top:12px;
	left:10px;
	width:60px;
	height:8px;
	background:#eeeeee;
}
.hap-seekbar-inner{
	position:relative;
	top:0px;
	left:0px;
	width:100%;
	height:15px;
	cursor: pointer;
	touch-action: none;
}
.hap-progress-bg{
	position:absolute;
	background:#666;
	width:100%;
	top:0px;
	height:13px;
}
.hap-load-level{
	position:absolute;
	background:#444;
	top:0px;
	height:13px;
}
.hap-progress-level{
	position:absolute;
	background:#eee;
	top:0px;
	height:13px;
}




#hap-playlist-list{
	display:none;
}
.hap-playlist-holder{
	position: relative;
	background:#111;
	width: 100%;
	height: 300px;
	overflow: hidden;
}
.hap-playlist-inner{
	height:270px;
	height: -webkit-calc(100% - 30px);
    height: -moz-calc(100% - 30px);
    height: calc(100% - 30px);
}
.hap-playlist-item{
	position: relative;
	top:0px;
	left:0px;
	background:#222;
	height:80px;
	margin-bottom:5px;
	overflow: hidden;
}
.hap-playlist-item:last-child {  
	margin-bottom:0px;
}
.hap-playlist-selected {
	color: #C33;
	text-decoration: none; 
	display: block;
	height: 100%;
}
.hap-playlist-non-selected {
	color: #ffffff;
	text-decoration: none; 
	display: block;
	height: 100%;
}
.hap-download, .hap-link{
	float:right;
	margin: 5px 15px 5px 5px;
	color:#fff!important;
	font-size: 13px!important;
}
.hap-download i, .hap-link i{
	color:inherit;
}
.hap-download:hover, .hap-link:hover{
	color:#4DA7FE!important;
}
.hap-playlist-thumb{
	display:block;
	position:relative;
	top:0px;
	left:0px;
	margin: 5px;
	width:70px;
	height:70px;
	float:left;
	background:#111;
	overflow:hidden;
}
.hap-playlist-thumb img{
	display:block;
	height:100%;
	width:auto!important;
	margin:0 auto;
}
.hap-playlist-title{
	display:block;
	position:relative;
	top:10px;
	padding: 0 10px;
	overflow:hidden;
	font-size:15px;
	color:inherit;
}
.hap-playlist-filter-msg{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	display: none;
}
.hap-playlist-filter-msg p{
	font-size:15px!important;
	color:#fff!important;
	line-height:270px;
    vertical-align: middle!important;
    text-align:center!important;
	padding:0!important; 	
	margin:0!important; 	
}

.hap-bottom-bar{
	height:30px;
	background:#111;
}
.hap-search-filter{
	position:relative;
	width:100px!important;
	height:18px!important;
	top:50%;
	margin:-9px 0 0 20px!important;
	padding:0!important;
	border:0!important;
	-moz-border-radius:0 !important;
    -webkit-border-radius:0 !important;
	border-radius:0 !important;
	background:#222 !important;
	color:#fff !important;
	box-shadow:none!important; 
	line-height:1!important; 
	float: left;
	outline:none;
}

.hap-sr-bar-i{
	display: inline-block;
	font-size: 15px!important;
	line-height: 30px!important;
}
.hap-sort-alpha{
	position:relative;
	left:5px;
	top:0px;
	width:25px;
	height:100%;
	text-align: center;
	float: left;
}
.hap-share-item{
	position:relative;
	top:0px;
	right:10px;
	width:25px;
	height:100%;
	margin-right:5px;
	text-align: center;
	float: right;
}





.hap-tooltip{
	position:absolute;
	background:#111;
	text-align:center;
	color:#fff!important;
	z-index:10000;
	border:1px solid #222;
	pointer-events:none;
	display:none;
}
.hap-tooltip p {
	width:inherit;
	font-size:12px!important;
	margin:0 5px !important;
	padding:0 !important;
	line-height:20px !important;
	white-space:nowrap;
	color:inherit;
}
.hap-tooltip-num{
	direction: ltr !important;
}
.hap-download-confirm{
	position:absolute;
    left:50%;
	top:50%;
	-webkit-transform: translate(-50%, -50%);
  	-ms-transform: translate(-50%, -50%);
  	transform: translate(-50%, -50%);
	border:1px solid #555;
	opacity:0;
	z-index:1000;
	display:none;
}
.hap-download-confirm p{
	padding:10px 5px !important;
	font-size:14px;
	color:#fff;
	background:#333;
	text-align: center;
}
.hap-preloader{
	position:absolute;
	width:36px;
	height:30px;
	top:50%;
	left:50%;
	margin-left:-16px;
	margin-top:-15px;
	background: #111 url('../data/loading.gif') no-repeat center center; 
}



/* flash or yt */		 
.hap-sound-holder{
	position:absolute;
	width:100px;
	height:100px;
}
.hap-force-hidden{
	position:absolute!important;
	top:0px;
	left:-10000px!important;
	width:320px;
	height:240px;
}
[dir=rtl] .hap-force-hidden {
    right:-10000px!important;
}
.hap-youtube-holder{
	left:0px!important;
}		 
		  
.hap-hidden {
	opacity: 0; 
	filter: alpha(opacity=0); 
}
.hap-visible {
	opacity: 1;
	-webkit-transition: opacity 500ms ease-out;
	-moz-transition: opacity 500ms ease-out;
	transition: opacity 500ms ease-out;
}					  



/* scroll */
.hap-playlist-inner .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 10px;
    -webkit-border-radius: 0px; 
    -moz-border-radius: 0px;
     border-radius: 0px; 
}
.hap-playlist-inner .mCSB_inside > .mCSB_container {
    margin-right: 30px;
}
.hap-playlist-inner .mCSB_scrollTools .mCSB_draggerRail {
    width: 10px;
    -webkit-border-radius: 0px; 
    -moz-border-radius: 0px;
     border-radius: 0px; 
     background-color: #444;
}


@media only screen and (max-width: 350px) {
	.hap-media-title-mask{
		display: none;
	}
}
/*javascript media queires
.hap-media-title-mask-mq{
	display: none;
}*/




.hap-lyrics-cont{
	position: absolute;
	bottom: 10px;
	left: 20px;
	right: 20px;
}
.hap-lyrics-cont p{
	font-size:20px;
	color:#eee;
	text-shadow:
   -1px -1px 0 #000,  
    1px -1px 0 #000,
    -1px 1px 0 #000,
     1px 1px 0 #000;
	margin-top: 10px;
}