@import url('open.iconic/font/css/open-iconic-bootstrap.min.css');

:root,
[data-bs-theme=light] {
    --home-content-backcolor: #ca9797;
    --gridlayout-backcolor: #ffffff;
    --popup-window-backcolor: #e0d9d9;
    --issue-flyout-back-colour: #ac7750;
    --stage-three-badge-backcolor: #f64b4b;
    --stage-two-badge-backcolor: #c7b874;
    --stage-one-badge-backcolor: #698dbd;
    --stage-zero-badge-backcolor: #6cc7d9;
    --stage-notset-badge-backcolor: #6C757D;
    --stage-cancelled-badge-backcolor: #d1d6db;
    --group-bg: #d5d0d0;
    
}

[data-bs-theme=dark] {
    --home-content-backcolor: #5c3b3b;
    --gridlayout-backcolor: #2d3238;
    --popup-window-backcolor: #3c424a;
    --issue-flyout-back-colour: #462004;
    --stage-three-badge-backcolor: #972a2a;
    --stage-two-badge-backcolor: #756001;
    --stage-one-badge-backcolor: #013375;
    --stage-zero-badge-backcolor: #004a59;
    --stage-notset-badge-backcolor: #6C757D;
    --stage-cancelled-badge-backcolor: #2a3036;
    --group-bg: #2c3137;
    /*#2f4f4f*/
}


html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

html, body {
    height: 100%;
    /*overflow: hidden;*/
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

body {
    overflow: auto;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.button-link {
    text-decoration: unset;
}

#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;
    }

.site-name-container {
    display: flex;
    align-items: center; /* Vertically centers the child elements */
    justify-content: center; /* Horizontally centers the child elements */
    gap: 10px;
    /*height: 100vh;*/
}

.site-name {
    font-size: 1.5rem;
    line-height: 3rem;
    font-weight: 600;
    letter-spacing: 0rem;
    padding: 0 20px 0 0;
}

@media (min-width: 1050px ) {
    .site-name-short {
        display: none;
    }
}

@media (max-width: 1049px ) {
    .site-name-long {
        display: none;
    }
}


@media (min-width: 770px ) {
    .nav-item-iconformat {
        display: none;
    }
}

@media (max-width: 769px ) {
    .nav-item-textformat {
        display: none;
    }
}



.site-exit-container {
    display: flex;
    align-items: center; /* Vertically centers the child elements */
    justify-content: center;
    gap: 20px;
}



.title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-bottom: 0.625rem;
}

    .title.title-secondary {
        padding-top: 0.313rem;
        padding-bottom: 0;
        color: var(--bs-secondary-color);
    }

.title-header-text {
    font-size: 2.5rem;
    line-height: 3rem;
    font-weight: 600;
    letter-spacing: 0rem;
    padding: 0.3125rem 0;
}

.title-content-text {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 2.5rem;
    letter-spacing: 0rem;
}

.layout-header {
    padding: 0.5rem;
    background-color: #631919;
}

.main-content {
    /*display: flex;*/
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding-top: 0.5rem;
    /*height: calc(100vh - 0px);*/ /* Adjust based on your header/footer height */
    overflow-y: auto;
}

.block-content {
    width: 31.25rem;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    max-width: 100%;
}




.main-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

.main-card {
    width: 26.25rem;
    height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 1rem;
    color: var(--bs-link-color-rgb);
    gap: 1.5rem;
    text-decoration: none;
    position: relative;
}

    .main-card:hover {
        box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

    .main-card .main-card-img {
        width: 6.5rem;
        height: 6.5rem;
    }

    .main-card .main-card-text {
        font-size: 1.75rem;
        font-weight: 600;
        letter-spacing: 0em;
        text-align: center;
        text-decoration: unset;
    }

    .main-card .main-card-back {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--bs-body-color);
        opacity: 0.05;
        border-radius: 1rem;
        z-index: -2;
    }

.icon-fill {
    fill: var(--bs-primary);
}

.container-fullwidth {
    width: 100%;
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: 0px;
    margin-left: 0px;
}


.inline {
    display: inline-block;
}

.mini-container {
    display: flex;
    flex-direction: column;
}

.h3-home-segment, .box1, .box2 {
    padding: 0px;
    color: var(--bs-navbar-brand-color) !important;
}

