@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Triodion:wght@100;200;300;400;500;600;700;800;900&display=swap');

:root{
    --font-family: 'Montserrat', sans-serif;
    --font-family-title: 'Triodion', sans-serif;
    --white: #ffffff;
    --boloto: #51664D;
    --green: #6B9D63;
    --green-light: #8AC878;
    --blue-light: #64ADC8;
    --blue: #6B84C4;
    --grey: #747474;
    --beige: #FEFFF9;
    --black: #000000;
    --background-color: #FFFFFF;
    --fz-slider-title: 60px;
    --fz-slider-body: 24px;
    --fz-text: 18px;
    --fz-btn: 18px;
    --fz-nav: 18px;
    --fz-header: 18px;
    --fz-footer: 18px;
    --fz-header-adress: 16px;
    --fz-title-block: 45px;    
    --len-container: 1170px;
    --img-w: 570px;
    --img-h: 435px;
    --bt-w: calc( ( var(--len-container) - 2 * var(--gap) ) / 3 );
    --bt-h: 50px;
    --bs-offcanvas-zindex: 10046;
    --pic-w: 423px;
    --pic-h: 282px; 
    --mb-block: 100px;
    --gap: 30px;
    --logo: 135px;
    --fon-w: 329px;
    --fon-h: 437px;
}

body {
    font-family: var(--font-family);
    background-color: var(--white);
    color: var(--text-color);
}
main{
    min-height: 100vh;
    overflow: hidden;
}

@media (min-width: 1200px) {
    .container{
        max-width: 1170px;
        padding: 0;
    }
}
@media (min-width: 768px) {
    header#header-mob {
        display: none !important;
    }
    header#header {
        display: block !important;
    }
}
@media (max-width: 767px) {
    header#header {
        display: none !important;
    }
    header#header-mob {
        display: flex !important;
    }
    
}
p{
    margin-bottom: 0;
}

.btn-search-header{
    width: 20px;
    height: 21px;
    background-image: url("/sites/all/themes/vesta_theme/image/tabler_search.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
}
.btn-search-header-mob{
    width: 20px;
    height: 21px;
    background-image: url("/sites/all/themes/vesta_theme/image/tabler_searchb.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
}
/*
header .col-search .btn-search-header.active{
    display: none;
} */
header .col-search .region.region-search .form-item.js-form-type-search.form-type-search,
header .col-search .region.region-search .form-actions.js-form-wrapper.form-wrapper{
    display: none;
}

header .col-search .region.region-search.active .form-item.js-form-type-search.form-type-search,
header .col-search .region.region-search.active .form-actions.js-form-wrapper.form-wrapper{
    display: block;
    position: absolute;
    z-index: 1;
}
header .col-search .region.region-search.active .form-item.js-form-type-search.form-type-search {
    right: calc(var(--bt-h) * 3);
    top: 48px;
}
header .col-search .region.region-search.active .form-actions.js-form-wrapper.form-wrapper {
    right: 0;
    top: 50px;
}
.col-search .region.region-search .form-item.js-form-type-search.form-type-search,
.col-search .region.region-search .form-actions.js-form-wrapper.form-wrapper{
    display: none;
}

.col-search .region.region-search.active .form-item.js-form-type-search.form-type-search,
.col-search .region.region-search.active .form-actions.js-form-wrapper.form-wrapper{
    display: block;
    position: absolute;
    z-index: 1;
}
.col-search .region.region-search.active .form-item.js-form-type-search.form-type-search {
    right: calc(var(--bt-h) * 3);
    top: 38px;
}
.col-search .region.region-search.active .form-actions.js-form-wrapper.form-wrapper {
    right: 0;
    top: 40px;
}
.header-bottom{
    position: relative;
}
.region-search .js-form-item input {
    width: 220px;
}
.offcanvas .region-search .js-form-item input {
    border-color: var(--green);
}
.offcanvas .col-search{
    position: relative;
}
.col-search .search-form__submit.button.js-form-submit.form-submit.btn.btn-primary {
    background: var(--green);
    border-radius: 15px;
    border: var(--green) solid 1px;
    color: #FFFFFF;
    height: var(--bt-h);
    width: calc(var(--bt-h) * 3);
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-size: var(--fz-btn);
}
.col-search .search-form__submit.button.js-form-submit.form-submit.btn.btn-primary:hover{
    color: white;
    background-color: var(--boloto) ;
}


.ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
}

/*HEADER STYLES*/
#footer .ajax-progress,
#header .ajax-progress {
    display: none;
}

.header-bottom {
    background: var(--green);
}

.toolbar .toolbar-tab .toolbar-icon {
    padding: 0.75em 1.5em 0.75em 2.5em;
}

/* *** contextual-region *** */
.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: 22px !important;
    height: 22px !important;
    background-size: 14px 14px;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    background: #ccc;
    color: #fff;
    top: -3px;
    right: -9px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 500;
}

#header-mob {
    top: 0;
    width: 100%;
    background: var(--white);
    color: #000;
    padding: 5px 5px;
    z-index: 50;
}

#header-mob.toolbar-horizontal #header-mob {
    top: 0;
}

#header-mob > * {
    padding: 0 10px;
}

#header-mob a {
    color: #000;
}

.offcanvas {
    --bs-offcanvas-bg: var(--white);
}

.offcanvas .offcanvas-title {
    color: #000;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

.region-navigation .nav > .nav-item:hover .dropdown-menu {
    display: block;
    top: 100%;
    left: 0;
}


/*HEADER STYLES*/

/* SLICK STYLES */
div#slider-block .view.view-slayder.view-id-slayder .view-content .node--type-slide .content {
    position: absolute;
    top: 0;
    bottom: calc(1vw + 12px);
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

button.slick-prev.slick-arrow {
    left: 25px;
}

button.slick-next.slick-arrow {
    right: 25px;
}

ul.slick-dots {
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 7px;
    list-style: none;
    margin: 10px 0;
}

ul.slick-dots li button {
    background: #686868;
    border-radius: 50%;
    border: none;
    padding: 0;
    width: 10px;
    font-size: 0;
    height: 10px;
    display: block;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: #272727;
}

button.slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

button.slick-arrow::before {
    content: '';
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-size: 0;
}

button.slick-prev.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(-90deg);
}

button.slick-next.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(90deg);
}

#scrollToTop {
    width: 67px;
    height: 67px;
    background: none;
    text-indent: 0;
    font-size: 0;
    border: 0px;
    outline: 0px;
    display: flex;
    bottom: 120px;
    cursor: pointer;
    position: fixed;
    right: 75px;
    z-index: 10;
    transition: 0.2s;
    padding: 0;
}

/* SLICK STYLES */

/* PRODUCT PAGE STYLES*/
.product-teaser {
    display: flex;
    gap: 50px;
}

