/*
 * OAF Modern Forum 1.0.28
 * A restrained, reversible visual layer for XenForo 1.5.
 */

.oafModern {
    --oaf-navy: #0b334d;
    --oaf-blue: #12679a;
    --oaf-blue-dark: #0c537d;
    --oaf-orange: #d87818;
    --oaf-gold: #eeb52c;
    --oaf-red: #d84a3c;
    --oaf-ink: #18242d;
    --oaf-muted: #42545f;
    --oaf-line: #dce5ea;
    --oaf-soft: #f5f8fa;
    --oaf-warm: #fbf5ea;
    --oaf-white: #ffffff;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--oaf-ink);
}

.oafModern body {
    background: #242729;
    color: var(--oaf-ink);
    font-family: inherit;
}

/* Optional XenForo-style desktop canvas. Outer surface colors remain fluid. */
@media (min-width: 801px) {
    .oafModern.oafModernCentered .pageWidth {
        box-sizing: border-box;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 1200px !important;
        width: calc(100% - 32px) !important;
    }
}

.oafModern a {
    color: var(--oaf-blue);
}

.oafModern a:hover,
.oafModern a:focus {
    color: var(--oaf-blue-dark);
}

.oafModern a:focus-visible,
.oafModern button:focus-visible,
.oafModern input:focus-visible,
.oafModern select:focus-visible,
.oafModern textarea:focus-visible {
    outline: 3px solid rgba(238, 181, 44, .7);
    outline-offset: 2px;
}

/* Masthead and navigation: retain the OAF structure, remove the dated bevels. */
.oafModern #header,
.oafModern #logoBlock,
.oafModern #logoBlock .pageContent {
    background: #252729 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.oafModern:where(:not(.oafModernStandard)) #logoBlock,
.oafModern:where(:not(.oafModernStandard)) #logoBlock .pageContent {
    height: 78px !important;
    min-height: 78px;
}

.oafModern:where(:not(.oafModernStandard)) #logo {
    height: 78px !important;
    line-height: 78px !important;
}

.oafModern:where(:not(.oafModernStandard)) #logo img {
    width: auto;
    max-height: 64px;
}

.oafModern .navTabs {
    background: var(--oaf-navy) !important;
    background-image: none !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: none !important;
}

.oafModern .navTabs .navLink,
.oafModern .navTabs .SplitCtrl {
    text-shadow: none !important;
}

.oafModern .navTabs .navTab.PopupClosed:hover,
.oafModern .navTabs .navTab.selected .navLink,
.oafModern .navTabs .navTab.selected .SplitCtrl {
    background: #edf5f9 !important;
    background-image: none !important;
    color: var(--oaf-navy) !important;
}

.oafModern .navTabs .navTab.PopupClosed:hover .navLink,
.oafModern .navTabs .navTab.PopupClosed:hover .SplitCtrl,
.oafModern .navTabs .navTab.PopupOpen .navLink,
.oafModern .navTabs .navTab.PopupOpen .SplitCtrl {
    color: var(--oaf-navy) !important;
    text-shadow: none !important;
}

.oafModern .navTabs .navTab.PopupClosed:hover .arrowWidget,
.oafModern .navTabs .navTab.PopupOpen .arrowWidget {
    border-top-color: var(--oaf-navy) !important;
}

.oafModern .navTabs .navTab.selected .tabLinks,
.oafModern .navTabs .navTab.selected .tabLinks .primaryContent {
    background: #e7f1f6 !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: inset 0 -1px 0 #cbdde7 !important;
}

.oafModern .navTabs .navTab.selected .tabLinks a {
    color: var(--oaf-blue-dark) !important;
    text-shadow: none !important;
}

/*
 * XenForo 1 initially paints these member utilities in the Forums submenu,
 * then moves them into its overflow menu. Keep them overflow-only from the
 * first paint so the content destinations never slide when ResponsiveNav
 * completes. XenForo clones the hidden links into the separate ... popup.
 */
.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li:has(> a[href*="forums/-/mark-read"]),
.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li:has(> a[href*="search/?type=post"]),
.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li:has(> a[href*="watched/forums"]),
.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li:has(> a[href*="watched/threads"]),
.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li.oafSubNavUtility {
    display: none !important;
}

.oafModernNavSearch.LoggedIn .navTabs .navTab.forums.selected .forumsTabLinks li.oafStableSubNavOverflow {
    display: list-item !important;
}

/*
 * XenForo's stock row reserves 275px for #searchBar. Search now lives in the
 * visitor navigation, so that reservation only causes avoidable wrapping and
 * a late ResponsiveNav rewrite. Give every selected submenu its real width.
 */
.oafModernNavSearch #navigation.withSearch .navTabs .navTab.selected .blockLinksList {
    margin-right: 8px !important;
}

/* Main canvas and common XenForo surfaces. */
.oafModern #content .pageContent,
.oafModern .mainContent,
.oafModern .mainContainer {
    background-color: var(--oaf-white);
}

.oafModern .sectionMain,
.oafModern .primaryContent,
.oafModern .secondaryContent {
    background-image: none !important;
    box-shadow: none !important;
}

.oafModern .sectionMain {
    border-color: var(--oaf-line) !important;
}

