Jump to content
Toggle menu
  • 47 articles
  • 2 files
  • 2 users
  • 195 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,577: Line 1,577:
.vw-attraction-summary {
.vw-attraction-summary {
font-size: 1rem;
font-size: 1rem;
}
}
/* =========================================================
  FIX — POPULAR DESTINATIONS GRID
  ========================================================= */
/* MediaWiki may insert paragraph elements between block
  elements; don't let those become CSS-grid items. */
.vw-destination-grid > p {
display: none !important;
}
/* Let each destination card participate normally in
  the two-column grid. */
.vw-destination-grid > .vw-destination-card {
grid-column: auto !important;
width: 100% !important;
margin: 0 !important;
float: none !important;
}
/* Reassert the intended grid layout. */
.vw-destination-grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 24px !important;
grid-auto-flow: row !important;
}
@media (max-width: 700px) {
.vw-destination-grid {
grid-template-columns: 1fr !important;
}
}
}
}

Revision as of 00:31, 30 September 2026

/* =========================================================
   VIRGINIA.WIKI — MASTER STYLESHEET
   ========================================================= */


/* =========================================================
   SHARED VARIABLES
   ========================================================= */

.vw-home,
.vw-place,
.vw-attraction {
	--vw-navy: #0b2f4f;
	--vw-blue: #3e718f;
	--vw-green: #56725d;
	--vw-sky: #dceaf2;
	--vw-cream: #f6f2e7;
	--vw-text: #172535;
	--vw-muted: #5b6873;
	--vw-white: #ffffff;
	--vw-border: rgba(11, 47, 79, 0.13);
	--vw-shadow: 0 14px 34px rgba(19, 43, 60, 0.12);

	color: var(--vw-text);
}


/* =========================================================
   GENERAL
   ========================================================= */

.vw-home *,
.vw-place *,
.vw-attraction * {
	box-sizing: border-box;
}

.vw-home img,
.vw-place img,
.vw-attraction img {
	max-width: 100%;
	height: auto;
}

.vw-home,
.vw-place,
.vw-attraction {
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}

.vw-place p,
.vw-attraction p {
	line-height: 1.72;
}

.vw-place li,
.vw-attraction li {
	line-height: 1.65;
}


/* =========================================================
   MAIN PAGE
   ========================================================= */

body.page-Main_Page .mw-first-heading,
body.page-Main_Page #firstHeading {
	display: none !important;
}


/* =========================================================
   MAIN PAGE HERO
   ========================================================= */

.vw-hero {
	position: relative;
	overflow: hidden;
	min-height: 610px;
	padding: 105px 95px 120px;

	border-radius: 30px;

	background:
		radial-gradient(
			circle at 83% 20%,
			rgba(224, 214, 154, 0.42),
			transparent 24%
		),
		linear-gradient(
			120deg,
			#0b3552 0%,
			#245f7d 55%,
			#608478 100%
		);

	box-shadow: 0 24px 60px rgba(15, 44, 62, 0.19);

	color: #ffffff;
}

.vw-hero::before,
.vw-hero::after {
	content: "";
	position: absolute;

	left: -5%;
	right: -5%;
	bottom: -1px;

	pointer-events: none;
}

.vw-hero::before {
	height: 185px;

	background: #174965;

	clip-path: polygon(
		0 70%,
		10% 34%,
		20% 62%,
		31% 0,
		42% 72%,
		53% 33%,
		64% 74%,
		76% 10%,
		87% 67%,
		100% 24%,
		100% 100%,
		0 100%
	);

	opacity: 0.77;
}

.vw-hero::after {
	height: 115px;

	background: #174f59;

	clip-path: polygon(
		0 65%,
		12% 10%,
		24% 78%,
		39% 0,
		54% 70%,
		68% 15%,
		83% 72%,
		100% 25%,
		100% 100%,
		0 100%
	);

	opacity: 0.96;
}

.vw-hero-inner {
	position: relative;
	z-index: 3;

	max-width: 900px;
}

