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 872: Line 872:


.vw-link-grid ul {
.vw-link-grid ul {
grid-template-columns: 1fr;
}
}
/* =========================================================
  VIRGINIA.WIKI — POPULAR DESTINATION CARDS
  ========================================================= */
.vw-destination-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.3rem;
}
/* Ignore parser-generated empty paragraphs */
.vw-destination-grid > p,
.vw-secondary-destinations > p {
display: none !important;
}
.vw-destination-card {
position: relative;
overflow: hidden;
min-width: 0;
height: 340px;
border-radius: 24px;
background: #0b2f4f;
box-shadow:
0 12px 32px rgba(11, 47, 79, .12);
transition:
transform .2s ease,
box-shadow .2s ease;
}
.vw-destination-card:hover {
transform: translateY(-5px);
box-shadow:
0 20px 42px rgba(11, 47, 79, .20);
}
/* Photograph */
.vw-destination-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
overflow: hidden;
line-height: 0;
}
.vw-destination-image > span,
.vw-destination-image .mw-default-size,
.vw-destination-image .mw-file-description,
.vw-destination-image a {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.vw-destination-image img,
.vw-destination-image .mw-file-element {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
transition: transform .5s ease;
}
.vw-destination-card:hover .vw-destination-image img {
transform: scale(1.04);
}
/* Dark gradient over photo */
.vw-destination-card::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
linear-gradient(
to top,
rgba(4, 24, 40, .88) 0%,
rgba(4, 24, 40, .52) 38%,
rgba(4, 24, 40, .08) 70%
);
}
/* Text over photograph */
.vw-destination-overlay {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
padding: 2rem;
}
.vw-destination-name {
margin-bottom: .55rem;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.9rem, 3vw, 2.7rem);
font-weight: 700;
line-height: 1.05;
}
.vw-destination-name a,
.vw-destination-name a.new {
color: #ffffff !important;
text-decoration: none !important;
}
.vw-destination-name a:hover {
text-decoration: underline !important;
}
.vw-destination-description {
max-width: 560px;
color: rgba(255, 255, 255, .92) !important;
font-size: .98rem;
line-height: 1.5;
}
/* =========================================================
  SECONDARY DESTINATIONS
  ========================================================= */
.vw-secondary-destinations {
display: grid;
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: .85rem;
margin-top: 1rem;
}
.vw-secondary-destinations > a {
display: block;
padding: 1rem 1.15rem;
border: 1px solid rgba(11, 47, 79, .11);
border-radius: 14px;
background: rgba(255, 255, 255, .84);
color: var(--vw-navy) !important;
font-weight: 700;
text-align: center;
text-decoration: none !important;
transition:
transform .18s ease,
box-shadow .18s ease,
background .18s ease;
}
.vw-secondary-destinations > a.new {
color: var(--vw-navy) !important;
}
.vw-secondary-destinations > a:hover {
transform: translateY(-2px);
background: #ffffff;
box-shadow:
0 8px 20px rgba(11, 47, 79, .08);
}
/* =========================================================
  TABLET
  ========================================================= */
@media (max-width: 900px) {
.vw-destination-card {
height: 310px;
}
.vw-secondary-destinations {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
  MOBILE
  ========================================================= */
@media (max-width: 650px) {
.vw-destination-grid {
grid-template-columns: 1fr;
}
.vw-destination-card {
height: 300px;
}
.vw-destination-overlay {
padding: 1.5rem;
}
.vw-secondary-destinations {
grid-template-columns:
repeat(2, minmax(0, 1fr));
}
}
/* =========================================================
  SMALL MOBILE
  ========================================================= */
@media (max-width: 430px) {
.vw-secondary-destinations {
grid-template-columns: 1fr;
grid-template-columns: 1fr;
}
}


}
}

Revision as of 20:57, 29 September 2026

/* =========================================================
   VIRGINIA.WIKI
   Main Page / Citizen Skin Styling
   ========================================================= */


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

.vw-home {
	--vw-navy: #0b2f4f;
	--vw-blue: #3e718f;
	--vw-green: #56725d;
	--vw-sky: #dceaf2;
	--vw-cream: #f6f2e7;
	--vw-text: #172535;

	max-width: 1380px;
	margin: 0 auto;
	color: var(--vw-text);
}


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

/* Hide normal MediaWiki page title on Main Page */

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


