MediaWiki:Citizen.css: Difference between revisions
MediaWiki interface page
More actions
No edit summary |
No edit summary |
||
| (13 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
.skin-citizen.page-Main_Page { | .skin-citizen.page-Main_Page { | ||
--width-layout: | --width-layout: 100%; | ||
--width-layout--extended: | --width-layout--extended: 100%; | ||
--width-layout--wide: | --width-layout--wide: 100%; | ||
} | } | ||
.skin-citizen.page-Main_Page .citizen-page-container, | .skin-citizen.page-Main_Page .citizen-page-container, | ||
.skin-citizen.page-Main_Page .citizen-body-container, | .skin-citizen.page-Main_Page .citizen-body-container, | ||
.skin-citizen.page-Main_Page .mw-body { | .skin-citizen.page-Main_Page .mw-body, | ||
max-width: | .skin-citizen.page-Main_Page #bodyContent, | ||
.skin-citizen.page-Main_Page .mw-body-content { | |||
box-sizing: border-box; | |||
max-width: none !important; | |||
min-height: 0; | min-height: 0; | ||
min-width: 0 !important; | |||
width: 100% !important; | |||
} | } | ||
.skin-citizen.page-Main_Page | .skin-citizen.page-Main_Page .citizen-page-container { | ||
. | margin-inline: auto !important; | ||
padding-inline: clamp(10px, 2vw, 32px); | |||
} | } | ||
| Line 38: | Line 40: | ||
color: var(--shore-ink); | color: var(--shore-ink); | ||
margin: 0 auto; | margin: 0 auto; | ||
max-width: | max-width: 1600px; | ||
min-width: 0; | |||
overflow: hidden; | overflow: hidden; | ||
width: 100%; | width: 100%; | ||
} | } | ||
.skin-citizen.page-Main_Page .shore-home * { | .skin-citizen.page-Main_Page .shore-home *, | ||
.skin-citizen.page-Main_Page .shore-home *::before, | |||
.skin-citizen.page-Main_Page .shore-home *::after { | |||
box-sizing: border-box; | box-sizing: border-box; | ||
min-width: 0; | min-width: 0; | ||
| Line 433: | Line 438: | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.skin-citizen.page-Main_Page | .skin-citizen.page-Main_Page .citizen-page-container { | ||
padding-inline: 16px; | |||
} | } | ||
| Line 486: | Line 483: | ||
@media (max-width: 520px) { | @media (max-width: 520px) { | ||
.skin-citizen.page-Main_Page | .skin-citizen.page-Main_Page .citizen-page-container { | ||
padding-inline: 8px; | |||
} | } | ||
| Line 611: | Line 600: | ||
} | } | ||
@media (min-width: | |||
.skin-citizen.page-Main_Page { | /* Compact homepage cards to more closely match the approved mockup */ | ||
-- | @media (min-width: 1200px) { | ||
-- | |||
--width- | /* Eight compact topic cards in one row */ | ||
.skin-citizen.page-Main_Page .shore-topic-grid { | |||
grid-template-columns: repeat(8, minmax(0, 1fr)); | |||
gap: 12px; | |||
} | |||
.skin-citizen.page-Main_Page .shore-topic-card > a { | |||
flex-direction: column; | |||
justify-content: center; | |||
gap: 8px; | |||
min-height: 108px; | |||
padding: 12px 8px; | |||
text-align: center; | |||
} | |||
.skin-citizen.page-Main_Page .shore-topic-card__icon { | |||
flex: 0 0 50px; | |||
width: 50px; | |||
height: 50px; | |||
border-radius: 11px; | |||
font-size: 1.7rem; | |||
} | |||
.skin-citizen.page-Main_Page .shore-topic-card__label { | |||
font-size: 0.9rem; | |||
line-height: 1.15; | |||
white-space: normal; | |||
} | |||
/* Make the lower panels size themselves to their content */ | |||
.skin-citizen.page-Main_Page .shore-home__lower-grid { | |||
align-items: start; | |||
} | |||
.skin-citizen.page-Main_Page | |||
.shore-home__lower-grid | |||
.shore-home__section { | |||
height: auto; | |||
} | |||
/* Smaller nearby-photo cards */ | |||
.skin-citizen.page-Main_Page .shore-nearby-grid { | |||
gap: 12px; | |||
} | |||
.skin-citizen.page-Main_Page .shore-nearby-card { | |||
min-height: 165px; | |||
} | |||
.skin-citizen.page-Main_Page .shore-nearby-card__body { | |||
padding: 12px; | |||
} | |||
.skin-citizen.page-Main_Page .shore-nearby-card h3 { | |||
font-size: 0.95rem; | |||
line-height: 1.15; | |||
} | |||
.skin-citizen.page-Main_Page .shore-nearby-card p { | |||
font-size: 0.78rem; | |||
line-height: 1.25; | |||
margin-top: 3px; | |||
} | |||
} | |||
/* Keep cards compact on medium desktop/tablet screens */ | |||
@media (min-width: 769px) and (max-width: 1199px) { | |||
.skin-citizen.page-Main_Page .shore-topic-card > a { | |||
min-height: 96px; | |||
gap: 12px; | |||
padding: 12px; | |||
} | |||
.skin-citizen.page-Main_Page .shore-topic-card__icon { | |||
flex-basis: 48px; | |||
width: 48px; | |||
height: 48px; | |||
font-size: 1.6rem; | |||
} | } | ||
.skin-citizen.page-Main_Page .citizen-page- | .skin-citizen.page-Main_Page .shore-nearby-card { | ||
min-height: 175px; | |||
} | |||
margin- | |||
.skin-citizen.page-Main_Page .shore-nearby-card__body { | |||
padding: 12px; | |||
} | |||
} | |||
/* Hide Citizen logo throughout the wiki */ | |||
.skin-citizen .citizen-header__logo, | |||
.skin-citizen .mw-logo, | |||
.skin-citizen .mw-logo-icon { | |||
display: none !important; | |||
} | |||
/* Hide Citizen footer from anonymous and ordinary logged-in users */ | |||
.skin-citizen .citizen-footer { | |||
display: none !important; | |||
} | |||
/* Show Citizen footer only to administrators */ | |||
.skin-citizen.shore-admin .citizen-footer { | |||
display: block !important; | |||
} | |||
/* Hide source/history interface controls from non-admin users */ | |||
body.skin-citizen:not(.shore-admin) #ca-viewsource, | |||
body.skin-citizen:not(.shore-admin) #ca-history, | |||
body.skin-citizen:not(.shore-admin) .citizen-page-footer #ca-viewsource, | |||
body.skin-citizen:not(.shore-admin) .citizen-page-footer #ca-history { | |||
display: none !important; | |||
} | |||
/* ========================================================= | |||
Citizen page-tools menu: exact-ID desktop side flyout | |||
========================================================= */ | |||
@media (min-width: 769px) { | |||
/* | |||
* Exact elements from Citizen's rendered markup: | |||
* #citizen-page-more-dropdown | |||
* #citizen-page-actions-more__card | |||
* | |||
* Do not restrict these rules to .shore-admin. The rendered body does not | |||
* always carry that class, and the menu positioning should work for every | |||
* viewer who can see the three-dot control. | |||
*/ | |||
.skin-citizen #citizen-page-more-dropdown { | |||
overflow: visible !important; | |||
position: relative !important; | |||
} | |||
/* | |||
* Open to the LEFT of the three-dot button and align the flyout's bottom | |||
* with the button. This prevents the menu from extending below the page. | |||
*/ | |||
.skin-citizen #citizen-page-actions-more__card { | |||
background: linear-gradient(105deg, #e8eee2, #f7f2e5) !important; | |||
border: 1px solid rgba(28, 62, 25, 0.14) !important; | |||
border-radius: 18px !important; | |||
box-shadow: 0 12px 30px rgba(24, 45, 38, 0.18) !important; | |||
box-sizing: border-box !important; | |||
inset: auto calc(100% + 12px) 0 auto !important; | |||
left: auto !important; | |||
right: calc(100% + 12px) !important; | |||
top: auto !important; | |||
bottom: 0 !important; | |||
transform: none !important; | |||
margin: 0 !important; | |||
max-height: min(62vh, 430px) !important; | |||
max-width: calc(100vw - 120px) !important; | |||
min-width: 0 !important; | |||
overflow-x: hidden !important; | |||
overflow-y: auto !important; | |||
padding: 0 !important; | |||
position: absolute !important; | |||
width: clamp(540px, 44vw, 760px) !important; | |||
z-index: 1000 !important; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
> .citizen-menu__card-content { | |||
box-sizing: border-box; | |||
padding: 16px 18px !important; | |||
width: 100%; | |||
} | |||
/* Do not reserve space for Citizen's empty "More" portlet. */ | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
.emptyPortlet { | |||
display: none !important; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb { | |||
margin: 0 !important; | |||
width: 100%; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.citizen-menu__heading { | |||
color: #1c3e19; | |||
font-size: 1rem; | |||
font-weight: 700; | |||
margin: 0 0 10px !important; | |||
padding: 0 !important; | |||
} | |||
/* | |||
* Two-column, short-and-wide tool layout. It drops to one column at | |||
* narrower desktop widths. | |||
*/ | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.citizen-menu__content-list { | |||
display: grid !important; | |||
gap: 8px 10px; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
width: 100%; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.mw-list-item { | |||
border: 0 !important; | |||
display: block !important; | |||
margin: 0 !important; | |||
min-width: 0 !important; | |||
padding: 0 !important; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.mw-list-item | |||
> a { | |||
align-items: center; | |||
background: rgba(255, 255, 255, 0.52); | |||
border-radius: 11px; | |||
box-sizing: border-box; | |||
color: #1c3e19; | |||
display: flex !important; | |||
gap: 10px; | |||
min-height: 48px; | |||
min-width: 0; | |||
overflow-wrap: anywhere; | |||
padding: 9px 12px !important; | |||
text-decoration: none; | |||
white-space: normal !important; | |||
width: 100%; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.mw-list-item | |||
> a:hover { | |||
background: rgba(255, 255, 255, 0.88); | |||
} | |||
/* | |||
* The access-key labels are useful in the normal Citizen dropdown but | |||
* create collisions inside this compact custom flyout. | |||
*/ | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
.citizen-keyboard-hint-key { | |||
display: none !important; | |||
} | |||
} | |||
@media (min-width: 769px) and (max-width: 980px) { | |||
.skin-citizen #citizen-page-actions-more__card { | |||
max-width: calc(100vw - 96px) !important; | |||
width: 520px !important; | |||
} | |||
.skin-citizen | |||
#citizen-page-actions-more__card | |||
#p-tb | |||
.citizen-menu__content-list { | |||
grid-template-columns: 1fr; | |||
} | |||
} | |||
/* Preserve Citizen's native dropdown behavior on phones. */ | |||
@media (max-width: 768px) { | |||
.skin-citizen #citizen-page-actions-more__card { | |||
max-width: calc(100% - 16px) !important; | |||
} | } | ||
} | |||
/* Final stable positioning for Citizen's exact page-tools popup. | |||
Do not add padding/margin to the trigger based on details[open]; | |||
.skin-citizen | moving the anchor while it is open causes the visible flicker. */ | ||
@media (min-width: 769px) { | |||
.skin-citizen #citizen-page-more-dropdown { | |||
overflow: visible !important; | |||
position: relative !important; | |||
} | } | ||
.skin-citizen | .skin-citizen #citizen-page-actions-more__card { | ||
position: absolute !important; | |||
max-width: | |||
top: auto !important; | |||
left: auto !important; | |||
right: calc(100% + 12px) !important; | |||
bottom: 0 !important; | |||
inset: auto calc(100% + 12px) 0 auto !important; | |||
margin: 0 !important; | |||
transform: none !important; | |||
translate: none !important; | |||
width: clamp(540px, 44vw, 760px) !important; | |||
max-width: calc(100vw - 120px) !important; | |||
max-height: min(62vh, 430px) !important; | |||
overflow-x: hidden !important; | |||
overflow-y: auto !important; | |||
z-index: 1000 !important; | |||
} | } | ||
} | |||
/* Hide administrative/navigation links from logged-out visitors */ | |||
body.skin-citizen:has(#pt-login) #n-recentchanges, | |||
body.skin-citizen:has(#pt-login) #n-help-mediawiki, | |||
body.skin-citizen:has(#pt-login) #n-specialpages, | |||
body.skin-citizen:has(#pt-login) #t-upload { | |||
display: none !important; | |||
} | |||
/* Remove “Help with logging in” from the login page */ | |||
body.skin-citizen.page-Special_UserLogin .mw-userlogin-help { | |||
display: none !important; | |||
} | |||
/* Hide MediaWiki help-question-mark indicators from logged-out visitors */ | |||
body.skin-citizen:has(#pt-login) .mw-helplink, | |||
body.skin-citizen:has(#pt-login) .mw-helplink-icon { | |||
display: none !important; | |||
} | } | ||
Latest revision as of 05:17, 14 July 2026
.skin-citizen.page-Main_Page {
--width-layout: 100%;
--width-layout--extended: 100%;
--width-layout--wide: 100%;
}
.skin-citizen.page-Main_Page .citizen-page-container,
.skin-citizen.page-Main_Page .citizen-body-container,
.skin-citizen.page-Main_Page .mw-body,
.skin-citizen.page-Main_Page #bodyContent,
.skin-citizen.page-Main_Page .mw-body-content {
box-sizing: border-box;
max-width: none !important;
min-height: 0;
min-width: 0 !important;
width: 100% !important;
}
.skin-citizen.page-Main_Page .citizen-page-container {
margin-inline: auto !important;
padding-inline: clamp(10px, 2vw, 32px);
}
.skin-citizen.page-Main_Page .shore-home {
--shore-forest: #315d23;
--shore-forest-dark: #1c3e19;
--shore-lake: #24566d;
--shore-lake-dark: #173746;
--shore-cream: #f3eddd;
--shore-paper: #faf9f5;
--shore-ink: #182630;
--shore-line: rgba(24, 38, 48, 0.13);
--shore-emergency: #c94b2c;
--shore-focus: #d79a2d;
--shore-radius: 16px;
--shore-radius-lg: 22px;
--shore-shadow: 0 8px 24px rgba(24, 45, 38, 0.1);
--shore-shadow-lg: 0 18px 44px rgba(14, 31, 29, 0.22);
box-sizing: border-box;
color: var(--shore-ink);
margin: 0 auto;
max-width: 1600px;
min-width: 0;
overflow: hidden;
width: 100%;
}
.skin-citizen.page-Main_Page .shore-home *,
.skin-citizen.page-Main_Page .shore-home *::before,
.skin-citizen.page-Main_Page .shore-home *::after {
box-sizing: border-box;
min-width: 0;
}
.skin-citizen.page-Main_Page .shore-home a:focus-visible {
border-radius: 4px;
outline: 3px solid var(--shore-focus);
outline-offset: 3px;
}
.skin-citizen.page-Main_Page #firstHeading,
.skin-citizen.page-Main_Page .mw-first-heading {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.skin-citizen.page-Main_Page #footer-info-lastmod,
.skin-citizen.page-Main_Page .citizen-page-footer,
.skin-citizen.page-Main_Page .citizen-page-footer__info,
.skin-citizen.page-Main_Page .citizen-page-footer__lastmod,
.skin-citizen.page-Main_Page .citizen-page-footer__menu,
.skin-citizen.page-Main_Page .citizen-page-footer__actions {
display: none !important;
}
.skin-citizen.page-Main_Page #footer,
.skin-citizen.page-Main_Page .mw-footer,
.skin-citizen.page-Main_Page .citizen-footer {
display: none !important;
}
.skin-citizen.page-Main_Page .shore-home__hero {
align-items: center;
background-color: var(--shore-lake-dark);
background-image: linear-gradient(90deg, rgba(8, 25, 29, 0.66), rgba(8, 25, 29, 0.2) 54%, rgba(8, 25, 29, 0.48)), url("/index.php/Special:Redirect/file/52-shore-hero-desktop.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-radius: var(--shore-radius-lg);
color: #fff;
display: flex;
isolation: isolate;
justify-content: center;
min-height: 550px;
overflow: hidden;
position: relative;
text-align: center;
}
.skin-citizen.page-Main_Page .shore-home__hero-content {
max-width: 980px;
padding: 76px clamp(28px, 7vw, 96px);
}
.skin-citizen.page-Main_Page .shore-home__eyebrow {
color: #fff;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.4rem, 4.2vw, 3.8rem);
font-style: italic;
line-height: 1.08;
margin: 0 0 10px;
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.42);
}
.skin-citizen.page-Main_Page .shore-home__hero h1 {
color: #fff;
font-family: inherit;
font-size: clamp(3rem, 5.4vw, 4.9rem);
font-weight: 750;
letter-spacing: -0.025em;
line-height: 1.03;
margin: 0;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.52);
}
.skin-citizen.page-Main_Page .shore-home__intro {
color: #fff;
font-size: clamp(1.1rem, 1.7vw, 1.35rem);
line-height: 1.6;
margin: 26px auto 0;
max-width: 790px;
text-shadow: 0 2px 9px rgba(0, 0, 0, 0.58);
}
.skin-citizen.page-Main_Page .shore-home__content {
background: linear-gradient(180deg, var(--shore-paper), #f3f1ea);
padding: 0 clamp(20px, 3.8vw, 48px) 34px;
}
.skin-citizen.page-Main_Page .shore-home__section {
background: rgba(255, 255, 255, 0.97);
border: 1px solid rgba(28, 62, 25, 0.08);
border-radius: var(--shore-radius-lg);
box-shadow: var(--shore-shadow);
height: 100%;
padding: clamp(24px, 2.6vw, 34px);
}
.skin-citizen.page-Main_Page .shore-home__section--topics {
margin-top: -82px;
position: relative;
z-index: 2;
}
.skin-citizen.page-Main_Page .shore-home__section-heading {
align-items: center;
display: flex;
gap: 20px;
justify-content: space-between;
margin-bottom: 24px;
}
.skin-citizen.page-Main_Page .shore-home__section-heading h2 {
color: var(--shore-ink);
font-family: inherit;
font-size: 1.45rem;
line-height: 1.25;
margin: 0;
}
.skin-citizen.page-Main_Page .shore-home__section-heading > a {
color: var(--shore-forest);
font-size: 1rem;
font-weight: 700;
text-decoration: none;
white-space: nowrap;
}
.skin-citizen.page-Main_Page .shore-topic-grid {
display: grid;
gap: 22px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.skin-citizen.page-Main_Page .shore-topic-card > a {
align-items: center;
background: var(--shore-topic-surface, #edf1e8);
border: 1px solid rgba(24, 38, 48, 0.06);
border-radius: var(--shore-radius);
color: var(--shore-topic-ink, var(--shore-forest-dark));
display: flex;
gap: 18px;
min-height: 126px;
padding: 22px;
text-decoration: none;
transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.skin-citizen.page-Main_Page .shore-topic-card > a:hover {
box-shadow: var(--shore-shadow);
transform: translateY(-2px);
}
.skin-citizen.page-Main_Page .shore-topic-card__icon {
align-items: center;
background: rgba(255, 255, 255, 0.68);
border-radius: 14px;
display: flex;
flex: 0 0 72px;
font-family: "Segoe UI Symbol", sans-serif;
font-size: 2.55rem;
height: 72px;
justify-content: center;
}
.skin-citizen.page-Main_Page .shore-topic-card__label {
color: var(--shore-ink);
font-size: 1.08rem;
font-weight: 700;
line-height: 1.25;
white-space: nowrap;
}
.skin-citizen.page-Main_Page .shore-topic-card--lake {
--shore-topic-surface: #e5eff1;
--shore-topic-ink: #1d596b;
}
.skin-citizen.page-Main_Page .shore-topic-card--sand {
--shore-topic-surface: #f2e6cf;
--shore-topic-ink: #89640d;
}
.skin-citizen.page-Main_Page .shore-topic-card--fire {
--shore-topic-surface: #f6ddcf;
--shore-topic-ink: #b84918;
}
.skin-citizen.page-Main_Page .shore-topic-card--gold {
--shore-topic-surface: #f7edc9;
--shore-topic-ink: #88620a;
}
.skin-citizen.page-Main_Page .shore-topic-card--lavender {
--shore-topic-surface: #ebe6ef;
--shore-topic-ink: #573369;
}
.skin-citizen.page-Main_Page .shore-topic-card--moss {
--shore-topic-surface: #e6ecdf;
--shore-topic-ink: #365d2d;
}
.skin-citizen.page-Main_Page .shore-topic-card--mist {
--shore-topic-surface: #e7eef2;
--shore-topic-ink: #184f68;
}
.skin-citizen.page-Main_Page .shore-home__lower-grid {
display: grid;
gap: 28px;
grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.18fr);
margin-top: 28px;
}
.skin-citizen.page-Main_Page .shore-quick-links {
display: grid;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}
.skin-citizen.page-Main_Page .shore-quick-links li {
align-items: center;
border-bottom: 1px solid var(--shore-line);
display: grid;
font-size: 1rem;
gap: 14px;
grid-template-columns: 30px 1fr auto;
min-height: 60px;
}
.skin-citizen.page-Main_Page .shore-quick-links li:last-child {
border-bottom: 0;
}
.skin-citizen.page-Main_Page .shore-quick-links li > span:first-child {
color: var(--shore-lake);
font-size: 1.4rem;
font-weight: 700;
text-align: center;
}
.skin-citizen.page-Main_Page .shore-quick-links a {
color: var(--shore-ink);
text-decoration: none;
}
.skin-citizen.page-Main_Page .shore-quick-links a:hover {
text-decoration: underline;
}
.skin-citizen.page-Main_Page .shore-quick-links__emergency > span:first-child,
.skin-citizen.page-Main_Page .shore-quick-links__emergency a {
color: var(--shore-emergency);
font-weight: 700;
}
.skin-citizen.page-Main_Page .shore-nearby-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.skin-citizen.page-Main_Page .shore-nearby-card {
background-color: var(--shore-lake);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-radius: var(--shore-radius);
color: #fff;
min-height: 270px;
overflow: hidden;
position: relative;
}
.skin-citizen.page-Main_Page .shore-nearby-card::after {
background: linear-gradient(0deg, rgba(8, 24, 27, 0.88), rgba(8, 24, 27, 0.08) 74%);
content: "";
inset: 0;
position: absolute;
}
.skin-citizen.page-Main_Page .shore-nearby-card--hiking {
background-image: url("/index.php/Special:Redirect/file/52-shore-nearby-hiking.jpg");
}
.skin-citizen.page-Main_Page .shore-nearby-card--beach {
background-image: url("/index.php/Special:Redirect/file/52-shore-nearby-beach.jpg");
}
.skin-citizen.page-Main_Page .shore-nearby-card--grocery {
background-image: url("/index.php/Special:Redirect/file/52-shore-nearby-grocery.jpg");
}
.skin-citizen.page-Main_Page .shore-nearby-card--ice-cream {
background-image: url("/index.php/Special:Redirect/file/52-shore-nearby-ice-cream.jpg");
}
.skin-citizen.page-Main_Page .shore-nearby-card__body {
bottom: 0;
left: 0;
padding: 20px;
position: absolute;
right: 0;
z-index: 1;
}
.skin-citizen.page-Main_Page .shore-nearby-card h3,
.skin-citizen.page-Main_Page .shore-nearby-card p {
margin: 0;
}
.skin-citizen.page-Main_Page .shore-nearby-card h3 {
font-family: inherit;
font-size: 1.18rem;
line-height: 1.25;
}
.skin-citizen.page-Main_Page .shore-nearby-card h3 a {
color: #fff;
text-decoration: none;
}
.skin-citizen.page-Main_Page .shore-nearby-card p {
color: rgba(255, 255, 255, 0.94);
font-size: 0.98rem;
line-height: 1.4;
margin-top: 5px;
}
.skin-citizen.page-Main_Page .shore-home__closing {
align-items: stretch;
background: linear-gradient(105deg, #e8eee2, #f7f2e5);
border: 1px solid rgba(28, 62, 25, 0.08);
border-radius: var(--shore-radius-lg);
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 28px;
overflow: hidden;
}
.skin-citizen.page-Main_Page .shore-home__closing > div {
align-items: center;
display: grid;
font-size: 1rem;
gap: 18px;
grid-template-columns: 52px 1fr;
min-height: 112px;
padding: 26px 30px;
}
.skin-citizen.page-Main_Page .shore-home__closing > div + div {
border-left: 1px solid var(--shore-line);
}
.skin-citizen.page-Main_Page .shore-home__closing > div > span {
color: var(--shore-forest);
font-size: 2.15rem;
text-align: center;
}
.skin-citizen.page-Main_Page .shore-home__closing p {
line-height: 1.5;
margin: 0;
}
.skin-citizen.page-Main_Page .shore-home__closing a {
color: var(--shore-forest-dark);
}
@media (max-width: 1100px) {
.skin-citizen.page-Main_Page .shore-home__lower-grid {
grid-template-columns: 1fr;
}
.skin-citizen.page-Main_Page .shore-nearby-card {
min-height: 250px;
}
}
@media (max-width: 768px) {
.skin-citizen.page-Main_Page .citizen-page-container {
padding-inline: 16px;
}
.skin-citizen.page-Main_Page .shore-home__hero {
min-height: 500px;
}
.skin-citizen.page-Main_Page .shore-home__hero-content {
padding: 64px 28px;
}
.skin-citizen.page-Main_Page .shore-home__section {
padding: 24px;
}
.skin-citizen.page-Main_Page .shore-topic-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.skin-citizen.page-Main_Page .shore-topic-card > a {
min-height: 116px;
padding: 18px;
}
.skin-citizen.page-Main_Page .shore-topic-card__icon {
flex-basis: 64px;
height: 64px;
}
.skin-citizen.page-Main_Page .shore-nearby-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.skin-citizen.page-Main_Page .shore-home__closing {
grid-template-columns: 1fr;
}
.skin-citizen.page-Main_Page .shore-home__closing > div + div {
border-left: 0;
border-top: 1px solid var(--shore-line);
}
}
@media (max-width: 520px) {
.skin-citizen.page-Main_Page .citizen-page-container {
padding-inline: 8px;
}
.skin-citizen.page-Main_Page .shore-home {
max-width: 100%;
overflow-x: hidden;
}
.skin-citizen.page-Main_Page .shore-home__hero {
background-image: linear-gradient(90deg, rgba(8, 25, 29, 0.68), rgba(8, 25, 29, 0.24) 54%, rgba(8, 25, 29, 0.5)), url("/index.php/Special:Redirect/file/52-shore-hero-mobile.jpg");
border-radius: var(--shore-radius);
min-height: 470px;
}
.skin-citizen.page-Main_Page .shore-home__hero-content {
padding: 56px 18px;
}
.skin-citizen.page-Main_Page .shore-home__eyebrow {
font-size: 2.35rem;
}
.skin-citizen.page-Main_Page .shore-home__hero h1 {
font-size: clamp(2.55rem, 12vw, 3.4rem);
}
.skin-citizen.page-Main_Page .shore-home__intro {
font-size: 1.05rem;
}
.skin-citizen.page-Main_Page .shore-home__intro br {
display: none;
}
.skin-citizen.page-Main_Page .shore-home__content {
padding: 0 8px 24px;
}
.skin-citizen.page-Main_Page .shore-home__section {
border-radius: var(--shore-radius);
padding: 18px;
}
.skin-citizen.page-Main_Page .shore-home__section--topics {
margin-top: -54px;
}
.skin-citizen.page-Main_Page .shore-home__section-heading {
align-items: flex-start;
margin-bottom: 18px;
}
.skin-citizen.page-Main_Page .shore-home__section-heading h2 {
font-size: 1.25rem;
}
.skin-citizen.page-Main_Page .shore-topic-grid {
gap: 10px;
}
.skin-citizen.page-Main_Page .shore-topic-card > a {
align-items: center;
display: grid;
gap: 9px;
grid-template-columns: 1fr;
min-height: 132px;
padding: 14px 10px;
text-align: center;
}
.skin-citizen.page-Main_Page .shore-topic-card__icon {
font-size: 2rem;
height: 58px;
margin: 0 auto;
width: 58px;
}
.skin-citizen.page-Main_Page .shore-topic-card__label {
font-size: 0.96rem;
}
.skin-citizen.page-Main_Page .shore-home__lower-grid {
gap: 20px;
margin-top: 20px;
}
.skin-citizen.page-Main_Page .shore-quick-links li {
min-height: 56px;
}
.skin-citizen.page-Main_Page .shore-nearby-grid {
grid-template-columns: 1fr;
}
.skin-citizen.page-Main_Page .shore-nearby-card {
min-height: 230px;
}
.skin-citizen.page-Main_Page .shore-home__closing {
margin-top: 20px;
}
.skin-citizen.page-Main_Page .shore-home__closing > div {
min-height: 96px;
padding: 20px;
}
}
@media (prefers-reduced-motion: reduce) {
.skin-citizen.page-Main_Page .shore-home *,
.skin-citizen.page-Main_Page .shore-home *::before,
.skin-citizen.page-Main_Page .shore-home *::after {
transition-duration: 0.01ms !important;
}
}
/* Compact homepage cards to more closely match the approved mockup */
@media (min-width: 1200px) {
/* Eight compact topic cards in one row */
.skin-citizen.page-Main_Page .shore-topic-grid {
grid-template-columns: repeat(8, minmax(0, 1fr));
gap: 12px;
}
.skin-citizen.page-Main_Page .shore-topic-card > a {
flex-direction: column;
justify-content: center;
gap: 8px;
min-height: 108px;
padding: 12px 8px;
text-align: center;
}
.skin-citizen.page-Main_Page .shore-topic-card__icon {
flex: 0 0 50px;
width: 50px;
height: 50px;
border-radius: 11px;
font-size: 1.7rem;
}
.skin-citizen.page-Main_Page .shore-topic-card__label {
font-size: 0.9rem;
line-height: 1.15;
white-space: normal;
}
/* Make the lower panels size themselves to their content */
.skin-citizen.page-Main_Page .shore-home__lower-grid {
align-items: start;
}
.skin-citizen.page-Main_Page
.shore-home__lower-grid
.shore-home__section {
height: auto;
}
/* Smaller nearby-photo cards */
.skin-citizen.page-Main_Page .shore-nearby-grid {
gap: 12px;
}
.skin-citizen.page-Main_Page .shore-nearby-card {
min-height: 165px;
}
.skin-citizen.page-Main_Page .shore-nearby-card__body {
padding: 12px;
}
.skin-citizen.page-Main_Page .shore-nearby-card h3 {
font-size: 0.95rem;
line-height: 1.15;
}
.skin-citizen.page-Main_Page .shore-nearby-card p {
font-size: 0.78rem;
line-height: 1.25;
margin-top: 3px;
}
}
/* Keep cards compact on medium desktop/tablet screens */
@media (min-width: 769px) and (max-width: 1199px) {
.skin-citizen.page-Main_Page .shore-topic-card > a {
min-height: 96px;
gap: 12px;
padding: 12px;
}
.skin-citizen.page-Main_Page .shore-topic-card__icon {
flex-basis: 48px;
width: 48px;
height: 48px;
font-size: 1.6rem;
}
.skin-citizen.page-Main_Page .shore-nearby-card {
min-height: 175px;
}
.skin-citizen.page-Main_Page .shore-nearby-card__body {
padding: 12px;
}
}
/* Hide Citizen logo throughout the wiki */
.skin-citizen .citizen-header__logo,
.skin-citizen .mw-logo,
.skin-citizen .mw-logo-icon {
display: none !important;
}
/* Hide Citizen footer from anonymous and ordinary logged-in users */
.skin-citizen .citizen-footer {
display: none !important;
}
/* Show Citizen footer only to administrators */
.skin-citizen.shore-admin .citizen-footer {
display: block !important;
}
/* Hide source/history interface controls from non-admin users */
body.skin-citizen:not(.shore-admin) #ca-viewsource,
body.skin-citizen:not(.shore-admin) #ca-history,
body.skin-citizen:not(.shore-admin) .citizen-page-footer #ca-viewsource,
body.skin-citizen:not(.shore-admin) .citizen-page-footer #ca-history {
display: none !important;
}
/* =========================================================
Citizen page-tools menu: exact-ID desktop side flyout
========================================================= */
@media (min-width: 769px) {
/*
* Exact elements from Citizen's rendered markup:
* #citizen-page-more-dropdown
* #citizen-page-actions-more__card
*
* Do not restrict these rules to .shore-admin. The rendered body does not
* always carry that class, and the menu positioning should work for every
* viewer who can see the three-dot control.
*/
.skin-citizen #citizen-page-more-dropdown {
overflow: visible !important;
position: relative !important;
}
/*
* Open to the LEFT of the three-dot button and align the flyout's bottom
* with the button. This prevents the menu from extending below the page.
*/
.skin-citizen #citizen-page-actions-more__card {
background: linear-gradient(105deg, #e8eee2, #f7f2e5) !important;
border: 1px solid rgba(28, 62, 25, 0.14) !important;
border-radius: 18px !important;
box-shadow: 0 12px 30px rgba(24, 45, 38, 0.18) !important;
box-sizing: border-box !important;
inset: auto calc(100% + 12px) 0 auto !important;
left: auto !important;
right: calc(100% + 12px) !important;
top: auto !important;
bottom: 0 !important;
transform: none !important;
margin: 0 !important;
max-height: min(62vh, 430px) !important;
max-width: calc(100vw - 120px) !important;
min-width: 0 !important;
overflow-x: hidden !important;
overflow-y: auto !important;
padding: 0 !important;
position: absolute !important;
width: clamp(540px, 44vw, 760px) !important;
z-index: 1000 !important;
}
.skin-citizen
#citizen-page-actions-more__card
> .citizen-menu__card-content {
box-sizing: border-box;
padding: 16px 18px !important;
width: 100%;
}
/* Do not reserve space for Citizen's empty "More" portlet. */
.skin-citizen
#citizen-page-actions-more__card
.emptyPortlet {
display: none !important;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb {
margin: 0 !important;
width: 100%;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.citizen-menu__heading {
color: #1c3e19;
font-size: 1rem;
font-weight: 700;
margin: 0 0 10px !important;
padding: 0 !important;
}
/*
* Two-column, short-and-wide tool layout. It drops to one column at
* narrower desktop widths.
*/
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.citizen-menu__content-list {
display: grid !important;
gap: 8px 10px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin: 0 !important;
padding: 0 !important;
width: 100%;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.mw-list-item {
border: 0 !important;
display: block !important;
margin: 0 !important;
min-width: 0 !important;
padding: 0 !important;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.mw-list-item
> a {
align-items: center;
background: rgba(255, 255, 255, 0.52);
border-radius: 11px;
box-sizing: border-box;
color: #1c3e19;
display: flex !important;
gap: 10px;
min-height: 48px;
min-width: 0;
overflow-wrap: anywhere;
padding: 9px 12px !important;
text-decoration: none;
white-space: normal !important;
width: 100%;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.mw-list-item
> a:hover {
background: rgba(255, 255, 255, 0.88);
}
/*
* The access-key labels are useful in the normal Citizen dropdown but
* create collisions inside this compact custom flyout.
*/
.skin-citizen
#citizen-page-actions-more__card
.citizen-keyboard-hint-key {
display: none !important;
}
}
@media (min-width: 769px) and (max-width: 980px) {
.skin-citizen #citizen-page-actions-more__card {
max-width: calc(100vw - 96px) !important;
width: 520px !important;
}
.skin-citizen
#citizen-page-actions-more__card
#p-tb
.citizen-menu__content-list {
grid-template-columns: 1fr;
}
}
/* Preserve Citizen's native dropdown behavior on phones. */
@media (max-width: 768px) {
.skin-citizen #citizen-page-actions-more__card {
max-width: calc(100% - 16px) !important;
}
}
/* Final stable positioning for Citizen's exact page-tools popup.
Do not add padding/margin to the trigger based on details[open];
moving the anchor while it is open causes the visible flicker. */
@media (min-width: 769px) {
.skin-citizen #citizen-page-more-dropdown {
overflow: visible !important;
position: relative !important;
}
.skin-citizen #citizen-page-actions-more__card {
position: absolute !important;
top: auto !important;
left: auto !important;
right: calc(100% + 12px) !important;
bottom: 0 !important;
inset: auto calc(100% + 12px) 0 auto !important;
margin: 0 !important;
transform: none !important;
translate: none !important;
width: clamp(540px, 44vw, 760px) !important;
max-width: calc(100vw - 120px) !important;
max-height: min(62vh, 430px) !important;
overflow-x: hidden !important;
overflow-y: auto !important;
z-index: 1000 !important;
}
}
/* Hide administrative/navigation links from logged-out visitors */
body.skin-citizen:has(#pt-login) #n-recentchanges,
body.skin-citizen:has(#pt-login) #n-help-mediawiki,
body.skin-citizen:has(#pt-login) #n-specialpages,
body.skin-citizen:has(#pt-login) #t-upload {
display: none !important;
}
/* Remove “Help with logging in” from the login page */
body.skin-citizen.page-Special_UserLogin .mw-userlogin-help {
display: none !important;
}
/* Hide MediaWiki help-question-mark indicators from logged-out visitors */
body.skin-citizen:has(#pt-login) .mw-helplink,
body.skin-citizen:has(#pt-login) .mw-helplink-icon {
display: none !important;
}