.product-teaser .product-teaser-image {
    max-width: 500px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider {
    margin: 0 0 10px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 500px;
    min-width: 500px;
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable {
    margin: 0 -5px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
    margin: 0 5px;
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
    object-fit: cover;
}

.product-teaser .product-teaser-info {
    max-width: 500px;
}

.product-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

.product-view-full button.slick-next.slick-arrow {
    right: -25px;
}


.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

/* PRODUCT PAGE STYLES*/


/* *** ADAPTIVE *** */
@media screen and (max-width: 1199px) {
}

@media screen and (max-width: 991px) {
    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0px solid;
        background: transparent;
        padding: 10px 0;
        border-bottom: 1px solid #BDBDBD;
    }

    #offcanvasNav li.nav-item {
        width: 100%;
    }
}

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

@media screen and (max-width: 576px) {
}
.dropdown-toggle::after {
    content: "";
    position: absolute;
    top: 19px;
    right: 0.5rem;
    background-image: url(/sites/all/themes/vesta_theme/image/Vector.svg);
    background-size: cover;
    width: 12px;
    height: 6px;
    border: none;
}
.offcanvas .dropdown-toggle::after {
    content: "";
    position: absolute;
    top: 19px;
    left: 71px;
    background-image: url(/sites/all/themes/vesta_theme/image/Vectorb.svg);
    background-size: cover;
    width: 12px;
    height: 6px;
    border: none;
}
.offcanvas .region-navigation{
    margin-bottom: 20px;
}
header .nav {
    --bs-nav-link-color: var(--white);
    --bs-nav-link-hover-color: var(--white);
    --bs-nav-link-padding-y: 13px;
}
footer .nav, .offcanvas .nav {
    --bs-nav-link-color: var(--black);
    --bs-nav-link-hover-color: var(--boloto);
}
header .nav-link.is-active, header .nav-link.active, header .nav-link:hover {
    color: var(--white);
    background-color: var(--boloto);
}
footer .nav-link.is-active, footer .nav-link.active, footer .nav-link:hover,
.offcanvas .nav-link.is-active, .offcanvas .nav-link.active, .offcanvas .nav-link:hover {
    color: var(--boloto);
}
footer .navbar-nav .nav-link.is-active, footer .navbar-nav .nav-link.active, footer .navbar-nav .nav-link:hover,
.offcanvas .navbar-nav .nav-link.is-active, .offcanvas .navbar-nav .nav-link.active, .offcanvas .navbar-nav .nav-link:hover {
    color: var(--boloto);
}
.offcanvas .dropdown-menu {
    --bs-dropdown-color: var(-black);
    --bs-dropdown-bg: var(--white);
    --bs-dropdown-link-color: var(--black);
    --bs-dropdown-link-hover-color: var(--boloto);
    --bs-dropdown-link-hover-bg: var(--white);
    --bs-dropdown-link-active-color: var(--green);
    --bs-dropdown-link-active-bg: var(--white);
    font-size: var(--fz-nav);
    color: var(--black);
    background-color: var(--white);
}

.nav-link.dropdown-toggle{
    padding-right: 1.5rem;

}
footer .nav{
    flex-direction: column;
    width: 108px;
    padding: 0;
}
footer .nav.navbar-nav{
    flex-direction: column;
    width: 230px;
    padding: 0;
}
footer #block-vesta-theme-osnovnayanavigaciya{
    width: 108px;
    margin-right: 45px;
}
footer #block-vesta-theme-uslugi{
    width: 230px;
    margin-right: 217px;
}
#block-vesta-theme-uslugi-menu{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-size: var(--fz-nav);
    line-height: 22px;
    color: #6B9D63;
    margin-bottom: 5px;
    margin-top: 5px;
}
footer .nav li a{
    padding: 5px 0;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-btn);
    line-height: 22px;
    color: #000000;
}
.region-navuslugi{
    display: flex;
}
footer .col-uslugi{
    width: fit-content;
}
footer .logo{
    margin-right: 110px;
}
ul.dropdown-menu {
    border-top: none;
    border-top-right-radius: 0;
    border-top-right-radius: 0;
}
.dropdown-menu {
    --bs-dropdown-color: var(--white);
    --bs-dropdown-bg: var(--green);
    --bs-dropdown-link-color: var(--white);
    --bs-dropdown-link-hover-color: var(--white);
    --bs-dropdown-link-hover-bg: var(--boloto);
    --bs-dropdown-link-active-color: var(--white);
    --bs-dropdown-link-active-bg: var(--boloto);
    font-size: var(--fz-nav);
    color: var(--white);
    background-color: var(--green);
}

.header-top{
    padding-top: 8px;
    padding-bottom: 7px;
}
header .col-tel{
    flex-direction: column;
    margin-right: 45px;
}
header .col-tel .tel{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-header);
    line-height: 22px;
    color: #000000;
    text-decoration: none;
}
header .col-tel a:hover, header .col-mail a:hover{
    color: var(--green);
}
header .col-tel .tel img, header .col-mail img, header .col-city img{
    margin-right: 15px;
}
header .col-city .adress{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-header-adress);
    line-height: 20px;
    color: #000000;
}
header .col-city{
    align-items: center;
}
header .col-mail a{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-header);
    line-height: 22px;
    color: #000000;
    text-decoration: none;
}
header .col-city{
    width: 300px;
}
header .col-social .item{
    margin-right: 8px;
}
header .col-social .item.tg{
    margin-right: 0px;
}
header .col-mail, header .logo{
    margin-right: 67px;
}
header .col-social{
    margin-right: 40px;
    align-items: center;
}
.col-header1, .col-header2{
    flex-direction: row;
    align-items: center;
}
.logo a img{
    width: var(--logo);
    height: var(--logo);
    object-fit: cover;
}
.logo a{
    display: flex;
}
.logo{
    width: var(--logo) !important;
    height: var(--logo);
}
.row>* {
    width: unset;
    max-width: 100%;
    padding-right: 0; 
    padding-left: 0;
    margin-top: 0;
}
.header-bottom{
    position: relative;
    padding: 1px 0;
}
.header-bottom .col-search{
    position: absolute;
    right: calc((100vw - var(--len-container)) * 0.5 + 40px);
    top: 15px;
}
.header-bottom ul li a{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-size: var(--fz-nav);
    line-height: 22px;
    color: #FFFFFF;
    text-decoration: none;
    position: relative;
}
.blazy--field-izobrazhenie-baner{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
}
.blazy--field-izobrazhenie-baner img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.media--blazy.media--image{
    width: 100%;
    height: 100%;
}
.blazy--field-izobrazhenie-baner::after{
    content:'';
    position: absolute;
    background: linear-gradient(270deg, rgba(51, 51, 51, 0.6) 0%, rgba(51, 51, 51, 0) 116.27%);
    transform: matrix(-1, 0, 0, 1, 0, 0);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}
