Jump to content
Toggle menu
  • 63 articles
  • 2 files
  • 2 users
  • 222 edits
Virginia.wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.css: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 1,294: Line 1,294:
rgba(2,18,31,.03) 82%
rgba(2,18,31,.03) 82%
) !important;
) !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;
}
}
}

Revision as of 21:09, 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;
	}

}
/* =========================================================
   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;
	}

}