/*
 * XenForo and several sidebar add-ons use their own pale gray utility text.
 * Keep dates and metadata secondary without letting normal-size copy fall
 * below comfortable reading contrast on OAF's white and soft-blue surfaces.
 */
.oafModern .muted,
.oafModern .faint,
.oafModern .DateTime,
.oafModern .pairsInline dt,
.oafModern .pairsJustified dt,
.oafModern .meta {
    color: var(--oaf-muted) !important;
}

/*
 * Member cards use XenForo's charcoal overlay rather than OAF's light content
 * surfaces. Restore a dedicated high-contrast palette after the global muted
 * treatment above so profile labels and recent-activity text remain legible.
 */
.oafModern .xenOverlay.memberCard .muted,
.oafModern .xenOverlay.memberCard .faint,
.oafModern .xenOverlay.memberCard .DateTime,
.oafModern .xenOverlay.memberCard .pairsInline dt,
.oafModern .xenOverlay.memberCard .pairsRows dt,
.oafModern .xenOverlay.memberCard .pairsJustified dt,
.oafModern .xenOverlay.memberCard .userTitle,
.oafModern .xenOverlay.memberCard .lastActivity {
    color: #b8c3ca !important;
}

.oafModern .xenOverlay.memberCard .pairsInline dd,
.oafModern .xenOverlay.memberCard .pairsRows dd,
.oafModern .xenOverlay.memberCard .pairsJustified dd {
    color: #f4f6f7 !important;
}

.oafModern .xenOverlay.memberCard a,
.oafModern .xenOverlay.memberCard .userLinks a,
.oafModern .xenOverlay.memberCard .userInfo h3 a {
    color: #b9dcf0 !important;
}

.oafModern .xenOverlay.memberCard a:hover,
.oafModern .xenOverlay.memberCard a:focus {
    color: #ffffff !important;
}

.oafModern .button,
.oafModern .callToAction span,
.oafModern a.callToAction {
    background: var(--oaf-white) !important;
    background-image: none !important;
    border-color: #b9cbd5 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    color: var(--oaf-blue-dark) !important;
    text-shadow: none !important;
}

.oafModern .button.primary,
.oafModern .callToAction.primary span,
.oafModern a.callToAction.primary {
    background: var(--oaf-blue) !important;
    border-color: var(--oaf-blue) !important;
    color: #fff !important;
}

/* Category headings become quiet editorial dividers with an OAF accent. */
.oafModern .nodeList .categoryStrip,
.oafModern .nodeList .categoryStrip .nodeTitle,
.oafModern .nodeList .categoryStrip .nodeDescription,
.oafModern .discussionList .sectionHeaders,
.oafModern .subHeading {
    background: var(--oaf-warm) !important;
    background-image: none !important;
    color: #4a3928 !important;
    text-shadow: none !important;
}

/* Read thread titles retain enough weight and contrast to remain comfortably legible. */
.oafModern .discussionListItem .title > a.PreviewTooltip {
    color: var(--oaf-blue-dark) !important;
}

.oafModern .discussionListItem:not(.unread) .title > a.PreviewTooltip {
    font-weight: 500 !important;
}

.oafModern .nodeList .categoryStrip {
    border: 0 !important;
    border-radius: 0 !important;
    border-left: 4px solid var(--oaf-orange) !important;
    border-top: 1px solid #eadbc2 !important;
    border-bottom: 1px solid #eadbc2 !important;
    padding: 11px 12px !important;
}

.oafModern .nodeList .categoryStrip .nodeTitle {
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.oafModern .nodeList .categoryStrip .nodeDescription {
    font-size: 12px !important;
    line-height: 1.45 !important;
    margin-top: 2px;
}

.oafModern .nodeList .categoryStrip .button,
.oafModern .nodeList .categoryStrip a.button {
    background: #fffaf4 !important;
    border-color: var(--oaf-orange) !important;
    color: #874a0d !important;
}

/*
 * Compact category bars align their accent with the Featured Work panel.
 * Use XenForo's native structure as well as the enhancement classes so the
 * final geometry is present in the first render, before JavaScript runs.
 */
.oafModernCompactCategories #content.forum_list .nodeList.sectionMain,
.oafModernCompactCategories #content.forum_list .sectionMain.oafCategorySection {
    padding-top: 0 !important;
}

.oafModernCompactCategories #content.forum_list .nodeList > .category,
.oafModernCompactCategories #content.forum_list .oafCategoryNode {
    margin-bottom: 0 !important;
}

.oafModernCompactCategories #content.forum_list .sectionMain .categoryStrip,
.oafModernCompactCategories #content.forum_list .sectionMain .oafCategoryBar {
    box-sizing: border-box;
    height: auto !important;
    /* Include the section's 10px padding and 1px border so the accent rule
       shares the exact outer edge of Featured Work. */
    margin-left: -11px !important;
    margin-right: -11px !important;
    min-height: 0 !important;
    padding: 10px 20px !important;
    position: relative;
}

.oafModernCompactCategories #content.forum_list .sectionMain .categoryStrip:has(.oafModernCategorySubmit),
.oafModernCompactCategories #content.forum_list .sectionMain .oafCategoryBar--hasAction {
    padding-right: 218px !important;
}

