@charset "utf-8";
/* CSS Document */

/* NEW CSS */

:root {
	--tileWH : 35px;
	--keyWH: 100px;
}
*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
	display: flex;
	margin:0px; 
	padding:0px; 
	background-color:#ffffff; 
	background-image: url(../../images/bg2.jpg);
	background-position:top; /* Center the image */
	background-repeat: no-repeat; /* Do not repeat the image */
	background-size:cover; /* Resize the background image to cover the entire container */
	font-family: Arial, Helvetica, sans-serif;
	font-size:2rem;
}

h1 {
	margin:10px auto;
	padding:0px;
	font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	color:saddlebrown;
	text-align:center;
	text-transform: uppercase;
}
h2 {
    	font: normal 1rem 'trebuchet ms',arial,sans-serif;
	text-align:left;
    	padding-bottom: 5px;
	margin: 0px 20px;
	color: #295238;
}
h3, .h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2rem;
	color: whitesmoke;
	text-decoration:underline;
	font-weight:normal;
	margin:0px 0px 0px 0px;
}
img {
	display: block;
	margin:20px auto;
}
#authors {
	width:100%;
	font-family: Arial, Helvetica, sans-serif;
}
#authors td {
	font-size:1.5rem;
	font-weight:bold;
	padding:5px 0px;
}
#authors input[type="radio"] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  appearance: none;
  /* For iOS < 15 */
  background-color: whitesmoke;
  /* Not removed via appearance */
  margin: 0px;

  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 50%;
  transform: translateY(-0.075em);

  display: grid;
  place-content: center;
}

#authors input[type="radio"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em rebeccapurple;
  /* Windows High Contrast Mode */
  background-color: CanvasText;
}
.sel {
/*  width: 0.65em;
  height: 0.65em;
  border-radius: 50%; */
  /* transition: 120ms transform ease-in-out; */
  /* Windows High Contrast Mode */
  box-shadow: inset 1em 1em rebeccapurple;
  background-color: CanvasText;
}
#authors input[type="radio"]:checked::before {
  transform: scale(1);
}

#authors input[type="radio"]:hover {
  outline: max(2px, 0.15em) solid rebeccapurple; 
  outline-offset: max(2px, 0.15em);
}
#main {
	position:relative;
	margin:30px auto;
	padding: 2px 0px;
	background-color: white;
	border:darkslategrey 3px solid;
	box-shadow: 4px 4px 4px rgb(0 0 0 / 50%);
}
#instr, #sttgs {
	position:relative;
	margin:50px auto;
	padding:12px;
	width:70%;
	background-color:darkslategray;
	color:whitesmoke;
	font-size:1.2rem;
	border:whitesmoke 3px solid;
	box-shadow: 4px 4px 4px rgb(0 0 0 / 50%);
}
#keygrp {
    display:block;
    margin:20px auto;
    width:100%;
}
.grid {
    margin:0px auto;
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
}
#codegrp {
    margin:0px 20px;
    display:flex;
    justify-content: left;
    align-items: center;
    flex-wrap:wrap;

}
.code {
	display: inline-flex;
	position:relative;
	height: var(--tileWH);
	width: var(--tileWH);
	margin: 1px;
	background-color: whitesmoke;
	justify-content: center;
	align-items: center;
	color: black;
	font-weight: bold;
	vertical-align: middle;
	font-size:calc(var(--tileWH) - 4px);
	text-align: center;
    	border: black 1px solid;

}
.red {
	color:darkred;
	background-color:antiquewhite;
}
.redspace {
	color:whitesmoke;
}
.keys {
	display: inline-flex;
	position:relative;
	height: var(--keyWH);
	width:calc(var(--keyWH) * 0.9);
	margin: 5px;
    	background-color: whitesmoke;
	justify-content: center;
	align-items: center;
	color: black;
	font-weight: normal;
	font-size:calc(var(--keyWH) * 0.75);
	vertical-align: middle;
	text-align: center;
    	border: black 3px solid;
	border-radius:15px;
}
.largekey {
	font-size:1.5rem;
/*	width:calc(var(--keyWH) * 2); */
	width:6rem;
}
.keySelected {
	border:darkslategrey 3px solid;
	background-color:darkslategrey;
	color:whitesmoke;
	font-weight:bold;
}
.keyPending {
	border:darkslategrey 3px solid;
	background-color:goldenrod;
	color:black;
	font-weight:bold;
}
.codePending {
	background-color:goldenrod;
}
.btn {
	display: flex;
	padding: 5px 20px;
	background-color:bisque;
	color:black;
	border:darkgoldenrod 3px solid;
	border-radius:40px;
	text-align:center;
	font-size:1.5rem;
	font-weight:bold;
	margin: 10px auto;
	z-index:2000;
}
.error {
	position:relative;
	margin:0px auto;
	padding:12px;
	width:300px;
	background-color:darkslategray;
	color:whitesmoke;
	border:whitesmoke 3px solid;
	box-shadow: 4px 4px 4px rgb(0 0 0 / 50%);
	z-index: 1000;
}
#clock {
	justify-content: center;
	align-items: center;
	color: black;
	font-weight: bold;
	vertical-align: middle;
	text-align: center;
}
#completedgrp {
	position:absolute;
	width:100%;
	z-index: 1000;
	display:none;
}
#completedset {
	position:relative;
	background-color:#ffffff; 
	background-image: url(../images/smiley4.png);
	background-position:center; /* Center the image */
	background-repeat: no-repeat; /* Do not repeat the image */
	position:relative;
	display: block;
	background-color: whitesmoke;
	border:black 2px solid;
	width:80%;
	font-size:1.5rem;
	font-weight:bold;
	margin: 80px auto;
	padding:0px 20px;
	z-index:3000;
}
#gutlink:link {
	color:lightgreen;
}
#gutlink:visited {
	color:lightblue;
}
#bkdrop {
	float:right;
	color:whitesmoke;
	font-size:0.8em;
	font-weight:bold;
}
.scores {
	padding:2px 10px;
	background-color:green;
	color:whitesmoke;
	border:none;
	border-radius:5px;
}
.slidecontainer {
  width: 50%; /* Width of the outside container */
}
.sizes {
	width:50%;
	float:left;
	display: inline-flex;
	position:relative;
	justify-content: center;
	align-items: center;
	text-align:center;
}
.slider {
  -webkit-appearance: none;
  width: 40%;
  height: 5px;
  border-radius: 5px;  
  background: whitesmoke;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  border: 3px solid whitesmoke;
  border-radius: 50%; 
  background: blue;
  cursor: pointer;
}

.slider::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border: 3px solid whitesmoke;
  border-radius: 50%;
  background: blue;
  cursor: pointer;
}
@Media only screen and (min-width:1000px) {
	#instr, #sttgs {
		font-size:0.8rem;
	}
	#bkdrop {
		font-size:0.8rem;
	}
}
