@charset "utf-8";
@import "callback-btn.css";
@import "callback-modal.css";
@import "typography.css";

/* Класс для увеличения картинки */

.zoom-img {}


/* Класс для галлереи */

.gallery {}


/* Класс для формы */

.form-submit-toggle {}


/* Класс для кнопки заказать звонок */

.callback-toggle {
    cursor: pointer;
}

.elementPage>h1 {
    display: none;
}


/******** Magnific-Popup *********/

.mfp-fade.mfp-bg {
    opacity: 0;
    transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}


/******* Image Cover ********/

.img-cover {
    background-size: cover;
    background-position: center;
}

.img-cover_inited>img {
    visibility: hidden;
}


/**********************************/

.main {
    display: flex;
}

.component {
    width: 100%;
}

.left,
.right {
    width: 30%;
}

@font-face {
    font-family: 'Neothic';
    src: url(../fonts/Neothic.ttf) format('truetype');
}

@font-face {
    font-family: 'BAHNSCHRIFT';
    src: url(../fonts/BAHNSCHRIFT.TTF) format('truetype');
}

@font-face {
    font-family: 'Oswald';
    src: url(../fonts/Oswald-VariableFont_wght.ttf) format('truetype');
}

@font-face {
    font-family: 'SitkaI';
    src: url(../fonts/SitkaI.ttf) format('truetype');
}

@font-face {
    font-family: 'TildaSans';
    src: url(../fonts/TildaSans-VF.ttf) format('truetype');
}

@font-face {
    font-family: 'ProximaNova';
    src: url(../fonts/ProximaNova-Regular.ttf) format('truetype');
    font-weight: 400;
}

@font-face {
    font-family: 'ProximaNova';
    src: url(../fonts/ProximaNova-Bold.ttf) format('truetype');
    font-weight: 700;
}

body {
    color: #1D1D1D;
    font-size: 16px;
    font-family: "TildaSans";
    font-weight: 300;
    background: url(../images/decBodyBg.svg) no-repeat left 10px;
}

body p {
    margin-top: 0;
    margin-bottom: 10px;
}

.h1,
h1 {
    font-family: "Neothic";
    font-size: 30px;
    margin: 0 0 70px;
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1;
}

.h1 span,
h1 span {
    font-size: 60px;
    color: #EFE7D9;
    display: block;
}

.wrapper {
    max-width: 1920px;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wrapLabel {
    position: relative;
    margin-bottom: 0;
}

.wrapLabel span {
    font-weight: 300;
    color: #000000;
    padding-left: 25px;
    font-size: 17px;
    display: block;
    position: relative;
    line-height: 1;
}

.wrapLabel span a {
    color: #000000;
}

.wrapLabel span:before {
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    top: calc(50% - 8px);
    content: '';
    border: 1px solid #BAAA96;
}

.wrapLabel span:after {
    position: absolute;
    width: 8px;
    height: 8px;
    left: 4px;
    top: calc(50% - 4px);
    content: '';
    background: #6C9051;
    opacity: 0;
}

.modalF .wrapLabel span:after {
    background: #fff;
}

.wrapLabel input:checked+span:after {
    opacity: 1;
}

.wrapLabel input {
    width: 10px !important;
    height: 10px !important;
    left: 0 !important;
    top: 0 !important;
    position: absolute !important;
    opacity: 0 !important;
}

.flexSA {
    display: flex;
    justify-content: space-around;
}

.flexSB {
    display: flex;
    justify-content: space-between;
}

.flexCenter {
    display: flex;
    justify-content: center;
}

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

.flexW {
    display: flex;
    flex-wrap: wrap;
}

.flexColumn {
    display: flex;
    flex-direction: column;
}

.flexStart {
    display: flex;
    justify-content: flex-start;
}

.flexEnd {
    display: flex;
    justify-content: flex-end;
}

.btnStyle1 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    height: 51px;
    background: #6C9051;
    font-size: 16px;
    font-weight: 700;
    font-family: 'ProximaNova';
    color: #fff;
    border-radius: 50px;
    padding: 0 45px;
    cursor: pointer;
    transition: all 0.4s;
}

.btnStyle1:hover {
    text-decoration: none;
    color: #fff;
    background: #6AB94A;
}

.btnStyle2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    height: 51px;
    border: 1px solid #6C9051;
    font-size: 16px;
    font-weight: 700;
    padding: 0 25px;
    border-radius: 50px;
    font-family: 'ProximaNova';
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.4s;
    color: #000;
}

.btnStyle2:hover {
    text-decoration: none;
    color: #fff;
    background: #6AB94A;
    border: 1px solid #6AB94A;
}


/*header*/

