*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-family: var(--font);
	font-size: var(--font-default);
	color: var(--color-primary);
	line-height: 1.6;
	background: var(--color-95);
	width: 100%;
	min-height: 100vh;
}

body {
	overflow-wrap: break-word;
	word-wrap: break-word;
	width: 100%;
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-flow: column nowrap;
	flex: auto;
	align-items: center;
	justify-content: center;
}

header {
	width: 100%;
	flex: 0 0 auto;
}

footer {
	width: 100%;
	flex: 0 0 auto;
}

main {
	width: 100%;
	flex: 1 1 auto;
	background: var(--color-98);
	position: relative;
	display: flex;
	flex-direction: column;
}

h1 {
	font-size: var(--font-xlarge);
	margin: var(--s4) 0 var(--s2) 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-headers);
	font-weight: 500;
	line-height: 1.2;
	color: var(--color-00);
}

a {
	text-decoration: none;
	color: var(--color-button);
	transition: all 0.3s ease;
}

a:hover {
	text-decoration: underline;
	text-underline-offset: var(--s-half);
	color: var(--color-focus);
}

a:visited {
	opacity: 0.8;
}

a:focus {
	color: var(--color-focus);
}

a:active {
	color: var(--color-focus);
}

div.page {
	width: 100%;
}

div.page div.page2,
div.page>section {
	width: 100%;
	max-width: 1400px;
	background: transparent;
	position: relative;
	padding: 0 0;
	margin: 0 auto;
}

div.page.footer {
	font-size: var(--font-small);
	background: var(--color-95);
	padding-top: var(--s4);
	height: auto;

}

div.page.footer .footer-title {
	font-weight: 600;
	margin-bottom: var(--s2);
}

div.page.footer .footer-logo {
	margin-bottom: var(--s6);
}

div.page.footer .footer-logo img {
	width: 120px;
	height: auto;
	opacity: 0.6;
}

div.page.footer ul {
	margin-top: var(--s4);
}

div.page.footer ul li:not(:last-child) {
	margin-bottom: var(--s-half);
}

div.page.footer ul a {
	text-decoration: underline;
	text-underline-offset: var(--s-half);
	text-decoration-color: rgba(140, 140, 140, 0.5);
	color: var(--color-25);
}

body div.text p {
	margin-top: 0;
	margin-bottom: var(--s2);
}

body div.text p:last-child {
	margin-bottom: 0;
}

body .price {
	position: relative;
	max-width: max-content;
}

body .price>span:after {
	content: "₽";
	margin-left: var(--s);
	margin-right: var(--s-half);
}

body .price.price-before {
	color: var(--color-50);
}

body .price.price-before>span::before {
	content: "";
	position: absolute;
	bottom: 0.6em;
	width: 100%;
	height: 1px;
	border-top: 1px solid var(--color-50);
}

body section.sidebar div.nav {
	border-radius: var(--s2);
	overflow: hidden;
}

body section.sidebar div.nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body section.sidebar div.nav ul>li>a {
	text-decoration: none;
	color: var(--color-02);
	background: var(--color-100);
	padding: var(--s2);
	margin-bottom: var(--s-half);
	display: block;
}

body section.sidebar div.nav ul>li:last-child>a {
	margin-bottom: 0;
}

body section.sidebar div.nav ul>li:hover>a {
	background: var(--color-98);
}

body section.sidebar div.nav ul>li.active>a {
	font-weight: 600;
	background: var(--color-95);
}

body section.subnav div.nav {
	background: var(--color-100);
	border-radius: var(--s2);
	margin-bottom: var(--s4);
	overflow: hidden;
}

body section.subnav div.nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}

body section.subnav div.nav ul>li>a {
	text-decoration: none;
	color: var(--color-02);
	padding: var(--s2);
	height: 100%;
	display: flex;
	align-items: center;
}

body section.subnav div.nav ul>li:hover>a {
	background: var(--color-95);
}

body section.subnav div.nav ul>li.active>a {
	font-weight: 600;
	background: var(--color-95);
}

body div.w_div {
	background: var(--color-100);
	padding: var(--s4);
	position: relative;
	border: 1px solid var(--color-95);
	box-shadow: 0 var(--s) var(--s2) rgba(140, 140, 140, 0.1);
}

body div.w_div.w_badge {
	overflow: inherit;
}

body div.w_div.w_badge::before {
	content: attr(data-badge);
	position: absolute;
	top: calc(var(--s) * -2);
	left: var(--s4);
	background: var(--color-20);
	color: var(--color-98);
	padding: var(--s-half) var(--s2);
	border-radius: var(--s2);
	font-size: 0.75em;
	font-weight: 600;
}

