/* Put your custom SCSS here! This allows you to override any CollectionBuilder or Bootstrap CSS without modifying the base theme files directly. */ /* base colors */ :root { --bg-black: #000000; --bg-soft-black: #0e0e0e; --text-white: #f5f5f5; --text-muted: #bfbfbf; --border-white: #ffffff; } /* global black */ body { background-color: var(--bg-black); color: var(--text-white); } input, textarea { color: white; } ::placeholder { color: rgba(255,255,255,0.6); } /* forcing color fixes */ .navbar-brand, .navbar-brand a, .navbar-dark .navbar-brand, .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { color: #ffffff !important; } .text-muted { color: rgba(255, 255, 255, 0.65) !important; } header .navbar-brand, header .navbar-brand *, #home-banner-logo { color: #ffffff !important; } header a, header a * { color: #ffffff !important; } #header a, #header a * { color: #ffffff !important; } #title a.text-dark, #title a.text-dark:hover, #title a.text-dark:focus { color: #ffffff !important; } /*footer styling */ .footer-top { align-items: stretch; } .footer-logo-spinner { display: flex; justify-content: flex-end; /* align logo to the right on desktop */ padding: 0.5rem 0; } .footer-logo-spinner video { width: 300px; /* tweak as needed */ max-width: 100%; /* don’t overflow on small screens */ height: auto; } @media (prefers-reduced-motion: reduce) { .footer-logo-spinner video { animation: none !important; filter: grayscale(30%); } } #footer-credits { text-align: center; margin-top: 1rem; } .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; } /* removing ugly white box on single item pages and fixing text colors */ 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); } 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, color n animations */ .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; } /* fixing card buttons */ .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 colors */ #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; } /* fixing navbar search colors */ .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; } 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 colors */ .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 browse 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; } /* font styling */ 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; } #home-title-box { position: relative; } #home-title-box > .p-2 { 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); } #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; } #home-title-box p { margin: 0.35rem 0 0; font-size: 0.95rem; opacity: 0.85; } @media (max-width: 767px) { #home-title-box { text-align: center; } #home-title-box > .p-2 { margin-left: 0; } } #home-banner { position: relative; } #home-banner .featured-image-label { position: absolute; bottom: 0.75rem; right: 1rem; padding: 0.15rem 0.6rem; background: rgba(0, 0, 0, 0.75); } #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; } /* headers on all other pages */ main #title h1 { margin: 0; font-size: 1.5rem; letter-spacing: 0.04em; font-weight: 700; text-transform: none; } 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; } } #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; } #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; } } /* animations */ .modal-content .card.mb-4.text-center small { color: #000000 !important; } .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary { background-color: transparent !important; color: #000000 !important; border: 1px solid #000000 !important; border-radius: 4px; text-decoration: none; } .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary:hover, .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary:focus { background-color: #000000 !important; color: #ffffff !important; } .modal, .modal * , .modal-backdrop { transition: none !important; animation: none !important; } html body main[role="main"] .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary { background-color: transparent !important; color: #000000 !important; border: 1px solid #000000 !important; border-radius: 4px; text-decoration: none; } html body main[role="main"] .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary:hover, html body main[role="main"] .modal-content .card.mb-4.text-center .btn-group .btn-outline-primary:focus { background-color: #000000 !important; color: #ffffff !important; } .modal .card.mb-4.text-center { transition: none !important; transform: none !important; box-shadow: none !important; } .modal .card.mb-4.text-center:hover { transform: none !important; box-shadow: none !important; } main[role="main"] .card { transition: transform 150ms ease-out, box-shadow 150ms ease-out, border-color 150ms ease-out; } main[role="main"] .card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45); border-color: #ffffff; } /* animations off for compound cards (can't figure out bug that keeps them flickering) */ main[role="main"] .row.row-cols-lg-4.g-2 .card, main[role="main"] .row.row-cols-lg-4.g-2 .card:hover { transform: none !important; box-shadow: none !important; border-color: #000000 !important; } .modal .card, .modal .card:hover { transform: none !important; box-shadow: none !important; border-color: inherit !important; transition: none !important; } /* two block quote styles */ .quote-line { margin: 2rem 0; padding-left: 1.25rem; border-left: 4px solid #bbbbbb; color: #dddddd; } .quote-line p { margin: 0.5rem 0; } .quote-line .quote-attrib { font-size: 0.9rem; color: #aaaaaa; font-style: italic; } .quote-box { background-color: #ffffff; color: #000000; padding: 1.75rem 2rem; margin: 2.5rem 0; border-radius: 4px; } .quote-box .quote-text { font-size: 1.1rem; font-style: italic; margin-bottom: 1rem; } .quote-box .quote-attrib { font-size: 0.9rem; text-align: right; } blockquote { max-width: 700px; } /* ========================= ABOUT TOC ========================= */ #about-toc { background-color: #000000; padding: 1rem; margin-bottom: 2rem; position: sticky; top: 1rem; } /* Remove Bootstrap italics everywhere */ #about-toc, #about-toc * { font-style: normal; } #about-toc-title .btn { background-color: #000000; color: #ffffff; width: 100%; text-align: left; padding: 0.5rem 0.75rem; } #about-toc-title .btn:hover, #about-toc-title .btn:focus { background-color: #111111; } #about-toc-title svg { float: right; fill: #ffffff; } #about-toc-list { background-color: #000000; padding-top: 1rem; } #about-toc-list ul { list-style: none; padding-left: 0; } #about-toc-list li { margin-bottom: 0.4rem; } /* TOC links */ #about-toc-list a { color: #ffffff; text-decoration: none; font-size: 0.8rem; line-height: 1.3; opacity: 0.3; position: relative; padding-left: 0.75rem; } #about-toc-list a:hover { opacity: 0.6; } /* Active section indicator */ #about-toc-list a.active { opacity: 1; } #about-toc-list a.active::before { position: absolute; left: 0; top: 0.25em; height: 1em; width: 3px; background-color: #ffffff; } /* Nested hierarchy */ #about-toc-list ul ul { padding-left: 1rem; border-left: 1px solid #444444; margin-top: 0.25rem; align-items: left; } #about-toc-list ul ul a { font-size: 0.75rem; } @media (max-width: 768px) { /* TOC card stacks above the back-to-top button */ #about-toc { position: sticky; /* keeps it visible when scrolling */ bottom: 1rem; /* push it above the button */ margin-bottom: 0; /* remove default bottom margin */ z-index: 998; /* below the button (which is 9999) */ max-width: 95%; /* optional: prevent full width to fit nicely */ margin-left: auto; margin-right: auto; } /* keep back-to-top floating above TOC */ #scroll-to-top { position: fixed; bottom: 4.5rem; right: 1rem; z-index: 9999; /* always on top */ transition: transform 0.2s ease, box-shadow 0.2s ease; } } #scroll-to-top:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); } /* interp/about page */ #about-wrapper { display: grid; grid-template-columns: 250px 1fr; gap: 2rem; } #about-contents-wrapper { max-width: 800px; padding: 0 2rem; margin: 0 auto; } #about-contents-wrapper p { max-width: 70ch; line-height: 1.6; } @media (max-width: 992px) { #about-wrapper { display: block; } #about-contents-wrapper { max-width: 100%; padding: 1rem; } } /* wrapped images */ .float-img { max-width: 40%; margin: 0.5rem 1.5rem 1rem 0; } .float-left { float: left; } .float-right { float: right; margin: 0.5rem 0 1rem 1.5rem; } .float-img img { width: 100%; height: auto; display: block; } .float-img .caption { font-size: 0.75rem; color: #bbbbbb; margin-top: 0.25rem; } .clearfix::after { content: ""; display: block; clear: both; } @media (max-width: 768px) { .float-img { float: none; max-width: 100%; margin: 1rem 0; } } #technical { background-color: #f8f9fa; color: #000; } #technical .bg-white { background-color: #ffffff !important; color: #000 !important; } #technical h3 { color: #000; } #technical p { color: #000; } .donor-list { list-style: none; padding-left: 0; font-size: 0.9em; } .donor-list em { font-size: 0.95em; color: #555; }