:root {
	--main-color: #304E42;
	--hover-color: #12241d;
}
html, body
{
	margin:0;
	padding:0;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	color: var(--main-color);
	line-height: 1.2;
    background: #FBFBFB;
}
img {
	max-width: 100%;
}
a img, a
{
	border:none;
	outline:none;
}

a {
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: var(--main-color);
	text-decoration: none;
}
a:hover {
	color: var(--hover-color);
}
a:active {
	color: var(--hover-color);
}
a:focus {
	color: var(--hover-color);
}

.inter {
	font-family: "Inter", sans-serif;
	font-weight: 700;
}

.clear
{
	clear:both;
	visibility: hidden;
	height:0px;
	overflow: hidden;
}

.container {
	padding-left: 15px;
	padding-right: 15px;
}
.row {
	margin-left: -15px;
	margin-right: -15px;
}
.row>* {
	padding-left: 15px;
	padding-right: 15px;
}
.mt-4 {
	margin-top: 60px !important;
}
.adm-abs {
	position: absolute;
	top: -10px;
}
.ovh {
	overflow: hidden;
}
.wrapper {
	width: 100%;
	min-height: 100vh;
	-webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
}

.navbar-toggler {
	border-color: var(--hover-color);
	padding: 0.25rem 0.5rem;
}
.navbar-toggler:focus {
	box-shadow: none;
	outline: 2px solid var(--hover-color);
}
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23304E42' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	width: 1.2em;
	height: 1.2em;
}

