body {
	font-family:"Open Sans", Arial;
	/*color:#35506F;*/
	color:#328ffa;
	font-size:16px;
	font-weight:400;
	margin:0;
	padding:0;
}

button {
	font-size:inherit;
	font-weight:inherit;
	font-family:inherit;
	box-sizing:border-box;
	border:0;
	margin:0;
	padding:0;
	color:inherit;
	background:none;
	outline:0;
	line-height:44px;
	height:44px;
}

button, td {
	-moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .1s ease-in;
}
.toptable{
	margin-bottom: 5px;
	table-layout: fixed;
	width: 100%;
	height: 34px;
}

.toptable tr{
	height: 34px;
}

.toptable td{
	padding: 0px;
	height: 34px;
}

.menu-btn{
	display: inline-block;
	padding-top: 6px;
	padding-bottom: 6px;
	float: left;
	height: 22px;
}

.logo{
	display: inline-block;
	padding-top: 3px;
	padding-bottom: 3px;
	height: 28px;
}

.lv-label{
	padding: 4px;
	height: 26px;
}

.newclose-btn{
	color:#ff1900;
}

.title-popup{
	position: absolute;
	left: 50%;
	top:0%;
	width: 460px;
	height: 700px;
	z-index: 103;
	background: #fff;
	transform: translate(-50%,0);
	/*background: radial-gradient(#fff 5% ,#80ffdf 95%) fixed;*/
	/*background: linear-gradient( #fff 1% ,#80ffdf 49%, #80ffdf 40%);*/
}

.title-content{
	position: absolute;
	width: 350px;
	height: 400px;
	text-align: center;
	left: 50%;
	top:45%;
	transform: translate(-50%,-50%);
	color:#328ffa;
}

.title-img{
	height: 80px;
	padding: 10px;
}

.title-wall{
	background-color:#99CCFF;
	height: 6PX;
	border-radius: 3px;
}

.title-lv{
	font-size: 30px;
	height: 40px;
	padding: 20px;
}

.menu-popup{
	position: absolute;
	left: 0px;
	top:0px;
	width: 100%;
	height: 100%;
	z-index: 101;
	display: none;
	background: rgba(255,255,255,0.7);
}

.menu-content{
	position: absolute;
	text-align: center;
	width: 350px;
	height: 350px;
	margin-top: 10px; 
	padding-top: 10px;
	padding-bottom: 10px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.4);
	top:300px;
	left:50%;
	transform: translate(-50%,-50%); 

}

.menu-title{
	font-size: 25px;
	margin-top: 3px;
	margin-bottom: 3px;
}

.wall{
	width: 350px;
	height: 1px;
	background: rgba(100,100,100,0.6);
}


.levelbtn{
	font-size: 20px;
	padding: 8px;
	opacity: 0.6;
	margin-bottom: 0px;
}

.levelbtn:hover{
	background-color:#328ffa;
	color:#fff;
	opacity: 0.8;
	/*
 	-webkit-transform:scale(1.1);
    -moz-transform:scale(1.1);
    -ms-transform:scale(1.1);   
    -o-transform:scale(1.1);
    transform:scale(1.1);
    */
}

.play-record {
	display: inline-block;
	padding-top: 5px;
	padding-bottom: 3px;
	margin-right: 5px;
	height: 26px;
	text-align:center;
	float: right;
	font-size:18px;
}

.pause-btn{
	padding-top: 4px;
	padding-bottom: 4px;
	display: inline-block;
	float: right;
	height: 26px;
}

.menu {
	margin:3px 0;
	overflow:hidden;
}

.pause-screen{
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,1.0);
	z-index: 100;
	box-sizing:border-box;
	display: none;
}

.screen-btn{
	position: absolute;
	width: 100px;
	height: 100px;
	left: 50%;
	top:50%;
	transform: translate(-50%,-50%);
}

.numpad-screen{
	position: absolute;
	width: 100%;
	height: 110px;
	background: rgba(255,255,255,0.8);
	z-index: 99;
	box-sizing:border-box;
	display: none;
}

#GameView {
	position:relative;
	text-align:center;
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.btn-link {
	cursor:pointer;
	color:#00f;
	text-decoration: underline;
}
/* Dimensions */

#contents,
#GameView {
	display:block;
	margin:0 auto;
	width:460px;
}

.table-container,
.table-container .layer {
	width:460px;
	height:460px;
}

.clue{
	background-color:#f5f5f5;
}


/* Outer Contents of Game */


/* Menu */
.menu {
	color:white;
	background:#f5f5f5;
}

.menu-top {
	background:#99d6ff;
}

.menu-top button {
	padding:0 22px;
	cursor:pointer;
	color:rgba(255,255,255,0.8);
}

.menu-top button:hover {
	color:#0080FF;
	color:#fff;
}

.menu-top button:active {
	color:#ff0;
}

.btn-generate {
	width:66%;
}

