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 — MASTER STYLESHEET
   VIRGINIA.WIKI — COMPLETE SITE STYLES
  Homepage + Places + Attractions
   ========================================================= */
   ========================================================= */


Line 18: Line 19:
--vw-text: #172535;
--vw-text: #172535;
--vw-muted: #5b6873;
--vw-muted: #5b6873;
--vw-white: #ffffff;
--vw-border: rgba(11, 47, 79, 0.13);
--vw-border: rgba(11, 47, 79, 0.13);
--vw-shadow: 0 14px 34px rgba(19, 43, 60, 0.12);
--vw-shadow: 0 14px 34px rgba(19, 43, 60, 0.12);


box-sizing: border-box;
color: var(--vw-text);
color: var(--vw-text);
}
}
/* =========================================================
  GENERAL
  ========================================================= */


.vw-home *,
.vw-home *,
Line 34: Line 30:
.vw-attraction * {
.vw-attraction * {
box-sizing: border-box;
box-sizing: border-box;
}
.vw-home img,
.vw-place img,
.vw-attraction img {
max-width: 100%;
height: auto;
}
}


Line 48: Line 37:
width: 100%;
width: 100%;
max-width: 1320px;
max-width: 1320px;
margin-left: auto;
margin: 0 auto;
margin-right: auto;
}
}


.vw-place p,
.vw-home img,
.vw-attraction p {
.vw-place img,
line-height: 1.72;
.vw-attraction img {
}
max-width: 100%;
 
.vw-place li,
.vw-attraction li {
line-height: 1.65;
}
}


Line 74: Line 58:


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


Line 82: Line 66:
min-height: 610px;
min-height: 610px;
padding: 105px 95px 120px;
padding: 105px 95px 120px;
border-radius: 30px;
border-radius: 30px;


Line 99: Line 82:


box-shadow: 0 24px 60px rgba(15, 44, 62, 0.19);
box-shadow: 0 24px 60px rgba(15, 44, 62, 0.19);
 
color: #fff;
color: #ffffff;
}
}


Line 107: Line 89:
content: "";
content: "";
position: absolute;
position: absolute;
left: -5%;
left: -5%;
right: -5%;
right: -5%;
bottom: -1px;
bottom: -1px;
pointer-events: none;
pointer-events: none;
}
}
Line 117: Line 97:
.vw-hero::before {
.vw-hero::before {
height: 185px;
height: 185px;
background: #174965;
background: #174965;


Line 140: Line 119:
.vw-hero::after {
.vw-hero::after {
height: 115px;
height: 115px;
background: #174f59;
background: #174f59;


Line 162: Line 140:
position: relative;
position: relative;
z-index: 3;
z-index: 3;
max-width: 900px;
max-width: 900px;
}
}
Line 168: Line 145:
.vw-eyebrow {
.vw-eyebrow {
margin-bottom: 20px;
margin-bottom: 20px;
font-size: 0.9rem;
font-size: 0.9rem;
font-weight: 800;
font-weight: 800;
letter-spacing: 0.17em;
letter-spacing: 0.17em;
text-transform: uppercase;
text-transform: uppercase;
 
color: #fff;
color: #ffffff;
}
}


.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(4.5rem, 9vw, 7.6rem);
font-weight: 700;
font-weight: 700;
line-height: 0.86;
line-height: 0.86;
letter-spacing: -0.045em;
letter-spacing: -0.045em;
 
color: #fff;
color: #ffffff;
}
}


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




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


Line 209: Line 178:
position: relative;
position: relative;
z-index: 5;
z-index: 5;
max-width: 760px;
max-width: 760px;
margin-top: 38px;
}


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


