input[type="range"] { 
    margin: auto;
    -webkit-appearance: none;
    position: relative;
    overflow: hidden;
    height: 60px;
    width: 200px;
    cursor: pointer;
    border-radius: 0; /* iOS */
}

::-webkit-slider-runnable-track {
    background: #ddd;
}

/*
 * 1. Set to 0 width and remove border for a slider without a thumb
 * 2. Shadow is negative the full width of the input and has a spread 
 *    of the width of the input.
 */
::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px; /* 1 */
    height: 60px;
    background: #fff;
    box-shadow: -400px 0 0 400px green; /* 2 */
    border: 2px solid #999; /* 1 */
}

::-moz-range-track {
    height: 60px;
    background: #ddd;
}

::-moz-range-thumb {
    background: #fff;
    height: 60px;
    width: 20px; /* 1 */
    border: 3px solid #999; /* 1 */
    border-radius: 0 !important;
    box-shadow: -400px 0 0 400px green;
    box-sizing: border-box;
}

::-ms-fill-lower { 
    background: green;
}

::-ms-thumb { 
    background: #fff;
    border: 2px solid #999; /* 1 */
    height: 60px;
    width: 20px; /* 1 */
    box-sizing: border-box;
}

::-ms-ticks-after { 
    display: none; 
}

::-ms-ticks-before { 
    display: none; 
}

::-ms-track { 
    background: #ddd;
    color: transparent;
    height: 60px;
    border: none;
}

::-ms-tooltip { 
    display: none;
}