MediaWiki:Common.css: Difference between revisions

From SuperJoy Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
/* ------------------------------
/* =========================
   GLOBAL STYLING
   GLOBAL
------------------------------ */
========================= */
body {
body {
   font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
   font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
   background-color: #fafafa;
   background: #fafafa;
   color: #111;
   color: #111;
   line-height: 1.6;
   line-height: 1.6;
  margin: 0;
  padding: 0;
}
}


.mw-body-content h1,
/* keep general content nicely centered */
.mw-body-content h2,
.mw-parser-output {
.mw-body-content h3 {
   max-width: 1100px;         /* widen a bit so things breathe */
   font-family: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
   margin: 0 auto;
  font-weight: 700;
   color: #0b0b0b;
}
}


a {
/* Hide default page title on Main Page */
  color: #2468ff;
.page-Main_Page #firstHeading { display: none; }
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}


/* Hide the default MediaWiki title when we’re customizing the front page */
/* =========================
.page-Main_Page #firstHeading {
  HERO (FULL-BLEED)
  display: none;
========================= */
}
/* full-bleed across the viewport, but keep rounded corners & shadow */
 
.page-Main_Page .sj-hero {
/* ------------------------------
   height: 340px;
  HERO BANNER
   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);
  width: 100%;
  position: relative;
   height: 300px;
  margin: 8px 0 28px;
   background-image: url("https://wiki.sjs.gg/images/a/a8/SuperJoyBanner.png");
  /* The magic: stretch to viewport edges */
   background-size: cover;
  margin-left: calc(50% - 50vw);
   background-position: center;
  margin-right: calc(50% - 50vw);
   border-radius: 8px;
  padding-left: calc(50vw - 50%);   /* keep inner content alignment stable */
   padding-right: calc(50vw - 50%);
   overflow: hidden;
   overflow: hidden;
  margin-bottom: 30px;
  position: relative;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
}
}


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


/* ------------------------------
/* =========================
   QUICK LINK PILL BUTTONS
   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;
  flex-wrap: wrap;
   margin: 6px auto 26px;
  gap: 16px;
   margin: 20px auto 40px;
}
}


.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 18px;
   padding: 10px 16px;
   border-radius: 50px;
   border-radius: 999px;
   font-weight: 600;
   font-weight: 700;
   font-size: 0.95rem;
   font-size: .95rem;
   color: #fff !important;
   color: #fff !important;
   transition: background-color 0.25s ease, transform 0.15s ease;
   text-decoration: none;
   box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
   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(-3px);
   box-shadow: 0 8px 18px rgba(0,0,0,.2);
   box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
   text-decoration: none;
   text-decoration: none;
}
}


/* Specific social colors */
/* brand colors */
.sj-pill.discord { background-color: #5865f2; }
.page-Main_Page .sj-pill.discord { background:#5865F2; }
.sj-pill.discord:hover { background-color: #4752c4; }
.page-Main_Page .sj-pill.discord:hover { filter: brightness(.95); }
 
.page-Main_Page .sj-pill.twitter { background:#1D9BF0; }
.sj-pill.twitter { background-color: #1d9bf0; }
.page-Main_Page .sj-pill.youtube { background:#FF0033; }
.sj-pill.twitter:hover { background-color: #1476b8; }
.page-Main_Page .sj-pill.web    { background:#111; }


.sj-pill.youtube { background-color: #ff0000; }
/* icon normalization (fixes the “huge/misaligned SVG” look) */
.sj-pill.youtube:hover { background-color: #c50000; }
.page-Main_Page .sj-pill svg {
 
  width: 18px; height: 18px;
.sj-pill.web { background-color: #111; }
  display: block;               /* remove baseline wobble */
.sj-pill.web:hover { background-color: #333; }
   flex: 0 0 18px;
 
/* Icon size for pills */
.sj-pill svg {
   width: 18px;
  height: 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: 24px;
   gap: 22px;
   margin: 30px auto;
   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: 240px;
   width: 220px;                 /* smaller cards */
   border-radius: 12px;
   border-radius: 12px;
   overflow: hidden;
   overflow: hidden;
   background: #fff;
   background: #fff;
   box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  color: #111;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
  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;
  text-decoration: none;
  color: #111;
}
}
 
.page-Main_Page .sj-card:hover {
.sj-card:hover {
   transform: translateY(-4px);
   transform: translateY(-5px);
   box-shadow: 0 12px 26px rgba(0,0,0,.18);
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}
}


.sj-card img {
.page-Main_Page .sj-card img {
   width: 100%;
   width: 100%;
   height: 140px;
   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.1rem;
   font-size: 1.06rem;
   font-weight: 700;
   font-weight: 800;
   color: #111;
   letter-spacing: .2px;
}
}


/* Responsiveness for future projects */
/* slightly tighter on wide screens */
@media (min-width: 700px) {
@media (min-width: 900px) {
   .sj-card {
   .page-Main_Page .sj-card { width: 210px; }
    width: 220px;
  }
}
}


/* ------------------------------
/* =========================
   FOOTER
   FOOTER
------------------------------ */
========================= */
.sj-footer {
.page-Main_Page .sj-footer {
   text-align: center;
   text-align: center;           /* centered copyright */
   font-size: 0.85rem;
   font-size: .9rem;
   color: #666;
   color: #6b7280;
   margin-top: 40px;
   margin: 26px 0 18px;
  padding-bottom: 20px;
}
}


/* ------------------------------
/* =========================
   NICE TOUCHES
   MISC
------------------------------ */
========================= */
hr {
hr {
   border: none;
   border: none;
   border-top: 1px solid #ddd;
   border-top: 1px solid #e6e6e6;
   margin: 40px auto;
   margin: 28px auto;
   width: 80%;
   width: 80%;
}
.mw-parser-output {
  max-width: 900px;
  margin: 0 auto;
}
}

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%;
}