@font-face {
	font-family: 'SimiliBit';
	src: url('SimiliBit.ttf') format('truetype');
}
@font-face {
	font-family: 'Captcha';
	src: url('Kurzwaren.ttf') format('truetype');
}

body {
	font-family:'SimiliBit';
	position:relative;
	/* width:100vw; */
	/* height:100vh; */
	margin:0;
	padding:0;
	overflow:hidden;
}
td{
	/* overflow:hidden; */
	margin:0;
}

#root{
	position:relative;
	width:100vmax;
	height:100vmin;
}

#menu{
	position:relative;
	background-color:dimgrey; 
	width:20vmax;
	height:100vmin;
	float:left;
	z-index:2;
}
#menu.blocking {
	opacity:0.8;
	pointer-events:none;
}
#menu .item {
	margin:4vmin 2vmin;
	border-radius:2vmin;
	border:1vmin solid lightgrey;
	padding:1vmin;
	font-size:5vmin;
	color:lightgrey;
	text-align:center;
	cursor:pointer;
}
#menu>.item:hover {
	background-color:black;
	color:white;
}
#menu .item.selected {
	background-color:white;
	color:black;
}
#menucont>div {display:none;}
#menucont>div.selected {display:block;}

#menucont>div span {
	text-shadow:0 0 2px dimgrey;
	color:gold;
}

#menucont {
	margin:4vmin 2vmin;
	border-radius:2vmin;
	border:1vmin solid lightgrey;
	padding:1vmin;
	color:lightgrey;
	background-color:whitesmoke;
	text-align:left;
	height:62vmin;
	overflow-y:auto;
} 
#menucont .item {
	margin:2vmin 1vmin;
	border-radius:2vmin;
	border:0.5vmin solid grey;
	padding:1vmin;
	font-size:4vmin;
	color:black;
	text-align:center;
	cursor:pointer;
}
#menucont .item.disabled {
	opacity:0.6;
	background-image:repeating-linear-gradient(135deg, lightgrey 0, lightgrey 10%, transparent 10%, transparent 20%);
}
#menucont .item.disabled span {color:red;}
#menucont .item:hover {background-color:grey;color:white;}
#menucont .item.disabled:hover {background-color:white;color:black;}

#stat{
	background-color:black; 
	width:80vmax;
	height:20vmin;
	float:right;
	color:white;
	/* box-shadow:0 2px 10px black; */
}
#title{
	float:left;
	color:white;
	margin:2vmin;
}
#title span {
	font-size:4vmin;
	text-decoration:underline;
}
#title span:nth-of-type(2){
	color:lightgrey;
}
#title a span{
	font-size:3.5vmin;
	text-decoration:none;
}
#title a{
	text-decoration:none;
	color:pink;
}
#title a:visited{
	text-decoration:none;
	color:pink;
}
#infos{
	height:100%;
	padding-top:2.5vmax;
	font-size:5vmin;
	text-align:right;
}

#face{
	float:right;
	margin:2vmin;
	margin-left:5vmin;
	height:16vmin;
	width:16vmin;
}
#face table{
	width:100%;
	height:100%;
}
#face td{background-color:white;visibility:hidden;}

#canvas{
	position:relative;
	background-color:rgb(150,150,150);
	background-image:repeating-linear-gradient(45deg, rgb(140,140,140) 0, rgb(140,140,140) 15%, transparent 15%, transparent 30%);
	width:80vmax;
	height:80vmin;
	float:right;
	text-align:center;
	justify-content:center;
}
#canvas table{
	margin:auto;
	margin-top:5vmin;
	width:70vmin;
	height:70vmin;
	/* border-collapse:collapse; */
	background-color:white;
}
#canvas td{
	background-color:white;
	margin:0;
	border:2px dotted lightgrey;
}
.cellula span {
	position:absolute;
	text-align:center;
	margin-left:-10vmin;
	margin-top:-5vmin;
}
#canvas td.cellula {
	cursor:pointer;
	background-color:gold;
	background-image:repeating-linear-gradient(0deg, transparent 0px, transparent 80%, black 80%, black 100%);
}
.right { transform:rotate(90deg);}
.left { transform:rotate(-90deg);}
.up { transform:rotate(0deg);}
.down { transform:rotate(180deg);}