.node--type-baner.node--view-mode-teaser{
    padding-top: 141px;
    padding-bottom: 140px;

    .field--name-node-title{
        width: 790px;
        margin-bottom: var(--gap);
    }
    .field--name-node-title h1{
        font-family: 'Triodion';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-slider-title);
        line-height: 98px;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #FFFFFF;
    }

    .field--name-body{
        width: 632px;
        margin-bottom: var(--gap);
    }
    .field--name-body p{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-slider-body);
        line-height: 29px;
        color: #FFFFFF;
        width: 632px;
    }
    .field--name-dynamic-token-fieldnode-zabronirovat{
        padding: 0;
        width: var(--bt-w);
        height: var(--bt-h);
        background: #6B9D63;
        border-radius: 15px;
        cursor: pointer;
    }
    .field--name-dynamic-token-fieldnode-zabronirovat a{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 500;
        font-size: var(--fz-btn);
        line-height: 22px;
        color: #FFFFFF;
        width: var(--bt-w);
        height: var(--bt-h);
        background: #6B9D63;
        border-radius: 15px;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .field--name-dynamic-token-fieldnode-zabronirovat a:hover{
        background-color: var(--boloto);
    }


}
.mb-block{
    margin-bottom: var(--mb-block);
}

.block-title{
    font-family: 'Triodion';
    font-style: normal;
    font-weight: 400;
    font-size: 45px;
    line-height: 74px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 40px;
}

.not-front h1{
    font-family: 'Triodion';
    font-style: normal;
    font-weight: 400;
    font-size: 45px;
    line-height: 74px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 40px;
}


#block-about .block-title{
    margin-bottom: 14px;
}
.node--type-about{
    display: flex;
    justify-content: space-between;
    .left-group{
        width: 500px;
        margin-right: 45px;
    }
    .right-group{
        width: 625px;
    }
}
.node--type-about.node--view-mode-full{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    .left-group{
        width: 500px;
        margin-right: 45px;
    }
    .right-group{
        width: 625px;
    }
}
.node--type-about .field--name-body p{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-text);
    line-height: 22px;
    color: #000000;
}
.node--type-about .field--name-body ul li {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--fz-text);
    line-height: 22px;
    color: #000000;
}
.node--type-about.node--view-mode-teaser .field--name-body{
    margin-bottom: var(--gap);
    margin-top: 26px;
    min-height: 264px;
    max-height: 264px ;
}
.node--type-about .field--name-body{
    margin-bottom: calc( var(--gap) * 2 );
    margin-top: 26px;
}
.node--
.node--type-about.node--view-mode-full .field--name-body{
    margin-bottom: calc( var(--gap) + var(--bt-h) + 30px );
}
.node--type-about .field--name-field-izobrazhenie2{
    width: 500px;
    height: 322px;
    border-radius: 20px;
    overflow: hidden;

    a{
        width: 100%;
        height: 100%;
        display: flex;
    }

    a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}


.node--type-about .field--name-field-izobrazhenie1{
    width: 625px;
    height: 452px;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 45px;

    a{
        width: 100%;
        height: 100%;
        display: flex;
    }

    a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.field--name-node-link, .more-link, .webform-button--submit{
    width: var(--bt-w);
    height: var(--bt-h);
    background: #6B9D63;
    border-radius: 15px;
    cursor: pointer;
}
.field--name-node-link, .more-link{
    margin-bottom: var(--gap);
}
.webform-button--submit{
    margin-bottom: 10px;
}
.field--name-node-link a, .more-link a, .webform-button--submit a{ 
    width: var(--bt-w);
    height: var(--bt-h);
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-size: var(--fz-btn);
    line-height: 22px;
    color: #FFFFFF;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
}
.field--name-node-link a:hover, .more-link a:hover, .webform-button--submit a:hover{
    background-color: var(--boloto);
}
.node--type-preimushchestvo.node--view-mode-teaser{
    width: 195px;
    height: 225px;
    background: #6B9D63;
    border-radius: 20px;
    overflow: hidden;
    padding: 34px 18px 35px 19px;

    .field--name-node-title{
        width: 158px;
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 500;
        font-size: 20px;
        line-height: 24px;
        color: #FFFFFF;
        margin-bottom: 28px;
    }
    .field--name-body p{
        width: 158px;
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 20px;
        color: #FFFFFF;
    }
}
.field--name-field-preimushchestva{
    display: flex;
    justify-content: space-between;
}
.node--type-about.node--view-mode-full .field--name-field-preimushchestva{
    display: flex;
    justify-content: center;
    gap: var(--gap);
}

.field--name-field-izobrazhenie-s{
    border: 4px solid #FEFFF9;
    border-radius: 20px;
    width: 423px;
    height: 282px;
    overflow: hidden;  
    a{
        width: 100%;
        height: 100%;
        display: flex;
    }

    a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
.field--name-field-izobrazhenie-xl{
    border-radius: 20px;
    width: var(--img-w);
    height: var(--img-h);  
    overflow: hidden;
    a{
        width: 100%;
        height: 100%;
        display: flex;
    }

    a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.node--type-usluga.node--view-mode-teaser{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 230px;

    .text-gr{
        width: 370px;
    }
}
.view-uslugi .views-row:nth-child(2n) .node--type-usluga.node--view-mode-teaser{
    flex-direction: row-reverse;
}
.node--type-usluga .field--name-node-title{
    font-family: 'Triodion';
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 39px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 40px;
    margin-top: 35px;
}
.node--type-usluga.node--view-mode-teaser .field--name-body{
    min-height: 236px;
    max-height: 236px;

    p{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-text);
        line-height: 22px;
        color: #000000;
    }
}
.node--type-usluga.node--view-mode-full .field--name-body{
    margin-bottom: 60px;

    p{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-text);
        line-height: 22px;
        color: #000000;
    }
    ul li{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-text);
        line-height: 22px;
        color: #000000;
    }
}
.img-gr{
    position: relative;
}
.view-uslugi .views-row:nth-child(2n+1) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s{
    position: absolute;
    top: 77px;
    left: -177px;
}
.view-uslugi .views-row:nth-child(2n) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s{
    position: absolute;
    top: 77px;
    right: -177px;
}
.node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s{
    position: absolute;
    top: 77px;
    right: -177px;
}
.node--type-usluga.node--view-mode-full .img-gr{
    width: var(--img-w);
    margin-bottom: 30px;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s{
    position: absolute;
    top: 77px;
    right: -177px;
}
.node--type-about.node--view-mode-full .img-gr{
    width: var(--img-w);
    margin-bottom: 30px;
}
.view-uslugi .view-content{
    margin-bottom: var(--gap);
    display: flex;
    gap: 55px;
    flex-direction: column;
}
.more-link{
    margin: 0 auto;
}

.field--name-field-izobrazhenie-veb-forma{
    position: absolute;
    right: 0px;
    bottom: 0px;
    left: 0px;
    top: 0px;
    z-index: -1;
}
.field--name-field-izobrazhenie-veb-forma img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.field--name-field-izobrazhenie-veb-forma::after{
    content: '';
    position: absolute;
    right: 0px;
    bottom: 0px;
    left: 0px;
    top: 0px;
    background: rgba(51, 51, 51, 0.5);
    backdrop-filter: blur(1.5px);
}
.node--type-webform .content-group{
    padding: 56px 0;
    display: flex;
    flex-direction: column;
    align-items: center;

    .field--name-node-title {
        font-family: 'Triodion';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-title-block);
        line-height: 74px;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #FFFFFF;
        margin-bottom: 5px;
    }
    .field--name-body p{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 24px;
        line-height: 29px;
        color: #FFFFFF;
    }
    .field--name-body{
        margin-bottom: 55px;
    }
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--green);
    --bs-btn-border-color: var(--green);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--boloto);
    --bs-btn-hover-border-color: var(--boloto);;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--boloto);;
    --bs-btn-active-border-color: var(--boloto);;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--green-light);
    --bs-btn-disabled-border-color: var(--green-light)
}
.js-form-item input{
    padding: 15px 20px;
    width: calc( ( var(--len-container) - 60px ) / 3 );
    height: 49px;
    background: #FFFFFF;
    border-radius: 15px;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #000000;
    margin-bottom: var(--gap);
}
.ui-dialog-content .js-form-item input{
    padding: 15px 20px;
    width: 320px;
    height: 49px;
    background: #FFFFFF;
    border-radius: 15px;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #000000;
    margin-bottom: 20px;
}
.ui-dialog-titlebar{
    background-color: var(--boloto);
    .ui-dialog-title{
        color: var(--white);
    }
}
.ui-dialog .ui-dialog-content{
    background-color: var(--green-light) !important;
    .description .webform-element-description {
       text-align: start;
    }
    .description{
        width: 255px;
    }
}

