body {
}
body {
    font-family: "Ubuntu", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    color: #4e4e4e;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    position: relative;
    left: 0;
}

    body > .over-menu {
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -ms-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        position: fixed;
        height: 100%;
        content: "";
        width: 100%;
        left: 0;
        top: 0;
        visibility: hidden;
        opacity: 0;
        background: rgba(0, 0, 0, 0.6);
        z-index: 9;
    }

/* Change the input focus colour to our icon green */
.form-control:focus {
    border-color: mintcream;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(47, 184, 107, 0.6);
}

.hide-header-text .e-headertext {
    display: none !important;
}

/* Header sections */

.top-row {
    display: flex;
    align-items: center;
    min-height: 60px;
}

.pageTitleSoft {
    color: black !important;
}

.pageTitleHard {
    color: #1b5e37 !important;
}

.menuLeft {
    display: flex;
    align-items: center;
}

.menuCenter {
    width: 33%;
    float: left;
    text-align:center;
    padding-top:10px;
}


    .menuRight {
        display: flex;
        align-items: center;
        margin-left: auto;
    }



    /* Buttons */
.btn-primary {
    color: #fff;
    background-color: #1b5e37;
    border-color: #0d6efd
}

    .btn-primary:hover {
        color: #fff;
        background-color: #5E1B42;
        border-color: #0a58ca
    }

    /* Override Syncfusion styles */
.e-btn, .e-css.e-btn {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-color: #1b5e37;
    border-color: #8a8886;
    box-shadow: none;
    color: #fff;
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: none;
}

    .e-btn:Hover, .e-css.e-btn:Hover {
        background-color: #5E1B42;
        border-color: #8a8886;
        box-shadow: none;
        color: #fff;
    }

    /**** Header ****/
    .app-logo {
        /*height: 30px;*/
        margin-right: 10px;
        vertical-align: middle;
    }

.anonymous-header {
    padding: 1rem;
    background: #f5fffa;
    border-bottom: 1px solid #dee2e6;
}

.app-title {
    font-size: 1.5rem;
    font-weight: bold;
    vertical-align: middle;
}

