@charset "UTF-8";

@font-face {
	font-family: 'Golos';
	font-display: swap;
	src: url('fonts/GolosText-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900; 
	font-stretch: 75% 100%; 
}
@font-face {
	font-family: 'Cera Pro';
	font-display: swap;
	src: url('fonts/CeraPro-Regular.eot');
	src: local('Cera Pro Regular'), local('CeraPro-Regular'),
		url('fonts/CeraPro-Regular.eot?#iefix') format('embedded-opentype'),
		url('fonts/CeraPro-Regular.woff') format('woff'),
		url('fonts/CeraPro-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: 'Cera Pro';
	font-display: swap;
	src: url('fonts/CeraPro-Medium.eot');
	src: local('Cera Pro Medium'), local('CeraPro-Medium'),
		url('fonts/CeraPro-Medium.eot?#iefix') format('embedded-opentype'),
		url('fonts/CeraPro-Medium.woff') format('woff'),
		url('fonts/CeraPro-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
html,body{width:100%;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;}
html {touch-action:manipulation;}
html *{max-height:1000000px;}
html *, *:before, *:after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:clip!important;}
*{-webkit-tap-highlight-color:transparent;}
*:focus,*:active {outline:none;}
img{border: none;}
input, textarea {-webkit-appearance: none;}
.clear {clear:both;height:0px;}
::-webkit-file-upload-button {cursor:pointer;}
a, a[nohref], a[role="button"] {cursor:pointer;}
b, strong, .bold {font-weight:700;}
ul,ol{list-style-type:none;}
button{padding:0;margin:0;border:0;outline:0;background:transparent;cursor:pointer}
input{outline:none;background:transparent;}

@media (max-width: 0px) {@view-transition {navigation:auto;}}

:root {
	--vh: 100dvh;
	--vw: 100dvw;
	--bw: 100svw;
	--font-main: 'Golos', sans-serif;
	--font-accent: 'Cera Pro', sans-serif;
	--wrapper-width: 2000px;
	--container-width: 1450px;
	--header-mobile-height: 70px;
	--transition-name: all;
	--transition-duration: 0.3s;
	--transition-easing: linear;
	--transition: var(--transition-name) var(--transition-duration) var(--transition-easing);
	--submenus-height: calc((var(--vh) * 100) - 167px - 0px);
	--submenus-height-with-season: calc((var(--vh) * 100) - 167px - 100px);
	--float-menu-height: 80px;
	--color-red: #df0000;
	--color-red-hover: #f24444;
	--color-red-border: #e62949;
	--color-yellow: #ffcc00;
	--color-yellow-hover: #ffd800;
	--color-green: #4ec45d;
	--color-green-2: #6db422;
	--color-green-3: #1bb157;
	--color-green-4: #21a90d;
	--color-white: #fff;
	--color-white-rgb: 255, 255, 255;
	--color-gray-01: #f8f8fc;
	--color-gray-02: #f5f7fa;
	--color-gray-03: #f1f3f4;
	--color-gray-04: #e1e2e5;
	--color-gray-05: #e8e8e9;
	--color-gray-06: #d7d8da;
	--color-gray-07: #c9c9c9;
	--color-gray-08: #b9c2ca;
	--color-gray-09: #afb0b2;
	--color-gray-10: #f0f0f5;
	--color-gray-11: #808080;
	--color-gray-12: #555558;
	--color-gray-13: #4c4c4c;
	--color-gray-14: #e1e2e6;
	--color-gray-15: #6d7581;
	--color-gray-16: #ebebee;
	--color-gray-17: #ebedf0;
	--color-gray-18: #999;
	--color-gray-19: #f3f4f7;
	--color-gray-20: #8d8d8d;
	--color-gray-21: #e5e4e6;
	--color-gray-22: #adadb0;
	--color-gray-23: #030303;
	--color-gray-24: #f0f0f0;
	--color-gray-25: #bfbfbf;
	--color-gray-26: #333;
	--color-black: #000;
	--color-light-blue: #a5b2bf;
	--color-blue: #0066cc;
	--color-night-blue: #20364b;
	--color-night-blue-hover: #1e4467;
	--color-deep-sea: #055c55;
	--color-deep-sea-hover: #06766d;
	--color-black-rgb: 0, 0, 0;
	--color-thermometer-scale: #ffddd4;
	--color-thermometer-value: #ff7755;
	--color-temperature-scale: #ffddd4;
	--color-temperature-value: #ff7755;
	--color-sun-scale: #fff0c6;
	--color-sun-value: #ffd33a;
	--color-volume-scale: #e9f6d5;
	--color-volume-value: #8edc46;
	--color-attention-block: #fdf7e1;
	--color-attention-text: #d6ca9e;
	--header-shadow: 0 0 20px 0 rgba(0, 0, 0, .1);
	--search-shadow: 0 5px 20px 0 rgba(32, 54, 75, .15);
	--select-shadow: 0 0 20px 0 rgba(0, 0, 0, .06);
	--swiper-btn-shadow: 0 0 20px 0 rgba(0, 0, 0, .1);
	--swiper-btn-hover-shadow: 0 0 20px 0 rgba(223, 0, 0, .1);
	--sash-tooltip-shadow: 0 0 50px 0 rgba(0, 0, 0, .2);
	--range-slider-handle-shadow: 0 4px 7px 0 rgba(230, 13, 14, .4);
	--side-widget-shadow: 0 0 25px 0 rgba(0, 0, 0, .08);
	--quiz-shadow: 0 0 30px 0 rgba(0, 0, 0, .06);
	--quiz-label-shadow: 0 10px 10px 0 rgba(0, 0, 0, .04);
	--tags-btn-shadow: 0 0 20px 0 rgba(0, 0, 0, .12);
}
@media (max-width: 1240px) {
	:root {
		--container-width: 688px;
	}
}
@media (max-width: 768px) {
	:root {
		--container-width: 500px;
	}
}
@media (max-width: 549px) {
	:root {
		--container-width: 100%;
	}
}

body {
	font-family: var(--font-main);
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	color: var(--color-black);
	padding:0;
	margin:0;
}
body.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}
sup {
	font-size: .6em !important;
}
#wrapper {
	display: block;
	margin: 0 auto;
	padding: 0;
	position: relative;
	max-width: 2000px;
	background: var(--color-white);
}
@media (min-width: 1921px) {
	body {
		background: var(--color-gray-02);
	}
	#wrapper {
		box-shadow: 0 0 80px 0 rgba(var(--color-black-rgb), .1);
	}
}
@media (max-width: 549px) {
	body {
		padding-top: var(--header-mobile-height) !important;
	}
}

.container {
	width: 100%;
	max-width: var(--container-width);
	position: relative;
	margin: 0 auto;
	padding: 0;
	z-index: 20;
	background-color: transparent;
}
.container::after {
	content: "";
	display: block;
	clear: both;
}
@media (max-width: 1500px) {
	.container {
		padding: 0 50px;
	}
}
@media (max-width: 1240px) {
	.container {
		padding: 0;
	}
}
@media (max-width: 549px) {
	.container {
		min-width: 270px;
		padding-left: 25px;
		padding-right: 25px;
	}
}

.nowrap, 
.--nowrap {
	overflow-wrap: normal;
	word-wrap: normal;
	word-break: keep-all;
	line-break: auto;
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	white-space: nowrap;
}
.schema-block {
	display: none;
}

.section-text {
	font-size: 18px;
	line-height: 26px;
	color: var(--color-gray-12);
}
.section-title + .section-text {
	margin-top: 22px;
}
.section-subtitle {
	font-size: 20px;
	line-height: 26px;
	color: var(--color-gray-12);
	margin-top: 15px;
}
@media (max-width: 768px) {
	.section-text {
		font-size: 15px;
		line-height: 22px;
	}
	.section-subtitle {
		font-size: 16px;
		line-height: 24px;
	}
}

.--padding-top-80 {
	padding-top: 80px;
}
.--padding-bottom-80 {
	padding-bottom: 80px;
}
.--padding-bottom-50 {
	padding-bottom: 50px;
}
.--margin-top-40 {
	margin-top: 40px;
}
.--margin-top-50 {
	margin-top: 50px;
}
.--margin-top-80 {
	margin-top: 80px;
}
.--margin-bottom-40 {
	margin-bottom: 40px;
}
.--margin-bottom-50 {
	margin-bottom: 50px;
}
.--margin-bottom-80 {
	margin-bottom: 80px;
}
@media (max-width: 768px) {
	.--padding-top-80 {
		padding-top: 50px;
	}
	.--padding-bottom-80 {
		padding-bottom: 50px;
	}
	.--padding-bottom-50 {
		padding-bottom: 35px;
	}
	.--margin-top-50 {
		margin-top: 35px;
	}
	.--margin-top-80 {
		margin-top: 50px;
	}
	.--margin-bottom-40 {
		margin-bottom: 35px;
	}
	.--margin-bottom-50 {
		margin-bottom: 35px;
	}
	.--margin-bottom-80 {
		margin-bottom: 50px;
	}
}
@media (max-width: 549px) {
	.--padding-top-80 {
		padding-top: 40px;
	}
	.--padding-bottom-80 {
		padding-bottom: 40px;
	}
	.--padding-bottom-50 {
		padding-bottom: 30px;
	}
	.--margin-top-50 {
		margin-top: 30px;
	}
	.--margin-top-80 {
		margin-top: 40px;
	}
	.--margin-bottom-40 {
		margin-bottom: 30px;
	}
	.--margin-bottom-50 {
		margin-bottom: 30px;
	}
	.--margin-bottom-80 {
		margin-bottom: 40px;
	}
}

.--border-top {
	border-top: 1px solid var(--color-gray-05);
}
.--border-bottom {
	border-bottom: 1px solid var(--color-gray-05);
}

.--color-red {
	color: var(--color-red);
}

