/***************************
 *      General style      *
 ***************************/


:root {
    --abbozza-blue: #5B67A5;
    --abbozza-blue-light: #ABB7F5;
}


@font-face {
    font-family : "Ubuntu";
    font-display : swap;
    src : url("fonts/Ubuntu.ttf");
}

@font-face {
    font-family : "UbuntuBold";
    font-display : swap;
    src : url("fonts/Ubuntu-Bold.ttf");
}

@font-face {
    font-family : "Symbola";
    src : url("fonts/Symbola.ttf");
    unicode-range: U+2000-ffff; 
}

HTML, BODY {
    height : 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: none;
    font-family: sans-serif;    
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

BODY.editor {
    border: none;
}

DIV.editor {
    height: 100%;
}

IFRAME.editor {
    width: 100%;
    height: 100%;
}

DIV.menu {
    position: fixed;
    top: -90px;
    right: 300px;
    width: 200px;
    height: 100px;
    border-radius: 0px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    background-color: #e0e0e0;
    margin: 0px;
    margin-right: 2px;
    margin-bottom: 5px;
    padding: 0px;
    text-align: center;
    opacity: 0.4;
}

DIV.menu:hover {
    top: 0px;
    opacity: 1.0;
}

DIV.buttons {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 260px;
    height: 175px;
    border: none;

}

DIV.buttons BUTTON {
    width: 80px;
    height: 80px;
    background-color: #D0D0D0;
    border: none;
    margin: 0px;
    margin-right: 2px;
    margin-bottom: 5px;
    padding: 0px;
    text-align: center;
    opacity: 0.5;
}

DIV.buttons BUTTON:hover {
    opacity: 1;
}

DIV.buttons BUTTON IMG {
    width: 50px;
    height: 50px;
    padding: 0pt;
    margin: 0pt;
    border: 0pt;
    align: middle;
}



DIV.abz-top-button {
    width: 40px;
    height: 40px;
    margin-top: 4px;
    opacity: 1;
    z-index: 41;
    overflow: hidden;
    margin-left: 6px;
    margin-right: 6px;
    padding: 3px;
    background-color: transparent; 
}

DIV.abz-top-button:hover {
    opacity: 1.0;
    height: auto;
    overflow : visible;
    animation-name : test;
    animation-duration: 1s;
}

DIV.abz-tool-button {
    border: none;
    border-radius: 18px;
    background-color: white;
    padding: 0px;
    margin: 0px;
    width: 36px;
    height: 36px;
    vertical-align: center;
    margin-bottom: 10px;
    background-color: #e0e0e0;
}

DIV.abz-tool-button IMG {
    padding: 3px;
    margin: 0pt;
    width: 30px;
    height: 30px;
}

DIV.abz-tool-button:hover {
    filter : brightness(1.2);
    transform : scale(1.2);
    background-color: darkgrey;
}

DIV.status_div IMG {
    width: 400px;
    height: 200px;
    padding: 5px;
    position: fixed;
    border: none;
    bottom: 20px;
    left: 0px;
    border:1px gray solid;
    color: gray;
    font-family: sans-serif;
    vertical-align: bottom;
    overflow: auto;
    z-index: 10;
}   

DIV.license_div {
    font-family: sans-serif;
    font-size: 90%;
    color: gray;
    position: absolute;
    right: 90px;
    bottom: 25px;
    z-index: 0;
    overflow: hidden;
    white-space: nowrap;
}

DIV.license_div A {
    color: gray;
}


#generate {
    right: 420px;
}

#upload {
    right: 370px;
}

#new {
    right: 320px;
}

#load {
    right: 270px;
}

#save {
    right: 220px;
}

#tools {
    right: 70px;
}

#connect {
    right: 170px;
    background-color: #FF0000;
}

#config {
    right: 20px;
}

#tasks {
    right: 120px;
}

#workspace {
    width: 100%;
    height: 100%;
    flex-grow : 1;
}

/**************************
 *     Blocky Toolbox     *
 **************************/

.blocklySvg {
    background-image: url(../img/abbozza.png) !important;
    background-repeat: no-repeat;
    background-position: right 90px bottom 40px;
    background-size: 200px;
}

.blocklyTreeRow {
    background-image: url(../img/categoryframe.png);
    background-size: 101% 110%;
    background-repeat: no-repeat;
    background-color: transparent;   
    padding: 5px;   
}

