* {
  box-sizing: border-box;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

body {
  display: grid;
  grid-template-columns: 1fr 2fr 2fr 1fr;
  grid-template-rows: 80px auto 1fr;
  align-items: center;
  height: 100vh;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(217deg, rgba(255,0,0,.8), rgba(255,0,0,0) 70.71%),
              linear-gradient(127deg, rgba(0,255,0,.8), rgba(0,255,0,0) 70.71%),
              linear-gradient(336deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);
  animation: rotateBackground 30s linear infinite;
  z-index: -1;
}

@keyframes rotateBackground {
  from {
    transform: rotate(0deg);
    transform-origin: center center;
  }
  to {
    transform: rotate(360deg);
    transform-origin: center center;
  }
}


h1 {
  text-align: center;
  grid-column: span 2 / 4;
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  font-size: 2.5rem;
}

h2 {
  grid-column: 2;
  grid-column: span 2;
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  font-size: 1.8rem;
}

p {
  grid-column: 2 / 4;
  margin-top: 25px;
  text-align: justify;
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

#board-wrapper {
  height: 50vh;
  width: 30vw;
  min-width: 150px;
  min-height: 250px;
  display: flex;
  border: 5px solid black;
  background-color: rgb(255, 155, 115);
  justify-content: space-between;
  grid-column: 2;
  border-radius: 15px;
}

#guess-wrapper {
  display: flex;
  flex-direction: column;
  width:79%;
  background-color: rgb(190, 230, 240);
  border: 1px 1px 1px 0 solid black;
  border-radius: 10px 0 0 10px;
}

.guess {
  display: flex;
  flex-direction: row;
  background: linear-gradient(rgb(255, 225, 185), rgb(255, 255, 255), rgb(255, 225, 185));
  border: solid 1px black;
  width: 100%;
  height: 10%;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 15px;
}

.guessCell {
  width: 20%;
  height: 90%;
  border: solid 1px black;
  border-radius: 50%;
  background: radial-gradient(white, rgb(150, 150, 150));
}

#feedback-wrapper {
  display: flex;
  flex-direction: column;
  width: 19%;
  background-color: steelblue;
  border-radius: 0 10px 10px 0;
}

.feedback {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px black;
  height: 10%;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 5px;
  background: linear-gradient(rgb(70, 133, 185), rgb(125, 156, 181), rgb(70, 133, 185));
}

.feedbackCell {
  border: solid 1px black;
  width: 45%;
  height: 45%;
  border-radius: 50%;
  background: radial-gradient(rgb(170, 170, 170), rgb(60, 60, 60));
}

#solution {
  border: solid 2px black;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 5vh;
  width: 23vw;
  min-width: 115px;
  margin: 5px;
  background: linear-gradient(rgb(70, 130, 185), rgb(125, 155, 180), rgb(70, 130, 185));
  grid-column: 2;
  border-radius: 25px;
}

.solution-cell {
  border: solid 1px black;
  height: 90%;
  width: 20%;
  border-radius: 50%;
  background: radial-gradient(rgb(75, 75, 75), black);
}

#color-bank {
  grid-column: 3;
  grid-row: 2;
  width: 30vw;
  height: 45vh;
  min-width: 150px;
  min-height: 225px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-items:right;
}

.colors {
  border: solid 1px black;
  border-radius: 15%;
  width: 15vw;
  height: 15vh;
  min-width: 75px;
  min-height: 75px;
}


.colors:hover {
  transform: scale(1.1);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  border: sold 1px #829d9f;
}

#red {
  background: radial-gradient(rgb(255, 155, 155), rgb(255, 10, 10));
}

#blue {
  background: radial-gradient(rgb(150, 150, 255), rgb(0, 0, 165));
}

#yellow {
  background: radial-gradient(rgb(255, 255, 225), rgb(230, 230, 0))
}

#green {
  background: radial-gradient(rgb(170, 245, 170), rgb(0, 110, 0))
}

#orange {
  background: radial-gradient(rgb(255, 230, 190), rgb(255, 140, 0))
}

#purple {
  background: radial-gradient(rgb(255, 125, 255), rgb(75, 0, 75))
}

button {
  margin: 5px;
  border-radius: 15px;
  font-size: 18px;
  padding: 5px;
  background: linear-gradient(#585f6b, #b8b8b8);
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

button:hover {
  background: linear-gradient(#404650, #a0a0a0);
}

#check, #reset, #reset-guess  {
  grid-column: span 2 / 4;
}

#reset, #reset-guess {
  color: #fff
}