.flip-clock-container {
  direction: ltr;
  font-family: Arial;
  padding: 0;
  margin: 0;
  list-style: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.flip-clock-container * {
  padding: 0;
  margin: 0;
  list-style: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flip-clock-container *::before, .flip-clock-container *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flip-clock-container [class|="flip-item"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 4%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.flip-clock-container [class|="flip-item"] .flip-digit {
  width: 100px;
  height: 109px;
  position: relative;
  margin: 0 -40px;
}
.flip-clock-container [class|="flip-item"] .flip-digit > span {
  position: absolute;
  top: 0;
  left: 25%;
  width: 30%;
  height: 35%;
  display: block;
  -webkit-perspective: 300px;
          perspective: 300px;
}
.flip-clock-container [class|="flip-item"] .flip-digit > span::after, .flip-clock-container [class|="flip-item"] .flip-digit > span::before {
  content: attr(data-digit);
  position: absolute;
  left: 0;
  width: 80%;
  height: 50%;
  font-size: 45px;
  font-weight: bolder;
  text-align: center;
  color: var(--flip-text-color);
  background-color: var(--flip-bg-color);
  overflow: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.flip-clock-container [class|="flip-item"] .flip-digit > span::before {
  top: 0;
  line-height: 43px;
  border-bottom: 1px solid #000;
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
}
.flip-clock-container [class|="flip-item"] .flip-digit > span::after {
  bottom: 0;
  line-height: 2px;
  border-top: 1px solid #000;
  -webkit-transform-origin: top;
  transform-origin: top;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-next {
  z-index: 0;
  -webkit-animation: afterZIndexAnim 0.9s linear forwards;
          animation: afterZIndexAnim 0.9s linear forwards;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-next::before {
  -webkit-animation: afterUpShadowAnim 0.9s linear forwards;
          animation: afterUpShadowAnim 0.9s linear forwards;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-next::after {
  -webkit-animation: afterFlipAnim 0.9s linear forwards, afterDownShadowAnim 0.9s linear forwards;
          animation: afterFlipAnim 0.9s linear forwards, afterDownShadowAnim 0.9s linear forwards;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-current {
  z-index: 1;
  -webkit-animation: currentZIndexAnim 0.9s linear forwards;
          animation: currentZIndexAnim 0.9s linear forwards;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-current::before {
  -webkit-animation: currentFlipAnim 0.9s linear forwards, currentUpShadowAnim 0.9s linear forwards;
          animation: currentFlipAnim 0.9s linear forwards, currentUpShadowAnim 0.9s linear forwards;
}
.flip-clock-container [class|="flip-item"] .flip-digit.flipping .flip-digit-current::after {
  -webkit-animation: currentDownShadowAnim 0.9s linear forwards;
          animation: currentDownShadowAnim 0.9s linear forwards;
}
@-webkit-keyframes afterZIndexAnim {
  0% {
    z-index: 0;
  }
  100% {
    z-index: 1;
  }
}
@keyframes afterZIndexAnim {
  0% {
    z-index: 0;
  }
  100% {
    z-index: 1;
  }
}
@-webkit-keyframes currentZIndexAnim {
  0% {
    z-index: 1;
  }
  100% {
    z-index: 0;
  }
}
@keyframes currentZIndexAnim {
  0% {
    z-index: 1;
  }
  100% {
    z-index: 0;
  }
}
@-webkit-keyframes afterFlipAnim {
  0% {
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@keyframes afterFlipAnim {
  0% {
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@-webkit-keyframes currentFlipAnim {
  0% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(-180deg);
            transform: rotateX(-180deg);
  }
}
@keyframes currentFlipAnim {
  0% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(-180deg);
            transform: rotateX(-180deg);
  }
}