/* html {
  font-size: 16px; 
}*/
body {
    /* font-size: 0.85rem;    */
    font-family: "Inter", sans-serif;
}

/* font weight */
/* Thin 100 */
.fw-100 {
    font-weight: 100;
}

/* ExtraLight 200 */
.fw-200 {
    font-weight: 200;
}

/* Light 300 */
.fw-300 {
    font-weight: 300;
}

/* Regular 400 */
.fw-400 {
    font-weight: 400;
}

/* Medium 500 */
.fw-500 {
    font-weight: 500;
}

/* SemiBold 600 */
.fw-600 {
    font-weight: 600;
}

/* Bold 700 */
.fw-700 {
    font-weight: 700;
}

/* ExtraBold 800 */
.fw-800 {
    font-weight: 800;
}

/* Black 900 */
.fw-900 {
    font-weight: 900;
}

.cstm-fs-14 {
    font-size: 14px !important;
}

.cstm-fs-12 {
    font-size: 12px !important;
}

.cstm-fs-10 {
    font-size: 10px !important;
}
.cstm-fs-11 {
    font-size: 11px !important;
}
/* padding */
.cstm-pt-180 {
    padding-top: 180px !important;
}
.cstm-pt-150 {
    padding-top: 150px !important;
}
.cstm-pt-120 {
    padding-top: 120px !important;
}

/* border radius */
.cstm-bdr-r {
    border-radius: 10px !important;
}

.cstm-bdr-rt {
    border-radius: 10px 10px 0px 0px !important;
}

.cstm-bdr-rb {
    border-radius: 0px 0px 10px 10px !important;
}

.cstm-bdr-sall {
    border-radius: 10px 5px 5px 5px !important;
}

.cstm-bdr-eall {
    border-radius: 5px 10px 5px 5px !important;
}

button.btn.cstm-bg-1,
a.btn.cstm-bg-1 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25;
    min-height: 2.4rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    padding-left: 1.3rem;
    padding-right: 0.9rem;
}
/* background color */
.cstm-bg-1 {
    background-color: #00B1DC !important;
}

.cstm-bg-2 {
    background-color: #212529 !important;
}

.cstm-bg-3 {
    background-color: #5DBB52 !important;
}

.cstm-bg-4 {
    background-color: #F2FDFF !important;
}

.cstm-bg-5 {
    background-color: #E1FFDD !important;
}

.cstm-bg-6 {
    background-color: #E7A82F !important;
}

.cstm-bg-7 {
    background-color: #E8941E !important;
}

/* Orange CTAs (Submit, View/Edit History on trackers): center icon + label in the pill */
button.btn.cstm-bg-7,
a.btn.cstm-bg-7 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.25;
    min-height: 2.4rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    padding-left: 0.3rem;
    padding-right: 0.9rem;
}

    button.btn.cstm-bg-7 i.fas,
    a.btn.cstm-bg-7 i.fas {
        line-height: 1;
        margin-top: 0;
    }

.cstm-bg-8 {
    background-color: #F4F4F4 !important;
}

.cstm-bg-9 {
    background-color: #DCDCDC !important;
}

.cstm-bg-10 {
    background-color: #CEFAC9 !important;
}

.cstm-bg-11 {
    background-color: #A2E1F0 !important;
}

.cstm-bg-12 {
    background-color: #FFE0A3 !important;
}

.cstm-bg-13 {
    background-color: #E3E3E3 !important;
}

.cstm-bg-14 {
    background-color: #FFF4E5 !important;
}

.cstm-bg-15 {
    background-color: rgba(31, 91, 160, 0.1) !important;
}

.cstm-bg-16 {
    background-color: #CFE8CC !important;
}

.cstm-bg-17 {
    background-color: #F2F2F2 !important;
}

.cstm-bg-18 {
    background-color: #1A6911 !important;
    padding: 10px 40px 10px 40px;
}

.cstm-bg-19 {
    background-color: #FFECD1 !important;
}

.cstm-bg-20 {
    background-color: #CEA367 !important;
}

.cstm-bg-21 {
    background-color: #4F8F48 !important;
}

.cstm-bg-22 {
    background-color: #E3DEDE !important;
}

.cstm-bg-23 {
    background-color: #f8d7da !important;
    color: #842029;
}

/* border */
.cstm-bdr-1 {
    border: #71DCF6 1px solid !important;
}

.cstm-bdr-2 {
    border: #00B1DC 1px solid !important;
}

.cstm-bdr-3 {
    border: #2B8121 1px solid !important;
}

.cstm-bdr-4 {
    border: #B4B4B4 1px solid !important;
}

.cstm-bdr-5 {
    border: #CFCDCD 1px solid !important;
}

.cstm-bdr-6 {
    border: #CFCFCF 1px solid !important;
}

.cstm-bdr-7 {
    border: #5DBB52 1px solid !important;
}

.cstm-bdr-8 {
    border: #E7A82F 1px solid !important;
}

.cstm-bdr-9 {
    border: #ADADAD 1px solid !important;
}

.cstm-bdr-10 {
    border: #FFD192 1px solid !important;
}

.cstm-bdr-11 {
    border: #BFBFBF 1px solid !important;
}

.cstm-bdr-12 {
    border: #BCBCBC 1px solid !important;
}

.cstm-bdr-13 {
    border: #3178C8 1px solid !important;
}

.cstm-bdr-14 {
    border: #8BC384 1px solid !important;
}

.cstm-bdr-15 {
    border: #1A6911 1px solid !important;
}

.cstm-bdr-16 {
    border: #B0842F 1px solid !important;
}

.cstm-bdr-17 {
    border: 1px solid #f5c2c7 !important;
}

/* color */
.cstm-clr-1 {
    color: #00B1DC !important;
}

.cstm-clr-2 {
    color: #2B8121 !important;
}

.cstm-clr-3 {
    color: #2F78F0 !important;
}

.cstm-clr-4 {
    color: #043873 !important;
}

.cstm-clr-5 {
    color: #1A6911 !important;
}

.cstm-clr-6 {
    color: #B06906 !important;
}

.cstm-clr-7 {
    color: #000000 !important;
}

.cstm-clr-8 {
    color: #686868 !important;
}

.cstm-clr-9 {
    color: #1F5BA0 !important;
}

.cstm-clr-10 {
    color: #B0842F !important;
}

.cstm-clr-11 {
    color: #204953 !important;
}

.cstm-clr-12 {
    color: #B06C0D !important;
}

.cstm-clr-13 {
    color: #2A2A2A !important;
}

/* gradient */
.cstm-gdnt-1 {
    background: linear-gradient(to bottom, #E6FAFF, #FFFFFF) !important;
}



.cstm-gdnt-3 {
    background: linear-gradient(to bottom, #EDEDED, #FFFFFF) !important;
}

.cstm-gdnt-4 {
    background: radial-gradient(circle, #E8941E, #D6881A) !important;
}



/* width */
.cstm-w-100 {
    min-width: 100px !important;
}

.cstm-w-102 {
    max-width: 102px !important;
}

.cstm-w-150 {
    min-width: 150px !important;
}

.cstm-w-170 {
    max-width: 170px !important;
}

.cstm-w-600 {
    max-width: 600px !important;
}

/* height */
.cstm-ht-5 {
    height: 5px !important;
}

.cstm-ht-100 {
    height: 100px !important;
}

/* z-index */
.cstm-z-1 {
    z-index: 1 !important;
}


/* login page css*/

/* Fullscreen Slider Background */
.slider-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 0;
    min-height: 100vh;
}

    .slider-bg.active {
        opacity: 1;
    }

section.hero-section {
    position: relative;
    min-height: 100vh;
    /* visible: overflow:hidden clipped dropup .dropdown-menu panels (e.g. Login feature lists) */
    overflow: visible;
}

/* Overlay effect */
.slider-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

/* Content on top */
.hero-content {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    /*display: flex;*/
    display:flow;
    align-items: center;
}


header #demo button:hover {
    background-color: #E8941E !important;
    color: #fff !important;
}

.gradient-text {
    background: linear-gradient(to right, #08CFFF, #8BF37F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btn:focus {
    outline: 0;
    box-shadow: none;
}

.btn-move-in {
    background: linear-gradient(to right, #4BC2DF 0%, #4BC2DF 50%, transparent 50%, transparent 100%);
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position 0.4s ease-out, color 0.4s ease-out, background-color 0.4s ease-out;
    box-sizing: border-box;
    border: 1px solid #4BC2DF;
    /* optional: matching border */
    color: #000;
    /* text color */
}

    /* Hover / Focus Effect */
    .btn-move-in:hover,
    .btn-move-in:focus {
        background-position: left bottom;
        color: #fff;
        /* text turns white on hover */
    }

/* Layout control */
.desktop-layout {
    display: block;
}

.mobile-layout {
    display: none;
}

@media (max-width: 1024px) {
    .desktop-layout {
        display: none;
    }

    .mobile-layout {
        display: block;
    }
}

/* Carousel positioning */
.carousel-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 10;
}

.mobile-carousel-overlay {
    position: relative;
    z-index: 10;
}



/* Hover only if not active */
#cstm-dropdown .btn-move-in:not(.active):hover {
    background-position: left bottom;
    color: #fff !important;
}

/* Active state with same gradient so no flash */
#cstm-dropdown .dropdown .btn-move-in.active,
#cstm-dropdown .dropdown .btn-move-in.show {
    background: linear-gradient(to right, #00B1DC 0%, #00B1DC 50%, transparent 50%, transparent 100%);
    background-size: 200% 100%;
    background-position: left bottom;
    color: #fff !important;
}

#cstm-dropdown .dropdown-item.active,
#cstm-dropdown .dropdown-item:active {
    text-decoration: none;
    color: #fff;
    background-color: #00B1DC;
}

#cstm-dropdown .dropdown-item:focus,
#cstm-dropdown .dropdown-item:hover {
    color: #fff;
    background-color: #00B1DC;
}

#cstm-dropdown .dropdown-toggle::after {
    display: none;
}

/* home page */
.bg-2 {
    background-image: url('../images/bg-2.jpg');
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}

#searchInput {
    cursor: pointer !important;
}

section .bg-white.cstm-bdr-r.cstm-bdr-1.p-3.h-100:hover {
    box-shadow: 0 6px 7px rgba(0, 0, 0, 0.1);
}

.cstm-bg-img {
    background-image: url('../images/banner-bg.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#cstm-nav .navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}

#cstm-nav .form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #D3D3D3;
    outline: 0;
    box-shadow: none;
}

/* nav bar */
:root {
    --bs-nav-link-hover-color: #0d6efd;
    --bs-border-color-translucent: rgba(0, 0, 0, .175);
}

.border-top-custom {
    border-top: 1px solid var(--bs-border-color-translucent);
}

.fs-7 {
    font-size: 0.875rem;
}

.text-muted-custom {
    color: #6c757d !important;
}

.z-1050 {
    z-index: 1050;
}

.scrollbar-none {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

    .scrollbar-none::-webkit-scrollbar {
        display: none;
    }

.nav-link {
    transition: all 0.15s ease-in-out;
}

    .nav-link:hover i {
        transform: scale(1.1);
        color: var(--bs-primary);
    }

.search-trigger {
    cursor: pointer;
    transition: color 0.15s ease-in-out;
}

    .search-trigger:hover {
        color: var(--bs-primary) !important;
    }

.search-dropdown {
    min-width: 20rem;
    max-width: 28rem;
    max-height: 25rem;
}

.btn-close-custom {
    cursor: pointer;
    transition: transform 0.15s ease-in-out;
}

    .btn-close-custom:hover {
        transform: scale(1.1);
    }

.badge-custom {
    background-color: var(--bs-gray-100) !important;
    color: var(--bs-gray-700) !important;
    font-weight: 300;
}

@media (max-width: 1199.98px) {
    .navbar-brand-mobile {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }
}

#cstm-card .card {
    min-height: 312.92px !important;
}

#cstm-nav .nav-item a:hover {
    color: #00B1DC !important;
    transform: translate(0px, -5px);
}

#cstm-nav .nav-link:hover i {
    color: #00B1DC !important;
}

#cstm-nav .navbar-light .navbar-nav .nav-link.active,
#cstm-nav .navbar-light .navbar-nav .show > .nav-link {
    color: #00B1DC !important;
}

/* Dropdown opens on hover */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0; /* keeps dropdown aligned neatly */
}

/* Prevent flicker or unwanted click behavior */
.nav-item.dropdown .nav-link {
    pointer-events: none;
  /*  padding-left: 0 !important;
    padding-right: 2rem !important;*/
}

.nav-item.dropdown:hover .nav-link {
    pointer-events: auto;
    /*padding-left: 0 !important;
    padding-right: 2rem !important;*/
}

@media (max-width: 1199.98px) {
    .mobile-brand-container {
        display: flex;
        align-items: center;
        gap: 1rem;
    }
}

/* #cstm-nav .active{color: #00B1DC !important;} */
/* #cstm-nav ul li{margin: 0px 5px;} */
/* #cstm-nav ul a{color: #2A2A2A !important; transition: all 0.5s ease-in-out ; display: block;} */
/* #cstm-nav ul a{color: #212529 !important; transition: all 0.5s ease-in-out ; display: block;} */
/* #cstm-nav ul a:hover{color: #00B1DC !important; transform: translate(0px, -5px);} */
#Seemoreprogramdetails button:hover {
    background-color: #AF7119 !important;
    color: #fff !important;
}


/* gif animation */

.j-i-c {
    justify-items: center !important;
}



.circle-wrapper-2 {
    position: relative;
    width: 85px;
    height: 85px;
    margin: 15px 0px;
}

.circle-wrapper {
    position: relative;
    width: 172px;
    height: 172px;
    margin: 15px 0px;
}

.circle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: white;
    position: absolute;
    top: 0;
    left: 0;
}

.circle-border-black {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
}

.circle-border-fade {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px dashed #FADEB6;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
}

.circle-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
}

    .circle-content img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


.banner-1 {
    background-image: url('../images/banner1.svg');
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100dvh;
}

/* Only for hiding scrollbar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.close-icon {
    cursor: pointer;
}


.multi-truncate {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* my-reward */

/* collapse */
.rounded-bdr.collapsed {
    border-radius: 10px 10px 10px 10px !important;
}

/*  expand */
.rounded-bdr:not(.collapsed) {
    border-radius: 10px 10px 0 0 !important;
}

#cstm-tab ul li button {
    position: relative;
}

    #cstm-tab ul li button:hover,
    #cstm-tab ul li button.active {
        color: #00B1DC !important;
    }

        #cstm-tab ul li button:hover::after,
        #cstm-tab ul li button.active::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -2px;
            height: 2px;
            background-color: #00B1DC;
        }

.cstm-bg-img1 {
    background-image: url('../images/banner-bg-2.png');
    background-position: right, bottom;
    background-repeat: no-repeat;
    background-size: contain;
}

/* Registration.aspx — program header (cyan strip, logo left, name centered) */
.registration-program-banner {
    background-color: #00b4e6;
    border-radius: 9999px;
    box-shadow: 0 2px 10px rgba(0, 180, 230, 0.35);
}

