@charset "UTF-8";
/* Fraud Academy custom theme  —  navy / gold / black */

/* fonts */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Source+Sans+3:wght@300;400;500;600;700;900&display=swap');


/* variables */

:root {
    --c-navy: #0D234C;        /* primary brand navy */
    --c-deep-navy: #0A1B3D;   /* darker navy — headers, hero */
    --c-darkest: #050E20;     /* near-black navy — body, footer */
    --c-black: #0A0A0A;       /* true black accents */
    --c-gold: #D5B46D;        /* brand gold */
    --c-gold-hover: #C39E50;  /* gold, pressed/hover */
    --c-gold-light: #F1E6CB;  /* pale gold tint */
    --c-marble: #F5F3EF;      /* light section background */
    --c-white: #FFFFFF;
    --c-text: #2C2C2C;
    --c-muted: #6B6B6B;
    --c-stone: #D8D3CB;
    /* CTA accent = gold (the only warm pop in the palette).
       --c-red / --c-red-hover are kept as the CTA aliases so the shared
       iMIS component rules below resolve correctly; both map to gold. */
    --c-red: #D5B46D;
    --c-red-hover: #C39E50;
    /* gold buttons need dark text for contrast */
    --c-on-gold: #0D234C;
    --f-heading: 'Oswald', 'Arial Narrow', sans-serif;
    --f-body: 'Source Sans 3', 'Source Sans Pro', sans-serif;
}


/* iMIS overrides */
html, body {
    overflow-x: hidden !important;
}

.wrapper {
    display: block !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.footer {
    display: block !important;
    height: auto !important;
}

#masterContentArea {
    margin-top: 0 !important;
}

body {
    background-color: var(--c-darkest) !important;
}

.wrapper,
.body-content,
#ContentPanel,
#ContentPanel.body-container,
#ctl01_masterWrapper,
#HomePageContent,
.HomePageFullWidthArea {
    background-color: transparent !important;
}

#ft.footer,
footer#ft,
footer.footer,
.footer {
    background-color: var(--c-darkest) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-top: none !important;
}

#ft > div,
#ft > .footer-content,
#ft > .footer-content.ClearFix,
footer#ft > div,
footer#ft > .footer-content {
    border-top: none !important;
}

div.footer-content,
div.footer-content.ClearFix,
footer .footer-content,
footer#ft .footer-content,
#ft .footer-content,
footer .footer-content.ClearFix,
footer#ft .footer-content.ClearFix {
    background-color: var(--c-darkest) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.footer-nav-copyright,
#ft .footer-nav-copyright,
footer .footer-nav-copyright,
footer#ft .footer-nav-copyright {
    background-color: var(--c-darkest) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

#masterContentArea { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.body-container, div.body-container { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.ContentItemContainer, div.ContentItemContainer { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.MainContentWrapper, div.MainContentWrapper { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.container { margin-bottom: 0 !important; }

.col-secondary, div.col-secondary {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#masterContentArea h1,
#masterContentArea h2,
#masterContentArea h3,
#masterContentArea h4 {
    border-bottom: none !important;
    background-image: none !important;
}

