/**
 * Veridia Pub theme
 * Green, white and a touch of black, with the stepped motif from the Veridia logo.
 * Loaded after the default theme's stylesheet and overrides it.
 */

:root {
	--vp-green: #0B4A2C;
	--vp-green-dark: #06331E;
	--vp-green-mid: #1F6B45;
	--vp-green-bright: #1F8A55;
	--vp-mint: #9FD3B4;
	--vp-tint: #F4F8F5;
	--vp-tint-2: #EAF2EC;
	--vp-line: #D5E2D9;
	--vp-line-soft: #E3ECE6;
	--vp-ink: #111511;
	--vp-muted: #4A554E;
	--vp-on-dark: #C9D6CD;
	--vp-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--vp-sans: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--vp-wrap: 1240px;
	--vp-band: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='30'%3E%3Crect width='64' height='30' fill='%23111511'/%3E%3Cpath d='M0 30V24H8V17H16V10H24V3H40V10H48V17H56V24H64V30Z' fill='%230B4A2C'/%3E%3Cpath d='M32 14L37 19L32 24L27 19Z' fill='%23fff'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */

body.vp {
	background: #FFFFFF;
	color: var(--vp-ink);
	font-family: var(--vp-sans);
	font-size: 16px;
	line-height: 1.6;
}

body.vp h1, body.vp h2, body.vp h3, body.vp h4,
body.vp .page_title, body.vp .pkp_block .title {
	font-family: var(--vp-serif);
	color: var(--vp-green-dark);
	font-weight: 700;
	line-height: 1.2;
}

body.vp a {
	color: var(--vp-green);
}

body.vp a:hover,
body.vp a:focus {
	color: var(--vp-green-dark);
}

body.vp a:focus-visible,
body.vp button:focus-visible {
	outline: 3px solid var(--vp-green-bright);
	outline-offset: 3px;
}

/* ---------- Top bar ---------- */

.vp-topbar {
	background: var(--vp-ink);
	color: #DCE9E0;
	font-size: 13px;
}

.vp-topbar__inner {
	max-width: var(--vp-wrap);
	margin: 0 auto;
	padding: 8px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	justify-content: space-between;
}

body.vp .vp-topbar a {
	color: #DCE9E0;
	text-decoration: none;
}

body.vp .vp-topbar a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

/* ---------- Header ---------- */

body.vp .pkp_structure_head {
	background: #FFFFFF;
	border-bottom: 1px solid var(--vp-line-soft);
	position: relative;
}

body.vp .pkp_head_wrapper,
body.vp.has_site_logo .pkp_head_wrapper {
	width: auto;
	max-width: var(--vp-wrap);
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}

body.vp .pkp_head_wrapper:before,
body.vp .pkp_head_wrapper:after {
	display: none;
}

body.vp .pkp_site_name_wrapper {
	width: auto;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

body.vp .pkp_site_name_wrapper:before,
body.vp .pkp_site_name_wrapper:after {
	display: none;
}

body.vp .pkp_site_name.vp-brand {
	position: static;
	top: auto;
	left: auto;
	width: auto;
	padding: 0;
}

.vp-brand {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

body.vp .pkp_site_name .is_img {
	margin: 0;
}

body.vp .pkp_site_name .is_img img {
	max-height: 52px;
	max-width: none;
	width: auto;
	height: 52px;
}

body.vp .vp-brand__journal {
	font-family: var(--vp-serif);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--vp-muted);
	text-decoration: none;
	padding-left: 2px;
}

body.vp .vp-brand__journal:hover {
	color: var(--vp-green);
	text-decoration: underline;
}

/* Menu button (phones and tablets) */
body.vp .pkp_site_nav_toggle {
	position: static;
	order: 2;
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	height: 46px;
	padding: 0 16px;
	border: 1.5px solid var(--vp-green);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--vp-green);
	box-shadow: none;
	font: 600 15px var(--vp-sans);
	cursor: pointer;
}

body.vp .pkp_site_nav_toggle:hover {
	background: var(--vp-tint-2);
}

body.vp .pkp_site_nav_toggle:before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}

body.vp .pkp_site_nav_toggle > span {
	position: static;
	transform: none;
	width: auto;
	height: auto;
	border: 0;
	text-indent: 0;
	overflow: visible;
}

