		
/*
Theme Name: Twenty Twenty
Theme URI: https://wordpress.org/themes/twentytwenty/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: 1Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
Version: 1.3
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: twentytwenty
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag, #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag {
position: absolute; */
top: 20%;
height: 45px!important;
width: 45px!important;
/* min-width: 15px;
min-height: 33px; */
background-repeat: no-repeat;
opacity: 0.5;
}


#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag, [dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag {
	/* right: -21px; */
	/* left: inherit; */

	background-position: center!important;
}

#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag
{
	background-position: center!important;
}

/* Стили для поля с ошибкой */
.form_input.error {
	border-color: #dc3545 !important;
	box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.phone-error-message {
	color: #dc3545;
	font-size: 0.875rem;
	margin-top: 0.25rem;
	display: block;
}

/* Стили для поля во время ввода */
.form_input:focus {
	border-color: #80bdff;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

a {
	color: #0056b3;
	text-decoration: underline;
}



.breadcrumb a {
	font-size: 18px;
	text-decoration: none;
	color: #49b3bf;
	font-weight: 500;
}

.breadcrumb span:after {
	font: 18px 'virtus';
	content: "\f10a";
	display: inline-block;
	padding: 0 10px;
}

.breadcrumb {
	font-size: 18px;
	color: #999;
	margin: 20px 0 40px;
}

.breadcrumb span {
	font-size: 18px;
color: #999;
margin: 20px 0 40px;
}

.entry-date p {
	font-size: 18px;
	color: #999;
	/* margin: 20px 0 40px; */
}
	


/* Стили WordPress-группы .gallery и .gallery-columns-2 .gallery-item нужны для корректной работы — без них выводится одна фотография в ряд.Ваша галерея выводит две фотографии с правильным классом .gallery-columns-2, но стандартные стили WordPress могли быть отключены либо переопределены в теме, из-за чего фотографии идут одна под другой вместо двух в ряд.

Решение через CSS
Добавьте такой CSS-код в вашу тему или в раздел "Дополнительные стили": */

.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.gallery-columns-2 .gallery-item {
  width: calc(50% - 8px);
  margin-bottom: 16px;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .gallery-columns-2 .gallery-item {
	width: 100%;
  }
}




#slb_viewer_wrap .slb_theme_slb_baseline * {
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	text-align: left;
	vertical-align: baseline;
	white-space: normal;
	outline: none;
	border: 0px;
	background: none;
	opacity: 1;
	width: auto;
	height: auto;
	position: static;
	float: none;
	clear: none;
}


.fancybox__container, .lightbox-overlay {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* 
Причина, по которой lightbox (Simple Lightbox) открывается не в центре экрана, а в центре страницы — это использование стиля position: absolute вместо position: fixed для блока .slb_viewer_layout.
При position: absolute координата top задаётся от начала страницы, а не окна браузера. Поэтому, если страница прокручена вниз, lightbox уходит за пределы видимой части.

Как правильно позиционировать lightbox в центре ЭКРАНА
Вам нужно заменить позиционирование .slb_viewer_layout на fixed:

Добавьте в "Дополнительные стили" WordPress или в вашу тему такой CSS-код: */

#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout,
#slb_viewer_wrap .slb_theme_slb_default .slb_viewer_layout {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: auto !important;
	z-index: 9999 !important;
}


/* Что это делает:
max-width: 90vw и max-height: 90vh — ограничивает lightbox по ширине и высоте окна браузера.

overflow: auto — если изображение слишком большое, внутри окна включается скролл, чтобы не выходить за границы экрана.

Изображение масштабируется по ширине блока с ограничением высоты, чтобы сохранять пропорции.

Положение центра остаётся фиксированным по экрану. */

#slb_viewer_wrap .slb_viewer_layout {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	max-width: 90vw !important; /* Максимум 90% ширины экрана */
	max-height: 90vh !important; /* Максимум 90% высоты экрана */
	overflow: auto !important; /* Включаем прокрутку, если контент больше */
	box-sizing: border-box !important;
	z-index: 9999 !important;
	background-color: #fff; /* Для лучшей видимости */
	padding: 10px; /* Немного отступов */
	border-radius: 5px; /* Слегка скругленные углы */
}
#slb_viewer_wrap .slb_content img {
	max-width: 100% !important; /* Картинки масштабируются по ширине блока */
	height: auto !important;
	max-height: 80vh !important;  /* Ограничиваем высоту изображений */
	display: block;
	margin: 0 auto;
}
/* 
Объяснение:
max-width: 100% — изображение не выйдет за пределы контейнера;

height: auto — высота будет рассчитана автоматически, сохраняя пропорции;

max-height: 80vh — ограничит высоту по высоте видимой части окна браузера, чтобы не выходило за экран;

object-fit: contain гарантирует, что изображение будет показываться полностью с сохранением пропорций (актуально для некоторых браузеров и ситуаций).

Это должно устранить растягивание картинки и сохранить ее пропорции внутри */

