.simple-slider {
    --slider-path-diameter: 6px;
    --slider-handler-size: 14px;
    --slider-path-color: #ddd;
    --slider-progress-color: #1c70ff;
    --slider-loading-progress-color: #ccc;

    position: relative;
    display: block;
    width: 100%;
    padding: calc(8px / 1) 0;
    padding: calc(var(--slider-path-diameter, 8px) / 1) 0;
}

.simple-slider.--vertical {
    display: inline-block;
    width: auto;
    padding: 0 calc(8px / 1);
    padding: 0 calc(var(--slider-path-diameter, 8px) / 1);
}

.simple-slider__path {
    display: inline-block;
    width: 100%;
    height: 8px;
    height: var(--slider-path-diameter, 8px);
    background-color: var(--slider-path-color, #ddd);
    border-radius: 25px;
    position: relative;
    cursor: pointer;
    overflow: hidden;
}

.simple-slider.--vertical .simple-slider__path {
    height: 100%;
    width: 8px;
    width: var(--slider-path-diameter, 8px);
    margin: 0 auto;
}

.simple-slider__loading-progress,
.simple-slider__progress {
    position: absolute;
    left: 0;
    width: 0;
    height: 100%;
    background-color: var(--slider-progress-color, #1c70ff);
    max-width: 100% !important;
    z-index: 1;
}

.simple-slider.--vertical .simple-slider__loading-progress,
.simple-slider.--vertical .simple-slider__progress {
    left: unset;
    bottom: 0;
    width: 100%;
    height: 0;
}

.simple-slider__loading-progress {
    border-radius: 25px;
    z-index: 0;
    background-color: var(--slider-loading-progress-color, #ccc);
}

.simple-slider__handler {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 8px;
    width: var(--slider-path-diameter, 8px);
    height: 8px;
    height: var(--slider-path-diameter, 8px);
    background: rgba(174, 196, 221, 0.7);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: .5%;
    margin-left: calc(8px * -.5);
    margin-left: calc(var(--slider-path-diameter, 8px) * -.5);
    margin-top: calc(8px * -.5);
    margin-top: calc(var(--slider-path-diameter, 8px) * -.5);
    cursor: pointer;
    -webkit-transition: opacity .1s, visibility .3s, -webkit-box-shadow .3s;
    transition: opacity .1s, visibility .3s, -webkit-box-shadow .3s;
    -o-transition: box-shadow .3s, opacity .1s, visibility .3s;
    transition: box-shadow .3s, opacity .1s, visibility .3s;
    transition: box-shadow .3s, opacity .1s, visibility .3s, -webkit-box-shadow .3s;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    opacity: 0;
    visibility: hidden;
    z-index: 5;
}

.simple-slider.--vertical .simple-slider__handler {
    left: 50%;
    top: unset;
    bottom: 0;
    margin: 0;
    margin-left: calc(8px * -.5);
    margin-left: calc(var(--slider-path-diameter, 8px) * -.5);
    margin-bottom: calc(8px * -.5);
    margin-bottom: calc(var(--slider-path-diameter, 8px) * -.5);

}

.simple-slider:hover .simple-slider__handler,
.simple-slider.--dragging .simple-slider__handler,
.simple-slider__handler:hover {
    -webkit-box-shadow: 0 0 0 calc(var(--slider-handler-size)) rgba(174, 196, 221, 0.7);
    -ms-box-shadow: 0 0 0 calc(var(--slider-handler-size)) rgba(174, 196, 221, 0.7);
    box-shadow: 0 0 0 calc(var(--slider-handler-size)) rgba(174, 196, 221, 0.7);
    background: var(--slider-progress-color, #1c70ff);
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .2s, visibility .2s, -webkit-box-shadow .4s;
    transition: opacity .2s, visibility .2s, -webkit-box-shadow .4s;
    -o-transition: box-shadow .4s, opacity .2s, visibility .2s;
    transition: box-shadow .4s, opacity .2s, visibility .2s;
    transition: box-shadow .4s, opacity .2s, visibility .2s, -webkit-box-shadow .4s;
}
