* {
	font-family: 'Lato', sans-serif;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}
body {
	margin:0;
	padding:0;
}
input:focus {
	outline:none;
}
.button {
	font-size:30px;
	border:1px solid #CCC;
	padding:4px;
	
	border-radius:3px;
	background-image: linear-gradient(to bottom, #9ac7e6, #3487ba);
	color:white;
}
.warning {
	display:none;
}
.logo {
	position:fixed;
	bottom:10px;
	left:20px;
	text-transform: uppercase;
	opacity:0.5;
	font-size:40px;
	text-decoration:none;
	color:black;
}
.logo .cross {
	opacity:0.5;
}
.flicrossInfo {
	width:500px;
	max-width:96%;
	margin-top:100px;
	margin-bottom:100px;
	margin-left:auto;
	margin-right:auto;
	font-size:20px;
	color:white;
	
	margin-top:-10px;
	
	box-sizing:border-box;
	
	background-color:#3c94cc;

	padding-left:30px;
	padding-right:30px;
	padding-top:10px;
	padding-bottom:10px;
}
.flicrossInfo * {
	color:white;
}
.info {
	width:500px;
	max-width:96%;
	margin-top:100px;
	margin-bottom:100px;
	margin-left:auto;
	margin-right:auto;
	font-size:30px;
	color:black;
}
.info * {
	color:black;
}
.slowLoadingInfo {
	display:none;
	width:500px;
	max-width:96%;
	margin-left:auto;
	margin-right:auto;
	font-size:20px;
	color:black;
}
.search {
	position:relative;
	
	width:500px;
	margin-top:0px;
	max-width:96%;
	margin-bottom:50px;
	margin-left:auto;
	margin-right:auto;
}
.searchText {
	margin-top:140px;

	width:500px;
	max-width:96%;
	margin-bottom:4px;
	color:#AAA;
	margin-left:auto;
	margin-right:auto;
}
.search .searchField {
	width:100%;
	font-size:30px;
	border:1px solid #CCC;
	padding:6px;
	box-sizing:border-box;
	/*
	background-image:url(/res/icons/icon_72.png);
	background-repeat:no-repeat;
	background-position:left center;
	background-size:40px 40px;
	*/
}
.search .searchButton {
	position:absolute;
	right:2px;
	top:2px;
}
.throbber {
	display:none;
	position:relative;
	
	width:500px;
	max-width:96%;
	margin:100px;
	margin-left:auto;
	margin-right:auto;
	
	min-height:300px;
}
.throbber img {
	position:absolute;
	left:0;
	top:8px;
}
.throbberText {
	display:block;
	font-size:34px;
	padding-left:40px;
}
.morePuzzle {
	display:none;
	cursor:pointer;
	width:500px;
	max-width:96%;
	margin:100px;
	margin-left:auto;
	margin-right:auto;
}
.disclaimer {
	text-align:right;
	color:black;
	display:block;
	text-decoration:none;
	margin-top:10px;
}
.disclaimer * {
	color:black;
	text-decoration:none;
	display:block;
	font-size:15px;
}
.puzzle {
	margin-bottom:100px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	user-select:none;
}
.puzzle * {
	user-select:none;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none;   /* Chrome/Safari/Opera */
	-khtml-user-select: none;    /* Konqueror */
	-moz-user-select: none;      /* Firefox */
	-ms-user-select: none;       /* Internet Explorer/Edge */
	user-select: none;           /* Non-prefixed version, currently
	                              not supported by any browser */
}
.puzzle>.solution {
	width:80%;
	height:80%;
	position:absolute;
	bottom:0;
	right:0;
	display:none;
	opactiy:0;
}
.puzzle>table {
	width:100%;
	height:100%;
	border-collapse:collapse;
	cursor:pointer;
	user-select:none;
}
.puzzle>table>tr {
	height:8%;
	border-bottom:1px solid #CCC;
	cursor:pointer;
}
.puzzle>table>tr:first-child>td {
	height:20%;
	text-align:center;
	vertical-align:bottom;
	word-spacing:100px; /* make sure vertical numbers don't appear side-by-side */
	padding-bottom:7px;
	cursor:default;
}
.puzzle>table>tr>td {
	width:8%;
	border-right:1px solid #CCC;
	word-spacing:5px;
	line-height:1.2em;
	cursor:pointer;
	
	background-repeat:no-repeat;
	background-size:cover;
}
.puzzle>table>tr>td.correct {
	color:#3487ba;
}
.puzzle>table>tr>td:first-child {
	width:20%;
	text-align:right;
	padding-right:10px;
	cursor:default;
}