html,
body {
  height: 100%;
  width: 100%;
}
html,
button,
input,
select,
textarea {
  color: #5e5e5e;
  -webkit-font-smoothing: antialiased;
}
body {
  background-color: #f0f1f1;
  font: 1rem/1.2 Montserrat, Helvetica, Helvetica Neue, Arial;
}
.page {
  display: flex;
  align-items: center;
  align-content: center;
  width: 275px;
  margin: 20px auto;
}
.progress-bar {
  display: inline-block;
  width: 275px;
  height: 275px;
  margin: 7px;
  padding: 0;
}
.progress-bar .progress-active {
  position: relative;
  top: -279px;
}
.progress-bar p {
  position: relative;
  margin: 0;
  padding: 0;
  width: 275px;
  top: -460px;
  font-size: 54px;
  font-weight: 900;
  text-align: center;
}
#progressControllerContainer {
  position: absolute;
  top: 320px;
  padding: 10px 80px;
}
input[type=range] {
  -webkit-appearance: none;
  margin: 38px 0;
  width: 100%;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 20px;
  cursor: pointer;
  animate: 0.2s;
  background: #ffffff;
  border-radius: 0px;
  border: 1px solid #e6e6e6;
}
input[type=range]::-webkit-slider-thumb {
  border: 1px solid #d6d6d6;
  height: 38px;
  width: 20px;
  border-radius: 5px;
  background: #e1e1e1;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -10px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ffffff;
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 20px;
  cursor: pointer;
  animate: 0.2s;
  background: #ffffff;
  border-radius: 0px;
  border: 1px solid #e6e6e6;
}
input[type=range]::-moz-range-thumb {
  border: 1px solid #d6d6d6;
  height: 38px;
  width: 20px;
  border-radius: 5px;
  background: #e1e1e1;
  cursor: pointer;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 20px;
  cursor: pointer;
  animate: 0.2s;
  background: transparent;
  border-color: transparent;
  border-width: 20px 0;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: #f2f2f2;
  border: 1px solid #e6e6e6;
  border-radius: 0px;
}
input[type=range]::-ms-fill-upper {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 0px;
}
input[type=range]::-ms-thumb {
  border: 1px solid #d6d6d6;
  height: 38px;
  width: 20px;
  border-radius: 5px;
  background: #e1e1e1;
  cursor: pointer;
}
input[type=range]:focus::-ms-fill-lower {
  background: #ffffff;
}
input[type=range]:focus::-ms-fill-upper {
  background: #ffffff;
}