/* Стили шапки */
.menu-fixed {
	background: #FBFBFB;
}
.navbar-custom {
	padding-top: 15px;
	padding-bottom: 15px;
}
.navbar-brand {
	margin-right: 15px;
}
/* Ссылки в меню */
.nav-link {
	color: var(--main-color);
	font-size: 16px;
	margin-right: 30px;
	text-align: center;
}
.nav-link:hover {
	color: var(--hover-color);
}
.nav-link:active {
	color: var(--hover-color);
}
.nav-link:focus {
	color: var(--hover-color);
}
@media (max-width: 1199.98px) {
	.nav-link {
		margin-right: 10px;
	}
}
.my-dropdown.dropdown-toggle::after {
	display: inline-block;
	margin-left: .255em;
	vertical-align: middle;
	content: "";
	width: 16px;
	height: 16px;
	background: url("/images/arr_b.svg") 5px 6px no-repeat;
	border: 1px solid #D9D9D9;
	border-radius: 50%;
	position: relative;
	transition: all 0.3s;
}
.my-dropdown.dropdown-toggle:hover::after {
	border: 1px solid var(--hover-color);
}
/* Телефон */
.phone-link {
	margin-right: 15px;
	white-space: nowrap;
}
/* Кнопка "Написать" */
.btn-whatsapp {
	border: 1px solid var(--main-color);
	color: var(--main-color);
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	gap: 8px; /* Отступ между иконкой и текстом */
	padding: 8px 20px;
	border-radius: 0;
	transition: all 0.3s;
}
.btn-whatsapp:hover, .btn-whatsapp:active, .btn-whatsapp:focus {
	border: 1px solid var(--hover-color);
	color: var(--hover-color);
}
.header-contacts {
	display: flex;
	align-items: center;
	gap: 15px; /* Отступ между телефоном и кнопкой */
}
/* Двухколоночное выпадающее меню (Mega Menu) */
.services-menu .dropdown-menu {
	width: 550px;
	left: -210px;
	padding: 15px;
	border: none;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.services-menu .dropdown-menu .nav-link {
	margin-right: 0;
	font-size: 14px;
	text-align: left;
}

@media (max-width: 991px) {
	.services-menu .dropdown-menu {
		width: 100%;
		left: 0;
		padding-left: 10px;
		padding-right: 10px;
		background: none;
	}
	.services-menu .dropdown-menu.show {
		border-bottom: 1px solid #FFF4E0;
		padding-top: 0;
		padding-bottom: 0;
	}
	.services-menu .dropdown-menu.show ul {
		margin-bottom: 0;
	}
}
@media (max-width: 767px) {
	.navbar-brand {
		margin-right: 5px;
	}
	.header-contacts {
		gap: 5px;
	}
	.phone-link {
		font-size: 13px;
	}
	.btn-whatsapp span {
		display: none;
	}
	.btn-whatsapp {
		border: none;
		padding: 0;
	}
}

/* Стили для логотипа (заглушка, если нет картинки) */
.navbar-brand img {
	max-height: 50px; /* Ограничение высоты лого */
	width: auto;
}


.wa-a {
	position: relative;
	display: inline-block;
	height: 34px;
	padding: 4px 16px;
	font-size: 20px;
	border-radius: 8px;
	background: linear-gradient(45deg, #0DAB22, #40C351);
	transition: all	0.3s ease 0s;
}
.wa-a:hover {
	background: linear-gradient(45deg, #40C351, #40C351);
}
.wa-a:active {
	background: linear-gradient(45deg, #40C351, #40C351);
}
.wa-a img {
	width: 24px;
}
.waa-a {
	height: 30px;
	padding: 2px 10px;
	font-size: 18px;
}
.waa-a img {
	width: 20px;
}

#content {
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: auto;
	max-width: 100%;
	padding-top: 82px;
}

@media (max-width: 364px) {
	#content {
		padding-top: 116px;
	}
}

h1, .h1 {
	font-weight: 500;
	font-size: 48px;
	margin: 10px 0 25px 0;
	color: #262F26;
	line-height: 1;
	letter-spacing: -4%;
}
.title-main {
	font-weight: 500;
	font-size: 36px;
	margin: 10px 0 25px 0;
	color: #262F26;
	line-height: 1;
	letter-spacing: -4%;
}

@media (max-width: 991px) {
	h1, .h1 {
		font-size: 32px;
	}
	.title-main {
		font-size: 24px;
	}
}

.ind-title-fon {
	padding-top: 100px;
	padding-bottom: 100px;
	min-height: 530px;
	background: #F2F2F2 url("/images/indexfon2.png") right bottom no-repeat;
}

@media (max-width: 1100px) {
	.ind-title-fon {
		min-height: 470px;
	}
}
@media (max-width: 991px) {
	.ind-title-fon {
		min-height: 470px;
	}
}
@media (max-width: 767px) {
	.ind-title-fon {
		min-height: 300px;
		padding-top: 70px;
		background: #F2F2F2 url("/images/indexfon2.png") left 50px no-repeat;
	}
}

.mt-40 {
	margin-top: 40px;
}
.shadow-t-w {
	text-shadow: 1px 1px 2px #fff;
}
.btn1 {
	display: inline-block;
	background: var(--main-color);
	padding: 10px 30px;
	color: #fff;
	transition: all	0.3s ease 0s;
}
.btn1:hover, .btn1:active, .btn1:focus {
	color: #fff;
	background: var(--hover-color);
}

.title-pre {
	font-size: 13px;
	font-weight: 500;
	color: #AEAEAE;
}

/* CATALOGS */
.service-item {
	background-color: #fff;
	border: 1px solid #E4E4E4;
	padding: 20px 20px;
	margin-bottom: 15px;
}
.service-icon-wrapper {
	width: 60px;
	height: 60px;
	background-color: var(--main-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	margin-right: 80px;
}
.service-icon-wrapper img {
	width: 25px;
}
.service-title {
	font-size: 24px;
	font-weight: 500;
	color: #393939;
	margin-bottom: 10px;
}
.service-description {
	margin-bottom: 0;
}
.btn2 {
	display: inline-block;
	border: 1px solid rgba(48, 78, 66, 0.5);
	padding: 10px 30px;
	color: var(--main-color);
	transition: all	0.3s ease 0s;
}
.btn2:hover, .btn2:active, .btn2:focus {
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
}
.service-number {
	font-size: 15px;
	color: rgba(48, 78, 66, 0.5);
	margin-left: 30px;
	flex-shrink: 0;
	text-align: right;
}
.service-number span {
	color: var(--main-color); /* Акцентный цвет для текущего номера */
}
@media (max-width: 991px) {
	.service-icon-wrapper {
		margin-right: 30px;
	}
}
@media (max-width: 767px) {
	.service-icon-wrapper {
		width: 50px;
		height: 50px;
	}
	.service-title {
		margin-bottom: 0;
	}
	.sibur-img {
		width: 105px;
	}
	.service-number-block {
		width: 100%;
		margin-top: 5px;
	}
	.service-number {
		width: 100%;
		margin-left: 0;
	}
}

.gr-block {
	background: #F2F2F2;
	margin-top: 60px;
	padding: 50px 0;
}
/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.achievement-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* 5 колонок */
	gap: 0; /* Важно: убираем отступы */
	/* 1. Контейнер рисует только ВЕРХНЮЮ и ЛЕВУЮ линии */
	border-top: 1px solid #E3E3E3;
	border-left: 1px solid #E3E3E3;
	/* Фон контейнера прозрачный, чтобы пустое место было как сайт */
	background-color: transparent;
}
.achievement-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 30px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	position: relative;
	overflow: hidden;
}
.achievement-number {
	font-size: 40px;
	font-weight: 500;
	line-height: 1;
	color: #000;
	margin-bottom: 25px;
}
.achievement-number span {
	font-size: 16px;
	margin-left: 3px;
}
.achievement-item.rub-fone {
	background: #304E42;
}
.achievement-item.rub-fone .achievement-number,
.achievement-item.rub-fone .achievement-text {
	color: #f2f2f2;
}
.achievement-rub {
	position: absolute;
	right: 0;
	font-size: 150px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.05);
	line-height: 1;
	bottom: -21px;
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 1199.98px) {
	.achievement-grid {
		grid-template-columns: repeat(4, 1fr); /* 4 колонки */
	}
}
@media (max-width: 991.98px) {
	.achievement-grid {
		grid-template-columns: repeat(3, 1fr); /* 3 колонки */
	}
}
@media (max-width: 767px) {
	.achievement-grid {
		grid-template-columns: repeat(2, 1fr); /* 2 колонки */
	}
}
@media (max-width: 575.98px) {
	.achievement-grid {
		grid-template-columns: 1fr; /* 1 колонка */
	}
}

