* {
    font-family: "Montserrat", sans-serif !important;
    font-style: normal;
}
.header {
  display: flex;
  justify-content: center;
  background-color: #fff;
  /* position: stycky; */
  z-index: 3;
  top: 0;
  flex-wrap: wrap;
}
.btn__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 3rem;
}

.container-header {
    background-color: white;
    background-image: none;
    color: black;
    max-width: 1440px;
  	width: 100%;
  	padding-bottom: 1rem;
    display: flex;
    align-items: center;
    margin-right: auto;
    margin-left: auto;
    gap: 40px;
    box-shadow: none;
    /* position: fixed; */
}
/* castom */
.tehnika__wrapper {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}
.tehnika__item {
    text-align: center;
    width: 100%;
    max-width: 411px;
    padding: 10px 0;
}
.tehnika__item img {
    max-height: 191px;
        max-width: 237px;
}
h4.tehnika__cap {
    font-size: 16px;
    font-weight: 700;
}


.mw-x {
    max-width: 1500px;
}
.m-0{
    margin: 0;
}
.brand__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.kontakty-line a {
    color: aliceblue;
    text-decoration: none !important;
}

.container-header .container-nav {
    display: flex;
    align-items: center;
    gap: 40px;
}

.container-header .mod-menu {
    color: black;
    justify-content: center;
}

.grid-child {
    width: auto;
}

.container-bottom-a,
.container-bottom-b {
    grid-column: full-start / full-end;
}

.container-header .navbar-brand {
    max-width: 365px;
}

.contact-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.navbar-brand a {
    font-size: 24px;
    align-items: center;
    color: #ff881a !important;
    text-decoration: none;
    gap: 5px;
}

/* Стили Banner Баннер */

.hero-section {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh;
    background: url("/images/banners/first-banner.webp") no-repeat center
        center/cover;
}
.hero-container {
    display: flex;
    justify-content: flex-start;
    max-width: 1440px;
    width: 100%;
    padding: 6vw;
    box-sizing: border-box;
}
.hero-content {
    color: white;
    max-width: 570px;
    text-align: left;
}
.hero-content h1 {
    font-size: 48px;
    margin: 0;
}
.hero-content p {
    font-size: 16px;
    margin: 10px 0 20px 0;
}
.hero-content .cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #ff6600;
    color: white;
    text-decoration: none;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s;
}
.hero-content .cta-button:hover {
    background-color: #e65500;
}

/* Стили Banner О Компании */

.company-section {
    max-width: 1440px;
    margin: 0 auto;
}
.company-wrapper {
    display: flex;
}
.company-text-wrapper {
    padding: 3vw 6vw 0;
    width: 160%;
}

.company-background {
    background: url(/images/o-kompanii.png) no-repeat;
    width: 100%;
    background-size: cover;
}
.company-section h2 {
    font-size: 40px;
    margin-bottom: 20px;
}
.company-section p {
    font-size: 16px;
    /*max-width: 60vw;*/
    line-height: 1.5;
    margin-bottom: 40px;
}
.certificates {
    padding: 0 6vw 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}
.certificate {
    flex: 1;
    min-width: 200px;
    max-width: 400px;
}
.certificate img {
    width: 100%;
    height: auto;
}
.cta-button {
    display: block;
    width: fit-content;
    margin: 40px auto 0;
    padding: 15px 30px;
    background-color: #ff6600;
    color: white;
    text-decoration: none;
    font-size: 1.2em;
    border-radius: 5px;
    border: none;
    transition: background-color 0.3s;
    text-align: center;
}
.cta-button:hover {
    background-color: #e65500;
}

/* Стили Banner Каталог услуг */