#slb_viewer_wrap .slb_content img {
	max-width: 100% !important;   /* ограничить ширину по контейнеру */
	height: auto !important;      /* автоматическая высота, сохранение пропорций */
	max-height: 80vh !important;  /* максимальная высота, чтобы не выходило за экран */
	display: block;
	margin: 0 auto;
	object-fit: contain !important; /* сохранить соотношение сторон */
}


#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag, #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag {
	position: absolute;
	top: 20%;
    height: 40px;
	width: 40px;
	min-width: 40px;
	min-height: 40px;
	background-repeat: no-repeat;
	opacity: 0.5;
}

/* Стилизация круглых коричневых кнопок с белыми стрелками */
#slb_viewer_wrap .slb_prev span,
#slb_viewer_wrap .slb_next span {
	display: inline-block;
	background-color: #6b4c3b;
	color: white;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	user-select: none;
}



/* Стили для поля с маской телефона */
.form_input {
	border: 2px solid #ddd;
	border-radius: 8px;
	padding: 12px 15px;
	font-size: 16px;
	/* transition: all 0.3s ease; */
	background: white;
}

.form_input:focus {
	border-color: #4CAF50;
	box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
	outline: none;
}

.form_input:valid {
	border-color: #4CAF50;
	background-color: #f8fff8;
}

.form_input:invalid {
	border-color: #ff4444;
	background-color: #fff8f8;
}

/* Подсветка при вводе */
.form_input.typing {
	border-color: #2196F3;
	box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
	background-color: #f8fdff;
}

/* Стили для контейнера формы */
.contact_form_input {
	border: 2px solid #e0e0e0;
	border-radius: 25px;
	padding: 5px;
	background: white;
	/* transition: all 0.3s ease; */
	display: flex;
	align-items: center;
}

.contact_form_input:focus-within {
	border-color: #4CAF50;
	box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}