Line 218: Line 190:
display: flex;
display: flex;
align-items: stretch;
align-items: stretch;
gap: 14px;
gap: 14px;
margin: 0;
margin: 0;
}
}
Line 227: Line 197:
.vw-search .mw-inputbox-input {
.vw-search .mw-inputbox-input {
flex: 1;
flex: 1;
min-width: 0;
min-width: 0;
height: 52px;
height: 52px;
padding: 0 16px;
padding: 0 16px;
border: 1px solid rgba(255, 255, 255, 0.55);
border: 1px solid rgba(255, 255, 255, 0.55);
border-radius: 5px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.94);
background: rgba(255, 255, 255, 0.94);
font-size: 1.05rem;
font-size: 1.05rem;
color: var(--vw-text);
color: var(--vw-text);
}
}
Line 247: Line 211:
min-width: 120px;
min-width: 120px;
height: 52px;
height: 52px;
padding: 0 24px;
padding: 0 24px;
border: 0 !important;
border: 0 !important;
border-radius: 15px !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-weight: 800 !important;
box-shadow: none !important;
}
}




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


Line 272: Line 229:


.vw-home-section > h2 {
.vw-home-section > h2 {
margin: 0 0 24px;
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.2rem, 4vw, 3.3rem);
font-weight: 700;
line-height: 1.05;
line-height: 1.05;
color: var(--vw-navy);
color: var(--vw-navy);
}
.vw-home-section > p {
max-width: 850px;
margin-bottom: 30px;
font-size: 1.08rem;
line-height: 1.65;
color: var(--vw-muted);
}
}




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


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


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


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


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


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


.vw-photo-card .vw-card-image img,
.vw-card-image img,
.vw-photo-card .vw-card-image .mw-file-element {
.vw-card-image .mw-file-element {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
width: 100% !important;
width: 100% !important;
height: 100% !important;
height: 100% !important;
 
max-width: none !important;
object-fit: cover;
object-fit: cover;
}
}
Line 354: Line 288:
.vw-photo-card::after {
.vw-photo-card::after {
content: "";
content: "";
position: absolute;
position: absolute;
inset: 0;
inset: 0;
z-index: 1;
z-index: 1;


Line 369: Line 300:
}
}


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


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


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


.vw-photo-card .vw-card-content p,
.vw-card-content p {
.vw-photo-card p {
margin: 0;
margin: 0;
line-height: 1.45;
line-height: 1.45;
color: rgba(255, 255, 255, 0.92);
color: rgba(255, 255, 255, 0.92);
}
.vw-photo-card a {
color: #ffffff !important;
text-decoration: none !important;
}
}


Line 411: Line 333:


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


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


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


.vw-destination-image a {
.vw-destination-image a,
.vw-destination-image span {
display: block;
display: block;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
Line 448: Line 370:
.vw-destination-image .mw-file-element {
.vw-destination-image .mw-file-element {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
width: 100% !important;
width: 100% !important;
height: 100% !important;
height: 100% !important;
 
max-width: none !important;
object-fit: cover;
object-fit: cover;
}
}
Line 459: Line 379:
.vw-destination-card::after {
.vw-destination-card::after {
content: "";
content: "";
position: absolute;
position: absolute;
inset: 0;
inset: 0;
z-index: 1;
z-index: 1;


Line 476: Line 393:
.vw-destination-overlay {
.vw-destination-overlay {
position: absolute;
position: absolute;
z-index: 3;
z-index: 3;
left: 34px;
left: 34px;
right: 34px;
right: 34px;
bottom: 32px;
bottom: 32px;
 
color: #fff;
color: #ffffff;
}
}


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


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


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


.vw-destination-overlay a:hover {
.vw-destination-cta a:hover {
background: rgba(255, 255, 255, 0.20);
background: rgba(255, 255, 255, 0.20);
}
}
Line 539: Line 439:
.vw-secondary-destinations {
.vw-secondary-destinations {
display: flex;
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
gap: 12px;
gap: 12px;
margin-top: 22px;
margin-top: 22px;
}
}
Line 549: Line 446:
.vw-secondary-destinations a {
.vw-secondary-destinations a {
display: inline-block;
display: inline-block;
padding: 10px 16px;
padding: 10px 16px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 999px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.72);
background: rgba(255, 255, 255, 0.72);
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-weight: 700;
font-weight: 700;
text-decoration: none !important;
text-decoration: none !important;
}
.vw-secondary-destinations a:hover {
background: #ffffff;
}
}




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


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


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


.vw-feature {
.vw-feature {
padding: 30px;
padding: 30px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 22px;
border-radius: 22px;
background: rgba(255, 255, 255, 0.83);
background: rgba(255, 255, 255, 0.83);
box-shadow: 0 10px 26px rgba(19, 43, 60, 0.07);
box-shadow: 0 10px 26px rgba(19, 43, 60, 0.07);
}
}
Line 594: Line 480:
.vw-feature h3 {
.vw-feature h3 {
margin: 0 0 10px;
margin: 0 0 10px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: 1.65rem;
font-size: 1.65rem;
color: var(--vw-navy);
color: var(--vw-navy);
}
}
Line 603: Line 487:
.vw-feature p {
.vw-feature p {
margin: 0 0 15px;
margin: 0 0 15px;
line-height: 1.6;
line-height: 1.6;
color: var(--vw-muted);
color: var(--vw-muted);
}
}
Line 611: Line 493:
.vw-feature a {
.vw-feature a {
color: var(--vw-blue) !important;
color: var(--vw-blue) !important;
font-weight: 700;
font-weight: 700;
}
}
Line 622: Line 503:
.vw-home-bottom {
.vw-home-bottom {
margin-top: 78px;
margin-top: 78px;
padding: 54px;
padding: 54px;
border-radius: 28px;
border-radius: 28px;


Line 635: Line 514:
);
);


color: #ffffff;
color: #fff;
 
box-shadow: var(--vw-shadow);
box-shadow: var(--vw-shadow);
}
}
Line 642: Line 520:
.vw-bottom-title {
.vw-bottom-title {
margin: 0 0 14px;
margin: 0 0 14px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.2rem, 4vw, 3.5rem);
font-size: clamp(2.2rem, 4vw, 3.5rem);
font-weight: 700;
font-weight: 700;
 
color: #fff;
color: #ffffff;
}
}


