body {
  background: #222;
  /* display: flex; */
  /* justify-content: center; */
  /* align-items: center; */
  height: 100vh;
  margin: 0;
  font-family: Arial, sans-serif;
}

#board-container {
  position: absolute;
  left: 20%;
  top: 20%;
  display: grid;
  grid-template-columns: 45px repeat(8, 90px);
  grid-template-rows: repeat(8, 90px) 90px;
  gap: 0;
}

#board {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, 90px);
  grid-template-rows: repeat(8, 90px);
  border: 4px solid #000;
  grid-column: 2 / 10;
  grid-row: 1 / 9;
}

.rank-label {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  grid-column: 1;
}

.file-label {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  grid-row: 9;
}

.square {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  user-select: none;
  cursor: pointer;
  transition: 0.15s;
}

.schachfigur {
  width: 85%;  
  object-fit: contain;
  transform: scaleX(1.02);  /*pointer-events: none;*/
}

.move-marker {    
	position: absolute;
    width: 40%;
    height: 40%;
    border-radius: 50%;
    background-color: #449966;
    opacity: 0.5;
	pointer-events: none;
	left: 50%;
	top: 50%;	
	transform: translate(-50%, -50%);
}


label {
	position: absolute;	
	
	color: #FFFFFF;
	width: 15%;
	height: 6%;
	padding: 0.5em 1em;
	opacity: 0.9;	
	font-family: Calibri;	
	font-size: clamp(14px, 1.5vw, 18px);	
	
	display : flex;	
	justify-content: left;
}
button{
	position: absolute;			
	background:#666672;
	color: #EEEEE3;
	width: 10%;
	height: 6%;
	padding: 0.5em 1em;
	opacity: 0.9;	
	font-family: Calibri;
	border-radius: 5%;
	font-size: clamp(14px, 1.5vw, 18px);
	overflow: hidden;
	text-overflow: ellipsis;
	border-style: solid;
    border-color: #FFFFFF;
    border-width: 0px;	
	display : flex;
	align-items: center;
	justify-content: center;
}
button:hover {
	background-color: #444444;
	color: #EEEEE3;
	border-style: solid;
	border-color: #FFFFFF;
	border-width: 0px;
}
button:focus {
  
}
button:active {
	background-color: #888899;
	color: #FFFFFF;
	border-style: solid;
	border-color: #FFFFFF;
	border-width: 0px;
}

select{
	position: absolute;	
	
	color: #000000;
	width: 15%;
	height: 6%;
	padding: 0.5em 1em;
	opacity: 0.9;	
	font-family: Calibri;	
	font-size: clamp(14px, 1.5vw, 18px);		
	display : flex;	
	justify-content: left;
}

.modal {
	position: absolute;
	top: 25%;
	left: 30%;
	width: 48%;
	height: 50%;
	
	
	background-color: rgba(0, 0, 0, 0.0);
	
	display: flex;
	justify-content: center;
	align-items: center;
}

.hidden {
	display: none;
}

.modal-content {
	background-color: white;
	/* padding: 3%; */
	border-radius: 6%;
	text-align: center;
	min-width: 100%; 
	min-height: 100%; 
}

.promotion-options {
	
	gap: 10%;
	display: flex;
	justify-content: center;	
	text-align: center;
}

.promotion-options button {
	
	min-width: 50%;
	min-height: 10%;
	/* padding: 5% 5% 15% 5%; */
	font-size: 1em;
	cursor: pointer;
}