MediaWiki:Common.css: Difference between revisions
MediaWiki interface page
More actions
No edit summary |
No edit summary |
||
| Line 872: | Line 872: | ||
.vw-link-grid ul { | .vw-link-grid ul { | ||
grid-template-columns: 1fr; | |||
} | |||
} | |||
/* ========================================================= | |||
VIRGINIA.WIKI — POPULAR DESTINATION CARDS | |||
========================================================= */ | |||
.vw-destination-grid { | |||
display: grid; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
gap: 1.3rem; | |||
} | |||
/* Ignore parser-generated empty paragraphs */ | |||
.vw-destination-grid > p, | |||
.vw-secondary-destinations > p { | |||
display: none !important; | |||
} | |||
.vw-destination-card { | |||
position: relative; | |||
overflow: hidden; | |||
min-width: 0; | |||
height: 340px; | |||
border-radius: 24px; | |||
background: #0b2f4f; | |||
box-shadow: | |||
0 12px 32px rgba(11, 47, 79, .12); | |||
transition: | |||
transform .2s ease, | |||
box-shadow .2s ease; | |||
} | |||
.vw-destination-card:hover { | |||
transform: translateY(-5px); | |||
box-shadow: | |||
0 20px 42px rgba(11, 47, 79, .20); | |||
} | |||
/* Photograph */ | |||
.vw-destination-image { | |||
position: absolute; | |||
inset: 0; | |||
width: 100%; | |||
height: 100%; | |||
overflow: hidden; | |||
line-height: 0; | |||
} | |||
.vw-destination-image > span, | |||
.vw-destination-image .mw-default-size, | |||
.vw-destination-image .mw-file-description, | |||
.vw-destination-image a { | |||
display: block !important; | |||
width: 100% !important; | |||
max-width: 100% !important; | |||
height: 100% !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
.vw-destination-image img, | |||
.vw-destination-image .mw-file-element { | |||
display: block !important; | |||
width: 100% !important; | |||
max-width: 100% !important; | |||
height: 100% !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
object-fit: cover !important; | |||
object-position: center !important; | |||
transition: transform .5s ease; | |||
} | |||
.vw-destination-card:hover .vw-destination-image img { | |||
transform: scale(1.04); | |||
} | |||
/* Dark gradient over photo */ | |||
.vw-destination-card::after { | |||
content: ""; | |||
position: absolute; | |||
inset: 0; | |||
z-index: 1; | |||
pointer-events: none; | |||
background: | |||
linear-gradient( | |||
to top, | |||
rgba(4, 24, 40, .88) 0%, | |||
rgba(4, 24, 40, .52) 38%, | |||
rgba(4, 24, 40, .08) 70% | |||
); | |||
} | |||
/* Text over photograph */ | |||
.vw-destination-overlay { | |||
position: absolute; | |||
left: 0; | |||
right: 0; | |||
bottom: 0; | |||
z-index: 2; | |||
padding: 2rem; | |||
} | |||
.vw-destination-name { | |||
margin-bottom: .55rem; | |||
font-family: Georgia, "Times New Roman", serif; | |||
font-size: clamp(1.9rem, 3vw, 2.7rem); | |||
font-weight: 700; | |||
line-height: 1.05; | |||
} | |||
.vw-destination-name a, | |||
.vw-destination-name a.new { | |||
color: #ffffff !important; | |||
text-decoration: none !important; | |||
} | |||
.vw-destination-name a:hover { | |||
text-decoration: underline !important; | |||
} | |||
.vw-destination-description { | |||
max-width: 560px; | |||
color: rgba(255, 255, 255, .92) !important; | |||
font-size: .98rem; | |||
line-height: 1.5; | |||
} | |||
/* ========================================================= | |||
SECONDARY DESTINATIONS | |||
========================================================= */ | |||
.vw-secondary-destinations { | |||
display: grid; | |||
grid-template-columns: | |||
repeat(4, minmax(0, 1fr)); | |||
gap: .85rem; | |||
margin-top: 1rem; | |||
} | |||
.vw-secondary-destinations > a { | |||
display: block; | |||
padding: 1rem 1.15rem; | |||
border: 1px solid rgba(11, 47, 79, .11); | |||
border-radius: 14px; | |||
background: rgba(255, 255, 255, .84); | |||
color: var(--vw-navy) !important; | |||
font-weight: 700; | |||
text-align: center; | |||
text-decoration: none !important; | |||
transition: | |||
transform .18s ease, | |||
box-shadow .18s ease, | |||
background .18s ease; | |||
} | |||
.vw-secondary-destinations > a.new { | |||
color: var(--vw-navy) !important; | |||
} | |||
.vw-secondary-destinations > a:hover { | |||
transform: translateY(-2px); | |||
background: #ffffff; | |||
box-shadow: | |||
0 8px 20px rgba(11, 47, 79, .08); | |||
} | |||
/* ========================================================= | |||
TABLET | |||
========================================================= */ | |||
@media (max-width: 900px) { | |||
.vw-destination-card { | |||
height: 310px; | |||
} | |||
.vw-secondary-destinations { | |||
grid-template-columns: | |||
repeat(2, minmax(0, 1fr)); | |||
} | |||
} | |||
/* ========================================================= | |||
MOBILE | |||
========================================================= */ | |||
@media (max-width: 650px) { | |||
.vw-destination-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
.vw-destination-card { | |||
height: 300px; | |||
} | |||
.vw-destination-overlay { | |||
padding: 1.5rem; | |||
} | |||
.vw-secondary-destinations { | |||
grid-template-columns: | |||
repeat(2, minmax(0, 1fr)); | |||
} | |||
} | |||
/* ========================================================= | |||
SMALL MOBILE | |||
========================================================= */ | |||
@media (max-width: 430px) { | |||
.vw-secondary-destinations { | |||
grid-template-columns: 1fr; | grid-template-columns: 1fr; | ||
} | } | ||
} | } | ||
Revision as of 20:57, 29 September 2026
/* =========================================================
VIRGINIA.WIKI
Main Page / Citizen Skin Styling
========================================================= */
/* =========================================================
GLOBAL HOMEPAGE VARIABLES
========================================================= */
.vw-home {
--vw-navy: #0b2f4f;
--vw-blue: #3e718f;
--vw-green: #56725d;
--vw-sky: #dceaf2;
--vw-cream: #f6f2e7;
--vw-text: #172535;
max-width: 1380px;
margin: 0 auto;
color: var(--vw-text);
}
/* =========================================================
MAIN PAGE CLEANUP
========================================================= */
/* Hide normal MediaWiki page title on Main Page */
body.page-Main_Page .mw-first-heading,
body.page-Main_Page #firstHeading {
display: none;
}
/* Hide parser-generated empty paragraphs inside grids */
.vw-card-grid > p,
.vw-photo-card-grid > p,
.vw-feature-grid > p,
.vw-link-grid > p {
display: none !important;
}
/* =========================================================
HERO
========================================================= */
.vw-hero {
position: relative;
overflow: hidden;
display: flex;
align-items: center;
min-height: 430px;
padding: clamp(3rem, 7vw, 6.5rem);
margin: 0 0 4.5rem;
border-radius: 30px;
color: #ffffff;
background:
radial-gradient(
circle at 82% 18%,
rgba(255, 214, 132, .55),
transparent 18%
),
linear-gradient(
135deg,
#092943 0%,
#356d8b 58%,
#657d64 100%
);
box-shadow:
0 22px 60px rgba(11, 47, 79, .20);
}
/* Background mountain layer */
.vw-hero::before {
content: "";
position: absolute;
left: -5%;
right: -5%;
bottom: -2%;
height: 42%;
background: rgba(17, 57, 78, .48);
clip-path: polygon(
0 70%,
10% 48%,
20% 60%,
32% 28%,
43% 62%,
55% 38%,
66% 61%,
77% 35%,
89% 58%,
100% 37%,
100% 100%,
0 100%
);
}
/* Foreground mountain layer */
.vw-hero::after {
content: "";
position: absolute;
left: -5%;
right: -5%;
bottom: -8%;
height: 33%;
background: rgba(24, 75, 78, .48);
clip-path: polygon(
0 60%,
14% 37%,
28% 67%,
44% 29%,
58% 57%,
73% 31%,
87% 59%,
100% 42%,
100% 100%,
0 100%
);
}
.vw-hero-inner {
position: relative;
z-index: 2;
max-width: 850px;
}
.vw-eyebrow {
margin-bottom: .9rem;
font-size: .83rem;
font-weight: 800;
letter-spacing: .19em;
text-transform: uppercase;
color: rgba(255, 255, 255, .92);
}
.vw-hero-title {
margin: 0;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3.7rem, 8vw, 7rem);
font-weight: 700;
line-height: .94;
letter-spacing: -.045em;
color: #ffffff;
}
.vw-hero-subtitle {
max-width: 780px;
margin-top: 1.55rem;
font-size: clamp(1.05rem, 2vw, 1.35rem);
line-height: 1.6;
color: rgba(255, 255, 255, .96);
}
/* =========================================================
HERO SEARCH
========================================================= */
.vw-search {
position: relative;
z-index: 3;
max-width: 700px;
margin-top: 2.2rem;
}
.vw-search .mw-inputbox-centered {
text-align: left !important;
}
.vw-search form {
display: flex;
align-items: stretch;
width: 100%;
gap: .7rem;
}
.vw-search input[type="text"] {
flex: 1;
min-width: 0;
height: 58px;
box-sizing: border-box;
padding: 0 1.25rem;
border: 1px solid rgba(255, 255, 255, .45);
border-radius: 14px;
background: rgba(255, 255, 255, .96);
color: #172535;
font-size: 1.05rem;
box-shadow:
0 9px 25px rgba(0, 0, 0, .13);
}
.vw-search input[type="text"]:focus {
outline: 3px solid rgba(255, 255, 255, .25);
border-color: #ffffff;
}
.vw-search input[type="submit"],
.vw-search button {
min-height: 58px;
padding: 0 1.7rem;
border: 0 !important;
border-radius: 14px !important;
background: #ffffff !important;
color: var(--vw-navy) !important;
font-size: 1rem;
font-weight: 800;
cursor: pointer;
box-shadow:
0 9px 25px rgba(0, 0, 0, .13);
}
.vw-search input[type="submit"]:hover,
.vw-search button:hover {
background: var(--vw-cream) !important;
}
/* =========================================================
HOMEPAGE SECTIONS
========================================================= */
.vw-home-section {
margin: 4.75rem 0;
}
.vw-home-section > h2 {
margin: 0 0 1.9rem;
padding: 0;
border: 0;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.1rem, 4vw, 3.15rem);
line-height: 1.08;
color: var(--vw-navy);
}
/* =========================================================
BASIC CARD GRID
========================================================= */
.vw-card-grid {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: 1.2rem;
align-items: stretch;
}
.vw-card-grid > .vw-card {
min-width: 0;
width: auto;
}
.vw-card {
min-width: 0;
min-height: 180px;
padding: 1.7rem;
border: 1px solid rgba(11, 47, 79, .10);
border-radius: 22px;
background: rgba(255, 255, 255, .82);
box-shadow:
0 8px 28px rgba(11, 47, 79, .07);
transition:
transform .18s ease,
box-shadow .18s ease,
border-color .18s ease;
}
.vw-card:hover {
transform: translateY(-5px);
border-color: rgba(11, 47, 79, .20);
box-shadow:
0 16px 35px rgba(11, 47, 79, .13);
}
.vw-card h3 {
margin: 0 0 .9rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
color: var(--vw-navy);
}
/* =========================================================
PHOTOGRAPHIC DISCOVERY CARDS
========================================================= */
.vw-photo-card-grid {
display: grid !important;
grid-template-columns:
repeat(4, minmax(0, 1fr)) !important;
gap: 1.2rem !important;
align-items: stretch;
}
.vw-photo-card-grid > .vw-photo-card {
min-width: 0;
width: auto;
}
.vw-photo-card {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 400px;
padding: 0 !important;
overflow: hidden;
border-radius: 22px;
background: #ffffff;
}
/* Image container */
.vw-card-image {
display: block;
width: 100%;
height: 200px;
margin: 0;
padding: 0;
overflow: hidden;
background: var(--vw-sky);
line-height: 0;
}
/*
MediaWiki wraps images inside links/spans.
Force all wrappers to remain inside the card.
*/
.vw-card-image > span,
.vw-card-image .mw-default-size,
.vw-card-image .mw-file-description,
.vw-card-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
/* Actual image */
.vw-card-image img,
.vw-card-image .mw-file-element {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 200px !important;
margin: 0 !important;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
}
/* Card body */
.vw-card-content {
display: flex;
flex-direction: column;
flex: 1;
min-width: 0;
padding: 1.45rem 1.55rem 1.55rem;
line-height: 1.6;
}
.vw-card-content h3 {
margin: 0 0 .75rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
color: var(--vw-navy);
}
/* Card heading links */
.vw-card-content h3 a,
.vw-card-content h3 a.new {
color: var(--vw-navy) !important;
text-decoration: none !important;
}
.vw-card-content h3 a:hover {
text-decoration: underline !important;
}
/* Bottom card CTA */
.vw-card-link {
margin-top: auto;
padding-top: 1.2rem;
font-size: .93rem;
font-weight: 800;
}
.vw-card-link a,
.vw-card-link a.new {
color: var(--vw-blue) !important;
text-decoration: none !important;
}
.vw-card-link a:hover {
text-decoration: underline !important;
}
/* =========================================================
RED LINK OVERRIDE ON HOMEPAGE
========================================================= */
/*
Pages we haven't created yet normally appear red.
On the homepage we want them to look intentional.
*/
body.page-Main_Page .vw-home a.new {
color: var(--vw-navy) !important;
text-decoration: none !important;
}
body.page-Main_Page .vw-home a.new:hover {
text-decoration: underline !important;
}
body.page-Main_Page .vw-card-link a.new {
color: var(--vw-blue) !important;
}
/* =========================================================
POPULAR DESTINATIONS
========================================================= */
.vw-link-grid ul {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: .9rem;
margin: 0;
padding: 0;
list-style: none;
}
.vw-link-grid li {
margin: 0;
}
.vw-link-grid a {
display: block;
padding: 1.1rem 1.2rem;
border: 1px solid rgba(11, 47, 79, .11);
border-radius: 15px;
background: rgba(255, 255, 255, .82);
color: var(--vw-navy) !important;
font-weight: 700;
text-decoration: none !important;
box-shadow:
0 4px 14px rgba(11, 47, 79, .04);
transition:
transform .18s ease,
background .18s ease,
box-shadow .18s ease;
}
.vw-link-grid a.new {
color: var(--vw-navy) !important;
}
.vw-link-grid a:hover {
transform: translateY(-3px);
background: #ffffff;
box-shadow:
0 9px 20px rgba(11, 47, 79, .09);
text-decoration: none !important;
}
/* =========================================================
EXPLORE VIRGINIA FEATURE CARDS
========================================================= */
.vw-feature-grid {
display: grid !important;
grid-template-columns:
repeat(3, minmax(0, 1fr)) !important;
gap: 1.25rem !important;
align-items: stretch;
}
.vw-feature-grid > .vw-feature {
min-width: 0;
width: auto;
}
.vw-feature {
min-width: 0;
min-height: 185px;
margin: 0 !important;
padding: 1.9rem;
border: 1px solid rgba(11, 47, 79, .08);
border-radius: 23px;
background:
linear-gradient(
145deg,
rgba(220, 234, 242, .92),
rgba(246, 242, 231, .92)
);
line-height: 1.6;
}
.vw-feature h3 {
margin: 0 0 .85rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
color: var(--vw-navy);
}
.vw-feature h3 a,
.vw-feature h3 a.new {
color: var(--vw-navy) !important;
text-decoration: none !important;
}
.vw-feature h3 a:hover {
text-decoration: underline !important;
}
/* =========================================================
START EXPLORING PANEL
========================================================= */
.vw-home-bottom {
padding: 2.5rem 2.7rem;
border-radius: 26px;
background:
linear-gradient(
135deg,
#092943,
#174a69
);
color: #ffffff !important;
box-shadow:
0 16px 38px rgba(11, 47, 79, .16);
}
.vw-bottom-title {
margin: 0 0 1.25rem;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 700;
line-height: 1.1;
color: #ffffff !important;
}
.vw-bottom-text {
font-size: 1.05rem;
line-height: 1.65;
color: #ffffff !important;
}
.vw-home-bottom,
.vw-home-bottom p,
.vw-home-bottom div,
.vw-home-bottom span,
.vw-home-bottom h2,
.vw-home-bottom h3 {
color: #ffffff !important;
}
.vw-home-bottom a {
color: #ffffff !important;
}
.vw-home-bottom a:hover {
color: #ffffff !important;
}
/* =========================================================
GENERAL HOMEPAGE TYPOGRAPHY
========================================================= */
.vw-home p {
line-height: 1.65;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 1000px) {
.vw-card-grid,
.vw-photo-card-grid {
grid-template-columns:
repeat(2, minmax(0, 1fr)) !important;
}
.vw-link-grid ul {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
.vw-feature-grid {
grid-template-columns:
repeat(3, minmax(0, 1fr)) !important;
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 700px) {
.vw-hero {
min-height: 330px;
padding: 3rem 1.6rem;
margin-bottom: 3.2rem;
border-radius: 22px;
}
.vw-hero-title {
font-size:
clamp(3.2rem, 15vw, 5rem);
}
.vw-search form {
flex-direction: column;
}
.vw-search input[type="text"],
.vw-search input[type="submit"],
.vw-search button {
width: 100% !important;
box-sizing: border-box;
}
.vw-card-grid,
.vw-photo-card-grid,
.vw-feature-grid {
grid-template-columns: 1fr !important;
}
.vw-card-image,
.vw-card-image img,
.vw-card-image .mw-file-element {
height: 230px !important;
}
.vw-photo-card {
min-height: 0;
}
.vw-home-section {
margin: 3.5rem 0;
}
.vw-home-bottom {
padding: 1.8rem;
}
}
/* =========================================================
SMALL MOBILE
========================================================= */
@media (max-width: 460px) {
.vw-link-grid ul {
grid-template-columns: 1fr;
}
}
/* =========================================================
VIRGINIA.WIKI — POPULAR DESTINATION CARDS
========================================================= */
.vw-destination-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.3rem;
}
/* Ignore parser-generated empty paragraphs */
.vw-destination-grid > p,
.vw-secondary-destinations > p {
display: none !important;
}
.vw-destination-card {
position: relative;
overflow: hidden;
min-width: 0;
height: 340px;
border-radius: 24px;
background: #0b2f4f;
box-shadow:
0 12px 32px rgba(11, 47, 79, .12);
transition:
transform .2s ease,
box-shadow .2s ease;
}
.vw-destination-card:hover {
transform: translateY(-5px);
box-shadow:
0 20px 42px rgba(11, 47, 79, .20);
}
/* Photograph */
.vw-destination-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
overflow: hidden;
line-height: 0;
}
.vw-destination-image > span,
.vw-destination-image .mw-default-size,
.vw-destination-image .mw-file-description,
.vw-destination-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.vw-destination-image img,
.vw-destination-image .mw-file-element {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
transition: transform .5s ease;
}
.vw-destination-card:hover .vw-destination-image img {
transform: scale(1.04);
}
/* Dark gradient over photo */
.vw-destination-card::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
linear-gradient(
to top,
rgba(4, 24, 40, .88) 0%,
rgba(4, 24, 40, .52) 38%,
rgba(4, 24, 40, .08) 70%
);
}
/* Text over photograph */
.vw-destination-overlay {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
padding: 2rem;
}
.vw-destination-name {
margin-bottom: .55rem;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.9rem, 3vw, 2.7rem);
font-weight: 700;
line-height: 1.05;
}
.vw-destination-name a,
.vw-destination-name a.new {
color: #ffffff !important;
text-decoration: none !important;
}
.vw-destination-name a:hover {
text-decoration: underline !important;
}
.vw-destination-description {
max-width: 560px;
color: rgba(255, 255, 255, .92) !important;
font-size: .98rem;
line-height: 1.5;
}
/* =========================================================
SECONDARY DESTINATIONS
========================================================= */
.vw-secondary-destinations {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: .85rem;
margin-top: 1rem;
}
.vw-secondary-destinations > a {
display: block;
padding: 1rem 1.15rem;
border: 1px solid rgba(11, 47, 79, .11);
border-radius: 14px;
background: rgba(255, 255, 255, .84);
color: var(--vw-navy) !important;
font-weight: 700;
text-align: center;
text-decoration: none !important;
transition:
transform .18s ease,
box-shadow .18s ease,
background .18s ease;
}
.vw-secondary-destinations > a.new {
color: var(--vw-navy) !important;
}
.vw-secondary-destinations > a:hover {
transform: translateY(-2px);
background: #ffffff;
box-shadow:
0 8px 20px rgba(11, 47, 79, .08);
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 900px) {
.vw-destination-card {
height: 310px;
}
.vw-secondary-destinations {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 650px) {
.vw-destination-grid {
grid-template-columns: 1fr;
}
.vw-destination-card {
height: 300px;
}
.vw-destination-overlay {
padding: 1.5rem;
}
.vw-secondary-destinations {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
SMALL MOBILE
========================================================= */
@media (max-width: 430px) {
.vw-secondary-destinations {
grid-template-columns: 1fr;
}
}