MediaWiki:Common.css

From KSI Wiki
Revision as of 11:51, 2 January 2026 by Linden (talk | contribs)
Jump to: navigation, search

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;
}