.registration-program-banner__logo {
    max-height: 44px;
    max-width: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.registration-program-banner__title {
    min-width: 0;
}

/* MyPlan.aspx — responsive goal cards (Repeater + ParticipantGoalsControl) */
/* Matches NewMaster / MyPlan theme: my-result-container + cyan accent from headers */
.myplan-goals-section {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding: clamp(1rem, 3vw, 1.75rem);
    background: linear-gradient(180deg, #f8f9fa 0%, #eef6f9 100%);
    border: 1px solid #e9ecef;
    border-radius: 12px;
}

.myplan-goals-grid {
    width: 100%;
    max-width: 100%;
}

.myplan-goal-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid #e9ecef !important;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

    .myplan-goal-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(0, 177, 220, 0.12) !important;
        border-color: rgba(0, 177, 220, 0.35) !important;
    }

    /* Blue fill + typography inside card body only (MyPlan goals) */
    .myplan-goal-card .myplan-goal-card-body {
        background: linear-gradient(180deg, #e3f5fc 0%, #d4eff9 100%);
        border-radius: 0 0 0.5rem 0.5rem;
        font-family: "Inter", system-ui, -apple-system, sans-serif;
        font-size: 0.918rem;
        line-height: 1.55;
        color: #2c3e50;
    }

@media (min-width: 768px) {
    .myplan-goal-card .myplan-goal-card-body {
        font-size: 0.925rem;
    }
}

@media (min-width: 1200px) {
    .myplan-goal-card .myplan-goal-card-body {
        font-size: 0.925rem;
    }
}

.myplan-goals-grid .myplan-goal-card-body .green-shape-head h1 {
    font-size: clamp(1rem, 2.4vw, 1.25rem);
    font-weight: 700;
}

.myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .left {
    font-size: 0.9375rem;
    font-weight: 600;
}

@media (min-width: 768px) {
    .myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .left {
        font-size: 1rem;
    }
}

.myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .right .boldtext {
    font-size: 1rem;
    font-weight: 700;
}

@media (min-width: 768px) {
    .myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .right .boldtext {
        font-size: 1.0625rem;
    }
}

.myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .right .normaltext {
    font-size: 0.855rem;
}

@media (min-width: 768px) {
    .myplan-goals-grid .myplan-goal-card-body .gray-box .content .row .right .normaltext {
        font-size: 0.9275rem;
    }
}

.myplan-goals-grid .myplan-goal-card-body .gray-box .content a {
    font-weight: 600;
}

.myplan-goals-grid .myplan-goal-card-body .gray-box h4 {
    font-size: 1rem;
}

.myplan-goals-grid .participant-goal-card-inner {
    min-height: 0;
}

.myplan-goals-grid .participant-goal-table {
    table-layout: fixed;
    border-collapse: collapse;
}

.myplan-goals-grid .green-shape {
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    min-height: 72px;
    background-repeat: repeat-x;
    background-position: left center;
    background-size: auto 100%;
    box-sizing: border-box;
}

.myplan-goals-grid .green-shape-head h1 {
    width: auto !important;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.2;
}

.myplan-goals-grid .gray-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

    .myplan-goals-grid .gray-box .content .row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.35rem 0.75rem;
        clear: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

        .myplan-goals-grid .gray-box .content .row .left {
            float: none !important;
            width: auto !important;
            flex: 1 1 140px;
            min-width: 0;
            max-width: 100%;
        }

        .myplan-goals-grid .gray-box .content .row .right {
            float: none !important;
            flex: 1 1 160px;
            min-width: 0;
            max-width: 100%;
        }

            .myplan-goals-grid .gray-box .content .row .right.goal-value-row {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                align-items: baseline;
                gap: 0.25rem 0.5rem;
            }

                .myplan-goals-grid .gray-box .content .row .right.goal-value-row .boldtext,
                .myplan-goals-grid .gray-box .content .row .right.goal-value-row .normaltext {
                    float: none !important;
                    display: inline !important;
                    text-align: left !important;
                    width: auto !important;
                    max-width: none;
                    padding-left: 0 !important;
                    margin: 0;
                }

                .myplan-goals-grid .gray-box .content .row .right.goal-value-row .goal-value-unit {
                    font-weight: 400;
                }

            .myplan-goals-grid .gray-box .content .row .right .boldtext,
            .myplan-goals-grid .gray-box .content .row .right .normaltext {
                float: none !important;
                text-align: left !important;
            }

@media (max-width: 575.98px) {
    .myplan-goals-grid .gray-box .content .row .left,
    .myplan-goals-grid .gray-box .content .row .right {
        flex: 1 1 100%;
    }
}

/* Tips for Success — responsive list (e.g. MyPlan exercise guidance) */
.tips-for-success {
    width: 100%;
    max-width: 100%;
    /* box-sizing: border-box;
    margin: 1.25rem 0 1.75rem;
   padding: clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.75rem);
    background: linear-gradient(135deg, #f0fafc 0%, #e8f6fb 100%);
    border: 1px solid rgba(0, 177, 220, 0.22);
    border-radius: 12px;
    border-left: 4px solid #00b1dc;*/
}

.tips-for-success__title {
    font-family: "Inter", system-ui, sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.35rem);
    font-weight: 700;
    color: #0088b8;
    margin: 0 0 0.85rem;
    line-height: 1.3;
}

.tips-for-success__list {
    margin: 0;
    padding: 0 0 0 1.35rem;
    list-style-position: outside;
    font-family: "Inter", system-ui, sans-serif;
    font-size: clamp(0.9rem, 2.1vw, 1rem);
    line-height: 1.6;
    color: #2c3e50;
}

    .tips-for-success__list li {
        margin-bottom: 0.65rem;
        padding-left: 0.25rem;
    }

        .tips-for-success__list li:last-child {
            margin-bottom: 0;
        }

.tips-for-success__link {
    color: #00b1dc;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

    .tips-for-success__link:hover,
    .tips-for-success__link:focus {
        color: #0088a8;
    }

@media (min-width: 576px) {
    .tips-for-success__list {
        padding-left: 1.5rem;
    }
}

@media (min-width: 992px) {
    .tips-for-success:not(.tips-for-success--in-goal) {
        max-width: 920px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Tips block embedded in each ParticipantGoalsControl */
.participant-goal-tips {
    margin-top: 1rem;
}

.tips-for-success.tips-for-success--in-goal {
    margin-top: 0.25rem;
    margin-bottom: 0;
}

    .tips-for-success.tips-for-success--in-goal .tips-for-success__title {
        color: #111;
        font-weight: 600;
        font-size: clamp(0.88rem, 1.9vw, 1rem);
        margin: 0 0 0.5rem;
        line-height: 1.35;
    }

    .tips-for-success.tips-for-success--in-goal .tips-for-success__list {
        font-size: clamp(0.72rem, 1.65vw, 0.8125rem);
        line-height: 1.45;
        color: #333;
    }

        .tips-for-success.tips-for-success--in-goal .tips-for-success__list li {
            margin-bottom: 0.4rem;
        }

    .tips-for-success.tips-for-success--in-goal .tips-for-success__link {
        font-weight: 500;
    }

@media (min-width: 992px) {
    .tips-for-success.tips-for-success--in-goal {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.registration-program-banner__name,
.registration-program-banner__name .aspNetDisabled {
    color: #fff;
    font-weight: 900;
    font-size: clamp(0.95rem, 2.5vw, 1.5rem);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    line-height: 1.25;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cstm-accordian .accordion-button::after {
    display: none !important;
}

.accordion-button::after {
    display: none !important;
}

/* When accordion is expanded */
.accordion-button:not(.collapsed) {
    /*background-color: #00B1DC !important;*/
    background-color: #C6FAFF !important;
    /* example: Bootstrap primary */
    /*  color: #fff !important;*/
    box-shadow: none !important;
    color: #212529!important;
}

/* When accordion is collapsed */
.accordion-button.collapsed {
    /* background-color: #414141 !important;*/
    background-color: #E6FAFF !important;
    /* example: light gray */
    /* color: #fff !important;*/
    box-shadow: none !important;
    color: #212529 !important;
}

/* When accordion is expanded */
.cstm-accordian-2 .accordion-button:not(.collapsed) {
    background-color: #CEA367 !important;
    /* example: Bootstrap primary */
    color: #fff !important;
    box-shadow: none !important;
}

/* When accordion is collapsed */
.cstm-accordian-2 .accordion-button.collapsed {
    background-color: #CEA367 !important;
    /* example: light gray */
    color: #fff !important;
    box-shadow: none !important;
}

.cstm-badge {
    display: inline-block;
    min-width: 90px;
    text-align: center;
}


/* my program */
.cstm-disabled-card {
    opacity: 0.6;
    pointer-events: none;
    filter: grayscale(100%);
}

    .cstm-disabled-card :disabled {
        background-color: #e0e0e0 !important;
        color: #6c757d !important;
        border: none;
    }


.newmidwith {
    width: 100%;
    float: left;
}

.newmidwithtext {
    width: 60%;
    float: left;
}

.loginboxfrom {
    width: 40%;
    float: right;
}

.newmidwithtext {
    width: 60%;
    float: left;
}


/* media */
/* login */
@media (max-width: 768px) {
    .cstm-fnt-12 {
        font-size: 12px !important;
    }
}

@media (max-width: 1200px) {
    .show-1 {
        display: none;
    }
}

@media (min-width: 1200px) {
    .show-2 {
        display: none;
    }
}

@media (max-width: 992px) {
    .ctm-fs-24 {
        font-size: 24px !important;
    }

    .cstm-ht-100 {
        height: 50px !important;
    }

    .newmidwithtext {
        width: 100%;
        float: left;
    }

    .loginboxfrom {
        width: 100%;
        float: right;
    }

    .newmidwithtext {
        width: 100%;
        float: left;
    }
}

@media (max-width: 768px) {
    .ctm-fs-20 {
        font-size: 20px !important;
    }
}

@media (max-width: 576px) {
    .ctm-fs-12 {
        font-size: 12px !important;
    }
}

@media (max-width: 767px) {
    .cstm-bg-img1 {
        background-size: cover;
        background-position: center bottom;
    }
}

@media (max-width: 992px) {
    .cstm-gdnt-2 {
        background: linear-gradient(to bottom, #FFF1E5, #FFFFFF) !important;
    }
}

/* @media (min-width: 992px) {
     .navbar-collapse {
          flex-basis: 100%;
          flex-grow: 1;
          align-items: center;
          position: absolute;
          top: 97px;
          background: #fff;
          width: 100%;
     }
} */
.gridtable > table {
    color: #000000 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

    .gridtable > table td {
        border-width: 0 0 .5px 0 !important;
    }

/* My Rewards: align all rows and columns consistently across grids */
.my-rewards-section .accordion-body .row.border-bottom.border-white {
    display: flex;
    flex-wrap: nowrap;
    margin-left: 0;
    margin-right: 0;
    border-bottom: none !important;
}

    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
        text-align: start;
    }

    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        text-align: center !important;
    }

    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
        text-align: center !important;
    }

/* Grid table: match column widths to header so rows align */
.my-rewards-section .gridtable {
    width: 100%;
}
    /* Remove left and right outer borders from grids */
    .my-rewards-section .gridtable.table-bordered,
    .my-rewards-section .gridtable > table,
    .my-rewards-section .gridtable table.rgMasterTable {
        border-left: none !important;
        border-right: none !important;
    }

        .my-rewards-section .gridtable > table td:first-child,
        .my-rewards-section .gridtable table.rgMasterTable td:first-child {
            border-left: none !important;
        }

        .my-rewards-section .gridtable > table td:last-child,
        .my-rewards-section .gridtable table.rgMasterTable td:last-child {
            border-right: none !important;
        }

    .my-rewards-section .gridtable > table,
    .my-rewards-section .gridtable table.rgMasterTable {
        width: 100% !important;
        table-layout: fixed !important;
        /* border-collapse: collapse;*/
    }

        .my-rewards-section .gridtable > table tbody tr,
        .my-rewards-section .gridtable table.rgMasterTable tbody tr {
            display: table-row;
        }

        .my-rewards-section .gridtable > table td,
        .my-rewards-section .gridtable table.rgMasterTable td {
            vertical-align: middle !important;
            padding: 0.5rem 0.75rem !important;
        }
            /* 4-column grids (Portal, Assessment): column widths to match header 5-2-2-3 */
            .my-rewards-section .gridtable > table td:nth-child(1),
            .my-rewards-section .gridtable table.rgMasterTable td:nth-child(1) {
                width: 41.666667%;
                text-align: start !important;
            }

            .my-rewards-section .gridtable > table td:nth-child(2),
            .my-rewards-section .gridtable > table td:nth-child(3),
            .my-rewards-section .gridtable table.rgMasterTable td:nth-child(2),
            .my-rewards-section .gridtable table.rgMasterTable td:nth-child(3) {
                width: 16.666667%;
                text-align: center !important;
            }

            .my-rewards-section .gridtable > table td:nth-child(4),
            .my-rewards-section .gridtable table.rgMasterTable td:nth-child(4) {
                width: 25%;
                text-align: center !important;
            }

            .my-rewards-section .rewards-points-col,
            .my-rewards-section .gridtable > table td.rewards-points-col,
            .my-rewards-section .gridtable table.rgMasterTable td.rewards-points-col {
                text-align: center !important;
            }

.my-rewards-section .accordion-body .table td:nth-child(2),
.my-rewards-section .accordion-body .table td:nth-child(3) {
    text-align: center !important;
}

.my-rewards-section .accordion-body .table td:nth-child(1) {
    text-align: start !important;
}

.my-rewards-section .accordion-body .table td:nth-child(4) {
    text-align: center !important;
}

.my-rewards-section .accordion-body .table.table-borderless th,
.my-rewards-section .accordion-body .table.table-borderless td {
    vertical-align: middle !important;
}

    .my-rewards-section .accordion-body .table.table-borderless th.w-15,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(2),
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(3) {
        text-align: center !important;
        width: 16.666667%;
    }

    .my-rewards-section .accordion-body .table.table-borderless th.w-40,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(1) {
        text-align: start !important;
    }

    /* My Rewards: consistent status button size on all screen sizes – lnkTakeSurvey, lblStatus, Future Event, Register, etc. equal box */
    .my-rewards-section .gridtable td:last-child .cstm-badge,
    .my-rewards-section .gridtable td:last-child .stm-badge,
    .my-rewards-section .gridtable td:last-child .btn,
    .my-rewards-section .gridtable td.status-col-hide-mobile .cstm-badge,
    .my-rewards-section .gridtable td.status-col-hide-mobile .stm-badge,
    .my-rewards-section .gridtable td.status-col-hide-mobile .btn,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .cstm-badge,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .stm-badge,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .btn,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) a,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) span,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) input[type="submit"],
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) input[type="button"] {
        font-size: 0.875rem !important;
        padding: 0.35rem 0.6rem !important;
        min-width: 110px !important;
        width: 110px !important;
        max-width: 110px !important;
        text-align: center !important;
        box-sizing: border-box;
        border-radius: 0.25rem;
    }

/* On small devices: add right spacing so buttons are not flush to screen edge (all sections) */
@media (max-width: 767px) {
    .container,
    .container-fluid {
       /* padding-right: 1rem !important;*/
    }
    /* My Rewards: remove horizontal scroll and fit all columns on small screens */
    .my-rewards-section {
        /* Allow horizontal overflow so Status buttons aren't clipped */
        overflow-x: visible;
    }
    /* MyRewards: header row font size (Portal Points, Assessment, Goal achievement, Prevention) */
    #panelsStayOpen-collapseOne .row.border-bottom.border-white .col-md-5,
    #panelsStayOpen-collapseOne .row.border-bottom.border-white .col-md-2,
    #panelsStayOpen-collapseOne .row.border-bottom.border-white .col-md-3,
    #panelsStayOpen-collapseTwo .row.border-bottom.border-white .col-md-5,
    #panelsStayOpen-collapseTwo .row.border-bottom.border-white .col-md-2,
    #panelsStayOpen-collapseTwo .row.border-bottom.border-white .col-md-3,
    #panelsStayOpen-collapseThree .row.border-bottom.border-white .col-md-5,
    #panelsStayOpen-collapseThree .row.border-bottom.border-white .col-md-2,
    #panelsStayOpen-collapseThree .row.border-bottom.border-white .col-md-3,
    #panelsStayOpen-collapseFour .row.border-bottom.border-white .col-md-5,
    #panelsStayOpen-collapseFour .row.border-bottom.border-white .col-md-2,
    #panelsStayOpen-collapseFour .row.border-bottom.border-white .col-md-3 {
        font-size: 0.85rem;
    }
    /* Total Points: 4 columns on small screen – col1: Total Points, col2: earned, col3: max possible, col4: blank */
    .my-rewards-section .total-points-section .row {
        display: flex;
        flex-wrap: nowrap;
    }
    .my-rewards-section .total-points-section .total-points-col-1 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
        text-align: left !important;
        font-size: 0.85rem;
    }
    .my-rewards-section .total-points-section .total-points-col-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        text-align: center !important;
        font-size: 0.85rem;
    }
    .my-rewards-section .total-points-section .total-points-col-3 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        text-align: center !important;
        font-size: 0.85rem;
    }
    .my-rewards-section .total-points-section .total-points-col-4 {
        flex: 0 0 25%;
        max-width: 25%;
        /* blank column for Status alignment */
    }
    .my-rewards-section .accordion-body .container-fluid {
        /*padding-left: 1rem !important;
        padding-right: 1rem !important;*/
        /* Don't clip right side (Status buttons) */
        overflow-x: visible !important;
        max-width: 100%;
    }
    .my-rewards-section .accordion-body .row.table-responsive,
    .my-rewards-section .accordion-body .table-responsive {
        overflow-x: auto !important;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .my-rewards-section .accordion-body .row.border-bottom.border-white {
        max-width: 100%;
    }
    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-5,
    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-2,
    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-3 {
        min-width: 0;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }
    .my-rewards-section .gridtable,
    .my-rewards-section .gridtable > table,
    .my-rewards-section .gridtable table.rgMasterTable {
        max-width: 100% !important;
    }
    .my-rewards-section .gridtable > table td,
    .my-rewards-section .gridtable table.rgMasterTable td {
        padding: 0.4rem 0.35rem !important;
        font-size: 0.8rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .my-rewards-section .gridtable > table td:nth-child(1),
    .my-rewards-section .gridtable table.rgMasterTable td:nth-child(1) {
        min-width: 0;
        word-break: break-word;
    }
    .my-rewards-section .accordion-body .table.table-borderless {
        /* Let columns size naturally; tables can scroll if needed */
        table-layout: auto;
        width: 100% !important;
        max-width: 100%;
    }
    .my-rewards-section .accordion-body .table.table-borderless th,
    .my-rewards-section .accordion-body .table.table-borderless td {
        padding: 0.4rem 0.35rem !important;
        font-size: 0.8rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .my-rewards-section .accordion-body .table.table-borderless th.w-40,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(1) {
        min-width: 0;
        word-break: break-word;
    }
    /* My Rewards: same alignment for all grids + fix right-side button alignment on small screens */
    .my-rewards-section .accordion-body .row.border-bottom.border-white .col-md-3 {
        padding-right: 1rem !important;
        text-align: right !important;
    }
    /* RadGrid Status column: flex to pin button to the right */
    .my-rewards-section .gridtable > table td.status-col-hide-mobile,
    .my-rewards-section .gridtable table.rgMasterTable td.status-col-hide-mobile,
    .my-rewards-section .gridtable > table td:last-child,
    .my-rewards-section .gridtable table.rgMasterTable td:last-child {
        padding-right: 1rem !important;
        padding-left: 0.5rem !important;
        vertical-align: middle !important;
        min-width: 6rem;
        display: table-cell !important;
        text-align: right !important;
    }
    .my-rewards-section .gridtable > table td.status-col-hide-mobile span,
    .my-rewards-section .gridtable > table td.status-col-hide-mobile a,
    .my-rewards-section .gridtable > table td.status-col-hide-mobile input,
    .my-rewards-section .gridtable > table td.status-col-hide-mobile button,
    .my-rewards-section .gridtable table.rgMasterTable td.status-col-hide-mobile span,
    .my-rewards-section .gridtable table.rgMasterTable td.status-col-hide-mobile a,
    .my-rewards-section .gridtable table.rgMasterTable td.status-col-hide-mobile input,
    .my-rewards-section .gridtable table.rgMasterTable td.status-col-hide-mobile button,
    .my-rewards-section .gridtable > table td:last-child span,
    .my-rewards-section .gridtable > table td:last-child a,
    .my-rewards-section .gridtable > table td:last-child input,
    .my-rewards-section .gridtable > table td:last-child button,
    .my-rewards-section .gridtable table.rgMasterTable td:last-child span,
    .my-rewards-section .gridtable table.rgMasterTable td:last-child a,
    .my-rewards-section .gridtable table.rgMasterTable td:last-child input,
    .my-rewards-section .gridtable table.rgMasterTable td:last-child button {
        display: block !important;
        width: fit-content !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    /* Repeater tables (Webinars, etc.): Status column right-align */
    .my-rewards-section .accordion-body .table.table-borderless th.w-25 {
        padding-right: 1rem !important;
        text-align: right !important;
    }
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) {
       /* padding-right: 1rem !important;
        text-align: right !important;*/
        }

            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .btn,
            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .cstm-badge,
            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) a,
            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) input,
            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) button,
            .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) span {
                display: block !important;
                width: fit-content !important;
                margin-left: auto !important;
                margin-right: 0 !important;
            }
    /* Tracker: DETAIL button and card content */
    .tracker-top-cards-row .bg-white.cstm-bdr-r.p-4.h-100,
    .tracker-top-cards-row .reward-details {
        padding-right: 1rem !important;
    }

        .tracker-top-cards-row .reward-details .btn,
        .tracker-top-cards-row .reward-details input[type="image"],
        .tracker-top-cards-row .reward-details input[type="submit"] {
            margin-right: 0;
        }

    .my-rewards-section .gridtable td:last-child .cstm-badge,
    .my-rewards-section .gridtable td:last-child .stm-badge,
    .my-rewards-section .gridtable td:last-child .btn,
    .my-rewards-section .gridtable td.status-col-hide-mobile .cstm-badge,
    .my-rewards-section .gridtable td.status-col-hide-mobile .stm-badge,
    .my-rewards-section .gridtable td.status-col-hide-mobile .btn,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .cstm-badge,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .stm-badge,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) .btn,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) a,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) span,
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) input[type="submit"],
    .my-rewards-section .accordion-body .table.table-borderless td:nth-child(4) input[type="button"] {
        /* font-size: 0.875rem !important;*/
        padding: 0.35rem 0.6rem !important;
        min-width: 86px !important;
        width: 90px !important;
        max-width: 85px !important;
        text-align: center !important;
        box-sizing: border-box;
        border-radius: 0.25rem;
        font-size: 11px !important;
    }
}

@media (max-width: 991px) {
    .main {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 15px;
    }

    .topbarDivProgressBar {
        padding: 10px 0;
    }

        .topbarDivProgressBar td {
            display: block;
            width: 100% !important;
            text-align: center !important;
            padding: 5px 0;
        }

    .progressBarText {
        margin-bottom: 10px;
        display: block;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .main table {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
    }

        .main table td {
            padding: 10px 5px;
        }

    .seperator {
        border-right: none !important;
        border-bottom: 1px solid #f1f1f1;
    }

    .topbarDivProgressBar {
        height: auto !important;
        min-height: 60px;
        padding: 15px 10px;
    }

    .bottombarDiv {
        min-height: 30px;
        padding: 10px;
    }
}

@media (max-width: 480px) {
    .main {
        padding: 0 10px;
    }

        .main table td {
            padding: 8px 3px;
        }

    .topbarDivProgressBar {
        padding: 10px 5px;
        min-height: 50px;
    }

    .progressBarText {
        font-size: 12px;
    }

    .bottombarDiv {
        padding: 8px;
    }
}

.hra-container-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

.responsive-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.progress-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 768px) {
    .progress-section {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
}

/* HRA ParticipantHraPage - Responsive div-based layout styles */
.hra-main-container {
    width: 100%;
    min-height: 412px;
    border-right: 1px solid #f1f1f1;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}

.hra-progress-header {
    width: 100%;
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    padding: 8px 16px;
    min-height: 34px;
    display: flex;
    align-items: center;
}

.hra-progress-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.hra-progress-label {
    flex: 1;
    text-align: right;
    padding-right: 10px;
}

.hra-progress-bar {
    flex-shrink: 0;
    min-width: 100px;
}

.hra-content-wrapper {
    flex: 1;
    display: flex;
    min-height: 350px;
}

.hra-main-content {
    flex: 1;
    background-color: white;
    padding: 20px;
    overflow-y: auto;
}

.hra-sidebar {
    width: 1px;
    background-color: #f1f1f1;
    flex-shrink: 0;
    border-left: 1px solid #f1f1f1;
}

.hra-footer {
    width: 100%;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    min-height: 40px;
    padding: 10px 16px;
}

/* HRA Mobile responsive adjustments */
@media (max-width: 991px) {
    .hra-main-container {
        border-right: none;
    }

    .hra-progress-header {
        padding: 10px 15px;
    }

    .hra-progress-container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .hra-progress-label {
        text-align: center;
        padding-right: 0;
    }

    .hra-main-content {
        padding: 15px;
    }
}

@media (max-width: 768px) {
    .hra-sidebar {
        display: none;
    }

    .hra-progress-header {
        padding: 8px 12px;
    }

    .hra-main-content {
        padding: 10px;
    }

    .hra-footer {
        padding: 8px 12px;
    }
}

@media (max-width: 480px) {
    .hra-main-content {
        padding: 8px;
    }

    .hra-progress-header {
        padding: 6px 10px;
    }
}

/* Modern Page Layout - MyResult & MySurvey Styling */

.my-result-header1 {
    margin-top: 124px;
    margin-bottom: 10px;
    text-align: center;
}
/* Modern Page Layout - MyResult & MySurvey Styling */
.my-result-container, .my-survey-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 15px;
    background-color: #f8f9fa;
    padding: 20px;
    /* background-color: #f8f9fa;*/
    min-height: 100px;
    margin-top:15px;
}

.my-result-header, .my-survey-header {
    background: linear-gradient(135deg, #4BC2DF 0%, #00B1DC 100%);
    color: white;
    padding: 16px 30px;
    border-radius: 15px;
    margin-bottom: 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
     margin-top: 112px;
    /*margin-top: 85px;*/
    text-transform: uppercase;
}


    .my-result-header h1, .my-survey-header h1,
    .my-result-header h2, .my-survey-header h2 {
        font-size: 1.5rem;
        font-weight: 700;
        margin: 0;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    }

.my-result-content {
    display: grid;
}

.my-result-content, .my-survey-content {
    /*  display: grid;*/
    grid-template-columns: 1fr 300px;
    gap: 30px;
    align-items: start;
}

    /* My Result page: decorative sidebar image removed — full-width main column */
    .my-result-content.my-result-content--single {
        grid-template-columns: 1fr;
    }

.my-result-main, .my-survey-main {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.my-result-sidebar, .my-survey-sidebar {
    position: sticky;
    top: 20px;
}

.result-card, .survey-card {
    background: white;
    border-radius: 15px;
    /*padding: 30px;*/
    padding: 25px 10px 10px 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
}

    .result-card:hover, .survey-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.12);
    }

.result-card-header, .survey-card-header {
    font-size: 1.2rem;
    font-weight: 500;
    color: #2c3e50;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #00b1dc;
    align-items: start;
    gap: 20px;
}

    .result-card-header::before, .survey-card-header::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }

/* Goals card header: same style as SELECT A DATE and Your Total Earned (white, no colored background) */
.result-card-header.goals-icon {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: #2c3e50;
    font-weight: 500;
    /* margin/padding/border match tracker-top-cards-row .result-card-header */
}
.result-card-header.goals-icon::before {
    content: "🎯";
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: 1.25rem;
    line-height: 1;
}

.result-card-content, .survey-card-content {
    color: #495057;
    line-height: 1.7;
}

