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.
/* CSS placed here will be applied to all skins. This version makes the log-in disappear*/
/* ======================================================= */
/* 1. STANDARD MEDIAWIKI STYLING (Fonts, Quotes, etc.) */
/* ======================================================= */
cite, dfn { font-style: inherit; }
q { quotes: '"' '"' "'" "'"; }
blockquote {
overflow: hidden;
margin: 1em 0;
padding: 0 40px;
}
small { font-size: 85%; }
.mw-body-content sub, .mw-body-content sup { font-size: 80%; }
.ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; }
/* Collapsible elements logic */
.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child),
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > p,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > table,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > thead + tbody,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) tr:not( :first-child ),
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) .mw-collapsible-content,
#editpage-specialchars {
display: none;
}
.references { margin-bottom: 0.5em; }
/* Cite Link Styling */
span[ rel="mw:referencedBy" ] { counter-reset: mw-ref-linkback 0; }
span[ rel='mw:referencedBy' ] > a::before {
content: counter( mw-ref-linkback, lower-alpha );
font-size: 80%; font-weight: bold; font-style: italic;
}
a[ rel="mw:referencedBy" ]::before { font-weight: bold; content: "^"; }
span[ rel="mw:referencedBy" ]::before { content: "^ "; }
.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
font-weight: normal; padding-right: 0.2em; padding-left: 0.2em;
}
.mw-collapsible-leftside-toggle .mw-collapsible-toggle { float: left; }
.wikitable td ul, .wikitable td ol, .wikitable td dl { text-align: left; }
/* PDF Icons */
.mw-parser-output a[href$=".pdf"].external,
.mw-parser-output a[href*=".pdf?"].external,
.mw-parser-output a[href*=".pdf#"].external,
.mw-parser-output a[href$=".PDF"].external,
.mw-parser-output a[href*=".PDF?"].external,
.mw-parser-output a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right;
padding: 8px 18px 8px 0;
}
/* Warnings and Notices */
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon {
clear: both; margin: 0.2em 0; border: 1px solid #bb7070;
background-color: var(--background-color-error-subtle, #ffdbdb);
padding: 0.25em 0.9em; box-sizing: border-box;
}
.mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt {
border-color: #fc3; background-color: var(--background-color-warning-subtle, #fef6e7);
}
@media (min-width: 640px) {
figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; }
}
#mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; }
/* Hide Permission Groups */
.checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show,
.patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show,
.autoconfirmed-show, .user-show { display: none; }
.ve-ui-mwNoticesPopupTool-item .editnotice-redlink,
.ve-ui-mwNoticesPopupTool-item .mbox-image,
.ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; }
ul.permissions-errors { margin: 0; }
ul.permissions-errors > li { list-style: none; }
span.mwe-math-mathml-inline { font-size: 118%; }
.mwe-math-fallback-image-display, .mwe-math-mathml-display {
margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em;
}
.mwe-math-mathml-display math { display: inline; }
@media screen {
body:not(.ns-0):not(.ns-2):not(.ns-100) .gallerybox .thumb img {
background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat;
}
#siteSub { display: block; }
.references { font-size: 90%; }
}
.flaggedrevs_draft_synced, .flaggedrevs_stable_synced, #t-upload,
.mw-special-Book #coll-downloadbox { display: none; }
/* Infoboxes */
.infobox {
border: 1px solid #a2a9b1; color: black; padding: 0.2em;
font-size: 88%; line-height: 1.5em; border-spacing: 3px;
}
@media screen { .infobox { background-color: #f8f9fa; } }
@media (max-width: 640px) { .infobox { width: 100%; } .infobox .nowrap { white-space: normal; } }
@media (min-width: 640px) {
.infobox { margin: 0.5em 0 0.5em 1em; float: right; clear: right; width: 22em; }
}
.infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data,
.infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar,
.infobox th, .infobox td { vertical-align: top; }
.infobox-label, .infobox-data, .infobox th, .infobox td { text-align: left; }
.infobox .infobox-above, .infobox .infobox-title, .infobox caption {
font-size: 125%; font-weight: bold; text-align: center; padding: 0.2em;
}
.infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image,
.infobox .infobox-full-data, .infobox .infobox-below { text-align: center; }
.infobox .infobox-navbar { text-align: right; }
.wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] {
font-weight: normal; text-align: left;
}
.nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; }
.nowrap, .nowraplinks a { white-space: nowrap; }
.wrap, .wraplinks a { white-space: normal; }
span.texhtml {
font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
font-size: 118%; line-height: 1;
font-variant-numeric: lining-nums tabular-nums; font-kerning: none;
}
span.texhtml span.texhtml { font-size: 100%; }
@media (min-width: 640px) { span.texhtml { white-space: nowrap; } }
@media (max-width: 640px) {
.flagicon a > img, .flagicon noscript > img { max-width: none !important; }
}
@media screen { .nochecker .gallerybox .thumb img { background-image: none; } }
/* YouTube Embeds */
.mw-parser-output iframe[src*="youtube.com"],
.mw-parser-output iframe[src*="youtube-nocookie.com"] {
width: 100% !important; max-width: 320px; height: auto !important;
aspect-ratio: 16 / 9; display: block; margin: 0 auto;
}
/* ======================================================= */
/* RESTORED CAPSACH TOC (Fixed: No "X", Clear Title) */
/* ======================================================= */
/* CapSach — Mobile TOC overlay (all skins) */
#cps-open-toc {
position: fixed;
display: none;
}
/* Full-screen scrim (Click outside to close) */
#cps-toc-overlay {
position: fixed; inset: 0;
background: rgba(0,0,0,0.4);
display: none;
z-index: 1004;
}
#cps-toc-overlay.is-open { display: block; }
/* --- THE DROPDOWN PANEL --- */
#cps-toc-panel {
position: fixed;
/* CHANGED: Set to 0 to start exactly at the top */
top: 0 !important;
/* HORIZONTAL CENTERING */
left: 0 !important;
right: 0 !important;
margin: 0 auto !important;
bottom: auto !important;
/* WIDTH CONSTRAINT */
width: 100% !important;
max-width: 900px !important;
/* CHANGED: Increased height since we gained the top space back */
/* Was (100vh - 150px), now allowing it to go further down */
max-height: calc(100vh - 60px) !important;
/* APPEARANCE */
border-radius: 0 !important;
background: #ffffff !important;
color: #202122 !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
padding: 15px !important;
box-sizing: border-box !important;
/* SCROLLING */
overflow-y: auto !important;
-webkit-overflow-scrolling: touch;
/* VISIBILITY */
z-index: 1005 !important;
display: none;
}
/* Logic to show panel */
.is-open #cps-toc-panel,
#cps-toc-overlay.is-open + #cps-toc-panel,
#cps-toc-panel[style*="display: block"] {
display: block !important;
}
/* --- 1. RESET THE CONTAINER (Fixes the "part above" issue) --- */
/* We remove all spacing/color from the wrapper so it disappears */
#cps-toc-header {
background: transparent !important;
padding: 0 !important;
margin: 0 !important;
border: none !important;
min-height: 0 !important; /* Ensures it takes no space if empty */
}
/* --- 2. STYLE THE TITLE TEXT AS THE GREY BLOCK --- */
/* We target the h2 directly so the color sticks to the text */
#cps-toc-panel > h2,
#cps-toc-title {
/* THE BACKGROUND COLOR */
background-color: #F8F9FA !important;
/* FULL WIDTH TRICK */
/* We pull the text element OUT of the padding to touch the edges */
margin-left: -15px !important;
margin-right: -15px !important;
margin-top: -15px !important; /* Pulls it to the very top */
/* HEIGHT & SPACING */
padding-top: 20px !important;
padding-bottom: 20px !important;
/* Pushes the link list down so it doesn't overlap */
margin-bottom: 15px !important;
/* BORDER SEPARATOR */
border-bottom: 1px solid #eaecf0 !important;
/* TEXT STYLING */
display: block !important;
width: auto !important; /* Let margins control width */
text-align: center !important;
color: #202122 !important;
font-size: 18px !important;
font-family: sans-serif !important;
font-weight: bold !important; /* Tries to force bold */
}
/* HIDE THE CLOSE BUTTON ("X") */
#cps-toc-close {
display: none !important;
}
/* --- LIST STYLING --- */
#cps-toc-list {
list-style: none; margin: 0; padding: 0;
}
#cps-toc-list li { margin: 0; }
/* Default Link Styling */
#cps-toc-list a {
display: block; padding: 12px 10px;
border-bottom: 1px solid #f8f8f8;
text-decoration: none;
color: #202122;
font-size: 15px;
line-height: 1.4;
}
#cps-toc-list a:active {
background: #f0f0f0;
color: #3366cc;
}
/* Indentation */
#cps-toc-list li[data-level="3"] { padding-left: 15px; }
#cps-toc-list li[data-level="4"] { padding-left: 30px; }
#cps-toc-list li[data-level="5"] { padding-left: 45px; }
/* --- CUSTOM TOC HEADER & ARROWS --- */
/* 1. Target "Contents" Header Link (Bold, Orange, Dark Border) */
#cps-toc-list a[href="#mw-toc-heading"] {
font-weight: bold !important;
color: #f07662 !important;
border-bottom: 1px solid #202122 !important;
}
/* 2. Add Arrow Symbol (▸) to Level 2 AND Level 3 items */
#cps-toc-list li[data-level="2"] a::before,
#cps-toc-list li[data-level="3"] a::before {
content: "▸" !important;
color: #202122 !important;
margin-right: 8px; /* Space between symbol and text */
display: inline-block;
}
/* 3. Remove the Arrow from the "Contents" header (it is technically Level 2) */
#cps-toc-list li[data-level="2"] a[href="#mw-toc-heading"]::before {
display: none !important;
content: "" !important;
}
/* --- END CUSTOM TOC STYLING --- */
/* --- REMOVED THE IPAD HIDING RULE HERE --- */
/* (The @media min-width 768px block was deleted to allow TOC on iPad) */
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}
/* FIX: HIDE DUPLICATE "CONTENTS" TITLE IN MOBILE TOC */
#cps-toc-panel .toctitle,
#cps-toc-panel #mw-toc-heading,
#cps-toc-panel h2 {
display: none !important;
}
/* ======================================================= */
/* 2. GLOBAL HIDE (READ-ONLY MODE) */
/* These elements are hidden for everyone by default. */
/* They are UNHIDDEN in MediaWiki:Group-user.css */
/* ======================================================= */
/* HIDE USER LINKS (Includes Sticky Header IDs for Vector 2022) */
#vector-user-links,
#p-personal,
#pt-login,
#pt-login-2, /* Sticky Header Login */
#pt-createaccount,
#pt-createaccount-2, /* Sticky Header Create Account */
#pt-userpage,
#pt-mytalk,
#pt-preferences,
#pt-watchlist,
#pt-mycontris,
#pt-logout {
display: none !important;
}
/* HIDE TOOLS (Sidebar, Dropdowns, Tabs) */
#p-tb, /* Toolbox */
#vector-page-tools, /* Vector 22 Sidebar */
#vector-page-tools-dropdown, /* Vector 22 Dropdown */
.vector-p-tb,
#ca-viewsource,
#ca-history,
#ca-talk {
display: none !important;
}
/* HIDE CATEGORIES */
#catlinks,
.catlinks,
.mw-normal-catlinks {
display: none !important;
}
/* ======================================================= */
/* FORCE HIDE MOBILE HISTORY BAR */
/* Placed in Common.css to ensure it loads on all devices */
/* ======================================================= */
/* Target the container class from your HTML */
.last-modified-bar,
a.last-modified-bar {
display: none !important;
visibility: hidden !important;
}
/* Target the text wrapper explicitly */
.last-modified-bar__text,
.modified-enhancement {
display: none !important;
}
/* Target the specific clock icon found inside that button */
.minerva-icon--modified-history {
display: none !important;
}
/* ======================================================= */
/* HIDE MOBILE USER/LOGIN MENU (Wrapper Method) */
/* ======================================================= */
/* Target the main container div */
.minerva-user-menu {
display: none !important;
}
/* Backup: Target the toggle button specifically */
.toggle-list__toggle#minerva-user-menu-toggle {
display: none !important;
}
/* Backup: Target the icon inside */
.minerva-icon--userAvatarOutline {
display: none !important;
}
/* ======================================================= */
/* HIDE MOBILE SIDEBAR ITEMS */
/* ======================================================= */
/* 1. Hide "Recent Changes" */
#mw-mf-page-left a[href*="Special:RecentChanges"],
#mw-mf-page-left a[data-event-name="recentchanges"] {
display: none !important;
}
/* 2. Hide "Special Pages" */
#mw-mf-page-left a[href*="Special:SpecialPages"] {
display: none !important;
}
/* 3. Hide "Community Portal" */
/* Matches the URL: index.php?title=...Community_portal */
#mw-mf-page-left a[href*="Community_portal"] {
display: none !important;
}
/* ======================================================= */
/* HIDE VECTOR 2022 PAGE TOOLBAR & PRE-CONTENT */
/* (Restored for logged-in users in MediaWiki:Group-user.css) */
/* ======================================================= */
/* Hides the tabs (Read, Edit, History) and the "Tools" dropdown */
.vector-page-toolbar {
display: none !important;
}
/* Hides the "From [Sitename]" text and page status indicators */
.vector-body-before-content {
display: none !important;
}
/* ======================================================= */
/* HIDE LANGUAGE SELECTOR MENU (Global) */
/* ======================================================= */
#p-vector-user-menu-preferences {
display: none !important;
}
/* Hides the top-left container (Main Menu / Hamburger Icon) */
.vector-main-menu-landmark {
display: none !important;
}
/* ======================================================= */
/* HIDE COLOR THEME (Read-Only/Anonymous Only) */
/* ======================================================= */
/* This specific selector hides the element ONLY if the user
does NOT have the 'group-user' class (i.e., they are logged out). */
body:not(.group-user) #skin-client-prefs-skin-theme {
display: none !important;
}
/* ======================================================= */
/* 2. BOTTOM FLOATING SQUARES (4 Buttons: ToC Centered) */
/* ======================================================= */
/* --- A. HEADER RESET (Invisible Container) --- */
.header-container.header-chrome {
position: fixed !important;
top: 0 !important; left: 0 !important; right: 0 !important;
height: 60px !important;
z-index: 1000 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
pointer-events: none !important;
}
/* Push content down */
body.skin-minerva { padding-top: 60px !important; }
.mw-body { margin-top: 10px !important; }
/* Hide default elements */
.header-container .navigation-drawer { display: none !important; }
/* --- B. SHARED STYLES (Applies to all 4 buttons + Input) --- */
.branding-box,
#searchIcon,
#cps-open-toc,
#custom-email-btn, /* The Email Button */
body.mw-mf-search-mode .minerva-header .search-box input {
/* Design: Dark Semi-Transparent Circle */
background-color: rgba(0, 0, 0, 0.2) !important;
opacity: 1 !important;
border-radius: 50% !important;
border: none !important;
box-shadow: none !important;
backdrop-filter: none !important;
pointer-events: auto !important;
/* Dimensions: 44px x 44px */
box-sizing: border-box !important;
width: 44px !important;
height: 44px !important;
/* === ADD THESE TWO LINES HERE === */
min-width: 44px !important; /* Overrides Minerva 640px tablet default */
max-width: 44px !important; /* Ensures it stays a circle */
/* ================================ */
padding: 0 !important;
margin: 0 !important;
/* Fixed Positioning at Bottom */
position: fixed !important;
top: auto !important;
/* FIX FOR IPHONE: Respect the Home Indicator + GPU Acceleration */
/* Uses 15px base + the safe area (black bar height) */
bottom: calc(15px + env(safe-area-inset-bottom)) !important;
/* Stops the "Jitter" when the address bar moves */
transform: translateZ(0);
will-change: transform;
/* Center Alignment setup (Offsets defined below) */
left: 50% !important;
right: auto !important;
/* Flexbox to center the icons inside */
display: flex !important;
align-items: center;
justify-content: center;
z-index: 1002 !important;
}
/* --- C. POSITIONS (Order: Search, Home, ToC, Email) --- */
/* 1. SEARCH (Far Left) */
/* Offset: -150px */
#searchIcon {
margin-left: -150px !important;
z-index: 1003 !important;
}
#searchIcon .minerva-icon {
font-size: 24px !important;
color: #fff !important;
fill: #fff !important;
filter: brightness(0) invert(1);
}
/* 2. HOME (Left of Center) */
.branding-box {
margin-left: -86px !important;
/* ADD THIS LINE TO PREVENT STRETCHING: */
flex: 0 0 44px !important;
}
/* Home Icon (⌂) */
.branding-box::after {
content: "⌂";
font-size: 30px !important;
color: #fff !important;
-webkit-text-stroke: 0.5px #fff !important;
margin-top: -6px !important;
line-height: 1 !important;
}
.branding-box a { opacity: 0 !important; position: absolute; inset: 0; }
/* 3. TOC (CENTER ANCHOR) */
/* Offset: -22px (Centered) */
#cps-open-toc {
margin-left: -22px !important;
}
#cps-open-toc .icon {
font-size: 30px !important;
line-height: 1 !important;
margin-bottom: 3px !important;
color: #fff !important;
}
#cps-open-toc .label { display: none !important; }
/* 4. EMAIL (Right of Center) */
/* Offset: +42px */
#custom-email-btn {
margin-left: 42px !important;
}
/* Email Icon (Envelope) */
#custom-email-btn::after {
/* \FE0E forces "Text Mode" (Standard black/white) instead of Emoji */
content: "\2709\FE0E";
font-size: 26px !important;
line-height: 1 !important;
margin-top: -2px !important;
/* IOS HACK: This forces the icon to be flat white */
color: transparent !important; /* Hide the colorful emoji */
text-shadow: 0 0 0 #fff !important; /* Create a flat white shadow of it */
}
/* --- D. THE SEARCH INPUT (When Search is Clicked) --- */
/* 1. Hide initially */
body:not(.mw-mf-search-mode) .minerva-header .search-box {
display: none !important;
}
/* 2. Position Wrapper */
body.mw-mf-search-mode .minerva-header .search-box {
display: block !important;
position: fixed !important;
top: 8px !important;
height: 44px !important;
z-index: 1001 !important;
left: 10px !important;
right: 10px !important;
width: auto !important;
padding: 0 !important; margin: 0 !important;
background: transparent !important;
border-radius: 0 !important;
}
/* 3. Style Input Pill */
/* (Note: The input background/shape is handled in Shared Styles above) */
body.mw-mf-search-mode .minerva-header .search-box input {
width: 100% !important;
font-size: 16px !important;
/* Text Color */
color: #fff !important;
-webkit-text-fill-color: #fff !important;
/* PADDING: 44px (Button) + 11px (Gap) */
padding-left: 55px !important;
padding-right: 55px !important;
/* Reset position for the input box specifically */
position: static !important;
margin: 0 !important;
}
/* 4. Hide Inner Icon */
.minerva-header .search-box .search-box-icon-overlay {
display: none !important;
}
/* 5. Placeholder */
body.mw-mf-search-mode .minerva-header .search-box input::placeholder {
color: rgba(255, 255, 255, 0.7) !important;
-webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}
/* 6. Cancel "X" Button */
.search-box .search-box-cancel {
display: block !important;
position: absolute !important;
top: 0 !important;
right: 0 !important;
width: 44px !important;
height: 44px !important;
line-height: 44px !important;
text-align: center !important;
color: #fff !important;
z-index: 1004 !important;
}
/* ======================================================= */
/* HIDE PAGE ACTIONS MENU (Language, Watch, Edit, etc.) */
/* ======================================================= */
#p-views,
.page-actions-menu__list {
display: none !important;
}
/* ======================================================= */
/* HIDE STANDARD "FIXED" TOC (Force Sticky Button Only) */
/* ======================================================= */
/* This removes the default TOC box inside the article text */
.toc,
#toc,
.mw-parser-output #toc,
.client-js .mw-content-ltr .toc {
display: none !important;
}
/* ======================================================= */
/* FORCE STICKY BUTTONS ON IPAD / TABLET */
/* ======================================================= */
@media screen and (min-width: 768px) {
/* 1. LOCK HOME BUTTON SHAPE (Restored from comment) */
.branding-box {
/* Force exact width to prevent "Tablet Mode" expansion */
width: 44px !important;
min-width: 44px !important;
max-width: 44px !important;
/* Stop Flexbox from stretching it */
flex: 0 0 44px !important;
/* Ensure position stays correct (Left of Center) */
margin-left: -86px !important;
}
/* 2. KEEP TOC CENTERED */
#cps-open-toc {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
z-index: 9999 !important;
/* Center Offset */
margin-left: -22px !important;
/* Styling */
background-color: rgba(0, 0, 0, 0.2) !important;
width: 44px !important;
height: 44px !important;
border-radius: 50% !important;
}
}
/* Constrain main content width for better readability */
#content {
max-width: 900px; /* Optimal reading width */
margin: 0 auto; /* Center it */
line-height: 1.6; /* More breathing room between lines */
}
/* ======================================================= */
/* SMART HIDE: ONLY HIDE BUTTON ON DESKTOP SKIN */
/* ======================================================= */
/* This rule only triggers if the screen is wide AND the user is on the Desktop Skin */
@media screen and (min-width: 1000px) {
body.skin-vector-2022 #cps-open-toc {
display: none !important;
}
}
/* 1. Remove gap below the Site Notice (even if empty) */
#siteNotice {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}
/* 2. Remove gap above the Main Content container */
#content.mw-body {
margin-top: 0 !important;
padding-top: 0 !important;
}
/* 3. Remove gap above the Page Heading ("Home") */
/* This is often the hidden cause of the white line */
.pre-content,
.page-heading,
.firstHeading {
margin-top: 0 !important;
padding-top: 0 !important;
}
/* ======================================================= */
/* 1. MAKE HEADER TRANSPARENT */
/* ======================================================= */
.header-container.header-chrome,
.minerva-header {
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
}
/* ======================================================= */
/* 2. RESET PAGE & CONTAINER TOP MARGINS */
/* This removes the "White Gap" at the very top */
/* ======================================================= */
body.skin-minerva {
padding-top: 0 !important;
}
/* Force the main content wrapper to start at pixel 0 */
#content,
.mw-body {
margin-top: 0 !important;
padding-top: 0 !important;
}
/* Remove potential gap from the Site Notice container */
.banner-container,
#siteNotice {
padding-top: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
/* ======================================================= */
/* 3. PUSH TITLE DOWN INTERNALLY */
/* This pushes the text "Home" down so it's not hidden, */
/* but keeps the background white/transparent at the top. */
/* ======================================================= */
.pre-content.heading-holder {
/* 70px (Header height) + 40px (Visual Space) */
padding-top: 70px !important;
/* Ensure it behaves as a block to accept padding */
display: block !important;
}
/* Best approach: Hides the text wrapper entirely to remove spacing */
.mw-logo-container {
display: none !important;
}
/* Target the specific text element directly */
.mw-logo-wordmark {
display: none !important;
visibility: hidden !important; /* Backup if display fails */
width: 0 !important;
}
/* ======================================================= */
/* ADD TAGLINE TO HEADER (DESKTOP) */
/* ======================================================= */
/* 1. Prevent underline on the parent link when hovering */
.mw-logo:hover,
.mw-logo:active,
.mw-logo:focus {
text-decoration: none !important;
}
/* 2. Inject the tagline text */
.mw-logo::after {
/* \A is the CSS escape character for a Newline */
content: "Empowering \A human excellence";
/* Typography - MATCHING FOOTER EXACTLY */
/* Removed font-family line so it inherits the correct system font */
font-size: 0.875em;
font-weight: 700;
line-height: 1.4;
/* Visuals */
color: #202122 !important;
text-decoration: none !important;
cursor: pointer;
/* Positioning */
display: block;
white-space: pre;
margin-left: 3px;
text-align: left;
/* MOVES TEXT DOWN */
position: relative;
top: 3px;
}
/* Hide styling on Mobile/Tablet so it doesn't clash */
@media screen and (max-width: 900px) {
.mw-logo::after {
display: none !important;
}
}
/* ======================================================= */
/* CUSTOM MOBILE FOOTER (Logo Image + Tagline) */
/* ======================================================= */
/* 1. Reset the container */
.minerva-footer-logo {
font-size: 0 !important; /* Hide default text */
color: transparent !important; /* Make sure it's invisible */
display: block !important; /* Stack vertically */
text-align: left !important; /* Align left */
margin-bottom: 20px !important;
}
/* 2. INSERT THE LOGO (via ::before) */
.minerva-footer-logo::before {
content: "" !important;
display: block !important;
/* DIRECT LINK TO YOUR LOGO */
background-image: url('https://pro-wiki.s3.eu-central-1.amazonaws.com/2776118/Logo.png');
/* DIMENSIONS */
width: 160px;
height: 50px;
background-repeat: no-repeat !important;
background-size: contain !important;
background-position: left center !important;
margin-bottom: 6px !important;
}
/* 3. INSERT THE TAGLINE (via ::after) */
.minerva-footer-logo::after {
/* \A is the Newline character. Use "pre" or "pre-wrap" to render it. */
content: "Empowering human excellence" !important;
/* Typography - MATCHING FOOTER LINKS */
/* Removed font-family to use system font (Roboto/San Francisco) */
font-size: 0.875rem !important; /* Increased to 14px to match footer links */
font-weight: 700 !important;
line-height: 1.4 !important;
/* Visuals - KEEPING YOUR DARK COLOR */
color: #202122 !important;
/* Layout */
display: block !important;
white-space: pre-wrap !important;
}
/* ======================================================= */
/* FORCE SHOW HIDDEN MOBILE FOOTER LINKS */
/* Minerva hides About/Disclaimers by default. */
/* This forces them to appear in the list. */
/* ======================================================= */
body.skin-minerva #footer-places-about,
body.skin-minerva #footer-places-disclaimers {
display: inline-block !important;
}
/* Force paragraphs inside the navigation menu to inherit the parent font size */
.navigation-menu .infobox-data p {
font-size: 1em !important;
margin: 0 !important;
padding: 0 !important;
}
/* ======================================================= */
/* GLOBAL BRANDING: DARK LINES & CLEANUP */
/* ======================================================= */
/* ======================================================= */
/* GLOBAL BRANDING: DARK LINES & CLEANUP */
/* ======================================================= */
/* 1. TEXT COLORS (Headings & Titles) */
.mw-heading1, h1,
.mw-heading2, h2,
h3, h4, h5, h6,
.firstHeading,
.mw-page-title-main,
.page-heading,
.section-heading,
.vector-sticky-header-context-bar-primary,
.mw-headline,
.vector-pinnable-header-label {
color: #202122 !important;
}
/* 2. BORDERS FOR ALL HEADINGS (Desktop & Mobile) */
/* This forces the 1px dark line and overrides the default grey */
.mw-heading1, h1,
.mw-heading2, h2,
.section-heading {
border-bottom: 1px solid #202122 !important;
margin-bottom: 0.6em;
}
/* Special weight for the very first page heading */
.mw-first-heading {
border-bottom: 2px solid #202122 !important;
margin-bottom: 0.5em;
}
/* 2.1 REMOVE VECTOR 2022 DEFAULT TITLE LINE */
/* You asked to remove the color/transparency of the ::after element */
.vector-page-titlebar::after {
background-color: transparent !important;
display: none !important;
height: 0 !important;
}
/* 2.2 MOBILE CLEANUP (Minerva Skin) */
/* This removes the Language/Edit buttons to create a cleaner look. */
.page-actions-menu {
display: none !important;
}
/* 4. CONTENTS SIDEBAR (Desktop) */
h2.vector-pinnable-header-label {
border-bottom: none !important;
}
/* 6. FOOTER LINES (Global) */
#footer,
.mw-footer,
.minerva-footer,
.printfooter {
border-top: 1px solid #202122 !important;
}
/* ======================================================= */
/* HIDE FOOTER ICONS (Powered By, Hosted By, etc.) */
/* ======================================================= */
#footer-icons {
display: none !important;
}
/* 7. CLEAN UP MOBILE FOOTER GAPS */
.minerva-footer .footer-content,
.minerva-footer .branding-box,
.minerva-footer-logo,
#footer-info,
#footer-places {
border: none !important;
}
/* 8. MOBILE ICONS */
.skin-minerva .section-heading .mw-ui-icon-wikimedia-expand-small {
filter: grayscale(1) brightness(0.2);
}
/* 9. SUBTLE UI TWEAKS */
.mw-editsection, .mw-editsection a {
color: #202122 !important;
opacity: 0.7;
}
/* ======================================================= */
/* FORCE LEGACY BLUE (#0645ad) - LINKS & TOGGLES */
/* ======================================================= */
/* 1. Force Link Color (Visited, Unvisited & Toggles) */
/* Overrides standard links and the collapsible "Show/Hide" text */
a,
a:visited,
.mw-parser-output a,
.mw-parser-output a:visited,
.mw-body-content a.external,
.mw-body-content a.external:visited,
.mw-collapsible-toggle-default .mw-collapsible-text {
color: #0645ad !important;
}
/* 2. Protect Red Links (New pages) */
/* Keeps missing pages red (#d73333) even if visited */
a.new,
a.new:visited {
color: #d73333 !important;
}
/* 3. Protect UI Buttons */
/* Ensures text inside buttons (like 'Save changes') stays white */
a.mw-ui-button,
a.mw-ui-button:visited {
color: #fff !important;
}
/* ======================================================= */
/* MAIN PAGE MENU */
/* ======================================================= */
.main-page-menu {
/* Adjusted from 2.2 to 1.8 for better visual grouping */
line-height: 1.8;
margin-bottom: 0em;
font-size: 1em;
}
/* ======================================================= */
/* READ PILL - INLINE STYLE */
/* ======================================================= */
.read-pill {
display: inline;
white-space: nowrap;
/* 1. THICKER TOP PADDING */
/* Top: 2px | Right: 0.4em | Bottom: 1px | Left: 0.4em */
padding: 1px 0.4em 1px 0.4em;
/* 2. LIFT TEXT UP 1 PIXEL */
position: relative;
top: -1px;
/* Visuals */
border-radius: 4px;
margin: 0 0.2em 0 0;
/* Fonts */
font-size: 0.85em;
font-weight: 500;
/* Color Inheritance & Wrapping Safety */
color: #202122 !important;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
/* Link Color Fixes (Standard, Visited & Missing) */
.read-pill a,
.read-pill a:visited {
color: #202122 !important;
text-decoration: none !important;
}
.read-pill a.new {
color: red !important;
padding: 0 4px;
border-radius: 3px;
}
/* ======================================================= */
/* PRINT OPTIMIZATION: HIDE UI BUTTONS */
/* ======================================================= */
@media print {
/* 1. Hide the 4 floating bottom buttons (Search, Home, ToC, Email) */
#searchIcon,
.branding-box,
#cps-open-toc,
#custom-email-btn {
display: none !important;
}
/* 2. Hide the ToC panel and Overlay if they happen to be open */
#cps-toc-panel,
#cps-toc-overlay {
display: none !important;
}
/* 3. Hide the search input bar if it was left open */
.minerva-header .search-box {
display: none !important;
}
}
/* ======================================================= */
/* 3. AI ASSISTANT (AXA BRAIN) CUSTOMIZATION */
/* ======================================================= */
/* 1. GLOBAL LAYER (All Devices) */
/* We ONLY force the layer order here, not the position. */
/* This ensures it sits on top of your floating buttons (z-index: 1002). */
.ext-aiassistant,
.ext-aiassistant-panel {
z-index: 2000 !important;
}
/* ======================================================= */
/* 3. AI ASSISTANT (AXA BRAIN) CUSTOMIZATION */
/* ======================================================= */
/* 1. GLOBAL LAYER (All Devices) */
.ext-aiassistant,
.ext-aiassistant-panel {
z-index: 2000 !important;
}
/* ======================================================= */
/* 2. MOBILE ONLY: "NUCLEAR" FULL SCREEN FIX (iOS) */
/* ======================================================= */
@media screen and (max-width: 768px) {
/* A. FORCE THE WRAPPER TO BE A FIXED OVERLAY */
/* This targets the outermost container to ensure it sits on top of the page */
.ext-aiassistant,
.ext-aiassistant-panel {
/* 1. Detach from page flow completely */
position: fixed !important;
/* 2. Lock to all 4 corners of the screen */
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
/* 3. Force Dimensions (ignores parent container size) */
width: 100vw !important;
height: 100dvh !important; /* 'dvh' handles the moving URL bar on iOS */
max-width: none !important;
max-height: none !important;
/* 4. Reset Positioning (Fixes "Shifted Left" issues) */
margin: 0 !important;
padding: 0 !important;
transform: none !important; /* Prevents centering transforms from interfering */
/* 5. Ensure it is the top-most layer */
z-index: 999999 !important;
background-color: #ffffff !important;
}
/* B. SETUP THE FLEXBOX LAYOUT (Inside the Panel) */
.ext-aiassistant-panel {
display: flex !important;
flex-direction: column !important;
justify-content: space-between !important;
/* Prevent the whole modal from scrolling (rubber-banding) */
overscroll-behavior: none !important;
}
/* C. HEADER (Locks to Top) */
.ext-aiassistant-header {
/* Don't shrink/grow. Fixed height. */
flex: 0 0 auto !important;
/* iOS Safe Area (The Notch) */
padding-top: env(safe-area-inset-top, 20px) !important;
/* Visuals */
background: #fff !important;
width: 100% !important;
border-bottom: 1px solid #eee !important;
}
/* D. BODY (The Scrolling Part) */
.ext-aiassistant-body {
/* Take up all available space */
flex: 1 1 auto !important;
/* Allow scrolling ONLY here */
overflow-y: auto !important;
-webkit-overflow-scrolling: touch !important; /* Smooth scroll */
/* Reset height */
height: auto !important;
width: 100% !important;
}
/* E. FOOTER (Locks to Bottom) */
.ext-aiassistant-footer {
/* Don't shrink/grow */
flex: 0 0 auto !important;
/* iOS Safe Area (Home Indicator swipe bar) */
/* We add extra padding so the text input isn't covered by the black bar */
padding-bottom: calc(15px + env(safe-area-inset-bottom, 20px)) !important;
/* Visuals */
background: #fff !important;
width: 100% !important;
border-top: 1px solid #eee !important;
}
}
/* ======================================================= */
/* 4. AI ASSISTANT FOOTER ALIGNMENT & MAKE BUTTON CIRCLE */
/* ======================================================= */
.ext-aiassistant-footer {
/* CHANGED: Align items to the middle (center) instead of top (flex-start) */
align-items: center !important;
}
/* Make the AI Assistant Send button a circle */
.ext-aiassistant-send {
/* 1. Force a perfect circle shape */
border-radius: 50% !important;
/* 2. Force equal width and height */
width: 36px !important;
height: 36px !important;
min-width: 0 !important; /* Overrides Codex default "wide" button style */
/* 3. Center the icon */
padding: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
/* Optional: Add a subtle margin if it's too close to the text input */
margin-left: 4px !important;
}
/* ======================================================= */
/* 5. AI ASSISTANT VISUAL OVERRIDES (Borders & Shadows) */
/* ======================================================= */
/* 1. Main Panel: Dark Border, No Shadow */
.ext-aiassistant-panel {
border: 1px solid #202122 !important;
box-shadow: none !important;
}
/* 2. Interior Lines (Header Bottom & Footer Top) */
.ext-aiassistant-header {
border-bottom: 1px solid #202122 !important;
}
.ext-aiassistant-footer {
border-top: 1px solid #202122 !important;
}
/* User Message Bubble */
.ext-aiassistant-message-user {
background-color: #202122 !important;
color: #ffffff !important;
border-radius: 22px !important;
margin-left: 100px !important;
margin-bottom: 1.6em !important;
}
/* Change background of the Send button ONLY when it is disabled */
.ext-aiassistant-send:disabled {
background-color: #CCCCCC !important;
/* Recommended: Change the border to match so it looks flat */
border-color: #CCCCCC !important;
}
/* ======================================================= */
/* 6. AI ASSISTANT TYPOGRAPHY (Match Article Style) */
/* ======================================================= */
/* 1. Target the text container within the AI message */
.ext-aiassistant-message-assistant {
/* Ensure font size matches the article body (usually 14px or 0.875em) */
font-size: 1em !important;
color: #202122 !important; /* Standard MediaWiki text color */
}
/* 2. Unify Line-Height for Paragraphs and Lists */
.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
/* Matches your #content rule: line-height: 1.6 */
line-height: 1.6 !important;
}
/* 3. Add Spacing Between Paragraphs */
.ext-aiassistant-message-assistant p {
/* Standard MediaWiki paragraph spacing (approx 1em) */
margin-bottom: 1.1em !important;
margin-top: 0 !important;
}
/* 4. Fix List Spacing (Bullets) */
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
margin-top: 0.3em !important;
margin-bottom: 1.1em !important; /* Space after the list */
padding-left: 2em !important; /* Standard indentation */
}
.ext-aiassistant-message-assistant li {
/* Small gap between bullet points for readability */
margin-bottom: 0.1em !important;
}
/* 5. Ensure Citations [1] don't break the line height */
.ext-aiassistant-cite {
line-height: 1 !important;
font-size: 80% !important;
vertical-align: super !important;
}
/* ======================================================= */
/* 6. AI ASSISTANT TYPOGRAPHY (Match Article Style) */
/* ======================================================= */
/* 1. Target the text container within the AI message */
.ext-aiassistant-message-assistant {
/* Ensure font size matches the article body (usually 14px or 0.875em) */
font-size: 1em !important;
color: #202122 !important; /* Standard MediaWiki text color */
}
/* 2. Unify Line-Height for Paragraphs and Lists */
.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
/* Matches your #content rule: line-height: 1.6 */
line-height: 1.6 !important;
}
/* 3. Add Spacing Between Paragraphs */
.ext-aiassistant-message-assistant p {
/* Standard MediaWiki paragraph spacing (approx 1em) */
margin-bottom: 0.6em !important;
margin-top: 0 !important;
}
/* ======================================================= */
/* 4. UNIFIED BULLET POINTS (Clean Editorial Style) */
/* ======================================================= */
/* A. Base Reset for all lists */
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
margin-top: 0.3em !important;
margin-bottom: 0.6em !important; /* Space after the list */
margin-left: 0 !important; /* Remove external margin */
}
/* B. LEVEL 1: Flush Alignment & Filled Circle */
.ext-aiassistant-message-assistant ul {
/* 1. Force the filled circle (disc) */
list-style-type: disc !important;
/* 2. ALIGNMENT TRICK:
1.2em padding reserves just enough space for the bullet.
This makes the bullet symbol sit 'flush' with the normal text above,
while the list item text is indented. */
padding-left: 1.2em !important;
}
/* C. LEVEL 2+ (NESTED): Indentation & Consistency */
.ext-aiassistant-message-assistant ul ul {
/* Keep the same filled circle (don't switch to empty circle) */
list-style-type: disc !important;
/* Indent this level relative to the parent */
padding-left: 1.5em !important;
}
/* D. List Item Spacing */
.ext-aiassistant-message-assistant li {
margin-bottom: 0.2em !important; /* Breathing room between items */
}
/* 5. Ensure Citations [1] don't break the line height */
.ext-aiassistant-cite {
line-height: 1 !important;
font-size: 80% !important;
vertical-align: super !important;
}
/* ======================================================= */
/* FIX FOR AI ASSISTANT: LINE BREAKS & FONT UNIFICATION */
/* ======================================================= */
/* 1. Force container to handle spacing correctly */
.ext-aiassistant-message-assistant {
font-family: sans-serif !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
/* Collapses invisible newlines between blocks to prevent gaps */
white-space: normal !important;
max-width: 100% !important;
}
/* 2. Fix 'Code Blocks' (Indented lists starting with *) */
/* These were refusing to wrap because browsers treat them as <pre> code */
.ext-aiassistant-message-assistant pre,
.ext-aiassistant-message-assistant code {
/* FORCE WRAPPING: This fixes the text going off-screen */
white-space: pre-wrap !important;
word-wrap: break-word !important;
/* Make it look like normal text */
font-family: inherit !important;
background: transparent !important;
border: none !important;
padding: 0 !important;
/* Remove gaps */
margin-top: 0 !important;
margin-bottom: 0 !important;
}
/* 3. Fix standard HTML Lists */
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
margin-top: 0 !important;
padding-top: 0 !important;
word-wrap: break-word !important;
}
/* 4. Fix List Items */
.ext-aiassistant-message-assistant li {
white-space: normal !important;
word-wrap: break-word !important;
}