/********************************************************************************
 * Copyright (c) 2020-2022 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.sprotty {
    display: flex;
    height: 100%;
}

.sprotty svg {
    width: 100%;
    flex: 1;
    border-style: solid;
    border-width: 0px;
}

.sprotty svg:focus {
    border-width: 0;
    outline: none;
}
.sprotty > div:focus {
    outline: none;
}

.sprotty-graph {
    background: var(--theia-editor-background);
}

.sprotty-node {
    stroke: var(--theia-editor-foreground);
    fill: var(--theia-editor-foreground);
}

.sprotty-edge {
    fill: none;
    stroke: var(--theia-editor-foreground);
}

.sprotty-edge > .sprotty-routing-handle {
    r: 5px;
    fill: var(--theia-foreground);
    stroke: none;
    z-index: 1000;
}

.sprotty-edge > .sprotty-routing-handle[data-kind='line'] {
    opacity: 0.35;
}

.sprotty-edge > .sprotty-routing-handle.mouseover {
    stroke-width: 1;
}

.sprotty-edge .arrow {
    fill: var(--theia-editor-foreground);
}

.sprotty-node.selected,
.sprotty-edge.selected {
    stroke: var(--theia-focusBorder);
}

.sprotty-edge.selected .arrow {
    fill: var(--theia-focusBorder);
    stroke: var(--theia-focusBorder);
}

.inactive .sprotty-node.selected {
    stroke: var(--theia-editor-inactiveSelectionBackground);
}

.sprotty-resize-handle.selected,
.sprotty-resize-handle.active,
.sprotty-edge > .sprotty-routing-handle.selected,
.sprotty-edge > .sprotty-routing-handle.mouseover {
    fill: var(--theia-focusBorder);
}

.inactive .sprotty-resize-handle,
.inactive .sprotty-routing-handle {
    fill: var(--theia-tab-unfocusedInactiveForeground);
}

.sprotty-node.mouseover:not(.selected),
.sprotty-edge.mouseover:not(.selected) {
    stroke: var(--theia-editor-foreground);
}

.sprotty-edge.mouseover:not(.selected) .arrow {
    fill: var(--theia-editor-foreground);
    stroke: var(--theia-editor-foreground);
}

/* Hover popup c*/

.sprotty-popup {
    padding: 0px;
    border-radius: 2px;
    box-shadow: 0px 1px 6px var(--theia-widget-shadow);
    background-color: var(--theia-editorHoverWidget-background);
    color: var(--theia-editorHoverWidget-foreground);
    border: 1px solid var(--theia-editorHoverWidget-border);
}

.sprotty-infoRow {
    font-size: small;
    margin-bottom: 8px;
}

.sprotty-infoTitle {
    display: block;
    font-weight: bold;
}

.sprotty-status .fatal {
    color: var(--theia-inputValidation-errorBorder);
}

.sprotty-status .error {
    color: var(--theia-errorForeground);
}

.sprotty-status .warning {
    color: var(--theia-editorWarning-foreground);
}

.sprotty-status .info {
    color: var(--theia-editorInfo-foreground);
}

.sprotty-error {
    fill: var(--theia-inputValidation-errorBackground);
    color: var(--theia-errorForeground);
}

.sprotty-warning {
    fill: var(--theia-inputValidation-warningBackground);
    color: var(--theia-editorWarning-foreground);
}

.sprotty-info {
    fill: var(--theia-info-color0);
    color: var(--theia-inputValidation-infoBackground);
}

.sprotty-projection-bar.vertical.bordered-projection-bar {
    width: var(--theia-scrollbar-rail-width);
}

.sprotty-projection-bar.horizontal.bordered-projection-bar {
    height: var(--theia-scrollbar-rail-width);
}

.mouse-enter .sprotty-projection-bar {
    opacity: 1;
}

.mouse-leave .sprotty-projection-bar {
    opacity: 0;
    pointer-events: none;
}
