/* BB-100 / Chunk 14.5
   Reusable Beluga Bible visual system for Omeka Sites.
   Root homepage remains owned by BelugaPublic.
*/

:root {
    --bb-blue: #00107b;
    --bb-blue-deep: #000a4f;
    --bb-blue-mid: #1835a4;
    --bb-blue-soft: #e9edff;
    --bb-blue-mist: #f4f6ff;
    --bb-ink: #111827;
    --bb-muted: #5f6878;
    --bb-line: #dfe4ef;
    --bb-paper: #ffffff;
    --bb-cloud: #f7f8fb;
    --bb-warm: #c9963c;
    --bb-warm-soft: #f5ead5;
    --bb-max: 1180px;
    --bb-reading: 820px;
    --bb-radius: 22px;
    --bb-shadow: 0 18px 48px rgba(0, 16, 123, 0.08);
}

html {
    scroll-behavior: smooth;
}

body.bb-site-theme {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    background: var(--bb-paper) !important;
    color: var(--bb-ink) !important;
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    overflow-x: hidden;
}

.bb-site-theme *,
.bb-site-theme *::before,
.bb-site-theme *::after {
    box-sizing: border-box;
}

.bb-site-theme img,
.bb-site-theme video,
.bb-site-theme iframe {
    max-width: 100%;
}

.bb-site-theme img {
    height: auto;
}

.bb-site-theme a,
.bb-site-theme a:link,
.bb-site-theme a:visited {
    color: var(--bb-blue);
    text-decoration: none;
}

.bb-site-theme a:hover,
.bb-site-theme a:focus-visible {
    color: var(--bb-blue-mid);
}

.bb-site-wrap {
    width: min(calc(100% - 48px), var(--bb-max)) !important;
    max-width: var(--bb-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Omeka user bar: keep functionality, visually subordinate it. */
.bb-site-theme #user-bar,
.bb-site-theme .user-bar {
    position: relative;
    z-index: 120;
    margin: 0 !important;
    padding: 7px 24px !important;
    min-height: 0 !important;
    background: var(--bb-blue-deep) !important;
    color: #dfe6ff !important;
    font-size: 13px !important;
}

.bb-site-theme #user-bar a,
.bb-site-theme .user-bar a {
    color: #fff !important;
}

/* Accessibility */
#skipnav {
    position: fixed;
    top: 12px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    padding: 10px 16px;
    border-radius: 8px;
    background: #fff;
    color: var(--bb-blue) !important;
    box-shadow: var(--bb-shadow);
    opacity: 0;
}

#skipnav:focus {
    z-index: 1000;
    opacity: 1;
}

/* Header */
.bb-site-header {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.97) !important;
    border: 0 !important;
    position: relative !important;
}

.bb-site-header-inner {
    min-height: 88px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px;
    padding: 0 !important;
}

.bb-site-brand-group {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
}

.bb-site-logo-link {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.bb-site-logo {
    display: block !important;
    width: 226px !important;
    max-width: 226px !important;
    max-height: 72px !important;
    object-fit: contain;
    margin: 0 !important;
}

.bb-site-context {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border-left: 1px solid var(--bb-line);
    color: var(--bb-muted) !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.bb-site-nav {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 1 auto;
}

.bb-site-nav > ul,
.bb-site-nav ul.navigation {
    display: flex !important;
    align-items: center;
    gap: 30px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
}

.bb-site-nav li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

.bb-site-nav > ul > li > a,
.bb-site-nav > ul > li > .parent-link > a,
.bb-site-nav ul.navigation > li > a,
.bb-site-nav ul.navigation > li > .parent-link > a {
    display: inline-block;
    padding: 10px 0 !important;
    color: #273044 !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.bb-site-nav > ul > li > a::after,
.bb-site-nav > ul > li > .parent-link > a::after,
.bb-site-nav ul.navigation > li > a::after,
.bb-site-nav ul.navigation > li > .parent-link > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 2px;
    height: 2px;
    background: var(--bb-blue);
    transition: right .18s ease;
}

.bb-site-nav > ul > li > a:hover::after,
.bb-site-nav > ul > li > a:focus-visible::after,
.bb-site-nav > ul > li > .parent-link > a:hover::after,
.bb-site-nav > ul > li > .parent-link > a:focus-visible::after,
.bb-site-nav ul.navigation > li > a:hover::after,
.bb-site-nav ul.navigation > li > a:focus-visible::after {
    right: 0;
}

.bb-site-nav li.active > a,
.bb-site-nav li.active > .parent-link > a {
    color: var(--bb-blue) !important;
}

.bb-site-nav .parent-link {
    display: flex;
    align-items: center;
    gap: 4px;
}

.bb-site-nav .child-toggle {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bb-blue);
    cursor: pointer;
}

.bb-site-nav .child-toggle::before {
    content: "▾";
    font-size: 13px;
}

.bb-site-nav .child-toggle.open::before {
    content: "▴";
}

.bb-site-nav ul ul {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 12px);
    left: 0;
    z-index: 150;
    min-width: 220px;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--bb-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--bb-shadow);
    list-style: none;
}

