html {
	background-image: url(../img/wood.jpg);
	overflow: hidden; /* For IE desktop */
}

body {
	margin: 0;
	font-family: Arial, Helvetica, Sans-serif;
	color: #000;
}

div.desc {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

img {
	border: 0;
}

#loading {
	z-index: 1;
	background: #fff;
}

.copycredits {
	position: absolute;
	height: 33px;
	bottom: 5px;
	right: 5px;
}
.copycredits img {
	width: 33px;
	height: 33px;
	cursor: pointer;
	float: left;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.copycredits img + img {
	margin-left: 3px;
}
.copycredits img:hover {
	filter: drop-shadow(0 0 5px #fff);
	transform: scale(1.1, 1.1);
}

.closeBtn {
	cursor: pointer;
	background: #000;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	position: absolute;
	border: 3px solid #fff;
	box-shadow: 0 0 4px #000;
	transition: 0.25s ease;
}
.closeBtn:hover {
	background: #fff;
	transform: rotate(90deg);
}
.closeBtn:before, .closeBtn:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 75%;
	height: 15%;
	border-radius: 2px;
	transform-origin: center;
	transform: translate(-50%, -50%) rotate(45deg);
	background: #fff; /* Color of cross */
	content: "";
}
.closeBtn:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.closeBtn:hover:before, .closeBtn:hover:after {
	background: #000;
}

.popupWrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}

.popup {
	background: #000;
	color: #fff;
	position: fixed;
	left: 50%;
	top: 50%;
	box-shadow: 0 0 20px #000;
	text-align: center;
}

.popup.white {
	text-align: left;
	background: #fff;
	color: #000;
}

.popup .title {
	background: #eee;
	text-align: center;
	font-size: 24px;
	line-height: 32px;
	font-weight: bold;
	color: #000;
}

.popup a:link, .popup a:visited {
	color: red;
}

/* Language selection UI */

#langSelect, #langSelect > div {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #000;
}

#langSelect .chosen {
	/*z-index: 1; // Removed 2023-10-09 */
	background: #fff;
	padding: 5px;
	cursor: pointer;
}

#langSelect .choose {
	z-index: 2;
	background: #fff;
	padding: 5px;
	display: none;
	font-size: 14px;
	font-weight: bold;
}

#langSelect .choose > div {
	display: flex;
	align-items: center;
	padding: 3px;
	cursor: pointer;
	transition: all 0.4s;
   background-size: 200%;
   background-position: 50%;
}

#langSelect .choose > div:hover {
	background-color: #ddd;
	background-image: radial-gradient(circle, #ddd 10%, #fff 11%);
   background-size: 1000%;
}

#langSelect .choose > div div:nth-child(2) {
	margin-left: 5px;
}

#langSelect .choose .selected {
	border: 1px dotted #000;
}

.flag {
	background-image: url(../img/flags.sprite.png);
	background-size: 76.5px 75px;
	width: 25.5px;
	height: 15px;
	box-shadow: 0 0 2px #000;
}
.flag.cn {
   background-position: 0 0;
}
.flag.de {
   background-position: -25.5px 0;
}
.flag.it {
   background-position: -51px 0;
}
.flag.en {
   background-position: 0 -15px;
}
.flag.es {
   background-position: -25.5px -15px;
}
.flag.nl {
   background-position: -51px -15px;
}
.flag.fr {
   background-position: 0 -30px;
}
.flag.in {
   background-position: -25.5px -30px;
}
.flag.pl {
   background-position: -51px -30px;
}
.flag.pt {
   background-position: 0 -45px;
}
.flag.us {
   background-position: -25.5px -45px;
}
.flag.en-gb {
   background-position: -51px -45px;
}
.flag.ru {
   background-position: -25.5px -60px;
}
.flag.tr {
	background-position: 0 -60px;
}

/* /Language selection UI */

.progressbar {
	position: absolute;
	top: 400px;
	left: 130px;
	width: 540px;
	border-radius: 8px; /* (height of inner div) / 2 + padding */
	padding: 3px;
	background-color: #eee;
	box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4) inset;
	border-collapse: separate; /* IE 9 */
}

.progressbar > div {
	width: 0; /* Adjust with JavaScript */
	height: 10px;
	border-radius: 10px;
	background: #666; /* Old browsers */
	background: -moz-linear-gradient(top, #666 0%, #999 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#666), color-stop(100%,#999)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #666 0%,#999 100%); /* Chrome10+,Safari5.1+ */
	background: linear-gradient(to bottom, #666 0%,#999 100%); /* W3C */
}

#fullscreen-icon {
	position: absolute;
	left: 10px;
	bottom: 10px;
	cursor: pointer;
	width: 40px;
	height: 35px;
	background-image: url(../img/fullscreen-on.png);
}

#fullscreen-icon.on {
	background-image: url(../img/fullscreen-off.png);
}

