body {
  margin: 0;
  padding: 0;
}

.noScroll {
  overflow-y: hidden;
}

.gameStack {
  position: absolute;
  display: inline-block;
  transition: opacity linear 300ms;
  transform: translate(-50%, -50%);
  opacity: 1;
  width: 960px;
  height: 600px;
  border: 1px solid white;
}

.gameGrid {
  margin: 12px;
  position: relative;
  display: inline-flex;
  opacity: 1;
  width: 320px;
  height: 200px;
  border: 2px solid white;
  cursor: pointer;
}

.gameGrid:hover {
  border: 2px solid cyan;
}

.vanish {
  transition: opacity linear 300ms, top linear 300ms, left linear 300ms;
}

.grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.stack {
  position: absolute;
  margin-top: 20px;
  top: 50%;
  left: 50%;
}

.disappear {
  opacity: 0;
}

.appear {
  opacity: 1;
}

canvas, img {
  transition: opacity 1s linear;
  position: relative;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  width: 100%;
  height: 100%;
}

.gameStack img {
  top: calc(-100% - 4px);
}

.gameGrid img {
  left: -100%;
}

#controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