/* Кнопка отправки */
.form_button {
	background: linear-gradient(45deg, #4CAF50, #45a049);
	color: white;
	border: none;
	border-radius: 20px;
	padding: 12px 25px;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	/* transition: all 0.3s ease; */
}

.form_button:hover {
	/* background: linear-gradient(45deg, #45a049, #4CAF50); */
	/* transform: translateY(-2px); */
	/* box-shadow: 0 5px 15px #93c7c1; */
	background-color: #93c7c1;
	color: white;
}



/* Стили для поля с InputMask */
.form_input {
	font-family: 'Courier New', monospace;
	font-size: 16px;
	padding: 12px 15px;
	border: 2px solid #ddd;
	border-radius: 8px;
	/* transition: all 0.3s ease; */
}

.form_input:focus {
	outline: none;
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* Стили для плейсхолдера InputMask */
input[data-inputmask-placeholder] {
	color: #999 !important;
}

/* Контейнер формы */
.contact_form_input {
	border: 2px solid #e0e0e0;
	border-radius: 25px;
	padding: 5px;
	background: white;
	/* transition: all 0.3s ease; */
}

.contact_form_input:focus-within {
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}


.child-pages-menu-row{
	/* padding: 20px 10px 10px; */
	margin: 0 0 0px;
	/* background-size: cover; */
	border: 2px solid #f3f7fa;
}

.child-pages-menu-row .list-unstyled {
	padding: 40px 40px;
	margin: 0px;
}

/* Адаптив */
@media (max-width:991px) {
	.list-unstyled {
		 /* padding: 0px 0px 0px 0px!important; */
		margin: 0px!important; 
		padding: 0px 40px!important;
	}

	
	.child-pages-menu-row {
		 margin: 10px 10px 10px 10px!important;
		padding: 20px 10px 10px!important;
	}
	
	

}

.breadcrumbs {
	font-size: 18px;
	color: #999;
	margin: 20px 0 0px;
}

.breadcrumbs a {
	font-size: 18px;
	text-decoration: none;
	color: #49b3bf;
	font-weight: 500;
}

.breadcrumbs span > span {
  margin-right: 20px; /* отступ справа между частями */
  margin-left: 20px;
  display: inline-block; /* чтобы margin работал */
}

.breadcrumbs span > span:last-child {
  margin-right: 0; /* убираем отступ у последнего элемента */
}

.breadcrumbs span > span:first-child {
  margin-left: 0px; /* убираем отступ у последнего элемента */
}

/* Чтобы правые стрелки » не слипались с текстом, добавим небольшой отступ слева */
.breadcrumbs span > span:not(:last-child)::after {

  margin-left: 10px;
 
}


/* Адаптив */
@media (max-width:991px) {
.breadcrumbs span > span {
  margin-right: 4px; /* отступ справа между частями */
  margin-left: 4px;
 
}

}

.page-content {
	padding-top: 40px;
}

blockquote {
	background: #325b71;
	padding: 20px 20px 0px 40px !important;
	/* transition: box-shadow .5s linear; */
	color: #FFF;
	margin:0!important;
	
}

blockquote, blockquote p {
	color: #fff ;
	padding-bottom: 20px;
	
}

/* Если нужно переопределить блок внутри: */
.text_design_1 blockquote {
	background: #f5f8fb!important;
	padding: 25px;
	border: 3px solid #dfcfb8!important;
	margin: 10px 0 30px;
	color: #325b71!important;
	}
}

/* /* Если нужно переопределить блок внутри: */
div.text_design_1 blockquote p {
	background: #f5f8fb;
	color: #325b71!important;
	padding-bottom: 20px;
} 

.text_design_1 blockquote p {
	color: #325b71 !important;
	background: #f5f8fb;
	padding-bottom: 20px;
}


.text_design_1 {

	margin: 10px 0 30px;

}

.text_design_1:hover, .text_design_2:hover {
	/* box-shadow: 0 0 15px rgba(255, 212, 0, 0.51); */
}


/* 
blockquote.blockquote_light,
blockquote.blockquote_light p{
	background: #f5f8fb;
	color: #325b71!important;
	padding-bottom: 20px;
} */

/* blockquote.blockquote_light
{
	background: #f5f8fb;
	padding: 25px;
	border: 3px solid #dfcfb8;
	margin: 10px 0 30px;
	color: #325b71!important;
} */



.faq-question {
	cursor: pointer;
	/* padding: 10px; */
	/* background: #eee; */
	margin-bottom: 2px;
	border-radius: 4px;

}
.faq-question span{
  font-family: 'Zagolovok', Arial, sans-serif!important;
  font-weight: bold!important;
  font-size: 22px;
}


.faq-answer {
	/* padding: 10px; */
	/* background: #f9f9f9; */
	/* border-left: 3px solid #325b71; */
	margin-bottom: 15px;
	display: block; /* вместо none */
	
}

.faq-question.active {
	font-weight: bold; /* например, выделяем активный вопрос */
}

.faq-item {
padding-bottom: 24px;	
}


.service-content{
	padding-top: 24px;
	padding-bottom:  24px;
}

.service-template {
  overflow: hidden;
  position: relative;    /* часто помогает избежать багов с абсолютным позиционированием внутренних элементов */
}



.uslugi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* всегда три колонки */
  gap: 24px;
  margin: 40px 0;
} 
.usluga-card {
  /* background: #f9f9f9; */
  border-radius: 16px;
  padding: 24px;
  /* box-shadow: 0 2px 8px rgba(32,59,74,0.06); */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

a.usluga-card-link {
  text-decoration: none !important;
  color: inherit;
}
.usluga-card a h3  {
  color: #203b49;
  font-size: 22px;
  margin: 0 0 10px 0;
  text-decoration: none;
}
.usluga-desc {
  font-size: 16px;
  color: #293d40;
  margin-bottom: 16px;
}
.usluga-more {
  color: #93c7c1;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px dotted #93c7c1;
}
.usluga-more:hover {
  color: #203b49;
  border-bottom: 1px solid #203b49;
}

.custom-text-block img {
  max-width: 100%;
  height: auto;
  display: block;
  /* При необходимости, чтобы были внутри блока: */
  box-sizing: border-box;
}

/* .blockquote_light {
  background: #f3f6fa;
  color: #203b49;
  border-left: 4px solid #93c7c1;
  padding: 16px 20px;
  margin: 22px 0;
  border-radius: 8px;
  font-style: italic;
} */


	


a.bazainfo-article:hover {
  color: #0056b3!important;
  text-decoration: underline;
}
.text IMG {
	max-width: 100%;
	width: auto !important;
	height: auto !important;
}
.reviews-subtitle-text {
	margin-top: 30px;
	font-family: Zagolovok;
	font-size: 20px;
	line-height: 27px;
	font-weight: normal;
	max-width: 465px;
	margin-bottom: 40px;
}

.reviews-toptitle-text {
	font-family: FuturaFuturisC;
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
}

#gallery_block #simpl_gallery ._item ._review_elem {
	min-height: 240px;
}