.blocklyTreeLabel {
    font-weight: bold;
}

.blocklyTreeRow:not(.blocklyTreeSelected):hover {
    background-color: white;
}

.blocklyTreeRow:hover {
    background-image: url(../img/categoryframehover.png);
    background-color: transparent;   
    color: orange;
}

div[role="treeitem"]:hover {
    background-color: white;
}

.blocklyTreeSelected {
    background-image: url(../img/categoryframehover.png);
    background-color: white;
}


.goog-slider-vertical,
.goog-slider-horizontal {
    background-color: ThreeDFace;
    position: relative;
    overflow: hidden;
}

.goog-slider-thumb {
    position: absolute;
    background-color: ThreeDShadow;
    overflow: hidden;
}

.goog-slider-vertical .goog-slider-thumb {
    left: 0;
    height: 20px;
    width: 20px;
}

.goog-slider-horizontal .goog-slider-thumb {
    top: 0;
    width: 20px;
    height: 20px;
}
.goog-slider-disabled {
    background-color: lightgray
}


/***********************
 *     Task Window     *
 ***********************/
.taskOverlay {
    min-width: 300px;
    min-height: 200px;
    width: 600px;
    height: 400px;
    background-color: #d0d0d0;
    position: fixed;
    top : 60px;
    right: 20px;
    z-index: 40;
    text-align : center;
    font-family : sans-serif;
    font-size: 120%;
    color: gray;
    border-bottom: 2px #a0a0a0 solid;
    border-right: 2px #a0a0a0 solid;
    border-top: 2px #f0f0f0 solid;
    border-left: 2px #f0f0f0 solid;
    border-radius: 5px;
    padding: 0px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor:default;
}

.taskOverlayButton {
    float: right;
    /* margin-top: 3px; */
    margin-right: 6px;
    margin-top: 2px;
    /* margin-bottom: 3px; */
    /* width: 24px; */
    /* height: 24px; */
    color : white;
    font-size: 24px;
    /* border: 2px white solid; */
    border-radius: 5px;
    background-color: #d0d0d0;
    cursor: pointer;
    text-align: center;
    vertical-align: text-top;
    height: 24px;
}

.taskOverlayButton:hover {
    color : #d0d0d0;
    background-color: red;
}


.taskOverlayButton IMG {
    height: 20px;
    padding : 2px;
    margin-left: 1px;
    margin-top: 1px;
}


.taskOverlayTitle {
    float: left;
    font-size: 100%;
    font-weight: bold;
    text-align: left;
    margin: 3px;
    margin-left: 10px;
    color: black;
    opacity: 1;
    border: 1px black solid;
    overflow: hidden;
    height: 24px;
}

.taskOverlayContent {
    display: none;
}

.taskOverlayPage {
    margin: 3px;
    padding: 3px;
    overflow-x: visible;
    overflow-y: scroll;
    top: 30px;
    bottom: 30px;
    left: 3px;
    right: 3px;
    border-radius: 5px;
    position: absolute;
    background-color: white;
    font-family: sans-serif, Arial, Verdana, "Trebuchet MS";
    font-size: 100%;
    text-align: left;
    border-top: 2px #a0a0a0 solid;
    border-left: 2px #a0a0a0 solid;
    border-bottom: 2px #f0f0f0 solid;
    border-right: 2px #f0f0f0 solid;    
    cursor:default;
    color: black;
}

.taskOverlayEditorWrapper {
    border: none;
    margin: 5px;
}

.mce-edit-focus {
    width: calc( 100% - 20px ); 
    outline: lightgray 1px solid;    
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 1px;
    padding-bottom: 1px;
}

.mce-edit-focus:focus {
    outline: black 1px solid;    
}

.taskOverlayNav {
    background: #d0d0d0;
    position: absolute;
    margin: 0px;
    bottom: 4px;
    left: 10px;
    right: 24px;
    height: 24px;
    cursor: default;
    color: black;
    z-index: 42;
}

.taskOverlayNavButton {
    font-size: 20px;
    font-weight: bold;
    margin-left: 2px;
    margin-right: 2px;
    padding: 2px 4px 2px 4px;
    cursor: pointer;
    color: white;
    background-color: black;
    border-radius: 3px;
    min-width: 40px;    
}

.taskOverlayNavButton IMG {
    height: 20px;
    vertical-align: text-top;
}    