.stats-highlight {
    color: #28a745;
}

    header .logo {
        display: flex;
        align-items: center;
        padding: 5px;
        margin: 0px;
    }

        header .logo .logo-image {
            width: 50px;
            display: flex;
            align-items: center;
        }

            header .logo .logo-image img {
                width: 100%;
                height: auto;
            }

        header .logo .logo-text {
            margin-left: 15px;
            display: flex;
            align-items: center;
        }

            header .logo .logo-text h1 {
                margin: 0;
                padding: 0;
                line-height: 1;
            }

    header .logo-meta {
        line-height: 0px;
        font-size: 14px;
        width: 400px;
        margin-left: 25px;
    }

    @media screen and (max-width: 550px) {

        header .logo .logo-text h1 {
            font-size: 25px;
        }
    }
    .app-title-text {
        padding-top: 13px;
        margin: 0px;
        line-height: 30px;
        font-size: 35px;
        font-family: "Ubuntu", sans-serif;
        font-weight: 100;
    }

    header .logo h1 a {
        color: #666;
    }

    /**** Chold Page Headers ****/
    .page-heading {
        background: url("../images/GreenCloudy.png") !important;
        padding: 25px 0px;
        color: #fff;
        text-align: center;
    }

        .page-heading h2 {
            font-size: 35px;
            line-height: 35px;
            font-weight: 600;
        }

    /**** Footer ****/
    footer {
        background: #fafafa;
        color: #555;
        font-size: 13px;
        width: 100%;
        background-color: mintcream;
        z-index: 1;
    }

    .footerContainer {
        width: 100% !important;
        padding-right: var(--bs-gutter-x,.75rem);
        padding-left: var(--bs-gutter-x,.75rem);
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    footer .copy {
        /*border-top: 1px solid #ddd;*/
        padding: 10px 0px;
        margin-top: 10px;
    }

    /**** JumboTron ****/
    .container .jumbotron {
        border-radius: 6px;
    }

    .jumbotron {
        padding: 30px;
        margin-bottom: 30px;
        font-size: 21px;
        font-weight: 200;
        line-height: 2.1428571435;
        color: inherit;
        background-color: #eee;
    }

    .appInfo {
        padding: 30px;
        margin-bottom: 30px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1500px;
    }

    @media screen and (min-width: 768px) {
        .container .jumbotron {
            padding-right: 60px;
            padding-left: 60px;
        }

        .appInfo {
            padding-right: 60px;
            padding-left: 60px;
        }
    }

    /**** Links ****/

    .jumbotron .nav-link {
        padding: 0px;
    }

    .jumbotron a:hover {
        color: #1d3d6e;
    }

    /**** Buttons ****/

    .btn {
        font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
        border: none;
        border-radius: 300px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .btn-xl {
        padding: 15px 30px;
    }

    .btn-OnWhite-default {
        appearance: none;
        background-color: transparent;
        border: 2px solid #000000;
        border-radius: 300px;
        box-sizing: border-box;
        color: #000000;
        cursor: pointer;
        display: inline-block;
        /*display: flex;*/
        font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
        /*    font-size: 14px;*/
        font-weight: 600;
        /*    height: 40px;*/
        line-height: normal;
        margin-top: 0;
        /*    margin-left: 10px;*/
        margin-right: 0;
        /*    margin-bottom: 10px;*/
        min-height: 10px;
        /*    min-width: 0;*/
        outline: none;
        padding: 10px 10px;
        text-align: center;
        text-decoration: none;
        transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
        min-width: 5em;
        will-change: transform;
        align-items: center;
        justify-content: center;
    }

        .btn-OnWhite-default:disabled {
            pointer-events: none;
        }

        .btn-OnWhite-default:hover {
            color: #000000;
            box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
            transform: translateY(-2px);
        }

        .btn-OnWhite-default:active {
            box-shadow: none;
            transform: translateY(0);
        }

    /* Beta Screen Table formatting*/
    tr:nth-child(odd) {
        background-color: #D6EEEE;
    }

    .row-text-align-top {
        vertical-align: top;
        width: 100%
    }

    .beta-signup-cell-20 {
        width: 20%;
        padding-bottom: 30px;
    }

    .beta-signup-cell-30 {
        width: 30%;
        padding-bottom: 30px;
    }

    .beta-signup-container {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1em;
        margin-bottom: 100px;
        max-width: 800px;
    }

    .pb-4 {
        padding-bottom: 0px !important;
        padding-top: 0px !important;
    }

    /* General Screen Layout*/

    .mainContainer {
        margin-left: auto;
        margin-right: auto;
        max-width: 1920px;
        padding-right: 15px;
        padding-left: 15px;
    }

    /* FieldSet Formatting */
    .fieldset-top {
        margin-top: 5px;
        border: 1px solid #999;
        border-radius: 8px;
        box-shadow: 0 0 8px #999;
        padding: 10px;
        margin-bottom: 5px;
    }

    .fieldset-x {
        border: 1px solid #999;
        border-radius: 8px;
        box-shadow: 0 0 8px #999;
        padding: 10px;
        margin-bottom: 5px
    }

    .addressDiv {
        margin-bottom: 10px;
    }

    /****** Custom Alert Styling - only for alerts with .custom-alert class ******/
    .alert.custom-alert {
        display: flex;
        align-items: center;
        padding: 0.55rem 0.65rem 0.55rem 0.75rem;
        border-radius: 1rem;
        min-width: 400px;
        justify-content: space-between;
        margin-bottom: 1rem;
        margin-bottom: 2rem;
        box-shadow: 0px 3.2px 13.8px rgba(0, 0, 0, 0.02), 0px 7.6px 33.3px rgba(0, 0, 0, 0.028), 0px 14.4px 62.6px rgba(0, 0, 0, 0.035), 0px 25.7px 111.7px rgba(0, 0, 0, 0.042), 0px 48px 208.9px rgba(0, 0, 0, 0.05), 0px 115px 500px rgba(0, 0, 0, 0.07)
    }

    .alert.custom-alert .content {
        display: flex;
        align-items: center;
    }

        .alert.custom-alert .content p {
            margin-top: auto;
            margin-bottom: auto;
        }

    .alert.custom-alert .icon {
        padding: 0.5rem;
        margin-right: 1rem;
        border-radius: 39% 61% 42% 58% / 50% 51% 49% 50%;
        box-shadow: 0px 3.2px 13.8px rgba(0, 0, 0, 0.02), 0px 7.6px 33.3px rgba(0, 0, 0, 0.028), 0px 14.4px 62.6px rgba(0, 0, 0, 0.035), 0px 25.7px 111.7px rgba(0, 0, 0, 0.042), 0px 48px 208.9px rgba(0, 0, 0, 0.05), 0px 115px 500px rgba(0, 0, 0, 0.07)
    }

    .alert.custom-alert .close {
        background-color: transparent;
        border: none;
        outline: none;
        transition: all 0.2s ease-in-out;
        padding: 0.75rem;
        border-radius: 0.5rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .alert.custom-alert .close:hover {
            background-color: #fff;
        }

    .alert.custom-alert.success {
        background-color: rgba(62, 189, 97,0.2);
        border: 2px solid #3ebd61;
    }

        .alert.custom-alert.success .icon {
            background-color: #3ebd61;
        }

    .alert.custom-alert.info {
        background-color: rgba(0, 108, 227,0.2);
        border: 2px solid #006CE3;
    }

        .alert.custom-alert.info .icon {
            background-color: #006CE3;
        }

    .alert.custom-alert.warning {
        background-color: rgba(239, 148, 0, 0.2);
        border: 2px solid #EF9400;
    }

        .alert.custom-alert.warning .icon {
            background-color: #EF9400;
        }

    .alert.custom-alert.danger {
        background-color: rgba(236, 77, 43, 0.2);
        border: 2px solid #EF9400;
    }

        .alert.custom-alert.danger .icon {
            background-color: #EC4D2B;
        }

    /* START Footer Layout */

    .footerLeft {
        float: left;
        width: 50%;
        color: #FFDE89;
    }

    .footerRight {
        float: right;
        width: 50%;
        text-align: right;
    }

        .footerRight a {
            text-decoration: none;
            margin-left: 1.5rem;
        }

    .footerLeftThird {
        float: left;
        width: 33%;
        color: white;
        text-align: left;
    }

    .footerCenter {
        margin: 0 auto;
        width: 33%;
        text-align: center;
    }

        .footerCenter a {
            text-decoration: none;
        }

    .footerRightThird {
        float: right;
        width: 33%;
        text-align: right;
    }

        .footerRightThird a {
            text-decoration: none;
            margin-left: 1.5rem;
        }

    .footer-main {
        background-color: #344854;
        border-top: 1px solid #d6d5d5;
        position: fixed;
        bottom: 0;
        max-width: 1080px;
        width: 100%;
        height: 2.5rem;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: white;
        font-size: 0.7em;
    }

        .footer-main a, .top-row .btn-link {
            white-space: nowrap;
            margin-left: 1.5rem;
        }

            .footer-main a:first-child {
                overflow: hidden;
                text-overflow: ellipsis;
                text-decoration: none;
            }

    /* END Footer Layout*/
    /* START Modal Formatting */
    .bsm-modal-header {
        background-color: #344854;
    }

    .bsm-modal-title {
        color: #ffde89;
    }

    .bsm-modal-close {
        color: #ffde89;
    }

    .bsm-modal-textarea {
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
    }

    .bsm-container {
        width: 50%;
        margin: auto;
    }

    .bsm-header {
        text-align: center;
    }

    .bsm-title {
        color: #344854;
    }

    .bsm-btn-cancel {
        background-color: transparent;
        color: #000000;
    }

    .bsm-btn-add {
        background-color: #4EC197;
        color: #fff;
    }

    .bsm-btn-delete {
        background-color: #f20c0c;
        color: #fff;
    }

    /* Section Headers */
    .dashboardGridHeading {
        padding-top: 20px;
        font-weight: 500;
        color: #1b5e37;
    }

.validation-summary-errors ul li {
    margin-left: 0; /* Tighten space between bullet and text */
    padding-left: 0px; /* Minimal space between bullet and text */
}

.validation-summary-errors ul {
    list-style-type: disc; /* Or your preferred style */
    padding-left: 15px; /* Reduce overall left indentation */
}

/*Web Awesome Overrides*/
.required-field::before {
    content: "*";
    color: red;
}

/* Override Web Awesome Formatting */
.bsm-wa-label-on-left {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--wa-space-l);
    align-items: center;

    wa-input,
    wa-textarea,
    wa-slider,
    wa-select,
    wa-checkbox{
        grid-column: 1 / -1;
        grid-row-end: span 2;
        display: grid;
        grid-template-columns: subgrid;
        gap: 0 var(--wa-space-l);
        align-items: center;
    }
        /* Handle wa-select's different structure */
        wa-select::part(form-control) {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: subgrid;
            gap: 0 var(--wa-space-l);
            align-items: center;
        }

    :not(wa-option)::part(label),
    ::part(form-control-label) {
        text-align: right;
    }

    ::part(hint) {
        grid-column: 2;
    }
    /* Ensure select's input wrapper spans the correct column */
    wa-select::part(form-control-input) {
        grid-column: 2;
    }
}