#rotateHint {
	display: flex;
	position: fixed;
	inset: 0;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(6px);
	z-index: 99999;
	font-family: Arial, Helvetica, Sans-serif;
	color: #000;
	align-items: center;
	justify-content: center;	
	text-align: center;
	flex-direction: column;
}

#rotateHint strong {
	font-size: 1.75em;
	margin-bottom: 1em;
}

#rotateHint img.rotate {
	width: 70%;
	max-width: 80vw;
	max-height: 60vh;
}

#rotateHint .closeBtn {
	top: 1em;
	right: 1em;
}

#gameContainer {
	position: absolute;
	top: 0; left: 0;
	transform-origin: 0 0;
	-webkit-transform-origin: 0 0;
}

* {
	-webkit-touch-callout: none;
	/* Removed 2020-01-18, as Safari would not accept hiscore name input
	-webkit-user-select: none;
	-moz-user-select: none;
	*/
	user-select: none;
	outline: none !important;
	outline-style: none;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	-webkit-tap-highlight-color: transparent;
}

/** CSS animations (from animate.css) **/

.animated1s {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes slideOutUp {
	0% { -webkit-transform: translate3d(0, 0, 0); }
	100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); }
}

@keyframes slideOutUp {
	0% { transform: translate3d(0, 0, 0); }
	100% { opacity: 0; transform: translate3d(0, -100%, 0); }
}

.slideOutUp {
	-webkit-animation-name: slideOutUp;
	animation-name: slideOutUp;
}

.btn {
	cursor: pointer;
	border: 0;
	background-color: #09f;
	color: #fff;
	border-radius: 4px;
	min-width: 60px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
	transition: all 0.4s;
	font-family: Arial, Helvetica, sans-serif;
	padding: 8px 10px;
	font-size: 1rem;
	letter-spacing: .05em;
	background-size: 200%;
	background-position: 50%;
}
.btn:hover {
	background-color: #1688e3;
}

.btn:not([disabled]):active {
	background-color: #09f;
	background-image: radial-gradient(circle, #1688e3 10%, #09f 11%);
	background-repeat: no-repeat;
	background-size: 1000%;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

/** Credits **/

@-webkit-keyframes zoomIn {
	0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); }
	50% { opacity: 1; }
}

@keyframes zoomIn {
	0% { opacity: 0; transform: scale3d(.3, .3, .3); }
	50% { opacity: 1; }
}

.zoomIn {
	-webkit-animation-name: zoomIn;
	animation-name: zoomIn;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.zoomIn img {
	width: 300px;
	height: 91px;
	margin-top: 15px;
}

.reset {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translate(-50%,0);
}

.reset a {
	font-size: 13px;
	text-decoration: none;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(to right, red, red 50%, #656565 50%);
	background-size: 200% 100%;
	background-position: 100%;
}

.reset a:hover {
	transition: all 0.3s cubic-bezier(0, 0, 0.23, 1);
	background-position: 0;
}

/* Hiscore stuff */

.hiscore * {
	box-sizing: border-box;
}

.hiscore input, .hiscore button {
	font-family: inherit;
	font-size: inherit;
}

.hiscore h1, .hiscore h2, .hiscore h3 {
	border-bottom: 1px solid #ccc;
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-weight: 500;
}

.hiscore h1 {
	font-size: 2rem;
}

.hiscore h2 {
	font-size: 1.25rem;
}

.hiscore h3 {
	font-size: 1.1rem;
}

.hiscore a {
	color: blue;
}

.hiscore label {
	font-weight: bold;
	display: block;
	margin: 0.25em 0;
}
.hiscore input {
	border: none;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	border-bottom: 2px solid #8f8f8f;
	padding: 1em;
	background-color: #f5f5f5;
	transition: all 0.25s ease-in-out;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
}
.hiscore input:focus {
	background-color: #dbdbdb;
	border-bottom: 2px solid #09f;
	outline: none;
}

.hiscore input.error {
	border-bottom: 2px solid #f00;
}

table.hiscores {
	border-collapse: collapse;
	width: 100%;
	border-spacing: 0;
	table-layout: auto;
}

table.hiscores td {
	border: 1px solid #eee;
	padding: .5em;
	color: #000;
}
table.hiscores td:first-child, table.hiscores td:nth-child(3) {
	text-align: right;
}

table.hiscores th {
	background-color: #fafafa;
	color: #616161;
	border-top: 1px solid #e5e5e5;
	text-align: left;
	padding: .5em;
	border: 1px solid #e5e5e5;
}

#tabs {
	overflow-y: hidden;
	padding: 0;
	margin: 0;
	min-width: 100%;
	height: 55px;
	white-space: nowrap;
}
#tabs li {
	display: inline-block;
	list-style: none;
}
#tabs li a {
	text-transform: uppercase;
	text-decoration: none;
	color: black;
	float: left;
	padding: 2px 10px;
	font-size: .875rem;
	line-height: 2.25rem;
	font-weight: 500;
	letter-spacing: .075em;
	border-bottom: 2px solid transparent;
}

