body {
  height: 100vh;
  width: 100vw;
}

.main {
  height: 98%;
  width: 99%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.outerBoard {
  height: 95vh;
  width: 95vh;
  min-width: 95vh;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("images/board.jpeg");
}

.rim {
  border-radius: 50%;
  height: 95%;
  width: 95%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("images/marble09.png");
  background-size: 100% 100%;
}

.board {
  height: 98%;
  width: 98%;
  border-radius: 50%;
  background-image: url("images/board.jpeg");
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.selectable:hover {
  animation-name: spin;
  animation-duration: 2000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  from {transform:rotate(0deg);}
  to {transform:rotate(360deg);}
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.square {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hole {
  height: 80%;
  width: 80%;
  border-radius: 50%;
  background-color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("images/hole.png");
}

.marble {
  height: 85%;
  width: 85%;
  border-radius: 50%;
  background-size: 100% 100%;
}

button {
  border: 0;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border-radius: 50%;
  position: fixed;
  height: 32vh;
  width: 32vh;
  font-size: 3vh;
  animation-name: enter;
  animation-duration: 1s;
  transition: transform 0.2s ease;
}

button:focus {
  outline: none;
}

button:hover {
  transform: scale(1.05);
}

@keyframes enter {
  0% {
    opacity: 0;
    transform: scale(0.1);
  }
  30% {
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
  }
}
