User:Udays108/common.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* ============================================================ | /* ============================================================ | ||
BioMicro Center Wiki — | BioMicro Center Wiki — Full DOM Replacement CSS | ||
Paste into: User:USERNAME/common.css | Paste into: User:USERNAME/common.css | ||
Strategy: hide all MediaWiki structural HTML, style the | |||
JS-injected #bmc-wrapper shell to exactly match about.html | |||
============================================================ */ | ============================================================ */ | ||
/* ── | /* ── 1. Hide ALL MediaWiki structural elements ──────────────── */ | ||
#mw-page-base, | |||
#mw-head-base, | |||
#mw-head, | |||
#mw-navigation, | |||
#mw-panel, | |||
.mw-sidebar, | |||
#firstHeading, | |||
.mw-first-heading, | |||
#siteSub, | |||
#contentSub, | |||
#contentSub2, | |||
#jump-to-nav, | |||
#mw-indicator-mw-helplink, | |||
.mw-indicators, | |||
#footer, | |||
.mw-footer, | |||
.vector-header, | |||
.vector-header-container, | |||
.vector-column-start, | |||
.vector-page-toolbar, | |||
.vector-sticky-header, | |||
#mw-notification-area { | |||
display: none !important; | |||
} | |||
/* Remove MediaWiki's content positioning (sidebar offset, etc.) */ | |||
#mw-content-wrapper, | |||
.mw-content-container, | |||
#mw-content, | |||
.mw-body, | |||
.vector-body, | |||
.vector-body-before-content, | |||
#content { | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
border: none !important; | |||
box-shadow: none !important; | |||
background: transparent !important; | |||
float: none !important; | |||
width: auto !important; | |||
max-width: none !important; | |||
min-width: 0 !important; | |||
position: static !important; | |||
} | |||
body { | /* Body — reset MediaWiki defaults */ | ||
html, body { | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
background: #fff !important; | |||
font-family: 'Helvetica Neue', Arial, sans-serif !important; | font-family: 'Helvetica Neue', Arial, sans-serif !important; | ||
font-size: 16px !important; | |||
color: #1a1a1a !important; | color: #1a1a1a !important; | ||
line-height: 1.6 !important; | line-height: 1.6 !important; | ||
} | } | ||
a { color: #a31f34 | /* ── 2. About.html styles — copied verbatim ─────────────────── */ | ||
a:hover { text-decoration: underline | |||
/* Reset & base */ | |||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } | |||
a { color: #a31f34; text-decoration: none; } | |||
a:hover { text-decoration: underline; } | |||
/* | /* Top bar */ | ||
.bmc-topbar { | .bmc-topbar { | ||
background: #a31f34; | background: #a31f34; | ||
| Line 27: | Line 77: | ||
padding: 6px 0; | padding: 6px 0; | ||
text-align: right; | text-align: right; | ||
} | } | ||
.bmc-topbar .inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; } | |||
.bmc-topbar a { color: #fff !important; opacity: 0.85; } | .bmc-topbar a { color: #fff !important; opacity: 0.85; } | ||
.bmc-topbar a:hover { opacity: 1; text-decoration: none !important; } | .bmc-topbar a:hover { opacity: 1; text-decoration: none !important; } | ||
.bmc-topbar span { margin: 0 6px; opacity: 0.5; } | .bmc-topbar span { margin: 0 6px; opacity: 0.5; } | ||
/* | /* Header */ | ||
.bmc-header { | |||
background: #fff; | |||
border-bottom: 1px solid #e0e0e0; | |||
background: #fff | position: sticky; | ||
border-bottom: 1px solid #e0e0e0 | top: 0; | ||
z-index: 100; | |||
box-shadow: 0 1px 4px rgba(0,0,0,0.07); | |||
position: sticky | |||
top: 0 | |||
z-index: 100 | |||
} | } | ||
.bmc-header-inner { | .bmc-header-inner { | ||
max-width: 1140px; | max-width: 1140px; margin: 0 auto; padding: 0 24px; | ||
display: flex; align-items: center; justify-content: space-between; | |||
display: flex; | |||
height: 68px; | height: 68px; | ||
} | } | ||
.bmc-logo { display: flex; align-items: center; gap: 12px; text-decoration: none !important; } | |||
.bmc-logo-mark { | |||
width: 40px; height: 40px; background: #a31f34; border-radius: 4px; | |||
display: flex; align-items: center; justify-content: center; | |||
color: #fff !important; font-weight: 700; font-size: 1rem; letter-spacing: -0.5px; | |||
flex-shrink: 0; | |||
} | |||
.bmc-logo-text .bmc-logo-name { font-size: 1rem; font-weight: 700; color: #1a1a1a !important; letter-spacing: -0.2px; display: block; } | |||
.bmc-logo-text .bmc-logo-sub { font-size: 0.72rem; color: #666; font-weight: 400; display: block; } | |||
/* | /* Header right side: nav + search */ | ||
.bmc-header-right { display: flex; align-items: center; gap: 16px; } | |||
} | |||
.bmc- | /* Search in header */ | ||
.bmc-search-form { display: flex; align-items: center; } | |||
.bmc-search-form input[type="search"] { | |||
border: 1px solid #e0e0e0; | |||
border-radius: 4px; | |||
padding: 5px 10px; | |||
font-size: 0.82rem; | |||
width: 160px; | |||
color: #333; | |||
outline: none; | |||
transition: border-color 0.15s; | |||
} | } | ||
.bmc- | .bmc-search-form input[type="search"]:focus { border-color: #a31f34; } | ||
.bmc-search-form button { | |||
background: #a31f34; | background: #a31f34; | ||
color: #fff; | |||
border: none; | |||
border-radius: 4px; | border-radius: 4px; | ||
padding: 5px 10px; | |||
margin-left: 4px; | |||
font-size: 0.82rem; | |||
cursor: pointer; | |||
transition: background 0.15s; | |||
font-size: | |||
} | } | ||
.bmc-search-form button:hover { background: #8b1a2c; } | |||
/* | /* Nav */ | ||
.bmc- | .bmc-nav { display: flex; align-items: center; } | ||
.bmc-nav > ul { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; } | |||
.bmc-nav > ul > li { position: relative; margin: 0; padding: 0; } | |||
} | .bmc-nav > ul > li > a { | ||
.bmc- | display: block; padding: 8px 14px; | ||
font-size: 0.85rem; font-weight: 500; color: #333 !important; | |||
border-radius: 4px; white-space: nowrap; | |||
transition: background 0.15s, color 0.15s; | |||
} | |||
.bmc- | |||
} | |||
.bmc- | |||
display: block | |||
font-size: 0.85rem | |||
border-radius: 4px | |||
transition: background 0.15s, color 0.15s | |||
text-decoration: none !important; | text-decoration: none !important; | ||
} | } | ||
.bmc- | .bmc-nav > ul > li > a:hover, | ||
.bmc- | .bmc-nav > ul > li.bmc-active > a { | ||
background: #f5f5f5 | background: #f5f5f5; color: #a31f34 !important; text-decoration: none !important; | ||
} | } | ||
.bmc-dropdown { position: relative; } | |||
.bmc-dropdown > a::after { content: ' ▾'; font-size: 0.65rem; opacity: 0.6; } | |||
.bmc-dropdown-menu { | .bmc-dropdown-menu { | ||
display: none; | display: none; position: absolute; top: calc(100% + 4px); left: 0; | ||
background: #fff; border: 1px solid #e0e0e0; | |||
border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,0.10); | |||
min-width: 200px; padding: 6px 0; z-index: 200; | |||
background: #fff; | |||
border-radius: 6px; | |||
min-width: 200px; | |||
} | } | ||
.bmc-dropdown:hover .bmc-dropdown-menu { display: block; } | .bmc-dropdown:hover .bmc-dropdown-menu { display: block; } | ||
.bmc-dropdown-menu a { | .bmc-dropdown-menu a { | ||
display: block !important; | display: block !important; padding: 8px 18px; font-size: 0.83rem; color: #333 !important; | ||
transition: background 0.12s; text-decoration: none !important; | |||
transition: background 0.12s | |||
} | } | ||
.bmc-dropdown-menu a:hover { background: #faf0f0; color: #a31f34 !important; text-decoration: none !important; } | |||
.bmc-dropdown-menu .bmc-divider { border-top: 1px solid #eee; margin: 4px 0; } | .bmc-dropdown-menu .bmc-divider { border-top: 1px solid #eee; margin: 4px 0; } | ||
.bmc-dropdown-menu .bmc-group-label { | .bmc-dropdown-menu .bmc-group-label { | ||
padding: 6px 18px 2px; | padding: 6px 18px 2px; font-size: 0.7rem; | ||
font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.05em; | |||
font-weight: 600; | |||
} | } | ||
/* | /* Page hero */ | ||
.bmc-page-hero { | .bmc-page-hero { | ||
background: linear-gradient(135deg, #a31f34 0%, #7a1626 100%); | background: linear-gradient(135deg, #a31f34 0%, #7a1626 100%); | ||
color: #fff; | color: #fff; padding: 40px 0 36px; | ||
} | } | ||
.bmc-page-hero .inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; } | |||
.bmc-breadcrumb { font-size: 0.78rem; margin-bottom: 10px; opacity: 0.75; } | |||
.bmc-breadcrumb a { color: #fff !important; } | .bmc-breadcrumb a { color: #fff !important; } | ||
.bmc-breadcrumb | .bmc-breadcrumb .sep { margin: 0 6px; } | ||
.bmc-page-hero h1 { | .bmc-page-hero h1 { | ||
font-size: 2rem | font-size: 2rem; font-weight: 700; letter-spacing: -0.5px; | ||
color: #fff !important; margin: 0; padding: 0; border: none; | |||
color: #fff !important; | |||
} | } | ||
/* | /* Page layout */ | ||
.bmc-page-layout { | |||
. | max-width: 1140px; margin: 0 auto; padding: 40px 24px 80px; | ||
display: | display: grid; grid-template-columns: 220px 1fr; gap: 40px; | ||
} | } | ||
/* | /* Sidebar TOC */ | ||
.bmc-sidebar { position: sticky; top: 84px; align-self: start; } | |||
. | .bmc-toc { | ||
. | background: #f9f9f9; border: 1px solid #e8e8e8; | ||
border-radius: 8px; padding: 20px; | |||
} | |||
.bmc-toc h3 { | |||
font-size: 0.78rem; font-weight: 700; text-transform: uppercase; | |||
letter-spacing: 0.08em; color: #999; margin-bottom: 12px; | |||
border: none; background: none; padding: 0; | |||
} | } | ||
.bmc-toc ul { list-style: none; margin: 0; padding: 0; } | |||
.bmc-toc ul li { margin-bottom: 2px; } | |||
.bmc-toc ul li a { | |||
. | font-size: 0.82rem; color: #444 !important; padding: 4px 8px; display: block; | ||
border-radius: 4px; transition: background 0.12s, color 0.12s; | |||
text-decoration: none !important; | |||
} | } | ||
.bmc-toc ul li a:hover { background: #f0e8ea; color: #a31f34 !important; text-decoration: none !important; } | |||
.bmc-toc ul li.bmc-sub a { padding-left: 20px; color: #666 !important; font-size: 0.78rem; } | |||
/* | /* Content area */ | ||
.bmc-content { min-width: 0; } | |||
. | .bmc-content h2 { | ||
font-size: 1.35rem; font-weight: 700; color: #1a1a1a; | |||
padding-bottom: 10px; border-bottom: 2px solid #a31f34; | |||
margin: 48px 0 18px; letter-spacing: -0.2px; | |||
scroll-margin-top: 88px; | |||
background: none; box-shadow: none; border-left: none; border-radius: 0; | |||
} | } | ||
.bmc-content h2:first-child { margin-top: 0; } | |||
. | .bmc-content h3 { | ||
font-size: | font-size: 1rem; font-weight: 600; color: #1a1a1a; | ||
margin: 28px 0 10px; scroll-margin-top: 88px; | |||
} | } | ||
# | .bmc-content p { margin-bottom: 14px; font-size: 0.9rem; color: #333; } | ||
.bmc-content p:last-child { margin-bottom: 0; } | |||
/* ── 3. Wiki content typography (inside .bmc-content) ────────── */ | |||
.bmc-content .mw-parser-output { | |||
font-family: 'Helvetica Neue', Arial, sans-serif; | |||
font-size: 0.9rem; | |||
line-height: 1.6; | |||
color: #333; | |||
} | } | ||
.bmc-content .mw-parser-output h2 { | |||
font-size: 1.35rem; font-weight: 700; color: #1a1a1a; | |||
font-size: | padding-bottom: 10px; border-bottom: 2px solid #a31f34 !important; | ||
border-left: none !important; border-top: none !important; border-right: none !important; | |||
margin: 48px 0 18px; letter-spacing: -0.2px; | |||
scroll-margin-top: 88px; | |||
background: none !important; box-shadow: none !important; border-radius: 0 !important; | |||
} | } | ||
.bmc-content .mw-parser-output h2:first-child { margin-top: 0; } | |||
.bmc-content .mw-parser-output h3 { | |||
font-size: 1rem; font-weight: 600; color: #1a1a1a; margin: 28px 0 10px; | |||
} | } | ||
.bmc-content .mw-parser-output h4 { | |||
font-size: 0.88rem; font-weight: 700; color: #a31f34; margin-bottom: 6px; | |||
} | } | ||
.bmc-content .mw-parser-output p { margin-bottom: 14px; font-size: 0.9rem; color: #333; } | |||
.bmc-content .mw-parser-output a { color: #a31f34 !important; } | |||
.bmc-content .mw-parser-output a:hover { text-decoration: underline !important; } | |||
.bmc-content .mw-parser-output ul, | |||
.bmc-content .mw-parser-output ol { margin: 0 0 14px 24px; font-size: 0.9rem; color: #333; } | |||
.bmc-content .mw-parser-output li { margin-bottom: 4px; } | |||
/* | /* Edit section links */ | ||
.mw- | .bmc-content .mw-editsection { | ||
display: inline !important; | |||
font-size: 0. | font-size: 0.72rem; | ||
margin-left: 8px; | |||
} | } | ||
.bmc-content .mw-editsection a { color: #999 !important; font-size: 0.72rem !important; } | |||
.bmc-content .mw-editsection a:hover { color: #a31f34 !important; } | |||
.bmc-content .mw-editsection-bracket { color: #ccc; } | |||
. | /* Wiki TOC (if kept inside content) */ | ||
font-size: | .bmc-content #toc, | ||
.bmc-content .toc { | |||
color: # | background: #f9f9f9; border: 1px solid #e8e8e8; | ||
border-radius: 8px; padding: 20px; | |||
border- | display: inline-block; min-width: 200px; | ||
margin: 0 0 24px; | |||
} | |||
.bmc-content .toctitle h2 { | |||
font-size: 0.78rem !important; font-weight: 700 !important; | |||
text-transform: uppercase !important; letter-spacing: 0.08em !important; | |||
color: #999 !important; margin-bottom: 12px !important; | |||
border: none !important; background: none !important; padding: 0 !important; | |||
} | |||
.bmc-content #toc ul, .bmc-content .toc ul { list-style: none !important; margin: 0 !important; padding: 0 !important; } | |||
.bmc-content #toc ul li a, .bmc-content .toc ul li a { | |||
font-size: 0.82rem !important; color: #444 !important; padding: 4px 8px !important; | |||
display: block !important; border-radius: 4px !important; | |||
transition: background 0.12s !important; | |||
} | |||
.bmc-content #toc ul li a:hover, .bmc-content .toc ul li a:hover { | |||
background: #f0e8ea !important; color: #a31f34 !important; text-decoration: none !important; | |||
} | } | ||
.mw-parser-output | /* Tables */ | ||
.bmc-content .wikitable, | |||
font- | .bmc-content .mw-parser-output table { | ||
color: # | border-collapse: collapse; width: 100%; margin: 16px 0; | ||
font-size: 0.88rem; border: 1px solid #e8e8e8; border-radius: 8px; overflow: hidden; | |||
} | |||
.bmc-content .wikitable th, | |||
.bmc-content .mw-parser-output table th { | |||
background: #a31f34; color: #fff; font-weight: 600; | |||
padding: 10px 14px; text-align: left; border: none; font-size: 0.85rem; | |||
} | } | ||
.bmc-content .wikitable td, | |||
.mw-parser-output | .bmc-content .mw-parser-output table td { | ||
padding: 9px 14px; border: none; | |||
border-bottom: 1px solid #f0f0f0; vertical-align: top; color: #333; | |||
} | } | ||
.bmc-content .wikitable tr:nth-child(even) td, | |||
.bmc-content .mw-parser-output table tr:nth-child(even) td { background: #fafafa; } | |||
.bmc-content .wikitable tr:last-child td, | |||
.bmc-content .mw-parser-output table tr:last-child td { border-bottom: none; } | |||
.mw-parser-output | /* Code */ | ||
.bmc-content .mw-parser-output code, | |||
font-size: 0. | .bmc-content .mw-parser-output pre, | ||
.bmc-content .mw-parser-output tt { | |||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; | |||
background: #f4f4f4; border: 1px solid #e8e8e8; border-radius: 4px; font-size: 0.85rem; | |||
} | } | ||
.bmc-content .mw-parser-output code, | |||
.bmc-content .mw-parser-output tt { padding: 1px 5px; } | |||
.bmc-content .mw-parser-output pre { padding: 12px 16px; overflow-x: auto; } | |||
/* ── | /* ── 4. Component classes (for wiki editors to use in markup) ── */ | ||
/* | /* Service cards */ | ||
.service-grid { | .service-grid { | ||
display: grid; | display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; | ||
margin: 20px 0 28px; | margin: 20px 0 28px; | ||
} | } | ||
.service-card { | .service-card { | ||
background: #f9f9f9; | background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; | ||
padding: 20px 22px; transition: border-color 0.15s, box-shadow 0.15s; | |||
padding: 20px 22px; | |||
} | } | ||
.service-card:hover { border-color: #c8a0a8; box-shadow: 0 2px 10px rgba(163,31,52,0.07); } | |||
.service-card h4 { font-size: 0.88rem; font-weight: 700; color: #a31f34; margin-bottom: 6px; } | |||
.service-card p { font-size: 0.82rem; color: #555; margin: 0; line-height: 1.5; } | |||
/* | /* Staff grid */ | ||
.staff-section { margin-bottom: 32px; } | .staff-section { margin-bottom: 32px; } | ||
.staff-section h3 { margin-bottom: 16px | .staff-section h3 { margin-bottom: 16px; } | ||
.staff-grid { | .staff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; } | ||
.staff-card { background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px 18px; } | |||
.staff-card .staff-name { font-size: 0.88rem; font-weight: 700; color: #1a1a1a; } | |||
.staff-card .staff-role { font-size: 0.78rem; color: #666; margin-top: 3px; line-height: 1.4; } | |||
} | |||
.staff-card { | |||
} | |||
.staff-card .staff-name { | |||
} | |||
.staff-card .staff-role { | |||
} | |||
.staff-card.director { | .staff-card.director { | ||
grid-column: 1 / -1; | grid-column: 1 / -1; background: #fdf5f6; | ||
border-color: #d4a0a8; display: flex; align-items: center; gap: 18px; | |||
border-color: #d4a0a8; | |||
} | } | ||
.director-badge { | .director-badge { | ||
width: 44px; | width: 44px; height: 44px; background: #a31f34; border-radius: 50%; | ||
display: flex; align-items: center; justify-content: center; | |||
color: #fff; font-weight: 700; font-size: 1rem; flex-shrink: 0; | |||
display: flex; | |||
color: #fff; | |||
} | } | ||
.staff-card.director .staff-name { font-size: 1rem; } | .staff-card.director .staff-name { font-size: 1rem; } | ||
.staff-card.director .staff-role { | .staff-card.director .staff-role { font-size: 0.82rem; color: #7a1626; font-weight: 500; } | ||
} | |||
/* | /* Publication list */ | ||
.pub-list { list-style: none | .pub-list { list-style: none; margin: 0; padding: 0; } | ||
.pub-list li { | .pub-list li { padding: 14px 0; border-bottom: 1px solid #f0f0f0; font-size: 0.85rem; } | ||
.pub-list li:last-child { border-bottom: none; } | |||
} | |||
.pub-list li:last-child { border-bottom: none | |||
.pub-list .pub-lab { font-weight: 700; color: #1a1a1a; } | .pub-list .pub-lab { font-weight: 700; color: #1a1a1a; } | ||
.pub-list .pub-desc { color: #444; margin-top: 3px; line-height: 1.5; } | .pub-list .pub-desc { color: #444; margin-top: 3px; line-height: 1.5; } | ||
.pub-list .pub-cite { | .pub-list .pub-cite { | ||
display: inline-block; | display: inline-block; margin-top: 5px; font-size: 0.75rem; | ||
background: #f0f0f0; color: #555; padding: 2px 8px; border-radius: 10px; | |||
background: #f0f0f0; | |||
} | } | ||
/* | /* Affiliations */ | ||
.affil-grid { | .affil-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 18px 0 24px; } | ||
.affil-card { background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px 18px; } | |||
} | |||
.affil-card { | |||
} | |||
.affil-card .affil-name { font-size: 0.85rem; font-weight: 700; color: #1a1a1a; } | .affil-card .affil-name { font-size: 0.85rem; font-weight: 700; color: #1a1a1a; } | ||
.affil-card .affil-rep { font-size: 0.78rem; color: #666; margin-top: 4px; } | .affil-card .affil-rep { font-size: 0.78rem; color: #666; margin-top: 4px; } | ||
/* | /* Note boxes */ | ||
.note { | |||
background: #fdf6f0; border-left: 3px solid #e07b39; | |||
padding: 10px 14px; border-radius: 0 6px 6px 0; | |||
font-size: 0.82rem; color: #555; margin: 12px 0 18px; | |||
} | |||
.note strong { color: #c0622a; } | |||
.note.note-info { background: #f0f6ff; border-left-color: #3b7dd8; } | |||
/* Contact block */ | |||
.contact-block { | .contact-block { | ||
background: #f9f9f9; | background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; | ||
padding: 22px 24px; display: flex; gap: 40px; flex-wrap: wrap; font-size: 0.85rem; | |||
padding: 22px 24px; | |||
} | } | ||
.contact-item { display: flex; flex-direction: column; gap: 3px; } | .contact-item { display: flex; flex-direction: column; gap: 3px; } | ||
.contact-item .label { | .contact-item .label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: #999; } | ||
} | |||
.contact-item .value { color: #1a1a1a; font-weight: 500; } | .contact-item .value { color: #1a1a1a; font-weight: 500; } | ||
.contact-item a { color: #a31f34 !important; } | .contact-item a { color: #a31f34 !important; } | ||
/* ── | /* ── 5. Footer ───────────────────────────────────────────────── */ | ||
.bmc-footer { background: #1a1a1a; color: #aaa; padding: 40px 0; font-size: 0.82rem; } | |||
. | |||
} | |||
.bmc-footer-inner { | .bmc-footer-inner { | ||
max-width: 1140px; | max-width: 1140px; margin: 0 auto; padding: 0 24px; | ||
display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; | |||
display: grid; | |||
} | } | ||
.bmc-footer h4 { | |||
font-size: 0.75rem; font-weight: 700; text-transform: uppercase; | |||
.bmc-footer | letter-spacing: 0.08em; color: #fff; margin-bottom: 12px; | ||
} | } | ||
.bmc-footer ul { list-style: none; margin: 0; padding: 0; } | |||
. | .bmc-footer ul li { margin-bottom: 6px; } | ||
.bmc-footer | .bmc-footer ul li a { color: #aaa !important; } | ||
.bmc-footer ul li a:hover { color: #fff !important; text-decoration: none !important; } | |||
. | |||
. | |||
.bmc-footer-bottom { | .bmc-footer-bottom { | ||
max-width: 1140px; | max-width: 1140px; margin: 24px auto 0; padding: 20px 24px 0; | ||
border-top: 1px solid #333; display: flex; | |||
justify-content: space-between; align-items: center; | |||
border-top: 1px solid #333; | flex-wrap: wrap; gap: 8px; font-size: 0.77rem; color: #666; | ||
justify-content: space-between; | |||
flex-wrap: wrap; | |||
} | } | ||
.bmc-footer-bottom a { color: #aaa !important; } | |||
.bmc-footer-bottom a:hover { color: #fff !important; } | |||
/* ── Responsive | /* ── 6. Responsive ──────────────────────────────────────────── */ | ||
@media (max-width: 860px) { | @media (max-width: 860px) { | ||
.bmc- | .bmc-page-layout { grid-template-columns: 1fr; } | ||
.bmc-sidebar { position: static; } | |||
.staff-grid { grid-template-columns: repeat(2, 1fr); } | |||
.bmc-footer-inner { grid-template-columns: 1fr 1fr; } | |||
. | .bmc-nav { display: none; } | ||
.bmc-search-form input[type="search"] { width: 120px; } | |||
.staff-grid { grid-template-columns: repeat(2, 1fr) | |||
.bmc-footer-inner { grid-template-columns: 1fr 1fr | |||
. | |||
. | |||
} | } | ||
@media (max-width: 580px) { | @media (max-width: 580px) { | ||
.bmc-page-hero h1 { font-size: 1.5rem | .bmc-footer-inner { grid-template-columns: 1fr; } | ||
.service-grid, | .bmc-page-hero h1 { font-size: 1.5rem; } | ||
.service-grid, .staff-grid, .affil-grid { grid-template-columns: 1fr; } | |||
.staff-card.director { flex-direction: column; } | |||
.staff-card.director { flex-direction: column | .contact-block { flex-direction: column; gap: 16px; } | ||
.contact-block { flex-direction: column | .bmc-search-form { display: none; } | ||
.bmc- | |||
} | } | ||
Revision as of 22:37, 8 May 2026
/* ============================================================
BioMicro Center Wiki — Full DOM Replacement CSS
Paste into: User:USERNAME/common.css
Strategy: hide all MediaWiki structural HTML, style the
JS-injected #bmc-wrapper shell to exactly match about.html
============================================================ */
/* ── 1. Hide ALL MediaWiki structural elements ──────────────── */
#mw-page-base,
#mw-head-base,
#mw-head,
#mw-navigation,
#mw-panel,
.mw-sidebar,
#firstHeading,
.mw-first-heading,
#siteSub,
#contentSub,
#contentSub2,
#jump-to-nav,
#mw-indicator-mw-helplink,
.mw-indicators,
#footer,
.mw-footer,
.vector-header,
.vector-header-container,
.vector-column-start,
.vector-page-toolbar,
.vector-sticky-header,
#mw-notification-area {
display: none !important;
}
/* Remove MediaWiki's content positioning (sidebar offset, etc.) */
#mw-content-wrapper,
.mw-content-container,
#mw-content,
.mw-body,
.vector-body,
.vector-body-before-content,
#content {
margin: 0 !important;
padding: 0 !important;
border: none !important;
box-shadow: none !important;
background: transparent !important;
float: none !important;
width: auto !important;
max-width: none !important;
min-width: 0 !important;
position: static !important;
}
/* Body — reset MediaWiki defaults */
html, body {
margin: 0 !important;
padding: 0 !important;
background: #fff !important;
font-family: 'Helvetica Neue', Arial, sans-serif !important;
font-size: 16px !important;
color: #1a1a1a !important;
line-height: 1.6 !important;
}
/* ── 2. About.html styles — copied verbatim ─────────────────── */
/* Reset & base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
a { color: #a31f34; text-decoration: none; }
a:hover { text-decoration: underline; }
/* Top bar */
.bmc-topbar {
background: #a31f34;
color: #fff;
font-size: 0.75rem;
padding: 6px 0;
text-align: right;
}
.bmc-topbar .inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.bmc-topbar a { color: #fff !important; opacity: 0.85; }
.bmc-topbar a:hover { opacity: 1; text-decoration: none !important; }
.bmc-topbar span { margin: 0 6px; opacity: 0.5; }
/* Header */
.bmc-header {
background: #fff;
border-bottom: 1px solid #e0e0e0;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}
.bmc-header-inner {
max-width: 1140px; margin: 0 auto; padding: 0 24px;
display: flex; align-items: center; justify-content: space-between;
height: 68px;
}
.bmc-logo { display: flex; align-items: center; gap: 12px; text-decoration: none !important; }
.bmc-logo-mark {
width: 40px; height: 40px; background: #a31f34; border-radius: 4px;
display: flex; align-items: center; justify-content: center;
color: #fff !important; font-weight: 700; font-size: 1rem; letter-spacing: -0.5px;
flex-shrink: 0;
}
.bmc-logo-text .bmc-logo-name { font-size: 1rem; font-weight: 700; color: #1a1a1a !important; letter-spacing: -0.2px; display: block; }
.bmc-logo-text .bmc-logo-sub { font-size: 0.72rem; color: #666; font-weight: 400; display: block; }
/* Header right side: nav + search */
.bmc-header-right { display: flex; align-items: center; gap: 16px; }
/* Search in header */
.bmc-search-form { display: flex; align-items: center; }
.bmc-search-form input[type="search"] {
border: 1px solid #e0e0e0;
border-radius: 4px;
padding: 5px 10px;
font-size: 0.82rem;
width: 160px;
color: #333;
outline: none;
transition: border-color 0.15s;
}
.bmc-search-form input[type="search"]:focus { border-color: #a31f34; }
.bmc-search-form button {
background: #a31f34;
color: #fff;
border: none;
border-radius: 4px;
padding: 5px 10px;
margin-left: 4px;
font-size: 0.82rem;
cursor: pointer;
transition: background 0.15s;
}
.bmc-search-form button:hover { background: #8b1a2c; }
/* Nav */
.bmc-nav { display: flex; align-items: center; }
.bmc-nav > ul { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; }
.bmc-nav > ul > li { position: relative; margin: 0; padding: 0; }
.bmc-nav > ul > li > a {
display: block; padding: 8px 14px;
font-size: 0.85rem; font-weight: 500; color: #333 !important;
border-radius: 4px; white-space: nowrap;
transition: background 0.15s, color 0.15s;
text-decoration: none !important;
}
.bmc-nav > ul > li > a:hover,
.bmc-nav > ul > li.bmc-active > a {
background: #f5f5f5; color: #a31f34 !important; text-decoration: none !important;
}
.bmc-dropdown { position: relative; }
.bmc-dropdown > a::after { content: ' ▾'; font-size: 0.65rem; opacity: 0.6; }
.bmc-dropdown-menu {
display: none; position: absolute; top: calc(100% + 4px); left: 0;
background: #fff; border: 1px solid #e0e0e0;
border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,0.10);
min-width: 200px; padding: 6px 0; z-index: 200;
}
.bmc-dropdown:hover .bmc-dropdown-menu { display: block; }
.bmc-dropdown-menu a {
display: block !important; padding: 8px 18px; font-size: 0.83rem; color: #333 !important;
transition: background 0.12s; text-decoration: none !important;
}
.bmc-dropdown-menu a:hover { background: #faf0f0; color: #a31f34 !important; text-decoration: none !important; }
.bmc-dropdown-menu .bmc-divider { border-top: 1px solid #eee; margin: 4px 0; }
.bmc-dropdown-menu .bmc-group-label {
padding: 6px 18px 2px; font-size: 0.7rem;
font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.05em;
}
/* Page hero */
.bmc-page-hero {
background: linear-gradient(135deg, #a31f34 0%, #7a1626 100%);
color: #fff; padding: 40px 0 36px;
}
.bmc-page-hero .inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.bmc-breadcrumb { font-size: 0.78rem; margin-bottom: 10px; opacity: 0.75; }
.bmc-breadcrumb a { color: #fff !important; }
.bmc-breadcrumb .sep { margin: 0 6px; }
.bmc-page-hero h1 {
font-size: 2rem; font-weight: 700; letter-spacing: -0.5px;
color: #fff !important; margin: 0; padding: 0; border: none;
}
/* Page layout */
.bmc-page-layout {
max-width: 1140px; margin: 0 auto; padding: 40px 24px 80px;
display: grid; grid-template-columns: 220px 1fr; gap: 40px;
}
/* Sidebar TOC */
.bmc-sidebar { position: sticky; top: 84px; align-self: start; }
.bmc-toc {
background: #f9f9f9; border: 1px solid #e8e8e8;
border-radius: 8px; padding: 20px;
}
.bmc-toc h3 {
font-size: 0.78rem; font-weight: 700; text-transform: uppercase;
letter-spacing: 0.08em; color: #999; margin-bottom: 12px;
border: none; background: none; padding: 0;
}
.bmc-toc ul { list-style: none; margin: 0; padding: 0; }
.bmc-toc ul li { margin-bottom: 2px; }
.bmc-toc ul li a {
font-size: 0.82rem; color: #444 !important; padding: 4px 8px; display: block;
border-radius: 4px; transition: background 0.12s, color 0.12s;
text-decoration: none !important;
}
.bmc-toc ul li a:hover { background: #f0e8ea; color: #a31f34 !important; text-decoration: none !important; }
.bmc-toc ul li.bmc-sub a { padding-left: 20px; color: #666 !important; font-size: 0.78rem; }
/* Content area */
.bmc-content { min-width: 0; }
.bmc-content h2 {
font-size: 1.35rem; font-weight: 700; color: #1a1a1a;
padding-bottom: 10px; border-bottom: 2px solid #a31f34;
margin: 48px 0 18px; letter-spacing: -0.2px;
scroll-margin-top: 88px;
background: none; box-shadow: none; border-left: none; border-radius: 0;
}
.bmc-content h2:first-child { margin-top: 0; }
.bmc-content h3 {
font-size: 1rem; font-weight: 600; color: #1a1a1a;
margin: 28px 0 10px; scroll-margin-top: 88px;
}
.bmc-content p { margin-bottom: 14px; font-size: 0.9rem; color: #333; }
.bmc-content p:last-child { margin-bottom: 0; }
/* ── 3. Wiki content typography (inside .bmc-content) ────────── */
.bmc-content .mw-parser-output {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 0.9rem;
line-height: 1.6;
color: #333;
}
.bmc-content .mw-parser-output h2 {
font-size: 1.35rem; font-weight: 700; color: #1a1a1a;
padding-bottom: 10px; border-bottom: 2px solid #a31f34 !important;
border-left: none !important; border-top: none !important; border-right: none !important;
margin: 48px 0 18px; letter-spacing: -0.2px;
scroll-margin-top: 88px;
background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
.bmc-content .mw-parser-output h2:first-child { margin-top: 0; }
.bmc-content .mw-parser-output h3 {
font-size: 1rem; font-weight: 600; color: #1a1a1a; margin: 28px 0 10px;
}
.bmc-content .mw-parser-output h4 {
font-size: 0.88rem; font-weight: 700; color: #a31f34; margin-bottom: 6px;
}
.bmc-content .mw-parser-output p { margin-bottom: 14px; font-size: 0.9rem; color: #333; }
.bmc-content .mw-parser-output a { color: #a31f34 !important; }
.bmc-content .mw-parser-output a:hover { text-decoration: underline !important; }
.bmc-content .mw-parser-output ul,
.bmc-content .mw-parser-output ol { margin: 0 0 14px 24px; font-size: 0.9rem; color: #333; }
.bmc-content .mw-parser-output li { margin-bottom: 4px; }
/* Edit section links */
.bmc-content .mw-editsection {
display: inline !important;
font-size: 0.72rem;
margin-left: 8px;
}
.bmc-content .mw-editsection a { color: #999 !important; font-size: 0.72rem !important; }
.bmc-content .mw-editsection a:hover { color: #a31f34 !important; }
.bmc-content .mw-editsection-bracket { color: #ccc; }
/* Wiki TOC (if kept inside content) */
.bmc-content #toc,
.bmc-content .toc {
background: #f9f9f9; border: 1px solid #e8e8e8;
border-radius: 8px; padding: 20px;
display: inline-block; min-width: 200px;
margin: 0 0 24px;
}
.bmc-content .toctitle h2 {
font-size: 0.78rem !important; font-weight: 700 !important;
text-transform: uppercase !important; letter-spacing: 0.08em !important;
color: #999 !important; margin-bottom: 12px !important;
border: none !important; background: none !important; padding: 0 !important;
}
.bmc-content #toc ul, .bmc-content .toc ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.bmc-content #toc ul li a, .bmc-content .toc ul li a {
font-size: 0.82rem !important; color: #444 !important; padding: 4px 8px !important;
display: block !important; border-radius: 4px !important;
transition: background 0.12s !important;
}
.bmc-content #toc ul li a:hover, .bmc-content .toc ul li a:hover {
background: #f0e8ea !important; color: #a31f34 !important; text-decoration: none !important;
}
/* Tables */
.bmc-content .wikitable,
.bmc-content .mw-parser-output table {
border-collapse: collapse; width: 100%; margin: 16px 0;
font-size: 0.88rem; border: 1px solid #e8e8e8; border-radius: 8px; overflow: hidden;
}
.bmc-content .wikitable th,
.bmc-content .mw-parser-output table th {
background: #a31f34; color: #fff; font-weight: 600;
padding: 10px 14px; text-align: left; border: none; font-size: 0.85rem;
}
.bmc-content .wikitable td,
.bmc-content .mw-parser-output table td {
padding: 9px 14px; border: none;
border-bottom: 1px solid #f0f0f0; vertical-align: top; color: #333;
}
.bmc-content .wikitable tr:nth-child(even) td,
.bmc-content .mw-parser-output table tr:nth-child(even) td { background: #fafafa; }
.bmc-content .wikitable tr:last-child td,
.bmc-content .mw-parser-output table tr:last-child td { border-bottom: none; }
/* Code */
.bmc-content .mw-parser-output code,
.bmc-content .mw-parser-output pre,
.bmc-content .mw-parser-output tt {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
background: #f4f4f4; border: 1px solid #e8e8e8; border-radius: 4px; font-size: 0.85rem;
}
.bmc-content .mw-parser-output code,
.bmc-content .mw-parser-output tt { padding: 1px 5px; }
.bmc-content .mw-parser-output pre { padding: 12px 16px; overflow-x: auto; }
/* ── 4. Component classes (for wiki editors to use in markup) ── */
/* Service cards */
.service-grid {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
margin: 20px 0 28px;
}
.service-card {
background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px;
padding: 20px 22px; transition: border-color 0.15s, box-shadow 0.15s;
}
.service-card:hover { border-color: #c8a0a8; box-shadow: 0 2px 10px rgba(163,31,52,0.07); }
.service-card h4 { font-size: 0.88rem; font-weight: 700; color: #a31f34; margin-bottom: 6px; }
.service-card p { font-size: 0.82rem; color: #555; margin: 0; line-height: 1.5; }
/* Staff grid */
.staff-section { margin-bottom: 32px; }
.staff-section h3 { margin-bottom: 16px; }
.staff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.staff-card { background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px 18px; }
.staff-card .staff-name { font-size: 0.88rem; font-weight: 700; color: #1a1a1a; }
.staff-card .staff-role { font-size: 0.78rem; color: #666; margin-top: 3px; line-height: 1.4; }
.staff-card.director {
grid-column: 1 / -1; background: #fdf5f6;
border-color: #d4a0a8; display: flex; align-items: center; gap: 18px;
}
.director-badge {
width: 44px; height: 44px; background: #a31f34; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
color: #fff; font-weight: 700; font-size: 1rem; flex-shrink: 0;
}
.staff-card.director .staff-name { font-size: 1rem; }
.staff-card.director .staff-role { font-size: 0.82rem; color: #7a1626; font-weight: 500; }
/* Publication list */
.pub-list { list-style: none; margin: 0; padding: 0; }
.pub-list li { padding: 14px 0; border-bottom: 1px solid #f0f0f0; font-size: 0.85rem; }
.pub-list li:last-child { border-bottom: none; }
.pub-list .pub-lab { font-weight: 700; color: #1a1a1a; }
.pub-list .pub-desc { color: #444; margin-top: 3px; line-height: 1.5; }
.pub-list .pub-cite {
display: inline-block; margin-top: 5px; font-size: 0.75rem;
background: #f0f0f0; color: #555; padding: 2px 8px; border-radius: 10px;
}
/* Affiliations */
.affil-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 18px 0 24px; }
.affil-card { background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px 18px; }
.affil-card .affil-name { font-size: 0.85rem; font-weight: 700; color: #1a1a1a; }
.affil-card .affil-rep { font-size: 0.78rem; color: #666; margin-top: 4px; }
/* Note boxes */
.note {
background: #fdf6f0; border-left: 3px solid #e07b39;
padding: 10px 14px; border-radius: 0 6px 6px 0;
font-size: 0.82rem; color: #555; margin: 12px 0 18px;
}
.note strong { color: #c0622a; }
.note.note-info { background: #f0f6ff; border-left-color: #3b7dd8; }
/* Contact block */
.contact-block {
background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 8px;
padding: 22px 24px; display: flex; gap: 40px; flex-wrap: wrap; font-size: 0.85rem;
}
.contact-item { display: flex; flex-direction: column; gap: 3px; }
.contact-item .label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: #999; }
.contact-item .value { color: #1a1a1a; font-weight: 500; }
.contact-item a { color: #a31f34 !important; }
/* ── 5. Footer ───────────────────────────────────────────────── */
.bmc-footer { background: #1a1a1a; color: #aaa; padding: 40px 0; font-size: 0.82rem; }
.bmc-footer-inner {
max-width: 1140px; margin: 0 auto; padding: 0 24px;
display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px;
}
.bmc-footer h4 {
font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
letter-spacing: 0.08em; color: #fff; margin-bottom: 12px;
}
.bmc-footer ul { list-style: none; margin: 0; padding: 0; }
.bmc-footer ul li { margin-bottom: 6px; }
.bmc-footer ul li a { color: #aaa !important; }
.bmc-footer ul li a:hover { color: #fff !important; text-decoration: none !important; }
.bmc-footer-bottom {
max-width: 1140px; margin: 24px auto 0; padding: 20px 24px 0;
border-top: 1px solid #333; display: flex;
justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: 8px; font-size: 0.77rem; color: #666;
}
.bmc-footer-bottom a { color: #aaa !important; }
.bmc-footer-bottom a:hover { color: #fff !important; }
/* ── 6. Responsive ──────────────────────────────────────────── */
@media (max-width: 860px) {
.bmc-page-layout { grid-template-columns: 1fr; }
.bmc-sidebar { position: static; }
.staff-grid { grid-template-columns: repeat(2, 1fr); }
.bmc-footer-inner { grid-template-columns: 1fr 1fr; }
.bmc-nav { display: none; }
.bmc-search-form input[type="search"] { width: 120px; }
}
@media (max-width: 580px) {
.bmc-footer-inner { grid-template-columns: 1fr; }
.bmc-page-hero h1 { font-size: 1.5rem; }
.service-grid, .staff-grid, .affil-grid { grid-template-columns: 1fr; }
.staff-card.director { flex-direction: column; }
.contact-block { flex-direction: column; gap: 16px; }
.bmc-search-form { display: none; }
}