body div.w_div.main {
	margin-top: var(--s4);
	margin-bottom: var(--s4);
}

body div.w_div h1 {
	margin-top: 0;
	margin-bottom: 0;
}

body div.w_div h2 {
	letter-spacing: 0.03em;
	margin-top: var(--s2);
	margin-bottom: 0;
}

body div.w_div h3 {
	font-size: var(--font-medium);
	letter-spacing: 0.03em;
	margin-top: var(--s2);
	margin-bottom: 0;
}

body div.w_div section.paginator-wrapper {
	margin-bottom: 0
}

body div.w_div.w_div_code {
	background: transparent;
	padding: 0;
	margin: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

body div.w_div.w_div_code::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle, var(--color-95), var(--color-blue-light));
	animation: code_bg 10s ease-in-out infinite;
	pointer-events: none;
}

body div.w_div.w_div_code>* {
	position: relative;
	z-index: 1;
}

body div.w_div.w_div_image {
	padding: 10% 0 0 0;
	margin: 0;
	height: 100%;
	width: 100%;
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.w_padding_right {
	padding-right: var(--s10);
}

.w_padding_left {
	padding-left: var(--s10);
}

body div.w_div.w_div_image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle, var(--color-95), var(--color-blue-light));
	animation: code_bg 10s ease-in-out infinite;
	pointer-events: none;
}

body div.w_div.w_div_image>* {
	position: relative;
	z-index: 1;
}

body div.w_div.w_div_image img {
	max-width: 90%;
	height: auto;
	border-radius: var(--s4) 0 0 0;
	box-shadow: calc(var(--s) * -1) calc(var(--s) * -1) var(--s2) rgba(160, 160, 160, 0.1);
	position: relative;
	z-index: 1;
}

body .bi.bi-vk {
	display: block;
	width: 16px;
	height: 16px;
}

body .bi.bi-vk {
	display: block;
	width: 16px;
	height: 16px;
	color: inherit;
	background-color: currentColor;
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="50" height="50" viewBox="0 0 50 50"><path fill="black" d="M25,2C12.318,2,2,12.318,2,25s10.318,23,23,23c12.683,0,23-10.318,23-23S37.683,2,25,2z M34.973,29.535 c2.237,1.986,2.702,2.695,2.778,2.816C38.678,33.821,36.723,34,36.723,34h-4.12c0,0-1.003,0.011-1.86-0.557 c-1.397-0.915-2.86-2.689-3.888-2.381C25.992,31.32,26,32.486,26,33.483C26,33.84,25.693,34,25,34s-0.981,0-1.288,0 c-2.257,0-4.706-0.76-7.149-3.313c-3.456-3.609-6.487-10.879-6.487-10.879s-0.179-0.366,0.016-0.589 c0.221-0.25,0.822-0.218,0.822-0.218L14.909,19c0,0,0.376,0.071,0.646,0.261c0.223,0.156,0.347,0.454,0.347,0.454 s0.671,2.216,1.526,3.629c1.67,2.758,2.447,2.828,3.014,2.531C21.27,25.445,21,22.513,21,22.513s0.037-1.259-0.395-1.82 c-0.333-0.434-0.97-0.665-1.248-0.701c-0.225-0.029,0.151-0.423,0.63-0.648C20.627,19.059,21.498,18.986,23,19 c1.169,0.011,1.506,0.081,1.962,0.186C26.341,19.504,26,20.343,26,23.289c0,0.944-0.13,2.271,0.582,2.711 c0.307,0.19,1.359,0.422,3.231-2.618c0.889-1.442,1.596-3.834,1.596-3.834s0.146-0.263,0.373-0.393 c0.232-0.133,0.225-0.13,0.543-0.13S35.832,19,36.532,19c0.699,0,1.355-0.008,1.468,0.402c0.162,0.589-0.516,2.607-2.234,4.797 C32.943,27.793,32.63,27.457,34.973,29.535z"></path></svg>');
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
}

body .theme-switcher {
	font-size: var(--font-default);
	color: var(--color-primary);
	background: var(--color-100);
	padding: var(--s);
	width: var(--s6);
	height: var(--s6);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.3s ease;
}

@media screen and (max-width: 1440px) {

	div.page div.page2,
	div.page>section {
		padding: 0 var(--s4);
	}
}

@media screen and (max-width: 810px) {
	.w_padding_right {
		padding-right: 0;
	}

	.w_padding_left {
		padding-left: 0;
	}
}

@media screen and (max-width: 480px) {
	footer {
		margin-bottom: calc(var(--s) * 12);
	}
}