.oafModernCompactCategories #content.forum_list .sectionMain .categoryStrip:not(:has(.nodeDescription)),
.oafModernCompactCategories #content.forum_list .sectionMain .oafCategoryBar--compact {
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

.oafModernCompactCategories .categoryStrip .categoryText,
.oafModernCompactCategories .categoryStrip .nodeText,
.oafModernCompactCategories .categoryStrip .nodeTitle,
.oafModernCompactCategories .categoryStrip .nodeDescription,
.oafModernCompactCategories .oafCategoryBar .categoryText,
.oafModernCompactCategories .oafCategoryBar .nodeText,
.oafModernCompactCategories .oafCategoryBar .nodeTitle,
.oafModernCompactCategories .oafCategoryBar .nodeDescription {
    height: auto !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.oafModernCompactCategories .categoryStrip .nodeDescription,
.oafModernCompactCategories .oafCategoryBar .nodeDescription {
    margin-top: 3px !important;
}

.oafModernCompactCategories .categoryStrip .button,
.oafModernCompactCategories .categoryStrip a.button,
.oafModernCompactCategories .categoryStrip .callToAction,
.oafModernCompactCategories .oafCategoryBar .button,
.oafModernCompactCategories .oafCategoryBar a.button,
.oafModernCompactCategories .oafCategoryBar .callToAction {
    margin: 0 !important;
    position: absolute !important;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

/* Forum nodes: retain density, improve rhythm and hierarchy. */
.oafModern .nodeList {
    border-color: var(--oaf-line) !important;
}

.oafModern .nodeList .node,
.oafModern .nodeList .node.level_2,
.oafModern .nodeList .node.level-n {
    background: var(--oaf-white) !important;
    background-image: none !important;
    border-color: var(--oaf-line) !important;
}

.oafModern .nodeList .node:hover {
    background: #fbfdfe !important;
}

.oafModern .node .nodeInfo {
    min-height: 62px;
}

.oafModern .node .nodeText {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

.oafModern .node .nodeTitle,
.oafModern .node .nodeTitle a {
    color: #466273 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.oafModern .node.unread .nodeTitle,
.oafModern .node.unread .nodeTitle a,
.oafModern .node .unread .nodeTitle,
.oafModern .node .unread .nodeTitle a {
    color: #075d8f !important;
    font-weight: 700 !important;
}

.oafModern .node .nodeStats,
.oafModern .node .nodeDescription,
.oafModern .node .subForumList {
    color: var(--oaf-muted) !important;
    line-height: 1.4 !important;
}

.oafModern .node .nodeStats dd,
.oafModern .node .nodeStats .pairsInline dd {
    color: #273640 !important;
}

.oafModern .node .nodeControls {
    opacity: .42;
    transition: opacity .15s ease;
}

.oafModern .node:hover .nodeControls {
    opacity: .85;
}

.oafModern .node .nodeLastPost {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-left: 1px solid var(--oaf-line) !important;
    box-shadow: none !important;
    color: var(--oaf-muted) !important;
}

.oafModern .node .nodeLastPost .lastThreadTitle,
.oafModern .node .nodeLastPost .lastThreadTitle a {
    color: var(--oaf-blue-dark) !important;
    font-weight: 600;
}

.oafModern .node .nodeIcon,
.oafModern .node .nodeIcon > a {
    background: none !important;
    background-image: none !important;
}

.oafModern .node .nodeIcon {
    align-items: center;
    display: flex;
    height: 42px !important;
    justify-content: center;
    margin-top: 10px !important;
    position: relative;
    width: 46px !important;
}

.oafModern .node .nodeIcon:not(:has(.oafNodeGlyph))::before {
    background-color: #edf3f6;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23587584' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='12' rx='2'/%3E%3Cpath d='M8 17v3l4-3M8 9h8M8 12h5'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 23px 23px;
    border: 1px solid #b6cad4;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    display: block;
    height: 38px;
    width: 38px;
}

.oafModern .node .nodeIcon:not(:has(.oafNodeGlyph)) > a {
    inset: 0;
    position: absolute;
}

.oafModern .node.unread .nodeIcon:not(:has(.oafNodeGlyph))::before {
    background-color: #edf3f6;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23587584' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='12' rx='2'/%3E%3Cpath d='M8 17v3l4-3M8 9h8M8 12h5'/%3E%3C/svg%3E");
    border-color: #b6cad4;
    box-shadow: none;
}

.oafModern .node .nodeIcon > a {
    align-items: center;
    display: flex !important;
    height: 42px !important;
    justify-content: center;
    width: 46px !important;
}

.oafModern .oafNodeGlyph {
    align-items: center;
    background: #edf3f6;
    border: 1px solid #b6cad4;
    border-radius: 50%;
    color: #587584;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    position: relative;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    width: 36px;
}

.oafModern .oafNodeGlyph svg {
    display: block;
    height: 23px;
    width: 23px;
}

.oafModern .node.unread .oafNodeGlyph,
.oafModern .node .unread .oafNodeGlyph {
    background: #edf3f6;
    border-color: #b6cad4;
    box-shadow: none;
    color: #587584;
}

/* Featured Work: an editorial lead item, not another pale-blue utility box. */
.oafModern #content.forum_list .mainContent > h1:first-of-type,
.oafModern #content.forum_list .ctaFtTitleForumList,
.oafModern .oafFeaturedHeading {
    color: var(--oaf-ink) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em;
    margin-bottom: 8px !important;
}

.oafModern #content.forum_list .mainContent > h1:first-of-type + .sectionMain,
.oafModern #content.forum_list .ctaFtBlock,
.oafModern .oafFeaturedWork,
.oafModern .featuredWork,
.oafModern .featuredThread {
    background: #f7fafb !important;
    background-image: none !important;
    border: 1px solid var(--oaf-line) !important;
    border-radius: 0 !important;
    border-left: 4px solid var(--oaf-blue) !important;
    box-shadow: none !important;
}

/* CTA Featured Threads wraps the real block in a padded sectionMain. Keep
 * that structural wrapper, but let the block itself own the only visible
 * border and accent so no oversized frame or empty lower gutter remains. */
.oafModern #content.forum_list .sectionMain.ctaFtContainer {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.oafModern #content.forum_list .mainContent > h1:first-of-type + .sectionMain img,
.oafModern #content.forum_list .ctaFtBlock img,
.oafModern .oafFeaturedWork img,
.oafModern .featuredWork img,
.oafModern .featuredThread img {
    border: 1px solid #cad8df !important;
    box-shadow: none !important;
}

/* Sidebar: primary discovery modules lead; utility modules recede. */
.oafModernSidebar .sidebar .section {
    margin-bottom: 14px !important;
}

.oafModernSidebar .sidebar .section .secondaryContent,
.oafModernSidebar .sidebar .section .primaryContent {
    background: #f7fafb !important;
    background-image: none !important;
    border: 1px solid #e2e9ed !important;
    box-shadow: none !important;
    color: var(--oaf-muted) !important;
}

.oafModernSidebar .sidebar .section h3,
.oafModernSidebar .sidebar .section .heading,
.oafModernSidebar .sidebar .section .secondaryContent h3 {
    background: transparent !important;
    border-bottom: 1px solid #d9e4e9 !important;
    color: var(--oaf-blue-dark) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
    padding-bottom: 7px !important;
    text-transform: none;
}

/*
 * Some Widget Framework renderers wrap the title in a link while XenForo's
 * board-statistics title is plain text. Make both forms inherit the same
 * heading treatment instead of allowing the linked headings to fall back to
 * the theme's lighter, normal-weight link style.
 */
.oafModernSidebar .sidebar .section h3 a,
.oafModernSidebar .sidebar .section .heading a,
.oafModernSidebar .sidebar .section .secondaryContent h3 a {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

.oafModernSidebar .sidebar .muted,
.oafModernSidebar .sidebar .faint,
.oafModernSidebar .sidebar .minorHeading,
.oafModernSidebar .sidebar .DateTime,
.oafModernSidebar .sidebar .pairsInline dt,
.oafModernSidebar .sidebar .pairsJustified dt,
.oafModernSidebar .sidebar .meta,
.oafModernSidebar .sidebar .footnote,
.oafModernSidebar .sidebar .userTitle,
.oafModernSidebar .sidebar .resourceDetails,
.oafModernSidebar .sidebar .messageMeta,
.oafModernSidebar .sidebar .additionalRow {
    color: var(--oaf-muted) !important;
    line-height: 1.35;
}

/* Protect the smallest add-on metadata from dropping below a readable size. */
.oafModernSidebar .sidebar .minorHeading,
.oafModernSidebar .sidebar .DateTime,
.oafModernSidebar .sidebar .pairsInline dt,
.oafModernSidebar .sidebar .pairsJustified dt,
.oafModernSidebar .sidebar .footnote,
.oafModernSidebar .sidebar .userTitle,
.oafModernSidebar .sidebar .resourceDetails,
.oafModernSidebar .sidebar .messageMeta,
.oafModernSidebar .sidebar .additionalRow {
    font-size: max(11px, 100%) !important;
}

.oafModernSidebar:where(:not(.oafModernStandard)) #content.forum_list .sidebar #widget-28,
.oafModernSidebar:where(:not(.oafModernStandard)) #content.forum_list .sidebar #widget-25,
.oafModernSidebar:where(:not(.oafModernStandard)) #content.forum_list .sidebar #widget-26,
.oafModernSidebar .sidebar .oafSidebarPrimary .secondaryContent,
.oafModernSidebar .sidebar .oafSidebarPrimary .primaryContent {
    background: #f2f8fb !important;
    border-left: 3px solid var(--oaf-blue) !important;
}

/*
 * Forum-home account treatment and modern quick actions. The action row is
 * emitted by XenForo's forum_list template, so it is present at first paint.
 */
.oafModernQuickActions #content.forum_list .sidebar .visitorPanel,
.oafModernQuickActions #content.forum_list .sidebar #visitorPanel,
.oafModernQuickActions #content.forum_list .sidebar .oafVisitorPanelHidden {
    display: none !important;
}

.oafModern .oafNavAvatar {
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    box-sizing: border-box;
    display: inline-block;
    flex: 0 0 24px;
    height: 24px;
    margin: -4px 7px -4px 0;
    object-fit: cover;
    vertical-align: middle;
    width: 24px;
}

/* Reserve the forum-home account-avatar width before JavaScript clones it. */
.oafModernQuickActions .navTabs .navTab.account .navLink:not(:has(.oafNavAvatar))::before {
    content: "";
    display: inline-block;
    flex: 0 0 24px;
    height: 24px;
    margin: -4px 7px -4px 0;
    width: 24px;
}

.oafModern .navTabs .navTab.account {
    max-width: none !important;
    width: auto !important;
}

.oafModern .navTabs .navTab.account .navLink {
    align-items: center;
    display: flex !important;
    max-width: none !important;
    overflow: visible !important;
    width: auto !important;
}

.oafModern .navTabs .oafNavUsername {
    color: inherit !important;
    display: inline-block !important;
    max-width: 150px;
    opacity: 1 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    visibility: visible !important;
    white-space: nowrap;
}

/* Compact visitor utilities preserve their native links and unread counters. */
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="conversations"]),
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="/inbox"]),
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="account/alerts"]),
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="/alerts"]),
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="bookmark"]) {
    box-sizing: border-box;
    min-width: 40px !important;
    width: 40px !important;
}