button.ui-dialog-titlebar-close {
    background-image: url(/sites/all/themes/vesta_theme/image/krest.svg);
    background-size: cover;
}
.ui-dialog-content .webform-button--submit{
    width: 320px;
    background: var(--boloto);
}
.ui-dialog-content .webform-button--submit:hover{
    background-color: var(--green);
    border-color:  var(--green);
}
.node--type-webform.node--view-mode-full, .node--type-baner.node--view-mode-teaser{
    position: relative;
}
#webform-block{
    .alert-danger {
        position: absolute;
        top: 80px;
    }
    .form-item--error-message{
        position: absolute;
        top: -45px;
        color: var(--white);
    }
    .js-form-item{
        position: relative;
    }
    .js-form-type-checkbox .form-item--error-message{
        top: 37px;
    }

}
#webform-block .webform-submission-callback-form{
    display: flex;
    column-gap: var(--gap);
    flex-wrap: wrap;
    .webform-actions{
        width: 100%;
        display: flex;
        justify-content: center;
    }
}
input.form-checkbox{
    width: 15px !important;
    height: 15px !important;
    margin-right: 10px;
    margin-bottom: 0 !important;
}
.description{
    width: 369px;
}
.description .webform-element-description{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 130%;
    text-align: center;
    color: #FFFFFF;
    a{
        color: var(--white);
    }
    a:hover{
            color: var(--green);
    }
}
.form-type-checkbox{
    display: flex;
    justify-content: center;
    width: 100%;
}
.field--name-field-foto{
    width: calc( ( var(--len-container) - 60px ) / 3 );
    height: 423px;
    border-radius: 20px;
    overflow: hidden;

    a{
        width: 100%;
        height: 100%;
        display: flex;
    }

    a img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
.view-fotogalereya-new .view-content{
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    margin-bottom: var(--gap);
}
#block-vesta-theme-kontakty .field--name-body{
    display: flex;
    flex-wrap: wrap;
    row-gap: 21px;
    .col-social{
        margin-right: 32px;
        align-items: center;
        .item{
            margin-right: 8px;
        }
        .item.tg{
            margin-right: 0;
        }
    }
    .tel{
        margin-right: 40px;
        align-items: center;
        img{
            margin-right: 10px;
        }
        a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-text);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
        a:hover{
            color: var(--boloto);
        }
    }
    .col-mail a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-text);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
    .col-mail a:hover{
            color: var(--boloto);
        }
    .col-mail, .col-city{
        align-items: center;
        img{
            margin-right: 10px;
        }
    }
    .adress{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: var(--fz-text);
        line-height: 22px;
        color: #000000;
    }
    .col-city{
        margin-bottom: 30px;
    }
}
.mapContainer{
    border-radius: 20px;
    overflow: hidden;
}
.footer-top{
    display: flex;
    margin-bottom: 42px;
}
footer{
    padding: 40px 0 20px 0;
}
footer .col-contacts{
    width: 325px;
    
    .col-social{
        margin-bottom: 20px;
        align-items: center;
        .item{
            margin-right: 8px;
        }
        .item.tg{
            margin-right: 0;
        }
    }
    .tel.d-flex{
        margin-bottom: 10px;
        align-items: center;
        a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
        a:hover{
            color: var(--boloto);
        }
        img{
            margin-right: 10px;
        }
    }
    .col-mail{
        margin-bottom: 10px;
        align-items: center;
        img{
            margin-right: 10px;
        }
    }
    .col-city{
        align-items: start;
        img{
            margin-right: 10px;
        }
    }
    .col-mail a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
    .col-mail a:hover{
            color: var(--boloto);
        }
    .adress{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 22px;
        color: #000000;
    }
}
.row-copiryght{
    display: flex;
    justify-content: space-between;
    .col-rights{
        width: 202px;
    }
    .col-webvesta{
        width: 283px;
    }
    .col-rights, .col-rights a, .col-webvesta a{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 12px;
        line-height: 15px;
        color: #747474;
        text-decoration: none;
    }
    .col-rights a:hover, .col-webvesta a:hover{
        color: var(--boloto);
    }
}
.offcanvas .col-contacts{
    width: 325px;
    margin-bottom: 20px;
    .col-social{
        margin-bottom: 20px;
        align-items: center;
        .item{
            margin-right: 8px;
        }
        .item.tg{
            margin-right: 0;
        }
    }
    .tel.d-flex{
        margin-bottom: 10px;
        align-items: center;
        a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
        a:hover{
            color: var(--boloto);
        }
        img{
            margin-right: 10px;
        }
    }
    .col-mail{
        margin-bottom: 10px;
        align-items: center;
        img{
            margin-right: 10px;
        }
    }
    .col-city{
        align-items: start;
        img{
            margin-right: 10px;
        }
    }
    .col-mail a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
    .col-mail a:hover{
            color: var(--boloto);
        }
    .adress{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 22px;
        color: #000000;
    }
}
#block-vesta-theme-bloknastranicekontakty .field--name-body{    
    .col-social{
        margin-bottom: 20px;
        align-items: center;
        .item{
            margin-right: 8px;
        }
        .item.tg{
            margin-right: 0;
        }
    }
    .tel.d-flex{
        margin-bottom: 10px;
        align-items: center;
        a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
        a:hover{
            color: var(--boloto);
        }
        img{
            margin-right: 10px;
        }
    }
    .col-mail{
        margin-bottom: 10px;
        align-items: center;
        img{
            margin-right: 10px;
        }
    }
    .col-city{
        align-items: start;
        img{
            margin-right: 10px;
        }
    }
    .col-mail a{
            font-family: 'Montserrat';
            font-style: normal;
            font-weight: 400;
            font-size: var(--fz-nav);
            line-height: 22px;
            color: #000000;
            text-decoration: none;
        }
    .col-mail a:hover{
            color: var(--boloto);
        }
    .adress{
        font-family: 'Montserrat';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 22px;
        color: #000000;
        margin-bottom: 30px;
    }
}
#block-vesta-theme-page-title{
    margin: 40px 0;
}
div#vpa-short-wrapper{
    background-color: var(--green-light) !important;
}
.vpa-actions .btn-primary:hover{
    background-color: var(--boloto);
}