/* Hide parser-generated empty paragraphs inside grids */

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


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

.vw-hero {
	position: relative;
	overflow: hidden;

	display: flex;
	align-items: center;

	min-height: 430px;

	padding: clamp(3rem, 7vw, 6.5rem);
	margin: 0 0 4.5rem;

	border-radius: 30px;

	color: #ffffff;

	background:
		radial-gradient(
			circle at 82% 18%,
			rgba(255, 214, 132, .55),
			transparent 18%
		),
		linear-gradient(
			135deg,
			#092943 0%,
			#356d8b 58%,
			#657d64 100%
		);

	box-shadow:
		0 22px 60px rgba(11, 47, 79, .20);
}


/* Background mountain layer */

.vw-hero::before {
	content: "";

	position: absolute;

	left: -5%;
	right: -5%;
	bottom: -2%;

	height: 42%;

	background: rgba(17, 57, 78, .48);

	clip-path: polygon(
		0 70%,
		10% 48%,
		20% 60%,
		32% 28%,
		43% 62%,
		55% 38%,
		66% 61%,
		77% 35%,
		89% 58%,
		100% 37%,
		100% 100%,
		0 100%
	);
}


/* Foreground mountain layer */

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

	position: absolute;

	left: -5%;
	right: -5%;
	bottom: -8%;

	height: 33%;

	background: rgba(24, 75, 78, .48);

	clip-path: polygon(
		0 60%,
		14% 37%,
		28% 67%,
		44% 29%,
		58% 57%,
		73% 31%,
		87% 59%,
		100% 42%,
		100% 100%,
		0 100%
	);
}


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

	max-width: 850px;
}


.vw-eyebrow {
	margin-bottom: .9rem;

	font-size: .83rem;
	font-weight: 800;
	letter-spacing: .19em;

	text-transform: uppercase;

	color: rgba(255, 255, 255, .92);
}


.vw-hero-title {
	margin: 0;

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

	font-size: clamp(3.7rem, 8vw, 7rem);
	font-weight: 700;

	line-height: .94;
	letter-spacing: -.045em;

	color: #ffffff;
}


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

	margin-top: 1.55rem;

	font-size: clamp(1.05rem, 2vw, 1.35rem);
	line-height: 1.6;

	color: rgba(255, 255, 255, .96);
}


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

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

	max-width: 700px;

	margin-top: 2.2rem;
}


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


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

	width: 100%;

	gap: .7rem;
}


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

	min-width: 0;
	height: 58px;

	box-sizing: border-box;

	padding: 0 1.25rem;

	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 14px;

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

	color: #172535;

	font-size: 1.05rem;

	box-shadow:
		0 9px 25px rgba(0, 0, 0, .13);
}


.vw-search input[type="text"]:focus {
	outline: 3px solid rgba(255, 255, 255, .25);

	border-color: #ffffff;
}


.vw-search input[type="submit"],
.vw-search button {
	min-height: 58px;

	padding: 0 1.7rem;

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

	background: #ffffff !important;

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

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

	cursor: pointer;

	box-shadow:
		0 9px 25px rgba(0, 0, 0, .13);
}


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


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

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