body.vp .pkp_site_nav_toggle > span:before,
body.vp .pkp_site_nav_toggle > span:after {
	display: none;
}

body.vp .pkp_site_nav_toggle--transform:before {
	width: 14px;
	height: 14px;
	box-shadow: none;
	background:
		linear-gradient(45deg, transparent 43%, currentColor 43%, currentColor 57%, transparent 57%),
		linear-gradient(-45deg, transparent 43%, currentColor 43%, currentColor 57%, transparent 57%);
}

body.vp .pkp_site_nav_toggle--transform > span {
	font-size: 0;
}

body.vp .pkp_site_nav_toggle--transform > span:after {
	display: inline;
	content: "Close";
	position: static;
	width: auto;
	height: auto;
	background: none;
	font-size: 15px;
}

/* Close button at the bottom of the phone menu; hidden on desktop */
.vp-nav-close {
	display: none;
}

/* Phone and tablet menu panel */
@media (max-width: 991px) {
	body.vp .vp-nav-close {
		position: sticky;
		bottom: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		min-height: 52px;
		margin-top: 24px;
		border: 0;
		border-radius: 999px;
		background: var(--vp-green);
		color: #FFFFFF;
		font: 600 16px var(--vp-sans);
		box-shadow: 0 10px 24px -10px rgba(6, 51, 30, .6);
		cursor: pointer;
	}

	body.vp .vp-nav-close:before {
		content: "";
		width: 14px;
		height: 14px;
		background:
			linear-gradient(45deg, transparent 43%, currentColor 43%, currentColor 57%, transparent 57%),
			linear-gradient(-45deg, transparent 43%, currentColor 43%, currentColor 57%, transparent 57%);
	}

	body.vp .vp-nav-close:hover {
		background: var(--vp-green-dark);
	}

	body.vp .pkp_head_wrapper {
		flex-wrap: nowrap;
	}

	body.vp .pkp_site_name_wrapper {
		flex: 1 1 auto;
		justify-content: space-between;
	}

	body.vp .pkp_site_name .is_img img {
		height: 40px;
		max-height: 40px;
	}

	body.vp .vp-brand__journal {
		font-size: 13px;
	}

	body.vp .pkp_site_nav_menu {
		background: #FFFFFF;
		padding: 8px 24px 24px;
		border-top: 1px solid var(--vp-line-soft);
		box-shadow: 0 24px 40px -24px rgba(6, 51, 30, .45);
	}

	body.vp .pkp_site_nav_menu a {
		display: flex;
		align-items: center;
		min-height: 52px;
		padding: 0 4px;
		font-size: 17px;
		font-weight: 600;
		color: var(--vp-ink);
		border-bottom: 1px solid var(--vp-line-soft);
	}

	body.vp .pkp_site_nav_menu ul ul a {
		font-weight: 500;
		font-size: 16px;
		padding-left: 18px;
		color: var(--vp-muted);
	}

	body.vp .pkp_navigation_primary_wrapper,
	body.vp .pkp_navigation_user {
		width: auto;
		padding: 0;
	}

	body.vp .pkp_navigation_search_wrapper,
	body.vp .pkp_navigation_user.pkp_navigation_user {
		margin-top: 16px;
		padding-top: 0;
		border-top: 0;
	}

	body.vp .pkp_navigation_user > li > a {
		color: var(--vp-green);
	}

	.vp-topbar__note {
		display: none;
	}
}