.services-section {
    margin: 0 auto;
    padding: 40px 20px;
    color: white;
    background: url(/images/banners/katalog-uslug.png) no-repeat center center /
        cover;
    margin-top: 5em;
}
.services-header {
    font-size: 54px;
    text-align: center;
    margin-bottom: 40px;
}
.services-container {
    max-width: 1440px;
    margin: auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 40px;
    border-radius: 10px;
}
.service-wrapper {
    display: flex;
    justify-content: space-around;
}
.service-column {
    margin: 0 20px;
}
.service-column a {
    text-decoration: none;
    color: white;
}
.service-column a:hover {
    color: #ff6600;
}

.service-column h3 {
    font-size: 24px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}
.service-column h3 img {
    margin: 5px;
}
.service-column ul {
    list-style: none;
    padding: 0;
    gap: 15px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    max-height: 20em;
}
.service-column li {
    font-size: 16px;
    margin-bottom: 10px;
    margin-right: 40px;
}
.cta-button {
    display: block;
    width: fit-content;
    margin: 40px auto 0;
    padding: 15px 30px;
    background-color: #ff6600;
    color: white;
    text-decoration: none;
    font-size: 1.2em;
    border-radius: 5px;
    transition: background-color 0.3s;
    text-align: center;
}
.cta-button:hover {
    background-color: #e65500;
}

/* Стили Banner Почему обращаются к нам */

.why-section {
    max-width: 1440px;
    margin: auto;
    padding: 6vw;
    background: url("/images/o-kompanii.png") no-repeat;
    background-position: right 100px;
}

.why-section h2 {
    font-size: clamp(36px,4vw,54px);
}

.why-section h3 {
    font-size: 24px;
}

.why-content {
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-around;
}

.why-content-card {
   padding-top: 6vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 249px;
    gap: 10px;
    text-align: center;
}

.why-content-card img {
    margin: 0;
}

/* Баннер Контакты */

.kontakty-section {
    background-color: #262626;
    color: white;
    display: flex;
    align-items: center;
    height: 670px;
}

.kontakty-content {
    max-width: 1440px;
    margin: auto;
    padding: 6vw;
    display: flex;
    flex-direction: row;
}

.kontakty-content img {
    margin: 0;
}

.kontakty-line {
    display: flex;
    gap: 5px;
    margin-bottom: 15px;
    margin-top: 15px;
}
.kontakty-section .cta-button {
    margin: 0;
    margin-top: 30px;
}

.kontakty-section .right-column {
    height: 100%;
    width: 50%;
}

/* Стиль футера */
.footer {
    background-color: #262626;
    color: white;
    background-image: none;
    display: flex;
    gap: 50px;
}

.footer ul {
    list-style: none;
}

.footer ul li {
    margin-bottom: 25px;
    margin-top: 25px;
}

.footer .logo,
.footer .socials {
    margin-top: 25px;
}

.footer-section.logo a {
    font-size: 24px;
    align-items: center;
    color: #ff881a !important;
    text-decoration: none;
    gap: 5px;
}