.vw-eyebrow {
	margin-bottom: 20px;

	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	text-transform: uppercase;

	color: #ffffff;
}

.vw-hero-title {
	margin: 0;

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4.5rem, 9vw, 7.6rem);
	font-weight: 700;

	line-height: 0.86;
	letter-spacing: -0.045em;

	color: #ffffff;
}

.vw-hero-subtitle {
	max-width: 870px;

	margin-top: 32px;

	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.5;

	color: #ffffff;
}


/* =========================================================
   MAIN PAGE SEARCH
   ========================================================= */

.vw-search {
	position: relative;
	z-index: 5;

	max-width: 760px;

	margin-top: 38px;
}

.vw-search form {
	display: flex;
	align-items: stretch;

	gap: 14px;

	margin: 0;
}

.vw-search input[type="text"],
.vw-search .mw-inputbox-input {
	flex: 1;

	min-width: 0;
	height: 52px;

	padding: 0 16px;

	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 5px;

	background: rgba(255, 255, 255, 0.94);

	font-size: 1.05rem;

	color: var(--vw-text);
}

.vw-search input[type="submit"],
.vw-search .mw-ui-button {
	min-width: 120px;
	height: 52px;

	padding: 0 24px;

	border: 0 !important;
	border-radius: 15px !important;

	background: #ffffff !important;

	color: var(--vw-navy) !important;

	font-weight: 800 !important;

	box-shadow: none !important;
}


/* =========================================================
   MAIN PAGE SECTIONS
   ========================================================= */

.vw-home-section {
	margin-top: 74px;
}

.vw-home-section > h2 {
	margin: 0 0 24px;

	padding: 0;

	border: 0;

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4vw, 3.3rem);
	font-weight: 700;

	line-height: 1.05;

	color: var(--vw-navy);
}

.vw-home-section > p {
	max-width: 850px;

	margin-bottom: 30px;

	font-size: 1.08rem;
	line-height: 1.65;

	color: var(--vw-muted);
}


/* =========================================================
   DISCOVER VIRGINIA — PHOTO CARDS
   ========================================================= */

.vw-card-grid,
.vw-photo-card-grid {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 22px;
}

.vw-card.vw-photo-card,
.vw-photo-card {
	position: relative;

	min-height: 300px;

	overflow: hidden;

	border-radius: 22px;

	background: var(--vw-navy);

	box-shadow: var(--vw-shadow);
}

.vw-photo-card .vw-card-image {
	position: absolute;

	inset: 0;
}

.vw-photo-card .vw-card-image a {
	display: block;

	width: 100%;
	height: 100%;
}

.vw-photo-card .vw-card-image img,
.vw-photo-card .vw-card-image .mw-file-element {
	position: absolute;

	inset: 0;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover;
}

.vw-photo-card::after {
	content: "";

	position: absolute;

	inset: 0;

	z-index: 1;

	background:
		linear-gradient(
			180deg,
			rgba(5, 26, 43, 0.03) 15%,
			rgba(5, 26, 43, 0.78) 100%
		);
}

.vw-photo-card .vw-card-content {
	position: absolute;

	z-index: 3;

	left: 24px;
	right: 24px;
	bottom: 22px;

	color: #ffffff;
}

.vw-photo-card .vw-card-content h3,
.vw-photo-card h3 {
	margin: 0 0 5px;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.7rem;

	color: #ffffff;
}

.vw-photo-card .vw-card-content p,
.vw-photo-card p {
	margin: 0;

	line-height: 1.45;

	color: rgba(255, 255, 255, 0.92);
}

.vw-photo-card a {
	color: #ffffff !important;
	text-decoration: none !important;
}


/* =========================================================
   POPULAR DESTINATIONS
   ========================================================= */

.vw-destination-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 24px;
}

.vw-destination-card {
	position: relative;

	min-height: 420px;

	overflow: hidden;

	border-radius: 25px;

	background: var(--vw-navy);

	box-shadow: var(--vw-shadow);
}

