MediaWiki:Common.css: Difference between revisions

From SuperJoy Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
}
}


/* keep general content nicely centered */
/* Keep content nicely centered and a bit wider */
.mw-parser-output {
.mw-parser-output {
   max-width: 1100px;         /* widen a bit so things breathe */
   max-width: 1150px;
   margin: 0 auto;
   margin: 0 auto;
}
}


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


/* =========================
/* =========================
   HERO (FULL-BLEED)
   HERO (CENTERED, NOT FULL-BLEED)
========================= */
========================= */
/* full-bleed across the viewport, but keep rounded corners & shadow */
.page-Main_Page .sj-hero {
.page-Main_Page .sj-hero {
   height: 340px;
   height: 320px;
  width: 100%;
   background: url("/images/a/a8/SuperJoyBanner.png") center/cover no-repeat;
   background: url("/images/a/a8/SuperJoyBanner.png") center/cover no-repeat;
   border-radius: 16px;
   border-radius: 16px;
   box-shadow: 0 12px 28px rgba(0,0,0,.22);
   box-shadow: 0 12px 28px rgba(0,0,0,.22);
   position: relative;
   position: relative;
   margin: 8px 0 28px;
   margin: 12px auto 26px;
  /* The magic: stretch to viewport edges */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);  /* keep inner content alignment stable */
  padding-right: calc(50vw - 50%);
   overflow: hidden;
   overflow: hidden;
}
}
Line 77: Line 72:
/* brand colors */
/* brand colors */
.page-Main_Page .sj-pill.discord { background:#5865F2; }
.page-Main_Page .sj-pill.discord { background:#5865F2; }
.page-Main_Page .sj-pill.discord:hover { filter: brightness(.95); }
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; }
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; }
.page-Main_Page .sj-pill.youtube { background:#FF0033; }
.page-Main_Page .sj-pill.youtube { background:#FF0033; }
.page-Main_Page .sj-pill.web    { background:#111; }
.page-Main_Page .sj-pill.web    { background:#111; }


/* icon normalization (fixes the “huge/misaligned SVG” look) */
/* normalize inline SVG icons (fixes Discord alignment/size) */
.page-Main_Page .sj-pill svg {
.page-Main_Page .sj-pill svg {
   width: 18px; height: 18px;
   width: 18px;
   display: block;               /* remove baseline wobble */
  height: 18px;
   flex: 0 0 18px;
   display: inline-block;
   vertical-align: middle;
   fill: currentColor;
   fill: currentColor;
   margin: 0; padding: 0;
   /* many logo svgs have tall viewBox; this centers them visually */
  position: relative;
  top: 0.5px;
}
}
/* optional tiny nudge that makes Discord path look perfectly centered */
.page-Main_Page .sj-pill.discord svg { transform: translateY(0.5px); }


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


.page-Main_Page .sj-card {
.page-Main_Page .sj-card {
   display: block;
   display: block;
   width: 220px;                 /* smaller cards */
   width: 220px;
   border-radius: 12px;
   border-radius: 12px;
   overflow: hidden;
   overflow: hidden;
Line 114: Line 109:
   color: #111;
   color: #111;
   text-decoration: none;
   text-decoration: none;
  text-align: center;
   box-shadow: 0 6px 18px rgba(0,0,0,.12);
   box-shadow: 0 6px 18px rgba(0,0,0,.12);
   transition: transform .18s ease, box-shadow .18s ease;
   transition: transform .18s ease, box-shadow .18s ease;
  text-align: center;
}
}
.page-Main_Page .sj-card:hover {
.page-Main_Page .sj-card:hover {
Line 137: Line 132:
}
}


/* slightly tighter on wide screens */
/* tighten on wider screens slightly */
@media (min-width: 900px) {
@media (min-width: 900px) {
   .page-Main_Page .sj-card { width: 210px; }
   .page-Main_Page .sj-card { width: 210px; }
Line 146: Line 141:
========================= */
========================= */
.page-Main_Page .sj-footer {
.page-Main_Page .sj-footer {
   text-align: center;           /* centered copyright */
   text-align: center;
   font-size: .9rem;
   font-size: .9rem;
   color: #6b7280;
   color: #6b7280;

Revision as of 20:48, 4 October 2025

/* =========================
   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%;
}