﻿div[slider] {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    min-width: 160px;
    height: 24px;
}

    div[slider]:hover div[slider-background] {
        opacity: 1;
    }

div[slider-background] {
    position: absolute;
    background-color: #efefef;
    border: solid 1px #a3a3a3;
    box-sizing: border-box;
    top: 6px;
    height: 8px;
    width: 100%;
    border-radius: 8px;
    opacity: 0.8;
}

    div[slider-background]:hover {
        opacity: 1;
    }

div[slider-thumb] {
    position: absolute;
    left: 0px;
    width: 100%;
    top: 8px;
}

input[slider-input] {
    position: absolute;
    left: 0px;
    top: -1px;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    margin: 0px;
    background-color: transparent;
    outline: none;
    pointer-events: none;
}

    input[slider-input]:hover {
        opacity: 1;
    }

    input[slider-input]::-webkit-slider-thumb {
        pointer-events: auto;
        -webkit-appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 8px;
        background: var(--form-focus-color);
        cursor: pointer;
        z-index: 1;
        border: solid 2px var(--form-focus-color);
        box-sizing: border-box;
    }

    input[slider-input]::-moz-range-thumb {
        pointer-events: auto;
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 8px;
        background: var(--form-focus-color);
        cursor: pointer;
        z-index: 1;
        border: solid 2px var(--form-focus-color);
        box-sizing: border-box;
    }

    input[slider-input]:hover::-webkit-slider-thumb {
        background-color: rgba(255, 255, 255, 0.8);
    }

    input[slider-input]:hover::-moz-range-thumb {
        background-color: rgba(255, 255, 255, 0.8);
    }

div[slider-range] {
    position: absolute;
    height: 16px;
    z-index: 0;
    top: -6px;
    left: 0px;
    background-color: var(--form-focus-color);
    border: solid 2px var(--form-focus-color);
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 2px 2px 6px #88888825;
}