.header {
    background-color: var(--c-navy) !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

header#hd.header,
.wrapper > header.header,
#hd.header.navbar {
    background-color: var(--c-navy) !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* typography */

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: var(--f-body);
    font-size: clamp(17px, 1.8vw, 22px);
    line-height: 1.7;
    color: var(--c-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1 {
    font-family: var(--f-heading);
    font-size: clamp(46px, 6.5vw, 92px);
    font-weight: 600;
    line-height: 1.02;
    color: var(--c-navy);
    letter-spacing: 0.005em;
    text-transform: uppercase;
    margin: 0 0 16px 0;
    padding: 0;
}

h2 {
    font-family: var(--f-heading);
    font-size: clamp(30px, 4.5vw, 58px);
    font-weight: 600;
    line-height: 1.08;
    color: var(--c-navy);
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin: 0 0 16px 0;
    padding: 0;
}

h3 {
    font-family: var(--f-heading);
    font-size: clamp(22px, 2.5vw, 34px);
    font-weight: 600;
    line-height: 1.15;
    color: var(--c-navy);
    letter-spacing: 0.01em;
    margin: 0 0 16px 0;
    padding: 0;
}

h4 {
    font-family: var(--f-heading);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 500;
    line-height: 1.15;
    color: var(--c-navy);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin: 0 0 16px 0;
    padding: 0;
}

a {
    color: var(--c-gold);
    text-decoration: none;
    transition: color 0.15s ease;
}

a:hover {
    color: var(--c-gold-hover);
    text-decoration: underline;
}


/* utility */

.text-gold { color: var(--c-gold); }
.text-red { color: var(--c-red); }
.text-white { color: var(--c-white); }
.text-navy { color: var(--c-navy); }
.bg-navy { background-color: var(--c-navy); }
.bg-marble { background-color: var(--c-marble); }


/* buttons */
.btn-primary,
.btn-gold {
    display: inline-block;
    min-width: 200px;
    padding: 15px 36px;
    background-color: var(--c-gold);
    color: var(--c-on-gold);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: clamp(12px, 0.9vw, 15px);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.25s ease, letter-spacing 0.25s ease;
}

.btn-primary:hover,
.btn-gold:hover {
    background-color: var(--c-gold-hover);
    color: var(--c-on-gold);
    text-decoration: none;
    letter-spacing: 0.22em;
}

.btn-secondary,
.btn-outline-white {
    display: inline-block;
    min-width: 200px;
    padding: 15px 36px;
    background: transparent;
    color: var(--c-white);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: clamp(12px, 0.9vw, 15px);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    cursor: pointer;
    transition: border-color 0.25s ease, letter-spacing 0.25s ease;
}

.btn-secondary:hover,
.btn-outline-white:hover {
    border-color: rgba(255, 255, 255, 0.7);
    color: var(--c-white);
    text-decoration: none;
    letter-spacing: 0.22em;
}

.btn-outline-navy {
    display: inline-block;
    min-width: 200px;
    padding: 15px 36px;
    background: transparent;
    color: var(--c-navy);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: clamp(12px, 0.9vw, 15px);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border: 1px solid rgba(27, 42, 74, 0.3);
    border-radius: 0;
    cursor: pointer;
    transition: border-color 0.25s ease, letter-spacing 0.25s ease;
}

.btn-outline-navy:hover {
    border-color: var(--c-navy);
    color: var(--c-navy);
    text-decoration: none;
    letter-spacing: 0.22em;
}

.pill-buttons {
    display: inline-flex;
    border-radius: 0;
    overflow: hidden;
    border: none;
}

.pill-buttons .btn-pill-left {
    display: inline-block;
    padding: 15px 36px;
    background-color: var(--c-gold);
    color: var(--c-on-gold);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: clamp(12px, 0.9vw, 15px);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.25s ease, letter-spacing 0.25s ease;
}

.pill-buttons .btn-pill-left:hover {
    background-color: var(--c-gold-hover);
    color: var(--c-on-gold);
    text-decoration: none;
    letter-spacing: 0.22em;
}

.pill-buttons .btn-pill-right {
    display: inline-block;
    padding: 15px 36px;
    background-color: transparent;
    color: var(--c-white);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: clamp(12px, 0.9vw, 15px);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-left: none;
    border-radius: 0;
    cursor: pointer;
    transition: border-color 0.25s ease, letter-spacing 0.25s ease;
}

.pill-buttons .btn-pill-right:hover {
    border-color: rgba(255, 255, 255, 0.6);
    color: var(--c-white);
    text-decoration: none;
    letter-spacing: 0.22em;
}

/* iMIS button overrides */
.PrimaryButton,
.TextButton.PrimaryButton,
#masterContentArea .PrimaryButton,
.ContentItemContainer .PrimaryButton {
    display: inline-block !important;
    min-width: 220px !important;
    padding: 16px 32px !important;
    background-color: var(--c-gold) !important;
    color: var(--c-on-gold) !important;
    font-family: var(--f-body) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 2px solid var(--c-gold) !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important;
}

.PrimaryButton:hover,
.TextButton.PrimaryButton:hover,
#masterContentArea .PrimaryButton:hover {
    background-color: var(--c-gold-hover) !important;
    border-color: var(--c-gold-hover) !important;
    color: var(--c-on-gold) !important;
    transform: none !important;
    box-shadow: none !important;
}

.PrimaryButton a, .PrimaryButton a:link, .PrimaryButton a:visited, .PrimaryButton a:hover, .PrimaryButton a:active {
    color: var(--c-on-gold) !important;
    text-decoration: none !important;
}

.TextButton,
#masterContentArea .TextButton,
.ContentItemContainer .TextButton {
    display: inline-block !important;
    min-width: 220px !important;
    padding: 14px 32px !important;
    background: transparent !important;
    color: var(--c-navy) !important;
    font-family: var(--f-body) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 2px solid var(--c-navy) !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.TextButton:hover,
#masterContentArea .TextButton:hover {
    background-color: var(--c-navy) !important;
    color: var(--c-white) !important;
}

#masterContentArea .btn,
.ContentItemContainer .btn {
    font-family: var(--f-body) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 12px 28px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 2px solid var(--c-navy) !important;
    background-color: var(--c-navy) !important;
    color: var(--c-white) !important;
    border-radius: 0 !important;
    transition: background-color 0.2s ease !important;
}

#masterContentArea .btn:hover,
.ContentItemContainer .btn:hover {
    background-color: var(--c-gold) !important;
    border-color: var(--c-gold) !important;
    color: var(--c-on-gold) !important;
}


/* header & nav */

.header {
    position: relative !important;
    z-index: 100 !important;
}

.header-top-container {
    background-color: var(--c-deep-navy) !important;
    border-bottom: none !important;
    padding: 4px 0 !important;
}

.header-top-container .header-container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.nav-auxiliary,
.header-top-container .navbar-header {
    text-align: right !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
}

.nav-auxiliary { background-color: transparent !important; }

.nav-auxiliary a, .nav-auxiliary a:visited,
.header-top-container a, .header-top-container a:visited {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: clamp(13px, 0.9vw, 16px) !important;
    font-family: var(--f-body) !important;
}

.nav-auxiliary a:hover, .nav-auxiliary a:focus,
.header-top-container a:hover, .header-top-container a:focus {
    color: var(--c-white) !important;
}

.header-top-container img, .nav-auxiliary img,
.header-top-container .fa, .nav-auxiliary .fa {
    max-height: 20px !important;
    width: auto !important;
}

.nav-auxiliary .nav-aux-button .NavigationLink,
.nav-auxiliary .nav-aux-button .NavigationLink:visited {
    background-color: var(--c-gold) !important;
    border-color: var(--c-gold) !important;
    color: var(--c-on-gold) !important;
    font-weight: 700 !important;
}
.nav-auxiliary .nav-aux-button .NavigationLink:hover,
.nav-auxiliary .nav-aux-button .NavigationLink:focus {
    background-color: var(--c-gold-hover) !important;
    border-color: var(--c-gold-hover) !important;
    color: var(--c-on-gold) !important;
}

.header-logo-container img {
    max-height: clamp(50px, 5.5vw, 85px) !important;
    width: auto !important;
    height: auto !important;
}

.header-logo-container .WTZone {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
}

.header-logo-container a,
.header-logo-container a span,
.header-logo-container span {
    font-family: var(--f-body) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: clamp(20px, 1.6vw, 26px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.header-bottom-container .header-container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
}

.header-bottom-container .RadMenu,
.header-bottom-container .primary-navigation-area,
.header-bottom-container .ContentItemContainer,
.header-bottom-container .nav-primary {
    background-color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-bottom-container .rmRootGroup {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    background-color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-bottom-container .rmRootGroup .rmItem {
    margin: 0 !important;
    padding: 0 !important;
}

.header-bottom-container .rmRootGroup .rmLink,
.header-bottom-container .rmRootGroup .rmRootLink {
    padding: 28px 28px !important;
    margin: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.header h2, .header .PanelHead.Distinguish,
.header .panel-heading.Distinguish, .header .TitleBarCaption {
    border-bottom: none !important;
}

.nav-primary, .nav-primary .panel-heading, .nav-primary h2 {
    border: none !important;
    border-bottom: none !important;
}

.header-top-container, .header-logo-container, .header-bottom-container,
.header-top-container *, .header-logo-container *, .header-bottom-container *,
.header .header-container, .header .nav-primary, .header .navbar-collapse,
.header .primary-navigation-area, .header .ContentItemContainer {
    border: none !important;
}

.header > div, .header > div > div {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* desktop nav grid */
@media (min-width: 992px) {
    header#hd.header, .wrapper > header.header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
    }

    .header-top-container {
        grid-row: 1 !important;
        grid-column: 1 !important;
    }

    .header-logo-container {
        grid-row: 2 !important;
        grid-column: 1 !important;
        z-index: 2 !important;
        justify-self: start !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        background-color: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header-logo-container .WTZone {
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
    }

    .header-logo-container .WTZone > div,
    .header-logo-container .ContentItemContainer,
    .header-logo-container .ContentItemContainer > div {
        display: flex !important;
        align-items: center !important;
    }

    .header-logo-container a {
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header-bottom-container {
        grid-row: 2 !important;
        grid-column: 1 !important;
        z-index: 1 !important;
        background-color: var(--c-navy) !important;
        border: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

.RadMenu.RadMenu_London div.rmRootGroup, .RadMenu.RadMenu_London ul.rmRootGroup,
.RadMenu.RadMenu_Metro div.rmRootGroup, .RadMenu.RadMenu_Metro ul.rmRootGroup,
.RadMenu.RadMenu_MetroTouch div.rmRootGroup, .RadMenu.RadMenu_MetroTouch ul.rmRootGroup {
    background-color: transparent !important;
    background-image: none !important;
}

.RadMenu.RadMenu_London .rmRootLink, .RadMenu.RadMenu_Metro .rmRootLink,
.RadMenu.RadMenu_MetroTouch .rmRootLink {
    background: transparent !important;
    background-image: none !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink,
.RadMenu.RadMenu_London .rmRootGroup .rmRootLink,
.RadMenu.RadMenu_London .rmRootGroup .rmText,
.header-bottom-container .rmLink,
.header-bottom-container .rmRootLink,
.header-bottom-container .rmText,
.header-bottom-container a,
.primary-navigation-area a,
.primary-navigation-area .rmText,
.primary-navigation-area .rmLink,
.primary-navigation-area .rmRootLink {
    color: var(--c-white) !important;
    font-family: var(--f-body) !important;
    font-size: clamp(14px, 1vw, 17px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    background-image: none !important;
    transition: color 0.15s ease !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink:hover,
.RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover,
.RadMenu.RadMenu_London .rmRootGroup .rmLink:focus,
.RadMenu.RadMenu_London .rmRootGroup .rmRootLink:focus {
    background-color: transparent !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink:hover .rmText,
.RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover .rmText {
    color: var(--c-white) !important;
}

.header-bottom-container .rmRootGroup .rmLink,
.header-bottom-container .rmRootGroup .rmRootLink {
    position: relative !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    overflow: visible !important;
}

.header-bottom-container .rmRootGroup .rmLink::before,
.header-bottom-container .rmRootGroup .rmRootLink::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 0 !important;
    height: 3px !important;
    background: var(--c-gold) !important;
    transform: translateX(-50%) !important;
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
    z-index: 1 !important;
}

.header-bottom-container .rmRootGroup .rmLink::after,
.header-bottom-container .rmRootGroup .rmRootLink::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    width: auto !important;
    background: radial-gradient(ellipse at center bottom, rgba(213, 180, 109, 0.12) 0%, transparent 70%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 0 !important;
}

.header-bottom-container .rmRootGroup .rmLink:hover::before,
.header-bottom-container .rmRootGroup .rmRootLink:hover::before {
    width: 100% !important;
}

.header-bottom-container .rmRootGroup .rmLink:hover::after,
.header-bottom-container .rmRootGroup .rmRootLink:hover::after {
    opacity: 1 !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmSelected,
.RadMenu.RadMenu_London .rmRootGroup .rmSelected:hover,
.RadMenu.RadMenu_London .rmRootGroup .rmFocused,
.RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected,
.RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected:hover {
    background-color: transparent !important;
    background-image: none !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmSelected .rmText,
.RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected .rmText {
    color: var(--c-white) !important;
}

.header-bottom-container .rmRootGroup .rmSelected::before,
.header-bottom-container .rmRootGroup .rmLink.rmSelected::before {
    width: 100% !important;
}

.header-bottom-container .rmRootGroup .rmSelected::after,
.header-bottom-container .rmRootGroup .rmLink.rmSelected::after {
    opacity: 1 !important;
}

/* submenus */
.RadMenu.RadMenu_London .rmGroup, .RadMenu.RadMenu_London .rmSlide {
    background-color: var(--c-white) !important;
    border: 1px solid var(--c-stone) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}

.RadMenu.RadMenu_London .rmGroup .rmLink { color: var(--c-navy) !important; }
.RadMenu.RadMenu_London .rmGroup .rmLink:hover,
.RadMenu.RadMenu_London .rmGroup .rmLink:focus { background-color: var(--c-navy) !important; color: var(--c-white) !important; }
.RadMenu.RadMenu_London .rmGroup .rmLink:hover .rmText,
.RadMenu.RadMenu_London .rmGroup .rmLink:focus .rmText { color: var(--c-white) !important; }
.RadMenu.RadMenu_London .rmGroup .rmText { color: var(--c-navy) !important; }

.RadMenu.RadMenu_Metro .rmGroup .rmFocused, .RadMenu.RadMenu_Metro .rmGroup .rmFocused:hover,
.RadMenu.RadMenu_Metro .rmGroup .rmSelected, .RadMenu.RadMenu_Metro .rmGroup .rmSelected:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmFocused, .RadMenu.RadMenu_MetroTouch .rmGroup .rmFocused:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmSelected, .RadMenu.RadMenu_MetroTouch .rmGroup .rmSelected:hover {
    background-color: var(--c-navy) !important;
    color: var(--c-white) !important;
}

.RadMenu.RadMenu_London .rmDisabled, .RadMenu.RadMenu_London .rmDisabled:hover {
    opacity: 0.4 !important;
}

.header .RadMenu.RadMenu_London .rmRootGroup,
.header .RadMenu.RadMenu_Metro .rmRootGroup,
.header .RadMenu.RadMenu_MetroTouch .rmRootGroup {
    background-color: transparent !important;
}


/* mobile nav */

@media (max-width: 991px) {
    header#hd.header, .header.navbar {
        position: relative !important;
        z-index: 1000 !important;
    }

    .header-top-container {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 10px 20px !important;
        padding-right: 72px !important;
        min-height: 52px !important;
    }

    .header-top-container .header-container {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-top-container img, .nav-auxiliary img,
    .header-top-container .fa, .nav-auxiliary .fa {
        max-height: 16px !important;
    }

    .nav-auxiliary a, .header-top-container a {
        font-size: clamp(11px, 2.5vw, 13px) !important;
    }

    .header-logo-container,
    .header-logo-container.justify-content-start,
    .header-logo-container.d-flex {
        display: flex !important;
        justify-content: center !important;
        padding: 12px 16px !important;
        text-align: center !important;
        background-color: var(--c-navy) !important;
    }

    .header-logo-container .WTZone {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    .header-logo-container .WTZone a {
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .header-logo-container img {
        max-height: clamp(55px, 14vw, 80px) !important;
    }

    .header-logo-container .WTZone span {
        text-align: center !important;
    }

    .header-bottom-container {
        position: static !important;
        padding: 0 !important;
        background-color: var(--c-navy) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    .navbar-toggle, .navbar-toggle.collapsed {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: transparent !important;
        border: 2px solid var(--c-red) !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        float: none !important;
        z-index: 1001 !important;
    }

    .navbar-toggle:hover, .navbar-toggle:focus,
    .navbar-toggle.collapsed:hover, .navbar-toggle.collapsed:focus {
        background-color: rgba(213, 180, 109, 0.12) !important;
        border-color: var(--c-red) !important;
    }

    .navbar-toggle:not(.collapsed) {
        background-color: rgba(213, 180, 109, 0.18) !important;
        border-color: var(--c-red) !important;
    }

    .navbar-toggle .icon-bar {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        background-color: var(--c-white) !important;
        border-radius: 2px !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .navbar-toggle .icon-bar + .icon-bar { margin-top: 5px !important; }

    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px) !important;
        background-color: var(--c-red) !important;
    }
    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2) {
        opacity: 0 !important;
        transform: scaleX(0) !important;
    }
    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px) !important;
        background-color: var(--c-red) !important;
    }

    .navbar-collapse {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background-color: var(--c-deep-navy) !important;
        border-top: 3px solid var(--c-red) !important;
        z-index: 999 !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
        overflow: hidden !important;
        display: none !important;
    }

    .navbar-collapse.in, .navbar-collapse.collapsing {
        display: block !important;
    }

    .navbar-collapse.in .header-container, .navbar-collapse.in .nav-primary,
    .navbar-collapse.in .primary-navigation-area, .navbar-collapse.in .ContentItemContainer,
    .navbar-collapse.in .RadMenu, .navbar-collapse.in .rmRootGroup,
    .navbar-collapse.in .WTZone, .navbar-collapse.in .clear-right {
        float: none !important;
        width: 100% !important;
        display: block !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup, .header-bottom-container .rmRootGroup {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        align-items: stretch !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmItem, .header-bottom-container .rmRootGroup .rmItem {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink,
    .RadMenu.RadMenu_London .rmRootGroup .rmRootLink,
    .header-bottom-container .rmRootGroup .rmLink,
    .header-bottom-container .rmRootGroup .rmRootLink {
        padding: 16px 24px !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        letter-spacing: 0.02em !important;
        color: var(--c-white) !important;
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        transition: background 0.15s ease, padding-left 0.15s ease !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink:hover,
    .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover,
    .header-bottom-container .rmRootGroup .rmLink:hover,
    .header-bottom-container .rmRootGroup .rmRootLink:hover {
        background-color: rgba(213, 180, 109, 0.1) !important;
        padding-left: 32px !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink:hover .rmText,
    .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover .rmText {
        color: var(--c-gold) !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmItem:last-child .rmLink,
    .RadMenu.RadMenu_London .rmRootGroup .rmItem:last-child .rmRootLink {
        border-bottom: none !important;
    }

    .header-bottom-container .rmRootGroup .rmLink::after,
    .header-bottom-container .rmRootGroup .rmRootLink::after { display: none !important; }
    .header-bottom-container .rmRootGroup .rmLink::before,
    .header-bottom-container .rmRootGroup .rmRootLink::before { display: none !important; }

    .nav-auxiliary .nav-aux-button .NavigationLink {
        background-color: var(--c-gold) !important;
        border-color: var(--c-gold) !important;
        color: var(--c-on-gold) !important;
    }
}

@media (max-width: 480px) {
    .header-top-container { padding: 8px 16px !important; padding-right: 62px !important; min-height: 46px !important; }
    .header-logo-container { padding: 8px 16px !important; }
    .navbar-toggle, .navbar-toggle.collapsed { right: 12px !important; width: 38px !important; height: 38px !important; }
    .navbar-toggle .icon-bar { width: 20px !important; }
}
/* ==========================================
   DESKTOP NAV DROPDOWNS - CLEAN RADMENU RESET
========================================== */

@media (min-width: 992px) {

    /* dropdown panel */
    .header-bottom-container .rmSlide {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-top: 0 !important;
        z-index: 3000 !important;
    }

    .header-bottom-container .rmGroup,
    .header-bottom-container .rmVertical,
    .header-bottom-container .rmLevel1 {
        min-width: 260px !important;
        width: auto !important;
        background: #ffffff !important;
        background-image: none !important;
        border: 1px solid rgba(27, 42, 74, 0.14) !important;
        box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22) !important;
        padding: 10px 0 !important;
        margin: 0 !important;
    }

    /* dropdown items */
    .header-bottom-container .rmGroup .rmItem,
    .header-bottom-container .rmVertical .rmItem,
    .header-bottom-container .rmLevel1 .rmItem {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* dropdown links */
    .header-bottom-container .rmGroup .rmLink,
    .header-bottom-container .rmVertical .rmLink,
    .header-bottom-container .rmLevel1 .rmLink {
        display: block !important;
        width: 100% !important;
        min-width: 260px !important;
        padding: 14px 22px !important;
        margin: 0 !important;
        background: #ffffff !important;
        background-image: none !important;
        border: none !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    /* dropdown text */
    .header-bottom-container .rmGroup .rmLink .rmText,
    .header-bottom-container .rmVertical .rmLink .rmText,
    .header-bottom-container .rmLevel1 .rmLink .rmText {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #0D234C !important;
        background: transparent !important;
        font-family: var(--f-body) !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    /* hover/focus */
    .header-bottom-container .rmGroup .rmLink:hover,
    .header-bottom-container .rmGroup .rmLink:focus,
    .header-bottom-container .rmVertical .rmLink:hover,
    .header-bottom-container .rmVertical .rmLink:focus,
    .header-bottom-container .rmLevel1 .rmLink:hover,
    .header-bottom-container .rmLevel1 .rmLink:focus {
        background: #F5F3EF !important;
        background-image: none !important;
        text-decoration: none !important;
    }

    .header-bottom-container .rmGroup .rmLink:hover .rmText,
    .header-bottom-container .rmGroup .rmLink:focus .rmText,
    .header-bottom-container .rmVertical .rmLink:hover .rmText,
    .header-bottom-container .rmVertical .rmLink:focus .rmText,
    .header-bottom-container .rmLevel1 .rmLink:hover .rmText,
    .header-bottom-container .rmLevel1 .rmLink:focus .rmText {
        color: #D5B46D !important;
        text-decoration: none !important;
    }

    /* kill inherited underline glow effects inside dropdown */
    .header-bottom-container .rmGroup .rmLink::before,
    .header-bottom-container .rmGroup .rmLink::after,
    .header-bottom-container .rmVertical .rmLink::before,
    .header-bottom-container .rmVertical .rmLink::after,
    .header-bottom-container .rmLevel1 .rmLink::before,
    .header-bottom-container .rmLevel1 .rmLink::after {
        display: none !important;
        content: none !important;
    }

    /* faster feel */
    .header-bottom-container .rmSlide,
    .header-bottom-container .rmGroup,
    .header-bottom-container .rmVertical,
    .header-bottom-container .rmLevel1,
    .header-bottom-container .rmGroup .rmLink,
    .header-bottom-container .rmGroup .rmText {
        transition: none !important;
        animation: none !important;
    }
}

/* homepage scope */
.wib-homepage,
.wib-homepage .container,
.wib-homepage .container-fluid,
.wib-homepage .container-lg,
.wib-homepage .container-md,
.wib-homepage .container-sm,
.wib-homepage .container-xl,
.wib-homepage .row,
.wib-homepage #HomePageContent,
.wib-homepage #HomePageContent > div,
.wib-homepage #HomePageContent .WTZone,
.wib-homepage #HomePageContent .ContentItemContainer,
.wib-homepage .iMIS-WebPart {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

div#masterContentArea,
div#masterContentArea.container,
div.container#masterContentArea,
#masterContentArea > *,
#masterContentArea .body-container,
#ContentPanel, #ContentPanel.body-container,
.body-content, .body-content > .container,
.body-content > .container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.wib-homepage {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.wib-homepage p {
    max-width: 720px;
}

.wib-homepage .d-flex.justify-content-end {
    display: none !important;
}


/* hero */

.hero {
    position: relative;
    background-color: var(--c-deep-navy);
    padding: clamp(140px, 18vw, 280px) 0 clamp(100px, 12vw, 180px) 0;
    overflow: hidden;
    text-align: left;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(160deg, rgba(15,29,51,0.92) 0%, rgba(15,29,51,0.65) 40%, rgba(15,29,51,0.35) 100%);
    z-index: 1;
}

.hero-bg-image {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: right 30%;
    opacity: 0.6;
    z-index: 0;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 clamp(24px, 5vw, 64px);
}

.hero-eyebrow {
    font-family: var(--f-body);
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 700;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--c-gold);
    margin-bottom: 20px;
    display: block;
}

.hero-rule {
    width: 48px;
    height: 3px;
    background-color: var(--c-red);
    margin: 0 0 28px 0;
    border: none;
}

.hero h1 {
    color: var(--c-white);
    font-size: clamp(40px, 6vw, 90px);
    max-width: 800px;
    margin-bottom: 20px;
}

.hero h1 em {
    color: var(--c-gold);
    font-style: italic;
}

.hero-date {
    font-family: var(--f-body);
    font-size: clamp(20px, 2.2vw, 30px);
    color: var(--c-white);
    font-weight: 300;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.hero-venue {
    font-family: var(--f-heading);
    font-size: clamp(16px, 1.6vw, 22px);
    color: rgba(255, 255, 255, 0.65);
    font-style: italic;
    font-weight: 400;
    margin-bottom: 40px;
}

.hero-buttons {
    display: flex;
    gap: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
}

@media (max-width: 768px) {
    .hero { padding: 100px 0 80px 0; text-align: center; }
    .hero h1 { font-size: clamp(32px, 8vw, 48px); max-width: 100%; }
    .hero-rule { margin: 0 auto 24px auto; }
    .hero-buttons { justify-content: center; }
    .pill-buttons {
        flex-direction: column;
        width: 100%;
        max-width: 280px;
    }
    .pill-buttons .btn-pill-left {
        border-right: none;
        width: 100%;
    }
    .pill-buttons .btn-pill-right {
        width: 100%;
        border-left: 1px solid rgba(255, 255, 255, 0.3);
        border-top: none;
    }
}


/* gold accent strip (brand divider) */

.flag-strip {
    height: 4px;
    background: linear-gradient(90deg, var(--c-gold-hover) 0%, var(--c-gold) 50%, var(--c-gold-hover) 100%);
    padding: 0;
    margin: 0;
    overflow: hidden;
    width: 100%;
}


/* info bar */

.info-bar {
    background-color: var(--c-deep-navy);
    padding: 0;
    border-bottom: none;
    border-top: 1px solid rgba(213, 180, 109, 0.2);
}

.info-bar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 960px;
    margin: 0 auto;
}

.info-bar-item {
    padding: clamp(28px, 3.5vw, 48px) 24px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.info-bar-item:last-child { border-right: none; }

.info-bar-label {
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(213, 180, 109, 0.7);
    margin-bottom: 8px;
    display: block;
}

.info-bar-value {
    font-family: var(--f-heading);
    font-size: clamp(20px, 2.2vw, 32px);
    color: var(--c-white);
    font-weight: 500;
    white-space: nowrap;
}

.info-bar-value a,
.info-bar-value a:link,
.info-bar-value a:visited,
.info-bar-value a:hover {
    color: var(--c-white);
    text-decoration: none;
    border: none;
}

@media (max-width: 768px) {
    .info-bar { display: none; }
}


/* why attend */

.about-section {
    background-color: var(--c-white);
    padding: 0;
    overflow: hidden;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    max-width: 100%;
    margin: 0;
    align-items: stretch;
}

.about-image {
    position: relative;
    min-height: clamp(400px, 50vw, 700px);
    overflow: hidden;
}

.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0; left: 0;
}

.about-text {
    padding: clamp(56px, 7vw, 104px) clamp(40px, 6vw, 96px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.about-text .section-eyebrow {
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--c-red);
    margin-bottom: 20px;
    display: block;
}

.about-text h2 {
    font-size: clamp(32px, 3.5vw, 54px);
    margin-bottom: 28px;
    line-height: 1.08;
    border: none;
    background: none;
    padding-top: 0;
}

.about-text h2 span { color: var(--c-red); }

.about-text h2::before,
.about-text h2::after {
    display: none;
    content: none;
}

.about-section .hero-rule,
.about-text .hero-rule {
    display: none;
}

.about-text > p {
    font-size: clamp(16px, 1.5vw, 20px);
    margin-bottom: 20px;
    line-height: 1.8;
    color: #4A4A4A;
    max-width: 520px;
}

.about-text .hero-buttons {
    justify-content: flex-start;
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 12px 0 40px 0;
    width: 100%;
    counter-reset: feature-counter;
}

.feature-list li {
    counter-increment: feature-counter;
    padding: 16px 0 16px 40px;
    border-bottom: none;
    font-family: var(--f-body);
    font-size: clamp(15px, 1.2vw, 19px);
    color: var(--c-text);
    position: relative;
}

.feature-list li + li { border-top: none; }

.feature-list li::before {
    content: counter(feature-counter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 16px;
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    color: var(--c-red);
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .about-grid { grid-template-columns: 1fr; }
    .about-image { min-height: 260px; }
    .about-text { padding: 40px 24px; }
    .about-text > p { max-width: 100%; }
}


/* feature cards — Expert Curriculum / Methodology / Streaming */

.features-section {
    background-color: var(--c-darkest);
    padding: clamp(64px, 8vw, 120px) clamp(24px, 5vw, 64px);
}

.features-header {
    max-width: 760px;
    margin: 0 auto clamp(40px, 5vw, 72px) auto;
    text-align: center;
}

.features-header .section-eyebrow {
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--c-gold);
    margin-bottom: 18px;
    display: block;
}

.features-header h2 { color: var(--c-white); margin-bottom: 18px; }
.features-header p { color: rgba(255, 255, 255, 0.72); margin: 0 auto; max-width: 640px; }

.features-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
}

.feature-card {
    background-color: var(--c-deep-navy);
    border: 1px solid rgba(213, 180, 109, 0.2);
    border-top: 3px solid var(--c-gold);
    padding: clamp(32px, 3.5vw, 48px) clamp(28px, 3vw, 40px);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.feature-card:hover {
    transform: translateY(-4px);
    border-color: var(--c-gold);
}

.feature-card .feature-num {
    font-family: var(--f-heading);
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 600;
    letter-spacing: 0.25em;
    color: var(--c-gold);
    margin-bottom: 18px;
    display: block;
}

.feature-card h3 {
    color: var(--c-white);
    font-size: clamp(22px, 2vw, 30px);
    margin-bottom: 14px;
}

.feature-card p {
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 900px) {
    .features-grid { grid-template-columns: 1fr; max-width: 520px; }
}


/* explainer video */

.video-section {
    background-color: var(--c-deep-navy);
    padding: clamp(64px, 8vw, 120px) clamp(24px, 5vw, 64px);
    text-align: center;
}

.video-header {
    max-width: 760px;
    margin: 0 auto clamp(36px, 4vw, 56px) auto;
}

.video-header .section-eyebrow {
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--c-gold);
    margin-bottom: 18px;
    display: block;
}

.video-header h2 { color: var(--c-white); margin-bottom: 16px; }
.video-header p { color: rgba(255, 255, 255, 0.72); margin: 0 auto; max-width: 600px; }

.video-frame {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    padding-bottom: 54%;
    height: 0;
    overflow: hidden;
    border: 1px solid rgba(213, 180, 109, 0.35);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.video-frame iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* keep dark-section headings white — the global #masterContentArea h2/h3
   rule (below) forces navy with !important, so these must match it */
#masterContentArea .features-header h2,
#masterContentArea .iMIS-WebPart .features-header h2,
#masterContentArea .video-header h2,
#masterContentArea .iMIS-WebPart .video-header h2 {
    color: var(--c-white) !important;
}

#masterContentArea .feature-card h3,
#masterContentArea .iMIS-WebPart .feature-card h3 {
    color: var(--c-white) !important;
}


/* stats */

.stat-band {
    background-color: var(--c-marble);
    padding: clamp(56px, 7vw, 96px) 24px;
    text-align: center;
}

.stat-band-inner {
    max-width: 880px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.stat-item {
    padding: 0 32px;
    border-right: 1px solid rgba(27, 42, 74, 0.08);
}

.stat-item:last-child { border-right: none; }

.stat-number {
    font-family: var(--f-heading);
    font-size: clamp(44px, 5.5vw, 72px);
    font-weight: 800;
    color: var(--c-navy);
    line-height: 1;
    margin-bottom: 12px;
    display: block;
    letter-spacing: -0.02em;
}

.stat-label {
    font-family: var(--f-body);
    font-size: clamp(13px, 1vw, 17px);
    font-weight: 400;
    color: var(--c-monument);
    letter-spacing: 0.02em;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .stat-band-inner { grid-template-columns: 1fr; gap: 36px; }
    .stat-item { padding: 0; border-right: none; }
    .stat-number { font-size: clamp(40px, 10vw, 56px); }
}


/* hotel */

.hotel-section {
    background-color: var(--c-deep-navy);
    padding: 0;
    overflow: hidden;
}

.hotel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
    margin: 0;
    align-items: stretch;
}

.hotel-image {
    overflow: hidden;
    min-height: clamp(400px, 50vw, 700px);
}

.hotel-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hotel-info {
    padding: clamp(48px, 6vw, 96px) clamp(36px, 5vw, 88px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--c-navy);
}

.hotel-info .hero-eyebrow {
    color: rgba(213, 180, 109, 0.7);
    font-size: clamp(11px, 0.8vw, 14px);
    letter-spacing: 0.3em;
    margin-bottom: 20px;
}

.hotel-info h2 {
    color: var(--c-white);
    font-size: clamp(28px, 3.5vw, 42px);
    margin-bottom: 6px;
}

#masterContentArea .hotel-info h2,
.hotel-section .hotel-info h2,
#masterContentArea .hotel-section .hotel-info h2 {
    color: var(--c-white) !important;
    font-size: clamp(28px, 3.5vw, 42px) !important;
    margin-bottom: 6px !important;
}

.hotel-info .hotel-address,
#masterContentArea .hotel-info .hotel-address {
    font-family: var(--f-body);
    font-style: normal;
    color: rgba(255,255,255,0.7);
    font-size: clamp(14px, 1.1vw, 18px);
    letter-spacing: 0.04em;
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hotel-info p,
#masterContentArea .hotel-info p {
    color: rgba(255,255,255,0.9);
    font-size: clamp(15px, 1.4vw, 20px);
    line-height: 1.85;
    margin-bottom: 20px;
    max-width: 500px;
}

.hotel-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.hotel-detail-label {
    font-family: var(--f-body);
    font-size: clamp(10px, 0.7vw, 13px);
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(213, 180, 109, 0.5);
    display: block;
    margin-bottom: 2px;
}

.hotel-detail-value {
    font-family: var(--f-body);
    font-size: clamp(14px, 1.1vw, 18px);
    color: var(--c-white);
    font-weight: 400;
}

.hotel-info .hotel-highlight {
    color: var(--c-gold);
    font-weight: 600;
    font-size: clamp(14px, 1.1vw, 18px);
    letter-spacing: 0.02em;
    margin-bottom: 32px;
    margin-top: 4px;
    max-width: 460px;
}

.hotel-info .hero-rule {
    width: 48px;
    height: 2px;
    background-color: var(--c-red);
    margin: 0 0 28px 0;
}

.hotel-info .hero-buttons {
    justify-content: flex-start;
}

@media (max-width: 768px) {
    .hotel-grid { grid-template-columns: 1fr; }
    .hotel-image { min-height: 280px; }
    .hotel-info { padding: 40px 24px; }
}


/* cta */

.cta-section {
    position: relative;
    background-color: var(--c-navy);
    padding: clamp(64px, 8vw, 112px) 24px;
    overflow: hidden;
    text-align: left;
}

.cta-section .cta-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.06;
    z-index: 0;
}

.cta-content {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.cta-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cta-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cta-content .hero-eyebrow {
    color: rgba(213, 180, 109, 0.6);
    font-size: clamp(11px, 0.8vw, 14px);
    letter-spacing: 0.3em;
}

.cta-content h2,
.cta-section .cta-content h2 {
    color: var(--c-white);
    font-size: clamp(28px, 3.5vw, 44px);
    margin-bottom: 0;
    text-shadow: none;
    letter-spacing: -0.01em;
}

#masterContentArea .cta-content h2 {
    color: var(--c-white) !important;
}

.cta-content .cta-date {
    font-family: var(--f-body);
    font-size: clamp(16px, 1.6vw, 22px);
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
    letter-spacing: 0.06em;
    margin-bottom: 0;
    margin-top: 8px;
}

.cta-right p {
    color: rgba(255,255,255,0.9);
    font-size: clamp(15px, 1.4vw, 20px);
    line-height: 1.8;
    max-width: 460px;
    margin: 0 0 28px 0;
}

.cta-content .cta-small {
    color: rgba(255,255,255,0.5);
    font-size: clamp(11px, 0.8vw, 14px);
    letter-spacing: 0.04em;
    margin-top: 16px;
}

.cta-rule {
    width: 32px;
    height: 2px;
    background: var(--c-red);
    margin: 16px 0 20px 0;
    border: none;
}

@media (max-width: 768px) {
    .cta-content { grid-template-columns: 1fr; gap: 24px; text-align: center; }
    .cta-left { align-items: center; }
    .cta-right { align-items: center; }
    .cta-right p { max-width: 100%; margin: 0 auto 28px auto; }
    .cta-rule { margin: 16px auto 20px auto; }
    .cta-content .hero-buttons { justify-content: center; }
}


/* featured speakers */

.speakers-section {
    background-color: #EFEFEF;
    padding: clamp(80px, 10vw, 120px) clamp(24px, 5vw, 80px);
}

.speakers-header {
    text-align: center;
    margin-bottom: clamp(48px, 6vw, 72px);
}

.speakers-header .hero-eyebrow {
    color: var(--c-red);
}

.speakers-header h2,
#masterContentArea .speakers-header h2,
#masterContentArea .iMIS-WebPart .speakers-header h2 {
    color: var(--c-navy) !important;
    font-size: clamp(32px, 4vw, 52px) !important;
    margin-bottom: 0 !important;
}

.speakers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
}

.speaker-card {
    background: var(--c-white);
    border: 1px solid var(--c-stone);
    overflow: hidden;
}

.speaker-photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.speaker-info {
    padding: clamp(24px, 3vw, 36px);
}

.speaker-credential {
    font-family: var(--f-body);
    font-size: clamp(10px, 0.75vw, 12px);
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--c-gold);
    display: block;
    margin-bottom: 12px;
}

.speaker-card h3,
#masterContentArea .speaker-card h3,
#masterContentArea .iMIS-WebPart .speaker-card h3 {
    color: var(--c-navy) !important;
    font-size: clamp(26px, 2.5vw, 36px) !important;
    margin-bottom: 16px !important;
    line-height: 1.1 !important;
}

.speaker-card p {
    color: var(--c-text);
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.75;
    margin-bottom: 0;
}

.speaker-award {
    display: inline-block;
    margin-top: 20px;
    padding: 7px 14px;
    border: 1px solid rgba(213, 180, 109, 0.5);
    font-family: var(--f-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-gold);
}

@media (max-width: 900px) {
    .speakers-grid { grid-template-columns: 1fr; gap: 32px; max-width: 560px; }
    .speaker-photo { aspect-ratio: 4 / 3; }
}


/* explore dc */

.explore-dc-section {
    background-color: var(--c-marble);
    padding: clamp(80px, 10vw, 140px) clamp(24px, 5vw, 80px);
}

.explore-dc-header {
    max-width: 800px;
    margin: 0 auto clamp(48px, 6vw, 80px) auto;
    text-align: center;
}

.explore-dc-header .hero-eyebrow {
    color: var(--c-red);
    margin-bottom: 16px;
}

.explore-dc-header h2 {
    color: var(--c-navy);
    margin-bottom: 20px;
}

.explore-dc-header p {
    color: var(--c-text);
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.7;
    margin: 0;
}

.explore-dc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1600px;
    margin: 0 auto;
}

.explore-dc-card {
    display: flex;
    flex-direction: column;
    background-color: var(--c-white);
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--c-stone);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.explore-dc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 29, 51, 0.15);
    border-color: var(--c-gold);
    text-decoration: none;
    color: inherit;
}

.explore-dc-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.explore-dc-content {
    padding: 24px 24px 28px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.explore-dc-content h3 {
    color: var(--c-navy);
    font-size: clamp(20px, 1.8vw, 24px);
    margin: 0 0 12px 0;
    line-height: 1.25;
}

.explore-dc-content p {
    color: var(--c-text);
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

@media (max-width: 1100px) {
    .explore-dc-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    .explore-dc-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .explore-dc-content { padding: 20px; }
}

@media (max-width: 480px) {
    .explore-dc-grid { grid-template-columns: 1fr; }
}



/* footer */

.site-footer {
    background-color: var(--c-darkest);
    padding: 0;
    border-top: none;
}

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    padding: 60px 64px 48px 64px;
    max-width: none;
    margin: 0;
    gap: 48px;
}

.footer-brand {
    flex: 1 1 320px;
    max-width: 400px;
    text-align: left;
}

.footer-brand h3 {
    font-family: var(--f-heading);
    color: var(--c-white);
    font-size: clamp(22px, 1.8vw, 28px);
    font-weight: 700;
    margin: 0 0 14px 0;
    text-align: left;
}

.footer-brand p {
    color: rgba(255,255,255,0.55);
    font-family: var(--f-body);
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.75;
    margin: 0 0 4px 0;
    text-align: left;
}

.footer-col {
    flex: 0 0 auto;
    min-width: 150px;
    text-align: left;
}

.footer-col h4 {
    font-family: var(--f-body);
    font-size: clamp(11px, 0.8vw, 14px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-gold);
    margin: 0 0 18px 0;
    text-align: left;
}

.footer-col a {
    display: block;
    color: rgba(255,255,255,0.6);
    font-family: var(--f-body);
    font-size: clamp(14px, 1.1vw, 17px);
    padding: 4px 0;
    text-decoration: none;
    text-align: left;
    transition: color 0.2s ease;
}

.footer-col a:hover {
    color: var(--c-white);
    text-decoration: none;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    max-width: none;
    margin: 0;
    padding: 20px 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-bottom p {
    color: rgba(255,255,255,0.35);
    font-family: var(--f-body);
    font-size: clamp(12px, 0.9vw, 15px);
    margin: 0;
}

.footer-bottom a {
    color: rgba(255,255,255,0.25);
    font-size: clamp(12px, 0.9vw, 15px);
    text-decoration: none;
}

.footer-bottom a:hover {
    color: var(--c-gold);
}

@media (max-width: 768px) {
    .footer-top {
        flex-direction: column;
        padding: 40px 24px 32px 24px;
        gap: 32px;
    }
    .footer-brand { max-width: none; }
    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        padding: 20px 24px;
        text-align: center;
    }
}


/* agenda page */

.agenda-wrap {
    background-color: var(--c-marble);
    padding: clamp(40px, 5vw, 72px) clamp(24px, 6vw, 64px);
}

.agenda-inner {
    max-width: 820px;
    margin: 0 auto;
}

.agenda-day {
    background: var(--c-white);
    border: 1px solid var(--c-stone);
    margin-bottom: clamp(20px, 2.5vw, 32px);
    overflow: hidden;
}

.agenda-day:last-child { margin-bottom: 0; }

.agenda-day-head {
    background-color: var(--c-navy);
    padding: 22px 32px;
    border-bottom: none !important;
    margin-bottom: 0;
}

.agenda-day-num {
    display: block;
    font-family: var(--f-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(213, 180, 109, 0.75);
    margin-bottom: 5px;
}

.agenda-day-title,
#masterContentArea .agenda-day-title,
#masterContentArea .iMIS-WebPart .agenda-day-title,
#masterContentArea .iMIS-WebPart .agenda-day-head h2 {
    font-family: var(--f-heading) !important;
    font-size: clamp(20px, 2.5vw, 26px) !important;
    color: var(--c-white) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.agenda-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 0 24px;
    padding: 16px 32px;
    border-bottom: 1px solid var(--c-stone);
    align-items: start;
    border-left: 3px solid transparent;
    transition: background 0.15s ease;
}

.agenda-row:last-child { border-bottom: none; }

.agenda-row.has-speaker {
    border-left-color: var(--c-red);
}

.agenda-time {
    font-family: var(--f-body);
    font-size: clamp(12px, 0.9vw, 13px);
    font-weight: 600;
    color: var(--c-monument);
    padding-top: 3px;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.agenda-session-title {
    display: block;
    font-family: var(--f-body);
    font-size: clamp(15px, 1.3vw, 17px);
    font-weight: 600;
    color: var(--c-navy);
    line-height: 1.35;
}

.agenda-speaker {
    display: block;
    font-family: var(--f-body);
    font-size: clamp(13px, 1vw, 14px);
    font-weight: 500;
    color: var(--c-red);
    margin-top: 4px;
    font-style: italic;
}

.agenda-row.is-tbd .agenda-session-title {
    color: var(--c-monument);
    font-weight: 400;
    font-style: italic;
}

.agenda-row.is-break .agenda-session-title,
.agenda-row.is-dismiss .agenda-session-title {
    color: var(--c-monument);
    font-weight: 400;
    font-size: clamp(13px, 1vw, 14px);
}

@media (max-width: 580px) {
    .agenda-day-head { padding: 18px 20px; }
    .agenda-row {
        grid-template-columns: 1fr;
        gap: 3px 0;
        padding: 14px 20px 14px 17px;
    }
    .agenda-time { font-size: 11px; }
}


/* content pages — global layout layer
   Applies to standard iMIS content pages ONLY. Excluded via :not(:has()):
   the homepage (.wib-homepage) and registration / cart / sign-in pages
   (which already carry their own gated styling). Gives every content page a
   readable centered column, padding, and a light page-title header (navy
   title + short gold underline). No per-page HTML needed.
   NOTE: the global body background is dark and the content area is
   transparent, so a plain content page would render text on the dark
   body. This layer gives content pages their own white surface. */
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) .body-content,
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea,
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #ContentPanel {
    background-color: var(--c-white) !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea {
    min-height: 55vh !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .col-primary {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 48px) clamp(56px, 8vw, 96px) !important;
    box-sizing: border-box !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .PageTitle {
    margin-bottom: clamp(28px, 4vw, 44px) !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid var(--c-stone) !important;
    position: relative !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .PageTitle::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -1px !important;
    width: 64px !important;
    height: 3px !important;
    background-color: var(--c-gold) !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .PageTitle h1 {
    color: var(--c-navy) !important;
    font-size: clamp(34px, 5vw, 56px) !important;
    margin: 0 !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .col-primary p {
    margin: 0 0 18px 0 !important;
    line-height: 1.75 !important;
}
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .col-primary h2,
body:not(:has(.wib-homepage)):not(:has(.fa-agenda)):not(:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="CreateAccount"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="ciNewContactSignIn"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"])) #masterContentArea .col-primary h3 {
    margin-top: 36px !important;
}


/* inner pages */
.page-hero {
    background-color: var(--c-navy);
    padding: clamp(60px, 8vw, 100px) 24px clamp(40px, 6vw, 60px) 24px;
    text-align: center;
}

.page-hero h1,
#masterContentArea .page-hero h1,
#masterContentArea .iMIS-WebPart .page-hero h1 {
    color: var(--c-white) !important;
    font-size: clamp(32px, 5vw, 56px) !important;
    margin-bottom: 12px !important;
}

.page-hero p,
#masterContentArea .page-hero p,
#masterContentArea .iMIS-WebPart .page-hero p {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: clamp(17px, 2vw, 22px) !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

.coming-soon-page {
    padding: clamp(60px, 10vw, 120px) 24px;
    text-align: center;
    min-height: 40vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coming-soon-inner { max-width: 560px; margin: 0 auto; }
.coming-soon-inner h2 { margin-bottom: 16px; }
.coming-soon-inner p { color: var(--c-muted); font-size: clamp(17px, 2vw, 21px); margin-bottom: 32px; margin-left: auto; margin-right: auto; }

.things-section { padding: clamp(60px, 10vw, 120px) 24px; }

.things-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}

.thing-card {
    background: var(--c-white);
    border: 1px solid var(--c-stone);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.thing-card:hover { border-color: var(--c-gold); box-shadow: 0 4px 20px rgba(0,0,0,0.06); }

.thing-card-img { width: 100%; height: 200px; object-fit: cover; display: block; }
.thing-card-body { padding: 24px; }

.thing-card-body .thing-category {
    font-family: var(--f-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-red);
    margin-bottom: 8px;
    display: block;
}

.thing-card-body h4 { margin-bottom: 8px; font-size: 20px; }
.thing-card-body p { color: var(--c-muted); font-size: 15px; line-height: 1.6; margin-bottom: 16px; }

.thing-card-body .thing-link {
    font-family: var(--f-body);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-red);
}

.thing-card-body .thing-link:hover { color: var(--c-red-hover); }

.things-list-section { max-width: 1100px; margin: 0 auto; padding: 0 0 clamp(40px, 6vw, 80px) 0; }
.things-list-section h3 { margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid var(--c-red); }

.things-list { list-style: none; padding: 0; margin: 0; }
.things-list li { padding: 16px 0; border-bottom: 1px solid var(--c-stone); display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.things-list li strong { font-family: var(--f-body); font-weight: 600; color: var(--c-navy); }
.things-list li span { color: var(--c-muted); font-size: 15px; flex: 1; }
.things-list li a { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; white-space: nowrap; color: var(--c-red); }

@media (max-width: 1024px) { .things-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) { .things-grid { grid-template-columns: 1fr; } .things-list li { flex-direction: column; gap: 4px; } }


.contact-section { padding: clamp(60px, 10vw, 120px) 24px; }

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    max-width: 900px;
    margin: 0 auto;
}

.contact-card {
    padding: 40px;
    background: var(--c-marble);
    border-top: 3px solid var(--c-red);
}

.contact-card h3 { font-size: 22px; margin-bottom: 16px; }
.contact-card p { font-size: 16px; color: var(--c-text); margin-bottom: 8px; }
.contact-card a { font-weight: 600; }

@media (max-width: 768px) { .contact-grid { grid-template-columns: 1fr; } }

.sponsors-section { background-color: var(--c-marble); padding: clamp(60px, 10vw, 120px) 24px; }

.sponsor-tier { max-width: 1100px; margin: 0 auto 48px auto; text-align: center; }

.sponsor-tier h3 {
    font-size: 16px;
    font-family: var(--f-body);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--c-monument);
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--c-stone);
}

.sponsor-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px; align-items: center; }

.sponsor-logo-card {
    background: var(--c-white);
    border: 1px solid var(--c-stone);
    padding: 24px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    min-height: 100px;
}

.sponsor-logo-card:hover { border-color: var(--c-gold); }

.photo-band { padding: 0; overflow: hidden; }
.photo-band img { width: 100%; height: clamp(120px, 20vw, 300px); object-fit: cover; display: block; }
.photo-band-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.photo-band-grid img { width: 100%; height: clamp(150px, 20vw, 280px); object-fit: cover; display: block; }

@media (max-width: 768px) { .photo-band-grid { grid-template-columns: 1fr 1fr; } }


/* iMIS content styling */

#masterContentArea .PageTitle {
    font-family: var(--f-heading) !important;
    font-size: clamp(28px, 4.5vw, 48px) !important;
    font-weight: 700 !important;
    color: var(--c-navy) !important;
    padding-bottom: 20px !important;
    margin-bottom: 32px !important;
    border-bottom: 2px solid var(--c-stone) !important;
    background-image: none !important;
    line-height: 1.15 !important;
}

#masterContentArea .panel {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
}

#masterContentArea .panel-heading {
    background-color: transparent !important;
    border-bottom: 2px solid var(--c-stone) !important;
    padding: 0 0 12px 0 !important;
}

#masterContentArea .panel-heading.Distinguish {
    background-color: var(--c-navy) !important;
    padding: 16px 20px !important;
}

#masterContentArea .panel-title {
    font-family: var(--f-heading) !important;
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 700 !important;
    color: var(--c-navy) !important;
}

#masterContentArea .panel-body-container,
#masterContentArea .panel-body { padding: 16px 0 !important; }

#masterContentArea h2, #masterContentArea .PanelTitle { font-family: var(--f-heading) !important; font-weight: 700 !important; color: var(--c-navy) !important; }
#masterContentArea h3, #masterContentArea .SectionTitle { font-family: var(--f-heading) !important; font-weight: 700 !important; color: var(--c-navy) !important; font-size: clamp(18px, 2.5vw, 24px) !important; margin-bottom: 12px !important; }
#masterContentArea .PanelBody { overflow: visible !important; max-height: none !important; }

#masterContentArea .ProfilePic,
#masterContentArea .mini-profile-standard {
    background: var(--c-marble) !important;
    padding: 24px !important;
    margin-bottom: 24px !important;
    border: 1px solid var(--c-stone) !important;
}

#masterContentArea .mini-profile-picture-section img {
    border-radius: 50% !important;
    width: 100px !important;
    height: 100px !important;
    object-fit: cover !important;
    border: 3px solid var(--c-gold) !important;
}

#masterContentArea .mini-profile-name-section .SectionLabel {
    font-family: var(--f-heading) !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    color: var(--c-navy) !important;
}

#masterContentArea .mini-profile { display: flex !important; align-items: center !important; gap: 20px !important; }
#masterContentArea .mini-profile-name-section { flex: 1 !important; }
#masterContentArea .mini-profile-picture-section { flex-shrink: 0 !important; }

#masterContentArea .EventDisplay { margin-top: 16px !important; }
#masterContentArea .EventSummary { margin-bottom: 24px !important; }

#masterContentArea .EventSummary .Description {
    background: var(--c-marble) !important;
    border-left: 4px solid var(--c-red) !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
}

#masterContentArea .EventSummary .Description a,
#masterContentArea .EventSummary .Description a:link,
#masterContentArea .EventSummary .Description a:visited { color: var(--c-red) !important; font-weight: 600 !important; }

#masterContentArea .PanelField { margin-bottom: 12px !important; display: flex !important; gap: 12px !important; }
#masterContentArea .PanelFieldLabel { min-width: 60px !important; }

#masterContentArea .PanelFieldLabel .Label {
    font-family: var(--f-body) !important; font-size: 15px !important; font-weight: 700 !important;
    color: var(--c-navy) !important; text-transform: uppercase !important; letter-spacing: 0.04em !important;
}

#masterContentArea .PanelFieldValue { font-family: var(--f-body) !important; font-size: 16px !important; color: var(--c-text) !important; }

/* =========================================================================
   iMIS Registration Flow
   Targets the live Register.aspx / cart / attendee / pricing markup. Class
   selectors below are taken from the rendered HTML, not guessed.
   ========================================================================= */

/* Backend iMIS pages need a light page background — the dark body bg from
   the home page makes navy text invisible. home.html has zero .iMIS-WebPart
   so this :has() switch is safe. */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) {
    background-color: var(--c-marble) !important;
}
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea {
    background-color: var(--c-marble) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 56px) !important;
}
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .body-container {
    background-color: transparent !important;
    padding: clamp(32px, 5vw, 56px) 0 !important;
}