footer{
    border-top: 2px solid #6B9D63;
}

.region-map, .region-portfolio, .region-webform .content-group.container, .region-uslugi, .view-uslugi .views-row, .region-about{
    position: relative;
}
.region-map::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    top: -77px;
    right: -43px;
}
.region-map::after{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    bottom: -204px;
    right: -394px;
}
.region-portfolio::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -2;
    top: -249px;
    left: -472px;
}
.region-portfolio::after{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    bottom: -129px;
    right: -513px;
}
.region-webform .content-group.container::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -2;
    top: -297px;
    left: -525px;
}
.region-uslugi::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    top: -270px;
    right: -160px;
}
.region-uslugi::after{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    bottom: -126px;
    left: -27px;
}
.view-uslugi .views-row:nth-child(3)::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    top: -246px;
    left: -381px;
}
.view-uslugi .views-row:nth-child(1)::after{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    top: 77px;
    right: -489px;
}
.view-uslugi .views-row:nth-child(1)::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -1;
    top: -650px;
    right: -565px;
}
.region-about::before{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -2;
    top: -219px;
    left: -504px;
}
.region-about::after{
    content: '';
    position: absolute;
    width: var(--fon-w);
    height: var(--fon-h);
    background-image: url("/sites/all/themes/vesta_theme/image/fon.svg");
    border: none;
    background-size: cover;
    color: transparent;
    background-color: transparent;
    overflow: hidden;
    padding: 0;
    z-index: -2;
    bottom: 83px;
    left: -215px;
}


.view-uslugi .views-row:nth-child(2n) .img-gr .field--name-field-izobrazhenie-xl{
    opacity: 0;
    transform: translateX(-50%);
    transition: all 1.5s ease;
}
.view-uslugi .views-row:nth-child(2n+1) .img-gr .field--name-field-izobrazhenie-xl{
    opacity: 0;
    transform: translateX(50%);
    transition: all 1.5s ease;
}
.view-uslugi .views-row:nth-child(2n) .img-gr .field--name-field-izobrazhenie-s{
    opacity: 0;
    transform: translateX(-300%);
    transition: all 3s ease;
}
.view-uslugi .views-row:nth-child(2n+1) .img-gr .field--name-field-izobrazhenie-s{
    opacity: 0;
    transform: translateX(300%);
    transition: all 3s ease;
}
.view-uslugi .img-gr.show .field--name-field-izobrazhenie-s{
    opacity: 1 !important;
    transform: translateX(0) !important;
}
.view-uslugi .img-gr.show .field--name-field-izobrazhenie-xl{
    opacity: 1 !important;
    transform: translateX(0) !important;
}
.block-system-main-block .img-gr .field--name-field-izobrazhenie-xl{
    opacity: 0;
    transform: translateX(-50%);
    transition: all 1.5s ease;
}
.block-system-main-block .img-gr .field--name-field-izobrazhenie-s{
    opacity: 0;
    transform: translateX(-300%);
    transition: all 3s ease;
}
.block-system-main-block .img-gr.show .field--name-field-izobrazhenie-s{
    opacity: 1 !important;
    transform: translateX(0) !important;
}
.block-system-main-block .img-gr.show .field--name-field-izobrazhenie-xl{
    opacity: 1 !important;
    transform: translateX(0) !important;
}
.not-front main{
    margin-bottom: 40px;
}

@media (min-width: 992px) and  (max-width: 1199px){
    :root{
       --fz-slider-title: 50px;
        --fz-slider-body: 22px;
        --fz-text: 16px;
        --fz-btn: 16px;
        --fz-nav: 16px;
        --fz-header: 16px;
        --fz-footer: 16px;
        --fz-header-adress: 14px;
        --fz-title-block: 45px;    
        --len-container: 960px;
        --img-w: 460px;
        --img-h: 352px;
        --bt-w: calc( ( var(--len-container) - 2 * var(--gap) ) / 3 );
        --bt-h: 46px;
        --pic-w: 423px;
        --pic-h: 282px; 
        --mb-block: 80px;
        --gap: 30px;
        --logo: 120px;
        --fon-w: 286px;
        --fon-h: 380px;
    }

    .container{
        padding: 0;
    }
    header .col-tel {
        margin-right: 20px;
    }
    header .col-mail, header .logo {
        margin-right: 0px;
    }
    header .col-social {
        margin-right: 20px;
    }
    header .col-tel .tel img, header .col-mail img, header .col-city img {
        margin-right: 10px;
    }
    header .col-city {
        width: 274px;
    }
    .nav {
        --bs-nav-link-padding-y: 10px;
    }
    #scrollToTop {
        width: 55px;
        height: 55px;
    }
    .node--type-baner.node--view-mode-teaser {
        .field--name-node-title {
            width: 650px;
        }
        .field--name-node-title h1 {
            line-height: 75px;
        }
        .field--name-body,  .field--name-body p{
            width: 570px;
        }
    }
    .node--type-baner.node--view-mode-teaser {
        padding-top: 81px;
        padding-bottom: 80px;
    }

.node--type-preimushchestvo.node--view-mode-teaser {
    width: 166px;
    height: 202px;
    padding: 28px 10px 29px 11px;
    .field--name-body p {
        width: unset; 
        font-size: 14px;
        line-height: 18px;
    }
    .field--name-node-title {
        width: unset;
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }
}
.node--type-about {
    .left-group {
        width: 405px;
        margin-right: 30px;
    }
    .right-group {
        width: 525px;
    }
}
.node--type-about .field--name-field-izobrazhenie2 {
    width: 405px;
    height: 269px;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie2 {
    width: 405px;
    height: 269px;
}
.node--type-about .field--name-field-izobrazhenie1 {
    width: 525px;
    height: 435px;
}
.node--type-about .field--name-body p{
    line-height: 20px;
}
.node--type-usluga.node--view-mode-teaser {
    .text-gr {
        width: 300px;
    }
}
.node--type-usluga.node--view-mode-teaser {
    gap: 200px;
}
.block-title, .not-front h1 {
    font-size: 40px;
    line-height: 50px;
}
.node--type-usluga .field--name-node-title {
    margin-bottom: 30px;
    margin-top: 25px;
}
.node--type-usluga .field--name-body {
    margin-bottom: 20px;
}
.node--type-usluga .field--name-body  p {
        font-size: var(--fz-text);
        line-height: 20px;
    }
.field--name-field-izobrazhenie-s {
    width: 350px;
    height: 233px;
    margin-bottom: 63px;

}
.node--type-about.node--view-mode-full .field--name-body {
    margin-bottom: calc(var(--gap) + var(--bt-h) + 10px);
}
.view-uslugi .views-row .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    top: 60px !important;
}
.node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 60px !important;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 60px !important;
}
.node--type-webform .content-group .field--name-node-title {
        line-height: 60px;
}
.field--name-field-foto {
    height: 343px;
}
footer .logo {
    margin-right: 50px;
}
footer #block-vesta-theme-uslugi {
    margin-right: 90px;
}
footer .col-contacts {
    width: 317px;
}
}

