/* =========================================
   CWA Header Width + Sticky + Right CTA Bar
========================================= */

:root {
    --cwa-header-height: 80px;
    --cwa-header-sticky-height: 80px;
    --cwa-content-max: 1689px;
    --cwa-blue: #187cc2;
    --cwa-blue-dark: #0f5f99;
    --cwa-yellow: #eab71d;
    --cwa-yellow-light: #ffd84a;
}

/* Full-width header shell */
.header_bg .header-center-bg {
    overflow: visible !important;
}

.header_bg .header-center-bg > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
}

/* Megamenu width reference */
.header_bg #megamenuWidthBox {
    width: 100% !important;
    max-width: var(--cwa-content-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Main header row */
.header_bg .header-center {
    width: 100% !important;
    max-width: none !important;
    height: var(--cwa-header-height) !important;
    min-height: var(--cwa-header-height) !important;
    display: flex !important;
    align-items: stretch !important;
    transition: none !important;
}

/* Prevent sticky transition jump */
.header_bg,
.header_bg .header-center-bg,
.header_bg .header-center,
.header_bg .header-container-box,
.header_bg .header-area,
.header_bg .header-content-wrap,
.header_bg .logo {
    transition-property: background-color, color, opacity, box-shadow !important;
}

/* Logo aligned to content max width */
.header_bg .area-left {
    flex: 0 0 245px !important;
    width: 245px !important;
    height: var(--cwa-header-height) !important;
    min-height: var(--cwa-header-height) !important;
    margin-left: max(32px, calc((100vw - var(--cwa-content-max)) / 2)) !important;
    display: flex !important;
    align-items: center !important;
}

/* Logo */
.header_bg .logo,
.header_bg .logo a {
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transition: none !important;
}

.header_bg .logo img.header-logo,
.header_bg .logo img.floating-header-logo {
    max-height: 64px !important;
    max-width: 230px !important;
    width: auto !important;
    object-fit: contain !important;
    transition: none !important;
}

/* Menu area */
.header_bg .area-center {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: var(--cwa-header-height) !important;
    min-height: var(--cwa-header-height) !important;
    display: flex !important;
    align-items: center !important;
}

.header_bg .area-center .header-content-wrap,
.header_bg .nav-bar,
.header_bg .dng-megamenu,
.header_bg .dnngo_gomenu {
    width: 100% !important;
}

.header_bg .primary_structure {
    justify-content: center !important;
}

/* CTA block pinned to browser right edge */
.header_bg .area-right {
    flex: 0 0 auto !important;
    height: var(--cwa-header-height) !important;
    min-height: var(--cwa-header-height) !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: stretch !important;
}

.header_bg .area-right .header-content-wrap,
.header_bg .area-right .dngTextBox,
.header_bg .cwa-header-actions {
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    align-items: stretch !important;
}

.header_bg .cwa-header-actions {
    margin: 0 !important;
    white-space: nowrap !important;
}

/* CTA panels */
.header_bg .cwa-header-action {
    position: relative !important;
    isolation: isolate !important;
    min-width: 190px !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 0 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    transition: filter 250ms ease !important;
}

.header_bg .cwa-header-action span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    opacity: .8 !important;
}

.header_bg .cwa-header-action strong {
    display: block !important;
    margin-top: 4px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.header_bg .cwa-header-action-discovery {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--cwa-blue) 0%, var(--cwa-blue-dark) 100%) !important;
}

.header_bg .cwa-header-action-training {
    color: #10283c !important;
    background: linear-gradient(135deg, var(--cwa-yellow) 0%, var(--cwa-yellow-light) 100%) !important;
}

/* Angled shine hover */
.header_bg .cwa-header-action::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 38%,
        rgba(255,255,255,.32) 50%,
        transparent 62%,
        transparent 100%
    ) !important;
    transform: translateX(-130%) skewX(-18deg) !important;
    transition: transform 650ms ease !important;
}

.header_bg .cwa-header-action:hover::before {
    transform: translateX(130%) skewX(-18deg) !important;
}

.header_bg .cwa-header-action:hover {
    transform: none !important;
    filter: brightness(1.05) !important;
}

/* Sticky state: same dimensions as normal state to prevent jump */
.header_bg.floating-active .header-center {
    height: var(--cwa-header-sticky-height) !important;
    min-height: var(--cwa-header-sticky-height) !important;
    transition: none !important;
}

.header_bg.floating-active .area-left,
.header_bg.floating-active .area-center,
.header_bg.floating-active .area-right {
    height: var(--cwa-header-sticky-height) !important;
    min-height: var(--cwa-header-sticky-height) !important;
}

.header_bg.floating-active .logo,
.header_bg.floating-active .logo a {
    height: 100% !important;
    min-height: 100% !important;
}

.header_bg.floating-active .logo img.header-logo,
.header_bg.floating-active .logo img.floating-header-logo {
    max-height: 64px !important;
    max-width: 230px !important;
    transition: none !important;
}

