/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Version: 4.11.2
Requires at least: 5.3
WC requires at least: 3.0
WC tested up to: 9.6
Tested up to: 6.8
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */

@font-face {
    font-family: 'Calibri';
    src: url('assets/fonts/Calibri.eot'); /* IE9 Compat Modes */
    src: url('assets/fonts/Calibri.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('assets/fonts/Calibri.woff2') format('woff2'), /* Super Modern Browsers */
         url('assets/fonts/Calibri.woff') format('woff'), /* Modern Browsers */
         url('assets/fonts/Calibri.ttf') format('truetype'), /* Safari, Android, iOS */
         url('assets/fonts/Calibri.svg#CygreMedium') format('svg'); /* Legacy iOS */
    font-weight: normal;
    font-style: normal;
}
a:focus {
    outline: none;
}
p {
    margin-bottom: 0.2em;
}
body {
    font-family: "Assistant";
}
.container-wrap {
    position: absolute;
    top: 0;
    width: 100%;
    padding: 10px 20px;
    display: flex;
    background-color: rgba(0,0,0, 0.5);
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    transition: all 0.3s ease-in-out;
    height: 50px;
    padding-top: 50px;
}
.container-head nav {
    display: flex;
    align-items: center;
}
.nav-menu {
    display: flex;
    flex-direction: row;
    list-style: none;
    align-items: center;
}
.nav-menu li {
    padding: 0 5px;
}
.nav-menu li a {
    font-family: "Assistant";
    color: #282828;
    font-size: 20px;
    font-weight: 400;
    padding: 30px 20px;
}
.nav-menu li a:hover {
    color: #f5b81e;
}
ol, ul {
    margin: 0px;
}
.container-head {
    background: #fff;
    width: 1230px;
    margin: 0 auto;
    display: flex;
    border-radius: 10px;
    margin-top: 50px;
    padding: 10px;
    justify-content: space-between;
}
.logo a img {
    width: 240px;
}
.logo a {
    margin-left: 10px;
    color: #000;
    font-family: 'Playfair Display';
    font-weight: 900;
    font-size: 32px;
}
.logo a span {
    color: #fbc424;
}

.swiper-slide img{
    width: 100%;
}
.swiper-slide .slider__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    width: 100%;
}
.swiper-slide .slider__text .title{
    color: #fff;
    font-family: 'Playfair Display';
    font-weight: 900;
    line-height: 1.3;
    font-size: 66px;
    margin-bottom: 15px;
}
.swiper-slide .slider__text .subtitle {
    font-size: 35px;
    font-weight: 600;
    font-family: 'Calibri';
}
.swiper-pagination {
    bottom: 5%!important;    
}
.swiper-pagination-bullet {
    width: 15px!important;
    height: 15px!important;
    opacity: 1!important;
    background-color: #fff!important;
    bottom: 5%!important;
}
.swiper-pagination-bullet-active {
    background-color: #f5b81e!important;
}
/*about*/
.about {
    padding: 130px 0px 60px 0px;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
}
.about-content {
    display: flex;
    gap: 40px;
}
.about-text {
    padding-right: 50px;
    margin-top: -50px;
}
.about-text,
.about-video {
    flex: 1 1 50%;
    position: relative;
}
.about-text h2 {
    font-family: "Playfair Display", Sans-serif;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2em;
    color: #343434;
    margin-bottom: 15px;
}
.about-text p {
    font-family: 'Roboto';
    font-size: 18px;
    color: #343434;
    padding-right: 20px;
}
.video-wrapper { 
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* квадрат */
    overflow: hidden;
    border-bottom-left-radius: 83px;
}


.custom-play-btn {
    position: absolute;
    bottom: 0px; /* Снизу */
    left: 0%;
    /* transform: translateX(-50%); */
    background-color: #fbc424;
    color: black;
    border: none;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.3s ease;
  }
  
  .custom-play-btn.hidden {
    opacity: 0;
    pointer-events: none;
  }

  /* Попробовать скрыть встроенную кнопку Play для WebKit */
video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none;
}
.about-video::before {
    content: '';
    width: 170px;
    height: 280px;
    background: #fbc424;
    position: absolute;
    left: -40px;
    top: -40px;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    z-index: -1;
}

.video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*project*/