.oafModernCompactNavIcons .navTabs .visitorTabs a.navLink[href*="conversations"],
.oafModernCompactNavIcons .navTabs .visitorTabs a.navLink[href*="/inbox"],
.oafModernCompactNavIcons .navTabs .visitorTabs a.navLink[href*="account/alerts"],
.oafModernCompactNavIcons .navTabs .visitorTabs a.navLink[href*="/alerts"],
.oafModernCompactNavIcons .navTabs .visitorTabs a.navLink[href*="bookmark"] {
    align-items: center;
    box-sizing: border-box;
    display: flex !important;
    font-size: 0 !important;
    height: 100%;
    justify-content: center;
    min-width: 40px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 40px !important;
}

.oafModernCompactNavIcons .navTabs .oafNavUtility .oafNavUtilityLink {
    align-items: center;
    display: flex !important;
    font-size: 0 !important;
    justify-content: center;
    box-sizing: border-box;
    height: 100%;
    min-width: 40px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 40px !important;
}

.oafModernCompactNavIcons .navTabs .oafNavUtility {
    box-sizing: border-box;
    min-width: 40px !important;
    width: 40px !important;
}

.oafModernCompactNavIcons .oafNavUtilityIcon,
.oafModernNavSearch .oafSearchIcon {
    color: inherit;
    display: inline-block;
    flex: 0 0 auto;
    height: 20px;
    line-height: 1;
    width: 20px;
}