.vw-destination-image {
	position: absolute;

	inset: 0;
}

.vw-destination-image a {
	display: block;

	width: 100%;
	height: 100%;
}

.vw-destination-image img,
.vw-destination-image .mw-file-element {
	position: absolute;

	inset: 0;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover;
}

.vw-destination-card::after {
	content: "";

	position: absolute;

	inset: 0;

	z-index: 1;

	background:
		linear-gradient(
			180deg,
			rgba(8, 34, 51, 0.03) 15%,
			rgba(8, 34, 51, 0.88) 100%
		);
}

.vw-destination-overlay {
	position: absolute;

	z-index: 3;

	left: 34px;
	right: 34px;
	bottom: 32px;

	color: #ffffff;
}

.vw-destination-name,
.vw-destination-title-text {
	margin: 0 0 12px;

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 700;

	line-height: 1;

	color: #ffffff;
}

.vw-destination-description {
	max-width: 520px;

	margin: 0 0 18px;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.92);
}

.vw-destination-overlay a {
	display: inline-block;

	padding: 10px 17px;

	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 999px;

	background: rgba(255, 255, 255, 0.10);

	color: #ffffff !important;

	font-weight: 700;

	text-decoration: none !important;

	backdrop-filter: blur(5px);
}

.vw-destination-overlay a:hover {
	background: rgba(255, 255, 255, 0.20);
}


/* =========================================================
   SECONDARY DESTINATIONS
   ========================================================= */

.vw-secondary-destinations {
	display: flex;

	flex-wrap: wrap;

	gap: 12px;

	margin-top: 22px;
}

.vw-secondary-destinations a {
	display: inline-block;

	padding: 10px 16px;

	border: 1px solid var(--vw-border);
	border-radius: 999px;

	background: rgba(255, 255, 255, 0.72);

	color: var(--vw-navy) !important;

	font-weight: 700;

	text-decoration: none !important;
}

.vw-secondary-destinations a:hover {
	background: #ffffff;
}


/* =========================================================
   EXPLORE VIRGINIA FEATURE CARDS
   ========================================================= */

.vw-feature-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 22px;
}

.vw-feature {
	padding: 30px;

	border: 1px solid var(--vw-border);
	border-radius: 22px;

	background: rgba(255, 255, 255, 0.83);

	box-shadow: 0 10px 26px rgba(19, 43, 60, 0.07);
}

.vw-feature h3 {
	margin: 0 0 10px;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.65rem;

	color: var(--vw-navy);
}

.vw-feature p {
	margin: 0 0 15px;

	line-height: 1.6;

	color: var(--vw-muted);
}

.vw-feature a {
	color: var(--vw-blue) !important;

	font-weight: 700;
}


/* =========================================================
   START EXPLORING
   ========================================================= */

.vw-home-bottom {
	margin-top: 78px;

	padding: 54px;

	border-radius: 28px;

	background:
		linear-gradient(
			135deg,
			#0b2f4f 0%,
			#194b67 55%,
			#466b60 100%
		);

	color: #ffffff;

	box-shadow: var(--vw-shadow);
}

.vw-bottom-title {
	margin: 0 0 14px;

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4vw, 3.5rem);

	font-weight: 700;

	color: #ffffff;
}

.vw-bottom-text {
	max-width: 850px;

	margin: 0;

	font-size: 1.08rem;
	line-height: 1.65;

	color: rgba(255, 255, 255, 0.90);
}

.vw-home-bottom a {
	color: #ffffff !important;
}


/* =========================================================
   PLACE PAGES — HIDE DEFAULT PAGE TITLES
   ========================================================= */

body.page-Williamsburg_Virginia .mw-first-heading,
body.page-Williamsburg_Virginia #firstHeading,

body.page-Jamestown_Virginia .mw-first-heading,
body.page-Jamestown_Virginia #firstHeading,

body.page-Yorktown_Virginia .mw-first-heading,
body.page-Yorktown_Virginia #firstHeading {
	display: none !important;
}


