/* RESET */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

.clear {
        clear: both;
}

.social-share {
        margin-top:  50px;
        margin-left: 20px;
        position: fixed;
        z-index: 1000;
        
        &.pie {
                display: block;
        }
}

.cover {
        background-size: cover;
        background-position: center center;
}

.transition( @duration:400ms, @target:all ) {
        -webkit-transition: @target @duration ease;
        -moz-transition: @target @duration ease;
        -o-transition: @target @duration ease;
        transition: @target @duration ease;
}

.box-sizing {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
}

.radius( @value: 1000px ) {
        -webkit-border-radius: @value;
        border-radius: @value;
    background-clip: padding-box;
}

.box-scale(@value) {
  -webkit-transform: scale(@value);
     -moz-transform: scale(@value);
      -ms-transform: scale(@value); 
       -o-transform: scale(@value);
          transform: scale(@value);
}

.transform-origin( @x, @y ) {
        transform-origin: @x @y;
        -ms-transform-origin: @x @y;
        -moz-transform-origin: @x @y;
        -o-transform-origin: @x @y;
        -webkit-transform-origin: @x @y;
}

html, body {
        width: 100%;
        height: 100%;
        background: #f1f4ef;
}

.no-select {
        -webkit-user-select: none;
        -moz-user-select: none;
}

/*================================*/

@red: #fb2219;
@yellow: #fdc028;

.start {
	position: relative;
	min-height: 100%;
	display: none;
	background-image: url(../images/bg.jpg);
	background-attachment: fixed;
	.cover;
	
	.container {
		width: 800px;
		margin: 0 auto;
		padding: 100px 0px 100px 200px;
		color: #ffffff;
		.box-sizing;
		
		.title {
			width: 351px;
			height: 271px;
			background-image: url(../images/1.png);
		}
		
		.description {
			margin-top: 50px;
			font-family: 'ProximaNova-Regular';
			font-size: 16px;
			line-height: 25px;
		}
		
		.button {
			margin-top: 50px;
			cursor: pointer;
			width: 182px;
			height: 78px;
			background-image: url(../images/2.png);
			
			&:hover {
				background-image: url(../images/2_hover.png);
			}
		}
	}
	
	&.shown {
		display: block;
	}
}

