MediaWiki:Common.css
From KSI Wiki
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* CSS placed here will be applied to all skins */
/* ===== Existing badge backgrounds ===== */
.HOF-Background {
background-image: url("http://wiki.ksiglobal.com/images/7/70/Hall_of_fame_bg.png");
width: 250px;
height: 75px;
}
.Red-Background {
background-image: url("https://wiki.ksiglobal.com/images/a/a1/Red-Background.png");
width: 250px;
height: 75px;
}
.Blue-Background {
background-image: url("https://wiki.ksiglobal.com/images/5/53/Blue_bg.png");
width: 250px;
height: 75px;
}
.Green-Background {
background-image: url("https://wiki.ksiglobal.com/images/b/b2/United_bg.png");
width: 250px;
height: 75px;
}
.AlignTop {
display: inline-block;
vertical-align: top;
}
/* ===== KSI Modern Profile Layout (DarkVector-safe) ===== */
.ksiprofile{
display: grid;
grid-template-columns: 1fr 340px;
gap: 18px;
align-items: start;
}
@media (max-width: 900px){
.ksiprofile{ grid-template-columns: 1fr; }
}
/* Base card */
.ksicard{
background: rgba(255,255,255,0.03);
border: 1px solid rgba(255,255,255,0.10);
border-radius: 14px;
padding: 14px 16px;
box-shadow: 0 10px 24px rgba(0,0,0,0.22);
margin: 12px 0;
}
/* Sticky infobox card */
@media (min-width: 901px){
.ksisticky{ position: sticky; top: 76px; }
}
/* Clean section headings inside cards */
.ksicard h2{
border-bottom: 0 !important;
margin-top: 0.2em;
padding-bottom: 6px;
}
/* Subtle hover polish for images inside cards */
.ksicard img{
border-radius: 10px;
transition: transform 120ms ease, box-shadow 120ms ease;
}
.ksicard img:hover{
transform: scale(1.04);
box-shadow: 0 10px 18px rgba(0,0,0,0.35);
}
/* ===== Sidebar behavior ===== */
/* Sidebar is a vertical stack */
.ksiside{
display: flex;
flex-direction: column;
gap: 10px; /* tighter than before */
margin: 0 !important;
padding: 0 !important;
}
/* Each sidebar child is its own block; no floats; no weird positioning */
.ksiside > *{
display: block !important;
width: 100% !important;
clear: both !important;
float: none !important;
position: relative !important;
z-index: 1 !important;
margin: 0 !important;
padding: 0 !important;
}
/* MediaWiki wrappers that sometimes float (kill them in sidebar) */
.ksiside .floatright,
.ksiside .tright,
.ksiside .thumb,
.ksiside .thumbinner,
.ksiside .mw-halign-right{
float: none !important;
clear: both !important;
margin: 0 !important;
}
/* Sidebar cards: slightly tighter padding than main cards */
.ksiside .ksicard{
padding: 10px 12px !important;
margin: 0 !important; /* remove big vertical gaps between sidebar cards */
clear: both !important;
}
/* ===== Badges inside the badge card ===== */
/* Put your badges into a clean centered stack */
.ksibadges{
display: flex;
flex-direction: column;
gap: 10px;
align-items: center; /* centers 250px-wide badges */
}
/* Badge blocks: fixed size, centered, no extra margins */
.ksibadges .HOF-Background,
.ksibadges .Red-Background,
.ksibadges .Blue-Background,
.ksibadges .Green-Background{
display: block !important;
width: 250px !important;
height: 75px !important;
margin: 0 !important;
position: static !important;
float: none !important;
border-radius: 14px;
border: 1px solid rgba(255,255,255,0.10);
box-shadow: 0 10px 24px rgba(0,0,0,0.22);
overflow: hidden;
}
/* If badge templates output stray spacing, neutralize it inside badge card */
.ksibadges p{
margin: 0 !important;
}
.ksibadges br{
display: none !important;
}
/* Tighten the gap between badge card and infobox card */
.ksiside .ksibadges{
margin-bottom: 6px !important;
}
.ksiside .ksiprofilecard{
margin-top: 0 !important;
}
/* ===== Infobox containment ===== */
/* Prevent infobox/table widths from overflowing the sidebar */
.ksiside .infobox,
.ksiside .portable-infobox,
.ksiside table{
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box;
margin: 0 !important;
}
/* If your infobox uses table cells, keep it from creating extra spacing */
.ksiside table td,
.ksiside table th{
vertical-align: top;
}
/* Make both columns start at the same vertical baseline */
.ksiprofile{
margin-top: 12px !important;
}
/* Ensure badges have spacing between them */
.ksibadges .HOF-Background,
.ksibadges .Red-Background,
.ksibadges .Blue-Background,
.ksibadges .Green-Background{
margin: 0 !important;
}
.ksibadges .HOF-Background + .HOF-Background,
.ksibadges .HOF-Background + .Red-Background,
.ksibadges .HOF-Background + .Blue-Background,
.ksibadges .HOF-Background + .Green-Background,
.ksibadges .Red-Background + .HOF-Background,
.ksibadges .Red-Background + .Red-Background,
.ksibadges .Red-Background + .Blue-Background,
.ksibadges .Red-Background + .Green-Background,
.ksibadges .Blue-Background + .HOF-Background,
.ksibadges .Blue-Background + .Red-Background,
.ksibadges .Blue-Background + .Blue-Background,
.ksibadges .Blue-Background + .Green-Background,
.ksibadges .Green-Background + .HOF-Background,
.ksibadges .Green-Background + .Red-Background,
.ksibadges .Green-Background + .Blue-Background,
.ksibadges .Green-Background + .Green-Background{
margin-top: 10px !important; /* set to 6px if you want tighter */
}
/* Match sidebar vertical rhythm to left column */
.ksiside .ksibadges{
margin-bottom: 12px !important; /* same “one card gap” feel */
}
.ksiside .ksiprofilecard{
margin-top: 0 !important;
}
/* ===== PATCH: Align top, clean badge spacing, normalize gaps ===== */
/* A) Fix: right column starts higher than left
Cause: main cards still have margin-top, sidebar cards do not */
.ksimain > .ksicard:first-child{
margin-top: 0 !important;
}
.ksiside > .ksicard:first-child{
margin-top: 0 !important;
}
/* Also remove the ksiprofile top offset you added earlier (if present) */
.ksiprofile{
margin-top: 0 !important;
}
/* B) Make sidebar spacing match left column rhythm (one consistent source of spacing) */
.ksiside{
gap: 12px !important; /* same “card spacing” feel */
}
.ksiside .ksicard{
margin: 0 !important; /* spacing handled by gap */
}
/* C) Reliable badge separation (works even if templates wrap output oddly)
We wrap each badge template in a .ksibadge container (see wikitext change below) */
.ksibadges{
align-items: center;
}
.ksibadges .ksibadge{
display: block;
width: 100%;
margin: 0 0 10px 0; /* spacing between badges */
}
.ksibadges .ksibadge:last-child{
margin-bottom: 0;
}
/* D) Reduce the “big gap” before the infobox card */
.ksiside .ksibadges{
margin-bottom: 0 !important; /* let the sidebar gap handle spacing */
}
.ksiside .ksiprofilecard{
margin-top: 0 !important;
}
/* === Badge alignment: every badge is centered identically === */
.ksibadges{
align-items: center !important;
}
.ksibadges .ksibadge{
width: 100% !important; /* container spans card */
display: flex !important;
justify-content: center !important; /* center the badge itself */
margin: 0 0 10px 0 !important; /* spacing between badges */
}
.ksibadges .ksibadge:last-child{
margin-bottom: 0 !important;
}
/* Force the actual badge block to be consistent */
.ksibadges .HOF-Background,
.ksibadges .Red-Background,
.ksibadges .Blue-Background,
.ksibadges .Green-Background{
display: block !important;
width: 250px !important;
height: 75px !important;
margin: 0 !important;
}
/* === Tighten space between badge card and profile card === */
.ksiside{
gap: 10px !important; /* adjust this to taste: 8px / 10px / 12px */
}
/* specifically: less space after the badge card */
.ksiside .ksibadges{
margin-bottom: -2px !important; /* subtle pull-up; use 0 if you don't like negatives */
}
/* and ensure profile card doesn't add its own top spacing */
.ksiside .ksiprofilecard{
margin-top: 0 !important;
}
/* === Fix badge centering without pushing one off-screen === */
.ksibadges .ksibadge{
display: block !important;
width: 100% !important;
text-align: center !important; /* use text-align instead of flex */
margin: 0 0 10px 0 !important;
}
.ksibadges .ksibadge:last-child{ margin-bottom: 0 !important; }
/* Kill right-align wrappers inside badges */
.ksibadges .ksibadge table,
.ksibadges .ksibadge div{
margin-left: auto !important;
margin-right: auto !important;
float: none !important;
}
/* Force the actual badge backgrounds to be the consistent block */
.ksibadges .HOF-Background,
.ksibadges .Red-Background,
.ksibadges .Blue-Background,
.ksibadges .Green-Background{
display: block !important;
width: 250px !important;
height: 75px !important;
margin: 0 auto !important;
}
/* === Kill phantom space inside the badge card === */
.ksibadges{
padding-bottom: 0 !important;
}
/* Common culprits: tables and paragraphs inside templates */
.ksibadges table{
width: auto !important;
height: auto !important;
margin: 0 auto !important;
padding: 0 !important;
border-spacing: 0 !important;
}
.ksibadges p{
margin: 0 !important;
padding: 0 !important;
}
.ksibadges br{
display: none !important;
}
/* === Reduce gap between badge card and profile card === */
.ksiside{
gap: 10px !important; /* try 8px if you want tighter */
}
/* === Sidebar card spacing: remove the big dead space (red) === */
/* Control spacing ONLY through this one value */
.ksiside{
gap: 12px !important; /* set this to match your green gap */
}
/* Ensure neither card adds extra spacing */
.ksiside .ksicard{
margin: 0 !important;
}
/* Specifically: kill any extra space after the badge card */
.ksiside .ksibadges{
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}
/* Specifically: kill any extra space before the profile card */
.ksiside .ksiprofilecard{
margin-top: 0 !important;
padding-top: 10px !important; /* keep card padding consistent */
}