/* =========================================================
   PLACE HERO
   ========================================================= */

.vw-place-hero {
	position: relative;

	width: 100%;
	min-height: 560px;

	overflow: hidden;

	margin-bottom: 28px;

	border-radius: 28px;

	background: var(--vw-navy);

	box-shadow: var(--vw-shadow);
}

.vw-place-hero-image {
	position: absolute;

	inset: 0;
}

.vw-place-hero-image a {
	display: block;

	width: 100%;
	height: 100%;
}

.vw-place-hero-image .mw-file-element,
.vw-place-hero-image img {
	width: 100% !important;
	height: 100% !important;

	object-fit: cover;
}

.vw-place-hero::after {
	content: "";

	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 44, 0.08) 0%,
			rgba(6, 27, 44, 0.25) 35%,
			rgba(6, 27, 44, 0.88) 100%
		);
}

.vw-place-hero-overlay {
	position: absolute;

	z-index: 3;

	left: 6%;
	right: 6%;
	bottom: 8%;

	color: #ffffff;
}

.vw-place-kicker {
	margin-bottom: 12px;

	font-size: 0.83rem;
	font-weight: 800;

	letter-spacing: 0.14em;

	text-transform: uppercase;

	color: rgba(255, 255, 255, 0.92);
}

.vw-place-title {
	max-width: 1050px;

	font-family: Georgia, "Times New Roman", serif;

	font-size: clamp(4rem, 8vw, 7rem);

	font-weight: 700;

	line-height: 0.9;

	letter-spacing: -0.035em;

	color: #ffffff;
}

.vw-place-summary {
	max-width: 920px;

	margin-top: 20px;

	font-size: clamp(1.15rem, 2vw, 1.45rem);

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.96);
}


/* =========================================================
   PLACE QUICK FACTS
   ========================================================= */

.vw-place-quickfacts {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 14px;

	margin: 0 0 38px;
}

.vw-place-quickfacts > div {
	padding: 20px 22px;

	border: 1px solid var(--vw-border);

	border-radius: 16px;

	background: rgba(255, 255, 255, 0.84);

	box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);

	line-height: 1.45;
}

.vw-place-quickfacts strong,
.vw-place-quickfacts b {
	color: var(--vw-navy);
}


/* =========================================================
   PLACE INTRO
   ========================================================= */

.vw-place-intro {
	max-width: 1040px;

	margin: 0 auto 50px;

	padding: 30px 34px;

	border-left: 5px solid var(--vw-green);

	border-radius: 0 18px 18px 0;

	background: rgba(255, 255, 255, 0.68);

	font-size: 1.12rem;

	line-height: 1.75;
}


/* =========================================================
   PLACE HEADINGS
   ========================================================= */

.vw-place h2 {
	margin-top: 58px;

	padding-bottom: 10px;

	border-bottom: 1px solid var(--vw-border);

	font-family: Georgia, "Times New Roman", serif;

	font-size: clamp(2rem, 3vw, 2.65rem);

	color: var(--vw-navy);
}

.vw-place h3 {
	font-family: Georgia, "Times New Roman", serif;

	color: var(--vw-navy);
}


/* =========================================================
   PLACE CARDS
   ========================================================= */

.vw-place-card-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 20px;

	margin: 28px 0 42px;
}

.vw-place-card {
	padding: 27px;

	border: 1px solid var(--vw-border);

	border-radius: 18px;

	background: rgba(255, 255, 255, 0.83);

	box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
}

.vw-place-card h3 {
	margin: 0 0 10px;

	font-size: 1.45rem;
}

.vw-place-card h3 a {
	color: var(--vw-navy) !important;

	text-decoration: none !important;
}

.vw-place-card h3 a:hover {
	color: var(--vw-blue) !important;
}

.vw-place-card p {
	margin-bottom: 0;
}


/* =========================================================
   PLACE EXPLORE / NEARBY GRID
   ========================================================= */