.header_bg.floating-active .cwa-header-action {
    min-width: 190px !important;
}

/* Override theme sticky shrink behavior */
.floating-nav-sticky.floating-active .header-container-box,
.floating-nav-sticky.floating-active .header-bg-box,
.floating-nav-sticky.floating-active .logo,
.floating-nav-scrollup.floating-active .header-container-box,
.floating-nav-scrollup.floating-active .header-bg-box,
.floating-nav-scrollup.floating-active .logo {
    transition: none !important;
}

.header_bg.floating-active .header-center-bg,
.header_bg.floating-active .header-center-bg > .container,
.header_bg.floating-active .header-center {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Large tablet cleanup */
@media only screen and (max-width: 1400px) {
    .header_bg .area-left {
        flex-basis: 220px !important;
        width: 220px !important;
        margin-left: 24px !important;
    }

    .header_bg .logo img.header-logo,
    .header_bg .logo img.floating-header-logo,
    .header_bg.floating-active .logo img.header-logo,
    .header_bg.floating-active .logo img.floating-header-logo {
        max-height: 58px !important;
        max-width: 205px !important;
    }

    .header_bg .cwa-header-action,
    .header_bg.floating-active .cwa-header-action {
        min-width: 160px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .header_bg .cwa-header-action strong {
        font-size: 13px !important;
    }

    .header_bg .cwa-header-action span {
        font-size: 10px !important;
    }
}

/* Before mobile header kicks in */
@media only screen and (max-width: 1199px) {
    .header_bg .area-left {
        flex-basis: 190px !important;
        width: 190px !important;
    }

    .header_bg .logo img.header-logo,
    .header_bg .logo img.floating-header-logo,
    .header_bg.floating-active .logo img.header-logo,
    .header_bg.floating-active .logo img.floating-header-logo {
        max-height: 52px !important;
        max-width: 180px !important;
    }

    .header_bg .cwa-header-action,
    .header_bg.floating-active .cwa-header-action {
        min-width: 145px !important;
    }
}






/* =========================================
   CWA Mega Menu - Full Drop-In
   Place AFTER DNNGo megamenu CSS
========================================= */

.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) > .dnngo_boxslide {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) .dnngo_custommenu {
    padding: 0 !important;
    background: transparent !important;
    display: block !important;
}

.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) .menupane,
.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) .pane_space,
.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) .submodule,
.header_bg .dng-megamenu .dnngo_menuslide:has(.cwa-mega-menu) .menucontent {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
}

.header_bg .dng-megamenu .cwa-mega-menu {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 420px minmax(0, 1fr) !important;
    background: #ffffff !important;
    border-top: 4px solid #eab71d !important;
    box-shadow: 0 24px 60px rgba(10, 34, 56, .16) !important;
    overflow: hidden !important;
    text-align: left !important;
}

/* Intro */
.header_bg .dng-megamenu .cwa-mega-intro {
    padding: 34px 40px !important;
    background: linear-gradient(145deg, #187cc2 0%, #0f5f99 100%) !important;
    color: #ffffff !important;
    position: relative !important;
    overflow: visible !important;
    min-width: 0 !important;
}

.header_bg .dng-megamenu .cwa-mega-intro:after {
    display: none !important;
    content: none !important;
}

.header_bg .dng-megamenu .cwa-mega-label {
    display: block !important;
    margin-bottom: 10px !important;
    color: #eab71d !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.header_bg .dng-megamenu .cwa-mega-intro h3 {
    margin: 0 0 12px !important;
    color: #ffffff !important;
    font-size: 27px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    white-space: normal !important;
}

.header_bg .dng-megamenu .cwa-mega-intro p {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    overflow: visible !important;
    max-width: 100% !important;
}

/* Intro buttons */
.header_bg .dng-megamenu .cwa-mega-actions {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    gap: 10px !important;
    margin-top: 22px !important;
}

.header_bg .dng-megamenu .cwa-mega-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 16px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.header_bg .dng-megamenu .cwa-mega-btn-yellow {
    background: #eab71d !important;
    color: #10283c !important;
}

.header_bg .dng-megamenu .cwa-mega-btn-white {
    background: rgba(255,255,255,.13) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.38) !important;
}

.header_bg .dng-megamenu .cwa-mega-btn-yellow:hover {
    background: #ffd84a !important;
    color: #10283c !important;
}

.header_bg .dng-megamenu .cwa-mega-btn-white:hover {
    background: #ffffff !important;
    color: #10283c !important;
}

/* Grid: 2 columns / 3 rows */
.header_bg .dng-megamenu .cwa-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%) !important;
    min-width: 0 !important;
}

