.g-typography {
    --vpl-color-bg: #fcfcfc;
    --vpl-color-primary: var(--color-primary);
    --vpl-color-primary-text: var(--vpl-color-primary);
    --vpl-color-primary-darken: #217023;
    --vpl-color-secondary:var(--color-secondary);
    --vpl-color-surface-accent: #fff8f2;
    --vpl-color-service: var(--vpl-color-header-text);
    --vpl-color-cross: var(--vpl-color-primary);
    
    --vpl-color-header-text: #000;
    --vpl-color-text: rgba(0,0,0, 0.8);
    --vpl-color-gray-text: rgba(0,0,0, 0.65);
    
    --vpl-space-xl: 30px;
    --vpl-notice-zindex: 999999;
}
.g-typography {
	line-height: 140%;
	font-size: var(--vpl-text-m);
}

/* Anchors */
.g-typography a {
	color: var(--vpl-color-primary);
	text-decoration: underline;
}

.g-typography a:hover {
	text-decoration: none;
}

.g-typography ul a,
.g-typography ol a {
	text-decoration: none;
}

.g-typography ul a:hover,
.g-typography ol a:hover {
	text-decoration: underline;
}

/* Headings */
.g-typography h1,
.g-typography h2,
.g-typography h3,
.g-typography h4,
.g-typography h5,
.g-typography h6 {
	line-height: 100%;
	font-family: var(--vpl-font-header);
	font-weight: 700; /* вместо @font-weight-bold */
}

.g-typography h1:first-child,
.g-typography h2:first-child,
.g-typography h3:first-child,
.g-typography h4:first-child,
.g-typography h5:first-child,
.g-typography h6:first-child {
	margin-top: 0;
}

.g-typography h1 + p,
.g-typography h2 + p,
.g-typography h3 + p,
.g-typography h4 + p,
.g-typography h5 + p,
.g-typography h6 + p {
	margin-top: -8px;
}

.g-typography h1 em,
.g-typography h2 em,
.g-typography h3 em,
.g-typography h4 em,
.g-typography h5 em,
.g-typography h6 em {
	display: block;
	font-size: var(--vpl-text-m);
}

.g-typography h1 {
	margin: 1.85em 0 1.25em 0;
	font-size: var(--vpl-text-2xl);
}

.g-typography h2 {
	margin: 1.85em 0 1.25em 0;
	font-size: var(--vpl-text-xl);
}

.g-typography h3 {
	margin: 1.85em 0 1.25em 0;
	font-size: var(--vpl-text-l);
}

.g-typography h4 {
	margin: 1.85em 0 1.25em 0;
	font-size: inherit;
}

.g-typography h5,
.g-typography h6 {
	margin: 1.5em 0 1.15em 0;
	font-size: inherit;
}

/* Images */
.g-typography img {
	margin-top: var(--vpl-space-mini);
	margin-bottom: var(--vpl-space-mini);
	max-width: 100%;
}

.g-typography img.left {
	float: left;
	margin-right: var(--vpl-space-mini);
}

.g-typography img.right {
	float: right;
	margin-left: var(--vpl-space-mini);
}

/* Emphasis */
.g-typography em {
	font-style: italic;
}

/* Paragraphs */
.g-typography p {
	margin: 1.5em 0 1em 0;

	/* .mix-clear; — миксин удалён */
}

.g-typography p + p {
	margin-top: 0.5em;
}

.g-typography p:first-child {
	margin-top: 0;
}

/* Lists */
.g-typography ul,
.g-typography ol {
	margin: 0.5em 0;
}

.g-typography ul li,
.g-typography ol li {
	position: relative;
	margin: 0.25em 0;
	padding-left: 1.11em;
}

.g-typography ul li::before,
.g-typography ol li::before {
	display: table-cell;
}

.g-typography li > ul,
.g-typography li > ol {
	padding-bottom: var(--vpl-space-default);
}

.g-typography li > ul > li > ul,
.g-typography li > ol > li > ol {
	padding-bottom: 0;
}

/* Unordered list bullets */
.g-typography ul > li::after {
	content: '';
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 0.37em;
	height: 0.37em;
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--vpl-color-primary);
}

/* Ordered lists */
.g-typography ol {
	list-style-type: decimal;
	counter-reset: list1;
}

.g-typography ol > li {
	list-style: none;
}

.g-typography ol > li::before {
	counter-increment: list1;
	content: counter(list1) ".";
	margin-left: -15px;
	padding-right: 6px;
	font-weight: 700;
	color: var(--vpl-color-primary-text);
}

.g-typography ol ol {
	counter-reset: list2;
}

.g-typography ol ol > li::before {
	counter-increment: list2;
	content: counter(list1) "." counter(list2) ".";
}

.g-typography ol ol ol {
	counter-reset: list3;
}

.g-typography ol ol ol > li::before {
	counter-increment: list3;
	content: counter(list1) "." counter(list2) "." counter(list3) ".";
}
