@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #fff8d2;
}
.wrapper {
  padding: 25px;
  border-radius: 10px;
  background: #fb95b4;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px,
    rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

.cards,
.card,
.view {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cards {
  height: 400px;
  width: 400px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cards .card {
  cursor: pointer;
  list-style: none;
  user-select: none;
  position: relative;
  perspective: 1000px;
  transform-style: preserve-3d;
  height: calc(100% / 4 - 10px);
  width: calc(100% / 4 - 10px);
}
.card.shake {
  animation: shake 0.35s ease-in-out;
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-13px);
  }
  40% {
    transform: translateX(13px);
  }
  60% {
    transform: translateX(-8px);
  }
  80% {
    transform: translateX(8px);
  }
}
.card .view {
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 7px;
  background: rgb(254, 167, 167);
  pointer-events: none;
  backface-visibility: hidden;
  box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px,
    rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px,
    rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px;
  transition: transform 0.25s linear;
}
.card .front-view img {
  width: 19px;
}
.card .back-view img {
  max-width: 45px;
}
.card .back-view {
  transform: rotateY(-180deg);
}
.card.flip .back-view {
  transform: rotateY(0);
}
.card.flip .front-view {
  transform: rotateY(180deg);
}
@media screen and (max-width: 700px) {
  .cards {
    height: 350px;
    width: 350px;
  }
  .card .front-view img {
    width: 17px;
  }
  .card .back-view img {
    max-width: 40px;
  }
}
@media screen and (max-width: 530px) {
  .cards {
    height: 300px;
    width: 300px;
  }
  .card .front-view img {
    width: 15px;
  }
  .card .back-view img {
    max-width: 35px;
  }
}
