/* Site-wide navy to match the homepage (#061525).
   Cards, forms, tables, and dropdowns stay white with dark text. */

html,
body,
body.as-site {
    background: #061525 !important;
    background-image: none !important;
    background-attachment: scroll !important;
    color: #d7e8f6;
}

form,
.page,
.container-fluid,
.container,
.main,
.as-site .main,
.as-site .main:not(:has(.as-hero)) {
    background: transparent !important;
    background-image: none !important;
}

div.header {
    background: #061525 !important;
}

nav.navbar {
    background: #061525 !important;
    background-color: #061525 !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 0 !important;
}

nav.navbar .nav-link,
nav.navbar .navbar-nav a,
nav.navbar .navbar-brand,
nav.navbar li a,
nav.navbar .loginDisplay,
nav.navbar .fl-left {
    color: #fff !important;
}

nav.navbar .dropdown-menu,
nav.navbar .dropdown-menu a {
    color: #061525 !important;
}

.as-header-actions {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-shrink: 0;
}

.as-nav-login,
a.as-nav-login,
a.as-nav-login:link,
a.as-nav-login:visited {
    display: inline-block !important;
    margin-left: auto;
    margin-right: 0.6rem;
    background: #FDAA29 !important;
    color: #1a1a1a !important;
    font-weight: 800 !important;
    font-size: 0.95rem;
    padding: 0.4rem 0.95rem;
    border-radius: 999px;
    text-decoration: none !important;
    white-space: nowrap;
    z-index: 20;
    position: relative;
}
a.as-nav-login:hover {
    background: #ffc05a !important;
    color: #1a1a1a !important;
}

.navbar-dark .navbar-toggler {
    border-color: rgba(255,255,255,0.55);
}

nav.as-main-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
nav.as-main-nav .navbar-brand {
    margin-right: 0.5rem;
}
nav.as-main-nav .as-nav-login {
    order: 2;
    margin-left: auto;
}
nav.as-main-nav .navbar-toggler {
    order: 3;
}
nav.as-main-nav > .container {
    order: 4;
    flex: 1 1 100%;
}
@media (min-width: 768px) {
    nav.as-main-nav > .container {
        order: 2;
        flex: 1 1 auto;
        max-width: none;
    }
    nav.as-main-nav .as-nav-login {
        order: 3;
        margin-left: 0.75rem;
        margin-right: 0;
    }
}

.as-site .header {
    height: auto !important;
    overflow: visible !important;
}

/* Quiz / exam cards: full width on phones, no clipped half-page */
.dip-exam,
.dip-exam-card,
.dip-exam-q,
.dip-exam-q table,
.dip-exam-q tbody,
.dip-exam-q tr,
.dip-exam-q td {
    max-width: 100%;
    overflow: visible !important;
}
.dip-exam-q table {
    width: 100% !important;
    display: block;
}
.dip-exam-q tbody,
.dip-exam-q tr,
.dip-exam-q td {
    display: block;
    width: 100% !important;
}
.dip-exam-q label,
.dip-exam-q td label {
    display: block;
    white-space: normal !important;
    line-height: 1.45;
    padding: 0.35rem 0;
}