.bb-site-nav ul ul.open {
    display: block !important;
}

.bb-site-nav ul ul li a {
    display: block;
    padding: 9px 10px !important;
    border-radius: 8px;
    color: #273044 !important;
    font-size: 14px;
}

.bb-site-nav ul ul li a:hover,
.bb-site-nav ul ul li a:focus-visible {
    background: var(--bb-blue-mist);
    color: var(--bb-blue) !important;
}

.bb-site-menu-button {
    display: none;
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 1px solid #d8def0;
    border-radius: 10px;
    background: var(--bb-blue-mist);
    cursor: pointer;
}

.bb-site-menu-button span {
    display: block;
    width: 22px;
    height: 2px;
    margin: 5px auto;
    background: var(--bb-blue);
}

/* Chunk 14.4 — desktop isolation for Omeka's mobile navigation toggle.
   Omeka may render #mobile-nav-toggle independently of .bb-site-menu-button.
   Keep it hidden on desktop; restore it only at the theme's mobile breakpoint. */
#mobile-nav-toggle {
    display: none !important;
}

/* Search/tools strip */
.bb-site-tools {
    width: 100%;
    margin: 0 !important;
    border-top: 1px solid var(--bb-line);
    border-bottom: 1px solid var(--bb-line);
    background: var(--bb-cloud);
}

.bb-site-tools-inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.bb-site-search {
    width: min(100%, 430px);
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}

.bb-site-search form {
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.bb-site-search input[type="text"],
.bb-site-search input[type="search"] {
    width: 100% !important;
    height: 40px !important;
    min-width: 0;
    padding: 0 14px !important;
    border: 1px solid #cfd6e7 !important;
    border-right: 0 !important;
    border-radius: 999px 0 0 999px !important;
    background: #fff !important;
    color: var(--bb-ink);
    font: inherit;
    font-size: 14px !important;
}

.bb-site-search button[type="submit"] {
    width: 48px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--bb-blue) !important;
    border-radius: 0 999px 999px 0 !important;
    background: var(--bb-blue) !important;
    color: #fff !important;
    cursor: pointer;
}

/* Optional theme banner */
.bb-site-banner {
    position: relative;
    width: 100%;
    max-height: var(--banner-height, none);
    margin: 0 !important;
    overflow: hidden;
}

.bb-site-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Main content */
.bb-site-content {
    display: block !important;
    position: static !important;
    float: none !important;
    clear: both;
    width: min(calc(100% - 48px), var(--bb-max)) !important;
    max-width: var(--bb-max) !important;
    min-height: 420px;
    margin: 0 auto !important;
    padding: 72px 0 96px !important;
    background: #fff !important;
    color: var(--bb-ink);
    overflow: visible !important;
}

.bb-site-content > h1:first-child,
.bb-site-content > h2:first-child {
    margin-top: 0 !important;
}

.bb-site-theme h1,
.bb-site-theme h2,
.bb-site-theme h3,
.bb-site-theme h4,
.bb-site-theme h5,
.bb-site-theme h6 {
    color: var(--bb-blue-deep);
    font-family: "Source Serif 4", Georgia, serif !important;
    font-weight: 600;
    letter-spacing: -.025em;
}

.bb-site-theme h1 {
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.02;
}

.bb-site-theme h2 {
    font-size: clamp(34px, 4.6vw, 52px);
    line-height: 1.08;
}

.bb-site-theme h3 {
    font-size: clamp(26px, 3.2vw, 36px);
    line-height: 1.15;
}

.bb-site-theme h4 {
    font-size: 23px;
    line-height: 1.25;
}

.bb-site-theme p,
.bb-site-theme li,
.bb-site-theme dd,
.bb-site-theme td {
    color: var(--bb-ink);
}

.bb-site-theme p {
    margin-top: 0;
    margin-bottom: 1.25em;
}

.bb-site-theme blockquote {
    margin: 36px 0;
    padding: 22px 28px;
    border-left: 4px solid var(--bb-warm);
    border-radius: 0 14px 14px 0;
    background: var(--bb-blue-mist);
    color: #273044;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.18em;
}