.btn-generate.initial {
	color:white;
	background:#e00;
}

.sudoku-info {
	font-size:12px;
	line-height:16px;
	height:16px;
	text-align:right;
}

.numpad-table{
	width: 100%;
	border: 2px solid #99CCFF;
}

.numpad-table tr{
	padding: 0px;
}

.numpad-table td{
	padding: 0px;
}

.numpad {
	width: 100%;	
	height:44px;
	line-height:44px;
}

.numpad {
	font-size:20px;
	font-weight:300;
	color:#328ffa;
	background:rgba(255,255,255,1);
}

.numpad:hover {
	background:#328ffa;
	color:white;
}

.numpad:active {
	background:rgba(255,255,255,0.5);
	color:black;
}

.numpad-selected {
	background:rgba(0,0,0,0.5);
	color:white;
}

.numpad-selected:hover {
	background:rgba(0,0,0,0.3);
	color:white;
}

.numpad-selected:active {
	background:rgba(0,0,0,0.16);
	color:white;
}

.functable{
	width: 100%;
	border-right: 2px solid #99CCFF;
	border-bottom: 2px solid #99CCFF;
	border-left: 2px solid #99CCFF;
	background:rgba(255,255,255,1);
}

.functable tr{
}

.functable td{
	color: #328ffa;
	font-size: 20px;
	width: 100px;
	height: 50px;
}

.functable td:hover {
	background: #328ffa;
	color:white;
}

.funcbtn{
	height: 50px
	vertical-align: middle;
}

.funcimg{
	display: inline;
	margin: 5px;
	height: 40px;
	vertical-align: middle;
}

.notelv{
	display: inline;
	line-height: 50px;
	vertical-align: middle;
}

.eraselv{
	display: inline;
	line-height: 50px;
	vertical-align: middle;
}

.funcimg:hover {
}

.in-ctrl .numpad-selected {
	position:relative;
	background:#432;
	color:white;
}
.in-ctrl .numpad-selected:before {
	/*content:"note"; */
	position:absolute;
	top:2px;
	right:2px;
	font-size:13px;
	line-height:1;
}

.in-ctrl .numpad-selected:hover {
	background:#864;
	color:white;
}

.in-ctrl .numpad-selected:active {
	background:#321;
	color:white;
}

.table-container {
	position:relative;
}

.overlay {
	font-size: 48px;
	padding-top:142px;
	background: rgba(255,255,255,0.9);
	z-index: 99;
	box-sizing:border-box;
}

.overlay .record-level {
	font-size:24px;
}


.table-container .layer {
	position:absolute;
	top:0;
	left:0;
}

.table-container table {
	border-collapse: collapse;
}

.block-bg td,
.block-border td {
	width:33.3333%;
	height:33.3333%;
}

.cells td,
.clickables td {
	width:11.1111%;
	height:11.1111%;
}

/*
.block-bg .block-1,
.block-bg .block-3,
.block-bg .block-5,
.block-bg .block-7 {
	background:#f5f5f5;
}
*/

.block-border td{
	/*border:3px solid #35506F;*/
	border:3px solid #99CCFF;
}

.cells td {
	border:1px solid #C1CBD6;
	position:relative;
	text-align: center;
	font-size: 24px;
	font-weight:300;
	color:black;
}

.cells .note {
	color:#444;
	font-size:14px;
	font-weight:400;
	line-height:1;
	position:absolute;
}

.cells .note-1,
.cells .note-2,
.cells .note-3 {
	top: 4px;	
}

.cells .note-4,
.cells .note-5,
.cells .note-6 {
	top: 18px;
}

.cells .note-7,
.cells .note-8,
.cells .note-9 {
	bottom: 3px;
}

.cells .note-1,
.cells .note-4,
.cells .note-7 {
	left: 5px;
}

.cells .note-2,
.cells .note-5,
.cells .note-8 {
	left: 21px;
}

.cells .note-3,
.cells .note-6,
.cells .note-9 {
	right: 6px;
}

.error .note,
.solving .note {
	display:none;
}

.solving .input{
	/*color:#0080ff;*/
}

.select{
	/*background:#a8d8ff;*/
	
	-webkit-transform:scale(1.2);
    -moz-transform:scale(1.2);
    -ms-transform:scale(1.2);   
    -o-transform:scale(1.2);
    transform:scale(1.2);
   

    z-index: 20;
    /*box-shadow:0px 0px 5px 3px #99CCFF inset;*/
	
	/*background:#328ffa;*/
	background:#99CCFF;
	color:#fff;
	opacity: 1.0;
}

.error {
	background:#f2dede;
	opacity: 1.0;
}

.numpad.solved-number{
	background:#99CCFF;
	color:#fff;
}
.active-number.solved-number {
	/*
	background:#99CCFF;
	color:#222;
	*/
}

.active-number {
	background:#a8d8ff;
	/*background:#FFFF9B;*/
}