h1, 
.h1,
h2, 
.h2,
h3, 
.h3,
h4, 
.h4,
h5, 
.h5,
h6, 
.h6 {
	display: block;
	font-weight: 600;
	color: var(--color-black);
}
h1, 
.h1 {
	font-size: 34px;
	line-height: 40px;
	font-weight: 500;
}
h1.--offset-top, 
.h1.--offset-top {
	margin-top: calc((40px - 34px) * -1);
}
h2, 
.h2 {
	font-size: 30px;
	line-height: 36px;
}
h2.--offset-top, 
.h2.--offset-top {
	margin-top: calc((36px - 30px) * -1);
}
h3, 
.h3 {
	font-size: 26px;
	line-height: 32px;
}
h3.--offset-top, 
.h3.--offset-top {
	margin-top: calc((32px - 26px) * -1);
}
h4, 
.h4 {
	font-size: 24px;
	line-height: 30px;
}
h4.--offset-top, 
.h4.--offset-top {
	margin-top: calc((30px - 24px) * -1);
}
@media (max-width: 768px) {
	h1, 
	.h1 {
		font-size: 28px;
		line-height: 34px;
	}
	h1.--offset-top, 
	.h1.--offset-top {
		margin-top: calc((34px - 28px) * -1);
	}
	h2, 
	.h2 {
		font-size: 24px;
		line-height: 30px;
	}
	h2.--offset-top, 
	.h2.--offset-top {
		margin-top: calc((30px - 24px) * -1);
	}
	h3, 
	.h3 {
		font-size: 24px;
		line-height: 30px;
	}
	h3.--offset-top, 
	.h3.--offset-top {
		margin-top: calc((30px - 26px) * -1);
	}
	h4, 
	.h4 {
		font-size: 20px;
		line-height: 26px;
	}
	h4.--offset-top, 
	.h4.--offset-top {
		margin-top: calc((26px - 20px) * -1);
	}
	h5, 
	.h5 {
		font-size: 20px;
		line-height: 26px;
	}
	h5.--offset-top, 
	.h5.--offset-top {
		margin-top: calc((26px - 20px) * -1);
	}
}
@media (max-width: 549px) {
	h1, 
	.h1, 
	h2, 
	.h2, 
	h3, 
	.h3, 
	h4, 
	.h4, 
	h5, 
	.h5, 
	h6, 
	.h6	{
		text-wrap: balance;
	}
	h1, 
	.h1 {
		font-size: 24px;
		line-height: 30px;
	}
	h1.--offset-top, 
	.h1.--offset-top {
		margin-top: calc((30px - 24px) * -1);
	}
}

select, 
option {
	font-family: var(--font-main);
	font-size: 15px;
	line-height: 15px;
}
option {
	line-height: 19px;
}

button {
	font-family: var(--font-main);
}

a {
	display: inline;
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: var(--transition);
}
a:hover, 
a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
}

.section-header {
	display: flex;
	align-items: center;
	gap: 28px;
}
.section-header.--offset-top {
	margin-top: calc((36px - 30px) * -1);
}
.section-header__counter {
	font-size: 16px;
	line-height: 16px;
	color: var(--color-gray-11);
}
a.section-link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--color-gray-13);
	text-decoration: underline;
	text-decoration-color: var(--color-gray-13);
	transform: translateY(1px);
	transition: var(--transition);
}
a.section-link span {
	flex: 0 0 auto;
	min-width: 0;
	font-size: 15px;
	line-height: 22px;
	text-decoration: underline;
	text-decoration-color: var(--color-gray-13);
	transition: var(--transition);
}
a.section-link:hover span, 
a.section-link:active span {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
a.section-link:hover, 
a.section-link:active {
	text-decoration: underline;
	text-decoration-color: transparent;
}
.section-link svg {
	margin-top: 1px;
	transform: rotate(-90deg) translateX(-2px);
	transition: var(--transition);
}
.section-link:hover svg, 
.section-link:active svg {
	color: var(--color-red);
}
@media (max-width: 768px) {
	.section-header {
		align-items: flex-start;
		gap: 5px;
		flex-direction: column;
	}
	.section-header.--offset-top {
		margin-top: calc((30px - 24px) * -1);
	}
}

.content-controls {
	width: 100vw;
	margin-left: calc((100vw - 100%) / -2);
}
.content-controls__items {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	flex-wrap: nowrap;
	max-width: 100%;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-left: calc((100vw - var(--container-width)) / 2);
	padding-right: calc((100vw - var(--container-width)) / 2);
}
.content-controls + .content-wrapper {
	margin-top: 30px;
}
.content-controls__btn {
	display: block;
	padding: 9px 14px 12px;
	font-size: 18px;
	line-height: 18px;
	color: var(--color-black);
	border: 1px solid var(--color-gray-04);
	border-radius: 10px;
	cursor: pointer;
	transition: var(--transition);
	text-decoration: none !important;
}
.content-controls__btn:hover, 
.content-controls__btn:active {
	background: var(--color-gray-01);
	color: var(--color-black);
	text-decoration: none !important;
}
.content-controls__btn.--active {
	background: var(--color-red) !important;
	border-color: var(--color-red) !important;
	color: var(--color-white) !important;
	font-weight: 500;
}
@media (max-width: 549px) {
	.content-controls {
		margin-left: -25px;
	}
	.content-controls__items {
		padding-left: 25px;
		padding-right: 25px;
	}
}

/*--- Кнопки ---*/

.btn, 
a.btn, 
button.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px 13px 16px;
	position: relative;
	width: auto;
	font-size: 15px;
	line-height: 15px;
	font-weight: 500;
	color: var(--color-black);
	border-radius: 6px;
	border: none;
	outline: none;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	background: var(--color-yellow);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: var(--transition);
	user-select: none;
}
.btn:hover, 
.btn:active {
	background: var(--color-yellow-hover);
}
.btn:disabled, 
.btn[disabled] {
	cursor: default !important;
	opacity: 0.5 !important;
	background: var(--color-yellow) !important;
}
.btn.--wide {
	width: 100%;
}
.btn.--empty {
	border: 2px solid var(--color-yellow);
	background: transparent;
}
.btn.--empty:hover, 
.btn.--empty:active {
	background: var(--color-yellow-hover);
	border-color: var(--color-yellow-hover)
}
.btn.btn-more {
	width: 100%;
	height: 44px;
	padding-top: 14px;
	padding-bottom: 15px;
	font-size: 15px;
	line-height: 15px;
	border-radius: 6px;
	background: var(--color-gray-01);
	cursor: pointer;
	transition: var(--transition);
}
.btn.btn-more.--loading {
	color: var(--color-red);
	cursor: default;
}
.btn.btn-more:hover, 
.btn.btn-more:active {
	color: var(--color-red);
}

/*--- Шапка ---*/

.header {
    background: var(--color-white);
    box-shadow: none;
	border-bottom: 1px solid var(--color-gray-05);
    position: relative;
    z-index: 1000;
}
body.pFront .header {
    box-shadow: var(--header-shadow);
    border-bottom: none;
}
.header__main {
    padding: 24px 0;
    border-bottom: 1px solid var(--color-gray-05);
}
.header__main-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}
.site-branding {
    display: flex;
    align-items: center;
    gap: 15px;
}
.site-branding__logo {
    display: flex;
    align-items: center;
    gap: 15px;
}
.site-branding__logo-image {
    flex: 0 0 49px;
    width: 49px;
    height: 48px;
}
.site-branding__logo-image > * {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.site-branding__logo-content {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.site-branding__logo-link {
	display: flex;
	align-items: center;
	gap: 15px;
	text-decoration: none !important;
}
.site-branding__logo-link[role="button"] {
	cursor: default;
}
.site-branding__logo-link[href] {
	cursor: pointer;
}
.site-branding__logo-title {
    font-family: var(--font-accent);
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
	color: var(--color-black);
    position: relative;
    top: -1px;
}
.site-branding__logo-title[data-content]:before {
	content: attr(data-content);
	display: inline;
}
.site-branding__logo-subtitle {
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--color-red);
	position: relative;
}
.site-branding__logo-subtitle[data-content]:before {
	content: attr(data-content);
	display: inline;
}
.site-branding__slogan {
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    color: var(--color-gray-11);
    white-space: nowrap;
}
.site-contacts {
    display: flex;
    align-items: center;
    gap: 30px;
}
.site-contacts__item {
    display: flex;
    align-items: center;
    gap: 15px;
}
.site-contacts__item:last-child {
    justify-content: flex-end;
}
.site-contacts__item-image {
    flex: 0 0 20px;
    width: 20px;
	font-size: 0px;
	line-height: 0px;
}
.site-contacts__item-content {
    font-size: 14px;
    line-height: 20px;
}
.site-contacts__item-content-title {
    font-weight: 500;
}
.site-contacts__item:last-child .site-contacts__item-content-title {
    text-align: right;
}
.site-contacts__item:last-child .site-contacts__item-content-subtitle {
    text-align: right;
}
.site-contacts__item-content-subtitle a, 
.site-contacts__item-content-subtitle .link {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
	transition: var(--transition);
    cursor: pointer;
}
.site-contacts__item-content-subtitle a:hover, 
.site-contacts__item-content-subtitle a:active,
.site-contacts__item-content-subtitle .link:hover, 
.site-contacts__item-content-subtitle a:active {
	text-decoration: underline;
	text-decoration-color: transparent;
}
.site-contacts__chat-button {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    background: var(--color-green);
    color: var(--color-white);
    border-radius: 6px;
    transition: var(--transition);
}
.site-contacts__chat-button:hover, 
.site-contacts__chat-button:active {
    filter: brightness(1.1);
	color: var(--color-white);
}
.site-contacts__chat-button *:hover, 
.site-contacts__chat-button *:active {
	color: var(--color-white) !important;
}
.site-contacts__phone {
    font-size: 20px;
    line-height: 22px;
    font-weight: 600;
    color: var(--color-black);
    text-decoration: none;
    white-space: nowrap;
}
.site-contacts__phone:hover, 
.site-contacts__phone:active {
    color: var(--color-red);
    text-decoration: none;
}
.site-contacts__phone .site-contacts__item-content-subtitle {
    font-weight: 400;
}
.header__buttons {
    display: flex;
    align-items: center;
    gap: 20px;
}
.header__buttons-item {
    position: relative;
    color: var(--color-black);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition);
}
.header__buttons-item a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    position: relative;
    height: 20px;
    color: var(--color-black);
    text-decoration: none;
    cursor: pointer;
    z-index: 0;
}
.header__buttons-item * {
    transition: var(--transition);
}
.header__buttons-item *:hover, 
.header__buttons-item *:active {
    color: var(--color-red);
}
.header__buttons-item-counter {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0px 4px 1px 4px;
    position: absolute;
    top: 0;
    right: -4px;
    min-width: calc(10px + (2px * 2));
    height: calc(10px + (2px * 2) + 1px);
	color: var(--color-white);
    font-size: 10px;
    line-height: 10px;
    font-weight: 500;
    text-align: center;
    border-radius: calc(10px + (2px * 2));
    background: var(--color-red);
	opacity: 0;
    transform: translateY(-10px);
    transition: opacity var(--transition-duration) var(--transition-easing), transform var(--transition-duration) var(--transition-easing);
    z-index: 2;
}
.header__buttons-item-counter:hover, 
.header__buttons-item-counter:active {
	color: var(--color-white);
}
.header__buttons-item-counter.--show {
	transform: translateY(-5px);
	opacity: 1;
}
.header-mobile {
    display: none;
}
@media (max-width: 1500px) {
    .site-contacts__messengers .site-contacts__item-content,
    .site-contacts__working-time {
        display: none;
    }
}
@media (max-width: 1240px) {
    .site-contacts__zamer,
    .site-contacts__email {
        display: none;
    }
}
@media (max-width: 768px) {
    .site-branding__slogan {
        display: none;
    }
    .site-branding__logo {
        gap: 10px;
    }
    .site-branding__logo-image {
        flex: 0 0 43px;
        width: 43px;
        height: 42px;
    }
	.site-branding__logo-link {
		gap: 10px;
	}
    .site-branding__logo-title {
        font-size: 20px;
		line-height: 20px;
    }
    .site-branding__logo-subtitle {
        font-size: 20px;
        line-height: 20px;
    }
    .site-contacts {
        gap: 20px;
    }
    .header__buttons {
        gap: 15px;
    }
}
@media (max-width: 549px) {
    .header-desktop,
    .site-branding .header-mobile__device,
    .header__buttons-item.--phone {
        display: none;
    }
    .header-mobile {
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        background: var(--color-white);
        width: 100%;
        box-shadow: var(--header-shadow);
        height: var(--header-mobile-height);
    }
    .header-mobile__wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 0;
    }
    .header-mobile__device {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        height: 40px;
        width: 40px;
        background: var(--color-red);
        border-radius: 6px;
        padding: 10px;
        color: var(--color-white);
        line-height: 1;
        font-weight: 500;
        transition: var(--transition);
    }
    .header-mobile__device-burger {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 18px;
        height: 14px;
        position: relative;
        transition: var(--transition);
    }
    .header-mobile__device-burger span {
        display: block;
        width: 100%;
        height: 2px;
    }
    .header-mobile__device-burger span, 
	.header-mobile__device-burger span::before, 
	.header-mobile__device-burger span::after {
        background: var(--color-white);
    }
    .header-mobile__device-burger span::before, 
	.header-mobile__device-burger span::after {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background: var(--color-white);
        position: absolute;
    }
    .header-mobile__device-burger span::before {
        top: 0;
    }
    .header-mobile__device-burger span::after {
        bottom: 0;
    }
}
@media (max-width: 450px) {
    .header-mobile__device,
    .site-branding__logo-image {
        display: none;
    }
    .site-branding .header-mobile__device {
        display: flex;
    }
    .site-branding__logo-image {
        display: none;
    }
}

