.cv-text-placeholder  { color:var(--cavelo-black-20) !important; }
.cv-text-green        { color:var(--cavelo-green) !important; }
.cv-text-forest       { color:var(--cavelo-forest) !important; }
.cv-text-orange       { color:var(--cavelo-orange) !important; }
.cv-text-navy         { color:var(--cavelo-navy) !important; }
.cv-text-blue         { color:var(--cavelo-blue) !important; }
.cv-text-white        { color:var(--cavelo-white) !important; }
.cv-text-black        { color:var(--cavelo-black) !important; }
.cv-text-grey         { color:var(--cavelo-platinum) !important; }
.cv-text-dark-grey    { color:var(--cavelo-grey) !important; }
.cv-text-gold         { color:var(--cv-gold) !important; }
.cv-text-bright-blue  { color:var(--cv-bright-blue) !important; }
.cv-text-vivid-blue   { color:var(--cv-vivid-blue) !important; }
.cv-text-vivid-cyan   { color:var(--cv-vivid-cyan) !important; }
.cv-text-red          { color:var(--cv-accent-red-dark) !important; }
.cv-text-transparent  { color:transparent !important; }

[data-icon-color][data-icon]:before, [data-icon-color] > i {
    color: color(rgb attr(data-icon-color)) !important;
}

.cv-icon-placeholder[data-icon]:before, .cv-icon-placeholder > i { color:var(--cavelo-black-20) !important; }
.cv-icon-green[data-icon]:before, .cv-icon-green > i { color:var(--cavelo-green) !important; }
.cv-icon-orange[data-icon]:before, .cv-icon-orange > i { color:var(--cavelo-orange) !important; }
.cv-icon-navy[data-icon]:before, .cv-icon-navy > i { color:var(--cavelo-navy) !important; }
.cv-icon-blue[data-icon]:before, .cv-icon-blue > i { color:var(--cavelo-blue) !important; }
.cv-icon-white[data-icon]:before, .cv-icon-white > i { color:var(--cavelo-white) !important; }
.cv-icon-black[data-icon]:before, .cv-icon-black > i { color:var(--cavelo-black) !important; }
.cv-icon-grey[data-icon]:before, .cv-icon-grey > i { color:var(--cavelo-platinum) !important; }
.cv-icon-dark-grey[data-icon]:before, .cv-icon-dark-grey > i { color:var(--cavelo-grey) !important; }
.cv-icon-gold[data-icon]:before, .cv-icon-gold > i { color:var(--cv-gold) !important; }
.cv-icon-bright-blue[data-icon]:before, .cv-icon-bright-blue > i { color:var(--cv-bright-blue) !important; }
.cv-icon-vivid-blue[data-icon]:before, .cv-icon-vivid-blue > i { color:var(--cv-vivid-blue) !important; }
.cv-icon-vivid-cyan[data-icon]:before, .cv-icon-vivid-cyan > i { color:var(--cv-vivid-cyan) !important; }
.cv-icon-red[data-icon]:before, .cv-icon-red > i { color:var(--cv-accent-red-dark) !important; }
.cv-icon-transparent[data-icon]:before, .cv-icon-transparent > i { color:transparent !important; }

.cv-icon-risk-very-low[data-icon]:before,     .cv-icon-risk-very-low > i     { color:var(--very-low-60) !important; }
.cv-icon-risk-very-low-0[data-icon]:before,   .cv-icon-risk-very-low-0 > i   { color:var(--very-low-0) !important; }
.cv-icon-risk-very-low-20[data-icon]:before,  .cv-icon-risk-very-low-20 > i  { color:var(--very-low-20) !important; }
.cv-icon-risk-very-low-40[data-icon]:before,  .cv-icon-risk-very-low-40 > i  { color:var(--very-low-40) !important; }
.cv-icon-risk-very-low-60[data-icon]:before,  .cv-icon-risk-very-low-60 > i  { color:var(--very-low-60) !important; }
.cv-icon-risk-very-low-80[data-icon]:before,  .cv-icon-risk-very-low-80 > i  { color:var(--very-low-80) !important; }
.cv-icon-risk-very-low-100[data-icon]:before, .cv-icon-risk-very-low-100 > i { color:var(--very-low-100) !important; }

.cv-icon-risk-low[data-icon]:before,     .cv-icon-risk-low > i     { color:var(--low-60) !important; }
.cv-icon-risk-low-0[data-icon]:before,   .cv-icon-risk-low-0 > i   { color:var(--low-0) !important; }
.cv-icon-risk-low-20[data-icon]:before,  .cv-icon-risk-low-20 > i  { color:var(--low-20) !important; }
.cv-icon-risk-low-40[data-icon]:before,  .cv-icon-risk-low-40 > i  { color:var(--low-40) !important; }
.cv-icon-risk-low-60[data-icon]:before,  .cv-icon-risk-low-60 > i  { color:var(--low-60) !important; }
.cv-icon-risk-low-80[data-icon]:before,  .cv-icon-risk-low-80 > i  { color:var(--low-80) !important; }
.cv-icon-risk-low-100[data-icon]:before, .cv-icon-risk-low-100 > i { color:var(--low-100) !important; }

