@import url("open.iconic/font/css/open-iconic-bootstrap.min.css");

html,
body {
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

html,
body {
    height: 100%;
    overflow: hidden;
}

form {
    width: 100%;
}

.valid.modified:not([type="checkbox"]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.grid-header .dxbl-grid-header-content span {
    text-align: center;
}

.monaco-container-parent-visible {
    height: 200px;
}

.monaco-container-parent-hidden {
    height: 0px;
}

.monaco-container {
    height: 100%;
    border-color: #ced4da;
}

.monaco-no-editable {
    background-color: #f2f2f2;
    border-bottom: 1px solid #525252;
}

.monaco-no-editable-text {
    color: #525252 !important;
}

.monaco-editor .focused .selectionHighlight {
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

.spinEditInput input {
    text-align: center;
}

.dxbl-grid-toolbar-container {
    min-height: 0px !important;
}

.dxbl-grid-focused-row .btn-link {
    color: #fff !important;
}

.selector-min-width {
    min-width: 13rem;
}

.map-preview {
    width: 2rem;
    height: 2rem;
}

.control-layers-with-image .leaflet-control-layers-base,
.control-layers-with-image .leaflet-control-layers-overlays {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.control-layers-with-image .leaflet-control-layers-expanded {
    padding: 0;
    overflow: hidden
}

.control-layers-with-image .leaflet-control-layers-separator {
    margin:0;
}

.control-layers-with-image .leaflet-control-layers-base label > span,
.control-layers-with-image .leaflet-control-layers-overlays label > span {
    display: flex;
    justify-content: start;
    align-items: center;
    position: relative;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
}

.control-layers-with-image .leaflet-control-layers-base label > span:hover,
.control-layers-with-image .leaflet-control-layers-overlays label > span:hover {
    background-color: #f4f5f6;
}

.control-layers-with-image .leaflet-control-layers-selector {
    appearance: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.control-layers-with-image .leaflet-control-layers-selector::before {
    content: "";
    position: absolute;
    width: 0.9rem;
    height: 0.9rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}

.control-layers-with-image .leaflet-control-layers-selector:checked::before {
    background-image: url("/icons/check_circle_black.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.control-layers-with-image .leaflet-control-layers-selector:not(:checked)::before {
    border: 1px solid black;
    border-radius: 50%;
    background: transparent;
    transform: translateY(-50%) scale(0.85); 
}

.cursor-pointer {
    cursor: pointer;
}

.portfolio-view.dxbl-treeview-item {
    display: block;
}

.portfolio-view > .dxbl-treeview-item-content .dxbl-btn-tool {
    display: none;
}

.portfolio-view > .dxbl-treeview-item-content .dxbl-image:nth-child(1) {
    padding-left: 1rem;
}

.navigator .dxbl-treeview-item-content .dxbl-checkbox {
    order: 1;
    position: absolute;
    right: 0;
    z-index: 100;
}

.navigator.selection-hidden .dxbl-checkbox {
    display: none;
}

.dxbl-list-box-height-auto.dxbl-list-box {
    height: auto;
}

.chart-legend-items-center.dxbl-chart-legend-horizontal .dxbl-chart-legend-items {
    justify-content: center;
}

.dxbl-dropdown:has(> .dxbl-dropdown-dialog.mobile-view) {
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
}

.oi-spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/*Scrollabe legend container if there is no space*/
.chart-with-scrollable-legend .dxbl-chart-with-legend-container,
.chart-with-scrollable-legend .dxbl-chart-with-legend-container .dxbl-chart-legend {
    min-width: 0;
    max-width: 100%;
    width: 100%;
}

    .chart-with-scrollable-legend .dxbl-chart-with-legend-container .dxbl-chart-legend.dxbl-chart-legend-horizontal .dxbl-chart-legend-items {
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        padding-left: 1rem;
        padding-right: 1rem;
    }

.chart-with-scrollable-legend .dxbl-chart-legend .dxbl-chart-legend-item,
.chart-with-scrollable-legend .dxbl-chart-legend .dxbl-text {
    white-space: nowrap;
    flex: 0 0 auto;
}

/*VALIDATION SUMMARY */
.validation-summary-container:not(:has(.validation-errors)) {
    display: none;
}

.validation-summary-container .validation-errors {
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.validation-summary-with-header {
    padding: 16px;
    margin: 24px 12px;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 6px;
}

.submit-button {
    padding: 10px 16px;
    margin: -10px -16px;
    font-size: 16px;
    border-radius: 0px;
    border: none;
}

/* MAP ICONS */

.map-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 0;
  }
  

  .map-icon svg {
    overflow: visible;
  }

  .map-icon .icon-outline {
    shape-rendering: geometricPrecision;
  }
  

  .marker-status-0 .icon-outline {
    animation: geos-pulse-red 1.6s ease-in-out infinite;
    transform-origin: center;
    transform-box: fill-box; 
  }
  
  @keyframes geos-pulse-red {
    0%   { opacity: 0.25; transform: scale(1); }
    50%  { opacity: 1;    transform: scale(1.06); }
    100% { opacity: 0.25; transform: scale(1); }
  }

.input-with-image .dxbl-text-edit-input {
    width: calc(100% - 16px - 0.375rem);
}
  
.scheduler-header-no-padding .dxbl-sc-hint .dxbl-apt-edit-compact-dialog-header, .dxbl-sc-hint .dxbl-sc-tooltip-header {
    padding: 0 !important;
    overflow:hidden !important;
}

.hide-upload-cancel-btn .dxbl-upload-cancel-btn {
    display: none !important;
}

.messagebox-multiline {
    white-space: pre-line;
}

.spinner-icon {
    animation: spin 1s linear infinite;
    display: inline-block;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}