/* Put your custom SCSS here! This allows you to override any CollectionBuilder or Bootstrap CSS without modifying the base theme files directly. */ /* ========================= Base Color System ========================= */ :root { --bg-black: #000000; --bg-soft-black: #0e0e0e; --text-white: #f5f5f5; --text-muted: #bfbfbf; --border-white: #ffffff; } /* ========================= Global Black Site ========================= */ body { background-color: var(--bg-black); color: var(--text-white); } input, textarea { color: white; } ::placeholder { color: rgba(255,255,255,0.6); } /* === Site title / navbar title color === */ .navbar-brand, .navbar-brand a, .navbar-dark .navbar-brand, .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { color: #ffffff !important; } /* === Make muted text readable on black === */ .text-muted { color: rgba(255, 255, 255, 0.65) !important; } /* === Force site title in navbar to white === */ header .navbar-brand, header .navbar-brand *, #home-banner-logo { color: #ffffff !important; } /* === Nuclear fix: make all header links white === */ header a, header a * { color: #ffffff !important; } #header a, #header a * { color: #ffffff !important; } /* Only change the inner-page site title */ #title a.text-dark, #title a.text-dark:hover, #title a.text-dark:focus { color: #ffffff !important; } /* ========================= Footer layout + logo ========================= */ /* top row: text/nav left, logo right (from footer.html .footer-top row) */ .footer-top { align-items: stretch; } /* footer logo wrapper */ .footer-logo-spinner { display: flex; justify-content: flex-end; /* align logo to the right on desktop */ padding: 0.5rem 0; } /* video sizing */ .footer-logo-spinner video { width: 300px; /* tweak as needed */ max-width: 100%; /* don’t overflow on small screens */ height: auto; } /* Respect accessibility: reduce extra visual processing for motion-sensitive users */ /* Note: this does NOT actually stop the video, but avoids adding any extra CSS animation effects. */ @media (prefers-reduced-motion: reduce) { .footer-logo-spinner video { animation: none !important; /* in case we ever add keyframe animation later */ filter: grayscale(30%); /* optional styling touch, keep or remove as you like */ } } /* bottom strip (built with CB + last updated) */ #footer-credits { text-align: center; margin-top: 1rem; } /* ------------------------- Dark theme & item cards ------------------------- */ .bg-dark, .navbar-dark.bg-dark, footer.bg-dark { background-color: #000000 !important; } footer, #footer, .site-footer, #collection-footer { background-color: #000000 !important; color: #ffffff; } footer a { color: #ffffff; } footer a:hover { color: #cccccc; } /* Single-item image card */ main[role="main"] .card.mb-4.text-center { background-color: transparent !important; border: none !important; box-shadow: none !important; } main[role="main"] .card.mb-4.text-center img { border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.18); } /* “Click to view full screen” text */ main[role="main"] .text-center small { color: rgba(255, 255, 255, 0.75) !important; } /* ------------------------- Links ------------------------- */ a { text-decoration: underline; text-underline-offset: 0.18em; } .navbar a, #footer-nav a, .btn, .btn a, .card-title a, .browse .card-title a { text-decoration: none; } a:hover { color: #bfbfbf; } /* ------------------------- Buttons – global ------------------------- */ .btn, .btn-outline-secondary, .btn-outline-dark, .btn-outline-primary { background-color: transparent !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 4px; } .btn:hover, .btn:focus, .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-primary:hover, .btn-outline-primary:focus { background-color: #ffffff !important; color: #000000 !important; text-decoration: none; } /* Buttons on white / light cards */ .card .btn, .bg-white .btn, .bg-light .btn { background-color: transparent !important; color: #000000 !important; border-color: #000000 !important; } .card .btn:hover, .card .btn:focus, .bg-white .btn:hover, .bg-white .btn:focus, .bg-light .btn:hover, .bg-light .btn:focus { background-color: #000000 !important; color: #ffffff !important; } /* ------------------------- Browse page controls ------------------------- */ /* Search + Reset attached to browse search field */ #browse .input-group .btn { background-color: #000000 !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 0 !important; } #browse .input-group .btn:hover, #browse .input-group .btn:focus { background-color: #ffffff !important; color: #000000 !important; } /* ------------------------- Navbar search button ------------------------- */ .navbar .input-group .btn { border-radius: 0 4px 4px 0; background-color: transparent !important; border: 1px solid #ffffff !important; color: #ffffff !important; } .navbar .btn .bi-search, .navbar .btn svg { color: #ffffff !important; fill: #ffffff !important; } /* ------------------------- Item-page buttons ------------------------- */ body.item-page main[role="main"] .text-center a.btn { display: inline-block; background-color: transparent !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 4px; text-decoration: none; } body.item-page main[role="main"] .text-center a.btn:hover, body.item-page main[role="main"] .text-center a.btn:focus { background-color: #ffffff !important; color: #000000 !important; } /* “View on Map” / “Download JPG” buttons under main image */ main[role="main"] .card.mb-4.text-center .btn-group .btn-outline-primary { background-color: transparent !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 4px; text-decoration: none; } main[role="main"] .card.mb-4.text-center .btn-group .btn-outline-primary:hover, main[role="main"] .card.mb-4.text-center .btn-group .btn-outline-primary:focus { background-color: #ffffff !important; color: #000000 !important; } /* ------------------------- Map page – FuseSearch ------------------------- */ .leaflet-fusesearch-panel .search-input { color: #000000 !important; background-color: #ffffff !important; border: 1px solid #00000033; } .leaflet-fusesearch-panel .search-input::placeholder { color: #555555 !important; } /* ------------------------- Homepage carousel button ------------------------- */ .carousel .btn, .carousel .btn-outline-primary { color: #ffffff !important; border: 1px solid #ffffff !important; background: rgba(0, 0, 0, 0.55) !important; backdrop-filter: blur(2px); } .carousel .btn:hover, .carousel .btn-outline-primary:hover { background: #ffffff !important; color: #000000 !important; } /* ------------------------- Typography ------------------------- */ main h1, main h2, main h3 { letter-spacing: 0.04em; } .section-label { font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; } main p { font-size: 0.98rem; line-height: 1.6; } #metadata p, #metadata li { line-height: 1.5; } #metadata strong { letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem; } /* ========================= Home Banner styling ========================= */ #home-banner { position: relative; min-height: 380px; max-height: 580px; padding: 3.5rem 0 2.5rem; background-color: #000; /* safety if image fails */ } /* container that holds the title box + Featured Image pill */ #home-title-box { position: relative; } /* inner dark rectangle with title + tagline */ #home-title-box > .p-2 { /* turn the centered strip into a badge */ display: inline-block; text-align: left; padding: 1.25rem 1.6rem !important; margin-left: 1.5rem; background: rgba(0, 0, 0, 0.88) !important; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.25); } /* title inside the banner */ #home-title-box h1 { margin: 0; font-size: clamp(2rem, 3.4vw, 3rem); text-align: left; letter-spacing: 0.04em; font-weight: 700; } #home-title-box h1 a { color: #ffffff !important; text-decoration: none; } /* tagline inside banner */ #home-title-box p { margin: 0.35rem 0 0; font-size: 0.95rem; opacity: 0.85; } /* mobile: center the badge instead of left-aligning it */ @media (max-width: 767px) { #home-title-box { text-align: center; } #home-title-box > .p-2 { margin-left: 0; } } /* === Featured Image label on home hero === */ #home-banner { position: relative; /* anchor for absolutely positioned label */ } #home-banner .featured-image-label { position: absolute; bottom: 0.75rem; right: 1rem; padding: 0.15rem 0.6rem; background: rgba(0, 0, 0, 0.75); /* like the old design, but subtle */ } #home-banner .featured-image-label a { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: #ffffff !important; text-decoration: none; } #home-banner .featured-image-label a:hover, #home-banner .featured-image-label a:focus { text-decoration: underline; } /* ========================= Subpage header (under nav) ========================= */ main #title h1 { margin: 0; font-size: 1.5rem; letter-spacing: 0.04em; font-weight: 700; text-transform: none; /* don't force all caps */ } main #title h1 a { color: #ffffff !important; text-decoration: none; } main #title p { margin: 0.35rem 0 0; font-size: 0.9rem; opacity: 0.8; } @media (max-width: 575px) { main #title { padding: 1.1rem 0 0.8rem; margin-bottom: 1rem; } main #title h1 { font-size: 1.25rem; } } /* ========================= Subpage header (below nav) ========================= */ #title { padding: 1.5rem 0 1.1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.18); margin-bottom: 1.5rem; } #title h1 { margin: 0; font-size: 1.5rem; letter-spacing: 0.04em; font-weight: 700; text-transform: none; /* keep {B/qKC} style */ } /* keep links looking like the site title, not underlined */ #title h1 a { color: #ffffff !important; text-decoration: none; } #title p { margin: 0.35rem 0 0; font-size: 0.9rem; opacity: 0.8; } @media (max-width: 575px) { #title { padding: 1.1rem 0 0.8rem; margin-bottom: 1rem; } #title h1 { font-size: 1.25rem; } } /* --------------------------------- Card hover lift (non-modal only) --------------------------------- */ /* Only apply when no Bootstrap modal is open. When a modal is open, body gets .modal-open, so this shuts off. */ body:not(.modal-open) .card { transition: transform 0.2s ease-out, box-shadow 0.2s ease-out; } body:not(.modal-open) .card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45); }