MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 19: | Line 19: | ||
/* ========================= | /* ========================= | ||
HERO ( | 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; | ||
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 | /* 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; | ||
/* | 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 { | ||
display: flex; | |||
display: | flex-wrap: wrap; | ||
gap: 22px; | gap: 22px; | ||
justify-content: center; /* <- true center with one card */ | |||
margin: 24px auto 8px; | max-width: 900px; | ||
margin: 24px auto 8px; /* centered container */ | |||
} | } | ||
| Line 132: | Line 133: | ||
} | } | ||
/* tighten on | /* 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%;
}