.clr-picker {
    display: none;
    flex-wrap: wrap;
    position: absolute;
    width: 200px;
    z-index: 1000;
    border-radius: 10px;
    background-color: #fff;
    justify-content: space-between;
    box-shadow: 0 0 5px rgba(0, 0, 0, .05), 0 5px 20px rgba(0, 0, 0, .1);
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

.clr-picker.clr-open {
    display: flex
}

.clr-dark {
    background-color: #444
}

.clr-gradient {
    position: relative;
    width: 100%;
    height: 100px;
    margin-bottom: 15px;
    border-radius: 3px 3px 0 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0), #000), linear-gradient(90deg, #fff, currentColor);
    cursor: pointer
}

.clr-marker {
    position: absolute;
    width: 12px;
    height: 12px;
    margin: -6px 0 0 -6px;
    border: 1px solid #fff;
    border-radius: 50%;
    background-color: currentColor;
    cursor: pointer
}

.clr-picker input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px
}

.clr-picker input[type=range]::-webkit-slider-thumb {
    width: 8px;
    height: 8px;
    -webkit-appearance: none
}

.clr-picker input[type=range]::-moz-range-track {
    width: 100%;
    height: 8px;
    border: 0
}

.clr-picker input[type=range]::-moz-range-thumb {
    width: 8px;
    height: 8px;
    border: 0
}

.clr-hue {
    background-image: linear-gradient(to right, red 0, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, red 100%)
}

.clr-alpha, .clr-hue {
    position: relative;
    width: calc(100% - 40px);
    height: 8px;
    margin: 5px 20px;
    border-radius: 4px
}

.clr-alpha span {
    display: block;
    height: 100%;
    width: 100%;
    border-radius: inherit;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), currentColor)
}

.clr-alpha input, .clr-hue input {
    position: absolute;
    width: calc(100% + 16px);
    height: 16px;
    left: -8px;
    top: -4px;
    margin: 0;
    background-color: transparent;
    opacity: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none
}

.clr-alpha div, .clr-hue div {
    position: absolute;
    width: 16px;
    height: 16px;
    left: 0;
    top: 0;
    margin: -4px 0 0 -8px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: currentColor;
    box-shadow: 0 0 1px #888;
    pointer-events: none
}

.clr-alpha div:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    border-radius: 50%;
    background-color: currentColor
}

.clr-swatches {
    order: 2;
    width: calc(100% - 40px);
    margin: 0 20px
}

.clr-swatches div {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 12px;
    justify-content: center
}

.clr-swatches button {
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0 8px 6px 0;
    border: 0;
    border-radius: 50%;
    color: inherit;
    text-indent: -1000px;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer
}

.clr-swatches button:last-child, .clr-swatches button:nth-child(6n) {
    margin-right: 0
}

.clr-swatches button:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: inherit;
    background-color: currentColor;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1)
}

.clr-dark .clr-swatches button:after {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3)
}

input.clr-color {
    order: 1;
    width: 120px;
    height: 32px;
    margin: 15px 20px 15px 0;
    padding: 0 15px;
    border: 1px solid #ddd;
    border-radius: 16px;
    color: #444;
    background-color: #fff;
    font-family: sans-serif;
    font-size: 14px;
    text-align: left;
    box-shadow: none
}

.clr-dark input.clr-color {
    color: #fff;
    border-color: #777;
    background-color: #555
}

input.clr-color:focus {
    outline: 0;
    border: 1px solid #aaa
}

.clr-preview {
    position: relative;
    width: 32px;
    height: 32px;
    margin: 15px 0 20px 20px;
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer
}

.clr-preview:after, .clr-preview:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    border: 1px solid #fff;
    border-radius: 50%
}

.clr-preview:after {
    border: 0;
    background-color: currentColor;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1)
}

.clr-dark .clr-preview:after {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5)
}

.clr-alpha div, .clr-color, .clr-hue div, .clr-marker {
    box-sizing: border-box
}

.clr-field {
    display: inline-block;
    position: relative;
    color: #000
}

.clr-field button {
    position: absolute;
    width: 30px;
    height: 100%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    color: inherit;
    text-indent: -1000px;
    white-space: nowrap;
    overflow: hidden;
    pointer-events: none
}

.clr-field button:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: inherit;
    background-color: currentColor;
    box-shadow: inset 0 0 1px rgba(0, 0, 0, .5)
}

.clr-alpha, .clr-alpha div, .clr-field button, .clr-preview:before, .clr-swatches button {
    background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa);
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px
}

.clr-marker:focus {
    outline: 0
}

.clr-keyboard-nav .clr-alpha input:focus + div, .clr-keyboard-nav .clr-hue input:focus + div, .clr-keyboard-nav .clr-marker:focus {
    outline: 0;
    box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff
}