.oafModernCompactNavIcons .oafNavUtilityIcon svg,
.oafModernNavSearch .oafSearchIcon svg {
    display: block;
    height: 20px;
    width: 20px;
}

.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="conversations"]) .itemCount,
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="/inbox"]) .itemCount,
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="account/alerts"]) .itemCount,
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="/alerts"]) .itemCount,
.oafModernCompactNavIcons .navTabs .visitorTabs .navTab:has(> a.navLink[href*="bookmark"]) .itemCount,
.oafModernCompactNavIcons .navTabs .oafNavUtility .itemCount {
    font-size: 10px !important;
}

/* Move XenForo's own search form into a predictable top-navigation popover. */
.oafModernNavSearch #searchBar {
    display: none !important;
}

.oafModernNavSearch .navTabs .visitorTabs:not(:has(.oafSearchTab)) {
    box-sizing: border-box;
    padding-right: 100px !important;
}

.oafModernNavSearch .navTabs .oafSearchTab {
    box-sizing: border-box;
    height: 25px !important;
    min-width: 100px;
    position: relative;
    width: 100px;
}

.oafModernNavSearch .navTabs .oafSearchToggle {
    align-items: center;
    appearance: none;
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box;
    color: #dbeaf2 !important;
    cursor: pointer;
    display: flex !important;
    font: inherit;
    gap: 8px;
    height: 25px !important;
    line-height: inherit;
    margin: 0;
    padding-left: 15px !important;
    padding-right: 15px !important;
    text-shadow: none !important;
    width: 100%;
}

.oafModernNavSearch .navTabs .oafSearchToggle:hover,
.oafModernNavSearch .navTabs .oafSearchToggle:focus,
.oafModernNavSearch .navTabs .oafSearchTab.is-open .oafSearchToggle {
    background: #17658f !important;
    color: #fff !important;
    outline: none;
}

.oafModernNavSearch #searchBar.oafSearchPopover {
    background: #fff !important;
    border: 1px solid #b9ced9 !important;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 9px 24px rgba(8, 36, 54, .24) !important;
    box-sizing: border-box;
    display: none !important;
    left: auto !important;
    margin: 0 !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    padding: 10px !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    width: 390px !important;
    z-index: 10000 !important;
}

.oafModernNavSearch .oafSearchTab.is-open #searchBar.oafSearchPopover {
    display: block !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover #QuickSearchPlaceholder {
    display: none !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover #QuickSearch {
    background: #edf5f9 !important;
    border: 1px solid #c9dce6 !important;
    border-radius: 3px;
    box-sizing: border-box;
    display: block !important;
    left: auto !important;
    margin: 0 !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    min-width: 0 !important;
    padding: 12px !important;
    width: 100% !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover form,