/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.benefits-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
}
.benefits-title {
	font-size: 24px;
	font-weight: 500;
	color: #262F26;
	margin-bottom: 10px;
	min-height: 58px;
}
/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 1199.98px) {
	.benefits-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 991.98px) {
	.benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 575.98px) {
	.benefits-grid {
		grid-template-columns: 1fr;
	}
}


.lid-block {
	min-height: 652px;
	background: url("/images/lid_fon.jpg") center center no-repeat;
	background-size: cover;
	padding-top: 340px;
}
.whb {
	background: #fff;
	padding: 30px 30px;
}
.form-title {
	font-size: 36px;
	font-weight: 500;
	margin-bottom: 25px;
	line-height: 1;
	letter-spacing: -4%;
}
.btn3 {
	background: var(--main-color);
	color: #fff;
	font-weight: 400;
	font-size: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px; /* Отступ между иконкой и текстом */
	padding: 10px 30px;
	border-radius: 0;
	transition: all 0.3s;
	border: none;
}
.btn3:hover, .btn3:active, .btn3:focus {
	background: var(--hover-color);
	color: #fff;
}
@media (max-width: 991px) {
	.form-title {
		font-size: 28px;
	}
}
@media (max-width: 767px) {
	.lid-block {
		padding-top: 140px;
	}
	.form-img {
		margin-top: 20px;
	}
}

.gr-block2 {
	background: #F2F2F2;
	padding: 50px 0 50px 0;
}
.dop-preim-title {
	margin-bottom: 0;
}
@media (max-width: 991px) {
	.dop-preim-title {
		font-size: 18px;
	}
}

.lid-block2 {
	min-height: 629px;
	background: url("/images/fon2.jpg") center center no-repeat;
	background-size: cover;
	padding-top: 135px;
}
.whb2 {
	background: #fff;
	padding: 30px 30px;
}
.form-title2 {
	font-size: 36px;
	font-weight: 500;
	margin-bottom: 25px;
	line-height: 1;
	letter-spacing: -4%;
}
@media (max-width: 991px) {
	.form-title2 {
		font-size: 28px;
	}
}
.form-mt-1 {
	margin-top: 5px;
	margin-bottom: 15px;
}
.form-check-input {
	outline: none !important;
	box-shadow: none !important;
}
.default-input {
	outline: none !important;
	height: 37px;
	border-radius: 0;
	font-size: 14px;
	background: #F2F2F2;
	border: 1px solid #E4E4E4;
	color: rgba(48, 78, 66, 1);
}
.default-input:focus {
	outline: none !important;
	height: 37px;
	border-radius: 0;
	font-size: 14px;
	background: #F2F2F2;
	border: 1px solid #E4E4E4;
	color: rgba(48, 78, 66, 1);
	box-shadow: none;
}
.default-input::placeholder {
	color: rgba(48, 78, 66, 0.5);
	opacity: 1; /* Обязательно для сброса opacity, которое по умолчанию устанавливает Firefox */
}
/* 1. Для Firefox */
.default-input:-moz-placeholder {
	color: rgba(48, 78, 66, 0.5);
	opacity: 1;
}
/* 2. Для Internet Explorer */
.default-input:-ms-input-placeholder {
	color: rgba(48, 78, 66, 0.5);
}
/* 3. Для Microsoft Edge (иногда используется) */
.default-input::-ms-input-placeholder {
	color: rgba(48, 78, 66, 0.5);
}
.form-check-label {
	color: rgba(48, 78, 66, 0.5);
	font-size: 12px;
}
.has-error .default-input {
	border-color: red;
}
.has-error .form-check-input {
	border-color: red;
}
.link-spec {
	font-size: 14px;
	font-weight: 500;
	color: #393939;
	text-decoration: underline;
}
.link-spec:hover {
	text-decoration: none;
}
.mt25 {
	margin-top: 25px;
}
@media (max-width: 500px) {
	.lid-block2 {
		padding-top: 30px;
	}
}