#canvas .bloc {
	cursor:not-allowed;
	background-color:lightgrey;
	border-radius:10%;
	background-image:repeating-linear-gradient(135deg, dimgrey 0px, dimgrey 10%, transparent 10%, transparent 20%);
}

#canvas .data {
	cursor:pointer;
	background-color:white;
	border-radius:50%;
	background-image:repeating-radial-gradient(transparent 15%, transparent 50%, limegreen 50%, limegreen 100%);
}
#canvas .waste {
	cursor:pointer;
	background-color:white;
	border-radius:50%;
	background-image:repeating-linear-gradient(0deg,salmon 5%, salmon 15%, transparent 15%, transparent 20%),
					 repeating-linear-gradient(90deg,salmon 5%, salmon 15%, transparent 15%, transparent 20%);
}


#blocs {
	cursor:pointer;
	position:absolute;
	margin:5vmin;
	margin-top:20vmin;
	width:10vmin;
	height:10vmin;
	background-color:lightgrey;
	border-radius:10%;
	background-image:repeating-linear-gradient(135deg, dimgrey 0px, dimgrey 10%, transparent 10%, transparent 20%);
}
#blocs.selected, #datas.selected {
	box-shadow:0 0 5vmin yellow;
}
#blocs span {
	line-height:10vmin;
	margin-left:12vmin;
	color:white;
	font-size:5vmin;
}
#blocs.selected span {
	color:yellow;
}

#datas {
	cursor:pointer;
	position:absolute;
	margin:5vmin;
	margin-top:40vmin;
	width:10vmin;
	height:10vmin;
	background-color:limegreen;
	border-radius:50%;
	background-image:repeating-radial-gradient(lightgrey 15%, lightgrey 50%, transparent 50%, transparent 100%);
}
#datas span {
	line-height:10vmin;
	margin-left:12vmin;
	color:white;
	font-size:5vmin;
}
#datas.selected span {
	color:yellow;
}
#money {
	cursor:pointer;
	position:absolute;
	margin:5vmin;
	width:6vmin;
	height:6vmin;
	background-color:white;
	border-radius:50%;
	background-image:repeating-linear-gradient(0deg,salmon 5%, salmon 15%, transparent 15%, transparent 20%),
					 repeating-linear-gradient(90deg,salmon 5%, salmon 15%, transparent 15%, transparent 20%);
}
#money span {
	margin-left:8vmin;
	color:white;
	font-size:5vmin;
}

.point {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:50vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:limegreen;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}
.loss {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:50vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:red;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}
.money {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:50vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:goldenrod;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}
.cost {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:10vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:salmon;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}
.correct {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:35vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:limegreen;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}
.error {
	z-index:2;
	position:fixed;
	top:40vmin;
	left:35vmax;
	padding:50px;
	font-size:20vmin;
	margin-left:-10vmin;
	color:red;
	text-shadow:1vmin 1vmin dimgrey;
	animation:up 1s linear forwards;
	pointer-events:none;
}

@keyframes up {
	0%{opacity:1;margin-top:0;}
	50%{opacity:1;margin-top:-10vmin;}
	to{opacity:0;margin-top:-20vmin;}
}

#pattern {
	position:absolute;
	right:5vmin;
	margin-top:10vmin;
}

#pattern span {
	font-size:4vmin;
	text-shadow:1px 1px black;
}
#pattern span.highlight {
	color:yellow;
}
#pattern span:nth-child(2) {
	color:dimgrey;
}
#pattern span:nth-child(2).highlight {
	color:white;
}

