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

MediaWiki:Common.css: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 1: Line 1:
/* =========================================================
/* =========================================================
   VIRGINIA.WIKI — COMPLETE SITE STYLES
   VIRGINIA.WIKI
  MASTER SITE STYLESHEET
   ========================================================= */
   ========================================================= */


/* =========================================================
/* =========================================================
Line 16: Line 18:
--vw-cream: #f6f2e7;
--vw-cream: #f6f2e7;
--vw-text: #172535;
--vw-text: #172535;
--vw-muted: #5b6873;
--vw-white: #ffffff;
--vw-border: rgba(11, 47, 79, 0.13);
--vw-shadow: 0 14px 34px rgba(19, 43, 60, 0.12);
color: var(--vw-text);
}
}




/* =========================================================
/* =========================================================
   MAIN PAGE
   GENERAL CONTENT
   ========================================================= */
   ========================================================= */


.vw-home {
.vw-home *,
max-width: 1380px;
.vw-place *,
.vw-attraction * {
box-sizing: border-box;
}
 
.vw-home img,
.vw-place img,
.vw-attraction img {
max-width: 100%;
height: auto;
}
 
.vw-place,
.vw-attraction {
width: 100%;
max-width: 1320px;
margin: 0 auto;
margin: 0 auto;
color: var(--vw-text);
}
}
.vw-place p,
.vw-attraction p {
line-height: 1.72;
}
.vw-place li,
.vw-attraction li {
line-height: 1.65;
}
/* =========================================================
  MAIN PAGE
  ========================================================= */


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


.vw-card-grid > p,
.vw-home {
.vw-photo-card-grid > p,
width: 100%;
.vw-feature-grid > p,
max-width: 1320px;
.vw-link-grid > p,
margin: 0 auto;
.vw-destination-grid > p,
.vw-secondary-destinations > p {
display: none !important;
}
}




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