.cv-icon-risk-medium[data-icon]:before,     .cv-icon-risk-medium > i     { color:var(--medium-60) !important; }
.cv-icon-risk-medium-0[data-icon]:before,   .cv-icon-risk-medium-0 > i   { color:var(--medium-0) !important; }
.cv-icon-risk-medium-20[data-icon]:before,  .cv-icon-risk-medium-20 > i  { color:var(--medium-20) !important; }
.cv-icon-risk-medium-40[data-icon]:before,  .cv-icon-risk-medium-40 > i  { color:var(--medium-40) !important; }
.cv-icon-risk-medium-60[data-icon]:before,  .cv-icon-risk-medium-60 > i  { color:var(--medium-60) !important; }
.cv-icon-risk-medium-80[data-icon]:before,  .cv-icon-risk-medium-80 > i  { color:var(--medium-80) !important; }
.cv-icon-risk-medium-100[data-icon]:before, .cv-icon-risk-medium-100 > i { color:var(--medium-100) !important; }

.cv-icon-risk-high[data-icon]:before,     .cv-icon-risk-high > i     { color:var(--high-60) !important; }
.cv-icon-risk-high-0[data-icon]:before,   .cv-icon-risk-high-0 > i   { color:var(--high-0) !important; }
.cv-icon-risk-high-20[data-icon]:before,  .cv-icon-risk-high-20 > i  { color:var(--high-20) !important; }
.cv-icon-risk-high-40[data-icon]:before,  .cv-icon-risk-high-40 > i  { color:var(--high-40) !important; }
.cv-icon-risk-high-60[data-icon]:before,  .cv-icon-risk-high-60 > i  { color:var(--high-60) !important; }
.cv-icon-risk-high-80[data-icon]:before,  .cv-icon-risk-high-80 > i  { color:var(--high-80) !important; }
.cv-icon-risk-high-100[data-icon]:before, .cv-icon-risk-high-100 > i { color:var(--high-100) !important; }

.cv-icon-risk-very-high[data-icon]:before,     .cv-icon-risk-very-high > i     { color:var(--very-high-60) !important; }
.cv-icon-risk-very-high-0[data-icon]:before,   .cv-icon-risk-very-high-0 > i   { color:var(--very-high-0) !important; }
.cv-icon-risk-very-high-20[data-icon]:before,  .cv-icon-risk-very-high-20 > i  { color:var(--very-high-20) !important; }
.cv-icon-risk-very-high-40[data-icon]:before,  .cv-icon-risk-very-high-40 > i  { color:var(--very-high-40) !important; }
.cv-icon-risk-very-high-60[data-icon]:before,  .cv-icon-risk-very-high-60 > i  { color:var(--very-high-60) !important; }
.cv-icon-risk-very-high-80[data-icon]:before,  .cv-icon-risk-very-high-80 > i  { color:var(--very-high-80) !important; }
.cv-icon-risk-very-high-100[data-icon]:before, .cv-icon-risk-very-high-100 > i { color:var(--very-high-100) !important; }

.cv-icon-shadow[data-icon]:before { text-shadow: var(--text-shadow) }


.cv-text-hover-green:not([disabled]):hover        { color:var(--cavelo-green) !important; }
.cv-text-hover-forest:not([disabled]):hover       { color:var(--cavelo-forest) !important; }
.cv-text-hover-orange:not([disabled]):hover       { color:var(--cavelo-orange) !important; }
.cv-text-hover-navy:not([disabled]):hover         { color:var(--cavelo-navy) !important; }
.cv-text-hover-blue:not([disabled]):hover         { color:var(--cavelo-blue) !important; }
.cv-text-hover-white:not([disabled]):hover        { color:var(--cavelo-white) !important; }
.cv-text-hover-black:not([disabled]):hover        { color:var(--cavelo-black) !important; }
.cv-text-hover-grey:not([disabled]):hover         { color:var(--cavelo-platinum) !important; }
.cv-text-hover-dark-grey:not([disabled]):hover    { color:var(--cavelo-grey) !important; }
.cv-text-hover-gold:not([disabled]):hover         { color:var(--cv-gold) !important; }
.cv-text-hover-bright-blue:not([disabled]):hover  { color:var(--cv-bright-blue) !important; }
.cv-text-hover-vivid-blue:not([disabled]):hover   { color:var(--cv-vivid-blue) !important; }
.cv-text-hover-vivid-cyan:not([disabled]):hover   { color:var(--cv-vivid-cyan) !important; }
.cv-text-hover-red:not([disabled]):hover          { color:var(--cv-accent-red-dark) !important; }
.cv-text-hover-transparent:not([disabled]):hover  { color:transparent !important; }

