/*
CTC Separate Stylesheet
Updated: 2026-01-28 21:11:08
Theme Name: One Page Express Child
Theme URI: https://onepageexpress.com
Template: one-page-express
Author: Evgeniy Saunin
Version: 1.3.54.1769623868
*/
body {
	font-weight: 400;
    color: black;
}

	/* Заголовок на баннере */
.align-holder h1.heading8 {
	font-size: 36px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 42px;
    font-family: 'Montserrat', Arial;
    color: #fff;
    margin-bottom: 25px;
    padding-left: 50px;
}
.align-holder p.header-subtitle {
	position: relative;
    font-size: 18px;
    line-height: 25px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: 'Montserrat', Arial;
    color: #fff;
    padding: 0 0 100px 25px;
}
.header-subtitle::before { /* Подзаголовок для баннера, в теме наложены огарничения бесплатной версии */
    content: "Организация осуществляет строительные \A услуги на Российском рынке с 1994 года";
    font-size: 16px;
    
    white-space: pre;
    display: block;
}

div.row.header-description-row {
	background-color: rgba(0, 0, 0, 0.2);
	padding-top: 40px;
	padding-bottom: 0;
}
.header-homepage .header-content .align-holder {
	text-align: left !important;
}
.header-content {
	display: flex;
    justify-content: flex-end;
}
div.align-holder {
	width: 70%;
    display: flex;
    flex-wrap: wrap;
}
.header-content.header-content-centered::before { /*логотип осьминога в баннере*/
    content: "";
    display: inline-block;  /* или block */
    width: 224px;
    height: 212px;
    background-image: url('/wp-content/uploads/2026/02/gidra-optimized.webp');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 10px;     /* отступ от текста */
}
.header-content h1::after { /*линия разделитель между h1 и p*/
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    margin-top: 15px;
}

h1.entry-title {
	margin: 50px 0;
	font-size: clamp(21px, calc((100vw - 767px) / (1560 - 767) * (35 - 21) + 21px), 35px);
    line-height: clamp(30px, calc((100vw - 767px) / (1560 - 767) * (42 - 30) + 30px), 42px);
	color: #333333;
	font-weight: 500;
}
.entry-content h2{
	font-size: clamp(20px, calc((100vw - 767px) / (1560 - 767) * (30 - 20) + 20px), 30px);
	color: black;
	font-weight: 500;
	margin: 40px 0 15px;
}
.entry-content h3{
	font-size: clamp(18px, calc((100vw - 767px) / (1560 - 767) * (20 - 18) + 18px), 20px);
    color: black;
    padding-left: 15px;
}
p.alternativeHeadline {
	text-align: right;
    font-style: italic;
    margin: 20px;
	line-height: 26px;
	font-size: 18px;
}
*/
@media (max-width: 740px) {
	.align-holder h1.heading8 {
		font-size: 25px;
	}
	.header-subtitle::before{
		font-size: 12px;
	}
	.align-holder p.header-subtitle {
		padding: 0 0 70px 25px;
	}
}
@media (max-width: 540px) {
	.header-content.header-content-centered::before {
		display: none;
	}
	div.align-holder {
		width: 100%;
	}
}
/*--- Главное меню ---*/
.header-top {
	z-index: 9;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.logo_col {
	width: fit-content !important;
}
#drop_mainmenu li {
	margin-left: 0 !important;
	margin-right: 0.5% !important;
}
#drop_mainmenu li a {
	letter-spacing: 0px !important;
	color: #000000 !important;
}
#drop_mainmenu li ul.sub-menu li{
	white-space: nowrap;
}
#drop_mainmenu li ul.sub-menu li a {
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
	background-color: #fff;
    letter-spacing: -0px !important;
}
#drop_mainmenu li ul.sub-menu li a:hover {
	background-color: #2176ff;
}
ul#drop_mainmenu > li > a {
	font-size: clamp(12px, 1.2vw, 18px);
	letter-spacing: normal;
	font-weight: 600;
}
ul#drop_mainmenu > li > a:hover {
	font-size: clamp(12px, 1.2vw, 18px);
	letter-spacing: normal;
}
a#fm2_drop_mainmenu_mobile_button span.caption {
	color: black;
}
@media (max-width: 1023px) {
	ul#drop_mainmenu > li {
		margin-left: 0px;
	}
}
@media (max-width: 935px) {
	ul#drop_mainmenu > li > a{
		padding: 15px 0;
	}
}
@media (max-width: 767px) {
div.header-top {
	background-color: #ececec;
}
}
/*----Общие стили для блоков главной страницы ----*/
.block-homepage {
	display: flex;
    max-width: 1200px;
    flex-wrap: wrap;
    margin: 0 auto;
	padding: 40px 0;
	text-align: left;
}

