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
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* =========================================================
/* =========================================================
   VIRGINIA.WIKI
   VIRGINIA.WIKI — COMPLETE SITE STYLES
   Main Page / Citizen Skin Styling
   Homepage + Places + Attractions
   ========================================================= */
   ========================================================= */




/* =========================================================
/* =========================================================
   GLOBAL HOMEPAGE VARIABLES
   SHARED VARIABLES
   ========================================================= */
   ========================================================= */


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


max-width: 1380px;
box-sizing: border-box;
color: var(--vw-text);
}
 
.vw-home *,
.vw-place *,
.vw-attraction * {
box-sizing: border-box;
}
 
.vw-home,
.vw-place,
.vw-attraction {
width: 100%;
max-width: 1320px;
margin: 0 auto;
margin: 0 auto;
color: var(--vw-text);
}
 
.vw-home img,
.vw-place img,
.vw-attraction img {
max-width: 100%;
}
}




/* =========================================================
/* =========================================================
   MAIN PAGE CLEANUP
   MAIN PAGE
   ========================================================= */
   ========================================================= */
/* Hide normal MediaWiki page title on Main Page */


body.page-Main_Page .mw-first-heading,
body.page-Main_Page .mw-first-heading,
body.page-Main_Page #firstHeading {
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;
display: none !important;
}
}
Line 46: Line 58:


/* =========================================================
/* =========================================================
   HERO
   HOMEPAGE HERO
   ========================================================= */
   ========================================================= */


Line 52: Line 64:
position: relative;
position: relative;
overflow: hidden;
overflow: hidden;
 
min-height: 610px;
display: flex;
padding: 105px 95px 120px;
align-items: center;
 
min-height: 430px;
 
padding: clamp(3rem, 7vw, 6.5rem);
margin: 0 0 4.5rem;
 
border-radius: 30px;
border-radius: 30px;
color: #ffffff;


background:
background:
radial-gradient(
radial-gradient(
circle at 82% 18%,
circle at 83% 20%,
rgba(255, 214, 132, .55),
rgba(224, 214, 154, 0.42),
transparent 18%
transparent 24%
),
),
linear-gradient(
linear-gradient(
135deg,
120deg,
#092943 0%,
#0b3552 0%,
#356d8b 58%,
#245f7d 55%,
#657d64 100%
#608478 100%
);
);


box-shadow:
box-shadow: 0 24px 60px rgba(15, 44, 62, 0.19);
0 22px 60px rgba(11, 47, 79, .20);
color: #fff;
}
}


 
.vw-hero::before,
/* Background mountain layer */
.vw-hero::after {
 
.vw-hero::before {
content: "";
content: "";
position: absolute;
position: absolute;
left: -5%;
left: -5%;
right: -5%;
right: -5%;
bottom: -2%;
bottom: -1px;
pointer-events: none;
}


height: 42%;
.vw-hero::before {
 
height: 185px;
background: rgba(17, 57, 78, .48);
background: #174965;


clip-path: polygon(
clip-path: polygon(
0 70%,
0 70%,
10% 48%,
10% 34%,
20% 60%,
20% 62%,
32% 28%,
31% 0,
43% 62%,
42% 72%,
55% 38%,
53% 33%,
66% 61%,
64% 74%,
77% 35%,
76% 10%,
89% 58%,
87% 67%,
100% 37%,
100% 24%,
100% 100%,
100% 100%,
0 100%
0 100%
);
);
opacity: 0.77;
}
}
/* Foreground mountain layer */


.vw-hero::after {
.vw-hero::after {
content: "";
height: 115px;
 
background: #174f59;
position: absolute;
 
left: -5%;
right: -5%;
bottom: -8%;
 
height: 33%;
 
background: rgba(24, 75, 78, .48);


clip-path: polygon(
clip-path: polygon(
0 60%,
0 65%,
14% 37%,
12% 10%,
28% 67%,
24% 78%,
44% 29%,
39% 0,
58% 57%,
54% 70%,
73% 31%,
68% 15%,
87% 59%,
83% 72%,
100% 42%,
100% 25%,
100% 100%,
100% 100%,
0 100%
0 100%
);
);
opacity: 0.96;
}
}


.vw-hero-inner {
.vw-hero-inner {
position: relative;
position: relative;
z-index: 2;
z-index: 3;
 
max-width: 900px;
max-width: 850px;
}
}


.vw-eyebrow {
.vw-eyebrow {
margin-bottom: .9rem;
margin-bottom: 20px;
 
font-size: 0.9rem;
font-size: .83rem;
font-weight: 800;
font-weight: 800;
letter-spacing: .19em;
letter-spacing: 0.17em;
 
text-transform: uppercase;
text-transform: uppercase;
 
color: #fff;
color: rgba(255, 255, 255, .92);
}
}


.vw-hero-title {
.vw-hero-title {
margin: 0;
margin: 0;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
 
font-size: clamp(4.5rem, 9vw, 7.6rem);
font-size: clamp(3.7rem, 8vw, 7rem);
font-weight: 700;
font-weight: 700;
 
line-height: 0.86;
line-height: .94;
letter-spacing: -0.045em;
letter-spacing: -.045em;
color: #fff;
 
color: #ffffff;
}
}


.vw-hero-subtitle {
.vw-hero-subtitle {
max-width: 780px;
max-width: 870px;
 
margin-top: 32px;
margin-top: 1.55rem;
font-size: clamp(1.25rem, 2vw, 1.65rem);
 
line-height: 1.5;
font-size: clamp(1.05rem, 2vw, 1.35rem);
color: #fff;
line-height: 1.6;
 
color: rgba(255, 255, 255, .96);
}
}




/* =========================================================
/* =========================================================
   HERO SEARCH
   HOMEPAGE SEARCH
   ========================================================= */
   ========================================================= */


.vw-search {
.vw-search {
position: relative;
position: relative;
z-index: 3;
z-index: 5;
 
max-width: 760px;
max-width: 700px;
margin-top: 38px;
 
margin-top: 2.2rem;
}
}


.vw-search .mw-inputbox-centered {
.vw-search .mw-inputbox-centered {
text-align: left !important;
width: 100%;
text-align: left;
}
}


.vw-search form {
.vw-search form {
display: flex;
display: flex;
align-items: stretch;
align-items: stretch;
 
gap: 14px;
width: 100%;
margin: 0;
 
gap: .7rem;
}
}


 
.vw-search input[type="text"],
.vw-search input[type="text"] {
.vw-search .mw-inputbox-input {
flex: 1;
flex: 1;
min-width: 0;
min-width: 0;
height: 58px;
height: 52px;
 
padding: 0 16px;
box-sizing: border-box;
border: 1px solid rgba(255, 255, 255, 0.55);
 
border-radius: 5px;
padding: 0 1.25rem;
background: rgba(255, 255, 255, 0.94);
 
border: 1px solid rgba(255, 255, 255, .45);
border-radius: 14px;
 
background: rgba(255, 255, 255, .96);
 
color: #172535;
 
font-size: 1.05rem;
font-size: 1.05rem;
 
color: var(--vw-text);
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 input[type="submit"],
.vw-search button {
.vw-search .mw-ui-button {
min-height: 58px;
min-width: 120px;
 
height: 52px;
padding: 0 1.7rem;
padding: 0 24px;
 
border: 0 !important;
border: 0 !important;
border-radius: 14px !important;
border-radius: 15px !important;
 
background: #fff !important;
background: #ffffff !important;
 
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
 
font-weight: 800 !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;
}
}


Line 287: Line 225:


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


.vw-home-section > h2 {
.vw-home-section > h2 {
margin: 0 0 1.9rem;
margin: 0 0 28px;
padding: 0;
padding: 0;
border: 0;
border: 0;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
 
font-size: clamp(2.2rem, 4vw, 3.3rem);
font-size: clamp(2.1rem, 4vw, 3.15rem);
line-height: 1.05;
 
line-height: 1.08;
 
color: var(--vw-navy);
color: var(--vw-navy);
}
}
Line 308: Line 240:


/* =========================================================
/* =========================================================
   BASIC CARD GRID
   DISCOVER VIRGINIA CARDS
   ========================================================= */
   ========================================================= */


.vw-card-grid {
.vw-photo-card-grid {
display: grid;
display: grid !important;
 
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
grid-template-columns:
gap: 22px;
repeat(4, minmax(0, 1fr));
width: 100%;
 
gap: 1.2rem;
 
align-items: stretch;
}
}


 
.vw-photo-card-grid > p {
.vw-card-grid > .vw-card {
display: none !important;
min-width: 0;
width: auto;
}
}


 
.vw-photo-card {
.vw-card {
position: relative;
min-width: 0;
min-width: 0;
min-height: 180px;
min-height: 300px;
 
overflow: hidden;
padding: 1.7rem;
 
border: 1px solid rgba(11, 47, 79, .10);
border-radius: 22px;
border-radius: 22px;
background: var(--vw-navy);
box-shadow: var(--vw-shadow);
}


background: rgba(255, 255, 255, .82);
.vw-card-image {
position: absolute;
inset: 0;
}


box-shadow:
.vw-card-image a,
0 8px 28px rgba(11, 47, 79, .07);
.vw-card-image span {
display: block;
width: 100%;
height: 100%;
}


transition:
.vw-card-image img,
transform .18s ease,
.vw-card-image .mw-file-element {
box-shadow .18s ease,
position: absolute;
border-color .18s ease;
inset: 0;
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
}
}


.vw-photo-card::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;


.vw-card:hover {
background:
transform: translateY(-5px);
linear-gradient(
180deg,
rgba(5, 26, 43, 0.03) 15%,
rgba(5, 26, 43, 0.78) 100%
);
}


border-color: rgba(11, 47, 79, .20);
.vw-card-content {
 
position: absolute;
box-shadow:
z-index: 3;
0 16px 35px rgba(11, 47, 79, .13);
left: 24px;
right: 24px;
bottom: 22px;
color: #fff;
}
}


 
.vw-card-content h3 {
.vw-card h3 {
margin: 0 0 6px;
margin: 0 0 .9rem;
 
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.7rem;
color: #fff;
}


font-size: 1.6rem;
.vw-card-content h3 a {
color: #fff !important;
text-decoration: none !important;
}


color: var(--vw-navy);
.vw-card-content p {
margin: 0;
line-height: 1.45;
color: rgba(255, 255, 255, 0.92);
}
}




/* =========================================================
/* =========================================================
   PHOTOGRAPHIC DISCOVERY CARDS
   POPULAR DESTINATIONS
   ========================================================= */
   ========================================================= */


.vw-photo-card-grid {
.vw-destination-grid {
display: grid !important;
display: grid !important;
 
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
grid-template-columns:
gap: 24px !important;
repeat(4, minmax(0, 1fr)) !important;
width: 100%;
 
gap: 1.2rem !important;
 
align-items: stretch;
}
}


 
.vw-destination-grid > p {
.vw-photo-card-grid > .vw-photo-card {
display: none !important;
min-width: 0;
width: auto;
}
}


 
.vw-destination-card {
.vw-photo-card {
position: relative;
display: flex;
flex-direction: column;
 
min-width: 0;
min-width: 0;
min-height: 400px;
width: 100%;
 
min-height: 420px;
padding: 0 !important;
 
overflow: hidden;
overflow: hidden;
margin: 0 !important;
border-radius: 25px;
background: var(--vw-navy);
box-shadow: var(--vw-shadow);
}


border-radius: 22px;
.vw-destination-image {
 
position: absolute;
background: #ffffff;
inset: 0;
}
}


 
.vw-destination-image a,
/* Image container */
.vw-destination-image span {
 
.vw-card-image {
display: block;
display: block;
width: 100%;
width: 100%;
height: 200px;
height: 100%;
 
margin: 0;
padding: 0;
 
overflow: hidden;
 
background: var(--vw-sky);
 
line-height: 0;
}
}


 
.vw-destination-image img,
/*
.vw-destination-image .mw-file-element {
  MediaWiki wraps images inside links/spans.
position: absolute;
  Force all wrappers to remain inside the card.
inset: 0;
*/
 
.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;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
height: 100% !important;
 
max-width: none !important;
margin: 0 !important;
object-fit: cover;
padding: 0 !important;
}
}


.vw-destination-card::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;


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


.vw-card-image img,
.vw-destination-overlay {
.vw-card-image .mw-file-element {
position: absolute;
display: block !important;
z-index: 3;
left: 34px;
right: 34px;
bottom: 32px;
color: #fff;
}


width: 100% !important;
.vw-destination-title {
max-width: 100% !important;
margin: 0 0 12px;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.5rem, 4vw, 3.5rem);
font-weight: 700;
line-height: 0.98;
color: #fff;
}


height: 200px !important;
.vw-destination-description {
max-width: 520px;
margin-bottom: 18px;
font-size: 1.06rem;
line-height: 1.55;
color: rgba(255, 255, 255, 0.94);
}


margin: 0 !important;
.vw-destination-cta a {
padding: 0 !important;
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: #fff !important;
font-weight: 700;
text-decoration: none !important;
}


object-fit: cover !important;
.vw-destination-cta a:hover {
object-position: center !important;
background: rgba(255, 255, 255, 0.20);
}
}




/* Card body */
/* =========================================================
  SECONDARY DESTINATIONS
  ========================================================= */


.vw-card-content {
.vw-secondary-destinations {
display: flex;
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex: 1;
gap: 12px;
margin-top: 22px;
}


min-width: 0;
.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;
}


padding: 1.45rem 1.55rem 1.55rem;


line-height: 1.6;
/* =========================================================
  EXPLORE VIRGINIA FEATURES
  ========================================================= */
 
.vw-feature-grid {
display: grid !important;
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
gap: 22px;
}
}


.vw-feature-grid > p {
display: none !important;
}


.vw-card-content h3 {
.vw-feature {
margin: 0 0 .75rem;
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-family: Georgia, "Times New Roman", serif;
font-size: 1.65rem;
color: var(--vw-navy);
}


font-size: 1.6rem;
.vw-feature p {
margin: 0 0 15px;
line-height: 1.6;
color: var(--vw-muted);
}


color: var(--vw-navy);
.vw-feature a {
color: var(--vw-blue) !important;
font-weight: 700;
}
}




/* Card heading links */
/* =========================================================
  START EXPLORING
  ========================================================= */


.vw-card-content h3 a,
.vw-home-bottom {
.vw-card-content h3 a.new {
margin-top: 78px;
color: var(--vw-navy) !important;
padding: 54px;
border-radius: 28px;
 
background:
linear-gradient(
135deg,
#0b2f4f 0%,
#194b67 55%,
#466b60 100%
);


text-decoration: none !important;
color: #fff;
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: #fff;
}


.vw-card-content h3 a:hover {
.vw-bottom-text {
text-decoration: underline !important;
max-width: 850px;
font-size: 1.08rem;
line-height: 1.65;
color: rgba(255, 255, 255, 0.90);
}
}




/* Bottom card CTA */
/* =========================================================
  PLACE PAGES
  ========================================================= */


.vw-card-link {
body.page-Williamsburg_Virginia .mw-first-heading,
margin-top: auto;
body.page-Williamsburg_Virginia #firstHeading,
padding-top: 1.2rem;
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;
}


font-size: .93rem;
.vw-place p {
font-weight: 800;
line-height: 1.72;
}
 
.vw-place li {
line-height: 1.65;
}
}




.vw-card-link a,
/* PLACE HERO */
.vw-card-link a.new {
color: var(--vw-blue) !important;


text-decoration: none !important;
.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-card-link a:hover {
.vw-place-hero-image a,
text-decoration: underline !important;
.vw-place-hero-image span {
display: block;
width: 100%;
height: 100%;
}
}


.vw-place-hero-image img,
.vw-place-hero-image .mw-file-element {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
}


/* =========================================================
.vw-place-hero::after {
  RED LINK OVERRIDE ON HOMEPAGE
content: "";
  ========================================================= */
position: absolute;
inset: 0;


/*
background:
  Pages we haven't created yet normally appear red.
linear-gradient(
  On the homepage we want them to look intentional.
180deg,
*/
rgba(6, 27, 44, 0.08) 0%,
rgba(6, 27, 44, 0.25) 35%,
rgba(6, 27, 44, 0.88) 100%
);
}