.vw-bottom-text {
.vw-bottom-text {
max-width: 850px;
max-width: 850px;
margin: 0;
font-size: 1.08rem;
font-size: 1.08rem;
line-height: 1.65;
line-height: 1.65;
color: rgba(255, 255, 255, 0.90);
color: rgba(255, 255, 255, 0.90);
}
.vw-home-bottom a {
color: #ffffff !important;
}
}




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


body.page-Williamsburg_Virginia .mw-first-heading,
body.page-Williamsburg_Virginia .mw-first-heading,
body.page-Williamsburg_Virginia #firstHeading,
body.page-Williamsburg_Virginia #firstHeading,
body.page-Jamestown_Virginia .mw-first-heading,
body.page-Jamestown_Virginia .mw-first-heading,
body.page-Jamestown_Virginia #firstHeading,
body.page-Jamestown_Virginia #firstHeading,
body.page-Yorktown_Virginia .mw-first-heading,
body.page-Yorktown_Virginia .mw-first-heading,
body.page-Yorktown_Virginia #firstHeading {
body.page-Yorktown_Virginia #firstHeading {
display: none !important;
display: none !important;
}
.vw-place p {
line-height: 1.72;
}
.vw-place li {
line-height: 1.65;
}
}




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


.vw-place-hero {
.vw-place-hero {
position: relative;
position: relative;
width: 100%;
width: 100%;
min-height: 560px;
min-height: 560px;
overflow: hidden;
overflow: hidden;
margin-bottom: 28px;
margin-bottom: 28px;
border-radius: 28px;
border-radius: 28px;
background: var(--vw-navy);
background: var(--vw-navy);
box-shadow: var(--vw-shadow);
box-shadow: var(--vw-shadow);
}
}
Line 706: Line 571:
.vw-place-hero-image {
.vw-place-hero-image {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
}
}


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


