MediaWiki:Common.css: Difference between revisions
No edit summary |
No edit summary |
||
| (36 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
max-width: 1200px; | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
font-size: 15px; | font-size: 15px; | ||
line-height: 1.55; | line-height: 1.55; | ||
| Line 23: | Line 21: | ||
} | } | ||
/* HERO */ | /* ============================================================ | ||
HERO | |||
============================================================ */ | |||
.bc-hero { | .bc-hero { | ||
background: linear-gradient(135deg, #226065 0%, #1f4b4f 60%, #17373a 100%); | background: linear-gradient(135deg, #226065 0%, #1f4b4f 60%, #17373a 100%); | ||
border-radius: 16px; | border-radius: 16px; | ||
padding: 22px | padding: 28px 28px 22px 28px; /* more breathing room */ | ||
color: #fff; | color: #fff; | ||
box-shadow: 0 10px 30px rgba(0,0,0,.15); | box-shadow: 0 10px 30px rgba(0,0,0,.15); | ||
| Line 33: | Line 34: | ||
.bc-hero h1 { | .bc-hero h1 { | ||
margin: 0 0 | margin: 0 0 10px 0; | ||
font-size: | font-size: 34px; | ||
line-height: 1. | line-height: 1.12; | ||
} | } | ||
| Line 42: | Line 42: | ||
margin: 0; | margin: 0; | ||
opacity: .92; | opacity: .92; | ||
font-size: | font-size: 16px; | ||
line-height: 1.55; | |||
margin-top: 2px; | |||
margin-bottom: 14px; | |||
} | } | ||
.bc-hero .bc-meta { | .bc-hero .bc-meta { | ||
margin-top: 10px; | margin-top: 10px; | ||
margin-bottom: 14px; | |||
font-size: 13px; | font-size: 13px; | ||
opacity: .9; | opacity: .9; | ||
| Line 53: | Line 56: | ||
.bc-hero .bc-kicker { | .bc-hero .bc-kicker { | ||
font-size: 13px; | font-size: 13px; | ||
letter-spacing: .06em; | letter-spacing: .06em; | ||
text-transform: uppercase; | text-transform: uppercase; | ||
| Line 60: | Line 63: | ||
} | } | ||
/* Pills */ | /* ============================================================ | ||
HERO readability fixes (force high-contrast text + links) | |||
============================================================ */ | |||
.bc-hero, | |||
.bc-hero * { | |||
color: rgba(255,255,255,.92) !important; | |||
} | |||
.bc-hero h1, | |||
.bc-hero h2, | |||
.bc-hero h3 { | |||
color: #fff !important; | |||
} | |||
.bc-hero a, | |||
.bc-hero a:visited { | |||
color: rgba(255,255,255,.95) !important; | |||
text-decoration: underline; | |||
text-decoration-color: rgba(255,255,255,.35); | |||
text-underline-offset: 2px; | |||
} | |||
.bc-hero a:hover, | |||
.bc-hero a:focus { | |||
color: #fff !important; | |||
text-decoration-color: rgba(255,255,255,.65); | |||
} | |||
.bc-hero .bc-meta, | |||
.bc-hero .bc-kicker { | |||
color: rgba(255,255,255,.80) !important; | |||
} | |||
/* Remove MediaWiki heading underline inside hero */ | |||
.bc-hero h1, | |||
.bc-hero h2, | |||
.bc-hero .mw-heading1, | |||
.bc-hero .mw-heading2 { | |||
border-bottom: none !important; | |||
padding-bottom: 0 !important; | |||
} | |||
/* ============================================================ | |||
Pills (UPDATED: bigger + more padding + guaranteed wrap) | |||
============================================================ */ | |||
.bc-pillrow { | .bc-pillrow { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: | gap: 10px 12px; /* prevents overlap + adds breathing room */ | ||
margin-top: 10px; | margin-top: 10px; | ||
} | } | ||
.bc-pill { | .bc-pill { | ||
display: inline- | display: inline-flex; | ||
padding: | align-items: center; | ||
justify-content: center; | |||
margin: 5px; | |||
padding: 8px 14px; /* bigger click target */ | |||
border-radius: 999px; | border-radius: 999px; | ||
border: 1px solid rgba(255,255,255,. | border: 1px solid rgba(255,255,255,.22); | ||
background: rgba(255,255,255,. | background: rgba(255,255,255,.14); | ||
font-size: | |||
line-height: 1. | font-size: 14px; /* slightly larger */ | ||
line-height: 1.1; | |||
white-space: nowrap; | white-space: nowrap; | ||
box-shadow: inset 0 1px 0 rgba(255,255,255,.10); | |||
transition: background .15s ease, transform .12s ease, box-shadow .12s ease, border-color .12s ease; | |||
} | } | ||
.bc-pill a { | /* Force pill link color across normal/visited/hover/focus */ | ||
.bc-pill a, | |||
.bc-pill a:visited { | |||
color: #fff !important; | |||
text-decoration: none !important; | |||
} | |||
.bc-pill a:hover, | |||
.bc-pill a:focus { | |||
color: #fff !important; | color: #fff !important; | ||
text-decoration: none; | text-decoration: none !important; | ||
} | } | ||
.bc-pill:hover { | .bc-pill:hover { | ||
background: rgba(255,255,255,. | background: rgba(255,255,255,.22); | ||
border-color: rgba(255,255,255,. | border-color: rgba(255,255,255,.30); | ||
transform: translateY(-1px); | |||
box-shadow: 0 4px 12px rgba(0,0,0,.18); | |||
} | |||
/* Slightly roomier on small screens (helps long labels) */ | |||
@media (max-width: 600px) { | |||
.bc-pill { | |||
padding: 9px 16px; | |||
font-size: 13px; | |||
} | |||
} | |||
/* ============================================================ | |||
HERO – center alignment | |||
============================================================ */ | |||
.bc-hero { | |||
text-align: center; | |||
} | |||
/* Center meta + kicker text */ | |||
.bc-hero .bc-meta, | |||
.bc-hero .bc-kicker { | |||
text-align: center; | |||
} | |||
/* Center pill rows and wrapped pills */ | |||
.bc-hero .bc-pillrow { | |||
justify-content: center; /* centers pills horizontally */ | |||
} | |||
/* Optional: keep max-width content visually centered */ | |||
.bc-hero p { | |||
margin-left: auto; | |||
margin-right: auto; | |||
} | } | ||
/* Cards | /* ============================================================ | ||
Layout / Cards | |||
============================================================ */ | |||
.bc-grid { | .bc-grid { | ||
display: grid; | display: grid; | ||
| Line 120: | Line 221: | ||
} | } | ||
.bc-card h2 { | .bc-card h2 { | ||
margin: 0 0 10px 0; | margin: 0 0 10px 0; | ||
font-size: 18px; | font-size: 18px; | ||
} | } | ||
| Line 130: | Line 229: | ||
margin: 14px 0 8px 0; | margin: 14px 0 8px 0; | ||
font-size: 15px; | font-size: 15px; | ||
} | } | ||
.bc-subtle { | .bc-subtle { | ||
color: #555; | color: #555; | ||
font-size: 13px; | font-size: 13px; | ||
} | } | ||
.bc-mini { | .bc-mini { | ||
font-size: 12px; | font-size: 12px; | ||
color: #666; | color: #666; | ||
} | } | ||
/* | /* ============================================================ | ||
Buttons | |||
============================================================ */ | |||
.bc-btngrid { | .bc-btngrid { | ||
display: grid; | display: grid; | ||
| Line 199: | Line 274: | ||
display: block; | display: block; | ||
font-size: 14px; | font-size: 14px; | ||
} | } | ||
.bc-btn span { | .bc-btn span { | ||
font-size: 13px; | |||
font-size: | |||
color: #555; | color: #555; | ||
} | } | ||
/* | /* ============================================================ | ||
. | Section color accents (subtle, modern) | ||
. | ============================================================ */ | ||
margin: 0; | |||
padding-left: | .bc-card[class*="bc-accent-"] { | ||
background-clip: padding-box; | |||
} | |||
.bc-accent-aci { | |||
border-left: 6px solid #2563eb; | |||
background: linear-gradient(90deg, rgba(37,99,235,.04), rgba(255,255,255,0) 35%); | |||
} | |||
.bc-accent-ace { | |||
border-left: 6px solid #dc2626; | |||
background: linear-gradient(90deg, rgba(220,38,38,.04), rgba(255,255,255,0) 35%); | |||
} | |||
.bc-accent-ib { | |||
border-left: 6px solid #7c3aed; | |||
background: linear-gradient(90deg, rgba(124,58,237,.04), rgba(255,255,255,0) 35%); | |||
} | |||
.bc-accent-onboard { | |||
border-left: 6px solid #f59e0b; | |||
background: linear-gradient(90deg, rgba(245,158,11,.05), rgba(255,255,255,0) 35%); | |||
} | |||
.bc-accent-ref { | |||
border-left: 6px solid #334155; | |||
background: linear-gradient(90deg, rgba(51,65,85,.035), rgba(255,255,255,0) 35%); | |||
} | |||
.bc-accent-soft { | |||
border-left: 6px solid #0f766e; | |||
background: linear-gradient(90deg, rgba(15,118,110,.04), rgba(255,255,255,0) 35%); | |||
} | |||
/* ============================================================ | |||
HEADER — LARGE LOGO, TIGHT HEIGHT, PERFECTLY BODY-ALIGNED | |||
============================================================ */ | |||
/* Hide default Vector wordmark/tagline */ | |||
.mw-logo-wordmark, | |||
.mw-logo-tagline { | |||
display: none !important; | |||
} | |||
/* Disable logo link */ | |||
.mw-logo a, | |||
.mw-logo a * { | |||
pointer-events: none !important; | |||
cursor: default !important; | |||
} | |||
/* Use Vector’s own layout width so header & body match exactly */ | |||
.vector-header { | |||
background: #fff; | |||
box-sizing: border-box !important; | |||
} | |||
.vector-header-container { | |||
max-width: var(--width-layout) !important; | |||
margin-left: auto !important; | |||
margin-right: auto !important; | |||
width: 100% !important; | |||
padding-left: var(--padding-inline-page-container, 16px) !important; | |||
padding-right: var(--padding-inline-page-container, 16px) !important; | |||
box-sizing: border-box !important; | |||
} | |||
/* Header height control */ | |||
.mw-header { | |||
height: 90px; | |||
padding-top: 0 !important; | |||
padding-bottom: 0 !important; | |||
overflow: visible !important; | |||
} | |||
/* Prevent Vector forcing tall minimums */ | |||
.mw-header, | |||
.vector-header, | |||
.vector-header-container { | |||
min-height: unset !important; | |||
} | |||
/* Left cluster flush */ | |||
.vector-header-start { | |||
margin-left: 0 !important; | |||
padding-left: 0 !important; | |||
} | } | ||
. | /* Hamburger safety */ | ||
margin: | #mw-panel-button, | ||
.vector-main-menu-dropdown { | |||
margin-left: 0 !important; | |||
} | } | ||
/* | /* Logo sizing */ | ||
. | .mw-logo { | ||
display: flex; | |||
align-items: center; | |||
height: 100%; | |||
} | } | ||
.mw-logo img, | |||
#p-logo img { | |||
height: 135px !important; | |||
width: auto; | |||
max-height: none; | |||
} | } | ||
/* Night mode | |||
/* ============================================================ | |||
Night mode | |||
============================================================ */ | |||
@media screen { | @media screen { | ||
html.skin-theme-clientpref-night .bc-card { | html.skin-theme-clientpref-night .bc-card { | ||
background-color: #171a1d; | background-color: #171a1d; | ||
border-color: #3a3a3a; | border-color: #3a3a3a; | ||
} | |||
html.skin-theme-clientpref-night .bc-card[class*="bc-accent-"] { | |||
background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(0,0,0,0) 35%); | |||
} | } | ||
| Line 245: | Line 412: | ||
html.skin-theme-clientpref-night .bc-btn span { | html.skin-theme-clientpref-night .bc-btn span { | ||
color: #cfcfcf; | color: #cfcfcf; | ||
} | |||
} | |||
/* ============================================================ | |||
Remove empty paragraphs before hero on main page | |||
============================================================ */ | |||
.mw-parser-output > p:empty, | |||
.mw-parser-output > p > br:only-child { | |||
display: none; | |||
} | |||
.mw-parser-output > .bc-hero:first-child { | |||
margin-top: 0 !important; | |||
} | |||
/* Make InputBox search match hero styling */ | |||
.bc-hero-search .mw-inputbox-input { | |||
width: 100% !important; | |||
height: 46px; | |||
border-radius: 12px; | |||
border: 1px solid rgba(255,255,255,.22); | |||
background: rgba(255,255,255,.10); | |||
color: #fff; | |||
padding: 0 14px; | |||
outline: none; | |||
} | |||
.bc-hero-search .mw-inputbox-input::placeholder { | |||
color: rgba(255,255,255,.70); | |||
} | |||
.bc-hero-search .mw-inputbox-button { | |||
height: 46px; | |||
padding: 0 16px; | |||
border-radius: 12px; | |||
border: 1px solid rgba(255,255,255,.22); | |||
background: rgba(255,255,255,.16); | |||
color: #fff; | |||
font-weight: 700; | |||
cursor: pointer; | |||
white-space: nowrap; | |||
} | } | ||
.bc-hero-search .mw-inputbox-button:hover { | |||
background: | background: rgba(255,255,255,.22); | ||
border-color: rgba(255,255,255,. | border-color: rgba(255,255,255,.30); | ||
} | } | ||
/* ============================================================ | |||
Internet link grid | |||
============================================================ */ | |||
.bc-linkgrid{ | |||
display:grid; | |||
grid-template-columns:repeat(3,minmax(0,1fr)); | |||
gap:12px; | |||
margin-top:10px; | |||
} | } | ||
@media (max-width: 900px){ .bc-linkgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } } | |||
@media (max-width: 560px){ .bc-linkgrid{ grid-template-columns:1fr; } } | |||
/* Tile wrapper */ | |||
.bc-linktile{} | |||
/* The <a> that MediaWiki generates inside each tile */ | |||
.bc-linktile > a{ | |||
display:flex; | |||
gap:12px; | |||
align-items:flex-start; | |||
padding:12px; | |||
border-radius:14px; | |||
background:rgba(255,255,255,.85); | |||
border:1px solid rgba(0,0,0,.08); | |||
text-decoration:none !important; | |||
color:inherit !important; | |||
transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; | |||
min-height:84px; | |||
} | } | ||
/* Remove MediaWiki external-link icon and any default background */ | |||
.bc-linktile > a.external{ | |||
background-image:none !important; | |||
padding-right:12px; /* prevents MW from reserving space */ | |||
} | |||
.bc-linktile > a.external::after{ display:none !important; } | |||
.bc-linktile > a:hover{ | |||
transform:translateY(-1px); | |||
box-shadow:0 10px 24px rgba(0,0,0,.10); | |||
border-color:rgba(34,96,101,.28); | |||
} | |||
.bc-linkicon{ | |||
width:38px; | |||
height:38px; | |||
min-width:38px; | |||
display:flex; | |||
align-items:center; | |||
justify-content:center; | |||
border-radius:12px; | |||
background:rgba(34,96,101,.10); | |||
font-size:18px; | |||
line-height:1; | |||
} | |||
.bc-linktext{ display:block; } | |||
.bc-linktitle{ | |||
display:block; | |||
font-weight:700; | |||
font-size:15px; | |||
line-height:1.15; | |||
} | |||
.bc-linkdesc{ | |||
display:block; | |||
margin-top:4px; | |||
font-size:13px; | |||
line-height:1.35; | |||
opacity:.85; | |||
} | |||
/* ============================================================ | |||
Wikipedia-style infobox | |||
(restores float-right + wrap + smaller type) | |||
============================================================ */ | |||
.mw-parser-output .infobox { | |||
float: right; | |||
clear: right; | |||
width: 22em; | |||
margin: 0 0 1em 1em; | |||
font-size: 88%; | |||
line-height: 1.35; | |||
border: 1px solid var(--border-color-base, #a2a9b1); | |||
background: var(--background-color-base, #f8f9fa); | |||
color: inherit; | |||
border-spacing: 3px; | |||
} | |||
.mw-parser-output .infobox caption, | |||
.mw-parser-output .infobox > caption { | |||
font-size: 125%; | |||
font-weight: 700; | |||
text-align: center; | |||
padding: .2em; | |||
} | |||
.mw-parser-output .infobox th, | |||
.mw-parser-output .infobox td { | |||
padding: .25em .4em; | |||
vertical-align: top; | |||
} | |||
.mw-parser-output .infobox th { | |||
text-align: left; | |||
font-weight: 700; | |||
white-space: nowrap; | |||
} | |||
.mw-parser-output .infobox td { | |||
text-align: left; | |||
} | |||
.mw-parser-output .infobox .infobox-image, | |||
.mw-parser-output .infobox .infobox-above, | |||
.mw-parser-output .infobox .infobox-header, | |||
.mw-parser-output .infobox .infobox-subheader { | |||
text-align: center; | |||
} | |||
.mw-parser-output .infobox a.image img { | |||
height: auto; | |||
max-width: 100%; | |||
} | } | ||