@media (min-width: 768px) and  (max-width: 991px){
    :root{
       --fz-slider-title: 40px;
        --fz-slider-body: 20px;
        --fz-text: 16px;
        --fz-btn: 16px;
        --fz-nav: 16px;
        --fz-header: 16px;
        --fz-footer: 16px;
        --fz-header-adress: 14px;
        --fz-title-block: 45px;    
        --len-container: 720px;
        --img-w: 422px;
        --img-h: 323px;
        --bt-w: calc( ( var(--len-container) - 2 * var(--gap) ) / 3 );
        --bt-h: 46px;
        --pic-w: 423px;
        --pic-h: 282px; 
        --mb-block: 70px;
        --gap: 20px;
        --logo: 120px;
        --fon-w: 254px;
        --fon-h: 337px;
    }

    .container{
        padding: 0;
    }
    .col-header1, .col-header2{
        flex-direction: column;
        gap: 5px;
    }
    .col-header1{
        align-items: start;
    }
    .col-header2{
        align-items: center;
    }
    header .col-city {
        width: 240px;
    }
    header .col-tel {
        margin-right: 0px;
        gap: 5px;
    }
    header .col-mail, header .logo {
        margin-right: 0px;
    }
    header .col-social {
        margin-right: 0px;
    }
    header .col-tel .tel img, header .col-mail img, header .col-city img {
        margin-right: 10px;
    }
    .nav {
        --bs-nav-link-padding-y: 10px;
    }
    #scrollToTop {
        width: 55px;
        height: 55px;
    }
    .node--type-baner.node--view-mode-teaser {
        .field--name-node-title {
            width: 530px;
        }
        .field--name-node-title h1 {
            line-height: 62px;
        }
        .field--name-body,  .field--name-body p{
            width: 460px;
        }
    }
    .node--type-baner.node--view-mode-teaser {
        padding-top: 71px;
        padding-bottom: 70px;
    }
.node--type-baner.node--view-mode-teaser {
    .field--name-dynamic-token-fieldnode-zabronirovat a {
        line-height: 20px;
    }
    .field--name-body p {       
        line-height: 25px;
    }
}
.node--type-about.node--view-mode-full .field--name-body {
    margin-bottom: var(--gap) !important;
}
.node--type-preimushchestvo.node--view-mode-teaser {
    width: 166px;
    height: 202px;
    padding: 28px 10px 29px 11px;
    .field--name-body p {
        width: unset; 
        font-size: 14px;
        line-height: 18px;
    }
    .field--name-node-title {
        width: unset;
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }
}
.node--type-about.node--view-mode-teaser {
    flex-direction: column-reverse;
    align-items: center;
}
.node--type-about {
    .left-group {
        width: 100%;
        margin-right: 0px;
    }
    .right-group {
        width: 525px;
    }
}
.node--type-about.node--view-mode-teaser .field--name-body {
    margin-bottom: var(--gap);
    margin-top: 26px;
    min-height: unset;
    max-height: unset;
}
.node--type-about .field--name-field-izobrazhenie2 {
       width: 525px;
       height: 325px;
       margin: 0 auto;
}
.node--type-about .field--name-field-izobrazhenie1 {
    width: 525px;
    height: 435px;
}
.field--name-node-link{
    margin: 0 auto 20px auto;
}
.node--type-about .field--name-body p{
    line-height: 20px;
}
.node--type-usluga.node--view-mode-teaser {
    .text-gr {
        width: 227px;
    }
}
.node--type-usluga.node--view-mode-teaser {
    gap: 70px;
}
.block-title, .not-front h1 {
    font-size: 40px;
    line-height: 50px;
}
.node--type-usluga .field--name-node-title {
    margin-bottom: 30px;
    margin-top: 25px;
}
.node--type-usluga .field--name-body {
    margin-bottom: 20px;
}
.node--type-usluga .field--name-body  p {
        font-size: var(--fz-text);
        line-height: 20px;
    }
.field--name-field-izobrazhenie-s {
    width: 300px;
    height: 203px;
    margin-bottom: 63px;

}
.view-uslugi .views-row .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    top: 218px !important;
}
.node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 68px !important;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 68px !important;
}
.view-uslugi .views-row:nth-child(2n+1) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    left: 105px !important;
}
.view-uslugi .views-row:nth-child(2n) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    right: 105px !important;
}
.node--type-webform .content-group .field--name-node-title {
        line-height: 60px;
}
.field--name-field-foto {
    height: 263px;
}
#block-vesta-theme-kontakty .field--name-body {
    .col-social {
        margin-right: 128px;
    }
}
footer .logo {
    margin-right: 20px;
}
footer #block-vesta-theme-uslugi {
    width: 166px;
    margin-right: 20px;
}
footer .nav.navbar-nav {
    width: 160px;
}
footer .col-contacts {
    width: 270px;
}
footer #block-vesta-theme-osnovnayanavigaciya {
    width: 100px;
    margin-right: 25px;
}
.node--type-usluga.node--view-mode-teaser .field--name-body {
    min-height: 236px;
    max-height: 290px;
}
}


@media (min-width: 577px) and  (max-width: 767px){
    :root{
       --fz-slider-title: 32px;
        --fz-slider-body: 16px;
        --fz-text: 14px;
        --fz-btn: 14px;
        --fz-nav: 14px;
        --fz-header: 14px;
        --fz-footer: 14px;
        --fz-header-adress: 14px;
        --fz-title-block: 32px;    
        --len-container: 540px;
        --img-w: 422px;
        --img-h: 323px;
        --bt-w: 270px;
        --bt-h: 46px;
        --pic-w: 423px;
        --pic-h: 282px; 
        --mb-block: 70px;
        --gap: 20px;
        --logo: 55px;
        --fon-w: 254px;
        --fon-h: 337px;
    }

    
    .col-header1, .col-header2{
        flex-direction: column;
        gap: 5px;
    }
    .col-header1{
        align-items: start;
    }
    .col-header2{
        align-items: center;
    }
    header .col-city {
        width: 240px;
    }
    header .col-tel {
        margin-right: 0px;
        gap: 5px;
    }
    header .col-mail, header .logo {
        margin-right: 0px;
    }
    header .col-social {
        margin-right: 0px;
    }
    header .col-tel .tel img, header .col-mail img, header .col-city img {
        margin-right: 10px;
    }
    .nav {
        --bs-nav-link-padding-y: 10px;
    }
    #scrollToTop {
        width: 55px;
        height: 55px;
        bottom: 100px;
        right: 50px;
    }
    .node--type-baner.node--view-mode-teaser {
        .field--name-node-title {
            width: 420px;
        }
        .field--name-node-title h1 {
            line-height: 52px;
        }
        .field--name-body,  .field--name-body p{
            width: 360px;
        }
    }
    .node--type-baner.node--view-mode-teaser {
        padding-top: 56px;
        padding-bottom: 55px;
    }