#oneSlider .carousel-inner {
	border-radius: 15px;
}
#oneSlider .slider-img {
	border-radius: 15px;
}

.fancybox-block {
	max-width: 100%;
	width: 500px;
	padding: 30px 10px;
}
.fancybox-block2 {
	max-width: 100%;
	width: 700px;
	padding: 30px 10px;
}

.ff-h1 {
	font-size: 38px;
}
.ff-h2 {
	font-size: 28px;
	margin-bottom: 25px;
}

/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.bonus-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.bonus-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
	min-height: 190px;
}
.bonus-title {
	font-size: 24px;
	font-weight: 500;
	color: #262F26;
	margin-bottom: 0;
}
.number-icon {
	width: 36px;
	height: 36px;
	background-color: #3B574C;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	margin-right: 30px;
	color: #fff;
	font-size: 16px;
}
.bonus-text {
	margin-top: 15px;
}
.bonus-text p {
	margin: 0;
}
/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 1199.98px) {
	.bonus-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 991.98px) {
	.bonus-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.bonus-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575.98px) {
	.bonus-grid {
		grid-template-columns: 1fr;
	}
}


#faqAccordion .accordion-button::after {
	content: "";
	/* Размеры и расположение */
	width: 40px;
	height: 40px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	/* Обводка */
	border: 1px solid #D9D9D9;
	border-radius: 50%;
	/* Вставляем иконку (вместо content) */
	background: url("/images/arr_b2.png") center center no-repeat; /* Стрелка вниз */
	background-size: 10px 5px; /* Размер стрелки */
	/* Плавный переход для поворота */
	transition: transform 0.3s ease-in-out;
}
/* 3. Состояние ТИРЕ (когда аккордеон открыт) */
#faqAccordion .accordion-button:not(.collapsed)::after {
	transform: translateY(-50%) rotate(-180deg);
}
/* 4. Стилизация для соответствия изображению (необязательно, но рекомендуется) */
#faqAccordion .accordion-item {
	border: 1px solid #E4E4E4;
	background: #fff;
	transition: all	0.3s ease 0s;
	border-radius: 0; /* Скругление углов */
	overflow: hidden;
	margin-bottom: 5px;
}
#faqAccordion .accordion-button {
	/* Обнуляем стандартный фон и тени, чтобы кнопка выглядела чистой */
	background-color: transparent !important;
	box-shadow: none !important;
	border: none;
	padding: 30px 30px;
	position: relative;
	padding-right: 70px; /* Добавляем место для круглой кнопки справа */
	color: #262F26;
	font-weight: 500;
	font-size: 24px;
}
@media (max-width: 991px) {
	#faqAccordion .accordion-button {
		font-size: 18px;
	}
}
#faqAccordion .accordion-button:focus {
	box-shadow: none !important;
}
#faqAccordion .accordion-body {
	padding: 0 70px 20px 30px; /* Убираем лишний отступ сверху */
	background-color: #fff; /* Светло-серый фон для тела */
	font-size: 16px;
	color: var(--main-color);
}

.main-footer {
	 background: #3B574C;
	 padding: 50px 0 20px;
 }

/* Стили для логотипа в подвале */
.footer-logo-img {
	max-height: 50px; /* Размер логотипа */
}
.footter-logo-text {
	color: #fff;
	margin-top: 15px;
}
/* Заголовки колонок */
.footer-heading {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 30px;
	color: #fff;
}