.h3-home-segment {
    font-size: large !important;
    font-weight: bold;
}

.box1 {
    text-align: center;
}

.box2 {
    display: flex;
    justify-content: flex-end;
    margin-right: 20px;
}

.box2-button {
    margin-left: 10px;
}

.home-dashboard-number {
    font-size: 100px;
}

.home-content-title {
    padding-top: 25px;
    margin: 0 auto;
}

.home-content-parent {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping to the next line */
    justify-content: center; /* Center horizontally */
    align-items: stretch; /* Make all child divs the same height */
    margin: 0 auto; /* Center the parent div within its container */
    gap: 20px;
    padding-top: 20px;
}

.home-content-child {
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    padding: 20px;
    background-color: var(--home-content-backcolor);
    /* Optional: for visual separation */
}




@media (min-width: 820px) {
    .home-content-parent {
        max-width: 800px; /* Maximum width */
    }

    .home-content-child {
        flex: 0 0 45%; /* Each child takes up 45% of the parent's width */
    }
}

@media (max-width: 819px) {
    .home-content-parent {
    }

    .home-content-child {
        flex: 0 0 95%; /* Each child takes up 95% of the parent's width */
    }
}

@media (min-width: 1220px) {
    .home-content-parent {
        max-width: 1200px;
        min-width: 1200px; /* Maximum width */
    }

    .home-content-child {
        flex: 0 0 30%; /* Each child takes up 30% of the parent's width */
    }
}



.add-new-icon {
    font-size: 1.4em;
    font-weight: bold;
}

.features-parent {
    width: 100%;
}

.features-div {
    display: flex !important;
    flex-wrap: wrap;
    width: 100%;
    max-width: 500px !important;
    flex-direction: column;
}

.features-edit {
    flex: 1 1 auto;
    height: 300px;
    flex-basis: 240px;
    justify-content: start;
}

.features-selected {
    flex: 1 1 auto;
    height: 300px;
    border: 1px solid var(--bs-border-color);
    margin: 4px 4px 0px 0px;
    flex-basis: 240px;
    justify-content: start;
    /* margin-top: 1pm;*/
    /*demo-part card mt-1 me-1 flex-grow-1 max-h-220*/
}

.features-selected-title {
    background-color: transparent;
    border-bottom: none;
    font-size: 0.9rem;
    font-weight: 600;
    padding-bottom: .25rem;
    padding-left: .5rem;
    /*bg-transparent text-body border-bottom-0;*/
}

.features-selected-items {
    padding: 0;
    padding-bottom: 0.5rem !important;
    overflow: auto !important;
    /*p-0 pb-2 overflow-auto*/
}

.features-listbox {
    height: 300px;
}

.home-features-listbox {
    height: 100px;
}

.new-title-wrapper {
    max-width: 1000px; /* Set the maximum width */
    margin: 0 auto;
}

@media (min-width:1220px) {
    .view-title-wrapper {
        width: 1200px; /* Set the maximum width */
        margin: 0 auto;
    }
}

@media (max-width:1219px) {
    .view-title-wrapper {
        width: 95%; /* Set the maximum width */
        margin: 0 auto;
    }
}

.settings-wrapper {
    margin: 0 auto;
}

@media (min-width:820px) {
    .settings-wrapper {
        width: 800px; /* Set the maximum width */
    }
}

@media (max-width:799px) {
    .settings-wrapper {
        width: 95%; /* Set the maximum width */
    }
}



.editSectionButton {
    display: flex;
    justify-content: flex-start;
}

    .editSectionButton > div {
        max-width: 200px;
        margin: 5px !important;
    }


.header-button {
    color: var(--bs-navbar-brand-color) !important;
}

    .header-button:hover {
        color: #9f9f9f !important;
    }

.filter-select-parent {
    display: flex;
    justify-content: flex-start;
}

filter-select-child {
    flex: 1;
    margin: 0 1%;
}

.filter-info-parent {
    display: flex;
    justify-content: space-between;
}



.filter-info-child {
    flex: 1;
    margin: 0 1%;
}

.filter-info-child-3 {
    flex: 0.5; /* Adjust this value to make Child 1 take up less space */
}

