html, body {
  height: 100%;
  width: 100%;
  margin: 0px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background-image: url('https://s3.us-east-2.amazonaws.com/crystalprism/images/shapes+background.png');
  background-size: cover;
  color: #ffffff;
  user-select: none;
  -webkit-user-select: none;
}

a {
  color: #ffffff;
  text-decoration: none;
}

a:active, button:active {
  text-shadow: 0.1px -0.1px 0px #000000;
}

a:hover, button:hover {
  opacity: 1;
}

a:focus, button:focus {
  outline: none;
}

.hidden {
  height: 0px;
}

#audio-container {
  height: 30px;
  width: 30px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  z-index: 4;
}

#audio-icon {
  opacity: 0.5;
  cursor: pointer;
}

#audio-icon:hover {
  opacity: 1;
}

#container {
  position: relative;
  top: 0px;
  left: 0px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#controls {
  position: absolute;
  top: 5px;
  z-index: 2;
}

button {
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 5px;
  padding-right: 5px;
  border-color: #000000;
  border-radius: 10px;
  border-style: solid;
  border-width: 2px;
  background-color: #b9b9b9ad;
  font-family: 'Bangers', cursive;
  font-size: 15px;
  color: #000000;
  text-align: center;
  cursor: pointer;
}

button:active {
  box-shadow: 2px 2px 2px !important;
  -webkit-box-shadow: 2px 2px 2px !important;
  background-color: #b9b9b9c9;
  text-shadow: 0.1px -0.1px 0px;
}

button:disabled {
  background-color: #6f6f6fad;
  cursor: not-allowed;
}

#game-screen {
  position: absolute;
  height: 65%;
  min-height: min-content;
  min-height: -moz-min-content;
  width: 60%;
  padding: 10px;
  margin: auto;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: scroll;
  z-index: 2;
}

.title {
  font-family: 'Bungee Shade', cursive;
  font-size: 20px;
  font-style: italic;
  font-weight: bold;
  color: #000000;
}

.body, .start {
  width: 80%;
  margin-top: 20px;
  font-family: 'Bangers', cursive;
  font-size: 15px;
  color: #000000;
  text-align: center;
}

.body {
  margin-top: 40px;
}

#leaders-table {
  margin-top: 30px;
}

caption {
  margin-bottom: 10px;
}

#game {
  cursor: url('images/blast-outline.svg') 25 20, none;
  z-index: 1;
}

.heart {
  opacity: 0.3;
}

#score {
  position: absolute;
  dominant-baseline: central;
  font-family: 'Bungee Shade', cursive;
  font-size: 20px;
  font-style: italic;
  font-weight: bold;
  color: #000000;
  text-anchor: middle;
  line-height: 45px;
}

table a {
  color: #000000;
}

@media only screen and (min-width: 768px) {
  .title {
    font-size: 30px;
  }

  .body, .start, #leaders-table {
    font-size: 20px;
  }

  caption {
    margin-bottom: 15px;
  }

  #score {
    font-size: 30px;
  }
}