/* Ссылки в навигации и услугах */
.footer-links {
	padding-left: 0; /* Убираем стандартные отступы ul */
}
.footer-links li {
	margin-bottom: 5px;
}
.footer-links a {
	color: #fff;
}
.footer-links a:hover {
	color: #fff;
	text-decoration: underline;
}
footer a:hover, footer a:active {
	color: #fff
}
/* Контакты */
.footer-contact-info {
	color: #fff;
	font-style: normal; /* Сброс курсива для <address> */
}
.mb5 {
	margin-bottom: 5px;
}
.footer-contact-info a {
	color: #fff;
	font-style: normal; /* Сброс курсива для <address> */
	font-weight: 600;
}
.footer-contact-info a:hover {
	text-decoration: underline;
}

/* Иконки соцсетей */
.social-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	background: #fff;
	text-decoration: none;
}

.footer-legal {
	font-size: 12px;
	color: #fff;
	margin-bottom: 0;
}

/* --- Адаптивность (Bootstrap классы уже справляются) --- */

/* На мобильных устройствах текст будет выравниваться по левому краю по умолчанию */
@media (max-width: 767.98px) {
	.footer-bottom .col-md-6:last-child {
		text-align: left !important; /* Отменяем text-md-end */
		margin-top: 0.5rem;
	}
}


.service-image-a {
	width: 200px;
	max-height: 170px;
	margin-bottom: 10px;
	text-align: center;
	vertical-align: bottom;
}
.service-image-a img {
	max-width: 100%;
	max-height: 170px;
	vertical-align: bottom;
}
.yvid iframe {
	max-width: 100% !important;
}

.cook-block {
	position: fixed;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.6);
	padding: 5px 18px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	opacity:1;
	visibility: visible;
	transition: all 0.3s linear;
	z-index: 100;
	line-height: 1;
}
.cook-block._hide {
	opacity:0;
	visibility: hidden;
	transition: all 0.3s linear;
}
.cook-a:hover {
	color: #fff;
}
.cook-a {
	text-decoration: none;
	display: inline-block;
	border: 2px solid #fff;
	font-size: 14px;
	color: #fff;
	border-radius: 4px;
	padding: 4px 8px;
}



#hCarousel, .custom-carousel-inner, .custom-carousel-inner .carousel-item {
	height: 529px; /* Устанавливаем высоту слайдера */
}
/* Обертка для изображения и оверлея */
.carousel-image-overlay {
	height: 100%;
	width: 100%;
	position: relative; /* Для позиционирования оверлея */
	overflow: hidden; /* Обрезаем изображение, если оно слишком большое */
}
/* Стилизация самого изображения */
.carousel-image-overlay img {
	object-fit: cover; /* Важно: изображение будет покрывать всю область, обрезаясь при необходимости */
	object-position: center center; /* Центрируем изображение */
	height: 100%; /* Занимаем 100% высоты родителя */
	/* width: 100%; уже есть через d-block w-100 */
}
/* Темный оверлей для читаемости (через псевдоэлемент на обертке) */
.carousel-image-overlay::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background-color: rgba(0, 0, 0, 0.4); Темно-серый полупрозрачный цвет */
	z-index: 2;
}
/* --- 2. СТАТИЧЕСКИЙ ОВЕРЛЕЙ КОНТЕНТА --- */
.static-content-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
}
/* Сброс pointer-events для интерактивных элементов */
.static-content-overlay a, .static-content-overlay button {
	pointer-events: auto;
}
.static-caption {
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
	pointer-events: none;
	padding-right: 100px;
}
.h1-serv {
	font-size: 48px;
	color: #fff;
	font-weight: 500;
	pointer-events: auto;
}
.serv-text1 {
	font-size: 16px;
	color: #fff;
	font-weight: 400;
	pointer-events: auto;
	margin-bottom: 32px;
}
.btn4 {
	display: inline-block;
	background: #fff;
	color: #393939;
	padding: 10px 30px;
	transition: all	0.3s ease 0s;
	text-shadow: none;
	height: 40px;
}
.btn4:hover, .btn4:active, .btn4:focus {
	color: #393939;
}
.pb30 {
	padding-bottom: 30px;
}
/* --- 3. Стилизация навигации (Стрелки) --- */
#hCarousel .carousel-controls-container {
	position: absolute;
	bottom: 26px;
	right: 0;
	z-index: 11;
	pointer-events: auto;
	height: 40px;
}
#jCarousel .carousel-controls-container {
	position: absolute;
	bottom: 25px;
	left: 0;
	z-index: 11;
	pointer-events: none;
	height: 40px;
	width: 100%;
}
#jCarousel .carousel-controls-container a {
	z-index: 12;
	pointer-events: auto;
}
.slider-lup {
	transition: all 0.5s ease 0s;
	opacity: 0;
	position: absolute;
	right: 5px;
	top: 5px;
	width: 60px;
}
.carousel-item:hover .slider-lup {
	opacity: 1;
	
}