.vw-place-hero-image .mw-file-element,
.vw-place-hero-image img,
.vw-place-hero-image img {
.vw-place-hero-image .mw-file-element {
width: 100% !important;
width: 100% !important;
height: 100% !important;
height: 100% !important;
 
max-width: none !important;
object-fit: cover;
object-fit: cover;
}
}
Line 727: Line 591:
.vw-place-hero::after {
.vw-place-hero::after {
content: "";
content: "";
position: absolute;
position: absolute;
inset: 0;
inset: 0;


Line 743: Line 605:
.vw-place-hero-overlay {
.vw-place-hero-overlay {
position: absolute;
position: absolute;
z-index: 3;
z-index: 3;
left: 6%;
left: 6%;
right: 6%;
right: 6%;
bottom: 8%;
bottom: 8%;
 
color: #fff;
color: #ffffff;
}
}


.vw-place-kicker {
.vw-place-kicker {
margin-bottom: 12px;
margin-bottom: 12px;
font-size: 0.83rem;
font-size: 0.83rem;
font-weight: 800;
font-weight: 800;
letter-spacing: 0.14em;
letter-spacing: 0.14em;
text-transform: uppercase;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.92);
color: rgba(255, 255, 255, 0.92);
}
}
Line 768: Line 623:
.vw-place-title {
.vw-place-title {
max-width: 1050px;
max-width: 1050px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(4rem, 8vw, 7rem);
font-size: clamp(4rem, 8vw, 7rem);
font-weight: 700;
font-weight: 700;
line-height: 0.9;
line-height: 0.9;
letter-spacing: -0.035em;
letter-spacing: -0.035em;
 
color: #fff;
color: #ffffff;
}
}


.vw-place-summary {
.vw-place-summary {
max-width: 920px;
max-width: 920px;
margin-top: 20px;
margin-top: 20px;
font-size: clamp(1.15rem, 2vw, 1.45rem);
font-size: clamp(1.15rem, 2vw, 1.45rem);
line-height: 1.55;
line-height: 1.55;
color: rgba(255, 255, 255, 0.96);
color: rgba(255, 255, 255, 0.96);
}
}




/* =========================================================
/* PLACE QUICK FACTS */
  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: 14px;
gap: 14px;
margin: 0 0 38px;
margin: 0 0 38px;
}
}
Line 811: Line 651:
.vw-place-quickfacts > div {
.vw-place-quickfacts > div {
padding: 20px 22px;
padding: 20px 22px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 16px;
border-radius: 16px;
background: rgba(255, 255, 255, 0.84);
background: rgba(255, 255, 255, 0.84);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);
line-height: 1.45;
line-height: 1.45;
}
}


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




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


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




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


.vw-place h2 {
.vw-place h2 {
margin-top: 58px;
margin-top: 58px;
padding-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid var(--vw-border);
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, 3vw, 2.65rem);
font-size: clamp(2rem, 3vw, 2.65rem);
color: var(--vw-navy);
color: var(--vw-navy);
}
}
Line 872: Line 691:
.vw-place h3 {
.vw-place h3 {
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
color: var(--vw-navy);
color: var(--vw-navy);
}
}




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


.vw-place-card-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: 20px;
gap: 20px;
margin: 28px 0 42px;
}


margin: 28px 0 42px;
.vw-place-card-grid > p {
display: none !important;
}
}


.vw-place-card {
.vw-place-card {
padding: 27px;
padding: 27px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 18px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.83);
background: rgba(255, 255, 255, 0.83);
box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
}
}
Line 905: Line 718:
.vw-place-card h3 {
.vw-place-card h3 {
margin: 0 0 10px;
margin: 0 0 10px;
font-size: 1.45rem;
font-size: 1.45rem;
}
}
Line 911: Line 723:
.vw-place-card h3 a {
.vw-place-card h3 a {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
text-decoration: none !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 */
/* =========================================================
  PLACE EXPLORE / NEARBY GRID
  ========================================================= */


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


margin: 25px 0 42px;
.vw-place-explore-grid > p {
display: none !important;
}
}


.vw-place-explore-grid > div {
.vw-place-explore-grid > div {
padding: 23px 25px;
padding: 23px 25px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 17px;
border-radius: 17px;
background: rgba(255, 255, 255, 0.82);
background: rgba(255, 255, 255, 0.82);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);
}
}
Line 952: Line 750:
.vw-place-explore-grid a {
.vw-place-explore-grid a {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-size: 1.08rem;
font-size: 1.08rem;
text-decoration: none !important;
text-decoration: none !important;
}
}
Line 960: Line 756:


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


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 .mw-first-heading,
body.page-Busch_Gardens_Williamsburg #firstHeading,
body.page-Busch_Gardens_Williamsburg #firstHeading,
body.page-Historic_Jamestowne .mw-first-heading,
body.page-Historic_Jamestowne .mw-first-heading,
body.page-Historic_Jamestowne #firstHeading,
body.page-Historic_Jamestowne #firstHeading,
body.page-Jamestown_Settlement .mw-first-heading,
body.page-Jamestown_Settlement .mw-first-heading,
body.page-Jamestown_Settlement #firstHeading,
body.page-Jamestown_Settlement #firstHeading,
body.page-American_Revolution_Museum_at_Yorktown .mw-first-heading,
body.page-American_Revolution_Museum_at_Yorktown .mw-first-heading,
body.page-American_Revolution_Museum_at_Yorktown #firstHeading {
body.page-American_Revolution_Museum_at_Yorktown #firstHeading {
display: none !important;
display: none !important;
}
.vw-attraction p {
line-height: 1.72;
}
.vw-attraction li {
line-height: 1.65;
}
}




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


