
/* smart-multiline-text-box */

smart-multiline-text-box {
    display: inline-block;
    width: var(--smart-multiline-text-box-default-width);
    height: var(--smart-multiline-text-box-default-height);
    border: 1px solid #A9A9A9;
    color: #A9A9A9;
}

    smart-multiline-text-box[cols],
    smart-multiline-text-box[rows] {
        width: auto;
        height: auto;
    }

    smart-multiline-text-box .smart-container,
    smart-multiline-text-box .smart-inner-container {
        font-family: inherit;
        font-size: inherit;
        font-weight: inherit;
        font-style: inherit;
        overflow: hidden;
        color: inherit;
        width: 100%;
        height: 100%;
        position: relative;
    }

    smart-multiline-text-box .smart-initialization-value {
        display: none;
    }


    smart-multiline-text-box textarea {
        width: 100%;
        height: 100%;
        outline: none;
        color: inherit;
        border: none;
        padding: 2px;
        font-family: inherit;
        font-size: inherit;
        font-weight: inherit;
        font-style: inherit;
        background-color: inherit;
        overflow: hidden;
        resize: none;
        float: left;
    }


        smart-multiline-text-box textarea.smart-text-box-hidden {
            visibility: hidden;
            width: 100%;
            height: 0px;
            position: absolute;
            left: 0px;
            top: 0px;
        }


    smart-multiline-text-box[auto-capitalize="words"] textarea {
        text-transform: capitalize;
    }

    smart-multiline-text-box[auto-capitalize="characters"] textarea {
        text-transform: uppercase;
    }

    smart-multiline-text-box[cols] textarea,
    smart-multiline-text-box[rows] textarea {
        width: inherit;
        height: inherit;
    }

    smart-multiline-text-box textarea::selection {
        background: #FFBB00;
    }

    smart-multiline-text-box.hovered,
    smart-multiline-text-box:focus.hovered {
        border-color: #FFBB00;
    }

    smart-multiline-text-box[disabled],
    smart-multiline-text-box[disabled] textarea.hovered,
    smart-multiline-text-box[disabled].hovered {
        border-color: #A9A9A9;
        outline: none;
    }

    smart-multiline-text-box smart-scroll-bar[disabled] {
        pointer-events: none;
    }

    smart-multiline-text-box:focus {
        border-color: #555555;
    }

    smart-multiline-text-box smart-scroll-bar {
        display: none;
    }

    smart-multiline-text-box .smart-container textarea {
        height: 100%;
    }

    smart-multiline-text-box .smart-container.hscroll textarea {
        height: calc(100% - var(--smart-scroll-bar-size));
    }

    smart-multiline-text-box .smart-container.vscroll textarea {
        width: calc(100% - var(--smart-scroll-bar-size));
    }

    smart-multiline-text-box .smart-container.hscroll smart-scroll-bar {
        width: 100%;
        height: calc(var(--smart-scroll-bar-size));
        display: block;
    }

        smart-multiline-text-box .smart-container.hscroll smart-scroll-bar[orientation="vertical"] {
            display: none;
        }

    smart-multiline-text-box .smart-container.vscroll smart-scroll-bar[orientation="vertical"] {
        float: right;
        width: calc(var(--smart-scroll-bar-size));
        height: 100%;
        display: block;
    }

    smart-multiline-text-box[resizable] .smart-container.hscroll smart-scroll-bar smart-multiline-text-box .smart-container.vscroll.hscroll smart-scroll-bar {
        height: calc(var(--smart-scroll-bar-size));
        width: calc(100% - var(--smart-scroll-bar-size));
    }

    smart-multiline-text-box[resizable] .smart-container.vscroll smart-scroll-bar[orientation="vertical"],
    smart-multiline-text-box .smart-container.vscroll.hscroll smart-scroll-bar[orientation="vertical"] {
        height: calc(100% - var(--smart-scroll-bar-size));
        width: calc(var(--smart-scroll-bar-size));
    }

    smart-multiline-text-box[resizable] .smart-container.hscroll smart-scroll-bar {
        width: calc(100% - var(--smart-scroll-bar-size));
    }

    smart-multiline-text-box[display-mode="escaped"] textarea {
        white-space: nowrap;
    }

    smart-multiline-text-box .smart-resize-element {
        box-sizing: border-box;
        height: calc(var(--smart-scroll-bar-size));
        width: calc(var(--smart-scroll-bar-size));
        position: absolute;
        bottom: 0px;
        right: 0px;
        background-color: lightgray;
        background-clip: content-box;
        border: #ddd solid 1px;
        display: none;
        padding: 2px 0px 0px 2px;
        cursor: nw-resize;
    }

    smart-multiline-text-box[resizable] .smart-resize-element {
        display: block;
    }

    smart-multiline-text-box[resizable] .smart-resize,
    smart-multiline-text-box[resizable] .smart-resize textarea {
        user-select: none;
    }

    smart-multiline-text-box .smart-label,
    smart-multiline-text-box .smart-hint,
    smart-multiline-text-box .smart-required-message {
        display: none;
    }