/* Page title — bigger, breathing room with a gold accent bar */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PageTitle-section,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PageTitle {
    margin-bottom: clamp(24px, 3vw, 40px) !important;
    padding-bottom: clamp(16px, 2vw, 24px) !important;
    border-bottom: 1px solid var(--c-stone) !important;
    position: relative !important;
}
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PageTitle-section::after,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PageTitle::after {
    content: "" !important; position: absolute !important;
    left: 0 !important; bottom: -1px !important;
    width: 80px !important; height: 3px !important;
    background-color: var(--c-gold) !important;
}
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea h1 {
    margin: 0 0 12px 0 !important;
    font-size: clamp(36px, 5vw, 56px) !important;
    line-height: 1.1 !important;
}

/* Page title (h1) on backend pages */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PageTitle h1,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea h1 {
    color: var(--c-navy) !important;
}

/* Generic h2/h3 on backend pages — most iMIS panels emit bare <h2> */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea h2 {
    color: var(--c-navy) !important;
    font-family: var(--f-heading) !important;
}

/* PanelTitle inside a navy PanelHead must stay white (overrides h2 rule above).
   Covers both iMIS (.PanelHead) and Bootstrap (.panel-heading) variants. */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PanelHead .PanelTitle,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PanelHead h2,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .PanelHead h3,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .panel-heading .panel-title,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .panel-heading h2,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .panel-heading h3 {
    color: var(--c-white) !important;
}