.vw-place-explore-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 18px;

	margin: 25px 0 42px;
}

.vw-place-explore-grid > div {
	padding: 23px 25px;

	border: 1px solid var(--vw-border);

	border-radius: 17px;

	background: rgba(255, 255, 255, 0.82);

	box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);
}

.vw-place-explore-grid a {
	color: var(--vw-navy) !important;

	font-size: 1.08rem;

	text-decoration: none !important;
}


/* =========================================================
   ATTRACTION PAGES — HIDE DEFAULT PAGE TITLES
   ========================================================= */

body.page-Colonial_Williamsburg .mw-first-heading,
body.page-Colonial_Williamsburg #firstHeading,

body.page-Busch_Gardens_Williamsburg .mw-first-heading,
body.page-Busch_Gardens_Williamsburg #firstHeading,

body.page-Historic_Jamestowne .mw-first-heading,
body.page-Historic_Jamestowne #firstHeading,

body.page-Jamestown_Settlement .mw-first-heading,
body.page-Jamestown_Settlement #firstHeading,

body.page-American_Revolution_Museum_at_Yorktown .mw-first-heading,
body.page-American_Revolution_Museum_at_Yorktown #firstHeading {
	display: none !important;
}


/* =========================================================
   ATTRACTION HERO
   ========================================================= */

.vw-attraction-hero {
	position: relative;

	width: 100%;

	min-height: 560px;

	overflow: hidden;

	margin-bottom: 28px;

	border-radius: 28px;

	background: var(--vw-navy);

	box-shadow: var(--vw-shadow);
}

.vw-attraction-hero-image {
	position: absolute;

	inset: 0;
}

.vw-attraction-hero-image a {
	display: block;

	width: 100%;
	height: 100%;
}

.vw-attraction-hero-image .mw-file-element,
.vw-attraction-hero-image img {
	width: 100% !important;
	height: 100% !important;

	object-fit: cover;
}

.vw-attraction-hero::after {
	content: "";

	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			180deg,
			rgba(5, 21, 35, 0.08) 0%,
			rgba(5, 21, 35, 0.27) 34%,
			rgba(5, 21, 35, 0.93) 100%
		);
}

.vw-attraction-hero-overlay {
	position: absolute;

	z-index: 3;

	left: 6%;
	right: 6%;
	bottom: 8%;

	color: #ffffff;
}

.vw-attraction-kicker {
	margin-bottom: 12px;

	font-size: 0.83rem;

	font-weight: 800;

	letter-spacing: 0.14em;

	text-transform: uppercase;

	color: rgba(255, 255, 255, 0.92);
}

.vw-attraction-title {
	max-width: 1120px;

	font-family: Georgia, "Times New Roman", serif;

	font-size: clamp(4rem, 8vw, 7rem);

	font-weight: 700;

	line-height: 0.9;

	letter-spacing: -0.035em;

	color: #ffffff;
}

.vw-attraction-summary {
	max-width: 980px;

	margin-top: 20px;

	font-size: clamp(1.12rem, 2vw, 1.45rem);

	line-height: 1.52;

	color: rgba(255, 255, 255, 0.96);
}


/* =========================================================
   ATTRACTION QUICK FACTS
   ========================================================= */

.vw-attraction-quickfacts {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 14px;

	margin: 0 0 38px;
}

.vw-attraction-quickfacts > div {
	padding: 20px 22px;

	border: 1px solid var(--vw-border);

	border-radius: 16px;

	background: rgba(255, 255, 255, 0.84);

	box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);

	line-height: 1.45;
}

.vw-attraction-quickfacts strong,
.vw-attraction-quickfacts b {
	color: var(--vw-navy);
}


/* =========================================================
   ATTRACTION INTRO
   ========================================================= */

.vw-attraction-intro {
	max-width: 1040px;

	margin: 0 auto 50px;

	padding: 30px 34px;

	border-left: 5px solid var(--vw-blue);

	border-radius: 0 18px 18px 0;

	background: rgba(255, 255, 255, 0.68);

	font-size: 1.12rem;

	line-height: 1.75;
}


