﻿/* ================================================================
 * Author: Nathan Mitchell
 * Contact: natemitchell13@gm...
 * Project: MDH Online Regulatory and Application System (OARS)
 * Client: Maryland Department of Health
 * Boards: Massage Therapy & Chiropractic Examiners
 * Contract: 2024–2025
 *
 * Notes:
 * - This stylesheet supports the MDH Online Regulatory and Application System.
 * - The system is accessed through the MDH portal.
 * - All values, colors, and layouts follow Maryland branding guidelines.
 * - Updates should be documented in the release notes.
 * ================================================================ */




/* ===============================================================
   START GLOBAL
   =============================================================== */
:root {
    --color-body: #F9F6F4; /* Creamy white background */
    --color-bg: #000; /* Header and Footers */
    --bs-primary: #E21833; /* Bright MD Red (retained for buttons, labels, etc.) */
    --color-accent: #C8122C; /* Real MD Red  */
    --color-highlight: #EAAA00; /* MD Gold / menu hightlight  */

    --color-icons: #1B1F23; /* Icons  */
    --color-card-header: #E6E7E8; /* Card Headers */
    --color-surface-muted: #708090; /* CLOSED - DARKER slate grey for collapsed or inactive    */
    --color-surface-active: #BFCDE2; /* OPEN -   LIGHTER blue/grey for selected, expanded, or active surface  */
    --color-surface-base: #F4F7FF; /* BG -     Light neutral background */
}

body {
    background-color: var(--color-body);
    font-family: "Montserrat", sans-serif;
}






/* ✅ Start - Global Card Header Override 🎨 */
.card-header {
    background-color: var(--color-card-header) !important;
    color: #000 !important;
    padding-top: 12px;
    padding-bottom: 12px;
}
/* ✅ End - Global Card Header Override 🎨 */




/*label {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 14px;
}*/

    /* ===============================================================
   Start - Desktop Login Menu Button 👤
   =============================================================== */
.menu-login
{
    margin-left: auto; /* Push login to the right on desktop */
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    padding: 10px 22px;
    height: auto;
}

.menu-login i {
    margin-right: 8px;
}

.menu-login:hover {
    background-color: var(--color-highlight) !important;
    color: var(--color-highlight) !important;
}

/* Mobile Switch */
@media (max-width: 768px) {
    .menu-login {
        margin-left: 0;
        border-radius: 0;
        width: 100%;
        justify-content: flex-start;
       background-color: transparent !important; /* remove pill background */
    }

    
        .menu-login i {
            color: #ffffff !important; /* force white icon */
        }

}

/* ===============================================================
   End - Desktop Login Menu Button 👤
   =============================================================== */




.btn:focus {
    text-decoration: none !important;
}
/* End - Remove underline from LinkButton hover 🔗 */


/* PRIMARY COLOR OVERRIDE------------------------------------------------------------------ */
.btn-primary {
    background-color: var(--bs-primary) !important; /* MD Red */
    border-color: var(--bs-primary) !important;
    color: white !important;
}

    .btn-primary i {
        color: white !important;
    }

    .btn-primary:hover,
    .btn-primary:focus,
    .btn-primary:active {
        background-color: var(--color-accent) !important; /* Darker MD red */
        border-color: var(--color-accent) !important;
        color: white !important;
    }

        .btn-primary:hover i,
        .btn-primary:focus i,
        .btn-primary:active i {
            color: white !important;
        }

/* Optional: Text utility */
.text-primary {
    color: var(--bs-primary) !important;
}


/* Start - Common Tag Badge Hover Override 🏷️ */
a.badge,
a.badge:visited {
    color: #ffffff !important; /* default badge text */
    text-decoration: none !important;
}

    a.badge:hover,
    a.badge:focus {
        background-color: var(--color-highlight) !important; /* MD Gold */
       
        text-decoration: none !important;
    }
/* End - Common Tag Badge Hover Override 🏷️ */