/* "Refund Policy", "KBA Members Only Event" etc. — bare h2 inside webparts */
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .iMIS-WebPart > h2,
body:has(.RegistrationArea, .PricingData, .AdmissionTitlePanel, .PreRegistrationArea, .SIGNIN, [id*="ciKBAMember"], [id*="ciNewContactSignIn"], [id*="ForgotPassword"], [id*="ForgotUsername"], [id*="CreateAccount"], [id*="ciEventDisplay"], [id*="CartCheckoutButton"], [id*="Cart_Home"], [id*="OrderConfirmation"]) #masterContentArea .iMIS-WebPart h2:not(.PanelTitle):not(.panel-title) {
    color: var(--c-navy) !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    margin-top: 24px !important; margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--c-stone) !important;
}

/* Validation messages */
#masterContentArea .AsiValidation,
#masterContentArea .ValidationError {
    background: var(--c-gold-light) !important; border: 1px solid var(--c-gold) !important;
    padding: 12px 16px !important; color: var(--c-navy) !important;
    font-family: var(--f-body) !important; font-size: 15px !important; margin-top: 12px !important;
}

/* Section heading inside event/registration pages */
#masterContentArea .Section h2.panel-title {
    font-size: clamp(24px, 3.5vw, 34px) !important;
    margin-bottom: 16px !important; padding-bottom: 16px !important;
    border-bottom: 2px solid var(--c-stone) !important;
}

