/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Variables
# Reset
# General
# Header
# Menu
# Promo
# banner
# Advantage
# Calculation
# About-us
# Step
# Map
# Contacts
# Footer
# Button-up
# Modal


/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
:root {
	--body-color: #000;
	--body-bg: #F0FFFF; /* Зелено голубой*/
	
	--primary-color: #225594; /*  #008000 Темно синийbq */
	--primary-color-dark: color-mix(in srgb, var(--primary-color), black 20%);
	--primary-color-light: color-mix(in srgb, var(--primary-color), white 20%);
	--primary-muted-color: #F0FFFF;
	
	--secondary-color: #008000; /*#63d47a; Зеленый */
	--secondary-color-light: color-mix(in srgb, var(--secondary-color), white 40%);
	
	--accent-color: #DC143C;
	--accent-color-dark: color-mix(in srgb, var(--accent-color), black 20%);
	--accent-color-light: color-mix(in srgb, var(--accent-color), white 20%);
	
    --link-color: var(--primary-color);
    --link-hover-color: color-mix(in srgb, var(--primary-color), black 20%);
    
    --border-radius-ctrl: 8px; /* buttons inputs*/
    
	--svg-icon-color: var(--primary-color);
	--svg-icon-fill: white;
	
	--max-color: #6E1AFF;
	/*
	--box-shadow: 0px 4px 29px rgba(68, 88, 144, 0.12);
	*/
}

.bg-primary {
    background-color: var(--primary-color);
}
.bg-primary-muted {
    background-color: var(--primary-muted-color);
}
.bg-secondary {
    background-color: var(--secondary-color-light);
}
.contrast {
    color: white;
}
/* -------------------------------------
# Reset
------------------------------------- */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
	width: device-width;
}
article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block;
}
body {
	position: relative;
	font: 400 1rem/1.5 "Proxima Nova", sans-serif;
	text-align: left;
	color: #292929;
	background-color: #fff;
	overflow-x: hidden;
}
[tabindex="-1"]:focus {
	outline: 0 !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: 0.5rem;
}
h1, h2, h3 {
	line-height: 1.2;
}
p,
li {
	margin-top: 0;
	margin-bottom: 1rem;
}
address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit;
}
ol,
ul {
	margin: 0;
	margin-bottom: 1rem;
	padding-left: 0;
	list-style: none;
}
ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}
b,
strong {
	font-weight: bolder;
}
small {
	font-size: 80%;
}
sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
a {
	color: #00bf8f;
	text-decoration: none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
a:hover {
	color: #267871;
	text-decoration: none;
	cursor: pointer;
}
a.js-prefdef:hover {
	cursor: auto;
}
figure {
	margin: 0 0 1rem;
}
img {
	width: 100%;
	height: auto;
	vertical-align: middle;
	border-style: none;
}
svg:not(:root) {
	overflow: hidden;
}
label {
	display: inline-block;
}
button {
	-webkit-border-radius: 0;
	border-radius: 0;
	outline: none;
	border: none;
}
input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	padding: 0;
	border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
	-webkit-appearance: listbox;
}
textarea {
	overflow: auto;
	resize: vertical;
}
*::-webkit-input-placeholder {
	color: #959393;
	opacity: 1;
}
*::-moz-placeholder {
	color: #959393;
	opacity: 1;
}
*:-ms-input-placeholder {
	color: #959393;
	opacity: 1;
}
*::-ms-input-placeholder {
	color: #959393;
	opacity: 1;
}
*::placeholder {
	color: #959393;
	opacity: 1;
}
body input:focus:required:invalid,
body textarea:focus:required:invalid {
	color: #292929;
}
body input:required:valid,
body textarea:required:valid {
	color: #292929;
}

video {
	width: 100%;
	max-width: 100%;
}

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
/* Base */
body {
	background: var(--body-bg);
	color: var(--body-color);
	font-size: calc(16px + 2 * ((100vw - 320px) / (1920 - 320)));
	line-height: 1.5;
	font-weight: 300;
	font-family: "Ubuntu", Arial, sans-serif;
	margin: 0;
}
a {
	color: var(--link-color);
/*	border-bottom: 1px solid var(--primary-color-light); */
	text-decoration: none;
	transition: 0.3s;
}
a:hover {
	color: var(--link-hover-color);
/*	border-bottom-color: var(--primary-color); */
	text-decoration: none;
}
.content-link {
    text-decoration-line: underline;
    text-decoration-style: dashed; /* Прерывистая линия (тире) */
    text-decoration-color: var(--primary-color, #007bff); /* Ваша переменная цвета */
  text-underline-offset: 4px; /* Опционально: отступ линии от текста */
}
img {
	max-width: 100%;
}
.img-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
	margin-top: 0;
}
h1{
	margin-bottom: 40px;
}
h2 {
	margin-bottom: 30px;
}
h3,
h4,
h5,
h6 {
	margin-bottom: 20px;
}
h1,
.h1 {
	font-size: calc(34px + 14 * ((100vw - 320px) / (1920 - 320)));
}

h2,
.h2 {
	font-size: calc(28px + 14 * ((100vw - 320px) / (1920 - 320)));
}

h3,
.h3 {
	font-size: calc(24px + 12 * ((100vw - 320px) / (1920 - 320)));
}

h4,
.h4 {
	font-size: calc(20px + 12 * ((100vw - 320px) / (1920 - 320)));
}

h5,
.h5 {
	font-size: calc(18px + 10 * ((100vw - 320px) / (1920 - 320)));
}

h6,
.h6 {
	font-size: calc(18px + 6 * ((100vw - 320px) / (1920 - 320)));
}

/* Section */
.section {
	padding: 30px 0;
}

@media (min-width: 768px) {
	.section {
		padding: 50px 0;
	}
}

/* Title */
.title-section {
	/* color: var(--primary-color); */
	text-align: center;
}

.title-section.contrast {
    color: white;
}

/*.title-dark {
	color: #000;
} */