.project {
    padding-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
}

.project2 {
    padding-top: 50px;
    padding-bottom: 40px;
    background-color: #f9f9f9;
}
.project .title {
    font-family: "Playfair Display", Sans-serif;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2em;
    color: #343434;
    margin-bottom: 55px;
    text-align: center;
}
.project .subtitle {
    font-family: "Playfair Display", Sans-serif;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.2em;
    color: #343434;
    margin-bottom: 55px;
    text-align: center;
}
.project .project-content {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 40px;
}
.project .project__text {
    padding-left: 30px;
    padding-right: 30px;
	width: 50%;
	box-sizing: border-box;
}
.project .project__text p {
    font-family: 'Roboto';
    font-size: 18px;
    color: #343434;
    display: inline;
}

/*services*/
.services {
    padding: 50px 20px;
    padding-top: 50px;
    padding-bottom: 80px;
    background-color: #f9f9f9;
    text-align: center;
}
.services .project-content {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 40px;
}
.services .project__text {
    padding-left: 30px;
    padding-right: 30px;
	width: 50%;
	box-sizing: border-box;
    text-align: left;
}
.services .project__text p {
    font-family: 'Roboto';
    font-size: 18px;
    color: #343434;
}
.section-title {
    font-family: "Playfair Display", Sans-serif;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2em;
    color: #343434;
    margin-bottom: 55px;
}

.services-grid {
    display: grid;
    gap: 20px;
    grid-auto-flow: column;
    grid-template-rows: repeat(1, 1fr);
}

.service-card {
    background: linear-gradient(to right,#eba815,#fcc524);
    padding: 20px;
    color: white;
    font-weight: bold;
    border-radius: 6px;
    text-align: center;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    text-align: center;
    font-size: 19px;
    font-family: 'Assistant', sans-serif;
    font-weight: 600;
    line-height: 26px;
}
.service-card:hover {
    background: #ff5e14;
}
.project .service-card{
    background: #4d4d4d;
    color: #fff;
}
.project .service-card:hover {
    background: #8b8b8b;
    color: #fff;
}
/*regictration*/
.registration-block {
    position: relative;
    width: 100%;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 25x;
}

/* Flex контейнер */
.registration-inner {
    display: flex;
    position: relative;
}

/* Обе половины по 50% внутри контейнера */
.registration-left,
.registration-right {
    position: relative;
    width: 50%;
    padding: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
    z-index: 1;
}
.registration-left .content h2,
.registration-right .content h2 {
    font-family: "Playfair Display", Sans-serif;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 40px;
}
.registration-left .content h2 {
    color: #FFFFFF;
}
.registration-right .content h2 {
    color: #343434;
}
.registration-left .content p,
.registration-left .content li,
.registration-left .content ol {
    color: #343434;
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px;
}
.registration-left .content p,
.registration-left .content li,
.registration-left .content ol,
.registration-right .content p,
.registration-right .content li,
.registration-right .content ol{
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px; 
}{
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px; 
}
.registration-left .content p,
.registration-left .content li,
.registration-left .content ol,
.registration-left .content h1,
.registration-left .content h2,
.registration-left .content h3,
.registration-left .content h4,
.registration-left .content h5,
.registration-left .content h6 {
	color: #FFFFFF;
	font-family: 'Roboto';
}
.registration-left .content ol,
.registration-left .content ul {
    margin-left: 30px;
}
.registration-right .content ol,
.registration-right .content ul {
    margin-left: 30px;
}
 
/* Контент ограничен */
.content {
    max-width: 100%;
    color: #fff;
}
.registration-right .content {
 	font-family: 'Roboto';
    color: #343434;
}
/* Левый фон */
.registration-left_background {
    content: "";
    position: absolute;
    top: 0;
    right: 0%; /* ставим слева от левого блока */
    width: 50vw;
    height: 100%;
   
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, 0.7);
    background-blend-mode: darken;
    z-index: -1;
}


/* Правый фон */
/* .registration-right::before  */
.registration-right_background {
    content: "";
    position: absolute;
    top: 0;
    left: 0%; /* ставим псевдоэлемент строго после правого края блока */
    width: 50vw;
    height: 100%;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: soft-light; 
    z-index: -1;
    background-color: #EEAC18;
    opacity: 0.9;
    transition: #EEAC18 0.3s, border-radius 0.3s, opacity 0.3s;
}
/* Кнопки */
.btn {
    font-family: 'Roboto';
    font-size: 18px;
    display: inline-block;
    margin-top: 45px;
    padding: 12px 24px;
    font-weight: bold;
    text-decoration: none;
}

