MediaWiki:Bhcvectorbrand-css: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* ========================================================= | /* ========================================================= | ||
BHC Vector Brand – presentation layer | BHC Vector Brand – presentation layer (Timeless-first) | ||
Scoped to body.bhc-branding only | Scoped to body.bhc-branding only | ||
========================================================= */ | ========================================================= */ | ||
/* | /* Google Fonts (if CSP blocks, fallbacks still apply) */ | ||
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Roboto+Condensed:wght@400;700&family=Satisfy&display=swap'); | |||
/* | :root{ | ||
--bhc-bar-height: 0px; /* set by JS */ | |||
} | |||
body.bhc-branding{ | body.bhc-branding{ | ||
/* | /* Palette */ | ||
--bhc-teal: rgb(130,156,149); | --bhc-teal: rgb(130,156,149); | ||
--bhc-olive: rgb(165,174,121); | --bhc-olive: rgb(165,174,121); | ||
--bhc-sand: rgb(228,186,149); | --bhc-sand: rgb(228,186,149); | ||
--bhc-maroon: #800020; | --bhc-maroon: #800020; | ||
--bhc-link: #005DB3; | --bhc-link: #005DB3; | ||
--bhc-text: #202020; | --bhc-text: #202020; | ||
| Line 26: | Line 24: | ||
--bhc-heading-font: "Roboto Condensed", "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; | --bhc-heading-font: "Roboto Condensed", "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; | ||
--bhc-accent-font: "Satisfy", cursive; | --bhc-accent-font: "Satisfy", cursive; | ||
overflow-x: hidden; | |||
font-size: 18px; | |||
line-height: 1.65; | |||
} | |||
@media (max-width: 720px){ | |||
body.bhc-branding{ font-size: 16.5px; } | |||
} | } | ||
| Line 37: | Line 43: | ||
/* Links */ | /* Links */ | ||
body.bhc-branding a{ | body.bhc-branding a{ color: var(--bhc-link); } | ||
body.bhc-branding a:hover{ text-decoration: underline; } | |||
} | |||
body.bhc-branding a:hover{ | |||
} | |||
/* Headings | /* Headings */ | ||
body.bhc-branding .mw-parser-output h1, | body.bhc-branding .mw-parser-output h1, | ||
body.bhc-branding .mw-parser-output h2, | body.bhc-branding .mw-parser-output h2, | ||
| Line 53: | Line 55: | ||
} | } | ||
body.bhc-branding .mw-parser-output h1{ | body.bhc-branding .mw-parser-output h1{ | ||
font-size: 2.05rem; | font-size: 2.05rem; | ||
line-height: 1.15; | line-height: 1.15; | ||
margin | margin: 0.25rem 0 0.75rem; | ||
font-weight: 700; | |||
} | } | ||
| Line 99: | Line 65: | ||
font-size: 1.55rem; | font-size: 1.55rem; | ||
line-height: 1.2; | line-height: 1.2; | ||
margin | margin: 1.6rem 0 0.6rem; | ||
border-bottom: 3px solid var(--bhc-sand); | |||
padding-bottom: .25rem; | |||
} | } | ||
| Line 106: | Line 73: | ||
font-size: 1.25rem; | font-size: 1.25rem; | ||
line-height: 1.25; | line-height: 1.25; | ||
margin | margin: 1.2rem 0 0.45rem; | ||
} | } | ||
body.bhc-branding .mw-parser-output h4{ | body.bhc-branding .mw-parser-output h4{ | ||
font-size: 1.1rem; | font-size: 1.1rem; | ||
| Line 116: | Line 81: | ||
} | } | ||
/* | /* Paragraph rhythm */ | ||
body.bhc-branding .mw-parser-output p{ margin: 0.75rem 0; } | |||
body.bhc-branding .mw-parser-output ul, | |||
body.bhc-branding .mw-parser-output ol{ margin: 0.6rem 0 0.9rem 1.25rem; } | |||
body.bhc-branding .mw-parser-output li{ margin: 0.2rem 0; } | |||
/* Small areas */ | |||
body.bhc-branding #toc, | body.bhc-branding #toc, | ||
body.bhc-branding .toc, | body.bhc-branding .toc, | ||
| Line 128: | Line 99: | ||
} | } | ||
/* | /* Optional accent class for wiki content */ | ||
body.bhc-branding . | body.bhc-branding .bhc-script{ font-family: var(--bhc-accent-font); } | ||
} | |||
/* | /* ========================================================= | ||
HEADER BAR (non-sticky; scrolls normally) | |||
========================================================= */ | |||
body.bhc-branding .bhc-sitebar{ | |||
position: relative; | |||
z-index: 9999; | |||
margin: 0; | margin: 0; | ||
width: 100%; | width: 100%; | ||
border-top: 5px solid var(--bhc-olive); | |||
border-bottom: 10px solid var(--bhc-sand); | |||
background: var(--bhc-teal); | |||
color: #fff; | |||
} | } | ||
| Line 176: | Line 122: | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 12px 16px; | padding: 12px 16px; | ||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
gap: 12px; | gap: 12px; | ||
font-family: | |||
font-family: var(--bhc-body-font); | |||
} | } | ||
| Line 190: | Line 138: | ||
body.bhc-branding .bhc-title{ | body.bhc-branding .bhc-title{ | ||
font-family: var(--bhc-heading-font); | |||
font-size: 18px; | font-size: 18px; | ||
letter-spacing: 1px; | letter-spacing: 1px; | ||
| Line 209: | Line 158: | ||
} | } | ||
/* | /* ========================================================= | ||
SEARCH: moved into the BHC header | SEARCH: moved into the BHC header | ||
(We hide Vector search in Vector only; Timeless uses different markup) | |||
========================================================= */ | |||
body.bhc-branding #p-search, | body.bhc-branding.skin-vector #p-search, | ||
body.bhc-branding .vector-search-box, | body.bhc-branding.skin-vector .vector-search-box, | ||
body.bhc-branding .vector-search-box-vue{ | body.bhc-branding.skin-vector .vector-search-box-vue{ | ||
display: none !important; | display: none !important; | ||
} | } | ||
| Line 255: | Line 175: | ||
} | } | ||
body.bhc-branding .bhc-search-slot + .bhc-test-badge{ | body.bhc-branding .bhc-search-slot + .bhc-test-badge{ margin-left: 12px; } | ||
} | |||
body.bhc-branding .bhc-moved-search{ | body.bhc-branding .bhc-moved-search{ | ||
| Line 275: | Line 193: | ||
} | } | ||
body.bhc-branding .bhc-search-input::placeholder{ | body.bhc-branding .bhc-search-input::placeholder{ color: rgba(255,255,255,.75); } | ||
} | |||
body.bhc-branding .bhc-search-submit{ | body.bhc-branding .bhc-search-submit{ | ||
| Line 287: | Line 203: | ||
} | } | ||
/* | /* ========================================================= | ||
FOOTER | FOOTER | ||
========================================================= */ | |||
body.bhc-branding .bhc-footer{ | body.bhc-branding .bhc-footer{ | ||
margin-top: 2.25rem; | margin-top: 2.25rem; | ||
padding: 1.5rem 0; | padding: 1.5rem 0; | ||
border-top: 6px solid | border-top: 6px solid var(--bhc-sand); | ||
background: #f6f6f6; | background: #f6f6f6; | ||
color: #222; | color: #222; | ||
width: 100%; | width: 100%; | ||
} | } | ||
| Line 305: | Line 219: | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 0 16px; | padding: 0 16px; | ||
font-family: | font-family: var(--bhc-body-font); | ||
font-size: .95rem; | font-size: .95rem; | ||
line-height: 1.6; | line-height: 1.6; | ||
| Line 311: | Line 225: | ||
/* ========================================================= | /* ========================================================= | ||
Hide default | Hide default site logo (BHC logo lives in the custom header) | ||
Scoped to branded mode only | |||
========================================================= */ | ========================================================= */ | ||
body.bhc-branding .mw-logo, | body.bhc-branding .mw-logo, | ||
body.bhc-branding .mw-wiki-logo, | body.bhc-branding .mw-wiki-logo, | ||
body.bhc-branding #p-logo, | |||
body.bhc-branding .vector-site-logo, | body.bhc-branding .vector-site-logo, | ||
body.bhc-branding .vector-header-start { | body.bhc-branding .vector-header-start{ | ||
display: none !important; | display: none !important; | ||
} | } | ||
Revision as of 13:33, 24 January 2026
/* =========================================================
BHC Vector Brand – presentation layer (Timeless-first) Scoped to body.bhc-branding only ========================================================= */
/* Google Fonts (if CSP blocks, fallbacks still apply) */ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Roboto+Condensed:wght@400;700&family=Satisfy&display=swap');
- root{
--bhc-bar-height: 0px; /* set by JS */
}
body.bhc-branding{
/* Palette */ --bhc-teal: rgb(130,156,149); --bhc-olive: rgb(165,174,121); --bhc-sand: rgb(228,186,149); --bhc-maroon: #800020; --bhc-link: #005DB3; --bhc-text: #202020;
/* Fonts */ --bhc-body-font: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; --bhc-heading-font: "Roboto Condensed", "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; --bhc-accent-font: "Satisfy", cursive;
overflow-x: hidden; font-size: 18px; line-height: 1.65;
}
@media (max-width: 720px){
body.bhc-branding{ font-size: 16.5px; }
}
/* Body text */ body.bhc-branding, body.bhc-branding .mw-body, body.bhc-branding .mw-parser-output{
font-family: var(--bhc-body-font); color: var(--bhc-text);
}
/* Links */ body.bhc-branding a{ color: var(--bhc-link); } body.bhc-branding a:hover{ text-decoration: underline; }
/* Headings */ body.bhc-branding .mw-parser-output h1, body.bhc-branding .mw-parser-output h2, body.bhc-branding .mw-parser-output h3{
font-family: var(--bhc-heading-font); letter-spacing: .02em; color: var(--bhc-maroon);
}
body.bhc-branding .mw-parser-output h1{
font-size: 2.05rem; line-height: 1.15; margin: 0.25rem 0 0.75rem; font-weight: 700;
}
body.bhc-branding .mw-parser-output h2{
font-size: 1.55rem; line-height: 1.2; margin: 1.6rem 0 0.6rem; border-bottom: 3px solid var(--bhc-sand); padding-bottom: .25rem;
}
body.bhc-branding .mw-parser-output h3{
font-size: 1.25rem; line-height: 1.25; margin: 1.2rem 0 0.45rem;
}
body.bhc-branding .mw-parser-output h4{
font-size: 1.1rem; line-height: 1.3;
}
/* Paragraph rhythm */ body.bhc-branding .mw-parser-output p{ margin: 0.75rem 0; } body.bhc-branding .mw-parser-output ul, body.bhc-branding .mw-parser-output ol{ margin: 0.6rem 0 0.9rem 1.25rem; } body.bhc-branding .mw-parser-output li{ margin: 0.2rem 0; }
/* Small areas */ body.bhc-branding #toc, body.bhc-branding .toc, body.bhc-branding .mw-normal-catlinks, body.bhc-branding .catlinks, body.bhc-branding .mw-editsection, body.bhc-branding .mw-editsection a, body.bhc-branding .mw-changeslist, body.bhc-branding .mw-footer{
font-size: 0.95rem;
}
/* Optional accent class for wiki content */ body.bhc-branding .bhc-script{ font-family: var(--bhc-accent-font); }
/* =========================================================
HEADER BAR (non-sticky; scrolls normally) ========================================================= */
body.bhc-branding .bhc-sitebar{
position: relative; z-index: 9999;
margin: 0; width: 100%;
border-top: 5px solid var(--bhc-olive); border-bottom: 10px solid var(--bhc-sand); background: var(--bhc-teal); color: #fff;
}
body.bhc-branding .bhc-sitebar-inner{
max-width: 1200px; margin: 0 auto; padding: 12px 16px;
display: flex; align-items: center; gap: 12px;
font-family: var(--bhc-body-font);
}
body.bhc-branding .bhc-logo{
width: 56px; height: 56px; background: url(/extensions/BHCVectorBrand/resources/images/bhc-logo.png) center/contain no-repeat; border-radius: 6px;
}
body.bhc-branding .bhc-title{
font-family: var(--bhc-heading-font); font-size: 18px; letter-spacing: 1px;
}
body.bhc-branding .bhc-strapline{
opacity: .95; margin-top: 2px;
}
body.bhc-branding .bhc-test-badge{
background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.35); padding: 4px 10px; border-radius: 999px; font-size: 12px; letter-spacing: .06em; white-space: nowrap;
}
/* =========================================================
SEARCH: moved into the BHC header (We hide Vector search in Vector only; Timeless uses different markup) ========================================================= */
body.bhc-branding.skin-vector #p-search, body.bhc-branding.skin-vector .vector-search-box, body.bhc-branding.skin-vector .vector-search-box-vue{
display: none !important;
}
body.bhc-branding .bhc-search-slot{
margin-left: auto; display: flex; align-items: center; gap: .5rem;
}
body.bhc-branding .bhc-search-slot + .bhc-test-badge{ margin-left: 12px; }
body.bhc-branding .bhc-moved-search{
display: flex; align-items: center; gap: .5rem;
}
body.bhc-branding .bhc-search-input{
width: min(340px, 40vw); max-width: 100%; padding: .45rem .6rem; border-radius: 6px; border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.12); color: #fff;
}
body.bhc-branding .bhc-search-input::placeholder{ color: rgba(255,255,255,.75); }
body.bhc-branding .bhc-search-submit{
padding: .45rem .7rem; border-radius: 6px; border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.12); color: #fff;
}
/* =========================================================
FOOTER ========================================================= */
body.bhc-branding .bhc-footer{
margin-top: 2.25rem; padding: 1.5rem 0; border-top: 6px solid var(--bhc-sand); background: #f6f6f6; color: #222; width: 100%;
}
body.bhc-branding .bhc-footer-inner{
max-width: 1200px; margin: 0 auto; padding: 0 16px; font-family: var(--bhc-body-font); font-size: .95rem; line-height: 1.6;
}
/* =========================================================
Hide default site logo (BHC logo lives in the custom header) Scoped to branded mode only ========================================================= */
body.bhc-branding .mw-logo, body.bhc-branding .mw-wiki-logo, body.bhc-branding #p-logo, body.bhc-branding .vector-site-logo, body.bhc-branding .vector-header-start{
display: none !important;
}