.carousel-indicators-custom {
    flex-wrap: wrap; 
    justify-content: center; /* Центрируем точки в рядах */
    margin-bottom: 1rem;     /* Отступ снизу */
    padding: 0 15px;         /* Боковые отступы, чтобы не прилипали к краям */
}

.carousel-indicators .carousel-pagin-custom {
    width: 10px;        /* Ширина точки */
    height: 10px;       /* Высота точки */
    border-radius: 50%; /* Закругление */
    margin: 5px;
    border: none;       /* Убираем рамку */
    opacity: 0.5;
    transition: opacity 0.3s ease;
}
.carousel-indicators .carousel-pagin-custom.active {
    opacity: 1;
}
.carousel-control-prev.custom-control {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: #fff url("/images/arr_l.png") center center no-repeat;
	position: static;
	opacity: 1;
}
.carousel-control-next.custom-control {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: #fff url("/images/arr_r.png") center center no-repeat;
	margin-left: 5px;
	position: static;
	opacity: 1;
}
#jCarousel .carousel-control-prev {
	position: absolute;
	left: 15px;
}
#jCarousel .carousel-control-next {
	position: absolute;
	right: 15px;
	margin-left: 0;
}
/* Устанавливаем фиксированную высоту для контейнера слайдов */
#jCarousel .carousel-inner .carousel-item {
    height: 470px; /* Укажите нужную вам высоту */
    background-color: #f8f9fa; /* Цвет фона для пустого места */
	position: relative;
}

/* Центрируем изображение внутри блока */
#jCarousel .carousel-inner .carousel-item .job-slider-img {
    height: 100%;
    width: auto;      /* Сохраняем пропорции */
    margin: 0 auto;   /* Центрируем по горизонтали */
    object-fit: cover; /* Изображение вписывается целиком, не обрезаясь */
}
.video-block {
	position: relative;
}
.play-btn {
	display: inline-block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: url('/images/play.png') center center no-repeat;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -24px;
	margin-left: -24px;
	transition: all	0.3s ease 0s;
}
.play-btn:hover, .video-block:hover .play-btn {
	
}
.play-btn:active, .video-block:active .play-btn {
	
}
/* Сужаем область клика до 10% от ширины окна (вместо стандартных 40-50%) */
.fancybox-nav {
    width: 50px !important; /* Устанавливаем фиксированную узкую ширину */
}

/* Сдвигаем левую стрелку, чтобы она была видна в узкой области */
.fancybox-prev {
    left: 0;
}

/* Сдвигаем правую стрелку */
.fancybox-next {
    right: 0;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 767.98px) {
	#hCarousel, .custom-carousel-inner, .custom-carousel-inner .carousel-item {
		height: 400px;
	}
	#hCarousel .carousel-controls-container {
		right: 0;
		bottom: 30px;
	}
	.static-caption h1 {
		font-size: 2rem;
	}
}
@media (max-width: 575.98px) {
	#hCarousel .carousel-controls-container {
		right: 15px;
		bottom: 30px;
	}
}


@media (max-width: 767px) {
	.adapt-block-m {
		margin-top: 20px;
	}
}

.serv-fon1 {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 70px 0 100px 0;
}
@media (max-width: 767px) {
	.serv-fon1 {
		padding: 0 0 50px 0;
	}
}

.whtext div {
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.pt30 {
	padding-top: 30px;
}

/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.servpreim-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.servpreim-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
	min-height: 222px;
}
.servpreim-title {
	font-size: 24px;
	font-weight: 500;
	color: #262F26;
}
.servpreim-text {
	margin-top: 15px;
}
.servpreim-text p {
	margin: 0;
}
@media (max-width: 991px) {
	.servpreim-title {
		font-size: 20px;
		word-wrap: break-word;
	}
}
@media (max-width: 767px) {
	.servpreim-grid {
		grid-template-columns: 1fr;
	}
	.servpreim-item {
		min-height: 130px;
	}
}
@media (max-width: 575.98px) {
	.servpreim-grid {
		grid-template-columns: 1fr;
	}
}