/*--- Подвал ---*/

.footer {
	padding: 50px 0;
}
.footer__main {
	display: flex;
	justify-content: space-between;
	gap: 50px;
}
.footer-menus {
	flex: 0 1 calc(100% - 760px);
	width: calc(100% - 760px);
	padding-right: 50px;
	display: flex;
	justify-content: space-between;
	gap: 50px;
	border-right: 1px solid var(--color-gray-06);
}
.footer-menus__item-title {
	font-size: 18px;
	line-height: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}
.footer-menu__item {
	margin-top: 8px;
	font-size: 15px;
	line-height: 22px;
}
.footer-menu__item:first-child {
	margin-top: 0px;
}
.footer-menu__item a {
	color: var(--color-gray-11);
	text-decoration: underline;
	text-decoration-color: var(--color-gray-11);
}
.footer-menu__item a:hover, 
.footer-menu__item a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
.footer-info {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	gap: 35px;
}
.footer-info__contacts .site-contacts {
	justify-content: space-between;
}
.footer-info__address {
	font-size: 14px;
	line-height: 20px;
	color: var(--color-gray-11);
}
.footer-info__address a, 
.footer-info__address .footer-info__address-link {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
	transition: var(--transition);
	cursor: pointer;
}
.footer-info__address a:hover, 
.footer-info__address a:active, 
.footer-info__address .footer-info__address-link:hover, 
.footer-info__address .footer-info__address-link:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
.footer-info__address .footer-info__address-link.footer__modal-regions {
	color: var(--color-gray-11);
	text-decoration-color: var(--color-gray-11);
}
.footer-info__address .footer-info__address-link.footer__modal-regions:hover, 
.footer-info__address .footer-info__address-link.footer__modal-regions:active {
	color: var(--color-red);
	text-decoration-color: transparent;
}
.footer-info__developer {
	display: flex;
	align-items: center;
	gap: 8px;
}
.footer-info__developer > a {
	font-size: 0px;
	line-height: 0px;
	text-decoration: none !important;
}
.footer-info__developer span {
	font-size: 14px;
	line-height: 20px;
	color: var(--color-gray-11);
}
.footer__privacy {
	margin-top: 35px;
	font-size: 14px;
	line-height: 20px;
	color: var(--color-gray-11);
}
.footer__privacy a {
	color: var(--color-gray-11);
	text-decoration: underline;
	text-decoration-color: var(--color-gray-11);
}
.footer__privacy a:hover, 
.footer__privacy a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
@media (max-width: 1500px) {
	.footer-menus {
		flex: 0 1 calc(100% - 690px);
		width: calc(100% - 690px);
	}
}
@media (max-width: 1240px) {
	.footer__main {
		flex-direction: column;
	}
	.footer-menus {
		flex: 0 1 auto;
		width: 100%;
		padding-right: 0;
		border-right: none;
	}
	.footer-info {
		gap: 20px;
	}
	.footer__privacy {
		margin-top: 20px;
	}
}
@media (max-width: 768px) {
	.footer-menus {
		gap: 25px;
		flex-wrap: wrap;
	}
	.footer-menus__item-title {
		margin-bottom: 15px;
	}
	.footer-info__contacts .site-contacts {
		flex-wrap: wrap;
	}
	.footer-info__contacts .site-contacts__item.--phone .site-contacts__item-content-subtitle {
		text-align: left;
	}
}
@media (max-width: 549px) {
	.footer {
		padding: 40px 0;
	}
	.footer-menus {
		display: none;
		justify-content: flex-start;
	}
	.footer-menus__item {
		width: calc((100% - 25px) / 2);
	}
    .footer-menus__item-title {
        margin-bottom: 12px;
    }
	.footer-menu__item {
		margin-top: 5px;
	}
	.footer-info__contacts .site-contacts {
		margin-top: -2px;
		justify-content: flex-start;
	}
	.footer-info__contacts .site-contacts__item.--email {
		order: 3;
	}
	.footer-info__contacts .site-contacts__item.--worktime {
		order: 4;
	}
	.footer-info__contacts .site-contacts__item.--messangers {
		order: 2;
	}
	.footer-info__contacts .site-contacts__item.--phone {
		order: 1;
	}
	.footer-info__address {
		text-wrap-style: balance;
	}
}

/*--- Меню ---*/

.header__navigation {
	background: var(--color-white);
}
.navigation-menu,
.header-menu {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 70px;
}
.main-navigation__controls {
	display: flex;
	align-items: center;
	gap: 30px;
}
.menu__items {
	flex: 0 1 100%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}