/* Container */
.container {
	width: 100%;
	padding: 0 15px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media (min-width: 576px) {
	.container {
		max-width: 540px;
		margin: 0 auto;
	}
}
@media (min-width: 768px) {
	.container {
		max-width: 720px;
		padding: 0 25px;
	}
}
@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}
@media (min-width: 1200px) {
	.container {
		max-width: 1200px;
		padding: 0 30px;
	}
}
@media (min-width: 1400px) {
	.container {
		max-width: 1320px;
		margin: 0 auto;
	}
}

/* Flex */
.flex {
	display: flex;
}
.flex-left {
	justify-content: flex-start;
}
.flex-center {
	justify-content: center;
}
.flex-right {
	justify-content: flex-end;
}
.flex-space-around {
	justify-content: space-around;
}
.flex-space-between {
	justify-content: space-between;
}
.flex-top {
	align-items: flex-start;
}
.flex-baseline {
	align-items: baseline;
}
.flex-middle {
	align-items: center;
}
.flex-bottom {
	align-items: flex-end;
}
.flex-stretch {
	align-items: stretch;
}
@media (min-width: 576px) {
	.flex-sm {
		display: flex;
	}
}
@media (min-width: 768px) {
	.flex-m {
		display: flex;
	}
}
@media (min-width: 992px) {
	.flex-l {
		display: flex;
	}
}
@media (min-width: 1200px) {
	.flex-xl {
		display: flex;
	}
}


/* Grid system */
.row {
	display: flex;
	flex-wrap: wrap;
	row-gap: 25px;
	margin-left: -25px;
}

.row-sm {
	row-gap: 15px;
	margin-left: -15px;
}

.row-lg {
	row-gap: 45px;
	margin-left: -45px;
}

[class*="col-"] {
	position: relative;
	width: 100%;
	padding-left: 25px;
	box-sizing: border-box;
}

.row-sm [class*="col-"] {
	padding-left: 15px;
}

.row-lg [class*="col-"] {
	padding-left: 45px;
}