.taskOverlayNavButton:hover {
    background-color: red;
}



.taskOverlayNavButtonDisabled {
    font-size: 20px;
    font-weight: bold;
    margin-left: 2px;
    margin-right: 2px;
    padding: 2px 4px 2px 4px;
    cursor: pointer;
    color: white;
    background-color: #c0c0c0;
    border-radius: 3px;
    min-width: 40px;
    pointer-events: none;
}

.taskOverlayNavButtonDisabled IMG {
    height: 20px;
    vertical-align: text-top;
}

.taskOverlayZoomButton {
    float: left;
    margin-left: 6px;
    color : white;
    font-size: 24px;
    border-radius: 5px;
    background-color: #d0d0d0;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    margin-top: 6px;
    height: 22px;
}


.taskOverlayZoomButton:hover {
    color : #d0d0d0;
    background-color: red;
}

.taskOverlayZoomButton IMG {
    height: 22px;
    vertical-align: text-top;
}

.taskOverlayNavPages {
    font-size: 16px;
    font-weight: bold;
    margin-left: 2px;
    margin-right: 2px;
    padding: 2px 4px 2px 4px;
    cursor: default;
    color: black;
    background-color: white;
    border-radius: 3px;
    min-width: 40px;
    
}


.taskHint {
    z-index: 40;
    background-color: #d0d0d0;
    font-weight: bold;
    color: white;
    font-family: sans-serif;    
    overflow: auto;
    opacity: 0.9;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;   
}

.taskHintButton {
    float: right;
    background-color: #d0d0d0;
    width: 13px; 
    height: 13px; 
    border-color: white; 
    border-radius: 3px; 
    border-width: 1px; 
    border-style: solid;
    margin-bottom: 6px;
    padding: 0px;
    margin-left: 5px;
    cursor: pointer;
    padding: 1px;
}

.taskHintBody {
    padding: 0px;
    margin: 0px
}

.taskHintContent {
    margin: 0px;
    padding: 5px;
    border: 5px;
    overflow: auto;
    color: black;
    background-color: #ffffff;
    font-weight: normal;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 100%;
    width: 100%;
    height: 100%;
}

.taskHintInner {
    margin : 0px;
}

.taskHintHead {
    background-color: #d0d0d0;
    font-weight: bold;
    color: white;
    font-family: sans-serif;    
    overflow: auto;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;   
}


.taskHintContent {
    font-family: sans-serif;
}


/**********************
 *     Error Icon     *
 **********************/

.abbozzaError{
    font-family: sans-serif;
    stroke: black;
}

.abbozzaErrorIconShield{
    fill: white;
    stroke: red;
}

.abbozzaErrorIcon{
    fill: white;
    stroke: red;
    font-size: 14px;
}

.blocklyDraggable {
    z-index: 1;
}


/*******************
 *     Overlay     *
 *******************/

#overlay {
    width: 100%;
    height: 100%;
    opacity: 0.95;
    background-color: #ffffff;
    display: none;
    position: absolute;
    top : 0px;
    left: 0px;
    z-index: 42;
    text-align : center;
    font-family : sans-serif;
    font-size: 120%;
    color: gray;
}

#overlay_content {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    background-color : #f0f0f0;
    padding-top: 30px;
    padding-bottom: 30px;
    text-align: center;
}

#overlay_err {
    width: 100%;
    text-align: center;
    font-size: 80%;
    font: monospace;
    display: inline-block;
}


/**
 **
 **/

abbozza-hint {
    display: none;
}


pagescript {
    display: none;
}

taskscript {
    display: none;
}


@-webkit-keyframes fadeinout {
    0% {opacity: 0; visibility: visible;}
    10% {opacity: 1;}
    90% {opacity: 1;}
    100% {opacity: 0; visiblitiy: hidden;}
}

@keyframes fadeinout {
    0% {opacity: 0; visibility: visible;}
    10% {opacity: 1;}
    90% {opacity: 1;}
    100% {opacity: 0; visiblitiy: hidden;}
}