.oafModernNavSearch #searchBar.oafSearchPopover .primaryControls,
.oafModernNavSearch #searchBar.oafSearchPopover .secondaryControls,
.oafModernNavSearch #searchBar.oafSearchPopover .controlsWrapper {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box;
    float: none !important;
    left: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: static !important;
    right: auto !important;
    width: 100% !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover .secondaryControls {
    border-top: 1px solid #c9dce6 !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover .buttonContainer,
.oafModernNavSearch #searchBar.oafSearchPopover .submitUnit {
    box-sizing: border-box;
    display: flex;
    gap: 6px;
    margin: 10px 0 0 !important;
    width: 100% !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover #QuickSearchQuery,
.oafModernNavSearch #searchBar.oafSearchPopover input.textCtrl {
    box-sizing: border-box;
    max-width: none !important;
    width: 100% !important;
}

.oafModernNavSearch #searchBar.oafSearchPopover label,
.oafModernNavSearch #searchBar.oafSearchPopover .explain {
    color: var(--oaf-ink) !important;
    text-shadow: none !important;
}

/* Keep contextual controls readable anywhere the modern link color is used. */
.oafModern .xenTooltip,
.oafModern #QuoteSelected,
.oafModern .tooltip--selectToQuote {
    background: var(--oaf-blue-dark) !important;
    background-image: none !important;
    border-color: var(--oaf-navy) !important;
    box-shadow: 0 3px 10px rgba(8, 36, 54, .24) !important;
    color: #fff !important;
    text-shadow: none !important;
}

.oafModern .xenTooltip a,
.oafModern .xenTooltip span,
.oafModern #QuoteSelected,
.oafModern #QuoteSelected a,
.oafModern #QuoteSelected span,
.oafModern .tooltip--selectToQuote,
.oafModern .tooltip--selectToQuote a,
.oafModern .tooltip--selectToQuote span {
    color: #fff !important;
    text-shadow: none !important;
}

.oafModern #QuoteSelected .arrow,
.oafModern .tooltip--selectToQuote .tooltip-arrow {
    border-bottom-color: var(--oaf-blue-dark) !important;
    color: var(--oaf-blue-dark) !important;
}

.oafModern .oafQuickActions {
    display: flex;
    gap: 8px;
    margin: 8px 0 10px;
    width: 100%;
}

/*
 * XenForo serializes the sidebar after the long forum-node list. On desktop,
 * render the real action row earlier in that source and position it over the
 * reserved sidebar column. The sidebar itself creates the reservation as soon
 * as its opening tag is parsed, so no late JavaScript insertion can move its
 * widgets. If a customized template omits the early row, the compatibility
 * fallback replaces this reservation with a real sidebar row in one paint.
 */
@media (min-width: 801px) {
    /*
     * Align the visitor controls with the navigation's outer content edge
     * without making visitorTabs a positioning container. XenForo places the
     * selected Inbox/Conversations tabLinks inside this list; position:relative
     * would constrain that submenu to the compact visitor-control width and
     * collapse every destination into its overflow menu.
     *
     * The equal and opposite margins keep XenForo's measured outer width
     * unchanged while moving the rendered group 25px to the right.
     */
    .oafModern:where(:not(.oafModernStandard)) .navTabs .visitorTabs {
        left: auto;
        margin-left: 25px;
        margin-right: -25px;
        position: static;
    }

    .oafModernQuickActions #content.forum_list .pageContent {
        position: relative;
    }

    .oafModernQuickActions #content.forum_list .oafQuickActions--early {
        margin: 0;
        position: absolute;
        right: 20px;
        top: 18px;
        width: 250px;
        z-index: 2;
    }

    .oafModernQuickActions #content.forum_list .sidebar::before {
        content: "";
        display: block;
        height: 42px;
        margin: 8px 0 10px;
        visibility: hidden;
    }

    .oafModernQuickActions.oafQuickActionsFallback #content.forum_list .sidebar::before {
        display: none;
    }
}

.oafModern .oafQuickActions .oafQuickAction {
    align-items: center;
    display: flex !important;
    flex: 1 1 50%;
    font-size: 14px !important;
    font-weight: 650 !important;
    justify-content: center;
    line-height: 1.2 !important;
    min-height: 42px;
    padding: 8px 10px !important;
    text-align: center;
}

.oafModern .oafQuickActions .oafQuickAction--newPosts {
    background: #f7fafb !important;
    border-color: #b8cfda !important;
    color: var(--oaf-blue-dark) !important;
}

.oafModern .oafQuickActions .oafQuickAction--submit {
    background: var(--oaf-blue) !important;
    border-color: var(--oaf-blue) !important;
    color: #fff !important;
}

.oafModern .oafQuickActions .oafQuickAction:hover,
.oafModern .oafQuickActions .oafQuickAction:focus {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28) !important;
    filter: brightness(.96);
}

/* Member-facing Forum Guide. */
.oafModern .oafForumGuide {
    max-width: 900px;
}

.oafModern .oafForumGuideIntro {
    color: var(--oaf-muted);
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 16px;
}

.oafModern .oafForumGuideSection {
    padding: 18px 20px !important;
}

.oafModern .oafForumGuideSection h2 {
    color: var(--oaf-blue-dark);
    font-size: 18px;
    margin: 0 0 8px;
}

