*{
  margin: 0;
  padding: 0;
  color: rgb(218, 218, 218);
  font-family: Consolas, Arial;
  box-sizing: border-box;
}

body{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: rgb(48, 48, 48);
}

#games{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#sudoku-main h1{
  font-size: 2.5em;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

#sudoku-game{
  display: grid;
  grid-template-columns: 3em 3em 3em 3em 3em 3em 3em 3em 3em;
  row-gap: 2px;
  column-gap: 2px;
}

.sudoku-input{
  border-width: 2px;
  border-style: solid;
  outline: none;
  background-color: rgb(53, 53, 53);
  color: white;
  height: 3em;
  text-align: center;
  font-size: 1em;
}
input[data-border-color="black"]{
  border-color: black;
}
input[data-border-color="gray"]{
  border-color: gray;
}
input[data-border-color="red"]{
  border-color: red;
}
.sudoku-input:focus{
  /*background-color: rgb(77, 77, 77);*/
  border-color: white;
}

.sudoku-odd{
  background-color: rgb(37, 37, 37);
}
.sudoku-even{
  background-color: rgb(63, 63, 63);
}

section{
  display: flex;
  flex-direction: column;
  align-items: center;
}

button{
  padding: 0.5em 2em;
  background-color: black;
  font-size: 1em;
  border: 1px solid grey;
  border-radius: 4px;
}
button:hover{
  color: white;
  border-color: white;
}
button:active{
  color: black;
  background-color: gray;
  border-color: black
}

footer{
  background-color: rgb(36, 36, 36);
  color: white;
  height: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

footer p, footer a{
  color: rgb(112, 112, 112);
}