@-webkit-keyframes pulsing {
    0% { background-color : #d0d0d0; }
    50% { background-color : #00ff00; }
    100% { background-color : #d0d0d0; }
}

@keyframes pulsing {
    0% { background-color : #d0d0d0; }
    50% { background-color : #00ff00; }
    100% { background-color : #d0d0d0; }
}


.fadeinout {
    visibility: hidden;
    opacity: 0;
    animation-name: fadeinout;    
}

.overlayScript {
    position: absolute;
    top: 5%;
    left: 5%;
    width: 90%;
    height: 90%;
}

.overlayScriptTitle {
    position: absolute;
    top: 0px;
    left: 0px;
    font-weight: bold;
    font-size: 25px;
}

.overlayScriptEditor {
    position: absolute;
    top: 30px;
    left: 0px;
    width: 100%;
    bottom: 30px;
    background-color: rgba(255,255,200,1);
    resize: none;
    border: 2px black solid;
    z-index: 43;
}

.overlayScriptFontlabel {
    position:absolute;
    right: 60px;
    top: 0px;    
}

.overlayScriptFontsize {
    position:absolute;
    right: 0px;
    top: 0px;
    width: 50px;
}


.overlayScript .CodeMirror{
    position: absolute;
    top: 30px;
    left: 0px;
    width: 100%;
    bottom: 30px;
    background-color: rgba(255,255,220,1);
    resize: none;
    border: 2px rgb(200,200,165) solid;
    z-index: 43;
    text-align: left;
}

.overlayScriptOkButton {
    position: absolute;
    height: 20px;
    bottom: 0px;
    right: 80px;
    width: 60px;
}

.overlayScriptCancelButton {
    position: absolute;
    height: 20px;
    bottom: 0px;
    right: 0px;
    width: 60px;
}

.overlayScriptLoadButton {
    position: absolute;
    height: 20px;
    bottom: 0px;
    left: 0px;
}



.abz-task-frame-content {
    display: flex;
    flex-direction: column;
    align-content: stretch;
    justify-content: flex-start;
    align-items: stretch;
    flex-grow: 1;
    width: 100%;
    height: 100%;
}


.taskToolbar {
    width: auto;
    height: auto;
    flex-grow : 0;
}


.taskFrameWrapper {
    overflow: auto;
    width: calc( 100% - 20px );
    flex-grow: 1;
    background-color: white;
    font-family: sans-serif, Arial, Verdana, "Trebuchet MS";
    font-size: 90%;
    text-align: left;
    cursor:default;
    color: black;
    padding: 5px;
}

.taskFrameNav {
    flex-grow: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d0d0d0;
    margin: 0px;
    height: 24px;
    cursor: default;
    color: black;
    z-index: 0;
    text-align: center;
    font-family: sans-serif;
}
    
.taskFrameNavButton {
    height: 20px;
    width: 20px;
    margin-left:5px;
    margin-right:5px;
}


.taskFrameNavButton IMG {
    height: 20px;
}

.taskFrameNavPage {
    width: auto;
    height: 20px;
    margin-left:5px;
    margin-right:5px;
}

.taskFrameNavButtonDisabled {
    height: 20px;
    width: 20px;
    margin-left:5px;
    margin-right:5px;
    opacity: 0.1;
}

.taskFrameNavButtonDisabled IMG {
    height: 20px;
}



/**
 ** OptionTree
 **/

DIV.configDialog {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
}

DIV.optionTree {
    border: 1px black solid;
    border-radius: 10px;
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    width: 47.5%;
    overflow-y : auto;
    display: flex;
    flex-direction: column;
    justify-content : flex-start;
    align-items: stretch;
    align-content: flex-start;
    padding: 10px;
}

DIV.optionTreeItem {
    flex-grow: 2;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 0px;
}

DIV.optionTreeItem DIV.item {
    display : flex;
    justify-content : flex-start;
    align-items: center;
    align-content: center;    
}

DIV.optionTreeItem DIV.item DIV.treeEmpty {
    width: 20px;
    margin-right: 10px;
}

DIV.optionTreeItem DIV.item DIV.treeButton {
    width: 20px;
    margin-right: 10px;
}

DIV.optionTreeItem DIV.item DIV.name {
    
}

DIV.optionTreeItem DIV.checkbox {
    height: 1em;
    width: 1em;
    display: inline-block;
    margin-right: 5px;
    transform: translateY(-25%);
    text-align: middle;
}

DIV.optionTreeItem DIV.choice {
    height: 1em;
    width: 1em;
    display: inline-block;
    margin-right: 5px;
    transform: translateY(-30%);
    text-align: middle;
    font-size: 75%;
}

DIV.optionTreeItemChildren {
    margin: 0px;
    margin-left: 30px;
    flex-grow: 1;
    padding: 0px;
}

DIV.optionFrame {
    position: absolute;
    right: 0px;
    top: 0px;
    bottom: 0px;
    width: 47.5%;
    overflow-y : auto;
    display: flex;
    flex-direction: column;
    justify-content : flex-start;
    align-items: stretch;
    align-content: flex-start;
}

DIV.optionBox {
    border: 1px black solid;
    border-radius: 10px;
    padding: 20px;    
    flex-stretch: 1;
    margin-bottom: 30px;
    text-align: left;
}


DIV.fileDialog {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
}


DIV.fileDialogTitle {
    left: 0px;
    right: 0px;
    top: 0px;
    height: 30px;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
}


DIV.fileDialog DIV.filePath {
    position: absolute;
    left: 0px;
    top: 30px;
    height: 30px;
    right: 140px;
    overflow-x : auto;
    border: 1px black solid;
    border-radius: 10px;
    display : flex;    
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: bold;
    vertical-align: middle;
    font-size: 24px;
}


DIV.fileDialog DIV.fileList {
    position: absolute;
    left: 0px;
    top: 90px;
    bottom: 0px;
    right: 140px;
    overflow-y : none;
    overflow-x : auto;
    border: 1px black solid;
    border-radius: 10px;
    display : flex;    
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    padding: 10px;
}

DIV.fileDialog DIV.fileTools {
    position: absolute;
    top: 30px;
    bottom: 0px;
    right: 0px;
    width: 100px;
    border: 1px black solid;
    border-radius: 10px;
    display : flex;    
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    padding: 10px;
}

DIV.fsEntry {
    height: 40px;
    width: 160px;
    border: 1px darkgray solid;
    border-radius: 10px;
    box-shadow : 5px 5px darkgray;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    align-content: flex-start;
    padding: 5px;
    margin-bottom: 10px;
}

DIV.fsEntry IMG {
    width: auto;
    height: 40px;
}

DIV.fsEntry DIV {
    margin-left: 5px;
    width: 120px;
    overflow: hidden;
    text-align: left;
    vertical-align: middle;
}


DIV.filePopup {
    display : flex;
    position: fixed;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    align-content: stretch;
    border: 1px black solid;
    background-color: white;
    padding: 5px;
    box-shadow: 5px 5px rgba(0.5,0.5,0.5,0.5);
}

Div.filePopup DIV.item {
    text-align: left;    
}

Div.filePopup DIV.item:hover {
    background-color : lightgray;
}


/**
 **  CKEditor
 **/
/*
.cke {
    margin: 3px;
    padding: 3px;
    overflow: auto;
    top: 30px;
    left: 6px;
    border-radius: 5px;
    position: absolute;
    background-color: #ffe0e0;
    text-align: left;
    font-size: 75%;
    border-top: 2px #a0a0a0 solid;
    border-left: 2px #a0a0a0 solid;
    border-bottom: 2px #f0f0f0 solid;
    border-right: 2px #f0f0f0 solid;    
    cursor: text;    
}
*/


/* The SketchbookManager */

#sketchbookDialog {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
}

#sketchbookList {
    position: absolute;
    left: 10px;
    top: 10px;
    bottom: 10px;
    width: 200px;
    border: 1px solid lightgray;
    border-radius: 0px;
    padding: 5px;
    display : flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
}

#sketchbookName {
    position: absolute;
    top: 10px;
    left: 230px;
    right: 10px;
    height: 30px;
    background-color: lightgray;
    font-weight: bold;
    padding: 5px;
    font-size: 20px;
}

#sketchbookDiv{
    position: absolute;    
    top: 40px;
    left: 230px;
    width: 300px;
    bottom: 10px;
    border: 1px solid lightgray;
}


#sketchbookFiles{
    position: absolute;
    top: 40px;
    left: 230px;
    right: 10px;
    bottom: 10px;
    border: 1px solid lightgray;
    font-weight: bold;
    padding: 5px;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    align-content: flex-start;    
    flex-wrap: wrap;
}

.sketchbookItem {
    height: auto; 
    border: 1px lightgray solid;
    border-radius: 0px;
    padding: 0px;
    margin-bottom: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    align-content: center;    
}



.abz-option-tree {
    min-width: 200px;
    min-height: 200px;
    max-width: 400px;
    max-height: 800px;
    width: auto;
    height: auto;
}


.abz-sketchbook-list {
    align-items : stretch;
    justify-content : flex-start;
}



.abz-sketchbook-widget {
    height: 20px; 
    border: 1px darkgray solid;
    border-radius: 5px;
    padding: 5px;
    margin-bottom: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    align-content: center;    
    font-family : sans-serif;
}


.abz-sketchbook-widget:hover {
    border: 1px solid black;
    background-color: lightgray;
}


.abz-sketchbook-action-buttons {
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
}

.abz-sketchbook-action-buttons .ui-button {
    margin-right: 10px;
}

.abz-sketchbook-buttons {
    margin-top: 20px;
    width: 100%;
}

.abz-sketchbook-file {
    display: flex;
    font-family : sans-serif;
    border: 1px white solid;
    height: auto;
    padding: 3px;
    align-items: center;
}

.abz-sketchbook-file:hover {
    background-color: lightgray;
    border-radius: 5px;
}

.abz-sketchbook-dir {
    font-family : sans-serif;
    border: 1px white solid;
    height: auto;
    padding: 3px;
    align-items: center;
}


.abz-sketchbook-dir .ui-tree-root:hover {
    background-color: lightgray;
    border-radius: 5px;
}

.abz-sketchbook-file-marked {
    margin: 0px;
}

.abz-script-editor {
    width: 100%;
    height: 100%;
    z-index: 43;
    overflow: none;
}

.abz-script-editor-div {
    width: 100%;
    height: 100%;
    overflow: none;
}


.abz-script-editor-div .cm-light {
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,220,1);
    resize: none;
    z-index: 43;
    text-align: left;
}