.vw-hero {
.vw-home-hero {
position: relative;
position: relative;
overflow: hidden;
overflow: hidden;
display: flex;
min-height: 610px;
align-items: center;
padding: 105px 95px 120px;
min-height: 430px;
padding: clamp(3rem, 7vw, 6.5rem);
margin: 0 0 4.5rem;
border-radius: 30px;
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;
color: #fff;
background:
radial-gradient(circle at 82% 18%, rgba(255,214,132,.55), transparent 18%),
linear-gradient(135deg, #092943 0%, #356d8b 58%, #657d64 100%);
box-shadow: 0 22px 60px rgba(11,47,79,.20);
}
}


.vw-hero::before {
.vw-home-hero::before,
.vw-home-hero::after {
content: "";
content: "";
position: absolute;
position: absolute;
left: -5%;
left: -5%;
right: -5%;
right: -5%;
bottom: -2%;
bottom: -1px;
height: 42%;
pointer-events: none;
background: rgba(17,57,78,.48);
}
 
.vw-home-hero::before {
height: 185px;
background: #174965;
clip-path: polygon(
clip-path: polygon(
0 70%, 10% 48%, 20% 60%, 32% 28%,
0 70%,
43% 62%, 55% 38%, 66% 61%, 77% 35%,
10% 34%,
89% 58%, 100% 37%, 100% 100%, 0 100%
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 {
.vw-home-hero::after {
content: "";
height: 115px;
position: absolute;
background: #174f59;
left: -5%;
right: -5%;
bottom: -8%;
height: 33%;
background: rgba(24,75,78,.48);
clip-path: polygon(
clip-path: polygon(
0 60%, 14% 37%, 28% 67%, 44% 29%,
0 65%,
58% 57%, 73% 31%, 87% 59%, 100% 42%,
12% 10%,
100% 100%, 0 100%
24% 78%,
39% 0,
54% 70%,
68% 15%,
83% 72%,
100% 25%,
100% 100%,
0 100%
);
);
opacity: 0.96;
}
}


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


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


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


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




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


.vw-search {
.vw-home-search {
position: relative;
position: relative;
z-index: 3;
z-index: 5;
max-width: 700px;
max-width: 760px;
margin-top: 2.2rem;
margin-top: 38px;
}
 
.vw-search .mw-inputbox-centered {
text-align: left !important;
}
}


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


.vw-search input[type="text"] {
.vw-home-search input[type="text"],
.vw-home-search .mw-inputbox-input {
flex: 1;
flex: 1;
min-width: 0;
min-width: 0;
height: 58px;
height: 52px;
box-sizing: border-box;
padding: 0 16px;
padding: 0 1.25rem;
border: 1px solid rgba(255,255,255,0.55);
border: 1px solid rgba(255,255,255,.45);
border-radius: 5px;
border-radius: 14px;
background: rgba(255,255,255,0.94);
background: rgba(255,255,255,.96);
color: #172535;
font-size: 1.05rem;
font-size: 1.05rem;
box-shadow: 0 9px 25px rgba(0,0,0,.13);
color: var(--vw-text);
}
}


.vw-search input[type="text"]:focus {
.vw-home-search input[type="submit"],
outline: 3px solid rgba(255,255,255,.25);
.vw-home-search .mw-ui-button {
border-color: #fff;
min-width: 120px;
}
height: 52px;
 
padding: 0 24px;
.vw-search input[type="submit"],
.vw-search button {
min-height: 58px;
padding: 0 1.7rem;
border: 0 !important;
border: 0 !important;
border-radius: 14px !important;
border-radius: 15px !important;
background: #fff !important;
background: #fff !important;
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-size: 1rem;
font-weight: 800 !important;
font-weight: 800;
box-shadow: none !important;
cursor: pointer;
box-shadow: 0 9px 25px rgba(0,0,0,.13);
}
}


.vw-search input[type="submit"]:hover,
.vw-search button:hover {
background: var(--vw-cream) !important;
}


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


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


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


 
.vw-home-section-intro {
/* DISCOVER CARDS */
max-width: 850px;
 
margin: 0 0 30px;
.vw-card-grid,
font-size: 1.08rem;
.vw-photo-card-grid {
line-height: 1.65;
display: grid !important;
color: var(--vw-muted);
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 1.2rem !important;
align-items: stretch;
}
}


.vw-card-grid > .vw-card,
.vw-photo-card-grid > .vw-card {
min-width: 0;
width: auto;
}


.vw-card {
/* =========================================================
min-width: 0;
  DISCOVER VIRGINIA PHOTO CARDS
min-height: 180px;
  ========================================================= */
padding: 1.7rem;
border: 1px solid rgba(11,47,79,.10);
border-radius: 22px;
background: rgba(255,255,255,.82);
box-shadow: 0 8px 28px rgba(11,47,79,.07);
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}


.vw-card:hover {
.vw-photo-grid {
transform: translateY(-5px);
display: grid;
border-color: rgba(11,47,79,.20);
grid-template-columns: repeat(4, minmax(0, 1fr));
box-shadow: 0 16px 35px rgba(11,47,79,.13);
gap: 22px;
}
 
.vw-card h3 {
margin: 0 0 .9rem;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
color: var(--vw-navy);
}
}


.vw-photo-card {
.vw-photo-card {
display: flex;
position: relative;
flex-direction: column;
min-height: 300px;
min-height: 400px;
padding: 0 !important;
overflow: hidden;
overflow: hidden;
background: #fff;
border-radius: 22px;
background: var(--vw-navy);
box-shadow: var(--vw-shadow);
}
}


.vw-card-image {
.vw-photo-card img {
display: block;
position: absolute;
inset: 0;
width: 100%;
width: 100%;
height: 200px;
height: 100%;
margin: 0;
object-fit: cover;
padding: 0;
overflow: hidden;
background: var(--vw-sky);
line-height: 0;
}
}


.vw-card-image > span,
.vw-photo-card::after {
.vw-card-image > p,
content: "";
.vw-card-image .mw-default-size,
position: absolute;
.vw-card-image .mw-file-description,
inset: 0;
.vw-card-image a {
background: linear-gradient(
display: block !important;
180deg,
width: 100% !important;
rgba(5,26,43,0.03) 15%,
max-width: 100% !important;
rgba(5,26,43,0.78) 100%
height: 100% !important;
);
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
}


.vw-card-image img,
.vw-photo-card-content {
.vw-card-image .mw-file-element {
position: absolute;
display: block !important;
z-index: 2;
width: 100% !important;
left: 24px;
max-width: 100% !important;
right: 24px;
height: 200px !important;
bottom: 22px;
margin: 0 !important;
color: #fff;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
}
}


.vw-card-content {
.vw-photo-card h3 {
display: flex;
margin: 0 0 5px;
flex-direction: column;
font-family: Georgia, "Times New Roman", serif;
flex: 1;
font-size: 1.7rem;
min-width: 0;
color: #fff;
padding: 1.45rem 1.55rem 1.55rem;
line-height: 1.6;
}
}


.vw-card-content h3 {
.vw-photo-card p {
margin: 0 0 .75rem;
margin: 0;
line-height: 1.45;
color: rgba(255,255,255,0.9);
}
}


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


.vw-card-content h3 a:hover {
/* =========================================================
text-decoration: underline !important;
  POPULAR DESTINATIONS
}
  ========================================================= */
 
.vw-card-link {
margin-top: auto;
padding-top: 1.2rem;
font-size: .93rem;
font-weight: 800;
}
 
.vw-card-link a,
.vw-card-link a.new {
color: var(--vw-blue) !important;
text-decoration: none !important;
}
 
.vw-card-link a:hover {
text-decoration: underline !important;
}
 
 
/* HOMEPAGE RED LINKS */
 
body.page-Main_Page .vw-home a.new {
color: var(--vw-navy) !important;
text-decoration: none !important;
}
 
body.page-Main_Page .vw-home a.new:hover {
text-decoration: underline !important;
}
 
body.page-Main_Page .vw-card-link a.new {
color: var(--vw-blue) !important;
}
 
 
/* POPULAR DESTINATIONS */


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


.vw-destination-card {
.vw-destination-card {
position: relative;
position: relative;
min-height: 420px;
overflow: hidden;
overflow: hidden;
min-width: 0;
border-radius: 25px;
height: 340px;
border-radius: 24px;
background: var(--vw-navy);
background: var(--vw-navy);
box-shadow: 0 12px 32px rgba(11,47,79,.12);
box-shadow: var(--vw-shadow);
transition: transform .2s ease, box-shadow .2s ease;
}
 
.vw-destination-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 42px rgba(11,47,79,.20);
}
}


.vw-destination-image {
.vw-destination-card img {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
overflow: hidden;
object-fit: cover;
line-height: 0;
}
 
.vw-destination-image > span,
.vw-destination-image > p,
.vw-destination-image .mw-default-size,
.vw-destination-image .mw-file-description,
.vw-destination-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
 
.vw-destination-image img,
.vw-destination-image .mw-file-element {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
transition: transform .5s ease;
}
 
.vw-destination-card:hover .vw-destination-image img {
transform: scale(1.04);
}
}


Line 413: Line 346:
position: absolute;
position: absolute;
inset: 0;
inset: 0;
z-index: 1;
background: linear-gradient(
pointer-events: none;
180deg,
background:
rgba(8,34,51,0.03) 15%,
linear-gradient(
rgba(8,34,51,0.88) 100%
to top,
);
rgba(2,18,31,.97) 0%,
rgba(2,18,31,.82) 34%,
rgba(2,18,31,.32) 63%,
rgba(2,18,31,.03) 82%
);
}
}


.vw-destination-overlay {
.vw-destination-card-content {
position: absolute;
position: absolute;
left: 0;
z-index: 3;
right: 0;
left: 34px;
bottom: 0;
right: 34px;
z-index: 2;
bottom: 32px;
padding: 1.8rem 2rem 2rem;
}
}


.vw-destination-title-text {
.vw-destination-card h3 {
margin: 0 0 .55rem;
margin: 0 0 12px;
color: #fff !important;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 3vw, 2.8rem);
font-size: clamp(2rem, 3vw, 3rem);
font-weight: 700;
line-height: 1;
line-height: 1.02;
color: #fff;
text-shadow: 0 2px 5px rgba(0,0,0,.8), 0 5px 15px rgba(0,0,0,.4);
}
}


.vw-destination-description {
.vw-destination-card p {
max-width: 560px;
margin: 0 0 18px;
color: #fff !important;
max-width: 520px;
font-size: 1rem;
line-height: 1.55;
font-weight: 500;
color: rgba(255,255,255,0.92);
line-height: 1.5;
text-shadow: 0 1px 3px rgba(0,0,0,.8);
}
 
.vw-destination-cta {
margin-top: .8rem;
font-size: .92rem;
font-weight: 800;
}
}


body.page-Main_Page .vw-destination-cta a,
.vw-destination-card a {
body.page-Main_Page .vw-destination-cta a.new,
display: inline-block;
body.page-Main_Page .vw-destination-cta a:visited {
padding: 10px 17px;
border: 1px solid rgba(255,255,255,0.65);
border-radius: 999px;
color: #fff !important;
color: #fff !important;
-webkit-text-fill-color: #fff !important;
font-weight: 700;
text-decoration: none !important;
text-decoration: none !important;
text-shadow: 0 1px 3px rgba(0,0,0,.8);
background: rgba(255,255,255,0.10);
backdrop-filter: blur(5px);
}
}


body.page-Main_Page .vw-destination-cta a:hover {
.vw-destination-card a:hover {
color: #fff !important;
background: rgba(255,255,255,0.20);
-webkit-text-fill-color: #fff !important;
text-decoration: underline !important;
}
}




/* SECONDARY DESTINATIONS */
/* =========================================================
  SECONDARY DESTINATION LINKS
  ========================================================= */


.vw-secondary-destinations {
.vw-destination-links {
display: grid;
display: flex;
grid-template-columns: repeat(4, minmax(0, 1fr));
flex-wrap: wrap;
gap: .85rem;
gap: 12px;
margin-top: 1rem;
margin-top: 22px;
}
}


.vw-secondary-destinations > a {
.vw-destination-links a {
display: block;
display: inline-block;
padding: 1rem 1.15rem;
padding: 10px 16px;
border: 1px solid rgba(11,47,79,.11);
border: 1px solid var(--vw-border);
border-radius: 14px;
border-radius: 999px;
background: rgba(255,255,255,.84);
background: rgba(255,255,255,0.72);
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-weight: 700;
font-weight: 700;
text-align: center;
text-decoration: none !important;
text-decoration: none !important;
transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.vw-secondary-destinations > a.new {
color: var(--vw-navy) !important;
}
}


.vw-secondary-destinations > a:hover {
.vw-destination-links a:hover {
transform: translateY(-2px);
background: #fff;
background: #fff;
box-shadow: 0 8px 20px rgba(11,47,79,.08);
}
}




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


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


.vw-feature-grid > .vw-feature {
.vw-feature-card {
min-width: 0;
padding: 30px;
width: auto;
border: 1px solid var(--vw-border);
}
border-radius: 22px;
 
background: rgba(255,255,255,0.83);
.vw-feature {
box-shadow: 0 10px 26px rgba(19,43,60,0.07);
min-width: 0;
min-height: 185px;
margin: 0 !important;
padding: 1.9rem;
border: 1px solid rgba(11,47,79,.08);
border-radius: 23px;
background:
linear-gradient(
145deg,
rgba(220,234,242,.92),
rgba(246,242,231,.92)
);
line-height: 1.6;
}
}


.vw-feature h3 {
.vw-feature-card h3 {
margin: 0 0 .85rem;
margin: 0 0 10px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
font-size: 1.65rem;
color: var(--vw-navy);
color: var(--vw-navy);
}
}


.vw-feature h3 a,
.vw-feature-card p {
.vw-feature h3 a.new {
margin: 0 0 15px;
color: var(--vw-navy) !important;
line-height: 1.6;
text-decoration: none !important;
color: var(--vw-muted);
}
}


.vw-feature h3 a:hover {
.vw-feature-card a {
text-decoration: underline !important;
color: var(--vw-blue) !important;
font-weight: 700;
}
}




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


.vw-home-bottom {
.vw-start-panel {
padding: 2.5rem 2.7rem;
margin-top: 78px;
border-radius: 26px;
padding: 54px;
background: linear-gradient(135deg, #092943, #174a69);
border-radius: 28px;
color: #fff !important;
background:
box-shadow: 0 16px 38px rgba(11,47,79,.16);
linear-gradient(
135deg,
#0b2f4f 0%,
#194b67 55%,
#466b60 100%
);
color: #fff;
box-shadow: var(--vw-shadow);
}
}


.vw-bottom-title {
.vw-start-panel h2 {
margin: 0 0 1.25rem;
margin: 0 0 14px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 4vw, 3rem);
font-size: clamp(2.2rem, 4vw, 3.5rem);
font-weight: 700;
color: #fff;
line-height: 1.1;
color: #fff !important;
}
}


.vw-bottom-text,
.vw-start-panel p {
.vw-home-bottom,
max-width: 850px;
.vw-home-bottom p,
margin: 0;
.vw-home-bottom div,
font-size: 1.08rem;
.vw-home-bottom span,
.vw-home-bottom h2,
.vw-home-bottom h3 {
color: #fff !important;
}
 
.vw-bottom-text {
font-size: 1.05rem;
line-height: 1.65;
line-height: 1.65;
}
color: rgba(255,255,255,0.9);
 
.vw-home-bottom a,
.vw-home-bottom a:hover {
color: #fff !important;
}
}


Line 600: Line 496:
   ========================================================= */
   ========================================================= */


.vw-place {
body.page-Williamsburg_Virginia .mw-first-heading,
max-width: 1280px;
body.page-Williamsburg_Virginia #firstHeading,
margin: 0 auto;
body.page-Jamestown_Virginia .mw-first-heading,
color: var(--vw-text);
body.page-Jamestown_Virginia #firstHeading,
body.page-Yorktown_Virginia .mw-first-heading,
body.page-Yorktown_Virginia #firstHeading {
display: none !important;
}
}


body.page-Williamsburg_Virginia .mw-first-heading,
 
body.page-Williamsburg_Virginia #firstHeading {
/* =========================================================
display: none;
  PLACE HERO
}
  ========================================================= */


.vw-place-hero {
.vw-place-hero {
position: relative;
position: relative;
width: 100%;
min-height: 560px;
overflow: hidden;
overflow: hidden;
min-height: 470px;
margin-bottom: 28px;
margin-bottom: 1.4rem;
border-radius: 28px;
border-radius: 28px;
background: var(--vw-navy);
background: var(--vw-navy);
box-shadow: 0 20px 50px rgba(11,47,79,.16);
box-shadow: var(--vw-shadow);
}
}


Line 624: Line 524:
position: absolute;
position: absolute;
inset: 0;
inset: 0;
width: 100%;
height: 100%;
overflow: hidden;
line-height: 0;
}
}


.vw-place-hero-image > span,
.vw-place-hero-image .mw-file-element,
.vw-place-hero-image > p,
.vw-place-hero-image img {
.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;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
height: 100% !important;
margin: 0 !important;
object-fit: cover;
padding: 0 !important;
line-height: 0 !important;
}
}


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


Line 660: Line 543:
position: absolute;
position: absolute;
inset: 0;
inset: 0;
z-index: 1;
pointer-events: none;
background:
background:
linear-gradient(
linear-gradient(
to top,
180deg,
rgba(3,20,34,.92) 0%,
rgba(6,27,44,0.08) 0%,
rgba(3,20,34,.62) 40%,
rgba(6,27,44,0.25) 35%,
rgba(3,20,34,.16) 72%
rgba(6,27,44,0.88) 100%
);
);
}
}
Line 673: Line 554:
.vw-place-hero-overlay {
.vw-place-hero-overlay {
position: absolute;
position: absolute;
left: 0;
z-index: 3;
right: 0;
left: 6%;
bottom: 0;
right: 6%;
z-index: 2;
bottom: 8%;
padding: clamp(2rem, 5vw, 4rem);
color: #fff;
}
}


