/*.as-expression-input {*/
/*    box-sizing: border-box;*/
/*    border: 1px solid var(--border-color);*/
/*    min-height: var(--as-input-height);*/

/*}*/

/*.as-expression-input-content {*/
/*    font-size: 14px;*/
/*    line-height: 2;*/
/*    min-height: 2em;*/
/*}*/

/*.as-expression-input-content::before{*/
/*    content: "=";*/
/*    color: #aaaaaa;*/
/*    display: inline-block;*/
/*    height: 28px;*/
/*    vertical-align: middle;*/
/*    padding: 0 5px;*/
/*}*/

/*.asei-identifier{*/
/*    display: inline-block;*/
/*}*/


.as-expression-input {
    font-family: Roboto, sans-serif;
    border-color: var(--border-color);
    border-style: solid;
    box-sizing: border-box;
    border-width: 1px;
    border-radius: var(--default-radius);
    font-size: 14px;
    position: relative;
    line-height: 2;
    color: var(--dark-color);
    background-color: white;
    overflow: hidden;
}

.as-expression-input-content {
    position: relative;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    word-break: break-all;
}

.as-expression-input[data-size="regular"] .as-expression-input-content{
    min-height: calc(var(--default-size) - 2px);
}

.as-expression-input-textarea {
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    height: calc(100% + 2em);
    border-bottom: 0;
    z-index: 1000;
    opacity: 0.0;
    line-height: inherit;
    font: inherit;
    padding-left: var(--as-input-horizontal-padding);
    padding-right: var(--as-input-horizontal-padding);
    border: none;
    box-sizing: border-box;
    overflow: hidden;
    outline: none;

    white-space: pre-wrap;
    overflow-wrap: break-word;
    word-break: break-all;
}


.as-expression-input.as-disabled {
    background-color: var(--as-disabled-background-color);
    color: var(--as-disabled-text-color);
    pointer-events: none;
}

.as-expression-input.as-border-none {
    border: none;
}

.as-expression-input:not(.as-read-only):not(.as-disabled) {
    user-select: none;
}

.as-expression-input-range-ctn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    pointer-events: none;
}


.as-expression-input-range {
    position: absolute;
    background-color: rgba(19, 176, 233, 0.4);
}


.as-expression-input-content {
    min-height: 28px;
    outline: none;
    line-height: inherit;
    white-space: pre-wrap;
    padding-left: var(--as-input-horizontal-padding);
    padding-right: var(--as-input-horizontal-padding);
}

.as-expression-input-range-ctn {
    left: var(--as-input-horizontal-padding);

}

.as-expression-input.as-has-icon .as-expression-input-content {
    padding-left: calc(18px + var(--as-input-horizontal-padding));
}

.as-expression-input.as-has-icon .as-expression-input-range-ctn {
    left: calc(18px + var(--as-input-horizontal-padding));
}


.as-expression-input-content .as-token[data-type="number"] {
    color: #0289f6;
}

.as-expression-input-content .as-token[data-type="string"] {
    color: darkgreen;
}


.as-expression-input-content .as-token[data-ex-type="boolean"] {
    color: #f6a128;
}


.as-expression-input-content .as-token[data-ex-type="function"] {
    color: #2419c8
}

.as-expression-input-icon-ctn {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    font-size: 1.5em;
    line-height: 28px;
    display: none;
}


.as-expression-input.as-has-icon .as-expression-input-icon-ctn {
    display: block;
}

.as-expression-input-icon-ctn .mdi-equal {
    color: rgba(169, 169, 170);
}

.as-expression-input-icon-ctn .mdi-alert-circle {
    color: red;
    opacity: 0.8;
    display: none;
}


.as-expression-input.as-error .as-expression-input-icon-ctn .mdi-alert-circle {
    display: inline-block;
}

.as-expression-input.as-error .as-expression-input-icon-ctn .mdi-equal {
    display: none;
}


