/*** Spectrum Colorpicker v2.0 https://github.com/seballot/spectrum Author: Brian Grinstead License: MIT ***/ .sp-original-input-container { position: relative; display: inline-flex; } .sp-original-input-container input { margin: 0 !important; } .sp-original-input-container .sp-add-on { width: 40px; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } input.spectrum.with-add-on { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left: 0; } .sp-original-input-container .sp-add-on .sp-colorize { height: 100%; width: 100%; border-radius: inherit; } .sp-colorize-container { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } .epo.sp-container.sp-flat { position: relative; } /* Fix for * { box-sizing: border-box; } */ .epo.sp-container, .epo.sp-container * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } /* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */ .epo .sp-top { position: relative; width: 100%; display: inline-block; margin-bottom: 10px; } .epo .sp-top-inner { position: absolute; top: 0; left: 0; bottom: 0; right: 0; } .epo .sp-color { position: absolute; top: 0; left: 0; bottom: 0; right: 20px !important; } .epo .sp-hue { position: absolute; top: 0; right: 0; bottom: 0; width: 12px; height: 100%; left: initial !important; } .epo .sp-clear-enabled .sp-hue { top: 15%; height: 85%; } .epo .sp-fill { padding-top: 80%; } .epo .sp-sat, .epo .sp-val { position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .epo .sp-alpha-enabled .sp-top { margin-bottom: 28px !important; } .epo .sp-alpha-enabled .sp-alpha { display: block; } .epo .sp-alpha-handle { position: absolute; top: -3px; cursor: pointer; height: 16px; border-radius: 50%; width: 16px; margin-right: 5px; left: -2px; right: 0; background: #f9f9f9; box-shadow: 0 0 2px 0 #3a3a3a; } .epo .sp-alpha { display: none; position: absolute; bottom: -18px; right: 0; left: 0; height: 10px; } .epo .sp-alpha-inner { border-radius: 4px; } .epo .sp-clear { display: none; } .epo .sp-clear.sp-clear-display { background-position: center; } .epo .sp-clear-enabled .sp-clear { display: block; position: absolute; top: 3px; right: 0; bottom: 0; cursor: pointer; left: initial; height: 12px; width: 12px; } /* Don't allow text selection */ .epo.sp-container, .sp-replacer.epo, .epo .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .epo.sp-container.sp-dragging .sp-input, .epo.sp-container button { -webkit-user-select: none; -moz-user-select: -moz-none; -o-user-select: none; user-select: none; font: inherit; } .epo.sp-container.sp-input-disabled .sp-input-container { display: none; } .epo.sp-container.sp-buttons-disabled .sp-button-container { display: none; } .epo.sp-container.sp-palette-buttons-disabled .sp-palette-button-container { display: none; } .sp-palette-only .sp-picker-container { display: none; } .sp-palette-disabled .sp-palette-container { display: none; } .sp-initial-disabled .sp-initial { display: none; } /* Gradients for hue, saturation and value instead of images. Not pretty... but it works */ .epo .sp-sat { background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#fff), to(rgba(204, 154, 129, 0))); background-image: -webkit-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr="#FFFFFFFF", endColorstr="#00CC9A81"); } .epo .sp-val { border-radius: 4px; background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000), to(rgba(204, 154, 129, 0))); background-image: -webkit-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00CC9A81", endColorstr="#FF000000"); } .epo .sp-hue { background: -moz-linear-gradient(top, #f00 0%, #f00 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); background: -ms-linear-gradient(top, #f00 0%, #f00 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); background: -o-linear-gradient(top, #f00 0%, #f00 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); background: -webkit-gradient(linear, left top, left bottom, from(#f00), color-stop(0.17, #f00), color-stop(0.33, #0f0), color-stop(0.5, #0ff), color-stop(0.67, #00f), color-stop(0.83, #f0f), to(#f00)); background: -webkit-linear-gradient(top, #f00 0%, #f00 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); background: linear-gradient(to bottom, #f00 0%, #f00 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); } /* IE filters do not support multiple color stops. Generate 6 divs, line them up, and do two color gradients for each. Yes, really. */ .epo .sp-1 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000", endColorstr="#ffff00"); } .epo .sp-2 { height: 16%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffff00", endColorstr="#00ff00"); } .epo .sp-3 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ff00", endColorstr="#00ffff"); } .epo .sp-4 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffff", endColorstr="#0000ff"); } .epo .sp-5 { height: 16%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000ff", endColorstr="#ff00ff"); } .epo .sp-6 { height: 17%; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff00ff", endColorstr="#ff0000"); } .sp-hidden { display: none !important; } /* Clearfix hack */ .epo .sp-cf::before, .epo .sp-cf::after { content: ""; display: table; } .epo .sp-cf::after { clear: both; } .epo .sp-cf { *zoom: 1; } /* Mobile devices, make hue slider bigger so it is easier to slide */ @media (max-width: 480px) { .epo .sp-color { right: 40%; } .epo .sp-hue { left: 63%; } .epo .sp-fill { padding-top: 60%; } } .epo .sp-dragger { border-radius: 5px; height: 10px; width: 10px; border: 1px solid #fff; cursor: pointer; position: absolute; top: 0; left: 0; margin-left: 3px; margin-top: 3px; box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2); background: none; } .epo .sp-slider { position: absolute; top: 0; cursor: pointer; height: 16px; border-radius: 50%; width: 16px; left: -2px; background: #f9f9f9; box-shadow: 0 0 2px 0 #3a3a3a; margin-top: 8px; right: auto; border: 0; opacity: 1; } /* Theme authors: Here are the basic themeable display options (colors, fonts, global widths) */ .epo.sp-container { position: absolute; top: 0; left: 0; /* https://github.com/seballot/spectrum/issues/40 */ z-index: 9999994; overflow: hidden; display: inline-flex; border: 0; background-color: #fff; padding: 0; border-radius: 4px; color: #000; box-shadow: 0 0 0 1px rgba(99, 114, 130, 0.16), 0 8px 16px rgba(27, 39, 51, 0.08); } .epo.sp-container, .epo.sp-container button, .epo.sp-container input, .sp-color, .sp-hue, .sp-clear { font-size: 12px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .epo .sp-color, .epo .sp-hue, .epo .sp-clear, .epo .sp-val, .epo .sp-sat { border-radius: 3px; border: 0; } .epo .sp-input-container { margin-top: -5px; float: none; width: auto; } .epo .sp-input-container.sp-cf, .sp-initial.sp-thumb.sp-cf, .sp-button-container.sp-cf { height: 25px; } .epo .sp-picker-container .sp-cf { margin-bottom: 10px; } .sp-palette-row-initial > span:first-child { cursor: pointer; } /* Input */ .epo.sp-initial-disabled .sp-input-container { width: 100%; } .epo .sp-input { padding: 0 5px !important; margin: 0; width: 100%; box-shadow: none !important; height: 100% !important; background: transparent; color: #3a3a3a; border-radius: 2px !important; border: 1px solid #e0e0e0 !important; text-align: center; font-family: monospace; font-size: inherit !important; } .sp-input:focus { border: 1px solid rgb(255, 166, 0); } .sp-input.sp-validation-error { border: 1px solid #f00; background: #fdd; } .epo .sp-picker-container, .sp-palette-container { position: relative; padding: 10px; } .epo .sp-picker-container { width: 200px; padding-bottom: 0; border: 0; float: none; margin: 0; } /* Palettes */ .sp-palette-container { border-right: solid 1px #ccc; } .sp-palette-only .sp-palette-container { border: 0; } .sp-palette .sp-thumb-el { display: block; position: relative; float: left; width: 16px; height: 16px; margin: 3px; border: none; border-radius: 3px; cursor: pointer; } .sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active { border-color: rgb(255, 166, 0); } .sp-thumb-el { position: relative; } /* Initial */ .epo .sp-initial { float: left; border: 0; } .sp-initial span { width: 30px; height: 25px; border: none; display: block; float: left; margin: 0; } .sp-initial .spe-thumb-el.sp-thumb-active { border-radius: 0 5px 5px 0; } .sp-initial .spe-thumb-el { border-radius: 5px 0 0 5px; } .sp-initial .sp-clear-display { background-position: center; } /* Buttons */ .sp-button-container { float: right; } .sp-palette-button-container { margin-top: 10px; } /* Replacer (the little preview div that shows up instead of the ) */ .sp-replacer.epo { position: relative; overflow: hidden; cursor: pointer; display: inline-block; border-radius: 3px; border: 1px solid #aaa; color: #666; transition: border-color 0.3s; vertical-align: middle; width: 3.5rem; height: 2rem; margin: 0; padding: 3px; background: none; } .sp-replacer.epo:hover, .sp-replacer.epo.sp-active { border: 1px solid #666; color: #000; } .sp-replacer.epo.sp-disabled { cursor: default; border-color: rgb(192, 192, 192); color: rgb(192, 192, 192); } .epo .sp-dd { position: absolute; font-size: 10px; right: 0; top: 0; bottom: 0; padding: 3px; line-height: calc(2rem - 5px); background-color: #fff; height: auto; float: none; } .epo .sp-preview { position: relative; width: 100%; height: 100%; float: left; z-index: 0; border: 0; margin: 0; padding: 0; } .epo .sp-preview-inner { transition: background-color 0.2s; } .epo .sp-preview-inner.sp-clear-display { display: none; } /* Buttons: http://hellohappy.org/css3-buttons/ */ .epo.sp-container button { border-radius: 3px; border: none; background: transparent; line-height: 1; padding: 0 8px; height: 25px; text-transform: capitalize; text-align: center; vertical-align: middle; cursor: pointer; color: #606c72; font-weight: 700; } .epo.sp-container button.sp-choose { background-color: #3cab3b; color: #fff; margin-left: 5px; } .epo.sp-container button:hover { opacity: 0.8; } .epo.sp-container button.sp-palette-toggle { width: 100%; background-color: #f3f3f3; margin: 0; } .sp-palette span:hover, .sp-palette span.sp-thumb-active { border-color: #000; } .epo .sp-preview, .sp-alpha, .sp-thumb-el { position: relative; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } .epo .sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner { display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } .sp-palette .sp-thumb-inner { border-radius: 3px; background-position: 50% 50%; background-repeat: no-repeat; } .sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=); } .sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=); } .sp-clear-display { background-repeat: no-repeat; background-position: center; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABe0lEQVQokYXSsUtcQRTF4d8Jj+VhHSxkEQuLsEUKK0nhTBFTmLSSUhBCMCAWsmgIwWrBLk0akfwLCaSQKBJmtrIIISwpRFKIhViETScphGMzysMtvOVwvpm5d0bGNCuGWAOPgYdl6S8wSDn9b+bUhDHEKWAdeAFMANg+l/TV9ofcz6cjMIbYBvaBMds7QCqZ58CmpBNgPuV0DvAAIMyFGugWtJr7eTv38xEwkPRPErY7QDeG2LqFkjrAgu0dSd/KDVqSNmxvAZ8lfbS9AHRuYemnLWkv5XRVBrQMbAI/gTXgEzAJtJuwBVS2L2OIle03QA/4Lmkl5XQBXEqqbFcAVYFDYChpFngiqWf7l6TXKaezMt2Zkhk24THwG+jZriX9AFZvUAyxLbRke2D75O5zPAO+ADXwEtizjaRHwDvbTyUtppwOmicCHAJvbXcl9YA1SQDjtseA97YPRz7ATcUQp2y/kjRdevsjaTfldNrMjcDGBjXA3T96L7yvrgFzP69+0Ao/HAAAAABJRU5ErkJggg==); }