.vw-attraction-hero {
.vw-attraction-hero {
position: relative;
position: relative;
width: 100%;
width: 100%;
min-height: 560px;
min-height: 560px;
overflow: hidden;
overflow: hidden;
margin-bottom: 28px;
margin-bottom: 28px;
border-radius: 28px;
border-radius: 28px;
background: var(--vw-navy);
background: var(--vw-navy);
box-shadow: var(--vw-shadow);
box-shadow: var(--vw-shadow);
}
}
Line 1,005: Line 796:
.vw-attraction-hero-image {
.vw-attraction-hero-image {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
}
}


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


.vw-attraction-hero-image .mw-file-element,
.vw-attraction-hero-image img,
.vw-attraction-hero-image img {
.vw-attraction-hero-image .mw-file-element {
width: 100% !important;
width: 100% !important;
height: 100% !important;
height: 100% !important;
 
max-width: none !important;
object-fit: cover;
object-fit: cover;
}
}
Line 1,026: Line 816:
.vw-attraction-hero::after {
.vw-attraction-hero::after {
content: "";
content: "";
position: absolute;
position: absolute;
inset: 0;
inset: 0;


Line 1,042: Line 830:
.vw-attraction-hero-overlay {
.vw-attraction-hero-overlay {
position: absolute;
position: absolute;
z-index: 3;
z-index: 3;
left: 6%;
left: 6%;
right: 6%;
right: 6%;
bottom: 8%;
bottom: 8%;
 
color: #fff;
color: #ffffff;
}
}


.vw-attraction-kicker {
.vw-attraction-kicker {
margin-bottom: 12px;
margin-bottom: 12px;
font-size: 0.83rem;
font-size: 0.83rem;
font-weight: 800;
font-weight: 800;
letter-spacing: 0.14em;
letter-spacing: 0.14em;
text-transform: uppercase;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.92);
color: rgba(255, 255, 255, 0.92);
}
}
Line 1,068: Line 848:
.vw-attraction-title {
.vw-attraction-title {
max-width: 1120px;
max-width: 1120px;
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(4rem, 8vw, 7rem);
font-size: clamp(4rem, 8vw, 7rem);
font-weight: 700;
font-weight: 700;
line-height: 0.9;
line-height: 0.9;
letter-spacing: -0.035em;
letter-spacing: -0.035em;
 
color: #fff;
color: #ffffff;
}
}


.vw-attraction-summary {
.vw-attraction-summary {
max-width: 980px;
max-width: 980px;
margin-top: 20px;
margin-top: 20px;
font-size: clamp(1.12rem, 2vw, 1.45rem);
font-size: clamp(1.12rem, 2vw, 1.45rem);
line-height: 1.52;
line-height: 1.52;
color: rgba(255, 255, 255, 0.96);
color: rgba(255, 255, 255, 0.96);
}
}




/* =========================================================
/* ATTRACTION QUICK FACTS */
  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: 14px;
gap: 14px;
margin: 0 0 38px;
margin: 0 0 38px;
}
}
Line 1,111: Line 876:
.vw-attraction-quickfacts > div {
.vw-attraction-quickfacts > div {
padding: 20px 22px;
padding: 20px 22px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 16px;
border-radius: 16px;
background: rgba(255, 255, 255, 0.84);
background: rgba(255, 255, 255, 0.84);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.06);
line-height: 1.45;
line-height: 1.45;
}
.vw-attraction-quickfacts strong,
.vw-attraction-quickfacts b {
color: var(--vw-navy);
}
}




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


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




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