.footer-section.logo p {
    font-size: 24px;
    line-height: 24px;
    margin: 0;
}
/*Стили sub-menu*/
.nav-item:hover {
    color: #ff6600;
}
.nav-item:hover .mod-menu__sub {
    /*display: block !important;*/
    position: absolute;
    background: white;
    width: 25em;
    z-index: 999;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.nav-item:hover .mod-menu__sub a {
    color: black;
}

.nav-item:hover .mod-menu__sub a:hover {
    color: #ff6600;
}

/* стили для материалов каталога услуг */
.service-item-grid {
    display: grid;
    grid-template-areas:
        "service-image service-title"
        "service-image service-description"
        "service-image service-info";
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
}

.service-image {
    grid-area: service-image;
}

.service-title {
    grid-area: service-title;
}

.service-description {
    grid-area: service-description;
}

.service-info {
    grid-area: service-info;
}

.service-button {
    grid-area: service-button;
}

.service-catalog-container {
  max-width: 1440px;
    margin: auto;
}

.service-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #ff6600;
    color: white;
    text-decoration: none;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s;
}
.service-button:hover {
    background-color: #e65500;
}
@media (max-width: 768px) {
    .service-item-grid {
        grid-template-areas:
            "service-title"
            "service-description"
            "service-image"
            "service-info";
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
}
/* Модальное окно */
.modal-content {
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    border: none;
}

.modal-header {
    border-bottom: none;
    padding-bottom: 0;
}

.modal-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

.form-control {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
}

textarea.form-control {
    height: 100px;
}

.custom-checkbox {
    margin-right: 10px;
}

label span {
    font-size: 14px;
    color: #333;
}

.btn-submit {
    width: 100%;
    padding: 15px;
    background-color: #ff7e23;
    border: none;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    text-transform: uppercase;
}

.btn-submit:hover {
    background-color: #e76e1d;
}
  
  .close {
      border: none;
    background: none;
    font-size: 36px;}


.service-info .cta-button {
    margin: 0 0 0 2em;
}
.uslugi {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    max-width: 1440px;
    margin: 20px auto;
    justify-content: space-between;
}
.usluga {
    display: flex;
    max-width: 33.2%;
    background: #b00000;
    padding: 20px;
    width: 100%;    
    background-repeat: no-repeat;
    background-position: right;
    background-size: 35%;
    text-decoration: none;
    transition: 0.2s;
}
.usl1 {
    background-image: url(/images/list-uslug/1-3.png);
}
.usl2 {
    background-image: url(/images/list-uslug/2-3.png);
}
.usl3 {
    background-image: url(/images/list-uslug/3-3.png);
}
.usl4 {
    background-image: url(/images/list-uslug/4-3.png);
}
.usl5 {
    background-image: url(/images/list-uslug/5-3.png);
}
.usl6 {
    background-image: url(/images/list-uslug/6-3.png);
}
.usl7 {
    background-image: url(/images/list-uslug/7-3.png);
}
.usl8 {
    background-image: url(/images/list-uslug/8-3.png);
}
.usl9 {
    background-image: url(/images/list-uslug/gidro.webp);
}
.usl10 {
    background-image: url(/images/list-uslug/10-3.png);
}
.usl11 {
    background-image: url(/images/list-uslug/products.webp);
  	background-size: 60%;
  	background-position-x: 120%;
}
.usl12 {
    background-image: url(/images/list-uslug/12-3.png);
}
.usl13 {
    background-image: url(/images/list-uslug/remco.webp);
}
.usl14 {
    background-image: url(/images/list-uslug/14.png);
}
.usl15 {
    background-image: url(/images/list-uslug/15.png);
}
.usl16 {
    background-image: url(/images/list-uslug/16.png);
}
.usl17 {
    background-image: url(/images/list-uslug/17.png);
}
.usl18 {
    background-image: url(/images/list-uslug/18.png);
}
.usl19 {
    background-image: url(/images/list-uslug/19.png);
}
.usl20 {
    background-image: url(/images/list-uslug/20.png);
}
.usl21 {
    background-image: url(/images/list-uslug/21.png);
}
.usl22 {
    background-image: url(/images/list-uslug/22.png);
}
.usluga:hover {
    background-color: #252525;
}
.usluga ul {
    list-style: none;
    width: 65%;
    padding: 0;
}
.usluga h2 {
    font-size: 20px;
    color: white;
}
.usluga li {
    color: white;
    position: relative;
    padding-left: 25px;
}
.usluga li:before {
    content: '';
    background: url(/images/list-uslug/check.png) no-repeat top center;
    position: absolute;
    top: 3px;
    left: 0;
    width: 15px;
    height: 15px;
}
.usluga_link{
    color: white;
    text-decoration: none;
}
.usluga_link:hover{
    color: rgb(131, 131, 131);
}
.whatsapp-button {
  position: fixed;
  right: 20px; /* Отступ слева */
  bottom: 20px; /* Отступ снизу */
  z-index: 1000;
  background-color: #25D366; /* Цвет фона */
  border-radius: 50%; /* Закругленные углы */
  padding: 15px;
  animation: pulse 2s infinite;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3); /* Тень для объема */
  transition: transform 0.3s ease-in-out; /* Анимация при наведении */
}