#masterContentArea .iMIS-WebPart h3 {
    font-family: var(--f-heading) !important; font-size: clamp(18px, 2.5vw, 24px) !important;
    font-weight: 700 !important; color: var(--c-navy) !important;
    margin-top: 28px !important; margin-bottom: 12px !important;
}
#masterContentArea .iMIS-WebPart { margin-bottom: 16px !important; }
#masterContentArea .iMIS-WebPart + .iMIS-WebPart { padding-top: 16px !important; border-top: 1px solid var(--c-stone) !important; }

/* Form inputs */
#masterContentArea input[type="text"], #masterContentArea input[type="email"],
#masterContentArea input[type="tel"], #masterContentArea input[type="password"],
#masterContentArea input[type="number"], #masterContentArea select, #masterContentArea textarea {
    font-family: var(--f-body) !important; font-size: 16px !important; padding: 10px 14px !important;
    border: 1px solid var(--c-stone) !important; background: var(--c-white) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important; color: var(--c-text) !important;
}
#masterContentArea select {
    min-width: 130px !important; padding-right: 32px !important;
}
#masterContentArea input[type="text"]:focus, #masterContentArea input[type="email"]:focus,
#masterContentArea input[type="tel"]:focus, #masterContentArea input[type="password"]:focus,
#masterContentArea input[type="number"]:focus, #masterContentArea select:focus, #masterContentArea textarea:focus {
    border-color: var(--c-gold) !important; outline: none !important;
    box-shadow: 0 0 0 3px rgba(213, 180, 109,0.15) !important;
}

/* Tables */
#masterContentArea table { width: 100% !important; border-collapse: collapse !important; }
#masterContentArea th {
    font-family: var(--f-body) !important; font-weight: 700 !important;
    color: var(--c-white) !important; background-color: var(--c-navy) !important;
    padding: 12px 16px !important; text-align: left !important;
}
#masterContentArea td { padding: 12px 16px !important; border-bottom: 1px solid var(--c-stone) !important; color: var(--c-text) !important; }
#masterContentArea tr:hover td { background-color: var(--c-marble) !important; }

/* Generic Bootstrap card fallback */
#masterContentArea .card { background-color: var(--c-marble) !important; border: none !important; padding: 32px !important; }

/* Panel system — covers iMIS (.PanelHead/.PanelTitle) AND Bootstrap (.panel-heading.Distinguish).
   Plain .panel-heading (no .Distinguish) is left alone — iMIS emits empty
   ones for layout and we don't want a stray navy bar painted there. */
#masterContentArea .PanelHead.Distinguish.Collapsible,
#masterContentArea .StandardPanel .PanelHead,
#masterContentArea .TitleBarCaption.PanelHead,
#masterContentArea .AdmissionTitlePanel,
#masterContentArea .panel-heading.Distinguish {
    background-color: var(--c-navy) !important; border: none !important;
    padding: 16px 20px !important; margin-bottom: 16px !important;
}
#masterContentArea .PanelHead.Distinguish.Collapsible .PanelTitle,
#masterContentArea .StandardPanel .PanelHead .PanelTitle,
#masterContentArea .TitleBarCaption.PanelHead .PanelTitle,
#masterContentArea .AdmissionTitlePanel .PanelTitle,
#masterContentArea .panel-heading.Distinguish .panel-title,
#masterContentArea .panel-heading.Distinguish h2 {
    color: var(--c-white) !important; font-family: var(--f-heading) !important;
    font-size: clamp(18px, 2vw, 24px) !important; font-weight: 700 !important;
    margin: 0 !important; padding: 0 !important; border: none !important;
}

/* Hide empty panel-heading divs that iMIS emits as layout artifacts */
#masterContentArea .panel-heading:not(.Distinguish):empty,
#masterContentArea .panel-heading:not(.Distinguish):not(:has(*)):not(:has(:not(:empty))) {
    display: none !important;
}
#masterContentArea .PanelBlock { padding: 16px 0 !important; }
#masterContentArea .PanelBody { padding: 0 !important; }
#masterContentArea .PanelNoPadding { padding: 0 !important; }
#masterContentArea .SectionLabel {
    font-family: var(--f-heading) !important; font-weight: 700 !important;
    color: var(--c-navy) !important; font-size: 18px !important;
}

/* Dropdown menus (also used by the cart selector) */
#masterContentArea .dropdown-menu {
    border: 1px solid var(--c-stone) !important; box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
    overflow: hidden !important; padding: 0 !important; border-radius: 0 !important;
}
#masterContentArea .dropdown-menu li a { padding: 10px 20px !important; font-size: 15px !important; color: var(--c-navy) !important; }
#masterContentArea .dropdown-menu li a:hover { background: var(--c-navy) !important; color: var(--c-white) !important; }

/* Bootstrap btn-default / dropdown-toggle (e.g. function selector buttons) */
#masterContentArea .btn.btn-default,
#masterContentArea .btn-default.dropdown-toggle {
    font-family: var(--f-body) !important; font-weight: 600 !important;
    background-color: var(--c-white) !important; border: 1px solid var(--c-stone) !important;
    color: var(--c-navy) !important; border-radius: 0 !important; padding: 10px 18px !important;
    box-shadow: none !important;
}
#masterContentArea .btn.btn-default:hover,
#masterContentArea .btn-default.dropdown-toggle:hover,
#masterContentArea .btn.btn-default:focus,
#masterContentArea .btn-default.dropdown-toggle:focus {
    background-color: var(--c-marble) !important; border-color: var(--c-navy) !important;
    color: var(--c-navy) !important;
}
#masterContentArea .btn.btn-lg { padding: 12px 22px !important; font-size: 16px !important; }
#masterContentArea .btn-group .caret { color: var(--c-navy) !important; }
#masterContentArea .btn-group .btn.dropdown-toggle,
#masterContentArea .btn-group .btn-default.dropdown-toggle { min-width: 110px !important; text-align: left !important; }

/* =========================================================================
   Event display layout: full-width card stacking instead of iMIS' 5/7 split
   ========================================================================= */
#masterContentArea .FloatArea-Wrapper { float: none !important; width: 100% !important; clear: both !important; }
#masterContentArea .EventDetails.row,
#masterContentArea .EventSummary.row { display: block !important; }
#masterContentArea .ContactLocationArea,
#masterContentArea .ContactLocationArea.col-md-5 {
    width: 100% !important; max-width: 100% !important; float: none !important;
    margin-bottom: 24px !important;
}

/* =========================================================================
   RegistrationArea card (the "Registration" panel with the user row)
   ========================================================================= */