.menu__item.menu__item--has-submenu {
	position: relative;
}
.menu__item a, 
.menu__item .menu__item-link {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	line-height: 18px;
	font-weight: 600;
	color: var(--color-black);
	padding: 20px 0;
	border-radius: 10px;
	background: transparent;
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	cursor: pointer;
	transition: var(--transition);
}
.menu__item a:hover, 
.menu__item a:active,
.menu__item .menu__item-link:hover, 
.menu__item .menu__item-link:active  {
	color: var(--color-red);
	text-decoration: none;
}
.menu__item.menu__item--has-children > a::after,
.menu__item.menu__item--has-children > .menu__item-link::after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 6px;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: var(--transition);
	transform: translateY(2px);
}
.menu__item a:hover::after, 
.menu__item a:active::after,
.menu__item.menu__item--has-children > .menu__item-link:hover::after, 
.menu__item.menu__item--has-children > .menu__item-link:active::after {
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23E61F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.header-menu__catalog-submenus-main {
	padding: 30px 15px 30px 0;
	position: relative;
}
.header-menu__catalog-submenus-main-inner {
	display: block;
	margin: 0;
	padding: 0 15px 0 0;
	position: relative;
	min-height: 100%;
	max-height: calc(var(--submenus-height) - (30px * 2));
	overflow-x: hidden;
	overflow-y: auto;
}
body:has(.season-banner) .header-menu__catalog-submenus-main-inner {
	max-height: calc(var(--submenus-height-with-season) - (30px * 2));
}
.header-menu__catalog-submenu {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.header-menu__catalog-submenu-item a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 40px;
	border-radius: 10px;
	background: transparent;
	font-size: 16px;
	color: var(--color-black);
	text-align: left;
	padding: 14px 16px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}
.header-menu__catalog-submenu-item a:hover,
.header-menu__catalog-submenu-item a:active,
.header-menu__catalog-submenu-item.--active {
	color: var(--color-red);
}
.header-menu__catalog-submenu-item.--current a {
	background: var(--color-gray-01);
	text-decoration: none;
}
.header-menu__catalog-submenu-item.--current a:hover, 
.header-menu__catalog-submenu-item.--current a:active {
	color: var(--color-black);
}
.header-menu__catalog-submenus-appendix {
	padding: 30px 0 30px 30px;
	position: relative;
	width: 100%;
	border-left: 1px solid var(--color-gray-05);
}
.header-menu__catalog-submenus-appendix-inner {
	position: relative;
	width: 100%;
	min-height: 100%;
	max-height: calc(var(--submenus-height) - (30px * 2));
}
body:has(.season-banner) .header-menu__catalog-submenus-appendix-inner {
	max-height: calc(var(--submenus-height-with-season) - (30px * 2));
}
.header-menu__catalog-submenu-content {
	display: none;
	margin: 0;
	padding: 0 30px 0 0;
	position: relative;
	width: 100%;
	min-height: inherit;
	max-height: inherit;
	overflow-x: hidden;
	overflow-y: auto;
}
.header-menu__catalog-submenu-content.--active {
	display: block;
}
.header-menu__catalog-submenu-content-inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	min-height: 100%
}
.header-menu__catalog-submenu-columns-title {
	width: 100%;
	font-size: 24px;
	line-height: 29px;
	font-weight: 500;
	margin-bottom: 30px;
}
.header-menu__catalog-submenu-columns-title a {
	color: var(--color-black);
	text-decoration: none;
}
.header-menu__catalog-submenu-columns-title a:hover, 
.header-menu__catalog-submenu-columns-title a:active {
	color: var(--color-red);
	text-decoration: none;
}
.header-menu__catalog-submenu-columns {
	display: flex;
	gap: 30px;
}
.header-menu__catalog-submenu-column {
	flex: 0 1 auto;
	min-width: calc(100%/4 - 15px);
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.megamenu-body__tab-column:not(:last-child) {
	padding-right: 30px;
}
.header-menu__catalog-submenu-column-title {
	font-size: 16px;
	line-height: 16px;
	font-weight: 500;
	margin-bottom: 15px;
}
.header-menu__catalog-submenu-column-title a {
	color: var(--color-black);
	text-decoration: none;
}
.header-menu__catalog-submenu-column-title a:hover, 
.header-menu__catalog-submenu-column-title a:active {
	color: var(--color-red);
	text-decoration: none;
}
.header-menu__catalog-submenu-column-links {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.header-menu__catalog-submenu-column-link.--hidden {
	display: none;
}
.header-menu__catalog-submenu-column-link a {
	font-size: 15px;
	line-height: 30px;
	font-weight: 400;
	color: var(--color-gray-11);
	padding: 0;
	text-align: left;
	display: inline;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: var(--transition);
}
.header-menu__catalog-submenu-column-link a:hover, 
.header-menu__catalog-submenu-column-link a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
}
.header-menu__catalog-submenu-column-more {
	color: var(--color-black);
}
.header-menu__catalog-submenu-column-more > div {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.header-menu__catalog-submenu-column-more > div > div {
	display: flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	transition: var(--transition);
}
.header-menu__catalog-submenu-column-more > div > div:hover {
	color: var(--color-red);
}
.header-menu__catalog-submenu-column-more span {
	font-size: 15px;
	line-height: 30px;
}
.header-menu__catalog-submenu-column-more svg {
	transform: translateY(0px);
}
.submenu-overlay {
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: var(--transition);
	background: var(--color-white);
	box-shadow: var(--header-shadow);
	border-radius: 10px;
	overflow: hidden;
}
.menu__item.menu__item--has-children:hover .submenu-overlay {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.submenu {
	width: auto;
	padding: 15px 30px;
	background: var(--color-white);
}
.submenu__items {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.submenu__item a {
	font-size: 15px;
	line-height: 30px;
	text-align: left;
	display: block;
	color: var(--color-black);
	font-weight: 400;
	padding: 0;
}
.submenu__item a:hover, 
.submenu__item a:active {
	color: var(--color-red);
}
.menu-mobile {
	display: none;
}
.catalog-button {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	background: var(--color-red);
	border-radius: 6px;
	padding: 12px 16px 13px;
	color: var(--color-white);
	font-size: 15px;
	line-height: 15px;
	font-weight: 500;
	border: none;
	outline: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: var(--transition);
	margin-left: 10px;
	user-select: none;
}
.catalog-button:hover, 
.catalog-button:active {
	filter: brightness(1.1);
}
.catalog-burger {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18px;
	height: 14px;
	position: relative;
	transition: var(--transition);
}
.catalog-burger span {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--color-black);
	transition: var(--transition);
}
.catalog-burger span::before,
.catalog-burger span::after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: var(--color-black);
	position: absolute;
	transition: var(--transition);
}
.catalog-burger span::before {
	top: 0;
}
.catalog-burger span::after {
	bottom: 0;
}
.menu__item .menu__item-link:hover .catalog-burger span,
.menu__item .menu__item-link:hover .catalog-burger span::before,
.menu__item .menu__item-link:hover .catalog-burger span::after {
	background: var(--color-red);
}
.catalog-button .catalog-burger span,
.catalog-button .catalog-burger span::before,
.catalog-button .catalog-burger span::after {
	background: var(--color-white);
}
.menu__item__catalog:hover > button .catalog-burger span,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog > button .catalog-burger span,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog:hover > button .catalog-burger span {
	background: transparent;
}
.menu__item__catalog:hover > button .catalog-burger span::before,
.menu__item__catalog:hover > button .catalog-burger span::after,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog > button .catalog-burger span::before,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog > button .catalog-burger span::after,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog:hover > button .catalog-burger span::before,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog:hover > button .catalog-burger span::after {
	width: calc(100% + 2px);
	background: var(--color-red);
	left: -1px;
}
.menu__item__catalog:hover > button .catalog-burger span::before,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog > button .catalog-burger span::before {
	top: -1px !important;
	transform: rotate(45deg);
	transform-origin: left center; 
}
.menu__item__catalog:hover > button .catalog-burger span::after,
.header:has(.menu__item-catalog-submenus.--active) .menu__item__catalog > button .catalog-burger span::after {
	bottom: -1px !important;
	transform: rotate(-45deg);
	transform-origin: left center;
}
.header:has(.menu__item-catalog-submenus.--active) .menu__item-catalog {
	color: var(--color-red);
}
.header:has(.menu__item-catalog-submenus.--active) .menu__item-catalog::after {
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23df0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.header-menu__device {
	display: none;
}
.menu__item-catalog-submenus {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	overflow: hidden;
	z-index: 0;
	visibility: hidden;
	opacity: 0;
	background: var(--color-white);
	width: 100%;
	min-height: 0%;
	max-height: var(--submenus-height);
	box-shadow: var(--header-shadow);
	transform: translateY(10px);
	transition: opacity var(--transition-duration) var(--transition-easing), transform var(--transition-duration) var(--transition-easing);
}
body:has(.season-banner) .menu__item-catalog-submenus {
	max-height: var(--submenus-height-with-season);
}
.menu__item-catalog-submenus.--block {
	display: block;
}
.menu__item-catalog-submenus.--active {
	opacity: 1;
	transform: translateY(0);
}
.container-submenus {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: var(--container-width);
	transition: var(--transition);
	overflow-y: auto;
	padding: 30px 0;
	position: relative;
	margin: 0 auto;
	padding: 0;
	z-index: 2;
}
@media (max-width: 1279px) {
	.main-navigation {
		padding: 15px 0;
	}
	.header-menu {
		display: none;
		gap: 20px;
	}
	.header-menu__device {
		display: flex;
		align-items: center;
		gap: 10px;
		height: 40px;
		background: var(--color-red);
		border-radius: 6px;
		padding: 9px 15px 10px 15px;
		color: var(--color-white);
		font-size: 14px;
		line-height: 15px;
		font-weight: 500;
		transition: var(--transition);
	}
	.header-menu__device-burger {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 18px;
		height: 14px;
		position: relative;
		transition: var(--transition);
	}
	.header-menu__device-burger span {
		display: block;
		width: 100%;
		height: 2px;
	}
	.header-menu__device-burger span, 
	.header-menu__device-burger span::before, 
	.header-menu__device-burger span::after {
		background: var(--color-white);
	}
	.header-menu__device-burger span::before, 
	.header-menu__device-burger span::after {
		content: '';
		display: block;
		width: 100%;
		height: 2px;
		background: var(--color-white);
		position: absolute;
	}
	.header-menu__device-burger span::before {
		top: 0;
	}
	.header-menu__device-burger span::after {
		bottom: 0;
	}
}

.float-menu {
	display: none;
	margin: 0;
	padding: 0;
	background: var(--color-white);
	width: 100%;
	height: var(--float-menu-height);
	position: fixed;
	top: calc(80px * (-1));
	left: 0;
	z-index: 1102;
	transform: translateY(0px);
	transition: var(--transition);
}
.float-menu.--block {
	display: block;
}
.float-menu.--active {
	transform: translateY(80px);
	box-shadow: var(--header-shadow);
}
.float-menu__inner {
	height: 100%;
	display: flex;
	align-items: center;
}
.float-menu__device .catalog-button {
	position: relative;
}
.float-menu__device .catalog-button::after {
	content: 'Каталог';
}
.float-menu__device.--active .catalog-burger span {
	background: transparent;
}
.float-menu__device.--active .catalog-burger span::before,
.float-menu__device.--active .catalog-burger span::after {
	width: calc(100% + 2px);
	left: -1px;
}
.float-menu__device.--active .catalog-burger span::before {
	top: -1px !important;
	transform: rotate(45deg);
	transform-origin: left center; 
}
.float-menu__device.--active .catalog-burger span::after {
	bottom: -1px !important;
	transform: rotate(-45deg);
	transform-origin: left center;
}
.float-menu__device-mobile {
	display: none;
}
@media (max-width: 1500px) {
	.float-menu .site-contacts__item.site-contacts__email {
		display: none;
	}
	.float-menu__device {
		display: none;
	}
	.float-menu__device-mobile {
		display: flex;
	}
	.float-menu__device-mobile .catalog-button::after {
		content: 'Меню';
	}
}
@media (max-width: 1240px) {
	.float-menu .site-contacts__phone {
		display: none;
	}
}
@media (max-width: 768px) {
	.navigation-menu,
	.header-menu {
		gap: 20px;
	}
	.float-menu .main-navigation__controls {
		gap: 15px;
	}
}
@media (max-width: 549px) {
	.float-menu {
		display: none !important;
	}
}

/*--- Модальные окна ---*/

.box-modal {
	max-width: 320px;
}
.box-modal.--xl {
	width: 100%;
	max-width: 1000px;
}
.box-modal__content {
	width: 100%;
	background: var(--color-white);
	padding: 30px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.box-modal__close {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -25px;
	right: -25px;
	cursor: pointer;
	transition: var(--transition);
	color: var(--color-white);
	opacity: .5;
}
.box-modal__close:hover {
	opacity: 1;
}
.box-modal__content-header-title {
	display: block;
	font-size: 20px;
	line-height: 24px;
	font-weight: 600;
	text-align: center;
	margin-top: calc((24px - 20px) * -1);
}
.box-modal__content-header-subtitle {
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	margin-top: 10px;
}
@media (max-width: 1140px) {
	.box-modal.--xl {
		width: calc(100% - 100px);
	}
}
@media (max-width: 768px) {
	.box-modal.--xl {
		width: calc(100% - 50px);
	}
	.box-modal__close {
		color: var(--color-gray-11);
		opacity: 1;
		padding: 0px;
		width: 40px;
		height: 40px;
		top: 0;
		right: 0;
		border-radius: 0px 10px 0px 0px;
	}
	.box-modal__close:hover {
		color: var(--color-red);
	}
}
@media (max-width: 549px) {
	.box-modal.--xl {
		width: 100%;
	}
}

.box-modal.--regions {
	width: 100%;
	max-width: 1000px;
}
.box-modal.--regions .box-modal__content {
	padding: 40px;
	gap: 0px;
}
.modal-regions {
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
	width: 100%;
}
.modal-regions__header {
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
}
.modal-regions__header-title {
	display: block;
	margin: calc((32px - 26px) * -1) 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
	font-size: 26px;
	line-height: 32px;
    font-weight: 600;
}
.modal-regions__list {
	display: block;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: relative;
	font-size: 15px;
	line-height: 22px;
}
.modal-regions__list ul {
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	column-count: 5;
	column-gap: 30px;
}
.modal-regions__list ul li {
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 8px 0px 0px 0px;
	white-space: nowrap;
}
.modal-regions__list ul li a {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
	transition: var(--transition);
}
.modal-regions__list ul li a:hover, 
.modal-regions__list ul li a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
@media (max-width: 1140px) {
	.box-modal.--regions {
		width: calc(100% - 100px);
	}
}
@media (max-width: 1024px) {
	.modal-regions__list ul {
		column-count: 4;
	}
}
@media (max-width: 768px) {
	.box-modal.--regions {
		width: calc(100% - 50px);
	}
	.box-modal.--regions .box-modal__content {
		padding: 30px;
	}
	.modal-regions__list ul {
		column-count: 3;
	}
}
@media (max-width: 576px) {
	.modal-regions__header-title {
		font-size: 24px;
		line-height: 30px;
		margin-top: calc((30px - 24px) * -1);
	}
	.modal-regions__list ul {
		column-count: 2;
		column-gap: 25px;
	}
	.modal-regions__list ul li {
		padding-top: 5px;
	}
}
@media (max-width: 430px) {
	.modal-regions__list ul {
		column-count: 1;
	}
}

/*--- Формы ---*/

::placeholder {
	color: var(--color-gray-11);
	font-family: var(--font-main);
	font-size: 15px;
	line-height: 15px;
	font-weight: 400;
}
input[type="text"] {
	width: 100%;
	height: 46px;
	padding: 12px 16px 13px 16px;
	border: 1px solid var(--color-gray-06);
	border-radius: 6px;
	outline: 0;
	transition: var(--transition);
	font-family: var(--font-main) !important;
	font-size: 15px;
	line-height: 15px;
	color: var(--color-black);
}
input[type="text"]:focus, 
input[type="text"]:hover, 
input[type="text"]:active {
	border-color: var(--color-gray-09);
}
input[type="text"].--error {
	border-color: var(--color-red);
}
input[type="text"].--disabled {
	background: var(--color-gray-03);
	cursor: not-allowed;
	border-color: var(--color-gray-06) !important;
}
input[type="submit"] {
	width: 100%;
	height: 46px;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: var(--font-main);
	font-size: 15px;
	line-height: 15px;
	font-weight: 500;
}
textarea {
	width: 100%;
	height: auto;
	resize: vertical;
	border: 1px solid var(--color-gray-06);
	border-radius: 6px;
	padding: 12px 16px 13px 16px;
	font-family: var(--font-main);
	font-size: 15px;
	line-height: 15px;
	font-weight: 500;
	transition: var(--transition);
}
textarea:focus, 
textarea:hover, 
textarea:active {
	border-color: var(--color-gray-09);
}
.form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.form__fields-wrapper {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.form__submit-wrapper {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.form__agree {
	font-size: 13px;
	line-height: 16px;
	color: var(--color-gray-11);
}
.form__agree a {
	color: var(--color-gray-11);
	text-decoration: underline;
}
.form__agree a:hover, 
.form__agree a:active {
	color: var(--color-red);
	text-decoration: none;
}
.box-modal.--xl .form__content {
	display: flex;
	gap: 15px;
}
.box-modal.--xl .form__fields-wrapper {
	flex: 0 0 265px;
	width: 265px;
}
.box-modal.--xl .form__textarea-wrapper {
	flex: 0 1 397px;
	width: 397px;
}
.box-modal.--xl .form__submit-wrapper {
	flex-direction: row;
	align-items: center;
	gap: 15px;
}
.box-modal.--xl .form__submit-wrapper .form__submit {
	flex: 0 0  205px;
}
.box-modal.--xl .form__submit-wrapper .form__agree {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 265px;
}
.box-modal .form__textarea-wrapper textarea {
	height: 100%;
}
@media (max-width: 990px) {
	.box-modal.--xl .form__fields-wrapper {
		flex: 0 0 235px;
		width: 235px;
	}
	.box-modal.--xl .form__textarea-wrapper {
		flex: 0 1 397px;
		width: auto;
	}
}
@media (max-width: 768px) {
	.box-modal.--xl .form__content {
		flex-direction: column;
	}
	.box-modal.--xl .form__fields-wrapper {
		flex: 1 1 auto;
		width: 100%;
	}
	.box-modal.--xl .form__textarea-wrapper {
		flex: 1 1 auto;
		width: 100%;
	}
	.box-modal.--xl .form__textarea {
		height: 92px;
	}
	.box-modal.--xl .form__submit-wrapper {
		flex-direction: column;
		align-items: flex-start;
	}
	.box-modal.--xl .form__submit-wrapper .form__submit {
		flex: 0 0 46px;
		height: 46px;
	}
}

/*--- Поиск ---*/

.search {
	display: block;
	margin: 0;
	padding: 0;
	position: absolute;
	top: -21px;
	right: -20px;
	width: 300px;
	z-index: 20;
	visibility: hidden;
	opacity: 0;
	transition: var(--transition);
}
.header__buttons-item.--search.--active .search {
	visibility: visible;
	opacity: 1;
}
.search form {
	display: block;
	margin: 0;
	padding: 10px;
	position: relative;
	width: 100%;
	background: var(--color-white);
	border-radius: 8px 0 0 8px;
	box-shadow: var(--search-shadow);
	z-index: 20;
}
.search form:has(.search__close)::before {
	content: '';
	display: block;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-white);
	border-radius: inherit;
	z-index: 10;
}
.search .search__input {
	display: block;
	margin: 0;
	padding: 0px 15px 0px 15px;
	padding-right: calc(40px + 10px);
	position: relative;
	width: 100%;
	height: 40px;
	background: var(--color-white);
	border-radius: 6px;
	box-sizing: border-box;
	border: 1px solid var(--color-gray-06);
	outline: none;
	text-align: left;
	font-family: var(--font-main);
	color: var(--color-black);
	font-size: 14px;
	line-height: 14px;
	font-weight: 400;
	z-index: 10;
	transition: var(--transition);
}
.search .search__input:focus, 
.search .search__input:hover, 
.search .search__input:active {
	border-color: var(--color-gray-09);
}
.search__submit {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 40px;
	height: calc(100% - 20px);
	background: 0 0;
	border: none;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	text-decoration: none;
	box-sizing: border-box;
	z-index: 15;
}
.search__submit > svg {
	display: block;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%;
	right: 0;
	width: 18px;
	height: 18px;
	transform: translate(-10px, -50%);
	transition: var(--transition);
}
.search__submit:hover > svg {
	color: var(--color-red);
}
.search__close {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0px calc(10px + 2px) 0px 0px;
	position: absolute;
	top: 50%;
	right: calc((14px + 10px + 2px) * -1);
	width: calc(14px + 10px + 2px);
	height: 100%;
	transform: translateY(-50%);
	background: var(--color-white);
	color: var(--color-black);
	border-radius: 0 8px 8px 0;
	box-shadow: var(--search-shadow);
	cursor: pointer;
	z-index: 0;
}
.search__close > svg {
	color: var(--color-black);
	opacity: .5;
	transition: var(--transition);
}
.search__close:hover > svg  {
	color: var(--color-black);
	opacity: 1;
}
@media (max-width: 768px) {
	.header-mobile__search {
		display: block;
		margin: 0;
		padding: 0;
		position: absolute;
		top: -100%;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--color-white);
		z-index: 20;
		visibility: hidden;
		opacity: 1;
		transform: translateY(0px);
		transition: var(--transition);
	}
	.header-mobile__search.--active {
		opacity: 1;
		visibility: visible;
		transform: translateY(100%);
		transition: var(--transition);
	}
	.header-mobile__search form {
		height: 100%;
		border-radius: 0;
		width: calc(100% - (14px + (20px * 2)));
		padding: 15px 0 15px 25px;
	}
	.header-mobile__search .search__submit {
		top: calc(15px + 1px);
		right: 0px;
		width: calc((18px + (10px * 2)) + 5px);
		height: calc(100% - (15px * 2) - (1px * 2));
	}
	.header-mobile__search .search__submit > svg {
		left: 10px;
		right: auto;
		transform: translate(0px, -50%);
	}
	.header-mobile__search .search__close {
		padding: 0 25px 0 0;
		right: calc((14px + (20px * 2)) * -1);
		width: calc(14px + (20px * 2));
		border-radius: 0;
	}
}

/*--- Рейтинг ---*/

.stars-rating {
	display: flex;
	margin: 0 -1.5px;
	position: relative;
}
.rating-star {
	display: inline-block;
	vertical-align: top;
	margin: 0 1.5px;
	padding: 0;
	position: relative;
	width: 12px;
	height: 12px;
	background-image: url(../images/icon-star-empty.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
	font-size: 0px;
	line-height: 0;
}
.rating-star.--full {
	background-image: url(../images/icon-star-full.svg) !important;
}
.reviews-services__stars-rating {
	display: flex;
	flex-direction: row;
	margin: 0 -1.5px;
	padding: 0;
	position: relative;
}
.reviews-services__stars-rating-star {
	display: inline-block;
	vertical-align: top;
	margin: 0 1.5px;
	padding: 0;
	position: relative;
	font-size: 0px;
	line-height: 0;
}
.reviews-services__stars-rating-star > div {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	position: relative;
	width: 12px;
	height: 12px;
	font-size: 0px;
	line-height: 0;
	background-image: url(../images/icon-star-empty.svg);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 12px;
}
.reviews-services__stars-rating-star > div > div {
	display: block;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-image: url(../images/icon-star-full.svg);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 12px;
}

/*--- Боковой плавающий виджет ---*/

.side-widget {
	z-index: 1100;
	position: fixed;
	top: 50%;
	right: 0;
	background-color: var(--color-white);
	box-shadow: var(--side-widget-shadow);
	transform: translateX(calc(100% - 62px)) translateY(-50%);
	transition: var(--transition);
}
.side-widget:hover {
	transform: translateX(0) translateY(-50%);
}
.side-widget__item {
	display: block;
	border-bottom: 1px solid var(--color-gray-24);
}
.side-widget__item:last-child {
	border-bottom: none;
}
.side-widget__item a, 
.side-widget__item button, 
.side-widget__item > span {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 15px;
	text-decoration: none !important;
}
.side-widget__item-icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-gray-25);
	transition: var(--transition);
}
.side-widget:hover .side-widget__item-icon {
	color: var(--color-black);
}
.side-widget__item-icon svg {
	max-width: 100%;
	height: auto;
}
.side-widget__item-title {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	font-size: 15px;
	line-height: 15px;
	color: var(--color-black);
	text-decoration: none !important;
	transition: var(--transition);
	text-align: left;
}
.side-widget__item a:hover .side-widget__item-title, 
.side-widget__item a:active .side-widget__item-title, 
.side-widget__item button:hover .side-widget__item-title, 
.side-widget__item button:active .side-widget__item-title, 
.side-widget__item a:hover .side-widget__item-icon, 
.side-widget__item a:active .side-widget__item-icon, 
.side-widget__item button:hover .side-widget__item-icon, 
.side-widget__item button:active .side-widget__item-icon {
	color: var(--color-red) !important;
	text-decoration: none;
}
.side-widget__item a.email-link .side-widget__item-title {
	text-decoration: underline !important;
}
.side-widget__item a.email-link:hover .side-widget__item-title, 
.side-widget__item a.email-link:active .side-widget__item-title {
	color: var(--color-red);
	text-decoration: underline !important;
}
@media (max-width: 960px) {
	.side-widget {
		display: none;
	}
}

/*--- Постраничная навигация ---*/

.pagination {
	margin-top: 35px;
}
.page-numbers {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.page-number {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	line-height: 15px;
	color: var(--color-black) !important;
	border: 1px solid var(--color-gray-06);
	border-radius: 6px;
}
a.page-number {
	text-decoration: none !important;
}
a.page-number:hover, 
a.page-number:active, 
.page-number[data-page]:hover, 
.page-number[data-page]:active {
	color: var(--color-white) !important;
	text-decoration: none !important;
	border-color: var(--color-red);
	background: var(--color-red);
}
.page-number.--current {
	border-color: var(--color-gray-01);
	background: var(--color-gray-01);
	color: var(--color-gray-15);
}
.page-number.--extend {
	flex: 0 0 20px;
	width: 20px;
	background: transparent;
	border: none;
}
@media (max-width: 768px) {
	.pagination {
		margin-top: 25px;
	}
}

/*--- Хлебные крошки ---*/

.breadcrumbs {
	display: block;
}
.breadcrumbs__item {
	display: inline;
	font-size: 14px;
	line-height: 20px;
	color: var(--color-gray-11);
	position: relative;
}
.breadcrumbs__item:not(:last-child)::after {
	content: '–';
	display: inline-block;
	margin-left: 6px;
	margin-right: 6px;
}
.breadcrumbs__item a {
	color: var(--color-gray-11);
	text-decoration: underline;
	text-decoration-color: var(--color-gray-11);
}
.breadcrumbs__item a:hover, 
.breadcrumbs__item a:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
@media (max-width: 549px) {
	.breadcrumbs {
		display: none;
	}
}

/*--- Кнопка наверх ---*/

#totop {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 50px;
	height: 50px;
	bottom: 50px;
	left: -50px;
	background: var(--color-red);
	border-radius: 10px;
	border: none;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	z-index: 999;
	opacity: .4;
	transform: translateX(0px);
	transition: var(--transition);
	user-select: none;
	color: var(--color-white);
}
#totop.--show {
	transform: translateX(calc(50px + 50px));
}
#totop:hover {
	opacity: 1;
}
@media (max-width: 767px) {
	#totop {
		width: 40px;
		height: 40px;
		bottom: 25px;
		left: -40px;
	}
	#totop.--show {
		transform: translateX(65px);
	}
}

