@charset "UTF-8";
@import url("https://rsms.me/inter/inter.css");

:root {
    --border-full-px: 5px; /* Full border */
    --border-loading-px: 8px; /* Border loading radius **/
    --loading-box-height: 75px;
    --loading-box-width: 75px;
    --zindex-loading-background: 12900;
    --zindex-loading-layer: 13000;
    --zindex-loading-spinner: 13100;
    --zindex-notification: 100000;
}

/**
-------------------------------------------------------------------------------
Base
-------------------------------------------------------------------------------
 */
body {
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    font-family: "Inter var", "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
    font-feature-settings: normal;
    font-size: 16px !important;
    font-variation-settings: normal;
    margin: 0;
    min-width: 720px;
    shape-rendering: auto;
    text-align: left;
    text-rendering: optimizelegibility;
}

small {
    font-size: 0.7rem;
}

/* Base panel */
div#main-panel {
    min-height: 100vh;
}

div.title {
    padding: 1rem;
}

div.title span.gui-clients {
    display: none;
    margin-left: 1rem;
}

/* Form properties */
#form-parser div.input-item + div.input-item {
    margin-top: 0.5rem;
}

#form-parser div.file {
    margin-bottom: 2rem;
}

#form-parser input:hover, #form-parser select:hover {
    cursor: pointer;
}

#form-parser button.process {
    margin: 1rem auto 0;
}

/* Error */
div.row.error {
    align-items: center;
    height: 100vh;
}

div.error-content {
    color: #ff0000;
    font-size: 1.75rem;
    font-weight: 300;
    margin: 0 auto;
    max-width: 50%;
    padding: 2rem;
    text-align: center;
}

div.error-content i {
    margin-right: 1rem;
}

/* UI components */
.amaran-wrapper {
    z-index: var(--zindex-notification) !important;
}

/* Collapse-ellipsable text */
.collapsable-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Disable selection of elements */
.noselect {
    -moz-user-select: none;
    -ms-user-select: none;
    /* -webkit-touch-callout: none; */
    -webkit-user-select: none;
    outline: 0;
    user-select: none;
}

/**
-------------------------------------------------------------------------------
Scaler
-------------------------------------------------------------------------------
 */
/* noinspection Stylelint */
.plan-scale .canvas-container-scale .go-canvas {
    border: 1px solid #d2d2d2;
    height: 425px;
    margin-left: 15px;
    margin-right: 15px;
    width: 100%;
}

@media screen and (min-height: 55em) and (max-height: 60em) {
    .plan-scale .canvas-container-scale .go-canvas {
        height: 400px;
    }
}

@media screen and (min-height: 50em) and (max-height: 55em) {
    .plan-scale .canvas-container-scale .go-canvas {
        height: 375px;
    }
}

@media screen and (max-height: 50em) {
    .plan-scale .canvas-container-scale .go-canvas {
        height: 350px;
    }
}

.plan-scale .canvas-helper {
    color: #828282;
    font-size: 0.9rem;
    font-weight: 300;
    margin-bottom: 10px;
    margin-left: 15px;
}

.plan-scale .canvas-helper .canvas-helper-counter {
    display: inline-block;
    width: 0.45rem;
}

.plan-scale .canvas-helper a {
    /* background-color: #dedede; */
    border-radius: var(--border-full-px);
    /* border: 1px solid #bdbdbd; */
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.25);
    /* color: black; */
    display: inline-block;
    margin-left: 0.15rem;
    padding: 3px 7px;
    /* opacity: 0.75; */
}

.plan-scale .canvas-helper a.disabled {
    opacity: 0.5;
}

.plan-scale .canvas-helper a:hover {
    opacity: 1.0;
    transition: opacity 0.25s;
    text-decoration: none;
}

/* Overview */
.plan-scale .go-canvas-overview {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    /* -webkit-transition: width 0.5s, height 0.5s; */ /* For Safari 3.1 to 6.0 */
    /* border-top-left-radius: var(--border-full-px); */
    /* margin-right: 16px; */
    /* right: 0; */
    /* top: 0; */
    /* transition: width 0.5s, height 0.5s; */
    background-color: #ffffff !important;
    border: 1px solid #c3c3c3;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.04);
    content: "";
    cursor: auto;
    height: 75px;
    margin-top: 0;
    outline: none;
    overflow: hidden;
    position: absolute;
    width: 100px;
    z-index: 3;
}

.plan-scale .go-canvas-overview canvas {
    outline: none;
}

.plan-scale .go-canvas-overview:hover {
    opacity: 1.0 !important;
    transition: opacity 0.25s;
}

.plan-scale .go-canvas-overview.overview-hover {
    border: 1px solid #000000;
    /* box-shadow: 0 0 6px rgba(0, 0, 0, 0.09); */
    height: 300px; /* 75% */
    opacity: 1.00;
    transition: opacity, 0.25s fade-in;
    width: 400px;
}

/**
-------------------------------------------------------------------------------
Loading handler
-------------------------------------------------------------------------------
 */
#loading-div-layer {
    width: 100%;
}

#loading-div-layer.loading-div-layer-class {
    border: none;
    display: none;
    left: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: var(--zindex-loading-layer);
}

#loading-div-layer.loading-div-layer-class .loading-foreground {
    position: fixed;
    width: 100%;
    z-index: var(--zindex-loading-spinner);
}

#loading-div-layer.loading-div-layer-class .loading-foreground .loading-box {
    -moz-border-radius: var(--border-loading-px);
    -webkit-border-radius: var(--border-loading-px);
    background: rgba(0, 0, 0, 0.85);
    border-radius: var(--border-loading-px);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.23);
    height: var(--loading-box-height) !important;
    line-height: var(--loading-box-height);
    margin: 0;
    padding: 0;
    position: fixed;
    text-align: center;
    width: var(--loading-box-width) !important;
}

#loading-div-layer.loading-div-layer-class .loading-background {
    background-color: #000000;
    border: none;
    filter: alpha(opacity=30);
    left: 0;
    margin: 0;
    opacity: 0.3;
    overflow: hidden;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: var(--zindex-loading-background);
    zoom: 1;
}

#loading-div-layer #loading-div-layer-message {
    background-color: #e6e6e6;
    border-radius: var(--border-full-px);
    bottom: 0;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.20);
    display: none;
    font-size: 0.9rem;
    font-weight: 300;
    line-height: normal;
    margin-right: auto;
    margin-top: calc(13px + var(--loading-box-height));
    max-width: 300px;
    padding: 0.1rem 1rem;
    position: relative;
    text-align: center;
    width: max-content;
}

/**
-------------------------------------------------------------------------------
Results
-------------------------------------------------------------------------------
 */
div.results-ctx {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

div.results-ctx pre.parser-json {
    background: #f5f2f0;
    display: block;
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    font-size: 1em;
    line-height: 1.5;
    max-height: 375px;
    overflow: auto;
    text-align: left;
    text-shadow: 0 1px white;
    user-select: all;
    white-space: pre;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
}

div.results-ctx div.title {
    font-size: 2rem;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}

div.results-ctx div.col-1 {
    padding: 0;
}

div.results-ctx div.col-4 {
    padding-left: 0;
}

div.results-ctx select.floor-sel {
    margin-bottom: 1rem;
}