canvasxpress
Version:
Program to run canvasXpress with node
1,825 lines (1,617 loc) • 221 kB
CSS
@charset "UTF-8";
/*
* Favorite Colors
* rgb(51, 122, 183) - #337ab7
* rgb(76, 159, 224) - #4c9fe0
* rgb(83, 105, 255) - #5369ff
*/
:root {
/* Colors */
--cx-color-red: rgb(255, 0, 0);
--cx-color-blue: rgb(0, 0, 255);
--cx-color-green: rgb(0, 255, 0);
--cx-color-yellow: rgb(255, 255, 0);
--cx-color-orange: rgb(255, 165, 0);
--cx-color-purple: rgb(128, 0, 128);
--cx-color-white: rgb(255, 255, 255);
--cx-color-gray: rgb(128, 128, 128);
--cx-color-black: rgb(0, 0, 0);
--cx-color-transparent: rgba(0, 0, 0, 0);
/* Greys */
--cx-color-extra-dark-gray: rgb(34, 34, 34);
--cx-color-dark-gray: rgb(64, 64, 64);
--cx-color-medium-gray: rgb(180, 180, 180);
--cx-color-light-gray: rgb(204, 204, 204);
--cx-color-extra-light-gray: rgb(238, 238, 238);
/* Icons - Not used but just to remember */
--cx-icon-class-a: #5369ff;
--cx-icon-class-b: #292929;
--cx-icon-class-c: #999999;
--cx-icon-class-r: #ff0000;
/* Coding colors */
--cx-code-key: rgb(215, 48, 39);
--cx-code-value: rgb(69, 117, 180);
--cx-code-string: rgb(168, 82, 2);
--cx-code-number: rgb(69, 117, 180);
--cx-code-boolean: rgb(102, 102, 0);
--cx-code-null: rgb(69, 117, 180);
--cx-code-comment: rgb(58, 115, 0);
/* Favorite UI colors */
--cx-color-ui-background: rgba(255, 255, 255, 0.95);
--cx-color-ui-font: rgb(34, 34, 34);
--cx-color-widgets: rgb(83, 105, 255);
--cx-color-widgets-hover: rgba(83, 105, 255, 0.1);
/* Favorite UI Styles - Not used but just to remember */
--cx-color-modern: rgb(83, 105, 255);
--cx-color-modern-hover: rgba(83, 105, 255, 0.1) ;
--cx-color-stripped: rgb(230, 230, 230) ;
--cx-color-stripped-hover: rgba(180, 180, 180, 0.3);
--cx-color-old: linear-gradient(rgb(240, 240, 240), rgb(230, 230, 230));
--cx-color-old-hover: rgba(230,230,230,0.1);
--cx-color-bms: rgb(190, 43, 187);
--cx-color-bms-hover: rgba(190, 43, 187, 0.1);
--cx-color-bms2: rgb(89, 84, 84);
--cx-color-bms2-hover: rgba(89, 84, 84, 0.1);
/* UI: These are the exposed variables */
--cx-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
--cx-border-radius: 5px;
--cx-border-width: 1px;
--cx-border-style: solid;
--cx-border-transparent: var(--cx-border-width) var(--cx-border-style) var(--cx-color-transparent);
/* Font */
--cx-small-font-size: 9px;
--cx-font-size: 12px;
--cx-large-font-size: 13px;
--cx-x-large-font-size: 15px;
--cx-font-color: var(--cx-color-ui-font);
--cx-font: normal var(--cx-font-size) var(--cx-font-family);
--cx-large-font: normal var(--cx-large-font-size) var(--cx-font-family);
--cx-x-large-font: normal var(--cx-x-large-font-size) var(--cx-font-family);
--cx-font-bold: bold var(--cx-font-size) var(--cx-font-family);
--cx-large-font-bold: bold var(--cx-large-font-size) var(--cx-font-family);
--cx-x-large-font-bold: bold var(--cx-x-large-font-size) var(--cx-font-family);
--cx-font-italic: italic var(--cx-font-size) var(--cx-font-family);
--cx-large-font-italic: italic var(--cx-large-font-size) var(--cx-font-family);
--cx-x-large-font-italic: italic var(--cx-x-large-font-size) var(--cx-font-family);
--cx-small-font-italic: italic var(--cx-small-font-size) var(--cx-font-family);
/* Background */
--cx-background-widgets-color: var(--cx-color-ui-background);
--cx-background-color: var(--cx-color-widgets);
--cx-background-hover-color: var(--cx-color-widgets-hover);
--cx-background-border-hover-color: var(--cx-color-white);
--cx-background-accent-color: var(--cx-color-widgets-hover);
--cx-background-contrast-color: var(--cx-background-color);
/* Border */
--cx-border: var(--cx-border-width) var(--cx-border-style) var(--cx-color-widgets);
/* Callouts */
--cx-callout-size: 8px;
--cx-callout-radius: 10px;
--cx-callout-border-width: 1px;
--cx-callout-background-color: var(--cx-color-ui-background);
--cx-callout-border-color: var(--cx-color-widgets);
}
*,
:after,
:before {
box-sizing: border-box;
}
input[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
}
input[type="color"]::-webkit-color-swatch {
border: none;
}
.unselectable,
img,
svg,
img.cX-code,
svg.cX-code,
pre.cX-code-content code::before,
div.cX-bin,
div.cX-bin-container,
div.cX-bin-name-container,
table.cX-bin-table,
span.cX-bin,
div.CanvasXpressDataTable,
div.CanvasXpressDataTableToolbar,
div.CanvasXpressDataTableContainer,
div.CanvasXpressDataTableVertical,
div.CanvasXpressDataTableHorizontal,
div.CanvasXpressDataTableMask,
img.CanvasXpressDataTableToolbarImage,
svg.CanvasXpressDataTableToolbarImage,
img.CanvasXpressDataTableToolbarImageNB,
svg.CanvasXpressDataTableToolbarImageNB,
svg.CanvasXpressDataTableToolbarImageLogo,
table.CanvasXpressDataTable,
th.CanvasXpressTableCellHead,
th.CanvasXpressTableCellHeadActive,
td.CanvasXpressTableCell,
td.CanvasXpressTableCellActive,
a.CanvasXpressTableCellHead,
a.CanvasXpressTableCellHeadActive,
div.CanvasXpressDataFilter,
div.CanvasXpressDataFilterToolbar,
div.CanvasXpressDataFilterHead,
div.CanvasXpressDataFilterHeadActive,
div.CanvasXpressToolbar img.CanvasXpressToolbarImage,
div.CanvasXpressToolbar svg.CanvasXpressToolbarImage,
div.CanvasXpressMarker {
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Old versions of Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}
/*****************
* SVG No border *
*****************/
svg.cX-bin,
svg.cX-code,
svg.cX-chat,
img.CanvasXpressDataFilterToolbarImage,
svg.CanvasXpressDataFilterToolbarImage,
img.CanvasXpressDataFilterToolbarImageNB,
svg.CanvasXpressDataFilterToolbarImageNB {
background: var(--cx-color-transparent) !important;
border: none !important;
box-shadow: 0 0 0px var(--cx-color-transparent) !important;
cursor: default;
float: right;
margin: 5px 8px 0px 0px !important;
}
/*****************
* SVG Border *
*****************/
svg.cX-code {
border-radius: 5px;
border: var(--cx-border) !important;
padding: 5px;
}
/*****************
* Loading Timer *
*****************/
.cX-loading {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.cX-loading div {
box-sizing: border-box;
display: block;
position: absolute;
width: 64px;
height: 64px;
margin: 8px;
border: 8px solid var(--cx-color-widgets);
border-radius: 50%;
animation: cX-loading 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
border-color: var(--cx-color-widgets) transparent transparent transparent;
}
.cX-loading div:nth-child(1) {
animation-delay: -0.45s;
}
.cX-loading div:nth-child(2) {
animation-delay: -0.3s;
}
.cX-loading div:nth-child(3) {
animation-delay: -0.15s;
}
@keyframes cX-loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*****************
* Code *
*****************/
.cX-code-key {
color: var(--cx-code-key);
font-weight: bold;
}
.cX-code-value {
color: var(--cx-code-value);
}
.cX-code-string {
color: var(--cx-code-string);
}
.cX-code-number {
color: var(--cx-code-number);
}
.cX-code-boolean {
color: var(--cx-code-boolean);
}
.cX-code-null {
color: var(--cx-code-null);
}
.cX-code-comment {
color: var(--cx-code-comment);
}
div.cX-code,
div.cX-code-container,
div.cX-code-content,
div.cX-code-error {
box-sizing: border-box;
}
div.cX-code {
border: var(--cx-border);
border-radius: 5px;
background-color: var(--cx-color-extra-light-gray);
cursor: move;
color: var(--cx-font-color);
font: var(--cx-font);
margin: 2px 3px;
padding: 10px 20px 20px 10px;
position: absolute;
white-space: nowrap;
}
div.cX-code-container {
clear: both;
width: 600px;
overflow: auto;
resize: horizontal;
background-color: var(--cx-color-white);
position: relative;
top: 10px;
}
div.cX-code-content {
margin: 2px 3px;
padding: 2px 3px;
}
div.cX-code-error {
height: 36px;
width: 300px;
float: left;
clear: none;
resize: none;
top: 5px;
left: 20px;
background-color: var(--cx-color-extra-light-gray);
overflow: hidden;
white-space: normal;
color: var(--cx-color-red);
position: relative;
cursor: pointer;
}
pre.cX-code,
pre.cX-code-content,
pre.cX-code-content code {
padding: 0;
margin: 0;
font-size: inherit;
line-height: inherit;
color: inherit;
border: none;
}
pre.cX-code {
text-align: left;
word-break: inherit;
word-wrap: inherit;
background-color: inherit;
border-radius: inherit;
counter-reset: line;
}
pre.cX-code-content {
white-space: pre;
outline: none;
cursor: text;
font-size: small;
}
pre.cX-code-content:before {
counter-reset: listing;
}
pre.cX-code-content code {
counter-increment: listing;
line-height: 1.5;
}
pre.cX-code-content code::before {
content: counter(listing) " ";
display: inline-block;
width: 3em;
border-right: 1px solid rgb(221, 221, 221);
text-align: right;
background-color: var(--cx-color-extra-light-gray);
}
/******************
* Chat Interface *
******************/
div.cX-chat {
border: none;
background-color: var(--cx-color-transparent);
max-width: 600px;
min-height: 100px;
margin: 10px auto 0 auto;
}
div.cX-chat-container {
border: none;
border-radius: 10px;
background-color: var(--cx-color-extra-light-gray);
color: var(--cx-font-color);
font: var(--cx-x-large-font);
display: flex;
align-items: center;
}
div.cX-chat-container-text {
float: left;
border: none;
background-color: var(--cx-color-transparent);
min-height: 50px;
}
p.cX-chat-question {
border: none;
background-color: var(--cx-color-extra-light-gray);
margin: 0;
display: inline;;
}
[contenteditable] {
outline: 0px solid transparent;
}
div.cX-chat-container-icon {
float: right;
border: none;
background-color: var(--cx-color-transparent);
}
div.cX-chat-container-thumbs {
float: left;
border: none;
background-color: var(--cx-color-transparent);
margin: 0;
}
svg.cX-chat-thumbs {
background: var(--cx-color-transparent) !important;
border: none !important;
box-shadow: 0 0 0px var(--cx-color-transparent) !important;
cursor: default;
float: left;
}
/****************
* LLM Examples *
****************/
div.cX-LLM-window {
position: absolute;
border: 1px solid #555555;
max-width: 545px;
overflow: hidden;
border-radius: 5px;
background-color: var(--cx-color-extra-light-gray);
z-index: 10000;
}
a.cX-LLM-window-close {
position: sticky;
top: 0;
left: 500px;
font-size: xx-large;
}
div.cX-LLM-examples {
position: relative;
overflow: scroll;
max-height: 1000px;
}
div.cX-LLM-content {
top: 25px;
left: 25px;
position: absolute;
}
div.cX-LLM-container {
border: 1px solid #d3d3d3;
position: relative;
border-radius: 4px;
background: white;
float: left;
margin: 5px;
max-width: 810px;
}
div.cX-LLM-title {
position: relative;
height: 40px;
line-height: 40px;
border-radius: 4px;
font-size: 22px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: center !important;
font-weight: bold;
border-bottom: 1px solid var(--cx-color-light-gray);
}
div.cX-LLM-plot {
display: flex;
align-items: center;
justify-content: center;
margin: 8px;
}
/***************
* Bin Data *
***************/
div.cX-bin,
div.cX-bin-name-container {
border: var(--cx-border);
border-radius: 5px;
background-color: var(--cx-background-widgets-color);
box-sizing: border-box;
}
div.cX-bin {
cursor: move;
color: var(--cx-font-color);
font: var(--cx-large-font);
margin: 2px 3px;
padding: 2px 3px 5px 3px;
position: absolute;
white-space: nowrap;
}
div.cX-bin-container {
background-color: var(--cx-background-widgets-color);
box-sizing: border-box;
clear: both;
text-align: left;
display: flex;
flex-direction: column;
}
div.cX-bin-name-container {
box-sizing: border-box;
border: none;
max-height: 400px;
overflow-y: auto;
padding: 5px;
}
input.cX-bin {
background-color: var(--cx-background-widgets-color);
border: var(--cx-border);
color: var(--cx-font-color);
cursor: default;
font: var(--cx-large-font);
line-height: 24px;
padding-left: 3px;
border-radius: 5px;
margin: 3px;
}
input.cX-bin-button {
float: left;
background-color: var(--cx-background-hover-color);
border: var(--cx-border);
border-radius: 5px;
color: var(--cx-font-color);
cursor: pointer;
font: var(--cx-large-font-bold);
line-height: 24px;
margin: 0px 10px 10px 10px;
padding: 3px;
}
table.cX-bin-table {
border-collapse: collapse !important;
color: var(--cx-font-color);
cursor: default;
font: var(--cx-large-font-bold);
line-height: 24px;
}
th.cX-bin {
text-align: center;
line-height: 24px;
color: var(--cx-font-color);
background-color: var(--cx-background-hover-color);
border: var(--cx-border);
font: var(--cx-large-font-bold);
}
span.cX-bin {
font: var(--cx-large-font-bold);
color: var(--cx-font-color);
margin-left: 5px;
}
svg.cX-bin::selection,
span.cX-bin::selection {
background: var(--cx-color-transparent) !important;
border: 0px none !important;
box-shadow: 0 0 0px var(--cx-color-transparent) !important;
color: rgb(0, 0, 0);
margin: 0px !important;
}
/* BEGIN OF CUSTOMIZER CSS */
/* https://cssgrid-generator.netlify.app/ */
/*
* CanvasXpress Customizer
*/
.customizerPanelLeft {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 8fr 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
position: fixed;
z-index: 10001;
line-height: 100%;
/*height: calc(100% - 5px);*/
background-color: rgb(255, 255, 255);
font-family: var(--cx-font-family);
font-weight: normal;
color: var(--cx-font-color);
}
.customizerLeftPanelTop,
.customizerLeftPanelBottom {
background: var(--cx-background-color);
border-top: var(--cx-border) !important;
border-left: var(--cx-border) !important;
border-bottom: var(--cx-border) !important;
border-right: none !important;
}
.customizerLeftPanelTop {
grid-area: 1 / 1 / 2 / 2;
border-top-left-radius: 10px;
}
.customizerLeftPanelBottom {
grid-area: 3 / 1 / 4 / 2;
border-bottom-left-radius: 10px;
}
.customizerLeftPanelMiddle {
grid-area: 2 / 1 / 3 / 2;
background: var(--cx-color-transparent);
}
.customizerLeftPanelTop .customizerLeftItem:hover svg,
.customizerLeftPanelTop .customizerLeftItemActive svg,
.customizerLeftPanelBottom .customizerLeftItem:hover svg,
.customizerLeftPanelBottom .customizerLeftItemActive svg {
border: 1px solid rgb(255, 255, 255) !important;
background: var(--cx-color-transparent);
}
.customizerRightPanel {
background: var(--cx-color-transparent);
position: absolute;
z-index: 10000;
line-height: 100%;
top: 0px;
font-family: var(--cx-font-family);
font-weight: normal;
color: var(--cx-font-color);
}
.customizerRightPanel {
border-left: var(--cx-border) !important;
border-right: var(--cx-border)!important;
}
/*
* CanvasXpress Customizer Left Items
*/
.customizerLeftItem,
.customizerLeftItemActive,
.customizerLeftItemNB {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 4fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
border-radius: 5px;
align-items: center;
}
.customizerLeftItem,
.customizerLeftItemActive {
border: var(--cx-border) !important;
}
.customizerLeftItem:hover,
.customizerLeftItemActive {
background: var(--cx-background-hover-color);
}
.customizerLeftItem:hover svg,
.customizerLeftItemActive svg {
background: rgb(255, 255, 255);
}
.customizerLeftItemNB:hover svg {
border-color: var(--cx-background-border-hover-color) !important;
background: var(--cx-background-hover-color) !important;
}
.customizerLeftItemTop {
grid-area: 1 / 1 / 2 / 2;
margin: auto;
margin-top: 5px;
}
.customizerLeftItemBottom {
grid-area: 2 / 1 / 3 / 2;
margin: auto;
}
.customizerLeftIcon,
.customizerLeftIconNB {
padding: 5px;
border-radius: 5px;
}
.customizerLeftIconNB {
border-width: 1px;
border-style: solid;
border-color: var(--cx-background-color);
}
.customizerLeftIcon {
border: var(--cx-border) !important;
}
/*
* CanvasXpress Customizer Right Items
*/
.customizerRightItem {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 3fr 2fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
border-radius: 5px;
width: 95%;
}
.customizerRightItem {
border: var(--cx-border) !important;
}
.customizerRightItemTop {
grid-area: 1 / 1 / 2 / 2;
padding-top: 5px;
margin: auto;
}
.customizerRightItemBottom {
display: grid;
grid-area: 2 / 1 / 3 / 2;
margin: auto;
}
/*
* CanvasXpress Customizer Right Items Comb
*/
.customizerRightItemCombo {
display: grid;
grid-template-columns: 1fr 5fr;
grid-template-rows: 2fr 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.customizerRightItemCombo {
border-top: var(--cx-border);
}
.customizerRightItemComboNB {
display: grid;
grid-template-columns: 1fr 5fr;
grid-template-rows: 2fr 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
border: none !important;
}
.customizerRightItemComboLeft {
grid-area: 1 / 1 / 3 / 2;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemComboTopRight {
grid-area: 1 / 2 / 2 / 3;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemComboBottomRight {
grid-area: 2 / 2 / 3 / 3;
display: flex;
align-items: center;
padding-left: 15px;
padding-bottom: 2px;
}
/*
* CanvasXpress Customizer Right Item Header
*/
.customizerRightItemHeader,
.customizerRightItemHeaderNB {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 2fr 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
color: var(--cx-font-color);
padding-left: 5px;
}
.customizerRightItemHeader,
.customizerRightItemHeaderNB {
background: var(--cx-background-hover-color);
}
.customizerRightItemHeader {
border-bottom: var(--cx-border) !important;
}
.customizerRightItemHeaderNB {
border-bottom: none !important;
}
.customizerRightItemHeaderTop {
grid-area: 1 / 1 / 2 / 2;
display: flex;
align-items: center;
}
.customizerRightItemHeaderBottom {
grid-area: 2 / 1 / 3 / 2;
display: flex;
align-items: center;
padding-left: 10px;
overflow: auto;
}
.customizerRightItemHeaderMain {
grid-area: 1 / 1 / 3 / 2;
display: flex;
align-items: center;
}
/*
* CanvasXpress Customizer Right Item Sub Header
*/
.customizerRightItemSubHeader {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.customizerRightItemSubHeader {
background: var(--cx-background-hover-color);
}
.customizerRightItemSubHeaderRow {
grid-area: 1 / 1 / 2 / 2;
display: flex;
align-items: center;
}
.customizerRightItemSubHeaderRaw {
display: flex;
align-items: center;
border-radius: 5px;
}
.customizerRightItemSubHeaderRaw {
border: var(--cx-border) !important;
background-color: var(--cx-background-hover-color);
}
/*
* CanvasXpress Customizer Right Item Launcher
*/
.customizerRightItemLauncher {
display: grid;
grid-template-columns: 1fr 6fr;
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.customizerRightItemLauncher {
border-top: var(--cx-border) !important;
}
.customizerRightItemLauncherNB {
display: grid;
grid-template-columns: 1fr 6fr;
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
border: none !important;
}
.customizerRightItemLauncher:hover,
.customizerRightItemLauncherNB:hover {
background-color: var(--cx-background-hover-color);
}
.customizerRightItemLauncherLeft {
grid-area: 1 / 1 / 2 / 2;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemLauncherLeft {
background-color: var(--cx-background-hover-color);
}
.customizerRightItemLauncherRight {
grid-area: 1 / 2 / 2 / 3;
display: flex;
align-items: center;
padding-left: 5px;
}
/*
* CanvasXpress Customizer Right Item Input
*/
.customizerRightItemInput {
display: grid;
grid-template-columns: 1fr 6fr;
grid-template-rows: repeat(2, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.customizerRightItemInputTopLeft {
grid-area: 1 / 1 / 2 / 2;
display: flex;
align-items: center;
}
.customizerRightItemInputTopRight {
grid-area: 1 / 2 / 2 / 3;
display: flex;
align-items: center;
}
.customizerRightItemInputBottom {
grid-area: 2 / 1 / 3 / 3;
display: flex;
align-items: center;
}
/*
* CanvasXpress Customizer Right Item Cols
*/
.customizerRightItemFullCol {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemHalfCol {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemThirdCol {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemFourthCol {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemFifthCol {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemSixthCol {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
margin: 5px;
height: fit-content;
}
.customizerRightItemCol1 {
grid-area: 1 / 1 / 2 / 2;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemCol2 {
grid-area: 1 / 2 / 2 / 3;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemCol3 {
grid-area: 1 / 3 / 2 / 4;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemCol4 {
grid-area: 1 / 4 / 2 / 5;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemCol5 {
grid-area: 1 / 5 / 2 / 6;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemCol6 {
grid-area: 1 / 6 / 2 / 7;
display: flex;
align-items: center;
justify-content: center;
}
.customizerRightItemColMid {
grid-area: 1 / 3 / 2 / 5;
display: flex;
align-items: center;
justify-content: center;
border-radius: 5px;
}
.customizerRightItemColMid {
border: var(--cx-border) !important;
}
.customizerRightItemSelect>select:hover,
.customizerRightItemTextArea>svg:hover,
.customizerRightItemTextArea>textarea:hover,
.customizerContainerRaw>svg:hover,
.customizerRightItemCol1>svg:hover,
.customizerRightItemCol2>svg:hover,
.customizerRightItemCol3>svg:hover,
.customizerRightItemCol4>svg:hover,
.customizerRightItemCol5>svg:hover,
.customizerRightItemCol6>svg:hover,
.customizerRightItem:hover {
background-color: var(--cx-background-hover-color);
}
/*
* Other Customizer classes
*/
.customizerContainer {
height: fit-content;
border-radius: 5px;
margin: 10px;
float: left;
}
.customizerWrangling {
height: 102px;
margin: 0px 0px 10px 10px;
border-radius: 5px;
overflow-y: auto;
overflow-x: hidden;
}
.customizerNumeric,
.customizerString,
.customizerUnique,
.customizerWrangling,
.customizerContainer {
border: var(--cx-border) !important;
}
.customizerWrangling:hover {
border: 1px dashed var(--cx-color-red) !important;
}
.customizerContainerRaw {
border: none !important;
float: left;
display: flex;
align-items: center;
justify-content: center;
}
.customizerMask {
background: var(--cx-color-transparent) !important;
border: 0px none !important;
box-shadow: 0 0 0px var(--cx-color-transparent) !important;
position: absolute;
left: 0px;
top: 0px;
margin: 0px !important;
width: 100%;
height: 20px;
}
.customizerNumeric,
.customizerString,
.customizerUnique {
border-radius: 5px;
cursor: move;
margin: 3px;
padding: 3px;
word-wrap: normal;
display: inline-block;
text-align: start;
max-width: 150px;
overflow: hidden;
position: relative;
}
.customizerNumeric {
color: var(--cx-font-color);
background-color: var(--cx-color-transparent);
}
.customizerString {
color: var(--cx-color-green);
background-color: var(--cx-color-transparent);
}
.customizerUnique {
color: var(--cx-color-blue);
background-color: var(--cx-color-transparent);
}
.customizerListNumeric,
.customizerListString,
.customizerListUnique {
border: none;
cursor: move;
color: var(--cx-font-color);
margin: 0;
padding: 0 0 0 3px;
width: 350px;
white-space: nowrap;
display: inline-block;
text-align: start;
overflow: hidden;
position: relative;
}
.customizerListNumeric {
color: var(--cx-font-color);
}
.customizerListString {
color: var(--cx-color-green);
}
.customizerListUnique {
color: var(--cx-color-blue);
}
.customizerListNumeric,
.customizerListString,
.customizerListUnique {
background-color: var(--cx-color-transparent);
}
.customizerListNumeric:hover,
.customizerListString:hover,
.customizerListUnique:hover {
background: var(--cx-background-hover-color);
}
.customizerListNumeric:before,
.customizerListString:before,
.customizerListUnique:before {
font: normal 10px courier;
}
.customizerListNumeric:before,
.customizerListString:before,
.customizerListUnique:before {
color: var(--cx-background-color);
}
.customizerListNumeric:before {
content: "\00a0#\00a0\00a0";
}
.customizerListString:before {
content: "Abc\00a0";
}
.customizerListUnique:before {
content: "Unq\00a0";
}
.customizerMask::selection,
.customizerNumeric::selection,
.customizerString::selection,
.customizerUnique::selection,
.customizerListNumeric::selection,
.customizerListString::selection,
.customizerListUnique::selection {
background: var(--cx-color-transparent);
color: var(--cx-color-black);
padding: 0;
}
/*
* Search Customizer
*/
input.customizerSearch {
margin: 9px;
background-color: var( --cx-background-widgets-color);
color: var(--cx-font-color);
cursor: default;
font: inherit;
height: 40px;
border-radius: 4px;
float: left;
clear: left;
}
select.customizerSearch,
input.customizerSearch {
border: var(--cx-border);
}
input.customizerSearch[type="color"] {
padding: 0;
overflow: hidden;
}
input.customizerSearch:not([type="color"]) {
padding: 5px;
}
select.customizerSearch {
margin: 9px;
background-color: var( --cx-background-widgets-color);
color: var(--cx-font-color);
cursor: default;
font: inherit;
padding-left: 3px;
border-radius: 4px;
float: left;
clear: left;
}
span.customizerSearch {
color: var(--cx-font-color);
font: inherit;
line-height: 20px;
list-style: none;
position: relative;
margin: 5px 5px 0 15px;
float: left;
clear: left;
}
span.customizerSearchSelect,
span.customizerSearchDescription,
span.customizerSearchCategory,
span.customizerSearchCurrent {
font: inherit;
line-height: 28px;
list-style: none;
position: relative;
height: 28px;
margin-top: 5px;
float: left;
clear: left;
left: 15px;
}
span.customizerSearchSelect {
color: var(--cx-font-color);
}
span.customizerSearchDescription,
span.customizerSearchCategory {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
span.customizerSearchDescription,
span.customizerSearchCategory,
span.customizerSearchCurrent {
color: var(--cx-background-color);
}
span.customizerSearchSelect:before {
color: var(--cx-font-color);
font-weight: bold;
content: "Select property (";
}
span.customizerSearchSelect:after {
color: var(--cx-font-color);
font-weight: bold;
content: ")";
}
span.customizerSearchDescription:before {
color: var(--cx-font-color);
font-weight: bold;
content: "Description [ ";
}
span.customizerSearchCategory:before {
color: var(--cx-font-color);
font-weight: bold;
content: "Category [ ";
}
span.customizerSearchDescription:after,
span.customizerSearchCategory:after {
color: var(--cx-font-color);
font-weight: bold;
content: " ]";
}
span.customizerSearchCurrent:before {
color: var(--cx-font-color);
font-weight: bold;
content: "Current Value [ ";
}
span.customizerSearchCurrent:after {
color: var(--cx-font-color);
font-weight: bold;
content: " ]";
}
/*
* Password
*/
div.CanvasXpressPassword {
border-radius: 5px;
background-color: var(--cx-background-widgets-color);
box-sizing: border-box;
cursor: move;
color: var(--cx-font-color);
font: normal 16px arial, tahoma, sans-serif;
margin: 2px 3px;
overflow: hidden;
padding: 1px 12px;
width: 200px;
height: 185px;
white-space: nowrap;
position: relative;
text-align: left;
}
img.CanvasXpressPassword,
svg.CanvasXpressPassword {
background: var(--cx-color-transparent) !important;
border: 0px none !important;
box-shadow: 0 0 0px rgb(0 0 0 / 0%) !important;
box-sizing: border-box;
cursor: default;
float: right;
margin: 5px 0px 0px 0px !important;
cursor: default;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-ms-user-select: none;
}
div.CanvasXpressPasswordContainer {
box-sizing: border-box;
border-radius: 0px 0px 5px 5px;
color: var(--cx-font-color);
display: block;
left: 0px;
line-height: 100%;
position: relative;
top: 15px;
margin-top: 5px;
-ms-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
}
span.CanvasXpressPassword {
margin-bottom: 5px;
margin-left: 5px;
float: left;
}
input.CanvasXpressPassword {
float: left;
margin-bottom: 5px;
padding: 5px;
border-radius: 5px;
border: 1px solid rgb(170, 170, 170);
width: 170px;
}
/*
* CanvasXpressDrag
*/
div.CanvasXpressDrag {
opacity: 0.75;
box-sizing: border-box;
filter: alpha(opacity=75);
background-color: rgba(255, 255, 255, 0.95);
position: absolute;
}
div.CanvasXpressDragLayout {
opacity: 0.65;
box-sizing: border-box;
filter: alpha(opacity=65);
background-color: rgba(51, 122, 183, 0.65);
position: absolute;
}
/*
* Tooltip
*/
div.CanvasXpressTooltip {
border: 1px solid rgb(83, 105, 255);
border-radius: 5px;
background-color: rgba(255, 255, 255, 0.95);
box-sizing: border-box;
cursor: move;
color: var(--cx-font-color);
font: var(--cx-font);
margin: 2px 3px;
overflow: hidden;
padding: 5px 6px;
position: absolute;
white-space: nowrap;
text-align: left;
}
div.CanvasXpressTooltipInfo {
border: 1px solid rgb(83, 105, 255);
border-radius: 5px;
background-color: rgba(255, 255, 255, 0.95);
cursor: move;
color: var(--cx-font-color);
font: var(--cx-font);
margin: 2px 3px;
max-height: 800px;
overflow: hidden;
padding: 5px 6px;
position: absolute;
white-space: nowrap;
text-align: left;
z-index: 1;
}
/*****************************************************/
/* Generators */
/* A collection of Tooltips/Speech Bubbles */
/* https://css-generators.com/tooltip-speech-bubble/ */
/*****************************************************/
div.CanvasXpressTooltipInfoNone,
div.CanvasXpressTooltipInfoBottom,
div.CanvasXpressTooltipInfoTop,
div.CanvasXpressTooltipInfoLeft,
div.CanvasXpressTooltipInfoRight {
color: var(--cx-font-color);
font: var(--cx-font);
max-height: 800px;
padding: 10px;
position: absolute;
white-space: nowrap;
text-align: left;
z-index: 1;
}
div.CanvasXpressTooltipInfoBottom {
border-radius: var(--cx-callout-radius) var(--cx-callout-radius)
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg))
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg)) /
var(--cx-callout-radius);
clip-path: polygon(
0 100%,
0 0,
100% 0,
100% 100%,
min(100%, 50% + var(--cx-callout-size) * tan(45deg)) 100%,
50% calc(100% + var(--cx-callout-size)),
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) 100%
);
background: var(--cx-callout-border-color);
border-image: conic-gradient(var(--cx-callout-border-color) 0 0) fill 0 /
var(--cx-callout-radius) max(0%, 50% - var(--cx-callout-size) * tan(45deg))
0 max(0%, 50% - var(--cx-callout-size) * tan(45deg)) / 0 0
var(--cx-callout-size) 0;
}
div.CanvasXpressTooltipInfoBottom:before {
content: "";
position: absolute;
z-index: -1;
padding: var(--cx-callout-border-width);
border-radius: inherit;
clip-path: polygon(
0 100%,
0 0,
100% 0,
100% 100%,
min(
100% - var(--cx-callout-border-width),
50% + var(--cx-callout-size) * tan(45deg) -
var(--cx-callout-border-width) * tan(22.5deg)
)
calc(100% - var(--cx-callout-border-width)),
50%
calc(
100% + var(--cx-callout-size) - var(--cx-callout-border-width) /
sin(45deg)
),
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg) +
var(--cx-callout-border-width) * tan(22.5deg)
)
calc(100% - var(--cx-callout-border-width))
);
background: var(--cx-callout-background-color) content-box;
border-image: conic-gradient(var(--cx-callout-background-color) 0 0) fill 0 /
var(--cx-callout-radius)
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
)
0
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
) / 0 0 var(--cx-callout-size) 0;
}
div.CanvasXpressTooltipInfoTop {
border-radius: min(
var(--cx-callout-radius),
50% - var(--cx-callout-size) * tan(45deg)
)
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg))
var(--cx-callout-radius) var(--cx-callout-radius) / var(--cx-callout-radius);
clip-path: polygon(
0 0,
0 100%,
100% 100%,
100% 0,
min(100%, 50% + var(--cx-callout-size) * tan(45deg)) 0,
50% calc(-1 * var(--cx-callout-size)),
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) 0
);
background: var(--cx-callout-border-color);
border-image: conic-gradient(var(--cx-callout-border-color) 0 0) fill 0 / 0
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) var(--cx-callout-radius)
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) / var(--cx-callout-size)
0 0 0;
}
div.CanvasXpressTooltipInfoTop:before {
content: "";
position: absolute;
z-index: -1;
padding: var(--cx-callout-border-width);
border-radius: inherit;
clip-path: polygon(
0 0,
0 100%,
100% 100%,
100% 0,
min(
100% - var(--cx-callout-border-width),
50% + var(--cx-callout-size) * tan(45deg) -
var(--cx-callout-border-width) * tan(22.5deg)
)
var(--cx-callout-border-width),
50%
calc(var(--cx-callout-border-width) / sin(45deg) - var(--cx-callout-size)),
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg) +
var(--cx-callout-border-width) * tan(22.5deg)
)
var(--cx-callout-border-width)
);
background: var(--cx-callout-background-color) content-box;
border-image: conic-gradient(var(--cx-callout-background-color) 0 0) fill 0/ 0
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
) var(--cx-callout-radius) max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
) / var(--cx-callout-size) 0 0 0;
}
div.CanvasXpressTooltipInfoLeft {
border-radius: var(--cx-callout-radius) /
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg))
var(--cx-callout-radius) var(--cx-callout-radius)
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg));
clip-path: polygon(
0 0,
100% 0,
100% 100%,
0 100%,
0 min(100%, 50% + var(--cx-callout-size) * tan(45deg)),
calc(-1 * var(--cx-callout-size)) 50%,
0 max(0%, 50% - var(--cx-callout-size) * tan(45deg))
);
background: var(--cx-callout-border-color);
border-image: conic-gradient(var(--cx-callout-border-color) 0 0) fill 0 /
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) var(--cx-callout-radius)
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) 0/0 0 0
var(--cx-callout-size);
}
div.CanvasXpressTooltipInfoLeft::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
padding: var(--cx-callout-border-width);
border-radius: inherit;
clip-path: polygon(
0 0,
100% 0,
100% 100%,
0 100%,
var(--cx-callout-border-width)
min(
100% - var(--cx-callout-border-width),
50% + var(--cx-callout-size) * tan(45deg) -
var(--cx-callout-border-width) * tan(22.5deg)
),
calc(var(--cx-callout-border-width) / sin(45deg) - var(--cx-callout-size))
50%,
var(--cx-callout-border-width)
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg) +
var(--cx-callout-border-width) * tan(22.5deg)
)
);
background: var(--cx-callout-background-color) content-box;
border-image: conic-gradient(var(--cx-callout-background-color) 0 0) fill 0 /
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
)
var(--cx-callout-radius)
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
)
0/0 0 0 var(--cx-callout-size);
}
div.CanvasXpressTooltipInfoRight {
border-radius: var(--cx-callout-radius) / var(--cx-callout-radius)
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg))
min(var(--cx-callout-radius), 50% - var(--cx-callout-size) * tan(45deg))
var(--cx-callout-radius);
clip-path: polygon(
100% 0,
0 0,
0 100%,
100% 100%,
100% min(100%, 50% + var(--cx-callout-size) * tan(45deg)),
calc(100% + var(--cx-callout-size)) 50%,
100% max(0%, 50% - var(--cx-callout-size) * tan(45deg))
);
background: var(--cx-callout-border-color);
border-image: conic-gradient(var(--cx-callout-border-color) 0 0) fill 0 /
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) 0
max(0%, 50% - var(--cx-callout-size) * tan(45deg)) var(--cx-callout-radius) /
0 var(--cx-callout-size) 0 0;
}
div.CanvasXpressTooltipInfoRight::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
padding: var(--cx-callout-border-width);
border-radius: inherit;
clip-path: polygon(
100% 0,
0 0,
0 100%,
100% 100%,
calc(100% - var(--cx-callout-border-width))
min(
100% - var(--cx-callout-border-width),
50% + var(--cx-callout-size) * tan(45deg) -
var(--cx-callout-border-width) * tan(22.5deg)
),
calc(
100% + var(--cx-callout-size) - var(--cx-callout-border-width) /
sin(45deg)
)
50%,
calc(100% - var(--cx-callout-border-width))
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg) +
var(--cx-callout-border-width) * tan(22.5deg)
)
);
background: var(--cx-callout-background-color) content-box;
border-image: conic-gradient(var(--cx-callout-background-color) 0 0) fill 0 /
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
)
0
max(
var(--cx-callout-border-width),
50% - var(--cx-callout-size) * tan(45deg)
)
var(--cx-callout-radius) / 0 var(--cx-callout-size) 0 0;
}
div.CanvasXpressMousePosition {
background: rgba(0, 0, 0, 0) !important;
border: 0px none !important;
box-shadow: 0 0 0px rgba(0, 0, 0, 0) !important;
cursor: move;
color: var(--cx-font-color);
font: var(--cx-font);
position: absolute;
white-space: nowrap;
text-align: left;
z-index: 1;
}
img.CanvasXpressMousePosition,
svg.CanvasXpressMousePosition {
background: rgba(0, 0, 0, 0) !important;
border: 0px none !important;
box-shadow: 0 0 0px rgba(0, 0, 0, 0) !important;
cursor: default;
margin: 0px !important;
padding: 0px !important;
position: relative;
left: -13px;
top: -13px;
cursor: default;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-ms-user-select: none;
}
span.CanvasXpressMousePosition {
background: rgba(0, 0, 0, 0) !important;
border: 0px none !important;
box-shadow: 0 0 0px rgba(0, 0, 0, 0) !important;
cursor: move;
color: var(--cx-font-color);
font: var(--cx-font);
position: absolute;
left: 4px;
top: -20px;
white-space: nowrap;
text-align: left;
z-index: 1;
}
div.CanvasXpressCanvasResizerClose {
box-sizing: border-box;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAAAcUlEQVR42mM8e/bsfwYCgBGkSE9PD6eCS5cuIRSxsrIy/P79Gy4J42MoAgGQBDIbRRFMNwzATMVQhGwNVjehm/T582cwfevWLfxu+vTpO8Pt29ew++7Hjx8MvLy8mIpgAKTg/38WOB+uiGCIE1JAXUUA5WZpcWW3WYkAAAAASUVORK5CYII=);
}
div.CanvasXpressCanvasResizerloading1 {
box-sizing: border-box;
background-image: url(data:image/gif;base64,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