html, body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
body {
  display: flex;
  align-items: center;
  justify-content: center;
}
img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 512px;
}
.clock {
  display: inline-block;
  position: relative;
  bottom: 15%;
  border-radius: 50%;
  padding-bottom: 300px;
  width: 300px;
  @media (max-width: 850px) {
    padding-bottom: 35%;
    width: 35%;
  }
}
.clock.station {
  background:#fff url(../images/clock-station.svg) no-repeat center;
  background-size:95%;
  box-shadow:0 0 0.5em rgba(0,0,0,0.2) inset
}
.clock::after {
  background: red;
  border-radius: 50%;
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 4%;
  height: 4%;
  z-index: 10;
}
.minutes-container, .hours-container, .seconds-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.hours {
  background: #000;
  width: 3.5%;
  height: 40%;
  position: absolute;
  left: 48.25%;
  top: 22%;
  transform-origin: 50% 71%;
}
.minutes {
  background: #000;
  width: 3.5%;
  height: 55%;
  position: absolute;
  left: 48.25%;
  top: 7%;
  transform-origin: 50% 78.5%;
}
.seconds {
  background: red;
  width: 1.5%;
  height: 42%;
  position: absolute;
  left: 49.25%;
  top: 20%;
  transform-origin: 50% 71%;
  z-index: 8;
}
.clock.station .seconds::before{
  background:red;
  border-radius:50%;
  content:"";
  position:absolute;
  top:-9%;
  left:-200%;
  height:18%;
  width:500%
}
@keyframes rotate {
  100% {
    transform: rotateZ(360deg);
  }
}
.hours-container {
  animation: rotate 43200s infinite linear;
}
.minutes-container {
  transition: transform 0.3s cubic-bezier(.4,2.08,.55,.44);
}
.seconds-container {
  transition: transform 0.2s cubic-bezier(.4,2.08,.55,.44);
}