._m_photo img {
	margin-bottom: 0 !important;
}

/* Стили для статей базы информации */
.bazainfo-article {
	margin-bottom: 40px;
	/* transition: transform 0.3s ease; */
}

.bazainfo-article:hover {
	/* transform: translateY(-5px); */
}

.bazainfo-article__img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	/* border-radius: 8px; */
	max-width: 100%;
	width: auto !important;
	height: auto !important;
}

.bazainfo-article__img:hover {
	opacity: 0.9;
}
.bazainfo-article__title {
	/* font-size: 20px;
	font-weight: 600; */
	/* margin: 15px 0 10px; */
	/* color: #333; */
}

.bazainfo-article__description {
	color: #666;
	/* line-height: 1.6; */
	/* font-size: 14px; */
}

.bazainfo-big-article .bazainfo-article__title {
	font-size: 24px;
}

.bazainfo-big-article .bazainfo-article__description {
	/* font-size: 16px; */
}

.bazainfo-promo-row {
	background: #f8f9fa;
	padding: 30px;
	border-radius: 10px;
	margin: 30px 0;
}

.bazainfo-promo-row_content {
	padding: 50px 10px 10px 50px!important
}

@media (max-width:991px) {
	.bazainfo-promo-row_content {
		padding: 10px 10px 10px 10px!important;
	}
}

..btn-main {
	display: inline-block;
	padding: 12px 30px;
	background: #007cba;
	color: white;
	text-decoration: none;
	border-radius: 5px;
	margin-top: 15px;
	/* transition: background 0.3s ease; */
}

..btn-main:hover {
	background: #005a87;
	color: white;
}

.bazainfo-article a {
	text-decoration: none;
	color: inherit;
}

/* .bazainfo-article a:hover .bazainfo-article__title {
	color: #007cba;
} */

a:hover .bazainfo-article__title {
	color: #203b49 !important;
}

a:hover .bazainfo-article__description {
  color: #0056b3 !important;
  /* если нужно — underline */
  /* text-decoration: underline; */
}


.video-magazin__form-zahvata {
	border: 2px solid #B28267;
	
}

.contactform_short{
	padding: 38px 32px 46px 60px;
	/* background: #fff3e1; */
	/* border-radius: 10px; */
	max-width: 550px;
	position: relative;
	/* margin: 0 auto 65px; */
}

 
 .video-magazin__form-zahvata .row {
   padding-top: 3rem;
 }

 


@media (max-width:991px) {
	.contactform_short{
	padding: 0px;
	/* background: #fff3e1; */
	/* border-radius: 10px; */
	max-width: 100%;
	position: relative;
	/* margin: 0 auto 65px; */
	}
	
	.video-magazin__form-zahvata {
		border: none;
		border-top: 2px solid #B28267;
		border-bottom: 2px solid #B28267;
		/* background-color: #fbe6db; */
		
	}
	
	.video-magazin__form-zahvata .row {
		 padding-top: 0 !important;
	   }

}
.row.align-items-stretch {
  align-items: stretch !important;
}
.video-magazin__form-zahvata .main-img-b {
 min-height: 100%;  /* задайте нужное число */
  max-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-magazin__form-zahvata .main-img-b img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
}

.contactform_short h3 {
	margin-left: 15px;
}



 /* Кнопка записи */
.btn-main {
 text-align: center;
	 padding: 12px 28px 10px;
	 cursor: pointer;
	 text-transform: none;
	 color: #325b71;
	 display: inline-block;
	 text-decoration: none;
	 font: 14px / 22px 'Zagolovok';
	 background: #dfcfb8;
	 border-radius: 28px;
	 transition: background .3s 
 linear;
	 border: 0;
}

.btn-main:hover { 
	background-color: #93c7c1;
color: white;
}


@media (max-width:600px){
	
  .btn-main {
	  width: auto;
  }
  .btn-main { 
	  font-size: 1.07rem; 
	  padding:10px 20px 10px 20px;}
}