/* Start - Pagination Primary Override 📄 */
.page-link {
    color: var(--bs-primary);
    border-color: #dee2e6;
    padding: 0 10px;
    min-height: 38px; /* Matches Bootstrap btn height */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px; /* Horizontal only */
    line-height: 1.25;
}

    .page-link:hover,
    .page-link:focus {
        color: #000000;
        background-color: var(--color-highlight); /* MD Gold */
        border-color: var(--color-highlight);
    }

.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.page-item.disabled .page-link {
    color: #adb5bd;
    background-color: #ffffff;
    border-color: #dee2e6;
}
/* End - Pagination Primary Override 📄 */





/* Start - ListView Header Styling for Div-based Layout 🧾 */
.n8-table-header {
    background-color: var(--color-card-header) !important;
    border: none !important; /* removes default list-group border */
}

    .n8-table-header > div {
        font-size: 14px;
        padding-top: 6px;
        padding-bottom: 6px;
    }
/* End - ListView Header Styling for Div-based Layout 🧾 */


/* Apply red to Bootstrap nav links using .text-primary or .nav-link */
.nav-link,
.nav-link:visited {
    color: var(--bs-primary) !important;
}

    .nav-link:hover,
    .nav-link:focus {
        color: #c8122c !important;
    }

a{
    color: var(--bs-primary);
/*    text-decoration: none;*/
}

    a:hover,
    a:focus {
        color: #c8122c;
        text-decoration: underline;
    }

/* Optional - Apply red color to specific links manually */
.link-mdred {
    color: var(--bs-primary) !important;
    text-decoration: none;
}

    .link-mdred:hover {
        text-decoration: underline;
        color: #c8122c !important;
    }

/* Start - Default Icon Color Override 🎨 */
i.fa-solid,
i.fa-regular,
i.fa-light,
i.fa-thin,
i.fa-duotone,
i.fas,
i.far,
i.bi {
    color: var(--color-icons);
}
/* End - Default Icon Color Override 🎨 */



.Val i {
    color: var(--bs-primary) !important;
    filter: drop-shadow(0 0 1px rgba(0,0,0,0.2));
    --fa-animation-duration: 1.2s;
}

/* Fix - Default red with white text/icon */
.btn-primary {
    color: white !important;
    background-color: var(--bs-primary) !important; /* MD Red */
    border-color: var(--bs-primary) !important;
}

    .btn-primary i.tight-icon {
        color: white !important;
    }

    /* Hover = MD Gold + MD Red text + Black icon */
    .btn-primary:hover,
    .btn-primary:focus,
    .btn-primary:active {
        background-color: #bb2d3b !important;
        color: white !important;
    }

        .btn-primary:hover i.tight-icon,
        .btn-primary:focus i.tight-icon,
        .btn-primary:active i.tight-icon {
            color: white !important; /* Keep icon black */
        }



/* Fix - Force white icon/text in dark button */
.btn-dark {
    color: white !important;
}

    .btn-dark i.tight-icon {
        color: white !important;
    }





/* Override - btn-secondary: Slate-Linked to Header/Footer 🎨 */
.btn-secondary {
    background-color: #000 !important; /* Matches new header/footer */
    border-color: #000 !important;
    color: white !important;
}

.text-secondary {
    color: white;
}

.btn-secondary i.tight-icon {
    color: white !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: #242424 !important;
    border-color: #000 !important;
}

    .btn-secondary:hover i.tight-icon,
    .btn-secondary:focus i.tight-icon,
    .btn-secondary:active i.tight-icon {
        color: white !important;
    }


/* Start - Upload Button White Text ⬆️ */
.btn-success.btn-tight,
.btn-success.btn-tight i {
    color: #ffffff !important;
}

    .btn-success.btn-tight:hover,
    .btn-success.btn-tight:hover i,
    .btn-success.btn-tight:focus,
    .btn-success.btn-tight:focus i {
        color: #ffffff !important;
    }