/* =========================================================
   ATTRACTION HEADINGS
   ========================================================= */

.vw-attraction h2 {
	margin-top: 58px;

	padding-bottom: 10px;

	border-bottom: 1px solid var(--vw-border);

	font-family: Georgia, "Times New Roman", serif;

	font-size: clamp(2rem, 3vw, 2.65rem);

	color: var(--vw-navy);
}

.vw-attraction h3 {
	font-family: Georgia, "Times New Roman", serif;

	color: var(--vw-navy);
}


/* =========================================================
   ATTRACTION CARDS
   ========================================================= */

.vw-attraction-card-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 20px;

	margin: 28px 0 42px;
}

.vw-attraction-card {
	padding: 27px;

	border: 1px solid var(--vw-border);

	border-radius: 18px;

	background: rgba(255, 255, 255, 0.83);

	box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
}

.vw-attraction-card h3 {
	margin: 0 0 10px;

	font-size: 1.45rem;
}

.vw-attraction-card h3 a {
	color: var(--vw-navy) !important;

	text-decoration: none !important;
}

.vw-attraction-card h3 a:hover {
	color: var(--vw-blue) !important;
}

.vw-attraction-card p {
	margin-bottom: 0;
}


/* =========================================================
   VISIT / PLANNING GRID
   ========================================================= */

.vw-visit-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 18px;

	margin: 27px 0 42px;
}

.vw-visit-grid > div {
	padding: 23px 25px;

	border: 1px solid var(--vw-border);

	border-radius: 17px;

	background: rgba(246, 242, 231, 0.75);

	box-shadow: 0 7px 20px rgba(17, 44, 64, 0.05);

	line-height: 1.58;
}

.vw-visit-grid strong,
.vw-visit-grid b {
	color: var(--vw-navy);

	font-size: 1.04rem;
}


/* =========================================================
   ATTRACTION NEARBY GRID
   ========================================================= */

.vw-attraction-nearby-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 18px;

	margin: 25px 0 42px;
}

.vw-attraction-nearby-grid > div {
	padding: 23px 24px;

	border: 1px solid var(--vw-border);

	border-radius: 17px;

	background: rgba(255, 255, 255, 0.82);

	box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);

	line-height: 1.55;
}

.vw-attraction-nearby-grid a {
	color: var(--vw-navy) !important;

	font-size: 1.07rem;

	text-decoration: none !important;
}


/* =========================================================
   TABLES
   ========================================================= */

.vw-place .wikitable,
.vw-attraction .wikitable {
	width: 100%;

	margin: 24px 0 36px;

	border: 1px solid var(--vw-border);

	border-collapse: separate;

	border-spacing: 0;

	overflow: hidden;

	border-radius: 14px;

	background: rgba(255, 255, 255, 0.80);

	box-shadow: 0 6px 18px rgba(17, 44, 64, 0.045);
}

.vw-place .wikitable th,
.vw-attraction .wikitable th {
	padding: 14px 16px;

	border: 0;

	border-bottom: 1px solid rgba(255, 255, 255, 0.20);

	background: var(--vw-navy);

	color: #ffffff;

	text-align: left;
}

.vw-place .wikitable td,
.vw-attraction .wikitable td {
	padding: 13px 16px;

	border: 0;

	border-bottom: 1px solid var(--vw-border);

	vertical-align: top;
}

.vw-place .wikitable tr:last-child td,
.vw-attraction .wikitable tr:last-child td {
	border-bottom: 0;
}


/* =========================================================
   REFERENCES
   ========================================================= */

.vw-place .references,
.vw-attraction .references {
	font-size: 0.92rem;

	line-height: 1.5;

	color: #4d5963;
}

.vw-place .references li,
.vw-attraction .references li {
	margin-bottom: 8px;
}


/* =========================================================
   LINKS
   ========================================================= */

.vw-place a,
.vw-attraction a {
	text-underline-offset: 2px;
}