.vw-place-kicker {
.vw-place-kicker {
margin-bottom: .8rem;
margin-bottom: 12px;
color: rgba(255,255,255,.88) !important;
font-size: 0.83rem;
font-size: .8rem;
font-weight: 800;
font-weight: 800;
letter-spacing: .18em;
letter-spacing: 0.14em;
text-transform: uppercase;
text-transform: uppercase;
color: rgba(255,255,255,0.92);
}
}


.vw-place-title {
.vw-place-title {
margin: 0;
max-width: 1050px;
color: #fff !important;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3.4rem, 8vw, 6.4rem);
font-size: clamp(4rem, 8vw, 7rem);
font-weight: 700;
font-weight: 700;
line-height: .95;
line-height: 0.9;
letter-spacing: -.035em;
letter-spacing: -0.035em;
text-shadow: 0 3px 12px rgba(0,0,0,.45);
color: #fff;
}
}


.vw-place-summary {
.vw-place-summary {
max-width: 820px;
max-width: 920px;
margin-top: 1.2rem;
margin-top: 20px;
color: #fff !important;
font-size: clamp(1.15rem, 2vw, 1.45rem);
font-size: clamp(1.05rem, 2vw, 1.3rem);
line-height: 1.55;
line-height: 1.55;
text-shadow: 0 2px 6px rgba(0,0,0,.55);
color: rgba(255,255,255,0.96);
}
}
/* =========================================================
  PLACE QUICK FACTS
  ========================================================= */


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