/* Start - Force white icons inside success buttons ⬆️ */
.btn-success i.fa-solid,
.btn-success i.fa-regular,
.btn-success i.fa-light,
.btn-success i.fa-thin,
.btn-success i.fa-duotone,
.btn-success i.fas,
.btn-success i.far {
    color: #ffffff !important;
}

.btn-success:hover i,
.btn-success:focus i,
.btn-success:active i {
    color: #ffffff !important;
}

/* Start - Outline Secondary Button Icon Hover Fix 🖱️ */
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    color: #ffffff !important;
}

    .btn-outline-secondary:hover i,
    .btn-outline-secondary:focus i,
    .btn-outline-secondary:active i {
        color: #ffffff !important;
    }
/* End - Outline Secondary Button Icon Hover Fix 🖱️ */



/* END COLOR OVERRIDE */



input[type="radio"] {
    margin-right: 7px;
}













/* ===============================================================
   Start - Header Logo + Titles 🏛️
   =============================================================== */

.site-header {
    padding-top: 12px;
    padding-bottom: 12px;
    /*    border-bottom: 1px solid rgba(255,255,255,0.15);*/
    background-color: var(--color-bg);
    color: white;
}

    .site-header h1,
    .site-header h2 {
        text-wrap: normal;
    }

/* Header flex container */
.header-flex {
    display: flex;
    align-items: center;
}

/* Logo wrapper */
.header-logo {
    display: flex;
    align-items: center;
}

/* Maryland logo */
.logo-mdh {
    height: 30px; /* force height for SVG */
    width: auto;
    display: block;

}

/* Text block */
.header-text {
    margin-left: 25px;
    padding-left: 25px;
    border-left: solid 2px #B1B1B1;   
    text-align: left;
    flex: 1;
}

    /* H1 – Product */
    .header-text h1 {
        font-size: 22px;
        font-weight: 600;
        margin: 0;
        line-height: 1.15;
    }

    /* H2 – Board context */
    .header-text h2 {
        font-size: 16px;
        font-weight: 500;
        margin: 2px 0 0 0;
        line-height: 1.2;
    }

/* =========================
   Mobile Header Behavior 📱
   ========================= */
@media (max-width: 768px) {

    .header-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .header-logo {
        margin-bottom: 8px;
    }

    /* Maryland logo */
    .logo-mdh {
        height: 40px; /* force height for SVG */
        width: auto;
        display: block;
    }

    .header-text {
        margin-left: 0;
        width: 100%;
        align-items: center;  
        margin-left: 0px;
        padding-left: 0px;
        border-left: 0px none;
    }

        .header-text h1 {
            font-size: 16px;
            font-weight: 600;
            text-align: center;
        }

        .header-text h2 {
            font-size: 14px;
            font-weight: 400;
            text-align: center;
        }
}

/* ===============================================================
   End - Header Logo + Titles 🏛️
   =============================================================== */




























    
    .main-menu-bar {
    background-color: var(--color-accent); /* MD Red */
    font-family: "Montserrat", sans-serif;
}

    .main-menu-bar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 20px;
    }

.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    color: white;
    padding: 14px 0;
}

.menu-links {
    display: flex;
    gap: 0px;
}

.menu-link {
    color: white !important;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 500;
    padding: 14px 30px;
    transition: background-color 0.25s ease;
    display: flex;
    align-items: center;
    height: 50px;
}

    .menu-link:hover {
        background-color: var(--color-highlight);
        color: black !important;
        text-decoration: none !important;
    }

    .menu-link.active {
        background-color: #990e21;
        color: white !important;
        text-decoration: none !important;
    }


/* ✅ Mobile Styles 📱 */
@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }

    .menu-links {
        display: none;
        flex-direction: column;
        width: 100%;
    }

        .menu-links.show {
            display: flex;
        }

    .menu-link {
        width: 100%;
        padding: 14px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
}