/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.serviceworths-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.serviceworths-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
	min-height: 236px;
}
.serviceworths-image {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.serviceworths-number-icon {
	width: 36px;
	height: 36px;
	background-color: #3B574C;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	margin-right: 30px;
	color: #fff;
	font-size: 16px;
}
.serviceworths-text {
	margin-top: 15px;
	font-size: 22px;
	font-weight: 500;
	color: #393939;
}
.serviceworths-text p {
	margin: 0;
}
/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 1199.98px) {
	.serviceworths-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 991.98px) {
	.serviceworths-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.serviceworths-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575.98px) {
	.serviceworths-grid {
		grid-template-columns: 1fr;
	}
}


/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.serviceprices-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.serviceprices-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
	min-height: 146px;
}
.serviceprices-title {
	font-size: 20px;
	font-weight: 500;
	color: #393939;
}
/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 1199.98px) {
	.serviceprices-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (max-width: 991.98px) {
	.serviceprices-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.serviceprices-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575.98px) {
	.serviceprices-grid {
		grid-template-columns: 1fr;
	}
}

.serv-images-block {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap; /* Разрешает элементам переноситься на новую строку */
	gap: 15px; /* Отступы между элементами */
}
.serv-image-a {
	/* Определение ширины ячейки: 6 колонок = (100% / 6) - (промежуток)
       Используем calc() для точного расчета ширины, учитывая gap.
       Здесь 15px - это 5 * 15px/6. Упростим расчет. */

	/* Ширина для 6 колонок (около 16.66%): */
	width: calc(16.666% - 13px);
	display: block;
	overflow: hidden;
	position: relative;
	/* Соотношение сторон (1:1): Фиксируем высоту относительно ширины */
	padding-bottom: 10.666%;
}
.serv-image-img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	/* СВОЙСТВО object-fit: cover */
	object-fit: cover;
	transition: transform 0.3s ease-in-out;
}
.serv-image-a:hover .serv-image-img {
	transform: scale(1.05);
}
/* Планшеты (до 992px): 4 колонки (25%) */
@media (max-width: 991.98px) {
	.serv-image-a {
		width: calc(25% - 11.25px); /* (100% / 4) - (3 * 15px / 4) */
		padding-bottom: 17%;
	}
}
/* Маленькие планшеты (до 768px): 3 колонки (33.33%) */
@media (max-width: 767.98px) {
	.serv-image-a {
		width: calc(33.333% - 10px); /* (100% / 3) - (2 * 15px / 3) */
		padding-bottom: 23.333%;
	}
}
/* Мобильные устройства (до 576px): 2 колонки (50%) */
@media (max-width: 575.98px) {
	.serv-image-a {
		width: calc(50% - 7.5px); /* (100% / 2) - (1 * 15px / 2) */
		padding-bottom: 30%;
		gap: 10px;
	}
}

.serv-title-dop {
	color: #262F26;
	font-size: 30px;
	font-weight: 500;
	margin: 50px 0 30px 0;
}

/* --- ЛОГИКА ГРАНИЦ (МЕТОД ПАЗЛА) --- */
.servicedops-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	background-color: transparent;
}
.servicedops-item {
	background-color: #FBFBFB; /* Фон карточки белый */
	padding: 20px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-right: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
	position: relative;
	overflow: hidden;
	min-height: 168px;
}
.servicedops-title {
	font-size: 15px;
	color: rgba(48, 78, 66, 0.5);
	flex-shrink: 0;
	text-align: right;
}
.servicedops-title span {
	color: var(--main-color); /* Акцентный цвет для текущего номера */
}
.servicedops-text {
	margin-top: 15px;
	font-size: 24px;
	font-weight: 500;
	color: #393939;
}
.servicedops-text p {
	margin: 0;
}
@media (max-width: 767px) {
	.servicedops-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575.98px) {
	.servicedops-grid {
		grid-template-columns: 1fr;
	}
}


h2 {
	font-weight: 500;
	font-size: 36px;
	letter-spacing: -4%;
	color: #262F26;
	margin-top: 0;
	margin-bottom: 15px;
}
.job-card-item-old {
	/* Добавляем плавный переход для прозрачности и трансформации */
	transition: opacity 0.3s ease, transform 0.3s ease;
	opacity: 1;
	transform: scale(1);
}
/* Класс, который делает карточку невидимой, но оставляет ее в DOM для анимации */
.job-card-item.hidden-old {
	opacity: 0;
	transform: scale(0.95);
}