.node--type-baner.node--view-mode-teaser {
    .field--name-dynamic-token-fieldnode-zabronirovat a {
        line-height: 20px;
    }
    .field--name-body p {       
        line-height: 22px;
    }
}

.node--type-preimushchestvo.node--view-mode-teaser {
    width: 166px;
    height: 202px;
    padding: 28px 10px 29px 11px;
    .field--name-body p {
        width: unset; 
        font-size: 14px;
        line-height: 18px;
    }
    .field--name-node-title {
        width: unset;
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }
}
.node--type-about.node--view-mode-teaser{
    flex-direction: column-reverse;
    align-items: center;
}
.node--type-about {
    .left-group {
        width: 100%;
        margin-right: 0px;
    }
    .right-group {
        width: 100%;
    }
}
.node--type-about .field--name-field-izobrazhenie2 {
       width: 400px;
       height: 300px;
       margin: 0 auto;
}
.node--type-about .field--name-field-izobrazhenie1 {
    width: 400px;
    height: 300px;
    margin: 0 auto 45px auto;
}
.field--name-node-link{
    margin: 0 auto 20px auto;
}
.node--type-about .field--name-body p{
    line-height: 20px;
}
.node--type-usluga.node--view-mode-teaser {
    .text-gr {
        width: 100%;
    }
}
.node--type-usluga.node--view-mode-teaser {
    gap: 20px;
    flex-direction: column-reverse !important;
}
.block-title, .not-front h1 {
    font-size: 40px;
    line-height: 50px;
}
.node--type-usluga .field--name-node-title {
    margin-bottom: 30px;
    margin-top: 25px;
}
.node--type-usluga.node--view-mode-teaser .field--name-body {
    margin-bottom: 20px;
    min-height: unset;
    max-height: unset;
}
.node--type-usluga.node--view-mode-full .field--name-body {
    margin-bottom: 20px;
    min-height: unset;
    max-height: unset;
}
.node--type-usluga .field--name-body  p {
        font-size: var(--fz-text);
        line-height: 20px;
    }
.node--type-usluga.node--view-mode-teaser .field--name-body p {
        font-size: var(--fz-text);
        line-height: 20px;
    }
.field--name-field-izobrazhenie-s {
    width: 300px;
    height: 203px;
    margin-bottom: 63px;
}

.view-uslugi .views-row:nth-child(2n+1) .img-gr .field--name-field-izobrazhenie-xl {
    margin-left: auto;
}
.view-uslugi .views-row:nth-child(2n) .img-gr .field--name-field-izobrazhenie-xl {
    margin-right: auto;
}
.view-uslugi .views-row .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    top: 68px !important;
}
.node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 68px !important;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
    top: 68px !important;
}
.view-uslugi .views-row:nth-child(2n+1) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    left: 0px !important;
}
.view-uslugi .views-row:nth-child(2n) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
    right: 0px !important;
}
.node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
    right: -95px !important;
}
.node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
    right: -95px !important;
}
.node--type-webform .content-group .field--name-body p {
        font-size: 20px;
    }
#webform-block .webform-submission-callback-form {
    flex-direction: column;
}
.js-form-item input {
    width: 390px;
}
.node--type-webform .content-group .field--name-node-title {
        line-height: 60px;
}
.field--name-field-foto {
    height: 325px;
    width: 400px !important;
}
.view-fotogalereya-new .view-content {
    flex-direction: column;
    align-items: center;
}
#block-vesta-theme-kontakty .field--name-body .col-social {
        margin-right: 128px;
}

#block-vesta-theme-kontakty .field--name-body {
    flex-direction: column;
}
.footer-top {
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
footer .logo {
    margin-right: 0px;
}
footer #block-vesta-theme-uslugi {
    width: 140px;
    margin-right: 0px;
}
footer .nav.navbar-nav {
    width: 140px;
}
footer .col-contacts {
    width: 270px;
    align-items: center;
    display: flex;
    flex-direction: column;
}
footer #block-vesta-theme-osnovnayanavigaciya {
    width: 100px;
    margin-right: 35px;
}
.row-copiryght {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}
footer .col-contacts .adress {
        font-size: 14px;
    }
#webform-block .form-item--error-message {
        top: -22px !important;
    }
.node--type-about.node--view-mode-teaser .field--name-body {
    margin-bottom: var(--gap);
    margin-top: 26px;
    min-height: unset;
    max-height: unset;
}
.offcanvas .js-form-item input {
    height: var(--bt-h);
}
.view-uslugi .view-content {
    gap: 20px;
}
}


@media (max-width: 576px){
    :root{
       --fz-slider-title: 32px;
        --fz-slider-body: 16px;
        --fz-text: 14px;
        --fz-btn: 14px;
        --fz-nav: 14px;
        --fz-header: 14px;
        --fz-footer: 14px;
        --fz-header-adress: 14px;
        --fz-title-block: 32px;    
        --len-container: 540px;
        --img-w: 100%;
        --img-h: auto;
        --bt-w: 175px;
        --bt-h: 42px;
        --pic-w: 423px;
        --pic-h: 282px; 
        --mb-block: 50px;
        --gap: 20px;
        --logo: 55px;
        --fon-w: 254px;
        --fon-h: 337px;
    }
    .offcanvas .js-form-item input {
        height: var(--bt-h);
    }
    .node--type-about.node--view-mode-teaser .field--name-body {
        margin-bottom: var(--gap);
        margin-top: 26px;
        min-height: unset;
        max-height: unset;
    }
    
    .col-header1, .col-header2{
        flex-direction: column;
        gap: 5px;
    }
    .col-header1{
        align-items: start;
    }
    .col-header2{
        align-items: center;
    }
    header .col-city {
        width: 240px;
    }
    header .col-tel {
        margin-right: 0px;
        gap: 5px;
    }
    header .col-mail, header .logo {
        margin-right: 0px;
    }
    header .col-social {
        margin-right: 0px;
    }
    header .col-tel .tel img, header .col-mail img, header .col-city img {
        margin-right: 10px;
    }
    .nav {
        --bs-nav-link-padding-y: 10px;
    }
    #scrollToTop {
        width: 55px;
        height: 55px;
        bottom: 30px;
        right: 20px;
    }
    .node--type-baner.node--view-mode-teaser {
        .field--name-node-title {
            width: 100%;
        }
        .field--name-node-title h1 {
            line-height: 46px;
            text-align: center;
        }
        .field--name-body,  .field--name-body p{
            width: 100%;
            text-align: center;
        }
    }
    .node--type-baner.node--view-mode-teaser {
        padding-top: 56px;
        padding-bottom: 55px;
    }
    .node--type-baner.node--view-mode-teaser .field--name-dynamic-token-fieldnode-zabronirovat{
        margin: auto;
    }
    .node--type-baner.node--view-mode-teaser {
        .field--name-dynamic-token-fieldnode-zabronirovat a {
            line-height: 20px;
        }
        .field--name-body p {       
            line-height: 22px;
        }
    }