.whatsapp-button img {
  width: 30px;
  height: 30px;
}

.whatsapp-button:hover {
  transform: scale(1.1); /* Увеличение кнопки при наведении */
}
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
  }
  50% {
    transform: scale(1.05); /* Легкое увеличение */
    box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.4); /* Усиление тени */
  }
  100% {
    transform: scale(1);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
  }
}

/* медиа-запросы */

/* Large desktops and laptops */
@media (max-width: 1280px) {
    .service-column ul {
        max-height: none;
    }
    .footer {
        gap: 0.5em;
    }
}

/* Mobile styles */
@media (max-width: 992px) {
    .header,
    .container-header .grid-child {
        margin: 0;
    }
    .menu-toggle {
        display: block;
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        z-index: 1111;
    }

    .grid-child.container-nav {
        display: none;
        position: absolute;
        top: 0;
        right: 0;
        background: white;
        z-index: 1000;
    }

    /* Base styles */
    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem;
    }

    .nav {
        display: flex;
        align-items: center;
    }

    .nav ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .nav li {
        margin: 0 1rem;
    }

    .contact-info img {
        width: 24px;
        height: 24px;
        margin-left: 0.5rem;
    }
    .hero-content h1 {
        font-size: 24px;
        margin: 0;
    }
    .hero-content p {
        font-size: 14px;
    }
    .hero-content .cta-button {
        display: block;
    }
    .hero-container {
        height: 100%;
    }

    .company-section h2 {
        font-size: 24px;
    }
    .company-section p {
        font-size: 14px;
        max-width: none;
    }
    .company-background {
        display: none;
    }

    .services-container {
        padding: 0;
    }
    .services-header {
        display: none;
    }
    .service-wrapper {
        flex-direction: column;
    }
    .service-column li {
        margin-right: 0;
        text-wrap: nowrap;
    }
    .services-section {
        padding: 1em 0;
    }

    .why-container {
        text-align: center;
        align-items: center;
        display: flex;
        flex-direction: column;
    }
    .why-content {
        flex-direction: column;
        align-items: center;
    }
    .why-section {
        background: none;
    }
    .why-content-card {
        align-items: center;
    }

    .kontakty-section {
        flex-direction: column;
        height: 1028px;
    }
    .kontakty-section .right-column {
        width: 90%;
        padding-bottom: 10%;
    }
    .kontakty-line img {
        width: 36px;
        height: 36px;
    }

    .contact-info img {
        width: 64px;
        height: 64px;
    }

    .footer {
        flex-direction: column;
    }
    .usluga {
        max-width: 49%;
    }
    .usluga h2 {
        font-size: 18px;
    }
    .usluga li {
        font-size: 14px;
    }
}
@media (max-width: 600px) {
    .usluga {
        max-width: 100%;
    }
    .usluga h2 {
        font-size: 16px;
    }
    .usluga li {
        font-size: 13px;
    }
}

/* Desktop styles */
@media (min-width: 993px) {
    .menu-toggle {
        display: none;
    }
}
}


@supports (display:grid) {
    @media (width >= 992px) {
        .site-grid {
            grid-template-areas:
        ".banner banner banner banner."
        ".top-a top-a top-a top-a."
        ".top-b top-b top-b top-b."
        "comp comp comp comp comp comp"
        ".bot-a bot-a bot-a bot-a."
        ".bot-b bot-b bot-b bot-b.";
        }
    }
}

body:not(.has-sidebar-right) .site-grid .container-component {
   		grid-column-end: 12; 
}
body:not(.has-sidebar-left) .site-grid .container-component {
    	 grid-column-start: 1; 
}
.mod-menu__sub {
	display: none !important;
}
.text-full-width {
	text-transform: full-width;
}