.vw-place-quickfacts > div {
.vw-place-quickfacts > div {
min-width: 0;
padding: 20px 22px;
padding: 1.15rem 1.25rem;
border: 1px solid var(--vw-border);
border: 1px solid rgba(11,47,79,.10);
border-radius: 16px;
border-radius: 16px;
background: rgba(255,255,255,.82);
background: rgba(255,255,255,0.84);
box-shadow: 0 5px 18px rgba(11,47,79,.05);
box-shadow: 0 8px 20px rgba(17,44,64,0.06);
line-height: 1.5;
line-height: 1.45;
}
}


.vw-place-quickfacts strong {
.vw-place-quickfacts strong,
.vw-place-quickfacts b {
color: var(--vw-navy);
color: var(--vw-navy);
}
}
/* =========================================================
  PLACE INTRO
  ========================================================= */


.vw-place-intro {
.vw-place-intro {
max-width: 920px;
max-width: 1040px;
margin: 0 auto 3.5rem;
margin: 0 auto 50px;
font-size: 1.08rem;
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;
line-height: 1.75;
}
}


body.page-Williamsburg_Virginia .mw-parser-output > .mw-heading h2 {
 
margin-top: 3.6rem;
/* =========================================================
  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-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 4vw, 2.8rem);
font-size: clamp(2rem, 3vw, 2.65rem);
color: var(--vw-navy);
color: var(--vw-navy);
}
}


.vw-place-card-grid {
.vw-place h3 {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
margin: 1.7rem 0 3rem;
}
 
.vw-place-card-grid > p,
.vw-place-explore-grid > p {
display: none !important;
}
 
.vw-place-card {
min-width: 0;
padding: 1.55rem;
border: 1px solid rgba(11,47,79,.09);
border-radius: 20px;
background:
linear-gradient(
145deg,
rgba(220,234,242,.88),
rgba(246,242,231,.92)
);
box-shadow: 0 6px 20px rgba(11,47,79,.05);
transition: transform .18s ease, box-shadow .18s ease;
}
 
.vw-place-card:hover {
transform: translateY(-4px);
box-shadow: 0 13px 28px rgba(11,47,79,.11);
}
 
.vw-place-card h3 {
margin: 0 0 .65rem;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.35rem;
color: var(--vw-navy);
color: var(--vw-navy);
}
}


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


.vw-place-card h3 a:hover {
/* =========================================================
text-decoration: underline !important;
  PLACE CARD GRID
}
  ========================================================= */


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


.vw-place-explore-grid > div {
.vw-place-card {
min-width: 0;
padding: 27px;
padding: 1.4rem 1.5rem;
border: 1px solid var(--vw-border);
border-radius: 18px;
border-radius: 18px;
background: #fff;
background: rgba(255,255,255,0.83);
border: 1px solid rgba(11,47,79,.10);
box-shadow: 0 10px 24px rgba(17,44,64,0.065);
box-shadow: 0 6px 18px rgba(11,47,79,.05);
}
line-height: 1.55;
 
.vw-place-card h3 {
margin: 0 0 10px;
font-size: 1.45rem;
}
}


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


.vw-place-explore-grid a:hover {
.vw-place-card h3 a:hover {
text-decoration: underline !important;
color: var(--vw-blue) !important;
}
}


body.page-Williamsburg_Virginia .wikitable {
.vw-place-card p {
width: 100%;
margin-bottom: 0;
margin: 1.5rem 0 2.5rem;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
border: 1px solid rgba(11,47,79,.12);
border-radius: 16px;
background: #fff;
}
}


body.page-Williamsburg_Virginia .wikitable th {
padding: .9rem 1rem;
background: var(--vw-navy);
color: #fff;
text-align: left;
}


body.page-Williamsburg_Virginia .wikitable td {
/* =========================================================
padding: .9rem 1rem;
  PLACE EXPLORE / NEARBY GRID
border-color: rgba(11,47,79,.08);
  ========================================================= */
}


body.page-Williamsburg_Virginia .references {
.vw-place-explore-grid {
font-size: .9rem;
display: grid;
line-height: 1.5;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin: 25px 0 42px;
}
}


body.page-Williamsburg_Virginia .mw-parser-output a.new {
.vw-place-explore-grid > div {
color: #8d3040;
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);
}
}