.vw-attraction h2 {
.vw-attraction h2 {
margin-top: 58px;
margin-top: 58px;
padding-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid var(--vw-border);
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, 3vw, 2.65rem);
font-size: clamp(2rem, 3vw, 2.65rem);
color: var(--vw-navy);
color: var(--vw-navy);
}
}
Line 1,172: Line 911:
.vw-attraction h3 {
.vw-attraction h3 {
font-family: Georgia, "Times New Roman", serif;
font-family: Georgia, "Times New Roman", serif;
color: var(--vw-navy);
color: var(--vw-navy);
}
}




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


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


margin: 28px 0 42px;
.vw-attraction-card-grid > p {
display: none !important;
}
}


.vw-attraction-card {
.vw-attraction-card {
padding: 27px;
padding: 27px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 18px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.83);
background: rgba(255, 255, 255, 0.83);
box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
box-shadow: 0 10px 24px rgba(17, 44, 64, 0.065);
}
}
Line 1,205: Line 938:
.vw-attraction-card h3 {
.vw-attraction-card h3 {
margin: 0 0 10px;
margin: 0 0 10px;
font-size: 1.45rem;
font-size: 1.45rem;
}
}
Line 1,211: Line 943:
.vw-attraction-card h3 a {
.vw-attraction-card h3 a {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
text-decoration: none !important;
text-decoration: none !important;
}
.vw-attraction-card h3 a:hover {
color: var(--vw-blue) !important;
}
.vw-attraction-card p {
margin-bottom: 0;
}
}




/* =========================================================
/* VISIT GRID */
  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: 18px;
gap: 18px;
margin: 27px 0 42px;
}


