@import url('open.iconic/font/css/open-iconic-bootstrap.min.css');

:root,
[data-bs-theme=light] {
    --home-content-backcolor: #90c4a7;
    --gridlayout-backcolor: #ffffff;
    --popup-window-backcolor: #e0d9d9;
    --issue-flyout-back-colour: #3a603a;
    --group-bg: #d5d0d0;
    --link-hover-bg: #90bba3;
    --badge-link-bg: #c6d9ce;
    --bs-warning: #d86604;
    --white: #f2f2f2;
    --link-hover-colour: #87812c;
}

[data-bs-theme=dark] {
    --home-content-backcolor: #33513f;
    --gridlayout-backcolor: #2d3238;
    --popup-window-backcolor: #3c424a;
    --issue-flyout-back-colour: #3a603a;
    --group-bg: #2c3137;
    --link-hover-bg: #273d30;
    --badge-link-bg: #57624a;
    --bs-warning: #eda261;
    --bs-primary: #4749e2;
    --white: #f2f2f2;
    --link-hover-colour: #c6be3f;
    /*#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;
}

.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;
}

a {
    color: var(--bs-body-color);
    text-decoration: none !important;
}

    a:hover {
        text-decoration: underline !important;
        /*background-color: var(--link-hover-bg);*/
        color: var(--link-hover-colour);
    }

.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 20px;
}

.nav-item {
    padding: 0 10px 0 10px;
}

@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: #264031;
}

.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%;
}


@media (min-width:1220px) {
    .view-log-wrapper {
        width: 1200px; /* Set the maximum width */
        margin: 0 auto;
    }
}

@media (max-width:1219px) {
    .view-log-wrapper {
        width: 95%; /* Set the maximum width */
        margin: 0 auto;
    }
}



.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-issue-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.home-dashboard-issue-title {
    text-align: center;
}



.home-dashboard-issue-panel-number {
    transition: transform 0.3s ease;
    text-align: center;
    font-size: 70px;
}

.home-dashboard-number {
    font-size: 100px;
}


.home-dashboard-issue-panel-buttons {
    display: flex;
    gap: 4px;
    opacity: 0;
    position: absolute;
    pointer-events: none; /* Avoid click when hidden */
    transition: opacity 0.3s ease;
}


.home-dashboard-goto-button {
    width: 30px;
    height: 30px;
}

.home-dashboard-issue-panel-content {
    display: flex;
    justify-content: center; /* Center the number initially */
    align-items: center;
    position: relative;
}


    .home-dashboard-issue-panel-content:hover .home-dashboard-issue-panel-number {
        opacity: 0;
    }

    .home-dashboard-issue-panel-content:hover .home-dashboard-issue-panel-buttons {
        opacity: 1;
        pointer-events: auto;
    }



.home-title-parent {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping to the next line */
    justify-content: center; /* Center horizontally */
    margin: 0 auto; /* Center the parent div within its container */
}
.home-title {
    padding-top: 20px;
    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, .home-content-child-smaller {
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    padding: 20px;
    background-color: var(--home-content-backcolor);
}




@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 */
    }

    .home-content-child-smaller {
        flex: 0 0 30%; /* Each child takes up 30% 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 */
    }

    .home-content-child-smaller {
        flex: 0 0 45%; /* Each child takes up 30% 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 */
    }

    .home-content-child-smaller {
        flex: 0 0 22%; /* 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;
    }

.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);
}



.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 */
    }

.dxbl-btn-standalone.dxbl-btn-outline-primary.icon-only-button {
    --dxbl-btn-icon-disabled-opacity: 0.5 !important;
    --dxbl-btn-disabled-color: #707179;
}

.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%;
}




#view-div {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}

#view-data-container {
    margin-top: 10px;
}


.popup-body {
    background-color: var(--group-bg);
    height: 100% !important;
    padding: 12px;
}


.icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .375rem;
    line-height: 1;
    border-radius: .375rem;
    color: inherit;
    text-decoration: none;
    transition: background-color .15s ease;
}

.icon-link-disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .375rem;
    line-height: 1;
    border-radius: .375rem;
    color: grey;
    text-decoration: none;
    transition: background-color .15s ease;
    pointer-events: none;
    color: grey;
    text-decoration: none;
    cursor: default;
}

.badge-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .375rem;
    line-height: 1;
    border-radius: .375rem;
    color: inherit;
    text-decoration: none;
    transition: background-color .15s ease;
    background-color: var(--badge-link-bg);
    width: 50px;
    font-weight: bold;
}




.page-header-formview {
    display: flex;
    align-items: center; /* vertical alignment */
    gap: 0.75rem; /* space between title and button */
}

.page-action-formview {
    margin-left: auto; /* push button to the right edge */
}

.page-title-formview {
    font-size: 1.25rem;
    font-weight: 600;
}

.newItemButton {
    color: var(--bs-navbar-brand-color);
}

.validation-message {
    color: red;
    font-weight: bold;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.layoutSubGroupHeader {
    background-color: #316347 !important;
    font-size: 0.8rem !important;
}

.force-colour-white {
    color: var(--white) !important;
}
    .force-colour-white:hover {
        color: #FFF34C !important;
    }