/* Desktop menu */
@media (min-width: 992px) {
	body.vp .pkp_head_wrapper,
	body.vp.has_site_logo .pkp_head_wrapper {
		padding-top: 14px;
	}

	body.vp .pkp_site_nav_toggle {
		display: none;
	}

	body.vp .pkp_site_name_wrapper {
		flex: none;
	}

	body.vp .pkp_site_nav_menu {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-end;
		gap: 6px;
		width: auto;
		background: transparent;
	}

	body.vp .pkp_navigation_primary_wrapper {
		width: auto;
		padding: 0;
		display: flex;
		align-items: center;
		gap: 8px;
	}

	body.vp .pkp_navigation_primary_wrapper:before,
	body.vp .pkp_navigation_primary_wrapper:after {
		display: none;
	}

	body.vp .pkp_navigation_primary {
		display: flex;
		align-items: center;
		gap: 4px;
	}

	body.vp .pkp_navigation_user {
		display: flex;
		gap: 4px;
	}

	body.vp .pkp_navigation_search_wrapper {
		margin-left: 16px;
	}

	body.vp .pkp_navigation_primary > li > a,
	body.vp .pkp_navigation_search_wrapper a {
		white-space: nowrap;
		margin: 0 4px;
		padding: 8px 6px;
		border-bottom: 2px solid transparent;
		color: var(--vp-ink);
		font-weight: 500;
		font-size: 15px;
	}

	body.vp .pkp_navigation_primary > li > a:hover,
	body.vp .pkp_navigation_search_wrapper a:hover {
		color: var(--vp-green);
		border-color: var(--vp-green);
	}

	body.vp .pkp_navigation_primary > li > a:focus,
	body.vp .pkp_navigation_search_wrapper a:focus,
	body.vp .pkp_navigation_user > li > a:focus {
		background: var(--vp-green);
		color: #FFFFFF;
	}

	body.vp .pkp_navigation_user_wrapper {
		position: static;
		transform: none;
		padding: 0;
	}

	body.vp .pkp_navigation_user {
		width: auto;
		padding: 0;
		font-size: 13px;
	}

	body.vp .pkp_navigation_user > li > a {
		color: var(--vp-muted);
	}

	body.vp .dropdown-menu {
		background: #FFFFFF;
		border: 1px solid var(--vp-line);
		border-radius: 10px;
		box-shadow: 0 18px 36px -18px rgba(6, 51, 30, .45);
		padding: 6px 0;
	}

	body.vp .dropdown-menu a {
		color: var(--vp-ink);
		padding: 8px 16px;
	}

	body.vp .dropdown-menu a:hover {
		background: var(--vp-tint-2);
		color: var(--vp-green);
	}
}

/* ---------- Page layout ---------- */

body.vp .pkp_structure_content {
	width: auto;
	max-width: var(--vp-wrap);
	padding-left: 24px;
	padding-right: 24px;
}

body.vp .pkp_structure_main:before,
body.vp .pkp_structure_main:after {
	display: none;
}

body.vp .pkp_structure_main {
	padding: 40px 0 64px;
}

@media (min-width: 992px) {
	body.vp .pkp_structure_content.has_sidebar .pkp_structure_main {
		width: calc(100% - 340px);
		padding: 48px 0 80px;
	}

	body.vp .pkp_structure_sidebar {
		width: 300px;
		padding-top: 48px;
	}

	body.vp .pkp_structure_content:not(.has_sidebar) .pkp_structure_main {
		float: none;
		width: auto;
	}
}

/* The site homepage runs edge to edge */
body.vp.vp-in-site.pkp_page_index .pkp_structure_content {
	max-width: none;
	padding: 0;
}

body.vp.vp-in-site.pkp_page_index .pkp_structure_main {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

/* ---------- Content elements ---------- */

body.vp .cmp_breadcrumbs {
	font-size: 14px;
	color: var(--vp-muted);
	margin-bottom: 8px;
}

body.vp .page_title,
body.vp .page h1 {
	font-size: clamp(28px, 4vw, 40px);
	margin: 8px 0 24px;
}

body.vp .cmp_button,
body.vp .cmp_form .buttons button,
body.vp .pkp_button,
body.vp .page_search .submit button,
body.vp .obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	font-family: var(--vp-sans);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background .2s, color .2s;
}

body.vp .cmp_button,
body.vp .cmp_form .buttons button,
body.vp .page_search .submit button {
	background: var(--vp-green);
	border: 1.5px solid var(--vp-green);
	color: #FFFFFF;
	box-shadow: none;
}

body.vp .cmp_button:hover,
body.vp .cmp_form .buttons button:hover,
body.vp .page_search .submit button:hover {
	background: var(--vp-green-dark);
	color: #FFFFFF;
}

body.vp .obj_galley_link {
	background: #FFFFFF;
	border: 1.5px solid var(--vp-green);
	color: var(--vp-green);
}

body.vp .obj_galley_link:hover,
body.vp .obj_galley_link:focus {
	background: var(--vp-green);
	color: #FFFFFF;
}

body.vp .obj_galley_link.pdf:before {
	color: inherit;
}