.bb-site-theme hr {
    border: 0;
    border-top: 1px solid var(--bb-line);
    margin: 44px 0;
}

/* Editorial/CMS page treatment */
.bb-site-theme .page .blocks,
.bb-site-theme body.page .blocks,
.bb-site-theme .site-page .blocks,
.bb-site-theme .blocks {
    max-width: var(--bb-reading);
}

.bb-site-theme .blocks > .block,
.bb-site-theme .block {
    margin-top: 0;
    margin-bottom: 42px;
}

.bb-site-theme .block-html,
.bb-site-theme .block-pageTitle,
.bb-site-theme .block-page-title {
    font-size: 18px;
}

.bb-site-theme .block-html p {
    font-size: 18px;
    line-height: 1.78;
}

/* Buttons/forms */
.bb-site-theme button,
.bb-site-theme .button,
.bb-site-theme a.button,
.bb-site-theme input[type="submit"] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px !important;
    border: 1px solid var(--bb-blue) !important;
    border-radius: 999px !important;
    background: var(--bb-blue) !important;
    color: #fff !important;
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.bb-site-theme button:hover,
.bb-site-theme .button:hover,
.bb-site-theme a.button:hover,
.bb-site-theme input[type="submit"]:hover {
    background: var(--bb-blue-mid) !important;
}

.bb-site-theme input[type="text"],
.bb-site-theme input[type="number"],
.bb-site-theme input[type="password"],
.bb-site-theme input[type="email"],
.bb-site-theme input[type="url"],
.bb-site-theme input[type="search"],
.bb-site-theme textarea,
.bb-site-theme select {
    max-width: 100%;
    padding: 10px 12px !important;
    border: 1px solid #cfd6e7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--bb-ink);
    font: inherit;
}

.bb-site-theme textarea {
    min-height: 130px;
}

/* Breadcrumbs/submenus */
.bb-site-theme .breadcrumbs {
    margin: 0 0 28px;
    color: var(--bb-muted);
    font-size: 13px;
}

.bb-site-theme .sub-menu {
    margin: 0 0 34px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--bb-line);
}

.bb-site-theme .sub-menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bb-site-theme .sub-menu li {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    font-weight: 700;
}

/* Resource browse cards/listings */
.bb-site-theme ul.resource-list,
.bb-site-theme .resource-list,
.bb-site-theme ul.preview.resource-list {
    list-style: none;
    margin: 32px 0;
    padding: 0;
}

.bb-site-theme ul.resource-list .resource,
.bb-site-theme .resource-list .resource {
    position: relative;
    min-height: 150px;
    margin: 0 0 18px !important;
    padding: 26px !important;
    border: 1px solid var(--bb-line) !important;
    border-radius: 18px;
    background: var(--bb-cloud);
    overflow: hidden;
}

.bb-site-theme ul.resource-list .resource:hover,
.bb-site-theme .resource-list .resource:hover {
    border-color: #c7d0ea !important;
    box-shadow: 0 14px 36px rgba(0,16,123,.07);
}

.bb-site-theme ul.resource-list .resource h4,
.bb-site-theme .resource-list .resource h4 {
    margin: 0 0 8px !important;
    font-size: 25px;
}

.bb-site-theme ul.resource-list .resource img,
.bb-site-theme .resource-list .resource img {
    width: 120px !important;
    height: 120px !important;
    float: right;
    margin: 0 0 12px 24px !important;
    border-radius: 14px;
    object-fit: cover;
}

.bb-site-theme .description {
    color: var(--bb-muted);
}

/* Specialized supplied block templates */
.bb-site-theme .template-3-grid.assets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.bb-site-theme .template-3-grid .asset-container {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 16px;
    background: var(--bb-cloud);
}

.bb-site-theme .template-3-grid .asset img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bb-site-theme .media-card.media-embed {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 20px;
}

.bb-site-theme .media-card.media-embed .resource {
    display: flex;
    align-items: center;
    gap: 22px;
    height: 100%;
    padding: 24px;
    border: 1px solid var(--bb-line);
    border-radius: 18px;
    background: var(--bb-cloud);
}

/* Resource metadata/detail pages */
.bb-site-theme .metadata {
    margin: 34px 0;
}

.bb-site-theme .property {
    display: grid;
    grid-template-columns: minmax(150px, .32fr) minmax(0, 1fr);
    gap: 24px;
    margin: 0;
    padding: 18px 0;
    border-bottom: 1px solid var(--bb-line);
}

.bb-site-theme .property:first-child {
    border-top: 1px solid var(--bb-line);
}