.wrapHeader {
    padding: 15px 0 105px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wrapHeader .leftHeader {
    flex: 1;
}

.wrapHeader>ul {
    display: flex;
    justify-content: flex-start;
    gap: 35px;
    align-items: center;
}

.wrapHeader>ul a {
    font-size: 23px;
    display: inline-block;
    color: #1D1D1D;
}

.wrapHeader>ul a.catalog {
    display: flex;
    height: 60px;
    gap: 25px;
    align-items: center;
    border: 1px solid #DDD6CD;
    border-radius: 40px;
    padding: 6px 30px 6px 5px;
}

.wrapHeader>ul a.catalog:before {
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: #DDD6CD;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../images/mainBtn.svg);
}

.wrapHeader>ul a.catalog+ul {
    display: none;
}

.wrapHeader .rightHeader {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    gap: 30px;
    align-items: center;
}

.wrapHeader .rightHeader a {
    padding-left: 30px;
    font-size: 19px;
    display: inline-block;
    color: #1D1D1D;
}

.wrapHeader .phone {
    background: url(../images/iconPhone.svg) no-repeat left center;
}

.wrapHeader .mail {
    background: url(../images/iconMail.svg) no-repeat left center;
}

.wrapHeader .logo {
    flex: none;
    margin-bottom: -100px;
}


/*End header*/


/*topBlockVideo*/

.topBlockVideo .h1,
.topBlockVideo h1 {
    text-align: center;
    margin-bottom: 40px;
}

.topBlockVideo .h1 span,
.topBlockVideo h1 span {
    color: #000;
}

.topBlockVideo {
    margin-bottom: 40px;
}

.promoVideo {
    position: relative;
}

.containerVideo {
    max-width: 1900px;
    width: 100%;
    margin: 0 auto;
    padding: 0 25px;
}

.promoVideo {
    height: 680px;
    width: 100%;
    position: relative;
}

.promoVideo video {
    object-fit: cover;
    object-position: center;
    width: 100%;
    overflow: hidden;
    border-radius: 0px 150px;
    height: 100%;
    z-index: 2;
    position: relative;
}


/*End topBlockVideo*/


/*topBlock*/

.topBlock {
    display: flex;
    justify-content: space-between;
    padding-left: calc((100% - 1240px) / 2);
    margin-bottom: 180px;
    position: relative;
}

.topBlock .txtBlock {
    width: 500px;
    flex: none;
    position: relative;
    z-index: 2;
}

.topBlock .imgSlider {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -135px;
}

.topBlock .name {
    font-size: 39px;
    font-family: "Neothic";
    text-transform: uppercase;
    margin-bottom: 50px;
    line-height: 1.1;
}

.topBlock .decName {
    font-size: 37px;
    color: #6C9051;
    font-family: "Neothic";
    text-transform: uppercase;
    margin-bottom: 50px;
    line-height: 1.1;
}

.topBlock .callback-toggle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 19px;
    font-weight: 700;
    font-family: "ProximaNova";
    color: #fff;
    border-radius: 50px;
    background: #6C9051;
    padding: 7px;
    gap: 20px;
    padding-right: 45px;
    line-height: 1;
}

.topBlock .callback-toggle .imgBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    background: rgba(0, 0, 0, .12);
}

.topBlock .callback-toggle .imgBtn img {
    max-width: 80%;
}

.topBlock .txt {
    text-transform: uppercase;
    font-size: 22px;
    font-family: "ProximaNova";
    font-weight: 400;
    margin-top: 75px;
}

.topBlock .videoBlock {
    overflow: hidden;
    border-radius: 500px 0 0 500px;
}

.topBlock .videoBlock img,
.topBlock .videoBlock video {
    max-width: 100%;
}


/*End topBlock*/


/*bannerMainBlock*/

.bannerMainBlock {
    padding-bottom: 85px;
}

.itemsTile {
    display: grid;
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    grid-gap: 125px 60px;
}

.wrapItem {
    position: relative;
}

.item:hover {
    text-decoration: none;
}

.item {
    display: flex;
    justify-content: space-between;
    border: 1px solid #DDD6CD;
    position: relative;
    border-top-right-radius: 170px;
    background: #fff;
    z-index: 1;
    padding: 30px;
    height: 100%;
}

.wrapItem:before {
    position: absolute;
    right: -30px;
    top: -15px;
    content: '';
    background: url(../images/decItem.svg) no-repeat right top/contain;
    width: 125px;
    height: 175px;
    z-index: -1;
}