body.page-Williamsburg_Virginia .vw-place-card a.new,
.vw-place-explore-grid a {
body.page-Williamsburg_Virginia .vw-place-explore-grid a.new {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-size: 1.08rem;
text-decoration: none !important;
}
}


Line 861: Line 717:
   ATTRACTION PAGES
   ATTRACTION PAGES
   ========================================================= */
   ========================================================= */
.vw-attraction {
max-width: 1280px;
margin: 0 auto;
color: var(--vw-text);
}


body.page-Colonial_Williamsburg .mw-first-heading,
body.page-Colonial_Williamsburg .mw-first-heading,
body.page-Colonial_Williamsburg #firstHeading {
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;
display: none !important;
}
}
/* =========================================================
  ATTRACTION HERO
  ========================================================= */


.vw-attraction-hero {
.vw-attraction-hero {
position: relative;
position: relative;
width: 100%;
min-height: 560px;
overflow: hidden;
overflow: hidden;
min-height: 490px;
margin-bottom: 28px;
margin: 0 0 1.4rem;
border-radius: 28px;
border-radius: 28px;
background: var(--vw-navy);
background: var(--vw-navy);
box-shadow: 0 20px 52px rgba(11,47,79,.17);
box-shadow: var(--vw-shadow);
}
}


Line 886: Line 750:
position: absolute;
position: absolute;
inset: 0;
inset: 0;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
line-height: 0;
}
}


.vw-attraction-hero-image > span,
.vw-attraction-hero-image .mw-file-element,
.vw-attraction-hero-image > p,
.vw-attraction-hero-image img {
.vw-attraction-hero-image .mw-default-size,
.vw-attraction-hero-image .mw-file-description,
.vw-attraction-hero-image a {
display: block !important;
width: 100% !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
height: 100% !important;
margin: 0 !important;
object-fit: cover;
padding: 0 !important;
line-height: 0 !important;
}
}


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


Line 924: Line 769:
position: absolute;
position: absolute;
inset: 0;
inset: 0;
z-index: 1;
pointer-events: none;
background:
background:
linear-gradient(
linear-gradient(
to top,
180deg,
rgba(3,20,34,.94) 0%,
rgba(5,21,35,0.08) 0%,
rgba(3,20,34,.68) 40%,
rgba(5,21,35,0.27) 34%,
rgba(3,20,34,.18) 72%,
rgba(5,21,35,0.93) 100%
rgba(3,20,34,.04) 100%
);
);
}
}
Line 938: Line 780:
.vw-attraction-hero-overlay {
.vw-attraction-hero-overlay {
position: absolute;
position: absolute;
left: 0;
z-index: 3;
right: 0;
left: 6%;
bottom: 0;
right: 6%;
z-index: 2;
bottom: 8%;
padding: clamp(2rem, 5vw, 4rem);
color: #fff;
}
}


.vw-attraction-kicker {
.vw-attraction-kicker {
margin-bottom: .8rem;
margin-bottom: 12px;
color: rgba(255,255,255,.90) !important;
font-size: 0.83rem;
font-size: .8rem;
font-weight: 800;
font-weight: 800;
letter-spacing: .18em;
letter-spacing: 0.14em;
text-transform: uppercase;
text-transform: uppercase;
text-shadow: 0 1px 4px rgba(0,0,0,.6);
color: rgba(255,255,255,0.92);
}
}


.vw-attraction-title {
.vw-attraction-title {
margin: 0;
max-width: 1120px;
color: #fff !important;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3.1rem, 7vw, 6.1rem);
font-size: clamp(4rem, 8vw, 7rem);
font-weight: 700;
font-weight: 700;
line-height: .95;
line-height: 0.9;
letter-spacing: -.035em;
letter-spacing: -0.035em;
text-shadow: 0 3px 13px rgba(0,0,0,.55);
color: #fff;
}
}


.vw-attraction-summary {
.vw-attraction-summary {
max-width: 860px;
max-width: 980px;
margin-top: 1.25rem;
margin-top: 20px;
color: #fff !important;
font-size: clamp(1.12rem, 2vw, 1.45rem);
font-size: clamp(1.05rem, 2vw, 1.3rem);
line-height: 1.52;
line-height: 1.55;
color: rgba(255,255,255,0.96);
text-shadow: 0 2px 6px rgba(0,0,0,.65);
}
}
/* =========================================================
  ATTRACTION QUICK FACTS
  ========================================================= */


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


.vw-attraction-quickfacts > div {
.vw-attraction-quickfacts > div {
min-width: 0;
padding: 20px 22px;
padding: 1.15rem 1.25rem;
border: 1px solid var(--vw-border);
border: 1px solid rgba(11,47,79,.10);
border-radius: 16px;
border-radius: 16px;
background: rgba(255,255,255,.84);
background: rgba(255,255,255,0.84);
box-shadow: 0 5px 18px rgba(11,47,79,.05);
box-shadow: 0 8px 20px rgba(17,44,64,0.06);
line-height: 1.5;
line-height: 1.45;
}
}


.vw-attraction-quickfacts strong {
.vw-attraction-quickfacts strong,
.vw-attraction-quickfacts b {
color: var(--vw-navy);
color: var(--vw-navy);
}
}
/* =========================================================
  ATTRACTION INTRO
  ========================================================= */


.vw-attraction-intro {
.vw-attraction-intro {
max-width: 940px;
max-width: 1040px;
margin: 0 auto 3.5rem;
margin: 0 auto 50px;
font-size: 1.08rem;
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;
line-height: 1.75;
}
}