[data-role="inputselect"] > .selected.item-added,
*.item-added { background-color:var(--cavelo-honeydew-60) !important; }

[data-role="inputselect"] > .selected.item-removed,
*.item-removed { background-color:var(--cavelo-orange-20) !important; }

.rotate-45 { transform:rotate(45deg) }
.rotate-90 { transform:rotate(90deg) }
.rotate-135 { transform:rotate(135deg) }
.rotate-180 { transform:rotate(180deg) }
.rotate--135 { transform:rotate(-135deg) }
.rotate--90 { transform:rotate(-90deg) }
.rotate--45 { transform:rotate(-45deg) }

.pop-up-row:not(:hover) > .pop-up-close { display:none; }
.pop-up-right { left:100%; }
.pop-up-left { right:100%; }
.pop-up-close { position:absolute; }

.arrow-bullet { transform: rotate(90deg); }
.arrow-bullet:after { 
    position:relative;
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    content: "\f3bf";    
}

*[data-placeholder]:empty { position:relative; }
*[data-placeholder]:empty::before {
    position:absolute;
    left:0;
    right:0;
    top:2px;
    bottom:0;
    padding:0 0.5em;
    vertical-align: baseline;
    opacity:0.6;
    font-size:1rem;
    content:attr(data-empty) !important;
}


*[data-empty]:empty { position:relative; }
*[data-empty]:empty::before {
    min-height:1em;
    position: absolute;
    padding:0.5em;
    bottom:0;
    opacity:0.6;
    font-size:1rem;
    content:attr(data-empty) !important;
}
*[contenteditable="true"][data-empty]:empty::before { padding-left:0em; }
*[data-role="tooltip"] [data-empty]:empty::before { position:relative; padding:0; }
td > [data-empty]:empty::before { position:relative; padding:0; }
.inline-block[data-empty]:empty::before { position:relative; padding:0; }
.row > *:empty::before { position:relative; padding:0; }

*[disabled="true"].clickable,
*[disabled="true"] .clickable { cursor:not-allowed !important; }

*.overflow-spill { overflow:visible !important; }
*.overflow-x-spill { overflow-x:visible !important; }
*.overflow-y-spill { overflow-y:visible !important; }

*.overflow-hide { overflow:hidden !important; }
*.overflow-x-hide { overflow-x:hidden !important; }
*.overflow-y-hide { overflow-y:hidden !important; }
*.overflow-ellipsis { overflow:hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; flex-wrap: nowrap !important; max-width:1000px }

*.cv-text-xsmall { font-size:0.6rem; }
*.cv-text-small { font-size:0.8rem; }
*.cv-text-normal { font-size:1rem; }
*.cv-text-large { font-size:1.2rem; }
*.cv-text-xlarge { font-size:1.5rem; }

*.flex-grid { display:flex !important }
*.block-noflex { display:block !important }
*.inline-block-noflex { display:inline-block !important }

