* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body {
  height: 100%;
  width: 100%;
}

body {
  background: black;
  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;
}

.clock {
  height: 20vh;
  color: white;
  font-size: 13vh;
  font-family: sans-serif;
  line-height: 20.4vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  /*background: green;*/
  overflow: hidden;
}

.clock::before, .clock::after {
  content: '';
  width: 7ch;
  height: 3vh;
  background: -webkit-gradient(linear, left bottom, left top, from(transparent), to(black));
  background: linear-gradient(to top, transparent, black);
  position: absolute;
  z-index: 2;
}

.clock::after {
  bottom: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black));
  background: linear-gradient(to bottom, transparent, black);
}

.clock > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tick {
  line-height: 17vh;
}

.tick-hidden {
  opacity: 0;
}

.move {
  -webkit-animation: move linear 1s infinite;
          animation: move linear 1s infinite;
}

@-webkit-keyframes move {
  from {
    -webkit-transform: translateY(0vh);
            transform: translateY(0vh);
  }
  to {
    -webkit-transform: translateY(-20vh);
            transform: translateY(-20vh);
  }
}

@keyframes move {
  from {
    -webkit-transform: translateY(0vh);
            transform: translateY(0vh);
  }
  to {
    -webkit-transform: translateY(-20vh);
            transform: translateY(-20vh);
  }
}