body.page-Colonial_Williamsburg .mw-parser-output > .mw-heading h2,
 
.vw-attraction .mw-heading h2 {
/* =========================================================
margin-top: 3.8rem;
  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;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2rem, 4vw, 2.8rem);
line-height: 1.1;
color: var(--vw-navy);
color: var(--vw-navy);
}
}
/* =========================================================
  ATTRACTION CARD GRID
  ========================================================= */


.vw-attraction-card-grid {
.vw-attraction-card-grid {
display: grid;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem;
gap: 20px;
margin: 1.7rem 0 3rem;
margin: 28px 0 42px;
}
 
.vw-attraction-card-grid > p,
.vw-visit-grid > p,
.vw-attraction-nearby-grid > p {
display: none !important;
}
}


.vw-attraction-card {
.vw-attraction-card {
min-width: 0;
padding: 27px;
padding: 1.55rem;
border: 1px solid var(--vw-border);
border: 1px solid rgba(11,47,79,.09);
border-radius: 18px;
border-radius: 20px;
background: rgba(255,255,255,0.83);
background:
box-shadow: 0 10px 24px rgba(17,44,64,0.065);
linear-gradient(
145deg,
rgba(220,234,242,.89),
rgba(246,242,231,.94)
);
box-shadow: 0 6px 20px rgba(11,47,79,.05);
line-height: 1.6;
transition: transform .18s ease, box-shadow .18s ease;
}
 
.vw-attraction-card:hover {
transform: translateY(-4px);
box-shadow: 0 13px 28px rgba(11,47,79,.11);
}
}


.vw-attraction-card h3 {
.vw-attraction-card h3 {
margin: 0 0 .65rem;
margin: 0 0 10px;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.45rem;
font-size: 1.35rem;
color: var(--vw-navy);
}
}


.vw-attraction-card h3 a,
.vw-attraction-card h3 a {
.vw-attraction-card h3 a.new {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
text-decoration: none !important;
text-decoration: none !important;
Line 1,060: Line 906:


.vw-attraction-card h3 a:hover {
.vw-attraction-card h3 a:hover {
text-decoration: underline !important;
color: var(--vw-blue) !important;
}
}
.vw-attraction-card p {
margin-bottom: 0;
}
/* =========================================================
  VISIT / PLANNING GRID
  ========================================================= */


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


.vw-visit-grid > div {
.vw-visit-grid > div {
min-width: 0;
padding: 23px 25px;
padding: 1.45rem 1.55rem;
border: 1px solid var(--vw-border);
border: 1px solid rgba(11,47,79,.09);
border-radius: 17px;
border-radius: 18px;
background: rgba(246,242,231,0.75);
background: #fff;
box-shadow: 0 7px 20px rgba(17,44,64,0.05);
box-shadow: 0 6px 19px rgba(11,47,79,.05);
line-height: 1.58;
line-height: 1.6;
}
}


.vw-visit-grid > div strong {
.vw-visit-grid strong,
.vw-visit-grid b {
color: var(--vw-navy);
color: var(--vw-navy);
font-size: 1.04rem;
}
}
/* =========================================================
  ATTRACTION NEARBY GRID
  ========================================================= */


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


.vw-attraction-nearby-grid > div {
.vw-attraction-nearby-grid > div {
min-width: 0;
padding: 23px 24px;
padding: 1.4rem 1.5rem;
border: 1px solid var(--vw-border);
border: 1px solid rgba(11,47,79,.10);
border-radius: 17px;
border-radius: 18px;
background: rgba(255,255,255,0.82);
background: rgba(255,255,255,.86);
box-shadow: 0 8px 20px rgba(17,44,64,0.055);
box-shadow: 0 6px 18px rgba(11,47,79,.05);
line-height: 1.55;
line-height: 1.55;
}
}


.vw-attraction-nearby-grid a,
.vw-attraction-nearby-grid a {
.vw-attraction-nearby-grid a.new {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-size: 1.07rem;
text-decoration: none !important;
text-decoration: none !important;
}
}


.vw-attraction-nearby-grid a:hover {
 
text-decoration: underline !important;
/* =========================================================
  TABLES
  ========================================================= */
 
.vw-place .wikitable,
.vw-attraction .wikitable {
width: 100%;
margin: 24px 0 36px;
border: 1px solid var(--vw-border);
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
border-radius: 14px;
background: rgba(255,255,255,0.80);
box-shadow: 0 6px 18px rgba(17,44,64,0.045);
}
 
.vw-place .wikitable th,
.vw-attraction .wikitable th {
padding: 14px 16px;
border: 0;
border-bottom: 1px solid rgba(255,255,255,0.20);
background: var(--vw-navy);
color: #fff;
text-align: left;
}
}


.vw-attraction ul {
.vw-place .wikitable td,
line-height: 1.65;
.vw-attraction .wikitable td {
padding: 13px 16px;
border: 0;
border-bottom: 1px solid var(--vw-border);
vertical-align: top;
}
}


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


body.page-Colonial_Williamsburg .references {
 
font-size: .9rem;
/* =========================================================
  REFERENCES
  ========================================================= */
 
.vw-place .references,
.vw-attraction .references {
font-size: 0.92rem;
line-height: 1.5;
line-height: 1.5;
color: #4d5963;
}
.vw-place .references li,
.vw-attraction .references li {
margin-bottom: 8px;
}
}


body.page-Colonial_Williamsburg .vw-attraction a.new {
 
color: #8d3040;
/* =========================================================
  LINKS
  ========================================================= */
 
.vw-place a,
.vw-attraction a {
text-underline-offset: 2px;
}
}


body.page-Colonial_Williamsburg .vw-attraction-card a.new,
.vw-place a.new,
body.page-Colonial_Williamsburg .vw-attraction-nearby-grid a.new {
.vw-attraction a.new {
color: var(--vw-navy) !important;
color: #a34242;
}
}




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


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


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


.vw-link-grid ul,
.vw-photo-grid {
.vw-secondary-destinations {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vw-feature-grid {
grid-template-columns: 1fr;
}
}


Line 1,155: Line 1,065:
}
}


.vw-place-card-grid,
.vw-attraction-card-grid,
.vw-attraction-nearby-grid {
.vw-attraction-nearby-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vw-place-hero,
.vw-attraction-hero {
min-height: 510px;
}
}
}
}
Line 1,164: Line 1,077:


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


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


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


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