/*--- Всплывающие подсказки ---*/

.tooltipster-box {
	border-radius: 6px !important;
	box-shadow: 0 0 25px rgba(var(--color-black-rgb), .08) !important;
	padding: 20px !important;
}
.tooltipster-content {
	line-height: 1;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	max-height: none !important;
	overflow: visible !important;
}
.tooltipster-arrow {
	height: 8px !important;
	margin-left: -8px !important;
	width: 16px !important;
}
.tooltipster-box {
	margin-top: 8px !important;
	max-height: none !important;
	overflow: visible !important;
}
.tooltipster-arrow-uncropped {
	top: -8px !important;
}
.tooltipster-arrow-border {
	border-width: 8px !important;
}
.tooltipster-arrow-background {
	border-width: 16px !important;
}
.tooltip_content-text {
	font-size: 16px;
	line-height: 16px;
	font-weight: 500;
	color: var(--color-black);
	text-align: center;
}
.tooltip-link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 172px;
	height: 45px;
	background: var(--color-gray-01);
	border-radius: 6px;
	font-size: 15px;
	line-height: 15px;
	color: var(--color-black) !important;
	text-align: center;
	text-decoration: none !important;
	transition: var(--transition);
}
.tooltip-link:hover, 
.tooltip-link:active {
	color: var(--color-red) !important;
	text-decoration: none !important;
}

