/*CHANGED*/
input[type='range'].changed {
  height: 10px;
  -webkit-appearance: none;
  background: transparent;
  margin-top: -10px;
}

/*!*progress support*!*/
input[type='range'].changed {
  --range: calc(var(--max) - var(--min));
  --ratio: calc((var(--value) - var(--min)) / var(--range));
  --sx: calc(0.5 * 1.6em + var(--ratio) * (100% - 1.6em));
}

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

/*webkit*/
input[type='range'].changed::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 1.6em;
  height: 1.6em;
  border-radius: 1em;
  background: #ffffff;
  border: 5px solid #ff6363;
  box-shadow: none;
  margin-top: calc(6px * 0.5 - max(1.6em * 0.5, 4px));
}

input[type='range'].changed::-webkit-slider-runnable-track {
  height: 6px;
  border: none;
  border-radius: 0.5em;
  background: #bfdaff;
  box-shadow: none;
}

input[type='range'].changed::-webkit-slider-runnable-track {
  background: linear-gradient(#ff6363, #ff6363) 0 / var(--sx) 100% no-repeat,
    #bfdaff;
}

/*mozilla*/
input[type='range'].changed::-moz-range-thumb {
  width: max(calc(1.4em - 4px - 4px), 0px);
  height: max(calc(1.4em - 4px - 4px), 0px);
  border-radius: 1em;
  background: #ffffff;
  border: 4px solid #ff6363;
  box-shadow: none;
}

input[type='range'].changed::-moz-range-track {
  height: 6px;
  border: none;
  border-radius: 0.5em;
  background: #bfdaff;
  box-shadow: none;
}

input[type='range'].changed::-moz-range-track {
  background: linear-gradient(#ff6363, #ff6363) 0 / var(--sx) 100% no-repeat,
    #bfdaff;
}

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

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

input[type='range'].changed::-ms-thumb {
  width: 1.4em;
  height: 1.4em;
  border-radius: 1em;
  background: #ffffff;
  border: 4px solid #ff6363;
  box-shadow: none;
  margin-top: 0;
  box-sizing: border-box;
}

input[type='range'].changed::-ms-track {
  height: 6px;
  border-radius: 0.5em;
  background: #bfdaff;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
}

input[type='range'].changed::-ms-fill-lower {
  height: 6px;
  border-radius: 0.5em 0 0 0.5em;
  margin: 0;
  background: #ff6363;
  border: none;
  border-right-width: 0;
}

/* INFO */

input[type='range'].info {
  height: 1px;
  -webkit-appearance: none;
  background: transparent;
  margin-top: -10px;
}

/*progress support*/
input[type='range'].info {
  --range: calc(var(--max) - var(--min));
  --ratio: calc((var(--value) - var(--min)) / var(--range));
  --sx: calc(var(--ratio) * 100%);
}

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

/*webkit*/
input[type='range'].info::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 0;
  height: 6px;
  visibility: hidden;
}

input[type='range'].info::-webkit-slider-runnable-track {
  height: 6px;
  border: none;
  border-radius: 0.5em;
  background: rgba(191, 218, 255, 0.5);
  box-shadow: none;
}

input[type='range'].info::-webkit-slider-runnable-track {
  background: linear-gradient(#ffffff, #ffffff) 0 / var(--sx) 100% no-repeat,
    rgba(191, 218, 255, 0.5);
}

/*mozilla*/
input[type='range'].info::-moz-range-thumb {
  width: 0;
  height: 6px;
  visibility: hidden;
}

input[type='range'].info::-moz-range-track {
  height: 6px;
  border: none;
  border-radius: 0.5em;
  background: #bfdaff80;
  box-shadow: none;
}

input[type='range'].info::-moz-range-track {
  background: linear-gradient(#ffffff, #ffffff) 0 / var(--sx) 100% no-repeat,
    #bfdaff80;
}

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

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

input[type='range'].info::-ms-thumb {
  width: 1.6em;
  height: 1.6em;
  border-radius: 1em;
  background: #ffffff;
  border: 4px solid #ff6363;
  box-shadow: none;
  margin-top: 0;
  box-sizing: border-box;
}

input[type='range'].info::-ms-track {
  height: 6px;
  border-radius: 0.5em;
  background: #bfdaff80;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
}

input[type='range'].info::-ms-fill-lower {
  height: 6px;
  border-radius: 0.5em 0 0 0.5em;
  margin: 0;
  background: #ffffff;
  border: none;
  border-right-width: 0;
}
