MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* | /* ========================= | ||
GLOBAL | GLOBAL | ||
========================= */ | |||
body { | body { | ||
font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif; | font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif; | ||
background | background: #fafafa; | ||
color: #111; | color: #111; | ||
line-height: 1.6; | line-height: 1.6; | ||
} | } | ||
/* keep general content nicely centered */ | |||
.mw- | .mw-parser-output { | ||
max-width: 1100px; /* widen a bit so things breathe */ | |||
margin: 0 auto; | |||
} | } | ||
/* Hide default page title on Main Page */ | |||
.page-Main_Page #firstHeading { display: none; } | |||
} | |||
/* | /* ========================= | ||
HERO (FULL-BLEED) | |||
========================= */ | |||
/* full-bleed across the viewport, but keep rounded corners & shadow */ | |||
.page-Main_Page .sj-hero { | |||
/* - | height: 340px; | ||
background: url("/images/a/a8/SuperJoyBanner.png") center/cover no-repeat; | |||
border-radius: 16px; | |||
.sj-hero { | box-shadow: 0 12px 28px rgba(0,0,0,.22); | ||
position: relative; | |||
height: | margin: 8px 0 28px; | ||
background | /* 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; | ||
} | } | ||
/* | /* gentle dark overlay for contrast */ | ||
.sj-hero::after { | .page-Main_Page .sj-hero::after { | ||
content: ""; | content: ""; | ||
position: absolute; | position: absolute; inset: 0; | ||
background: linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.55)); | |||
background: linear-gradient( | pointer-events: none; | ||
} | } | ||
/* | /* ========================= | ||
QUICK LINK | QUICK LINK PILLS | ||
========================= */ | |||
.sj-quick { | .page-Main_Page .sj-quick { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | |||
gap: 14px; | |||
justify-content: center; | justify-content: center; | ||
margin: 6px auto 26px; | |||
margin: | |||
} | } | ||
.sj-pill { | .page-Main_Page .sj-pill { | ||
display: inline-flex; | display: inline-flex; | ||
align-items: center; | align-items: center; | ||
gap: 8px; | gap: 8px; | ||
padding: 10px | padding: 10px 16px; | ||
border-radius: | border-radius: 999px; | ||
font-weight: | font-weight: 700; | ||
font-size: | font-size: .95rem; | ||
color: #fff !important; | color: #fff !important; | ||
text-decoration: none; | |||
box-shadow: 0 | 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 { | |||
.sj-pill:hover { | transform: translateY(-2px); | ||
transform: translateY(- | box-shadow: 0 8px 18px rgba(0,0,0,.2); | ||
box-shadow: 0 | |||
text-decoration: none; | text-decoration: none; | ||
} | } | ||
/* | /* brand colors */ | ||
.sj-pill.discord { background | .page-Main_Page .sj-pill.discord { background:#5865F2; } | ||
.sj-pill.discord:hover { background | .page-Main_Page .sj-pill.discord:hover { filter: brightness(.95); } | ||
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; } | |||
.sj-pill. | .page-Main_Page .sj-pill.youtube { background:#FF0033; } | ||
.sj-pill. | .page-Main_Page .sj-pill.web { background:#111; } | ||
. | /* icon normalization (fixes the “huge/misaligned SVG” look) */ | ||
.sj-pill | .page-Main_Page .sj-pill svg { | ||
width: 18px; height: 18px; | |||
display: block; /* remove baseline wobble */ | |||
flex: 0 0 18px; | |||
/* | |||
fill: currentColor; | fill: currentColor; | ||
margin: 0; padding: 0; | |||
} | } | ||
/* -- | /* 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 | ||
========================= */ | |||
.sj-projects { | .page-Main_Page .sj-projects { | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
justify-content: center; | justify-content: center; /* always centered, even with one card */ | ||
gap: | gap: 22px; | ||
margin: | margin: 24px auto 8px; | ||
max-width: 900px; | max-width: 900px; /* keeps row tidy */ | ||
} | } | ||
.sj-card { | .page-Main_Page .sj-card { | ||
display: block; | display: block; | ||
width: | width: 220px; /* smaller cards */ | ||
border-radius: 12px; | border-radius: 12px; | ||
overflow: hidden; | overflow: hidden; | ||
background: #fff; | background: #fff; | ||
box-shadow: 0 | color: #111; | ||
transition: transform | text-decoration: none; | ||
box-shadow: 0 6px 18px rgba(0,0,0,.12); | |||
transition: transform .18s ease, box-shadow .18s ease; | |||
text-align: center; | text-align: center; | ||
} | } | ||
.page-Main_Page .sj-card:hover { | |||
.sj-card:hover { | transform: translateY(-4px); | ||
transform: translateY(- | box-shadow: 0 12px 26px rgba(0,0,0,.18); | ||
box-shadow: 0 | |||
} | } | ||
.sj-card img { | .page-Main_Page .sj-card img { | ||
width: 100%; | width: 100%; | ||
height: | height: 130px; | ||
object-fit: cover; | object-fit: cover; | ||
display: block; | display: block; | ||
} | } | ||
.sj-card h3 { | .page-Main_Page .sj-card h3 { | ||
margin: 10px 0 14px; | margin: 10px 0 14px; | ||
font-size: 1. | font-size: 1.06rem; | ||
font-weight: | font-weight: 800; | ||
letter-spacing: .2px; | |||
} | } | ||
/* | /* slightly tighter on wide screens */ | ||
@media (min-width: | @media (min-width: 900px) { | ||
.sj-card { | .page-Main_Page .sj-card { width: 210px; } | ||
} | } | ||
/* | /* ========================= | ||
FOOTER | FOOTER | ||
========================= */ | |||
.sj-footer { | .page-Main_Page .sj-footer { | ||
text-align: center; | text-align: center; /* centered copyright */ | ||
font-size: | font-size: .9rem; | ||
color: # | color: #6b7280; | ||
margin | margin: 26px 0 18px; | ||
} | } | ||
/* | /* ========================= | ||
MISC | |||
========================= */ | |||
hr { | hr { | ||
border: none; | border: none; | ||
border-top: 1px solid # | border-top: 1px solid #e6e6e6; | ||
margin: | margin: 28px auto; | ||
width: 80%; | width: 80%; | ||
} | } | ||
Revision as of 20:45, 4 October 2025
/* =========================
GLOBAL
========================= */
body {
font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
background: #fafafa;
color: #111;
line-height: 1.6;
}
/* keep general content nicely centered */
.mw-parser-output {
max-width: 1100px; /* widen a bit so things breathe */
margin: 0 auto;
}
/* Hide default page title on Main Page */
.page-Main_Page #firstHeading { display: none; }
/* =========================
HERO (FULL-BLEED)
========================= */
/* full-bleed across the viewport, but keep rounded corners & shadow */
.page-Main_Page .sj-hero {
height: 340px;
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: 8px 0 28px;
/* 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;
}
/* 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.discord:hover { filter: brightness(.95); }
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; }
.page-Main_Page .sj-pill.youtube { background:#FF0033; }
.page-Main_Page .sj-pill.web { background:#111; }
/* icon normalization (fixes the “huge/misaligned SVG” look) */
.page-Main_Page .sj-pill svg {
width: 18px; height: 18px;
display: block; /* remove baseline wobble */
flex: 0 0 18px;
fill: currentColor;
margin: 0; padding: 0;
}
/* optional tiny nudge that makes Discord path look perfectly centered */
.page-Main_Page .sj-pill.discord svg { transform: translateY(0.5px); }
/* =========================
PROJECT CARDS
========================= */
.page-Main_Page .sj-projects {
display: flex;
flex-wrap: wrap;
justify-content: center; /* always centered, even with one card */
gap: 22px;
margin: 24px auto 8px;
max-width: 900px; /* keeps row tidy */
}
.page-Main_Page .sj-card {
display: block;
width: 220px; /* smaller cards */
border-radius: 12px;
overflow: hidden;
background: #fff;
color: #111;
text-decoration: none;
box-shadow: 0 6px 18px rgba(0,0,0,.12);
transition: transform .18s ease, box-shadow .18s ease;
text-align: center;
}
.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;
}
/* slightly tighter on wide screens */
@media (min-width: 900px) {
.page-Main_Page .sj-card { width: 210px; }
}
/* =========================
FOOTER
========================= */
.page-Main_Page .sj-footer {
text-align: center; /* centered copyright */
font-size: .9rem;
color: #6b7280;
margin: 26px 0 18px;
}
/* =========================
MISC
========================= */
hr {
border: none;
border-top: 1px solid #e6e6e6;
margin: 28px auto;
width: 80%;
}