/*--- Ленивая загрузка ---*/

img.lazyload,
img.lazyloading {
	opacity: 0;
}
img.lazyloaded {
	opacity: 1;
	transition: opacity var(--transition-duration) var(--transition-easing);
}

/*--- Разметка страниц ---*/

.page {
	padding-bottom: 80px;
}
.page.--padding-bottom-0 {
	padding-bottom: 0px !important;
}
body.pArticle .page {
	padding-top: 50px;
}
.page .container::after {
	display: none;
}
@media (max-width: 768px) {
	.page {
		padding-bottom: 50px;
	}
}
@media (max-width: 549px) {
	.page {
		padding-bottom: 40px;
	}
	body.pArticle .page {
		padding-top: 0px;
	}
	body.pContacts .page {
		padding-bottom: 0px;
	}
}

.page__header {
	padding: 20px 0px 30px 0px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}
@media (max-width: 549px) {
	.page__header {
		padding-top: calc(30px - ((30px - 24px) / 2))
	}
}

.content-text + .page__content:not(:has(.top-banner)) {
	margin-top: calc(50px - ((22px - 15px)) / 2);
}

@media (max-width: 1240px) {
	.page:has(+ .about-info-section) {
		margin-bottom: calc((22px - 15px) * -1);
	}
}
@media (max-width: 768px) {
	.content-text + .page__content:not(:has(.top-banner)) {
		margin-top: calc(40px - ((22px - 15px)) / 2);
	}
}
@media (max-width: 549px) {
	.content-text + .page__content:not(:has(.top-banner)) {
		margin-top: calc(30px - ((22px - 15px)) / 2);
	}
}