margin: 27px 0 42px;
.vw-visit-grid > p {
display: none !important;
}
}


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


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


 
/* ATTRACTION NEARBY */
/* =========================================================
  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: 18px;
gap: 18px;
margin: 25px 0 42px;
}


margin: 25px 0 42px;
.vw-attraction-nearby-grid > p {
display: none !important;
}
}


.vw-attraction-nearby-grid > div {
.vw-attraction-nearby-grid > div {
padding: 23px 24px;
padding: 23px 24px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-radius: 17px;
border-radius: 17px;
background: rgba(255, 255, 255, 0.82);
background: rgba(255, 255, 255, 0.82);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);
box-shadow: 0 8px 20px rgba(17, 44, 64, 0.055);
line-height: 1.55;
line-height: 1.55;
}
}
Line 1,290: Line 994:
.vw-attraction-nearby-grid a {
.vw-attraction-nearby-grid a {
color: var(--vw-navy) !important;
color: var(--vw-navy) !important;
font-size: 1.07rem;
text-decoration: none !important;
text-decoration: none !important;
}
}
Line 1,304: Line 1,005:
.vw-attraction .wikitable {
.vw-attraction .wikitable {
width: 100%;
width: 100%;
margin: 24px 0 36px;
margin: 24px 0 36px;
border: 1px solid var(--vw-border);
border: 1px solid var(--vw-border);
border-collapse: separate;
border-collapse: separate;
border-spacing: 0;
border-spacing: 0;
overflow: hidden;
overflow: hidden;
border-radius: 14px;
border-radius: 14px;
background: rgba(255, 255, 255, 0.80);
background: rgba(255, 255, 255, 0.80);
box-shadow: 0 6px 18px rgba(17, 44, 64, 0.045);
}
}


Line 1,325: Line 1,017:
.vw-attraction .wikitable th {
.vw-attraction .wikitable th {
padding: 14px 16px;
padding: 14px 16px;
border: 0;
border: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.20);
background: var(--vw-navy);
background: var(--vw-navy);
 
color: #fff;
color: #ffffff;
 
text-align: left;
text-align: left;
}
}
Line 1,340: Line 1,026:
.vw-attraction .wikitable td {
.vw-attraction .wikitable td {
padding: 13px 16px;
padding: 13px 16px;
border: 0;
border: 0;
border-bottom: 1px solid var(--vw-border);
border-bottom: 1px solid var(--vw-border);
vertical-align: top;
vertical-align: top;
}
.vw-place .wikitable tr:last-child td,
.vw-attraction .wikitable tr:last-child td {
border-bottom: 0;
}
}


Line 1,361: Line 1,039:
.vw-attraction .references {
.vw-attraction .references {
font-size: 0.92rem;
font-size: 0.92rem;
line-height: 1.5;
line-height: 1.5;
color: #4d5963;
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;
}
}


Line 1,396: Line 1,052:
.vw-hero {
.vw-hero {
min-height: 560px;
min-height: 560px;
padding: 85px 60px 110px;
padding: 85px 60px 110px;
}
}


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


Line 1,433: Line 1,083:
.vw-hero {
.vw-hero {
min-height: 520px;
min-height: 520px;
padding: 65px 28px 100px;
padding: 65px 28px 100px;
border-radius: 20px;
border-radius: 20px;
}
}
Line 1,449: Line 1,097:
.vw-search form {
.vw-search form {
flex-direction: column;
flex-direction: column;
gap: 10px;
}
}


Line 1,458: Line 1,104:
}
}


.vw-card-grid,
.vw-photo-card-grid,
.vw-photo-card-grid,
.vw-destination-grid,
.vw-destination-grid,
Line 1,467: Line 1,112:
.vw-visit-grid,
.vw-visit-grid,
.vw-attraction-nearby-grid {
.vw-attraction-nearby-grid {
grid-template-columns: 1fr;
grid-template-columns: 1fr !important;
}
}


Line 1,480: Line 1,125:
.vw-home-bottom {
.vw-home-bottom {
padding: 34px 26px;
padding: 34px 26px;
border-radius: 20px;
border-radius: 20px;
}
}
Line 1,487: Line 1,131:
.vw-attraction-hero {
.vw-attraction-hero {
min-height: 500px;
min-height: 500px;
border-radius: 20px;
border-radius: 20px;
}
}
Line 1,501: Line 1,144:
.vw-attraction-title {
.vw-attraction-title {
font-size: clamp(3rem, 15vw, 4.6rem);
font-size: clamp(3rem, 15vw, 4.6rem);
line-height: 0.92;
line-height: 0.92;
}
.vw-place-summary,
.vw-attraction-summary {
margin-top: 16px;
font-size: 1.06rem;
line-height: 1.45;
}
}


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


Line 1,541: Line 1,161:
.vw-attraction .wikitable {
.vw-attraction .wikitable {
display: block;
display: block;
overflow-x: auto;
overflow-x: auto;
white-space: normal;
}
}
}
}
Line 1,572: Line 1,189:
.vw-attraction-hero {
.vw-attraction-hero {
min-height: 470px;
min-height: 470px;
}
.vw-place-summary,
.vw-attraction-summary {
font-size: 1rem;
}
}
/* =========================================================
  FIX — POPULAR DESTINATIONS GRID
  ========================================================= */
/* MediaWiki may insert paragraph elements between block
  elements; don't let those become CSS-grid items. */
.vw-destination-grid > p {
display: none !important;
}
/* Let each destination card participate normally in
  the two-column grid. */
.vw-destination-grid > .vw-destination-card {
grid-column: auto !important;
width: 100% !important;
margin: 0 !important;
float: none !important;
}
/* Reassert the intended grid layout. */
.vw-destination-grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 24px !important;
grid-auto-flow: row !important;
}
@media (max-width: 700px) {
.vw-destination-grid {
grid-template-columns: 1fr !important;
}
}
}
}

Revision as of 00:42, 30 September 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;
	}
}