/* Scoped to the approved WordPress menu. Astra owns the site header and drawer. */
.approved-mega-root,.approved-compact-root{--aam-accent:#5c7faa;--aam-card:#edf2f8;--aam-ink:#13151f;color:var(--aam-ink)}
.approved-mega-root .ast-mm-custom-content{padding:0!important;margin:0!important}
.approved-mega-root .ast-hide-menu-item{display:none!important}
.approved-menu-group>.menu-link{font-size:10px!important;font-weight:600!important;letter-spacing:1.2px;text-transform:uppercase;color:var(--aam-accent)!important;border-bottom:1px solid #e4e8ee!important;padding:0 0 12px!important;margin:0 0 10px!important;line-height:1.6!important;min-height:0!important;cursor:default}
.approved-menu-group>.menu-link>.ast-icon,.approved-menu-group>.ast-menu-toggle,.approved-menu-group>.menu-link .dropdown-menu-toggle{display:none!important}
.approved-mega-root .approved-menu-leaf>.menu-link,.approved-compact-root .approved-menu-leaf>.menu-link{position:relative;display:block!important;padding:12px 30px 12px 10px!important;min-height:62px;line-height:1.5!important;border:0!important;border-radius:4px;color:var(--aam-ink)!important;background:transparent;font-size:14px!important}
.approved-mega-root .approved-menu-leaf>.menu-link>.ast-icon,.approved-compact-root .approved-menu-leaf>.menu-link>.ast-icon{display:none!important}
.approved-mega-root .approved-menu-leaf>.menu-link>.menu-text,.approved-compact-root .approved-menu-leaf>.menu-link>.menu-text{font-weight:600;white-space:normal}
.approved-mega-root .approved-menu-leaf>.menu-link:after,.approved-compact-root .approved-menu-leaf>.menu-link:after{content:'→';position:absolute;right:10px;top:16px;color:#748896;font-size:14px}
.approved-menu-description{display:block!important;font-size:12px!important;font-weight:400;line-height:1.65;color:#657181!important;white-space:normal;margin-top:3px}
.approved-mega-root .approved-menu-leaf>.menu-link:hover,.approved-mega-root .approved-menu-leaf>.menu-link:focus-visible,.approved-compact-root .approved-menu-leaf>.menu-link:hover,.approved-compact-root .approved-menu-leaf>.menu-link:focus-visible{background:#f1f5fa!important}
/* Top-level direct links share the same typography and color as the mega triggers. */
:is(#ast-hf-menu-1,#ast-hf-mobile-menu)>:is(.approved-mega-root,.approved-compact-root,.approved-menu-leaf)>.menu-link,
:is(#ast-hf-menu-1,#ast-hf-mobile-menu)>:is(.approved-mega-root,.approved-compact-root,.approved-menu-leaf)>.menu-link:is(:hover,:focus,:active,:visited){font-weight:400!important;color:#13151f!important;background:transparent!important}
:is(#ast-hf-menu-1,#ast-hf-mobile-menu)>:is(.approved-mega-root,.approved-compact-root,.approved-menu-leaf)>.menu-link>.menu-text{font-weight:inherit!important;color:inherit!important}
.ast-desktop.approved-menu-ready #ast-hf-menu-1{flex-wrap:nowrap!important}
.ast-desktop.approved-menu-ready #ast-desktop-header .site-title{white-space:nowrap}
@media(min-width:922px) and (max-width:1200px){.ast-desktop.approved-menu-ready #ast-hf-menu-1>li>.menu-link{font-size:15px!important;padding-left:9px!important;padding-right:9px!important;white-space:nowrap}.ast-desktop.approved-menu-ready .approved-menu-search{margin-left:0}.ast-desktop.approved-menu-ready #ast-desktop-header .site-title{font-size:21px}}
.approved-mega-root a:focus-visible,.approved-compact-root a:focus-visible{outline:2px solid var(--aam-accent);outline-offset:3px}
.approved-mega-root .astra-mm-highlight-label{font-size:9px!important;line-height:1.5;vertical-align:middle;margin-left:7px!important;padding:2px 4px!important;background:#e8edf6!important;color:#365e8f!important;border-radius:2px}
.approved-eyebrow{font-size:10px!important;font-weight:600;letter-spacing:1.3px;line-height:1.6!important;color:var(--aam-accent)!important;margin:0 0 16px!important}
.approved-menu-intro h3,.approved-menu-card h3{font-family:inherit!important;font-size:24px!important;font-weight:600!important;line-height:1.45!important;letter-spacing:-.5px;color:var(--aam-ink)!important;margin:0 0 14px!important}
.approved-menu-intro>p:not(.approved-eyebrow),.approved-menu-card>p:not(.approved-eyebrow){font-size:12px!important;line-height:1.9!important;color:#657181!important;margin:0 0 16px!important}
.approved-menu-card{background:var(--aam-card);padding:22px;border:1px solid #dbe4f1;border-radius:4px}
.approved-menu-card h3{font-size:21px!important}
.approved-menu-card figure{margin:24px 0 0!important;max-width:100%}
.approved-menu-card img{display:block;width:100%;height:auto;max-width:100%;border-radius:3px;box-shadow:0 5px 17px #17334816}
.approved-menu-card figcaption{font-size:10px;line-height:1.6;color:var(--aam-accent);margin-top:10px}
.approved-menu-actions{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px}
.approved-menu-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:12px!important;font-weight:600;line-height:1.6;color:#365e8f!important;white-space:normal}
.approved-menu-intro .approved-menu-actions a{font-size:13px!important;border-bottom:1px solid var(--aam-accent)}
.approved-header-contact>.menu-link{border:1px solid #5c7faa;background:#7297c5;color:#13151f!important;border-radius:3px;min-height:40px!important;height:auto!important;padding:8px 14px!important;line-height:1.6!important;align-self:center;font-size:12px!important}
.ast-desktop .approved-header-contact{display:flex;align-items:center;margin-left:14px}
.approved-menu-search{display:flex;align-items:center;justify-content:center;margin-left:12px}
.approved-menu-search button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border:0;background:transparent!important;color:#13151f!important;cursor:pointer}
.approved-menu-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
#approved-menu-search-dialog{width:min(680px,calc(100% - 32px));max-height:80dvh;overflow-y:auto;border:1px solid #dbe4f1;border-radius:8px;padding:28px;background:white;color:#13151f;box-shadow:0 30px 90px #102a3d33}
#approved-menu-search-dialog::backdrop{background:#142d4666}
#approved-menu-search-dialog h2{font-size:22px;margin:0 44px 18px 0}
#approved-menu-search-dialog .approved-search-close{position:absolute;top:10px;right:10px;min-width:44px;min-height:44px;border:0;background:transparent;color:#13151f;padding:8px;font-size:24px}
#approved-menu-search-dialog label{display:block;font-size:13px;margin-bottom:8px}
#approved-menu-search-input{width:100%;min-height:48px;font-size:16px;padding:10px 12px;border:1px solid #a2b5ba;border-radius:4px}
#approved-menu-search-results{list-style:none;padding:0;margin:8px 0}
#approved-menu-search-results a{display:block;padding:12px 10px;border-bottom:1px solid #edf2f8;color:#13151f;font-size:14px;font-weight:600;line-height:1.6}
#approved-menu-search-results small{display:block;font-size:12px;font-weight:400;color:#657181}
#approved-menu-search-status{font-size:12px;color:#657181;margin:12px 0}
.ast-header-break-point .approved-menu-search{justify-content:flex-start;padding:4px 18px;margin:0}
.ast-desktop .approved-mega-root{position:static!important;--aam-columns:3}
.ast-desktop .approved-columns-4{--aam-columns:4}
.ast-desktop .approved-columns-2{--aam-columns:2}
.ast-desktop .approved-mega-root>.astra-full-megamenu-wrapper{position:fixed!important;top:var(--aam-menu-top,100px)!important;left:0!important;right:0!important;width:100%!important;display:none!important;visibility:hidden;opacity:0;background:white;border-top:1px solid #dde5ef;box-shadow:0 20px 35px #17334820;max-height:calc(100dvh - var(--aam-menu-top,100px) - 12px);overflow-y:auto;overscroll-behavior:contain;z-index:10010}
.ast-desktop .approved-mega-root.approved-open>.astra-full-megamenu-wrapper,.ast-desktop:not(.approved-menu-ready) .approved-mega-root:hover>.astra-full-megamenu-wrapper,.ast-desktop:not(.approved-menu-ready) .approved-mega-root:focus-within>.astra-full-megamenu-wrapper{display:block!important;visibility:visible;opacity:1}
.ast-desktop .approved-mega-root>.astra-full-megamenu-wrapper>.astra-megamenu{display:grid!important;grid-template-columns:repeat(var(--aam-columns),minmax(0,1fr));gap:32px;width:100%!important;max-width:1440px!important;margin:0 auto!important;padding:28px 40px!important;position:relative!important;left:0!important;top:0!important;visibility:visible!important;opacity:1!important;transform:none!important;background:white!important;border:0!important;box-shadow:none!important;float:none!important}
.ast-desktop .approved-mega-root .astra-megamenu>li{display:block!important;width:auto!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;float:none!important}
.ast-desktop .approved-menu-group>.sub-menu{display:block!important;position:static!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;visibility:visible!important;opacity:1!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}
.ast-desktop .approved-compact-root{position:relative!important}
.ast-desktop .approved-compact-root>.sub-menu{display:none!important;width:380px!important;max-width:calc(100vw - 32px);padding:12px 18px!important;background:white!important;border:1px solid #e4e8ee!important;box-shadow:0 15px 25px #17334820;max-height:calc(100dvh - 120px);overflow-y:auto;left:auto!important;right:0!important}
.ast-desktop .approved-compact-root.approved-open>.sub-menu,.ast-desktop:not(.approved-menu-ready) .approved-compact-root:hover>.sub-menu{display:block!important;opacity:1!important;visibility:visible!important}
.approved-mega-root.approved-open>.menu-link,.approved-compact-root.approved-open>.menu-link{box-shadow:inset 0 -3px #2daeb1}
@media(min-width:922px) and (max-width:1100px){.ast-desktop .approved-mega-root>.astra-full-megamenu-wrapper>.astra-megamenu{gap:22px;padding:24px 28px!important}.approved-menu-card{padding:17px}.approved-menu-intro h3{font-size:21px!important}.approved-menu-card h3{font-size:19px!important}}
.ast-header-break-point .approved-mega-root>.astra-full-megamenu-wrapper,.ast-header-break-point .approved-mega-root>.sub-menu,.ast-header-break-point .approved-compact-root>.sub-menu{display:none!important;position:static!important;max-width:none!important;width:100%!important;background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important;max-height:none!important}
.ast-header-break-point .approved-mega-root.approved-open>.astra-full-megamenu-wrapper,.ast-header-break-point .approved-mega-root.approved-open>.sub-menu,.ast-header-break-point .approved-compact-root.approved-open>.sub-menu{display:block!important;visibility:visible!important;opacity:1!important}
.ast-header-break-point .approved-mega-root .astra-megamenu{display:block!important;width:100%!important;padding:6px 18px 15px!important;margin:0!important;position:static!important;visibility:visible!important;opacity:1!important;box-shadow:none!important;border:0!important}
.ast-header-break-point .approved-mega-root .approved-menu-group>.sub-menu{display:block!important;position:static!important;width:auto!important;padding:0!important;margin:0!important;border:0!important;visibility:visible!important;opacity:1!important;box-shadow:none!important}
.ast-header-break-point .approved-mega-root .approved-menu-group{padding:0 12px 12px!important;border:0!important}
.ast-header-break-point .approved-menu-group>.menu-link{padding:10px!important;margin:5px 0!important;background:var(--aam-card)!important;border:0!important;font-size:11px!important;letter-spacing:.2px;text-transform:none}
.ast-header-break-point .approved-mega-root .approved-menu-leaf>.menu-link,.ast-header-break-point .approved-compact-root .approved-menu-leaf>.menu-link{min-height:56px!important;border-bottom:1px solid #f0f0f4!important;border-radius:0!important;padding:10px 28px 10px 10px!important;font-size:14px!important}
.ast-header-break-point .approved-menu-intro{padding:18px 16px;background:#f7f7fa;margin:8px 12px 14px;border-radius:4px}
.ast-header-break-point .approved-menu-intro h3{font-size:21px!important}
.ast-header-break-point .approved-menu-feature>.menu-link{display:none!important}
.ast-header-break-point .approved-menu-feature{padding:0 12px!important}
.ast-header-break-point .approved-menu-card{background:transparent!important;border:0!important;padding:0 10px!important}
.ast-header-break-point .approved-menu-card>p,.ast-header-break-point .approved-menu-card>h3,.ast-header-break-point .approved-menu-card>figure{display:none!important}
.ast-header-break-point .approved-menu-card .approved-menu-actions{margin:4px 0 12px!important}
.ast-header-break-point .approved-header-contact,.ast-header-break-point .approved-mobile-utility{padding:0 18px!important}
.ast-header-break-point .approved-header-contact>.menu-link,.ast-header-break-point .approved-mobile-utility>.menu-link{display:flex!important;align-items:center;min-height:48px!important;margin:6px 0!important;white-space:normal;line-height:1.6!important}
.ast-header-break-point.approved-menu-ready #ast-mobile-header .ast-mobile-header-content{position:fixed!important;top:var(--aam-drawer-top,80px)!important;bottom:0;left:0;right:0;width:100%!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;background:white;z-index:10010;padding-bottom:16px}
.ast-header-break-point.approved-drawer-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.approved-mega-root *,.approved-compact-root *{transition:none!important;scroll-behavior:auto!important}}
/* Readable type sizes for both sites, including long original course names. */
:is(#ast-hf-menu-1,#ast-hf-mobile-menu)>:is(.approved-mega-root,.approved-compact-root,.approved-menu-leaf)>.menu-link{font-size:18px!important}
.approved-mega-root .approved-menu-leaf>.menu-link,.approved-compact-root .approved-menu-leaf>.menu-link{font-size:16px!important;line-height:1.65!important;min-height:76px;overflow-wrap:anywhere}
.approved-menu-description{font-size:14px!important;line-height:1.7!important;margin-top:6px}
.approved-menu-group>.menu-link{font-size:14px!important;letter-spacing:.4px}
.approved-eyebrow{font-size:13px!important;letter-spacing:.6px}
.approved-menu-intro>p:not(.approved-eyebrow),.approved-menu-card>p:not(.approved-eyebrow){font-size:15px!important;line-height:1.8!important}
.approved-menu-actions a,.approved-menu-intro .approved-menu-actions a{font-size:15px!important}
.approved-menu-card figcaption{font-size:12px}
.approved-mega-root .astra-mm-highlight-label{display:inline-block!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.2px;margin-left:8px!important;padding:4px 8px!important;background:#1758b8!important;color:#fff!important;border:1px solid #124a9d;border-radius:4px;white-space:nowrap;vertical-align:middle}
.approved-mega-root .astra-mm-highlight-label.approved-badge-popular{background:#b54112!important;border-color:#95350e!important}
@media(min-width:922px) and (max-width:1200px){.ast-desktop.approved-menu-ready #ast-hf-menu-1>li>.menu-link{font-size:16px!important;padding-left:8px!important;padding-right:8px!important}}
.ast-header-break-point .approved-mega-root .approved-menu-leaf>.menu-link,.ast-header-break-point .approved-compact-root .approved-menu-leaf>.menu-link{font-size:16px!important;min-height:68px!important}
.ast-header-break-point .approved-menu-group>.menu-link{font-size:14px!important}
.approved-mega-root .approved-menu-leaf>.menu-link,.approved-compact-root .approved-menu-leaf>.menu-link{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;word-break:keep-all}
.approved-mega-root .approved-menu-leaf>.menu-link>.menu-text,.approved-compact-root .approved-menu-leaf>.menu-link>.menu-text{grid-column:1;min-width:0;word-break:keep-all;overflow-wrap:anywhere}
.approved-mega-root .approved-menu-leaf>.menu-link>.astra-mm-highlight-label{grid-column:2;grid-row:1;align-self:start;margin-left:0!important}
.approved-menu-description{grid-column:1/-1}
#approved-menu-search-results a{font-size:16px}
#approved-menu-search-results small,#approved-menu-search-status{font-size:14px}
#approved-menu-search-dialog label{font-size:15px}
.ast-header-break-point .approved-mobile-utility>.menu-link{font-size:16px!important}
.approved-mega-root .approved-badge-group{grid-column:2;grid-row:1;align-self:start;display:flex;gap:6px}
.approved-mega-root .approved-badge-group>.astra-mm-highlight-label{margin-left:0!important}
@media(min-width:922px) and (max-width:1100px){.ast-desktop .approved-badge-group{flex-direction:column;align-items:flex-end}}
