body {
  margin: 20px 10px;
  background: #1d1e22;
  text-align: center;
  font-family: Montserrat, Helvetica Neueu, Helvetica, Arial, sans-serif;
}

.progress {
  --progress-value: .3243;
  --color: hsl(calc(240 * (1 - var(--progress-value))), 100%, calc(30% + 20% * var(--progress-value)));
}

.circle-progress {
  width: 250px;
  height: 250px;
}

.circle-progress-value {
  stroke-width: 6px;
  stroke: var(--color);
  stroke-dasharray: 5.98 2;
  transition: stroke .4s;
}

.circle-progress-circle {
  stroke-width: 2px;
  stroke: #17181c;
}

.circle-progress-text {
  font-weight: bold;
  fill: var(--color);
  transform: translateX(0.2em);
  transition: fill .4s;
}

input[type=range] {
  width: 210px;
  margin-top: 30px;
  margin-bottom: 20px;
  -webkit-appearance: none;
  display: inline-block;
  cursor: pointer;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 6px;
  background: #17181c;
  outline: none;
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 6px;
  background: #17181c;
  outline: none;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 6px;
  background: #17181c;
  outline: none;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin-top: -5px;
  background: #464953;
  transition: .15s;
}
input[type=range]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  margin-top: -5px;
  background: #464953;
  transition: .15s;
}
input[type=range]::-ms-thumb {
  width: 16px;
  height: 16px;
  margin-top: -5px;
  background: #464953;
  transition: .15s;
}
input[type=range]:hover::-webkit-slider-thumb, input[type=range]:focus::-webkit-slider-thumb {
  background: #75798a;
}
input[type=range]:hover::-moz-range-thumb, input[type=range]:focus::-moz-range-thumb {
  background: #75798a;
}
input[type=range]:hover::-ms-thumb, input[type=range]:focus::-ms-thumb {
  background: #75798a;
}

a {
  color: #75798a;
  text-decoration-offset: 4px;
}