/*---- Слайдер Наша техника ----*/
#technika {
	flex-wrap: wrap-reverse;
}
/* Минимальный CSS для двух блоков одинаковой ширины */
.text-section,
.image-section {
    flex: 1 1 300px; /* не растягивается, не сжимается, ширина 50% */
    box-sizing: border-box;
}
.text-section p {
	font-weight: 400;
	font-size: 18px;
	color: #000;
}
.text-section{
	padding: 20px;
	flex: 1 1 300px;
}
.image-section {
	display: flex;
    flex: 1 0.1 300px;
    align-items: center;
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
}
/* Фон под слайдшоу */
#page .header-wrapper {
    background-color: #fff;
}
h2#about-us {
	margin-bottom: 20px;
}


/*---- Модуль Наши услуги на главной странице ----------*/

#homepage-job {
	max-width: 1250px;
	justify-content: space-evenly;
	row-gap: 30px;
}
#homepage-job::before,
#homepage-job::after {
    display: none;
    content: none;
}
.homepage-job-item {
	box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.5);
	width: 380px;
	transition: all 0.3s ease; /* плавно все свойства */
}
.homepage-job-item:hover {
	box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	transform: translateY(-5px); /* легкий подъем вверх */
}

.p-home-job {
	min-height: 112px;
	display: flex;
    align-items: center;
	transition: background-color 0.3s ease;
}

.homepage-job-item:hover .p-home-job {
    background-color: #f5f5f5;
}
.p-home-job p {
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
	color: #000;
	margin: 20px;
}
#homepage-job .homepage-job-item-link {
    text-decoration: none;  /* убираем подчеркивание */
    color: inherit;         /* наследуем цвет текста */
    display: block;         /* чтобы ссылка занимала весь блок */
}
div.block-homepage h2 {
	padding: 0 0 0 20px;
	margin: 0;
}
/*----Модуль наши работы на главной странице----*/
.homepage-job-item-work {
    position: relative;  /* для позиционирования текста поверх */
    width: 380px;        /* или ваша ширина */
    overflow: hidden;    /* чтобы ничего не вылезало за границы */
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.5);
}
.homepage-job-item-work:first-child .p-home-job-work p {
	line-height: 20px;
}
.img-home-job-work img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease; /* опционально - легкое увеличение */
}

/* Контейнер с текстом */
.p-home-job-work {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);  /* полупрозрачный черный фон */
    color: white;
    padding: 0 10px;
    box-sizing: border-box;
    opacity: 0;                       /* текст невидим */
    visibility: hidden;                /* скрыт */
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;           /* центрируем по вертикали */
    overflow-y: auto;                  /* если текста много - скролл */
}

/* Появление текста при наведении */
.homepage-job-item-work:hover .p-home-job-work {
    opacity: 1;
    visibility: visible;
}

/* Опционально - легкое увеличение изображения при наведении */
.homepage-job-item-work:hover .img-home-job-work img {
    transform: scale(1.05);
}

/* Стили для текста внутри */
.p-home-job-work h3 {
    font-size: 30px;
    font-weight: 300;
    text-transform: uppercase;
    line-height: 35px;
    font-family: 'Montserrat';
    color: #fff;
    padding: 0 10px;
    margin-bottom: 5px;
}

.p-home-job-work p {
    color: white;
	line-height: 22px;
    font-size: 18px;
    padding: 0 10px;
}
.p-home-job-work p:last-child {
    margin-bottom: 0;
}

/* Таблица в статьях */
[role="table"] {
    display: table;
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
div.table-row {
    display: table-row;
    font-size: clamp(12px, calc((100vw - 800px) / (1560 - 800) * (18 - 12) + 12px), 18px);
}
[role="columnheader"] {
    background-color: #f5f7fa;
    font-weight: 600;
    font-size: clamp(12px, calc((100vw - 767px) / (1560 - 767) * (18 - 12) + 12px), 18px);
    text-align: left;
}
.table-cell {
    display: table-cell;
    padding: 12px 15px;
    border: 1px solid #e0e0e0;
    vertical-align: middle;
}
div.table-row {
    display: table-row;
    font-size: clamp(12px, calc((100vw - 800px) / (1560 - 800) * (18 - 12) + 12px), 18px);
}

/*---- Скрытие пустого блока на главной странице пред подвалом----*/
#page.site .content {
	display: none;
}