#masterContentArea .RegistrationArea,
#masterContentArea .RegistrationArea.FloatArea,
#masterContentArea .RegistrationArea.FloatArea.col-md-7,
#masterContentArea .RegistrationArea.card {
    float: none !important; width: 100% !important; max-width: 100% !important;
    background: var(--c-marble) !important; border: 1px solid var(--c-stone) !important;
    padding: 32px !important; margin-top: 32px !important; border-radius: 0 !important;
}

/* "Registration" heading (rendered as <div class="p-2 h4 d-flex justify-content-center">) */
#masterContentArea .RegistrationArea .h4,
#masterContentArea .RegistrationArea .p-2.h4 {
    font-family: var(--f-heading) !important; font-size: clamp(22px, 2.6vw, 28px) !important;
    font-weight: 700 !important; color: var(--c-navy) !important;
    margin: 0 0 20px 0 !important; padding-bottom: 16px !important;
    border-bottom: 2px solid var(--c-stone) !important; text-align: center !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important;
}

#masterContentArea .MainRegistrantInfoSectionWrapper { margin-bottom: 8px !important; }

/* Pre-registration row (user name + Register button) */
#masterContentArea .PreRegistrationArea {
    background: var(--c-white) !important; border: 1px solid var(--c-stone) !important;
    padding: 0 !important; margin-bottom: 16px !important;
}
#masterContentArea .PreRegistrationArea .card-body,
#masterContentArea .RegistrationArea .card-body {
    padding: 18px 22px !important; background: transparent !important; border: none !important;
}
#masterContentArea .PreRegistrationArea .Label {
    font-family: var(--f-heading) !important; font-weight: 700 !important;
    font-size: 18px !important; color: var(--c-navy) !important;
}

/* Layout safety: keep currentUser variants in a clean flex row */
#masterContentArea .RegistrationArea-currentUser {
    display: flex !important; flex-wrap: wrap !important; gap: 16px !important; align-items: flex-start !important;
}
#masterContentArea .RegistrationArea-currentUser > div:first-child { flex: 1 !important; min-width: 200px !important; }
#masterContentArea .RegistrationArea-status { flex-shrink: 0 !important; }

/* =========================================================================
   Buttons — covers every class-order variant iMIS emits, plus disabled state
   ========================================================================= */

/* Primary (red) — handles .PrimaryButton.TextButton, .TextButton.PrimaryButton,
   .PrimaryButton.LargeButton.TextButton, and .PrimaryButton.d-block.mb-0.TextButton */
#masterContentArea .PrimaryButton,
#masterContentArea input.PrimaryButton,
#masterContentArea button.PrimaryButton,
#masterContentArea a.PrimaryButton {
    display: inline-block !important;
    background-color: var(--c-gold) !important; color: var(--c-on-gold) !important;
    font-family: var(--f-body) !important; font-weight: 700 !important;
    font-size: 15px !important; line-height: 1.2 !important;
    padding: 14px 32px !important; border: 2px solid var(--c-gold) !important; border-radius: 0 !important;
    cursor: pointer !important; text-decoration: none !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
    box-shadow: none !important; transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
#masterContentArea .PrimaryButton.LargeButton { padding: 16px 40px !important; font-size: 16px !important; }
#masterContentArea .PrimaryButton:hover,
#masterContentArea .PrimaryButton:focus {
    background-color: var(--c-gold-hover) !important; border-color: var(--c-gold-hover) !important;
    color: var(--c-on-gold) !important;
}

/* Secondary (outlined) — handles .SecondaryButton.TextButton and
   .SecondaryButton.SmallButton.TextButton.d-block */
#masterContentArea .SecondaryButton,
#masterContentArea .SmallButton.TextButton,
#masterContentArea input.SecondaryButton,
#masterContentArea button.SecondaryButton,
#masterContentArea a.SecondaryButton {
    display: inline-block !important;
    font-family: var(--f-body) !important; font-weight: 700 !important;
    font-size: 14px !important; line-height: 1.2 !important;
    padding: 11px 26px !important; border: 2px solid var(--c-navy) !important;
    color: var(--c-navy) !important; background: transparent !important;
    border-radius: 0 !important; cursor: pointer !important; text-decoration: none !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}
#masterContentArea .SecondaryButton:hover,
#masterContentArea .SecondaryButton:focus,
#masterContentArea .SmallButton.TextButton:hover {
    background-color: var(--c-navy) !important; color: var(--c-white) !important;
}

/* Danger (red outlined) — for Cancel / Remove */
#masterContentArea .DangerButton,
#masterContentArea .DangerButton.TextButton {
    display: inline-block !important; padding: 11px 26px !important;
    border: 2px solid #dc3545 !important; color: #dc3545 !important; background: transparent !important;
    font-family: var(--f-body) !important; font-weight: 700 !important; font-size: 14px !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important; border-radius: 0 !important;
    cursor: pointer !important;
}
#masterContentArea .DangerButton:hover,
#masterContentArea .DangerButton.TextButton:hover {
    background: #dc3545 !important; color: var(--c-white) !important;
}

/* Disabled state — kills the pink default. Targets ASP.NET's aspNetDisabled
   class, the [disabled] attribute, and :disabled pseudo. Contrast tuned so
   the button still reads as a button (not a blank rectangle). */
#masterContentArea .PrimaryButton.aspNetDisabled,
#masterContentArea .PrimaryButton[disabled],
#masterContentArea .PrimaryButton:disabled,
#masterContentArea input.PrimaryButton.aspNetDisabled,
#masterContentArea input.PrimaryButton[disabled] {
    background-color: #cfd1d6 !important; border: 2px solid #b6b9c0 !important;
    color: #4a4f5c !important; cursor: not-allowed !important; opacity: 1 !important;
}
#masterContentArea .PrimaryButton.aspNetDisabled:hover,
#masterContentArea .PrimaryButton[disabled]:hover,
#masterContentArea .PrimaryButton:disabled:hover {
    background-color: #cfd1d6 !important; border-color: #b6b9c0 !important; color: #4a4f5c !important;
}
#masterContentArea .SecondaryButton.aspNetDisabled,
#masterContentArea .SecondaryButton[disabled],
#masterContentArea .SecondaryButton:disabled,
#masterContentArea .SmallButton.TextButton.aspNetDisabled,
#masterContentArea .SmallButton.TextButton[disabled] {
    border-color: var(--c-stone) !important; color: var(--c-muted) !important;
    background: transparent !important; cursor: not-allowed !important; opacity: 1 !important;
}
#masterContentArea .SecondaryButton.aspNetDisabled:hover,
#masterContentArea .SecondaryButton[disabled]:hover,
#masterContentArea .SecondaryButton:disabled:hover,
#masterContentArea .SmallButton.TextButton.aspNetDisabled:hover {
    background: transparent !important; color: var(--c-muted) !important; border-color: var(--c-stone) !important;
}

/* =========================================================================
   Pricing & program list
   ========================================================================= */
#masterContentArea .PricingData,
#masterContentArea .PricingData.row.panel-body {
    margin-top: 32px !important; padding: 24px !important;
    background: var(--c-marble) !important; border: 1px solid var(--c-stone) !important;
}
#masterContentArea .PricingData .PanelTitle {
    font-size: clamp(22px, 3vw, 32px) !important; margin-bottom: 16px !important;
    padding-bottom: 16px !important; border-bottom: 2px solid var(--c-stone) !important;
    color: var(--c-navy) !important; background: transparent !important; padding-left: 0 !important;
}

/* Program / itinerary item layout */
#masterContentArea .ProgramItemSummary { display: block !important; overflow: hidden !important; }
#masterContentArea .DescriptionColumn { float: none !important; width: 100% !important; display: block !important; }
#masterContentArea .WhenColumn { display: none !important; }
#masterContentArea .IteneraryColumn {
    float: none !important; width: 100% !important; display: block !important;
    margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--c-stone) !important;
}
#masterContentArea .ListItemTitle { margin-bottom: 8px !important; }
#masterContentArea .ListItemTitle a { color: var(--c-red) !important; font-weight: 700 !important; font-size: 18px !important; }

/* RadGrid (used by some attendee/cart tables) */
#masterContentArea .RadGrid.RadGrid_MetroTouch { border: none !important; }
#masterContentArea .RadGrid .rgMasterTable { border-collapse: collapse !important; }
#masterContentArea .RadGrid .rgRow td { border: none !important; padding: 16px 0 !important; }

/* Center the bottom button rows on the registration page */
#masterContentArea [id$="DivRegisterButtons"],
#masterContentArea [id$="DivRegisterSomeoneElseButton"],
#masterContentArea [id$="DivCartCheckoutButtonDisplay"],
#masterContentArea .ContentRecordPageButtonPanel {
    display: flex !important; justify-content: center !important;
    flex-wrap: wrap !important; gap: 12px !important; margin-top: 16px !important;
}

.card { background-color: var(--c-marble); border: none; }
.card img { width: 150px; border-radius: 50%; }
.QueryTemplateItem.card { width: 250px; }
.eventcontact .QueryTemplateItem.card { width: 100%; }

.sponsor img { border-radius: 0; width: 100% !important; max-width: 200px !important; height: auto !important; }
.sponsor .card { background-color: var(--c-marble); border: none; padding: 25px; }
#masterContentArea .sponsor .card { padding: 20px !important; background-color: var(--c-marble) !important; }
.sponsor .QueryTemplateItem.card { width: 100%; }
.sponsor .row { display: flex !important; flex-wrap: wrap !important; }

@media (max-width: 768px) {
    #masterContentArea { padding: 0 16px !important; }
    #masterContentArea .PageTitle { padding-bottom: 16px !important; }
    .sponsor .row > [class*="col-"], .sponsor .row > [class*="col "], .sponsor .row > .col { flex: 0 0 50% !important; max-width: 50% !important; }
    #masterContentArea .sponsor .card, .sponsor .card { padding: 10px !important; margin-bottom: 8px !important; }
    #masterContentArea .sponsor .card-body, .sponsor .card-body { padding: 4px !important; }
    .sponsor img { max-width: 100% !important; width: 100% !important; height: auto !important; }
}

.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTitlebar, .RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopLeft,
.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopRight, .RadWindow.RadWindow_Metro .rwTitlebar,
.RadWindow.RadWindow_Metro .rwTopLeft, .RadWindow.RadWindow_Metro .rwTopRight, .RadWindow.RadWindow_Metro .rwTopResize {
    background-color: var(--c-navy) !important;
}

.RadWindow.RadWindow_Metro .rwControlButtons a { border-color: var(--c-navy) !important; background-color: var(--c-navy) !important; }

.RadMenu_Default .rmRootGroup { background-color: var(--c-navy) !important; background-image: none !important; }
.RadMenu_Default { background-image: none !important; }
.RadMenu_Default a.rmLink:hover, .RadMenu_Default a.rmFocused, .RadMenu_Default a.rmSelected { background-color: var(--c-navy) !important; }


/* section backgrounds */

.section-marble {
    background-color: var(--c-marble);
    padding: clamp(60px, 10vw, 120px) 24px;
}

.section-white {
    background-color: var(--c-white);
    padding: clamp(60px, 10vw, 120px) 24px;
}

.section-navy {
    background-color: var(--c-navy);
    padding: clamp(60px, 10vw, 120px) 24px;
}

.section-dark {
    background-color: var(--c-deep-navy);
    padding: clamp(60px, 10vw, 120px) 24px;
}

.section-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 64px);
}

.section-header p {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    color: var(--c-muted);
    font-size: clamp(17px, 1.8vw, 21px);
}

/* ==========================================
   CLEAN iMIS OVERRIDE SYSTEM
   AC26 Convention
========================================== */


/* ==========================================
   1. HEADER / NAV BASE PROTECTION
========================================== */

.header,
header#hd.header,
.wrapper > header.header,
#hd.header.navbar {
    background-color: #0D234C !important;
    border: none !important;
    box-shadow: none !important;
}

.header-top-container {
    background-color: #0A1B3D !important;
}

.header-logo-container,
.header-bottom-container {
    background-color: #0D234C !important;
}

.header-logo-container a,
.header-logo-container a span,
.header-logo-container span,
.header-bottom-container a,
.header-bottom-container .rmText,
.primary-navigation-area a,
.primary-navigation-area .rmText {
    color: #ffffff !important;
}

.header-bottom-container .rmRootGroup .rmLink,
.header-bottom-container .rmRootGroup .rmRootLink {
    background: transparent !important;
    background-color: transparent !important;
}


/* ==========================================
   2. DESKTOP NAV DROPDOWNS
========================================== */

