MediaWiki:Common.css
MediaWiki interface page
More actions
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* =========================================================
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;
}
}
/* =========================================================
POPULAR DESTINATIONS — TEXT LEGIBILITY FIX
========================================================= */
/* Stronger dark gradient behind destination text */
.vw-destination-card::after {
background:
linear-gradient(
to top,
rgba(3, 20, 34, .94) 0%,
rgba(3, 20, 34, .80) 32%,
rgba(3, 20, 34, .35) 58%,
rgba(3, 20, 34, .05) 78%
) !important;
}
/* Force destination titles to white */
body.page-Main_Page
.vw-home
.vw-destination-card
.vw-destination-name a,
body.page-Main_Page
.vw-home
.vw-destination-card
.vw-destination-name a.new,
body.page-Main_Page
.vw-home
.vw-destination-card
.vw-destination-name a:visited {
color: #ffffff !important;
text-decoration: none !important;
text-shadow:
0 2px 4px rgba(0,0,0,.65),
0 4px 12px rgba(0,0,0,.35);
}
/* Slightly more controlled title size */
.vw-destination-name {
font-size: clamp(1.8rem, 2.6vw, 2.5rem) !important;
line-height: 1.05;
color: #ffffff !important;
}
/* Keep description bright and readable */
.vw-destination-description {
color: #ffffff !important;
font-weight: 500;
text-shadow:
0 1px 3px rgba(0,0,0,.7);
}
/* Give text a little breathing room */
.vw-destination-overlay {
padding: 1.8rem 2rem 2rem !important;
}
/* =========================================================
DESTINATION CARD FINAL FIX
========================================================= */
/* Remove MediaWiki paragraph spacing around Commons images */
.vw-destination-image p {
display: block !important;
width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
/* Large destination title is display text, not a wiki link */
.vw-destination-title-text {
margin: 0 0 .55rem;
color: #ffffff !important;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 3vw, 2.8rem);
font-weight: 700;
line-height: 1.02;
text-shadow:
0 2px 5px rgba(0,0,0,.8),
0 5px 15px rgba(0,0,0,.4);
}
/* Description */
.vw-destination-description {
color: #ffffff !important;
font-size: 1rem;
font-weight: 500;
line-height: 1.5;
text-shadow:
0 1px 3px rgba(0,0,0,.8);
}
/* Explore link */
.vw-destination-cta {
margin-top: .8rem;
font-size: .92rem;
font-weight: 800;
}
body.page-Main_Page
.vw-destination-cta a,
body.page-Main_Page
.vw-destination-cta a.new,
body.page-Main_Page
.vw-destination-cta a:visited {
color: #ffffff !important;
-webkit-text-fill-color: #ffffff !important;
text-decoration: none !important;
text-shadow:
0 1px 3px rgba(0,0,0,.8);
}
body.page-Main_Page
.vw-destination-cta a:hover {
color: #ffffff !important;
-webkit-text-fill-color: #ffffff !important;
text-decoration: underline !important;
}
/* Strong readable lower-third gradient */
.vw-destination-card::after {
background:
linear-gradient(
to top,
rgba(2,18,31,.97) 0%,
rgba(2,18,31,.82) 34%,
rgba(2,18,31,.32) 63%,
rgba(2,18,31,.03) 82%
) !important;
}
/* =========================================================
VIRGINIA.WIKI — PLACE PAGES
========================================================= */
.vw-place {
--vw-place-navy: #0b2f4f;
--vw-place-blue: #3e718f;
--vw-place-green: #56725d;
--vw-place-sky: #dceaf2;
--vw-place-cream: #f6f2e7;
max-width: 1280px;
margin: 0 auto;
}
/* =========================================================
PLACE HERO
========================================================= */
.vw-place-hero {
position: relative;
overflow: hidden;
min-height: 470px;
margin-bottom: 1.4rem;
border-radius: 28px;
background: var(--vw-place-navy);
box-shadow:
0 20px 50px rgba(11,47,79,.16);
}
.vw-place-hero-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
overflow: hidden;
line-height: 0;
}
/* MediaWiki image wrappers */
.vw-place-hero-image > span,
.vw-place-hero-image .mw-default-size,
.vw-place-hero-image .mw-file-description,
.vw-place-hero-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.vw-place-hero-image img,
.vw-place-hero-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;
}
/* Dark overlay */
.vw-place-hero::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background:
linear-gradient(
to top,
rgba(3,20,34,.92) 0%,
rgba(3,20,34,.62) 40%,
rgba(3,20,34,.16) 72%
);
pointer-events: none;
}
/* Hero text */
.vw-place-hero-overlay {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
padding:
clamp(2rem, 5vw, 4rem);
}
.vw-place-kicker {
margin-bottom: .8rem;
color: rgba(255,255,255,.88);
font-size: .8rem;
font-weight: 800;
letter-spacing: .18em;
text-transform: uppercase;
}
.vw-place-title {
margin: 0;
color: #ffffff !important;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3.4rem, 8vw, 6.4rem);
font-weight: 700;
line-height: .95;
letter-spacing: -.035em;
text-shadow:
0 3px 12px rgba(0,0,0,.45);
}
.vw-place-summary {
max-width: 820px;
margin-top: 1.2rem;
color: #ffffff !important;
font-size: clamp(1.05rem, 2vw, 1.3rem);
line-height: 1.55;
text-shadow:
0 2px 6px rgba(0,0,0,.55);
}
/* =========================================================
QUICK FACTS
========================================================= */
.vw-place-quickfacts {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: .8rem;
margin:
1rem 0 3rem;
}
.vw-place-quickfacts > div {
min-width: 0;
padding: 1.15rem 1.25rem;
border: 1px solid rgba(11,47,79,.10);
border-radius: 16px;
background: rgba(255,255,255,.82);
box-shadow:
0 5px 18px rgba(11,47,79,.05);
line-height: 1.5;
}
.vw-place-quickfacts strong {
color: var(--vw-place-navy);
}
/* =========================================================
INTRO
========================================================= */
.vw-place-intro {
max-width: 920px;
margin: 0 auto 3.5rem;
font-size: 1.08rem;
line-height: 1.75;
}
/* =========================================================
PAGE HEADINGS
========================================================= */
.vw-place ~ .mw-heading h2,
.vw-place h2 {
color: var(--vw-place-navy);
}
body.page-Williamsburg_Virginia .mw-parser-output > .mw-heading h2 {
margin-top: 3.6rem;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 4vw, 2.8rem);
color: var(--vw-place-navy);
}
/* =========================================================
TOP THINGS TO DO CARDS
========================================================= */
.vw-place-card-grid {
display: grid;
grid-template-columns:
repeat(3, minmax(0, 1fr));
gap: 1rem;
margin: 1.7rem 0 3rem;
}
/* Ignore parser-generated empty paragraphs */
.vw-place-card-grid > p,
.vw-place-explore-grid > p {
display: none !important;
}
.vw-place-card {
min-width: 0;
padding: 1.55rem;
border: 1px solid rgba(11,47,79,.09);
border-radius: 20px;
background:
linear-gradient(
145deg,
rgba(220,234,242,.88),
rgba(246,242,231,.92)
);
box-shadow:
0 6px 20px rgba(11,47,79,.05);
transition:
transform .18s ease,
box-shadow .18s ease;
}
.vw-place-card:hover {
transform: translateY(-4px);
box-shadow:
0 13px 28px rgba(11,47,79,.11);
}
.vw-place-card h3 {
margin: 0 0 .65rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.35rem;
color: var(--vw-place-navy);
}
.vw-place-card h3 a,
.vw-place-card h3 a.new {
color: var(--vw-place-navy) !important;
text-decoration: none !important;
}
.vw-place-card h3 a:hover {
text-decoration: underline !important;
}
/* =========================================================
EXPLORE NEARBY CARDS
========================================================= */
.vw-place-explore-grid {
display: grid;
grid-template-columns:
repeat(2, minmax(0, 1fr));
gap: 1rem;
margin: 1.6rem 0 3rem;
}
.vw-place-explore-grid > div {
min-width: 0;
padding: 1.4rem 1.5rem;
border-radius: 18px;
background: #ffffff;
border:
1px solid rgba(11,47,79,.10);
box-shadow:
0 6px 18px rgba(11,47,79,.05);
line-height: 1.55;
}
.vw-place-explore-grid a,
.vw-place-explore-grid a.new {
color: var(--vw-place-navy) !important;
text-decoration: none !important;
}
.vw-place-explore-grid a:hover {
text-decoration: underline !important;
}
/* =========================================================
TABLE
========================================================= */
body.page-Williamsburg_Virginia .wikitable {
width: 100%;
margin: 1.5rem 0 2.5rem;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
border:
1px solid rgba(11,47,79,.12);
border-radius: 16px;
background: #ffffff;
}
body.page-Williamsburg_Virginia .wikitable th {
padding: .9rem 1rem;
background: var(--vw-place-navy);
color: #ffffff;
text-align: left;
}
body.page-Williamsburg_Virginia .wikitable td {
padding: .9rem 1rem;
border-color:
rgba(11,47,79,.08);
}
/* =========================================================
REFERENCES
========================================================= */
body.page-Williamsburg_Virginia .references {
font-size: .9rem;
line-height: 1.5;
}
/* =========================================================
RED LINKS ON PLACE PAGE
========================================================= */
body.page-Williamsburg_Virginia
.mw-parser-output a.new {
color: #8d3040;
}
/* Cards remain polished even before articles exist */
body.page-Williamsburg_Virginia
.vw-place-card a.new,
body.page-Williamsburg_Virginia
.vw-place-explore-grid a.new {
color: var(--vw-place-navy) !important;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 1000px) {
.vw-place-quickfacts {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
.vw-place-card-grid {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 700px) {
.vw-place-hero {
min-height: 390px;
border-radius: 21px;
}
.vw-place-hero-overlay {
padding: 1.7rem;
}
.vw-place-title {
font-size:
clamp(3rem, 15vw, 4.5rem);
}
.vw-place-quickfacts,
.vw-place-card-grid,
.vw-place-explore-grid {
grid-template-columns: 1fr;
}
.vw-place-intro {
font-size: 1rem;
}
}
/* =========================================================
VIRGINIA.WIKI — ATTRACTION PAGES
========================================================= */
.vw-attraction {
--vw-attraction-navy: #0b2f4f;
--vw-attraction-blue: #3e718f;
--vw-attraction-green: #56725d;
--vw-attraction-sky: #dceaf2;
--vw-attraction-cream: #f6f2e7;
--vw-attraction-text: #172535;
max-width: 1280px;
margin: 0 auto;
color: var(--vw-attraction-text);
}
/* =========================================================
HIDE NORMAL MEDIAWIKI TITLE
========================================================= */
body.page-Colonial_Williamsburg .mw-first-heading,
body.page-Colonial_Williamsburg #firstHeading {
display: none;
}
/* =========================================================
HERO
========================================================= */
.vw-attraction-hero {
position: relative;
overflow: hidden;
min-height: 490px;
margin: 0 0 1.4rem;
border-radius: 28px;
background: var(--vw-attraction-navy);
box-shadow:
0 20px 52px rgba(11,47,79,.17);
}
/* Photograph container */
.vw-attraction-hero-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
line-height: 0;
}
/* MediaWiki image wrappers */
.vw-attraction-hero-image > span,
.vw-attraction-hero-image > p,
.vw-attraction-hero-image .mw-default-size,
.vw-attraction-hero-image .mw-file-description,
.vw-attraction-hero-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
/* Actual photograph */
.vw-attraction-hero-image img,
.vw-attraction-hero-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;
}
/* Hero dark gradient */
.vw-attraction-hero::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
linear-gradient(
to top,
rgba(3,20,34,.94) 0%,
rgba(3,20,34,.68) 40%,
rgba(3,20,34,.18) 72%,
rgba(3,20,34,.04) 100%
);
}
/* Hero text */
.vw-attraction-hero-overlay {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
padding:
clamp(2rem, 5vw, 4rem);
}
.vw-attraction-kicker {
margin-bottom: .8rem;
color: rgba(255,255,255,.90) !important;
font-size: .8rem;
font-weight: 800;
letter-spacing: .18em;
text-transform: uppercase;
text-shadow:
0 1px 4px rgba(0,0,0,.6);
}
.vw-attraction-title {
margin: 0;
color: #ffffff !important;
font-family:
Georgia,
"Times New Roman",
serif;
font-size:
clamp(3.1rem, 7vw, 6.1rem);
font-weight: 700;
line-height: .95;
letter-spacing: -.035em;
text-shadow:
0 3px 13px rgba(0,0,0,.55);
}
.vw-attraction-summary {
max-width: 860px;
margin-top: 1.25rem;
color: #ffffff !important;
font-size:
clamp(1.05rem, 2vw, 1.3rem);
line-height: 1.55;
text-shadow:
0 2px 6px rgba(0,0,0,.65);
}
/* =========================================================
QUICK FACTS
========================================================= */
.vw-attraction-quickfacts {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: .8rem;
margin:
1rem 0 3rem;
}
.vw-attraction-quickfacts > div {
min-width: 0;
padding: 1.15rem 1.25rem;
border:
1px solid rgba(11,47,79,.10);
border-radius: 16px;
background:
rgba(255,255,255,.84);
box-shadow:
0 5px 18px rgba(11,47,79,.05);
line-height: 1.5;
}
.vw-attraction-quickfacts strong {
color: var(--vw-attraction-navy);
}
/* =========================================================
INTRODUCTION
========================================================= */
.vw-attraction-intro {
max-width: 940px;
margin:
0 auto 3.5rem;
font-size: 1.08rem;
line-height: 1.75;
}
/* =========================================================
SECTION HEADINGS
========================================================= */
.vw-attraction .mw-heading h2,
.vw-attraction h2 {
margin-top: 3.8rem;
font-family:
Georgia,
"Times New Roman",
serif;
font-size:
clamp(2rem, 4vw, 2.8rem);
line-height: 1.1;
color:
var(--vw-attraction-navy);
}
/* =========================================================
WHAT TO SEE CARDS
========================================================= */
.vw-attraction-card-grid {
display: grid;
grid-template-columns:
repeat(3, minmax(0, 1fr));
gap: 1rem;
margin:
1.7rem 0 3rem;
}
/* MediaWiki can insert empty paragraphs into raw HTML grids */
.vw-attraction-card-grid > p,
.vw-visit-grid > p,
.vw-attraction-nearby-grid > p {
display: none !important;
}
.vw-attraction-card {
min-width: 0;
padding: 1.55rem;
border:
1px solid rgba(11,47,79,.09);
border-radius: 20px;
background:
linear-gradient(
145deg,
rgba(220,234,242,.89),
rgba(246,242,231,.94)
);
box-shadow:
0 6px 20px rgba(11,47,79,.05);
line-height: 1.6;
transition:
transform .18s ease,
box-shadow .18s ease;
}
.vw-attraction-card:hover {
transform: translateY(-4px);
box-shadow:
0 13px 28px rgba(11,47,79,.11);
}
.vw-attraction-card h3 {
margin:
0 0 .65rem;
font-family:
Georgia,
"Times New Roman",
serif;
font-size: 1.35rem;
color:
var(--vw-attraction-navy);
}
/* Hide scary red links on unfinished attraction cards */
.vw-attraction-card h3 a,
.vw-attraction-card h3 a.new {
color:
var(--vw-attraction-navy) !important;
text-decoration: none !important;
}
.vw-attraction-card h3 a:hover {
text-decoration: underline !important;
}
/* =========================================================
VISIT PLANNING GRID
========================================================= */
.vw-visit-grid {
display: grid;
grid-template-columns:
repeat(2, minmax(0, 1fr));
gap: 1rem;
margin:
1.6rem 0 3rem;
}
.vw-visit-grid > div {
min-width: 0;
padding: 1.45rem 1.55rem;
border:
1px solid rgba(11,47,79,.09);
border-radius: 18px;
background:
#ffffff;
box-shadow:
0 6px 19px rgba(11,47,79,.05);
line-height: 1.6;
}
.vw-visit-grid > div strong {
color:
var(--vw-attraction-navy);
}
/* =========================================================
NEARBY ATTRACTIONS
========================================================= */
.vw-attraction-nearby-grid {
display: grid;
grid-template-columns:
repeat(3, minmax(0, 1fr));
gap: 1rem;
margin:
1.6rem 0 3rem;
}
.vw-attraction-nearby-grid > div {
min-width: 0;
padding: 1.4rem 1.5rem;
border:
1px solid rgba(11,47,79,.10);
border-radius: 18px;
background:
rgba(255,255,255,.86);
box-shadow:
0 6px 18px rgba(11,47,79,.05);
line-height: 1.55;
}
.vw-attraction-nearby-grid a,
.vw-attraction-nearby-grid a.new {
color:
var(--vw-attraction-navy) !important;
text-decoration: none !important;
}
.vw-attraction-nearby-grid a:hover {
text-decoration: underline !important;
}
/* =========================================================
STANDARD LISTS
========================================================= */
.vw-attraction ul {
line-height: 1.65;
}
.vw-attraction li {
margin-bottom: .3rem;
}
/* =========================================================
REFERENCES
========================================================= */
body.page-Colonial_Williamsburg .references {
font-size: .9rem;
line-height: 1.5;
}
/* =========================================================
NORMAL RED LINKS
========================================================= */
/*
Keep unfinished ordinary article links identifiable,
but less aggressively bright than MediaWiki's default.
*/
body.page-Colonial_Williamsburg
.vw-attraction a.new {
color: #8d3040;
}
/*
Cards should still look polished even when their
destination articles do not exist yet.
*/
body.page-Colonial_Williamsburg
.vw-attraction-card a.new,
body.page-Colonial_Williamsburg
.vw-attraction-nearby-grid a.new {
color:
var(--vw-attraction-navy) !important;
}
/* =========================================================
EXTERNAL LINKS
========================================================= */
.vw-attraction a.external {
text-underline-offset: 2px;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 1000px) {
.vw-attraction-quickfacts {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
.vw-attraction-card-grid,
.vw-attraction-nearby-grid {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 700px) {
.vw-attraction-hero {
min-height: 410px;
border-radius: 21px;
}
.vw-attraction-hero-overlay {
padding: 1.7rem;
}
.vw-attraction-title {
font-size:
clamp(2.9rem, 14vw, 4.4rem);
}
.vw-attraction-summary {
font-size: 1rem;
}
.vw-attraction-quickfacts,
.vw-attraction-card-grid,
.vw-visit-grid,
.vw-attraction-nearby-grid {
grid-template-columns:
1fr;
}
.vw-attraction-intro {
font-size: 1rem;
}
}