.slider {
    flex: 1 1 auto;
}

    .slider:after {
        clear: both;
    }

    .slider:after, .slider:before {
        display: table;
        content: "";
    }

.slider-runway {
    width: 100%;
    height: 6px;
    margin: 16px 0;
    background-color: #e4e7ed;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
}

    .slider-runway.disabled .slider-bar {
        background-color: #c0c4cc;
    }

    .slider-runway.disabled .slider-button-wrapper, .slider-runway.disabled .slider-button.dragging, .slider-runway.disabled .slider-button.hover, .slider-runway.disabled .slider-button:hover {
        cursor: not-allowed;
    }

    .slider-runway.disabled .slider-button.dragging, .slider-runway.disabled .slider-button.hover, .slider-runway.disabled .slider-button:hover {
        transform: scale(1);
    }

    .slider-runway.disabled .slider-button {
        border-color: #c0c4cc;
    }

.slider-bar {
    height: 6px;
    background-color: #409eff;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    position: absolute;
}

.slider-button-wrapper {
    height: 36px;
    width: 36px;
    position: absolute;
    top: -15px;
    transform: translateX(-50%);
    background-color: transparent;
    user-select: none;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .slider-button-wrapper:focus {
        outline: none;
    }

    .slider-button-wrapper.hover, .slider-button-wrapper:hover {
        cursor: grab;
    }

    .slider-button-wrapper.dragging {
        cursor: grabbing;
    }

.slider-button {
    width: 16px;
    height: 16px;
    border: 2px solid #409eff;
    background-color: #fff;
    border-radius: 50%;
    transition: .2s;
    user-select: none;
    outline: none;
}

    .slider-button.dragging, .slider-button.hover, .slider-button:hover {
        transform: scale(1.3);
    }