@media (min-width: 769px) {
    .menu-links {
        margin-left: -8px;
    }
}
/* ✅ End - Main Menu Bar Styling 🚩 */


/* ===============================================================
   Start - Desktop Login Menu Button 👤
   =============================================================== */

/* Desktop behavior */
@media (min-width: 769px) {

    .menu-links {
        width: 100%; /* Allow margin-left:auto to work */
    }

    .menu-login {
        margin-left: auto; /* Push login to the right */
        background-color: rgba(255, 255, 255, 0.15);
        border-radius: 999px;
        padding: 10px 22px;
        height: auto;
    }

        .menu-login i {
            color: #ffffff !important;
            margin-right: 8px;
        }

        .menu-login:hover {
            background-color: rgba(255, 255, 255, 0.25);
        }
}

/* Mobile reset */
@media (max-width: 768px) {

    .menu-login {
        margin-left: 0;
        border-radius: 0;
        width: 100%;
        justify-content: flex-start;
    }
}

/* ===============================================================
   End - Desktop Login Menu Button 👤
   =============================================================== */






/* ✅ Start - Accordion Button and Border Styling 🎛️ */

.accordion-item {
    border: 1px solid var(--color-surface-active);
    border-radius: 0.5rem !important;
    overflow: hidden;
    background-color: white;
    position: relative;
}

    /* Alternate version to look like a bootstrap card*/
    .accordion-item.alt {
        background-color: var(--color-surface-base);
    }



/* Core button sizing + alignment */
.custom-accordion-button {
    color: #000 !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    /* ↓ tighter, card-header like */
    min-height: 45px;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.5rem;
    line-height: 1;
    display: flex;
    align-items: center; /* vertically centers icon + text */
}

    /* Make icons match smaller header feel */
    .custom-accordion-button i {
        font-size: 1.0rem;
        margin-top: -1px; /* tiny optical nudge upward */
    }

    /* Header text */
    .custom-accordion-button h5 {
        margin: 0;
        font-size: 1.1rem;
        line-height: 1.2;
    }

    /* ================================
   Collapsed state (default)
   ================================ */
    .custom-accordion-button.collapsed {
        background-color: var(--color-surface-muted) !important;
        color: #ffffff !important;
    }

        .custom-accordion-button.collapsed i,
        .custom-accordion-button.collapsed h5 {
            color: #ffffff !important;
        }

        .custom-accordion-button.collapsed::after {
            transform: scale(0.85); /* smaller chevron */
            filter: brightness(0) invert(1) !important;
        }

        /* Hover while collapsed */
        .custom-accordion-button.collapsed:hover {
            background-color: var(--color-surface-active) !important;
            color: #000 !important;
        }

            .custom-accordion-button.collapsed:hover i,
            .custom-accordion-button.collapsed:hover h5 {
                color: #000 !important;
            }

            .custom-accordion-button.collapsed:hover::after {
                filter: none !important;
            }

    /* ================================
   Expanded (show) state
   ================================ */
    .custom-accordion-button:not(.collapsed) {
        background-color: var(--color-surface-active) !important;
        color: #000 !important;
    }

        .custom-accordion-button:not(.collapsed) i,
        .custom-accordion-button:not(.collapsed) h5 {
            color: #000 !important;
        }

        .custom-accordion-button:not(.collapsed):hover {
            background-color: var(--color-surface-active) !important;
            color: #000 !important;
        }

/* ✅ End - Accordion Button and Border Styling 🎛️ */



/* Start - Checkbox List Styling ☑️ */
.N8-checkbox-list {
    margin-bottom: 15px;
    font-size: 14px;
}

    .N8-checkbox-list td {
        padding-right: 10px; /* spacing between columns */
    }

    .N8-checkbox-list input[type="checkbox"] {
        margin-right: 10px; /* spacing between checkbox and label */
    }