.item .txtBlock {
    width: 165px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.item .name {
    font-size: 22px;
    font-weight: 700;
    color: #1D1D1D;
    line-height: 1;
    display: block;
    margin-bottom: 30px;
}

.item .chars {
    display: block;
}

.item .chars .name {
    font-weight: 500;
    line-height: 22px;
    font-size: 18px;
    margin-bottom: 15px;
    padding-left: 30px;
    background: url(../images/charsNameIcon.svg) no-repeat left center;
}

.item .charsList {
    font-size: 17px;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    color: #000;
}

.item .imgW {
    position: absolute;
    right: 30px;
    top: 0;
    max-width: 480px;
    bottom: 0;
    display: flex;
    align-items: flex-end;
}

.item .imgW img {
    max-width: 100%;
    max-height: 100%;
}

.btnBuy {
    display: inline-flex;
    justify-content: flex-start;
    gap: 20px;
    align-items: center;
    margin-top: 35px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: underline;
    font-family: "ProximaNova";
    cursor: pointer;
    color: #1D1D1D;
}

.btnBuy .iconBtn {
    width: 51px;
    height: 51px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #6C9051;
    border-radius: 50%;
    transition: all 0.4s;
}

.btnBuy:hover .iconBtn {
    background: #6AB94A;
}


/*End bannerMainBlock*/


/*aboutCompanyBlock*/

.aboutCompanyBlock {
    padding: 85px 0 0;
    margin-bottom: 70px;
    position: relative;
}

.aboutCompanyBlock:before {
    position: absolute;
    content: '';
    width: 612px;
    height: 612px;
    background: url(../images/decBgAC.png) no-repeat center/contain;
    max-height: 75%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: -1;
}

.aboutCompanyBlock:after {
    position: absolute;
    content: url(../images/decBgAC2.png);
    right: calc(50% + 603px);
    top: 0;
    z-index: -1;
}

.acWrap {
    display: flex;
    justify-content: space-between;
    gap: 60px;
}

.acWrap .miniLogo {
    margin-bottom: 40px;
}

.acWrap p {
    font-size: 18px;
    margin: 0;
    line-height: 1.1;
}

.acWrap .txtBlock {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.acWrap img {
    max-width: 100%;
}

.acWrap .imgW {
    position: relative;
}

.acWrap .imgW img:not(.acDecImg) {
    border-radius: 50px;
}

.acWrap .imgW .acDecImg {
    position: absolute;
    right: 0;
    bottom: -85px;
}

.acWrap .rightCol {
    width: 605px;
    flex: none;
    line-height: 1.1;
}

.acWrap .wrapQuote {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
}

.acWrap .quoteTxt {
    position: relative;
    font-size: 25px;
    font-weight: 400;
}

.acWrap .quoteTxt:before {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    content: '';
    width: 45px;
    height: 35px;
    background: url(../images/quoteIcon.png) no-repeat center/contain;
    line-height: 0;
}


/*End aboutCompanyBlock*/


/*preBlock*/

.preBlock {
    padding: 70px 0;
}

.wrapPreBlock {
    display: flex;
    justify-content: space-between;
    gap: 90px;
}

.wrapPreBlock .leftCol {
    width: 325px;
    flex: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.wrapPreBlock .h1 {
    margin-bottom: 35px;
}

.wrapPreBlock .file {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 17px;
    color: #1D1D1D;
    font-size: 16px;
    font-weight: 400;
    text-decoration: underline;
}

.preWrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(100px, 1fr));
    grid-gap: 60px 35px;
}

.nucPre {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    align-items: flex-start;
}

.nucPre .imgW {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #EFE7D9;
    width: 83px;
    height: 83px;
    flex: none;
}

.nucPre .txtBlock {
    padding-top: 25px;
}

.nucPre .name {
    font-weight: 700;
    fz18px;
    line-height: 1;
    margin-bottom: 20px;
}

.nucPre .txt {
    font-size: 17px;
    line-height: 1.1;
}


/*End preBlock*/


/*photoGalleryBlock*/

.photoGalleryBlock {
    padding: 70px 0 130px;
}

.pgSlider {
    position: relative;
    padding: 10px 0;
}

.pgSlide {
    padding: 0 10px;
}

.pgSlider img {
    max-width: 100%;
}

.pgSlider .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0;
    z-index: 2;
    border: 18px solid #fff;
    border-radius: 50%;
    background-color: #6C9051;
    width: 100px;
    height: 100px;
    background-size: 20%;
    background-position: center;
    background-repeat: no-repeat;
}

.pgSlider .slick-prev {
    left: -10px;
    background-image: url(../images/arrowPrev.svg);
}

.pgSlider .slick-next {
    right: -10px;
    background-image: url(../images/arrowNext.svg);
}


/*End photoGalleryBlock*/


