*, html { border:0; padding:0; margin:0; font: 12px sans-serif; user-select: none; }
body { font: 12px sans-serif; text-align: center; background: #c0c0c0; }

.game {
	max-width: 450px;
	background: white;
	text-align: left;
	border: 1px solid black;
}
.title .header {
	background: black;
	color: white;
}
.title input {
	border: 1px solid black;
	padding: 2px 4px;
}
.container {
}

.container .content {
	display: none;
}
.container.opened .content {
	display: block;
}

.ranking {
}
.ranking .score {
	display: inline-block;
	width: 24px;
	margin-right: 8px;
	text-align: right;
}
.ranking .name {
	display: inline-block;
}
.ranking .header {
	background: linear-gradient(to bottom, #e0e0e0, #c0c0c0);
}

.collection {
	border-top: 1px solid black;
}
.collection.default {
}
.collection.wrong {
}
.collection.busy {
}
.collection.good {
}
.collection.num0 { display: none; }
.collection.num1 .header:after { content: " (1)"; }
.collection.num2 .header:after { content: " (2)"; }
.collection.num3 .header:after { content: " (3)"; }
.collection.default .header {
	background: linear-gradient(to bottom, #ffffff, #e0e0e0);
}
.collection.wrong .header {
	background: linear-gradient(to bottom, #ffa0a0, #e08080);
}
.collection.busy .header {
	background: #a0a0a0;
}
.collection.good .header {
	background: linear-gradient(to bottom, #a0ffa0, #80e080);
}
.collection.frozen .header {
	background: linear-gradient(to bottom, #ffffff, #e0e0e0);
	text-decoration: line-through;
	color: #808080;
}
.collection.default.num3 .header { 
	background: linear-gradient(to bottom, #ffffa0, #e0e080);
}

.header {
	font-weight: bold;
	padding: 4px;
	cursor: pointer;
}
.header .button {
	display: inline-block;
	height: 16px;
	text-align: center;
	border: 1px solid black;
	font-size: 80%;
	margin-right: 4px;
	padding: 0 3px;
	border-radius: 3px;
}
.header .button.state4 { background: #8080ff; float: right; }
.header .button.state4:before { content: "Sluit spel af"; }
.header .button.state3 { background: #40e040; }
.header .button.state3:before { content: "Goed"; }
.header .button.state1 { background: #ff4040; }
.header .button.state1:before { content: "Fout"; }
.header .button.state0 { background: #a0a0a0; }
.header .button.state0:before { content: "Reset"; }

.content {
	border-top: 1px solid black;
	padding: 8px 4px;
}

.attribute {
	display: inline-block;
	vertical-align: top;
	width: 102px;
	margin-right: 8px;
}
.attribute .photo {
	width: 100px;
	height: 100px;
	border: 1px solid black;
	background: white;
}

.attribute .name {
	width: 100%;
	height: 24px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
}
.attribute .upload {
	position: relative;
}
.attribute .upload input {
	position: relative;
	width: 100%;
	height: 24px;
	text-align: right;
	-moz-opacity: 0;
	filter: alpha(opacity: 0);
	opacity: 0;
	z-index: 2;
}
.collection.busy .attribute .upload input { display: none; }
.collection.good .attribute .upload input { display: none; }

.attribute .upload button {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	border: 2px outset;
	border-radius: 6px;
	z-index: 1;
}
.attribute .upload button:before { content: "Upload jouw foto"; }
.collection.wrong .attribute .upload button:before { content: "Set afgekeurd..."; }
.collection.busy .attribute .upload button:before { content: "Even geduld..."; }
.collection.good .attribute .upload button:before { content: "Goedgekeurd"; }
.collection.frozen .attribute .upload button:before { content: "Spel afgelopen"; }

.overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	text-align: center;
	overflow: hidden;
}
.overlay img {
	margin: 8px;
	border: 1px solid black;
	background: white;
}
.overlay .error {
	position: absolute;
	text-align: center;
	padding: 10px;
	width: 30%;
	height: 30%;
	left: 50%;
	top: 50%;
	margin: -15% 0 0 -15%;
	border: 1px solid #d00000;
	background: white;
	font-weight: bold;
	color: #d00000;
}
.overlay .wait {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 80px;
	height: 80px;
	margin-left: -40px;
	margin-top: -40px;
}

@media only screen and (min-width: 1024px) {
	.game { display: inline-block; max-width: 1010px; width: 1010px; }
	.attribute { width: 242px; }
	.attribute .photo { width: 240px; height: 240px; }
	*, html { font: 14px sans-serif; }
	body { font: 14px sans-serif; padding: 8px; }
}



.lds-spinner {
  color: official;
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-spinner div {
  transform-origin: 40px 40px;
  animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3px;
  left: 37px;
  width: 6px;
  height: 18px;
  border-radius: 20%;
  background: #fff;
}
.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

sup, sub { font-size: 70%; }