body.page-Main_Page .vw-home a.new {
.vw-place-hero-overlay {
color: var(--vw-navy) !important;
position: absolute;
z-index: 3;
left: 6%;
right: 6%;
bottom: 8%;
color: #fff;
}


text-decoration: none !important;
.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 {
body.page-Main_Page .vw-home a.new:hover {
max-width: 1050px;
text-decoration: underline !important;
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: #fff;
}
}


 
.vw-place-summary {
body.page-Main_Page .vw-card-link a.new {
max-width: 920px;
color: var(--vw-blue) !important;
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 */
  POPULAR DESTINATIONS
  ========================================================= */


.vw-link-grid ul {
.vw-place-quickfacts {
display: grid;
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
margin: 0 0 38px;
}


grid-template-columns:
.vw-place-quickfacts > div {
repeat(4, minmax(0, 1fr));
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;
}


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


margin: 0;
padding: 0;


list-style: none;
/* PLACE INTRO */
}


 
.vw-place-intro {
.vw-link-grid li {
max-width: 1040px;
margin: 0;
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;
}
}




.vw-link-grid a {
/* PLACE HEADINGS */
display: block;


padding: 1.1rem 1.2rem;
.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);
}


border: 1px solid rgba(11, 47, 79, .11);
.vw-place h3 {
border-radius: 15px;
font-family: Georgia, "Times New Roman", serif;
color: var(--vw-navy);
}


background: rgba(255, 255, 255, .82);


color: var(--vw-navy) !important;
/* PLACE CARDS */


font-weight: 700;
.vw-place-card-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin: 28px 0 42px;
}


text-decoration: none !important;
.vw-place-card-grid > p {
display: none !important;
}


box-shadow:
.vw-place-card {
0 4px 14px rgba(11, 47, 79, .04);
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);
}


transition:
.vw-place-card h3 {
transform .18s ease,
margin: 0 0 10px;
background .18s ease,
font-size: 1.45rem;
box-shadow .18s ease;
}
}


 
.vw-place-card h3 a {
.vw-link-grid a.new {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
text-decoration: none !important;
}
}




.vw-link-grid a:hover {
/* PLACE EXPLORE */
transform: translateY(-3px);


background: #ffffff;
.vw-place-explore-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin: 25px 0 42px;
}
 
.vw-place-explore-grid > p {
display: none !important;
}


box-shadow:
.vw-place-explore-grid > div {
0 9px 20px rgba(11, 47, 79, .09);
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;
text-decoration: none !important;
}
}
Line 628: Line 756:


/* =========================================================
/* =========================================================
   EXPLORE VIRGINIA FEATURE CARDS
   ATTRACTION PAGES
   ========================================================= */
   ========================================================= */


.vw-feature-grid {
body.page-Colonial_Williamsburg .mw-first-heading,
display: grid !important;
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;
}


grid-template-columns:
.vw-attraction p {
repeat(3, minmax(0, 1fr)) !important;
line-height: 1.72;
}


gap: 1.25rem !important;
.vw-attraction li {
line-height: 1.65;
}


align-items: stretch;
}


/* ATTRACTION HERO */


.vw-feature-grid > .vw-feature {
.vw-attraction-hero {
min-width: 0;
position: relative;
width: auto;
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-feature {
.vw-attraction-hero-image a,
min-width: 0;
.vw-attraction-hero-image span {
min-height: 185px;
display: block;
width: 100%;
height: 100%;
}


margin: 0 !important;
.vw-attraction-hero-image img,
.vw-attraction-hero-image .mw-file-element {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
}


padding: 1.9rem;
.vw-attraction-hero::after {
 
content: "";
border: 1px solid rgba(11, 47, 79, .08);
position: absolute;
border-radius: 23px;
inset: 0;


background:
background:
linear-gradient(
linear-gradient(
145deg,
180deg,
rgba(220, 234, 242, .92),
rgba(5, 21, 35, 0.08) 0%,
rgba(246, 242, 231, .92)
rgba(5, 21, 35, 0.27) 34%,
rgba(5, 21, 35, 0.93) 100%
);
);
}


line-height: 1.6;
.vw-attraction-hero-overlay {
position: absolute;
z-index: 3;
left: 6%;
right: 6%;
bottom: 8%;
color: #fff;
}
 
.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: #fff;
}
}


.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);
}


.vw-feature h3 {
margin: 0 0 .85rem;


font-family: Georgia, "Times New Roman", serif;
/* ATTRACTION QUICK FACTS */


font-size: 1.6rem;
.vw-attraction-quickfacts {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
margin: 0 0 38px;
}


color: var(--vw-navy);
.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-feature h3 a,
/* ATTRACTION INTRO */
.vw-feature h3 a.new {
color: var(--vw-navy) !important;


text-decoration: none !important;
.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;
}
}




.vw-feature h3 a:hover {
/* ATTRACTION HEADINGS */
text-decoration: underline !important;
 
.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);
}


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


.vw-home-bottom {
/* ATTRACTION CARDS */
padding: 2.5rem 2.7rem;


border-radius: 26px;
.vw-attraction-card-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin: 28px 0 42px;
}


background:
.vw-attraction-card-grid > p {
linear-gradient(
display: none !important;
135deg,
}
#092943,
#174a69
);


color: #ffffff !important;
.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);
}


box-shadow:
.vw-attraction-card h3 {
0 16px 38px rgba(11, 47, 79, .16);
margin: 0 0 10px;
font-size: 1.45rem;
}
}


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


.vw-bottom-title {
margin: 0 0 1.25rem;


font-family: Georgia, "Times New Roman", serif;
/* VISIT GRID */


font-size: clamp(2rem, 4vw, 3rem);
.vw-visit-grid {
font-weight: 700;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin: 27px 0 42px;
}


line-height: 1.1;
.vw-visit-grid > p {
display: none !important;
}


color: #ffffff !important;
.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-bottom-text {
/* ATTRACTION NEARBY */
font-size: 1.05rem;


line-height: 1.65;
.vw-attraction-nearby-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
margin: 25px 0 42px;
}


color: #ffffff !important;
.vw-attraction-nearby-grid > p {
display: none !important;
}
}


.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-home-bottom,
.vw-attraction-nearby-grid a {
.vw-home-bottom p,
color: var(--vw-navy) !important;
.vw-home-bottom div,
text-decoration: none !important;
.vw-home-bottom span,
.vw-home-bottom h2,
.vw-home-bottom h3 {
color: #ffffff !important;
}
}




.vw-home-bottom a {
/* =========================================================
color: #ffffff !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);
}
}


.vw-place .wikitable th,
.vw-attraction .wikitable th {
padding: 14px 16px;
border: 0;
background: var(--vw-navy);
color: #fff;
text-align: left;
}


.vw-home-bottom a:hover {
.vw-place .wikitable td,
color: #ffffff !important;
.vw-attraction .wikitable td {
padding: 13px 16px;
border: 0;
border-bottom: 1px solid var(--vw-border);
vertical-align: top;
}
}




/* =========================================================
/* =========================================================
   GENERAL HOMEPAGE TYPOGRAPHY
   REFERENCES
   ========================================================= */
   ========================================================= */


.vw-home p {
.vw-place .references,
line-height: 1.65;
.vw-attraction .references {
font-size: 0.92rem;
line-height: 1.5;
color: #4d5963;
}
}




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


@media (max-width: 1000px) {
@media (max-width: 1000px) {


.vw-card-grid,
.vw-hero {
min-height: 560px;
padding: 85px 60px 110px;
}
 
.vw-photo-card-grid {
.vw-photo-card-grid {
grid-template-columns:
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
repeat(2, minmax(0, 1fr)) !important;
}
}


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


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


 
.vw-place-hero,
.vw-feature-grid {
.vw-attraction-hero {
grid-template-columns:
min-height: 510px;
repeat(3, minmax(0, 1fr)) !important;
}
}
}
}




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


Line 804: Line 1,082:


.vw-hero {
.vw-hero {
min-height: 330px;
min-height: 520px;
 
padding: 65px 28px 100px;
padding: 3rem 1.6rem;
border-radius: 20px;
 
margin-bottom: 3.2rem;
 
border-radius: 22px;
}
}


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


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


.vw-search form {
.vw-search form {
Line 824: Line 1,099:
}
}


.vw-search input[type="text"],
.vw-search input[type="submit"],
.vw-search input[type="submit"],
.vw-search button {
.vw-search .mw-ui-button {
width: 100% !important;
width: 100%;
 
box-sizing: border-box;
}
}


.vw-card-grid,
.vw-photo-card-grid,
.vw-photo-card-grid,
.vw-feature-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 !important;
grid-template-columns: 1fr !important;
}
}


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


.vw-card-image,
.vw-destination-card {
.vw-card-image img,
min-height: 360px;
.vw-card-image .mw-file-element {
height: 230px !important;
}
}


.vw-home-bottom {
padding: 34px 26px;
border-radius: 20px;
}


.vw-photo-card {
.vw-place-hero,
min-height: 0;
.vw-attraction-hero {
min-height: 500px;
border-radius: 20px;
}
}


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


.vw-home-section {
.vw-place-title,
margin: 3.5rem 0;
.vw-attraction-title {
font-size: clamp(3rem, 15vw, 4.6rem);
line-height: 0.92;
}
}


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


.vw-home-bottom {
.vw-place-intro,
padding: 1.8rem;
.vw-attraction-intro {
padding: 24px;
font-size: 1.04rem;
}
}


.vw-place .wikitable,
.vw-attraction .wikitable {
display: block;
overflow-x: auto;
}
}
}




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


@media (max-width: 460px) {
@media (max-width: 430px) {
 
.vw-hero {
padding-left: 22px;
padding-right: 22px;
}


.vw-link-grid ul {
.vw-hero-title {
grid-template-columns: 1fr;
font-size: 3.3rem;
}
 
.vw-place-title,
.vw-attraction-title {
font-size: 2.85rem;
}
}


.vw-place-hero,
.vw-attraction-hero {
min-height: 470px;
}
}
}
/* =========================================================
/* =========================================================
   VIRGINIA.WIKI — POPULAR DESTINATION CARDS
   VIRGINIA.WIKI — HOMEPAGE V2
  Isolated redesign — vw-v2-* only
   ========================================================= */
   ========================================================= */


.vw-destination-grid {
.vw-v2-home {
display: grid;
--v2-navy: #0b2f4f;
grid-template-columns: repeat(2, minmax(0, 1fr));
--v2-navy-deep: #071f35;
gap: 1.3rem;
--v2-blue: #3d7595;
--v2-ocean: #317c9c;
--v2-green: #52705b;
--v2-gold: #c79a49;
--v2-wine: #76505b;
--v2-ink: #132738;
--v2-muted: #5b6872;
--v2-white: #ffffff;
 
width: 100%;
max-width: 1400px;
margin: 0 auto;
color: var(--v2-ink);
}
 
.vw-v2-home * {
box-sizing: border-box;
}
}


/* Ignore parser-generated empty paragraphs */
.vw-v2-home img {
.vw-destination-grid > p,
max-width: 100%;
.vw-secondary-destinations > p {
display: none !important;
}
}


.vw-destination-card {
 
/* =========================================================
  HERO
  ========================================================= */
 
.vw-v2-hero {
position: relative;
position: relative;
min-height: 680px;
overflow: hidden;
overflow: hidden;
border-radius: 30px;
background: var(--v2-navy);
box-shadow: 0 30px 70px rgba(10, 35, 52, 0.22);
}


.vw-v2-hero-image {
position: absolute;
inset: 0;
}
.vw-v2-hero-image a,
.vw-v2-hero-image span {
display: block;
width: 100%;
height: 100%;
}
.vw-v2-hero-image img,
.vw-v2-hero-image .mw-file-element {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
}
.vw-v2-hero-shade {
position: absolute;
inset: 0;
background:
linear-gradient(
90deg,
rgba(4, 25, 43, 0.92) 0%,
rgba(4, 25, 43, 0.70) 45%,
rgba(4, 25, 43, 0.18) 78%,
rgba(4, 25, 43, 0.08) 100%
),
linear-gradient(
0deg,
rgba(4, 25, 43, 0.65) 0%,
transparent 48%
);
}
.vw-v2-hero-content {
position: relative;
z-index: 3;
max-width: 850px;
padding: 90px 72px 70px;
color: #fff;
}
.vw-v2-kicker {
margin-bottom: 18px;
font-size: 0.86rem;
font-weight: 800;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #efd39a;
}
.vw-v2-title {
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(4.8rem, 9vw, 8rem);
font-weight: 700;
line-height: 0.84;
letter-spacing: -0.055em;
color: #fff;
}
.vw-v2-subtitle {
max-width: 760px;
margin-top: 31px;
font-size: clamp(1.2rem, 2vw, 1.55rem);
line-height: 1.55;
color: rgba(255,255,255,0.95);
}
/* HERO SEARCH */
.vw-v2-search {
max-width: 680px;
margin-top: 34px;
}
.vw-v2-search .mw-inputbox-centered {
width: 100%;
text-align: left;
}
.vw-v2-search form {
display: flex;
gap: 10px;
margin: 0;
}
.vw-v2-search input[type="text"],
.vw-v2-search .mw-inputbox-input {
flex: 1;
min-width: 0;
min-width: 0;
height: 340px;
height: 54px;
padding: 0 18px;
border: 0;
border-radius: 9px;
background: rgba(255,255,255,0.96);
font-size: 1rem;
color: var(--v2-ink);
}


border-radius: 24px;
.vw-v2-search input[type="submit"],
.vw-v2-search .mw-ui-button {
height: 54px !important;
padding: 0 25px !important;
border: 0 !important;
border-radius: 9px !important;
background: var(--v2-gold) !important;
color: #17202a !important;
font-weight: 800 !important;
}


background: #0b2f4f;


box-shadow:
/* HERO LINKS */
0 12px 32px rgba(11, 47, 79, .12);


transition:
.vw-v2-hero-links {
transform .2s ease,
display: flex;
box-shadow .2s ease;
flex-wrap: wrap;
gap: 9px;
margin-top: 24px;
}
}


.vw-destination-card:hover {
.vw-v2-hero-links a {
transform: translateY(-5px);
display: inline-block;
padding: 9px 15px;
border: 1px solid rgba(255,255,255,0.32);
border-radius: 999px;
background: rgba(9,35,54,0.32);
color: #fff !important;
font-size: 0.92rem;
font-weight: 650;
text-decoration: none !important;
backdrop-filter: blur(4px);
}


box-shadow:
.vw-v2-hero-links a:hover {
0 20px 42px rgba(11, 47, 79, .20);
background: rgba(255,255,255,0.18);
}
}




/* Photograph */
/* =========================================================
  INTRO
  ========================================================= */


.vw-destination-image {
.vw-v2-intro {
position: absolute;
max-width: 1000px;
inset: 0;
margin: 80px auto 95px;
text-align: center;
}
 
.vw-v2-intro-small {
margin-bottom: 13px;
font-size: 0.82rem;
font-weight: 800;
letter-spacing: 0.16em;
color: var(--v2-green);
}
 
.vw-v2-intro-title {
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.8rem, 5vw, 4.4rem);
font-weight: 700;
line-height: 1.02;
letter-spacing: -0.03em;
color: var(--v2-navy);
}
 
.vw-v2-intro-copy {
max-width: 850px;
margin: 22px auto 0;
font-size: 1.18rem;
line-height: 1.7;
color: var(--v2-muted);
}
 
 
/* =========================================================
  GENERAL SECTION
  ========================================================= */
 
.vw-v2-section {
margin-top: 90px;
}
 
.vw-v2-section-head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 30px;
margin-bottom: 28px;
}
 
.vw-v2-section-kicker {
margin-bottom: 8px;
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.16em;
color: var(--v2-gold);
}
 
.vw-v2-section-title {
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.5rem, 4vw, 3.8rem);
font-weight: 700;
line-height: 1.03;
color: var(--v2-navy);
}
 