/* End - Checkbox List Styling ☑️ */


/*===================================================================================
*/ /* end      CONTROL STYLING   =================================================== */







/* Optional: Footer spacing consistency */
.footer a {
    display: inline-block;
    margin-bottom: 4px;
    background-color: var(--color-bg); /* ✅ Correct */
}


footer.footer {
    margin-top: auto;
}

/* End - Header Layout and Styling */



.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.b-example-divider {
    width: 100%;
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
    flex-shrink: 0;
    width: 1.5rem;
    height: 100vh;
}

.bi {
    vertical-align: -.125em;
    fill: currentColor;
}

.nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
}

    .nav-scroller .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

.bd-mode-toggle {
    z-index: 1500;
}

    .bd-mode-toggle .dropdown-menu .active .bi {
        display: block !important;
    }

.jumbotron {
    background-color: #E64545;
}

.hidden {
    display: none;
}



.profileInfo, b {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-style: normal;
}

/*h3, h4, h5, .card-header, thead {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-style: normal;
}

*/



/* ✅ Start - Accordion Button and Border Styling 🎛️ */

.accordion-item {
    border: 1px solid #BFCDE2;
    border-radius: 0.5rem !important;
    overflow: hidden;
    margin-bottom: 0px;
    background-color: #F4F7FF;
    position: relative;
}

