input[type=range] {
  width: 100%;
  background-color: transparent;
  -webkit-appearance: none;
  border: 0; /* for FF */
  outline: none;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  background: #d14270;
  border: 1.1px solid #d14270;
  border-radius: 1px;
  width: 100%;
  height: 5px;
  cursor: pointer;
}

input[type=range]::-webkit-slider-thumb {
  margin-top: -13px;
  width: 30px;
  height: 30px;
  background: #fff;
  border: 5px solid #d14270;
  border-radius: 15px;
  cursor: pointer;
  -webkit-appearance: none;
  box-sizing: border-box;
  transition: .3s;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #d14270;
}

/* moz */

input[type=range]::-moz-range-track {
  background: #d14270;
  border: 1.1px solid #d14270;
  border-radius: 1px;
  width: 100%;
  height: 5px;
  cursor: pointer;
}

input[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 5px solid #d14270;
  border-radius: 20px;
  cursor: pointer;
}

input[type="range"]::-moz-focus-outer{
  border: 0;
}

/* ms */
input[type=range]::-ms-track {
  background: transparent;
  border-color: transparent;
  border-width: 8.45px 0;
  color: transparent;
  width: 100%;
  height: 11.3px;
  cursor: pointer;
}
input[type=range]::-ms-fill-lower {
  background: #fff;
  border: 1.1px solid #d14270;
  border-radius: 2px;
}
input[type=range]::-ms-fill-upper {
  background: #fff;
  border: 1.1px solid #d14270;
  border-radius: 2px;
}
input[type=range]::-ms-thumb {
  width: 23px;
  height: 23px;
  background: #fff;
  border: 2.5px solid #d14270;
  border-radius: 12px;
  cursor: pointer;
  margin-top: 0;
  /*Needed to keep the Edge thumb centred*/
}
input[type=range]:focus::-ms-fill-lower {
  background: #d14270;
}
input[type=range]:focus::-ms-fill-upper {
  background: #d14270;
}

@supports (-ms-ime-align:auto) {
  input[type=range] {
    margin: 0;
  }
}


.firefox .calc__summ input[type="range"],
.firefox .calc__period input[type="range"]{
  bottom: -10px;
}
/* IE */
input[type=range]::-ms-track {
  height: 10px;
  background: transparent;
  border-color: transparent;
  border-width: 14px 0;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: #d14270;
}
input[type=range]::-ms-fill-upper {
  background: #d14270;
}
input[type=range]:focus::-ms-fill-lower {
  background: #d14270;
}
input[type=range]:focus::-ms-fill-upper {
  background: #d14270;
}
.is-ie input[type=range] {
  position: absolute;
  bottom: -20px;
}