.vw-place a.new,
.vw-attraction a.new {
	color: #a34242;
}


/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 1000px) {

	.vw-hero {
		min-height: 560px;

		padding: 85px 60px 110px;
	}

	.vw-card-grid,
	.vw-photo-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vw-feature-grid {
		grid-template-columns: 1fr;
	}

	.vw-place-quickfacts,
	.vw-attraction-quickfacts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vw-attraction-nearby-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vw-place-hero,
	.vw-attraction-hero {
		min-height: 510px;
	}
}


/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 700px) {

	.vw-hero {
		min-height: 520px;

		padding: 65px 28px 100px;

		border-radius: 20px;
	}

	.vw-hero-title {
		font-size: clamp(3.4rem, 17vw, 5.1rem);
	}

	.vw-hero-subtitle {
		font-size: 1.1rem;
	}

	.vw-search form {
		flex-direction: column;

		gap: 10px;
	}

	.vw-search input[type="submit"],
	.vw-search .mw-ui-button {
		width: 100%;
	}

	.vw-card-grid,
	.vw-photo-card-grid,
	.vw-destination-grid,
	.vw-feature-grid,
	.vw-place-card-grid,
	.vw-place-explore-grid,
	.vw-attraction-card-grid,
	.vw-visit-grid,
	.vw-attraction-nearby-grid {
		grid-template-columns: 1fr;
	}

	.vw-photo-card {
		min-height: 270px;
	}

	.vw-destination-card {
		min-height: 360px;
	}

	.vw-home-bottom {
		padding: 34px 26px;

		border-radius: 20px;
	}

	.vw-place-hero,
	.vw-attraction-hero {
		min-height: 500px;

		border-radius: 20px;
	}

	.vw-place-hero-overlay,
	.vw-attraction-hero-overlay {
		left: 7%;
		right: 7%;
		bottom: 7%;
	}

	.vw-place-title,
	.vw-attraction-title {
		font-size: clamp(3rem, 15vw, 4.6rem);

		line-height: 0.92;
	}

	.vw-place-summary,
	.vw-attraction-summary {
		margin-top: 16px;

		font-size: 1.06rem;

		line-height: 1.45;
	}

	.vw-place-quickfacts,
	.vw-attraction-quickfacts {
		grid-template-columns: 1fr;
	}

	.vw-place-intro,
	.vw-attraction-intro {
		padding: 24px;

		font-size: 1.04rem;
	}

	.vw-place h2,
	.vw-attraction h2 {
		margin-top: 46px;

		font-size: 2rem;
	}

	.vw-place-card,
	.vw-attraction-card {
		padding: 23px;
	}

	.vw-place .wikitable,
	.vw-attraction .wikitable {
		display: block;

		overflow-x: auto;

		white-space: normal;
	}
}


/* =========================================================
   VERY SMALL SCREENS
   ========================================================= */

@media (max-width: 430px) {

	.vw-hero {
		padding-left: 22px;
		padding-right: 22px;
	}

	.vw-hero-title {
		font-size: 3.3rem;
	}

	.vw-place-title,
	.vw-attraction-title {
		font-size: 2.85rem;
	}

	.vw-place-hero,
	.vw-attraction-hero {
		min-height: 470px;
	}

	.vw-place-summary,
	.vw-attraction-summary {
		font-size: 1rem;
	}
}
/* =========================================================
   FIX — POPULAR DESTINATIONS GRID
   ========================================================= */

/* MediaWiki may insert paragraph elements between block
   elements; don't let those become CSS-grid items. */
.vw-destination-grid > p {
	display: none !important;
}

/* Let each destination card participate normally in
   the two-column grid. */
.vw-destination-grid > .vw-destination-card {
	grid-column: auto !important;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

/* Reassert the intended grid layout. */
.vw-destination-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	grid-auto-flow: row !important;
}

@media (max-width: 700px) {
	.vw-destination-grid {
		grid-template-columns: 1fr !important;
	}
}