.custom-accordion-button {
    color: #000 !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    /* ================================
   Collapsed state (default)
   ================================ */
    .custom-accordion-button.collapsed {
        background-color: slategrey !important;
        color: white !important;
    }

        /* Font Awesome icon inside */
        .custom-accordion-button.collapsed i {
            color: white !important;
        }

        /* Bootstrap chevron (arrow) */
        .custom-accordion-button.collapsed::after {
            filter: brightness(0) invert(1) !important;
        }

        /* Optional: make <h5> text white too */
        .custom-accordion-button.collapsed h5 {
            color: white !important;
        }

        /* Hover while collapsed */
        .custom-accordion-button.collapsed:hover {
            background-color: #BFCDE2 !important;
            color: #000 !important;
        }

            .custom-accordion-button.collapsed:hover i,
            .custom-accordion-button.collapsed:hover h5 {
                color: #000 !important;
            }

            .custom-accordion-button.collapsed:hover::after {
                filter: none !important;
            }

    /* ================================
   Expanded (show) state
   ================================ */
    .custom-accordion-button:not(.collapsed) {
        background-color: #BFCDE2 !important;
        color: #000 !important;
    }

        /* Ensure icons/text stay readable when expanded */
        .custom-accordion-button:not(.collapsed) i,
        .custom-accordion-button:not(.collapsed) h5 {
            color: #000 !important;
        }

        /* Hover while expanded (same color, no flicker) */
        .custom-accordion-button:not(.collapsed):hover {
            background-color: #BFCDE2 !important;
            color: #000 !important;
        }

/* ✅ End - Accordion Button and Border Styling 🎛️ */








/*Bootstrap Overrides----------------------

MD Red = rgb(200, 18, 44) #c8122c
MD Gold = rgb(253, 194, 46) #fdc22e

*/

.titleReg, .btn, .footer, .radio-item {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.btn {
    padding-left: 30px;
    padding-right: 30px;
}

.btn-danger {
    --bs-btn-bg: #c8122c;
    --bs-btn-hover-bg: #F42B49;
}


.btn-primary:disabled,
.btn-primary.disabled {
    background-color: #E2E2E2;
    border-color: lightgrey;
    color: #B1B1B1;
     /* Optional: Adjust text color for contrast */
    cursor: not-allowed; /* Optional: Change cursor to indicate disabled state */
    opacity: 0.65; /* Optional: Add opacity for a more disabled look */
}

    /* Ensure to apply hover, focus, and active states to disabled buttons */
    .btn-primary:disabled:hover,
    .btn-primary:disabled:focus,
    .btn-primary:disabled:active,
    .btn-primary.disabled:hover,
    .btn-primary.disabled:focus,
    .btn-primary.disabled:active {
        background-color: #E2E2E2;
        border-color: lightgrey;
        color: #B1B1B1;
        cursor: not-allowed;
        opacity: 0.65;
    }



/*For textboxes to edit but not show the borders to keep it clean looking*/
.no-border {
    border: none;
    padding: 0;
    padding-left:0px;

}
.no-border:hover {
        background-color: lightyellow;
    }



/*Spaces out radio button lists*/
.radio-inline {
    margin-right: 20px;
}


/*Table Hover Color*/

table-hover {border:none}

table.table-hover > tbody > tr:hover td,
table.table-hover > tbody > tr:hover th {
    background-color: lightyellow !important;
    box-shadow: 0px 0px 0px 0px;
}
.alt-backcolor {
    background-color: #F2F2F2 !important;
}

table tr td {
    margin-left: 20px;
}

.chatBox1 {
    background-color: #F8F8FF;
    padding: 10px;
    border-radius: 25px 25px 25px 0px;
}

.Val {
    font-size: 30px;
    line-height: 0px;
    font-weight: bold;
    color: Red;
}

.ValSummary {
    margin-top: 20px;
    top: 0px;
    left: 0px;
}


.sticky-bottom-div {
    position: sticky;
    bottom: 0px;
    background-color: var(--color-body);
    z-index: 10;
    margin-top: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 1px; /* Compensate for overshoot */
    text-align: center;
    border-top: 1px solid #dee2e6;
    border-left: 1px solid var(--color-body);
    border-right: 1px solid var(--color-body);
    margin-right: -1px; /* Force visual bleed over right edge */
    width: calc(100% + 2px);
    margin-right: -1px;
    margin-left: -1px;
}




.icon-circle {
    display: inline-flex; /* Centers the icon inside the circle */
    justify-content: center; /* Horizontally centers the icon */
    align-items: center; /* Vertically centers the icon */
    background-color: green; /* Green background for the circle */
    border-radius: 50%; /* Makes the container a circle */
    width: 25px; /* Circle width */
    height: 25px; /* Circle height */
    color: white; /* White color for the Font Awesome icon */
    font-size: 18px; /* Adjust size of the icon */
}

.tool-tip::before {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "FontAwesome"; /* include fallbacks */
    font-weight: 900;
    content: "\f05a"; /* alt: info-circle */
    font-style: normal;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-size: 13px;
    color: #d9d9d9;
}
.no-link {
    text-decoration: none;
    color: inherit;
    cursor: default;
}


/* MESSAGE BOX STYLES HERE */

#messageDivSticky {
    width: 100%;
    padding: 1rem;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
}

    #messageDivSticky.fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1050;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

.message-container {
    display: flex;
    align-items: center; /* Center vertically */
    justify-content: space-between;
    gap: 0.75rem;
    position: relative;
}

.message-icon {
    flex-shrink: 0;
    font-size: 1.2rem;
}

.message-text {
    flex: 1;
    text-align: left;
}

.close-btn {
    background: none;
    border: none;
    font-size: 1.25rem;
    font-weight: bold;
    cursor: pointer;
    line-height: 1;
}
/* Styles for the footer' */
.portal-hover {
    position: relative;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    cursor: default;
}

.portal-version {
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
}

.portal-subtext {
    display: inline-block;
    margin-left: 8px;
    opacity: 0;
    font-size: 10px;
    text-transform: uppercase;
    transition: opacity 0.4s ease;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #bcbcbc;

}

.portal-hover:hover ~ .portal-subtext {
    opacity: 1;
}


/* Start - Overdue icon style */
.overdue-icon i {
    transform: scale(1.5);
    color: #ffc107; /* Bootstrap warning color */
    border-radius: 50%;
    padding: 2px;
    transition: text-shadow 0.3s ease, transform 0.3s ease, color 0.3s ease;
}

.overdue-icon:hover i {
    transform: scale(1.65);
}

/* Fix icon color clash only for Admin Review stat box */
.dashboard-card.status-adminreview:hover .overdue-icon i {
    color: #dc3545; /* dark grey for visibility on yellow background */
}
/* End - Overdue icon style */




/* tool tips */
.tooltip-inner {
    max-width: 300px !important; /* Wider tooltip */
    white-space: normal !important; /* Allow wrapping */
    text-align: left; /* Better readability */
    font-size: 13px !important; /* ↓ Slightly smaller (Bootstrap default is ~14px) */
    padding: 10px 14px !important; /* ↑ Add more space around text */
}


.tool-tip {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 14px;
    cursor: pointer;
}

    .tool-tip::before {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f059"; /* Info icon */
        color: #d9d9d9;
        font-size: 12px;
    }

    /* Tooltip bubble */
    .tool-tip::after {
        content: attr(data-tooltip-key); /* You can override this via JS later */
        position: absolute;
        bottom: 125%; /* Show above the icon */
        left: 50%;
        transform: translateX(-50%);
        background-color: #333;
        color: #fff;
        padding: 5px 8px;
        border-radius: 4px;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: 0.2s;
        font-size: 12px;
        z-index: 999;
    }

   
    .tool-tip:hover::after {
        opacity: 1;
        visibility: visible;
    }

    /* Start - Suppress Default Tooltip Icon 🚫 */
    .tool-tip.no-default-icon::before {
        content: none !important;
    }

/* Start - Override Verify Link Color 🔗 */
.n8-link-black {
    color: black !important;
    text-decoration: underline;
}
/* End - Override Verify Link Color 🔗 */





.no-link, .no-line {
    text-decoration: none;
    color: var(--bs-body-color);
    transition: color 0.2s, text-decoration 0.2s;
}

    .no-link:hover, .no-line:hover {
        text-decoration: underline;
        color: var(--bs-primary);
    }

/* Start - Suppress underline on button-style links 🔘 */
/*.btn.no-link,
.btn.no-link:hover,
.btn.no-link:focus,
.btn.no-link:active {
    text-decoration: none !important;
}*/
    /* End - Suppress underline on button-style links 🔘 */


    .btn.no-link:hover {
        color: inherit;
    }




/* Start - Page Title Styling 🧭 */
.page-title {
    font-weight: 600;
    line-height: 1.25;
}

/* Mobile emphasis */
@media (max-width: 576px) {
    .page-title {
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: -0.3px;
        border-bottom: 2px solid var(--color-card-header);
        padding-bottom: 6px;
    }
}

/* Desktop polish */
@media (min-width: 577px) {
    .page-title {
        font-size: 1.9rem;
    }
}
/* End - Page Title Styling 🧭 */



/* ===============================================================
   Start - Portal Footer Enhancements 🧭
   =============================================================== */

.portal-footer a {
    color: #ffffff;
    text-decoration: underline;
}

    .portal-footer a:hover {
        text-decoration: none;
    }


.footer-board-name {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.footer-address {
    font-style: normal;
    opacity: 0.85;
}

.footer-contact {
    opacity: 0.9;
}

.footer-links a {
    display: inline-block;
    margin-bottom: 4px;
}

.footer-official {
    font-size: 12px;
    opacity: 0.75;
}

/* Mobile alignment */
@media (max-width: 576px) {
    .portal-footer {
        text-align: left;
    }
  
    .portal-footer-logo {
            text-align: center;
        }
 

    }

/* ===============================================================
   End - Portal Footer Enhancements 🧭
   =============================================================== */




/* Start - Government Form Labels 🏛️ */
.gov-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2px;
    margin-bottom: 2px;
    color: #212529;
}
/* End - Government Form Labels 🏛️ */


.oars-badge {
    display: inline-block;
    background-color: #390606;
    color: #CBCBCB;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    margin-left: 6px;
    letter-spacing: 0.5px;
    vertical-align: middle;
}










/* ===============================================================
   Start - Portal Message Styling 📣
   =============================================================== */

#portalMessageDiv {
    background-color: rgba(13, 110, 253, 0.08);
    border: 1px solid rgba(13, 110, 253, 0.25);
    border-radius: 0.5rem;
    color: #212529;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0 0 0.5px rgba(255, 255, 255, 0.6);
}

    /* Tone variants */
    #portalMessageDiv.alert-success {
        background-color: rgba(25, 135, 84, 0.08);
        border-color: rgba(25, 135, 84, 0.25);
    }

    #portalMessageDiv.alert-warning {
        background-color: rgba(255, 193, 7, 0.12);
        border-color: rgba(255, 193, 7, 0.35);
    }

    #portalMessageDiv.alert-danger {
        background-color: rgba(220, 53, 69, 0.10);
        border-color: rgba(220, 53, 69, 0.35);
    }