.oafModern .oafForumGuideSection p,
.oafModern .oafForumGuideSection li {
    line-height: 1.55;
}

.oafModern .oafForumGuideSection ul {
    margin-bottom: 0;
    margin-top: 8px;
    padding-left: 22px;
}

.oafModern .oafForumGuideToc {
    background: #f2f8fb;
    border: 1px solid var(--oaf-line);
    border-left: 4px solid var(--oaf-blue);
    margin: 0 0 16px;
    padding: 14px 18px;
}

.oafModern .oafForumGuideToc h2 {
    color: var(--oaf-blue-dark);
    font-size: 16px;
    margin: 0 0 8px;
}

.oafModern .oafForumGuideToc ul {
    column-count: 2;
    column-gap: 32px;
    margin: 0;
    padding-left: 20px;
}

.oafModern .oafForumGuideToc li {
    break-inside: avoid;
    line-height: 1.55;
}

.oafModern .oafForumGuideCallout {
    background: #fffaf4;
    border-left: 4px solid var(--oaf-orange);
    margin: 12px 0;
    padding: 10px 12px;
}

.oafModern .oafForumGuideActions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
}

.oafModern .oafForumGuideActions a {
    background: #f7fafb;
    border: 1px solid #b9cbd5;
    border-radius: 2px;
    display: inline-block;
    font-weight: 600;
    padding: 7px 10px;
}

.oafModern .oafForumGuideGlossary dt {
    color: var(--oaf-blue-dark);
    font-weight: 700;
    margin-top: 9px;
}

.oafModern .oafForumGuideGlossary dd {
    margin-left: 0;
}

.oafModern .oafForumGuideTop {
    display: block;
    font-size: 11px;
    margin-top: 12px;
    text-align: right;
}

/* Category and forum-view posting actions should read as primary actions. */
.oafModern .oafCategoryBar .oafModernCategorySubmit > span {
    background: #fffaf4 !important;
    border-color: var(--oaf-orange) !important;
    color: #874a0d !important;
    font-weight: 650 !important;
    text-shadow: none !important;
}

.oafModern .oafCategoryBar .oafModernCategorySubmit:hover > span,
.oafModern .oafCategoryBar .oafModernCategorySubmit:focus > span {
    background: #f7ead8 !important;
    border-color: #b85f0b !important;
    color: #6f3a0c !important;
}

.oafModernEmphasizePostThread #content.forum_view a.callToAction,
.oafModernEmphasizePostThread #content.forum_view a.callToAction > span {
    background: var(--oaf-blue) !important;
    background-image: none !important;
    border-color: var(--oaf-blue-dark) !important;
    color: #fff !important;
    text-shadow: none !important;
}

.oafModernEmphasizePostThread #content.forum_view a.callToAction {
    border-radius: 3px !important;
    box-shadow: 0 1px 2px rgba(11, 51, 77, .18) !important;
    min-width: 152px;
    text-align: center;
}

.oafModernEmphasizePostThread #content.forum_view a.callToAction > span {
    font-weight: 700 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.oafModernEmphasizePostThread #content.forum_view a.callToAction:hover,
.oafModernEmphasizePostThread #content.forum_view a.callToAction:focus,
.oafModernEmphasizePostThread #content.forum_view a.callToAction:hover > span,
.oafModernEmphasizePostThread #content.forum_view a.callToAction:focus > span {
    background: var(--oaf-blue-dark) !important;
    border-color: var(--oaf-navy) !important;
    color: #fff !important;
}

/* Self-contained, permission-aware Submit Work chooser. */
.oafModern .oafSubmitWorkChooser {
    background: #fff;
    border: 0;
    border-radius: 0 0 4px 4px;
    box-sizing: border-box;
    color: var(--oaf-ink);
    margin: 0;
    max-height: 76vh;
    max-width: 94vw;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    width: 780px;
}

.oafModern .oafSubmitWorkGroup {
    display: block;
    margin: 0;
    padding: 0;
}

.oafModern .oafSubmitWorkCategory {
    background: #edf5f9;
    border-bottom: 1px solid #c8dce6;
    display: block;
    padding: 10px 15px 9px;
}

.oafModern .oafSubmitWorkCategory h3 {
    color: var(--oaf-blue);
    font-size: 17px;
    font-weight: 650;
    margin: 0;
}

.oafModern .oafSubmitWorkCategory .description,
.oafModern .oafSubmitWorkForum .description {
    color: var(--oaf-muted) !important;
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 2px;
}

.oafModern .xenOverlay .oafSubmitWorkChooser a.oafSubmitWorkForum,
.oafModern .oafSubmitWorkChooser a.oafSubmitWorkForum {
    background: #fff;
    border-bottom: 1px solid var(--oaf-line);
    color: var(--oaf-blue) !important;
    display: block;
    min-height: 38px;
    padding: 9px 92px 8px 15px;
    position: relative;
    text-decoration: none !important;
}

.oafModern .oafSubmitWorkChooser a.oafSubmitWorkForum.noCount {
    padding-right: 15px;
}

