@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@500;600;700&family=Lato:ital,wght@0,400;0,700;1,400&display=swap');

/* ARTWORK NOTES
--------------------------------------------

--------------------------------------------
*/
html body.site-home {
    --section-above-bg: var(--secondary-color);
}

html body {
    --side-menu-bg: var(--primary-color);
    --side-menu-bg-hover: var(--secondary-color);
    --side-menu-font-size-desktop: min(1.25vw, 1.25rem);
    --side-menu-font-family: var(--body-font-family);
    --side-menu-font-weight: 400;
}

html body #g-navigation {
    --main-menu-text-color: var(--default-white);
    --main-menu-text-color-hover: var(--default-white);
	--main-menu-bg: var(--secondary-color);

    --navigation-floating-social-padding: min(1vw, 1rem);
}

.g-array-item-text {
    margin: 0!important;
    padding: 0!important;
}

.moduletable .nav.menu li.current.active a, .moduletable .nav.menu li a:hover {
    color: var(--primary-color);
}

@media only screen and (min-width: 50.99rem) {
    .site-sub.site.withmaxwidth #g-header > .g-container {
        width: 100%;
        max-width: 100%;
    }

    #hero-title-text {
        width: 100%;
        max-width: 1440px;
        transform: translateX(-50%);
        left: 50%;
        right: unset;
        padding-left: min(5vw, 5rem);
    }

    .grid-mobile-stacked .g-item-title {
        padding: min(.75vw, .75rem);
    }
}

a {color: #0067c7;}



/* NAVIGATION */
@media only screen and (min-width: 50.99rem) {
    #g-navigation > .g-container > .g-grid:has(.g-main-nav) {
        position: relative;
    }
    #g-navigation > .g-container > .g-grid:has(.g-main-nav):before {
        content: '';
        background: var(--secondary-color);
        height: 100%;
        width: 3000%;
        margin-left: -500%;
        margin-right: -500%;
        position: absolute;
    }

    #g-navigation.crawl-space .g-main-nav .g-toplevel>li:hover:not(.g-menu-item-type-particle)>.g-menu-item-container, #g-navigation.crawl-space .g-main-nav .g-toplevel>li.active:not(.g-menu-item-type-particle)>.g-menu-item-container {
        margin: 0;
    }
}

@media only screen and (min-width: 50.99rem) {
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container {
        color: var(--default-white);
    }
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container:hover {
        background: var(--secondary-color);
        color: var(--default-white)!important;
    }
}

/*SLIDESHOW*/
@media only screen and (min-width: 50.99rem) {
    .site-home.site.withmaxwidth #g-slideshow > .g-container {
        width: 100%;
        max-width: 100%;
    }
}

/*BOTTOM*/
@media only screen and (min-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: 0!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    .site.withmaxwidth #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: .5rem!important;
    }
}

.search-page #searchForm .btn {
    background: var(--primary-color);
}

.grid-articles .g-array-item-text a:not(a.button) {
    color: var(--primary-color);
}
.grid-articles .g-array-item-text a {
    color: var(--primary-color);
}

@media only screen and (max-width: 50.99rem) {
    .admod.adside tbody {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: .5rem .5rem;
    }
}

@media only screen and (max-width: 50.99rem) {
    body#site-grid.newslayout #g-container-main > .g-container {
        padding: 2rem 1rem!important;
    }
    body#site-grid.newslayout #g-container-main #g-mainbar {
        margin: 0!important;
        padding: 0!important;
    }

    #site-grid.newslayout .grid-mobile-stacked .g-item-title {
        --grid-title-font-size: 3vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    body .side-menu-particle .g-blockcontent-subcontent-title-text {
        --side-menu-font-size-desktop: 4vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    .grid-img-box-shadow-50 .g-array-item-image {
        box-shadow: none!important;
    }
    .grid-mobile-stacked .g-array-item-image img {
        box-shadow: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .bulletin-page .koowa_media {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
    }
    .bulletin-page .koowa_media__item {
        flex: 1;
        min-width: calc(50% - .5rem);
        max-width: calc(50% - .5rem);
    }
}

/* ======================================================================
   ST. ANDREW THE APOSTLE — mockup design, September 2026
   Uses the existing Gantry/Joomla markup. Homepage layout is scoped to
   .site-home; navigation, branding, footer and colors also serve subpages.
   Existing article text, link destinations and sponsor content stay in CMS.
   ====================================================================== */
@media only screen and (min-width: 50.99rem) {
    #g-navigation .g-main-nav .g-toplevel > li:has(.g-social-items) {
        display: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-offcanvas .g-toplevel > li:has(.g-logo) {
        display: none!important;
    }
}

html body {
    --sa-navy: #0e2c48;
    --sa-gold: #e3ce8f;
    --sa-ink: #18354a;
    --sa-muted: #626b75;
    --sa-paper: #f3f4f8;
    --sa-width: 1240px;
    --primary-color-rgb: 14, 44, 72;
    --secondary-color-rgb: 227, 206, 143;
    --primary-color: var(--sa-navy);
    --secondary-color: var(--sa-gold);
    --body-font-family: 'Lato', Arial, sans-serif;
    --title-font-family: 'EB Garamond', Georgia, serif;
    --side-menu-bg: var(--sa-navy);
    --side-menu-bg-hover: #294d6a;
    font-family: var(--body-font-family);
    color: var(--sa-muted);
    line-height: 1.6;
}
html body h1, html body h2, html body h3, html body h4 {
    font-family: var(--title-font-family);
    font-weight: 700;
    line-height: 1.2;
    color: var(--sa-ink);
}
html body :is(a, button, input, [tabindex]):focus-visible {
    outline: 3px solid #b18b32;
    outline-offset: 4px;
}
html body .button {
    background: var(--sa-gold);
    color: var(--sa-navy);
    border: 1px solid transparent;
    border-radius: 3px;
    padding: 11px 24px;
    font: 700 13px/1.4 var(--body-font-family);
    letter-spacing: .035em;
    text-transform: uppercase;
    box-shadow: none;
    transition: background-color .2s, color .2s, box-shadow .2s;
}
html body .button:hover, html body .button:focus-visible {
    background: #f0dfa9;
    color: var(--sa-navy);
    box-shadow: 0 4px 12px #0e2c481a;
}

/* Header: preserve the CMS menu and its dropdown behavior. */
html body #g-navigation {
    --main-menu-bg: var(--sa-navy);
    --main-menu-text-color: #fff;
    --main-menu-text-color-hover: var(--sa-gold);
    background: var(--sa-navy) !important;
    color: #fff !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 30 !important;
}
html body #g-navigation > .g-container {
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
    padding: 0 28px !important;
}
html body #g-navigation > .g-container > .g-grid:has(.g-main-nav)::before {
    content: none !important;
}
html body #g-navigation .g-content { margin: 0 !important; padding: 0 !important; }
html body #g-navigation .g-grid:has(.nav-social-icons) {
    align-items: center !important;
    min-height: 108px !important;
}
html body #g-navigation .g-grid:has(.nav-social-icons) > .g-block:has(.g-logo) {
    flex: 0 0 520px !important;
    width: 520px !important;
}
/* CSS-only brand treatment for the template's placeholder logo.
   Replace the actual logo/title/alt text in Gantry when editing CMS content. */