@media (min-width: 992px) {

    .header-bottom-container .rmSlide {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-top: 0 !important;
        z-index: 3000 !important;
    }

    .header-bottom-container .rmGroup,
    .header-bottom-container .rmVertical,
    .header-bottom-container .rmLevel1 {
        min-width: 260px !important;
        width: auto !important;
        background: #ffffff !important;
        background-image: none !important;
        border: 1px solid rgba(27, 42, 74, 0.14) !important;
        box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22) !important;
        padding: 10px 0 !important;
        margin: 0 !important;
    }

    .header-bottom-container .rmGroup .rmItem,
    .header-bottom-container .rmVertical .rmItem,
    .header-bottom-container .rmLevel1 .rmItem {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .header-bottom-container .rmGroup .rmLink,
    .header-bottom-container .rmVertical .rmLink,
    .header-bottom-container .rmLevel1 .rmLink {
        display: block !important;
        width: 100% !important;
        min-width: 260px !important;
        padding: 14px 22px !important;
        margin: 0 !important;
        background: #ffffff !important;
        background-image: none !important;
        border: none !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    .header-bottom-container .rmGroup .rmLink .rmText,
    .header-bottom-container .rmVertical .rmLink .rmText,
    .header-bottom-container .rmLevel1 .rmLink .rmText {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #0D234C !important;
        background: transparent !important;
        font-family: var(--f-body) !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .header-bottom-container .rmGroup .rmLink:hover,
    .header-bottom-container .rmGroup .rmLink:focus,
    .header-bottom-container .rmVertical .rmLink:hover,
    .header-bottom-container .rmVertical .rmLink:focus,
    .header-bottom-container .rmLevel1 .rmLink:hover,
    .header-bottom-container .rmLevel1 .rmLink:focus {
        background: #F5F3EF !important;
        background-image: none !important;
        text-decoration: none !important;
    }

    .header-bottom-container .rmGroup .rmLink:hover .rmText,
    .header-bottom-container .rmGroup .rmLink:focus .rmText,
    .header-bottom-container .rmVertical .rmLink:hover .rmText,
    .header-bottom-container .rmVertical .rmLink:focus .rmText,
    .header-bottom-container .rmLevel1 .rmLink:hover .rmText,
    .header-bottom-container .rmLevel1 .rmLink:focus .rmText {
        color: #D5B46D !important;
        text-decoration: none !important;
    }

    .header-bottom-container .rmGroup .rmLink::before,
    .header-bottom-container .rmGroup .rmLink::after,
    .header-bottom-container .rmVertical .rmLink::before,
    .header-bottom-container .rmVertical .rmLink::after,
    .header-bottom-container .rmLevel1 .rmLink::before,
    .header-bottom-container .rmLevel1 .rmLink::after {
        display: none !important;
        content: none !important;
    }
}


/* ==========================================
   3. AC CONVENTION CONTENT PAGES ONLY
   Targets:
   /KBAConvention/AC/*.aspx
========================================== */

form[action*="/KBAConvention/AC/"] #masterContentArea,
form[action*="/KBAConvention/AC/"] #ContentPanel,
form[action*="/KBAConvention/AC/"] #ContentPanel .body-container,
form[action*="/KBAConvention/AC/"] #ContentPanel .col-primary,
form[action*="/KBAConvention/AC/"] #ContentPanel .ContentItemContainer {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel .col-primary {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 56px 32px 80px 32px !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel h1 {
    font-size: clamp(48px, 6vw, 82px) !important;
    line-height: 1 !important;
    color: #0D234C !important;
    margin: 0 0 16px 0 !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel h2,
form[action*="/KBAConvention/AC/"] #ContentPanel h3 {
    color: #0D234C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
    margin: 48px 0 24px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 2px solid #D5B46D !important;
    background: none !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel p,
form[action*="/KBAConvention/AC/"] #ContentPanel li {
    color: #2C2C2C !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel .ContentItemContainer {
    margin-bottom: 44px !important;
    padding: 0 !important;
    border: none !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel table {
    width: 100% !important;
    background-color: transparent !important;
    border-collapse: collapse !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel td,
form[action*="/KBAConvention/AC/"] #ContentPanel th {
    padding: 14px 18px !important;
    vertical-align: top !important;
    border-bottom: 1px solid rgba(27, 42, 74, 0.12) !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel td {
    color: #2C2C2C !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel th {
    color: #0D234C !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    background-color: #F5F3EF !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel a {
    color: #C39E50 !important;
    font-weight: 700 !important;
}

form[action*="/KBAConvention/AC/"] #ContentPanel hr {
    border: none !important;
    border-top: 1px solid #D8D3CB !important;
    margin: 54px 0 !important;
}

@media (max-width: 768px) {
    form[action*="/KBAConvention/AC/"] #ContentPanel .col-primary {
        padding: 40px 22px 60px 22px !important;
    }

    form[action*="/KBAConvention/AC/"] #ContentPanel h1 {
        font-size: 46px !important;
    }

    form[action*="/KBAConvention/AC/"] #ContentPanel h2,
    form[action*="/KBAConvention/AC/"] #ContentPanel h3 {
        font-size: 28px !important;
        margin-top: 40px !important;
    }
}


/* ==========================================
   4. REGISTRATION LIST PAGE ONLY
   Targets:
   /KBAConvention/AC/Registration-List.aspx
========================================== */

