:root {
  --timer-dimension: 120px;
}


.base-timer {
  position: relative;
  margin: auto;
  width: var(--timer-dimension);
  height: var(--timer-dimension);
}

.base-timer__svg {
  transform: scaleX(-1);
}

.base-timer__circle {
  fill: none;
  stroke: none;
}

.base-timer__path-elapsed {
  stroke-width: 7px;
  stroke: grey;
}

.base-timer__path-remaining {
  stroke-width: 7px;
  stroke-linecap: round;
  transform: rotate(90deg);
  transform-origin: center;
  transition: 1s linear all;
  fill-rule: nonzero;
  stroke: currentColor;
}

.base-timer__path-remaining.blue {
  color: #0056FF;
}

.base-timer__path-remaining.orange {
  color: orange;
}

.base-timer__path-remaining.red {
  color: red;
}

.base-timer__label {
  position: absolute;
  width: var(--timer-dimension);
  height: var(--timer-dimension);
  top: 0;
  display: flex;
  align-items: center;
  font-weight: bold;
  justify-content: center;
  font-size: 30px;
}