.result-links, .survey-links {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

    .result-links li, .survey-links li {
        margin-bottom: 15px;
        padding-left: 25px;
        position: relative;
    }

        .result-links li::before, .survey-links li::before {
            content: "→";
            position: absolute;
            left: 0;
            color: #00b1dc;
            font-weight: bold;
        }

    .result-links a, .survey-links a {
        color: #0066cc;
        text-decoration: none;
        font-weight: 500;
        transition: all 0.3s ease;
    }

        .result-links a:hover, .survey-links a:hover {
            color: #004499;
            text-decoration: underline;
        }

/* My Result — space below section teal line before the split (image + list; Health Survey, Articles, etc.) */
.my-result-section-split {
    padding-top: 1.25rem;
}

.my-result-container .my-result-main > .result-card:first-child > .result-card-header.my-result-thank-you-header {
    border-bottom: none;
}

/* My Result — Health Survey Reports: clipboard (survey-icon) on same row as title */
.my-result-container .result-card-header.my-result-health-survey-heading {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.45rem 0.6rem;
}

    .my-result-container .result-card-header.my-result-health-survey-heading::before {
        width: auto;
        height: auto;
        border-radius: 0;
        font-size: 1.25rem;
        line-height: 1;
        flex-shrink: 0;
    }

@media (max-width: 480px) {
    .my-result-container .result-card-header.my-result-health-survey-heading {
        flex-direction: row;
        align-items: center;
    }
}




@media (min-width: 992px) {
    .my-result-section-split {
        padding-top: 2rem;
    }
}

/* My Result — section illustration: clean card (neutral border + soft gray shadow, no cyan glow) */
.my-result-section-split .my-result-section-illustration {
    display: inline-block;
    width: 100%;
    max-width: min(100%, 420px);
    height: auto;
    padding: 0;
    vertical-align: top;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 4px 12px rgba(15, 23, 42, 0.06), 0 12px 28px rgba(15, 23, 42, 0.07);
}

@media (max-width: 991.98px) {
    .my-result-section-split .my-result-section-illustration {
        max-width: 320px;
    }
}

/* Schedule Screening — Onsite / Lab / Physician: same grid (col-lg-2 + col-lg-10) so text edges line up */
.schedule-onsite-split.row {
    align-items: flex-start;
}

@media (min-width: 992px) {
    .schedule-onsite-split.row {
        --bs-gutter-x: 0;
    }

    .schedule-onsite-content-col {
        padding-left: 1rem;
    }
}

.schedule-onsite-image-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.schedule-onsite-image-frame {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    min-height: 0;
}

@media (min-width: 992px) {
    .schedule-onsite-image-frame {
        justify-content: center;
    }
}

/* Size follows the paired column: max height = shorter of frame or cap (long copy won’t force a huge image) */
.schedule-onsite-split .schedule-onsite-illustration.my-result-section-illustration {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(100%, 420px);
    object-fit: contain;
    object-position: left center;
}

@media (max-width: 991.98px) {
    .schedule-onsite-split .schedule-onsite-illustration.my-result-section-illustration {
        max-width: min(100%, 360px);
        max-height: min(240px, 70vw);
        margin-left: auto;
        margin-right: auto;
        object-position: center center;
    }

    .schedule-onsite-image-frame {
        min-height: 0;
    }
}

.people-image, .survey-image {
    width: 100%;
    max-width: 292px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

    .people-image:hover, .survey-image:hover {
        transform: scale(1.02);
    }

.calendar-section {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 15px;
}

    .calendar-section img {
        width: 20px;
        height: 20px;
    }

.compare-greater {
    font-size: 1.2rem;
    font-weight: bold;
    color: #28a745;
    margin: 0 10px;
}

.survey-buttons-container {
    text-align: center;
    margin: 30px 0;
}

    .survey-buttons-container .btn {
        min-width: 250px;
        padding: 15px 30px;
        font-size: 1.1rem;
        margin: 10px;
        border-radius: 25px;
        transition: all 0.3s ease;
    }

.loading-section {
    background: white;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    margin-top: 30px;
}

    .loading-section img {
        max-width: 150px;
        margin-top: 20px;
    }

/* Mobile Responsive Design for Modern Layout */
@media (max-width: 991px) {
    .my-result-content, .my-survey-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .my-result-sidebar, .my-survey-sidebar {
        position: relative;
       /* order: -1;*/
    }

    .my-result-header, .my-survey-header {
        padding: 16px 20px;
    }

        .my-result-header h1, .my-survey-header h1,
        .my-result-header h2, .my-survey-header h2 {
            font-size: 2rem;
        }

    .result-card, .survey-card {
        padding: 20px;
    }

    .people-image, .survey-image {
        /*max-width: 200px;*/
        width:100%;
        margin: 0 auto;
        display: block;
        margin-bottom:5px;
    }

    .survey-buttons-container .btn {
        width: 100%;
        max-width: 300px;
        margin: 10px auto;
        display: block;
    }
}

@media (max-width: 768px) {
    .my-result-container, .my-survey-container {
  padding: 10px 7px 3px 7px;
  margin:0px;
    }

    .my-result-header, .my-survey-header {
       /* padding: 15px 15px;*/
        margin-top: 140px;
        width: 100%;
    }
   
        .my-result-header h1, .my-survey-header h1,
        .my-result-header h2, .my-survey-header h2 {
            font-size: 1.2rem;
        }

    .result-card, .survey-card {
        padding: 15px;
        margin-bottom: 15px;
    }

    .result-card-header, .survey-card-header {
        font-size: 1.3rem;
    }

    .calendar-section {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .loading-section {
        padding: 25px 15px;
    }
}

@media (max-width: 480px) {
    .my-result-header h1, .my-survey-header h1,
    .my-result-header h2, .my-survey-header h2 {
        font-size: 1rem !important;
    }

    .result-card-header, .survey-card-header {
        font-size: 1rem !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .result-links li, .survey-links li {
        padding-left: 20px;
        font-size: 0.9rem;
    }

    .survey-buttons-container .btn {
        font-size: 14px !important;
        padding: 12px 20px !important;
        margin: 8px auto !important;
    }
}

/* Progress bar specific styling for ParticipantHraPage */
.progress-bar-container {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    border: 2px solid #dee2e6;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
}

    .progress-bar-container:hover {
        border-color: #00b1dc;
        background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
        transform: translateY(-2px);
        transition: all 0.3s ease;
    }

@media (max-width: 768px) {
    .progress-bar-container {
        padding: 15px !important;
        min-height: 60px;
    }
}

@media (max-width: 480px) {
    .progress-bar-container {
        padding: 10px !important;
        min-height: 50px;
    }
}

/* Icon styles for different sections */
.survey-icon::before {
    content: "📋";
}

.article-icon::before {
    content: "📚";
}

.numbers-icon::before {
    content: "📊";
}

.health-icon::before {
    content: "👩‍⚕️";
}

.form-icon::before {
    content: "📄";
}

.start-icon::before {
    content: "🚀";
}

.loading-icon::before {
    content: "⏳";
}

.calendar-icon::before {
    content: "📅";
}

.goals-icon::before {
    content: "🎯";
}

.activity-icon::before {
    content: "🏃‍♀️";
}

.muscle-icon::before {
    content: "💪";
}

.thoughts-icon::before {
    content: "💭";
}

.reward-icon::before {
    content: "🏆";
}
/* Rating icon: shows a star (similar approach to reward-icon) */
.rating-icon::before {
    content: "⭐";
    font-size: inherit;
    color: inherit;
}

.feeling-happy::before {
    content: "😊";
}

.hours-sleep-icon::before {
    content: "🛌";
}

.exercise-running::before {
    content: "🏃";
}

.high-sugar-drink::before {
    content: "\1F964"; /* The Unicode value for 🥤 */
}

.icon-wheat::before {
    font-family: "Font Awesome 6 Solid"; /* Must specify the correct font family/style */
    content: "\f72d"; /* The unicode value for 'wheat' */
    font-weight: 900; /* Use 900 for solid style, 400 for regular */
}

.icon-fruits::before {
    content: "\1F345";
}

.icon-grain::before {
    content: "\1F33E";
}




/* =================================
   PHYSICAL ACTIVITY TRACKER STYLES
   ================================= */

/* Offset for NewMaster fixed header (translate row + #cstm-nav). Inline 104px was too small on phones/tablets. */
.tracker-page-below-header {
    margin-top: 104px;
}

@media (max-width: 1199.98px) {
    .tracker-page-below-header {
        margin-top: 118px;
    }
}

@media (max-width: 991.98px) {
    .tracker-page-below-header {
        margin-top: 132px;
    }
}

@media (max-width: 767.98px) {
    .tracker-page-below-header {
        margin-top: 158px;
    }
}

@media (max-width: 575.98px) {
    .tracker-page-below-header {
        margin-top: 150px;
    }
}

/* Tracker Navigation Tabs — same box + weight for all; JS uses fontWeight 700 so active tab does not get wider and wrap */
.tracker-nav-section .row > [class*="col-"] {
    min-width: 0; /* let labels wrap inside 50% cells on small screens */
}

.tracker-nav-section .tracker-tab-btn {
    border-radius: 8px;
    transition: all 0.3s ease;
    opacity: 0.8;
    border: 2px solid transparent;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: 0;
    max-width: 100%;
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.5rem 0.45rem;
    line-height: 1.25;
    font-size: 0.875rem;
    /* 750: between semibold and extra-bold; overrides .fw-700 on the button */
    font-weight: 750 !important;
    text-align: center;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
}

    .tracker-nav-section .tracker-tab-btn:hover {
        opacity: 1;
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        border-color: #667eea;
    }

    .tracker-nav-section .tracker-tab-btn.active {
        opacity: 1;
        border-color: #667eea;
        box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
    }

    /* Teal highlight uses white label; overrides .cstm-clr-7 (black !important) */
    .tracker-nav-section .tracker-tab-btn.active,
    .tracker-nav-section .tracker-tab-btn:hover {
        color: #ffffff !important;
    }

/* Modern Calendar Styling */
.modern-tracker-calendar {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.modern-calendar-title {
    background: linear-gradient(135deg, #eeaf57 0%, #E8941E 100%) !important;
    color: white !important;
    font-weight: 600 !important;
    padding: 0.85rem 1rem !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}

/* Month prev/next chevrons — match larger title bar (orange header only) */
.modern-calendar-title a {
    font-size: 1.1rem !important;
    line-height: 1 !important;
    padding: 0.15rem 0.5rem !important;
}

.modern-calendar-day-header {
    background-color: #f8f9fa !important;
    color: #495057 !important;
    font-weight: 600 !important;
    padding: 8px 5px !important;
    text-align: center !important;
    border-bottom: 1px solid #dee2e6 !important;
    font-size: 0.85rem !important;
}

.modern-calendar-day {
    background-color: #fff !important;
    color: #495057 !important;
    padding: 10px 8px !important;
    text-align: center !important;
    border: 1px solid #e9ecef !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    min-height: 40px !important;
}

    .modern-calendar-day.modern-calendar-day-enabled {
        color: #212529 !important;
    }

    .modern-calendar-day.modern-calendar-day-disabled {
        color: #b5bcc3 !important;
        background-color: #f4f5f6 !important;
        cursor: default !important;
    }

        .modern-calendar-day.modern-calendar-day-disabled:hover {
            background-color: #f4f5f6 !important;
            color: #b5bcc3 !important;
        }

    .modern-calendar-day:hover {
        background-color: #e3f2fd !important;
        color: #1976d2 !important;
    }

    .modern-calendar-day.modern-calendar-day-enabled:hover {
        background-color: #e3f2fd !important;
        color: #1976d2 !important;
    }

.modern-calendar-selected-day {
    background-color: #E8941E !important;
    color: white !important;
    font-weight: 600 !important;
}

/* Activity Configuration Cards */
.config-card {
    background: #fff;
    border-radius: 12px;
    transition: all 0.3s ease;
    height: 100%;
}

/* Exercise Library iframe page: card grows with content so the bottom is not clipped on narrow viewports */
.exercise-library-page .config-card {
    height: auto;
    min-height: 0;
    overflow: visible;
}

    .exercise-library-page .config-card > div {
        overflow: visible;
        min-height: 0;
    }

.config-card:hover {
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.config-card h6 {
    color: #667eea;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid #f8f9fa;
}

/* Activity Lists */
.activity-lists-container {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e9ecef;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    container-type: inline-size;
    container-name: activity-lists;
}

.activity-list-wrapper {
    background: white;
    border-radius: 8px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Activity / muscle lists inside activity-lists-container (SelectionList & ActivitySelectionList tables) */
.activity-lists-container .activity-list-wrapper table[id$="selectionList"] {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    /* vertical gap between option rows (horizontal gap 0 keeps column layout tight) */
    border-spacing: 0 0.45rem;
}

    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] td {
        vertical-align: top;
        word-wrap: break-word;
        overflow-wrap: break-word;
        min-width: 0;
    }

    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-layout-style,
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-layout-style td {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-inside-text-style {
        white-space: normal;
    }

    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-outside-text-style,
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-outside-text-space-style,
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] .option-outside-sub-text-style {
        white-space: normal;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
    }

/* Below large breakpoint: two columns + compact labels (avoids 5-col squeeze on tablets / narrow cards) */
@media (max-width: 1199px) {
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"],
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tbody {
        display: block !important;
        width: 100% !important;
    }

        .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr.option-list-row {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 0.5rem 0.35rem;
            align-items: flex-start;
            width: 100%;
            box-sizing: border-box;
            margin: 0 0 0.5rem 0;
            padding: 0 0 0.5rem 0;
        }

            .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr.option-list-row > td {
                display: block !important;
                flex: 1 1 calc(50% - 0.35rem) !important;
                min-width: 0 !important;
                max-width: calc(50% - 0.35rem) !important;
                box-sizing: border-box;
                padding: 2px;
            }

        .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr:not(.option-list-row) {
            display: block !important;
            width: 100%;
        }

            .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr:not(.option-list-row) td.row-space {
                display: block;
                width: 100%;
                height: 8px;
                padding: 0;
            }

    .activity-section table[id$="selectionList"],
    .muscle-section table[id$="selectionList"] {
        font-size: 0.8125rem;
    }

        .activity-section table[id$="selectionList"] .option-outside-text-style,
        .activity-section table[id$="selectionList"] .option-outside-text-space-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-space-style {
            font-size: 0.8125rem;
            line-height: 1.25;
        }

        .activity-section table[id$="selectionList"] .option-outside-sub-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-sub-text-style {
            font-size: 0.6875rem;
            line-height: 1.2;
        }

        .activity-section table[id$="selectionList"] .option-inside-text-style,
        .muscle-section table[id$="selectionList"] .option-inside-text-style {
            font-size: 0.8125rem;
        }
}

@media (max-width: 575px) {
    .activity-section table[id$="selectionList"],
    .muscle-section table[id$="selectionList"] {
        font-size: 0.75rem;
    }

        .activity-section table[id$="selectionList"] .option-outside-text-style,
        .activity-section table[id$="selectionList"] .option-outside-text-space-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-space-style {
            font-size: 0.75rem;
        }

        .activity-section table[id$="selectionList"] .option-outside-sub-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-sub-text-style {
            font-size: 0.65rem;
        }
}

/* When the list box itself is narrow (large viewport but tight column), still use two columns */
@container activity-lists (max-width: 720px) {
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"],
    .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tbody {
        display: block !important;
        width: 100% !important;
    }

        .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr.option-list-row {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 0.5rem 0.35rem;
            align-items: flex-start;
            width: 100%;
            box-sizing: border-box;
            margin: 0px 0px 0px 0px;
            padding: 0px 0px 0px 0px;
        }

            .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr.option-list-row > td {
                display: block !important;
                flex: 1 1 calc(50% - 0.35rem) !important;
                min-width: 0 !important;
                max-width: calc(50% - 0.35rem) !important;
                box-sizing: border-box;
                padding: 2px;
            }

        .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr:not(.option-list-row) {
            display: block !important;
            width: 100%;
        }

            .activity-lists-container .activity-list-wrapper table[id$="selectionList"] tr:not(.option-list-row) td.row-space {
                display: block;
                width: 100%;
                height: 8px;
                padding: 0;
            }

    .activity-section table[id$="selectionList"],
    .muscle-section table[id$="selectionList"] {
        font-size: 0.8125rem;
    }

        .activity-section table[id$="selectionList"] .option-outside-text-style,
        .activity-section table[id$="selectionList"] .option-outside-text-space-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-text-space-style {
            font-size: 0.8125rem;
            line-height: 2.25;
        }

        .activity-section table[id$="selectionList"] .option-outside-sub-text-style,
        .muscle-section table[id$="selectionList"] .option-outside-sub-text-style {
            font-size: 0.6875rem;
            line-height: 1.2;
        }

        .activity-section table[id$="selectionList"] .option-inside-text-style,
        .muscle-section table[id$="selectionList"] .option-inside-text-style {
            font-size: 0.8125rem;
        }
}

/* Nutrition tracker — frame around calendar / goals / rewards (align with fruit/grain .border.p-3 cards) */
.nutrition-tracker-dashboard-highlight {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 1rem;
    border-radius: 0.5rem;
    background: #fff;
    border: 1px solid #dee2e6;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* Nutrition tracker: horizontal SelectionList wraps instead of overflowing narrow cards */
.nutrition-tracker-selection-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

    .nutrition-tracker-selection-wrap > div {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .nutrition-tracker-selection-wrap table[id$="selectionList"] {
        width: 100%;
        max-width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        table-layout: auto;
    }

        .nutrition-tracker-selection-wrap table[id$="selectionList"] td {
            vertical-align: top;
        }

        .nutrition-tracker-selection-wrap table[id$="selectionList"],
        .nutrition-tracker-selection-wrap table[id$="selectionList"] tbody {
            display: block;
            width: 100%;
        }

            .nutrition-tracker-selection-wrap table[id$="selectionList"] tr.option-list-row {
                display: flex;
                flex-wrap: wrap;
                gap: 0.35rem 0.35rem;
                align-items: flex-start;
                width: 100%;
                box-sizing: border-box;
                margin: 0;
                padding: 0 0 0.5rem 0;
            }

                .nutrition-tracker-selection-wrap table[id$="selectionList"] tr.option-list-row > td {
                    display: block;
                    flex: 0 0 auto;
                    width: auto;
                    min-width: 0;
                    box-sizing: border-box;
                    padding: 2px;
                }

            .nutrition-tracker-selection-wrap table[id$="selectionList"] tr:not(.option-list-row) {
                display: block;
                width: 100%;
            }

                .nutrition-tracker-selection-wrap table[id$="selectionList"] tr:not(.option-list-row) td.row-space {
                    display: block;
                    width: 100%;
                    height: 6px;
                    padding: 0;
                }

/* Nutrition cards: "See more" panel stacks above selection + example image; row height = max(both) so the next card moves down */
.nutrition-card-overlay-stack {
    display: grid;
    grid-template-areas: "content";
    /* Same cell height = max(base, expanded) so the card below in the page moves down */
    align-items: stretch;
    width: 100%;
    min-width: 0;
    isolation: isolate;
}

    .nutrition-card-overlay-stack > .nutrition-card-base {
        grid-area: content;
        z-index: 0;
        width: 100%;
        min-width: 0;
    }

    .nutrition-card-overlay-stack:has(> .collapse.show) > .nutrition-card-base {
        visibility: hidden;
        pointer-events: none;
        user-select: none;
    }

    .nutrition-card-overlay-stack > .collapse.nutrition-explanation-pop {
        grid-area: content;
        z-index: 1;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: hidden;
    }

    .nutrition-card-overlay-stack > .collapse.show.nutrition-explanation-pop {
        pointer-events: auto;
    }

    .nutrition-explanation-pop > .bg-white {
        min-height: 100%;
        min-width: 0;
        max-width: 100%;
        max-height: 85vh;
        overflow-y: auto;
        overflow-x: hidden;
        background-color: #fff;
        box-shadow: 0 0.35rem 1.25rem rgba(0, 0, 0, 0.1);
        box-sizing: border-box;
    }

    .nutrition-explanation-pop .row {
        min-width: 0;
        max-width: 100%;
    }

    .nutrition-explanation-pop [class*="col-"] {
        min-width: 0;
    }

    .nutrition-explanation-pop .row + p,
    .nutrition-explanation-pop p.px-2,
    .nutrition-explanation-pop ul,
    .nutrition-explanation-pop li {
        max-width: 100%;
    }

    .nutrition-explanation-pop li,
    .nutrition-explanation-pop p,
    .nutrition-explanation-pop ul {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .nutrition-explanation-pop__header .btn-close {
        padding: 0.35rem;
        background-size: 0.7em 0.7em;
    }

/* Activity Header with Toggle */
.activity-header {
    cursor: pointer;
    border-radius: 8px;
    padding: 15px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    transition: all 0.3s ease;
}

    .activity-header:hover {
        background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
        transform: translateY(-1px);
    }

/* Muscle section uses same activity-header shell as aerobic, without expand/toggle */
.muscle-section .activity-header {
    cursor: default;
}

    .muscle-section .activity-header:hover {
        transform: none;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    }

.activity-toggle-btn {
    transition: transform 0.3s ease;
}

.activity-expander .cursor-pointer:hover .activity-toggle-btn {
    transform: rotate(180deg);
}

/* Form Controls Enhancement */
.config-card .form-control {
    border-radius: 8px;
    border: 2px solid #e9ecef;
    padding: 10px 15px;
    transition: all 0.3s ease;
}

    .config-card .form-control:focus {
        border-color: #667eea;
        box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
    }

/* Time Input Styling */
.time-inputs .form-control {
    text-align: center;
    font-weight: 500;
}

/* HOURS / MINUTES captions: slight right offset so they sit better under the fields */
.time-inputs .small.text-muted,
.time-inputs label.small {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    padding-left: 0.5rem;
}

/* Miles — same treatment as time fields (centered value/placeholder; helper text nudged right) */
.distance-input .form-control {
    text-align: center;
    font-weight: 500;
}

.distance-input small.text-muted,
.distance-input .small.text-muted {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    padding-left: 0.5rem;
}

/* Weight tracker — middle biometric cards (row of compact panels + Goal / Hint bars) */
/* Same inset as .thoughts-section so this row aligns with Post your thoughts */
.weight-tracker-metrics {
    padding: 1.5rem;
    box-sizing: border-box;
}

/* Weight tracker only: Post your thoughts block — same outer inset + row gutter as .weight-tracker-metrics so header/textarea/buttons line up with the metric cards */
.weight-tracker-thoughts-outer {
    padding: 1.5rem;
    box-sizing: border-box;
}

    .weight-tracker-metrics > .row {
        align-items: stretch;
    }

    .weight-tracker-metrics > .row > [class*="col-"] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

        .weight-tracker-metrics > .row > [class*="col-"] > .wt-metric-card {
            flex: 1 1 auto;
            width: 100%;
            min-width: 0;
            min-height: 100%;
        }

    .weight-tracker-metrics .wt-metric-card {
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        background: #fff;
        padding: 1rem 0.6rem;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }

        .weight-tracker-metrics .wt-metric-card > .wt-metric-card__title,
        .weight-tracker-metrics .wt-metric-card > .wt-metric-card__input-wrap,
        .weight-tracker-metrics .wt-metric-card > .wt-metric-card__goal-bar,
        .weight-tracker-metrics .wt-metric-card > .wt-metric-card__text--goal,
        .weight-tracker-metrics .wt-metric-card > .wt-metric-card__hint-bar {
            flex-shrink: 0;
        }

    .weight-tracker-metrics .wt-metric-card__hint-bar + .wt-metric-card__text {
        flex: 1 1 auto;
        min-height: 0;
        margin-bottom: 0;
        overflow-y: auto;
        overflow-wrap: break-word;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .weight-tracker-metrics .wt-metric-card__title {
        font-weight: 700;
        font-size: 0.8125rem;
        color: #1a2d4d;
        margin-bottom: 0.65rem;
        line-height: 1.25;
        font-variant: normal;
        letter-spacing: 0.02em;
        text-transform: none;
        min-height: calc(2 * 0.8125rem * 1.25);
        box-sizing: border-box;
    }

    /* BP title: one line, same letter-spacing as other cards, extra space between words */
    .weight-tracker-metrics .wt-metric-card__title--single-line {
        white-space: nowrap;
        font-size: 0.8125rem;
        letter-spacing: 0.03em;
        word-spacing: 0.12em;
    }

    .weight-tracker-metrics .wt-metric-card__input-wrap {
        margin-bottom: 1.25rem;
        min-height: 2.75rem;
        box-sizing: border-box;
    }

    /* Blood pressure: two inputs + slash always on one line, equal width */
    .weight-tracker-metrics .wt-metric-bp-row {
        width: 100%;
    }

        .weight-tracker-metrics .wt-metric-bp-row > .wt-metric-input-with-unit {
            flex: 1 1 0;
            min-width: 0;
        }

    /* Metric textboxes: light gray border, rounded corners, inner-right unit label, blue focus ring */
    .weight-tracker-metrics .wt-metric-input-with-unit {
        position: relative;
        width: 100%;
    }

        .weight-tracker-metrics .wt-metric-input-with-unit .form-control.wt-metric-input {
            width: 100%;
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
            border: 2px solid #d3d3d3;
            border-radius: 5px;
            padding: 0.32rem 2.5rem 0.32rem 0.5rem;
            font-size: 0.9375rem;
            line-height: 1.2;
            min-height: 0;
            height: auto;
            background-color: #fff;
        }

            .weight-tracker-metrics .wt-metric-input-with-unit .form-control.wt-metric-input:focus {
                border-color: #94a3b8;
                outline: none;
                box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.22);
            }

            .weight-tracker-metrics .wt-metric-input-with-unit .form-control.wt-metric-input::placeholder {
                color: #c4c4c4;
                opacity: 1;
                font-weight: 400;
                font-size: 0.75rem;
                line-height: 1.2;
            }

            .weight-tracker-metrics .wt-metric-input-with-unit .form-control.wt-metric-input::-webkit-input-placeholder {
                font-size: 0.75rem;
                line-height: 1.2;
            }

            .weight-tracker-metrics .wt-metric-input-with-unit .form-control.wt-metric-input::-moz-placeholder {
                font-size: 0.75rem;
                line-height: 1.2;
            }

    /* Unit suffix: bold, dark, right (all metric fields) */
    .weight-tracker-metrics .wt-metric-input-unit {
        position: absolute;
        right: 0.45rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 0.875rem;
        font-weight: 700;
        color: #1a2d4d;
        pointer-events: none;
        white-space: nowrap;
        line-height: 1;
    }

    /* Narrow BP pair: slightly smaller unit so “mmHg” fits */
    .weight-tracker-metrics .wt-metric-bp-row .wt-metric-input-unit {
        font-size: 0.6875rem;
        right: 0.35rem;
    }

    .weight-tracker-metrics .wt-metric-card__goal-bar {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.4rem;
        width: 100%;
        box-sizing: border-box;
        background: #ffecc7;
        color: #1a1a1a;
        font-weight: 700;
        font-size: 0.8125rem;
        line-height: 1.2;
        letter-spacing: 0.01em;
        text-transform: none;
        padding: 8px 10px;
        min-height: 34px;
        border-radius: 5px;
        border: 1px solid #f3e2bc;
        margin-bottom: 0.45rem;
    }

    .weight-tracker-metrics .wt-metric-card__goal-bar-text {
        flex: 0 0 auto;
    }

    .weight-tracker-metrics .wt-metric-card__goal-icon {
        flex-shrink: 0;
        width: 16px;
        height: 16px;
        color: #000;
    }

    .weight-tracker-metrics .wt-metric-card__hint-bar {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.4rem;
        width: 100%;
        box-sizing: border-box;
        background: #2d8eaf33;
        color: #000;
        font-weight: 700;
        font-size: 0.8125rem;
        line-height: 1.2;
        letter-spacing: 0.01em;
        text-transform: none;
        padding: 8px 10px;
        min-height: 34px;
        border-radius: 7px;
        border: none;
        margin-bottom: 0.45rem;
        margin-top: 0;
    }

    .weight-tracker-metrics .wt-metric-card__hint-bar-text {
        flex: 0 0 auto;
    }

    .weight-tracker-metrics .wt-metric-card__hint-icon {
        flex-shrink: 0;
        width: 16px;
        height: 16px;
        color: #000;
    }

    .weight-tracker-metrics .wt-metric-card__text {
        font-size: 0.75rem;
        line-height: 1.4;
        color: #3d3d3d;
        margin: 0 0 0.25rem 0;
    }

    /* Fixed goal block so teal Hint row stays aligned; scroll if copy is long */
    .weight-tracker-metrics .wt-metric-card__text--goal {
        min-height: calc(5 * 0.75rem * 1.4);
        height: calc(5 * 0.75rem * 1.4);
        overflow-y: auto;
        overflow-x: hidden;
        box-sizing: border-box;
        margin: 4px;
        flex: 0 0 auto;
    }

/* Mental wellness — horizontal RadioButtonLists (sleep hours, overall rating, etc.): full width, first left, last right, space-between */
.mw-radio-list-spread {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    border-collapse: collapse;
}

    /* Overall rating & sleep hours: 75% width, flush left so first option sits at the left edge of the card */
    .mw-radio-list-spread.mw-radio-list-75 {
        width: 80% !important;
        max-width: 80%;
        margin-left: 0;
        margin-right: auto;
    }

        .mw-radio-list-spread.mw-radio-list-75 td:first-child {
            text-align: left;
            padding-left: 0;
        }

    .mw-radio-list-spread tbody {
        display: block;
        width: 100%;
    }

.mw-radio-list-spread tr {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

    /* Yes/No pairs: keep options near each other (not at opposite ends of the row) */
    .mw-radio-list-spread.mw-radio-list-binary tr {
        justify-content: flex-start;
        gap: 13.5rem;
    }

    /* Three-up Mental Wellness: tighten gap (global binary uses 13.5rem) */
    .mw-boolean-questions-row .mw-radio-list-spread.mw-radio-list-binary tr {
        gap: 1.25rem;
    }

    /* Yes/No three-up: title + emoji flush to teal rule; no min-height (avoids fake gap) */
    .mw-boolean-questions-row .mw-boolean-card {
        min-height: 0;
    }

    .mw-boolean-questions-row .result-card-header.mw-boolean-card__header {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: nowrap;
        gap: 0.4rem 0.55rem;
        line-height: 1.3;
        margin-bottom: 0.5rem;
        padding-bottom: 0.12rem;
        flex: 0 0 auto;
    }

    .mw-boolean-questions-row .result-card-header.mw-boolean-card__header > span {
        flex: 1 1 auto;
        min-width: 0;
    }

    .mw-boolean-questions-row .result-card-header.mw-boolean-card__header::before {
        width: auto;
        height: auto;
        border-radius: 0;
        font-size: 1.15rem;
        line-height: 1;
        margin-top: 0.08rem;
        flex-shrink: 0;
    }

    .mw-boolean-questions-row .config-card.mw-boolean-card__body {
        height: auto !important;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .mw-boolean-questions-row .config-card.mw-boolean-card__body .mw-radio-list-spread {
        margin: 0;
    }

    .mw-radio-list-spread.mw-radio-list-binary td:last-child {
        text-align: left;
    }

    .mw-radio-list-spread td {
        flex: 0 0 auto;
        width: auto !important;
        padding: 0.35rem 0;
    }

        .mw-radio-list-spread td label {
            margin-bottom: 0;
        }

        .mw-radio-list-spread td:first-child {
            text-align: left;
        }

        .mw-radio-list-spread td:last-child {
            text-align: right;
        }

        .mw-radio-list-spread td:not(:first-child):not(:last-child) {
            text-align: center;
        }

/* Thoughts section: default inner padding (trackers; markup uses white card on Nutrition/Weight) */
.thoughts-section {
    padding: 0 !important;
}

/* Physical Activity: Post your thoughts wrapped in .muscle-section + .row.g-3 like Muscle Conditioning */
.thoughts-section.thoughts-section--align-activity-muscle {
    padding-top: 0.5rem !important;
    padding-bottom: 0.75rem !important;
}

/* Physical Activity: same left/right inset as .activity-lists-container (20px) so Post your thoughts lines up with Select + Time */
.thoughts-muscle-lane {
    box-sizing: border-box;
    padding: 0 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.muscle-section .thoughts-muscle-lane .row {
    --bs-gutter-x: 1rem; /* keep gutters consistent; mx-0 avoids double negative margin width loss */
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 575px) {
    .thoughts-muscle-lane {
        padding: 0 15px;
    }
}

    /* Thoughts Section — multiline textarea: thin neutral border (Physical Activity, Weight, Mental Wellness) */
    .thoughts-section textarea.form-control {
        border-radius: 10px;
        border: 1px solid #d1d5db;
        background-color: #fff;
        padding: 12px 14px;
        resize: vertical;
        min-height: 120px;
        box-shadow: none;
    }

        .thoughts-section textarea.form-control:focus {
            border-color: #b8c0cc;
            outline: none;
            box-shadow: 0 0 0 0.15rem rgba(108, 117, 125, 0.12);
        }

        /* Weight tracker thoughts: match metric textbox border + blue focus ring */
        .thoughts-section textarea.form-control.wt-thoughts-input {
            border: 2px solid #d3d3d3;
            border-radius: 5px;
        }

            .thoughts-section textarea.form-control.wt-thoughts-input:focus {
                border-color: #94a3b8;
                outline: none;
                box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.22);
            }

            .thoughts-section textarea.form-control.wt-thoughts-input::placeholder {
                color: #c4c4c4;
                opacity: 1;
                font-weight: 400;
            }

.thoughts-actions .btn {
    border-radius: 25px;
    font-weight: 500;
    text-decoration: none;
}
/* Mental Wellness (DivJournal): restore 10px radius; .wt-thoughts-input uses 5px on other trackers */
#DivJournal .thoughts-section textarea.form-control.wt-thoughts-input {
    border-radius: 10px;
}
/* Action Buttons */
.tracker-actions .btn {
    border-radius: 25px;
    font-weight: 600;
    padding: 12px 30px;
    transition: all 0.3s ease;
}

    .tracker-actions .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    }

.tracker-actions .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
}

.tracker-actions .btn-outline-secondary {
    border: 2px solid #6c757d;
    color: #6c757d;
}

    .tracker-actions .btn-outline-secondary:hover {
        background: #6c757d;
        color: white;
    }

/* Notification Enhancements */
.notification-section .alert {
    border-radius: 12px;
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.alert-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
}

.alert-danger {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c2c7 100%);
    color: #721c24;
}

.alert-info {
    background: linear-gradient(135deg, #d1ecf1 0%, #b8daff 100%);
    color: #0c5460;
}

/* Reward Section */
.reward-details .btn {
    border-radius: 20px;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* Tracker "Your Total Earned" card: align DETAIL button under the circle */
.tracker-top-cards-row .result-card-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.tracker-top-cards-row .reward-details {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
}

    .tracker-top-cards-row .reward-details .btn,
    .tracker-top-cards-row .reward-details input[type="image"],
    .tracker-top-cards-row .reward-details input[type="submit"] {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

/* Modal Enhancements */
.modal-content {
    /* border-radius: 15px;*/
    border: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

.modal-header {
    background: linear-gradient(135deg, #8fd8ea 0%, #00B1DC 100%);
    /* background: linear-gradient(135deg, #f6c37b 0%, #E8941E 100%);*/
    color: white;
    /* border-radius: 15px 15px 0 0;*/
    border-bottom: none;
}

.modal-title {
    font-weight: 600;
}

/* Responsive Tracker Design */
@media (max-width: 1199px) {
    .config-card {
        margin-bottom: 20px;
    }

    .tracker-actions {
        flex-direction: column;
        gap: 15px;
    }

    .action-buttons {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 991px) {
    .tracker-nav-section .col-6 {
        margin-bottom: 10px;
    }

    .modern-calendar-day {
        padding: 8px 5px !important;
        min-height: 35px !important;
        font-size: 0.9rem !important;
    }

    .config-card h6 {
        font-size: 1rem;
    }
}

@media (max-width: 767px) {
    .activity-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .activity-expander {
        align-self: flex-end;
    }

    .tracker-actions .btn {
        width: 100%;
        margin-bottom: 10px;
    }

    .thoughts-section .col-lg-8,
    .thoughts-section .col-lg-4 {
        margin-bottom: 15px;
    }

    .modern-calendar-day {
        padding: 6px 3px !important;
        min-height: 30px !important;
        font-size: 0.8rem !important;
    }
}

@media (max-width: 575px) {
    .tracker-nav-section .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .config-card {
        padding: 15px !important;
    }

    .activity-lists-container {
        padding: 15px;
    }

    .tracker-actions .btn {
        font-size: 14px;
        padding: 10px 20px;
    }
}
/* Animation for smooth transitions */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.config-card, .activity-lists-container, .thoughts-section {
    animation: fadeInUp 0.6s ease-out;
}

    /* Hover effects for interactive elements */
    .config-card:hover,
    .activity-lists-container:hover {
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    }

/* Focus styles for accessibility */
.form-control:focus,
.btn:focus {
    outline: 2px solid #667eea;
    outline-offset: 2px;
}

/* Custom scrollbar for text areas */
.thoughts-section textarea::-webkit-scrollbar {
    width: 8px;
}

.thoughts-section textarea::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.thoughts-section textarea::-webkit-scrollbar-thumb {
    background: #667eea;
    border-radius: 4px;
}

    .thoughts-section textarea::-webkit-scrollbar-thumb:hover {
        background: #764ba2;
    }

.selected-option-small {
    background-image: url('../App_Themes/images/Trackers/option_green_small.png');
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px 0px 0px 0px;
}

.unselected-option-small {
    background-image: url('../App_Themes/images/Trackers/option_gray_small.png');
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px;
}

.selected-option-normal {
    background-image: url('../App_Themes/images/Trackers/option_green_normal.gif');
    background-repeat: no-repeat;
    height: 26px;
    width: 26px;
    min-width: 26px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px 0px 0px 0px;
}

.unselected-option-normal {
    background-image: url('../App_Themes/images/Trackers/option_gray_normal.gif');
    background-repeat: no-repeat;
    height: 26px;
    width: 26px;
    min-width: 26px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px;
}

.selected-option-large {
    background-image: url('../App_Themes/images/Trackers/option_green_large.gif');
    background-repeat: no-repeat;
    height: 26px;
    width: 40px;
    min-width: 40px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px 0px 0px 0px;
}

.unselected-option-large {
    background-image: url('../App_Themes/images/Trackers/option_gray_large.gif');
    background-repeat: no-repeat;
    height: 26px;
    width: 40px;
    min-width: 40px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px;
}

.selected-option-extralarge {
    background-image: url('../App_Themes/images/Trackers/option_green_extralarge.gif');
    background-repeat: no-repeat;
    height: 28px;
    width: 102px;
    min-width: 102px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px 0px 0px 0px;
}

.unselected-option-extralarge {
    background-image: url('../App_Themes/images/Trackers/option_gray_extralarge.gif');
    background-repeat: no-repeat;
    height: 28px;
    width: 102px;
    min-width: 102px;
    text-align: center;
    vertical-align: middle;
    cursor: default;
    display: table;
    margin: 5px;
    padding: 0px;
}

.modal-header {
    background-color: #E6FAFF;
}


.cstm-clr-green {
    color: #339900 !important; /* dark green, replace with your preferred color */
    font-size: 18px !important;
}


.cstm-clr-blue {
    color: #003366 !important; /* dark blue, replace with your preferred color */
    font-size: 14px !important;
    font-weight: 700 !important;
}

input[type="radio"] + label {
    margin-left: 9px;
    margin-right: 6px;
}

input[type="checkbox"] + label {
    margin-left: 7px;
    margin-right: 7px;
}
/*button, input, optgroup, select, textarea {
    margin: 6px;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}*/
iframe-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
}

.iframe-container iframe {
    /* position: absolute;*/
    /*  top: 10%;
    left: 20%;*/
    width: 100%;
    border: 0;
}



/* ------------------------------
   AYOH Tabs - Responsive Layout
--------------------------------*/

.ayoh-months-tabs {
    display: flex;
    flex-wrap: wrap; /* Tabs will wrap on smaller screens */
    justify-content: center; /* Center tabs horizontally */
    list-style: none;
    padding: 0;
    margin: 0;
    float: left
}

    .ayoh-months-tabs ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
    }

    .ayoh-months-tabs li {
        flex: 1 1 100%; /* full width by default (mobile) */
        text-align: center;
        /* padding: 10px;*/
        box-sizing: border-box;
        cursor: pointer;
        transition: background-color 0.2s ease-in-out;
        list-style: none;
    }

@media (min-width: 600px) {
    .ayoh-months-tabs li {
        flex: 1 1 auto; /* side by side on larger screens */
        width: auto;
    }
}

.ayoh-months-tabs .selected {
    background: none;
    margin: 0;
    padding: 0;
}

/* ------------------------------
   Responsive Tables
--------------------------------*/

.ayohtable {
    width: 100%;
    border: 1px solid black;
    border-collapse: collapse;
    overflow-x: auto; /* allows horizontal scroll on small screens */
    display: block; /* makes it scrollable */
}

    .ayohtable th,
    .ayohtable td {
        border: 1px solid black;
        padding: 8px;
        text-align: center;
        white-space: nowrap;
    }

    .ayohtable th {
        background-color: silver;
        font-weight: bold;
    }

@media (max-width: 768px) {
    .ayohtable th, .ayohtable td {
        font-size: 0.85rem;
        padding: 6px;
    }
}

/* ------------------------------
   AYOH Arrows / Buttons
--------------------------------*/

.month-arrow,
.participation-arrow {
    background: url(../../App_Themes/Theme1/images/Power_of_two/week_arrow.gif) no-repeat left center;
    background-size: contain;
    width: 100%;
    max-width: 225px; /* limit size on large screens */
    height: auto;
    aspect-ratio: 225 / 61; /* keeps same proportions */
    color: #fff;
    font-size: 1.1rem;
    font-weight: normal;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

@media (max-width: 576px) {
    .month-arrow, .participation-arrow {
        max-width: 180px;
        font-size: 0.9rem;
    }
}

/* ------------------------------
   Attestation Popup Styles
--------------------------------*/

.attestation-popup-top-sec {
    font-family: Arial, Helvetica, sans-serif;
    color: #616263;
    margin: 0 0 15px;
    padding: 0 1rem;
}

.attestation-popup-row {
    margin: 0 0 5px;
    clear: both;
    font-size: 0.9rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.attestation-input-labels {
    flex: 1 1 100%;
    font-weight: bold;
    margin-bottom: 5px;
}

@media (min-width: 768px) {
    .attestation-input-labels {
        flex: 0 0 30%;
        margin-bottom: 0;
    }
}

/* Message box and other small tweaks */
.periodElapsedMessage {
    border: none;
}

.Challenge-bd-content {
    max-width: 100% !important;
    width: 100% !important;
}

/* Header */
.lm-header {
    width: 100%;
    padding: 15px;
    background-size: cover;
}

.lm-logo {
    max-width: 180px;
    width: 100%;
    height: auto;
}

/* Top Links */
.lm-top-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 15px;
    margin: 10px 0;
}

    .lm-top-links .link {
        font-size: 14px;
        white-space: nowrap;
    }

/* Main container */
.lm-container {
    padding: 20px;
}

.challenge-name {
    font-size: 24px;
    font-weight: bold;
    background-color: #0dcaf0 !important;
    padding: 20px;
    border-radius: 4px;
    text-transform: uppercase;
    color: white;
}

/* Make lists indent nicely */
.lm-list {
    margin-left: 20px;
}

/* Register Button */
.lm-register-btn {
    text-align: center;
    margin: 25px 0;
}

.lm-register-img {
    max-width: 220px;
    width: 100%;
    height: auto;
}

/* Mobile Friendly */
@media(max-width: 768px) {

    .lm-top-links {
        justify-content: center;
        text-align: center;
    }

    .challenge-name {
        text-align: center;
        font-size: 22px;
    }

    .lm-container {
        padding: 10px;
    }
}



/* Header */
.dc-header {
    width: 100%;
    padding: 15px 10px;
}

.dc-logo {
    max-width: 180px;
    width: 100%;
    height: auto;
}

/* Top Links */
.dc-top-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-end;
    margin: 10px 0;
}

/* Main Container */
.dc-container {
    padding: 15px;
}

/* Challenge Info (2-column responsive) */
.dc-info-area {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.dc-info-left {
    flex: 1 1 60%;
}

.dc-info-right {
    flex: 1 1 30%;
}

/* Week Header */
.dc-week-header {
    margin: 20px 0 10px 0;
    display: flex;
    justify-content: space-between;
}

/* Weight Notes */
.dc-weight-note {
    display: block;
    margin: 5px 0 10px 0;
    font-style: italic;
}

/* Grid Body */
#divLBGrid {
    margin-top: 15px;
}

/* Panels */
.dc-panels > div {
    margin-top: 25px;
}

/* Mobile Adjustments */
@media (max-width: 768px) {

    .dc-info-area {
        flex-direction: column;
    }

    .dc-top-links {
        justify-content: center;
        text-align: center;
    }

    .challenge-name {
        font-size: 24px;
        text-align: center;
    }
}

.week-nav-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 0;
}

.week-nav-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.week-nav-item {
    display: flex;
    align-items: center;
    font-size: 14px;
}

.week-nav-arrow img {
    /*width: 20px;*/
    height: auto;
    cursor: pointer;
}

/* Mobile view */
@media (max-width: 600px) {
    .week-nav-wrapper {
        justify-content: center;
    }

    .week-nav-items {
        justify-content: center;
    }

    .week-navigation-font b {
        font-size: 14px;
    }
}

.challenge-container {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.challenge-links {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.flex-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.challenge-info {
    flex: 1 1 60%;
}

.challenge-badge {
    flex: 1 1 35%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.challenge-results {
    margin-top: 15px;
}

.result-header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.my-score-row {
    margin-top: 10px;
}

@media (max-width: 768px) {
    .flex-container {
        flex-direction: column;
    }

    .challenge-info, .challenge-badge {
        flex: 1 1 100%;
        margin-bottom: 10px;
    }

    .result-header {
        flex-direction: column;
    }

    .challenge-links {
        justify-content: center;
    }
}

.hand-cursor {
    cursor: pointer;
}

.result-head {
    font-weight: bold;
    background-color: #0dcaf0 !important;
    padding: 10px;
    border-radius: 4px;
    color: white;
}

.result-title {
    font-size: 18px;
    font-weight: bold;
}

.result-note {
    font-size: 14px;
    font-weight: bold;
    padding-right: 20px;
}

.leaderboard-grid {
    background-color: lightgray;
    color: #000000;
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
}

.week-nav {
    background-color: lightgray;
    color: #000000;
    text-decoration: none;
}

.navigation-font a {
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    color: #0099cc;
}

.gridColumnHeader {
    background-color: #0dcaf0 !important;
    background-repeat: repeat-x;
    color: White;
    font-family: Arial;
    font-weight: bolder;
    font-size: 9pt;
    text-align: center;
    padding-bottom: 3px !important;
}

.gridHeaderLink {
    color: White;
    text-decoration: underline;
    font-family: Arial;
    font-weight: bold;
    font-size: 9pt;
    text-align: left;
}

.gridCellBackground {
    background-color: Transparent;
    font-family: Arial;
    font-size: 9pt;
    text-align: CENTER;
}

.normalCellData {
    text-align: center;
}

.ui-jqgrid .ui-jqgrid-hbox {
    float: left;
    padding-right: 0px !important;
}

.totalCellBackground {
    background-color: deepskyblue;
    background-repeat: no-repeat;
    font-size: 9pt;
    border-radius: 5px;
}

.gridPagerStyle {
    background-color: darkgray;
    background-repeat: no-repeat;
    font-size: 9pt;
    margin-top: 10px !important;
}

.pagerTextBox {
    font-size: 9pt;
}

.averageCellBackground {
    background-color: dodgerblue;
    background-repeat: no-repeat;
    border-radius: 5px;
    font-size: 9pt;
}

.rankCellBackground {
    background-color: orange;
    background-repeat: no-repeat;
    font-size: 9pt;
    border-radius: 5px;
}

.thumbnailStyle {
    height: 30px;
    /* width: 21px;*/
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.myscorebackground {
    text-align: center;
    height: 23px;
}

    .myscorebackground td {
        padding: .5rem;
    }

.chatter-head {
    width: 100%;
    vertical-align: middle;
    background-color: #0dcaf0 !important;
    background-repeat: no-repeat;
    padding: 10px;
    border-radius: 4px;
    color: white;
    font-style: normal;
    font-size: 24px;
}

.chatter-post {
    /* float: left;*/
    margin-top: 1px;
}

.chatter-list {
    /*  float: right;*/
    height: 400px;
    overflow: auto;
    /* width: 65%;*/
    background-color: White;
    /*   margin-right: 20px;*/
    margin-top: 5px;
}

.chatter-row {
    background-color: white;
    padding: 2.5px 5px 2.5px 5px;
    width: 100%;
}

.chatter-row-alternate {
    background-color: #CCFFFF;
    padding: 2.5px 5px 2.5px 5px;
    width: 100%;
}

.chatter-body {
    background-color: lightgray;
    margin-top: 15px;
    padding: 10px 10px 0px 10px;
    width: 100%;
    border-radius: 5px;
}

.chatter-sort-body {
    float: right;
    margin-right: 41px;
    margin-bottom: 0px;
    background-repeat: no-repeat;
    height: 26px;
    width: 130px;
    margin-top: -29px;
}

.chatter-note {
    float: right;
    width: 65%;
    padding-top: 5px;
    font-size: 9px;
}

.watermark-color {
    color: Gray;
}

.chat-time {
    font-family: Arial;
    font-size: 9px;
    color: #CCCCCC;
}

.chat-text-area {
    width: 70%;
    height: 190px;
    resize: none;
    overflow: hidden;
    font-size: 12px;
    border-style: none;
}

.new-chat-sel {
    background-color: dodgerblue;
    background-repeat: no-repeat;
    text-align: center;
    padding-top: 2px;
    float: left;
    color: White;
    width: 65px;
    height: 26px;
    cursor: pointer;
    cursor: hand;
}

.new-chat-unsel {
    background-image: url(../../App_Themes/Theme1/images/Challenges/Chatter/NEWEST_Gray_BLANK.png);
    background-repeat: no-repeat;
    text-align: center;
    padding-top: 2px;
    float: left;
    color: White;
    width: 65px;
    height: 26px;
    cursor: pointer;
    cursor: hand;
}

.old-chat-sel {
    background-image: url(../../App_Themes/Theme1/images/Challenges/Chatter/OLDEST_Blue_BLANK.png);
    background-repeat: no-repeat;
    text-align: center;
    padding-top: 2px;
    float: right;
    color: White;
    width: 65px;
    height: 26px;
    cursor: pointer;
    cursor: hand;
}

.old-chat-unsel {
    background-image: url(../../App_Themes/Theme1/images/Challenges/Chatter/OLDEST_Gray_BLANK.png);
    background-repeat: no-repeat;
    text-align: center;
    padding-top: 2px;
    float: right;
    color: White;
    width: 65px;
    height: 26px;
    cursor: pointer;
    cursor: hand;
}



.checkbox, .radio {
    width: 15px !important;
    height: 15px !important;
    padding: 0 15px 0 0;
    background: url(/App_Themes/Theme1/images/checkBox_on_off.gif) no-repeat;
    clear: left;
    float: none;
}

.inputTxt {
    padding: 5px !important;
}


.checkboxError, .radioError {
    width: 15px;
    height: 15px;
    padding: 0 5px 0 0;
    background: url(/App_Themes/Theme1/images/redCheckbox.gif) no-repeat;
    display: inline-block;
    clear: left;
}

.redText {
    color: #666;
    font-family: Arial;
    font-size: 12px;
}

.select {
    position: absolute;
    width: 158px; /* With the padding included, the width is 190 pixels: the actual width of the image. */
    height: 11px;
    padding: 0 24px 0 8px;
    color: #fff;
    background: url(/App_Themes/Theme1/images/checkBox_on_off.gif) no-repeat;
    overflow: hidden;
}

.GridBg {
    background-color: #F8F8F8;
    border: 1px solid #999;
}

.anchorLink {
    color: #39a9d9;
    text-decoration: none;
    cursor: pointer;
}


.header-daily-challenge-Spanish {
    content: "LEADERBOARD:DAILY RESUTLS";
}

.header-daily-challenge-English {
    content: "LEADERBOARD:DAILY RESUTLS";
}

.reg-form .sec {
    margin: 0 0 25px 0;
}

h2 {
    display: block;
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.dropdown-menu a:link {
    color: #212529;
    text-decoration: none;
}

.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #0dcaf0;
}


.header-learnMore-English {
    /*   background-image: url(../../App_Themes/Theme1/images/en-Us/Challenges/RULES_AND_REWARDS.png);
    background-repeat: no-repeat;
    width: 695px;
    height: 61px;
    padding-right: 50px;*/
}

.header-learnMore-Spanish {
    /* background-image: url(../../App_Themes/Theme1/images/es-US/Challenges/RULES_AND_REWARDS.png);
    background-repeat: no-repeat;
    width: 695px;
    height: 61px;
    padding-right: 50px;*/
}

.header-Register-English {
    /*   background-image: url(../../App_Themes/Theme1/images/en-US/Challenges/CHALLENGE_REGISTRATION.png);
    background-repeat: no-repeat;
    width: 695px;
    height: 61px;
    padding-right: 50px;*/
}

.header-Register-Spanish {
    /* background-image: url(../../App_Themes/Theme1/images/es-US/Challenges/CHALLENGE_REGISTRATION.png);
    background-repeat: no-repeat;
    width: 695px;
    height: 61px;
    padding-right: 50px;*/
}

a:link {
    color: #0099cc;
    text-decoration: none;
}

.note-top {
    font-style: italic;
    text-align: right;
    font-size: 10px;
    padding: 0 0 0 17px;
    margin: 0 0 0 0;
}

.note-bottom {
    font-style: italic;
    text-align: left;
    font-size: 10px;
    padding: 0 0 5px 0;
    line-height: 12px;
    margin: 10px 0 0px 0;
}

.head-image {
    padding-left: 15px;
    z-index: 1;
    float: left;
    margin-top: -42px;
}

    .head-image img {
        height: 50px !important;
    }

.gridBodyTeam {
    clear: both;
    /*  width: 655px;*/
    height: auto;
    margin-top: 0px;
    padding: 5px 10px 0px 8px;
    background-color: lightgray; /* url(../../App_Themes/Theme1/images/Challenges/Team_Box_Background.png)*/
    ;
    /* background-repeat: no-repeat;*/
}

.gridBodySentInvite {
    clear: both;
    /* width: 655px;*/
    height: auto;
    margin-top: 3px;
    padding: 5px 10px 0px 8px;
    /*  background-image: url(../../App_Themes/Theme1/images/Challenges/InviteTeamBackground.png);
    background-repeat: no-repeat;*/
}

.reg-form .row-label-second {
    float: left;
    display: block;
    line-height: 22px;
    margin: 0 5px 0 0;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 661px;
        margin: 1.75rem auto;
    }

    .breathe-better-main-content {
        display: flex;
        flex-direction: column;
        gap: 20px;
        min-width: 0; /* Prevents grid overflow */
        max-width: 1100px;
        min-width: 576px;
    }

    bb-es-row.bb-es-row-bottom {
        border-bottom: none;
        max-width: 1050px;
        min-width:576px;
    }
}


.helpText-popup-content {
    padding: 10px 0px 0px 8px;
    background-color: #fff;
    height: auto;
    padding: 15px 15px 40px 15px;
}

.helpText-popup-closeBtn {
    float: right;
    padding-right: 10px;
}

.helpText-ul {
    padding-left: 12px;
    margin-top: 0;
    margin-bottom: 0;
}

/*Css for the table that contains logo and vendor */
.deviceDetailTitle {
    margin-bottom: 5px;
    border: 0px !important;
}

/*Css for Logo td*/
.deviceDetailLogo {
    border: 0px !important;
    padding-left: 0px !important;
    padding-right: 2px !important;
    vertical-align: bottom;
}

/*Css for Vendor name td*/
.deviceDetailVendorName {
    border: 0px !important;
    font-size: large;
    font-weight: bold;
}

/*Css for the table that contains the device details*/
.deviceDetailsTable {
    border-collapse: collapse;
    width: 98%;
    margin-bottom: 15px;
    font-size: 14px;
}

.deviceDetailHeader {
    border: 1px solid black !important;
    width: 25%;
    padding: 5px;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: top;
}

/*Css for the content td in the device details table*/
.deviceDetailContent {
    border: 1px solid black !important;
    padding: 5px 10px 5px 5px;
}

/*Paragraph tag inside deviceDetailContent*/
.deviceDetailContent-p1 {
    margin-top: 0;
}

.deviceDetailContent-p2 {
    margin-bottom: 0;
}

h1 {
    font-size: 1.5rem;
}

h3 {
    display: block;
    font-size: 1.2rem;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

a {
    color: #0099cc;
    text-decoration: underline;
}
/* Healthwise styles start */
.hwContentDiv {
    padding: 0px;
    padding-left: 2px;
    padding-right: 0px;
    /* padding-top: 30px;*/
    padding-bottom: 30px;
    width: 100%;
}

.hwInnerDiv {
    margin-left: 15px;
    margin-right: 20px;
}

.hwContentDiv table {
    width: 100%;
}

.hwContentDiv td {
    padding: 0px;
}

.hwHealthAnswersLogo {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_health answers_logo.png");
    background-repeat: no-repeat;
    min-width: 148px;
    max-width: 148px;
    width: 148px;
}

.hwHealthsearchCorners_left {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_search_corners_left.png");
    background-repeat: no-repeat;
    min-width: 8px;
    width: 8px;
    height: 20px;
}

.hwHealthsearch_Center {
    background-image: url("/App_Themes/Theme1/images/Healthwise/searchBg.png");
    background-repeat: repeat-x;
    height: 39px;
}

.hwHealthsearchCorners_right {
    background-image: url("/App_Themes/Theme1/images/Healthwise/SearchRightCorner.png");
    background-repeat: no-repeat;
    height: 39px;
    min-width: 10px;
    width: 10px;
}

.hwSearchTxt {
    width: 400px;
    border-style: solid;
    border-color: Black;
    border-width: 1px;
    height: 20px;
    margin-bottom: 11px;
    margin-left: 7px;
}

.hwSymptomsImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_symptoms_blue.png");
    background-repeat: no-repeat;
    height: 105px;
    min-width: 150px;
    width: 150px;
}


.hwSymptomsBgLeft {
    background-image: url("/App_Themes/Theme1/images/Healthwise/middle.png");
    background-repeat: repeat;
}

.hwSymptomsBgRight {
    background-image: url("/App_Themes/Theme1/images/Healthwise/right.png");
    width: 23px;
    min-width: 23px;
    max-width: 23px;
    background-repeat: no-repeat;
}

.hwVerticalSeprator {
    height: 20px;
}

.hwHorizontalSeprator {
    width: 20px;
}

.hwSymptomsText {
    margin-left: 20px;
    color: #000000;
}

.hwUsingHealthCareTitle {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_healthcare_title.png");
    width: 299px;
    min-width: 299px;
    max-width: 299px;
    height: 27px;
    margin-top: 0px;
    margin-right: 2px;
    background-repeat: no-repeat;
}

.hwUsingHealthCareImage {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_healthcare_pic.png");
    width: 189px;
    min-width: 189px;
    max-width: 189px;
    height: 178px;
    background-repeat: no-repeat;
}

.hwCommonConditionsTitle {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_commoncond_title.png");
    width: 298px;
    min-width: 298px;
    max-width: 298px;
    height: 27px;
    background-repeat: no-repeat;
}

.hwCommonConditionsImage {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_commoncond_pic.png");
    width: 178px;
    min-width: 178px;
    max-width: 178px;
    height: 173px;
    background-repeat: no-repeat;
}

.hwCalculatorsTitle {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_calculators_title.png");
    width: 300px;
    min-width: 300px;
    max-width: 300px;
    height: 27px;
    background-repeat: no-repeat;
}

.hwCalculatorsImage {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_calculators_pic.png");
    width: 173px;
    min-width: 173px;
    max-width: 173px;
    height: 169px;
    background-repeat: no-repeat;
}

.hwLifestyleTitle {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_lifestyle_title.png");
    width: 301px;
    min-width: 301px;
    max-width: 301px;
    height: 25px;
    background-repeat: no-repeat;
}

.hwLifestyleImage {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_lifestyle_pic.png");
    width: 149px;
    min-width: 149px;
    max-width: 149px;
    height: 155px;
    background-repeat: no-repeat;
}

.hw_centers_heartImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_centers_heart.png");
    width: 166px;
    min-width: 166px;
    max-width: 166px;
    height: 43px;
    background-repeat: no-repeat;
}

.hw_centers_menImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_centers_mens.png");
    width: 166px;
    min-width: 166px;
    max-width: 166px;
    height: 38px;
    background-repeat: no-repeat;
}

.hw_centers_pediatricImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_centers_pediatric.png");
    width: 166px;
    min-width: 166px;
    max-width: 166px;
    height: 37px;
    background-repeat: no-repeat;
}

.hw_centers_womensImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_centers_womens.png");
    width: 166px;
    min-width: 166px;
    max-width: 166px;
    height: 41px;
    background-repeat: no-repeat;
}

.hw_pregnancyImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_pregnancy.png");
    width: 302px;
    min-width: 302px;
    max-width: 302px;
    height: 165px;
    background-repeat: no-repeat;
}

.hw_centerFiuresImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_centers_figures.png");
    width: 136px;
    min-width: 136px;
    max-width: 136px;
    height: 159px;
    background-repeat: no-repeat;
}

.hw_symptomCheckerImg {
    background-image: url("/App_Themes/Theme1/images/Healthwise/HA_symptom checker.png");
    width: 294px;
    min-width: 294px;
    max-width: 294px;
    height: 330px;
    background-repeat: no-repeat;
}

.hw_prgRight {
    background-image: url("/App_Themes/Theme1/images/Healthwise/prg_Right.png");
    width: 196px;
    min-width: 196px;
    max-width: 196px;
    height: 164px;
    background-repeat: no-repeat;
}

.hw_prgRightTop {
    background-image: url("/App_Themes/Theme1/images/Healthwise/prg_right_top.png");
    width: 144px;
    min-width: 144px;
    max-width: 144px;
    height: 85px;
    background-repeat: no-repeat;
}

.hw_SymptomsCheckerBtn {
    background-image: url("/App_Themes/Theme1/images/Healthwise/btnSymptomsChecker.png");
    width: 158px;
    min-width: 158px;
    max-width: 158px;
    height: 42px;
    background-repeat: no-repeat;
}

.hw_prgRightBottom {
    background-image: url("/App_Themes/Theme1/images/Healthwise/prg_Right_bottom.png");
    width: 144px;
    min-width: 144px;
    max-width: 144px;
    height: 45px;
    background-repeat: no-repeat;
}

.hw_list_table {
}

    .hw_list_table td a:link {
        font-family: Arial;
        font-size: 12px;
        color: #04a9d7;
        font-weight: bold;
    }

.hw_txt_symptomps {
    font-size: 7pt;
    color: #000000;
}

    .hw_txt_symptomps td a:link {
        color: #000000;
    }

.hwContentDiv a:link {
    text-decoration: none;
    color: #39bede;
}

.hwContentDiv a:visited {
    color: #39bede;
    text-decoration: none;
}

.hwContentDiv a:hover {
    text-decoration: underline;
}

#SearchResultSet {
    background-color: Blue;
    width: 500px;
}

/* Healthwise styles End */

/* MyNewsletter styles start */
.icon-plus {
    display: inline-block;
}

.icon-minus {
    display: none;
}

/* when accordion is expanded */
.accordion-button:not(.collapsed) .icon-plus {
    display: none !important;
}

.accordion-button:not(.collapsed) .icon-minus {
    display: inline-block !important;
}

.accordion-item {
    background-color: #fff;
    border: none !important;
}

/* MyNewsletter styles end */


.grid-responsive-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

    .grid-responsive-wrapper .RadGrid {
        min-width: 400px;
    }

@media (max-width: 768px) {
    .grid-responsive-wrapper .RadGrid {
        min-width: 320px;
    }
}

.marketplace-container {
    width: 100%;
    max-width: 1200px;
    /* margin: 0 auto;*/
    text-align: left;
}

@media (max-width: 992px) {
    .marketplace-container {
        width: 70%;
    }
}

@media (max-width: 768px) {
    .marketplace-container {
        width: 100%;
        max-width: none;
        text-align: left;
    }
}

.styled-paragraph1 {
    font-size: 20px;
    line-height: 1;
    margin: 0;
    padding: 0;
    color: #2cb6dd;
    font-family: Arial, Helvetica, sans-serif;
}

/*health Answer page start*/
.hwContentDiv1 {
    padding: 0px;
    padding-left: 2px;
    padding-right: 0px;
    /* padding-top: 30px;*/
    padding-bottom: 30px;
    width: 100%;
}

    .hwContentDiv1 a:link {
        text-decoration: none;
        color: black;
    }

    .hwContentDiv1 a:visited {
        color: black;
        text-decoration: none;
    }

    .hwContentDiv1 a:hover {
        text-decoration: underline;
        color: #39bede;
    }

/*health Answer page End*/

/* ADAM Health iframe pages (Recipes.aspx, Content.aspx) */
.adam-iframe-page {
    width: 100%;
    box-sizing: border-box;
}

    .adam-iframe-page .adam-iframe-card {
        overflow: hidden;
    }

.adam-iframe-wrap {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.adam-iframe-page .hwContentDiv1.adam-iframe-wrap {
    padding-bottom: 0;
}

.adam-iframe-wrap iframe.adam-iframe-embed,
.adam-iframe-wrap iframe#AdamContentiframe {
    display: block;
    width: 100% !important;
    max-width: 100%;
    border: 0;
}

@media (max-width: 991px) {
    .adam-iframe-page .my-result-header {
        margin-top: 128px;
        padding: 15px 18px;
    }
}

@media (max-width: 768px) {
    .adam-iframe-page .my-result-header {
        margin-top: 136px;
        padding: 14px 16px;
        border-radius: 12px;
    }

        .adam-iframe-page .my-result-header h1,
        .adam-iframe-page .my-result-header h2 {
            font-size: 1.4rem;
        }

    .adam-iframe-page .adam-iframe-card {
        padding: 0.75rem !important;
    }
}

@media (max-width: 576px) {
    /* Fixed header is two rows on phones — need enough offset so cyan title bar is fully below it */
    .adam-iframe-page .my-result-header {
        margin-top: 172px;
        padding: 12px 14px;
    }

        .adam-iframe-page .my-result-header h1,
        .adam-iframe-page .my-result-header h2 {
            font-size: 1.25rem;
        }
}

@media (max-width: 400px) {
    .adam-iframe-page .my-result-header h1,
    .adam-iframe-page .my-result-header h2 {
        font-size: 1.1rem;
    }

    .adam-iframe-page .adam-iframe-card {
        padding: 0.5rem !important;
    }
}

/*HRA PAge*/
.errorTxt {
    color: #FF0000;
}

/* =================================
   Tracker top cards row - align Calendar | Goals | Your Total Earned
   ================================= */
.tracker-top-cards-row {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
}

    .tracker-top-cards-row > .col-lg-4 {
        display: flex;
        flex-direction: column;
        min-height: 0;
        min-width: 0;
    }

/* Make GOALS wider and Total Earned narrower on desktop */
@media (min-width: 992px) {
    .tracker-top-cards-row > .col-lg-4 {
        flex: 0 0 auto;
    }

        .tracker-top-cards-row > .col-lg-4:has(.tracker-calendar-container) {
            flex-basis: 30%;
            max-width: 30%;
        }

        .tracker-top-cards-row > .col-lg-4:has(.goal-content) {
            flex-basis: 45%;
            max-width: 45%;
        }

        /* Remaining column is "Your Total Earned" */
        .tracker-top-cards-row > .col-lg-4:not(:has(.tracker-calendar-container)):not(:has(.goal-content)) {
            flex-basis: 25%;
            max-width: 25%;
        }
   

    .bb-es-row{
        min-width: 992px !important;
    }
}

.tracker-top-cards-row .bg-white.cstm-bdr-r.p-4.h-100 {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
}
    /* Goals card: allow overflow so progress bar (and right-side circle) is not clipped */
    .tracker-top-cards-row .bg-white.cstm-bdr-r.p-4.h-100:has(.goal-content) {
        overflow: visible;
    }

/* Tracker top cards — calendar, goals, and Your Total Earned: no border line, soft elevation */
.tracker-top-cards-row > .col-lg-4 > .bg-white.cstm-bdr-r.p-4.h-100 {
    border: 0 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
    box-sizing: border-box;
}

.tracker-top-cards-row .result-card-header {
    flex-shrink: 0;
    min-height: 44px;
    /* display: flex;*/
    display: flow;
    align-items: center;
    gap: 10px;
    line-height: 1.2;
    margin-bottom: 1rem;
    padding-bottom: 8px;
    border-bottom: 1px solid #00b1dc;
    font-size: 0.95rem;
}

    /* Align emoji icons with header text (calendar/goals/reward) */
    .tracker-top-cards-row .result-card-header::before {
        width: auto;
        height: auto;
        border-radius: 0;
        font-size: 1.25rem;
        line-height: 1;
    }

.tracker-top-cards-row .tracker-calendar-container,
.tracker-top-cards-row .goal-content,
.tracker-top-cards-row .result-card-content {
    flex: 1;
    min-height: 0;
    width: 100%;
}

.tracker-top-cards-row .goal-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

    .tracker-top-cards-row .goal-content .goal-box.box-outline {
        flex: 1;
        width: 100%;
        max-width: none;
    }

/* =================================
   Goal Box (BoxControl) - Only lblGoal (header) has blue; rest is neutral
   ================================= */
.goal-box.box-outline {
    width: 100%;
    max-width: 425px;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    color: #212529;
    overflow: visible; /* allow progress bar (and circle) to show fully on the right */
}

.goal-box-content {
    padding: 16px 20px;
   /* padding: 25px 10px 0px 10px;*/
    height: auto;
    border-radius: 0 0 11px 11px;
    background-color: #fff;
    color: #212529;
    font-size: 0.9rem;
    margin:5px;
}
/* lblGoal highlighted header - blue background */
.goal-box .goal-box-header {
    word-break: break-word;
    background: linear-gradient(90deg, #1976d2, #42a5f5);
    color: #fff;
    padding: 10px 16px;
    margin: -16px -20px 12px -20px;
    font-weight: 600;
    font-size: 0.9em;
    border-radius: 11px 11px 0 0;
}

/* Max and unit at right end of bar: 300 on top, MINUTES below */
.max-unit-at-end {
    float: right;
    text-align: right;
    padding: 2px 8px 2px 0;
    line-height: 1.2;
}

    .max-unit-at-end .max-value {
        float: none;
        display: block;
        font-size: 14px;
        font-weight: 600;
        color: #424242;
        margin: 0;
    }

    .max-unit-at-end .unit-text {
        float: none;
        display: block;
        font-size: 10px;
        color: #757575;
        margin: 2px 0 0 0;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

.max-value-hidden {
    display: none;
}

.max-value-unit {
    top: 10px;
}

.unit-text-hidden {
    display: none;
}

.clear {
    clear: both;
    height: 0;
    overflow: hidden;
}

.goal-box .goal-box-list {
    list-style-type: disc;
    margin: 4px 0 0 0;
    padding-left: 20px;
    color: #212529;
    font-size: 0.9rem;
}

    .goal-box .goal-box-list li {
        margin: 4px 0 8px 0;
    }

.goal-box .text-header,
.goal-box p {
    color: #212529;
    font-size: 0.9rem;
}

.goal-box .text-header {
    font-size: 0.85rem;
}

/* Prevent progress bar from being clipped on the right */
.goal-box .goal-progress-wrap,
.goal-box .goal-progress-table,
.goal-box .goal-progress-table tbody tr td {
    overflow: visible !important;
}

    .goal-box .goal-progress-table table[id$='wellnessScoreTable'] {
        max-width: 100%;
    }

/* Progress bar - ref: label | 0 in light green box | white/grey track | lime green glossy fill | max in circle (dark text) */
.goal-progress-bar-track,
.goal-box .goal-progress-bar-track {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    min-height: 36px;
}

/* Current value (0) in light green rounded box with subtle border */
.goal-progress-current-badge,
.goal-box .goal-progress-current-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    padding: 5px 12px;
    font-weight: 600;
    font-size: 15px;
    color: #212529;
    background: #c8e6c9;
    border: 1px solid #a5d6a7;
    border-radius: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Track: very light grey / white, subtle border, rounded */
.goal-progress-bar-track-inner,
.goal-box .goal-progress-bar-track-inner {
    flex: 1;
    min-height: 30px;
    background: #f5f5f5;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    border: 1px solid #e0e0e0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.04);
}

/* Fill: vibrant lime green, glossy (lighter at top), both ends rounded */
.goal-progress-bar-fill,
.goal-box .goal-progress-bar-fill {
    height: 100%;
    min-height: 30px;
    background: linear-gradient(180deg, #81c784 0%, #66bb6a 35%, #4caf50 70%, #43a047 100%);
    border-radius: 9px;
    transition: width 0.35s ease;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(76, 175, 80, 0.4);
}

    .goal-progress-bar-fill[style*="width: 0%"],
    .goal-box .goal-progress-bar-fill[style*="width: 0%"] {
        border-radius: 9px;
        min-width: 0;
    }

/* Max value (419) in green circle, same glossy green, dark text */
.goal-progress-max-circle,
.goal-box .goal-progress-max-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    font-weight: 600;
    font-size: 14px;
    color: #212529;
    background: linear-gradient(180deg, #81c784 0%, #66bb6a 40%, #43a047 100%);
    border-radius: 50%;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 2px 4px rgba(0, 0, 0, 0.15);
    border: 1px solid #81c784;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .goal-box.box-outline {
        max-width: 100%;
    }

    .goal-box-content {
        /* padding: 8px 6px;*/
        padding: 10px 11px 10px 11px;
    }

    .goal-box .goal-box-header {
        margin: -10px -12px 12px -12px;
        padding: 8px 12px;
    }
}



.score-value {
    color: #3c3c3c;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 10px 0 0 0;
}

.score-text {
    color: #ffffff;
    font-size: 14px;
}

.scoreCircle {
    background-image: url(/App_Themes/Theme1/images/green_circle.png);
    float: right;
    height: 40px;
    width: 40px;
}

.minValue {
    font-size: 12px;
    margin: 0px 0px 0px 3px;
}

.minValue1 {
    font-size: 12px;
    margin: 9px 0px 0px 3px;
}

.max-value {
    float: right;
    font-size: 12px;
    margin: 0px 4px 0px 0px;
    /*position: relative;*/
    top: 0px;
}

.max-value-hidden {
    display: none;
    float: right;
    font-size: 13px;
    margin: 0px 4px 0px 0px;
    /* position: relative;*/
    top: 0px;
}

.max-value-unit {
    float: right;
    font-size: 13px;
    margin: 0px 4px 0px 0px;
    /* position: relative;*/
    top: 10px;
}

.unit-text {
    float: right;
    font-size: 9px;
    margin-right: 4px;
    /*position: relative;*/
    top: 3px;
}

.unit-text-hidden {
    display: none;
    float: right;
    font-size: 9px;
    position: relative;
    top: 0px;
}

.wellnessScoreComplete {
    background: url(/App_Themes/Theme1/images/green_filler.png) left center repeat-x;
}

.wellnessScoreIncomplete {
    background: url(/App_Themes/Theme1/images/gray_filler.png) right center repeat-x;
}

/* Wellness Score classes starts */

/* Wellness In a Box Home Page classes ends */


/* Wellness In a Box Admin classes starts */

.pt-content-area {
    border: 1px solid #c1c1c1;
    padding: 10px 0px 10px 0px;
    position: relative;
}

/* Wellness In a Box Admin classes ends */

/* Wellness in a box design classes - Ends  */
.parentDiv {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    text-align: center;
}

.mainChildDiv {
    position: relative;
    width: 860px;
    height: auto;
    z-index: 2;
    display: inline-table;
}

#fullheight {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    padding: 0;
    height: 100%;
    border: none;
}

.FaqBackground {
    background-image: url(/App_Themes/Theme1/images/FaqBackGround.PNG);
    font-family: Arial;
    font-size: xx-small;
    width: 34%;
    background-repeat: no-repeat;
    padding-left: 18px;
    padding-right: 20px;
}

.sectionControlCellStyle {
    width: 100%;
    padding-left: 2px;
}

.sectionControlCellWithoutAccordionStyle {
    width: 100%;
}

.headerDiv {
    position: relative;
    width: 100%; /*height: 70px;*/
    z-index: 2;
    padding-top: 10%; /*padding-bottom: 15px;*/
}

.bodyDiv {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 3;
}

.footerDiv {
    position: relative;
    width: 100%;
    height: 30px;
    z-index: 4;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: right;
}

.footerTxt {
    vertical-align: top;
    font-size: 11px;
    color: #999;
    text-align: right;
}

.footerLinkTxt {
    vertical-align: top;
    font-size: 11px;
    color: #5dade2;
    text-align: right;
}

.topbarDiv {
    position: relative; /*bottom:-60%;*/
    width: 100%;
    height: 34px;
    z-index: 2;
    background-image: url(/App_Themes/Theme1/images/topBarBg.gif);
    background-repeat: repeat-x;
    background-position: top;
    text-align: right;
    padding-top: 10px;
    text-align: left;
    font: Arial;
    font-size: 14px;
    font-weight: bold;
    color: #ffffff;
    vertical-align: bottom;
}

.midbarDiv {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 2;
    display: table;
}

.bottombarDiv {
    width: 100%;
    height: 46px;
    background-image: url(/App_Themes/Theme1/images/bottomBarBg.gif);
    background-repeat: repeat-x;
    background-position: top;
}

.leftDiv {
    position: relative;
    width: 125px;
    height: auto;
    z-index: 2;
    float: left;
    text-align: left;
}

.rightDiv {
    position: relative;
    width: 733px;
    height: auto;
    z-index: 2;
    float: right;
    border-left: 2px solid #f2f2f2;
}

.contDiv {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 350px;
    z-index: 2;
}

.infoDiv {
    position: relative;
    width: 500px;
    height: auto;
    z-index: 2;
    float: left;
    vertical-align: top;
    padding: 10px;
    text-align: left;
}



.title {
    background-color: #1cb7dd; /* green background */
    color: white; /* text color */
    display: inline-block; /* shrink to text width */
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
    font-size: 1.2em;
    width: 100%;
    text-align: center;
}

/* Base styling for all action labels */
.action {
    display: inline-block;
    padding: 12px 20px; /* Comfortable padding */
    margin: 8px 0; /* Space between labels */
    font-size: 16px; /* Readable font */
    font-weight: 600; /* Slightly bold */
    color: #fff; /* Text color */
    background: linear-gradient(135deg, #6a11cb, #2575fc); /* Gradient background */
    border-radius: 12px; /* Rounded corners */
    text-align: center;
    transition: all 0.3s ease; /* Smooth hover effect */
    cursor: default;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Soft shadow */
    width: 100%;
}

    /* Hover effect for better interactivity */
    .action:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 12px rgba(0,0,0,0.2);
        background: linear-gradient(135deg, #2575fc, #6a11cb); /* Reverse gradient on hover */
    }

    /* Optional: add subtle animation for text change */
    .action.fade-in {
        animation: fadeIn 0.5s ease-in-out;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bebetter-programs-page {
    width: 100%;
    min-height: 100vh;
    height: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.bebetter-programs-page__inner {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.bebetter-programs-page .row {
    flex: 1;
    min-height: 0;
    margin: 0;
}

.bebetter-programs-page .col-12 {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}

.bebetter-programs-page__panel {
    width: 100%;
    max-width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: auto;
    box-sizing: border-box;
}
    /* Full-height chain into BreatheBetterProgram control (table keeps normal layout) */
    .bebetter-programs-page__panel > table {
        min-height: 100%;
        height: 100% !important;
    }
    /* Content area table: fill remaining space (override inline height: 400px) */
    .bebetter-programs-page__panel table[style*="height: 400px"] {
        height: 100% !important;
        min-height: 400px;
    }

@media (max-width: 767px) {
    .bebetter-programs-page .col-12 {
        padding-left: 0;
        padding-right: 0;
    }
}
/* Inner control tables: allow shrinking on small screens */
.bebetter-programs-page__panel table {
    max-width: 100%;
}

@media (max-width: 991px) {
    .bebetter-programs-page__panel table[style*="700px"],
    .bebetter-programs-page__panel td[style*="700px"] {
        max-width: 100% !important;
        width: 100% !important;
    }

    .bebetter-programs-page__panel table[style*="width: 100%"] {
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .bebetter-programs-page__panel td[style*="padding-left: 30px"] {
        padding-left: 1rem !important;
    }
}

/* =================================
   BEBETTER PROGRAMS (BeBetterPrograms.aspx)
   ================================= */
.bebetter-programs-shell {
    background: linear-gradient(165deg, #e8f2eb 0%, #eef1ef 32%, #f2f5f4 58%, #f7f9f8 100%);
    padding-top: 1.25rem;
    padding-bottom: 0.25rem;
}

@media (min-width: 992px) {
    .bebetter-programs-shell {
        padding-top: 1.75rem;
    }
}

.bebetter-programs-shell__container {
    max-width: 1120px;
}

.bebetter-programs-page {
    background: transparent;
}

.bebetter-programs-page__panel {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px -8px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

/*
 * breatheBetter (Step2 NRT ModalPopup, etc.): Ajax Toolkit injects a position:fixed veil in the DOM tree.
 * overflow:hidden on the programs card clips that veil to the white panel only, so the site header/nav
 * stay fully visible — looks like "the whole page still shows." Allow overflow when BB content is present.
 */
.bebetter-programs-page__panel:has(.breathe-better-container) {
    overflow: visible !important;
}

.bebetter-programs-page .breathe-better-container {
    background: transparent;
}

.bebetter-programs-page .breathe-better-header--program {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    min-height: 268px;
    padding: 1.35rem 1.35rem 1.5rem;
    overflow: visible;
    background-color: #1b4332;
    background-image: linear-gradient(135deg, #142f24 0%, #1b4332 38%, #2d6a4f 72%, #40916c 100%);
}

.bebetter-programs-page .breathe-better-header-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    flex: 0 0 auto;
    width: 100%;
}

.bebetter-programs-page .breathe-better-header--program .breathe-better-logo {
    flex-shrink: 0;
    margin-top: 10px;
    padding-top: 0;
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .bebetter-programs-page .breathe-better-header-content {
        /* flex-direction: row;
        align-items: flex-end;*/
        justify-content: space-between;
        gap: 1.25rem;
    }

    .bebetter-programs-page .breathe-better-logo {
        padding-top: 0;
        align-self: flex-start;
    }

    .bebetter-programs-page .breathe-better-tabs {
        flex: 1 1 auto;
        justify-content: flex-start;
        align-items: flex-start;
        /* padding: 0.5rem 0 0.25rem;*/
        max-width: 100%;
    }
}

.bebetter-programs-page .breathe-better-logo-img {
    display: block;
    max-height: 88px;
    width: auto;
    max-width: min(340px, 90vw);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.22));
}

.bebetter-programs-page .breathe-better-tabs {
    display: flex;
    justify-content: flex-start;
    /*align-items: flex-start;*/
    width: 100%;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    padding: 120px 10px 10px 0px;
    /*margin-top: 30px;*/
}

    /* TabControl outer table: cancel center/100% so the tab row can sit flush left */
    .bebetter-programs-page .breathe-better-tabs > table {
        width: auto !important;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: auto;
        border-collapse: separate;
        border-spacing: 0;
    }

        /* TabControl legacy spacer row (blank bullet) — hide so banner height fits logo + tabs */
        .bebetter-programs-page .breathe-better-tabs > table > tbody > tr:first-child {
            display: none;
        }

        /* DataList inner table: no cell padding; exactly 30px between adjacent tab buttons */
        .bebetter-programs-page .breathe-better-tabs > table table {
            width: auto;
            max-width: 100%;
            margin-left: 0;
            border-collapse: separate;
            border-spacing: 0;
        }

            .bebetter-programs-page .breathe-better-tabs > table table td {
                padding: 0;
                vertical-align: middle;
            }

                .bebetter-programs-page .breathe-better-tabs > table table td:not(:first-child) {
                    padding-left: 20px;
                }

    .bebetter-programs-page .breathe-better-tabs .bb-tab-panel {
        vertical-align: middle;
    }

    /* Breathe Better text tabs: circular buttons, hues from breatheBetterMetaData step borders */
    .bebetter-programs-page .breathe-better-tabs .bb-program-tab {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 7.5rem;
        height: 7.5rem;
        padding: 0.4rem;
        border-radius: 50%;
        aspect-ratio: 1;
        font-size: 1.0rem;
        font-weight: 700;
        line-height: 1.15;
        text-decoration: none !important;
        text-align: center;
        border-width: 2px;
        border-style: solid;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
        box-sizing: border-box;
        transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease, border-color 0.15s ease;
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--step-1 {
        color: #fff !important;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
        border-color: #e07d00;
        background: linear-gradient(180deg, #ffcc99 0%, #ff9900 48%, #e88700 100%);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--step-2 {
        color: #fff !important;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
        border-color: #d65f12;
        background: linear-gradient(180deg, #fac29d 0%, #f37521 48%, #dc6518 100%);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--step-3 {
        color: #fff !important;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
        border-color: #00a8d4;
        background: linear-gradient(180deg, #c5f2ff 0%, #00ccff 42%, #00b5e8 100%);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--step-4 {
        color: #fff !important;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
        border-color: #6fa82e;
        background: linear-gradient(180deg, #d4eab8 0%, #88c440 45%, #6fa82e 100%);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--step-5 {
        color: #fff !important;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
        border-color: #3a7ab8;
        background: linear-gradient(180deg, #c5ddf0 0%, #498ecc 45%, #3d7eb8 100%);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--default:hover {
        filter: brightness(1.06);
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--selected {
        filter: brightness(1.02);
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.55), 0 4px 14px rgba(0, 0, 0, 0.18);
        transform: translateY(-1px);
    }

    .bebetter-programs-page .breathe-better-tabs .bb-program-tab--inactive {
        opacity: 0.48;
        filter: grayscale(0.25) brightness(0.95);
        cursor: default;
        box-shadow: none;
        transform: none;
    }

@media (max-width: 767px) {
    .bebetter-programs-page .breathe-better-tabs .bb-program-tab {
        width: 3.0rem;
        height: 4.25rem;
        padding: 0.3rem;
        font-size: 0.6rem;
        line-height: 1.1;
    }
}

.bebetter-programs-page .breathe-better-content-wrapper {
    /*  padding: 0 1rem 1.25rem;*/
    max-width: 100%;
}

@media (min-width: 768px) {
    .bebetter-programs-page .breathe-better-content-wrapper {
        /* padding: 0 1.25rem 1.5rem;*/
    }
}

.bebetter-programs-page .breathe-better-outer-container {
    border-width: 2px;
    border-radius: 0 0 14px 14px;
    box-shadow: none;
    /* margin: 0 0.25rem 0.25rem;*/
}

.bebetter-programs-page .breathe-better-inner-container {
    border-left-width: 0;
    border-right-width: 0;
    border-bottom-width: 0;
    border-top-style: solid;
    border-radius: 0 0 12px 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
    padding: 15px 15px 15px 15px;
}

.bebetter-programs-page .breathe-better-step-header--program {
    padding: 0.85rem 1.25rem;
    font-size: 1.05rem;
    letter-spacing: 0.01em;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.bebetter-programs-page .breathe-better-content-area {
    /*  padding: 1rem 1rem 1.25rem;*/
    min-height: 280px;
}

@media (min-width: 768px) {
    .bebetter-programs-page .breathe-better-content-area {
        /* padding: 1.25rem 1.25rem 1.5rem;*/
    }
}

.bebetter-programs-page .breathe-better-footer {
    background: linear-gradient(180deg, #fafbfa 0%, #f1f3f2 100%);
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

@media (max-width: 767px) {
    .bebetter-programs-page .breathe-better-header--program {
        min-height: 240px;
        padding: 1.15rem 1rem 1.25rem;
    }

    .bebetter-programs-page .breathe-better-header-content {
        align-items: center;
        gap: 0.65rem;
    }

    .bebetter-programs-page .breathe-better-logo-img {
        max-height: 72px;
        margin-left: auto;
        margin-right: auto;
    }

    .bebetter-programs-page .breathe-better-logo {
        text-align: center;
        padding-top: 0;
        margin-bottom: 0.1rem;
        width: 100%;
    }

    .bebetter-programs-page .breathe-better-tabs {
        padding: 0.1rem 0 0;
        justify-content: flex-start;
        width: 100%;
    }

    .bebetter-programs-page .breathe-better-outer-container {
        margin-left: 0;
        margin-right: 0;
        border-radius: 0 0 12px 12px;
    }

    .bebetter-programs-page .breathe-better-content-wrapper {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }
}

/* =================================
   BREATHE BETTER REGISTRATION PAGE
   ================================= */

/* Background Container */
.bbRegisterBackground {
    background: linear-gradient(135deg, #E6FAFF 0%, #FFFFFF 100%);
    width: 100%;
    padding: 20px 0;
    margin-bottom: 0;
}

.bbRegisterOuterContainer {
    background-color: #FFFFFF;
    min-height: 100vh;
}

.bbRegisterInnerContainer {
    max-width: 1200px;
    margin: 0 auto;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

    /* Registration Header */
    .bbRegisterInnerContainer .bg-primary {
        padding: 15px 0;
        text-align: center;
    }

/* Form Container */
.reg-form {
    background: #FFFFFF;
    padding: 30px;
    border-radius: 10px;
    min-width: 0;
    max-width: 100%;
}

    .reg-form .note {
        background: linear-gradient(135deg, #F0F8FF 0%, #E6F3FF 100%);
        border-left: 4px solid #00B1DC;
        padding: 15px 20px;
        margin-bottom: 25px;
        border-radius: 5px;
        font-size: 14px;
        line-height: 1.6;
        color: #333;
    }

    .reg-form .sec {
        margin: 0 0 30px 0;
    }

    /* Row Labels */
    .reg-form .row-label-first {
        font-weight: 600;
        color: #2A2A2A;
        font-size: 15px;
        margin-bottom: 8px;
        display: block;
    }

    .reg-form .row-label-second {
        color: #495057;
        font-size: 15px;
        line-height: 1.6;
        word-wrap: break-word;
    }

    /* Form Rows */
    .reg-form .row {
        margin-bottom: 20px;
    }

        .reg-form .row.mb-2 {
            margin-bottom: 15px;
        }

    /* Email Section */
    .reg-form .d-flex {
        flex-wrap: wrap;
        gap: 10px;
    }

    .reg-form .textfield195 {
        min-width: 250px;
        max-width: 100%;
        padding: 10px 15px;
        border: 2px solid #ddd;
        border-radius: 5px;
        font-size: 14px;
        transition: all 0.3s ease;
    }

        .reg-form .textfield195:focus {
            border-color: #00B1DC;
            outline: none;
            box-shadow: 0 0 8px rgba(0, 177, 220, 0.2);
        }

    /* Links */
    .reg-form a,
    .reg-form .text-nowrap {
        color: #00B1DC;
        text-decoration: none;
        font-weight: 500;
        transition: color 0.3s ease;
    }

        .reg-form a:hover {
            color: #0088AA;
            text-decoration: underline;
        }

    /* Power Contract Section */
    .reg-form .power-contract {
        background: linear-gradient(135deg, #FFF9E6 0%, #FFF4D6 100%);
        border: 2px solid #FFD700;
        border-radius: 8px;
        padding: 20px;
        margin: 25px 0;
    }

        .reg-form .power-contract strong {
            color: #B8860B;
            font-size: 16px;
            display: block;
            margin-bottom: 12px;
        }

        .reg-form .power-contract input[type="checkbox"] {
            width: 20px;
            height: 20px;
            cursor: pointer;
            margin-right: 10px;
            vertical-align: middle;
        }

        .reg-form .power-contract label,
        .reg-form .power-contract {
            color: #333;
            font-size: 14px;
            line-height: 1.6;
        }

/* Submit Button */
.bbRegSubmitButton {
    transition: all 0.3s ease;
    border: none;
    background: transparent;
    padding: 10px;
}

    .bbRegSubmitButton:hover:not(:disabled) {
        transform: translateY(-2px);
        filter: brightness(1.1);
    }

    .bbRegSubmitButton:disabled {
        opacity: 0.6;
        cursor: not-allowed !important;
    }

/* Modal Popup */
.po2reg-popup {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    overflow: hidden;
    max-width: 400px;
    margin: 0 auto;
}

.po2reg-popup-header {
    background: linear-gradient(135deg, #00B1DC 0%, #4BC2DF 100%);
    color: #FFFFFF;
    padding: 15px 20px;
    font-weight: 600;
    font-size: 18px;
}

.po2reg-popup-header-text {
    flex: 1;
}

.po2reg-popup-header-right img {
    cursor: pointer;
    transition: transform 0.3s ease;
}

    .po2reg-popup-header-right img:hover {
        transform: scale(1.1);
    }

.po2reg-popup-content {
    padding: 25px;
    color: #333;
    font-size: 15px;
    line-height: 1.6;
}

    .po2reg-popup-content b {
        color: #00B1DC;
        font-size: 16px;
        margin-bottom: 15px;
    }

.modalPopUpBack {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(2px);
}

/* Same dimming as modalPopUpBack but no backdrop-filter — avoids repaint/flicker with Ajax ModalPopup when mouse crosses layout edges */
.modalPopUpBackFlat {
    background-color: rgba(0, 0, 0, 0.72);
    z-index: 100050 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* Responsive Design */
@media (max-width: 992px) {
    .reg-form {
        padding: 25px 20px;
    }

    .bbRegisterInnerContainer {
        margin: 0 10px;
    }
}

@media (max-width: 768px) {
    .bbRegisterBackground {
        padding: 15px 0;
    }

    .reg-form {
        padding: 20px 15px;
        border-radius: 8px;
    }

        .reg-form .note {
            padding: 12px 15px;
            font-size: 13px;
        }

        .reg-form .row-label-first {
            font-size: 14px;
            margin-bottom: 6px;
        }

        .reg-form .row-label-second {
            font-size: 14px;
        }

        .reg-form .textfield195 {
            width: 100% !important;
            min-width: 100%;
            font-size: 16px; /* Prevents zoom on iOS */
        }

        .reg-form .d-flex {
            flex-direction: column;
            align-items: flex-start;
            gap: 8px;
        }

        .reg-form .power-contract {
            padding: 15px;
            margin: 20px 0;
        }

            .reg-form .power-contract strong {
                font-size: 15px;
            }

    .bbRegSubmitButton {
        width: 100%;
        max-width: 100%;
    }

    .po2reg-popup {
        max-width: 95%;
        margin: 10px;
    }

    .po2reg-popup-header {
        padding: 12px 15px;
        font-size: 16px;
    }

    .po2reg-popup-content {
        padding: 20px 15px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .bbRegisterBackground {
        padding: 10px 0;
    }

    .reg-form {
        padding: 15px 10px;
    }

        .reg-form .note {
            padding: 10px 12px;
            font-size: 12px;
        }

        .reg-form .row-label-first {
            font-size: 13px;
        }

        .reg-form .row-label-second {
            font-size: 13px;
        }

        .reg-form .power-contract {
            padding: 12px;
            margin: 15px 0;
        }

            .reg-form .power-contract strong {
                font-size: 14px;
            }

    .po2reg-popup-header {
        padding: 10px 12px;
        font-size: 15px;
    }

    .po2reg-popup-content {
        padding: 15px 12px;
        font-size: 13px;
    }

    .bbRegSubmitButton {
        padding: 8px;
    }
}

/* Alignment fixes for responsive */
@media (max-width: 768px) {
    .reg-form .row {
        margin-bottom: 15px;
    }

    .reg-form .col-12 {
        padding-left: 0;
        padding-right: 0;
    }

    .reg-form .align-items-center {
        align-items: flex-start !important;
    }

    .reg-form .align-items-start {
        align-items: flex-start !important;
    }
}

/* Clear fix */
.reg-form .clear {
    clear: both;
    height: 0;
    line-height: 0;
    font-size: 0;
}

/* Enhanced form field styling */
.reg-form input[type="text"],
.reg-form input[type="email"] {
    border-radius: 5px;
    border: 2px solid #ddd;
    transition: all 0.3s ease;
}

    .reg-form input[type="text"]:focus,
    .reg-form input[type="email"]:focus {
        border-color: #00B1DC;
        box-shadow: 0 0 8px rgba(0, 177, 220, 0.2);
        outline: none;
    }

/* Button enhancements */
.reg-form .btn,
.reg-form button {
    border-radius: 5px;
    transition: all 0.3s ease;
}

/* Spacing improvements */
.reg-form .mb-2 {
    margin-bottom: 1rem;
}

.reg-form .mb-3 {
    margin-bottom: 1.5rem;
}

.reg-form .py-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media (max-width: 768px) {
    .reg-form .mb-md-3 {
        margin-bottom: 1rem;
    }
}

/* Additional Enhancements for breatheBetter Registration */

/* Smooth transitions */
.reg-form * {
    transition: all 0.3s ease;
}

/* Improved checkbox styling */
.reg-form input[type="checkbox"] {
    accent-color: #00B1DC;
    cursor: pointer;
}

/* Better link button styling */
.reg-form .text-nowrap {
    white-space: nowrap;
    display: inline-block;
}

/* Image responsiveness */
.reg-form img,
.bbRegisterBackground img {
    max-width: 100%;
    height: auto;
}

/* Form validation styling */
.reg-form .errorTxt {
    color: #FF0000;
    font-size: 13px;
    margin-top: 5px;
    display: block;
}

/* Improved spacing for mobile */
@media (max-width: 576px) {
    .reg-form .gap-2 {
        gap: 8px !important;
    }

    .reg-form .me-2 {
        margin-right: 0.5rem !important;
    }

    .reg-form .mb-2 {
        margin-bottom: 0.75rem !important;
    }
}

/* Enhanced container shadows */
.bbRegisterInnerContainer {
    transition: box-shadow 0.3s ease;
}

    .bbRegisterInnerContainer:hover {
        box-shadow: 0 6px 30px rgba(0,0,0,0.15);
    }

/* Better text readability */
.reg-form {
    color: #333;
    line-height: 1.6;
}

/* Improved button states */
.bbRegSubmitButton:active:not(:disabled) {
    transform: translateY(0);
}

/* Accessibility improvements */
.reg-form label {
    cursor: pointer;
}

.reg-form a:focus,
.reg-form button:focus,
.reg-form input:focus {
    outline: 2px solid #00B1DC;
    outline-offset: 2px;
}

/* BreatheBetter Quick Poll (RegistrationSurvey.ascx) — spacing + responsive */
.reg-form .bb-reg-survey {
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
    width: 100%;
    max-width: 100%;
}

.reg-form .bb-reg-survey-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2a2a2a;
}

.reg-form .bb-reg-survey-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.reg-form .bb-reg-survey .bb-reg-survey-table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1.25rem;
    border-collapse: collapse;
}

.reg-form .bb-reg-survey .bb-reg-survey-qhead {
    padding-bottom: 0.5rem;
    vertical-align: top;
}

    .reg-form .bb-reg-survey .bb-reg-survey-qhead label,
    .reg-form .bb-reg-survey .bb-reg-survey-qhead span {
        font-size: 15px;
        line-height: 1.5;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

/* Option rows: flex so toggle image, label, and "Other" field wrap cleanly */
.reg-form .bb-reg-survey td.bb-reg-survey-option {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    padding-bottom: 0.5rem;
    vertical-align: top;
}

/* Rows with "Other" textbox: avoid huge gap (radio must not flex-grow on desktop) */
.reg-form .bb-reg-survey td.bb-reg-survey-option:has(.bb-reg-survey-other-input) {
    gap: 0.5rem 0.75rem;
    align-items: center;
}

/* Radio + ToggleButtonExtender + label: clear gap between control and text */
.reg-form .bb-reg-survey .BBRegRdBtn {
    display: inline-flex !important;
    align-items: flex-start;
    gap: 0.625rem;
    max-width: 100%;
    flex: -1 1 220px;
    min-width: 0;
}

.reg-form .bb-reg-survey td.bb-reg-survey-option:has(.bb-reg-survey-other-input) .BBRegRdBtn {
    flex: 0 1 auto;
}

    .reg-form .bb-reg-survey .BBRegRdBtn label {
        margin-left: 0 !important;
        padding-left: 0;
        line-height: 1.5;
        word-wrap: break-word;
        overflow-wrap: break-word;
        cursor: pointer;
    }

    /* Toggle image link sits next to hidden radio */
    .reg-form .bb-reg-survey .BBRegRdBtn a {
        flex-shrink: 0;
    }

.reg-form .bb-reg-survey .bb-reg-survey-other-input {
    flex: 1 1 0;
    min-width: 8rem;
    max-width: 100%;
    display: inline-block;
}

@media (max-width: 768px) {
    .reg-form .bb-reg-survey-title {
        font-size: 1.15rem;
    }

    .reg-form .bb-reg-survey-intro {
        font-size: 14px;
    }

    .reg-form .bb-reg-survey .BBRegRdBtn {
        flex: 1 1 100%;
    }

    /* Override higher-specificity desktop rule so "Other" row still stacks full width */
    .reg-form .bb-reg-survey td.bb-reg-survey-option:has(.bb-reg-survey-other-input) .BBRegRdBtn {
        flex: 1 1 100%;
    }
}

@media (max-width: 576px) {
    .reg-form .bb-reg-survey .bb-reg-survey-table {
        margin-bottom: 1rem;
    }

    .reg-form .bb-reg-survey td.bb-reg-survey-option {
        gap: 0.5rem;
    }

    .reg-form .bb-reg-survey .BBRegRdBtn {
        gap: 0.5rem;
    }
}

/* BreatheBetter Program - Responsive Layout Styles */
.breathe-better-container {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f8f9fa;
}

.breathe-better-header {
    width: 100%;
    min-height: 181px;
    background-repeat: repeat-x;
    background-position: left;
    padding: 15px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.breathe-better-header-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.breathe-better-logo {
    padding-top: 15px;
    padding-left: 0;
}

.breathe-better-logo-img {
    max-width: 100%;
    height: auto;
}

.breathe-better-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 96px 0;
    width: 100%;
}

.breathe-better-content-wrapper {
    flex: 1;
    width: 100%;
    /*padding: 20px;*/
    max-width: 1400px;
    margin: 0 auto;
}

.breathe-better-outer-container {
    width: 100%;
    /*border: 20px solid;
    border-radius: 15px;*/
    overflow: hidden;
    /*  box-shadow: 0 8px 25px rgba(0,0,0,0.08);*/
}

.breathe-better-inner-container {
    width: 100%;
    border: 16px solid;
    border-top-width: 8px;
    background-color: white;
    border-radius: 0;
}

.breathe-better-step-header {
    padding: 10px 20px;
    border-bottom: 1px solid #e9ecef;
    background-color: #f8f9fa;
}

.breathe-better-step-header-img {
    max-width: 100%;
    height: auto;
}

.breathe-better-content-area {
    /*  display: grid;*/
    /* grid-template-columns: 1fr 300px;*/
    gap: 30px;
    /* padding: 20px;*/
    min-height: 400px;
    align-items: start;
}


.breathe-better-main-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0; /* Prevents grid overflow */
}

.breathe-better-panel {
    width: 100%;
}

.breathe-better-sidebar {
    position: sticky;
    top: 20px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

    .breathe-better-sidebar .result-card {
        padding: 0;
        box-shadow: none;
        border: none;
        margin-bottom: 0;
    }

.breathe-better-toolkit-panel {
    width: 100%;
}

.breathe-better-footer {
    width: 100%;
    padding: 15px 30px;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    margin-top: auto;
}

/* Mobile Responsive Design for BreatheBetter */
@media (max-width: 991px) {
    .breathe-better-header {
        padding: 15px 20px;
        min-height: auto;
    }

    .breathe-better-header-content {
        gap: 10px;
    }

    .breathe-better-logo {
        padding-top: 10px;
    }

    .breathe-better-content-wrapper {
        padding: 15px;
    }

    .breathe-better-outer-container {
        border-width: 15px;
    }

    .breathe-better-inner-container {
        border-width: 12px;
        border-top-width: 6px;
    }

    .breathe-better-content-area {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 15px;
    }

    .breathe-better-sidebar {
        position: relative;
        order: -1;
        top: 0;
    }

    .breathe-better-footer {
        padding: 12px 20px;
    }
}

@media (max-width: 768px) {
    .breathe-better-header {
        padding: 12px 15px;
    }

    .breathe-better-content-wrapper {
        padding: 10px;
    }

    .breathe-better-outer-container {
        border-width: 10px;
    }

    .breathe-better-inner-container {
        border-width: 8px;
        border-top-width: 4px;
    }

    .breathe-better-content-area {
        padding: 10px;
        gap: 15px;
    }

    .breathe-better-step-header {
        padding: 8px 15px;
    }
}

@media (max-width: 480px) {
    .breathe-better-header {
        padding: 10px 12px;
        min-height: auto;
    }

    .breathe-better-logo {
        padding-top: 8px;
    }

    .breathe-better-content-wrapper {
        padding: 8px;
    }

    .breathe-better-outer-container {
        border-width: 8px;
    }

    .breathe-better-inner-container {
        border-width: 6px;
        border-top-width: 3px;
    }

    .breathe-better-content-area {
        padding: 8px;
        gap: 12px;
    }

    .breathe-better-step-header {
        padding: 6px 12px;
    }

    .breathe-better-footer {
        padding: 10px 12px;
    }
}

/* BreatheBetter Questionnaire - Responsive Layout Styles */
.breathe-better-questionnaire-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: white;
}

.breathe-better-questionnaire-header {
    width: 100%;
    padding: 10px 15px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.breathe-better-questionnaire-header-content {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    width: 100%;
}

.breathe-better-survey-image {
    flex-shrink: 0;
}

.breathe-better-survey-header-img {
    max-width: 100%;
    height: auto;
}

.breathe-better-survey-header-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-block;
}

.breathe-better-questionnaire-content-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    padding-top: 20px;
    align-items: start;
    flex: 1;
    width: 100%;
}

.breathe-better-questionnaire-main-content {
    width: 100%;
    background-color: white;
    min-height: 370px;
    overflow-y: auto;
    /* Keeps top tab row / focus styles away from the scrollport edge (avoids subpixel clipping) */
    padding-top: 6px;
    padding-left: 4px;
    box-sizing: border-box;
}

.breathe-better-questionnaire-sidebar {
    position: sticky;
    top: 20px;
    align-self: start;
    padding-top: 15px;
}

    .breathe-better-questionnaire-sidebar .result-card {
        background: white;
        border-radius: 15px;
        padding: 0;
        box-shadow: 0 8px 25px rgba(0,0,0,0.08);
        border: 1px solid #e9ecef;
        transition: all 0.3s ease;
    }

        .breathe-better-questionnaire-sidebar .result-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.12);
        }

/* Mobile Responsive Design for BreatheBetter Questionnaire */
@media (max-width: 991px) {
    .breathe-better-questionnaire-header {
        padding: 10px 12px;
    }

    .breathe-better-questionnaire-header-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .breathe-better-questionnaire-content-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 15px;
    }

    .breathe-better-questionnaire-sidebar {
        position: relative;
        order: -1;
        top: 0;
    }

    .breathe-better-questionnaire-main-content {
        padding: 15px;
        min-height: auto;
    }
}

@media (max-width: 768px) {
    .breathe-better-questionnaire-header {
        padding: 8px 10px;
    }

    .breathe-better-questionnaire-header-content {
        gap: 8px;
    }


    .breathe-better-questionnaire-content-grid {
        padding: 12px;
        gap: 15px;
    }

    .breathe-better-questionnaire-main-content {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .breathe-better-questionnaire-header {
        padding: 6px 8px;
    }

    .breathe-better-survey-header-text {
        font-size: 1.2rem;
    }


    .breathe-better-questionnaire-content-grid {
        padding: 10px;
        gap: 12px;
    }

    .breathe-better-questionnaire-main-content {
        padding: 10px;
    }
}

/* Questionnaire Control - Responsive Layout Styles */
.questionnaire-control-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.questionnaire-control-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    align-items: start;
}

/* Left Panel moved to top as horizontal tabs */
.questionnaire-left-panel-top {
    width: 100%;
    margin-bottom: 20px;
    border-bottom: 2px solid #e9ecef;
    padding: 4px 2px 0;
    overflow: visible;
}

.questionnaire-left-panel-wrapper {
    width: 100%;
    overflow: visible;
}

.questionnaire-control-main {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
}

.questionnaire-accordion-cell {
    width: 100%;
    margin-bottom: 10px;
    min-height: 20px;
}

.questionnaire-section-wrapper {
    flex: 1;
    width: 100%;
    min-height: 0;
}

.questionnaire-actions-wrapper {
    width: 100%;
    margin-top: auto;
    padding-top: 15px;
}

/* Mobile Responsive Design for Questionnaire Control */
@media (max-width: 991px) {
    .questionnaire-control-content {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .questionnaire-left-panel-top {
        margin-bottom: 15px;
    }

    .left-panel-container {
        gap: 5px;
    }

    .left-panel-btn,
    .left-panel-link {
        padding: 10px 15px;
        padding-right: 35px;
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .questionnaire-control-content {
        gap: 12px;
    }

    .questionnaire-accordion-cell {
        margin-bottom: 8px;
    }

    .questionnaire-actions-wrapper {
        padding-top: 12px;
    }
}

@media (max-width: 480px) {
    .questionnaire-control-content {
        gap: 10px;
    }

    .questionnaire-accordion-cell {
        margin-bottom: 5px;
    }

    .questionnaire-actions-wrapper {
        padding-top: 10px;
    }
}

/* Left Panel CSS-based Button Styles - Horizontal Tab Layout */
.left-panel-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 2px 0 0 2px;
    overflow: visible;
}

.left-panel-item {
    margin-bottom: 0;
    flex: 0 1 auto;
}

.left-panel-item-content {
    width: 100%;
}

.left-panel-btn,
.left-panel-link {
    display: inline-block;
    padding: 12px 20px;
    padding-right: 40px;
    text-align: left;
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    transition: all 0.2s ease;
    border-radius: 8px 8px 0 0;
    position: relative;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
}

    /* Arrow indicator using ::after pseudo-element - positioned for horizontal tabs */
    .left-panel-btn::after,
    .left-panel-link::after {
        content: "→";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 16px;
        font-weight: normal;
        transition: all 0.2s ease;
        opacity: 0.7;
    }

    /* Active state - using #666 color */
    .left-panel-btn-active,
    .left-panel-link.left-panel-btn-active {
        color: #666 !important;
        background-color: rgba(102, 102, 102, 0.08);
        border-bottom-color: #666;
    }

        .left-panel-btn-active:hover,
        .left-panel-link.left-panel-btn-active:hover {
            color: #333 !important;
            background-color: rgba(102, 102, 102, 0.15);
            border-bottom-color: #333;
        }

            .left-panel-btn-active:hover::after,
            .left-panel-link.left-panel-btn-active:hover::after {
                right: 12px;
                opacity: 1;
            }

    /* Inactive state - using #CCC color */
    .left-panel-btn-inactive,
    .left-panel-link.left-panel-btn-inactive {
        color: #CCC !important;
        cursor: not-allowed;
    }

        .left-panel-btn-inactive::after,
        .left-panel-link.left-panel-btn-inactive::after {
            color: #CCC !important;
            opacity: 0.5;
        }

        .left-panel-btn-inactive:hover,
        .left-panel-link.left-panel-btn-inactive:hover {
            color: #AAA !important;
            background-color: rgba(204, 204, 204, 0.1);
        }

    /* Selected state - using active color with background highlight */
    .left-panel-btn-selected,
    .left-panel-link.left-panel-btn-selected {
        color: #666 !important;
        background-color: rgba(102, 102, 102, 0.15);
        border-bottom-color: #666;
        border-bottom-width: 3px;
        /* Current section can also be "inactive" (incomplete); override not-allowed from .left-panel-btn-inactive */
        cursor: pointer;
    }

        .left-panel-btn-selected:hover,
        .left-panel-link.left-panel-btn-selected:hover {
            background-color: rgba(102, 102, 102, 0.2);
            color: #333 !important;
            border-bottom-color: #333;
            cursor: pointer;
        }

        .left-panel-btn-selected::after,
        .left-panel-link.left-panel-btn-selected::after {
            color: #666 !important;
            opacity: 1;
            font-weight: bold;
        }

        .left-panel-btn-selected:hover::after,
        .left-panel-link.left-panel-btn-selected:hover::after {
            right: 12px;
            opacity: 1;
        }

/* Ensure LinkButton renders as block element */
.left-panel-btn {
    display: block;
}

    /*
 * Focus ring: inset box-shadow stays inside the control so it is not clipped by ancestors
 * with overflow:auto (e.g. .breathe-better-questionnaire-main-content). A 2px outline + offset
 * drew outside the scrollport and looked cut off on the top/left after a click/postback.
 */
    .left-panel-btn:focus,
    .left-panel-link:focus {
        outline: none;
        box-shadow: inset 0 0 0 2px rgba(102, 102, 102, 0.55);
    }

    .left-panel-btn:active,
    .left-panel-link:active {
        outline: none;
    }

/* BreatheBetter Intro Step - Responsive layout */
.bb-intro-step-container {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 16px;
}

.bb-intro-step-card {
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bb-intro-part-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.bb-intro-part-badge {
    width: 30px;
    height: 30px;
    background: #1a6911;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}

.bb-intro-step-actions {
    margin-top: 14px;
}

.bb-intro-btn {
    min-width: 240px;
    height: 46px;
    border: none;
    border-radius: 6px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 700;
    line-height: 46px;
    text-align: center;
    color: #fff;
    cursor: pointer;
}

.bb-intro-btn-next {
    background-color: #2b8121;
}

.bb-intro-btn-finish {
    background-color: #0f8db3;
}

.bb-intro-btn:hover {
    filter: brightness(0.95);
}

@media (max-width: 768px) {
    .bb-intro-step-container {
        padding: 10px;
    }

    .bb-intro-step-card {
        padding: 16px;
        gap: 10px;
    }

    .bb-intro-btn {
        width: 100%;
        min-width: 0;
    }
}

/* Breathe Better - Step 2 responsive updates */
.bb-step2-root-table {
    width: 100%;
}

.bb-step2-responsive-wrap {
    width: 100%;
    overflow-x: auto !important;
}

.bb-step2-btn {
    min-width: 180px;
    min-height: 40px;
    border: 0;
    border-radius: 999px;
    padding: 9px 20px;
    white-space: normal;
}

@media (max-width: 768px) {
    .bb-step2-btn {
        width: 100%;
        min-width: 0;
    }
}

/* Breathe Better - Step 3 responsive updates */
.bb-step3-root-table {
    width: 100%;
}

.bb-step3-responsive-wrap {
    width: 100%;
    /* overflow-x: auto;*/
}

.bb-step3-btn {
    min-width: 200px;
    min-height: 40px;
    border: 0;
    border-radius: 999px;
    padding: 9px 20px;
}

.bb-step3-status-btn {
    min-width: 120px;
    margin-left: 6px;
}

.bb-step3-status-active {
    background-color: #2b8121;
    color: #fff;
}

.bb-step3-status-inactive {
    background-color: #cfd6e0;
    color: #4d5967;
}

.bb-step3-status-completed {
    background-color: #7a8797;
    color: #fff;
}

.bb-step3-close-btn {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background-color: #e5e7eb;
    color: #111827;
    font-weight: 700;
    line-height: 28px;
    padding: 0;
}

/* Step3 Log This — simple overlay (myLogThis); no Bootstrap Modal / Ajax ModalPopupExtender */
.bb-step3-logthis-overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10600;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    overflow: auto;
    background: rgba(15, 23, 42, 0.55);
    overscroll-behavior: contain;
    touch-action: manipulation;
}

.bb-step3-logthis-dialog {
    width: 100%;
    max-width: 640px;
    margin: auto;
    flex-shrink: 0;
}

body.bb-step3-logthis-open .bebetter-programs-page__panel {
    overflow: visible !important;
}

/* Breathe Better Step 2 — NRT ordering (fixed overlay; not Bootstrap Modal / Ajax ModalPopupExtender) */
.bb-step2-nrt-overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10600;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    overflow: auto;
    background: rgba(15, 23, 42, 0.55);
    overscroll-behavior: contain;
    touch-action: manipulation;
}

.bb-step2-nrt-dialog {
    width: 100%;
    max-width: 400px;
    margin: auto;
    flex-shrink: 0;
    background-color: #e7eef8;
    border: 1px solid #000;
    box-sizing: border-box;
    text-align: center;
}

.bb-step2-nrt-dialog-body {
    padding: 1.25rem;
    text-align: left;
}

.bb-step2-nrt-dialog-footer {
    padding: 0 1.25rem 1.25rem;
}

body.bb-step2-nrt-open .bebetter-programs-page__panel {
    overflow: visible !important;
}

/* Questionnaire ClickActionsControl — Exit dialog (fixed overlay; replaces Ajax ModalPopupExtender) */
.bb-clickactions-exit-overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10650;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    overflow: auto;
    background: rgba(15, 23, 42, 0.55);
    overscroll-behavior: contain;
    touch-action: manipulation;
}

.bb-clickactions-exit-dialog {
    width: 100%;
    max-width: 520px;
    margin: auto;
    flex-shrink: 0;
    box-sizing: border-box;
}

body.bb-clickactions-exit-open .bebetter-programs-page__panel {
    overflow: visible !important;
}

/* Questionnaire Exit (ClickActionsControl): same shape as .btn Next (BS5 default), keep neutral colors from .bb-step3-close-btn */
.btn.bb-step3-close-btn {
    width: auto;
    min-width: unset;
    height: auto;
    min-height: unset;
    line-height: 1.5;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 1rem;
}

@media (max-width: 768px) {
    .bb-step3-btn,
    .bb-step3-status-btn {
        width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-top: 8px;
    }
}

/* History popup: .modal-dialog-centered is flex; default justify-content:start left-aligns a narrow child */
#historyModal.modal .modal-dialog.modal-dialog-centered {
    justify-content: center;
}

/* Minimal fallback for Bootstrap modal if JS/CSS not present */
.modal.show {
    display: block;
}

.modal.fade.show {
    display: block;
    opacity: 1;
}

.modal.show .modal-dialog {
    transform: none !important;
}

.modal .modal-dialog {
    z-index: 1050;
}

.bb-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1040;
}

/* Step3 - Attestation modal content */
.thoughts-popup {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0,0,0,0.15);
}

.thoughts-popup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: linear-gradient(135deg,#4a90e2 0%, #357ABD 100%);
    color: #fff;
}

.thoughts-popup-header-text {
    font-weight: 600;
    letter-spacing: .2px;
}

.thoughts-popup-content {
    background: #fff;
    color: #212529;
    padding: 18px 20px;
    max-height: 80vh;
    overflow: auto;
}
/* Scoped: global .bb-step3-close-btn is used for questionnaire Exit on a light background */
.thoughts-popup-header .bb-step3-close-btn {
    background: transparent;
    border: 0;
    color: #fff;
    font-weight: 700;
    padding: 6px 10px;
}

/* Step 3 — Goal Achievement (Become TF) Bootstrap modal + Remain TF Ajax popup:
   .bebetter-programs-page .row / .col-12 use flex (full-height layout) which breaks Bootstrap grids
   (multiple .col-12 in one row become narrow side-by-side columns). Reset inside attestation shells. */
body.bb-step3-attestation-open .bebetter-programs-page .breathe-better-inner-container.result-card,
body.bb-step3-attestation-open .bebetter-programs-page .result-card {
    transform: none !important;
}

.bebetter-programs-page .bb-step3-attestation-modal.modal {
    z-index: 10600;
}

.bebetter-programs-page .bb-step3-attestation-modal .modal-dialog.bb-step3-attestation-modal__dialog {
    max-width: min(720px, 96vw);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.bebetter-programs-page .bb-step3-attestation-modal .modal-body.bb-step3-attestation-modal__body {
    max-height: calc(100vh - 10rem);
    overflow-y: auto;
}

.bebetter-programs-page .bb-step3-attestation-modal .modal-body .container-fluid {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.bebetter-programs-page .bb-step3-attestation-modal .row,
.bebetter-programs-page .bb-step3-attestation-ajax-popup .thoughts-popup .row {
    flex: none !important;
    min-height: unset !important;
}

.bebetter-programs-page .bb-step3-attestation-modal .col-12,
.bebetter-programs-page .bb-step3-attestation-ajax-popup .thoughts-popup .col-12 {
    display: block !important;
    flex: none !important;
    flex-direction: unset !important;
    min-height: unset !important;
    width: 100% !important;
    max-width: 100% !important;
}

.bebetter-programs-page .bb-step3-attestation-modal .form-control {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.bebetter-programs-page .bb-step3-attestation-ajax-popup .thoughts-popup-content {
    max-height: min(80vh, 560px);
    overflow-y: auto;
}

.bebetter-programs-page .bb-step3-attestation-modal__header .bb-step3-attestation-modal__close {
    min-width: 2.25rem;
    font-weight: 700;
    line-height: 1.25;
}

/* Step1 - Quote replacement for Quote2.png */
.bb-step1-quote {
    display: block;
    margin: 16px 0;
    padding: 16px 18px;
    background: #f8fbff;
    border-left: 4px solid #4a90e2;
    border-radius: 6px;
    color: #334155;
    line-height: 1.6;
    box-shadow: inset 0 0 0 1px #e6effb;
}

.bb-step1-quote-mark {
    color: #4a90e2;
    font-weight: 700;
    font-size: 22px;
    margin: 0 6px 0 0;
}

.bb-step1-quote-text {
    font-style: italic;
    font-size: 15px;
}

/* Breathe Better - End of Program Survey responsive */
.bb-end-survey-wrap {
    width: 100%;
    overflow-x: auto;
    /*  padding-left: 16px;
    padding-right: 16px;*/
}

.bb-end-survey-table {
    width: 100%;
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

    .bb-end-survey-table table {
        width: 100% !important;
        max-width: 100%;
    }

    .bb-end-survey-table .EndSurveyTable > tbody > tr[class*="EndSurveyBackground"] > td:first-child {
        width: 180px !important;
        min-width: 180px !important;
    }

    .bb-end-survey-table .EndSurveyTable > tbody > tr[class*="EndSurveyBackground"] > td:last-child {
        width: auto !important;
    }

    .bb-end-survey-table .mylist table {
        width: auto !important;
    }

@media (max-width: 768px) {
    .bb-end-survey-table {
        min-width: 0 !important;
    }

        .bb-end-survey-table table,
        .bb-end-survey-table tr,
        .bb-end-survey-table td {
            display: block;
            width: 100% !important;
        }

        .bb-end-survey-table td {
            min-width: 0 !important;
            word-break: break-word;
            padding-right: 0 !important;
        }

        .bb-end-survey-table input[type="text"],
        .bb-end-survey-table textarea,
        .bb-end-survey-table select {
            max-width: 100%;
            width: 100%;
        }

        .bb-end-survey-table .mylist {
            width: 100%;
        }

            .bb-end-survey-table .mylist table,
            .bb-end-survey-table .mylist tr,
            .bb-end-survey-table .mylist td {
                display: inline-table;
                width: auto !important;
            }

        .bb-end-survey-table .EndSurveyTable > tbody > tr[class*="EndSurveyBackground"] > td:first-child {
            min-width: 0 !important;
        }

        .bb-end-survey-table .note {
            text-align: left !important;
            display: block;
        }
}

/* End of Program Survey - Div layout styling (beautiful cards) */
.bb-es-section {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    padding: 6px 0;
    margin: 18px 0;
    overflow: hidden;
}

.bb-es-row {
    display: grid;
   /* grid-template-columns: 340px 1fr;*/
    align-items: center;
    gap: 18px;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f3f5;
}

    .bb-es-row.bb-es-row-bottom {
        border-bottom: none;
    }

.bb-es-col-label {
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
}

.bb-es-col-content {
    display: block;
    min-width: 0;
    width: 100%;
    display: contents;
}

.bb-es-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px 16px;
}

.bb-es-inner-prefix {
    color: #495057;
    flex: 0 1 auto;
    min-width: 200px;
    font-size: 14px;
}

.bb-es-inner-list {
    flex: 1 1 100%;
    min-width: 240px;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px 14px;
}

.bb-es-inner-suffix {
    color: #495057;
    flex: 0 1 auto;
    min-width: 117px;
    text-align: center;
    font-size: 14px;
  
}




/* Tighter, consistent radios/checkboxes across survey */
.bb-es-section .EndSurveyRdBtn,
.bb-es-section input[type="radio"],
.bb-es-section input[type="checkbox"] {
    margin-right: 6px;
    transform: translateY(1px);
}

.bb-es-section .mylist td,
.bb-es-section .mylist label {
    padding-right: 8px;
}

/* Make RadioButtonList (rendered as table) behave like a flex row */
.bb-es-inner-list .mylist {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between;
}

    .bb-es-inner-list .mylist table,
    .bb-es-inner-list .mylist tr {
        display: flex !important;
        width: 100% !important;
        justify-content: space-between;
        gap: 4px;
    }

    .bb-es-inner-list .mylist td {
        /*  display: inline-flex !important;*/
        align-items: center;
        justify-content: center;
        min-width: 36px;
        height: 36px;
        border-radius: 18px;
        padding: 0 8px;
        background: #f8f9fa;
        border: 1px solid #e9ecef;
    }

        .bb-es-inner-list .mylist td input[type="radio"] {
            margin-right: -6px;
        }

.bb-es-spacer {
    height: 10px;
}

/* Subtle row backgrounds keep existing theme classes effective */
.bb-es-section .EndSurveyBackgroundBlue {
    background: #f5faff;
}

.bb-es-section .EndSurveyBackgroundYellow {
    background: #fffaf2;
}

/* Headings and note alignment */
.bb-end-survey-table .EndSurveyBoldText {
    font-size: 16px;
    line-height: 1.5;
}

.bb-end-survey-table .note {
    text-align: left;
}

/* Validators inline alignment */
.bb-es-section .aspNetDisabled,
.bb-es-section .validator,
.bb-es-section span[style*=\"color:Red\"],
.bb-es-section .EndSurveyError,
.bb-es-section .errorTxt {
    display: inline-block;
    margin-left: 6px;
    font-size: 13px;
}

/* Inputs within sections */
.bb-es-section input[type=\"text\"],
.bb-es-section textarea,
.bb-es-section select {
    border: 1px solid #ced4da;
    border-radius: 6px;
    padding: 6px 10px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
}

/* Responsive tweaks */
@media (max-width: 991px) {
    .bb-es-row {
        grid-template-columns: 1fr;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 16px;
    }

    .bb-es-col-label {
        font-size: 15px;
    }

    .bb-es-inner {
        grid-template-columns: 1fr;
        gap: 8px 10px;
    }

    .bb-es-inner-list {
        min-width: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .bb-es-inner-suffix {
        text-align: left;
    }

    .bb-end-survey-table {
        max-width: 100%;
        border-radius: 8px;
        box-shadow: none;
    }
}

@media (max-width: 576px) {
    .bb-es-section {
        border-radius: 8px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
        margin: 14px 0;
        padding: 4px 0;
    }

    .bb-es-row {
        padding: 12px 12px;
        gap: 10px;
    }

    .bb-es-col-label {
        font-size: 14px;
    }

    .bb-es-inner-prefix,
    .bb-es-inner-suffix {
        font-size: 13px;
    }

    .bb-es-inner-list .mylist td {
        min-width: 32px;
        height: 32px;
        border-radius: 16px;
    }
}


/* Registration.aspx — full viewport width (overrides .my-result-container max-width) */
.my-result-container.registration-page {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
    box-sizing: border-box;
}

.registration-page__header {
    max-width: 100%;
}

.registration-page__card {
    max-width: 100%;
    box-sizing: border-box;
}

.registration-page .registration-program-banner {
    box-sizing: border-box;
}

@media (max-width: 575.98px) {
    .registration-page .registration-program-banner {
        border-radius: 20px;
    }
}

@media (min-width: 576px) {
    .registration-page .registration-program-banner {
        justify-content: flex-start;
    }

    .registration-page .registration-program-banner__title {
        text-align: left;
    }
}

/* Email field: full width on narrow screens; cap width when editing on larger */
.registration-page__email-input {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

@media (min-width: 576px) {
    .registration-page__email-input:not(.d-none) {
        width: auto !important;
        max-width: min(100%, 22rem);
        flex: 1 1 auto;
    }
}

/* Action buttons: stack full width on phones */
.registration-page__cta .btn,
.registration-page__cta .btn:link,
.registration-page__cta .btn:visited {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
}

@media (min-width: 768px) {
    .registration-page__cta .btn,
    .registration-page__cta .btn:link,
    .registration-page__cta .btn:visited {
        width: auto;
        max-width: 100%;
    }
    .surveyHomeDisplayMessage1{font-weight:bolder;}
}


@media (min-width: 1200px) {
    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: .0rem !important;
        padding-left: .0rem !important;
    }
}

@media (min-width: 992px) { /* desktop (lg and above) */
    .custom-desktop-shift {
        margin-top: -14px;
    }
}

/* Landing hero notification: align with cstm-gdnt-1 / cstm-gdnt-2 / cstm-bdr-1 / cstm-clr-3 */
.landing-program-notification {
    border: 1px solid #71DCF6;
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(
        118deg,
        rgba(255, 241, 229, 0.88) 0%,
        rgba(255, 255, 255, 0.82) 42%,
        rgba(230, 250, 255, 0.92) 100%
    );
    box-shadow: 0 4px 18px rgba(47, 120, 240, 0.07), 0 2px 8px rgba(0, 177, 220, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.landing-program-notification__icon {
    font-size: 1.55rem;
    color: #2F78F0;
    line-height: 1.25;
    margin-top: 0.1rem;
}

.landing-program-Visualnotification div strong {
    font-size: 14px !important;
}

.landing-program-Visualnotification div {
    font-size: 12px !important;
}

.mw-mood-feelings-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: visible;
    box-sizing: border-box;
}

table.mw-mood-feelings-list,
table.mw-mood-feelings-list[border="0"] {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate;
    border-spacing: 0;
    display: block;
    margin: 0;
    box-sizing: border-box;
}

    table.mw-mood-feelings-list tbody {
        display: grid;
        /* Two-up by default: avoids 3rd column clipped on narrow viewports; reflows up at wider breakpoints */
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.4rem 0.6rem;
        align-items: start;
        width: 100%;
    }

    table.mw-mood-feelings-list tr {
        display: contents;
    }

    table.mw-mood-feelings-list td {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0.4rem;
        padding: 0.2rem 0 !important;
        min-width: 0;
        max-width: 100%;
        width: auto !important;
        box-sizing: border-box;
        border: none;
        vertical-align: top;
    }

        table.mw-mood-feelings-list td label {
            margin: 0 !important;
            font-size: 0.9rem;
            line-height: 1.35;
            word-wrap: break-word;
            word-break: break-word;
            overflow-wrap: break-word;
            white-space: normal;
            flex: 1 1 auto;
            min-width: 0;
        }

    table.mw-mood-feelings-list input[type="checkbox"] {
        flex-shrink: 0;
        margin: 0.1rem 0.15rem 0 0;
    }

/* Very narrow: one column so labels never sit under the neighbor column */
@media (max-width: 340px) {
    table.mw-mood-feelings-list tbody {
        grid-template-columns: 1fr;
    }
}

/* Three columns once there is room */
@media (min-width: 520px) {
    table.mw-mood-feelings-list tbody {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    table.mw-mood-feelings-list tbody {
        grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
    }
}

/* Keep emoji + title on one row; override (max-width: 480px) .result-card-header { flex-direction: column } */
.my-result-container .result-card-header.mw-moods-header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.4rem 0.55rem;
}

    .my-result-container .result-card-header.mw-moods-header::before {
        width: auto;
        height: auto;
        border-radius: 0;
        font-size: 1.15rem;
        line-height: 1;
        margin-top: 0.08rem;
        flex-shrink: 0;
    }

    .my-result-container .result-card-header.mw-moods-header .mw-moods-header__text {
        flex: 1 1 auto;
        min-width: 0;
        line-height: 1.3;
    }

    .my-result-container .result-card-header.mw-moods-header .mw-moods-header__err {
        display: inline;
        float: none !important;
        margin-left: 0.25rem;
    }

@media (max-width: 400px) {
    .my-result-container .result-card-header.mw-moods-header,
    .my-result-container .result-card-header.mw-mw-section-tight {
        font-size: 0.9rem;
    }
}

/* Mental wellness — Overall rating & Sleep: same row header + options reflow with width (table → grid) */
.my-result-container .result-card-header.mw-mw-section-tight {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.4rem 0.55rem;
    padding-bottom: 0.12rem;
    line-height: 1.3;
}

    .my-result-container .result-card-header.mw-mw-section-tight::before {
        width: auto;
        height: auto;
        border-radius: 0;
        font-size: 1.15rem;
        line-height: 1;
        margin-top: 0.08rem;
        flex-shrink: 0;
    }

    .my-result-container .result-card-header.mw-mw-section-tight > span {
        flex: 1 1 auto;
        min-width: 0;
    }

.mw-mw-radios-wrap {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible;
}

    .mw-mw-radios-wrap .mw-radio-list-spread.mw-radio-list-75 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mw-mw-radios-wrap .mw-radio-list-spread {
        display: block !important;
    }

        .mw-mw-radios-wrap .mw-radio-list-spread tbody {
            display: grid;
            width: 100%;
            grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
            gap: 0.5rem 0.65rem;
            align-items: start;
        }

        .mw-mw-radios-wrap .mw-radio-list-spread tr {
            display: contents !important;
        }

        .mw-mw-radios-wrap .mw-radio-list-spread td {
            display: flex !important;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: flex-start;
            justify-content: flex-start;
            min-width: 0;
            max-width: 100%;
            width: auto !important;
            padding: 0.25rem 0 !important;
            text-align: left !important;
            flex: 1 1 auto;
        }

            .mw-mw-radios-wrap .mw-radio-list-spread td label {
                margin: 0 !important;
                line-height: 1.35;
                font-size: 0.9rem;
                word-wrap: break-word;
                word-break: break-word;
                overflow-wrap: break-word;
                min-width: 0;
                flex: 1 1 auto;
            }

        .mw-mw-radios-wrap .mw-radio-list-spread input[type="radio"] {
            flex-shrink: 0;
            margin: 0.12rem 0.4rem 0 0;
        }

@media (min-width: 1200px) {
    .mw-mw-radios-wrap .mw-overall-rating-rbl tbody {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .mw-mw-radios-wrap .mw-sleep-radios-rbl tbody {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Mental Wellness tracker page: less padding at bottom of white panels and inner .config-card */
.mw-tracker-page .bg-white.cstm-bdr-r.p-3 {
    padding-bottom: 0.5rem !important;
}

.mw-tracker-page .bg-white.cstm-bdr-r.p-4 {
    padding-bottom: 0.75rem !important;
}

.mw-tracker-page .config-card.p-3 {
    padding-bottom: 0.5rem !important;
}
.accordion-button {
    background-color: #ffffff;
}

    .accordion-button:not(.collapsed) {
        background-color: #ffffff; /* also keep white when open */
        box-shadow: none; /* optional: remove blue glow */
    }

    .accordion-button:focus {
        box-shadow: none; /* optional: remove focus outline */
    }
.btn-lightblue {
    background-color: #0dcaf0 !important;
    /*border-color: #0dcaf0 !important;
    color: #fff !important;*/
    color: #fff !important;
    background-color: #0dcaf0 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
}
    /*.btn-lightblue :hover{
        background-color: #00B1DC !important;
        border-color: #00B1DC !important;
        color: #0000!important;
        font-size: larger;
    }*/


.page-banner {
    width: 100%;
    margin-bottom: 1.25rem;
    line-height: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

    .page-banner img {
        width: 100%;
        /*height: 13.5rem;*/
        object-fit: cover;
        object-position: center;
        display: block;
    }