form[action*="/KBAConvention/AC/Registration-List.aspx"] #masterContentArea,
form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel,
form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel .body-container,
form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel .col-primary,
form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel .ContentItemContainer {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel .col-primary {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 56px 32px 80px 32px !important;
}

.registration-list-header {
    margin-bottom: 38px !important;
}

.registration-eyebrow {
    display: block !important;
    color: #D5B46D !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

.registration-list-header h1 {
    color: #0D234C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(48px, 6vw, 82px) !important;
    line-height: 1 !important;
    margin: 0 0 16px 0 !important;
}

.registration-list-header p {
    color: #2C2C2C !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    margin: 0 0 14px 0 !important;
}

.registration-print-link a {
    color: #D5B46D !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    border-bottom: 2px solid #D5B46D !important;
    padding-bottom: 4px !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #ffffff !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel th {
    background: #F5F3EF !important;
    color: #0D234C !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 16px !important;
    border-bottom: 2px solid #D5B46D !important;
    text-align: left !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel td {
    color: #2C2C2C !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid rgba(27, 42, 74, 0.12) !important;
    vertical-align: top !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel tr:nth-child(even) td {
    background: #FAFAFA !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] .RadGrid,
form[action*="/KBAConvention/AC/Registration-List.aspx"] .RadGrid_MetroTouch {
    border: none !important;
    background: transparent !important;
}

form[action*="/KBAConvention/AC/Registration-List.aspx"] .rgHeader,
form[action*="/KBAConvention/AC/Registration-List.aspx"] .rgRow,
form[action*="/KBAConvention/AC/Registration-List.aspx"] .rgAltRow {
    background-image: none !important;
}


/* ==========================================
   5. REGISTRATION LIST PRINT STYLES
========================================== */

@media print {
    header,
    footer,
    .header,
    .footer,
    .nav-primary,
    .header-top-container,
    .header-logo-container,
    .header-bottom-container,
    .registration-print-link {
        display: none !important;
    }

    body,
    #masterContentArea,
    #ContentPanel,
    .body-container,
    .col-primary,
    .ContentItemContainer {
        background: #ffffff !important;
        color: #000000 !important;
    }

    form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel .col-primary {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .registration-list-header h1 {
        font-size: 28pt !important;
        color: #000000 !important;
    }

    .registration-list-header p {
        font-size: 11pt !important;
        color: #000000 !important;
    }

    form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel th,
    form[action*="/KBAConvention/AC/Registration-List.aspx"] #ContentPanel td {
        color: #000000 !important;
        font-size: 10pt !important;
        padding: 6pt !important;
        border-bottom: 1px solid #cccccc !important;
        background: #ffffff !important;
    }
}


/* ==========================================
   6. DO NOT STYLE THESE iMIS SYSTEM PAGES
========================================== */

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel table,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel tbody,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel tr,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel td,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel th,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] [id*="Report"],
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] [class*="Report"] {
    all: revert !important;
}
/* ==========================================
   CART HOME - RESET TO iMIS DEFAULT
========================================== */

form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] #masterContentArea,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] #ContentPanel,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] #ContentPanel *,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] table,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] tbody,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] tr,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] td,
form[action*="/Core/Store/StoreLayouts/Cart_Home.aspx"] th {
    all: revert !important;
}

/* ==========================================================
   CART HOME PAGE
   Cart_Home.aspx
========================================================== */

body:has(form[action*="Cart_Home.aspx"]),
body:has(form[action*="Cart_Home.aspx"]) #ctl01_masterWrapper,
body:has(form[action*="Cart_Home.aspx"]) #masterContentArea,
body:has(form[action*="Cart_Home.aspx"]) #ContentPanel,
body:has(form[action*="Cart_Home.aspx"]) .body-container,
body:has(form[action*="Cart_Home.aspx"]) .col-primary,
form[action*="Cart_Home.aspx"] #masterContentArea,
form[action*="Cart_Home.aspx"] #ContentPanel,
form[action*="Cart_Home.aspx"] .body-container,
form[action*="Cart_Home.aspx"] .col-primary {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

form[action*="Cart_Home.aspx"] #ContentPanel .col-primary {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 56px 32px 80px 32px !important;
}

form[action*="Cart_Home.aspx"] #WebPartZone1_Page1,
form[action*="Cart_Home.aspx"] #WebPartZone2_Page1,
form[action*="Cart_Home.aspx"] #WebPartZone3_Page1,
form[action*="Cart_Home.aspx"] #WebPartZone4_Page1 {
    border: none !important;
}

form[action*="Cart_Home.aspx"] .iMIS-WebPart {
    margin-bottom: 24px !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .panel,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .panel,
form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel,
form[action*="Cart_Home.aspx"] #ste_container_ciPaymentDetails .panel,
form[action*="Cart_Home.aspx"] #ste_container_ciNewSubmitOrderButtonLinkCommon .panel {
    background: #ffffff !important;
    border: 1px solid rgba(27, 42, 74, 0.14) !important;
    box-shadow: 0 10px 26px rgba(10, 20, 32, 0.06) !important;
    margin-bottom: 28px !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .panel-heading,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .panel-heading,
form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-heading,
form[action*="Cart_Home.aspx"] #ste_container_ciPaymentDetails .panel-heading {
    background: #0D234C !important;
    color: #ffffff !important;
    padding: 16px 22px !important;
    border: none !important;
    margin: 0 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .panel-title,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .panel-title,
form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-title,
form[action*="Cart_Home.aspx"] #ste_container_ciPaymentDetails .panel-title,
form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-title a {
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin: 0 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-heading-options a {
    color: #ffffff !important;
    opacity: 1 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-heading-options a::after {
    content: "▾" !important;
    display: inline-block !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .panel-body,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .panel-body,
form[action*="Cart_Home.aspx"] #ste_container_ciPromotionManagerCommon .panel-body,
form[action*="Cart_Home.aspx"] #ste_container_ciPaymentDetails .panel-body,
form[action*="Cart_Home.aspx"] #ste_container_ciNewSubmitOrderButtonLinkCommon .panel-body {
    background: #ffffff !important;
    color: #2C2C2C !important;
    padding: 24px !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .RadGrid,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .RadGrid_MetroTouch {
    background: #ffffff !important;
    border: none !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #ffffff !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgHeader {
    background: #F5F3EF !important;
    color: #0D234C !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 16px !important;
    border-bottom: 2px solid #D5B46D !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart th.rgExpandCol {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
    background: #F5F3EF !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart td.rgExpandCol {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(27, 42, 74, 0.12) !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart input.rgExpand,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart input.rgCollapse {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    border: none !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: block !important;
    cursor: pointer !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart input.rgExpand {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='%231B2A4A' d='M6 3l6 6-6 6'/%3E%3C/svg%3E") !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart input.rgCollapse {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='%231B2A4A' d='M3 6l6 6 6-6'/%3E%3C/svg%3E") !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td {
    background: #ffffff !important;
    color: #2C2C2C !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 16px !important;
    border-bottom: 1px solid rgba(27, 42, 74, 0.12) !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow:hover td {
    background: #FAFAFA !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td:nth-child(2),
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td:nth-child(2) {
    padding-left: 18px !important;
    white-space: normal !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td:nth-child(2) span,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td:nth-child(2) span {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td:nth-child(2) img,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td:nth-child(2) img {
    grid-column: 1 !important;
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td:nth-child(2) a:last-child,
form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td:nth-child(2) a:last-child {
    grid-column: 2 !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
}

form[action*="Cart_Home.aspx"] #ContentPanel a {
    color: #D5B46D !important;
    font-weight: 700 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .CartCharges,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .PanelField,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .GrandTotal {
    color: #2C2C2C !important;
    background: #ffffff !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .PanelField {
    display: flex !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(27, 42, 74, 0.1) !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .GrandTotal .PanelField {
    border-bottom: none !important;
    padding-top: 16px !important;
    font-weight: 700 !important;
}

form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .Label,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges .PanelFieldValue,
form[action*="Cart_Home.aspx"] #ste_container_ciCartCharges span {
    color: #2C2C2C !important;
    font-size: 16px !important;
}

form[action*="Cart_Home.aspx"] input[type="text"],
form[action*="Cart_Home.aspx"] input[type="email"],
form[action*="Cart_Home.aspx"] input[type="tel"],
form[action*="Cart_Home.aspx"] input[type="number"],
form[action*="Cart_Home.aspx"] select,
form[action*="Cart_Home.aspx"] textarea {
    background: #ffffff !important;
    color: #2C2C2C !important;
    border: 1px solid rgba(27, 42, 74, 0.22) !important;
    border-radius: 4px !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
}

form[action*="Cart_Home.aspx"] .TextButton,
form[action*="Cart_Home.aspx"] .PrimaryButton,
form[action*="Cart_Home.aspx"] input[type="button"],
form[action*="Cart_Home.aspx"] input[type="submit"],
form[action*="Cart_Home.aspx"] .btn {
    background: #D5B46D !important;
    color: #ffffff !important;
    border: 2px solid #D5B46D !important;
    padding: 13px 24px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

form[action*="Cart_Home.aspx"] .TextButton:hover,
form[action*="Cart_Home.aspx"] .PrimaryButton:hover,
form[action*="Cart_Home.aspx"] input[type="button"]:hover,
form[action*="Cart_Home.aspx"] input[type="submit"]:hover,
form[action*="Cart_Home.aspx"] .btn:hover {
    background: #C39E50 !important;
    border-color: #C39E50 !important;
    color: #ffffff !important;
}

form[action*="Cart_Home.aspx"] input[disabled],
form[action*="Cart_Home.aspx"] .aspNetDisabled,
form[action*="Cart_Home.aspx"] .btn[disabled] {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

@media (max-width: 768px) {
    form[action*="Cart_Home.aspx"] #ContentPanel .col-primary {
        padding: 40px 20px 60px 20px !important;
    }

    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable thead,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable tbody,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable tr,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable td,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable th {
        display: block !important;
        width: 100% !important;
    }

    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgMasterTable thead {
        display: none !important;
    }

    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgRow td,
    form[action*="Cart_Home.aspx"] #ste_container_ciShoppingCart .rgAltRow td {
        padding: 12px 0 !important;
    }
}


/* ==========================================================
   EVENT REGISTRATION PAGE
   /KBAConvention/AC/Register.aspx
========================================================== */

form[action*="/KBAConvention/AC/Register.aspx"] #masterContentArea,
form[action*="/KBAConvention/AC/Register.aspx"] #ContentPanel,
form[action*="/KBAConvention/AC/Register.aspx"] .body-container,
form[action*="/KBAConvention/AC/Register.aspx"] .col-primary {
    background: #ffffff !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] #ContentPanel .col-primary {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 56px 32px 80px 32px !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] .panel-heading,
form[action*="/KBAConvention/AC/Register.aspx"] .panel-title,
form[action*="/KBAConvention/AC/Register.aspx"] .ProgramGroup .panel-heading,
form[action*="/KBAConvention/AC/Register.aspx"] .ProgramGroup .panel-title {
    background: #0D234C !important;
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] .panel-heading {
    padding: 16px 22px !important;
    border: none !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] .panel-body,
form[action*="/KBAConvention/AC/Register.aspx"] .PanelBody,
form[action*="/KBAConvention/AC/Register.aspx"] .PanelField {
    background: #ffffff !important;
    color: #2C2C2C !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] #ste_container_ciEventProgramDisplay select,
form[action*="/KBAConvention/AC/Register.aspx"] select[id*="SelectedProgramsBy"],
form[action*="/KBAConvention/AC/Register.aspx"] .ProgramTableHeader select {
    width: auto !important;
    min-width: 170px !important;
    max-width: 240px !important;
    margin: 0 8px !important;
    padding: 8px 34px 8px 12px !important;
    line-height: 1.3 !important;
    height: auto !important;
    color: #0D234C !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(27, 42, 74, 0.22) !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] input[type="text"],
form[action*="/KBAConvention/AC/Register.aspx"] input[type="email"],
form[action*="/KBAConvention/AC/Register.aspx"] input[type="tel"],
form[action*="/KBAConvention/AC/Register.aspx"] input[type="number"],
form[action*="/KBAConvention/AC/Register.aspx"] select,
form[action*="/KBAConvention/AC/Register.aspx"] textarea {
    background: #ffffff !important;
    color: #2C2C2C !important;
    border: 1px solid rgba(27, 42, 74, 0.22) !important;
    border-radius: 4px !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] .TextButton,
form[action*="/KBAConvention/AC/Register.aspx"] .PrimaryButton,
form[action*="/KBAConvention/AC/Register.aspx"] input[type="button"],
form[action*="/KBAConvention/AC/Register.aspx"] input[type="submit"],
form[action*="/KBAConvention/AC/Register.aspx"] .btn {
    background: #ffffff !important;
    color: #0D234C !important;
    border: 2px solid #0D234C !important;
    padding: 13px 24px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] .TextButton:hover,
form[action*="/KBAConvention/AC/Register.aspx"] .PrimaryButton:hover,
form[action*="/KBAConvention/AC/Register.aspx"] input[type="button"]:hover,
form[action*="/KBAConvention/AC/Register.aspx"] input[type="submit"]:hover,
form[action*="/KBAConvention/AC/Register.aspx"] .btn:hover {
    background: #0D234C !important;
    color: #ffffff !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] input[value="Remove"],
form[action*="/KBAConvention/AC/Register.aspx"] input[value="REMOVE"] {
    border-color: #D5B46D !important;
    color: #D5B46D !important;
}

form[action*="/KBAConvention/AC/Register.aspx"] input[value="Remove"]:hover,
form[action*="/KBAConvention/AC/Register.aspx"] input[value="REMOVE"]:hover {
    background: #D5B46D !important;
    color: #ffffff !important;
}

#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay,
#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay .panel,
#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay .panel-body,
#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay .PanelNoPadding,
#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay_BodyContainer {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}

#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 40px auto !important;
}

#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay input[type="submit"],
#ctl01_TemplateBody_WebPartManager1_gwpciEventDisplay_ciEventDisplay_CartCheckoutButtonDisplay .PrimaryButton {
    margin: 0 !important;
}


/* ==========================================================
   ATTENDEE ROSTER PAGE
   /Shared_Content/Events/Roster/Attendees.aspx
========================================================== */

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #masterContentArea,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .body-container,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .col-primary,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ParentContainerPanel,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ContentBorder,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ste_container_ciAttendeeRoster {
    background: #ffffff !important;
    border: none !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel .col-primary {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 48px 32px 80px 32px !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .PageTitle-section,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .PageTitle-content-container,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .PageTitle-inner {
    background: #ffffff !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .PageTitle-inner h1,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] h1 {
    color: #0D234C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 42px !important;
    line-height: 1.1 !important;
    margin: 0 0 28px 0 !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid #D8D3CB !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportContainerPanel {
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    padding: 30px !important;
    overflow: auto !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportRightPanel,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportRightInnerPanel,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .SSRSReportViewer {
    background: #ffffff !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportLeftPanel,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportLeftInnerPanel {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    background: #ffffff !important;
    border-right: 1px solid #ececec !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .PanelField.Left {
    text-align: center !important;
    padding-top: 12px !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .file-icon-pdf,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] img[src*="pdf"],
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] img[src*="PDF"] {
    width: 24px !important;
    height: auto !important;
    opacity: 1 !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportRightPanel {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] table,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] tr,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] td,
form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] th {
    border: none !important;
    background: transparent !important;
    color: inherit !important;
    padding: initial !important;
    vertical-align: top !important;
}

@media (max-width: 900px) {
    form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] #ContentPanel .col-primary {
        padding: 30px 16px 60px 16px !important;
    }

    form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] h1 {
        font-size: 34px !important;
    }

    form[action*="/Shared_Content/Events/Roster/Attendees.aspx"] .ReportContainerPanel {
        padding: 14px !important;
    }
}

/* ============================================================
   AGENDA PAGE  —  Agenda-2026.aspx  (.fa-agenda module)
   Moved out of the page's inline <style> into the theme.
   Harmonized to the site brand: brand gold, Oswald display headings,
   Source Sans body, brand-navy gradient.
   The agenda page is excluded from the content-page layer
   above via :not(:has(.fa-agenda)). Heading rules are re-asserted
   with #masterContentArea + !important at the bottom so they beat
   the global "#masterContentArea h2/h3 { color: navy !important }".
   ============================================================ */
.fa-agenda {
    --gold: var(--c-gold);            /* brand gold (#D5B46D) */
    --navy: var(--c-navy);            /* brand navy (#0D234C) — text on gold banners */
    --white: #ffffff;
    --white-soft: #ffffffcc;
    --white-mute: #ffffffb3;
    --rule: #ffffff26;
    --fa-font: var(--f-body);         /* site body font (Source Sans 3) */
    --fa-gutter: clamp(24px, 5vw, 96px);
    font-family: var(--fa-font);
    color: var(--white);
    line-height: 1.5;
    position: relative;
    overflow: hidden;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background:
        radial-gradient(ellipse 100% 70% at 0% 0%, rgba(213, 180, 109, 0.10) 0%, rgba(213, 180, 109, 0.03) 35%, transparent 65%),
        linear-gradient(170deg, #0D234C 0%, #0A1B3D 30%, #081730 62%, #050E20 100%);
}
.fa-agenda *,
.fa-agenda *::before,
.fa-agenda *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.fa-agenda::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0.06;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch' seed='7'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.fa-hero,
.fa-day-nav,
.fa-agenda-main { position: relative; z-index: 2; }
.fa-agenda .fa-inner {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}
.fa-hero {
    padding: clamp(64px, 10vw, 144px) var(--fa-gutter) clamp(48px, 5vw, 80px);
}
.fa-hero .fa-eyebrow {
    display: block;
    color: var(--gold);
    font-size: clamp(15px, 1vw, 17px);
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    margin-bottom: clamp(20px, 2vw, 32px);
}
.fa-hero h1 {
    font-size: clamp(56px, 10vw, 144px);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: 0.005em;
    color: var(--white);
    text-transform: uppercase;
    margin-bottom: clamp(24px, 2.5vw, 40px);
}
.fa-hero .fa-dates {
    display: inline-block;
    background: var(--gold);
    color: var(--navy);
    font-size: clamp(15px, 1vw, 17px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: clamp(8px, 0.9vw, 12px) clamp(14.4px, 1.5vw, 20px);
    margin-bottom: clamp(28px, 2.5vw, 40px);
}
.fa-hero p {
    font-size: clamp(19px, 1.5vw, 24px);
    color: var(--white-soft);
    max-width: 50ch;
    line-height: 1.55;
}
.fa-day-nav {
    padding: clamp(24px, 2.5vw, 32px) var(--fa-gutter);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}
.fa-day-nav .fa-inner {
    display: flex;
    gap: clamp(24px, 3vw, 48px);
    flex-wrap: wrap;
}
.fa-day-nav a {
    color: var(--white-mute);
    text-decoration: none;
    font-size: clamp(15px, 1vw, 17px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    transition: color 0.2s ease;
}
.fa-day-nav a:hover { color: var(--gold); }
.fa-agenda-main { padding: 0 var(--fa-gutter); }
.fa-day {
    padding: clamp(56px, 7vw, 112px) 0;
    border-bottom: 1px solid var(--rule);
    scroll-margin-top: 32px;
}
.fa-day:last-child { border-bottom: none; }
.fa-day-header { margin-bottom: clamp(40px, 4vw, 64px); }
.fa-eyebrow-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: clamp(12px, 1vw, 16px);
    border-bottom: 1.5px solid var(--gold);
    margin-bottom: clamp(24px, 2.5vw, 40px);
}
.fa-eyebrow-row .fa-eyebrow {
    color: var(--gold);
    font-size: clamp(15px, 1vw, 17px);
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}
.fa-day-numeral {
    color: var(--gold);
    font-size: clamp(16px, 1.2vw, 20.8px);
    font-weight: 700;
    letter-spacing: 0.16em;
}
.fa-day h2 {
    font-size: clamp(48px, 9vw, 128px);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--white);
    line-height: 0.92;
    margin-bottom: clamp(24px, 2vw, 32px);
}
.fa-date-banner {
    display: inline-block;
    background: var(--gold);
    color: var(--navy);
    font-size: clamp(15px, 1vw, 17px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: clamp(8px, 0.9vw, 12px) clamp(14.4px, 1.5vw, 20px);
}
.fa-schedule { margin-top: clamp(40px, 4vw, 64px); }
.fa-session {
    display: grid;
    grid-template-columns: clamp(176px, 18vw, 288px) 1fr;
    gap: clamp(24px, 3vw, 64px);
    padding: clamp(24px, 2.2vw, 40px) 0;
    align-items: baseline;
    border-bottom: 1px solid var(--rule);
    transition: border-color 0.25s ease, padding-left 0.25s ease;
}
.fa-session:last-child { border-bottom: none; }
.fa-session:hover {
    border-bottom-color: rgba(224, 200, 123, 0.45);
    padding-left: clamp(8px, 1vw, 16px);
}
.fa-time {
    font-size: clamp(18px, 1.1vw, 22px);
    font-weight: 700;
    color: var(--white);
    letter-spacing: 0.06em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.fa-class-title {
    font-size: clamp(28px, 2.6vw, 44px);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gold);
    line-height: 1.15;
}
.fa-instructor {
    font-size: clamp(18px, 1.2vw, 22px);
    color: var(--white-mute);
    margin-top: clamp(6.4px, 0.6vw, 9.6px);
    letter-spacing: 0.01em;
}
.fa-class-title.fa-tbd {
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.01em;
    color: var(--white-mute);
}
@media (max-width: 768px) {
    .fa-session {
        grid-template-columns: 1fr;
        gap: 9.6px;
        padding: 24px 0;
    }
    .fa-session:hover { padding-left: 0; }
    .fa-time {
        color: var(--gold);
        letter-spacing: 0.22em;
        font-size: 16px;
    }
    .fa-class-title { font-size: 26px; }
    .fa-instructor { font-size: 18px; }
}

/* Re-assert agenda headings over the global #masterContentArea h1/h2/h3
   !important rules (color navy / Oswald / generic sizes). Higher specificity
   (#masterContentArea .fa-agenda ...) + !important guarantees the win. */
#masterContentArea .fa-agenda .fa-hero h1 {
    color: var(--white) !important;
    font-family: var(--f-heading) !important;
    font-size: clamp(56px, 10vw, 144px) !important;
    font-weight: 700 !important;
    line-height: 0.92 !important;
    letter-spacing: 0.005em !important;
    text-transform: uppercase !important;
    margin: 0 0 clamp(24px, 2.5vw, 40px) 0 !important;
}
#masterContentArea .fa-agenda .fa-day h2 {
    color: var(--white) !important;
    font-family: var(--f-heading) !important;
    font-size: clamp(48px, 9vw, 128px) !important;
    font-weight: 700 !important;
    line-height: 0.92 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    margin: 0 0 clamp(24px, 2vw, 32px) 0 !important;
}
#masterContentArea .fa-agenda .fa-class-title {
    color: var(--gold) !important;
    font-family: var(--f-heading) !important;
    font-size: clamp(24px, 2.6vw, 44px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}
#masterContentArea .fa-agenda .fa-class-title.fa-tbd {
    color: var(--white-mute) !important;
    font-family: var(--f-body) !important;   /* body font for the italic TBD (Oswald has no italic) */
    font-style: italic !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
}