.abz-task-editing {
    background-color: white;
    
}

.abz-mode-icon {
    border : 1px white solid;    
}

.abz-from-cache {
    background-image : url("../img/cache.png");
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: center;
}


ABZ-LINK {
    display : run-in;
    color : blue;
    text-decoration: underline;
    cursor: pointer;
}


.tox-editor-container {
    z-index: 30;
}

*[contentEditable="true"] {
  background-color: white;
}


.abz-test-content {
    background-color: green;
    width: 100%;
    height: 100%
}

.abz-editor-div {
    height: 100%;
    width: 100%;
    overflow-y : auto;
    overflow-x : auto;
}

.cm-editor {
    height: 100%;
}


.cm-selectionLayer {
    z-index: inherit !important;
}

.cm-selectionBackground {
    background-color: #0000FF20 !important;
}

.abz-image {}

.abz-image-left {
    float : left;
}

.abz-image-right {
    float : right;
}

.abz-help {
}

/*
.CodeMirror {
    height: auto;
}

.CodeMirror-cursor {
  border-left: 2px solid black;
  border-right: none;
  width: 1em;
}

.Code-Mirror-selected {
    background: darkgray !important; 
}
*/

.abzInitOverlay {
    position: absolute;
    top : 0px;
    left: 0px;
    width : 100%;
    height: 100%;
    display : flex;
    justify-content: center;
    align-items: center;
    background-color: white;
    z-index : 200;
}