.btn.yellow {
    background-color: #f2b705;
    color: #000;
}
.btn.yellow:hover {
    background: #ff5e14;
    color: #fff;
}

.btn.dark {
    background-color: #4d4d4d;
    color: #fff;
} 
.btn.dark:hover {
    background: #8b8b8b;
    color: #fff;
}
.btn.yellow {
    display: none;
}

/**/
.contact {
    padding-bottom: 40px;
    padding-top: 140px;
}
.contact-section {
    display: flex;
    font-family: "Calibri", sans-serif;
    color: white;
    border-radius: 20px;
 
}

.image-section {
    width: 50%;
    position: relative;
    margin-top: -30px;
    z-index: 9;
}

.image-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-right-radius: 60px;
    height: 786px;
}

.engineer-count {
    position: absolute;
    bottom: 3%;
    right: 150px;
    background: white;
    color: black;
    padding: 10px 20px;
    border-top-right-radius: 50px;
    border-top-left-radius: 50px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    height: 25%;
}

.count-number {
    display: block;
    color: #f5b700;
    color: #FFFFFF;
    font-family: "Assistant", Sans-serif;
    font-size: 38px;
    font-weight: 600;
    background: #f5b700;
    border: 10px;
    border-radius: 20px;
    width: 100px;
    margin: 0 auto;
      margin-top: 0px;
      margin-bottom: 0px;
    line-height: 1;
    margin-top: 15px;
    margin-bottom: 10px;
}

.count-label {
    color: #1F1F1F;
    font-family: "Assistant", Sans-serif;
    font-size: 18px;
    font-weight: bold;
}

.info-section {
    width: 50%;
}
.info-section-background {
    padding: 65px;
    background-color: #1a1a1a;
    padding-bottom: 80px;
    margin-left: -150px;
    padding-left: 190px;
    border-bottom-left-radius: 60px;
    position: relative;
}
.info-section-background .description,
.info-section-background .whatsapp-button,
.info-section-background .footer-info {
    max-width: 525px;
}
.info-section-background::after {
    content: "";
    position: absolute;
    top: 0;
    right: -150px; /* на сколько ты визуально сдвигал блок */
    width: 150px;  /* та же ширина */
    height: 100%;
    background-color: #1a1a1a;
    z-index: 0;
}

.contact-header {
    font-family: "Playfair Display", Sans-serif;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 40px;
    padding-left: 40px;
}

.order-text {
    color: #f5b700;
    font-weight: bold;
}
.contact-text {
    color: #343434;
}
.description p,
.description ol {
    margin-bottom: 5px;
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px;
}
.description ol,
.description ul  {
    margin-left: 20px;
}
.description a {
    color: #f5b700;
    text-decoration: none;
}

.phone {
    color: #f5b700;
    font-weight: bold;
}

.whatsapp-button {
    margin: 50px 0;
    display: flex;
    justify-content: center;
}

.whatsapp-button a {
    background-color: #25D366;
    color: white;
    padding: 10px 25px;
    text-decoration: none;
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
    font-family: 'Roboto';
    font-size: 18px;
}
.whatsapp-button a:hover {
    color: #343434;
}
.whatsapp-button a img {
    width: 30px;
    margin-right: 15px;
}
.footer-info {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    text-align: center;
}

.footer-info .column {
    width: 45%;
}

.footer-info h3 {
    margin-bottom: 10px;
    font-size: 25px;
    color: #fff;
    font-family: "Playfair Display", Sans-serif;
}

.footer-info ul {
    list-style-type: none;
    padding: 0;
}

.footer-info li,
.footer-info .time p {
    margin-bottom: 5px;
    font-family: "Assistant", Sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: #F5B81E;
}
.footer-info li svg {
    color: #fff;
}

.post__head img {
    width: 100%;

}
.post__head {
    position: relative;
    margin-bottom: 50px;
}

