MediaWiki:Common.css

From SuperJoy Wiki
Revision as of 20:48, 4 October 2025 by Zach (talk | contribs)
Jump to navigation Jump to 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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* =========================
   GLOBAL
========================= */
body {
  font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
  background: #fafafa;
  color: #111;
  line-height: 1.6;
}

/* Keep content nicely centered and a bit wider */
.mw-parser-output {
  max-width: 1150px;
  margin: 0 auto;
}

/* Hide default title on Main Page */
.page-Main_Page #firstHeading { display: none; }

/* =========================
   HERO (CENTERED, NOT FULL-BLEED)
========================= */
.page-Main_Page .sj-hero {
  height: 320px;
  width: 100%;
  background: url("/images/a/a8/SuperJoyBanner.png") center/cover no-repeat;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  position: relative;
  margin: 12px auto 26px;
  overflow: hidden;
}

/* gentle dark overlay for contrast */
.page-Main_Page .sj-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.55));
  pointer-events: none;
}

/* =========================
   QUICK LINK PILLS
========================= */
.page-Main_Page .sj-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin: 6px auto 26px;
}

.page-Main_Page .sj-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .95rem;
  color: #fff !important;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,0,0,.16);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.page-Main_Page .sj-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.2);
  text-decoration: none;
}

/* brand colors */
.page-Main_Page .sj-pill.discord { background:#5865F2; }
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; }
.page-Main_Page .sj-pill.youtube { background:#FF0033; }
.page-Main_Page .sj-pill.web     { background:#111; }

/* normalize inline SVG icons (fixes Discord alignment/size) */
.page-Main_Page .sj-pill svg {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  /* many logo svgs have tall viewBox; this centers them visually */
  position: relative;
  top: 0.5px;
}

/* =========================
   PROJECT CARDS (ALWAYS CENTERED)
========================= */
.page-Main_Page .sj-projects {
  /* grid centers single item perfectly and scales to 2/3/4 items */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px;
  max-width: 720px;        /* keep row tidy */
  margin: 24px auto 8px;   /* centered container */
  justify-items: center;   /* center the cards in their tracks */
}

.page-Main_Page .sj-card {
  display: block;
  width: 220px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  color: #111;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}
.page-Main_Page .sj-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

.page-Main_Page .sj-card img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
}

.page-Main_Page .sj-card h3 {
  margin: 10px 0 14px;
  font-size: 1.06rem;
  font-weight: 800;
  letter-spacing: .2px;
}

/* tighten on wider screens slightly */
@media (min-width: 900px) {
  .page-Main_Page .sj-card { width: 210px; }
}

/* =========================
   FOOTER
========================= */
.page-Main_Page .sj-footer {
  text-align: center;
  font-size: .9rem;
  color: #6b7280;
  margin: 26px 0 18px;
}

/* =========================
   MISC
========================= */
hr {
  border: none;
  border-top: 1px solid #e6e6e6;
  margin: 28px auto;
  width: 80%;
}