html body #g-navigation .g-logo {
    display: block !important;
    position: relative !important;
    width: 520px !important;
    max-width: 100% !important;
    height: 104px !important;
    margin: 0 !important;
    background: url('https://d2wn2rp5iqy0b4.cloudfront.net/images/template/logo-icon.png?1789048529') left center / 96px auto no-repeat !important;
}
html body #g-navigation .g-logo img,
html body #g-navigation .g-logo > span { opacity: 0 !important; }
html body #g-navigation .g-logo img { width: 96px !important; height: 96px !important; object-fit: contain !important; }
html body #g-navigation .nav-social-icons { flex: 1 !important; width: auto !important; }
html body #g-navigation .g-social-items { display: flex !important; gap: 8px !important; justify-content: flex-end !important; }
html body #g-navigation .g-social-items a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--sa-gold) !important;
    color: var(--sa-navy) !important;
    font-size: 17px !important;
}
html body #g-navigation .g-social-items a:has(span:empty[class='']) { display: none !important; }
html body #g-navigation .g-main-nav .g-toplevel {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 !important;
}
html body #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
    padding: 14px 10px !important;
    font: 700 15px/1.4 var(--body-font-family) !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
}
html body #g-navigation .g-main-nav .g-toplevel > li.active > .g-menu-item-container,
html body #g-navigation .g-main-nav .g-toplevel > li:hover > .g-menu-item-container {
    color: var(--sa-gold) !important;
    background: transparent !important;
}
html body #g-navigation .g-main-nav .g-dropdown { background: var(--sa-navy) !important; }
html body #g-navigation .g-main-nav .g-sublevel > li > .g-menu-item-container { color: #fff !important; }
html body #g-navigation .g-main-nav .g-sublevel > li > .g-menu-item-container:hover {
    color: var(--sa-navy) !important;
    background: var(--sa-gold) !important;
}
html body #g-navigation .g-main-nav .g-toplevel > li:has(.g-social-items) .g-social-items a { width: 28px !important; height: 28px !important; font-size: 15px !important; }

/* Remove particle spacing only in the designed homepage sections. */
html body.site-home :is(#g-slideshow, #g-above, #g-showcase, #g-expanded, #g-footer) .g-content {
    margin: 0;
    padding: 0;
}
html body.site-home :is(#g-above, #g-showcase, #g-expanded, #g-container-main, #g-bottom, #g-footer) > .g-container {
    width: min(86%, var(--sa-width));
    max-width: var(--sa-width);
    padding: 0;
}