.post__head h1 {
    position: absolute;
    top: 50%; /* или другой отступ сверху */
    left: 50%;
    transform: translate(-50%, -50%); /* центр по X и Y */
    color: white;
    font-size: 2rem;
    text-align: center;
    z-index: 2;
    font-size: 54px;
    font-weight: 900;
    line-height: 50px;
    font-family: 'Playfair Display';
    width: 100%;
}
.content_post p,
.content_post li,
.content_post {
    color: #343434;
    text-align: left;
    font-family: 'Roboto';
    font-size: 18px;
    font-weight: 400;
    color: #343434;
}
.wp-block-heading,
.content_post h1,
.content_post h2, 
.content_post h3,
.content_post h4, 
.content_post h5 {
    font-family: 'Roboto';
    font-weight: bold;
    line-height: 56px;
    color: #343434;
}

.with-sidebar {
    display: flex;
    gap: 40px;  
    align-items: flex-start;
    margin-bottom: 40px;
}

.sidebar {
    width: 30%;
    background-color: #F5B81E;
    padding: 40px 40px 40px 40px;
    border-radius: 10px;
}

.sidebar h2 {
    font-size: 18px;
    margin-bottom: 10px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
}

.sidebar ul li {
    margin-bottom: 0px;
    position: relative;
}

.sidebar ul li a {
    color: #fff;
    font-size: 17px;
    font-weight: 400;
    padding: 15px 25px 15px 25px;
    display: inline-block;
    width: 100%;
    border-bottom: solid 1px #e5a80e;
    font-family: "Poppins";
}
.sidebar ul li .active {
    cursor: default;
    color: #343434;
}
.sidebar ul li a::before {
    display: inline-block;
    padding-right: 3px;
    vertical-align: middle;
    font-weight: 900;
    position: absolute;
    left: 0px;
    font-size: 18px;
    content: "\f105";
    font-family: FontAwesome;
}
.sidebar ul li a:hover {
    color: #343434;
    text-decoration: none;
}
.main-content {
    width: 70%;
}
/* ========== ДЕСКТОП: Основное меню видно, бургер скрыт ========== */
#main-nav {
    display: flex;
    align-items: center;
}
.mobile-menu-toggle {
    display: none;
}