/* Sidebar blocks */
body.vp .pkp_block {
	background: var(--vp-tint);
	border: 1px solid var(--vp-line-soft);
	border-radius: 14px;
	padding: 20px 22px;
	margin-bottom: 20px;
	font-size: 15px;
}

body.vp .pkp_block .title {
	display: block;
	font-size: 18px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--vp-green);
}

/* Journal homepage */
body.vp .page_index_journal .homepage_image img {
	border-radius: 14px;
}

body.vp .page_index_journal .additional_content,
body.vp .page_index_journal .homepage_about {
	margin-bottom: 32px;
}

body.vp .current_issue > h2,
body.vp .obj_issue_toc .sections h2,
body.vp .obj_issue_toc .section h2 {
	font-size: 22px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--vp-green);
}

/* Article lists */
body.vp .obj_article_summary {
	padding: 18px 0;
	border-bottom: 1px solid var(--vp-line-soft);
}

body.vp .obj_article_summary > .title {
	font-family: var(--vp-serif);
	font-size: 19px;
	line-height: 1.35;
}

body.vp .obj_article_summary > .title a {
	color: var(--vp-ink);
	text-decoration: none;
}

body.vp .obj_article_summary > .title a:hover {
	color: var(--vp-green);
	text-decoration: underline;
}

body.vp .obj_article_summary .meta {
	color: var(--vp-muted);
	font-size: 14px;
}

body.vp .obj_article_summary .galleys_links {
	margin-top: 10px;
}

/* Article page */
body.vp .obj_article_details .page_title {
	font-size: clamp(26px, 3.4vw, 36px);
}

body.vp .obj_article_details .item .label {
	font-family: var(--vp-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--vp-green);
}

body.vp .obj_article_details .entry_details {
	background: var(--vp-tint);
	border-radius: 14px;
	border: 1px solid var(--vp-line-soft);
}

/* Issue archive */
body.vp .obj_issue_summary .title {
	font-family: var(--vp-serif);
	font-size: 19px;
	color: var(--vp-ink);
}

body.vp .obj_issue_summary .cover img {
	border-radius: 10px;
}

/* ---------- Pattern band ---------- */

.vp-band {
	height: 30px;
	background: var(--vp-band) repeat-x;
}

/* ---------- Footer ---------- */

body.vp .vp-footer {
	background: var(--vp-ink);
	color: var(--vp-on-dark);
	font-size: 15px;
}

.vp-footer__inner {
	max-width: var(--vp-wrap);
	margin: 0 auto;
	padding: 56px 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.vp-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 32px;
}

.vp-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vp-footer__about p {
	margin: 12px 0 0;
}

.vp-footer__wordmark {
	font-family: var(--vp-serif);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #FFFFFF;
}

.vp-footer__wordmark span {
	font-weight: 500;
	letter-spacing: 0;
	color: var(--vp-mint);
}

body.vp .vp-footer__title {
	font-family: var(--vp-sans);
	font-size: 15px;
	color: #FFFFFF;
	margin: 0 0 12px;
}

body.vp .vp-footer a {
	color: #DCE9E0;
	text-decoration: none;
}

body.vp .vp-footer a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

.vp-footer__bottom {
	border-top: 1px solid #2B332D;
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
}

.vp-footer__bottom .pkp_footer_content {
	padding: 0;
}

.vp-footer__bottom .pkp_footer_content p {
	margin: 0;
}

body.vp .vp-footer__ojs {
	color: #8FA096;
	font-size: 13px;
}

/* ---------- Homepage ---------- */

.vp-wrap {
	max-width: var(--vp-wrap);
	margin: 0 auto;
	padding: 0 24px;
}

.vp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--vp-green);
}

.vp-eyebrow--light {
	color: var(--vp-mint);
}

body.vp .vp-h2 {
	margin: 10px 0 0;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.1;
}

.vp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

body.vp .vp-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s, color .2s, transform .2s;
}

body.vp .vp-btn--solid {
	background: var(--vp-green);
	color: #FFFFFF;
}

body.vp .vp-btn--solid:hover {
	background: var(--vp-green-dark);
	color: #FFFFFF;
	transform: translateY(-1px);
}

body.vp .vp-btn--line {
	border: 1.5px solid var(--vp-green);
	color: var(--vp-green);
}

body.vp .vp-btn--line:hover {
	background: var(--vp-green);
	color: #FFFFFF;
}