.offcanvas .col-search .region.region-search.active .form-item.js-form-type-search.form-type-search {
    left: 0;
    right: unset;
}
.offcanvas .col-search .region.region-search.active .form-actions.js-form-wrapper.form-wrapper {
    right: 20px;
}
.field--name-field-izobrazhenie-xl {
    max-width: 400px;
    margin: 0 auto;
}
    .node--type-preimushchestvo.node--view-mode-teaser {
        width: 100%;
        height: 100%;
        padding: 25px 10px 25px 11px;
        .field--name-body p {
            width: unset; 
            font-size: 14px;
            line-height: 18px;
        }
        .field--name-node-title {
            width: unset;
            font-size: 18px;
            line-height: 22px;
            margin-bottom: 20px;
        }
    }
    .node--type-about.node--view-mode-teaser{
        flex-direction: column-reverse;
        align-items: center;
    }
    .node--type-about {
        .left-group {
            width: 100%;
            margin-right: 0px;
        }
        .right-group {
            width: 100%;
        }
    }
    .node--type-about .field--name-field-izobrazhenie2 {
        width: 100%;
        height: auto;
        margin: 0 auto;
        max-width: 400px;
    }
    .node--type-about .field--name-field-izobrazhenie1 {
        width: 100%;
        height: auto;
        max-width: 400px;
        margin: 0 auto 45px auto;
    }
    .field--name-field-preimushchestva {
        flex-direction: column;
        align-items: center;
        gap: var(--gap);
    }
    .field--name-field-preimushchestva .field__item{
        width: 100%;
    }
    .node--type-about .field--name-body {
        text-align: justify;
    }
    .node--type-about.node--view-mode-full .field--name-body {
        margin-bottom: var(--gap) !important;
    }
    .field--name-node-link{
        margin: 0 auto 40px auto;
    }
    .uslugi-block .field--name-node-link{
        margin: 0 auto 0px auto;
    }
    .node--type-about .field--name-body p{
        line-height: 20px;
    }
    .node--type-usluga.node--view-mode-teaser {
        .text-gr {
            width: 100%;
        }
    }
    .node--type-usluga.node--view-mode-teaser {
        gap: 20px;
        flex-direction: column-reverse !important;
    }
    .block-title, .not-front h1 {
        font-size: 35px;
        line-height: 50px;
        text-align: center;
    }
    .node--type-usluga .field--name-node-title {
        margin-bottom: 15px;
        margin-top: 0;
    }
    .node--type-usluga.node--view-mode-teaser .field--name-body {
        margin-bottom: 20px;
        min-height: unset;
        max-height: unset;
    }
    .node--type-usluga.node--view-mode-full .field--name-body {
        margin-bottom: 20px;
        min-height: unset;
        max-height: unset;
    }
    .node--type-usluga.node--view-mode-teaser .field--name-body p {
        font-size: var(--fz-text);
        line-height: 20px;
    }
    .node--type-usluga .field--name-body  p {
            font-size: var(--fz-text);
            line-height: 20px;

        }
    .field--name-field-izobrazhenie-s {
        width: 65%;
        height: auto;
        margin-bottom: 0px;
        max-width: 285px;
    }
    .img-gr {
        margin-bottom: 100px !important;
    }
    .view-uslugi .view-content {
        gap: 30px;
    }
    .view-uslugi .views-row:nth-child(2n+1) .img-gr .field--name-field-izobrazhenie-xl {
        margin-left: auto;
        max-width: 400px;
        margin-right: auto;
    }
    .view-uslugi .views-row:nth-child(2n) .img-gr .field--name-field-izobrazhenie-xl {
        margin-right: auto;
        max-width: 400px;
        margin-left: auto;
    }
    .view-uslugi .views-row .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
        top: unset !important;
        bottom: -88px;
    }
    .node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
        top: unset !important;
        bottom: -88px;
    }
    .node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
        top: unset !important;
        bottom: -88px;
    }
    .view-uslugi .views-row:nth-child(2n+1) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
        left: 30% !important;
    }
    .view-uslugi .views-row:nth-child(2n) .node--type-usluga.node--view-mode-teaser .field--name-field-izobrazhenie-s {
        right: 30% !important;
    }
    .node--type-usluga.node--view-mode-full .field--name-field-izobrazhenie-s {
        right: 30% !important;
    }
    .node--type-about.node--view-mode-full .field--name-field-izobrazhenie-s {
        right: 30% !important;
    }
    .node--type-webform .content-group .field--name-body p {
            font-size: 20px;
        }
    #webform-block .webform-submission-callback-form {
        flex-direction: column;
        align-items: center;
    }
    .node--type-webform .content-group .field--name-body {
        margin-bottom: 20px;
        width: 80%;
        text-align: center;
    }

    .js-form-item input {
        width: 390px;
    }
    .node--type-webform .content-group .field--name-node-title {
            line-height: 60px;
    }
    .field--name-field-foto {
        height:325px;
        width: 100% !important;
        max-width: 380px;
        margin: 0 auto;
    }
    .view-fotogalereya-new .view-content {
        flex-direction: column;
        align-items: center;
        .views-row{
            width: 100%;
        }
    }

    #block-vesta-theme-kontakty .field--name-body .col-social {
            margin-right: 128px;
    }
    .description {
        width: 80%;
    }
    #block-vesta-theme-kontakty .field--name-body {
        flex-direction: column;
    }
    .footer-top {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    footer .logo {
        margin-right: 0px;
    }
    footer #block-vesta-theme-uslugi {
        width: 140px;
        margin-right: 0px;
    }
    footer .nav.navbar-nav {
        width: 140px;
    }
    footer .col-contacts {
        width: 270px;
        align-items: center;
        display: flex;
        flex-direction: column;
    }
    footer #block-vesta-theme-osnovnayanavigaciya {
        width: 100px;
        margin-right: 35px;
    }
    .row-copiryght {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        align-items: center;
    }
    footer .col-contacts .adress {
            font-size: 14px;
            width: 210px;
        }
    #webform-block .form-item--error-message {
        top: -22px !important;
    }
}

.block-system-main-block h3 a{
    color: var(--black);
}
.block-system-main-block h3 a:hover{
    color: var(--boloto);
}