.vw-home-section > h2 {
	margin: 0 0 1.9rem;
	padding: 0;

	border: 0;

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

	font-size: clamp(2.1rem, 4vw, 3.15rem);

	line-height: 1.08;

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


/* =========================================================
   BASIC CARD GRID
   ========================================================= */

.vw-card-grid {
	display: grid;

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

	gap: 1.2rem;

	align-items: stretch;
}


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


.vw-card {
	min-width: 0;
	min-height: 180px;

	padding: 1.7rem;

	border: 1px solid rgba(11, 47, 79, .10);
	border-radius: 22px;

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

	box-shadow:
		0 8px 28px rgba(11, 47, 79, .07);

	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}


.vw-card:hover {
	transform: translateY(-5px);

	border-color: rgba(11, 47, 79, .20);

	box-shadow:
		0 16px 35px rgba(11, 47, 79, .13);
}


.vw-card h3 {
	margin: 0 0 .9rem;

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

	font-size: 1.6rem;

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


/* =========================================================
   PHOTOGRAPHIC DISCOVERY CARDS
   ========================================================= */

.vw-photo-card-grid {
	display: grid !important;

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

	gap: 1.2rem !important;

	align-items: stretch;
}


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


.vw-photo-card {
	display: flex;
	flex-direction: column;

	min-width: 0;
	min-height: 400px;

	padding: 0 !important;

	overflow: hidden;

	border-radius: 22px;

	background: #ffffff;
}


/* Image container */

.vw-card-image {
	display: block;

	width: 100%;
	height: 200px;

	margin: 0;
	padding: 0;

	overflow: hidden;

	background: var(--vw-sky);

	line-height: 0;
}


/*
   MediaWiki wraps images inside links/spans.
   Force all wrappers to remain inside the card.
*/

.vw-card-image > span,
.vw-card-image .mw-default-size,
.vw-card-image .mw-file-description,
.vw-card-image a {
	display: block !important;

	width: 100% !important;
	max-width: 100% !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Actual image */

.vw-card-image img,
.vw-card-image .mw-file-element {
	display: block !important;

	width: 100% !important;
	max-width: 100% !important;

	height: 200px !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;
	object-position: center !important;
}


/* Card body */

.vw-card-content {
	display: flex;
	flex-direction: column;
	flex: 1;

	min-width: 0;

	padding: 1.45rem 1.55rem 1.55rem;

	line-height: 1.6;
}


.vw-card-content h3 {
	margin: 0 0 .75rem;

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

	font-size: 1.6rem;

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


/* Card heading links */

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

	text-decoration: none !important;
}


.vw-card-content h3 a:hover {
	text-decoration: underline !important;
}


/* Bottom card CTA */

.vw-card-link {
	margin-top: auto;
	padding-top: 1.2rem;

	font-size: .93rem;
	font-weight: 800;
}


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

	text-decoration: none !important;
}


.vw-card-link a:hover {
	text-decoration: underline !important;
}


/* =========================================================
   RED LINK OVERRIDE ON HOMEPAGE
   ========================================================= */

/*
   Pages we haven't created yet normally appear red.
   On the homepage we want them to look intentional.
*/

body.page-Main_Page .vw-home a.new {
	color: var(--vw-navy) !important;

	text-decoration: none !important;
}


body.page-Main_Page .vw-home a.new:hover {
	text-decoration: underline !important;
}


body.page-Main_Page .vw-card-link a.new {
	color: var(--vw-blue) !important;
}


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

.vw-link-grid ul {
	display: grid;

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

	gap: .9rem;

	margin: 0;
	padding: 0;

	list-style: none;
}


.vw-link-grid li {
	margin: 0;
}


.vw-link-grid a {
	display: block;

	padding: 1.1rem 1.2rem;

	border: 1px solid rgba(11, 47, 79, .11);
	border-radius: 15px;

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

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

	font-weight: 700;

	text-decoration: none !important;

	box-shadow:
		0 4px 14px rgba(11, 47, 79, .04);

	transition:
		transform .18s ease,
		background .18s ease,
		box-shadow .18s ease;
}


.vw-link-grid a.new {
	color: var(--vw-navy) !important;
}


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

	background: #ffffff;

	box-shadow:
		0 9px 20px rgba(11, 47, 79, .09);

	text-decoration: none !important;
}


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

.vw-feature-grid {
	display: grid !important;

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

	gap: 1.25rem !important;

	align-items: stretch;
}


.vw-feature-grid > .vw-feature {
	min-width: 0;
	width: auto;
}


.vw-feature {
	min-width: 0;
	min-height: 185px;

	margin: 0 !important;

	padding: 1.9rem;

	border: 1px solid rgba(11, 47, 79, .08);
	border-radius: 23px;

	background:
		linear-gradient(
			145deg,
			rgba(220, 234, 242, .92),
			rgba(246, 242, 231, .92)
		);

	line-height: 1.6;
}


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

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

	font-size: 1.6rem;

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


.vw-feature h3 a,
.vw-feature h3 a.new {
	color: var(--vw-navy) !important;

	text-decoration: none !important;
}


.vw-feature h3 a:hover {
	text-decoration: underline !important;
}


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

.vw-home-bottom {
	padding: 2.5rem 2.7rem;

	border-radius: 26px;

	background:
		linear-gradient(
			135deg,
			#092943,
			#174a69
		);

	color: #ffffff !important;

	box-shadow:
		0 16px 38px rgba(11, 47, 79, .16);
}


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

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

	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;

	line-height: 1.1;

	color: #ffffff !important;
}