.page__content-wrapper.--has-sidebar {
	display: flex;
	gap: 35px;
}
body.pArticle .page__content-wrapper.--has-sidebar {
	max-width: calc(800px + 50px + 274px);
	margin-left: auto;
	margin-right: auto;
	gap: 50px;
}
.page__content-wrapper.--has-sidebar.--left-sidebar {
	flex-direction: row;
}
.page__content-main {
	flex: 1 1 auto;
	min-width: 0;
}
.page__content-aside {
	flex: 0 0 262px;
	position: relative;
}
.page__content-sidebar {
	flex: 0 0 274px;
}
@media (max-width: 1240px) {
	.page__content-wrapper.--has-sidebar {
		flex-direction: column;
	}
	.page__content-aside {
		display: none;
	}
	.page__content-sidebar {
		display: none;
	}
	.aside-widget + .sticky-widget {
		margin-top: 0;
	}
}
@media (max-width: 768px) {
	.page__content-main, 
	.page__content-aside, 
	.page__content-sidebar {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/*--- Сайдбар ---*/

.aside-widget:not(:first-child) {
	margin-top: 30px;
}
.sticky-widget {
	position: relative;
	top: 0px;
}
.sticky-widget.--sticky {
	position: sticky;
	top: calc(var(--float-menu-height) + 30px);
}
@media (max-width: 768px) {
	.aside-widget {
		flex: 0 0 100%;
		width: 100%;
	}
}

/*--- Текстовый контент ---*/

.text-section {
	padding: 80px 0px 80px 0px;
}
.faq-section + .text-section, 
.page + .text-section, 
.top-banner + .text-section {
	padding-top: 0px;
}
.page .page__content .text-section:last-child {
	padding-bottom: 0px;
}
@media (max-width: 768px) {
	.text-section {
		padding: 50px 0px 50px 0px;
	}
}
@media (max-width: 549px) {
	.text-section {
		padding: 40px 0px 40px 0px;
	}
}

.content-text {
	font-size: 15px;
	line-height: 22px;
	color: var(--color-gray-13);
	max-width: 100%;
}
.page__header + .content-text {
	margin-top: calc((22px - 15px) * -1);
}
.page__header + .content-text + .page__content {
	margin-top: 22px;
}
.page__header + .content-text + .page__content:has(h2:first-child), 
.page__header + .content-text + .page__content:has(.h2:first-child), 
.page__header + .content-text + .page__content:has(h3:first-child), 
.page__header + .content-text + .page__content:has(.h3:first-child), 
.page__header + .content-text + .page__content:has(h4:first-child), 
.page__header + .content-text + .page__content:has(.h4:first-child) {
	margin-top: 30px;
}
.page__header + .content-text + .page__content:has(.content-text__columns:first-child) {
	margin-top: 40px;
}
.content-text h1, 
.content-text .h1,
.content-text h2, 
.content-text .h2,
.content-text h3, 
.content-text .h3,
.content-text h4, 
.content-text .h4,
.content-text h5, 
.content-text .h5,
.content-text h6, 
.content-text .h6 {
	margin-top: 30px;
	margin-bottom: 30px;
}
.content-text .content-text__columns h2, 
.content-text .content-text__columns .h2, 
.page__content-wrapper.--has-sidebar .content-text h2, 
.page__content-wrapper.--has-sidebar .content-text .h2 {
	font-size: 24px;
	line-height: 30px;
}
.content-text .content-text__columns h2.--offset-top, 
.content-text .content-text__columns .h2.--offset-top, 
.page__content-wrapper.--has-sidebar .content-text h2.--offset-top, 
.page__content-wrapper.--has-sidebar .content-text .h2.--offset-top {
	margin-top: calc((30px - 24px) * -1);
}
.content-text h3, 
.content-text .h3 {
	font-size: 24px;
	line-height: 30px;
}
.content-text h3.--offset-top, 
.content-text .h3.--offset-top {
	margin-top: calc((30px - 24px) * -1);
}
.content-text h4, 
.content-text .h4 {
	font-size: 20px;
	line-height: 26px;
}
.content-text h4.--offset-top, 
.content-text .h4.--offset-top {
	margin-top: calc((26px - 20px) * -1);
}
.content-text h1:first-child, 
.content-text .h1:first-child, 
.content-text h2:first-child, 
.content-text .h2:first-child, 
.content-text h3:first-child,
.content-text .h3:first-child, 
.content-text h4:first-child,
.content-text .h4:first-child, 
.content-text h5:first-child,
.content-text .h5:first-child, 
.content-text h6:first-child,
.content-text .h6:first-child {
	margin-top: 0px;
}
.content-text h1:first-child, 
.content-text .h1:first-child {
	margin-top: calc((40px - 34px) * -1);
}
.content-text h2:first-child, 
.content-text .h2:first-child {
	margin-top: calc((36px - 30px) * -1);
}
.content-text h3:first-child,
.content-text .h3:first-child, 
.content-text h4:first-child,
.content-text .h4:first-child {
	margin-top: calc((30px - 24px) * -1);
}
.content-text *:first-child {
	margin-top: 0;
}
.content-text *:last-child {
	margin-bottom: 0;
}
.content-text a {
	text-decoration: underline;
	text-decoration-color: var(--color-red);
}
.content-text a:hover, 
.content-text a:active {
	text-decoration: underline;
	text-decoration-color: transparent;
}
.content-text__link {
	display: inline;
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: var(--color-red);
	transition: var(--transition);
	cursor: pointer;
}
.content-text__link:hover, 
.content-text__link:active {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: transparent;
}
.content-text a.phone-link {
	white-space: nowrap;
	color: var(--color-gray-13);
	text-decoration-color: transparent;
}
.content-text a.phone-link:hover, 
.content-text a.phone-link:active {
	color: var(--color-red);
	text-decoration-color: transparent;
}
.content-text p {
	margin: 22px 0px 22px 0px;
}
.content-text > ul {
	margin: 22px 0px 22px 12px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.content-text > ul.sitemap-list {
	margin-left: 0px;
}
.content-text > ul li ul, 
.content-text > ul li ol {
	margin-top: 14px;
}
.content-text > ul li {
	padding-left: 22px;
	position: relative;
}
.content-text > ul li:first-letter {
	text-transform: uppercase;
}
.content-text > ul li::before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid var(--color-red);
	position: absolute;
	top: 7px;
	left: 0;
}
.content-text > ol {
	margin: 22px 0px 22px 12px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	counter-reset: counter;
}
.content-text > ol li ul, 
.content-text > ol li ol {
	margin-top: 14px;
}
.content-text > ol li {
	padding-left: 22px;
	position: relative;
	counter-increment: counter;
}
.content-text > ol li:first-letter {
	text-transform: uppercase;
}
.content-text > ol li::before {
	content: counter(counter) '.';
	color: var(--color-red);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 600;
	position: absolute;
	top: 0;
	left: 0;
}

.table-wrapper {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	display: block;
	-webkit-overflow-scrolling: touch;
	position: relative;
}
.table {
	width: 100%;
	table-layout: fixed;
	border-spacing: 0;
	overflow: hidden;
	border-collapse: collapse;
	min-width: 500px;
}
.table .table-head__row {
	background: var(--color-red);
}
.table .table-head__cell {
	font-size: 16px;
	line-height: 22px;
	color: var(--color-white);
	font-weight: 600;
	padding: 11px 16px 12px 16px;
	text-align: left;
	border-left: 1px solid var(--color-red);
}
.table .table-head__cell:first-child {
	width: auto;
}
.table .table-head__cell:last-child {
	width: auto;
	max-width: unset;
}
.table .table-head__cell:last-child {
	border-right: 1px solid var(--color-red);
}
.table .table-body__row:nth-child(even) {
	background: var(--color-gray-01);
}
.table .table-body__cell {
	font-size: 15px;
	line-height: 22px;
	color: var(--color-black);
	padding: 11px 16px 12px 16px;
	border-left: 1px solid var(--color-gray-17);
}
.table .table-body__cell:first-child {
	width: auto;
}
.table .table-body__cell:last-child {
	width: auto;
	max-width: unset;
	border-right: 1px solid var(--color-gray-17);
}
.table .table-body__row:last-child .table-body__cell {
	border-bottom: 1px solid var(--color-gray-17);
}

.table.--layout-auto {
	table-layout: auto;
	min-width: 320px;
}
.table.--layout-auto .table-head__cell:last-child, 
.table.--layout-auto .table-body__cell:last-child {
	white-space: nowrap;
}

.table.--col-3 .table-head__cell,
.table.--col-3 .table-body__cell {
	width: calc(100% / 3);
}
.table.--col-3 .table-head__cell:last-child,
.table.--col-3 .table-body__cell:last-child {
	max-width: unset;
}

.table.--equal-columns th,
.table.--equal-columns td,
.table.--equal-columns .table-head__cell,
.table.--equal-columns .table-body__cell {
	width: 50% !important; 
}

.table.--sizes th, 
.table.--sizes td,
.table.--sizes .table-head__cell,
.table.--sizes .table-body__cell {
	white-space: nowrap;
	width: 165px;
}
.table.--sizes .table-head__cell:first-child, 
.table.--sizes .table-body__cell:first-child {
	width: auto;
	max-width: unset;
}
.table.--sizes .table-head__cell:last-child, 
.table.--sizes .table-body__cell:last-child {
	width: 165px;
	max-width: unset;
}

.table.--prices {
	table-layout: auto;
	min-width: 600px;
}
.table.--prices .table-head__cell {
	white-space: nowrap;
}

.content-text__columns {
	display: flex;
	gap: 35px;
	margin: 0px 0px 0px 0px;
	min-width: 0px;
}
.content-text__columns:not(:first-child) {
	margin-top: calc(30px + 8px);
}
.content-text__columns:not(:last-child) {
	margin-bottom: calc(30px + 8px);
}
.content-text__columns.--col-2 .content-text__column {
	flex: 0 0 calc((100% - 35px) / 2);
	min-width: 0px;
}

.content-text img.alignleft:first-child, 
.content-text img.alignright:first-child, 
.content-text img.aligncenter:first-child, 
.content-text img.alignnone:first-child, 
.content-text div.content-text__img-wrapper:first-child {
	margin-top: 0px;
}
.content-text iframe {
	max-width: 100% !important;
}
.content-text iframe.alignleft:first-child, 
.content-text iframe.alignright:first-child, 
.content-text iframe.aligncenter:first-child, 
.content-text iframe.alignnone:first-child {
	margin-top: 0px;
}
.content-text b, 
.content-text strong {
	font-weight: 700;
}

@media (max-width: 1240px) {
	.table-wrapper {
		width: 100vw;
		margin-left: calc((100vw - 100%) / -2);
		padding: 0 calc((100vw - var(--container-width)) / 2);
	}
	.table-wrapper__after {
		display: none;
		width: 100vw;
		height: 5px;
		margin-left: calc((100vw - 100%) / -2);
		position: absolute;
		bottom: 22px;
		left: 0;
		z-index: 40;
	}
	.table-wrapper__after::before, 
	.table-wrapper__after::after {
		content: '';
		display: block;
		width: calc((100vw - var(--container-width)) / 2);
		height: 4px;
		position: absolute;
		bottom: 0px;
		background: var(--color-white);
	}
	.table-wrapper__after::before {
		left: 0;
	}
	.table-wrapper__after::after {
		right: 0;
	}
	.content-text__columns {
		flex-wrap: wrap;
	}
	.content-text__columns.--col-2 .content-text__column {
		flex: 0 0 100%;
	}
}
@media (max-width: 768px) {
	.page__header + .content-text + .page__content:has(h2:first-child), 
	.page__header + .content-text + .page__content:has(.h2:first-child), 
	.page__header + .content-text + .page__content:has(h3:first-child), 
	.page__header + .content-text + .page__content:has(.h3:first-child), 
	.page__header + .content-text + .page__content:has(h4:first-child), 
	.page__header + .content-text + .page__content:has(.h4:first-child) {
		margin-top: 25px;
	}
	.content-text h1, 
	.content-text .h1,
	.content-text h2, 
	.content-text .h2,
	.content-text h3, 
	.content-text .h3,
	.content-text h4, 
	.content-text .h4,
	.content-text h5, 
	.content-text .h5,
	.content-text h6, 
	.content-text .h6 {
		margin-top: 25px;
		margin-bottom: 25px;
	}
	.table-wrapper {
		scrollbar-width: none; 
		-ms-overflow-style: none; 
	}
	.table-wrapper::-webkit-scrollbar {
		display: none;
	}
	.content-text__columns:not(:first-child) {
		margin-top: calc(25px + 8px);
	}
	.content-text__columns:not(:last-child) {
		margin-bottom: calc(25px + 8px);
	}
}
@media (max-width: 549px) {
	.table-wrapper {
		width: calc(100% + (25px * 2));
		margin-left: -25px;
		padding: 0 25px;
	}
}

/*--- Скроллбар ---*/

*:not(body):not(html)::-webkit-scrollbar {
	width: 4px;
	height: 4px;
}
*:not(body):not(html)::-webkit-scrollbar-track {
	background: var(--color-gray-05);
	border-radius: 2px;
}
*:not(body):not(html)::-webkit-scrollbar-thumb {
	background: var(--color-red);
	border-radius: 2px;
}
*:not(body):not(html)::-webkit-scrollbar-button {
	display: none;
}
@media (max-width: 1500px) {
	.scroll-container {
		width: calc(100% + 50px);
		margin: 0 -20px;
		position: relative;
	}
	.scroll-container > * {
		position: relative;
		z-index: 20;
	}
	.scroll-container .scroll-wrapper {
		overflow: hidden !important;
		padding: 0 !important;
		position: relative;
	}
	.scroll-container .scroll-wrapper > .scroll-content {
		border: none !important;
		box-sizing: content-box !important;
		height: auto;
		left: 0;
		margin: 0;
		max-height: none;
		max-width: none !important;
		overflow: scroll !important;
		padding: 0;
		position: relative !important;
		top: 0;
		width: auto !important;
		padding: 0 20px;
	}
	.scroll-wrapper > .scroll-content::-webkit-scrollbar {
		height: 0;
		width: 0;
	}
	.scroll-wrapper > .scroll-content {
		scrollbar-width: none; 
	}
	.scroll-element {
		display: none;
	}
	.scroll-element, .scroll-element div {
		box-sizing: content-box;
	}
	.scroll-element.scroll-x.scroll-scrollx_visible,
	.scroll-element.scroll-y.scroll-scrolly_visible {
		display: block;
	}
	.scroll-element .scroll-bar,
	.scroll-element .scroll-arrow {
		cursor: default;
	}
	.scrollbar-inner > .scroll-element,
	.scrollbar-inner > .scroll-element div {
		border: none;
		margin: 0;
		padding: 0;
		position: absolute;
		z-index: 10;
	}
	.scrollbar-inner > .scroll-element div {
		display: block;
		height: 100%;
		left: 0;
		top: 0;
		width: 100%;
	}
	.scrollbar-inner > .scroll-element.scroll-x {
		bottom: 5px;
		left: 25px !important;
		height: 4px;
		left: 0;
		width: calc(100% - 50px);
		z-index: 100;
	}
	.scrollbar-inner > .scroll-element.scroll-y {
		height: 100%;
		right: 5px;
		top: 0;
		width: 4px;
	}
	.scrollbar-inner > .scroll-element .scroll-element_outer {
		overflow: hidden;
	}
	.scrollbar-inner > .scroll-element .scroll-element_outer,
	.scrollbar-inner > .scroll-element .scroll-element_track,
	.scrollbar-inner > .scroll-element .scroll-bar {
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		border-radius: 8px;
	}
	.scrollbar-inner > .scroll-element .scroll-element_track {
		background-color: transparent;
	}
	.scrollbar-inner > .scroll-element .scroll-bar { 
		background-color: var(--color-red); 
	}
	.scrollbar-inner > .scroll-element:hover .scroll-bar { 
		background-color: var(--color-red); 
	}
	.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
		background-color: transparent;
	}
}

/*--- Выпадающие списки ---*/

span.select2.select2-container {
	display: flex;
	align-items: center;
	width: 100% !important;
	height: 38px;
	background: var(--color-white);
	border: 1px solid var(--color-gray-06);
	border-radius: 6px;
	transition: var(--transition);
}
span.selection {
	display: flex;
	align-items: center;
	width: 100%;
}
span.select2-selection.select2-selection--single {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 8px 12px 9px 12px;
	font-size: 15px;
	line-height: 19px;
	height: auto !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 !important;
}
.select2-container--default .select2-selection--single {
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--color-black) !important;
}
.select2-selection__arrow {
	display: flex;
	width: 11px;
	height: 7px;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 1.37097L1.37103 0.000976562L5.48801 4.11802V6.97803L0 1.37097ZM10.977 1.37097L9.60602 0L5.48801 4.11802V6.97803L10.977 1.37097Z' fill='black'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	top: 1px;
}
.select2-container--focus.select2-container--open .select2-selection__arrow {
	transform: rotate(180deg);
}
span.select2.select2-container:hover, 
span.select2.select2-container.select2-container--open.select2-container--focus {
	background: var(--color-gray-01);
}
.select2-dropdown {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: none !important;
	border-radius: 10px !important;
	box-shadow: var(--header-shadow);
	margin-top: 5px;
	background: var(--color-white);
	padding: 5px;
	z-index: 1101;
}
.select2-results {
	max-height: 346px;
	overflow-y: auto;
	padding: 0;
	border-radius: 6px;
}
.select2-results__options {
	padding-right: 0;
}
.select2-results__option:not(:last-child) {
	margin-bottom: 5px;
}
.select2-results__option {
	display: flex;
	width: 100%;
	border-radius: 6px;
	padding: 10px 38px 11px 15px;
	font-size: 15px;
	line-height: 15px;
	white-space: nowrap;
}
.select2-results__option--selected {
	background-color: var(--color-gray-19) !important;
	position: relative;
}
.select2-results__option--selected::after {
	content: '' !important;
	position: absolute !important;
	right: 13px !important;
	top: calc(50% - 1px) !important;
	transform: translateY(-50%) !important;
	width: 13px !important;
	height: 9px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='13px' height='9px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M12.711,1.716 L5.716,8.711 C5.518,8.908 5.259,9.006 5.000,9.006 C4.741,9.006 4.481,8.908 4.284,8.711 L0.289,4.716 C-0.105,4.322 -0.105,3.683 0.289,3.289 C0.683,2.895 1.322,2.895 1.716,3.289 L5.000,6.573 L11.284,0.289 C11.678,-0.105 12.317,-0.105 12.711,0.289 C13.105,0.683 13.105,1.322 12.711,1.716 Z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
}
.select2-results__option--highlighted {
	background-color: var(--color-gray-01) !important;
}
span.select2-dropdown.select2-dropdown--above {
	transform: translateY(-10px);
}

