* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

body {
	font-optical-sizing: auto;
	font-style: normal;
	font-family: "Inter", sans-serif;
	font-weight: 400;
}

/* промо баннер */

.hero {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hero-video {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hero-video video {
	object-position: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-overlay {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(30, 30, 30, 0.6);
}

.hero-content {
	flex-direction: column;
	z-index: 3;
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	max-width: 1316px;
	height: 100%;
	padding: 80px 24px;
	margin: 0 auto;
}

.hero-title {
	font-style: normal;
	text-transform: uppercase;
	max-width: 600px;
	color: #ffffff;
	font-size: 36px;
	line-height: 150%;
	font-weight: 700;
	margin-bottom: 12px;
}

.hero-features {
	list-style: none;
	margin-bottom: 32px;
}

.feature-item {
	gap: 16px;
	display: flex;
	align-items: center;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 500;
	padding: 16px 0;
}

.feature-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
}

.cta-button {
	cursor: pointer;
	width: fit-content;
	border: none;
	border-radius: 16px;
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	box-shadow: 0 0 20px 0 rgba(255, 0, 0, 0.4);
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.18px;
	padding: 16px 32px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.cta-button:hover {
	opacity: 0.8;
}

@media (max-width: 768px) {
	.hero-banner {
		min-height: auto;
		height: auto;
	}

	.hero-content {
		max-width: 100%;
		padding: 60px 16px;
	}

	.hero-title {
		max-width: 100%;
		font-size: 22px;
		margin-bottom: 16px;
	}

	.hero-features {
		margin-bottom: 40px;
	}

	.feature-item {
		gap: 12px;
		font-size: 16px;
		padding: 8px 0;
	}

	.cta-button {
		width: 100%;
		font-size: 14px;
	}
}

/* секция с формой */

.consultation {
	width: 100%;
	margin-top: 60px;
}

.consultation-wrapper {
	gap: 26px;
	display: flex;
	max-width: 1316px;
	padding: 0 24px;
	margin: 0 auto;
}

.consultation-plug {
	flex: 1 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #d9d9d9;
}

.consultation-form {
	flex: 0 0 411px;
	flex-direction: column;
	overflow: hidden;
	gap: 40px;
	position: relative;
	display: flex;
	border-radius: 16px;
	background-color: #1a1a1a;
	padding: 24px;
}

.consultation-form-decoration {
	z-index: 1;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	width: 181px;
	height: 326px;
	pointer-events: none;
}

.consultation-form-decoration img {
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.consultation-form-header {
	flex-direction: column;
	gap: 6px;
	z-index: 2;
	position: relative;
	display: flex;
	max-width: 345px;
	width: 100%;
}

.consultation-form-title {
	color: #ffffff;
	font-size: 26px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0;
}

.consultation-form-subtitle {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	margin: 0;
}

.consultation-form-form {
	flex-direction: column;
	gap: 12px;
	z-index: 2;
	position: relative;
	display: flex;
	width: 100%;
}

.consultation-form-inputs {
	flex-direction: column;
	gap: 7px;
	display: flex;
	width: 100%;
}

.consultation-form-input {
	outline: none;
	width: 100%;
	border: none;
	border-radius: 16px;
	background-color: #ffffff;
	color: rgba(26, 24, 23, 1);
	font-size: 14px;
	line-height: 1.3;
	font-weight: 400;
	padding: 16px 24px;
}

.consultation-form-input::placeholder {
	color: rgba(26, 24, 23, 0.3);
}

.consultation-form-submit-btn {
	cursor: pointer;
	width: 100%;
	border: none;
	border-radius: 16px;
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	box-shadow: 0px 0px 20px 0px rgba(71, 71, 71, 0.4);
	color: #ffffff;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -0.32px;
	padding: 14px 20px;
	transition: opacity 0.3s ease;
}

.consultation-form-submit-btn:hover {
	opacity: 0.8;
}

.consultation-form-checkbox-terms {
	gap: 12px;
	cursor: pointer;
	z-index: 2;
	position: relative;
	display: flex;
	align-items: flex-start;
	width: 100%;
}

.consultation-form-checkbox-input {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
}

.consultation-form-checkbox-custom {
	flex-shrink: 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.2);
	transition: background 0.2s ease;
}

.consultation-form-checkbox-input:checked + .consultation-form-checkbox-custom {
	background: rgba(255, 255, 255, 0.2);
}

.consultation-form-checkbox-input:checked + .consultation-form-checkbox-custom::after {
	background-image: url("/templates/ijizacatalogcard/img/icon-checkbox.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	content: "";
	width: 12px;
	height: 12px;
}

.consultation-form-checkbox-text {
	flex: 1;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	line-height: 1.5;
	font-weight: 500;
}

.consultation-form-social-buttons {
	z-index: 2;
	gap: 8px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.consultation-form-social-button {
	flex: 1;
	gap: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: #ffffff;
	padding: 10px 12px 10px 8px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.consultation-form-social-button:hover {
	opacity: 0.8;
}

.consultation-form-social-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.consultation-form-social-button span {
	white-space: nowrap;
	color: #171717;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 600;
}

@media (max-width: 768px) {
	.consultation {
		margin-top: 48px;
	}

	.consultation-wrapper {
		max-width: 100%;
		width: 100%;
		padding: 0 16px;
	}

	.consultation-plug {
		display: none;
	}

	.consultation-form {
		flex: 1 0 100%;
		gap: 24px;
		position: relative;
		border-radius: 8px;
	}

	.consultation-form-decoration {
		top: auto;
		bottom: -60px;
	}

	.consultation-form-header {
		max-width: 100%;
	}

	.consultation-form-title {
		text-align: center;
		font-size: 24px;
		line-height: 1.2;
	}

	.consultation-form-input {
		border-radius: 8px;
	}

	.consultation-form-submit-btn {
		border-radius: 8px;
	}

	.consultation-form-social-buttons {
		flex-wrap: wrap;
	}

	.consultation-form-social-button {
		gap: 4px;
		border-radius: 8px;
		padding: 10px 8px;
	}

	.consultation-form-social-button span {
		font-size: 12px;
	}
}

/* секция с партнерами */

.partners {
	overflow: hidden;
	width: 100%;
	margin-top: 100px;
}

.partners-title {
	max-width: 1316px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
	margin-bottom: 50px;
}

.partners-title-text {
	font-family: "pf_beausans_probold", sans-serif;
	font-size: 32px;
	line-height: 1.3;
}

.partners-list {
	gap: 40px;
	display: flex;
}

.partners__marquee1 {
	margin: 0 -170px;
	margin-bottom: 48px;
}

.partners-list--bottom {
	flex-direction: row-reverse;
}

.partners__marquee2 {
	margin-right: -170px;
	margin-bottom: 80px;
}

.partner-item {
	flex: 0 0 302px;
	height: 225px;
	border-radius: 16px;
	background-color: #ffffff;
	box-shadow: 0 4px 68px 0 rgba(0, 0, 0, 0.1);
	padding: 26px 55px;
}

.partner-item-image {
	width: 100%;
	height: 100%;
}

.partner-item-image img {
	object-position: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 768px) {
	.partners {
		margin-top: 48px;
	}

	.partners-title {
		max-width: 100%;
		padding: 0 16px;
		margin-bottom: 24px;
	}

	.partners-title-text {
		font-size: 24px;
	}

	.partners-list {
		gap: 16px;
	}

	.partners__marquee1 {
		margin: 0 -240px;
		margin-bottom: 16px;
	}

	.partners__marquee2 {
		margin-bottom: 48px;
	}

	.partner-item {
		flex: 0 0 141px;
		height: 104px;
		border-radius: 8px;
		padding: 12px 26px;
	}
}

/* Секция с картой */
.map {
	overflow: hidden;
	position: relative;
	z-index: 1;
	width: 100%;
	background: #d6d9db;
}

.map-container {
	max-width: 1316px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
}

.map-background {
	position: absolute;
	z-index: -1;
	top: 50%;
	right: -103px;
	transform: translateY(-50%);
	width: 1117px;
}

.map-background img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.map-content {
	max-width: 776px;
	padding: 60px 0 90px;
}

.map-title {
	font-family: 'pf_beausans_probold', sans-serif;
	font-size: 48px;
	line-height: 1.3;
	letter-spacing: -0.48px;
	text-transform: none;
	margin-bottom: 56px;
}

.map-title--gradient {
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-weight: 400;
}

.map-logo {
	width: 520px;
	height: 100px;
	margin-bottom: 56px;
	pointer-events: none;
}

.map-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.map-description {
	max-width: 600px;
	color: #151515;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: -0.36px;
	margin-bottom: 32px;
}

.map-cta-button {
	display: inline-block;
	cursor: pointer;
	white-space: nowrap;
	border: none;
	border-radius: 16px;
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	box-shadow: 0px 0px 20px 0px rgba(255, 0, 0, 0.4);
	color: #ffffff;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.18px;
	padding: 24px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.map-cta-button:hover {
	opacity: 0.8;
}

@media (max-width: 1800px) {
	.map-background {
		width: 990px;
	}
}

@media (max-width: 1600px) {
	.map-background {
		width: 940px;
	}
}

@media (max-width: 1400px) {
	.map-background {
		width: 780px;
	}
}

@media (max-width: 1200px) {
	.map-background {
		position: static;
		margin-right: -55px;
		margin-left: -25px;
		width: auto;
		transform: none;
		margin-top: 30px;
	}

	.map-content {
		padding-top: 40px;
		padding-bottom: 60px;
	}
}

@media (max-width: 768px) {
	.map-container {
		max-width: 100%;
		padding: 0 16px;
	}

	.map-title {
		font-size: 24px;
		letter-spacing: -0.24px;
		margin-bottom: 24px;
	}

	.map-logo {
		max-width: 344px;
		width: 100%;
		height: auto;
		margin-bottom: 48px;
	}

	.map-description {
		font-size: 16px;
		letter-spacing: -0.32px;
		margin-bottom: 24px;
	}

	.map-cta-button {
		min-height: 50px;
		white-space: initial;
		width: 100%;
		border-radius: 8px;
		font-size: 14px;
		letter-spacing: -0.14px;
		padding: 12px 24px;
	}

	.map {
		margin-top: 60px;
	}
}

/* бегущая строка */
.marquee {
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 118px;
	padding: 40px 0;
}

.marquee-wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
}

.marquee-inner {
	gap: 32px;
	display: flex;
	align-items: center;
	width: max-content;
	animation: marquee-scroll 30s linear infinite;
}

.marquee-container {
	gap: 32px;
	will-change: transform;
	white-space: nowrap;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	width: max-content;
}

.marquee-item {
	gap: 32px;
	display: flex;
	align-items: center;
}

.marquee-item-image {
	flex-shrink: 0;
	width: 34px;
	height: 38px;
	object-fit: contain;
}

.marquee-item-text {
	flex-shrink: 0;
	text-transform: uppercase;
	white-space: nowrap;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -0.32px;
	margin: 0;
}

@keyframes marquee-scroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 768px) {
	.marquee {
		height: 58px;
		padding: 16px 0;
	}

	.marquee-inner {
		gap: 16px;
	}

	.marquee-container {
		gap: 16px;
	}

	.marquee-item {
		gap: 16px;
	}

	.marquee-item-image {
		width: 24px;
		height: 26px;
	}

	.marquee-item-text {
		font-size: 16px;
		letter-spacing: -0.16px;
	}
}

/* заявка на консультацию */
.consultation {
	width: 100%;
	padding-bottom: 40px;
	margin-top: 80px;
}

@media (max-width: 768px) {
	.consultation {
		margin-top: 48px;
	}
}

.consultation-title {
	max-width: 1316px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
	margin-bottom: 32px;
}

.consultation-title-wrapper {
	max-width: 600px;
}

.consultation-title-text {
	font-family: "pf_beausans_probold", sans-serif;
	font-size: 32px;
	line-height: 1.3;
}

@media (max-width: 768px) {
	.consultation-title {
		padding: 0 16px;
		margin-bottom: 24px;
	}

	.consultation-title-text {
		font-size: 24px;
	}
}

.consultation-container {
	grid-template-columns: 1fr 2fr;
	gap: 26px;
	display: grid;
	max-width: 1316px;
	padding: 0 24px;
	margin: 0 auto;
}

@media (max-width: 1280px) {
	.consultation-container {
		grid-template-columns: auto;
		flex-direction: column-reverse;
		display: flex;
	}
}

@media (max-width: 768px) {
	.consultation-container {
		gap: 24px;
		padding: 0 16px;
	}
}

.consultation-card {
	overflow: hidden;
	flex-direction: column;
	gap: 32px;
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	border-radius: 16px;
	background: linear-gradient(92.8654deg, rgb(227, 50, 38) 11.809%, rgb(189, 12, 0) 78.285%);
	padding: 32px;
}

@media (max-width: 1280px) {
	.consultation-card {
		align-items: center;
	}
}

@media (max-width: 768px) {
	.consultation-card {
		padding: 32px 24px;
	}
}

.consultation-card-decoration {
	z-index: 1;
	position: absolute;
	top: 50%;
	right: -83px;
	transform: translateY(-50%);
	width: 376px;
	height: 419px;
}

@media (max-width: 768px) {
	.consultation-card-decoration {
		top: 22px;
		right: -58px;
		transform: translateY(0);
		width: 326px;
		height: 364px;
	}
}

.consultation-card-decoration img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

html body .consultation-card-title {
	flex: 1;
	z-index: 2;
	position: relative;
	color: #ffffff;
	font-size: 26px;
	line-height: 1.3;
	font-weight: 700;
}

@media (max-width: 768px) {
	html body .consultation-card-title {
		text-align: center;
		font-size: 24px;
		line-height: 1.2;
	}
}

.consultation-card-info {
	z-index: 2;
	flex-direction: column;
	gap: 4px;
	position: relative;
	display: flex;
}

@media (max-width: 768px) {
	.consultation-card-info {
		align-items: center;
	}
}

.consultation-card-number {
	white-space: nowrap;
	color: #ffffff;
	font-size: 32px;
	line-height: 1.3;
	font-weight: 700;
}

@media (max-width: 768px) {
	.consultation-card-number {
		font-size: 28px;
	}
}

.consultation-card-hours {
	white-space: nowrap;
	gap: 8px;
	position: relative;

	display: flex;
	align-items: center;
	color: #f4f2f9;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 400;
}

@media (max-width: 768px) {
	.consultation-card-hours {
		font-size: 14px;
	}
}

.consultation-card-hours::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #60c933;
}

.consultation-card-button {
	z-index: 2;
	cursor: pointer;
	width: 100%;
	border: none;
	border-radius: 16px;
	background: linear-gradient(93deg, #2b2828 17.51%, #000 78.36%);
	box-shadow: 0 0 20px 0 rgba(71, 71, 71, 0.4);
	text-align: center;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -0.32px;
	padding: 14px 20px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.consultation-card-button:hover {
	opacity: 0.8;
}

.consultation-benefits {
	flex-direction: column;
	gap: 28px;
	display: flex;
	width: 100%;
}

.consultation-benefits-cards {
	grid-template-columns: repeat(2, 1fr);
	gap: 26px;
	display: grid;
}

.consultation-benefit-card {
	flex-direction: column;
	gap: 12px;
	display: flex;
	width: 100%;
	border-radius: 16px;
	background: #f3f3f3;
	padding: 32px;
}

.consultation-benefit-title {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
}

@media (max-width: 768px) {
	.consultation-benefits {
		gap: 24px;
	}

	.consultation-benefits-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.consultation-benefit-card {
		gap: 8px;
		border-radius: 8px;
		padding: 24px;
	}

	.consultation-benefit-title {
		font-size: 20px;
	}
}

.consultation-benefit-description {
	font-size: 16px;
	line-height: 1.3;
	font-weight: 400;
}

.consultation-benefits-description {
	max-width: 652px;
	color: #373737;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
}

@media (max-width: 1280px) {
	.consultation-benefits-description {
		max-width: 100%;
	}
}

@media (max-width: 768px) {
	.consultation-benefits-description {
		font-size: 16px;
	}
}

.consultation-benefits-description--highlight {
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* баннеры */
.banners {
	width: 100%;
	margin-top: 120px;
}

@media (max-width: 768px) {
	.banners {
		margin-top: 48px;
	}
}

.banners-wrapper {
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;

	display: grid;
	max-width: 1316px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
}

@media (max-width: 1280px) {
	.banners-wrapper {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.banners-wrapper {
		padding: 0 16px;
	}
}

.banner-item {
	overflow: hidden;
	flex-direction: column;
	position: relative;

	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 500px;
	border-radius: 15px;
	background: linear-gradient(114deg, #000 3.5%, #1f0000 98.5%);

	padding: 24px 36px 36px;
}

@media (max-width: 1280px) {
	.banner-item {
		height: 400px;
		padding: 24px;
	}
}

@media (max-width: 768px) {
	.banner-item {
		height: 530px;
	}
}

.banner-item-content {
	z-index: 10;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	height: 100%;
}

@media (max-width: 768px) {
	.banner-item-content {
		flex-direction: column;
		gap: 16px;
	}
}

.banner-item-content-left {
	flex: 1;
	height: 100%;
}

@media (max-width: 768px) {
	.banner-item-content-left {
		flex: 0;
		width: 100%;
	}
}

.banner-item-content-right {
	flex: 1;
	height: 100%;
}

.banner-item-logo {
	width: 160px;
	height: 30px;
	margin-bottom: 42px;
}

@media (max-width: 768px) {
	.banner-item-logo {
		margin: 0 auto 24px;
	}
}

.banner-item-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.banner-item-title {
	color: #ffffff;
	font-size: 32px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0;
}

@media (max-width: 768px) {
	.banner-item-title {
		font-size: 24px;
	}
}

.banner-item-badges {
	flex-direction: column;
	gap: 6px;
	display: flex;
	align-items: flex-end;
	width: auto;
}

@media (max-width: 768px) {
	.banner-item-badges {
		align-items: flex-start;
	}
}

.banner-item-badge {
	backdrop-filter: blur(31.6px);
	gap: 8px;

	display: flex;
	align-items: center;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.1);
	padding: 8px 12px;
}

.banner-item-badge-image {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	object-fit: cover;
}

.banner-item-badge-text {
	white-space: nowrap;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600;
}

.banner-item-button {
	cursor: pointer;
	z-index: 10;
	width: fit-content;
	border: none;
	border-radius: 16px;
	background: linear-gradient(93deg, #e33226 11.81%, #bd0c00 78.29%);
	box-shadow: 0px 0px 20px 0px rgba(255, 0, 0, 0.4);
	color: #ffffff;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.18px;
	padding: 16px 24px;
	transition: opacity 0.3s ease;
}

@media (max-width: 768px) {
	.banner-item-button {
		width: 100%;
	}
}

.banner-item-button:hover {
	opacity: 0.8;
}

.banner-item-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.banner-item-bg img {
	object-position: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner-item-image {
	z-index: 5;
	position: absolute;
	right: -10px;
	bottom: 0;
	width: 443px;
	height: 443px;
}

@media (max-width: 768px) {
	.banner-item-image {
		right: 50%;
		bottom: 0;
		transform: translateX(50%);
		width: 343px;
		height: 343px;
	}
}

.banner-item-image img {
	object-position: center;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* карточки услуг */
.services-cards {
	width: 100%;
	margin-top: 24px;
}

.services-cards-container {
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;

	display: grid;
	max-width: 1316px;
	width: 100%;
	padding: 0 24px;
	margin: 0 auto;
}

@media (max-width: 1280px) {
	.services-cards-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.services-cards-container {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 0 16px;
	}
}

.service-card {
	flex-direction: column;
	gap: 16px;
	display: flex;
	justify-content: space-between;
	width: 100%;
	border-radius: 16px;
	background: #f3f3f3;
	padding: 22px;
}

@media (max-width: 768px) {
	.service-card {
		gap: 16px;
		padding: 24px;
	}
}

.service-card-title {
	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -0.36px;
	margin: 0;
}

.service-card-description {
	font-size: 14px;
	line-height: 1.4;
	font-weight: 400;
	letter-spacing: -0.28px;
	margin: 0;
}

/* other style */
a[data-equipments-block-spoiler-button] {
	display: none;
}

.box.box-gray {
	display: none;
}

.box.box-for-fullscreen {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.hero {
	margin-bottom: 25px;
}

.gallery25 {
	margin-top: 80px;
}

.map {
	margin-top: 100px;
}

.services-cards {
	margin-bottom: 100px;
}

.partners-title-text {
	text-transform: initial;
}

.gallery25 .title251 {
	font-size: 32px;
}

.gallery25__slider {
	overflow: hidden;
	position: relative;
	padding: 0px 26px;
	padding-bottom: 43px;
}

.gallery25__slider .swiper-button-prev-style2 {
	left: 5px;
}

.gallery25__slider .swiper-button-next-style2 {
	right: 5px;
}

.gallery25__slider .swiper-slide {
	width: auto;
}

.gallery25__slider .swiper {
	overflow: initial;
}

.gallery25-item1 {
	position: relative;
	display: block;
}

.gallery25-item1__img img {
	width: auto;
	height: 506px;
	border-radius: 16px;
}

.gallery25-item1__icon {
	z-index: 1;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	position: absolute;
	top: 38%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #fff;
	-webkit-box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);
	box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);
	padding-left: 4px;
	-webkit-transition: -webkit-box-shadow 0.3s;
	transition: -webkit-box-shadow 0.3s;
	transition: box-shadow 0.3s;
	transition:
		box-shadow 0.3s,
		-webkit-box-shadow 0.3s;
}

.gallery25-item1__icon img {
	width: 12px;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition:
		transform 0.3s,
		-webkit-transform 0.3s;
}

.gallery25-item2 {
	position: relative;
	display: block;
}

@media (hover) {
	a.gallery25-item2:hover .gallery25-item2__img img {
		transform: scale(1.05);
	}
}

.gallery25-item2__tags {
	z-index: 1;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	position: absolute;
	top: 16px;
	left: 16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.gallery25-item2__tag {
	border-radius: 300px;
	background-color: #fff;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: 600;
	padding: 8px 16px;
}

.gallery25-item2__img {
	overflow: hidden;
	border-radius: 16px;
}

.gallery25-item2__img img {
	width: auto;
	height: 506px;
	transition: transform 0.6s;
}

.swiper-pagination.swiper-pagination-style251 {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	bottom: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet {
	position: relative;
	width: 24px;
	height: 4px;
	border-radius: 0;
	background-color: #d6d9db;
	margin: 0px 4px;
	margin-top: 4px;
	opacity: 1;
	transition: width 0.3s;
}

.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	top: -2px;
	right: 0;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(143deg, #e33226 0%, #bd0c00 100%);
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet-active {
	width: 64px;
}

.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet-active::after {
	opacity: 1;
}

.gallery25 .swiper-button-prev-style2,
.gallery25 .swiper-button-next-style2 {
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff url("/landing/img/clients/arrow1.svg") center no-repeat;
	margin-top: 0;
}

.gallery25 .swiper-button-prev-style2 {
	transform: translateY(-50%) rotate(180deg);
}

.gallery25 .swiper-button-prev-style2::after,
.gallery25 .swiper-button-next-style2::after {
	display: none;
}

.gallery25__slider .swiper-button-prev-style2 {
	left: 5px;
}

.gallery25__slider .swiper-button-next-style2 {
	right: 5px;
}

.banners .banner-item-title {
	text-transform: initial;
	color: #fff;
}

@media (max-width: 1150px) {
	.gallery25-item1__img img {
		height: 400px;
	}

	.gallery25-item2__img img {
		height: 400px;
	}
}

@media (max-width: 750px) {
	.gallery25 {
		padding: 30px 0;
		margin-top: 0;
	}

	.gallery25__slider {
		padding-bottom: 25px;
	}

	.gallery25-item1__img img {
		height: 350px;
	}

	.gallery25-item1__icon {
		top: 35%;
	}

	.gallery25-item2__img img {
		height: 350px;
	}

	.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet {
		width: 12px;
	}

	.swiper-pagination.swiper-pagination-style251 .swiper-pagination-bullet-active {
		width: 12px;
	}
}

@media (hover) {
	.gallery25-item1:hover .gallery25-item1__icon {
		-webkit-box-shadow: 0 0 20px 0 rgba(189, 12, 0, 0.3);
		box-shadow: 0 0 20px 0 rgba(189, 12, 0, 0.3);
	}

	.gallery25-item1:hover .gallery25-item1__icon img {
		-webkit-transform: scale(1.25);
		-ms-transform: scale(1.25);
		transform: scale(1.25);
	}
}

body .soc-list {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

body .soc-list li {
	display: block;
	width: 48%;
	padding: 0;
	margin: 0;
}

body .soc-list li a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	outline: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background-color: #fff;
	color: #171717;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 10.5px 8px;
	text-decoration: none;
	transition: transform 0.3s;
}

body .soc-list li a i {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-right: 8px;
	margin-top: -1px;
}

.callback251-item .soc-list {
	margin-top: 30px;
	margin-bottom: 0;
}

.callback252__wrap2 .soc-list li {
	width: 48.5%;
}

.callback251-item {
	z-index: 1;
	overflow: hidden;
	position: relative;
	display: block !important;
	border-radius: 16px;
	color: #fff;
	padding: 24px;
}

.callback251-item__bg {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.callback251-item__bg img {
	-o-object-position: right top;
	object-position: right top;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.callback251-item__title {
	max-width: 260px;
	width: 100%;
	font-family: "Roboto", sans-serif;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 24px;
}

.callback251-item__subtitle {
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	margin-bottom: 26px;
}

.callback251-item .btn251 {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0;
	padding: 15.5px 10px;
}

.sitewrap1 input {
	outline: none;
	display: block;
	width: 100%;
	font-family: inherit;
	line-height: inherit;
}

.sitewrap1 textarea {
	outline: none;
	resize: none;
	display: block;
	width: 100%;
	font-family: inherit;
	line-height: inherit;
}

.faq25__form .btn252 {
	width: 100%;
	padding: 14px 10px;
}

.faq25__form .input251 {
	margin-bottom: 8px;
}

.input251 {
	outline: none;

	display: block;
	width: 100%;
	border: none;
	border-radius: 16px;
	background-color: #fff;
	color: #1a1817;
	font-family: inherit;
	font-size: 14px;
	line-height: inherit;
	padding: 15.5px 10px;
	padding-left: 24px;
	margin-bottom: 12px;
}

.callback251-item .phone-input-class {
	width: 100%;
	color: #1a1817;
	margin-bottom: 8px;
}

.callback251-item .btn252 {
	z-index: 1;
	position: relative;
	display: inline-block;
	display: block;
	border-radius: 16px;
	-webkit-box-shadow: 0 0 20px 0 rgba(255, 0, 0, 0.4);
	box-shadow: 0 0 20px 0 rgba(255, 0, 0, 0.4);
	text-align: center;
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-size: 20px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.02em;
	padding: 16px 24px;
	padding: 14px 10px;
}

.callback251-item .btn252::after {
	z-index: -2;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 16px;
	background: linear-gradient(143deg, #e33226 0%, #bd0c00 100%);
	opacity: 1;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.callback251-item .btn252::before {
	z-index: -1;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 16px;
	background: linear-gradient(143deg, #bd0c00 0%, #e33226 100%);
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

input.input-checkbox251:not(:checked) ~ .form-checkbox .label-checkbox251__icon {
	opacity: 0;
}

.label-checkbox251 {
	cursor: pointer;
	position: relative;
	display: inline-block;
	max-width: 340px;
	width: 100%;
	padding-left: 36px;
	margin-top: 12px;
}

.label-checkbox251__icon-wrap {
	position: absolute;
	top: -4px;
	left: 0;
	width: 25px;
	height: 25px;
	border: 1px solid transparent;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.2);
}

.label-checkbox251__icon {
	position: absolute;
	top: 7px;
	left: 6px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 12px;
	opacity: 1;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.label-checkbox251__text {
	display: block;
	color: rgba(255, 255, 255, 0.7);
	font-family: "Roboto", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 500;
}

.label-checkbox251__text a {
	color: rgba(255, 255, 255, 0.7);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: transparent;
	-webkit-transition: -webkit-text-decoration 0.3s;
	transition: -webkit-text-decoration 0.3s;
	transition: text-decoration 0.3s;
}

@media (max-width: 750px) {
	.callback251-item .btn252 {
		font-size: 18px;
	}

	.callback252__wrap2 .soc-list li {
		width: 100%;
		margin-bottom: 5px;
	}

	.callback252__wrap2 .soc-list li:last-child {
		margin-bottom: 0;
	}

	.callback252__wrap2 .soc-list li a {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

@media (hover) {
	.callback251-item .btn252:hover::before {
		opacity: 1;
	}

	.label-checkbox251__text a:hover {
		text-decoration-color: rgba(255, 255, 255, 0.7);
	}

	body .soc-list li a:hover {
		transform: translateY(1px);
	}
}

.callback252 {
	position: relative;
	z-index: 1;
	padding-top: 40px;
	color: #fff;
	margin-bottom: 110px;
}

.callback252 img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.callback252 .title251 {
	max-width: 845px;
	width: 100%;
	font-size: 39px;
}

.callback252__bg1 {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.callback252__bg1 img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	border-radius: 16px;
}

.callback252__bg2 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 230px;
}

.callback252__bg2 img {
	border-radius: 0 0 0 16px;
}

.callback252__bg3 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 234px;
}

.callback252__bg3 img {
	border-radius: 0 0 16px 0;
}

.callback252__container {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-right: 420px;
	padding-bottom: 35px;
}

.callback252__wrap1 {
	width: 55.3%;
	border-radius: 16px;
	padding: 24px;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	background-color: rgba(0, 0, 0, 0.2);
}

.callback252__text1 {
	position: absolute;
	bottom: 16px;
	left: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	font-weight: 500;
}

.callback252__title1 {
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 35px;
}

.callback252__form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.callback252__form .input251,
.callback252__form .phone-input-class
{
	width: 49%;
}

.callback252__form .btn252 {
	display: block;
	width: 100%;
	padding: 14px 10px;
}

.callback252__wrap2 {
	width: 42.8%;
	padding: 24px;
	border-radius: 16px;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	background-color: rgba(0, 0, 0, 0.2);
}

.callback252__wrap2 .soc-list li {
	width: 48.5%;
}

.callback252__title2 {
	max-width: 225px;
	width: 100%;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 37px;
}

.callback252__tel {
	display: inline-block;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-size: 26px;
	color: #fff;
	text-decoration: none;
	margin-bottom: 2px;
}

.callback252__tel-text {
	font-family: "Roboto", sans-serif;
	color: rgba(255, 255, 255, 0.5);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	margin-bottom: 37px;
}

.callback252__img {
	position: absolute;
	z-index: -1;
	bottom: 0;
	right: -89px;
	width: 424px;
}

.callback252__wrap3 {
	max-width: 750px;
	width: 100%;
}

.callback252--dark {
	margin-top: 110px;
}

.callback252 .callback252__title3 {
	max-width: 580px;
	font-size: 32px;
	margin-bottom: 11px;
}

.callback252__subtitle {
	max-width: 580px;
	width: 100%;
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 40px;
}

.callback252__list-wrap {
	max-width: 747px;
	width: 100%;
}

.callback252__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 67px;
}

.callback252-item {
	padding: 24px;
	backdrop-filter: blur(20px);
	background-color: rgba(0, 0, 0, 0.2);
	width: calc(51.5% - 12px);
	border-radius: 16px;
	font-family: "Roboto", sans-serif;
}

.callback252-item:nth-child(2) {
	width: calc(48.6% - 12px);
	background-color: rgba(0, 0, 0, 0.4);
}

.callback252-item__price {
	display: inline-block;
	font-weight: 600;
	font-size: 48px;
	line-height: 1.3;
	margin-bottom: 4px;
}

.callback252-item__price--icon {
	position: relative;
	padding-left: 60px;
}

.callback252-item__price-icon {
	position: absolute;
	top: -9px;
	left: 0;
	width: 48px;
}

.callback252-item__sale {
	position: absolute;
	top: -11px;
	right: -57px;
	font-weight: 600;
	font-size: 16px;
	background-color: #1a1817;
	padding: 8px 16px;
	border-radius: 300px;
}

.callback252__text2 {
	max-width: 590px;
	width: 100%;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
}

body .title251 {
	font-weight: 700;
	font-size: 40px;
	line-height: 1.2;
	margin-bottom: 40px;
}













@media (max-width: 1300px) {
	.callback252__container {
		padding-right: 310px;
	}

	.callback252__img {
		right: -69px;
		width: 500px;
	}
}

@media (max-width: 1150px) {
	.callback252--dark {
		margin-top: 60px;
	}

	.callback252 .title251 {
		font-size: 30px;
	}

	.callback252__container {
		padding-right: 0;
	}

	.callback252__wrap1 {
		width: 100%;
		margin-bottom: 10px;
	}

	.callback252__text1 {
		position: static;
		margin-bottom: 30px;
	}

	.callback252__wrap2 {
		width: 100%;
	}

	.callback252__img {
		position: static;
		margin-left: auto;
		margin-right: auto;
		max-width: 500px;
		width: 100%;
		margin-top: 30px;
	}

	.callback252 {
		margin-bottom: 40px;
	}
}

@media (max-width: 750px) {
	body .title251 {
		font-size: 26px !important;
		margin-bottom: 24px !important;
	}

	.callback252__subtitle {
		font-size: 16px;
	}

	.callback252__list {
		margin-bottom: 30px;
	}

	.callback252-item__sale {
		padding: 6px 13px;
	}

	.callback252-item__price-icon {
		width: 36px;
	}

	.callback252-item {
		width: 100%;
	}

	.callback252-item:nth-child(2) {
		width: 100%;
		margin-top: 15px;
	}

	.callback252-item__price {
		font-size: 38px;
		padding-left: 40px;
	}

	.callback252-item__price-icon {
		top: -7px;
	}

	.callback252 {
		padding-top: 30px;
	}

	.callback252__container {
		padding-bottom: 30px;
	}

	.callback252__form .input251,
	.callback252__form .phone-input-class
	{
		width: 100%;
	}

	.callback252__wrap2 .soc-list li {
		width: 100%;
		margin-bottom: 5px;
	}

	.callback252__wrap2 .soc-list li:last-child {
		margin-bottom: 0;
	}

	.callback252__wrap2 .soc-list li a {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

body .btn252 {
	position: relative;
	z-index: 1;
	display: inline-block;
	font-family: "Roboto", sans-serif;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: -0.02em;
	-webkit-box-shadow: 0 0 20px 0 rgba(71, 71, 71, 0.4);
	box-shadow: 0 0 20px 0 rgba(71, 71, 71, 0.4);
	background: linear-gradient(146deg, #2b2828 0%, #000 100%);
	border-radius: 16px;
	padding: 14px 40px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

body .btn252.preload {
	color: transparent !important;
}

body .btn252.preload .btn252__preload {
	opacity: 1;
}

.btn252__preload {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: url(../img/loading2.gif) center / contain no-repeat;
	filter: invert(1);
	opacity: 0;
	transition: opacity 0.3s;
}

body .btn252::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(146deg, #2b2828 0%, #000 100%);
	border-radius: 16px;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

body .btn252::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ccc;
	border-radius: 16px;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

input.input-checkbox251 {
	display: none;
}

input.input-checkbox251:not(:checked)~.form-checkbox .btn252 {
	color: #1a1817;
	pointer-events: none;
}

input.input-checkbox251:not(:checked)~.form-checkbox .btn252::before {
	opacity: 1;
}

@media (hover) {
	body .btn252:hover::after {
		opacity: 1;
	}
}