.vw-search form {
.vw-home-subtitle {
font-size: 1.1rem;
}
 
.vw-home-search form {
flex-direction: column;
flex-direction: column;
gap: 10px;
}
}


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


.vw-card-grid,
.vw-photo-grid,
.vw-photo-card-grid,
.vw-destination-grid,
.vw-feature-grid,
.vw-feature-grid,
.vw-destination-grid,
.vw-place-quickfacts,
.vw-place-card-grid,
.vw-place-card-grid,
.vw-place-explore-grid,
.vw-place-explore-grid,
.vw-attraction-quickfacts,
.vw-attraction-card-grid,
.vw-attraction-card-grid,
.vw-visit-grid,
.vw-visit-grid,
.vw-attraction-nearby-grid {
.vw-attraction-nearby-grid {
grid-template-columns: 1fr !important;
grid-template-columns: 1fr;
}
 
.vw-card-image,
.vw-card-image img,
.vw-card-image .mw-file-element {
height: 230px !important;
}
}


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


.vw-destination-card {
.vw-destination-card {
height: 300px;
min-height: 360px;
}
 
.vw-destination-overlay {
padding: 1.5rem;
}
 
.vw-place-hero {
min-height: 390px;
border-radius: 21px;
}
 
.vw-place-hero-overlay {
padding: 1.7rem;
}
 
.vw-place-title {
font-size: clamp(3rem, 15vw, 4.5rem);
}
}


.vw-place-intro {
.vw-start-panel {
font-size: 1rem;
padding: 34px 26px;
border-radius: 20px;
}
}


.vw-place-hero,
.vw-attraction-hero {
.vw-attraction-hero {
min-height: 410px;
min-height: 500px;
border-radius: 21px;
border-radius: 20px;
}
}


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


.vw-place-title,
.vw-attraction-title {
.vw-attraction-title {
font-size: clamp(2.9rem, 14vw, 4.4rem);
font-size: clamp(3rem, 15vw, 4.6rem);
line-height: 0.92;
}
}


.vw-place-summary,
.vw-attraction-summary {
.vw-attraction-summary {
font-size: 1rem;
margin-top: 16px;
font-size: 1.06rem;
line-height: 1.45;
}
 
.vw-place-quickfacts,
.vw-attraction-quickfacts {
grid-template-columns: 1fr;
}
}


.vw-place-intro,
.vw-attraction-intro {
.vw-attraction-intro {
font-size: 1rem;
padding: 24px 24px;
font-size: 1.04rem;
}
 
.vw-place h2,
.vw-attraction h2 {
margin-top: 46px;
font-size: 2rem;
}
}


.vw-home-section {
.vw-place-card,
margin: 3.5rem 0;
.vw-attraction-card {
padding: 23px;
}
}


.vw-home-bottom {
.vw-place .wikitable,
padding: 1.8rem;
.vw-attraction .wikitable {
display: block;
overflow-x: auto;
white-space: normal;
}
}
}
}
Line 1,272: Line 1,188:


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


@media (max-width: 460px) {
@media (max-width: 430px) {


.vw-link-grid ul,
.vw-home-hero {
.vw-secondary-destinations {
padding-left: 22px;
grid-template-columns: 1fr;
padding-right: 22px;
}
}
}
/* =========================================================
  VIRGINIA.WIKI — SITE BACKGROUND
  ========================================================= */


html,
.vw-home-title {
body {
font-size: 3.3rem;
background:
}
linear-gradient(
180deg,
#edf3f8 0%,
#f4f7f9 48%,
#f7f5ef 100%
) fixed !important;
}
/* =========================================================
  LONG ATTRACTION TITLES
  Prevent very long names from overflowing the hero
  ========================================================= */


body.page-American_Revolution_Museum_at_Yorktown
.vw-place-title,
.vw-attraction-title {
.vw-attraction-title {
font-size: clamp(3rem, 5vw, 5.4rem);
font-size: 2.85rem;
line-height: 0.92;
}
max-width: 1100px;
}


@media (max-width: 900px) {
.vw-place-hero,
body.page-American_Revolution_Museum_at_Yorktown
.vw-attraction-hero {
.vw-attraction-title {
min-height: 470px;
font-size: clamp(2.6rem, 8vw, 4.3rem);
line-height: 0.95;
}
}
}


@media (max-width: 600px) {
.vw-place-summary,
body.page-American_Revolution_Museum_at_Yorktown
.vw-attraction-summary {
.vw-attraction-title {
font-size: 1rem;
font-size: clamp(2.25rem, 10vw, 3.4rem);
line-height: 0.98;
}
}
}
}

Revision as of 00:08, 30 September 2026

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


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

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

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


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

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

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

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

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

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


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

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

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


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

.vw-home-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-home-hero::before,
.vw-home-hero::after {
	content: "";
	position: absolute;
	left: -5%;
	right: -5%;
	bottom: -1px;
	pointer-events: none;
}

.vw-home-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-home-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-home-hero-content {
	position: relative;
	z-index: 3;
	max-width: 880px;
}

.vw-home-kicker {
	margin-bottom: 20px;
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.vw-home-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-home-subtitle {
	max-width: 870px;
	margin-top: 32px;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.5;
	color: #fff;
}


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

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

.vw-home-search form {
	display: flex;
	align-items: stretch;
	gap: 14px;
}

.vw-home-search input[type="text"],
.vw-home-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-home-search input[type="submit"],
.vw-home-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;
	box-shadow: none !important;
}


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

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

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

.vw-home-section-intro {
	max-width: 850px;
	margin: 0 0 30px;
	font-size: 1.08rem;
	line-height: 1.65;
	color: var(--vw-muted);
}


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

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

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

.vw-photo-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vw-photo-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(5,26,43,0.03) 15%,
		rgba(5,26,43,0.78) 100%
	);
}

.vw-photo-card-content {
	position: absolute;
	z-index: 2;
	left: 24px;
	right: 24px;
	bottom: 22px;
	color: #fff;
}

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

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


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

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

.vw-destination-card {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--vw-navy);
	box-shadow: var(--vw-shadow);
}

.vw-destination-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vw-destination-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(8,34,51,0.03) 15%,
		rgba(8,34,51,0.88) 100%
	);
}

