* {
  box-sizing: border-box;
}

td {
  perspective: 600px;
}

.card {
  width: 100px;
  height: 100px;
  border: 10px solid orange;
  position: relative;
  transform: rotateY(180deg);
  transition: transform 1s;
  transform-style: preserve-3d;
}

.card div {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 2rem;
}

.card .front {
  transform: rotateY(0deg);
  background-color: blue;

}

.card .back {
  transform: rotateY(180deg);
  background-color: green;
}

.card.flipped {
  transform: rotateY(0deg);
}