@media (max-width: 767px) {
    .dip-exam {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .dip-exam-card,
    .dip-exam-hero {
        padding: 1rem 0.85rem;
        border-radius: 14px;
    }
    .dip-exam-q p {
        font-size: 1.02rem;
    }
    .container.py-4 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    #divPane1, #divPane2,
    .jspContainer, .jspPane {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
}

/* Titles and copy that sit directly on the navy page */
.as-site .main h1,
.as-site .main h2,
.as-site .main h3,
.pricing-header h1,
.pricing-header .display-4 {
    color: #e8f1f8 !important;
}

.as-site .main p,
.as-site .main li,
.enroll-help {
    color: #d7e8f6;
}

.as-site .main .as-prog-panel-body ol,
.as-site .main .as-prog-panel-body ol li,
.as-site .main .dip-loc-note,
.as-site .main .dip-loc-note ul,
.as-site .main .dip-loc-note li {
    color: #000000 !important;
}

.pricing-header .enroll-help {
    color: #d7e8f6 !important;
}

.pricing-header .enroll-help a,
.as-programs-page .as-back a,
.as-dip-page .as-back a,
.as-schedules-page .as-back a {
    color: #FDAA29 !important;
}

/* Hero bands keep white type */
.as-site .main [class*="-hero"] h1,
.as-site .main [class*="-hero"] h2,
.as-site .main [class*="-hero"] h3,
.as-site .as-hero h1,
.as-site .as-hero h2,
.as-site .as-hero h3 {
    color: #fff !important;
    border-bottom: none !important;
}

.as-site .main [class*="-hero"] p {
    color: #eef4ff !important;
}

/* White surfaces keep dark readable text */
.card,
.card-body,
.card-header,
.dropdown-menu,
.alert,
.info-panel,
.well,
.panel,
.jumbotron,
.modal-content,
.dip-how-card,
.dip-fees-card,
.dip-fees-card-body,
.dip-loc-card,
.dip-loc-card-body,
.dip-loc-window,
.dip-loc-note,
.dip-sched-card,
.dip-sched-card-body,
.dip-ct-card,
.dip-ct-card-body,
.dip-ct-reach,
.dip-desk-step,
.dip-desk-add,
.dip-reg-box,
.dip-reg-steps,
.dip-how-note,
.waiver-card,
.mva-form,
.as-prog-card,
.as-prog-card-content {
    color: #2c3340;
}

.as-site .main .card h1,
.as-site .main .card h2,
.as-site .main .card h3,
.as-site .main .card h4,
.as-site .main .card-header h4,
.as-site .main [class*="-card"] h1,
.as-site .main [class*="-card"] h2,
.as-site .main [class*="-card"] h3,
.as-site .main [class*="-card"] h4,
.as-site .main [class*="-box"] h1,
.as-site .main [class*="-box"] h2,
.as-site .main .dip-desk-add h2,
.as-site .main .dip-loc-note h3,
.as-site .main .info-panel h2,
.as-site .main .info-panel h3,
.as-site .main .as-prog-card-title {
    color: #0a2540 !important;
}

.as-site .main .card p,
.as-site .main .card li,
.as-site .main .card-body,
.as-site .main [class*="-card"] p,
.as-site .main [class*="-box"] p,
.as-site .main [class*="-note"] p,
.as-site .main [class*="-note"] li,
.as-site .main [class*="-window"],
.as-site .main .alert,
.as-site .main .alert p,
.as-site .main table,
.as-site .main table p,
.as-site .main table li,
.as-site .main table h2,
.as-site .main table h3,
.as-site .main .intro,
.card .enroll-help,
.waiver-card,
.waiver-card p,
.waiver-card li,
.mva-form,
.dip-reg-box p,
.dip-reg-steps,
.dip-desk-add p,
.dip-desk-add label {
    color: #2c3340 !important;
}

.as-site .main .dip-loc-note,
.as-site .main .dip-loc-note ul,
.as-site .main .dip-loc-note li {
    color: #000000 !important;
}

.as-site .main .dip-reg-steps,
.as-site .main .dip-reg-steps p,
.as-site .main .dip-reg-steps ol,
.as-site .main .dip-reg-steps li,
.as-site .main .dip-reg-steps strong,
.as-site .main .dip-reg-steps a,
.as-site .main .dip-reg-steps a:link,
.as-site .main .dip-reg-steps a:visited {
    color: #000000 !important;
}

.as-site .main table {
    background: #fff !important;
    color: #2c3340 !important;
    padding: 1.25rem;
    border-radius: 12px;
}

.container table {
    background: #fff;
    color: #2c3340;
}

.card,
.dip-how-card,
.dip-fees-card,
.dip-loc-card,
.dip-loc-window,
.dip-sched-card,
.dip-ct-card,
.dip-desk-step,
.dip-desk-add,
.dip-reg-box {
    background: #fff;
}

label,
.form-control,
.form-group,
.CreateUserWizard {
    color: #2c3340;
}

.as-site .main .dip-reg-box,
.as-site .main .dip-reg-box td,
.as-site .main .dip-reg-box th,
.as-site .main .dip-reg-box label,
.as-site .main .dip-reg-box legend,
.as-site .main .dip-reg-box h1,
.as-site .main .dip-reg-box h2,
.as-site .main .dip-reg-box h3,
.as-site .main .dip-reg-box span,
.as-site .main .CreateUserWizard,
.as-site .main .CreateUserWizard td,
.as-site .main .CreateUserWizard th,
.as-site .main .CreateUserWizard label,
.as-site .main .CreateUserWizard legend,
.as-site .main .CreateUserWizard h1,
.as-site .main .CreateUserWizard h2,
.as-site .main .CreateUserWizard h3,
.as-site .main .CreateUserWizard span {
    color: #000000 !important;
}
.dip-reg-box,
.dip-reg-box table,
.CreateUserWizard,
.CreateUserWizard table {
    background: #ffffff !important;
}
.footer a,
.footer a.alinkNew,
.as-site .footer a,
.as-site .footer a:link,
.as-site .footer a:visited,
.as-footer-links a,
.as-footer-copy a {
    color: #ffffff !important;
}

body.as-personal-info .main,
body.as-personal-info #main-content,
body.as-personal-info .main table,
body.as-personal-info .main td,
body.as-personal-info .main th,
body.as-personal-info .main label,
body.as-personal-info .main legend,
body.as-personal-info .main select,
body.as-personal-info .main option,
body.as-personal-info .main span,
body.as-personal-info .main p,
body.as-personal-info .main li,
body.as-personal-info .main font,
body.as-personal-info .main h1,
body.as-personal-info .main h2,
body.as-personal-info .main h3,
body.as-personal-info .main input,
body.as-personal-info .main textarea {
    color: #000000 !important;
}
body.as-personal-info .main table,
body.as-personal-info .main {
    background: #ffffff !important;
}

/* Session / quiz pages: keep lesson text on a white surface so it stays readable. */
form > .container-fluid > .container-fluid:not(.footer):not(#footer_id) {
    background: #ffffff !important;
    color: #1a2330 !important;
}
.as-site .main {
    background: #ffffff;
    color: #1a2330;
}
.home-page {
    background: linear-gradient(180deg, #061525 0%, #0a2540 42%, #134875 100%);
    color: #fff;
}
/* Front-page dark-band copy: beat .as-site .main a:link navy (invisible on navy). */
.home-page a.home-btn-outline,
.home-page a.home-btn-outline:link,
.home-page a.home-btn-outline:visited,
.home-page a.home-btn-outline:hover,
.home-page a.home-btn-outline:active,
.home-page a.home-btn-outline:focus,
.home-page .home-card-top,
.home-page .home-card-top a,
.home-page .home-card-top a:link,
.home-page .home-card-top a:visited,
.home-page .home-card-top a:hover,
.home-page .home-note,
.home-page .home-note a,
.home-page .home-note a:link,
.home-page .home-note a:visited,
.home-page .home-note a:hover {
    color: #ffffff !important;
}
.dip-how-btn:not(.dip-how-btn-gold),
.dip-how-btn:not(.dip-how-btn-gold):link,
.dip-how-btn:not(.dip-how-btn-gold):visited,
.dip-how-btn:not(.dip-how-btn-gold):hover,
.as-site .main a.dip-how-btn:not(.dip-how-btn-gold),
.as-site .main a.dip-how-btn:not(.dip-how-btn-gold):link,
.as-site .main a.dip-how-btn:not(.dip-how-btn-gold):visited,
.as-site .main a.dip-how-btn:not(.dip-how-btn-gold):hover {
    color: #ffffff !important;
}
.dip-fees-btn:not(.dip-fees-btn-gold),
.dip-fees-btn:not(.dip-fees-btn-gold):link,
.dip-fees-btn:not(.dip-fees-btn-gold):visited,
.dip-fees-btn:not(.dip-fees-btn-gold):hover,
.as-site .main a.dip-fees-btn:not(.dip-fees-btn-gold),
.as-site .main a.dip-fees-btn:not(.dip-fees-btn-gold):link,
.as-site .main a.dip-fees-btn:not(.dip-fees-btn-gold):visited,
.as-site .main a.dip-fees-btn:not(.dip-fees-btn-gold):hover {
    color: #ffffff !important;
}
.as-site .main .dip-fees-policy,
.as-site .main .dip-fees-policy h2,
.as-site .main .dip-fees-policy h3,
.as-site .main .dip-fees-policy p,
.as-site .main .dip-fees-policy ol,
.as-site .main .dip-fees-policy li,
.as-site .main .dip-fees-policy strong {
    color: #000000 !important;
}
.as-site .main .dip-ct-reach p {
    color: #000000 !important;
}
.as-site .main .as-faq-item summary,
.as-site .main .as-faq-item .as-faq-answer,
.as-site .main .as-faq-item .as-faq-answer p {
    color: #000000 !important;
    pointer-events: auto !important;
}
.dip-ct-btn-blue,
.dip-ct-btn-blue:link,
.dip-ct-btn-blue:visited,
.dip-ct-btn-blue:hover,
.as-site .main a.dip-ct-btn-blue,
.as-site .main a.dip-ct-btn-blue:link,
.as-site .main a.dip-ct-btn-blue:visited,
.as-site .main a.dip-ct-btn-blue:hover {
    color: #ffffff !important;
}
.dip-portal-btn:not(.dip-portal-btn-gold),
.dip-portal-btn:not(.dip-portal-btn-gold):link,
.dip-portal-btn:not(.dip-portal-btn-gold):visited,
.dip-portal-btn:not(.dip-portal-btn-gold):hover,
.as-site .main a.dip-portal-btn:not(.dip-portal-btn-gold),
.as-site .main a.dip-portal-btn:not(.dip-portal-btn-gold):link,
.as-site .main a.dip-portal-btn:not(.dip-portal-btn-gold):visited,
.as-site .main a.dip-portal-btn:not(.dip-portal-btn-gold):hover {
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .ui-dialog {
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        top: 8px !important;
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        height: auto !important;
        margin: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .ui-dialog .ui-dialog-titlebar,
    .ui-dialog .ui-dialog-buttonpane {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .ui-dialog .ui-dialog-content {
        width: auto !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 140px) !important;
        overflow: auto !important;
        box-sizing: border-box !important;
    }
    .ui-widget-overlay {
        left: 0 !important;
        top: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
    }
    .ui-dialog img,
    .ui-dialog table,
    .ui-dialog iframe {
        max-width: 100% !important;
        height: auto !important;
    }
}