.oafModern .xenOverlay .oafSubmitWorkChooser a.oafSubmitWorkForum:hover,
.oafModern .xenOverlay .oafSubmitWorkChooser a.oafSubmitWorkForum:focus,
.oafModern .oafSubmitWorkChooser a.oafSubmitWorkForum:hover,
.oafModern .oafSubmitWorkChooser a.oafSubmitWorkForum:focus {
    background: #f1f7fa;
    color: var(--oaf-blue-dark) !important;
}

.oafModern .oafSubmitWorkForumText,
.oafModern .oafSubmitWorkForumText > strong {
    color: inherit !important;
    display: block;
}

.oafModern .oafSubmitWorkForumText > strong {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
}

.oafModern .oafSubmitWorkCount {
    color: var(--oaf-muted) !important;
    position: absolute;
    right: 15px;
    text-align: right;
    top: 9px;
    width: 62px;
}

.oafModern .oafSubmitWorkCount span,
.oafModern .oafSubmitWorkCount strong {
    display: block;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
}

.oafModern .oafSubmitWorkCount strong {
    color: var(--oaf-ink) !important;
    font-size: 13px;
}

.oafModern .oafSubmitWorkEmpty {
    color: var(--oaf-muted);
    padding: 22px 18px;
    text-align: center;
}

.oafModernSidebar .sidebar .avatar img,
.oafModernSidebar .sidebar .avatar .img,
.oafModern .avatar img,
.oafModern .avatar .img {
    box-shadow: none !important;
}

/* Search, fields, and footer. */
.oafModern .textCtrl,
.oafModern input.textCtrl,
.oafModern textarea.textCtrl,
.oafModern select.textCtrl {
    background: #fff !important;
    border-color: #cbd8df !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

.oafModern #searchBar .textCtrl {
    border-color: #d5dfe4 !important;
}

.oafModern .footer,
.oafModern .footerLegal {
    background: var(--oaf-navy) !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.oafModern .footerLegal {
    background: #252729 !important;
}

.oafModern .footer a,
.oafModern .footerLegal a {
    color: #dbeaf2 !important;
    text-shadow: none !important;
}

.oafModern .footer a:hover,
.oafModern .footer a:focus,
.oafModern .footerLegal a:hover,
.oafModern .footerLegal a:focus {
    color: #fff !important;
    text-decoration: underline;
}

@media (max-width: 800px) {
    .oafModern .oafForumGuideToc ul {
        column-count: 1;
    }

    .oafModern .oafForumGuideSection {
        padding: 14px !important;
    }

    .oafModern:where(:not(.oafModernStandard)) #logoBlock,
    .oafModern:where(:not(.oafModernStandard)) #logoBlock .pageContent {
        height: 66px !important;
        min-height: 66px;
    }

    .oafModern:where(:not(.oafModernStandard)) #logo {
        height: 66px !important;
        line-height: 66px !important;
    }

    .oafModern:where(:not(.oafModernStandard)) #logo img {
        max-height: 54px;
    }

    .oafModern .node .nodeText {
        margin-left: 57px !important;
    }

    .oafModern .node .nodeIcon,
    .oafModern .node .nodeIcon > a {
        width: 40px !important;
    }

    .oafModern .oafNodeGlyph {
        height: 32px;
        width: 32px;
    }

    .oafModern .node .nodeIcon:not(:has(.oafNodeGlyph))::before {
        background-size: 20px 20px;
        height: 34px;
        width: 34px;
    }

    .oafModern .oafNodeGlyph svg {
        height: 20px;
        width: 20px;
    }

    .oafModernCompactCategories #content.forum_list .sectionMain .categoryStrip,
    .oafModernCompactCategories #content.forum_list .sectionMain .oafCategoryBar,
    .oafModernCompactCategories #content.forum_list .sectionMain .oafCategoryBar--hasAction {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 10px 12px !important;
    }

    .oafModernCompactCategories .categoryStrip .button,
    .oafModernCompactCategories .categoryStrip a.button,
    .oafModernCompactCategories .categoryStrip .callToAction,
    .oafModernCompactCategories .oafCategoryBar .button,
    .oafModernCompactCategories .oafCategoryBar a.button,
    .oafModernCompactCategories .oafCategoryBar .callToAction {
        display: inline-block !important;
        margin-top: 8px !important;
        position: static !important;
        transform: none;
    }

    .oafModern .oafSubmitWorkChooser {
        max-height: 88vh;
        width: 94vw;
    }

    .oafModern .oafSubmitWorkCategory {
        padding-left: 12px;
        padding-right: 12px;
    }

    .oafModern .oafSubmitWorkChooser a.oafSubmitWorkForum {
        padding-left: 12px;
        padding-right: 74px;
    }

    .oafModern .oafSubmitWorkCount {
        right: 12px;
        width: 52px;
    }

    .oafModern .navTabs .oafNavUsername,
    .oafModernNavSearch .oafSearchLabel {
        display: none !important;
    }

    .oafModernNavSearch .navTabs .oafSearchTab {
        min-width: 40px;
        width: 40px;
    }

    .oafModernNavSearch #searchBar.oafSearchPopover {
        right: 0 !important;
        width: calc(100vw - 16px) !important;
    }

    .oafModernNavSearch .navTabs .visitorTabs:not(:has(.oafSearchTab)) {
        padding-right: 40px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .oafModern .oafNodeGlyph,
    .oafModern .node .nodeControls {
        transition: none;
    }
}
