MediaWiki:Common.css
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* =========================================================
Vector 2022: Center header search WITHOUT moving user tools
========================================================= */
/* Use Vector's real header row as the layout context */
.vector-header {
position: relative !important;
display: flex !important;
align-items: center !important;
}
/* Force the right-side tools to remain FAR RIGHT */
.vector-header-end {
margin-left: auto !important;
display: flex !important;
align-items: center !important;
justify-content: flex-end !important;
}
/* Center ONLY the actual search box (do NOT touch wrappers like [role="search"]) */
.vector-header .vector-search-box,
.vector-header .vector-search-box-vue,
.vector-header #p-search {
position: absolute !important;
left: 38.7% !important;
top: 50% !important;
transform: translate(-50%, -50%) !important;
margin: 0 !important;
z-index: 1 !important;
width: min(620px, calc(100vw - 760px)) !important;
}
/* Keep user tools clickable above any overlap */
.vector-header-end,
.vector-user-links,
.vector-user-menu,
#p-personal {
position: relative !important;
z-index: 2 !important;
}
/* Mobile: revert to normal flow */
@media (max-width: 900px) {
.vector-header .vector-search-box,
.vector-header .vector-search-box-vue,
.vector-header #p-search {
position: static !important;
transform: none !important;
width: 100% !important;
margin-top: 8px !important;
}
}
/* =========================================================
Lumenward visual policy (grayscale-only)
========================================================= */
/* Logo text always black */
.mw-logo a,
.mw-logo a:visited,
.mw-logo a:hover,
.mw-logo a:active {
color: #000 !important;
text-decoration: none !important;
}
/* Links: grayscale only */
a { color: #111 !important; }
a:visited { color: #333 !important; }
a:hover,
a:focus {
color: #111 !important;
text-decoration: underline !important;
}
/* TOC links specifically */
.vector-toc a,
.vector-toc a:visited,
#toc a,
#toc a:visited {
color: #111 !important;
}
/* Footer centered on every page */
#footer { text-align: center !important; }
#footer ul,
#footer-info,
#footer-places,
#footer-icons {
float: none !important;
display: inline-block !important;
text-align: center !important;
margin-left: auto !important;
margin-right: auto !important;
}
#footer li {
float: none !important;
display: inline !important;
margin: 0 8px !important;
}
/* =========================================================
Lumenward – Person Infobox (clean card style)
========================================================= */
/* Main infobox card */
.infobox {
float: right;
clear: right;
width: 270px;
margin: 4.5em 4.5em 1.5em 1.5em; /* aligns with first paragraph */
background: #fafafa;
border: 1px solid #e5e5e5;
border-radius: 10px;
box-shadow: 0 4px 18px rgba(0,0,0,0.04);
font-size: 0.92em;
}
/* Title header */
.infobox th[colspan] {
background: #f2f2f2;
font-weight: 600;
text-align: center;
padding: 10px 8px;
border-bottom: 1px solid #e0e0e0;
border-radius: 10px 10px 0 0;
}
/* Image row container */
.infobox .infobox-image,
.infobox td[colspan]:has(img) {
padding: 12px;
background: #f8f8f8;
border-bottom: 1px solid #e6e6e6;
}
/* Image itself */
.infobox img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
border-radius: 6px;
}
/* Data rows */
.infobox th {
text-align: left;
font-weight: 600; /* titles bold */
padding: 6px 10px;
vertical-align: top;
width: 40%;
white-space: nowrap;
}
.infobox td {
padding: 6px 10px;
vertical-align: top;
}
/* Remove ugly borders */
.infobox tr {
border: none;
}
/* Subtle row separators */
.infobox tr:not(:last-child) td,
.infobox tr:not(:last-child) th {
border-bottom: 1px solid #ededed;
}
.mw-parser-output .infobox {
margin-top: 28px !important; /* increase to move it down */
}
/* Hide category links at bottom of pages */
.catlinks {
display: none;
}
/* Lumenward: soften category appearance */
#mw-normal-catlinks {
font-size: 0.9em;
color: #555;
border-top: 1px solid #e5e5e5;
margin-top: 2em;
padding-top: 0.5em;
}
#mw-normal-catlinks a {
color: #555;
}
/* Lumenward: Wikipedia-like category styling */
#mw-normal-catlinks {
margin-top: 2.5em;
padding-top: 0.6em;
border-top: 1px solid #ddd;
font-size: 0.85em;
color: #666;
}
#mw-normal-catlinks::before {
content: "Categories: ";
font-weight: 600;
color: #444;
}
#mw-normal-catlinks a {
color: #555;
text-decoration: none;
}
#mw-normal-catlinks a:hover {
text-decoration: underline;
}
#lumenward-header-links a {
color: #000 !important;
}
/* =========================================
Lumenward header links — match logo hue
Logo color: #32302f
========================================= */
#lumenward-header-links a,
#lumenward-header-links a:link,
#lumenward-header-links a:visited,
#lumenward-header-links a:hover,
#lumenward-header-links a:active {
color: #32302f !important;
text-decoration: none;
font-weight: 600;
}
/* Optional: subtle hover affordance without color shift */
#lumenward-header-links a:hover {
text-decoration: underline;
}
/* =========================================================
Lumenward: Special pages + OOUI/Codex token overrides
Put ONLY in MediaWiki:Common.css
========================================================= */
:root {
--lw-text: #32302f;
--lw-muted: #6f6a66;
--lw-bg: #ffffff;
--lw-border: #e6e1dc;
--lw-input-border: #cfc7c0;
--lw-focus: rgba(50,48,47,.22);
/* Codex-ish tokens (safe if some are unused) */
--color-base: var(--lw-text);
--color-subtle: var(--lw-muted);
--border-color-base: var(--lw-input-border);
--border-color-subtle: var(--lw-border);
--background-color-base: var(--lw-bg);
--background-color-interactive: #fff;
--background-color-interactive-subtle: #fff;
--color-progressive: var(--lw-text);
}
/* Base on ALL pages (helps backend containers too) */
html, body,
.mw-page-container, .mw-body, .mw-body-content, #content {
background: var(--lw-bg) !important;
color: var(--lw-text) !important;
}
/* Special pages explicitly */
body.mw-specialpage,
body.mw-specialpage .mw-page-container,
body.mw-specialpage .mw-body,
body.mw-specialpage #content {
background: var(--lw-bg) !important;
color: var(--lw-text) !important;
}
/* Links on special pages */
body.mw-specialpage a,
body.mw-specialpage a:visited {
color: var(--lw-text) !important;
}
/* Nuke “standard” form look on special pages: target everything form-like */
body.mw-specialpage input,
body.mw-specialpage select,
body.mw-specialpage textarea,
body.mw-specialpage button {
font: inherit;
}
/* Native form elements */
body.mw-specialpage input[type="text"],
body.mw-specialpage input[type="password"],
body.mw-specialpage input[type="email"],
body.mw-specialpage input[type="search"],
body.mw-specialpage textarea,
body.mw-specialpage select {
background: #fff !important;
color: var(--lw-text) !important;
border: 1px solid var(--lw-input-border) !important;
border-radius: 6px !important;
}
body.mw-specialpage input:focus,
body.mw-specialpage textarea:focus,
body.mw-specialpage select:focus {
outline: none !important;
box-shadow: 0 0 0 3px var(--lw-focus) !important;
border-color: var(--lw-text) !important;
}
/* OOUI widgets */
body.mw-specialpage .oo-ui-inputWidget-input,
body.mw-specialpage .oo-ui-textInputWidget input,
body.mw-specialpage .oo-ui-textInputWidget textarea,
body.mw-specialpage .oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle {
background: #fff !important;
color: var(--lw-text) !important;
border-color: var(--lw-input-border) !important;
border-radius: 6px !important;
}
/* Codex widgets (newer MW screens use these) */
body.mw-specialpage .cdx-text-input__input,
body.mw-specialpage .cdx-select__handle,
body.mw-specialpage .cdx-text-area__textarea {
background: #fff !important;
color: var(--lw-text) !important;
border-color: var(--lw-input-border) !important;
border-radius: 6px !important;
}
/* Labels + help text */
body.mw-specialpage label,
body.mw-specialpage .oo-ui-labelElement-label,
body.mw-specialpage .cdx-label__label {
color: var(--lw-text) !important;
}
body.mw-specialpage .mw-htmlform-help,
body.mw-specialpage .oo-ui-fieldLayout-helpText,
body.mw-specialpage .cdx-label__description {
color: var(--lw-muted) !important;
}
/* Buttons */
body.mw-specialpage .mw-ui-button,
body.mw-specialpage .oo-ui-buttonElement-button,
body.mw-specialpage .cdx-button {
border-radius: 6px !important;
border-color: var(--lw-input-border) !important;
}
/* Progressive buttons */
body.mw-specialpage .mw-ui-button.mw-ui-progressive,
body.mw-specialpage .mw-ui-button.mw-ui-primary,
body.mw-specialpage .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button,
body.mw-specialpage .cdx-button--action-progressive {
background: var(--lw-text) !important;
border-color: var(--lw-text) !important;
color: #fff !important;
}