@media (max-width: 991px) {
  .bazainfo-article {
	padding-left: 10px !important;
	padding-right: 10px !important;
	margin-left: 00px !important;
	margin-right: 00px !important;
  }
  .bazainfo-article__description, .bazainfo-article__title {
	padding-left: 00px !important;
	padding-right: 00px !important;
  }
}


/* Грид видео */
.video-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 20px 0;
}

/* Адаптивность */
@media (max-width: 1024px) {
	.video-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.video-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}

/* Стили для lazyframe */
.lazyframe {
	position: relative;
	background-color: #000;
	background-size: cover;
	background-position: center;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	aspect-ratio: 16/9;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lazyframe:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.lazyframe::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(transparent 60%, rgba(0,0,0,0.7));
	z-index: 1;
}

.lazyframe--loaded::after {
	content: '▶';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 70px;
	background: rgba(255,255,255,0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	color: #333;
	z-index: 2;
	transition: all 0.3s ease;
}

.lazyframe:hover::after {
	background: #fff;
	transform: translate(-50%, -50%) scale(1.1);
}

/* Подпись видео */
.video-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 15px;
	color: white;
	font-weight: 600;
	font-size: 16px;
	z-index: 3;
	background: linear-gradient(transparent, rgba(0,0,0,0.8));
}

/* Модальное окно для видео */
.video-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.95);
	z-index: 9999;
	justify-content: center;
	align-items: center;
}

.video-modal.active {
	display: flex;
}

.video-modal-content {
	position: relative;
	width: 90%;
	max-width: 900px;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
}

.video-modal-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: white;
	font-size: 30px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.video-modal-video {

		width: auto;
		height: 100%;
		display: block;
	
}

.video-modal-title {
	padding: 15px;
	color: white;
	margin: 0;
	font-size: 18px;
	text-align: center;
}


.video-modal-content {
	position: relative;
	height: 100%;
	max-width: 900px;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
	/* max-width: 90vw; */
	/* max-height: 80vh; */
	background: #000;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
}

.custom-bg-img {
  background: url('/wp-content/uploads/2025/11/glavnaya-stranitsa_6819wx5awzd.png') bottom center/contain no-repeat #fff;
  min-height: 350px;
  width: 100%;
  justify-content: center;
  align-items: flex-end;
  /* Для прижатия к низу, а по горизонтали по центру */
  display: flex;
}

/* Дополнительная адаптивность */
@media (max-width: 768px) {
  .custom-bg-img {
	display: none !important;
  }
}

.icon-circle {
  width: 140px;
  height: 140px;
  /* background: #1DD066;         /* Ярко-зелёный */ */
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* box-shadow: 0 4px 16px rgba(0,0,0,.11); */
  /* Обрезает часть круга над блоком */
  z-index: 2;
}

.b-doc-preimushectva-4-with-icons {
	padding-top: 150px;
	
}

@media (max-width: 767.98px) {
  .b-doc-preimushectva-4-with-icons .col-12.mb-5:not(:last-child) {
	margin-bottom: 80px !important;
  }
}


.page-numbers {
	width: 40px;
	height: 40px;
	background: #93C7C1;
	border-radius: 50%;
	display: inline-grid !important;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s 
ease;
	opacity: 1 !important;
	font-size: 14px;
	flex-shrink: 0;
	position: relative;
	z-index: 5;
}


.photosessions-b {
	padding-top: 60px;
}

@media (max-width: 767.98px) {
	.photosessions-b {
		padding-top: 10px;
	}
}




.main-button {
	/* width: 33% !important; */
	text-transform: unset !important;
	line-height: 16px;
	color: #325d73;
	font-family: fontContent;
	font-size: 17px;
	line-height: 21px;
	align-items: center;
	text-transform: uppercase;
	background: #dfcfb7;
	border-radius: 40px;
	border: 0;
	font-weight: 500;
	padding: 16px 30px;
	cursor: pointer;
	text-decoration: none!important;
	/* transition: background .3s linear; */
	/* width: 100%; */
}

.contact_phone a {
	display: block;
	/* color: #dfcfb8; */
	text-decoration: none;
	margin: 0 0 6px;
	font: 20px Zagolovok;
	cursor: default;
}

.contacts_contact_block p{
	/* color: white; */
}

.contacts_contact_block h2{
	/* color: white; */
}

.contacts_contact_block h3{
	/* color: white; */
}

.feedback_form {
background-color: #f2f2f2;
padding: 30px 110px 30px 120px;
}

@media (max-width: 767.98px) {
	.feedback_form {
	background-color: #f2f2f2;
	padding: 40px;	
	}

}
.sogl p {
	position: relative;
	padding-left: 34px;
	margin: 0;
	line-height: 22px;
}