/* Cards */
.header_bg .dng-megamenu .cwa-mega-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 108px !important;
    padding: 18px 132px 17px 24px !important;
    border-radius: 14px !important;
    background-color: #ffffff !important;
    background-size: 108px 108px !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
    border: 1px solid rgba(24,124,194,.14) !important;
    box-shadow: 0 8px 20px rgba(15,95,153,.06) !important;
    text-decoration: none !important;
    overflow: hidden !important;
    float: none !important;
    transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.header_bg .dng-megamenu .cwa-mega-card:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    bottom: 18px !important;
    width: 4px !important;
    background: #187cc2 !important;
    border-radius: 0 8px 8px 0 !important;
}

.header_bg .dng-megamenu .cwa-mega-card strong {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    color: #10283c !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    white-space: normal !important;
}

.header_bg .dng-megamenu .cwa-mega-card small {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    max-width: 100% !important;
    color: #52697c !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    white-space: normal !important;
}

/* Square image reveal */
.header_bg .dng-megamenu .cwa-card-discovery {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/DISCOVER-TB_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-card-private {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/PrivatePilot_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-card-instrument {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/InstrumentRating_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-card-commercial {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/CommercialPilot_BG_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-card-multi {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/MultiEngine_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-card-instructor {
    background-image: url('/Portals/0/ThemePluginPro/uploads/2026/5/4/FlightInstructor_square_no_gradient.jpg') !important;
}

.header_bg .dng-megamenu .cwa-mega-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(24,124,194,.14) !important;
    box-shadow: 0 14px 30px rgba(15,95,153,.13) !important;
    background-size: 112px 112px !important;
}

/* Disable DNNGo underline effect inside CWA menu */
.header_bg .dng-megamenu .cwa-mega-menu a > span:after,
.header_bg .dng-megamenu .cwa-mega-menu a:hover > span:after {
    content: none !important;
    display: none !important;
}

/* Smaller desktop */
@media only screen and (max-width: 1280px) {
    .header_bg .dng-megamenu .cwa-mega-menu {
        grid-template-columns: 370px minmax(0, 1fr) !important;
    }

    .header_bg .dng-megamenu .cwa-mega-intro {
        padding: 28px !important;
    }

    .header_bg .dng-megamenu .cwa-mega-intro h3 {
        font-size: 23px !important;
    }

    .header_bg .dng-megamenu .cwa-mega-grid {
        gap: 12px !important;
        padding: 18px !important;
    }

    .header_bg .dng-megamenu .cwa-mega-card,
    .header_bg .dng-megamenu .cwa-mega-card:hover {
        min-height: 96px !important;
        padding: 16px 112px 15px 21px !important;
        background-size: 96px 96px !important;
    }

    .header_bg .dng-megamenu .cwa-mega-card strong {
        font-size: 14px !important;
    }

    .header_bg .dng-megamenu .cwa-mega-card small {
        font-size: 12px !important;
    }
}










/* =========================================
   CWA Footer Inner Only
========================================= */

.cwa-footer-inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 40px;
    padding: 70px 0;
    color: #ffffff;
}

.cwa-footer-col h4 {
    margin-bottom: 16px;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .04em;
}

.cwa-footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cwa-footer-col li {
    margin-bottom: 10px;
}

.cwa-footer-col a {
    color: rgba(255,255,255,.75);
    text-decoration: none;
    font-size: 14px;
    transition: color 200ms ease, filter 200ms ease;
}

.cwa-footer-col a:hover {
    color: #eab71d;
}

.cwa-footer-brand p {
    margin: 18px 0 20px;
    color: rgba(255,255,255,.75);
    font-size: 14px;
    line-height: 1.6;
}

.cwa-footer-logo img {
    max-width: 190px;
}

.cwa-footer-social {
    display: flex;
    gap: 10px;
}

.cwa-footer-social a {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #ffffff !important;
    font-size: 14px;
}

.cwa-footer-social a:hover {
    background: #187cc2;
    color: #ffffff !important;
}

.cwa-footer-cta {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cwa-footer-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 14px !important;
    font-weight: 800;
    text-decoration: none !important;
    text-align: center;
    line-height: 1.2;
}

.cwa-footer-btn-yellow,
.cwa-footer-btn-yellow:link,
.cwa-footer-btn-yellow:visited,
.cwa-footer-btn-yellow:active,
.cwa-footer-btn-yellow:hover,
.cwa-footer-btn-yellow:focus {
    background: #eab71d !important;
    color: #061827 !important;
}

.cwa-footer-btn-blue,
.cwa-footer-btn-blue:link,
.cwa-footer-btn-blue:visited,
.cwa-footer-btn-blue:active,
.cwa-footer-btn-blue:hover,
.cwa-footer-btn-blue:focus {
    background: #187cc2 !important;
    color: #ffffff !important;
}

.cwa-footer-btn:hover {
    filter: brightness(1.06);
}

.cwa-footer-cta small {
    margin-top: 8px;
    color: rgba(255,255,255,.6);
    font-size: 12px;
}

.cwa-footer-bottom {
    padding: 18px 0;
    text-align: center;
    color: rgba(255,255,255,.6);
    font-size: 13px;
}

@media (max-width: 991px) {
    .cwa-footer-inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .cwa-footer-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