.vw-destination-card-content {
	position: absolute;
	z-index: 3;
	left: 34px;
	right: 34px;
	bottom: 32px;
}

.vw-destination-card h3 {
	margin: 0 0 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
	color: #fff;
}

.vw-destination-card p {
	margin: 0 0 18px;
	max-width: 520px;
	line-height: 1.55;
	color: rgba(255,255,255,0.92);
}

.vw-destination-card a {
	display: inline-block;
	padding: 10px 17px;
	border: 1px solid rgba(255,255,255,0.65);
	border-radius: 999px;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	background: rgba(255,255,255,0.10);
	backdrop-filter: blur(5px);
}

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


/* =========================================================
   SECONDARY DESTINATION LINKS
   ========================================================= */

.vw-destination-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.vw-destination-links a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid var(--vw-border);
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	color: var(--vw-navy) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.vw-destination-links a:hover {
	background: #fff;
}


/* =========================================================
   HOMEPAGE FEATURE CARDS
   ========================================================= */

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

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

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

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


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

.vw-start-panel {
	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-start-panel h2 {
	margin: 0 0 14px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	color: #fff;
}

.vw-start-panel p {
	max-width: 850px;
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.65;
	color: rgba(255,255,255,0.9);
}


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


/* =========================================================
   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 .mw-file-element,
.vw-place-hero-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

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

.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 strong,
.vw-place-quickfacts b {
	color: var(--vw-navy);
}


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

.vw-place-intro {
	max-width: 1040px;
	margin: 0 auto 50px;
	padding: 30px 34px;
	border-left: 5px solid var(--vw-green);
	border-radius: 0 18px 18px 0;
	background: rgba(255,255,255,0.68);
	font-size: 1.12rem;
	line-height: 1.75;
}


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

.vw-place h2 {
	margin-top: 58px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--vw-border);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 2.65rem);
	color: var(--vw-navy);
}

.vw-place h3 {
	font-family: Georgia, "Times New Roman", serif;
	color: var(--vw-navy);
}


/* =========================================================
   PLACE CARD GRID
   ========================================================= */

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

.vw-place-card {
	padding: 27px;
	border: 1px solid var(--vw-border);
	border-radius: 18px;
	background: rgba(255,255,255,0.83);
	box-shadow: 0 10px 24px rgba(17,44,64,0.065);
}

.vw-place-card h3 {
	margin: 0 0 10px;
	font-size: 1.45rem;
}

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

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

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


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

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

.vw-place-explore-grid > div {
	padding: 23px 25px;
	border: 1px solid var(--vw-border);
	border-radius: 17px;
	background: rgba(255,255,255,0.82);
	box-shadow: 0 8px 20px rgba(17,44,64,0.055);
}

.vw-place-explore-grid a {
	color: var(--vw-navy) !important;
	font-size: 1.08rem;
	text-decoration: none !important;
}


/* =========================================================
   ATTRACTION PAGES
   ========================================================= */

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


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

.vw-attraction-hero {
	position: relative;
	width: 100%;
	min-height: 560px;
	overflow: hidden;
	margin-bottom: 28px;
	border-radius: 28px;
	background: var(--vw-navy);
	box-shadow: var(--vw-shadow);
}

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

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

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

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

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


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

.vw-attraction-intro {
	max-width: 1040px;
	margin: 0 auto 50px;
	padding: 30px 34px;
	border-left: 5px solid var(--vw-blue);
	border-radius: 0 18px 18px 0;
	background: rgba(255,255,255,0.68);
	font-size: 1.12rem;
	line-height: 1.75;
}


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

.vw-attraction h2 {
	margin-top: 58px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--vw-border);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 2.65rem);
	color: var(--vw-navy);
}

.vw-attraction h3 {
	font-family: Georgia, "Times New Roman", serif;
	color: var(--vw-navy);
}


/* =========================================================
   ATTRACTION CARD GRID
   ========================================================= */

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

.vw-attraction-card {
	padding: 27px;
	border: 1px solid var(--vw-border);
	border-radius: 18px;
	background: rgba(255,255,255,0.83);
	box-shadow: 0 10px 24px rgba(17,44,64,0.065);
}

.vw-attraction-card h3 {
	margin: 0 0 10px;
	font-size: 1.45rem;
}

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

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

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


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

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

.vw-visit-grid > div {
	padding: 23px 25px;
	border: 1px solid var(--vw-border);
	border-radius: 17px;
	background: rgba(246,242,231,0.75);
	box-shadow: 0 7px 20px rgba(17,44,64,0.05);
	line-height: 1.58;
}

.vw-visit-grid strong,
.vw-visit-grid b {
	color: var(--vw-navy);
	font-size: 1.04rem;
}


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

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

.vw-attraction-nearby-grid > div {
	padding: 23px 24px;
	border: 1px solid var(--vw-border);
	border-radius: 17px;
	background: rgba(255,255,255,0.82);
	box-shadow: 0 8px 20px rgba(17,44,64,0.055);
	line-height: 1.55;
}

.vw-attraction-nearby-grid a {
	color: var(--vw-navy) !important;
	font-size: 1.07rem;
	text-decoration: none !important;
}


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

.vw-place .wikitable,
.vw-attraction .wikitable {
	width: 100%;
	margin: 24px 0 36px;
	border: 1px solid var(--vw-border);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 14px;
	background: rgba(255,255,255,0.80);
	box-shadow: 0 6px 18px rgba(17,44,64,0.045);
}

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

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


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

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

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


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

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

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


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

@media (max-width: 1000px) {

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

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

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

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

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

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


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

@media (max-width: 700px) {

	.vw-home-hero {
		min-height: 520px;
		padding: 65px 28px 100px;
		border-radius: 20px;
	}

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

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

	.vw-home-search form {
		flex-direction: column;
		gap: 10px;
	}

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

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

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

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

	.vw-start-panel {
		padding: 34px 26px;
		border-radius: 20px;
	}

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

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

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

	.vw-place-summary,
	.vw-attraction-summary {
		margin-top: 16px;
		font-size: 1.06rem;
		line-height: 1.45;
	}

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

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

	.vw-place h2,
	.vw-attraction h2 {
		margin-top: 46px;
		font-size: 2rem;
	}

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

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


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

@media (max-width: 430px) {

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

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

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

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

	.vw-place-summary,
	.vw-attraction-summary {
		font-size: 1rem;
	}
}