/* Stained-glass hero with an inset, translucent Mass schedule. */
html body.site-home #g-slideshow { position: relative; padding: 0; background: var(--sa-navy); }
html body.site-home #g-slideshow > .g-container { width: 100%; max-width: none; padding: 0; position: relative; }
html body.site-home #g-slideshow .g-swiper,
html body.site-home #g-slideshow #rotate-addpic {
    height: clamp(550px, 43vw, 680px);
    min-height: 0;
}
html body.site-home #g-slideshow .swiper-slide > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
html body.site-home #g-slideshow .g-grid:has(> .mass-overlay) {
    position: absolute;
    inset: 0;
    width: min(90%, var(--sa-width));
    margin: auto;
    align-items: center;
    z-index: 5;
    pointer-events: none;
}
html body.site-home #g-slideshow .mass-overlay {
    flex: 0 0 380px;
    width: 380px;
    max-width: 100%;
    height: auto;
    pointer-events: auto;
}
html body .mt-wrapper {
    color: #f4f5f6;
    background: linear-gradient(135deg, #102f49ed, #0b2334d9);
    border: 1px solid #ffffff38;
    border-radius: 15px;
    box-shadow: 0 12px 32px #0003;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 26px;
}
html body .mt-title h3 { color: #fff; margin: 0 0 20px; font-size: 30px; }
html body .mt-title h3::before { content: '\f017'; font: 900 16px 'Font Awesome 6 Free'; color: var(--sa-gold); margin-right: 12px; vertical-align: middle; }
html body .mt-content h6 {color: var(--sa-gold); font: 700 var(--body-font-family); letter-spacing: .18rem; }
html body .mt-content h6:first-child { margin-top: 0; }
html body .mass-box { border-bottom: 1px solid #ffffff2b; padding-bottom: 13px; }
html body .mass-item { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; font-size: 15px; line-height: 1.7; }
html body .mass-item + .mass-item { border-top: 1px solid #ffffff17; }
html body .mass-item-day { font-weight: 700; }
html body .mass-item-time { text-align: right; }
html body .mt-content p { margin: 0 0 22px; color: #e1e6e9; font-size: 13px; line-height: 1.7; }
html body .mt-links { display: flex; flex-direction: column; gap: 12px; text-align: center; }
html body .mt-links .button { border-radius: 30px; text-transform: none; font-size: 14px; letter-spacing: 0; }
html body :is(.mt-links, .livestream-widget .a-widget-button) .button::before { content: '\f144'; font: 900 14px 'Font Awesome 6 Free'; margin-right: 9px; }
html body .mt-sched-link { color: #e1e6e9; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
html body .mt-sched-link::after { content: ' →'; }
html body .mt-sched-link:hover { color: var(--sa-gold); }

/* Welcome and the five circular shortcuts. */
html body.site-home #g-above { background: #fff; padding: 55px 0; }
html body .welcome-wrapper { max-width: 920px; margin: auto; text-align: center; }
html body .welcome-title .g-title { margin: 0 0 16px; padding: 0; border: 0; font-size: 36px; text-transform: none; letter-spacing: 0; }
html body .welcome-text p { margin: 0; font-size: 17px; font-style: italic; line-height: 1.8; }
html body.site-home #g-showcase { background: var(--sa-navy); padding: 58px 0; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent { display: flex !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 24px !important; margin: 0 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block { flex: 0 0 clamp(130px, 11.5vw, 166px) !important; width: clamp(130px, 11.5vw, 166px) !important; padding: 0 !important; margin: 0 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content {
    position: relative !important; width: 100% !important; aspect-ratio: 1 !important; height: auto !important;
    overflow: hidden !important; border: 3px solid #e9e4c8 !important; border-radius: 50% !important; background: var(--sa-gold) !important;
    isolation: isolate !important; box-shadow: 0 3px 12px #0001 !important; transition: transform .2s, box-shadow .2s !important;
}
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-img { display: block !important; position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: .23 !important; margin: 0 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content::before,
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content::after { content: none !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-title { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 14px !important; margin: 0 !important; background: none !important; color: var(--sa-navy) !important; pointer-events: none !important; font: 700 15px/1.4 var(--body-font-family) !important; text-transform: uppercase !important; text-align: center !important; z-index: 2 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-buttons { position: absolute !important; inset: 0 !important; margin: 0 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-buttons a { position: absolute !important; inset: 0 !important; display: block !important; font-size: 0 !important; color: transparent !important; background: transparent !important; border: 0 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content:hover { transform: translateY(-5px) !important; box-shadow: 0 8px 20px #0003 !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content:focus-within { outline: 3px solid #fff !important; outline-offset: 5px !important; }

/* News: horizontal cards, with the live sponsorship column retained. */
html body.site-home #g-container-main { background: linear-gradient(90deg, #d0c59edb, #d3c6a0f5 65%), url('/images/stories/template/quicklinks/ql1.jpg') center / cover; padding: 82px 0; }
html body.site-home #g-container-main > .g-container > .g-grid { gap: 36px; }
html body.site-home #g-container-main > .g-container > .g-grid > .size-79 { flex: 1; width: auto; min-width: 0; }
html body.site-home #g-container-main > .g-container > .g-grid > .size-21 { flex: 0 0 180px; width: 180px; }
html body.site-home #g-mainbar { padding: 0 !important; margin: 0 !important; }
html body.site-home #g-mainbar .g-content { padding: 0; margin: 0; }
html body.site-home #grid-addpic .g-title { font: 700 19px/1.4 var(--body-font-family) !important; letter-spacing: .24em !important; text-transform: uppercase !important; color: var(--sa-navy) !important; padding: 0 !important; margin: 0 0 24px !important; border: 0 !important; }
html body.site-home #grid-addpic .g-content-array { display: flex !important; flex-direction: column !important; gap: 16px !important; }
html body.site-home #grid-addpic .g-content-array > .g-grid { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 3px !important; background: #fff !important; box-shadow: 0 3px 10px #0e2c4812 !important; overflow: hidden !important; }
html body.site-home #grid-addpic .g-array-item { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) !important; grid-template-rows: auto auto !important; align-content: center !important; column-gap: 18px !important; padding: 16px !important; min-height: 126px !important; background: #fff !important; }
html body.site-home #grid-addpic .g-array-item-image { grid-column: 1 !important; grid-row: 1 / span 3 !important; width: 96px !important; height: 96px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; overflow: hidden !important; box-shadow: none !important; }
html body.site-home #grid-addpic .g-array-item-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; border: 0 !important; border-radius: 50% !important; box-shadow: none !important; transform: none !important; }
html body.site-home #grid-addpic .g-array-item-title { grid-column: 2 !important; align-self: end !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
html body.site-home #grid-addpic .g-item-title { margin: 0 !important; padding: 0 !important; font: 700 21px/1.3 var(--title-font-family) !important; text-align: left !important; }
html body.site-home #grid-addpic .g-item-title a { color: var(--sa-navy) !important; }
html body.site-home #grid-addpic .g-array-item-text { grid-column: 2 !important; color: var(--sa-muted) !important; font-size: 15px !important; }
html body.site-home #grid-addpic .g-array-item-read-more { grid-column: 2 !important; padding: 7px 0 0 !important; margin: 0 !important; text-align: left !important; }
html body.site-home #grid-addpic .g-array-item-read-more .button { background: none !important; color: #526474 !important; padding: 0 !important; border: 0 !important; font-size: 13px !important; text-transform: none !important; }
html body.site-home #grid-addpic .g-array-item-read-more .button:hover { color: var(--sa-navy) !important; text-decoration: underline !important; box-shadow: none !important; }
html body.site-home #g-mainbar > .g-grid:has(.custom) { text-align: center; }
html body.site-home #g-mainbar .custom .button { background: var(--sa-navy); color: #fff; margin-top: 24px; }
html body.site-home #g-container-main .adside { margin-top: 50px; }
html body.site-home .admod img { max-width: 100%; height: auto; }

/* Bulletin archive, livestream, and adoration widgets. */
html body.site-home #g-expanded { background: var(--sa-paper); padding: 86px 0 94px; }
html body.site-home #g-expanded > .g-container > .g-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
html body.site-home #g-expanded .equal-widget-container { width: auto; min-width: 0; }
html body.site-home .a-widget-wrapper { display: grid; grid-template-rows: auto 1fr auto; height: 100%; }
html body.site-home .a-widget-title h3 { text-align: center; font-size: 29px; margin: 0 0 26px; }
html body.site-home .a-widget-feed { background: #fff; box-shadow: 0 7px 15px #0e2c4810; border-radius: 3px; overflow: hidden; min-height: 490px; }
html body.site-home .inner-widget-image img { display: block; width: 100%; height: 162px; object-fit: cover; }
html body.site-home .inner-widget-content { padding: 20px !important; font-size: 15px !important; line-height: 1.6 !important; }
html body.site-home .inner-widget-content p { margin: 0 0 9px !important; }
html body.site-home .inner-widget-content-top-row { text-align: center !important; margin-bottom: 18px !important; }
html body.site-home .inner-widget-content-bottom-row { border: 1px solid #e9ebee !important; padding: 16px !important; background: #f8f9fa !important; }
html body.site-home .inner-widget-content-bottom-row h6 { margin: 0 0 10px !important; color: #526474 !important; font: 700 12px/1.5 var(--body-font-family) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
html body.site-home .a-widget-button { text-align: center; margin-top: 24px; }
html body.site-home .bulletin-widget .a-widget-feed { background: none; box-shadow: none; }
html body.site-home .bulletin-widget .koowa_media { display: flex !important; flex-direction: column !important; gap: 12px !important; margin: 0 !important; }
html body.site-home .bulletin-widget .koowa_media__item { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
html body.site-home .bulletin-widget .koowa_media__item__content { padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: 0 3px 8px #0e2c480d !important; }
html body.site-home .bulletin-widget .koowa_media__item__content-holder { height: auto !important; padding: 0 !important; background: #fff !important; border: 1px solid #eceef1 !important; }
html body.site-home .bulletin-widget .koowa_media__item__thumbnail { position: static !important; height: 350px !important; padding: 0 !important; }
html body.site-home .bulletin-widget .koowa_media__item__thumbnail img { position: static !important; display: block !important; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; transform: none !important; }
html body.site-home .bulletin-widget .koowa_media__item:not(:first-child) .koowa_media__item__thumbnail { display: none !important; }
html body.site-home .bulletin-widget .koowa_media__item__label { position: static !important; padding: 11px !important; margin: 0 !important; background: #fff !important; color: var(--sa-navy) !important; font: 700 13px/1.4 var(--body-font-family) !important; text-align: center !important; }
html body.site-home .bulletin-widget .koowa_header__item { display: block; padding: 0; }

/* Sponsors and footer. */
html body.site-home #g-bottom { background: var(--sa-gold); }
html body #g-container-footer, html body #g-footer, html body #g-copyright { background-color: var(--sa-navy); color: #d5dfe7; }
html body #g-footer { padding: 38px 0 20px; }
html body #g-footer > .g-container { width: min(84%, var(--sa-width)); max-width: var(--sa-width); padding: 0; }
html body #g-footer .g-content { margin: 0; padding: 0; }
html body .footer-wrapper { position: relative !important; isolation: isolate !important; }
html body .footer-wrapper::before { content: '' !important; position: absolute !important; z-index: -1 !important; right: -5% !important; bottom: 66px !important; width: 34% !important; height: 340px !important; background: url('https://d2wn2rp5iqy0b4.cloudfront.net/images/template/logo-icon.png?1789048529') right bottom / contain no-repeat !important; opacity: .13 !important; pointer-events: none !important; }
html body .footer-top-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; border-bottom: 1px solid #ffffff12 !important; padding-bottom: 30px !important; }
html body .footer-logo { display: flex !important; align-items: center !important; gap: 16px !important; position: relative !important; }
html body .footer-logo-icon img { width: 65px !important; height: 75px !important; object-fit: contain !important; }
html body .footer-logo-text h3 { font-size: 30px !important; color: #fff !important; margin: 0 0 6px !important; }
html body .footer-logo-text h6 { font: 400 12px/1.5 var(--body-font-family) !important; letter-spacing: .19em !important; text-transform: uppercase !important; color: var(--sa-gold) !important; margin: 0 !important; }
html body .footer-logo-link a { position: absolute !important; inset: 0 !important; font-size: 0 !important; }
html body .footer-social-icons .g-social-items { display: flex !important; gap: 10px !important; }
html body .footer-social-icons a { display: flex !important; align-items: center !important; justify-content: center !important; height: 36px !important; width: 36px !important; border-radius: 50% !important; background: #ffffff12 !important; color: #d5dfe7 !important; font-size: 18px !important; }
html body .footer-social-icons a:hover { background: var(--sa-gold) !important; color: var(--sa-navy) !important; }
html body .footer-middle-row { display: grid !important; grid-template-columns: 1fr 1fr !important; align-items: center !important; gap: 40px !important; padding: 30px 0 38px !important; }
html body .footer-middle-row > .footer-map { border: 6px solid #f3f3ef !important; border-radius: 3px !important; overflow: hidden !important; }
html body .footer-middle-row > .footer-map iframe { display: block !important; width: 100% !important; height: 220px !important; }
html body .footer-content { font-size: 15px !important; }
html body .footer-content h4 { font-size: 18px !important; color: var(--sa-gold) !important; margin: 0 0 18px !important; }
html body .footer-content-item { position: relative !important; padding-left: 32px !important; margin: 12px 0 !important; }
html body .footer-content-item p { margin: 0 !important; }
html body .footer-content-item::before { position: absolute !important; left: 0 !important; top: 5px !important; color: var(--sa-gold) !important; font: 900 15px 'Font Awesome 6 Free' !important; }
html body .footer-content-item.footer-map::before { content: '\f3c5' !important; }
html body .footer-content-item.footer-phone::before { content: '\f095' !important; }
html body .footer-content-item.footer-mail::before { content: '\f0e0' !important; }
html body .footer-content a { color: #d5dfe7 !important; overflow-wrap: anywhere !important; }
html body .footer-content a:hover { color: var(--sa-gold) !important; }
html body .footer-bottom-row { text-align: center !important; border-top: 1px solid #ffffff12 !important; padding-top: 24px !important; color: #a5b5c3 !important; font-size: 12px !important; }
html body .footer-copyright-text p { margin: 0 !important; }
html body #g-copyright { padding: 0 0 18px; font-size: 12px; }
html body #g-copyright a { color: #a5b5c3; }

/* Tablet and phone: readable type, full news list, and no horizontal rail. */
@media (max-width: 1100px) {
    html body.site-home #g-expanded > .g-container > .g-grid { gap: 24px; }
    html body.site-home .a-widget-title h3 { font-size: 25px; }
    html body.site-home .a-widget-feed { min-height: 550px; }
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent { gap: 16px !important; }
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block { flex-basis: 128px !important; width: 128px !important; }
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-title { font-size: 13px !important; }
}
@media (max-width: 50.99rem) {
    html body #g-navigation > .g-container { width: 100% !important; padding: 8px 20px !important; }
    html body #g-navigation .g-grid:has(.nav-social-icons) { display: none !important; }
    html body #g-navigation .g-logo { width: 390px !important; height: 90px !important; margin: 0 auto !important; background-size: 70px auto !important; }
    html body #g-navigation .g-logo::before { left: 88px !important; top: 22px !important; font-size: 25px !important; }
    html body #g-navigation .g-logo::after { left: 89px !important; top: 55px !important; font-size: 10px !important; letter-spacing: .17em !important; }
    html body #g-top-nav { background: var(--sa-navy); color: #fff; }
    html body #g-offcanvas { background: var(--sa-navy); color: #fff; }
    html body #g-offcanvas a { color: #fff; }
    html body.site-home :is(#g-above, #g-showcase, #g-expanded, #g-container-main, #g-bottom, #g-footer) > .g-container { width: calc(100% - 40px); padding: 0 !important; }
    html body.site-home #g-slideshow .g-swiper,
    html body.site-home #g-slideshow #rotate-addpic { height: 340px; }
    html body.site-home #g-slideshow .g-grid:has(> .mass-overlay) { position: relative; inset: auto; width: calc(100% - 40px); padding: 0 0 28px; margin: -36px auto 0; }
    html body.site-home #g-slideshow .mass-overlay { flex-basis: 100%; width: 100%; }
    html body .mt-wrapper { max-width: 540px; margin: auto; padding: 25px; }
    html body.site-home #g-above { padding: 40px 0; }
    html body .welcome-text p { font-size: 16px; }
    html body.site-home #g-showcase { padding: 36px 0; }
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent { justify-content: center !important; gap: 24px !important; }
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block { flex: 0 0 132px !important; width: 132px !important; max-width: none !important; }
    html body.site-home #g-container-main { padding: 45px 0; }
    html body.site-home #g-container-main > .g-container > .g-grid { display: flex; flex-direction: column; gap: 25px; }
    html body.site-home #g-container-main > .g-container > .g-grid > :is(.size-79, .size-21) { flex: auto; width: 100%; }
    html body.site-home #grid-addpic .g-content-array { overflow: visible !important; flex-wrap: nowrap !important; width: 100% !important; }
    html body.site-home #grid-addpic .g-content-array > .g-grid { width: 100% !important; min-width: 0 !important; max-width: none !important; flex: auto !important; }
    html body.site-home #grid-addpic .g-array-item { grid-template-columns: 76px minmax(0, 1fr) !important; gap: 12px !important; padding: 14px !important; min-height: 108px !important; }
    html body.site-home #grid-addpic .g-array-item-image { width: 76px !important; height: 76px !important; }
    html body.site-home #grid-addpic .g-item-title { font-size: 21px !important; }
    html body.site-home #grid-addpic .g-title { font-size: 17px !important; letter-spacing: .17em !important; }
    html body.site-home #g-container-main .adside { margin: 0 auto; }
    html body.site-home #g-expanded { padding: 48px 0; }
    html body.site-home #g-expanded > .g-container > .g-grid { grid-template-columns: 1fr; gap: 44px; max-width: 520px; margin: auto; }
    html body.site-home #g-expanded .equal-widget-container { width: 100%; max-width: none; }
    html body.site-home .a-widget-title h3 { font-size: 30px; margin-bottom: 20px; }
    html body.site-home .a-widget-feed { min-height: 0; }
    html body.site-home .inner-widget-image img { height: 220px; }
    html body.site-home .inner-widget-content { font-size: 16px !important; }
    html body.site-home #g-bottom { padding: 24px 0; }
    html body #g-footer { padding: 30px 0 18px; }
    html body #g-footer > .g-container { width: calc(100% - 40px); }
    html body .footer-top-row { flex-wrap: wrap !important; gap: 20px !important; padding-bottom: 24px !important; }
    html body .footer-logo-icon img { width: 52px !important; height: 64px !important; }
    html body .footer-logo-text h3 { font-size: 25px !important; }
    html body .footer-logo-text h6 { font-size: 10px !important; letter-spacing: .13em !important; }
    html body .footer-middle-row { grid-template-columns: 1fr !important; gap: 28px !important; }
    html body .footer-wrapper::before { width: 55% !important; right: 0 !important; bottom: 80px !important; }
    html body .footer-content { font-size: 16px !important; }
}
@media (max-width: 420px) {
    html body #g-navigation .g-logo { background-size: 58px auto !important; }
    html body #g-navigation .g-logo::before { left: 70px !important; font-size: 22px !important; }
    html body #g-navigation .g-logo::after { left: 71px !important; font-size: 9px !important; letter-spacing: .12em !important; }
    html body .mt-title h3 { font-size: 28px; }
    html body .mt-wrapper { padding: 22px 18px; }
    html body .footer-logo { gap: 10px !important; }
    html body .footer-logo-text h3 { font-size: 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html body .button,
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-block-content { transition: none !important; }
}

/* Gantry's flushed/width utilities use !important in the shared stylesheet. */
html body.site-home :is(#g-above, #g-showcase, #g-expanded, #g-container-main, #g-bottom, #g-footer) > .g-container {
    width: min(86%, var(--sa-width)) !important;
    max-width: var(--sa-width) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
html body.site-home #g-above { padding: 55px 0 !important; }
html body.site-home #g-showcase { padding: 58px 0 !important; }
html body.site-home #g-expanded { padding: 86px 0 94px !important; }
html body.site-home #g-container-main > .g-container > .g-grid > .g-block { max-width: none; }
html body.site-home #g-expanded .equal-widget-container { max-width: none !important; width: 100% !important; }
html body.site-home #g-expanded .equal-widget-container > .g-content,
html body.site-home #g-expanded .g-content-array,
html body.site-home #g-expanded .g-content-array > .g-grid,
html body.site-home #g-expanded .g-content-array > .g-grid > .g-block,
html body.site-home #g-expanded .g-content-array > .g-grid > .g-block > .g-content,
html body.site-home #g-expanded .g-array-item,
html body.site-home #g-expanded .g-array-item-text { height: 100%; }
html body #g-navigation .g-main-nav { background: var(--sa-navy) !important; }
html body #g-navigation .g-logo::before { text-transform: none !important; }
html body #g-navigation .g-main-nav .g-menu-item-title { font-size: inherit !important; letter-spacing: 0 !important; }
html body #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container::after { content: none !important; }
html body #g-navigation .g-social-items a { color: var(--sa-navy) !important; }
html body .mt-title h3 { border: 0; }
html body .mt-content h6 { margin: 15px 0 0 !important; }
html body .mt-content h6:first-child { margin-top: 0 !important; }
html body .mass-item { padding: 8px 0; }
html body .mass-box { padding-bottom: 8px; }
html body .welcome-wrapper { color: var(--sa-muted); }
html body .welcome-text p { color: var(--sa-muted) !important; }
html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent-title-text { font: inherit !important; color: inherit !important; margin: 0!important;}
html body.site-home #grid-addpic .g-content-array > .g-grid { height: auto !important; transform: none !important; }
html body.site-home #grid-addpic .g-array-item { grid-template-areas: none !important; height: auto !important; }
html body.site-home #grid-addpic .g-array-item-image { grid-area: 1 / 1 / span 3 / 2 !important; max-width: none !important; }
html body.site-home #grid-addpic .g-array-item-image a { display: block; width: 100%; height: 100%; }
html body.site-home #grid-addpic .g-array-item-title { grid-area: auto / 2 !important; height: auto !important; max-height: none !important; }
html body.site-home #grid-addpic .g-array-item-read-more { display: block !important; position: static !important; }
html body.site-home #grid-addpic .g-item-title a { font: inherit !important; }
html body.site-home .inner-widget-content p { font: inherit !important; color: var(--sa-muted) !important; }
html body.site-home .bulletin-widget .koowa_media__item__content { background: none !important; }
@media (max-width: 50.99rem) {
    html body.site-home :is(#g-above, #g-showcase, #g-expanded, #g-container-main, #g-bottom, #g-footer) > .g-container { width: calc(100% - 40px) !important; }
    html body.site-home #g-above { padding: 40px 0 !important; }
    html body.site-home #g-showcase { padding: 36px 0 !important; }
    html body.site-home #g-expanded { padding: 48px 0 !important; }
    html body.site-home #g-bottom { padding: 24px 0 !important; }
}

/* Normalize DOCman's gallery spacer and the theme's invisible card overlay. */
html body.site-home .bulletin-widget .koowa_media__item__thumbnail::before,
html body.site-home .bulletin-widget .koowa_media__item__thumbnail::after { content: none !important; display: none !important; }
html body.site-home .bulletin-widget :is(.koowa_media__item__link, .koowa_media__item__content-holder, .koowa_media__item__label) { display: block !important; width: 100% !important; }
html body.site-home .bulletin-widget .koowa_media__item__link { padding: 0 !important; }

html body.site-home .bulletin-widget .koowa_media__item__thumbnail img { float: none !important; vertical-align: top !important; }
html body.site-home .bulletin-widget .koowa_media_contents { padding: 0 !important; width: 100% !important; }
html body.site-home #grid-addpic .g-array-item-read-more,
html body.site-home #grid-addpic .g-array-item-read-more a { opacity: 1 !important; position: static !important; inset: auto !important; width: auto !important; height: auto !important; transform: none !important; }
html body.site-home #g-mainbar a.button[href='/news'] { display: table; margin: 24px auto 0; background: var(--sa-navy) !important; color: #fff !important; font-size: 13px; }
html body.site-home .a-widget-title h3, html body .footer-logo-text h3 { border: 0 !important; }
html body .footer-wrapper p { font-size: inherit !important; line-height: 1.6 !important; color: inherit !important; }
html body #g-footer { padding: 38px 0 20px !important; }
html body.site-home #g-bottom { padding: 28px 0 !important; }
html body #g-navigation > .g-container > .g-grid > .g-block { padding-top: 0 !important; padding-bottom: 0 !important; }
html body #g-navigation .g-grid:has(.nav-social-icons) > .g-block:has(.spacer) { display: none; }
html body #g-navigation .g-grid:has(.nav-social-icons) { padding: 0 !important; }
@media (max-width: 50.99rem) {
    html body #g-footer { padding: 30px 0 18px !important; }
}

/* Responsive theme utilities include an ID in :not(), so match that weight. */
html body.site-home.site.withmaxwidth:not(#site-grid) :is(#g-above, #g-showcase, #g-expanded, #g-container-main, #g-bottom, #g-footer) > .g-container { padding: 0 !important; }
html body.site-home #grid-addpic .g-content-array { padding: 0 !important; margin: 0 !important; }
html body.site-home #grid-addpic .g-content-array > .g-grid > .g-block { min-width: 0 !important; width: 100% !important; max-width: 100% !important; }
html body.site-home #grid-addpic .g-array-item-title { grid-area: 1 / 2 !important; }
html body.site-home #grid-addpic .g-array-item-read-more { grid-area: 3 / 2 !important; }
html body.site-home #grid-addpic .g-array-item-text { grid-area: 2 / 2 !important; }
html body.site-home .bulletin-widget :is(.koowa_media--gallery, .koowa_media_wrapper) { width: 100% !important; margin: 0 !important; padding: 0 !important; }
@media (max-width: 50.99rem) {
    html body.site-home #g-showcase .ql-circles .g-blockcontent-subcontent { flex-direction: row !important; }
    html body.site-home #grid-addpic .g-content-array > .g-grid { min-width: 100% !important; width: 100% !important; }
    html body.site-home #grid-addpic .g-content-array > .g-grid > .g-block { flex-basis: 100% !important; }
    html body .g-offcanvas-toggle { left: auto !important; right: 12px !important; top: 26px !important; width: 36px; height: 36px; }
    html body #g-navigation > .g-container { padding-right: 55px !important; padding-left: 12px !important; }
    html body #g-navigation .g-logo::before { font-size: 20px !important; left: 61px !important; top: 25px !important; }
    html body #g-navigation .g-logo::after { font-size: 8px !important; left: 62px !important; top: 53px !important; }
    html body #g-navigation .g-logo { background-size: 50px auto !important; }
}

/* Upcoming events: stretch the descriptive title link over the whole card.
   Keep native links (including open-in-new-tab and keyboard activation). */
html body.site-home #grid-addpic .g-array-item {
    position: relative !important;
    isolation: isolate;
    cursor: pointer;
    transition: background-color .2s ease;
}
html body.site-home #grid-addpic .g-array-item-title,
html body.site-home #grid-addpic .g-item-title,
html body.site-home #grid-addpic .g-item-title a {
    position: static !important;
    transform: none !important;
    border: none!important;
}
html body.site-home #grid-addpic .g-item-title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    border-radius: inherit;
    cursor: pointer;
}
html body.site-home #grid-addpic .g-content-array > .g-grid {
    transition: transform .2s ease, box-shadow .2s ease;
}
html body.site-home #grid-addpic .g-content-array > .g-grid:focus-within {
    box-shadow: inset 0 0 0 3px var(--sa-gold), 0 8px 20px #0e2c4826 !important;
}
html body.site-home #grid-addpic .g-array-item:focus-within {
    background: #fffcf3 !important;
}
@media (hover: hover) {
    html body.site-home #grid-addpic .g-content-array > .g-grid:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 22px #0e2c482b !important;
    }
    html body.site-home #grid-addpic .g-array-item:hover {
        background: #fffcf3 !important;
    }
    html body.site-home #grid-addpic .g-array-item:hover .g-item-title a {
        text-decoration: underline;
        text-decoration-color: var(--sa-gold);
        text-underline-offset: 4px;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body.site-home #grid-addpic .g-content-array > .g-grid,
    html body.site-home #grid-addpic .g-array-item { transition: none; }
    html body.site-home #grid-addpic .g-content-array > .g-grid:hover { transform: none !important; }
}
/* Include Gantry's outer card padding in the link hit area. */
html body.site-home #grid-addpic .g-content-array > .g-grid {
    position: relative !important;
    isolation: isolate;
    cursor: pointer;
}
html body.site-home #grid-addpic .g-array-item {
    position: static !important;
    isolation: auto;
}
html body.site-home #grid-addpic .g-content-array > .g-grid:focus-within {
    background: #fffcf3 !important;
}
@media (hover: hover) {
    html body.site-home #grid-addpic .g-content-array > .g-grid:hover { background: #fffcf3 !important; }
}

/* Navigation refresh — real CMS branding, social links and search (2026-09-14).
   Shared by home and interior pages; keep Gantry's menu/dropdown behavior. */
html body #g-navigation {
    --sa-nav-logo-size: 116px;
    --sa-nav-brand-offset: 144px;
}
html body.site.withmaxwidth #g-navigation > .g-container {
    position: relative;
    width: min(100%, 1440px) !important;
    margin: 0 auto !important;
    padding: 0 28px !important;
}
html body #g-navigation .nav-above-container .g-block {
    padding: 0 !important;
    min-width: 0;
}
html body #g-navigation .nav-above-menu-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 0 14px var(--sa-nav-brand-offset);
    min-height: 94px;
}
html body #g-navigation .nav-above-logo-text { min-width: 0; }
html body #g-navigation .nav-above-logo-text h3 {
    margin: 0 0 5px !important;
    border: 0 !important;
    color: #fff !important;
	font: 700 2.5rem/1.15 var(--title-font-family) !important;
    letter-spacing: .15rem;
    text-transform: none;
}
html body #g-navigation .nav-above-logo-text h6 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--sa-gold) !important;
    font: 400 0.85rem/1.5 var(--body-font-family) !important;
    letter-spacing: .23em;
    text-transform: uppercase;
}
html body #g-navigation .nav-above-social-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex: 0 0 auto;
}
html body #g-navigation .nav-social-items .g-social-items { gap: 7px !important; }
html body #g-navigation .nav-social-items .g-social-items a {
    width: 28px !important;
    height: 28px !important;
    font-size: 15px !important;
    margin: 0 !important;
}
html body #g-navigation .nav-social-items .g-social-items a:hover,
html body #g-navigation .nav-social-items .g-social-items a:focus-visible {
    background: #f4e5b7 !important;
}
html body #g-navigation .nav-search-bar { width: 150px; min-width: 0; }
html body #g-navigation .nav-search-bar :is(.g-search, form) {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}
html body #g-navigation .nav-search-bar input[name='searchword'] {
    display: block;
    width: 100% !important;
    min-width: 0;
    height: 30px;
    margin: 0 !important;
    padding: 5px 12px 5px 30px !important;
    border: 1px solid transparent !important;
    border-radius: 30px !important;
    background: #ffffff20 !important;
    color: #fff !important;
    font: 400 12px/1.5 var(--body-font-family) !important;
    box-shadow: none !important;
}
html body #g-navigation .nav-search-bar input::placeholder { color: #d3dce5; opacity: 1; }
html body #g-navigation .nav-search-bar .g-search::before {
    color: #d3dce5 !important;
    left: 11px !important;
    top: 50% !important;
    transform: translateY(-50%);
    font-size: 12px !important;
    pointer-events: none;
}
html body #g-navigation .nav-search-bar input:focus-visible {
    outline: 2px solid var(--sa-gold);
    outline-offset: 3px;
}
/* The actual menu logo replaces the old 520px placeholder treatment. */
html body #g-navigation .nav-logo-menu-overflow .g-logo {
    width: var(--sa-nav-logo-size) !important;
    height: var(--sa-nav-logo-size) !important;
    margin: 0 !important;
    padding: 7px !important;
    background: none !important;
    border: 2px solid #dce3e9;
    border-radius: 50%;
}
html body #g-navigation .nav-logo-menu-overflow .g-logo img {
    display: block;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
html body #g-navigation .g-logo::before,
html body #g-navigation .g-logo::after { content: none !important; }
@media (min-width: 51rem) {
    html body #g-navigation > .g-container > .g-grid:has(.g-main-nav),
    html body #g-navigation .g-main-nav,
    html body #g-navigation .g-main-nav > .g-toplevel { position: static !important; }
    html body #g-navigation .g-main-nav > .g-toplevel {
        padding-left: var(--sa-nav-brand-offset) !important;
        gap: 12px !important;
    }
    html body #g-navigation .g-main-nav > .g-toplevel > li:has(.nav-logo-menu-overflow) {
        position: absolute !important;
        left: 28px;
        top: 12px;
        width: var(--sa-nav-logo-size);
        margin: 0 !important;
    }
    html body #g-navigation .g-main-nav > .g-toplevel > li:has(.nav-logo-menu-overflow) > .g-menu-item-container {
        padding: 0 !important;
    }
    html body #g-navigation .g-main-nav > .g-toplevel > li:not(:has(.nav-logo-menu-overflow)) {
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
    }
    html body #g-navigation .g-main-nav > .g-toplevel > li > .g-menu-item-container {
        padding: 14px 4px 16px !important;
        font: 700 14px/1.4 var(--body-font-family) !important;
    }
    html body #g-navigation .g-main-nav .g-menu-item-content { white-space: normal; }
}
html body #g-navigation .g-main-nav .g-sublevel .g-menu-item-container {
    font: 400 15px/1.45 var(--body-font-family);
    white-space: normal;
}
html body #g-navigation .g-main-nav .g-sublevel a:focus-visible {
    background: var(--sa-gold) !important;
    color: var(--sa-navy) !important;
}
@media (min-width: 51rem) and (max-width: 1100px) {
    html body #g-navigation { --sa-nav-logo-size: 96px; --sa-nav-brand-offset: 118px; }
    html body #g-navigation .nav-above-logo-text h3 { font-size: 26px !important; }
    html body #g-navigation .nav-above-menu-wrapper { gap: 16px; min-height: 82px; }
    html body #g-navigation .nav-search-bar { width: 120px; }
    html body #g-navigation .g-main-nav > .g-toplevel { gap: 8px !important; }
    html body #g-navigation .g-main-nav > .g-toplevel > li > .g-menu-item-container { font-size: 12px !important; }
}
@media (max-width: 50.99rem) {
    html body.site.withmaxwidth #g-navigation > .g-container { padding: 0 18px !important; }
    html body #g-navigation .show-mobile .g-logo {
        position: absolute !important;
        top: 16px;
        left: 16px;
        width: 54px !important;
        height: 60px !important;
        margin: 0 !important;
        background-size: 54px auto !important;
    }
    html body #g-navigation .nav-above-menu-wrapper {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        min-height: 0;
        padding: 23px 0 17px;
    }
    html body #g-navigation .nav-above-logo-text { padding: 0 36px 0 64px; }
    html body #g-navigation .nav-above-logo-text h3 { font-size: clamp(19px, 4.8vw, 28px) !important; }
    html body #g-navigation .nav-above-logo-text h6 { font-size: 9px !important; letter-spacing: .15em; }
    html body #g-navigation .nav-above-social-search { justify-content: flex-end; gap: 12px; }
    html body #g-navigation .nav-search-bar { width: min(48%, 210px); }
    html body #g-navigation .nav-social-items .g-social-items a { width: 32px !important; height: 32px !important; }
    html body #g-navigation .nav-search-bar input[name='searchword'] { height: 34px; font-size: 16px !important; }
    html body #g-offcanvas .nav-logo-menu-overflow .g-logo { display: block; max-width: 80px; margin: 8px auto; }
    html body #g-offcanvas .nav-logo-menu-overflow img { display: block; max-width: 100%; height: auto; }
}
/* Keep dropdowns reachable by pointer and keyboard even while Gantry retains
   its inactive animation class. Mobile drill-down remains script-controlled. */
@media (min-width: 51rem) {
    html body #g-navigation .g-main-nav .g-parent:is(:hover, :focus-within) > .g-dropdown {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}
