/*generated with Input range slider CSS style generator (version 20211225)
https://toughengineer.github.io/demo/slider-styler*/
input[type=range].range {
  height: 4px;
  -webkit-appearance: none;
}

/*progress support*/
input[type=range].range.slider-progress {
  --range: calc(var(--max) - var(--min));
  --ratio: calc((var(--value) - var(--min)) / var(--range));
  --sx: calc(0.5 * 30px + var(--ratio) * (100% - 30px));
}

input[type=range].range:focus {
  outline: none;
}

/*webkit*/
input[type=range].range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  border-radius: 1600px;
  background: #0055D2;
  border: 4px solid #FFFFFF;
  /* box-shadow: 0 0 2px black; */
  cursor: pointer;
  margin-top: calc(4px * 0.5 - max(30px * 0.5,4px));
}

input[type=range].range::-webkit-slider-runnable-track {
  height: 4px;
  border: none;
  border-radius: 100px;
  background: #0055D21F;
  box-shadow: none;
}

input[type=range].range.slider-progress::-webkit-slider-runnable-track {
  background: linear-gradient(#0055D2,#0055D2) 0/var(--sx) 100% no-repeat, #0055D21F;
}

/*mozilla*/
input[type=range].range::-moz-range-thumb {
  width: max(calc(30px - 4px - 4px),0px);
  height: max(calc(30px - 4px - 4px),0px);
  border-radius: 1600px;
  background: #0055D2;
  border: 4px solid #FFFFFF;
  /* box-shadow: 0 0 2px black; */
  cursor: pointer;
}

input[type=range].range::-moz-range-track {
  height: 4px;
  border: none;
  border-radius: 100px;
  background: #0055D21F;
  box-shadow: none;
}

input[type=range].range.slider-progress::-moz-range-track {
  background: linear-gradient(#0055D2,#0055D2) 0/var(--sx) 100% no-repeat, #0055D21F;
}

/*ms*/
input[type=range].range::-ms-fill-upper {
  background: transparent;
  border-color: transparent;
}

input[type=range].range::-ms-fill-lower {
  background: transparent;
  border-color: transparent;
}

input[type=range].range::-ms-thumb {
  width: 30px;
  height: 30px;
  border-radius: 1600px;
  background: #0055D2;
  border: 4px solid #FFFFFF;
  /* box-shadow: 0 0 2px black; */
  cursor: pointer;
  margin-top: 0;
  box-sizing: border-box;
}

input[type=range].range::-ms-track {
  height: 4px;
  border-radius: 100px;
  background: #0055D21F;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
}

input[type=range].range.slider-progress::-ms-fill-lower {
  height: 4px;
  border-radius: 100px 0 0 100px;
  margin: -undefined 0 -undefined -undefined;
  background: #0055D2;
  border: none;
  border-right-width: 0;
}