.vw-v2-section-note {
max-width: 360px;
color: var(--v2-muted);
line-height: 1.55;
}
 
 
/* =========================================================
  TRIP CARDS
  ========================================================= */
 
.vw-v2-trip-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}


width: 100%;
.vw-v2-trip-grid > p {
height: 100%;
display: none !important;
}


.vw-v2-trip-card {
position: relative;
min-height: 275px;
padding: 28px;
overflow: hidden;
overflow: hidden;
border-radius: 22px;
color: #fff;
box-shadow: 0 15px 36px rgba(10,35,52,0.10);
}


line-height: 0;
.vw-v2-trip-blue {
background: #3e718f;
}
}


.vw-destination-image > span,
.vw-v2-trip-green {
.vw-destination-image .mw-default-size,
background: #52705b;
.vw-destination-image .mw-file-description,
}
.vw-destination-image a {
display: block !important;


width: 100% !important;
.vw-v2-trip-gold {
max-width: 100% !important;
background: #b9893f;
height: 100% !important;
}
 
.vw-v2-trip-navy {
background: #153e5b;
}


margin: 0 !important;
.vw-v2-trip-ocean {
padding: 0 !important;
background: #397f98;
}
}


.vw-destination-image img,
.vw-v2-trip-wine {
.vw-destination-image .mw-file-element {
background: #745461;
display: block !important;
}


width: 100% !important;
.vw-v2-trip-number {
max-width: 100% !important;
font-size: 0.82rem;
height: 100% !important;
font-weight: 800;
letter-spacing: 0.12em;
opacity: 0.72;
}


margin: 0 !important;
.vw-v2-trip-title {
padding: 0 !important;
margin-top: 45px;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.8rem;
font-weight: 700;
line-height: 1.05;
}


object-fit: cover !important;
.vw-v2-trip-text {
object-position: center !important;
margin-top: 11px;
line-height: 1.55;
color: rgba(255,255,255,0.90);
}


transition: transform .5s ease;
.vw-v2-trip-link {
margin-top: 22px;
}
}


.vw-destination-card:hover .vw-destination-image img {
.vw-v2-trip-link a {
transform: scale(1.04);
color: #fff !important;
font-weight: 750;
text-decoration: none !important;
}
}




/* Dark gradient over photo */
/* =========================================================
  DESTINATIONS
  ========================================================= */


.vw-destination-card::after {
.vw-v2-destination-grid {
content: "";
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
}
 
.vw-v2-destination-grid > p {
display: none !important;
}
 
.vw-v2-destination {
position: relative;
min-height: 440px;
overflow: hidden;
border-radius: 25px;
background: var(--v2-navy);
box-shadow: 0 18px 45px rgba(10,35,52,0.14);
}


.vw-v2-destination-image {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
}


z-index: 1;
.vw-v2-destination-image a,
.vw-v2-destination-image span {
display: block;
width: 100%;
height: 100%;
}
 
.vw-v2-destination-image img,
.vw-v2-destination-image .mw-file-element {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
transition: transform 0.45s ease;
}
 
.vw-v2-destination:hover .vw-v2-destination-image img {
transform: scale(1.035);
}


pointer-events: none;
.vw-v2-destination-shade {
position: absolute;
inset: 0;


background:
background:
linear-gradient(
linear-gradient(
to top,
0deg,
rgba(4, 24, 40, .88) 0%,
rgba(4,24,39,0.94) 0%,
rgba(4, 24, 40, .52) 38%,
rgba(4,24,39,0.58) 44%,
rgba(4, 24, 40, .08) 70%
rgba(4,24,39,0.06) 78%
);
);
}
}


.vw-v2-destination-content {
position: absolute;
z-index: 3;
left: 32px;
right: 32px;
bottom: 30px;
color: #fff;
}
.vw-v2-destination-tag {
margin-bottom: 9px;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.12em;
color: #f0ce8d;
}
.vw-v2-destination-name {
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.5rem, 4vw, 3.7rem);
font-weight: 700;
line-height: 0.98;
color: #fff;
}
.vw-v2-destination-copy {
max-width: 560px;
margin-top: 13px;
line-height: 1.5;
color: rgba(255,255,255,0.91);
}


/* Text over photograph */
.vw-v2-destination-button {
margin-top: 19px;
}


.vw-destination-overlay {
.vw-v2-destination-button a {
display: inline-block;
padding: 10px 16px;
border: 1px solid rgba(255,255,255,0.50);
border-radius: 999px;
background: rgba(255,255,255,0.10);
color: #fff !important;
font-weight: 750;
text-decoration: none !important;
}
 
 
/* =========================================================
  FEATURE BAND
  ========================================================= */
 
.vw-v2-feature {
position: relative;
min-height: 560px;
overflow: hidden;
margin-top: 105px;
border-radius: 28px;
background: var(--v2-navy);
box-shadow: 0 25px 60px rgba(10,35,52,0.17);
}
 
.vw-v2-feature-image {
position: absolute;
position: absolute;
inset: 0;
}


left: 0;
.vw-v2-feature-image a,
right: 0;
.vw-v2-feature-image span {
bottom: 0;
display: block;
width: 100%;
height: 100%;
}
 
.vw-v2-feature-image img,
.vw-v2-feature-image .mw-file-element {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
}


z-index: 2;
.vw-v2-feature-shade {
position: absolute;
inset: 0;


padding: 2rem;
background:
linear-gradient(
90deg,
rgba(5,28,45,0.96) 0%,
rgba(5,28,45,0.83) 45%,
rgba(5,28,45,0.23) 100%
);
}
}


.vw-v2-feature-content {
position: relative;
z-index: 3;
max-width: 760px;
padding: 78px 68px;
color: #fff;
}


.vw-destination-name {
.vw-v2-feature-kicker {
margin-bottom: .55rem;
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.15em;
color: #f0cd88;
}


.vw-v2-feature-title {
margin-top: 14px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.9rem, 3vw, 2.7rem);
font-size: clamp(3.1rem, 5vw, 5rem);
font-weight: 700;
font-weight: 700;
line-height: 0.98;
color: #fff;
}


line-height: 1.05;
.vw-v2-feature-copy {
max-width: 700px;
margin-top: 21px;
font-size: 1.14rem;
line-height: 1.65;
color: rgba(255,255,255,0.91);
}
}


.vw-v2-feature-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 28px;
}


.vw-destination-name a,
.vw-v2-feature-actions a {
.vw-destination-name a.new {
display: inline-block;
color: #ffffff !important;
padding: 11px 17px;
border-radius: 999px;
background: #fff;
color: var(--v2-navy) !important;
font-weight: 750;
text-decoration: none !important;
}


text-decoration: none !important;
.vw-v2-feature-actions a + a {
border: 1px solid rgba(255,255,255,0.42);
background: rgba(255,255,255,0.08);
color: #fff !important;
}
}




.vw-destination-name a:hover {
/* =========================================================
text-decoration: underline !important;
  REGIONS
  ========================================================= */
 
.vw-v2-region-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}
}


.vw-v2-region-grid > p {
display: none !important;
}


.vw-destination-description {
.vw-v2-region {
max-width: 560px;
padding: 25px 26px;
border: 1px solid rgba(11,47,79,0.10);
border-radius: 18px;
background: rgba(255,255,255,0.82);
box-shadow: 0 9px 24px rgba(10,35,52,0.055);
}
 
.vw-v2-region-title {
font-family: Georgia, "Times New Roman", serif;
font-size: 1.45rem;
font-weight: 700;
color: var(--v2-navy);
}


color: rgba(255, 255, 255, .92) !important;
.vw-v2-region-copy {
margin: 7px 0 15px;
color: var(--v2-muted);
line-height: 1.45;
}


font-size: .98rem;
.vw-v2-region a {
line-height: 1.5;
color: var(--v2-blue) !important;
font-weight: 750;
text-decoration: none !important;
}
}




/* =========================================================
/* =========================================================
   SECONDARY DESTINATIONS
   SITE PATHS
   ========================================================= */
   ========================================================= */


.vw-secondary-destinations {
.vw-v2-path-grid {
display: grid;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 20px;
margin-top: 100px;
}
.vw-v2-path-grid > p {
display: none !important;
}
.vw-v2-path {
padding: 34px;
border-radius: 22px;
background: #fff;
box-shadow: 0 13px 34px rgba(10,35,52,0.08);
}


grid-template-columns:
.vw-v2-path-kicker {
repeat(4, minmax(0, 1fr));
font-size: 0.76rem;
font-weight: 900;
letter-spacing: 0.18em;
color: var(--v2-gold);
}


gap: .85rem;
.vw-v2-path-title {
margin-top: 11px;
font-family: Georgia, "Times New Roman", serif;
font-size: 2rem;
font-weight: 700;
color: var(--v2-navy);
}


margin-top: 1rem;
.vw-v2-path-copy {
margin-top: 12px;
line-height: 1.6;
color: var(--v2-muted);
}
}


.vw-v2-path-link {
margin-top: 18px;
}
.vw-v2-path-link a {
color: var(--v2-blue) !important;
font-weight: 750;
text-decoration: none !important;
}


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


padding: 1rem 1.15rem;
/* =========================================================
  FINAL CTA
  ========================================================= */
 
.vw-v2-final {
margin-top: 100px;
padding: 65px;
border-radius: 28px;


border: 1px solid rgba(11, 47, 79, .11);
background:
border-radius: 14px;
linear-gradient(
130deg,
#082c49 0%,
#174f68 55%,
#526e5c 100%
);


background: rgba(255, 255, 255, .84);
color: #fff;
box-shadow: 0 22px 55px rgba(10,35,52,0.16);
}


color: var(--vw-navy) !important;
.vw-v2-final-kicker {
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.16em;
color: #efd29a;
}


.vw-v2-final-title {
margin-top: 12px;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3rem, 5vw, 4.8rem);
font-weight: 700;
font-weight: 700;
text-align: center;
line-height: 1;
text-decoration: none !important;
color: #fff;
}


transition:
.vw-v2-final-copy {
transform .18s ease,
max-width: 720px;
box-shadow .18s ease,
margin-top: 15px;
background .18s ease;
font-size: 1.1rem;
line-height: 1.6;
color: rgba(255,255,255,0.88);
}
}


.vw-v2-final-search {
max-width: 650px;
margin-top: 28px;
}


.vw-secondary-destinations > a.new {
.vw-v2-final-search .mw-inputbox-centered {
color: var(--vw-navy) !important;
width: 100%;
text-align: left;
}
}


.vw-v2-final-search form {
display: flex;
gap: 10px;
margin: 0;
}


.vw-secondary-destinations > a:hover {
.vw-v2-final-search input[type="text"],
transform: translateY(-2px);
.vw-v2-final-search .mw-inputbox-input {
flex: 1;
min-width: 0;
height: 52px;
padding: 0 17px;
border: 0;
border-radius: 8px;
background: #fff;
}


background: #ffffff;
.vw-v2-final-search input[type="submit"],
 
.vw-v2-final-search .mw-ui-button {
box-shadow:
height: 52px !important;
0 8px 20px rgba(11, 47, 79, .08);
padding: 0 23px !important;
border: 0 !important;
border-radius: 8px !important;
background: var(--v2-gold) !important;
color: #17202a !important;
font-weight: 800 !important;
}
}


Line 1,098: Line 1,933:
   ========================================================= */
   ========================================================= */