body.vp .vp-btn--light {
	background: #FFFFFF;
	color: var(--vp-green-dark);
}

body.vp .vp-btn--light:hover {
	background: var(--vp-tint-2);
	color: var(--vp-green-dark);
}

.vp-arrow {
	transition: transform .2s ease;
}

a:hover > .vp-arrow {
	transform: translateX(4px);
}

/* Welcome section */
.vp-hero {
	position: relative;
	overflow: hidden;
	background: var(--vp-tint);
}

.vp-hero__motif {
	position: absolute;
	right: -120px;
	top: -140px;
	color: var(--vp-green);
	opacity: .07;
}

.vp-hero__inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 56px;
	padding-top: 88px;
	padding-bottom: 96px;
}

.vp-hero__text {
	flex: 1 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

body.vp .vp-hero__title {
	margin: 0;
	font-size: clamp(40px, 5.2vw, 66px);
	line-height: 1.05;
	letter-spacing: -.01em;
}

.vp-hero__lead {
	margin: 0;
	max-width: 600px;
	font-size: 19px;
	line-height: 1.6;
	color: #3E4A43;
}

.vp-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 40px;
	margin: 10px 0 0;
	padding-top: 22px;
	border-top: 1px solid var(--vp-line);
}

.vp-facts dt {
	font-family: var(--vp-serif);
	font-size: 34px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--vp-green);
}

.vp-facts dd {
	margin: 0;
	font-size: 14px;
	color: var(--vp-muted);
}

.vp-hero__art {
	flex: 1 1 380px;
	min-width: 0;
	height: 400px;
	position: relative;
}

.vp-stack {
	position: absolute;
	box-sizing: border-box;
	height: 300px;
	width: 62%;
	padding: 24px;
	border-radius: 16px;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5);
}

.vp-stack--back {
	left: 4%;
	top: 46px;
	background: var(--vp-ink);
	transform: rotate(-7deg);
}

.vp-stack--mid {
	right: 4%;
	top: 8px;
	background: var(--vp-green-mid);
	transform: rotate(6deg);
}

.vp-stack--front {
	left: 18%;
	top: 84px;
	width: 64%;
	height: 316px;
	background: var(--vp-green);
	box-shadow: 0 34px 70px -28px rgba(6, 51, 30, .75);
}

.vp-stack__motif {
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: .3;
}

.vp-stack__issue {
	position: relative;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .8;
}

.vp-stack__acronym {
	font-family: var(--vp-serif);
	font-size: 44px;
	font-weight: 700;
	line-height: 1;
}

.vp-stack__name {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
}

.vp-stack--back .vp-stack__acronym,
.vp-stack--mid .vp-stack__acronym {
	font-size: 30px;
}

.vp-stack--mid .vp-stack__acronym,
.vp-stack--mid .vp-stack__issue {
	align-self: flex-end;
}

.vp-stack--front .vp-stack__acronym {
	font-size: 54px;
}

@media (max-width: 600px) {
	.vp-hero__inner {
		padding-top: 56px;
		padding-bottom: 64px;
	}

	.vp-hero__art {
		height: 300px;
	}

	.vp-stack {
		height: 230px;
	}

	.vp-stack--front {
		height: 240px;
	}
}

/* Journal grid */
.vp-journals {
	padding: 88px 0 96px;
}

.vp-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 48px;
	margin-bottom: 36px;
}

.vp-section-head__text {
	max-width: 640px;
}

.vp-section-head__text p {
	margin: 12px 0 0;
	font-size: 17px;
	color: var(--vp-muted);
}

.vp-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vp-filters[hidden] {
	display: none;
}

body.vp .vp-chip {
	font: 600 14px var(--vp-sans);
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1.5px solid #B9CCBF;
	background: #FFFFFF;
	color: var(--vp-green);
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}

body.vp .vp-chip:hover {
	border-color: var(--vp-green);
}

body.vp .vp-chip.is-on {
	background: var(--vp-green);
	border-color: var(--vp-green);
	color: #FFFFFF;
}

.vp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 24px;
}

.vp-card {
	background: #FFFFFF;
	border: 1px solid var(--vp-line);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.vp-card[hidden],
.vp-cta-tile[hidden] {
	display: none;
}

.vp-card:hover,
.vp-card:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px -22px rgba(6, 51, 30, .55);
	border-color: var(--vp-green);
}