.abzInitMessage {
    color : var(--abbozza-blue);
    font-family : "UbuntuBold";
    font-size : 200%;
    text-align: center;
}


DIV#viewWrapper {
    height : calc( 100% - 10px );
    margin : 5px;
}



DIV.abz-data-list {
    flex-direction: column;
    align-items : stretch;
    justify-content : flex-start;
    overflow : auto;
}

DIV.abz-data-list DIV.item {
    border: 1px lightgrey solid;
    border-radius : 5px;
    margin: 3px;
    padding: 5px;
}

DIV.abz-data-list DIV.first {
    border: 2px black solid;
    border-radius : 5px;
    margin: 3px;
    padding: 5px;
}


:root {
    --abz-data-value-view-table-width: 120px;
}


DIV.abz-data-view {
    width: 100%;
    height: 100%;
    position: relative;
}

DIV.abz-data-view CANVAS {
    width: 100%;
    height: 100%;
    position: relative;
}

DIV.abz-data-bytes {
    font-family: monospace;
    padding : 5px;
    overflow-wrap: break-word;
    width: calc( 100% - 10px );
    height: 100%;
}

.tox-menu {
    min-width: fit-content;
}

.ui-frame-triple-content {
    overflow: inherit !important;
}

.abz-connect-button-label {
    position:relative;
    left: 0px;
    top: -40px;
}