.job-card-item {
	margin-bottom: 30px;
}
.job-card-item .card {
	border: none;
	border-radius: 0;
	background: #F2F2F2;
}
.job-card-item .card-img-top {
	border-radius: 0;
}
.job-card-item .card-footer {
	border: none;
	border-radius: 0;
	background: none;
	padding: 30px 20px;
}
.job-card-item .card-title {
	font-weight: 500;
	font-size: 24px;
	line-height: 1;
	letter-spacing: -4%;
	color: #393939;
	margin-bottom: 15px;
}
.job-card-link {
	font-weight: 500;
	font-size: 15px;
	letter-spacing: -4%;
	color: #393939;
	text-decoration: underline;
}
.job-card-link:hover {
	color: #393939;
	text-decoration: none;
}
.job-btn-filter {
	display: block;
	border: 1px solid rgba(48, 78, 66, 0.5);
	padding: 10px 30px;
	color: var(--main-color);
	text-align: center;
	transition: all 0.2s ease;
}
.job-btn-filter:hover, .job-btn-filter._active {
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
}
@media (max-width: 767px) {
	.job-btn-filter:hover {
		border: 1px solid rgba(48, 78, 66, 0.5);
		background: none;
		color: var(--main-color);
	}
	.job-btn-filter:hover._active {
		color: #fff;
		background: var(--main-color);
		border: 1px solid var(--main-color);
	}
}

.breadcrumbs-block {
	margin: 15px 0 20px 0;
	color: #AEAEAE;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}
.breadcrumbs-block a {
	color: #AEAEAE;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	margin-right: 4px;
}
.breadcrumbs-block .sep {
	margin-right: 4px;
}
.breadcrumbs-block a:hover {
	color: #393939;
	text-decoration: underline;
}
.h1-job {
	margin-top: 0;
}
.mt-10 {
	margin-top: 10px;
}
.bp-icon {
	margin-right: 7px;
	position: relative;
	top: -2px;
}

.flex-break {
    display: none;
}
@media (max-width: 379.98px) {
	.navbar-brand {
        margin-right: auto;
        margin-left: auto;
		margin-bottom: 10px;
    }
	.ind-title-fon {
        min-height: 300px;
        padding-top: 70px;
        background: #F2F2F3 url(/images/indexfon2.png) -230px 50px no-repeat;
    }
	.flex-break {
        display: block;
        width: 100%;
        height: 0;
    }
}

.animated-icon {
	/* animation: pulse-grow 2s infinite alternate; /* Название, длительность, повторение, направление */
	animation: pulse-grow 2s ease-in-out infinite;
}

/* Если иконка - это SVG: */
/*
.animated-icon.svg-icon {
    width: 40px;
    height: 40px;
    fill: #fff;
    animation: pulse-grow 2s infinite alternate;
}
*/
/* --- 3. Определение ключевых кадров анимации --- */
@keyframes pulse-grow {
	0% {
		transform: scale(1); /* Исходный размер */
		opacity: 1;
	}
	50% {
		transform: scale(1.1); /* Увеличиваем на 10% */
		opacity: 1; /* Делаем чуть менее прозрачной */
	}
	100% {
		transform: scale(1); /* Возвращаемся к исходному размеру */
		opacity: 1;
	}
}

.hover-scale {
	transition: all 0.5s ease 0s;
}
.hover-scale:hover {
	transform: scale(1.1);
}

.anim-show-below {
	position: relative;
	top: 50px;
	opacity: 0;
	transition: all 0.8s ease 0s;
}
.anim-show-below._active {
	top: 0;
	opacity: 1;
}
.anim-show-scale {
	position: relative;
	transform: scale(0.2);
	opacity: 0;
	transition: all 0.8s ease 0s;
}
.anim-show-scale._active {
	transform: scale(1);
	opacity: 1;
}
.anim-show-right {
	position: relative;
	right: -110%;
	opacity: 0;
	transition: all 0.8s ease 0s;
}
.anim-show-right._active {
	right: 0;
	opacity: 1;
}
.anim-show-left {
	position: relative;
	left: -110%;
	opacity: 0;
	transition: all 0.8s ease 0s;
}
.anim-show-left._active {
	left: 0;
	opacity: 1;
}

@media (max-width: 991px) {
	.ya-map {
		padding: 0 15px;
	}
}