﻿.svg-holder {
    position: relative;
}

    .svg-holder > svg {
        border-left: 1px solid whitesmoke;
        border-right: 1px solid whitesmoke;
    }

.svg-size {
    height: 100%;
    width: fit-content;
}

.line {
    stroke: black;
    stroke-width: 1;
}

    .line.edge-undefined {
        stroke-dasharray: 5;
        stroke-dashoffset: 0;
        animation: 0.5s infinite alternate undefined-edge-colour,
                   1s infinite linear;
    }

    .line.edge-changeable {
        stroke-width: 3px;
    }

        .line.edge-changeable:not(.edge-undefined) {
            stroke: mediumaquamarine !important;
            stroke-dasharray: none !important;
        }

    .line.thumbnail {
        stroke: white !important;
        stroke-width: 1px;
    }

    .line.focus {
        stroke: darkred !important;
    }

    .line.clickable {
        stroke: lightcoral;
        cursor: pointer;
        stroke-opacity: 0;
        stroke-width: 9;
    }

        .line.clickable:hover {
            stroke-opacity: 0.7;
        }

    .line.dash {
        stroke: lightgray;
        stroke-dasharray: 3;
    }

@keyframes undefined-edge-colour {
    from {
        stroke: lightgray;
    }
    to {
        stroke: red;
    }
}

/*@keyframes undefined-edge-dashoffset {
    from {
        stroke-dashoffset: 0;
    }
    to {
        stroke-dashoffset: 100;
    }
}*/

.selected {
    stroke: aquamarine;
    stroke-width: 1;
}


.polygon {
    fill: rgba(118,113,113, 0.01);
}

.icon {
    stroke: black;
    stroke-width: 2;
}

.cutout {
    fill: white;
    fill-opacity: 0;
    stroke: black;
}

/*.delete,
.delete > circle, 
.delete > line {
    opacity: 0.3 !important;
}*/

.parapet {
    stroke: gray;
    fill: gray;
}

.gutter {
    fill: lightblue;
}

.test {
    fill: pink;
}

.invalid {
    stroke: lightcoral;
}

.invalid + text {
    fill: lightcoral;
}

.overlay {
    user-select: none;
    pointer-events: none;
    fill-opacity: 0;
    stroke-width: 0;
}

.svg-canvas {
    fill-opacity: 0;
    stroke-width: 0;
}

.draggable {
    pointer-events: auto;
    cursor: move;
}

svg.contractor {
    height: calc(100% - 38px);
}

svg > text {
    user-select: none;
    pointer-events: none;
    font-weight: normal;
}

.vertex {
    fill: red;
    fill-opacity: 0;
    cursor: pointer;
}

    .vertex:hover {
        fill-opacity: 0.9;
    }

.vertex-selected {
    fill: aquamarine;
    fill-opacity: 0.5;
    stroke: lightskyblue;
}

.active {
    fill-opacity: 0.9;
}

.addon-boundingbox {
    fill: lightcoral;
    cursor: pointer;
    fill-opacity: 0;
}

.not-interactable {
    user-select: none;
    pointer-events: none;
}

.dialog-button {
    width: 170px !important;
    float: right;
}

.display-roof-plan {
    background-color: white;
    margin: auto 0;
    min-height: 320px;
    height: 62vh;
    max-height: 62vh;
}

.custom-display-roof-plan {
    background-color: white;
    margin: auto 0;
    min-height: 320px;
    height: 30vw;
    max-height: 53vh;
}

.roof-plan-area {
    width: 100%;
    height: 100%;
    position: relative;
}

.svg-area {
    width: 100%;
    height: 100%;
}

.canvas-buttons {
    width: 100%;
    display: block;
    margin: 10px auto;
}

.advanced-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.side-tab {
    height: inherit !important;
    width: auto !important;
    margin-right: 50px;
}

.e-tab > .e-content {
    height: 90%;
}

.e-listbox-container .e-list-item {
    height: auto !important;
}

.e-sidebar {
    background-color: #eeeeee;
}

.list-box {
    width: 100%;
    height: 100%;
    padding: 8px 16px 8px 16px;
}

.select-component-text {
    margin: 5px auto auto 60px;
}

.selected-edge-text {
    margin: 30px auto auto 20px;
}

line {
    vector-effect: non-scaling-stroke;
}

.area {
    fill: #fff;
    opacity: 0;
    stroke: #ddd;
    stroke-width: 0.1;
}

.gridline {
    stroke: #ddd;
    stroke-width: 2;
}

.gridlineThumbnail {
    stroke: #ddd;
    stroke-width: 2;
    filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.4));
}

.arrow {
    stroke: var(--colour-primary, red);
    stroke-width: 2;
}

.arrowHead {
    fill: var(--colour-primary, red);
}

.toleranceLine {
    stroke: #86c5da;
    opacity: 0;
    stroke-width: 15;
}

.toleranceLine:hover {
    opacity: 0.7;
}

#tooltip {
    background: #f5f5f5;
    border: 1px solid black;
    border-radius: 1px;
    padding: 5px;
    font-family: Arial;
    font-size: 11px;
}

.edge-item {
    height: 35px;
    display: flex;
    align-items: center;
    gap: 15px;
}

    .edge-item img {
        height: 100%;
    }

    .edge-item p {
        margin-bottom: 0;
        font-size: 18px;
    }

/*div #KeyRegister:focus {
    height: 2px;
    background-color: aqua;
}*/

.shape {
    fill: whitesmoke;
    stroke-opacity: 0;
}

    .shape.thumbnail {
        fill: var(--colour-button, var(--colour-primary, lightgray));
    }

    .shape.focus {
        fill: lightcoral !important;
    }

    .shape.invalid {
        fill: lightcoral !important;
    }

.overlay {
    user-select: none;
    pointer-events: none;
    fill-opacity: 0;
    stroke-width: 0;
}

/* Responsive Design */

@media (max-width: 1060px) {
    .custom-display-roof-plan {
        height: 70vw;
    }
}