/* ===============================================================
   Layout
   =============================================================== */

.portal-message-container {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    position: relative;
}

.portal-message-content {
    flex: 1;
    padding-right: 36px; /* space for close X */
    text-align: left;
    color: #495057;
}

/* ===============================================================
   Typography & Font
   =============================================================== */

#portalMessageDiv,
#portalMessageDiv * {
    font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.portal-message-title {
    font-weight: 600;
    letter-spacing: 0.2px;
    color: #495057;
    display: flex;
    align-items: center;
    gap: 6px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}

.portal-message-version {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    background-color: rgba(0, 0, 0, 0.04);
    padding: 2px 6px;
    border-radius: 0.25rem;
    margin-left: 6px;
}

.portal-message-content p {
    font-size: 0.9rem;
    line-height: 1.45;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

    .portal-message-content p:last-child {
        margin-bottom: 0;
    }

/* Normalize lists from DB HTML */
.portal-message-content ul,
.portal-message-content ol {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    padding-left: 1.25rem;
}

.portal-message-content li {
    margin-bottom: 0.25rem;
}

.portal-message-content a {
    text-decoration: underline;
}

/* ===============================================================
   Close Button
   =============================================================== */

.portal-message-close {
    position: absolute;
    top: 8px;
    right: 8px;
    line-height: 1.6; /* breathing room below X */
    cursor: pointer;
    font-size: 1.1rem;
    opacity: 0.6;
}

    .portal-message-close:hover {
        opacity: 1;
    }

/* ===============================================================
   End - Portal Message Styling 📣
   =============================================================== */




/* ===============================================================
   Start - Official Footer Styling 🧭
   =============================================================== */

.footer-official {
    font-size: 0.8rem;
    color: #6c757d;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    text-align: center;
}

.footer-system {
    font-weight: 600;
    color: #495057;
}

.footer-version {
    font-size: 0.75rem;
    color: #868e96;
}

.footer-separator {
    opacity: 0.5;
}

/* ===============================================================
   End - Official Footer Styling 🧭
   =============================================================== */











 /*GLOBAL OVERRIDES -------------------------------------------------------------------*/

h1, h2, h3, h4, h5 {
    font-family: "Montserrat", sans-serif;
    text-wrap: balance;
    font-style: normal;
}

 p, b {
        text-wrap: pretty;
    }

/* Start - Global List Spacing (WAE Friendly) 📋 */
    ul li {
        margin-bottom: 0.5rem;
    }

        ul li:last-child {
            margin-bottom: 0;
        }


h1 {
    font-weight: 700;
}

h2 {
    font-weight: 600;
}

h3, h4, h5 {
    font-weight: 500;
}





/*end GLOBAL OVERRIDES -------------------------------------------------------------------*/


 /*end css.  Good afternoon, good evening, and goodnight. ----------------------------------*/