/* ========== МОБИЛЬНАЯ ВЕРСИЯ: До 768px ========== */
@media (max-width: 768px) {
    .logo a {
        margin-left: 0px;
        font-size: 20px;
    }
    /* ===== Кнопка бургер ===== */
    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 30px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        position: absolute;
        top: 12px;
        right: 0px;
        z-index: 1001;
    }
	.mobile-menu-toggle {
		position: fixed;
		top: 60px;
	}

    .mobile-menu-toggle span {
        display: block;
        width: 28px;
        height: 3px;
        margin: 4px 0;
        background-color: #333;
        transition: 0.3s ease;
        border-radius: 2px;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    /* ===== Офф-канвас меню ===== */
    #main-nav {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 55%;
        max-width: 300px;
        background: #fff;
        box-shadow: -4px 0 10px rgba(0, 0, 0, 0.1);
        transform: translateX(100%);
        transition: transform 0.3s ease;
        z-index: 1000;
        padding: 60px 20px 20px;
        display: block; /* не flex */
    }

    #main-nav.active {
        transform: translateX(0);
    }

    /* ===== Стили навигации ===== */
    .nav-menu {
        display: flex;
        flex-direction: column;
        gap: 16px;
        list-style: none;
        padding: 0;
        margin: 0;
        align-items: flex-start;
    }

    .nav-menu li {
        margin: 0;
    }

    .nav-menu li a {
        display: block;
        text-decoration: none;
        color: #333;
        font-size: 18px;
        padding: 10px 0;
        transition: color 0.2s ease;
    }

    .nav-menu li a:hover {
        color: #0073aa;
    }
}
.container_mobile {
    display: none;
    height: 50px;
    background: #000;
}
.container_mobile p {
    color: #fff;
    display: flex;
    justify-content: right;
    align-items: center;
    height: 50px;
    padding: 0 20px;
    font-weight: 400;
    font-family: 'Roboto';
    font-size: 18px;
}
#playBtn:focus,
#playBtn:hover {
    background: #fbc424;
}
#ast-scroll-top {
    border-radius: 50%;
    color: #fff!important;
    background: rgba(0,0,0,0.2)!important;
}
.toggle-project-text {
    display: none;
}
@media (max-width: 1000px) {
    .toggle-project-text {
        display: inline;
        font-size: 19px;
        font-family: 'Assistant', sans-serif;
        font-weight: 600;
        padding: 0;
        background: #fff;
        color: #00015e;
        font-style: italic;
        text-decoration: underline;
    }
    .project__text--hidden {
        display: none;
    }
	.project2 .services-grid {
		padding: 0px 15px;
	}
    .project .project-content {
        flex-direction: column;
    }
    .project .project__text{
        padding-left: 15px;
        padding-right: 15px;
		width: 100%;
    }
	.services .project__text{ 	
		padding-left: 0px;
        padding-right: 0px;
		width: 100%;
	}
    .project .title {
        font-size: 34px;
    }
    .swiper-slide .slider__text .subtitle {
        font-size: 20px;
    }
    .about-text {
        padding-right: 0px;
        margin-bottom: 45px;
    }
    .container_mobile {
        display: block;
    }
    .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
        display: none;
    }
    button:focus {
        background-color: #fff;
    }
    .container-wrap {
        height: auto;
        padding-top: 0px;
        padding-bottom: 0px;
        position: relative;
        background-color: #fff;
        opacity: 1;
    }
    .container-head {
        margin-top: 0px;
        position: relative;
        padding-left: 0px;
        padding-right: 0px;
    }
    .hero {
        margin-top: 0px;
    }
    .swiper-slide .slider__text h1,
	.swiper-slide .slider__text .title{
        font-size: 40px;
    }
    .about {
        padding: 30px 0px 0px 0px;
    }
    .about .container {
        padding: 60px 15px;
    }
    .about-content {
        flex-direction: column;
    }
    .about-text p {
        font-size: 18px;
        padding-right: 0px;
    }
    .about-text h2,
    .section-title { 
        font-size: 34px;
    }
    .about-text h2 {
        margin-bottom: 20px;
    }
    .services {
        padding-top: 0px; 
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 40px;
    }
    .services-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
 		grid-auto-flow: row;
    }
    .registration-left .content h2, .registration-right .content h2 {
        font-size: 34px;
        margin-top: 25px;
    }
    .registration-inner {
        flex-direction: column;
    }
    .contact-section {
        flex-direction: column;
    }
    .contact {
        padding-bottom: 0px;
        padding-top: 30px;
    }
    .registration-left, .registration-right {
        width: auto;
    }
    .registration-left_background, 
    .registration-right_background {
        width: 100%;
    }
    .image-section {
        width: 100%;
        padding: 0px 15px;
        position: relative;
        margin-top: -30px;
        z-index: 9;
        margin: 0 auto;
    }
    .engineer-count {
        position: absolute;
        bottom: -1%;
        left: 50%;
        transform: translate(-50%, 0%);
        width: 207px;
        height: 90px;
    }
    .contact-header {
        font-size: 32px;
        padding-left: 0px;
        text-align: center;
    }
    .info-section {
        width: 100%;
        margin-top: 40px;
    }
    .info-section-background::after {
        width: 0;
    }
    .info-section-background {
        width: 100%;
        padding-bottom: 200px;
        margin-left: -0px;
        padding: 40px 15px;
    }
    .services .container {
        padding: 0px 0px;
    }
    .with-sidebar {
        flex-direction: column;
        padding-left: 25px;
        padding-right: 25px;
    }
    .sidebar {
        width: 100%;
    }
    .main-content {
        width: 100%;
    }
    .post__head h1 {
        font-size: 30px;
    }
    .post__head img {
        width: 100%;
        height: 200px;
        object-fit: cover;
        object-position: center;
    }
    .about-video::before {
        left: -10px;
    }
    .registration-block .container {
        padding: 0px;
    }
    .registration-left, .registration-right {
        padding-left: 15px;
        padding-top: 15px;
        padding-right: 15px;
        padding-bottom: 50px;
    }
    .btn__pc_display {
        display: inline-block;
    }
    .image-section img {
        height: auto;
    }
    .footer-info {
        flex-direction: column;
    }
    .footer-info .column {
        width: 100%;
        margin-bottom: 20px;
    }
    .video-wrapper {
        border-bottom-left-radius: 60px;
    }
    .custom-play-btn {
        width: 110px;
        height: 110px;
    }
    .whatsapp-button a {
        padding: 10px 50px;
    }
    .project .title {
        margin-bottom: 20px;
    }
    .project {
        padding-top: 0px;
    }

}