.sogl input[type="checkbox"] {
	display: none;
}

.sogl input[type="checkbox"]:checked + label:before {
	background: #dfcfb8;
}

.sogl p:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	background: #f1fafb;
	border-radius: 4px;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
	transition: background-color .2s linear;
}

.sogl input[type="checkbox"]:checked ~ p:after {
	position: absolute;
	left: 4px;
	top: 0;
	content: "\e903";
	font: 14px / 22px 'virtus';
	color: #325b71;
}

.sogl label {
	cursor: pointer;
	margin: 0 !important;
}

.sogl label a {
	color: #325b71;
	text-decoration: underline;
}

.sogl label a:hover {
	text-decoration: none;
}

/* Оверлей попапа */
.feedback-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(50, 91, 113, 0.9);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.feedback-popup-overlay[style*="display: flex"] {
	opacity: 1;
	visibility: visible;
}

/* Контейнер попапа */
.feedback-popup-container {
	background: #ffffff;
	border-radius: 15px;
	width: 95%;
	max-width: 480px;
	max-height: 85vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(50, 91, 113, 0.3);
	transform: translateY(30px);
	transition: transform 0.3s ease;
	border: 2px solid #325b71;
}

.feedback-popup-overlay[style*="display: flex"] .feedback-popup-container {
	transform: translateY(0);
}

/* Шапка попапа */
.feedback-popup-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 30px 20px;
	/* border-bottom: 2px solid #f0f7fa; */
	background: linear-gradient(135deg, #f8fbfc 0%, #ffffff 100%);
	border-radius: 15px 15px 0 0;
}

.feedback-popup-title {
	margin: 0;
	color: #325b71;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.5px;
}

.feedback-popup-close {
	background: #f0f7fa;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #325b71;
	padding: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
}

.feedback-popup-close:hover {
	background: #325b71;
	color: white;
	transform: rotate(90deg);
}

/* Тело попапа */
.feedback-popup-body {
	padding: 0px 30px 30px 30px;
}

/* Группы формы */
.feedback-form-group {
	margin-bottom: 20px;
}

/* Поля ввода */
.feedback-form-input,
.feedback-form-textarea {
	width: 100%;
	padding: 15px 20px;
	border: 2px solid #e8f0f5;
	border-radius: 10px;
	font-size: 15px;
	box-sizing: border-box;
	transition: all 0.3s ease;
	background: #fafcfd;
	font-family: inherit;
}

.feedback-form-input:focus,
.feedback-form-textarea:focus {
	border-color: #325b71;
	outline: none;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(50, 91, 113, 0.1);
}

.feedback-form-textarea {
	resize: vertical;
	min-height: 80px;
	line-height: 1.5;
}

/* Чекбокс согласия */
.feedback-sogl {
	font-size: 13px;
	line-height: 1.5;
	color: #666;
	padding: 10px 0;
}

.feedback-sogl input[type="checkbox"] {
	margin-right: 8px;
}

.feedback-sogl a {
	color: #325b71;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s ease;
}

.feedback-sogl a:hover {
	border-bottom-color: #325b71;
}

/* Кнопка отправки */
.feedback-form-button {
	width: 100%;
	padding: 18px;
	font-size: 16px;
	font-weight: 600;
	background: linear-gradient(135deg, #325b71 0%, #4a7a9a 100%);
	color: white;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.feedback-form-button:hover {
	background: linear-gradient(135deg, #28455c 0%, #3a6988 100%);
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(50, 91, 113, 0.3);
}

.feedback-form-button:active {
	transform: translateY(0);
}

/* Адаптивность */
@media (max-width: 768px) {
	.feedback-popup-container {
		width: 95%;
		margin: 20px;
		max-height: 90vh;
	}
	
	.feedback-popup-header {
		padding: 20px 25px 15px;
	}
	
	.feedback-popup-body {
		padding: 25px;
	}
	
	.feedback-popup-title {
		font-size: 1.3rem;
	}
	
	.feedback-form-input,
	.feedback-form-textarea {
		padding: 12px 15px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.feedback-popup-header {
		padding: 15px 20px 10px;
	}
	
	.feedback-popup-body {
		padding: 20px;
	}
	
	.feedback-popup-title {
		font-size: 1.2rem;
	}
}

.fancybox-slide--image {

	padding: 0px 0 !important;
}

.fancybox-is-open .fancybox-bg {
	opacity: .95!important;

}