.vw-bottom-text {
	font-size: 1.05rem;

	line-height: 1.65;

	color: #ffffff !important;
}


.vw-home-bottom,
.vw-home-bottom p,
.vw-home-bottom div,
.vw-home-bottom span,
.vw-home-bottom h2,
.vw-home-bottom h3 {
	color: #ffffff !important;
}


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


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


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

.vw-home p {
	line-height: 1.65;
}


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

@media (max-width: 1000px) {

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


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


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

}


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

@media (max-width: 700px) {

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

		padding: 3rem 1.6rem;

		margin-bottom: 3.2rem;

		border-radius: 22px;
	}


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


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


	.vw-search input[type="text"],
	.vw-search input[type="submit"],
	.vw-search button {
		width: 100% !important;

		box-sizing: border-box;
	}


	.vw-card-grid,
	.vw-photo-card-grid,
	.vw-feature-grid {
		grid-template-columns: 1fr !important;
	}


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


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


	.vw-home-section {
		margin: 3.5rem 0;
	}


	.vw-home-bottom {
		padding: 1.8rem;
	}

}


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

@media (max-width: 460px) {

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

}
/* =========================================================
   VIRGINIA.WIKI — POPULAR DESTINATION CARDS
   ========================================================= */

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

/* Ignore parser-generated empty paragraphs */
.vw-destination-grid > p,
.vw-secondary-destinations > p {
	display: none !important;
}

.vw-destination-card {
	position: relative;
	overflow: hidden;

	min-width: 0;
	height: 340px;

	border-radius: 24px;

	background: #0b2f4f;

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

	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.vw-destination-card:hover {
	transform: translateY(-5px);

	box-shadow:
		0 20px 42px rgba(11, 47, 79, .20);
}


/* Photograph */

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

	width: 100%;
	height: 100%;

	overflow: hidden;

	line-height: 0;
}

.vw-destination-image > span,
.vw-destination-image .mw-default-size,
.vw-destination-image .mw-file-description,
.vw-destination-image a {
	display: block !important;

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

	margin: 0 !important;
	padding: 0 !important;
}

.vw-destination-image img,
.vw-destination-image .mw-file-element {
	display: block !important;

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

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;
	object-position: center !important;

	transition: transform .5s ease;
}

.vw-destination-card:hover .vw-destination-image img {
	transform: scale(1.04);
}


/* Dark gradient over photo */

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

	position: absolute;
	inset: 0;

	z-index: 1;

	pointer-events: none;

	background:
		linear-gradient(
			to top,
			rgba(4, 24, 40, .88) 0%,
			rgba(4, 24, 40, .52) 38%,
			rgba(4, 24, 40, .08) 70%
		);
}


/* Text over photograph */

.vw-destination-overlay {
	position: absolute;

	left: 0;
	right: 0;
	bottom: 0;

	z-index: 2;

	padding: 2rem;
}


.vw-destination-name {
	margin-bottom: .55rem;

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

	line-height: 1.05;
}


.vw-destination-name a,
.vw-destination-name a.new {
	color: #ffffff !important;

	text-decoration: none !important;
}


.vw-destination-name a:hover {
	text-decoration: underline !important;
}


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

	color: rgba(255, 255, 255, .92) !important;

	font-size: .98rem;
	line-height: 1.5;
}


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

.vw-secondary-destinations {
	display: grid;

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

	gap: .85rem;

	margin-top: 1rem;
}


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

	padding: 1rem 1.15rem;

	border: 1px solid rgba(11, 47, 79, .11);
	border-radius: 14px;

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

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

	font-weight: 700;
	text-align: center;
	text-decoration: none !important;

	transition:
		transform .18s ease,
		box-shadow .18s ease,
		background .18s ease;
}


.vw-secondary-destinations > a.new {
	color: var(--vw-navy) !important;
}


.vw-secondary-destinations > a:hover {
	transform: translateY(-2px);

	background: #ffffff;

	box-shadow:
		0 8px 20px rgba(11, 47, 79, .08);
}


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

@media (max-width: 900px) {

	.vw-destination-card {
		height: 310px;
	}

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

}


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

@media (max-width: 650px) {

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

	.vw-destination-card {
		height: 300px;
	}

	.vw-destination-overlay {
		padding: 1.5rem;
	}

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

}


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

@media (max-width: 430px) {

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

}