/*--- Прелоадер ---*/
.loading {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	visibility: hidden;
	opacity: 0;
	transition: visibility var(--transition-duration) var(--transition-easing) var(--transition-duration), opacity var(--transition-duration) var(--transition-easing);
}
.loading#loading-body {
	position: fixed;
}
.loading.--active {
	visibility: visible;
	opacity: 1;
	transition: visibility var(--transition-duration) var(--transition-easing), opacity var(--transition-duration) var(--transition-easing);
}
.loading:before {
	content: "";
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background: rgb(44, 46, 57);
	border-radius: inherit;
	cursor: default;
	clear: both;
	z-index: 10;
	opacity: 0.8;
}
.loading.--light:before {
	background: #fff;
}
.loading__spinner {
	--spinner-size: 68px;
	--spinner-border-size: 5px;
	--spinner-color-outer: var(--color-red);
	--spinner-color-inner: color-mix(in srgb, var(--color-red), #fff 40%);
	display: block;
	position: relative;
	width: var(--spinner-size);
	height: var(--spinner-size);
	border: var(--spinner-border-size) solid;
	border-color: var(--spinner-color-outer) var(--spinner-color-outer) transparent;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 0px;
	line-height: 0px;
	cursor: default;
	z-index: 50;
	animation: loading-spinner-rotation_back 1s linear infinite;
}
.loading__spinner:after {
	content: '';  
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: calc(var(--spinner-size) / 2);
	height: calc(var(--spinner-size) / 2);
	border: var(--spinner-border-size) solid;
	border-color: transparent var(--spinner-color-inner) var(--spinner-color-inner);
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 0px;
	line-height: 0px;
	animation: loading-spinner-rotation 0.5s linear infinite;
	transform-origin: center center;
}
@keyframes loading-spinner-rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes loading-spinner-rotation_back {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-360deg);
	}
}

.loader {
	--spinner-size: 48px;
	--spinner-border-size: 5px;
	--spinner-color: var(--color-red);
	width: var(--spinner-size);
	height: var(--spinner-size);
	border: var(--spinner-border-size) solid var(--spinner-color);
	border-bottom-color: transparent;
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	animation: loader-rotation 1s linear infinite;
}
*[data-loader]:before {
	--spinner-size: 48px;
	--spinner-border-size: 5px;
	--spinner-color: var(--color-red);
	content: "";
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: absolute;
	top: calc(50% - (var(--spinner-size) / 2));
	left: calc(50% - (var(--spinner-size) / 2));
	width: var(--spinner-size);
	height: var(--spinner-size);
	border: var(--spinner-border-size) solid var(--spinner-color);
	border-bottom-color: transparent;
	border-radius: 50%;
	box-sizing: border-box;
	animation: loader-rotation 1s linear infinite;
}
*[data-loader="secondary"]:before {
	--spinner-color: var(--color-gray-01);
}
.product-item__img[data-loader]:has(img.lazyloaded):before {
	display: none;
}
@keyframes loader-rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/*----- YourGood -----*/
:root {
--yourgood-screen-offset-right: 5rem;
--yourgood-screen-offset-bottom: 90px;
--yourgood-z-index: 100;
}
@media only screen and (min-width: 500px) {
	body.pArticlesSingle {
		--yourgood-screen-offset-right: -9999px;
		--yourgood-screen-offset-bottom: -9999px;
		--yourgood-z-index: -9999;
	}
}
@media only screen and (max-width: 499px) {
	:root {
		--yourgood-screen-offset-right: 25px;
		--yourgood-screen-offset-bottom: 25px;
	}
}