@media (max-width: 900px) {
@media (max-width: 1000px) {
 
.vw-v2-hero {
min-height: 630px;
}
 
.vw-v2-hero-content {
padding: 75px 48px 60px;
}
 
.vw-v2-trip-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}


.vw-destination-card {
.vw-v2-region-grid {
height: 310px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}


.vw-secondary-destinations {
.vw-v2-feature-content {
grid-template-columns:
padding: 65px 50px;
repeat(2, minmax(0, 1fr));
}
}


Line 1,116: Line 1,962:
   ========================================================= */
   ========================================================= */


@media (max-width: 650px) {
@media (max-width: 700px) {
 
.vw-v2-hero {
min-height: 670px;
border-radius: 20px;
}


.vw-destination-grid {
.vw-v2-hero-shade {
background:
linear-gradient(
0deg,
rgba(4,25,43,0.96) 0%,
rgba(4,25,43,0.75) 60%,
rgba(4,25,43,0.28) 100%
);
}
 
.vw-v2-hero-content {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 35px 25px 35px;
}
 
.vw-v2-title {
font-size: clamp(3.8rem, 18vw, 5.4rem);
}
 
.vw-v2-subtitle {
font-size: 1.06rem;
}
 
.vw-v2-search form,
.vw-v2-final-search form {
flex-direction: column;
}
 
.vw-v2-search input[type="submit"],
.vw-v2-search .mw-ui-button,
.vw-v2-final-search input[type="submit"],
.vw-v2-final-search .mw-ui-button {
width: 100%;
}
 
.vw-v2-intro {
margin: 60px auto 70px;
}
 
.vw-v2-trip-grid,
.vw-v2-destination-grid,
.vw-v2-region-grid,
.vw-v2-path-grid {
grid-template-columns: 1fr;
grid-template-columns: 1fr;
}
}


.vw-destination-card {
.vw-v2-section-head {
height: 300px;
align-items: flex-start;
flex-direction: column;
}
 
.vw-v2-destination {
min-height: 400px;
}
 
.vw-v2-feature {
min-height: 600px;
border-radius: 20px;
}
 
.vw-v2-feature-shade {
background:
linear-gradient(
0deg,
rgba(5,28,45,0.97) 0%,
rgba(5,28,45,0.74) 62%,
rgba(5,28,45,0.20) 100%
);
}
}


.vw-destination-overlay {
.vw-v2-feature-content {
padding: 1.5rem;
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 35px 26px;
}
}


.vw-secondary-destinations {
.vw-v2-final {
grid-template-columns:
padding: 40px 26px;
repeat(2, minmax(0, 1fr));
border-radius: 20px;
}
}


Line 1,144: Line 2,064:
@media (max-width: 430px) {
@media (max-width: 430px) {


.vw-secondary-destinations {
.vw-v2-title {
grid-template-columns: 1fr;
font-size: 3.65rem;
}
 
.vw-v2-destination-content {
left: 23px;
right: 23px;
bottom: 24px;
}
 
.vw-v2-trip-card {
min-height: 250px;
}
}


}
}
/* =========================================================
/* =========================================================
   POPULAR DESTINATIONS — TEXT LEGIBILITY FIX
   VIRGINIA.WIKI — HOMEPAGE POSITION
  Single clean positioning rule
   ========================================================= */
   ========================================================= */


/* Stronger dark gradient behind destination text */
/* Desktop */
.vw-destination-card::after {
 
background:
@media (min-width: 1000px) {
linear-gradient(
 
to top,
#content .vw-v2-home {
rgba(3, 20, 34, .94) 0%,
transform: translateY(-90px) !important;
rgba(3, 20, 34, .80) 32%,
margin-bottom: -90px !important;
rgba(3, 20, 34, .35) 58%,
}
rgba(3, 20, 34, .05) 78%
 
) !important;
}
}


/* Force destination titles to white */
/* Tablet */
body.page-Main_Page
.vw-home
.vw-destination-card
.vw-destination-name a,


body.page-Main_Page
@media (min-width: 701px) and (max-width: 999px) {
.vw-home
.vw-destination-card
.vw-destination-name a.new,


body.page-Main_Page
#content .vw-v2-home {
.vw-home
transform: translateY(-55px) !important;
.vw-destination-card
margin-bottom: -55px !important;
.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 */
/* Mobile */
.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 */
@media (max-width: 700px) {
.vw-destination-description {
color: #ffffff !important;
font-weight: 500;


text-shadow:
#content .vw-v2-home {
0 1px 3px rgba(0,0,0,.7);
transform: none !important;
}
margin-bottom: 0 !important;
}


/* Give text a little breathing room */
.vw-destination-overlay {
padding: 1.8rem 2rem 2rem !important;
}
}
/* =========================================================
/* =========================================================
   DESTINATION CARD FINAL FIX
   Virginia.wiki commercial foundation
   ========================================================= */
   ========================================================= */


/* Remove MediaWiki paragraph spacing around Commons images */
.vw-breadcrumb {
.vw-destination-image p {
    margin: 0 0 1rem;
display: block !important;
    font-size: 0.9rem;
width: 100% !important;
    line-height: 1.5;
height: 100% !important;
    opacity: 0.82;
margin: 0 !important;
}
padding: 0 !important;
 
line-height: 0 !important;
.vw-breadcrumb-sep {
    display: inline-block;
    margin: 0 0.45rem;
    opacity: 0.55;
}
 
.vw-breadcrumb-current {
    font-weight: 600;
}
}


/* Large destination title is display text, not a wiki link */
.vw-affiliate-disclosure {
.vw-destination-title-text {
    margin-top: 1rem;
margin: 0 0 .55rem;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(20, 35, 55, 0.15);
    font-size: 0.82rem;
    line-height: 1.45;
    opacity: 0.8;
}


color: #ffffff !important;
.vw-book-destination {
    margin: 2rem 0;
    padding: 1.4rem;
    border: 1px solid rgba(20, 35, 55, 0.14);
    border-radius: 14px;
    background: #f8f5ec;
}


font-family: Georgia, "Times New Roman", serif;
.vw-book-kicker {
font-size: clamp(2rem, 3vw, 2.8rem);
    margin-bottom: 0.35rem;
font-weight: 700;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    opacity: 0.7;
}


line-height: 1.02;
.vw-book-title {
    margin-bottom: 1rem;
    font-size: 1.45rem;
    line-height: 1.2;
    font-weight: 700;
}


text-shadow:
.vw-book-grid {
0 2px 5px rgba(0,0,0,.8),
    display: grid;
0 5px 15px rgba(0,0,0,.4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
}


/* Description */
.vw-book-item {
.vw-destination-description {
    padding: 1rem;
color: #ffffff !important;
    border-radius: 10px;
    background: rgba(255,255,255,0.72);
}


font-size: 1rem;
.vw-book-item-title {
font-weight: 500;
    margin-bottom: 0.3rem;
line-height: 1.5;
    font-size: 1.05rem;
    font-weight: 700;
}


text-shadow:
.vw-book-item-text {
0 1px 3px rgba(0,0,0,.8);
    margin-bottom: 0.8rem;
    font-size: 0.92rem;
    line-height: 1.45;
}
}


/* Explore link */
.vw-commerce-button {
.vw-destination-cta {
    display: inline-block;
margin-top: .8rem;
}


font-size: .92rem;
.vw-commerce-button a {
font-weight: 800;
    display: inline-block;
    padding: 0.62rem 0.9rem;
    border-radius: 7px;
    background: #152c46;
    color: #fff !important;
    font-weight: 650;
    text-decoration: none !important;
}
}


body.page-Main_Page
.vw-commerce-button a:hover {
.vw-destination-cta a,
    opacity: 0.9;
}


body.page-Main_Page
.vw-claim-listing {
.vw-destination-cta a.new,
    margin: 1.5rem 0;
}


body.page-Main_Page
.vw-claim-status {
.vw-destination-cta a:visited {
    padding: 1.1rem 1.2rem;
color: #ffffff !important;
    border: 1px solid rgba(20, 35, 55, 0.14);
-webkit-text-fill-color: #ffffff !important;
    border-radius: 12px;
    background: #f8f5ec;
}


text-decoration: none !important;
.vw-claim-status--claimed {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}
 
.vw-claim-check {
    font-size: 1.2rem;
    font-weight: 700;
}


text-shadow:
.vw-claim-heading {
0 1px 3px rgba(0,0,0,.8);
    margin-bottom: 0.35rem;
    font-size: 1.05rem;
}
}


body.page-Main_Page
.vw-claim-copy {
.vw-destination-cta a:hover {
    margin-bottom: 0.85rem;
color: #ffffff !important;
    line-height: 1.5;
-webkit-text-fill-color: #ffffff !important;
}


text-decoration: underline !important;
.vw-claim-small {
    font-size: 0.86rem;
    opacity: 0.76;
}
}


/* Strong readable lower-third gradient */
@media (max-width: 700px) {
.vw-destination-card::after {
    .vw-book-grid {
background:
        grid-template-columns: 1fr;
linear-gradient(
    }
to top,
 
rgba(2,18,31,.97) 0%,
    .vw-book-destination {
rgba(2,18,31,.82) 34%,
        padding: 1rem;
rgba(2,18,31,.32) 63%,
    }
rgba(2,18,31,.03) 82%
 
) !important;
    .vw-book-title {
        font-size: 1.25rem;
    }
}
}
/* =========================================================
/* =========================================================
   VIRGINIA.WIKI — PLACE PAGES
   Virginia.wiki Viator experience cards
   ========================================================= */
   ========================================================= */


.vw-place {
.vw-viator-destination {
--vw-place-navy: #0b2f4f;
    margin: 2rem 0;
--vw-place-blue: #3e718f;
}
--vw-place-green: #56725d;
--vw-place-sky: #dceaf2;
--vw-place-cream: #f6f2e7;


max-width: 1280px;
.vw-viator-title {
margin: 0 auto;
    margin: 0.35rem 0 1rem;
    font-size: 1.45rem;
    line-height: 1.25;
    font-weight: 700;
}
 
.vw-viator-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
 
.vw-viator-card {
    display: flex;
    flex-direction: column;
    min-height: 180px;
    padding: 1.1rem;
    border: 1px solid rgba(20, 35, 55, 0.13);
    border-radius: 12px;
    background: #fff;
}
 
.vw-viator-card-title {
    margin-bottom: 0.65rem;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
}
 
.vw-viator-meta {
    margin-bottom: 0.8rem;
    font-size: 0.9rem;
    line-height: 1.45;
    opacity: 0.82;
}
 
.vw-viator-sandbox {
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid rgba(20, 35, 55, 0.10);
    font-size: 0.78rem;
    line-height: 1.4;
    font-style: italic;
    opacity: 0.65;
}
 
.vw-viator-provider {
    margin-top: 0.9rem;
    font-size: 0.82rem;
    opacity: 0.72;
}
 
@media (max-width: 900px) {
    .vw-viator-grid {
        grid-template-columns: 1fr 1fr;
    }
}
}


@media (max-width: 600px) {
    .vw-viator-grid {
        grid-template-columns: 1fr;
    }


    .vw-viator-card {
        min-height: 0;
    }
}
/* =========================================================
/* =========================================================
   PLACE HERO
   Virginia.wiki Viator image-card polish
   ========================================================= */
   ========================================================= */


.vw-place-hero {
/* Prevent cards/images from forcing the page wider */
position: relative;
.vw-viator-grid {
overflow: hidden;
    width: 100%;
    min-width: 0;
}


min-height: 470px;
.vw-viator-card {
    min-width: 0;
    overflow: hidden;
}


margin-bottom: 1.4rem;
/* Viator product image */
.vw-viator-image {
    width: auto;
    height: 220px;
    margin: -1.1rem -1.1rem 1rem;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    background: rgba(20, 35, 55, 0.05);
}


border-radius: 28px;
.vw-viator-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
}


background: var(--vw-place-navy);
/* Accessibility text: available to screen readers, hidden visually */
.vw-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


box-shadow:
/* Keep long tour names from breaking layout */
0 20px 50px rgba(11,47,79,.16);
.vw-viator-card-title {
    overflow-wrap: anywhere;
}
}


/* Tablet */
@media (max-width: 900px) {
    .vw-viator-image {
        height: 210px;
    }
}


.vw-place-hero-image {
/* Mobile */
position: absolute;
@media (max-width: 600px) {
inset: 0;
    .vw-viator-image {
        height: 220px;
    }
}


width: 100%;
/* =========================================================
height: 100%;
  VIRGINIA.WIKI — FINAL PLACE / ATTRACTION + COMMERCE LAYOUT
  Clean consolidated override block
  ========================================================= */


overflow: hidden;
/* ---------------------------------------------------------
  Editorial width
  --------------------------------------------------------- */


line-height: 0;
.vw-place,
.vw-attraction {
    width: 100%;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
}




/* MediaWiki image wrappers */
/* ---------------------------------------------------------
  Desktop page position
  --------------------------------------------------------- */
 
@media screen and (min-width: 701px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: -32px !important;
    }
}


.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;
  Place / attraction hero
height: 100% !important;
  --------------------------------------------------------- */


margin: 0 !important;
.vw-place-hero,
padding: 0 !important;
.vw-attraction-hero {
    width: 100%;
    height: 390px !important;
    min-height: 0 !important;
    margin: 0 auto 8px !important;
    overflow: hidden;
    border-radius: 20px !important;
}
}


.vw-place-hero-image,
.vw-attraction-hero-image {
    position: absolute;
    inset: 0;
}


.vw-place-hero-image img,
.vw-place-hero-image img,
.vw-place-hero-image .mw-file-element {
.vw-place-hero-image .mw-file-element,
display: block !important;
.vw-attraction-hero-image img,
.vw-attraction-hero-image .mw-file-element {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}
 
.vw-place-hero-overlay,
.vw-attraction-hero-overlay {
    left: 5.5% !important;
    right: 5.5% !important;
    bottom: 6.5% !important;
}


width: 100% !important;
.vw-place-kicker,
max-width: 100% !important;
.vw-attraction-kicker {
height: 100% !important;
    margin-bottom: 8px !important;
}


margin: 0 !important;
.vw-place-title,
padding: 0 !important;
.vw-attraction-title {
    max-width: 860px !important;
    font-size: clamp(3.1rem, 5vw, 4.6rem) !important;
    line-height: 0.94 !important;
}


object-fit: cover !important;
.vw-place-summary,
object-position: center !important;
.vw-attraction-summary {
    max-width: 780px !important;
    margin-top: 11px !important;
    font-size: clamp(1rem, 1.35vw, 1.16rem) !important;
    line-height: 1.42 !important;
}
}




/* Dark overlay */
/* ---------------------------------------------------------
  Quick facts
  --------------------------------------------------------- */


.vw-place-hero::after {
.vw-place-quickfacts,
content: "";
.vw-attraction-quickfacts {
    gap: 10px !important;
    margin: 0 0 8px !important;
}


position: absolute;
.vw-place-quickfacts > div,
inset: 0;
.vw-attraction-quickfacts > div {
    padding: 14px 16px !important;
}


z-index: 1;


background:
/* ---------------------------------------------------------
linear-gradient(
  Introduction
to top,
  --------------------------------------------------------- */
rgba(3,20,34,.92) 0%,
rgba(3,20,34,.62) 40%,
rgba(3,20,34,.16) 72%
);


pointer-events: none;
.vw-place-intro,
.vw-attraction-intro {
    max-width: 930px !important;
    margin: 6px auto 12px !important;
    padding: 20px 24px !important;
    font-size: 1.04rem !important;
    line-height: 1.62 !important;
}
}




/* Hero text */
/* ---------------------------------------------------------
  Compact destination booking module
  --------------------------------------------------------- */


.vw-place-hero-overlay {
.vw-book-destination,
position: absolute;
.vw-book-destination-compact {
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
}


left: 0;
.vw-book-destination-compact {
right: 0;
    border: 0 !important;
bottom: 0;
    border-bottom: 1px solid rgba(20, 35, 55, 0.13) !important;
    border-radius: 0 !important;
    background: transparent !important;
}


z-index: 2;
.vw-book-kicker {
    margin: 0 0 2px !important;
}


padding:
.vw-book-title {
clamp(2rem, 5vw, 4rem);
    margin: 0 0 7px !important;
}
}


.vw-book-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(20, 35, 55, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
}


.vw-place-kicker {
.vw-book-row-copy {
margin-bottom: .8rem;
    flex: 1 1 auto;
    min-width: 0;
}


color: rgba(255,255,255,.88);
.vw-book-row .vw-book-item-title {
    margin: 0 0 3px !important;
}


font-size: .8rem;
.vw-book-row .vw-book-item-text {
font-weight: 800;
    margin: 0 !important;
}
 
.vw-book-row-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}
 
.vw-book-row-actions .vw-commerce-button {
    margin: 0;
}


letter-spacing: .18em;
.vw-book-row-actions .vw-commerce-button a {
text-transform: uppercase;
    display: inline-block;
    padding: 10px 15px;
    border-radius: 7px;
    background: #152c46;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}
}




.vw-place-title {
/* ---------------------------------------------------------
margin: 0;
  Remove empty template spacing
  --------------------------------------------------------- */


color: #ffffff !important;
.vw-book-destination p:empty,
.vw-book-destination-compact p:empty,
.vw-viator-destination p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !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;
  Viator compact spacing
  --------------------------------------------------------- */


text-shadow:
.vw-book-destination + .vw-viator-destination,
0 3px 12px rgba(0,0,0,.45);
.vw-book-destination-compact + .vw-viator-destination {
    margin-top: 6px !important;
}
}


.vw-viator-destination {
    margin-bottom: 10px !important;
}


.vw-place-summary {
.vw-viator-title {
max-width: 820px;
    margin: 0 0 8px !important;
}


margin-top: 1.2rem;
.vw-viator-grid {
    gap: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


color: #ffffff !important;
.vw-viator-card {
    min-height: 0 !important;
}


font-size: clamp(1.05rem, 2vw, 1.3rem);
.vw-viator-provider {
line-height: 1.55;
    margin: 6px 0 0 !important;
}


text-shadow:
.vw-affiliate-disclosure {
0 2px 6px rgba(0,0,0,.55);
    margin: 6px 0 0 !important;
    padding-top: 6px !important;
}
}




/* =========================================================
/* ---------------------------------------------------------
   QUICK FACTS
   Article section rhythm
   ========================================================= */
   --------------------------------------------------------- */


.vw-place-quickfacts {
.vw-place h2,
display: grid;
.vw-attraction h2 {
    margin-top: 22px !important;
    margin-bottom: 10px !important;
    padding-bottom: 6px !important;
}


grid-template-columns:
.vw-place h3,
repeat(4, minmax(0, 1fr));
.vw-attraction h3 {
    margin-top: 16px !important;
}


gap: .8rem;
.vw-viator-destination + h2,
.vw-book-destination + h2,
.vw-book-destination-compact + h2 {
    margin-top: 18px !important;
}


margin:
.vw-place p,
1rem 0 3rem;
.vw-attraction p {
    line-height: 1.65;
}
}




.vw-place-quickfacts > div {
/* ---------------------------------------------------------
min-width: 0;
  Article cards / explore grids
  --------------------------------------------------------- */
 
.vw-place-card-grid,
.vw-place-explore-grid,
.vw-attraction-card-grid,
.vw-attraction-nearby-grid {
    margin-top: 10px !important;
    margin-bottom: 16px !important;
}
 
.vw-place-card,
.vw-attraction-card {
    padding: 20px !important;
}


padding: 1.15rem 1.25rem;


border: 1px solid rgba(11,47,79,.10);
/* ---------------------------------------------------------
border-radius: 16px;
  Tablet
  --------------------------------------------------------- */


background: rgba(255,255,255,.82);
@media screen and (max-width: 1000px) {
    .vw-place,
    .vw-attraction {
        max-width: 100% !important;
    }


box-shadow:
    .vw-place-hero,
0 5px 18px rgba(11,47,79,.05);
    .vw-attraction-hero {
        height: 360px !important;
        min-height: 0 !important;
    }


line-height: 1.5;
    .vw-place-title,
    .vw-attraction-title {
        font-size: clamp(3rem, 7vw, 4.2rem) !important;
    }
}
}




.vw-place-quickfacts strong {
/* ---------------------------------------------------------
color: var(--vw-place-navy);
  Mobile
  --------------------------------------------------------- */
 
@media screen and (max-width: 700px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 0 !important;
    }
 
    .vw-place-hero,
    .vw-attraction-hero {
        height: 330px !important;
        min-height: 0 !important;
        border-radius: 16px !important;
    }
 
    .vw-place-title,
    .vw-attraction-title {
        font-size: clamp(2.6rem, 13vw, 3.7rem) !important;
    }
 
    .vw-place-summary,
    .vw-attraction-summary {
        font-size: 0.96rem !important;
    }
 
    .vw-place-intro,
    .vw-attraction-intro {
        margin: 8px 0 12px !important;
        padding: 18px !important;
    }
 
    .vw-book-destination,
    .vw-book-destination-compact {
        margin-bottom: 8px !important;
    }
 
    .vw-book-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }
 
    .vw-book-row-actions {
        width: 100%;
    }
 
    .vw-viator-destination {
        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }
 
    .vw-place h2,
    .vw-attraction h2 {
        margin-top: 20px !important;
    }
}
}




/* =========================================================
/* =========================================================
   INTRO
   PRINT CLEANUP
   ========================================================= */
   ========================================================= */


.vw-place-intro {
@media print {
max-width: 920px;
    /* Browser print headers consume substantial vertical room. */
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: -72px !important;
    }
 
    /* Keep hero + all quick facts comfortably on page one. */
    .vw-place-hero,
    .vw-attraction-hero {
        height: 335px !important;
        min-height: 0 !important;
        margin-bottom: 5px !important;
    }
 
    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 5px !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
 
    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }
 
    .vw-book-destination,
    .vw-book-destination-compact {
        margin: 0 0 5px !important;
        padding-bottom: 5px !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
 
    .vw-book-row {
        min-height: 0 !important;
        height: auto !important;
        padding: 9px 12px !important;
    }
 
    .vw-viator-destination {
        margin-top: 2px !important;
        margin-bottom: 5px !important;
    }
 
    /* Keep all three Viator products on one print row. */
    .vw-viator-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }


margin: 0 auto 3.5rem;
    .vw-viator-card {
        min-height: 0 !important;
        padding: 0.72rem !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }


font-size: 1.08rem;
    .vw-viator-image {
line-height: 1.75;
        height: 118px !important;
}
        margin: -0.72rem -0.72rem 0.65rem !important;
    }


    .vw-viator-card-title {
        font-size: 0.86rem !important;
        line-height: 1.22 !important;
    }


