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.
/* --- BORDERCONNECT MODERN WIKI THEME (TEAL BRANDING) --- */
:root {
--bc-blue: #266065; /* BRAND COLOR: Teal */
--bc-blue-dark: #163a3d; /* DARKER SHADE: Deep Green/Slate */
--bc-accent: #eef5f6; /* Light background */
/* ... keep your other variables the same ... */
--bc-text: #2c3e50;
--bc-text-muted: #546e7a;
--bc-bg-page: #f4f7f9;
--bc-radius: 8px;
--bc-shadow: 0 4px 12px rgba(0,0,0,0.08);
--bc-shadow-hover: 0 10px 20px rgba(0,0,0,0.12);
}
/* Global Wrapper - Creates the "Surface" for cards to sit on */
.bc-wrap {
max-width: 1240px;
margin: 0 auto;
font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
color: var(--bc-text);
line-height: 1.6;
background-color: var(--bc-bg-page); /* The light gray background you asked for */
padding: 30px;
border-radius: var(--bc-radius);
}
/* --- HERO SECTION --- */
.bc-hero {
/* The Gradient: Starts with Brand Color, flows to Dark Slate */
background: linear-gradient(120deg, var(--bc-blue) 0%, var(--bc-blue-dark) 100%);
color: white;
padding: 60px 30px;
border-radius: var(--bc-radius);
margin-bottom: 40px;
/* Deep shadow + bottom border for 3D effect */
box-shadow: 0 10px 25px rgba(38, 96, 101, 0.25);
border-bottom: 6px solid rgba(0,0,0,0.15);
/* NEW: Centering Logic */
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
text-align: center;
}
.bc-hero h1 {
font-size: 2.5rem;
font-weight: 700;
margin: 0 0 10px 0;
color: white;
border: none;
text-shadow: 0 2px 4px rgba(0,0,0,0.2);
width: 100%; /* Ensures text has room to center */
}
.bc-hero p {
font-size: 1.25rem;
opacity: 0.95;
margin-bottom: 30px;
font-weight: 400;
width: 100%; /* Keeps paragraphs centered */
max-width: 800px; /* Prevents text from stretching too wide on huge screens */
}
/* Meta Data (Article & Image Counts) */
.bc-hero .bc-meta {
font-size: 0.95rem;
opacity: 0.9;
margin-top: 25px;
color: #e0f2f1; /* Soft light teal for normal text */
}
/* MAKE LINKS VISIBLE */
.bc-hero .bc-meta a {
color: #ffffff !important; /* Pure white */
font-weight: 700; /* Bold */
text-decoration: underline;
text-underline-offset: 3px; /* Cleaner spacing for underline */
}
.bc-hero .bc-meta a:hover {
text-decoration: none;
opacity: 0.8;
}
/* --- HERO PILLS (Popular Articles) --- */
.bc-hero-pills {
display: flex;
flex-wrap: wrap;
/* Increased gap for better vertical and horizontal spacing */
gap: 16px;
justify-content: center;
max-width: 950px;
margin: 35px auto 0 auto; /* More space above the pill section */
line-height: 1.8; /* Prevents vertical crushing */
}
.bc-hero-pill {
background: rgba(255, 255, 255, 0.15);
border: 1px solid rgba(255, 255, 255, 0.3); /* Slightly brighter border */
color: white !important;
padding: 8px 20px; /* Slightly larger padding for a cleaner look */
border-radius: 50px; /* Fully rounded pill shape */
font-size: 0.95rem;
font-weight: 600;
text-decoration: none !important;
transition: all 0.2s ease;
backdrop-filter: blur(4px);
white-space: nowrap; /* Prevents text inside pills from wrapping weirdly */
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.bc-hero-pill:hover {
background: white;
color: #266065 !important;
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.2);
border-color: white;
}
/* Hide accidental breaks in pill container */
.bc-hero-pills br {
display: none !important;
}
/* --- SEARCH BOX & BUTTON STYLING --- */
.bc-search-container {
max-width: 650px;
margin: 0 auto 10px auto;
display: flex; /* Aligns input and button side-by-side */
gap: 10px; /* Space between input and button */
justify-content: center;
align-items: center; /* Ensures vertical alignment */
}
/* The Search Input Field */
.bc-search-container input.mw-ui-input {
padding: 16px 24px;
border-radius: 50px;
border: 2px solid rgba(255,255,255,0.2);
box-shadow: 0 4px 15px rgba(0,0,0,0.15);
font-size: 1.1rem;
width: 100%;
flex: 1; /* Takes up remaining space */
}
/* The Search Button - FORCE OVERRIDE */
/* Targets every possible MediaWiki button variation */
.bc-search-container .mw-ui-button,
.bc-search-container .mw-ui-progressive,
.bc-search-container input[type="submit"],
.bc-search-container button {
background-color: #266065 !important; /* BRAND COLOR */
color: white !important;
border: none !important;
border-radius: 50px !important; /* Matches the round input */
padding: 0 30px !important; /* Wider click area */
font-weight: 700 !important;
font-size: 1rem !important;
cursor: pointer !important;
transition: all 0.2s ease !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
text-shadow: none !important;
height: auto !important; /* Fixes rigid heights */
min-height: 54px !important; /* Matches input height */
}
/* Search Button Hover State */
.bc-search-container .mw-ui-button:hover,
.bc-search-container .mw-ui-progressive:hover,
.bc-search-container input[type="submit"]:hover,
.bc-search-container button:hover {
background-color: #163a3d !important; /* Darker Brand Color */
transform: translateY(-2px); /* Slight lift effect */
box-shadow: 0 6px 15px rgba(0,0,0,0.3) !important;
}
/* --- GRID SYSTEM --- */
.bc-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 30px;
margin-bottom: 30px;
}
/* --- 2-COLUMN LAYOUT --- */
.bc-2col {
display: flex;
flex-wrap: wrap;
gap: 30px;
margin-bottom: 30px;
/* NEW: This stops the cards from stretching to match height */
align-items: flex-start;
}
/* Columns share space equally */
.bc-2col > .bc-card {
flex: 1;
min-width: 300px;
}
/* Mobile: Stack them properly on phones */
@media (max-width: 768px) {
.bc-2col {
grid-template-columns: 1fr !important;
}
}
/* --- CARDS --- */
.bc-card {
background: white;
border: none;
border-top: 5px solid var(--bc-blue);
border-radius: var(--bc-radius);
padding: 30px;
height: 100%;
box-sizing: border-box;
box-shadow: var(--bc-shadow);
}
.bc-card h2 {
margin-top: 0;
font-size: 1.4rem;
font-weight: 700;
color: var(--bc-blue);
border-bottom: 2px solid var(--bc-accent);
padding-bottom: 12px;
margin-bottom: 20px;
}
.bc-subtle {
color: var(--bc-text-muted);
font-size: 1rem;
margin-bottom: 20px;
line-height: 1.5;
}
/* --- BUTTONS / PILLS (New User & Common Tasks) --- */
.bc-btngrid {
display: grid;
grid-template-columns: 1fr;
gap: 12px;
}
.bc-btn {
display: flex !important;
align-items: center !important;
gap: 15px;
text-align: left;
padding: 12px 20px !important;
background-color: #fdfdfd;
border: 1px solid #e1e8eb;
border-radius: 6px;
margin-bottom: 10px;
transition: all 0.2s ease;
}
/* Hover Effect: Card darkens slightly and border turns Teal */
.bc-btn:hover {
background-color: #f4f9fa;
border-color: #b0c4c6;
transform: translateY(-1px);
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
text-decoration: none;
color: #0f2e32;
border-left-color: #163a3d;
}
.bc-btn-icon {
font-size: 28px;
color: #266065;
line-height: 1;
width: 32px;
text-align: center;
flex-shrink: 0;
}
.bc-btn-content {
display: flex;
flex-direction: column;
justify-content: center;
}
.bc-btn strong {
display: block;
color: #266065;
font-size: 0.85rem;
margin-bottom: 3px;
text-transform: uppercase;
letter-spacing: 0.5px;
opacity: 1;
}
.bc-btn span {
font-size: 1.05rem;
color: #2c3e50;
}
/* --- ALERTS & CALLOUTS --- */
/* "Did You Know" boxes */
.bc-did-you-know {
background: #fff8e1;
border-left: 5px solid #ffc107;
padding: 20px;
margin-top: 25px;
border-radius: 4px;
font-size: 0.95rem;
box-shadow: inset 0 0 10px rgba(0,0,0,0.02);
}
.bc-did-you-know h3 {
margin-top: 0;
color: #b78a02;
font-size: 0.9rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 8px;
}
/* Clean Lists */
.bc-cleanlist ul {
list-style: none;
margin: 0;
padding: 0;
}
.bc-cleanlist li {
padding: 10px 0;
border-bottom: 1px solid #f0f0f0;
font-size: 1.05rem;
}
.bc-cleanlist li:last-child {
border-bottom: none;
}
/* Links inside lists */
.bc-cleanlist a {
color: var(--bc-blue);
font-weight: 500;
text-decoration: none;
}
.bc-cleanlist a:hover {
text-decoration: underline;
color: var(--bc-blue-dark);
}
/* --- LINK GRID (FOOTER) --- */
.bc-linkgrid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 20px;
}
.bc-linktile a {
display: flex;
align-items: center;
padding: 20px;
background: #ffffff;
border: 1px solid #eee;
border-radius: var(--bc-radius);
text-decoration: none;
color: var(--bc-text);
transition: all 0.2s;
box-shadow: 0 2px 4px rgba(0,0,0,0.03);
}
.bc-linktile a:hover {
background: white;
border-color: var(--bc-blue);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.bc-linkicon {
font-size: 28px;
margin-right: 15px;
}
.bc-linktext {
display: flex;
flex-direction: column;
}
.bc-linktitle {
font-weight: 700;
color: var(--bc-blue);
font-size: 1.1rem;
}
.bc-linkdesc {
font-size: 0.85rem;
color: var(--bc-text-muted);
margin-top: 4px;
}
/* --- VECTOR SKIN OVERRIDES (Logo/Header fixes) --- */
.mw-logo-wordmark,
.mw-logo-tagline {
display: none !important;
}
.mw-logo a,
.mw-logo a * {
pointer-events: none !important;
cursor: default !important;
}
.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;
}
.mw-header {
height: 110px;
padding-top: 0 !important;
padding-bottom: 0 !important;
overflow: visible !important;
}
.mw-header,
.vector-header,
.vector-header-container {
min-height: unset !important;
}
.vector-header-start {
margin-left: 0 !important;
padding-left: 0 !important;
}
#mw-panel-button,
.vector-main-menu-dropdown {
margin-left: 0 !important;
}
.mw-logo {
display: flex;
align-items: center;
height: 100%;
}
.mw-logo img,
#p-logo img {
height: 135px !important;
width: auto;
max-height: none;
}
/* Force hide empty paragraphs, breaks, and MW empty elements */
.mw-parser-output > p:empty,
.mw-parser-output > p > br:only-child,
.mw-parser-output > p.mw-empty-elt {
display: none !important;
margin-bottom: 0 !important;
height: 0 !important;
}
/* This forces the Hero to pull to the top even if an invisible <p> is sitting above it */
.mw-parser-output > .bc-hero:first-of-type {
margin-top: 0 !important;
}
/* ============================================================
--- INFOBOX STYLING (Wikipedia Style + Teal Brand) ---
============================================================ */
.infobox {
border: 1px solid #a2a9b1;
background-color: #f8f9fa;
color: #202122;
margin: 0.5em 0 0.5em 1em;
padding: 0.4em;
float: right;
clear: right;
font-size: 90%;
line-height: 1.5em;
width: 24em; /* Standard width */
border-radius: 4px;
box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.infobox caption {
font-size: 1.3em;
font-weight: bold;
padding: 0.5em;
text-align: center;
color: #266065; /* Your Brand Teal */
}
.infobox th,
.infobox td {
vertical-align: top;
text-align: left;
padding: 0.5em;
border-bottom: 1px solid #eaecf0; /* Subtle separator lines */
}
/* Remove bottom border from last row */
.infobox tr:last-child th,
.infobox tr:last-child td {
border-bottom: none;
}
.infobox th {
background-color: #eef6f7; /* Your Light Brand Tint */
color: #1b4d52; /* Dark Teal Text */
font-weight: bold;
width: 35%; /* Consistent width */
border-radius: 4px 0 0 4px; /* Rounded left corners */
}
.infobox img {
max-width: 100%;
height: auto;
border-radius: 4px;
display: block;
margin: 0 auto;
}
/* ============================================================
--- DARK MODE "HARD OVERRIDE" ---
============================================================ */
/* 1. FORCE VARIABLES */
html.skin-theme-clientpref-night {
--bc-blue: #4db6ac !important;
--bc-text: #e0e0e0 !important;
}
/* 2. MAIN PAGE BACKGROUND */
html.skin-theme-clientpref-night .bc-wrap {
background-color: #121212 !important;
color: #e0e0e0 !important;
border-color: #333 !important;
}
/* 3. CARD BACKGROUNDS */
html.skin-theme-clientpref-night .bc-card {
background-color: #1e1e1e !important;
border: 1px solid #333 !important;
border-top: 5px solid #4db6ac !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
color: #e0e0e0 !important;
}
/* 4. HEADERS INSIDE CARDS */
html.skin-theme-clientpref-night .bc-card h2 {
color: #4db6ac !important;
border-bottom-color: #444 !important;
}
/* 5. BUTTONS */
html.skin-theme-clientpref-night .bc-btn {
background-color: #263238 !important;
border: 1px solid #37474f !important;
color: #e0f2f1 !important;
}
html.skin-theme-clientpref-night .bc-btn:hover {
background-color: #37474f !important;
border-left-color: #4db6ac !important;
transform: translateY(-2px);
}
html.skin-theme-clientpref-night .bc-btn strong {
color: #4db6ac !important;
}
html.skin-theme-clientpref-night .bc-btn span {
color: #b0bec5 !important;
}
/* 6. HERO SECTION UPDATES */
html.skin-theme-clientpref-night .bc-hero {
background: linear-gradient(135deg, #0a181a 0%, #163a3d 100%) !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.8) !important;
border-bottom: 6px solid rgba(0,0,0,0.5) !important;
}
html.skin-theme-clientpref-night .bc-hero h1,
html.skin-theme-clientpref-night .bc-hero p {
color: #e0f2f1 !important;
text-shadow: 0 2px 4px rgba(0,0,0,0.8) !important;
}
html.skin-theme-clientpref-night .bc-search-container input.mw-ui-input {
background-color: #2c2c2c !important;
color: white !important;
border-color: #444 !important;
}
html.skin-theme-clientpref-night .bc-hero-pill {
background: rgba(255,255,255,0.1) !important;
border-color: rgba(255,255,255,0.2) !important;
color: #e0f2f1 !important;
}
html.skin-theme-clientpref-night .bc-hero-pill:hover {
background: #4db6ac !important;
color: #121212 !important;
}
/* 7. FOOTER LINKS */
html.skin-theme-clientpref-night .bc-linktile a {
background-color: #1e1e1e !important;
border-color: #333 !important;
color: #e0e0e0 !important;
}
html.skin-theme-clientpref-night .bc-linktile a:hover {
background-color: #2d2d2d !important;
border-color: #4db6ac !important;
}
html.skin-theme-clientpref-night .bc-linktitle {
color: #4db6ac !important;
}
html.skin-theme-clientpref-night .bc-linkdesc {
color: #90a4ae !important;
}
/* 8. LIST ITEMS */
html.skin-theme-clientpref-night .bc-cleanlist li {
border-bottom-color: #333 !important;
}
html.skin-theme-clientpref-night .bc-cleanlist a {
color: #80cbc4 !important;
}
/* 9. PRO TIPS / DID YOU KNOW */
html.skin-theme-clientpref-night .bc-did-you-know {
background-color: #1f1b14 !important;
border-left: 5px solid #ffb300 !important;
border: 1px solid #3e2723 !important;
color: #cfd8dc !important;
box-shadow: none !important;
}
html.skin-theme-clientpref-night .bc-did-you-know h3 {
color: #ffca28 !important;
text-shadow: none !important;
}
html.skin-theme-clientpref-night .infobox {
background-color: #1e1e1e !important;
border-color: #444 !important;
color: #e0e0e0 !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}
html.skin-theme-clientpref-night .infobox caption {
color: #4db6ac !important;
}
html.skin-theme-clientpref-night .infobox th {
background-color: #263238 !important;
color: #80cbc4 !important;
border-bottom-color: #444 !important;
}
html.skin-theme-clientpref-night .infobox td {
color: #cfd8dc !important;
border-bottom-color: #444 !important;
}
/* ============================================================
--- SEARCH SUGGESTIONS DROPDOWN STYLING ---
============================================================ */
/* 1. Base Dropdown Style (Light Mode) */
.suggestions {
background-color: white !important;
border: 1px solid #dcdcdc !important;
box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important;
border-radius: 0 0 20px 20px !important;
overflow: hidden !important;
z-index: 9999 !important;
margin-top: 5px !important;
min-width: 400px !important;
}
.suggestions-results {
border: none !important;
padding: 0 !important;
}
.suggestions-result {
color: #2c3e50 !important;
padding: 12px 20px !important;
font-size: 15px !important;
cursor: pointer;
line-height: 1.4;
}
/* Hover State */
.suggestions-result-current,
.suggestions-result:hover {
background-color: #eef6f7 !important;
color: #266065 !important;
font-weight: 600 !important;
}
/* The "containing..." text at the bottom */
.suggestions-special {
background-color: #f8f9fa !important;
border-top: 1px solid #eee !important;
padding: 10px 20px !important;
color: #005696 !important;
font-size: 0.9em !important;
}
.suggestions-special:hover {
background-color: #eef6f7 !important;
}
/* 2. DARK MODE OVERRIDES */
html.skin-theme-clientpref-night .suggestions {
background-color: #2c2c2c !important;
border: 1px solid #444 !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.8) !important;
}
html.skin-theme-clientpref-night .suggestions-result {
color: #e0e0e0 !important;
}
/* Dark Mode Hover */
html.skin-theme-clientpref-night .suggestions-result-current,
html.skin-theme-clientpref-night .suggestions-result:hover {
background-color: #266065 !important;
color: white !important;
}
html.skin-theme-clientpref-night .suggestions-special {
background-color: #1e1e1e !important;
border-top: 1px solid #333 !important;
color: #4db6ac !important;
}
html.skin-theme-clientpref-night .suggestions-special:hover {
background-color: #37474f !important;
}
/* 3. HIGHLIGHT MATCHED TEXT */
.suggestions-result .special-query {
font-weight: bold !important;
color: #000 !important;
}
html.skin-theme-clientpref-night .suggestions-result .special-query {
color: #fff !important;
text-shadow: 0 0 10px rgba(255,255,255,0.2);
}
/* ============================================================
--- MOBILE OPTIMIZATIONS (FULL WIDTH & TRANSPARENT BG) ---
============================================================ */
@media screen and (max-width: 768px) {
/* 1. Global Wrapper: Full Bleed + Transparent Background */
.bc-wrap {
padding: 0 !important;
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
border-radius: 0 !important;
margin: 0 !important;
border: none !important;
background: transparent !important;
box-shadow: none !important;
}
/* 2. Fix the Grids (Stack vertically) */
.bc-grid,
.bc-2col,
.bc-btngrid,
.bc-linkgrid {
display: flex !important;
flex-direction: column !important;
gap: 15px !important;
}
/* 3. Hero Section: Full width & Compact */
.bc-hero {
padding: 40px 15px !important;
text-align: center !important;
border-radius: 0 !important;
margin-bottom: 20px !important;
width: 100% !important;
box-sizing: border-box !important;
}
.bc-hero h1 {
font-size: 1.8rem !important;
line-height: 1.2 !important;
}
.bc-hero p {
font-size: 1rem !important;
margin-bottom: 20px !important;
}
/* 4. Search Bar Fixes */
.bc-search-container {
width: 100% !important;
padding: 0 10px !important;
box-sizing: border-box !important;
}
#heroSearchInput {
padding: 12px 90px 12px 20px !important;
font-size: 14px !important;
width: 100% !important;
}
.bc-search-container button {
padding: 0 15px !important;
font-size: 0.85rem !important;
right: 14px !important;
top: 4px !important;
bottom: 4px !important;
min-height: unset !important;
}
/* 5. Suggestions Dropdown */
.suggestions {
min-width: unset !important;
width: 95% !important;
left: 2.5% !important;
right: auto !important;
}
/* 5.5. Table of Contents - Mobile Fix */
html body .mw-parser-output #toc,
html body .vector-toc {
display: block !important; /* Forces block layout on mobile */
width: 95% !important;
margin: 0 auto 0 auto !important;
padding: 10px !important;
float: none !important;
}
/* Kill ghost spacing/empty paragraphs immediately following the TOC */
.mw-parser-output > #toc + p,
.mw-parser-output > .vector-toc + p,
.mw-parser-output > #toc + br,
.mw-parser-output > #toc + p.mw-empty-elt,
.mw-parser-output > #toc + div:empty {
display: none !important;
height: 0 !important;
margin: 0 !important;
}
/* Force the first element after TOC to snap up */
#toc + *, .vector-toc + * {
margin-top: 0 !important;
}
/* 6. Cards: Full Bleed Style */
.bc-card {
padding: 25px 20px !important;
border-radius: 0 !important;
border-left: none !important;
border-right: none !important;
border-bottom: 1px solid rgba(0,0,0,0.05) !important;
box-shadow: none !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.bc-card:last-child {
border-bottom: none !important;
}
/* 7. Pills */
.bc-hero-pills {
gap: 8px !important;
padding: 0 10px !important;
}
.bc-hero-pill {
font-size: 0.85rem !important;
padding: 6px 14px !important;
}
/* 8. Fix Video Embeds */
.embedvideo,
.mw-parser-output iframe,
.mw-parser-output object,
.mw-parser-output .center {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
aspect-ratio: 16 / 9 !important;
}
.embedvideo .thumbinner,
.mw-parser-output .thumbinner {
width: 100% !important;
}
/* 9. PROMO BOX */
.bc-promo {
flex-direction: column !important;
text-align: center !important;
padding: 15px !important;
gap: 12px !important;
align-items: center !important;
margin: 15px 0 !important;
border: 1px solid #dae8ea !important;
}
.bc-promo-icon {
margin-right: 0 !important;
font-size: 32px !important;
margin-bottom: 0 !important;
}
.bc-promo-text {
margin-right: 0 !important;
margin-bottom: 0 !important;
font-size: 0.95rem !important;
line-height: 1.4 !important;
}
.bc-promo-cta {
width: 100% !important;
margin-top: 5px !important;
}
.bc-promo-cta a {
display: block !important;
width: 100% !important;
box-sizing: border-box !important;
text-align: center !important;
padding: 10px !important;
font-size: 0.9rem !important;
}
}
/* --- REMOVE EXTERNAL LINK ICONS FROM FOOTER --- */
.bc-linktile a.external,
.bc-promo-cta a.external {
background-image: none !important;
padding-right: 20px !important;
}
/* --- NATIVE AD / PROMO BANNER --- */
.bc-promo {
display: flex;
align-items: center;
background: linear-gradient(to right, #f1f8f9, #ffffff);
border: 1px solid #dae8ea;
border-left: 6px solid #266065;
border-radius: 8px;
padding: 18px 25px;
margin: 25px 0;
box-shadow: 0 4px 12px rgba(38, 96, 101, 0.08);
}
.bc-promo-icon {
font-size: 28px;
margin-right: 20px;
flex-shrink: 0;
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}
.bc-promo-text {
flex-grow: 1;
color: #2c3e50;
font-size: 1.05rem;
margin-right: 25px;
line-height: 1.5;
}
.bc-promo-cta {
background: transparent;
padding: 0;
border: none;
}
.bc-promo-cta a {
display: inline-block !important;
background-color: #266065 !important;
color: white !important;
padding: 12px 24px !important;
border-radius: 6px !important;
font-weight: 700 !important;
font-size: 0.95rem !important;
text-decoration: none !important;
transition: all 0.2s ease;
line-height: 1 !important;
border: none !important;
white-space: nowrap !important;
box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
}
.bc-promo-cta a:hover {
background-color: #163a3d !important;
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0,0,0,0.2) !important;
color: white !important;
text-decoration: none !important;
}
.bc-promo-cta a.external {
background-image: none !important;
padding-right: 24px !important;
}
html.skin-theme-clientpref-night .bc-promo {
background: linear-gradient(to right, #1a2628, #1e1e1e);
border-color: #333;
border-left-color: #4db6ac;
box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
html.skin-theme-clientpref-night .bc-promo-text { color: #e0e0e0; }
html.skin-theme-clientpref-night .bc-promo-cta a {
background-color: #4db6ac !important;
color: #121212 !important;
}
html.skin-theme-clientpref-night .bc-promo-cta a:hover { background-color: #80cbc4 !important; }
#siteNotice { margin-bottom: 0 !important; }
#siteNotice p { display: none !important; margin: 0 !important; padding: 0 !important; }
#siteNotice .bc-promo { margin: 0 0 10px 0 !important; }
#siteNotice .bc-promo-cta a {
display: inline-block !important;
color: white !important;
background-color: #266065 !important;
padding: 12px 24px !important;
visibility: visible !important;
opacity: 1 !important;
text-decoration: none !important;
}
#siteNotice .bc-promo-cta a:hover {
background-color: #163a3d !important;
color: white !important;
}
/* --- UNBREAKABLE APP BUTTONS --- */
.bc-app-link {
display: inline-block;
margin-right: 10px;
margin-top: 10px;
}
.bc-app-link a.external {
display: inline-block !important;
background-color: #528b91 !important;
color: white !important;
padding: 8px 16px !important;
border-radius: 6px !important;
font-weight: bold !important;
text-decoration: none !important;
background-image: none !important;
padding-right: 16px !important;
transition: background-color 0.2s ease;
}
.bc-app-link a.external:hover {
background-color: #3e6b70 !important;
text-decoration: none !important;
}
/* --- PRO TIP CONTAINER (Yellow Style) --- */
.bc-pro-tip {
background-color: #fffbf2;
border-left: 6px solid #f0ad4e;
padding: 20px;
margin-top: 25px;
border-radius: 0 8px 8px 0;
color: #2c3e50;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
font-size: 0.95rem;
line-height: 1.5;
}
/* ============================================================
--- WARNING TEMPLATE (MODERNIZED) ---
============================================================ */
/* Base Styles (Light Mode) for both Divs and Tables */
.bc-warning,
.bc-warning-table {
background-color: #fff7ed !important; /* Soft orange/peach background */
border-left: 5px solid #e67e22 !important; /* Bright orange border */
width: 100%;
box-sizing: border-box;
border-collapse: separate;
border-spacing: 0;
margin: 18px 0 !important;
border-radius: 8px !important; /* Modern rounded corners */
box-shadow: 0 4px 10px rgba(230, 126, 34, 0.08) !important; /* Orange-tinted shadow */
overflow: hidden; /* Ensures left border curves perfectly */
border: 1px solid #fadbc1 !important; /* Subtle outer border */
border-left-width: 5px !important; /* Restores thick accent line */
}
.bc-warning-table td {
padding: 14px 18px !important;
}
.bc-warning {
padding: 14px 18px !important; /* Padding for the div version */
}
.bc-warning-table p,
.bc-warning p {
margin: 0 !important;
color: #2c3e50 !important; /* Dark text for readability */
font-size: 0.95rem;
line-height: 1.6;
}
/* --- WARNING TEMPLATE DARK MODE FIX --- */
/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-warning,
html.skin-theme-clientpref-night .bc-warning-table {
background-color: #2a1d15 !important; /* Dark brown/orange Background */
border-left-color: #d35400 !important; /* Dark Orange Border */
border-color: #3e271a !important; /* Dark outer border */
border-left-width: 5px !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; /* Deeper shadow */
}
html.skin-theme-clientpref-night .bc-warning p,
html.skin-theme-clientpref-night .bc-warning-table p {
color: #e0e0e0 !important; /* Off-white text */
}
/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .bc-warning,
html.skin-theme-clientpref-os .bc-warning-table {
background-color: #2a1d15 !important;
border-left-color: #d35400 !important;
border-color: #3e271a !important;
border-left-width: 5px !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
}
html.skin-theme-clientpref-os .bc-warning p,
html.skin-theme-clientpref-os .bc-warning-table p {
color: #e0e0e0 !important;
}
}
/* ============================================================
--- NOTE TEMPLATE (MODERNIZED) ---
============================================================ */
/* Base Styles (Light Mode) */
.bc-note-table {
background-color: #f4f7f9 !important; /* Soft match to your page background */
border-left: 5px solid #78909c !important; /* Slate grey-blue border */
width: 100%;
border-collapse: separate;
border-spacing: 0;
margin: 18px 0 !important;
border-radius: 8px; /* Modern rounded corners */
box-shadow: 0 4px 10px rgba(0,0,0,0.06); /* Soft shadow to make it pop */
overflow: hidden; /* Ensures the left border curves perfectly with the corner */
border: 1px solid #e1e8eb; /* Very subtle border to contain the background */
border-left-width: 5px; /* Restores the thick accent line */
}
.bc-note-table td {
padding: 14px 18px !important; /* Slightly more breathing room */
}
.bc-note-table p {
margin: 0 !important;
color: #2c3e50 !important; /* Matches your brand dark text */
font-size: 0.95rem;
line-height: 1.6;
}
/* --- NOTE TEMPLATE DARK MODE FIX --- */
/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-note-table {
background-color: #2a2b2e !important; /* Dark Charcoal Background */
border-left-color: #6b7280 !important; /* Steel Grey Border */
border-color: #333 !important; /* Dark outer border */
border-left-width: 5px !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; /* Deeper shadow for dark mode */
}
html.skin-theme-clientpref-night .bc-note-table p {
color: #e0e0e0 !important; /* Off-white text */
}
/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .bc-note-table {
background-color: #2a2b2e !important;
border-left-color: #6b7280 !important;
border-color: #333 !important;
border-left-width: 5px !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
}
html.skin-theme-clientpref-os .bc-note-table p {
color: #e0e0e0 !important;
}
}
/* --- TIP TEMPLATE DARK MODE FIX --- */
/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-tip-table {
background: #0c2d48 !important; /* Dark Navy Background */
color: #e0e0e0 !important; /* Off-white text */
border-left-color: #2b7cff !important; /* Keep the Bright Blue Border */
}
html.skin-theme-clientpref-night .bc-tip-table p {
color: #e0e0e0 !important;
}
/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .bc-tip-table {
background: #0c2d48 !important;
color: #e0e0e0 !important;
border-left-color: #2b7cff !important;
}
html.skin-theme-clientpref-os .bc-tip-table p {
color: #e0e0e0 !important;
}
}
/* --- NEW: CROSS-BORDER APP BANNER --- */
.bc-app-banner {
display: flex;
justify-content: space-between;
align-items: center;
background: linear-gradient(90deg, #002D40 0%, #004059 100%);
border-left: 6px solid #005b7f;
border-radius: 6px;
padding: 16px 24px;
margin: 20px 0;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
color: #ffffff;
gap: 20px;
}
.bc-app-content {
display: flex;
align-items: center;
gap: 15px;
flex: 1;
}
.bc-app-icon {
font-size: 24px;
line-height: 1;
}
.bc-app-text {
font-size: 15px;
line-height: 1.4;
color: #ffffff;
}
.bc-app-text strong {
font-weight: 700;
color: #ffffff;
}
.bc-store-container {
display: flex;
gap: 10px;
flex-shrink: 0;
}
@media (max-width: 768px) {
.bc-app-banner {
flex-direction: column;
align-items: flex-start;
}
.bc-store-container {
width: 100%;
justify-content: flex-start;
margin-top: 10px;
}
}
.bc-store-wrapper {
display: inline-block;
text-decoration: none !important;
}
.bc-store-wrapper a.external {
background-image: none !important;
padding-right: 0 !important;
text-decoration: none !important;
color: white !important;
}
.bc-store-btn {
display: inline-flex !important;
align-items: center;
background-color: #0f1f24;
border: 1px solid rgba(255,255,255,0.2);
border-radius: 5px;
padding: 5px 12px;
transition: transform 0.2s ease, opacity 0.2s;
cursor: pointer;
line-height: 1.2;
}
.bc-store-btn:hover {
transform: translateY(-2px);
background-color: #000;
border-color: #fff;
opacity: 0.9;
}
.bc-store-svg {
width: 18px;
height: 18px;
fill: white;
margin-right: 8px;
}
.bc-store-text {
display: inline-flex;
flex-direction: column;
align-items: flex-start;
margin-left: 8px;
}
.bc-store-text span:first-child {
font-size: 9px;
opacity: 0.8;
font-weight: 400;
}
.bc-store-text span:last-child {
font-size: 13px;
font-weight: 700;
}
/* --- DARK MODE: APP BANNER OVERRIDES --- */
html.skin-theme-clientpref-night .bc-app-banner {
background: linear-gradient(90deg, #002D40 0%, #004059 100%) !important;
border-left-color: #4db6ac !important;
border-top: 1px solid #333 !important;
border-right: 1px solid #333 !important;
border-bottom: 1px solid #333 !important;
box-shadow: 0 4px 20px rgba(0,0,0,0.6) !important;
}
html.skin-theme-clientpref-night .bc-app-text,
html.skin-theme-clientpref-night .bc-app-text strong {
color: #ffffff !important;
text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
html.skin-theme-clientpref-night .bc-store-btn {
background-color: #000000 !important;
border-color: #266065 !important;
color: #ffffff !important;
}
html.skin-theme-clientpref-night .bc-store-btn:hover {
background-color: #111 !important;
border-color: #4db6ac !important;
}
/* --- NEW: ARTICLE SPECIFIC STYLES --- */
/* 1. Article Hero */
.bc-article-hero {
background: linear-gradient(to right, #f4f7f9, #eef5f6);
padding: 30px;
margin-bottom: 30px;
border-radius: 8px;
}
.bc-article-hero h1 {
margin-top: 0;
color: #266065;
font-size: 2.2rem;
font-weight: 700;
border: none;
}
.bc-article-hero p {
font-size: 1.15rem;
color: #546e7a;
max-width: 800px;
margin-bottom: 15px;
}
.bc-article-meta {
display: flex;
gap: 15px;
font-size: 0.9rem;
font-weight: 600;
color: #78909c;
}
.bc-article-pill {
background: #fff;
padding: 4px 12px;
border-radius: 4px;
border: 1px solid #cfd8dc;
display: inline-block;
}
.bc-article-pill i {
margin-right: 6px;
color: #266065;
}
/* Dark Mode Fixes for Article Hero */
html.skin-theme-clientpref-night .bc-article-hero {
background: #1e1e1e !important;
}
html.skin-theme-clientpref-night .bc-article-hero h1 {
color: #4db6ac !important;
}
html.skin-theme-clientpref-night .bc-article-hero p,
html.skin-theme-clientpref-night .bc-article-meta {
color: #b0bec5 !important;
}
html.skin-theme-clientpref-night .bc-article-pill {
background: #263238 !important;
border-color: #37474f !important;
}
html.skin-theme-clientpref-night .bc-article-pill i {
color: #4db6ac !important;
}
/* 2. Screenshot Container */
.bc-screenshot {
display: block;
margin: 25px auto;
border: 1px solid #e1e8eb;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0,0,0,0.08);
max-width: 100%;
height: auto;
}
/* 3. Step Number Circle */
.bc-step-circle {
display: inline-block;
width: 28px;
height: 28px;
background: #266065;
color: white;
border-radius: 50%;
text-align: center;
line-height: 28px;
font-weight: bold;
margin-right: 10px;
}
/* --- FIX VIDEO PLAYBACK INSIDE GRID CARDS --- */
.bc-card .embedvideo {
display: block !important;
width: 100% !important;
height: auto !important;
position: relative !important;
z-index: 10 !important;
}
.bc-card .embedvideo iframe,
.bc-card .embedvideo object {
width: 100% !important;
height: auto !important;
aspect-ratio: 16/9 !important;
}
/* --- VIDEO MODAL STYLES --- */
/* The Trigger Container */
.bc-video-trigger {
position: relative;
display: block;
width: 100%;
padding-bottom: 56.25%;
background: #000;
border-radius: 8px;
cursor: pointer;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.2s;
}
.bc-video-trigger:hover {
transform: scale(1.02);
}
/* The Thumbnail Image */
.bc-video-trigger img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.8;
transition: opacity 0.3s;
}
.bc-video-trigger:hover img {
opacity: 0.6;
}
/* The Play Icon */
.bc-play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 60px;
color: white;
z-index: 10;
pointer-events: none;
text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}
/* --- THE MODAL OVERLAY --- */
.bc-modal-overlay {
display: none;
position: fixed;
top: 0; left: 0; width: 100%; height: 100%;
z-index: 99999;
background: rgba(0, 0, 0, 0.9);
backdrop-filter: blur(8px);
align-items: center;
justify-content: center;
}
.bc-modal-overlay.active {
display: flex;
}
.bc-modal-content {
position: relative;
width: 90%;
max-width: 1000px;
aspect-ratio: 16 / 9;
background: black;
border-radius: 8px;
box-shadow: 0 20px 50px rgba(0,0,0,0.8);
}
.bc-modal-close {
position: absolute;
top: -40px;
right: 0;
color: white;
font-size: 40px;
cursor: pointer;
line-height: 1;
}
/* --- Video Caption Style --- */
.bc-video-caption {
margin-top: 15px;
text-align: center;
font-family: sans-serif !important;
font-size: 1rem;
color: #333;
line-height: 1.5;
white-space: normal !important;
border: none !important;
background: transparent !important;
}
.bc-video-caption strong {
color: #266065;
font-weight: 700;
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 0.5px;
margin-right: 6px;
}
/* --- Floated Video --- */
.bc-float-video {
float: right;
width: 45%;
min-width: 320px;
margin-left: 40px;
margin-bottom: 20px;
}
@media (max-width: 850px) {
.bc-float-video {
float: none;
width: 100%;
margin-left: 0;
margin-bottom: 30px;
}
}
/* ============================================================
--- JS-DRIVEN TOC STYLING ---
============================================================ */
html body .mw-parser-output #toc,
html body .vector-toc {
display: inline-block;
box-sizing: border-box !important;
width: auto !important;
min-width: 200px !important;
max-width: 350px !important;
border-radius: 12px !important;
padding: 12px 15px !important;
margin-bottom: 25px !important;
font-family: 'Segoe UI', Roboto, sans-serif !important;
transition: all 0.3s ease !important;
}
/* 2. DEFAULT LIGHT MODE */
html body .mw-parser-output #toc,
html body .vector-toc {
background-color: #ffffff !important;
border: 1px solid #e1e8eb !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
}
html body .mw-parser-output #toctitle h2,
html body .vector-toc-title {
color: #266065 !important;
border-bottom: 2px solid #eef5f6 !important;
}
html body .mw-parser-output #toc a,
html body .vector-toc-link {
color: #546e7a !important;
}
/* 3. FORCED DARK MODE */
html body .mw-parser-output #toc.force-dark-mode,
html body .vector-toc.force-dark-mode {
background-color: #1e1e1e !important;
border: 1px solid #333333 !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}
html body .mw-parser-output #toc.force-dark-mode #toctitle h2,
html body .vector-toc.force-dark-mode .vector-toc-title {
color: #4db6ac !important;
border-bottom-color: #333333 !important;
}
html body .mw-parser-output #toc.force-dark-mode a,
html body .vector-toc.force-dark-mode .vector-toc-link {
color: #e0e0e0 !important;
}
html body .mw-parser-output #toc.force-dark-mode a:hover,
html body .vector-toc.force-dark-mode .vector-toc-link:hover {
background-color: #263238 !important;
color: #80cbc4 !important;
}
/* Hides the custom text used for Page Previews */
.bc-preview-text {
display: none !important;
}
/* --- FEATURED CARD COMPONENTS --- */
.bc-screenshot-frame {
box-shadow: var(--bc-shadow) !important;
border-radius: var(--bc-radius) !important;
overflow: hidden !important;
border: 1px solid #e1e8eb !important;
background: #fff !important;
line-height: 0 !important;
}
/* Dark Mode Support */
html.skin-theme-clientpref-night .bc-screenshot-frame {
border-color: #333 !important;
background: #1e1e1e !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}
/* Mobile: Stack the image and text on small screens */
@media screen and (max-width: 768px) {
.bc-screenshot-frame {
float: none !important;
margin: 0 0 20px 0 !important;
width: 100% !important;
}
}
/* ============================================================
--- FEATURED CARD COMPONENT (LIGHT & DARK) ---
============================================================ */
/* 1. Base Screenshot Frame Improvements */
.bc-screenshot-frame {
box-shadow: var(--bc-shadow) !important;
border-radius: var(--bc-radius) !important;
overflow: hidden !important;
border: 1px solid #e1e8eb !important;
background: #fff !important;
line-height: 0 !important;
}
/* 2. Featured Card specific overrides for Dark Mode */
/* Note: You MUST add class="bc-featured-card" to your div for this to work */
html.skin-theme-clientpref-night .bc-featured-card {
/* Override the inline light gradient with a Dark Teal/Charcoal gradient */
background: linear-gradient(135deg, #0f2426 0%, #181818 100%) !important;
/* Override the inline border */
border: 1px solid #2a3d40 !important;
/* Add a deep glow to make it stand out */
box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
}
/* 3. Fix Text & Header Visibility inside Featured Card in Dark Mode */
html.skin-theme-clientpref-night .bc-featured-card h2 {
color: #80cbc4 !important; /* Bright Teal Header */
border-bottom-color: rgba(128, 203, 196, 0.2) !important; /* Subtle teal divider line */
}
html.skin-theme-clientpref-night .bc-featured-card h2 i {
color: #80cbc4 !important; /* Make the icon match the header */
}
html.skin-theme-clientpref-night .bc-featured-card p,
html.skin-theme-clientpref-night .bc-featured-card .bc-subtle {
color: #cfd8dc !important; /* Light Grey text for readability */
}
/* 4. Fix the "Read More" link color in Dark Mode */
html.skin-theme-clientpref-night .bc-featured-card a span {
color: #80cbc4 !important;
text-decoration: underline !important;
}
html.skin-theme-clientpref-night .bc-featured-card a:hover span {
color: #ffffff !important;
}
/* 5. Improve Screenshot visibility in Dark Mode */
html.skin-theme-clientpref-night .bc-screenshot-frame {
background: #000 !important;
border-color: #444 !important;
box-shadow: 0 8px 25px rgba(0,0,0,0.9) !important;
}
/* 6. Mobile: Stack the image and text on small screens */
@media screen and (max-width: 768px) {
.bc-screenshot-frame {
float: none !important;
margin: 0 0 20px 0 !important;
width: 100% !important;
}
}
/* --- BULLETPROOF INTERACTIVE DIMMING FOR DARK MODE --- */
/* 1. Target the actual IMG tag inside any thumb or our custom frame */
html.skin-theme-clientpref-night .thumbimage,
html.skin-theme-clientpref-night .bc-screenshot-frame img,
html.skin-theme-clientpref-night .bc-card img {
filter: brightness(0.7) contrast(1.1) !important;
transition: filter 0.3s ease !important;
}
/* 2. Restore brightness when hovering over the image OR its container */
html.skin-theme-clientpref-night .thumbimage:hover,
html.skin-theme-clientpref-night .bc-screenshot-frame:hover img,
html.skin-theme-clientpref-night .bc-card img:hover {
filter: brightness(1) contrast(1) !important;
}
/* ============================================================
--- FEATURED CARD DARK MODE OVERRIDE (CSS-ONLY FIX) ---
============================================================ */
/* 1. Target the card by checking if it has an inline gradient style */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] {
/* Force the background to Dark Teal/Charcoal */
background: linear-gradient(135deg, #0f2426 0%, #181818 100%) !important;
/* Override the light blue border */
border-color: #2a3d40 !important;
/* Add the deep glow */
box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
}
/* 2. Fix the headers inside that specific card */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] h2 {
color: #4db6ac !important; /* Bright Teal */
border-bottom-color: rgba(77, 182, 172, 0.2) !important;
}
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] h2 i {
color: #4db6ac !important;
}
/* 3. Fix the text color inside that specific card */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] p,
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] .bc-subtle {
color: #e0e0e0 !important;
}
/* 4. Fix the "Read More" link */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] a span {
color: #4db6ac !important;
text-decoration: underline !important;
}
/* --- Remove H2 Header Underline in Dark Mode --- */
html.skin-theme-clientpref-night .mw-parser-output h2 {
border-bottom: none !important;
}
.mw-parser-output p, .mw-parser-output li {
max-width: 800px;
line-height: 1.7; /* Increase line height for better readability */
font-size: 16px; /* slightly larger base font */
}
.wikitable {
width: 100%;
border: none;
box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Soft shadow instead of heavy borders */
border-radius: 8px;
overflow: hidden;
}
.wikitable th {
background-color: var(--bc-blue); /* Use your brand teal */
color: white;
text-transform: uppercase;
font-size: 0.85rem;
}
/* ============================================================
--- MODERN HEADER: BRANDED TEAL & STICKY ---
============================================================ */
/* 1. Color the Main Header Bar & Make it Sticky */
.vector-header-container {
background-color: #266065 !important; /* Brand Teal */
border-bottom: 1px solid #163a3d !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important; /* Drop shadow for depth */
/* STICKY BEHAVIOR (No JS required) */
position: sticky !important;
top: 0 !important;
z-index: 1000 !important; /* Ensures it stays on top of content */
}
/* 2. Text & Link Colors (White for contrast against Teal) */
.vector-header .vector-menu-content-list li a,
.vector-header .mw-portlet a,
.vector-header .vector-user-links a,
.vector-header .vector-menu-heading {
color: #ffffff !important;
font-weight: 500 !important;
}
/* 3. Icons (Make them White) */
.vector-header .cdx-button,
.vector-header .vector-icon {
color: #ffffff !important;
}
/* 4. Search Box Modernization (Semi-Transparent Pill) */
.vector-search-box-input {
background-color: rgba(255, 255, 255, 0.15) !important;
border: 1px solid rgba(255, 255, 255, 0.3) !important;
color: white !important;
border-radius: 50px !important; /* Modern Pill Shape */
transition: all 0.2s ease !important;
}
.vector-search-box-input::placeholder {
color: rgba(255, 255, 255, 0.7) !important;
}
/* Search Focus State (Turns white when typing) */
.vector-search-box-input:focus {
background-color: #ffffff !important;
color: #2c3e50 !important; /* Dark text when typing */
border-color: #fff !important;
box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2) !important;
}
.vector-search-box-input:focus::placeholder {
color: #b0bec5 !important;
}
/* 5. Dark Mode Adjustment (Slightly darker for night time) */
html.skin-theme-clientpref-night .vector-header-container {
background-color: #163a3d !important; /* Darker Slate/Teal */
border-bottom-color: #000 !important;
}
/* ============================================================
--- MODERN FIXED HEADER (NUCLEAR OPTION) ---
============================================================ */
/* 1. Kill the default "scroll" header completely */
#vector-sticky-header,
.vector-sticky-header {
display: none !important;
}
/* 2. Force the MAIN header to be Fixed (Pinned) to the screen */
.vector-header-container {
position: fixed !important; /* Force pin to viewport */
top: 0 !important;
left: 0 !important;
right: 0 !important;
width: 100% !important;
z-index: 1001 !important; /* High Z-index to sit above everything */
/* Brand Styling */
background-color: #266065 !important;
border-bottom: 1px solid #163a3d !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
/* Override any JS attempts to hide it */
transform: none !important;
opacity: 1 !important;
visibility: visible !important;
height: auto !important;
}
/* 3. Color the inner header elements so no white shows through */
.vector-header,
.mw-header {
background-color: transparent !important; /* Let the container color show */
background: transparent !important;
color: white !important;
}
/* 4. Push the page content down */
/* Since the header is now 'fixed', it floats 'above' the page.
We must add a top margin to the body so content isn't hidden behind it. */
.mw-page-container {
margin-top: 100px !important; /* 90px Header height + 10px gap */
}
/* 5. Mobile Adjustment */
/* On mobile, the header might be shorter, so we adjust the gap */
@media screen and (max-width: 768px) {
.mw-page-container {
margin-top: 60px !important; /* Adjust based on your mobile header height */
}
}
/* 6. Fix Text Colors in Header */
.vector-header a,
.vector-header .vector-icon,
.vector-header .cdx-button {
color: white !important;
}
/* ============================================================
--- FORCE LOGO TO WHITE (CSS FILTER) ---
============================================================ */
/* Target the logo image inside the header */
.mw-logo-icon,
.mw-logo-wordmark,
.mw-logo-tagline,
.mw-wiki-logo {
filter: brightness(0) invert(1) !important;
-webkit-filter: brightness(0) invert(1) !important; /* Safari/Chrome support */
}
/* Optional: If the logo looks a bit jagged after filtering, add a slight blur */
/* .mw-logo-icon { filter: brightness(0) invert(1) drop-shadow(0 0 1px rgba(255,255,255,0.5)) !important; } */
/* ============================================================
--- FORCE HEADER ICONS TO WHITE ---
============================================================ */
/* 1. Target all icons in the header (Hamburger, User, Search, etc.) */
.vector-header .mw-ui-icon,
.vector-header .vector-icon,
.vector-header .oo-ui-iconElement-icon {
filter: brightness(0) invert(1) !important;
opacity: 1 !important; /* Ensure they aren't dimmed */
}
/* 2. Target specific "hamburger" and "user" buttons if they resist */
#vector-main-menu-dropdown-label,
#vector-user-links-dropdown-label,
.vector-pinnable-header-toggle-button {
color: white !important;
}
/* 3. Ensure the search icon inside the input stays visible (optional) */
/* If the search icon disappears against a white input, uncomment this: */
/* .vector-search-box .mw-ui-icon-search { filter: none !important; color: #266065 !important; } */
/* ============================================================
--- FIX HEADER CHEVRONS (USER MENU & DROPDOWNS) ---
============================================================ */
/* 1. Target the dropdown label which holds the chevron */
.vector-header .vector-dropdown-label,
.vector-header .vector-user-menu-logged-in .vector-dropdown-label {
color: white !important; /* Forces any text to white */
}
/* 2. Target the specific chevron icon (often a background image or pseudo-element) */
.vector-header .vector-dropdown-label::after,
.vector-header .mw-ui-icon-flush-right,
.vector-header .vector-dropdown-checkbox:checked + .vector-dropdown-label::after {
filter: brightness(0) invert(1) !important; /* Turns black/grey to White */
opacity: 1 !important;
}
/* 3. Specific fix for the "User" dropdown chevron if it's an SVG background */
.vector-header .vector-user-menu .vector-dropdown-label {
background-image: none !important; /* Sometimes removing the default helps */
}
/* 4. Force the "More" (3 dots) and other menu icons to white */
.vector-header .vector-menu-heading-label,
.vector-header .mw-ui-icon {
filter: brightness(0) invert(1) !important;
}
/* ============================================================
--- FIX HEADER DROPDOWN MENUS (RESTORE DARK TEXT) ---
============================================================ */
/* 1. Reset text color inside the dropdown containers */
/* This overrides the "white !important" from the main header rule */
.vector-header .vector-dropdown-content,
.vector-header .vector-menu-content {
color: #2c3e50 !important; /* Dark Grey Text */
}
/* 2. Reset the LINKS inside dropdowns */
.vector-header .vector-dropdown-content a,
.vector-header .vector-menu-content a,
.vector-header .vector-dropdown-content .vector-menu-heading,
.vector-header .vector-menu-content .vector-menu-heading {
color: #2c3e50 !important; /* Dark Grey Links */
font-weight: normal !important;
}
/* 3. Hover State for Dropdown Links (Teal) */
.vector-header .vector-dropdown-content a:hover,
.vector-header .vector-menu-content a:hover {
color: #266065 !important; /* Brand Teal on Hover */
background-color: #f4f7f9 !important; /* Light Grey Background */
text-decoration: none !important;
}
/* 4. Fix the "Move to Sidebar" buttons */
.vector-pinnable-header-label {
color: #2c3e50 !important;
}
.vector-pinnable-header-toggle-button {
color: #546e7a !important; /* Muted Grey for utility buttons */
filter: none !important; /* Remove the white filter we added */
}
/* ============================================================
--- FIX HEADER DROPDOWN LINKS (VISIBLE TEXT) ---
============================================================ */
/* 1. Force the Dropdown Container to be White with Dark Text */
html body .vector-header .vector-dropdown-content {
background-color: #ffffff !important;
color: #2c3e50 !important;
}
/* 2. SPECIFICALLY Target the Links inside the Dropdown */
/* We use 'html body' to make this rule stronger than the generic header rule */
html body .vector-header .vector-dropdown-content a,
html body .vector-header .vector-dropdown-content li a,
html body .vector-header .vector-dropdown-content .mw-list-item a {
color: #2c3e50 !important; /* Dark Grey (Visible) */
font-weight: normal !important;
font-size: 0.95rem !important;
filter: none !important; /* Remove any brightness filters */
}
/* 3. Hover State for Links (Teal Background) */
html body .vector-header .vector-dropdown-content a:hover,
html body .vector-header .vector-dropdown-content li a:hover {
background-color: #f4f7f9 !important;
color: #266065 !important; /* Brand Teal */
text-decoration: none !important;
}
/* 4. Fix the Icons inside the menu (Home icon, etc.) */
/* The previous filter turned them white. We need to turn them back to dark. */
html body .vector-header .vector-dropdown-content .vector-icon,
html body .vector-header .vector-dropdown-content .mw-ui-icon {
filter: none !important; /* Reset filter */
opacity: 0.6 !important;
color: #2c3e50 !important;
}
/* 5. Fix "Move to sidebar" button text */
html body .vector-pinnable-header-label {
color: #2c3e50 !important;
border-bottom: 1px solid #eee !important;
}
html body .vector-pinnable-header-toggle-button {
color: #7f8c8d !important; /* Grey text for the button */
background: #f8f9fa !important;
border: 1px solid #ddd !important;
}
/* ============================================================
--- YOUTUBE-STYLE CONNECTED SEARCH BAR (FIXED) ---
============================================================ */
/* 1. RESET THE CONTAINER (Fixes the white box glitch) */
html body .vector-header .cdx-search-input {
display: flex !important;
align-items: center !important;
gap: 0 !important; /* Connects the two halves */
background-color: transparent !important; /* REMOVES THE WHITE BOX */
border: none !important; /* Removes default border */
box-shadow: none !important;
padding: 0 !important; /* Reset any padding */
}
/* 2. THE INPUT FIELD (Left Half) */
html body .vector-header .cdx-text-input__input {
/* Shape: Round Left, Flat Right */
border-radius: 40px 0 0 40px !important;
/* Border: Remove right border */
border: 1px solid rgba(255, 255, 255, 0.3) !important;
border-right: none !important;
/* Colors: Dark translucent background */
background-color: rgba(0, 0, 0, 0.2) !important;
color: white !important;
/* Size & Layout */
margin: 0 !important;
height: 38px !important; /* Fixed height */
box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !important;
width: 100% !important;
}
/* 3. THE SEARCH BUTTON (Right Half) */
html body .vector-header .cdx-search-input__end-button {
/* Shape: Flat Left, Round Right */
border-radius: 0 40px 40px 0 !important;
/* Border: Matches the input */
border: 1px solid rgba(255, 255, 255, 0.3) !important;
border-left: none !important;
/* Colors: Lighter background so you can see it */
background-color: rgba(255, 255, 255, 0.15) !important;
color: white !important;
/* Size & Layout */
margin: 0 !important;
height: 38px !important; /* Must match input height */
width: 50px !important;
padding: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
/* Fixes the "invisible" button issue */
opacity: 1 !important;
visibility: visible !important;
z-index: 2 !important;
}
/* 4. HOVER & FOCUS STATES */
html body .vector-header .cdx-search-input__end-button:hover {
background-color: rgba(255, 255, 255, 0.3) !important;
cursor: pointer !important;
}
html body .vector-header .cdx-text-input__input:focus {
background-color: rgba(0, 0, 0, 0.5) !important; /* Darker when typing */
border-color: rgba(255, 255, 255, 0.8) !important;
box-shadow: none !important;
}
/* 5. FORCE ICON COLOR (Just in case) */
html body .vector-header .cdx-search-input__end-button .vector-icon {
color: white !important;
fill: white !important;
opacity: 1 !important;
}
/* ============================================================
--- SEARCH BAR POLISH (ICON & CONTRAST) ---
============================================================ */
/* 1. Hide the text "Search" but keep the button clickable */
html body .vector-header .cdx-search-input__end-button {
color: transparent !important; /* Hides the text */
position: relative !important;
}
/* 2. Inject the Magnifying Glass Icon (FontAwesome) */
html body .vector-header .cdx-search-input__end-button::after {
content: "\f002"; /* FontAwesome 'Search' Unicode */
font-family: "Font Awesome 5 Free", "FontAwesome" !important;
font-weight: 900 !important;
font-size: 16px !important;
color: white !important; /* Icon Color */
/* Center the icon perfectly */
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
opacity: 0.9 !important;
}
/* ============================================================
--- BRIGHTER SEARCH PLACEHOLDER TEXT ---
============================================================ */
/* Target the placeholder text and force it to be brighter */
html body .vector-header .cdx-text-input__input::placeholder {
color: rgba(255, 255, 255, 0.85) !important; /* Increased opacity for brightness */
opacity: 1 !important; /* Ensure browser doesn't dim it automatically */
}
/* Optional: Even brighter on focus/click */
html body .vector-header .cdx-text-input__input:focus::placeholder {
color: rgba(255, 255, 255, 0.6) !important; /* Dim slightly when typing starts */
}
/* ============================================================
--- REMOVE LEFT SEARCH ICON & FIX PADDING ---
============================================================ */
/* 1. Hide the Start Icon (The one on the left) */
html body .vector-header .cdx-text-input__icon,
html body .vector-header .cdx-search-input__start-icon,
html body .vector-header .cdx-text-input__icon-vue {
display: none !important;
}
/* 2. Adjust Input Padding (So text starts at the edge) */
/* We reduce padding-left from ~38px to 20px since the icon is gone */
html body .vector-header .cdx-text-input__input {
padding-left: 20px !important;
}
/* ============================================================
--- SEARCH RESULT DROPDOWN TEXT (LIGHT & DARK MODE FIX) ---
============================================================ */
/* 1. LIGHT MODE TEXT */
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__content,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__text,
html:not(.skin-theme-clientpref-night) body .cdx-typeahead-search-menu__item-title,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__description {
color: #2c3e50 !important; /* Dark Grey */
filter: none !important;
}
/* 2. DARK MODE TEXT */
html.skin-theme-clientpref-night body .cdx-menu-item__content,
html.skin-theme-clientpref-night body .cdx-menu-item__text,
html.skin-theme-clientpref-night body .cdx-typeahead-search-menu__item-title,
html.skin-theme-clientpref-night body .cdx-menu-item__description,
html.skin-theme-clientpref-night body .cdx-search-result-title {
color: #f8f9fa !important; /* Off-White */
filter: none !important;
}
/* 3. MATCHED TYPED LETTERS (DARK MODE) */
html.skin-theme-clientpref-night body .cdx-menu-item__content b,
html.skin-theme-clientpref-night body .cdx-menu-item__text b,
html.skin-theme-clientpref-night body .cdx-typeahead-search-menu__item-title b,
html.skin-theme-clientpref-night body .cdx-search-result-title b {
color: #ffffff !important;
font-weight: bold !important;
}
/* 4. HEADER TEXT ("Searching for...") */
html body .cdx-menu__header {
color: #7f8c8d !important;
text-transform: uppercase;
font-size: 0.75rem;
}
/* 5. HOVER STATES (LIGHT MODE) */
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled.cdx-menu-item--selected,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled:hover {
background-color: #f4f7f9 !important;
}
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled.cdx-menu-item--selected .cdx-menu-item__text,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled:hover .cdx-menu-item__text {
color: #266065 !important;
}
/* 6. HOVER STATES (DARK MODE) */
html.skin-theme-clientpref-night body .cdx-menu-item:hover,
html.skin-theme-clientpref-night body .cdx-menu-item.cdx-menu-item--selected,
html.skin-theme-clientpref-night body .cdx-typeahead-search__menu .cdx-menu-item:active {
background-color: #3c4043 !important;
}
/* 7. BOTTOM LINK ("Search for pages containing...") */
html:not(.skin-theme-clientpref-night) body .cdx-typeahead-search-menu__footer {
color: #266065 !important;
border-top: 1px solid #eee !important;
}
html.skin-theme-clientpref-night body .cdx-menu-item--search-page,
html.skin-theme-clientpref-night body .cdx-menu-item--search-page * {
color: #8ab4f8 !important;
}
/* --- UPDATED LINK GRID (4 COLUMNS) --- */
.bc-linkgrid {
display: grid !important;
/* Force exactly 4 columns of equal width */
grid-template-columns: repeat(4, 1fr) !important;
gap: 20px !important;
width: 100% !important;
margin-top: 20px;
}
/* Ensure tiles take up equal height and look like clean cards */
.bc-linktile a {
display: flex !important;
flex-direction: row !important; /* Icon next to text */
align-items: center !important;
padding: 15px !important;
height: 100% !important;
box-sizing: border-box !important;
justify-content: flex-start !important;
}
/* Mobile Responsiveness: Stack to 2 columns on tablets, 1 on phones */
@media screen and (max-width: 1024px) {
.bc-linkgrid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media screen and (max-width: 600px) {
.bc-linkgrid { grid-template-columns: 1fr !important; }
}
/* ============================================================
--- UNIFIED SIDEBAR SCROLL FIX (TOC & TOOLS) ---
============================================================ */
/* 1. INITIAL STATE (At the top of the page) */
/* Target all possible sidebar containers (Left & Right) */
html body #vector-toc-pinned-container, /* Left: Pinned TOC */
html body #vector-page-tools-pinned-container, /* Right: Pinned Tools */
html body .vector-main-menu-container, /* Left: Main Menu */
html body .vector-column-end, /* Right: Generic Column */
html body #mw-panel-toc, /* Left: Alternate TOC ID */
html body #p-appearance { /* Right: Appearance Menu */
position: sticky !important;
top: 75px !important; /* Starting position below the static header */
transition: top 0.3s ease, max-height 0.3s ease !important;
z-index: 99 !important;
}
/* 2. SCROLLED STATE (Slide Down) */
/* When JS adds 'bc-scrolled', push everything down to clear the fixed header */
html body.bc-scrolled #vector-toc-pinned-container,
html body.bc-scrolled #vector-page-tools-pinned-container,
html body.bc-scrolled .vector-main-menu-container,
html body.bc-scrolled .vector-column-end,
html body.bc-scrolled #mw-panel-toc,
html body.bc-scrolled #p-appearance {
/* Adjust height so you can still scroll to the bottom of the sidebar */
max-height: calc(100vh - 130px) !important;
overflow-y: auto !important;
}
/* 3. FLOATING TOC FIX (For unpinned TOC inside articles) */
/* Prevents the floating TOC from getting hidden if it's not in the sidebar */
html body.bc-scrolled .mw-parser-output #toc {
margin-top: 50px !important;
transition: margin-top 0.3s ease !important;
}
/* ============================================================
--- TOC SPECIFIC SCROLL FIX (MAX WIDTH / NO CUTOFF) ---
============================================================ */
/* 1. Target the TOC Container specifically */
html body #vector-toc-pinned-container,
html body #mw-panel-toc,
html body .vector-toc {
transition: all 0.3s ease !important;
top: 75px !important;
/* WIDTH FIX: Fill the sidebar column completely, but don't overflow */
width: 100% !important;
min-width: unset !important; /* Remove the forced 300px */
box-sizing: border-box !important; /* Ensures padding doesn't make it wider than 100% */
}
/* 2. THE PUSH DOWN (On Scroll) */
html body.bc-scrolled #vector-toc-pinned-container,
html body.bc-scrolled #mw-panel-toc,
html body.bc-scrolled .vector-toc {
/* Push down values */
top: 140px !important;
padding-top: 30px !important;
/* Adjust height */
max-height: calc(100vh - 160px) !important;
/* SCROLLBAR MANAGEMENT */
overflow-y: auto !important;
overflow-x: hidden !important; /* Prevents horizontal scrollbar */
}
/* ============================================================
--- DARK MODE TOC FIX (VARIABLE OVERRIDE) ---
============================================================ */
html.skin-theme-clientpref-night .vector-toc {
/* 1. Force the skin's internal text variables to Light Grey */
--color-base: #e0e0e0 !important;
--color-emphasized: #ffffff !important;
--color-subtle: #b0bec5 !important;
--color-placeholder: #b0bec5 !important;
/* 2. Force links to be Light Grey */
color: #e0e0e0 !important;
}
/* 3. The "Contents" Header & Toggle */
html.skin-theme-clientpref-night .vector-toc-title,
html.skin-theme-clientpref-night #vector-toc-label,
html.skin-theme-clientpref-night .vector-pinnable-header-label {
color: #4db6ac !important; /* Bright Teal */
border-bottom-color: #444 !important;
}
/* 4. The Individual Links (Force them white) */
html.skin-theme-clientpref-night .vector-toc-link,
html.skin-theme-clientpref-night .vector-toc-text,
html.skin-theme-clientpref-night .vector-toc .vector-toc-list-item a {
color: #e0e0e0 !important;
opacity: 1 !important;
}
/* 5. Hover State (Teal) */
html.skin-theme-clientpref-night .vector-toc-link:hover .vector-toc-text,
html.skin-theme-clientpref-night .vector-toc-link:hover,
html.skin-theme-clientpref-night .vector-toc .vector-toc-list-item a:hover {
color: #4db6ac !important;
text-decoration: none !important;
}
/* 6. Active/Selected State (Bright White + Teal Border) */
html.skin-theme-clientpref-night .vector-toc-list-item-active > .vector-toc-link .vector-toc-text {
color: #ffffff !important;
font-weight: bold !important;
}