/*formBlock*/

.formBlock {
    padding: 130px 0 65px;
}

.formBlock form {
    position: relative;
}

.formBlock form:before {
    position: absolute;
    content: url(../images/decForm.jpg);
    right: -55px;
    top: -225px;
    z-index: -1;
}

.formBlock .topForm {
    background: url(../images/bgFormTop.jpg) no-repeat center/cover;
    min-height: 190px;
    border-radius: 150px;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    padding: 15px 85px;
}

form .wrapForm {
    display: flex;
    justify-content: center;
    border: 1px solid #fff;
    border-radius: 40px;
    width: 525px;
    flex: none;
    overflow: hidden;
}

form .wrapForm input {
    width: 52%;
}

form .wrapForm button {
    width: 48%;
}

form input {
    border: none;
    height: 68px;
    background: none;
    padding: 0 50px;
    font-family: "Bahnschrift";
    font-size: 22px;
    color: #fff;
}

form button {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    color: #1D1D1D;
    border: none;
    font-family: "ProximaNova";
    font-weight: 700;
    transition: all 0.4s;
}

form button:hover {
    color: #fff;
    background: #6AB94A;
}

.formBlock .txt {
    font-weight: 700;
    font-size: 29px;
    color: #fff;
}

.formBlock .wrapLabelCenter {
    display: flex;
    justify-content: center;
    margin-top: 25px;
}


/*End formBlock*/

.mapBlock {
    z-index: 1;
    position: relative;
}

.mapBlock .map {
    position: relative;
    overflow: hidden;
    border-radius: 25px;
    box-shadow: 0 20px 10px 0 rgba(0, 0, 0, .3);
    margin-top: 65px;
}


/*footer*/

footer {
    margin-top: -210px;
    background: #F6F0E8;
    padding: 300px 0 25px;
}

.wrapFooterTop {
    display: flex;
    justify-content: space-between;
    gap: 100px;
}

.wrapFooterTop .name {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 10px;
}

.wrapFooterTop ul a {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.1;
    color: #37332E;
    white-space: nowrap;
    font-family: 'Oswald';
}

.wrapFooterTop .infoCol {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.wrapFooterTop .clockTime {
    font-size: 14px;
    padding-left: 15px;
    position: relative;
    margin-bottom: 15px;
}

.wrapFooterTop .clockTime:before {
    position: absolute;
    left: 0;
    top: calc(50% - 3px);
    width: 5px;
    height: 5px;
    content: '';
    border-radius: 50%;
    background: #6C9051;
    line-height: 1;
}

.wrapFooterTop .phone,
.wrapFooterTop .mail {
    font-size: 18px;
    font-family: "Oswald";
    font-weight: 400;
    line-height: 1;
    color: #37332E;
    margin-bottom: 30px;
}

.wrapFooterTop .adres {
    font-size: 18px;
    font-family: "Oswald";
    font-weight: 400;
    line-height: 1;
    color: #37332E;
}

.wrapBotFooter {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding-top: 35px;
}

.wrapBotFooter .copyright {
    font-family: "Bahnschrift";
    font-stretch: condensed;
    font-weight: 300;
    color: #37332E;
    font-size: 18px;
}

.wrapBotFooter .links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 55px;
}

.wrapBotFooter .links a {
    font-family: "Bahnschrift";
    font-stretch: condensed;
    font-weight: 300;
    color: #6C9051;
    font-size: 18px;
    text-decoration: underline;
}


/*End footer*/


/*insidepage*/

.breadcrumbs ol {
    list-style-type: none !important;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 16px;
    color: #000;
    margin: 10px 0 40px;
    padding: 0;
}

.breadcrumbs a span {
    color: #000;
}

.breadcrumbs .divid {
    color: #000;
    margin: 0 3px 0 3px;
}

.breadcrumbs span {
    color: #AC9780;
}

.contentBlock ul {
    list-style-type: disc;
    padding-left: 15px;
    font-weight: 600;
}

.contentBlock ul li {
    margin-bottom: 20px;
}

.contentBlock ul li::marker {
    color: #6C9051;
}


/*End insidepage*/


/*elementPage*/

.topElement {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: flex-start;
    margin-bottom: 65px;
}

.topElement .rightCol {
    width: 680px;
    flex: none;
    margin-top: -25px;
}

.elementPage {
    margin-top: -30px;
}

.topElement .rightCol .nucTab {
    display: none;
    width: 100%;
}

.topElement .rightCol .nucTab.active {
    display: block;
}

.wrapTP {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 15px;
    margin-bottom: 20px;
}

.nucTP {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid #6C9051;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    border-radius: 20px;
    font-weight: 600;
}