.col-1 {
	flex: 0 0 8.333333%;
	max-width: 8.333333%;
}
.col-2 {
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}
.col-3 {
	flex: 0 0 25%;
	max-width: 25%;
}
.col-4  {
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}
.col-5  {
	flex: 0 0 41.666667%;
	max-width: 41.666667%;
}
.col-6  {
	flex: 0 0 50%;
	max-width: 50%;
}
.col-7  {
	flex: 0 0 58.333333%;
	max-width: 58.333333%;
}
.col-8  {
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}
.col-9  {
	flex: 0 0 75%;
	max-width: 75%;
}
.col-10 {
	flex: 0 0 83.333333%;
	max-width: 83.333333%;
}
.col-11 {
	flex: 0 0 91.666667%;
	max-width: 91.666667%;
}
.col-12 {
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 550px) {
	.col-sm-1  {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-sm-2  {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-sm-3  {
		flex: 0 0 25%;
		max-width: 25%;
	}
		.col-sm-4  {
			flex: 0 0 33.333333%;
			max-width: 33.333333%;
		}
	.col-sm-5  {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-sm-6  {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-sm-7  {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-sm-8  {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-sm-9  {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-sm-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-sm-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-sm-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 768px) {
	.col-md-1  {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-md-2  {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-md-3  {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-md-4  {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-md-5  {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-md-6  {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-md-7  {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-md-8  {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-md-9  {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-md-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-md-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-md-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 992px) {
	.col-lg-1  {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-lg-2  {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-lg-3  {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-lg-4  {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-lg-5  {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-lg-6  {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-lg-7  {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-lg-8  {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-lg-9  {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-lg-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-lg-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-lg-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 1200px) {
	.col-xl-1  {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-xl-2  {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-xl-3  {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-xl-4  {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-xl-5  {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-xl-6  {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-xl-7  {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-xl-8  {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-xl-9  {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-xl-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-xl-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-xl-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 1400px) {
	.col-xxl-1  {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-xxl-2  {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-xxl-3  {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-xxl-4  {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-xxl-5  {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-xxl-6  {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-xxl-7  {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-xxl-8  {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-xxl-9  {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-xxl-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-xxl-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-xxl-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* Hidden */
.hidden {
	display: none;
}
@media (max-width: 767px) {
	.hidden-sm {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.hidden-m {
		display: none;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.hidden-l {
		display: none;
	}
}
@media (min-width: 1200px) {
	.hidden-xl {
		display: none;
	}
}

/* Sticky */
.sticky {
	position: sticky;
}

/* List */
.list {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}
.list__item {
	margin-bottom: 0;
}

/* Margin */
.margin {
	margin: 25px;
}
.margin-s {
	margin: 10px;
}
.margin-l {
	margin: 50px;
}
.margin-top {
	margin-top: 25px;
}
.margin-top-s {
	margin-top: 10px;
}
.margin-top-l {
	margin-top: 50px;
}
.margin-right {
	margin-right: 25px;
}
.margin-right-s {
	margin-right: 10px;
}
.margin-right-l {
	margin-right: 50px;
}
.margin-bottom {
	margin-bottom: 25px;
}
.margin-bottom-s {
	margin-bottom: 10px;
}
.margin-bottom-l {
	margin-bottom: 50px;
}
.margin-left {
	margin-left: 25px;
}
.margin-left-s {
	margin-left: 10px;
}
.margin-left-l {
	margin-left: 50px;
}
.margin-remove {
	margin: 0;
}
.margin-remove-top {
	margin-top: 0;
}
.margin-remove-right {
	margin-right: 0;
}
.margin-remove-bottom {
	margin-bottom: 0;
}
.margin-remove-left {
	margin-left: 0;
}
@media (max-width: 767px) {
	.margin-remove-sm {
		margin: 0;
	}
	.margin-remove-sm-top {
		margin-top: 0;
	}
	.margin-remove-sm-right {
		margin-right: 0;
	}
	.margin-remove-sm-bottom {
		margin-bottom: 0;
	}
	.margin-remove-sm-left {
		margin-left: 0;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.margin-remove-m {
		margin: 0;
	}
	.margin-remove-m-top {
		margin-top: 0;
	}
	.margin-remove-m-right {
		margin-right: 0;
	}
	.margin-remove-m-bottom {
		margin-bottom: 0;
	}
	.margin-remove-m-left {
		margin-left: 0;
	}
}
@media (min-width: 992px) {
	.margin-remove-l {
		margin: 0;
	}
	.margin-remove-l-top {
		margin-top: 0;
	}
	.margin-remove-l-right {
		margin-right: 0;
	}
	.margin-remove-l-bottom {
		margin-bottom: 0;
	}
	.margin-remove-l-left {
		margin-left: 0;
	}
}

/* Separator */
.separator {
	width: 100%;
	height: 1px;
	background-color: #fff;
	border: none;
	margin-top: 0;
	margin-bottom: 0;
}
.separator_horizontal {
	width: 1px;
	height: 100%;
}

/* Padding */
.padding {
	padding: 25px;
}
.padding-s {
	padding: 10px;
}
.padding-l {
	padding: 50px;
}
.padding-top {
	padding-top: 25px;
}
.padding-top-s {
	padding-top: 10px;
}
.padding-top-l {
	padding-top: 50px;
}
.padding-right {
	padding-right: 25px;
}
.padding-right-s {
	padding-right: 10px;
}
.padding-right-l {
	padding-right: 50px;
}
.padding-bottom {
	padding-bottom: 25px;
}
.padding-bottom-s {
	padding-bottom: 10px;
}
.padding-bottom-l {
	padding-bottom: 50px;
}
.padding-left {
	padding-left: 25px;
}
.padding-left-s {
	padding-left: 10px;
}
.padding-left-l {
	padding-left: 50px;
}
.padding-remove {
	padding: 0;
}
.padding-remove-top {
	padding-top: 0;
}
.padding-remove-right {
	padding-right: 0;
}
.padding-remove-bottom {
	padding-bottom: 0;
}
.padding-remove-left {
	padding-left: 0;
}
@media (max-width: 767px) {
	.padding-remove-sm {
		padding: 0;
	}
	.padding-remove-sm-top {
		padding-top: 0;
	}
	.padding-remove-sm-right {
		padding-right: 0;
	}
	.padding-remove-sm-bottom {
		padding-bottom: 0;
	}
	.padding-remove-sm-left {
		padding-left: 0;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.padding-remove-m {
		padding: 0;
	}
	.padding-remove-m-top {
		padding-top: 0;
	}
	.padding-remove-m-right {
		padding-right: 0;
	}
	.padding-remove-m-bottom {
		padding-bottom: 0;
	}
	.padding-remove-m-left {
		padding-left: 0;
	}
}
@media (min-width: 992px) {
	.padding-remove-l {
		padding: 0;
	}
	.padding-remove-l-top {
		padding-top: 0;
	}
	.padding-remove-l-right {
		padding-right: 0;
	}
	.padding-remove-l-bottom {
		padding-bottom: 0;
	}
	.padding-remove-l-left {
		padding-left: 0;
	}
}

/* Button */
.button {
	display: inline-block;
	height: 54px;
	line-height: 54px;
	color: var(--body-color);
	font-weight: 600;
	background-color: #ddd;
	border-radius: var(--border-radius-ctrl);
	border-bottom: none;
	box-sizing: border-box;
	cursor: pointer;
	padding: 0 30px;
	width: 300px;
    height: 58px;
    min-width: 270px;
	text-align: center;
}
.button:hover,
.button:active {
	color: var(--body-color);
	background-color: rgba(221, 221, 221, 0.85);
}
.button-large {
	height: 60px;
	line-height: 60px;
}
.button-border-large {
	height: 60px;
	line-height: 56px;
	padding: 0 60px;
}
.button-small {
	font-size: 0.8125rem;
	height: 44px;
	line-height: 44px;
	padding: 0 20px;
}
.button-border-small {
	font-size: 0.8125rem;
	height: 44px;
	line-height: 40px;
	padding: 0 20px;
}
.button-primary {
	color: #fff;
	background-color: var(--primary-color);
}
.button-primary:hover,
.button-primary:active {
	color: #fff;
	background-color: color-mix(in srgb, var(--primary-color), black 20%);
}
.button-border-primary {
	color: var(--primary-color);
	background-color: transparent;
	border: 2px solid var(--primary-color);
	/*line-height: 50px; */
}
.button-border-primary:hover,
.button-border-primary:active {
	color: color-mix(in srgb, var(--primary-color), black 20%);
	background-color: transparent;
	border-color: color-mix(in srgb, var(--primary-color), black 20%);
}

.button-secondary {
	color: #fff;
	background-color: var(--secondary-color);
}
.button-secondary:hover,
.button-secondary:active {
	color: #fff;
	background-color: color-mix(in srgb, var(--secondary-color), black 20%);
}

.button-border-secondary {
	color: var(--secondary-color);
	background-color: transparent;
	border: 2px solid var(--secondary-color);
	/*line-height: 50px; */
}
.button-border-secondary:hover,
.button-border-secondary:active {
	color: color-mix(in srgb, var(--secondary-color), black 20%);
	background-color: transparent;
	border-color: color-mix(in srgb, var(--secondary-color), black 20%);
}

.button-success {
	color: #fff;
	background-color: var(--accent-color);
}
.button-success:hover,
.button-success:active {
	color: #fff;
	background-color: color-mix(in srgb, var(--accent-color), black 20%);
}
.button-border-success {
	color: var(--accent-color);
	background-color: transparent;
	border: 2px dashed var(--accent-color);
	line-height: 50px;
}
.button-border-success:hover,
.button-border-success:active {
	color: rgba(255, 202, 2, 0.8);
	background-color: transparent;
	border-color: rgba(255, 202, 2, 0.8);
}

/* Text */
.text-large {
	font-size: calc(18px + 4 * ((100vw - 320px) / (1920 - 320)));
}
.text-small {
	font-size: 0.8125rem;
	line-height: 1.3125;
}
.text-bold {
	font-weight: 600;
}
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-primary {
	color: var(--primary-color);
}
.text-right {
	text-align: right;
}
.text-success {
	color: var(--accent-color);
}
.nowrap {
	white-space: nowrap;
}
.border-none {
	border: none;
}


/* visible */
@media (min-width: 768px) {
	.visible-sm {
		display: none;
	}
}
@media (max-width: 767px) and (min-width: 992px) {
	.visible-m {
		display: none;
	}
}
@media (max-width: 991px) {
	.visible-l {
		display: none;
	}
}

/* Form*/
.form select,
.form textarea,
.form input:not([type]),
.form input[type="text"],
.form input[type="password"],
.form input[type="datetime"],
.form input[type="datetime-local"],
.form input[type="date"],
.form input[type="month"],
.form input[type="time"],
.form input[type="week"],
.form input[type="number"],
.form input[type="email"],
.form input[type="tel"] {
	width: 100%;
	max-width: 100%;
	height: 50px;
	line-height: 50px;
	color: var(--body-color);
	border: 2px solid var(--primary-color);
	font-size: 1rem;
	font-weight: 400;
	background-color: transparent;
	border-radius: var(--border-radius-ctrl);
	box-sizing: border-box;
	padding: 0 20px;
}
.form select:focus,
.form textarea:focus,
.form input:not([type]):focus,
.form input[type="text"]:focus,
.form input[type="password"]:focus,
.form input[type="datetime"]:focus,
.form input[type="datetime-local"]:focus,
.form input[type="date"]:focus,
.form input[type="month"]:focus,
.form input[type="time"]:focus,
.form input[type="week"]:focus,
.form input[type="number"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus {
	outline: 0;
}
.form-row + .form-row {
	margin-top: 15px;
}
.form__label {
	display: block;
	font-size: 1rem;
	font-weight: 600;
}

.form-btn {
	width: 100%;
	margin-top: 15px;
}

.label-checkbox {
	display: flex;
    align-items: flex-start;
    gap: 4px;
	font-size: 13px;
	line-height: 1;
}

.checkbox {
	display: flex;
	align-items: center;
	margin: 14px 0 0;
	cursor: pointer;
	vertical-align: top;
	font-size: 0;
}
.checkbox__inner {
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 18px;
	-ms-flex: 0 0 18px;
	flex: 0 0 18px;
}
.checkbox__pseudo {
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid var(--primary-color);
	position: relative;
	box-sizing: border-box;
}
.checkbox input:checked + .checkbox__inner .checkbox__pseudo .checkbox__check {
	stroke-dashoffset: 39px;
}
.checkbox__check {
	position: absolute;
	top: 1px;
	left: 1px;
	stroke: var(--primary-color);
	stroke-dasharray: 19px;
	stroke-dashoffset: 19px;
	-webkit-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}
.checkbox__text {
	min-height: 18px;
	margin-left: 5px;
}
.checkbox__link {
	color: var(--body-color);
}

.form-small select,
.form-small textarea,
.form-small input:not([type]),
.form-small input[type="text"],
.form-small input[type="password"],
.form-small input[type="datetime"],
.form-small input[type="datetime-local"],
.form-small input[type="date"],
.form-small input[type="month"],
.form-small input[type="time"],
.form-small input[type="week"],
.form-small input[type="number"],
.form-small input[type="email"],
.form-small input[type="tel"] {
	height: 44px;
	line-height: 44px;
	font-size: 0.85rem;
	padding: 0 20px;
}

.form-small button {
	font-size: 0.8125rem;
	height: 44px;
	line-height: 44px;
	padding: 0 20px;
}

@media (min-width: 768px) {
	.form__label {
		font-size: 1.25rem;
	}
}

.err {
	display: none;
	margin-top: -13px;
	transform: translateY(23px);
	font-size: 12px;
	line-height: 1.15;
	color: var(--accent-color);
	text-align: center;
}

.form-err .input-err {
	border-color: #fd664d;
}

/* Style that hides honeypot field from human visitors **/
.comment_verify {
	left: -9999px;
	position: absolute;
	top: -9999px;
	visibility: hidden;
}
.name_v {
	left: -9999px;
	position: absolute;
	top: -9999px;
	visibility: hidden;
}

/* Panel-box */
.panel-box {
    background-color: white;
    padding: 40px 20px;
    border: 1px solid #ddd;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
@media (min-width: 550px) {
    .panel-box {
        padding: 40px;
    }    
}

.panel-box-shadow {
    padding: 12px 15px;
    box-shadow: 0 1px 16px rgba(38,120,113,.19);
	border-radius: 20px;
}

/* ===== Accordion ===== */
.accordion__item {
	border: 1px solid var(--muted-color);
	padding: 15px 0;
	border-radius: 8px;
}
/*
.accordion__item + .accordion__item {
	margin-top: 15px;
}
*/
.accordion__header {
	position: relative;
	background-color: white;
	padding-bottom: 15px;
	display: flex;
	justify-content: space-between;
	gap: 15px;
	font-size: 1.3rem;
	line-height: 1.3;
	font-weight: 600;
	border-radius: 8px 8px 8px 8px;
	/*border-bottom: 1px var(--primary-color) solid; */
}

.accordion__header:hover {
	cursor: pointer;
}

.accordion__header p {
	text-align: left;
	margin-bottom: 0;
}

.accordion__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	box-sizing: border-box;
	padding: 8px;
	transition: 0.3s;
}

.accordion__btn::before,
.accordion__btn::after {
	position: absolute;
	content: "";
	background-color: var(--accent-color);
	font-weight: 700;
}

.accordion__btn::before {
	width: 18px;
	height: 2px;
}

.accordion__btn::after {
	width: 2px;
	height: 18px;
}

.accordion__item.active .accordion__btn {
	transform: rotate(45deg);
}

.accordion__btn_stop {
	background: url("../img/icon-stop.svg") center / 80% no-repeat;
}

.accordion__btn_stop::before,
.accordion__btn_stop::after {
	display: none;
}

.accordion__item.active .accordion__btn_stop {
	transform: none;
}

.accordion__body {
	max-height: 0;
	overflow: hidden;
	transition: all 0.3s ease;
	background-color: white;
	border-radius: 0 0 8px 8px;
}

.accordion__inner {
	text-align: justify;
	margin: 15px 0;
}

.accordion__inner p {
	margin: 0 0 15px 0;
}

.accordion__inner p:last-child {
	margin-bottom: 0;
}

/*svg icons*/
.inline-svg-icon {
	width: 22px;
	height: 22px;
    fill: var(--svg-icon-fill);
    color: var(--svg-icon-color);
}

.contrast .inline-svg-icon {
    color: white;
}

.svg-icon-item {
    display: inline-flex;
    align-items: center;
    vertical-align: middle; /* Чтобы сами ссылки стояли ровно в строке относительно друг друга */
    text-decoration: none;
    gap: 6px; /* Расстояние между иконкой и текстом внутри ссылки */
}

.list-icon li {
	display: flex;
	align-items: start;
	gap: 15px;
}

.list-icon svg {
    width: 1.5em;
    height: 1.5em;
	flex-shrink: 0;
	fill: var(--primary-color);
}

/*--------------------------------------------------------------
# swiper
--------------------------------------------------------------*/
.swiper-pagination-bullet-active {
    background: var(--primary-color);
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
	/*background-color: var(--primary-color); */
	padding: 15px 0;
}
.header__wrapper {
    gap: 30px
}
.header_fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	max-width: 100%;
	z-index: 999;
	box-shadow: rgb(0, 0, 0, 0.5) 0px 1px 3px;
}
.header__link-logo {
	width: 50%;
	line-height: 1;
}

.header__logo-title {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.header__logo-subtitle {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.15em;
}

.header__contact-info {
	text-align: left;
	margin-right: auto;
}

.header a {
	color: #fff;
	border-bottom: none;
}

@media (min-width: 768px) {
	.header__link-logo {
		width: 40%;
	}
	.header__contact-info {
	    text-align: left;
	    margin-right: auto;
    }
}

@media (min-width: 992px) {
	.header__link-logo {
		width: 17%;
	}
}

@media (min-width: 1200px) {
	.header__link-logo {
		width: 20%;
	}
	.header__menu {
		margin: 0 50px;
	}
}

.language-switcher {
  flex-grow: 1;
  display: flex;
  justify-content: right;
  align-items: center;
  font-size: 16px;
/*  margin-right: 50px; */
}

.language-switcher__list {
  display: flex;
  align-items: center;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}  

.language-switcher__item {
    padding-bottom: 0;
    margin-bottom: 0;
}

.language-switcher__link.active {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
}

.language-switcher__item + .language-switcher__item {
  border-left: 1px solid #fff;

  padding-left: 10px;
  margin-left: 10px;
}
/*
@media screen and (min-width: 576px) {
  .language-switcher {
    margin-right: 30px;
  }
} */
/*--------------------------------------------------------------
# Menu
--------------------------------------------------------------*/
.main-menu__wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.main-menu li {
	margin-bottom: 0;
}

.main-menu a.active {
	font-weight: 700;
}

.main-menu-mobile .main-menu__wrapper {
	width: 0;
	position: fixed;
	top: 0;
	right: 0;
	transition: all 0.25s;
	cursor: pointer;
}

.main-menu-mobile.active .main-menu__wrapper {
	width: min(50%, 400px);
	max-width: 400px;
	min-width: 300px;
	height: 100vh;
	background: var(--primary-color);
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
	transition: all 0.3s;
	overflow-y: auto;
	overflow-x: hidden;
	flex-direction: column;
	justify-content: start;
	gap: 10px;
	padding: 70px 30px 30px;
	z-index: 1000;
}

.main-menu-mobile__close {
	position: absolute;
	display: none;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	box-sizing: border-box;
	transition: 0.3s;
	transform: rotate(45deg);
	top: 30px;
	right: 30px;
	z-index: 9999;
}

.main-menu-mobile__close:hover {
	cursor: pointer;
}

.main-menu-mobile.active .main-menu-mobile__close {
	display: flex;
}

.main-menu-mobile__close::before,
.main-menu-mobile__close::after {
	position: absolute;
	content: "";
	background-color: white/*var(--contrast-color)*/;
}

.main-menu-mobile__close::before {
	width: 25px;
	height: 2px;
}

.main-menu-mobile__close::after {
	width: 2px;
	height: 25px;
}

.main-menu-mobile .main-menu__wrapper li {
	opacity: 0;
	transform: translateX(60%);
}

.main-menu-mobile.active .main-menu__wrapper li {
	opacity: 1;
	transform: translateX(0);
	transition-property: all;
	transition-duration: 0.3s;
}

.main-menu-mobile.active .main-menu__wrapper li:nth-child(1) {
	transition-delay: 0.25;
}

.main-menu-mobile.active .main-menu__wrapper a {
	transition: all 0.15s;
	white-space: nowrap;
}

.main-menu-mobile.active .main-menu__wrapper a:hover {
	color: white/*var(--contrast-color)*/;
}

.main-menu-mobile.active .menu-overlay {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9;
}

.burger {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	margin-left: auto;
}

.burger:hover {
	cursor: pointer;
}

.burger span {
	width: 25px;
	height: 3px;
	background: white/*var(--contrast-color)*/;
}


/*--------------------------------------------------------------
# Info Section
--------------------------------------------------------------*/

.info-section {
	padding: 10px 0;
	border-bottom: 1px solid var(--secondary-color);
}
.info-section.fixed {
	border-bottom: 1px solid var(--secondary-color);
	background-color: color-mix(in srgb, var(--primary-muted-color), transparent 10%);
}
.infoline__wrapper {
	padding: 10px 0 7px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 19px;
	font-weight: 600;
}
.infoline__tel-wrapper .inline-svg-icon {
	margin-bottom: 2px;
}

.info-section .max-icon {
    width: 32px;
    height: 32px;
    color: var(--max-color);
}
@media only screen and (max-width:575px) {
	.infoline {
		gap: 5px;
		flex-wrap: nowrap;
	}
}

@media only screen and (max-width:400px) {
	.info-section .infoline {
		gap: 8px;
	}
	.info-section .tel-link {
		display: inline-block;
		font-size: 16px;
		line-height: 1.2;
		font-weight: 600;
	}
	.infoline__tel {
		display: none;
	}
	.info-section .wa-link {
		width: 22px;
		height: 22px;
	}
}


.fixed {
  position: fixed;
  top: 0;
  width: 100%; /* Или фиксированная ширина */
  z-index: 100;
}

/*--------------------------------------------------------------
# Banner Section
--------------------------------------------------------------*/
.banner-wrapper {
	gap: 30px;
}
.banner__subtitle,
.banner__text {
	text-align: center;
}
.banner__title {
	font-size: calc(35px + 20 * ((100vw - 320px) / (1920 - 320)));
	text-align: center;
	color: var(--primary-color);
}
.banner__subtitle {
	font-size: calc(22px + 6 * ((100vw - 320px) / (1920 - 320)));
	font-weight: 400;
	margin-bottom: 30px;
}

.banner__text {
	font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
	margin-bottom: 0;
}

@media only screen and (min-width: 992px) {
	.banner__subtitle,
	.banner__text {
		text-align: left;
	}
	.banner__title {
		margin-bottom: 70px;
	}
	.banner__subtitle {
		margin-bottom: 40px;
	}
}
/*--------------------------------------------------------------
# breadcrumbs section
--------------------------------------------------------------*/
.breadcrumbs-nav {
    padding: 15px 0;
    font-size: 14px;
    line-height: 1.4;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumbs__item {
    display: inline-flex;
    align-items: center;
}

/* Стрелочка-разделитель между пунктами */
.breadcrumbs__item:not(:last-child)::after {
    content: "→";
    margin: 0 8px;
    color: #8c95a6;
    font-size: 13px;
}

/* Ссылка */
.breadcrumbs__link {
    color: #0056b3;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumbs__link:hover {
    color: #003d80;
    text-decoration: underline;
}

/* Текущая (активная) страница */
.breadcrumbs__current {
    color: #6c757d;
}

/* Адаптив для мобильных устройств */
@media (max-width: 576px) {
    .breadcrumbs-nav {
        padding: 10px 0;
        font-size: 13px;
    }
    
    .breadcrumbs__item:not(:last-child)::after {
        margin: 0 5px;
    }
}
/*--------------------------------------------------------------
# Steps section
--------------------------------------------------------------*/


.steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.steps__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
}

.steps__icon {
    margin-bottom: 25px;
}

.steps__icon img {
    display: block;
    width: 135px;
    height: 135px;
    object-fit: contain;
}

.steps__title {
    font-size: 22px;
    line-height: 1.3;
    color: var(--primary-color);
}

.steps__number {
    margin-right: 4px;
}

@media (min-width: 575px) {
	.steps__icon {
		margin-bottom: 40px;
	}
}

/* Desktop */

@media (min-width: 992px) {
    .steps {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 30px;
    }

    .steps__item {
        flex: 1 1 0;
    }
}


/*--------------------------------------------------------------
# Promo section
--------------------------------------------------------------*/
.promo video {
	width: 100%;
	max-width: 100%;
}

.promo__wrapper {
	position: relative;
	margin: 0 auto;
}

.promo__desc {
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	color: #fff;
	font-size: 0.8em;
	font-weight: 600;
	text-shadow: 1px 1px 2px #333;
	padding: 5% 10%;
}

@media screen and (min-width: 768px) {
	.promo__desc {
		width: 100%;
		font-size: 1.5rem;
	}
}

@media screen and (min-width: 992px) {
	.promo__wrapper {
		width: 100%;
	}
}

@media screen and (min-width: 1200px) {
	.promo__desc {
		width: 100%;
		font-size: 2.25rem;
	}
}

/*--------------------------------------------------------------
# Tech section
--------------------------------------------------------------*/
.tech-wrapper {
	gap: 30px;
	flex-direction: column;
}
.tech-list {
	max-width: 500px;
    margin: 0 auto;
}
.techs-item {
    display: flex;
    align-items: center;
}
.techs-item + .techs-item {
	margin-top: 15px;
}
.techs-img {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 0 0 71px;
    width: 71px;
    height: 71px;
    border-radius: 50%;
    margin-right: 25px;
	border: 1px solid #037D74;
	padding: 10px;
}
.tech-image {
	object-fit: contain;
	object-position: center;
}
.techs-item__name {
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
}
.techs-item__txt {
    font-size: 14px;
}
.tech-callback .form-title {
	font-size: 20px;
    font-weight: 600;
}
.tech-callback {
	max-width: 500px;
}
.tech-callback .form-title {
	text-align: center;
}

@media (min-width: 992px) {
	.tech-wrapper {
		flex-direction: row;
		align-items: start;
	}
	.tech-callback {
		order: -1;
	}	
}

/*--------------------------------------------------------------
# Calculator
--------------------------------------------------------------*/
.calc-wrapper {
	max-width: 600px;
    margin: auto;
}

.slider-wrapper {
    margin: 20px 0;
}

.slider-wrapper label {
    margin-bottom: 20px; 
}
/* Кастомизация ползунка */
input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    height: 14px; /* Толщина дорожки */
    border-radius: 7px;
    /* Градиент управляется через JS переменную --progress */
    background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-color) var(--progress), silver var(--progress), silver 100%);
/*
    background: linear-gradient(to right, var(--primary-color) 0%, var(--primary-color) var(--progress), silver var(--progress), silver 100%);
*/
    outline: none;
    cursor: pointer;
}

/* Рукоятка (Круглая кнопка) */
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 32px; /* Диаметр рукоятки */
    width: 32px;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #2c3e50;
    /* Красный круг внутри */
    box-shadow: inset 0 0 0 7px #fff, inset 0 0 0 11px #ff4d4d;
    cursor: pointer;
    margin-top: -5px; /* Выравнивание по центру дорожки */
}

/* Блок результатов */
.results {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 12px;
}

.result-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.highlight {
    color: #ff4d4d; 
    font-size: 1.2em; 
}

.info {
    font-size: 12px; 
    color: #888; 
    border-top: 1px solid #ddd; 
    padding-top: 10px; 
	margin-top: 10px;
}

.calc-button {
    display: block;
    margin: 20px auto;
    width: 100%;
}

/*--------------------------------------------------------------
# Examples section
--------------------------------------------------------------*/
.example-description {
    text-align: center;
}
.example-title {
    margin-top: 15px;
    color: var(--primary-color);
}
.examples-section .swiper-pagination {
    position: relative;
    margin-top: 15px;
}


/*--------------------------------------------------------------
# FAQ section
--------------------------------------------------------------*/
.faq-accordion {
    max-width: 900px;
    margin: auto;
}


/*--------------------------------------------------------------
# Docs section
--------------------------------------------------------------*/
.docs {
	gap: 30px;
    flex-direction: column;
	align-items: center;
}
.docs__item {
	gap: 20px;
	align-items: center;
	width: min(100%, 410px);
}
.docs__img {
	width: 20%;
	flex-shrink: 0;
}
.docs__name {
	font-size: calc(17px + 5 * ((100vw - 320px) / (1920 - 320)));
    font-weight: 600;
    line-height: 1.3;
}

@media (min-width: 768px) {
	.docs__img {
		width: 25%;
	}
}

@media (min-width: 992px) {
	.docs__img {
		width: 15%;
	}
}

@media (min-width: 1200px) {
	.docs {
		flex-direction: row;
		align-items: stretch;
	}
}


/*--------------------------------------------------------------
# Conditions section
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# About section
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Reviews section
--------------------------------------------------------------*/

/* Reviews
-------------------------------------------------- */

.swiper-review {
    width: 100%;
    overflow: hidden;
}

.swiper-review .swiper-wrapper {
    align-items: stretch;
}

.swiper-review .swiper-slide {
    height: auto;
    box-sizing: border-box;
    padding-bottom: 60px;
}

/* Заголовок отзыва */

.reviews__head {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.reviews__img {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 50%;
}

.reviews__name {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 1.25;
}

/* Звёзды */

.stars {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #ffc400;
}

.stars svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* Текст отзыва */

.reviews__content {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text-color, #222);
}

/* Пагинация */

.swiper-review .swiper-pagination {
    bottom: 10px;
}

.swiper-review .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    margin: 0 7px !important;
    background: #d9d9d9;
    opacity: 1;
}

.swiper-review .swiper-pagination-bullet-active {
    background: #000;
}


/*--------------------------------------------------------------
# Callback section
--------------------------------------------------------------*/
.callback-wrapper {
	max-width: 600px;
    margin: 0 auto;
}

/*--------------------------------------------------------------
# Gallery section
--------------------------------------------------------------*/
.gallery-section .swiper-pagination {
    position: relative;
    margin-top: 15px;
}

/*--------------------------------------------------------------
# Warranties section
--------------------------------------------------------------*/
.warranties__wrapper {
     max-width: 400px;
     margin: auto;
}
.warranties__image-block {
    margin-bottom: 30px;
}   

.warranties__img {
    max-width: 400px;
}

@media (min-width: 992px) {
    .warranties__wrapper {
        max-width: 60%;
        gap: 30px;
    }
}
/*--------------------------------------------------------------
# Advantages section
--------------------------------------------------------------*/
.terms-wrapper {
    max-width: 900px;
    margin: auto;
}
.terms__img {
    display: block;               /* Переводим в блочный элемент */
    width: 409px;                 /* Фиксированная ширина */
    height: auto;                /* Фиксированная высота */
    margin: 40px auto;            /* Автоматический отступ  */
}

/*--------------------------------------------------------------
# Maplinks section
--------------------------------------------------------------*/
.maplinks__list {
    justify-content: center;
    gap: 30px;
    margin: 0;
}
.maplinks__item {
    max-width: 20%;
    margin: 0;
}
.maplinks__item {
    max-width: 20%;
    margin: 0;
}
.maplinks__img_contrast {
	box-shadow: 0 1px 16px rgba(38, 120, 113, .19);
    border-radius: 20px;
}

@media (min-width: 992px) {
    .maplinks__item {
        max-width: 10%;
    }
}

/*--------------------------------------------------------------
# Contacts section
--------------------------------------------------------------*/
.contacts-block {
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	padding: 0 15px;
}
.contacts-block__item {
	color: var(--primary-color);
	padding-bottom: 15px;
}
.contacts-block__label {
    margin: 0 0 0;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
	margin-bottom: 5px;
}
.contacts-block__info {
	display: flex;
    align-items: flex-start;
    gap: 5px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}
.contacts__img-wrapper {
	justify-content: center;
}
.contacts__hint {
	text-transform: uppercase;
    margin: 2rem 0;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}
.contacts-content .buttons-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

@media (min-width: 575px) {
	.contacts__img {
		border-radius: 20px;
		width: 80%;
	}
}

@media (min-width: 768px) {
    .contacts-block {
		width: 80%;
    }
	.contacts-block__info {
		font-size: 18px;
	}
	.contacts-content .buttons-block {
		gap: 2rem;
	}
}

@media (min-width: 992px) {
	.contactsk__img {
		width: 60%;
	}
}

@media (min-width: 1200px) {
    .contacts-block {
		width: 60%;
    }
	.contacts__img {
		max-width: 850px;
        width: 50%;
    }
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
	color: rgba(255, 255, 255, 0.7);
	padding: 50px 0;
}
.footer__container {
	position: relative;
}
.footer__item {
	font-size: 16px;
	text-align: center;
}
.footer__item + .footer__item {
	margin-top: 30px;
}
.footer__list li {
	line-height: 1.2;
	margin: 0;
}
.footer__list li + li {
	margin-top: 10px;
}
.footer a {
	color: rgba(255, 255, 255, 0.7);
}
.footer a:hover {
	color: #fff;
}

.requisites li + li {
	margin-top: 5px;
}

/*--------------------------------------------------------------
# Button-up
--------------------------------------------------------------*/
.button-up {
	position: relative;
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.5rem;
	font-weight: 400;
	text-transform: uppercase;
	position: relative;
	padding-top: 20px;
}
.button-up:hover {
	color: #fff;
	cursor: pointer;
}
.button-up:hover .button-up::before,
.button-up:hover .button-up::after {
	background-color: #fff;
}
.button-up::before,
.button-up::after {
	content: "";
	position: absolute;
	height: 59px;
	width: 2px;
	background-color: rgba(255, 255, 255, 0.7);
	top: -15px;
	left: 50%;
	transform: translate(-50%);
}
.button-up::before {
	transform: translateX(-27px) rotate(68deg);
}
.button-up::after {
	transform: translateX(27px) rotate(-68deg);
}

/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/
.modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 1000;
}

.modal.active {
	display: flex;
}

.modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.modal-dialog {
	position: relative;
	background: #fff;
	padding: 30px;
	max-width: 500px;
	width: 90%;
	border-radius: 8px;
	z-index: 2;
	transform: scale(0.95);
	opacity: 0;
	transition: 0.2s ease;
}

.modal.active .modal-dialog {
	transform: scale(1);
	opacity: 1;
}

.modal-close {
	position: absolute;
	top: 10px;
	right: 15px;
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
}

.callback-form__title,
.callback-form__subtitle {
	text-align: center;
}

.callback-form__title {
	margin-bottom: 0
}

.modal-dialog:has(.js-policy-content) {
	width: 90%;
	max-width: 900px;
	max-height: calc(100dvh - 30px);
	display: flex;
	flex-direction: column;
}

.modal-dialog:has(.js-policy-content) .modal-body {
	min-height: 0;
	overflow-y: auto;
	flex: 1 1 auto;
}

/*--------------------------------------------------------------
# Whatsapp widget в пульсирующем круге
--------------------------------------------------------------*/

.whatsapp__link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 45px;
	bottom: 30px;
	width: 55px;
	height: 55px;
	background-color: #25d366; /*#2ca5e0; */
	border-radius: 50%;
	z-index: 999;
}
.whatsapp__img {
	display: inline-block;
	height: 35px;
	width: 35px;
	background-image: url(../img/whatsapp.png);
	/*	background-image: url(../img/tg-widget.png);*/
	background-size: cover;
	background-position: center;
}
.whatsapp__link::after {
	content: " ";
	display: block;
	position: absolute;
	border: 1px solid #25d366; /*#2ca5e0; */
	left: -20px;
	right: -20px;
	top: -20px;
	bottom: -20px;
	border-radius: 50%;
	animation: animate-circle 1.5s linear infinite;
	opacity: 0;
	backface-visibility: hidden;
}

@keyframes animate-circle {
	0% {
		transform: scale(0.5);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: scale(1.2);
		opacity: 0;
	}
}

/*--------------------------------------------------------------
# Whatsapp widget кнопка с надписью
--------------------------------------------------------------*/
.wa-fixed-btn {
  /* Позиционирование */
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 1000;

  /* Контейнер */
  display: flex;
  align-items: center;
  gap: 14px; /* Чуть увеличили отступ между укрупненной иконкой и текстом */
  padding: 12px 24px 12px 20px; /* Немного уменьшили сверху/снизу, так как иконка стала больше */
  border-radius: 50px;
  text-decoration: none;
  font-family: sans-serif;
  /*font-weight: 600; */
  font-size: 14px;
  line-height: 1.2;
  
  /* ИСХОДНОЕ СОСТОЯНИЕ */
  background-color: #16A748; /* Однородный темный фон кнопки */
  color: #fff;
  
  transition: background-color 0.2s ease-in-out;
}

.wa-btn-text {
  display: flex;
  flex-direction: column;
}

/* Увеличенный размер иконки */
.wa-btn-icon {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
}

/* HOVER (Наведение) */
.wa-fixed-btn:hover {
 color: white;    
  background-color: #118237; 
}


/*--------------------------------------------------------------
# Cookies
--------------------------------------------------------------*/
#cookies-msg {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	z-index: 999999;
	background-color: var(--bg-muted);
	opacity: 0.8;
}
.cookies-msg__hide {
	display: none;
}

.cookie-notification__buttons .button {
	background-color: orange;
	/*	font-size: 12px;
	padding: 5px 10px; */
}


/*--------------------------------------------------------------
# Max widget
--------------------------------------------------------------*/
.max-widget .max__link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 20px;
	bottom: 65px;
	width: 55px;
	height: 55px;
	background-color: #6E1AFF;
	border-radius: 50%;
	z-index: 999;
}

.max-widget .max__link::after {
	content: " ";
	display: block;
	position: absolute;
	border: 1px solid #6E1AFF;
	left: -20px;
	right: -20px;
	top: -20px;
	bottom: -20px;
	border-radius: 50%;
	animation: animate-circle 1.5s linear infinite;
	opacity: 0;
	backface-visibility: hidden;
}

@keyframes animate-circle {
	0% {
		transform: scale(0.5);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: scale(1.2);
		opacity: 0;
	}
}