/* =========================================================
    .vw-viator-meta {
  PAGE HEADINGS
        font-size: 0.76rem !important;
  ========================================================= */
        line-height: 1.3 !important;
    }


.vw-place ~ .mw-heading h2,
    .vw-viator-card .vw-commerce-button a {
.vw-place h2 {
        padding: 6px 9px !important;
color: var(--vw-place-navy);
        font-size: 0.78rem !important;
}
    }


    /* Do not print affiliate URLs after commerce links/buttons. */
    .vw-commerce-button a::after,
    .vw-viator-card a::after,
    .vw-viator-card-title a::after {
        content: none !important;
        display: none !important;
    }


body.page-Williamsburg_Virginia .mw-parser-output > .mw-heading h2 {
    .vw-affiliate-disclosure {
margin-top: 3.6rem;
        margin-top: 4px !important;
        padding-top: 4px !important;
    }


font-family: Georgia, "Times New Roman", serif;
    .vw-place h2,
font-size: clamp(2rem, 4vw, 2.8rem);
    .vw-attraction h2 {
        margin-top: 17px !important;
        margin-bottom: 8px !important;
    }


color: var(--vw-place-navy);
    .vw-place-card-grid,
    .vw-place-explore-grid,
    .vw-attraction-card-grid,
    .vw-attraction-nearby-grid {
        margin-top: 8px !important;
        margin-bottom: 12px !important;
    }
}
}


/* =========================================================
/* =========================================================
   TOP THINGS TO DO CARDS
   VIRGINIA.WIKI — PARSER GAP + COMMERCE SPACING HOTFIX
  Tightens MediaWiki-generated whitespace between modules.
   ========================================================= */
   ========================================================= */


.vw-place-card-grid {
/* Remove blank paragraphs / empty parser elements inserted between block templates. */
display: grid;
.vw-place > p:empty,
.vw-attraction > p:empty,
.vw-place > .mw-empty-elt,
.vw-attraction > .mw-empty-elt {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}
 
/* Modern-browser cleanup for paragraphs that contain only <br> elements. */
.vw-place > p:has(> br):not(:has(> :not(br))),
.vw-attraction > p:has(> br):not(:has(> :not(br))) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}


grid-template-columns:
/* Quick facts -> introduction. */
repeat(3, minmax(0, 1fr));
.vw-place-quickfacts,
.vw-attraction-quickfacts {
    margin-bottom: 2px !important;
}


gap: 1rem;
.vw-place-quickfacts ~ .vw-place-intro,
.vw-attraction-quickfacts ~ .vw-attraction-intro {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}


margin: 1.7rem 0 3rem;
/* Introduction -> Plan Your Visit. */
.vw-place-intro ~ .vw-book-destination,
.vw-place-intro ~ .vw-book-destination-compact,
.vw-attraction-intro ~ .vw-book-destination,
.vw-attraction-intro ~ .vw-book-destination-compact {
    margin-top: 0 !important;
}
}


.vw-book-destination,
.vw-book-destination-compact {
    margin-bottom: 2px !important;
    padding-bottom: 4px !important;
}


/* Ignore parser-generated empty paragraphs */
.vw-book-kicker {
    margin-bottom: 1px !important;
}


.vw-place-card-grid > p,
.vw-book-title {
.vw-place-explore-grid > p {
    margin-bottom: 5px !important;
display: none !important;
}
}


.vw-book-row {
    padding: 9px 12px !important;
}


.vw-place-card {
/* Make the Expedia action reliably look like a button. */
min-width: 0;
.vw-book-row-actions a,
.vw-book-row-actions a.external {
    display: inline-block !important;
    padding: 9px 14px !important;
    border-radius: 7px !important;
    background: #152c46 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}


padding: 1.55rem;
/* Plan Your Visit -> Viator. General sibling selectors survive parser whitespace. */
.vw-book-destination ~ .vw-viator-destination,
.vw-book-destination-compact ~ .vw-viator-destination {
    margin-top: 0 !important;
}


border: 1px solid rgba(11,47,79,.09);
.vw-viator-destination {
border-radius: 20px;
    margin-top: 0 !important;
    margin-bottom: 3px !important;
}


background:
.vw-viator-title {
linear-gradient(
    margin-top: 0 !important;
145deg,
    margin-bottom: 6px !important;
rgba(220,234,242,.88),
}
rgba(246,242,231,.92)
);


box-shadow:
.vw-viator-grid {
0 6px 20px rgba(11,47,79,.05);
    margin: 0 !important;
}


transition:
.vw-viator-provider {
transform .18s ease,
    margin-top: 4px !important;
box-shadow .18s ease;
}
}


.vw-affiliate-disclosure {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
    padding-top: 4px !important;
}


.vw-place-card:hover {
/* Viator -> first editorial heading. */
transform: translateY(-4px);
.vw-viator-destination ~ h2 {
    margin-top: 12px !important;
}
 
/* Keep general article rhythm compact but not cramped. */
.vw-place h2,
.vw-attraction h2 {
    margin-top: 18px !important;
    margin-bottom: 8px !important;
}


box-shadow:
.vw-place h3,
0 13px 28px rgba(11,47,79,.11);
.vw-attraction h3 {
    margin-top: 14px !important;
}
}


/* Print: same parser-gap cleanup, with a compact commerce flow. */
@media print {
    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 8px !important;
    }
    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }
    .vw-book-destination,
    .vw-book-destination-compact {
        margin: 0 !important;
        padding-bottom: 3px !important;
    }


.vw-place-card h3 {
    .vw-viator-destination {
margin: 0 0 .65rem;
        margin: 0 0 3px !important;
    }


font-family: Georgia, "Times New Roman", serif;
    .vw-affiliate-disclosure {
font-size: 1.35rem;
        margin-top: 2px !important;
        padding-top: 3px !important;
    }


color: var(--vw-place-navy);
    .vw-viator-destination ~ h2 {
        margin-top: 10px !important;
    }
}
}


/* Mobile should remain naturally stacked and readable. */
@media screen and (max-width: 700px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 0 !important;
    }


.vw-place-card h3 a,
    .vw-place-quickfacts,
.vw-place-card h3 a.new {
    .vw-attraction-quickfacts {
color: var(--vw-place-navy) !important;
        margin-bottom: 6px !important;
text-decoration: none !important;
    }
}


    .vw-place-intro,
    .vw-attraction-intro {
        margin-bottom: 8px !important;
    }


.vw-place-card h3 a:hover {
    .vw-viator-destination ~ h2 {
text-decoration: underline !important;
        margin-top: 16px !important;
    }
}
}




/* =========================================================
/* =========================================================
   EXPLORE NEARBY CARDS
   TOP-OF-PAGE SAFETY / SPACING
   ========================================================= */
   ========================================================= */


.vw-place-explore-grid {
@media screen and (min-width: 701px) {
display: grid;
    .vw-place-hero,
 
    .vw-attraction-hero {
grid-template-columns:
        margin-bottom: 12px !important;
repeat(2, minmax(0, 1fr));
    }


gap: 1rem;
    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 14px !important;
    }


margin: 1.6rem 0 3rem;
    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 0 !important;
        margin-bottom: 16px !important;
    }
}
}


/* =========================================================
  PLACE PAGE TOP POSITION — CORRECTIVE OVERRIDE
  ========================================================= */


.vw-place-explore-grid > div {
@media screen and (min-width: 701px) {
min-width: 0;


padding: 1.4rem 1.5rem;
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 48px !important;
        transform: none !important;
        top: auto !important;
    }
}


border-radius: 18px;
/* =========================================================
  Virginia.wiki — Commerce spacing only
  Do not alter hero / quick-fact / intro positioning
  ========================================================= */


background: #ffffff;


border:
/* ---------------------------------------------------------
1px solid rgba(11,47,79,.10);
  PLAN YOUR VISIT
  --------------------------------------------------------- */


box-shadow:
.vw-book-destination,
0 6px 18px rgba(11,47,79,.05);
.vw-book-destination-compact {
    margin-top: 10px !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}


line-height: 1.55;
.vw-book-kicker {
    margin: 0 0 4px !important;
}
}


.vw-book-title {
    margin: 0 0 10px !important;
}


.vw-place-explore-grid a,
.vw-book-row {
.vw-place-explore-grid a.new {
    margin: 0 !important;
color: var(--vw-place-navy) !important;
    padding: 12px 16px !important;
text-decoration: none !important;
}
}




.vw-place-explore-grid a:hover {
/* ---------------------------------------------------------
text-decoration: underline !important;
  Remove empty MediaWiki paragraphs around commerce modules
  --------------------------------------------------------- */
 
.vw-book-destination p:empty,
.vw-book-destination-compact p:empty,
.vw-viator-destination p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
}




/* =========================================================
/* ---------------------------------------------------------
   TABLE
   EXPEDIA -> VIATOR
   ========================================================= */
   --------------------------------------------------------- */
 
.vw-book-destination + .vw-viator-destination,
.vw-book-destination-compact + .vw-viator-destination {
    margin-top: 8px !important;
}


body.page-Williamsburg_Virginia .wikitable {
.vw-viator-destination {
width: 100%;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}


margin: 1.5rem 0 2.5rem;
.vw-viator-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}


border-collapse: separate;
.vw-viator-grid {
border-spacing: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 12px !important;
}


overflow: hidden;


border:
/* ---------------------------------------------------------
1px solid rgba(11,47,79,.12);
  VIATOR FOOTER / AFFILIATE DISCLOSURE
  --------------------------------------------------------- */


border-radius: 16px;
.vw-viator-provider {
    margin-top: 7px !important;
    margin-bottom: 0 !important;
}


background: #ffffff;
.vw-affiliate-disclosure {
    margin-top: 7px !important;
    margin-bottom: 0 !important;
    padding-top: 7px !important;
}
}




body.page-Williamsburg_Virginia .wikitable th {
/* ---------------------------------------------------------
padding: .9rem 1rem;
  VIATOR -> "WHY VISIT..." HEADING
  MediaWiki 1.46 may wrap headings in .mw-heading
  --------------------------------------------------------- */


background: var(--vw-place-navy);
.vw-viator-destination + .mw-heading,
.vw-viator-destination + h2,
.vw-viator-destination + p:empty + .mw-heading,
.vw-viator-destination + p:empty + h2 {
    margin-top: 20px !important;
}


color: #ffffff;


text-align: left;
/* Keep the first editorial heading compact */
.vw-place .mw-heading h2,
.vw-attraction .mw-heading h2 {
    margin-top: 0 !important;
}
}




body.page-Williamsburg_Virginia .wikitable td {
/* ---------------------------------------------------------
padding: .9rem 1rem;
  PRINT
  --------------------------------------------------------- */
 
@media print {
 
    .vw-book-destination,
    .vw-book-destination-compact {
        margin-top: 6px !important;
        margin-bottom: 5px !important;
        padding-bottom: 5px !important;
    }


border-color:
    .vw-book-row {
rgba(11,47,79,.08);
        padding: 9px 12px !important;
}
    }
 
    .vw-viator-destination {
        margin-top: 5px !important;
        margin-bottom: 0 !important;
    }
 
    .vw-viator-provider {
        margin-top: 4px !important;
    }


    .vw-affiliate-disclosure {
        margin-top: 4px !important;
        padding-top: 4px !important;
    }


    .vw-viator-destination + .mw-heading,
    .vw-viator-destination + h2,
    .vw-viator-destination + p:empty + .mw-heading,
    .vw-viator-destination + p:empty + h2 {
        margin-top: 12px !important;
    }
}
/* =========================================================
/* =========================================================
   REFERENCES
   Virginia.wiki — FINAL commerce spacing adjustment
   ========================================================= */
   ========================================================= */


body.page-Williamsburg_Virginia .references {
/* Expedia -> Viator */
font-size: .9rem;
.vw-place .vw-book-destination,
line-height: 1.5;
.vw-place .vw-book-destination-compact,
.vw-attraction .vw-book-destination,
.vw-attraction .vw-book-destination-compact {
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;
}
 
.vw-place .vw-viator-destination,
.vw-attraction .vw-viator-destination {
    margin-top: -10px !important;
    margin-bottom: -22px !important;
}
}


/* Keep the Viator footer tight */
.vw-place .vw-viator-provider,
.vw-attraction .vw-viator-provider {
    margin-top: 4px !important;
}


/* =========================================================
.vw-place .vw-affiliate-disclosure,
  RED LINKS ON PLACE PAGE
.vw-attraction .vw-affiliate-disclosure {
  ========================================================= */
    margin-top: 4px !important;
    padding-top: 5px !important;
}


body.page-Williamsburg_Virginia
/* Pull the first editorial heading closer to commerce */
.mw-parser-output a.new {
.vw-place .vw-viator-destination + .mw-heading,
color: #8d3040;
.vw-place .vw-viator-destination + h2,
.vw-attraction .vw-viator-destination + .mw-heading,
.vw-attraction .vw-viator-destination + h2 {
    margin-top: 8px !important;
}
}




/* Cards remain polished even before articles exist */
/* Print needs slightly tighter commercial spacing */
@media print {
 
    .vw-place .vw-book-destination,
    .vw-place .vw-book-destination-compact,
    .vw-attraction .vw-book-destination,
    .vw-attraction .vw-book-destination-compact {
        margin-bottom: 0 !important;
        padding-bottom: 2px !important;
    }


body.page-Williamsburg_Virginia
    .vw-place .vw-viator-destination,
.vw-place-card a.new,
    .vw-attraction .vw-viator-destination {
        margin-top: -14px !important;
        margin-bottom: -28px !important;
    }


body.page-Williamsburg_Virginia
    .vw-place .vw-affiliate-disclosure,
.vw-place-explore-grid a.new {
    .vw-attraction .vw-affiliate-disclosure {
color: var(--vw-place-navy) !important;
        margin-top: 2px !important;
        padding-top: 3px !important;
    }
}
}


/* =========================================================
/* =========================================================
   TABLET
   FINAL FIX — Expedia / Viator vertical spacing
   ========================================================= */
   ========================================================= */