#tabs li a:hover { background-color: #e5e5e5; }

#tabs li.current a {
	color: #09f;
	border-bottom: 2px solid #09f;
}

#content > div:not(.current) {
	display: none;
}

.social {
	display: inline-block;
	width: 64px;
	height: 64px;
	background-repeat: no-repeat;
	background-size: 64px 64px;
	background-position: 50% 50%;
	border: 1px solid transparent;
	cursor: pointer;
}

.hiscore .social {
	width: 48px;
	height: 48px;
	background-size: 48px 48px;
}

.social:hover {
   background-color: #eee;
   border-radius: 10px;
   border: 1px solid #555;
}

.twitter {
	background-image: url("data:image/svg+xml,%3Csvg xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 1668 1221' xml:space='preserve'%3E%3Cg transform='translate(52,-25)'%3E%3Cpath d='M283.94,167.31l386.39,516.64L281.5,1104h87.51l340.42-367.76L984.48,1104h297.8L874.15,558.3l361.92-390.99 h-87.51l-313.51,338.7l-253.31-338.7H283.94z M412.63,231.77h136.81l604.13,807.76h-136.81L412.63,231.77z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.facebook {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='24' preserveAspectRatio='xMidYMid meet' viewBox='0 0 24 24'%3E%3Cpath d='M17 2v4h-2c-.69 0-1 .81-1 1.5V10h3v4h-3v8h-4v-8H7v-4h3V6a4 4 0 0 1 4-4h3z' fill='%234267b2'/%3E%3Crect x='0' y='0' width='24' height='24' fill='rgba(0, 0, 0, 0)' /%3E%3C/svg%3E");
}

.pinterest {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1em' height='1em' preserveAspectRatio='xMidYMid meet' viewBox='0 0 24 24'%3E%3Cpath d='M9.04 21.54c.96.29 1.93.46 2.96.46a10 10 0 0 0 10-10A10 10 0 0 0 12 2A10 10 0 0 0 2 12c0 4.25 2.67 7.9 6.44 9.34c-.09-.78-.18-2.07 0-2.96l1.15-4.94s-.29-.58-.29-1.5c0-1.38.86-2.41 1.84-2.41c.86 0 1.26.63 1.26 1.44c0 .86-.57 2.09-.86 3.27c-.17.98.52 1.84 1.52 1.84c1.78 0 3.16-1.9 3.16-4.58c0-2.4-1.72-4.04-4.19-4.04c-2.82 0-4.48 2.1-4.48 4.31c0 .86.28 1.73.74 2.3c.09.06.09.14.06.29l-.29 1.09c0 .17-.11.23-.28.11c-1.28-.56-2.02-2.38-2.02-3.85c0-3.16 2.24-6.03 6.56-6.03c3.44 0 6.12 2.47 6.12 5.75c0 3.44-2.13 6.2-5.18 6.2c-.97 0-1.92-.52-2.26-1.13l-.67 2.37c-.23.86-.86 2.01-1.29 2.7v-.03z' fill='%23e60023'/%3E%3Crect x='0' y='0' width='24' height='24' fill='rgba(0, 0, 0, 0)' /%3E%3C/svg%3E");
}

.whatsapp {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1em' height='1em' preserveAspectRatio='xMidYMid meet' viewBox='0 0 24 24'%3E%3Cpath d='M16.75 13.96c.25.13.41.2.46.3c.06.11.04.61-.21 1.18c-.2.56-1.24 1.1-1.7 1.12c-.46.02-.47.36-2.96-.73c-2.49-1.09-3.99-3.75-4.11-3.92c-.12-.17-.96-1.38-.92-2.61c.05-1.22.69-1.8.95-2.04c.24-.26.51-.29.68-.26h.47c.15 0 .36-.06.55.45l.69 1.87c.06.13.1.28.01.44l-.27.41l-.39.42c-.12.12-.26.25-.12.5c.12.26.62 1.09 1.32 1.78c.91.88 1.71 1.17 1.95 1.3c.24.14.39.12.54-.04l.81-.94c.19-.25.35-.19.58-.11l1.67.88M12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10c-1.97 0-3.8-.57-5.35-1.55L2 22l1.55-4.65A9.969 9.969 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8c0 1.72.54 3.31 1.46 4.61L4.5 19.5l2.89-.96A7.95 7.95 0 0 0 12 20a8 8 0 0 0 8-8a8 8 0 0 0-8-8z' fill='%2300e676'/%3E%3Crect x='0' y='0' width='24' height='24' fill='rgba(0, 0, 0, 0)' /%3E%3C/svg%3E");
}