.filter-manage-buttons-parent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* Optional: to center vertically within the viewport */
}

.fitler-manage-buttons-child {
    width: 100px;
    height: 100px;
    margin: 10px;
    background-color: lightblue;
}

.filter-management {
    margin: 10px;
}

.filter-management-container {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--gridlayout-backcolor);
}

.filter-summary {
    margin: 10px;
}
.filter-management-content {
    flex: 1 1 50%;
    padding: 20px;
}

.filter-summary-container {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--gridlayout-backcolor);
}

.filter-summary-content {
    flex: 1 0 33%; 
    box-sizing: border-box;
    padding: 20px;
}


.dx-grid-bg {
    background-color: var(--gridlayout-backcolor);
}

.filter-select-combo {
    width: 250px;
}

.filter-load-selected-button {
    width: 160px;
}



.full-screen-popup-window {
    width: 98vw !important; /* 95% of viewport width */
    height: 95vh !important; /* 95% of viewport height */
    max-width: 98vw !important; /* 95% of viewport width */
    max-height: 95vh !important;
    background-color: var(--gridlayout-backcolor);
}

    .full-screen-popup-window .dxbl-modal-content {
        height: 100% !important;
    }

.full-screen-popup-window-auto-height {
    width: 98vw !important; /* 95% of viewport width */
    height: auto; /* 95% of viewport height */
    max-width: 98vw !important; /* 95% of viewport width */
    max-height: 95vh !important;
    background-color: var(--gridlayout-backcolor);
}

full-screen-popup-window-auto-height .dxbl-modal-content {
    height: 100% !important;
}

.seventy-screen-popup-window {
    width: 70vw !important; /* 70% of viewport width */
    height: 70vh !important; /* 70% of viewport height */
    max-width: 98vw !important; /* 95% of viewport width */
    max-height: 98vh !important;
    background-color: var(--gridlayout-backcolor);
}

.ninety-screen-popup-window {
    width: 90vw !important; /* 70% of viewport width */
    height: 90vh !important; /* 70% of viewport height */
    max-width: 98vw !important; /* 95% of viewport width */
    max-height: 98vh !important;
    background-color: var(--gridlayout-backcolor);
}

.dx-window-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px; /* Optional: Add padding for better spacing */
    width: 100%; /* Ensure the header takes full width */
}

.dx-window-header-text {
    flex-grow: 1; /* Ensure the text takes up available space */
}

.dx-window-header-button {
    /* Optional: Add styles for the button */
}




.icon-only-button {
    background: none;
    border: none;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .icon-only-button .dx-icon {
        font-size: inherit; /* Adjust the icon size as needed */
    }


.fullscreen-close {
    display: none;
}

@media (min-width: 100vw) and (min-height: 100vh) {
    .fullscreen-close {
        display: block;
        background-color: lightblue;
        padding: 20px;
        text-align: center;
    }
}


.dialog-box {
    white-space: pre-line;
}

.stay-within-window {
    max-height: 100vh; /* 100% of the viewport height */
    overflow: auto; /* Enable scrolling */
}

.grid-row-menu button {
    padding-left: 10px;
    padding-right: 10px;
}


.issue-flyout {
    background-color: var(--issue-flyout-back-colour) !important;
}

.issue-flyout-content {
    background-color: var(--issue-flyout-back-colour);
}




.scrollable-pane {
    overflow-y: auto;
    max-height: 100%;
}


.map-button {
    border-color: var(--calcite-color-border-1);
}

#calcitemap-div {
    padding: 0;
    margin: 0;
    min-height: 800px;
    min-width: 1200px;
    width: 100%;
    height: 100%;
}


#view-div {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}

#view-data-container {
    margin-top: 10px;
}

.esri-sketch__action--duplicate,
.esri-sketch__action--delete {
    display: none;
}





.feature-editing-items-window {
    position: fixed;
    bottom: 0;
    right: 0;
    margin: 10px; /* Optional: Adjust margin as needed */
}


.statusIconContainer {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.filter-item-layout-group > .dxbl-group-body-content {
    background-color: #c4b9b0;
}

.popup-body {
    background-color: var(--group-bg);
    height: 100% !important;
    padding: 12px;
}


.entries-group > .dxbl-group-header {
    display: none !important;
}