*.flip-horizontal { 
    -moz-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

*.flip-vertical { 
    -moz-transform: scale(1, -1);
    -webkit-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    transform: scale(1, -1);    
}

*.nooutline, *.nooutline:focus { outline:none; }
*.border-radius-nooverflow,
*.chart { 
    -webkit-border-radius: var(--border-radius) !important;
    -moz-border-radius: var(--border-radius) !important;
    border-radius: var(--border-radius) !important;
    overflow:hidden !important; 
}

*.height-fill-available { min-height:0 !important; max-height:none !important; height:-webkit-fill-available !important; height:fill-available !important; }
*.width-fill-available { min-width:0 !important; max-width:none !important; width:-webkit-fill-available !important; width:fill-available !important; }
*.width-fit-content { min-width:0 !important; max-width:none !important; width:fit-content !important; }
*.width-min-content { min-width:0 !important; max-width:none !important; width:min-content !important; }
*.width-max-content { min-width:0 !important; max-width:none !important; width:max-content !important; }


*.relative { position:relative !important; }
*.absolute { position:absolute !important; }
*.border-radius { 
    -webkit-border-radius: var(--border-radius) !important;
    -moz-border-radius: var(--border-radius) !important;
    border-radius: var(--border-radius) !important;
}

*.border-bottom-left-radius { 
    -webkit-border-bottom-left-radius: var(--border-radius) !important;
    -moz-border-bottom-left-radius: var(--border-radius) !important;
    border-bottom-left-radius: var(--border-radius) !important;
}
*.border-bottom-right-radius { 
    -webkit-border-bottom-right-radius: var(--border-radius) !important;
    -moz-border-bottom-right-radius: var(--border-radius) !important;
    border-bottom-right-radius: var(--border-radius) !important;
}
*.border-top-left-radius { 
    -webkit-border-top-left-radius: var(--border-radius) !important;
    -moz-border-top-left-radius: var(--border-radius) !important;
    border-top-left-radius: var(--border-radius) !important;
}
*.border-top-right-radius { 
    -webkit-border-top-right-radius: var(--border-radius) !important;
    -moz-border-top-right-radius: var(--border-radius) !important;
    border-top-right-radius: var(--border-radius) !important;
}
*.noradius { --border-radius:0 }
*.radius-xs { --border-radius: 0.2em; padding:0.1em 0.2em 0.2em 0.2em; }
*.radius-small { --border-radius: 0.5em; padding:0.25em 0.5em 0.25em 0.5em; }

*.pre-wrap { flex-wrap: wrap; overflow-wrap: break-word; white-space: pre-wrap; }
*.wrap { flex-wrap: wrap; overflow-wrap: break-word; white-space: wrap; }
*.nowrap { flex-wrap: nowrap; overflow-wrap: break-word; white-space: nowrap; }
*.nowrap > *:not(img):not(i):not([data-icon]) { height:100% !important; white-space: pre-wrap; }
*.noshadow { box-shadow:none !important; }
*.hidden { display:none !important; }

*.grid { display:grid !important; }
*.inline-grid { display:inline-grid !important; }
*.flex { display:flex !important; }
*.inline-flex { display:inline-flex !important; }

.link-to-page { display:none !important; }
.teststack { background-color:rgba(0,0,0,0.1) !important; }
/* .teststack *.hidden { background-color:rgba(0,0,255,0.1) !important; display:block !important; } */
/* .teststack * { background-color:inherit !important; } */


/* [data-lastpass-icon-root], [data-lastpass-root] { display:none !important; visibility:hidden !important; } */


/* .xhtml { margin-top:1rem; } */
.xhtml *:empty { display:none; }
.xhtml .code_block { display:block; margin-bottom:1rem; }
.xhtml .inline_block { font-weight:bold; }


.ratio-1-1 { aspect-ratio: 1 / 1 !important; }
.ratio-2-1 { aspect-ratio: 2 / 1 !important; }
.ratio-3-1 { aspect-ratio: 3 / 1 !important; }


[data-min-height]{min-height: attr(data-min-height rem) !important;}
[data-max-height]{max-height: attr(data-max-height rem) !important;}
[data-min-width] {min-width: attr(data-min-width rem) !important;}
[data-max-width] {max-width: attr(data-max-width rem) !important;}
[data-height]    {height: attr(data-height rem) !important;}
[data-width]     {width: attr(data-width rem) !important;}
[data-height-rem]{height: attr(data-height rem) !important;}
[data-width-rem] {width: attr(data-width rem) !important;}
[data-height-px] {height: attr(data-height px) !important;}
[data-width-px]  {width: attr(data-width px) !important;}
[data-height-pct] {height: attr(data-height %) !important;}
[data-width-pct]  {width: attr(data-width %) !important;}

[data-top-rem]   {position:absolute; top:attr(data-top-rem rem) !important;}
[data-right-rem] {position:absolute; right:attr(data-right-rem rem) !important;}
[data-bottom-rem]{position:absolute; bottom:attr(data-bottom-rem rem) !important;}
[data-left-rem]  {position:absolute; left:attr(data-left-rem rem) !important;}

[data-top-px]   {position:absolute; top:attr(data-top-px px) !important;}
[data-right-px] {position:absolute; right:attr(data-right-px px) !important;}
[data-bottom-px]{position:absolute; bottom:attr(data-bottom-px px) !important;}
[data-left-px]  {position:absolute; left:attr(data-left-px px) !important;}

[data-opacity] {opacity: attr(data-opacity type(<number>)) !important;}
[data-hover-opacity]:hover {opacity: attr(data-hover-opacity type(<number>)) !important;}

[data-cursor="nesw-resize"] {cursor: nesw-resize !important;}
[data-cursor="nwse-resize"] {cursor: nwse-resize !important;}
[data-cursor="col-resize"] {cursor: col-resize !important;}
[data-cursor="row-resize"] {cursor: row-resize !important;}
[data-cursor="context-menu"] {cursor: context-menu !important;}
[data-cursor="wait"] {cursor: wait !important;}
[data-cursor="text"] {cursor: text !important;}
[data-cursor="move"] {cursor: move !important;}
[data-cursor="grab"] {cursor: grab !important;}
[data-cursor="grabbing"] {cursor: grabbing !important;}
[data-cursor="no-drop"] {cursor: no-drop !important;}
[data-cursor="not-allowed"] {cursor: not-allowed !important;}
[data-cursor="zoom-in"] {cursor: zoom-in !important;}
[data-cursor="zoom-out"] {cursor: zoom-out !important;}