@media (max-width: 1000px) {
/* Expedia module must collapse to its actual content height */
.vw-place .vw-book-destination,
.vw-place .vw-book-destination-compact,
.vw-attraction .vw-book-destination,
.vw-attraction .vw-book-destination-compact {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    border-bottom: 0 !important;
}


.vw-place-quickfacts {
/* Expedia row itself */
grid-template-columns:
.vw-place .vw-book-row,
repeat(2, minmax(0, 1fr));
.vw-attraction .vw-book-row {
}
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}


/* Put the separator directly above Viator instead */
.vw-place .vw-viator-destination,
.vw-attraction .vw-viator-destination {
    height: auto !important;
    min-height: 0 !important;
    margin: 8px 0 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(20, 35, 55, 0.13);
}


.vw-place-card-grid {
/* Keep Viator heading close to separator */
grid-template-columns:
.vw-place .vw-viator-title,
repeat(2, minmax(0, 1fr));
.vw-attraction .vw-viator-title {
}
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}


/* Kill any empty parser paragraphs between the two modules */
.vw-book-destination + p:empty,
.vw-book-destination-compact + p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
}


/* PRINT */
@media print {
    .vw-place .vw-book-destination,
    .vw-place .vw-book-destination-compact,
    .vw-attraction .vw-book-destination,
    .vw-attraction .vw-book-destination-compact {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding-bottom: 5px !important;
    }
    .vw-place .vw-viator-destination,
    .vw-attraction .vw-viator-destination {
        margin-top: 5px !important;
        padding-top: 8px !important;
    }
}


/* =========================================================
/* =========================================================
   MOBILE
   Virginia.wiki — Commerce flow gap fix
   ========================================================= */
   ========================================================= */


@media (max-width: 700px) {
.vw-commerce-flow {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
 
/* Remove parser-generated blank paragraphs/br elements */
.vw-commerce-flow > p,
.vw-commerce-flow > br {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


.vw-place-hero {
/* Expedia */
min-height: 390px;
.vw-commerce-flow .vw-book-destination,
.vw-commerce-flow .vw-book-destination-compact {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
}


border-radius: 21px;
/* Viator starts immediately after Expedia */
}
.vw-commerce-flow .vw-viator-destination {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid rgba(20, 35, 55, 0.13);
}


/* No stray spacing before the Viator heading */
.vw-commerce-flow .vw-viator-title {
    margin: 0 0 10px !important;
}


.vw-place-hero-overlay {
/* Keep disclosure compact */
padding: 1.7rem;
.vw-commerce-flow .vw-viator-provider {
}
    margin: 6px 0 0 !important;
}


.vw-commerce-flow .vw-affiliate-disclosure {
    margin: 6px 0 0 !important;
    padding-top: 6px !important;
}


.vw-place-title {
/* Tight transition into the first editorial section */
font-size:
.vw-commerce-flow + .mw-heading,
clamp(3rem, 15vw, 4.5rem);
.vw-commerce-flow + h2 {
}
    margin-top: 18px !important;
}




.vw-place-quickfacts,
/* PRINT */
.vw-place-card-grid,
@media print {
.vw-place-explore-grid {
grid-template-columns: 1fr;
}


    .vw-commerce-flow .vw-book-destination,
    .vw-commerce-flow .vw-book-destination-compact {
        padding-bottom: 4px !important;
    }


.vw-place-intro {
    .vw-commerce-flow .vw-viator-destination {
font-size: 1rem;
        padding-top: 6px !important;
}
    }


    .vw-commerce-flow + .mw-heading,
    .vw-commerce-flow + h2 {
        margin-top: 10px !important;
    }
}
}

Latest revision as of 05:27, 17 October 2026

/* =========================================================
   VIRGINIA.WIKI — COMPLETE SITE STYLES
   Homepage + Places + Attractions
   ========================================================= */


/* =========================================================
   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-border: rgba(11, 47, 79, 0.13);
	--vw-shadow: 0 14px 34px rgba(19, 43, 60, 0.12);

	box-sizing: border-box;
	color: var(--vw-text);
}

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

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

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


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

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


/* =========================================================
   HOMEPAGE 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: #fff;
}

.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: #fff;
}

.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: #fff;
}

.vw-hero-subtitle {
	max-width: 870px;
	margin-top: 32px;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.5;
	color: #fff;
}


/* =========================================================
   HOMEPAGE SEARCH
   ========================================================= */

.vw-search {
	position: relative;
	z-index: 5;
	max-width: 760px;
	margin-top: 38px;
}

.vw-search .mw-inputbox-centered {
	width: 100%;
	text-align: left;
}

.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: #fff !important;
	color: var(--vw-navy) !important;
	font-weight: 800 !important;
}


/* =========================================================
   HOMEPAGE SECTIONS
   ========================================================= */

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

.vw-home-section > h2 {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4vw, 3.3rem);
	line-height: 1.05;
	color: var(--vw-navy);
}


/* =========================================================
   DISCOVER VIRGINIA CARDS
   ========================================================= */

.vw-photo-card-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px;
	width: 100%;
}

.vw-photo-card-grid > p {
	display: none !important;
}

.vw-photo-card {
	position: relative;
	min-width: 0;
	min-height: 300px;
	overflow: hidden;
	border-radius: 22px;
	background: var(--vw-navy);
	box-shadow: var(--vw-shadow);
}

.vw-card-image {
	position: absolute;
	inset: 0;
}

.vw-card-image a,
.vw-card-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-card-image img,
.vw-card-image .mw-file-element {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !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-card-content {
	position: absolute;
	z-index: 3;
	left: 24px;
	right: 24px;
	bottom: 22px;
	color: #fff;
}

.vw-card-content h3 {
	margin: 0 0 6px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.7rem;
	color: #fff;
}

.vw-card-content h3 a {
	color: #fff !important;
	text-decoration: none !important;
}

.vw-card-content p {
	margin: 0;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92);
}


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

.vw-destination-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100%;
}

.vw-destination-grid > p {
	display: none !important;
}

.vw-destination-card {
	position: relative;
	min-width: 0;
	width: 100%;
	min-height: 420px;
	overflow: hidden;
	margin: 0 !important;
	border-radius: 25px;
	background: var(--vw-navy);
	box-shadow: var(--vw-shadow);
}

.vw-destination-image {
	position: absolute;
	inset: 0;
}

.vw-destination-image a,
.vw-destination-image span {
	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;
	max-width: none !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: #fff;
}

.vw-destination-title {
	margin: 0 0 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 700;
	line-height: 0.98;
	color: #fff;
}

.vw-destination-description {
	max-width: 520px;
	margin-bottom: 18px;
	font-size: 1.06rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.94);
}

.vw-destination-cta 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: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}

.vw-destination-cta 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;
}


/* =========================================================
   EXPLORE VIRGINIA FEATURES
   ========================================================= */

.vw-feature-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px;
}

.vw-feature-grid > p {
	display: none !important;
}

.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: #fff;
	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: #fff;
}

.vw-bottom-text {
	max-width: 850px;
	font-size: 1.08rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.90);
}


/* =========================================================
   PLACE PAGES
   ========================================================= */

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;
}

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

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


/* 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,
.vw-place-hero-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-place-hero-image img,
.vw-place-hero-image .mw-file-element {
	width: 100% !important;
	height: 100% !important;
	max-width: none !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: #fff;
}

.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: #fff;
}

.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 b,
.vw-place-quickfacts strong {
	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-grid > p {
	display: none !important;
}

.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;
}


/* PLACE EXPLORE */

.vw-place-explore-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 25px 0 42px;
}

.vw-place-explore-grid > p {
	display: none !important;
}

.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
   ========================================================= */

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;
}

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

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


/* 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,
.vw-attraction-hero-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-attraction-hero-image img,
.vw-attraction-hero-image .mw-file-element {
	width: 100% !important;
	height: 100% !important;
	max-width: none !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: #fff;
}

.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: #fff;
}

.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;
}


/* 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-grid > p {
	display: none !important;
}

.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;
}


/* VISIT GRID */

.vw-visit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 27px 0 42px;
}

.vw-visit-grid > p {
	display: none !important;
}

.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;
}


/* ATTRACTION NEARBY */

.vw-attraction-nearby-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 25px 0 42px;
}

.vw-attraction-nearby-grid > p {
	display: none !important;
}

.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;
	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);
}

.vw-place .wikitable th,
.vw-attraction .wikitable th {
	padding: 14px 16px;
	border: 0;
	background: var(--vw-navy);
	color: #fff;
	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;
}


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

.vw-place .references,
.vw-attraction .references {
	font-size: 0.92rem;
	line-height: 1.5;
	color: #4d5963;
}


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

@media (max-width: 1000px) {

	.vw-hero {
		min-height: 560px;
		padding: 85px 60px 110px;
	}

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

	.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;
	}

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

	.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 !important;
	}

	.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-quickfacts,
	.vw-attraction-quickfacts {
		grid-template-columns: 1fr;
	}

	.vw-place-intro,
	.vw-attraction-intro {
		padding: 24px;
		font-size: 1.04rem;
	}

	.vw-place .wikitable,
	.vw-attraction .wikitable {
		display: block;
		overflow-x: auto;
	}
}


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


/* =========================================================
   VIRGINIA.WIKI — HOMEPAGE V2
   Isolated redesign — vw-v2-* only
   ========================================================= */

.vw-v2-home {
	--v2-navy: #0b2f4f;
	--v2-navy-deep: #071f35;
	--v2-blue: #3d7595;
	--v2-ocean: #317c9c;
	--v2-green: #52705b;
	--v2-gold: #c79a49;
	--v2-wine: #76505b;
	--v2-ink: #132738;
	--v2-muted: #5b6872;
	--v2-white: #ffffff;

	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	color: var(--v2-ink);
}

.vw-v2-home * {
	box-sizing: border-box;
}

.vw-v2-home img {
	max-width: 100%;
}


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

.vw-v2-hero {
	position: relative;
	min-height: 680px;
	overflow: hidden;
	border-radius: 30px;
	background: var(--v2-navy);
	box-shadow: 0 30px 70px rgba(10, 35, 52, 0.22);
}

.vw-v2-hero-image {
	position: absolute;
	inset: 0;
}

.vw-v2-hero-image a,
.vw-v2-hero-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-v2-hero-image img,
.vw-v2-hero-image .mw-file-element {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}

.vw-v2-hero-shade {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			90deg,
			rgba(4, 25, 43, 0.92) 0%,
			rgba(4, 25, 43, 0.70) 45%,
			rgba(4, 25, 43, 0.18) 78%,
			rgba(4, 25, 43, 0.08) 100%
		),
		linear-gradient(
			0deg,
			rgba(4, 25, 43, 0.65) 0%,
			transparent 48%
		);
}

.vw-v2-hero-content {
	position: relative;
	z-index: 3;
	max-width: 850px;
	padding: 90px 72px 70px;
	color: #fff;
}

.vw-v2-kicker {
	margin-bottom: 18px;
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #efd39a;
}

.vw-v2-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4.8rem, 9vw, 8rem);
	font-weight: 700;
	line-height: 0.84;
	letter-spacing: -0.055em;
	color: #fff;
}

.vw-v2-subtitle {
	max-width: 760px;
	margin-top: 31px;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.55;
	color: rgba(255,255,255,0.95);
}


/* HERO SEARCH */

.vw-v2-search {
	max-width: 680px;
	margin-top: 34px;
}

.vw-v2-search .mw-inputbox-centered {
	width: 100%;
	text-align: left;
}

.vw-v2-search form {
	display: flex;
	gap: 10px;
	margin: 0;
}

.vw-v2-search input[type="text"],
.vw-v2-search .mw-inputbox-input {
	flex: 1;
	min-width: 0;
	height: 54px;
	padding: 0 18px;
	border: 0;
	border-radius: 9px;
	background: rgba(255,255,255,0.96);
	font-size: 1rem;
	color: var(--v2-ink);
}

.vw-v2-search input[type="submit"],
.vw-v2-search .mw-ui-button {
	height: 54px !important;
	padding: 0 25px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--v2-gold) !important;
	color: #17202a !important;
	font-weight: 800 !important;
}


/* HERO LINKS */

.vw-v2-hero-links {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 24px;
}

.vw-v2-hero-links a {
	display: inline-block;
	padding: 9px 15px;
	border: 1px solid rgba(255,255,255,0.32);
	border-radius: 999px;
	background: rgba(9,35,54,0.32);
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 650;
	text-decoration: none !important;
	backdrop-filter: blur(4px);
}

.vw-v2-hero-links a:hover {
	background: rgba(255,255,255,0.18);
}


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

.vw-v2-intro {
	max-width: 1000px;
	margin: 80px auto 95px;
	text-align: center;
}

.vw-v2-intro-small {
	margin-bottom: 13px;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--v2-green);
}

.vw-v2-intro-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.8rem, 5vw, 4.4rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--v2-navy);
}

.vw-v2-intro-copy {
	max-width: 850px;
	margin: 22px auto 0;
	font-size: 1.18rem;
	line-height: 1.7;
	color: var(--v2-muted);
}


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

.vw-v2-section {
	margin-top: 90px;
}

.vw-v2-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 28px;
}

.vw-v2-section-kicker {
	margin-bottom: 8px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--v2-gold);
}

.vw-v2-section-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 4vw, 3.8rem);
	font-weight: 700;
	line-height: 1.03;
	color: var(--v2-navy);
}

.vw-v2-section-note {
	max-width: 360px;
	color: var(--v2-muted);
	line-height: 1.55;
}


/* =========================================================
   TRIP CARDS
   ========================================================= */

.vw-v2-trip-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.vw-v2-trip-grid > p {
	display: none !important;
}

.vw-v2-trip-card {
	position: relative;
	min-height: 275px;
	padding: 28px;
	overflow: hidden;
	border-radius: 22px;
	color: #fff;
	box-shadow: 0 15px 36px rgba(10,35,52,0.10);
}

.vw-v2-trip-blue {
	background: #3e718f;
}

.vw-v2-trip-green {
	background: #52705b;
}

.vw-v2-trip-gold {
	background: #b9893f;
}

.vw-v2-trip-navy {
	background: #153e5b;
}

.vw-v2-trip-ocean {
	background: #397f98;
}

.vw-v2-trip-wine {
	background: #745461;
}

.vw-v2-trip-number {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	opacity: 0.72;
}

.vw-v2-trip-title {
	margin-top: 45px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.05;
}

.vw-v2-trip-text {
	margin-top: 11px;
	line-height: 1.55;
	color: rgba(255,255,255,0.90);
}

.vw-v2-trip-link {
	margin-top: 22px;
}

.vw-v2-trip-link a {
	color: #fff !important;
	font-weight: 750;
	text-decoration: none !important;
}


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

.vw-v2-destination-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.vw-v2-destination-grid > p {
	display: none !important;
}

.vw-v2-destination {
	position: relative;
	min-height: 440px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--v2-navy);
	box-shadow: 0 18px 45px rgba(10,35,52,0.14);
}

.vw-v2-destination-image {
	position: absolute;
	inset: 0;
}

.vw-v2-destination-image a,
.vw-v2-destination-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-v2-destination-image img,
.vw-v2-destination-image .mw-file-element {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.vw-v2-destination:hover .vw-v2-destination-image img {
	transform: scale(1.035);
}

.vw-v2-destination-shade {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			0deg,
			rgba(4,24,39,0.94) 0%,
			rgba(4,24,39,0.58) 44%,
			rgba(4,24,39,0.06) 78%
		);
}

.vw-v2-destination-content {
	position: absolute;
	z-index: 3;
	left: 32px;
	right: 32px;
	bottom: 30px;
	color: #fff;
}

.vw-v2-destination-tag {
	margin-bottom: 9px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #f0ce8d;
}

.vw-v2-destination-name {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 4vw, 3.7rem);
	font-weight: 700;
	line-height: 0.98;
	color: #fff;
}

.vw-v2-destination-copy {
	max-width: 560px;
	margin-top: 13px;
	line-height: 1.5;
	color: rgba(255,255,255,0.91);
}

