.nts-range-slider {
    position: relative;
}

.nts-range-slider__header {
    position: relative;
}

.nts-range-slider__header::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 21px;
    top: 7px;
    left: 0px;
    background-color: transparent;
}

@-moz-document url-prefix() {
    .nts-range-slider__header::after {
        height: 12px;
        top: 16px;
    }
}

.nts-range-slider__range-bar {
    border: solid 1px var(--nts-default-background-color);
    background-color: transparent;
    position: absolute;
    left: 0px;
    top: 0px;
    border-radius: 8px;
    height: 7px;
    width: 100%;
    -webkit-transition: background 450ms ease-in;
    -o-transition: background 450ms ease-in;
    transition: background 450ms ease-in;
    opacity: 1.0;
    z-index: 0;
    margin: 0;
    padding: 0;
}

.nts-range-slider__input-bar {
    position: relative;
    background-color: transparent;
    height: 7px;
    width: 100%;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    margin-top: 16px;
    margin-bottom: -16px;
}

.nts-range-slider__input-bar:last-child {
    margin-left: -100%;
}

.nts-range-slider__input-bar:focus {
    outline: none;
}

.nts-range-slider__input-bar::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    appearance: none;
}

.nts-range-slider__input-bar::-webkit-slider-thumb {
    box-shadow: 3px 3px 3px var(--nts-dark-box-shadow);
    border: 2px solid var(--nts-light-background-color);
    height: 16px;
    width: 16px;
    border-radius: 16px;
    background: var(--nts-default-background-color);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    transform: translate(0px, -16px);
}

.nts-range-slider__input-bar:focus::-webkit-slider-thumb {
    border: 2px solid var(--nts-dark-background-color);
}

.nts-range-slider__input-bar::-moz-range-track {
    -webkit-appearance: none;
    appearance: none;
}

.nts-range-slider__input-bar::-moz-range-thumb {
    box-shadow: 3px 3px 3px var(--nts-dark-box-shadow);
    border: 2px solid var(--nts-light-background-color);
    height: 16px;
    width: 16px;
    border-radius: 16px;
    background: var(--nts-default-background-color);
    cursor: pointer;
    appearance: none;
    position: relative;
    z-index: 1;
    transform: translate(0px, -16px);
}

.nts-range-slider__input-bar:focus::-moz-range-thumb {
    border: 2px solid var(--nts-dark-background-color);
}

.nts-range-slider__input-bar::-ms-track {
    -webkit-appearance: none;
    appearance: none;
}

.nts-range-slider__input-bar::-ms-thumb {
    margin-top: 1px;
    box-shadow: 3px 3px 3px var(--nts-dark-box-shadow);
    border: 2px solid var(--nts-light-background-color);
    height: 16px;
    width: 16px;
    border-radius: 16px;
    background: var(--nts-default-background-color);
    cursor: pointer;
    appearance: none;
    position: relative;
    z-index: 1;
    transform: translate(0px, -16px);
}

.nts-range-slider__input-bar:focus::-ms-thumb {
    border: 2px solid var(--nts-dark-background-color);
}