.slider {
    height: 12px;
    width: auto;
    position: relative;
    background-color: @sliderBackgroundColor;
    margin-bottom: 10px;

    .marker {
        height: 12px;
        width: 12px;
        cursor: pointer;
        position: absolute;
        top: 0;
        left: 0;
        background-color: @sliderMarkerColor;
        z-index: 2;

        &:focus, &:active, &hover {
            outline: 2px @red solid;
        }
    }

    .complete {
        height: 100%;
        width: auto;
        background-color: @sliderCompleteColor;
        z-index: 1;
        transition: background .3s ease;
    }

    &>.hint {
        background-color: @white;
        position: absolute;
        z-index: 3;
        border: 1px #ccc solid;
        padding: 2px 4px;
        top: -40px;
        min-width: 30px;
        text-align: center;
        #font > .segoe-light;
        font-size: 14px;
        .shadow;
        display: none;
    }

    &.permanent-hint {
        & > .hint {
            display: block;
        }
    }

    &.hint-bottom {
        .hint {
            top: 100%;
            margin-top: 5px;
        }
    }

    &.vertical {
        height: 100px;
        width: 12px;

        .marker {
            left: 0 !important;
        }

        .complete {
            position: absolute;
            height: auto;
            width: 100% !important;
            bottom: 0;
            left: 0;
        }

        .hint {
            left: 100%;
            margin-left: 5px;
            margin-top: 0;
        }

        &.hint-left {
            .hint {
                left: -40px;
            }
        }
    }

    &:hover {
        .complete {
            background-color: @sliderCompleteHoverColor;
        }
    }

    &:active, &:active + .marker:active {
        .complete {
            background-color: @sliderCompleteHoverColor;
        }
    }

    &.place-left {
        margin-right: 20px;
    }
    &.place-right {
        margin-left: 20px;
    }
}