.vw-v2-destination-button {
	margin-top: 19px;
}

.vw-v2-destination-button a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid rgba(255,255,255,0.50);
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	color: #fff !important;
	font-weight: 750;
	text-decoration: none !important;
}


/* =========================================================
   FEATURE BAND
   ========================================================= */

.vw-v2-feature {
	position: relative;
	min-height: 560px;
	overflow: hidden;
	margin-top: 105px;
	border-radius: 28px;
	background: var(--v2-navy);
	box-shadow: 0 25px 60px rgba(10,35,52,0.17);
}

.vw-v2-feature-image {
	position: absolute;
	inset: 0;
}

.vw-v2-feature-image a,
.vw-v2-feature-image span {
	display: block;
	width: 100%;
	height: 100%;
}

.vw-v2-feature-image img,
.vw-v2-feature-image .mw-file-element {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}

.vw-v2-feature-shade {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			90deg,
			rgba(5,28,45,0.96) 0%,
			rgba(5,28,45,0.83) 45%,
			rgba(5,28,45,0.23) 100%
		);
}

.vw-v2-feature-content {
	position: relative;
	z-index: 3;
	max-width: 760px;
	padding: 78px 68px;
	color: #fff;
}

.vw-v2-feature-kicker {
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	color: #f0cd88;
}

.vw-v2-feature-title {
	margin-top: 14px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.1rem, 5vw, 5rem);
	font-weight: 700;
	line-height: 0.98;
	color: #fff;
}

.vw-v2-feature-copy {
	max-width: 700px;
	margin-top: 21px;
	font-size: 1.14rem;
	line-height: 1.65;
	color: rgba(255,255,255,0.91);
}

.vw-v2-feature-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.vw-v2-feature-actions a {
	display: inline-block;
	padding: 11px 17px;
	border-radius: 999px;
	background: #fff;
	color: var(--v2-navy) !important;
	font-weight: 750;
	text-decoration: none !important;
}

.vw-v2-feature-actions a + a {
	border: 1px solid rgba(255,255,255,0.42);
	background: rgba(255,255,255,0.08);
	color: #fff !important;
}


/* =========================================================
   REGIONS
   ========================================================= */

.vw-v2-region-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.vw-v2-region-grid > p {
	display: none !important;
}

.vw-v2-region {
	padding: 25px 26px;
	border: 1px solid rgba(11,47,79,0.10);
	border-radius: 18px;
	background: rgba(255,255,255,0.82);
	box-shadow: 0 9px 24px rgba(10,35,52,0.055);
}

.vw-v2-region-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.45rem;
	font-weight: 700;
	color: var(--v2-navy);
}

.vw-v2-region-copy {
	margin: 7px 0 15px;
	color: var(--v2-muted);
	line-height: 1.45;
}

.vw-v2-region a {
	color: var(--v2-blue) !important;
	font-weight: 750;
	text-decoration: none !important;
}


/* =========================================================
   SITE PATHS
   ========================================================= */

.vw-v2-path-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 100px;
}

.vw-v2-path-grid > p {
	display: none !important;
}

.vw-v2-path {
	padding: 34px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(10,35,52,0.08);
}

.vw-v2-path-kicker {
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.18em;
	color: var(--v2-gold);
}

.vw-v2-path-title {
	margin-top: 11px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--v2-navy);
}

.vw-v2-path-copy {
	margin-top: 12px;
	line-height: 1.6;
	color: var(--v2-muted);
}

.vw-v2-path-link {
	margin-top: 18px;
}

.vw-v2-path-link a {
	color: var(--v2-blue) !important;
	font-weight: 750;
	text-decoration: none !important;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.vw-v2-final {
	margin-top: 100px;
	padding: 65px;
	border-radius: 28px;

	background:
		linear-gradient(
			130deg,
			#082c49 0%,
			#174f68 55%,
			#526e5c 100%
		);

	color: #fff;
	box-shadow: 0 22px 55px rgba(10,35,52,0.16);
}

.vw-v2-final-kicker {
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: #efd29a;
}

.vw-v2-final-title {
	margin-top: 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 5vw, 4.8rem);
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

.vw-v2-final-copy {
	max-width: 720px;
	margin-top: 15px;
	font-size: 1.1rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.88);
}

.vw-v2-final-search {
	max-width: 650px;
	margin-top: 28px;
}

.vw-v2-final-search .mw-inputbox-centered {
	width: 100%;
	text-align: left;
}

.vw-v2-final-search form {
	display: flex;
	gap: 10px;
	margin: 0;
}

.vw-v2-final-search input[type="text"],
.vw-v2-final-search .mw-inputbox-input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0 17px;
	border: 0;
	border-radius: 8px;
	background: #fff;
}

.vw-v2-final-search input[type="submit"],
.vw-v2-final-search .mw-ui-button {
	height: 52px !important;
	padding: 0 23px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--v2-gold) !important;
	color: #17202a !important;
	font-weight: 800 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

	.vw-v2-hero {
		min-height: 630px;
	}

	.vw-v2-hero-content {
		padding: 75px 48px 60px;
	}

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

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

	.vw-v2-feature-content {
		padding: 65px 50px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

	.vw-v2-hero {
		min-height: 670px;
		border-radius: 20px;
	}

	.vw-v2-hero-shade {
		background:
			linear-gradient(
				0deg,
				rgba(4,25,43,0.96) 0%,
				rgba(4,25,43,0.75) 60%,
				rgba(4,25,43,0.28) 100%
			);
	}

	.vw-v2-hero-content {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 35px 25px 35px;
	}

	.vw-v2-title {
		font-size: clamp(3.8rem, 18vw, 5.4rem);
	}

	.vw-v2-subtitle {
		font-size: 1.06rem;
	}

	.vw-v2-search form,
	.vw-v2-final-search form {
		flex-direction: column;
	}

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

	.vw-v2-intro {
		margin: 60px auto 70px;
	}

	.vw-v2-trip-grid,
	.vw-v2-destination-grid,
	.vw-v2-region-grid,
	.vw-v2-path-grid {
		grid-template-columns: 1fr;
	}

	.vw-v2-section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.vw-v2-destination {
		min-height: 400px;
	}

	.vw-v2-feature {
		min-height: 600px;
		border-radius: 20px;
	}

	.vw-v2-feature-shade {
		background:
			linear-gradient(
				0deg,
				rgba(5,28,45,0.97) 0%,
				rgba(5,28,45,0.74) 62%,
				rgba(5,28,45,0.20) 100%
			);
	}

	.vw-v2-feature-content {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 35px 26px;
	}

	.vw-v2-final {
		padding: 40px 26px;
		border-radius: 20px;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

	.vw-v2-title {
		font-size: 3.65rem;
	}

	.vw-v2-destination-content {
		left: 23px;
		right: 23px;
		bottom: 24px;
	}

	.vw-v2-trip-card {
		min-height: 250px;
	}

}

/* =========================================================
   VIRGINIA.WIKI — HOMEPAGE POSITION
   Single clean positioning rule
   ========================================================= */

/* Desktop */

@media (min-width: 1000px) {

	#content .vw-v2-home {
		transform: translateY(-90px) !important;
		margin-bottom: -90px !important;
	}

}

/* Tablet */

@media (min-width: 701px) and (max-width: 999px) {

	#content .vw-v2-home {
		transform: translateY(-55px) !important;
		margin-bottom: -55px !important;
	}

}

/* Mobile */

@media (max-width: 700px) {

	#content .vw-v2-home {
		transform: none !important;
		margin-bottom: 0 !important;
	}

}
/* =========================================================
   Virginia.wiki commercial foundation
   ========================================================= */

.vw-breadcrumb {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.5;
    opacity: 0.82;
}

.vw-breadcrumb-sep {
    display: inline-block;
    margin: 0 0.45rem;
    opacity: 0.55;
}

.vw-breadcrumb-current {
    font-weight: 600;
}

.vw-affiliate-disclosure {
    margin-top: 1rem;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(20, 35, 55, 0.15);
    font-size: 0.82rem;
    line-height: 1.45;
    opacity: 0.8;
}

.vw-book-destination {
    margin: 2rem 0;
    padding: 1.4rem;
    border: 1px solid rgba(20, 35, 55, 0.14);
    border-radius: 14px;
    background: #f8f5ec;
}

.vw-book-kicker {
    margin-bottom: 0.35rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    opacity: 0.7;
}

.vw-book-title {
    margin-bottom: 1rem;
    font-size: 1.45rem;
    line-height: 1.2;
    font-weight: 700;
}

.vw-book-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.vw-book-item {
    padding: 1rem;
    border-radius: 10px;
    background: rgba(255,255,255,0.72);
}

.vw-book-item-title {
    margin-bottom: 0.3rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.vw-book-item-text {
    margin-bottom: 0.8rem;
    font-size: 0.92rem;
    line-height: 1.45;
}

.vw-commerce-button {
    display: inline-block;
}

.vw-commerce-button a {
    display: inline-block;
    padding: 0.62rem 0.9rem;
    border-radius: 7px;
    background: #152c46;
    color: #fff !important;
    font-weight: 650;
    text-decoration: none !important;
}

.vw-commerce-button a:hover {
    opacity: 0.9;
}

.vw-claim-listing {
    margin: 1.5rem 0;
}

.vw-claim-status {
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(20, 35, 55, 0.14);
    border-radius: 12px;
    background: #f8f5ec;
}

.vw-claim-status--claimed {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.vw-claim-check {
    font-size: 1.2rem;
    font-weight: 700;
}

.vw-claim-heading {
    margin-bottom: 0.35rem;
    font-size: 1.05rem;
}

.vw-claim-copy {
    margin-bottom: 0.85rem;
    line-height: 1.5;
}

.vw-claim-small {
    font-size: 0.86rem;
    opacity: 0.76;
}

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

    .vw-book-destination {
        padding: 1rem;
    }

    .vw-book-title {
        font-size: 1.25rem;
    }
}


/* =========================================================
   Virginia.wiki Viator experience cards
   ========================================================= */

.vw-viator-destination {
    margin: 2rem 0;
}

.vw-viator-title {
    margin: 0.35rem 0 1rem;
    font-size: 1.45rem;
    line-height: 1.25;
    font-weight: 700;
}

.vw-viator-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.vw-viator-card {
    display: flex;
    flex-direction: column;
    min-height: 180px;
    padding: 1.1rem;
    border: 1px solid rgba(20, 35, 55, 0.13);
    border-radius: 12px;
    background: #fff;
}

.vw-viator-card-title {
    margin-bottom: 0.65rem;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
}

.vw-viator-meta {
    margin-bottom: 0.8rem;
    font-size: 0.9rem;
    line-height: 1.45;
    opacity: 0.82;
}

.vw-viator-sandbox {
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid rgba(20, 35, 55, 0.10);
    font-size: 0.78rem;
    line-height: 1.4;
    font-style: italic;
    opacity: 0.65;
}

.vw-viator-provider {
    margin-top: 0.9rem;
    font-size: 0.82rem;
    opacity: 0.72;
}

@media (max-width: 900px) {
    .vw-viator-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .vw-viator-grid {
        grid-template-columns: 1fr;
    }

    .vw-viator-card {
        min-height: 0;
    }
}
/* =========================================================
   Virginia.wiki Viator image-card polish
   ========================================================= */

/* Prevent cards/images from forcing the page wider */
.vw-viator-grid {
    width: 100%;
    min-width: 0;
}

.vw-viator-card {
    min-width: 0;
    overflow: hidden;
}

/* Viator product image */
.vw-viator-image {
    width: auto;
    height: 220px;
    margin: -1.1rem -1.1rem 1rem;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    background: rgba(20, 35, 55, 0.05);
}

.vw-viator-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
}

/* Accessibility text: available to screen readers, hidden visually */
.vw-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Keep long tour names from breaking layout */
.vw-viator-card-title {
    overflow-wrap: anywhere;
}