.bb-site-theme .property dt {
    margin: 0 !important;
    color: var(--bb-muted);
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bb-site-theme .property dd,
.bb-site-theme .property .values {
    margin: 0;
}

.bb-site-theme .value {
    margin: 0 0 8px !important;
}

.bb-site-theme .resource-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.bb-site-theme .resource-link img {
    width: 52px !important;
    height: 52px !important;
    object-fit: cover;
    border-radius: 8px;
}

/* Media */
.bb-site-theme .media-list {
    display: grid;
    gap: 14px;
    margin: 28px 0;
}

.bb-site-theme .media-render {
    margin: 30px 0;
}

.bb-site-theme .media-render > * {
    max-width: 100%;
}

/* Browse/search controls */
.bb-site-theme .browse-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin: 26px 0 34px;
}

.bb-site-theme .advanced-search {
    font-size: 14px;
    font-weight: 700;
}

.bb-site-theme .search-filters {
    margin: 18px 0 26px;
}

.bb-site-theme .filter {
    display: inline-flex;
    margin: 0 8px 8px 0;
    border: 1px solid var(--bb-line);
    border-radius: 999px;
    overflow: hidden;
}

.bb-site-theme .filter-label,
.bb-site-theme .filter-value {
    display: inline-block;
    padding: 6px 10px;
    font-size: 13px;
}

.bb-site-theme .filter-label {
    background: var(--bb-blue-soft);
    color: var(--bb-blue);
    font-weight: 700;
}

/* Pagination */
.bb-site-theme nav.pagination {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 30px 0;
    font-size: 14px;
}

.bb-site-theme .pagination form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bb-site-theme .pagination input {
    width: 64px !important;
    text-align: center;
}

.bb-site-theme .pagination .button,
.bb-site-theme .pagination button {
    min-width: 44px;
    height: 44px;
    padding: 0 12px !important;
}

.bb-site-theme .pagination .inactive.button {
    opacity: .45;
    pointer-events: none;
}

/* Tables */
.bb-site-theme table {
    width: 100%;
    margin: 32px 0;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 15px;
}

.bb-site-theme th,
.bb-site-theme td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--bb-line);
    text-align: left;
    vertical-align: top;
}

.bb-site-theme th {
    background: var(--bb-blue-mist);
    color: var(--bb-blue-deep);
    font-weight: 800;
}

/* Search results */
.bb-site-theme .results {
    margin: 30px 0;
}

.bb-site-theme .results > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bb-site-theme .results > ul > li {
    margin: 0 !important;
    padding: 22px;
    border: 1px solid var(--bb-line);
    border-radius: 16px;
    background: var(--bb-cloud);
}

.bb-site-theme .result-title {
    font-weight: 800;
}

/* Footer */
.bb-site-footer {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 60px 0 42px !important;
    left: 0 !important;
    right: 0 !important;
    background: #060b28 !important;
    color: #fff !important;
    clear: both;
}

.bb-site-footer-grid {
    display: grid;
    grid-template-columns: auto minmax(220px,1fr) auto;
    gap: 28px 46px;
    align-items: center;
}

.bb-site-footer-logo {
    display: inline-block;
    width: 240px;
    padding: 8px 12px;
    border-radius: 10px;
    background: #fff;
}

.bb-site-footer-logo img {
    display: block;
    width: 100%;
}

.bb-site-footer-copy {
    color: #aeb8d8;
    font-size: 14px;
}

.bb-site-footer-copy p {
    margin: 0;
    color: #aeb8d8;
}

.bb-site-footer-nav > ul,
.bb-site-footer-nav ul.navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bb-site-footer-nav li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bb-site-footer-nav a,
.bb-site-footer-nav a:link,
.bb-site-footer-nav a:visited {
    color: #dce7ff !important;
    font-size: 14px;
    font-weight: 700;
}

.bb-site-footer-nav a:hover,
.bb-site-footer-nav a:focus-visible {
    color: #8fc5ff !important;
}

.bb-site-footer-nav ul ul {
    display: none;
}

.bb-site-footer-meta {
    grid-column: 1 / -1;
    margin: 4px 0 0 !important;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.14);
    color: #aeb8d8 !important;
    font-size: 13px;
}

/* Body truncation compatibility */
.body-truncate-fade .resource .description {
    position: relative;
    max-height: 7.4em;
    overflow: hidden;
}

.body-truncate-fade .resource .description::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2.3em;
    background: linear-gradient(to top, var(--bb-cloud), rgba(247,248,251,0));
}

.body-truncate-ellipsis .resource .description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