/*---- Подвал ----*/
div.footer {
	border: none;
    background: linear-gradient(to bottom, #d0d8e0, #eff3f6);
}
div.footer p,
div.footer p a {
	font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    color: #000;
}

div.footer h2 {
	margin: 30px 0;
}
div.footer p a.privacyPolicy {
	color: #03a9f4;
    text-decoration: none;
    font-weight: 400;
	font-size: 15px;
}
/*---- Меню шаблонов ----*/
ul#drop_mainmenu > li > a,
ul#drop_mainmenu > li > a:hover {
	color: #000;
}
a.text-logo,
a.text-logo:hover {
	color: #000;
}
/*#page-content {
	padding-top: 140px;
	font-size: 18px;
	font-weight: 400;
	color: #000;
	background-image: url(/wp-content/uploads/2026/02/head-size-optimized.webp);
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}*/
.header-top {
	position: relative;  /*стили шапки влияет на все шаблоны*/
}

/*Код для прижатия подвала*/
/* Прижимаем футер к низу */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#page-content {
    flex: 1 0 auto; /* контент занимает всё доступное место */
    width: 100%;
	padding-bottom: 40px;
}

.footer {
    flex-shrink: 0; /* футер не сжимается */
    background: linear-gradient(to bottom, #d0d8e5, #eff3f6);
    padding: 40px 0;
    width: 100%;
}

/* Изображение в статьях*/
.wp-block-image.size-full img {
    display: block; /* Убираем лишние отступы */
    margin: 0 auto; /* Центрирование */
    max-width: 100%; /* Адаптивность */
    height: auto; /* Сохраняем пропорции */
}
figure.wp-block-image {
	background: #eff0f0;
	padding: 10px;
	margin: 40px 0;
	display: flex;
    align-items: center;
    flex-direction: column;
	
	max-width: calc(100% - 60px); /* 30px слева + 30px справа */
    margin-left: auto; /* Центрируем весь блок */
    margin-right: auto; /* Центрируем весь блок */
    width: 620px; /* Ширина по содержимому */
}
/* Стили для подписи */
.wp-block-image.size-full figcaption {
    text-align: center; /* Текст по центру */
    font-size: calc(12px + 0.4vw);
    margin-bottom: 0; /* Убираем нижний отступ */
    padding-top: 10px; 
    color: #333; /* Цвет текста (можно изменить) */
    line-height: 1.4; /* Межстрочный интервал */
    background: transparent; /* Прозрачный фон (наследуется от figure) */
}
div.entry-content ul li {
	text-align: left;
}
/* Блок для страницы Наши услуги */
.uslugi-item {
    display: flex;
    max-width: 1200px;
    margin: 30px auto;
    align-items: center;
}

.uslugi-content {
    flex: 1;
	padding: 0 40px 0 0;
}

.uslugi-content h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
}

.uslugi-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}

.uslugi-image {
    flex: 0 0 380px;  /* Фиксированная ширина 380px */
    margin: 0;         /* Убираем стандартные отступы figure */
}

.image img {
    width: 100%;
    height: 250px;     /* Фиксированная высота 250px */
    object-fit: cover; /* Изображение заполнит область, сохраняя пропорции */
    display: block;
}

/* Мобильная версия */
@media (max-width: 768px) {
    .uslugi-item {
        flex-direction: column;  /* Элементы друг под другом */
        gap: 20px;
        align-items: stretch;    /* Растягиваем на всю ширину */
    }

    .uslugi-image {
        flex: none;
        width: 100%;             /* На мобильных на всю ширину */
    }
    
    .uslugi-image img {
        width: 100%;
        height: auto;            /* Высота автоматически */
        max-height: 250px;       /* Но не больше 250px */
        object-fit: contain;     /* Чтобы изображение не обрезалось */
    }
}
/* Главное изображение в статьях Услуг */
/* Растягиваем изображение на весь экран*/
.page-content {
	padding: 0px;
}

.img-main {
    width: 100vw !important;
    height: 300px !important; /* Фиксированная высота */
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 0 !important;
    overflow: hidden !important;
} 

/* Само изображение */
.img-main img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Сохраняем пропорции, обрезаем лишнее */
    object-position: center !important; /* Центрируем */
    display: block !important;
    max-width: none !important; /* Убираем ограничения WordPress */
}
@media (max-width: 768px) {
	.img-main {
		display: none;
	}
}