.nucTP.active {
    border: 1px solid #6C9051;
    background: #6C9051;
    color: #fff;
    cursor: default;
}

.topElement .smallSlider {
    width: 100%;
    margin-top: 20px;
    padding: 20px 40px;
    border-radius: 36px;
    border: 1px solid #E4DED3;
}

.smallSlider .slick-arrow {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    transform: translate(0, -50%);
}

.smallSlider .slick-prev,
.smallSlider .slick-next {
    background: url(../images/ico_arrow.png) no-repeat center center;
    width: 17px;
    height: 28px;
}

.smallSlider .slick-prev {
    transform: translateY(-50%) rotate(-180deg);
    left: 14px;
}

.smallSlider .slick-next {
    right: 14px;
}

.smallSlide {
    width: 130px;
}

.smallSlide .imgW {
    padding: 8px 4px;
    transition: .2s;
    border: 3px solid white;
    border-right: 1px solid #E4DED3;
}

.smallSlider img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0 auto;
}

.smallSlider .slick-current .imgW {
    border: 3px solid #e4ded3;
}

.topElement .leftCol {
    flex: 1;
}

.topElement img {
    max-width: 100%;
}

.topElement .txtImg {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.topElement .chars {
    margin-bottom: 65px;
}

.topElement .btnsLine {
    display: flex;
    justify-content: flex-start;
    gap: 60px;
    align-items: center;
}

.topElement .btnBuy {
    margin-top: 0;
}

.topElement .lineProp {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    border-bottom: 1px solid #EFE7D9;
    font-size: 17px;
    align-items: center;
    padding-block: 10px;
}

.lineProp .valProp {
    width: 180px;
    flex: none;
    font-weight: 600;
}

.lineProp .nameProp {
    font-size: 20px;
    font-weight: 600;
}

.botElement ul,
.botElement p,
.botElement {
    font-size: 20px;
}


/*END elementPage*/


/*modalF*/

.modalF {
    background: #658e4e;
    border-radius: 20px;
    max-width: 450px;
    width: 95%;
}

.modalF .callback-modal__headline {
    font-size: 28px;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1;
}

.modalF form button {
    width: 300px;
    margin: 20px auto 0;
    height: 50px;
    border-radius: 50px;
}

.modalF form textarea {
    border-radius: 20px;
    border: 1px solid #fff;
    padding: 15px;
    resize: none;
    width: 100%;
    height: 120px;
    background: none;
    margin-bottom: 10px;
    font-family: "Bahnschrift";
    font-size: 22px;
    color: #fff;
}

.modalF form input {
    border-radius: 20px;
    border: 1px solid #fff;
    padding: 0 15px;
}


/*End modalF*/


/*wrapCatSections*/

.wrapCatSections {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    padding-bottom: 30px;
}

.nucSection {
    max-width: 385px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.nucSection .imgW {
    width: 100%;
    max-height: 280px;
}

.nucSection .imgW img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nucSection .name {
    font-size: 20px;
    display: flex;
    align-items: center;
    text-align: center;
    position: relative;
    color: #1D1D1D;
    font-weight: 500;
}

.nucSection .name:before {
    content: '';
    display: inline-block;
    width: 2px;
    height: 10px;
    background: #6c9051;
    margin: 0 10px;
}


/*End wrapCatSections*/

.wrapYp a {
    color: #6d9151;
}


/* --- Media styles --- */

@media screen and (max-width:1630px) {
    .containerVideo {
        padding: 0 15px
    }
    .promoVideo {
        height: 600px;
    }
}

@media screen and (min-width:1300px) {
    .wrapper .container {
        width: 1230px;
    }
}

@media screen and (max-width:1499px) {
    .topBlock .imgSlider {
        width: 700px;
    }
    .topBlock .imgSlider img {
        max-width: 100%;
    }
    .containerVideo {
        padding: 0 10px
    }
    .promoVideo {
        height: 460px;
    }
}

@media screen and (max-width:1299px) {
    .topBlock {
        padding-left: calc((100% - 1140px) / 2);
    }
    .promoVideo {
        height: 400px;
    }
    .topBlockVideo .h1,
    .topBlockVideo h1 {
        margin-bottom: 20px;
    }
    .topBlockVideo .h1 span,
    .topBlockVideo h1 span {
        font-size: 45px;
    }
    .topBlock .imgSlider {
        width: 550px;
    }
    .topBlock .name {
        font-size: 34px;
        margin-bottom: 30px;
    }
    .topBlock .decName {
        font-size: 32px;
        margin-bottom: 30px;
    }
    .topBlock .txt {
        margin-top: 40px;
    }
    .topElement .rightCol {
        width: 530px;
    }
}

@media screen and (max-width:1199px) {
    .topElement .rightCol {
        margin-top: 0;
    }
    .topBlockVideo .h1 span,
    .topBlockVideo h1 span {
        font-size: 40px;
    }
    .topBlock {
        padding-left: calc((100% - 940px) / 2);
    }
    .topBlock .imgSlider {
        left: 58%;
    }
    .wrapHeader ul a.catalog {
        gap: 10px;
    }
    .wrapHeader ul {
        gap: 10px;
    }
    .wrapHeader .rightHeader {
        gap: 15px;
    }
    .wrapHeader ul a.catalog {
        padding: 5px 10px;
        height: auto;
    }
    .wrapHeader ul a.catalog::before {
        display: none;
    }
    .wrapHeader ul a {
        font-size: 20px;
    }
    .wrapHeader .rightHeader a {
        padding-left: 19px;
        font-size: 17px;
    }
    .topBlock .name {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .topBlock .decName {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .topBlock .callback-toggle {
        font-size: 16px;
    }
    .topBlock .callback-toggle {
        gap: 10px;
    }
    .topBlock .txt {
        margin-top: 25px;
        font-size: 16px;
    }
    .topBlock .callback-toggle .imgBtn {
        width: 45px;
        height: 45px;
    }
    .h1 span,
    h1 span {
        font-size: 46px;
    }
    .h1,
    h1 {
        margin: 0 0 50px;
        font-size: 26px;
    }
    .item .imgW {
        max-width: 65%;
    }
    .item {
        padding: 20px;
    }
    .btnBuy .iconBtn {
        width: 40px;
        height: 40px;
    }
    .btnBuy {
        gap: 10px;
    }
    .itemsTile {
        grid-gap: 80px 35px;
    }
    .aboutCompanyBlock {
        padding: 40px 0 0;
        margin-bottom: 40px;
    }
    .acWrap .rightCol {
        width: 465px;
        max-width: 100%;
    }
    .acWrap .txtBlock {
        gap: 15px;
    }
    .acWrap .miniLogo {
        margin-bottom: 20px;
    }
    .acWrap .quoteTxt {
        font-size: 22px;
    }
    .acWrap {
        gap: 30px;
    }
    .wrapPreBlock {
        gap: 20px;
    }
    .nucPre .imgW {
        width: 60px;
        height: 60px;
    }
    .preWrap {
        grid-gap: 20px 15px;
    }
    .wrapPreBlock .h1 {
        margin-bottom: 30px;
    }
    .wrapPreBlock .leftCol {
        width: 295px;
    }
    .preBlock {
        padding: 35px 0;
    }
    .pgSlider .slick-arrow {
        width: 60px;
        height: 60px;
        border: 8px solid #fff;
    }
    .photoGalleryBlock {
        padding: 55px 0;
    }
    .formBlock .topForm {
        flex-direction: column;
        gap: 20px;
    }
    .formBlock .txt {
        font-size: 26px;
        text-align: center;
    }
    .wrapFooterTop {
        gap: 50px;
    }
    .wrapBotFooter .links {
        gap: 15px;
    }
    .mapBlock .map {
        margin-top: 20px;
    }
    .formBlock form::before {
        right: -64px;
    }
    .topBlockVideo {
        padding-top: 15px;
    }
}

.mainMob {
    display: none;
    width: 30px;
    height: 20px;
    flex-direction: column;
    justify-content: space-between;
    z-index: 2;
    margin-right: 15px;
}

.mainMob .line {
    height: 2px;
    width: 100%;
    border-radius: 2px;
    background: #6C9051;
    position: relative;
    transition: all 0.4s;
}

.mainMob .line:nth-child(2):before {
    position: absolute;
    inset: 0;
    content: '';
    border-radius: 2px;
    background: #6C9051;
    transition: all 0.4s;
}

@media screen and (max-width:991px) {
    .topBlockVideo .h1 span,
    .topBlockVideo h1 span {
        font-size: 34px;
    }
    .promoVideo {
        height: 300px;
    }
    .topElement {
        flex-direction: column-reverse;
        align-items: center;
    }
    .topElement .leftCol {
        width: 100%;
    }
    .topElement .rightCol {
        max-width: 530px;
        width: 100%;
    }
    /*  .openMainMob{
        overflow: hidden;
    }*/
    .openMainMob .mainMob .line:nth-child(1),
    .openMainMob .mainMob .line:nth-child(3) {
        opacity: 0;
    }
    .openMainMob .mainMob .line:nth-child(2) {
        transform: rotate(45deg);
    }
    .openMainMob .mainMob .line:nth-child(2):before {
        transform: rotate(-90deg);
    }
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: #ffffff;
        border-bottom: 1px solid #6C9051;
        z-index: 50;
    }
    .wrapper {
        padding-top: 110px;
    }
    .mainMob {
        display: flex;
    }
    .wrapHeader .rightHeader {
        flex: auto;
    }
    form input {
        height: 52px;
        padding: 0 30px;
    }
    .wrapHeader .catalogWrapper {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        padding: 15px;
        border-block: 2px solid #6C9051;
    }
    .wrapHeader ul li {
        text-align: center;
        margin-bottom: 10px;
    }
    .wrapHeader ul li:last-child {
        margin-bottom: 0;
    }
    .wrapHeader ul a.catalog {
        justify-content: center;
    }
    .wrapFooterTop .mainCol {
        display: none;
    }
    .wrapBotFooter {
        flex-direction: column;
        gap: 15px;
    }
    .wrapBotFooter .links {
        gap: 10px;
    }
    .wrapHeader {
        padding: 10px 0;
    }
    .wrapHeader .leftHeader {
        flex: auto;
    }
    .wrapHeader .logo {
        margin-bottom: 0;
    }
    /*.wrapHeader .rightHeader{
    justify-content: center;
}
.wrapHeader{
    flex-direction: column;
    gap: 10px;
}*/
    header .logo img {
        width: 120px;
    }
    .topBlock .imgSlider {
        display: none;
    }
    .topBlock {
        padding-left: 15px;
        margin-bottom: 35px;
    }
    .topBlock .txtBlock {
        width: 340px;
    }
    .h1 span,
    h1 span {
        font-size: 40px;
    }
    .h1,
    h1 {
        margin: 0 0 30px;
        font-size: 24px;
    }
    .itemsTile {
        grid-gap: 40px 35px;
    }
    .bannerMainBlock {
        padding-bottom: 30px;
    }
    .acWrap {
        flex-direction: column;
        gap: 65px;
        align-items: center;
    }
    .acWrap .wrapQuote {
        margin-bottom: 15px;
    }
    .wrapPreBlock {
        flex-direction: column;
        gap: 30px;
    }
    .wrapPreBlock .leftCol .btnStyle1 {
        margin-top: 30px;
    }
}

@media screen and (max-width:767px) {
    .promoVideo {
        height: 159px;
    }
    .promoVideo video {
        border-radius: 0px 40px;
    }
    .modalF form input,
    .modalF form textarea {
        font-size: 18px;
    }
    .modalF form input {
        padding: 0 10px;
    }
    .modalF form textarea {
        padding: 10px;
        border-radius: 15px;
    }
    .modalF form button {
        max-width: 100%;
    }
    .wrapHeader .rightHeader {
        flex-wrap: wrap;
        gap: 5px;
    }
    .topBlock .name {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .topBlock .decName {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .topBlock .txt {
        margin-top: 20px;
        font-size: 14px;
    }
    .topBlock {
        flex-direction: column;
        padding: 15px;
    }
    .topBlock .videoBlock {
        border-radius: 0;
    }
    .itemsTile {
        grid-template-columns: repeat(1, minmax(200px, 1fr));
    }
    .acWrap .imgW .acDecImg {
        width: 120px;
        bottom: -50px;
    }
    .preWrap {
        grid-template-columns: repeat(1, minmax(100px, 1fr));
    }
    .acWrap .quoteTxt {
        font-size: 18px;
    }
    .formBlock form::before {
        display: none;
    }
    .formBlock .topForm {
        border-radius: 0;
        padding: 15px;
    }
    .formBlock {
        padding: 40px 0 35px;
    }
    form .wrapForm {
        width: 90%;
        display: flex;
        flex-direction: column;
        gap: 10px;
        border: none;
        border-radius: 0px;
    }
    form .wrapForm input {
        width: 100%;
        border: 1px solid #fff;
        border-radius: 40px;
    }
    form .wrapForm button {
        width: 100%;
        border-radius: 40px;
        height: 52px;
    }
    .wrapBotFooter .links {
        flex-direction: column;
    }
}

@media screen and (max-width:675px) {}

@media screen and (max-width:640px) {}

@media screen and (max-width:600px) {
    .smallSlide {
        width: 95px;
    }
    .topElement .btnsLine {
        flex-direction: column;
        gap: 15px;
    }
}

@media screen and (max-width:485px) {
    .wrapFooterTop {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
}

@media screen and (max-width:425px) {}

@media screen and (max-width:400px) {}

@media screen and (max-width:370px) {
    .wrapHeader .rightHeader a {
        font-size: 15px;
    }
    header .logo img {
        width: 100px;
    }
}

:root {
    --colorHeaderBg: #BDAE94;
    --colorHeaderStrip: rgba(55, 40, 40, 0.05);
    --colorTextMain: #372828;
    --colorCatalogBorder: #372828;
    --colorCatalogBg: #f8f6e8;
    --colorCatalogMoreBg: #bdae94;
    --colorWhite: #ffffff;
    --radiusCatalogButton: 40px;
    --radiusCatalogMenu: 27px;
}

.headerLogoBlock {
    width: 230px;
    flex: none;
    margin-bottom: -40px;
}

.emailColumn a {
    display: flex;
    align-items: center;
    gap: 6px;
}

.wrapCatalogWrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}

.wrapCatalogWrapper .contact {
    color: #372828;
    font-size: 23px;
    font-style: normal;
    line-height: 21px;
}

.headerMain {
    gap: 50px;
}

.catalogWrapper {
    flex: 1;
}

.catalogButtonText {
    color: #372828;
    font-size: 23px;
    font-style: normal;
    line-height: 21px;
}

.catalogMenuText {
    flex: 1;
    color: #372828;
    font-size: 23px;
    font-style: normal;
    line-height: 21px;
}

.sloganText {
    font-weight: 300;
    letter-spacing: -0.3px;
}

.sloganArrow {
    font-size: 14px;
}

.catalogWrapper {
    position: relative;
}

.catalogButton {
    background-color: transparent;
    cursor: pointer;
    font-size: 23px;
    color: var(--colorTextMain);
    display: flex;
    height: 60px;
    gap: 25px;
    align-items: center;
    border: 1px solid #DDD6CD;
    border-radius: 40px;
    padding: 6px 30px 6px 5px;
}

.catalogButton:hover {
    background-color: #f1e9d3;
}

.catalogButtonIcon {
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: #DDD6CD;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../images/mainBtn.svg);
}

.catalogButtonLine {
    width: 17px;
    height: 2px;
    background-color: var(--colorCatalogBorder);
}

.catalogButtonText {
    white-space: nowrap;
}

.catalogMenu {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    width: 330px;
    background-color: #ffffff;
    border: 1px solid #e5dfd9;
    border-radius: var(--radiusCatalogMenu);
    padding: 36px 27px 34px;
    box-sizing: border-box;
    z-index: 100;
    overflow: hidden;
}

.catalogMenuList {
    list-style: none;
    padding: 0;
}

.catalogMenuItem {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    font-size: 23px;
    border-bottom: 1px solid #e5dfd9;
}

.catalogMenuIcon {
    width: 25px;
    text-align: center;
    font-size: 18px;
}

.catalogMenuText {
    flex: 1;
}

.headerLogoImage {
    max-width: 100%;
    height: auto;
}

.headerPhones {
    display: flex;
    gap: 16px;
    font-size: 15px;
    flex: 1;
    justify-content: flex-end;
}

.phonesColumn {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.phoneRow {
    display: flex;
    align-items: center;
    gap: 6px;
}

.phoneIcon {
    font-size: 14px;
}

.phoneLink {
    color: var(--colorTextMain);
    text-decoration: none;
    white-space: nowrap;
}


/* Мобильная адаптация */

@media (max-width: 991px) {
    .catalogMenu {
        display: block !important;
        border: 0;
        position: static;
        width: 100%;
        margin-top: 0;
        padding: 0;
    }
    .wrapCatalogWrapper {
        flex-direction: column;
    }
    .headerMain {
        flex-direction: column;
        gap: 24px;
    }
    .headerTopBar {
        flex-direction: column;
        align-items: flex-start;
    }
    .headerTopSlogan {
        margin-top: 6px;
        max-width: 100%;
    }
    .catalogWrapper {
        width: 100%;
    }
    .catalogButton {
        width: 100%;
        justify-content: center;
        display: none;
    }
    .headerLogoBlock {
        width: 220px;
        margin-bottom: 0;
    }
    .nucLeftCatalogWrapper {
        width: 100%;
    }
    .catalogMenuItem {
        text-align: left;
    }
    .wrapCatalogWrapper {
        align-items: flex-start;
    }
}

@media (max-width: 575px) {
    .headerTopBar {
        font-size: 13px;
    }
    .catalogMenuText,
    .catalogButtonText {
        font-size: 18px;
    }
    .headerMain {
        gap: 18px;
    }
    .catalogButton {
        padding: 12px 20px;
        font-size: 18px;
    }
    .catalogMenuItem {
        font-size: 18px;
    }
    .phonesColumn {
        width: 100%;
    }
    .phoneRow {
        justify-content: flex-start;
    }
}