#captchadiv{
	position:absolute;
	background-color:rgb(150,150,150);
	width:70vmax;
	height:70vmin;
	right:5vmax;
	bottom:5vmin;
	text-align:center;
	justify-content:center;
	border:2px solid dimgrey;
	box-shadow:1vmin 1vmin 0 dimgrey;
	display:none;
}
#captchadiv.show{display:block;}
#captcha {
	margin:auto;
	width:50vmin;
	height:20vmin;
	margin-bottom:2vmin;
	font-family:'Captcha';
	font-weight:bold;
	padding:2vmin 0;
	font-size:15vmin;
	background-color:whitesmoke;
	border-radius:2vmin;
	border:1vmin solid lightgrey;
	color:red;
}
#captcha span {display:inline-block;transform:rotate(-15deg);}
#captchadiv textarea{
	font-size:4vmin;
	padding:1vmin;
}
#captchavalid {
	color:black;
	width:20vmin;
	margin:auto;
	padding:1vmin;
	background-color:lightgreen;
	box-shadow:1vmin 1vmin 0 green;
}
#captchavalid:hover {
	background-color:white;
	box-shadow:1vmin 1vmin 0 grey;
}
#captchavalid:active {
	color:white;
	background-color:black;
	box-shadow:1vmin 1vmin 0 white;
}

#carediv{
	position:absolute;
	background-color:rgb(150,150,150);
	width:70vmax;
	height:70vmin;
	right:5vmax;
	bottom:5vmin;
	text-align:center;
	justify-content:center;
	border:2px solid dimgrey;
	box-shadow:1vmin 1vmin 0 dimgrey;
	display:none;
}
#carediv.show{display:block;}
#care {
	margin:auto;
	width:60vmin;
	height:6vmin;
	margin-bottom:2vmin;
	font-weight:bold;
	padding:4vmin 0;
	font-size:7vmin;
	background-color:dimgrey;
	border-radius:2vmin;
	border:1vmin solid lightgrey;
	color:whitesmoke;
}
#care span {display:inline-block;}
#care span span {color:salmon;}
#carediv textarea{
	display:inline;
	/* top:5vmin; */
	position:relative;
	font-size:4vmin;
	padding:1vmin;
	/* margin-bottom:5vmin; */
}
#carediv>span {
	position:relative;
	font-size:7vmin;
	color:salmon;
	text-shadow:1px 1px black;
}
#carediv>span:nth-of-type(2) {
	color:white;
}
#carevalid {
	color:black;
	width:20vmin;
	margin:auto;
	margin-top:5vmin;
	padding:1vmin;
	background-color:lightgreen;
	box-shadow:1vmin 1vmin 0 green;
}
#carevalid:hover {
	background-color:white;
	box-shadow:1vmin 1vmin 0 grey;
}
#carevalid:active {
	color:white;
	background-color:black;
	box-shadow:1vmin 1vmin 0 white;
}

#pet .item span {
	display:block;
	text-shadow:none;
	font-size:3vmin;
}

#bootscreen{
	z-index:5;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	padding-top:15vmin;
	text-align:center;
	background-image:repeating-linear-gradient(-30deg, dimgrey 0px, dimgrey 10%, grey 10%, grey 20%);
	opacity:1;
	transition:opacity 0.5s;
}
#bootscreen h1 {
	text-shadow:2px 2px white;
	font-size:15vmin;
}
#bootscreen p {
	position:relative;
	color:white;
	font-size:10vmin;
	animation:bounce 1s ease-in-out infinite alternate;
}

@keyframes bounce {
	from{top:0;}
	to{top:3vmin;}
}

.red {background-color:pink;}


#landscape{
	display:none;
	z-index:6;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	padding-top:15vmin;
	text-align:center;
	background-image:repeating-linear-gradient(-30deg, dimgrey 0px, dimgrey 10%, grey 10%, grey 20%);
	opacity:1;
	transition:opacity 0.5s;
}
#landscape.show{display:block;}
#landscape h1 {
	text-shadow:2px 2px white;
	font-size:15vmin;
}

#landscape div {
	padding:5vmin;
	margin:auto;
	width:10vmin;
	height:30vmin;
	border:2vmin solid lightgrey;
	border-radius:4vmin;
	animation:turn 2s ease-in-out infinite;
}

@keyframes turn {
	from{transform:rotate(0deg);}
	to{transform:rotate(90deg);}
}