/* Затемнение фона */
.custom-popup-overlay {
    display: none; /* Скрыто по умолчанию */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 999999;
    align-items: center;
    justify-content: center;
}

/* Само белое окно */
.custom-popup-content {
    background: #fff;
    padding: 40px;
    width: 90%;
    max-width: 800px;
    border-radius: 8px;
    position: relative;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* Кнопка закрытия */
.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #333;
    padding: 10px 20px;
}

/* Класс для фиксации скролла body при открытом окне */
body.popup-opened {
    overflow: hidden;
}

/* Контейнер сетки */
.cf7-grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 колонки одинаковой ширины */
    gap: 15px 20px; /* Отступы: 15px между строками, 20px между колонками */
    margin-top: 20px;
}

/* Общие стили для полей */
.cf7-field input, 
.cf7-field select, 
.cf7-field textarea {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 5px !important;
	font-family: 'Roboto'!important;
  	font-size: 18px!important;
  	color: #343434!important;
}

/* Поля на всю ширину (7-е поле и textarea) */
.cf7-field.full-width {
    grid-column: span 2; /* Растягиваем на обе колонки */
}

/* Стили для textarea */
.cf7-field textarea {
    height: 250px !important;
    resize: vertical;
}

/* Кнопка отправки */
.cf7-submit-wrapper {
    grid-column: span 2;
    text-align: center;
    margin-top: 10px;
}

.cf7-submit-wrapper input[type="submit"] {
    width: 100% !important;
    background: #000 !important;
    color: #fff !important;
    padding: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: 0.3s;
}

.cf7-submit-wrapper input[type="submit"]:hover {
    background: #333 !important;
}

/* Адаптивность: на мобилках всё в одну колонку */
@media (max-width: 600px) {
    .cf7-grid-container {
        grid-template-columns: 1fr;
    }
    .cf7-field.full-width {
        grid-column: span 1;
    }
    .cf7-submit-wrapper {
        grid-column: span 1;
    }
}

/* Скрываем стандартную текстовую подсказку CF7 */
.wpcf7-not-valid-tip {
    display: none !important;
}

/* Стили для невалидного инпута */
.cf7-field .wpcf7-not-valid {
    border: 1px solid #ff0000 !important; /* Красная рамка */
    color: #ff0000 !important;        /* Красный текст при вводе */
}

/* Красный цвет для placeholder (текста внутри) при ошибке */
.cf7-field .wpcf7-not-valid::placeholder {
    color: #ff0000 !important;
    opacity: 1;
}

/* Для старых браузеров */
.cf7-field .wpcf7-not-valid:-ms-input-placeholder { color: #ff0000 !important; }
.cf7-field .wpcf7-not-valid::-ms-input-placeholder { color: #ff0000 !important; }

.wpcf7-response-output {
	display: none!important;
}
.cf7-submit-wrapper .btn {
	margin-top: 0px!important;
}
.checkbox-newsletter .wpcf7-list-item {
	margin-left: 0px!important;
}
.checkbox-newsletter .wpcf7-list-item label {
	display: flex!important;
}

.checkbox-newsletter .wpcf7-list-item label input[type="checkbox"] {
	max-width: 20px!important;
}
.footer__contact {
	margin-top: -130px;
	margin-left: -70px;
}
.footer__contact .container p {
	z-index: 99;
	position: relative;
	font-family: 'Roboto';
	font-weight: 400;
	font-size: 18px;
}
@media (max-width: 1000px) { 
	.footer__contact {
		margin-top: 0px;
		margin-left: 0px;
	}
	.footer__contact .container {
		width: 90%;
	}
	.footer__contact .container p {
		margin: 15px 0;
		text-align: left;
		display: block;
	}
	.footer__contact .container p span {
		display: block;
	}
	
	
}

.thanks-container h3 {
    margin-bottom: 10px;
}
.thanks-container .btn-ok {
    background: #000 !important;
    color: #fff !important;
    padding: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: 0.3s;
}