.action {
	height: 100%;
	position: relative;
	display: none;
	background-color: #000000;
	
	/*.directions {
		position: absolute;
		width: 150px;
		height: 150px;
		display: none;
		top: 50%;
		left: 50%;
		margin-left: -460px;
		margin-top: -75px;
	}
	
	.controller {
		position: absolute;
		z-index: 2;
		width: 50px;
		height: 50px;
		background-color: #000000;
		border: 2px solid #ffffff;
		cursor: pointer;
		.radius;
		
		&.dir {
			&.up {
				left: 49px;
				top:  0px;
			}
			
			&.down {
				left: 49px;
				bottom:  0px;
			}
			
			&.left {
				left: 0px;
				top:  49px;
			}
			
			&.right {
				right: 0px;
				top:  49px;
			}
		}
		
		&.fire {
			display: none;
		}
		
		&.enter {
			display: none;
		}
	}*/
	
	.user-login {
		display: none;
	}
	
	.rating {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0px;
		top: -100%;
		color: #ffffff;
		overflow: scroll;
		z-index: 3;
		/*.transition;*/
		background-image: url(../images/bg.jpg);
		padding: 100px 0px;
		.box-sizing;
		.cover;
		
		.close {
			position: fixed;
			padding: 10px 20px;
			font-family: 'ProximaNova-Regular';
			font-size: 30px;
			color: #ffffff;
			top: 30px;
			right: 30px;
			cursor: pointer;
			display: none;
			
			&:hover {
				color: @yellow;
			}
		}
		
		.title {
			font-family: 'ProximaNova-Extrabld';
			font-size: 40px;
			line-height: 48px;
			margin-bottom: 50px;
			text-align: center;
		}
		
		.table {
			width: 600px;
			margin: 0 auto;
		
			.row {
				border-bottom: 1px solid #ffffff;
				font-family: 'ProximaNova-Regular';
				font-size: 20px;
				line-height: 30px;
				height: 30px;
				margin-bottom: 15px;
				padding-bottom: 15px;
			
				.score {
					float: left;
					width: 200px;
					text-align: center;
					font-size: 30px;
					overflow: hidden;
				}
				
				.player {
					float: left;
					width: 400px;
					display: block;
					color: #ffffff;
					text-decoration: none;
					
					.photo {
						float: left;
						width: 30px;
						height: 30px;
						.cover;
					}
					
					.name {
						float: left;
						width: 370px;
						padding-left: 30px;
						overflow: hidden;
						.box-sizing;
					}
					
					&:hover {
						color: @yellow;
					}
				}
			}
		}
		
		&.shown {
			top: 0%;
			
			.close {
				display: block;
			}
		}
	}
	
	.user-login {
		position: absolute;
		z-index: 3;
		width: 400px;
		height: 150px;
		left: 50%;
		top: 50%;
		margin-left: -200px;
		margin-top: -75px;
		color: #ffffff;
		background-color: #000000;
		
		p {
			font-family: 'ProximaNova-Extrabld';
			font-size: 20px;
			line-height: 26px;
			margin-bottom: 30px;
			text-align: center;
		}
		
		#uLogin {
			width: 170px;
			margin: 0 auto;
		}
	}
	
	.play-again {
		position: absolute;
		z-index: 2;
		left: 50%;
		top: 50%;
		margin-left: -57px;
		margin-top: -52px;
		padding: 15px 20px;
		border: 1px solid #ffffff;
		text-align: center;
		cursor: pointer;
		display: none;
		font-family: 'ProximaNova-Regular';
		font-size: 20px;
		line-height: 24px;
		color: #ffffff;
		
		&:hover {
			border-color: @yellow;
			color: @yellow;
		}
	}
	
	.titles {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0px;
		top: -100%;
		color: #ffffff;
		overflow: hidden;
		z-index: 2;
		/*.transition;*/
		.cover;
		
		.image {
			width: 200px;
			height: 320px;
			position: absolute;
			left: 50%;
			top: 50%;
			margin-left: -350px;
			margin-top: -200px;
			.cover;
		}
		
		.name {
			font-family: 'ProximaNova-Extrabld';
			font-size: 40px;
			line-height: 48px;
			position: absolute;
			left: 50%;
			top: 50%;
			margin-left: -125px;
			margin-top: -205px;
			width: 250px;
			height: 400px;
		}
		
		.about {
			font-family: 'ProximaNova-Regular';
			font-size: 17px;
			line-height: 20px;
			position: absolute;
			left: 50%;
			top: 50%;
			margin-left: 150px;
			margin-top: -200px;
			width: 250px;
			height: 400px;
		}
		
		.go {
			cursor: pointer;
			position: absolute;
			z-index: 2;
			left: 50%;
			top: 50%;
			margin-left: -106px;
			margin-top: 170px;
			width: 211px;
			height: 78px;
			background-image: url(../images/3.png);
			
			&:hover {
				background-image: url(../images/3_hover.png);
			}
		}
		
		&.shown {
			top: 0%;
		}
	}
	
	.panel {
		position: absolute;
		z-index: 1;
		width: 210px;
		height: 448px;
		left: 50%;
		top: 50%;
		margin-left: 280px;
		margin-top: -224px;
		font-family: 'ProximaNova-Regular';
		font-size: 17px;
		line-height: 22px;
		color: #ffffff;
		
		.current-score {
			text-align: right;
			margin-bottom: 20px;
		}
		
		.best-score {
			text-align: right;
			margin-bottom: 40px;
		}
		
		.show-rating {
			float: right;
			padding: 5px 10px;
			border: 1px solid #ffffff;
			text-align: center;
			cursor: pointer;
			margin-bottom: 40px;
			
			&:hover {
				border-color: @yellow;
				color: @yellow;
			}
		}
		
		.on-song, .off-song {
			float: right;
			font-family: 'ProximaNova-Regular';
			font-size: 12px;
			margin-bottom: 10px;
			cursor: pointer;
			
			&:hover {
				color: @yellow;
			}
			
			&.hidden {
				display: none;
			}
		}
		
		.next-song {
			float: right;
			font-family: 'ProximaNova-Regular';
			font-size: 12px;
			cursor: pointer;
			
			&:hover {
				color: @yellow;
			}
			
			&.hidden {
				display: none;
			}
		}
		
		.hint {
			position: absolute;
			width: 210px;
			height: 79px;
			bottom: 0px;
			left: 0px;
			background-image: url(../images/hint.png);
		}
	}
	
	&.shown {
		display: block;
	}
}

#GameScreen {
	position: absolute;
	z-index: 1;
	width: 512px;
	height: 448px;
	left: 50%;
	top: 50%;
	margin-left: -256px;
	margin-top: -224px;
	outline: none!important;
	/*border: #630 double 4px;*/
	background: #000;
	font: 22px 'Arial Black';
}