/*! Menucool rgba Color Picker v2018.9.12. www.menucool.com/rgba-color-picker */

input.color{
}

#colorpicker
{
    padding: 20px;
    position: absolute;
    top: 130%;
    left:auto;right:0;/*If need align to the right, set: left:0;right:auto; */
    background-color: #FFF;
    border: 1px solid #BBB;
    display: none;
    z-index: 1000001000;
    box-sizing:content-box;
    font: normal 10px verdana;
    color: #666;
    border-radius:4px;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}

#colorpicker div
{
    float:left;
    padding:0;
    box-sizing:content-box;
}
#colorpicker div.clear, #colorpicker div.separator
{
    float: none;
    clear: both;
    border: 0;
    overflow:hidden;
    height:0;
    font-size:0;
}
#colorpicker div.separator
{
    margin-bottom:8px;
}
        
#colorpicker #colorContainer
{
    border:0;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    cursor: pointer;
    font-size:0;
    width:234px;
}
#colorContainer div
{
    border:0;
    border-top: solid 1px black;
    border-left: solid 1px black;
    width:12px;
    height:12px;
    overflow:hidden;
}
#colorpicker .w1, #colorpicker .w2 {
    width:80px;
    padding-left:4px;
    border: 1px solid #999;
    border-radius:3px;
    position:relative;
}
div.w1, div.w2 {
    height: 22px;
    line-height: 22px;
}
input.w1, input.w2 {
    font: normal 10px verdana;
    height: 18px;
    line-height: 18px;
    box-sizing:content-box;
}
#colorpicker .w1 {
    float:left;
}
#colorpicker .w2 {
    width:120px;
    float:right;
}
#colorpicker div.w2::before {
    content: " ";
    width:100%;
    height:22px;
    position:absolute;
    left:0;top:0;
    z-index:-1;
}
.opacitySpan {display:inline-block;padding-top:4px;}

.rgbaRange {
    width:100px;
    margin-left:20px;
    vertical-align:middle;
}
/*brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html*/
.rgbaRange{
    -webkit-appearance: none;
    border:none;
}

.rgbaRange::-webkit-slider-runnable-track {
    width: 118px;
    height: 5px;
    background: #ddd;
    border: none;
    border-radius: 2px;
}

.rgbaRange::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: none;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background: #888;
    margin-top: -5px;
}

.rgbaRange:focus {
    outline: none;
}

.rgbaRange:focus::-webkit-slider-runnable-track {
    background: #ccc;
}
.rgbaRange::-ms-tooltip { display: none; }

#colorpicker .btnOK {
    width:60px;
    float:right;
    height:26px;
    font-size: 14px;
    font-weight:600;
    vertical-align:middle;
    cursor:pointer;
    background-color:#e00;
    color:white;
    border:1px solid #333;
}

.transChooser, #colorpicker div.w2::before {
    background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDkvMDcvMTgBUiN5AAAAKklEQVQokWNkYGDwZcAC/v//j02YgQmrKB4wHDSw4AoNRkZG6tgwHDQAAMuIBmTkVeR2AAAAAElFTkSuQmCC') repeat;
}

.colorChooser {
    user-select: none;
    border:none;
    width:0;
    height:26px;
    position:relative;
}  

input.color.up + .colorChooser > #colorpicker {
    top: auto;
    bottom:130%;
}