.clock {
  align-items: center;
  background: #121212;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-evenly;
}

@media (min-width: 600px) {
  .clock {
    flex-direction: row;
  }
}

.display {
  --flap-width: min(72vw, 36vh);
  --flap-height: calc(var(--flap-width) * 0.5);
  --flap-border-radius: 1rem;
  --flap-font-size: calc(var(--flap-width) * 0.75);
  --flap-animation-duration: 0.5s;
  --flap-animation-timing-function: linear;

  height: calc(var(--flap-height) * 2);
  position: relative;
  width: var(--flap-width);
}

@media (min-width: 600px) {
  .display {
    --flap-width: min(36vw, 72vh);
    --flap-padding: 0.1875rem;
    --flap-border-radius: 2rem;
  }
}

.display__flap {
  background-color: #212121;
  display: block;
  font-size: var(--flap-font-size);
  font-weight: 700;
  height: var(--flap-height);
  overflow: hidden;
  position: absolute;
  text-align: center;
  width: var(--flap-width);
}

.display__flap:nth-child(1),
.display__flap:nth-child(2) {
  border-top-left-radius: var(--flap-border-radius);
  border-top-right-radius: var(--flap-border-radius);
  clip-path: polygon(0% 0%, 100% 0, 100% 98%, 0% 98%);
  line-height: calc(var(--flap-height) * 2);
}

.display__flap:nth-child(3),
.display__flap:nth-child(4) {
  border-bottom-left-radius: var(--flap-border-radius);
  border-bottom-right-radius: var(--flap-border-radius);
  clip-path: polygon(0% 2%, 100% 2%, 100% 100%, 0% 100%);
  line-height: 0;
  top: var(--flap-height);
}

.display__flap:nth-child(2) {
  transform: rotateX(0deg);
  transform-origin: bottom;
}

.display__flap:nth-child(4) {
  transform: rotateX(90deg);
  transform-origin: top;
}

@keyframes flip-up {
  0% {
    transform: rotateX(0deg);
  }

  50%,
  100% {
    transform: rotateX(-90deg);
  }
}

@keyframes flip-down {
  0%,
  50% {
    transform: rotateX(90deg);
  }

  100% {
    transform: rotateX(0deg);
  }
}

.display__flap--flipping:nth-child(2) {
  animation-duration: var(--flap-animation-duration);
  animation-name: flip-up;
  animation-timing-function: var(--flap-animation-timing-function);
}

.display__flap--flipping:nth-child(4) {
  animation-duration: var(--flap-animation-duration);
  animation-name: flip-down;
  animation-timing-function: var(--flap-animation-timing-function);
}

.display__text {
  opacity: 0.6;
}