/* Tablet */
@media (max-width: 900px) {
    .vw-viator-image {
        height: 210px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .vw-viator-image {
        height: 220px;
    }
}

/* =========================================================
   VIRGINIA.WIKI — FINAL PLACE / ATTRACTION + COMMERCE LAYOUT
   Clean consolidated override block
   ========================================================= */

/* ---------------------------------------------------------
   Editorial width
   --------------------------------------------------------- */

.vw-place,
.vw-attraction {
    width: 100%;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ---------------------------------------------------------
   Desktop page position
   --------------------------------------------------------- */

@media screen and (min-width: 701px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: -32px !important;
    }
}


/* ---------------------------------------------------------
   Place / attraction hero
   --------------------------------------------------------- */

.vw-place-hero,
.vw-attraction-hero {
    width: 100%;
    height: 390px !important;
    min-height: 0 !important;
    margin: 0 auto 8px !important;
    overflow: hidden;
    border-radius: 20px !important;
}

.vw-place-hero-image,
.vw-attraction-hero-image {
    position: absolute;
    inset: 0;
}

.vw-place-hero-image img,
.vw-place-hero-image .mw-file-element,
.vw-attraction-hero-image img,
.vw-attraction-hero-image .mw-file-element {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

.vw-place-hero-overlay,
.vw-attraction-hero-overlay {
    left: 5.5% !important;
    right: 5.5% !important;
    bottom: 6.5% !important;
}

.vw-place-kicker,
.vw-attraction-kicker {
    margin-bottom: 8px !important;
}

.vw-place-title,
.vw-attraction-title {
    max-width: 860px !important;
    font-size: clamp(3.1rem, 5vw, 4.6rem) !important;
    line-height: 0.94 !important;
}

.vw-place-summary,
.vw-attraction-summary {
    max-width: 780px !important;
    margin-top: 11px !important;
    font-size: clamp(1rem, 1.35vw, 1.16rem) !important;
    line-height: 1.42 !important;
}


/* ---------------------------------------------------------
   Quick facts
   --------------------------------------------------------- */

.vw-place-quickfacts,
.vw-attraction-quickfacts {
    gap: 10px !important;
    margin: 0 0 8px !important;
}

.vw-place-quickfacts > div,
.vw-attraction-quickfacts > div {
    padding: 14px 16px !important;
}


/* ---------------------------------------------------------
   Introduction
   --------------------------------------------------------- */

.vw-place-intro,
.vw-attraction-intro {
    max-width: 930px !important;
    margin: 6px auto 12px !important;
    padding: 20px 24px !important;
    font-size: 1.04rem !important;
    line-height: 1.62 !important;
}


/* ---------------------------------------------------------
   Compact destination booking module
   --------------------------------------------------------- */

.vw-book-destination,
.vw-book-destination-compact {
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
}

.vw-book-destination-compact {
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 35, 55, 0.13) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.vw-book-kicker {
    margin: 0 0 2px !important;
}

.vw-book-title {
    margin: 0 0 7px !important;
}

.vw-book-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(20, 35, 55, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
}

.vw-book-row-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.vw-book-row .vw-book-item-title {
    margin: 0 0 3px !important;
}

.vw-book-row .vw-book-item-text {
    margin: 0 !important;
}

.vw-book-row-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.vw-book-row-actions .vw-commerce-button {
    margin: 0;
}

.vw-book-row-actions .vw-commerce-button a {
    display: inline-block;
    padding: 10px 15px;
    border-radius: 7px;
    background: #152c46;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}


/* ---------------------------------------------------------
   Remove empty template spacing
   --------------------------------------------------------- */

.vw-book-destination p:empty,
.vw-book-destination-compact p:empty,
.vw-viator-destination p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   Viator compact spacing
   --------------------------------------------------------- */

.vw-book-destination + .vw-viator-destination,
.vw-book-destination-compact + .vw-viator-destination {
    margin-top: 6px !important;
}

.vw-viator-destination {
    margin-bottom: 10px !important;
}

.vw-viator-title {
    margin: 0 0 8px !important;
}

.vw-viator-grid {
    gap: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.vw-viator-card {
    min-height: 0 !important;
}

.vw-viator-provider {
    margin: 6px 0 0 !important;
}

.vw-affiliate-disclosure {
    margin: 6px 0 0 !important;
    padding-top: 6px !important;
}


/* ---------------------------------------------------------
   Article section rhythm
   --------------------------------------------------------- */

.vw-place h2,
.vw-attraction h2 {
    margin-top: 22px !important;
    margin-bottom: 10px !important;
    padding-bottom: 6px !important;
}

.vw-place h3,
.vw-attraction h3 {
    margin-top: 16px !important;
}

.vw-viator-destination + h2,
.vw-book-destination + h2,
.vw-book-destination-compact + h2 {
    margin-top: 18px !important;
}

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


/* ---------------------------------------------------------
   Article cards / explore grids
   --------------------------------------------------------- */

.vw-place-card-grid,
.vw-place-explore-grid,
.vw-attraction-card-grid,
.vw-attraction-nearby-grid {
    margin-top: 10px !important;
    margin-bottom: 16px !important;
}

.vw-place-card,
.vw-attraction-card {
    padding: 20px !important;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media screen and (max-width: 1000px) {
    .vw-place,
    .vw-attraction {
        max-width: 100% !important;
    }

    .vw-place-hero,
    .vw-attraction-hero {
        height: 360px !important;
        min-height: 0 !important;
    }

    .vw-place-title,
    .vw-attraction-title {
        font-size: clamp(3rem, 7vw, 4.2rem) !important;
    }
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media screen and (max-width: 700px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 0 !important;
    }

    .vw-place-hero,
    .vw-attraction-hero {
        height: 330px !important;
        min-height: 0 !important;
        border-radius: 16px !important;
    }

    .vw-place-title,
    .vw-attraction-title {
        font-size: clamp(2.6rem, 13vw, 3.7rem) !important;
    }

    .vw-place-summary,
    .vw-attraction-summary {
        font-size: 0.96rem !important;
    }

    .vw-place-intro,
    .vw-attraction-intro {
        margin: 8px 0 12px !important;
        padding: 18px !important;
    }

    .vw-book-destination,
    .vw-book-destination-compact {
        margin-bottom: 8px !important;
    }

    .vw-book-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .vw-book-row-actions {
        width: 100%;
    }

    .vw-viator-destination {
        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }

    .vw-place h2,
    .vw-attraction h2 {
        margin-top: 20px !important;
    }
}


/* =========================================================
   PRINT CLEANUP
   ========================================================= */

@media print {
    /* Browser print headers consume substantial vertical room. */
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: -72px !important;
    }

    /* Keep hero + all quick facts comfortably on page one. */
    .vw-place-hero,
    .vw-attraction-hero {
        height: 335px !important;
        min-height: 0 !important;
        margin-bottom: 5px !important;
    }

    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 5px !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }

    .vw-book-destination,
    .vw-book-destination-compact {
        margin: 0 0 5px !important;
        padding-bottom: 5px !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .vw-book-row {
        min-height: 0 !important;
        height: auto !important;
        padding: 9px 12px !important;
    }

    .vw-viator-destination {
        margin-top: 2px !important;
        margin-bottom: 5px !important;
    }

    /* Keep all three Viator products on one print row. */
    .vw-viator-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .vw-viator-card {
        min-height: 0 !important;
        padding: 0.72rem !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .vw-viator-image {
        height: 118px !important;
        margin: -0.72rem -0.72rem 0.65rem !important;
    }

    .vw-viator-card-title {
        font-size: 0.86rem !important;
        line-height: 1.22 !important;
    }

    .vw-viator-meta {
        font-size: 0.76rem !important;
        line-height: 1.3 !important;
    }

    .vw-viator-card .vw-commerce-button a {
        padding: 6px 9px !important;
        font-size: 0.78rem !important;
    }

    /* Do not print affiliate URLs after commerce links/buttons. */
    .vw-commerce-button a::after,
    .vw-viator-card a::after,
    .vw-viator-card-title a::after {
        content: none !important;
        display: none !important;
    }

    .vw-affiliate-disclosure {
        margin-top: 4px !important;
        padding-top: 4px !important;
    }

    .vw-place h2,
    .vw-attraction h2 {
        margin-top: 17px !important;
        margin-bottom: 8px !important;
    }

    .vw-place-card-grid,
    .vw-place-explore-grid,
    .vw-attraction-card-grid,
    .vw-attraction-nearby-grid {
        margin-top: 8px !important;
        margin-bottom: 12px !important;
    }
}

/* =========================================================
   VIRGINIA.WIKI — PARSER GAP + COMMERCE SPACING HOTFIX
   Tightens MediaWiki-generated whitespace between modules.
   ========================================================= */

/* Remove blank paragraphs / empty parser elements inserted between block templates. */
.vw-place > p:empty,
.vw-attraction > p:empty,
.vw-place > .mw-empty-elt,
.vw-attraction > .mw-empty-elt {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Modern-browser cleanup for paragraphs that contain only <br> elements. */
.vw-place > p:has(> br):not(:has(> :not(br))),
.vw-attraction > p:has(> br):not(:has(> :not(br))) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Quick facts -> introduction. */
.vw-place-quickfacts,
.vw-attraction-quickfacts {
    margin-bottom: 2px !important;
}

.vw-place-quickfacts ~ .vw-place-intro,
.vw-attraction-quickfacts ~ .vw-attraction-intro {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

/* Introduction -> Plan Your Visit. */
.vw-place-intro ~ .vw-book-destination,
.vw-place-intro ~ .vw-book-destination-compact,
.vw-attraction-intro ~ .vw-book-destination,
.vw-attraction-intro ~ .vw-book-destination-compact {
    margin-top: 0 !important;
}

.vw-book-destination,
.vw-book-destination-compact {
    margin-bottom: 2px !important;
    padding-bottom: 4px !important;
}

.vw-book-kicker {
    margin-bottom: 1px !important;
}

.vw-book-title {
    margin-bottom: 5px !important;
}

.vw-book-row {
    padding: 9px 12px !important;
}

/* Make the Expedia action reliably look like a button. */
.vw-book-row-actions a,
.vw-book-row-actions a.external {
    display: inline-block !important;
    padding: 9px 14px !important;
    border-radius: 7px !important;
    background: #152c46 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Plan Your Visit -> Viator. General sibling selectors survive parser whitespace. */
.vw-book-destination ~ .vw-viator-destination,
.vw-book-destination-compact ~ .vw-viator-destination {
    margin-top: 0 !important;
}

.vw-viator-destination {
    margin-top: 0 !important;
    margin-bottom: 3px !important;
}

.vw-viator-title {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

.vw-viator-grid {
    margin: 0 !important;
}

.vw-viator-provider {
    margin-top: 4px !important;
}

.vw-affiliate-disclosure {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
    padding-top: 4px !important;
}

/* Viator -> first editorial heading. */
.vw-viator-destination ~ h2 {
    margin-top: 12px !important;
}

/* Keep general article rhythm compact but not cramped. */
.vw-place h2,
.vw-attraction h2 {
    margin-top: 18px !important;
    margin-bottom: 8px !important;
}

.vw-place h3,
.vw-attraction h3 {
    margin-top: 14px !important;
}

/* Print: same parser-gap cleanup, with a compact commerce flow. */
@media print {
    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 8px !important;
    }

    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }

    .vw-book-destination,
    .vw-book-destination-compact {
        margin: 0 !important;
        padding-bottom: 3px !important;
    }

    .vw-viator-destination {
        margin: 0 0 3px !important;
    }

    .vw-affiliate-disclosure {
        margin-top: 2px !important;
        padding-top: 3px !important;
    }

    .vw-viator-destination ~ h2 {
        margin-top: 10px !important;
    }
}

/* Mobile should remain naturally stacked and readable. */
@media screen and (max-width: 700px) {
    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 0 !important;
    }

    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 6px !important;
    }

    .vw-place-intro,
    .vw-attraction-intro {
        margin-bottom: 8px !important;
    }

    .vw-viator-destination ~ h2 {
        margin-top: 16px !important;
    }
}


/* =========================================================
   TOP-OF-PAGE SAFETY / SPACING
   ========================================================= */

@media screen and (min-width: 701px) {
    .vw-place-hero,
    .vw-attraction-hero {
        margin-bottom: 12px !important;
    }

    .vw-place-quickfacts,
    .vw-attraction-quickfacts {
        margin-bottom: 14px !important;
    }

    .vw-place-intro,
    .vw-attraction-intro {
        margin-top: 0 !important;
        margin-bottom: 16px !important;
    }
}

/* =========================================================
   PLACE PAGE TOP POSITION — CORRECTIVE OVERRIDE
   ========================================================= */

@media screen and (min-width: 701px) {

    .mw-parser-output .vw-place,
    .mw-parser-output .vw-attraction {
        margin-top: 48px !important;
        transform: none !important;
        top: auto !important;
    }
}

/* =========================================================
   Virginia.wiki — Commerce spacing only
   Do not alter hero / quick-fact / intro positioning
   ========================================================= */


/* ---------------------------------------------------------
   PLAN YOUR VISIT
   --------------------------------------------------------- */

.vw-book-destination,
.vw-book-destination-compact {
    margin-top: 10px !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}

.vw-book-kicker {
    margin: 0 0 4px !important;
}

.vw-book-title {
    margin: 0 0 10px !important;
}

.vw-book-row {
    margin: 0 !important;
    padding: 12px 16px !important;
}


/* ---------------------------------------------------------
   Remove empty MediaWiki paragraphs around commerce modules
   --------------------------------------------------------- */

.vw-book-destination p:empty,
.vw-book-destination-compact p:empty,
.vw-viator-destination p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   EXPEDIA -> VIATOR
   --------------------------------------------------------- */

.vw-book-destination + .vw-viator-destination,
.vw-book-destination-compact + .vw-viator-destination {
    margin-top: 8px !important;
}

.vw-viator-destination {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.vw-viator-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.vw-viator-grid {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 12px !important;
}


/* ---------------------------------------------------------
   VIATOR FOOTER / AFFILIATE DISCLOSURE
   --------------------------------------------------------- */

.vw-viator-provider {
    margin-top: 7px !important;
    margin-bottom: 0 !important;
}

.vw-affiliate-disclosure {
    margin-top: 7px !important;
    margin-bottom: 0 !important;
    padding-top: 7px !important;
}


/* ---------------------------------------------------------
   VIATOR -> "WHY VISIT..." HEADING
   MediaWiki 1.46 may wrap headings in .mw-heading
   --------------------------------------------------------- */

.vw-viator-destination + .mw-heading,
.vw-viator-destination + h2,
.vw-viator-destination + p:empty + .mw-heading,
.vw-viator-destination + p:empty + h2 {
    margin-top: 20px !important;
}


/* Keep the first editorial heading compact */
.vw-place .mw-heading h2,
.vw-attraction .mw-heading h2 {
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   PRINT
   --------------------------------------------------------- */

@media print {

    .vw-book-destination,
    .vw-book-destination-compact {
        margin-top: 6px !important;
        margin-bottom: 5px !important;
        padding-bottom: 5px !important;
    }

    .vw-book-row {
        padding: 9px 12px !important;
    }

    .vw-viator-destination {
        margin-top: 5px !important;
        margin-bottom: 0 !important;
    }

    .vw-viator-provider {
        margin-top: 4px !important;
    }

    .vw-affiliate-disclosure {
        margin-top: 4px !important;
        padding-top: 4px !important;
    }

    .vw-viator-destination + .mw-heading,
    .vw-viator-destination + h2,
    .vw-viator-destination + p:empty + .mw-heading,
    .vw-viator-destination + p:empty + h2 {
        margin-top: 12px !important;
    }
}
/* =========================================================
   Virginia.wiki — FINAL commerce spacing adjustment
   ========================================================= */

/* Expedia -> Viator */
.vw-place .vw-book-destination,
.vw-place .vw-book-destination-compact,
.vw-attraction .vw-book-destination,
.vw-attraction .vw-book-destination-compact {
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;
}

.vw-place .vw-viator-destination,
.vw-attraction .vw-viator-destination {
    margin-top: -10px !important;
    margin-bottom: -22px !important;
}

/* Keep the Viator footer tight */
.vw-place .vw-viator-provider,
.vw-attraction .vw-viator-provider {
    margin-top: 4px !important;
}

.vw-place .vw-affiliate-disclosure,
.vw-attraction .vw-affiliate-disclosure {
    margin-top: 4px !important;
    padding-top: 5px !important;
}

/* Pull the first editorial heading closer to commerce */
.vw-place .vw-viator-destination + .mw-heading,
.vw-place .vw-viator-destination + h2,
.vw-attraction .vw-viator-destination + .mw-heading,
.vw-attraction .vw-viator-destination + h2 {
    margin-top: 8px !important;
}


/* Print needs slightly tighter commercial spacing */
@media print {

    .vw-place .vw-book-destination,
    .vw-place .vw-book-destination-compact,
    .vw-attraction .vw-book-destination,
    .vw-attraction .vw-book-destination-compact {
        margin-bottom: 0 !important;
        padding-bottom: 2px !important;
    }

    .vw-place .vw-viator-destination,
    .vw-attraction .vw-viator-destination {
        margin-top: -14px !important;
        margin-bottom: -28px !important;
    }

    .vw-place .vw-affiliate-disclosure,
    .vw-attraction .vw-affiliate-disclosure {
        margin-top: 2px !important;
        padding-top: 3px !important;
    }
}

/* =========================================================
   FINAL FIX — Expedia / Viator vertical spacing
   ========================================================= */

/* Expedia module must collapse to its actual content height */
.vw-place .vw-book-destination,
.vw-place .vw-book-destination-compact,
.vw-attraction .vw-book-destination,
.vw-attraction .vw-book-destination-compact {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    border-bottom: 0 !important;
}

/* Expedia row itself */
.vw-place .vw-book-row,
.vw-attraction .vw-book-row {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}

/* Put the separator directly above Viator instead */
.vw-place .vw-viator-destination,
.vw-attraction .vw-viator-destination {
    height: auto !important;
    min-height: 0 !important;
    margin: 8px 0 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(20, 35, 55, 0.13);
}

/* Keep Viator heading close to separator */
.vw-place .vw-viator-title,
.vw-attraction .vw-viator-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* Kill any empty parser paragraphs between the two modules */
.vw-book-destination + p:empty,
.vw-book-destination-compact + p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* PRINT */
@media print {

    .vw-place .vw-book-destination,
    .vw-place .vw-book-destination-compact,
    .vw-attraction .vw-book-destination,
    .vw-attraction .vw-book-destination-compact {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding-bottom: 5px !important;
    }

    .vw-place .vw-viator-destination,
    .vw-attraction .vw-viator-destination {
        margin-top: 5px !important;
        padding-top: 8px !important;
    }
}

/* =========================================================
   Virginia.wiki — Commerce flow gap fix
   ========================================================= */

.vw-commerce-flow {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove parser-generated blank paragraphs/br elements */
.vw-commerce-flow > p,
.vw-commerce-flow > br {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Expedia */
.vw-commerce-flow .vw-book-destination,
.vw-commerce-flow .vw-book-destination-compact {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
}

/* Viator starts immediately after Expedia */
.vw-commerce-flow .vw-viator-destination {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid rgba(20, 35, 55, 0.13);
}

/* No stray spacing before the Viator heading */
.vw-commerce-flow .vw-viator-title {
    margin: 0 0 10px !important;
}

/* Keep disclosure compact */
.vw-commerce-flow .vw-viator-provider {
    margin: 6px 0 0 !important;
}

.vw-commerce-flow .vw-affiliate-disclosure {
    margin: 6px 0 0 !important;
    padding-top: 6px !important;
}

/* Tight transition into the first editorial section */
.vw-commerce-flow + .mw-heading,
.vw-commerce-flow + h2 {
    margin-top: 18px !important;
}


/* PRINT */
@media print {

    .vw-commerce-flow .vw-book-destination,
    .vw-commerce-flow .vw-book-destination-compact {
        padding-bottom: 4px !important;
    }

    .vw-commerce-flow .vw-viator-destination {
        padding-top: 6px !important;
    }

    .vw-commerce-flow + .mw-heading,
    .vw-commerce-flow + h2 {
        margin-top: 10px !important;
    }
}