.vp-card__panel {
	position: relative;
	height: 156px;
	box-sizing: border-box;
	padding: 18px 20px;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	background: var(--vp-green);
}

.vp-card--tone1 .vp-card__panel {
	background: var(--vp-ink);
}

.vp-card--tone2 .vp-card__panel {
	background: var(--vp-green-mid);
}

.vp-card__steps {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -18px;
	opacity: .26;
	transition: transform .45s ease, opacity .3s ease;
}

.vp-card:hover .vp-card__steps,
.vp-card:focus-within .vp-card__steps {
	transform: translateY(-14px);
	opacity: .5;
}

.vp-card__meta {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vp-card__issue {
	background: rgba(255, 255, 255, .16);
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: .02em;
	text-transform: none;
	font-weight: 600;
	white-space: nowrap;
}

.vp-card__acronym {
	position: relative;
	font-family: var(--vp-serif);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}

.vp-card__body {
	flex: 1;
	padding: 20px 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.vp .vp-card__title {
	margin: 0;
	font-size: 21px;
	line-height: 1.25;
}

body.vp .vp-card__title a {
	color: var(--vp-ink);
	text-decoration: none;
}

body.vp .vp-card__title a:hover {
	color: var(--vp-green);
	text-decoration: underline;
}

.vp-card__desc {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--vp-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.vp-card__desc.is-open {
	display: block;
	-webkit-line-clamp: unset;
}

body.vp .vp-more {
	align-self: flex-start;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vp-green);
	font: 600 14px var(--vp-sans);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.vp-more[hidden] {
	display: none;
}

.vp-card__issn {
	margin: 0;
	font-size: 13px;
	color: var(--vp-muted);
}

.vp-card__issn strong {
	color: var(--vp-ink);
}

.vp-card__links {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--vp-line-soft);
	display: flex;
	align-items: center;
	gap: 16px;
}

body.vp .vp-card__links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-weight: 600;
	text-decoration: none;
}

body.vp .vp-card__links .vp-card__submit {
	margin-left: auto;
	color: var(--vp-muted);
}

body.vp .vp-card__links .vp-card__submit:hover {
	color: var(--vp-green);
}

.vp-cta-tile {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	min-height: 420px;
	padding: 28px 24px;
	border-radius: 14px;
	background: var(--vp-ink);
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 16px;
}

.vp-cta-tile__motif {
	position: absolute;
	left: 0;
	top: 0;
	color: var(--vp-green-bright);
	opacity: .35;
}

.vp-cta-tile__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--vp-mint);
}

body.vp .vp-cta-tile__title {
	margin: 0;
	font-size: 28px;
	color: #FFFFFF;
}

.vp-cta-tile p {
	margin: 0;
	font-size: 15px;
	color: var(--vp-on-dark);
}

.vp-cta-tile .vp-btn {
	align-self: flex-start;
}

/* How we publish */
.vp-steps {
	background: var(--vp-green-dark);
	color: #FFFFFF;
	padding: 88px 0;
}

body.vp .vp-steps .vp-h2 {
	color: #FFFFFF;
}

.vp-steps__list {
	list-style: none;
	margin: 44px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 20px;
}

.vp-steps__list li {
	border-top: 3px solid var(--vp-green-bright);
	padding-top: 20px;
}

.vp-steps__n {
	font-family: var(--vp-serif);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--vp-mint);
}

body.vp .vp-steps__list h3 {
	margin: 10px 0 8px;
	font-size: 22px;
	color: #FFFFFF;
}

.vp-steps__list p {
	margin: 0;
	font-size: 15px;
	color: var(--vp-on-dark);
}

/* For authors */
.vp-authors {
	background: var(--vp-tint);
	padding: 80px 0;
}

.vp-authors__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.vp-authors__text {
	flex: 1 1 520px;
	min-width: 0;
}

.vp-authors__text p {
	margin: 12px 0 0;
	font-size: 17px;
	color: var(--vp-muted);
}

/* Site "About" text set in the admin */
.vp-about {
	padding: 72px 0;
	border-top: 1px solid var(--vp-line-soft);
}

.vp-about .about_site {
	max-width: 820px;
	font-size: 17px;
	color: #2E3832;
}
