MediaWiki:Common.css: Difference between revisions

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


/* =========================
/* =========================
   HERO (CENTERED, NOT FULL-BLEED)
   HERO (INSET, NOT UNDER SIDEBAR)
========================= */
========================= */
/* Inset the banner slightly from the content edges so it never looks like it’s going
  under the left sidebar. This keeps it long/heroic but visually safe. */
.page-Main_Page .sj-hero {
.page-Main_Page .sj-hero {
   height: 320px;
   height: 320px;
   width: 100%;
   width: calc(100% - 40px);    /* inset 20px on each side */
  margin: 12px auto 26px;
   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: 12px auto 26px;
   overflow: hidden;
   overflow: hidden;
}
}
Line 76: Line 78:
.page-Main_Page .sj-pill.web    { background:#111; }
.page-Main_Page .sj-pill.web    { background:#111; }


/* normalize inline SVG icons (fixes Discord alignment/size) */
/* normalize inline SVG icons */
.page-Main_Page .sj-pill svg {
.page-Main_Page .sj-pill svg {
   width: 18px;
   width: 18px;
Line 83: Line 85:
   vertical-align: middle;
   vertical-align: middle;
   fill: currentColor;
   fill: currentColor;
   /* many logo svgs have tall viewBox; this centers them visually */
   overflow: visible;      /* avoids cropping on odd viewBoxes */
   position: relative;
   position: relative;
   top: 0.5px;
   top: 0.5px;             /* tiny visual nudge = perfect vertical centering */
}
}


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


Line 132: Line 133:
}
}


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

Revision as of 20:51, 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 (INSET, NOT UNDER SIDEBAR)
========================= */
/* Inset the banner slightly from the content edges so it never looks like it’s going
   under the left sidebar. This keeps it long/heroic but visually safe. */
.page-Main_Page .sj-hero {
  height: 320px;
  width: calc(100% - 40px);    /* inset 20px on each side */
  margin: 12px auto 26px;
  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;
  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 */
.page-Main_Page .sj-pill svg {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  overflow: visible;       /* avoids cropping on odd viewBoxes */
  position: relative;
  top: 0.5px;              /* tiny visual nudge = perfect vertical centering */
}

/* =========================
   PROJECT CARDS (ALWAYS CENTERED)
========================= */
.page-Main_Page .sj-projects {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  justify-content: center;    /* <- true center with one card */
  max-width: 900px;
  margin: 24px auto 8px;      /* centered container */
}

.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 slightly on wide screens */
@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%;
}