html {
  height: 100%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, right bottom, from(#009746), color-stop(#feed01), color-stop(#d4609f), to(#01a0e2));
  background: -webkit-linear-gradient(top left, #009746, #feed01, #d4609f, #01a0e2);
  background: -o-linear-gradient(top left, #009746, #feed01, #d4609f, #01a0e2);
  background: linear-gradient(to bottom right, #009746, #feed01, #d4609f, #01a0e2);
  font-family: 'Jost', sans-serif;
  font-weight: bold;
}

@media (min-width: 768px) {
  body {
    font-size: 24px;
  }
}

.start-screen {
  position: absolute;
  z-index: 3;
  width: 100vw;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #01a0e2;
}

.start-screen.hidden {
  display: none;
}

.start-screen__title {
  margin: 0;
  text-align: center;
}

.start-screen__text {
  text-align: center;
}

.start-screen__button {
  padding: .8em 1.5em;
  text-align: center;
  background-color: #009746;
  cursor: pointer;
}

.table {
  position: relative;
  width: 100vmin;
  height: 100vmin;
  -webkit-perspective: 1000px;
          perspective: 1000px;
}

.card {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 25%;
  height: 25%;
  -webkit-transition: top 1s, left 1s, -webkit-transform 0.6s;
  transition: top 1s, left 1s, -webkit-transform 0.6s;
  -o-transition: transform 0.6s, top 1s, left 1s;
  transition: transform 0.6s, top 1s, left 1s;
  transition: transform 0.6s, top 1s, left 1s, -webkit-transform 0.6s;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  cursor: pointer;
}

.card__shirt, .card__face {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.card__shirt {
  z-index: 2;
  -webkit-transform: rotateY(0deg);
          transform: rotateY(0deg);
}

.card__face {
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}

.card__img {
  display: block;
  width: 100%;
  height: 100%;
}

.flipped {
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}