/* Responsive */
@media (max-width: 920px) {
    #mobile-nav-toggle {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 9px !important;
        border: 1px solid #d8def0 !important;
        border-radius: 10px !important;
        background: var(--bb-blue-mist) !important;
        color: var(--bb-blue) !important;
        box-shadow: none !important;
    }

    #mobile-nav-toggle span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        margin: 3px auto !important;
        padding: 0 !important;
        background: var(--bb-blue) !important;
        border: 0 !important;
        border-radius: 2px !important;
        min-height: 0 !important;
    }

    .bb-site-header-inner {
        min-height: 76px;
    }

    .bb-site-context {
        display: none;
    }

    .bb-site-logo {
        width: 190px !important;
        max-width: 190px !important;
        max-height: 66px !important;
    }

    .bb-site-menu-button {
        display: block;
        flex: 0 0 auto;
    }

    .bb-site-nav {
        display: none !important;
        position: absolute !important;
        top: 76px;
        left: 0;
        right: 0;
        z-index: 160;
        width: 100% !important;
        padding: 12px 24px 22px !important;
        background: #fff;
        border-bottom: 1px solid var(--bb-line);
        box-shadow: 0 16px 32px rgba(0,16,123,.08);
    }

    .bb-site-nav.open {
        display: block !important;
    }

    .bb-site-nav > ul,
    .bb-site-nav ul.navigation {
        display: block !important;
        width: 100%;
    }

    .bb-site-nav li {
        width: 100%;
        border-bottom: 1px solid var(--bb-line) !important;
    }

    .bb-site-nav > ul > li > a,
    .bb-site-nav > ul > li > .parent-link > a,
    .bb-site-nav ul.navigation > li > a,
    .bb-site-nav ul.navigation > li > .parent-link > a {
        width: 100%;
        padding: 14px 0 !important;
        color: var(--bb-blue) !important;
    }

    .bb-site-nav > ul > li > a::after,
    .bb-site-nav > ul > li > .parent-link > a::after,
    .bb-site-nav ul.navigation > li > a::after,
    .bb-site-nav ul.navigation > li > .parent-link > a::after {
        display: none;
    }

    .bb-site-nav .parent-link {
        justify-content: space-between;
    }

    .bb-site-nav ul ul,
    .bb-site-nav ul ul.open {
        position: static !important;
        min-width: 0;
        width: 100%;
        padding: 0 0 10px 16px !important;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .bb-site-nav ul ul:not(.open) {
        display: none !important;
    }

    .bb-site-nav ul ul.open {
        display: block !important;
    }

    .bb-site-tools-inner {
        justify-content: stretch;
        padding: 10px 0;
    }

    .bb-site-search {
        width: 100%;
    }

    .bb-site-content {
        padding-top: 56px !important;
        padding-bottom: 76px !important;
    }

    .bb-site-theme .template-3-grid.assets,
    .bb-site-theme .media-card.media-embed,
    .bb-site-theme .results > ul {
        grid-template-columns: 1fr 1fr;
    }

    .bb-site-footer-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .bb-site-footer-nav > ul,
    .bb-site-footer-nav ul.navigation {
        justify-content: flex-start;
    }

    .bb-site-footer-meta {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    .bb-site-wrap,
    .bb-site-content {
        width: min(calc(100% - 32px), var(--bb-max)) !important;
    }

    .bb-site-header-inner {
        gap: 14px;
    }

    .bb-site-logo {
        width: 184px !important;
        max-width: 184px !important;
    }

    .bb-site-content {
        padding-top: 46px !important;
        padding-bottom: 64px !important;
    }

    .bb-site-theme h1 {
        font-size: clamp(38px, 12vw, 52px);
    }

    .bb-site-theme h2 {
        font-size: clamp(31px, 9vw, 42px);
    }

    .bb-site-theme .block-html p {
        font-size: 17px;
    }

    .bb-site-theme .template-3-grid.assets,
    .bb-site-theme .media-card.media-embed,
    .bb-site-theme .results > ul {
        grid-template-columns: 1fr;
    }

    .bb-site-theme .property {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .bb-site-theme ul.resource-list .resource img,
    .bb-site-theme .resource-list .resource img {
        width: 88px !important;
        height: 88px !important;
        margin-left: 16px !important;
    }

    .bb-site-footer {
        padding-top: 48px !important;
    }

    .bb-site-footer-logo {
        width: 220px;
    }
}

@media print {
    .bb-site-header,
    .bb-site-tools,
    .bb-site-footer,
    #user-bar,
    .user-bar,
    #skipnav {
        display: none !important;
    }

    .bb-site-content {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }
}