.as-token.as-unexpected-token {
    background-color: transparent;
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: red;
    text-decoration-thickness: 1px;
    text-underline-offset: 1px;
    animation: none;
}


.as-token.as-warning-start, .as-token.as-warning-end {
    background-color: transparent;
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-thickness: 1px;
    text-underline-offset: 1px;
    animation: none;
    text-decoration-color: #ff6200;
}


.as-expression-input-autocomplete {
    min-width: 10em;
    position: fixed;
    z-index: 1000;
}

.as-expression-input-autocomplete .absol-selectlist-item {
    padding-right: 0.3em;
}

.as-expression-input-selection-part {
    position: absolute;
    z-index: 200;
    background-color: rgba(19, 176, 233, 0.4);
    pointer-events: none;
}

.as-expression-input.as-focused .as-expression-input-selection-part {
    display: block;
}

.as-expression-input-content::selection,
.as-expression-input-content *::selection {
    background: transparent;
    color: inherit;
}


.as-expression-input-selection-part.as-cursor::before {
    content: "";
    display: block;
    position: absolute;
    left: -1px;
    top: 0;
    bottom: 0;
    /*border-left: 2px solid #c7c9cd;*/
}

.as-expression-input.as-focused .as-expression-input-selection-part.as-cursor::before {
    animation: cursor_blink 1s infinite;
    border-left: 2px solid #03316c;
}

.as-expression-input.as-changing .as-expression-input.as-focused .as-expression-input-selection-part.as-cursor::before {
    animation: none;

}


.as-ei-suggestion-list-item {
    --level: 0;
    height: 30px;
    padding-right: 1em;
    min-width: 10em;
    white-space: nowrap;
}

.as-ei-suggestion-list-item:hover {
    background-color: var(--as-list-item-hover-background-color);
}

.as-ei-suggestion-list-item.as-selected {
    background-color: var(--as-list-item-selected-background-color);
}


.as-ei-suggestion-list-item::before {
    content: "";
    height: 100%;
}

.as-ei-suggestion-list-item > *,
.as-ei-suggestion-list-item::before {
    display: inline-block;
    vertical-align: middle;
}

.as-ei-suggestion-list-item:not(.as-status-open):not(.as-status-close) .as-eisli-toggler {
    visibility: hidden;
}

.as-ei-suggestion-list-item.as-status-open .toggle-close,
.as-ei-suggestion-list-item.as-status-close .toggle-open {
    display: none;
}


.as-eisli-toggler {
    text-align: right;
    width: calc(1em * var(--level) + 1.5em);
    padding-right: 0.5em;
}

.as-ei-suggestion-list {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.as-ei-suggestion-list .mdi {
    width: 30px;
    text-align: center;
    font-size: 1em;
}

.as-ei-suggestion-list .mdi.mdi-function {
    color: #2419c8;
}

.as-ei-suggestion-list .mdi.mdi-variable {
    color: #5b5d42;
}

.as-ei-suggestion-list .am-select-tree-leaf-item-icon-ctn {
    left: calc(2em * var(--level) - 14px)
}

.as-expression-input-real-input {
    position: absolute;
    z-index: 10;
    right: 0;
    top: 0;
    width: 100px;
    height: 100px;
    opacity: 0.5;
    /*visibility: hidden;*/
}

.as-expression-input-foreground {
    position: absolute;
    z-index: 8;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

}

.as-ei-command-tool {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 0 3px;
    box-sizing: border-box;
    height: 31px;
}

.as-ei-command-tool::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.as-ei-command-tool button {
    font-size: 14px;
    width: 25px;
    height: 25px;
    padding: 0;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
}

.as-ei-command-tool button:hover {
    background-color: #f0f0f0;
}

.as-ei-command-tool button:not(:last-child) {
    margin-right: 3px;
}

@keyframes error_blink {
    0% {
        background-color: red
    }
    50% {
        background-color: transparent
    }
    100% {
        background-color: red
    }
}


@keyframes cursor_blink {
    0% {
        opacity: 1;
    }
    49.9% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}