/*
 * Text-page typography (.lvt-prose): legal pages, FSC page, any editor text
 * (design-main T9, design-shop 6.11). Paragraphs 16/24 (14/20 mobile),
 * "medium" sub-headings 20px, lists, blockquote, tables, aligned images.
 */

.lvt-prose {
	color: var(--lvt-c-text);
	font-size: var(--lvt-fs-body);
	line-height: var(--lvt-lh-body);
	overflow-wrap: break-word;
}

.lvt-prose > :last-child {
	margin-bottom: 0;
}

.lvt-prose p {
	margin: 0 0 20px;
}

.lvt-prose .has-medium-font-size {
	font-size: 20px;
	line-height: 24px;
}

.lvt-prose .has-large-font-size {
	font-size: 26px;
	line-height: 32px;
}

.lvt-prose .has-small-font-size {
	font-size: 13px;
	line-height: 20px;
}

.lvt-prose a {
	color: #333333;
}

.lvt-prose a:hover {
	color: var(--lvt-c-primary);
}

.lvt-prose strong,
.lvt-prose b {
	font-weight: 600;
}

.lvt-prose h1,
.lvt-prose h2,
.lvt-prose h3,
.lvt-prose h4,
.lvt-prose h5,
.lvt-prose h6 {
	margin: 0 0 20px;
}

.lvt-prose ul,
.lvt-prose ol {
	margin: 0 0 20px;
	padding-left: 17px;
}

.lvt-prose ul {
	list-style: disc;
}

.lvt-prose ol {
	list-style: decimal;
}

.lvt-prose li {
	margin-bottom: 10px;
}

.lvt-prose li > ul,
.lvt-prose li > ol {
	margin-top: 10px;
	margin-bottom: 0;
}

.lvt-prose blockquote {
	margin: 0 0 20px;
	padding-left: 30px;
	border-left: 2px solid var(--lvt-c-primary);
	font-size: 1.1em;
	line-height: 24px;
}

.lvt-prose blockquote p {
	margin-bottom: 10px;
}

.lvt-prose blockquote cite {
	display: block;
	font-size: 14px;
	font-style: normal;
}

.lvt-prose hr {
	margin: 0 0 20px;
	border: 0;
	border-top: 1px solid var(--lvt-c-line-soft);
}

.lvt-prose table {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 14px;
	line-height: 20px;
}

.lvt-prose th,
.lvt-prose td {
	padding: 15px 12px;
	border-bottom: 1px solid var(--lvt-c-line-soft);
	text-align: left;
	vertical-align: top;
}

.lvt-prose th {
	color: var(--lvt-c-heading);
	font-weight: 600;
	text-transform: uppercase;
}

.lvt-prose .wp-block-table {
	margin: 0 0 20px;
	overflow-x: auto;
}

.lvt-prose .wp-block-table table {
	margin: 0;
}

.lvt-prose figure {
	margin: 0 0 20px;
}

.lvt-prose figcaption {
	margin-top: 8px;
	color: var(--lvt-c-muted);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.lvt-prose img {
	max-width: 100%;
	height: auto;
}

.lvt-prose .aligncenter,
.lvt-prose .wp-block-image.aligncenter,
.lvt-prose .wp-block-image .aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.lvt-prose .wp-block-image .aligncenter {
	display: table;
}

.lvt-prose .alignleft {
	float: left;
	margin: 0 20px 20px 0;
}

.lvt-prose .alignright {
	float: right;
	margin: 0 0 20px 20px;
}

.lvt-prose .has-text-align-center {
	text-align: center;
}

.lvt-prose .has-text-align-right {
	text-align: right;
}

.lvt-prose::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 767px) {
	.lvt-prose .has-medium-font-size {
		line-height: 20px;
	}

	.lvt-prose .alignleft,
	.lvt-prose .alignright {
		float: none;
		margin: 0 0 20px;
	}
}
