:root {
    --font-family: "Nunito Sans", sans-serif;
    --second-family: "Montserrat", sans-serif;
    --white: #fff;
	--grey: #fbfbfb;
	--dark-grey: #3a3a3a;
    --hover-color: #f68317;
	--primary-color: #f68317;
	--hover-primary-color: #f9ab61;
    --hover-btn-primary-color: #fb9a40;

	--light-green: #92b38d;
	--green: #7a9b75;
	--dark-green: #1f4512;

	--transparent: rgba(37, 37, 37, 0);
}

body { font-family: var(--font-family); color: var(--dark-grey); background: var(--white); }
a, a.nav-link{ color: var(--dark-grey); text-decoration: none; transition: all 0.4s ease; }
a { color: var(--primary-color); }
a:hover{ color: var(--hover-primary-color); }

ul.nav .nav-link { padding: 0; }
ul.nav .nav-link.is-active { color: var(--primary-color); }
ul.nav .nav-link:focus { background-color: unset; color: var(--hover-primary-color); }
ul.nav .nav-link:hover{ color: var(--hover-primary-color); }

.btn {
    background: var(--primary-color);
    padding: 8px 35px 10px;
    color: var(--white);
    font: 800 18px / 1.44444 var(--font-family);
    letter-spacing: -0.01em;
    border-radius: 34px;
    text-shadow: 0 0 5px rgba(248, 239, 223, 0.3);
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.15);
    transition: all ease-in-out .3s;
}
.btn:hover, .btn:active, .btn:focus, .btn:focus-visible, .btn:disabled{
    color: var(--white)!important;
    background-color: var(--hover-btn-primary-color)!important;
}

.pager { display: flex; justify-content: center; margin-top: 20px; }
.pager .page-link { box-shadow: none!important; }
.pagination {
    --bs-pagination-color: var(--primary-color);
    --bs-pagination-hover-color: var(--hover-primary-color);
    --bs-pagination-focus-color: var(--primary-color);
    --bs-pagination-active-bg: var(--primary-color);
    --bs-pagination-active-border-color: var(--primary-color);
}

.block-title { font: 700 28px / 1.42857 var(--second-family); text-align: center; color: var(--dark-green); margin-bottom: 40px; }

.search-js-btn {
    display: block;
    position: relative;
    z-index: 11;
}
.search-js-btn > img { margin-right: 1px; }
.search-js-btn > span {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: rotate(45deg);
    font-size: 32px;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.search-js-btn.active > span{
    opacity: 1;
}
.search-js-btn.active img {
    opacity: 0;
}
.search-js-btn > span,
.search-js-btn > img {
    transition: all 0.4s ease;
}

@media screen and (max-width: 1199px) {
}
@media screen and (max-width: 991px) {
    .block-title { font-size: 32px; }
}
@media screen and (max-width: 767px) {
    .block-title { font-size: 26px; }
}
@media screen and (max-width: 575px) {
}
/*==============================HEADER==============================*/
header#header .header-top { padding: 40px 0; }
header#header .header-top .wr-logo { display: flex; flex-direction: row; align-items: center; gap: 30px; }
header#header .header-top .wr-logo .logo { width: 170px; height: 170px; }
header#header .header-top .wr-logo .logo img { width: 170px; height: 170px; object-fit: cover; }
header#header .header-top .wr-logo .logo-text p { font: 600 35px / 1.2 var(--second-family); letter-spacing: -0.01em; color: var(--dark-green); }
header#header .header-top .wr-logo .logo-text p:last-of-type { font: 400 30px / 1.4 var(--second-family); letter-spacing: 0em; margin-top: 2px; }

header#header .header-bottom { background: var(--light-green); }
header#header .header-bottom > .container { display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; gap: 8px; }

header#header .header-bottom .wr-nav ul.nav { display: flex; flex-direction: row; gap: 6px 45px; }
header#header .header-bottom .wr-nav ul.nav .nav-link { font: 800 18px / 1.44444 var(--font-family); letter-spacing: -0.01em; text-align: right; color: var(--white); position: relative; }
header#header .header-bottom .wr-nav ul.nav .nav-link::before { content: ""; position: absolute; bottom: 2px; left: 0; width: 100%; border-bottom: 2px solid var(--white); transition: all 0.3s ease; opacity: 0; }
header#header .header-bottom .wr-nav ul.nav .nav-link.is-active::before { opacity: 1; }
header#header .header-bottom .wr-nav ul.nav .nav-link:hover::before { opacity: 1; }

header#header .header-bottom .wr-search { display: flex; flex-direction: row; align-items: center; gap: 20px; }
header#header .header-bottom .wr-search > a.mail { font: 800 18px / 1.44444 var(--font-family); letter-spacing: -0.01em; color: var(--white); position: relative; }
header#header .header-bottom .wr-search > a.mail::before { content: ""; position: absolute; bottom: 2px; left: 0; width: 100%; border-bottom: 2px solid var(--white); transition: all 0.3s ease; opacity: 0; }
header#header .header-bottom .wr-search > a.mail:hover::before { opacity: 1; }

header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form { position: relative; }
header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form .form-item.form-type-search input {
    border: 3px solid var(--white);
    border-radius: 40px;
    box-shadow: inset 0 4px 4px -1px rgba(12, 12, 13, 0.05);
    background: var(--white);
    padding: 3px 12px;
    padding-right: 40px;
    font-size: 16px;
    line-height: 24px;
    width: 270px;
}
header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form .form-actions { display: block; }
header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form .form-actions button {
    position: absolute;
    background: url(/sites/all/themes/vesta_theme/image/icons/search.svg) no-repeat center !important;
    font-size: 0;
    width: 38px;
    height: 36px;
    border: 0px solid;
    box-shadow: none;
    top: 0;
    right: 0;
    z-index: 2;
}

@media screen and (max-width: 1199px) {
    header#header .header-top .wr-logo .logo { width: 130px; height: 130px; }
    header#header .header-top .wr-logo .logo img { width: 130px; height: 130px; object-fit: cover; }
    header#header .header-top .wr-logo .logo-text p { font-size: 25px; }
    header#header .header-top .wr-logo .logo-text p:last-of-type { font-size: 20px; }
    header#header .header-bottom .wr-nav ul.nav { gap: 6px 20px; }
    header#header .header-bottom .wr-search { gap: 12px; }
    header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form .form-item.form-type-search input { width: 200px; }
    header#header .header-bottom .wr-search .search-api-page-block-form-search.search-api-page-block-form.search-form .form-actions button { padding: 0 25px; }
}
@media screen and (max-width: 991px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 575px) {
}
/*==================================================================*/

/*==============================HEADER=MOB==============================*/
header#header-mob { padding: 6px 12px; background: var(--light-green); }
header#header-mob > div { gap: 16px; }
header#header-mob .wr-logo { display: flex; flex-direction: row; align-items: center; gap: 30px; margin-left: 16px; }
header#header-mob .wr-logo .logo { width: 80px; height: 80px; }
header#header-mob .wr-logo .logo img { width: 80px; height: 80px; object-fit: cover; }
header#header-mob .wr-logo .logo-text { max-width: 250px; }
header#header-mob .wr-logo .logo-text p { font: 600 16px / 1.2 var(--second-family); letter-spacing: -0.01em; color: var(--dark-green); }
header#header-mob .wr-logo .logo-text p:last-of-type { font: 400 14px / 1.4 var(--second-family); letter-spacing: 0em; margin-top: 2px; }

header#header-mob .region.region-search { display: none; margin-top: 6px; }
header#header-mob .region-search form { position: relative; }
header#header-mob .region-search .form-item.form-type-search { width: 100%; }
header#header-mob .region-search .form-item.form-type-search input { padding-right: 60px; }
header#header-mob .region-search .form-actions { display: block; }
header#header-mob .region-search .form-actions button {
    position: absolute;
    background: url(/sites/all/themes/vesta_theme/image/icons/search.svg) no-repeat center !important;
    font-size: 0;
    width: 24px;
    height: 40px;
    padding: 0 30px;
    border: 0px solid;
    box-shadow: none;
    top: 0;
    right: 0;
    z-index: 2;
}

#offcanvasNav .offcanvas-header .wr-logo { display: flex; flex-direction: row; align-items: center; gap: 12px; margin-right: 20px; }
#offcanvasNav .offcanvas-header .wr-logo .logo { width: 80px; height: 80px; }
#offcanvasNav .offcanvas-header .wr-logo .logo img { width: 80px; height: 80px; object-fit: cover; }
#offcanvasNav .offcanvas-header .wr-logo .logo-text p { font: 600 16px / 1.2 var(--second-family); letter-spacing: -0.01em; color: var(--dark-green); }
#offcanvasNav .offcanvas-header .wr-logo .logo-text p:last-of-type { font: 400 14px / 1.4 var(--second-family); letter-spacing: 0em; margin-top: 2px; }

#offcanvasNav .offcanvas-body { font: 600 18px / 1.44444 var(--font-family); }
#offcanvasNav .offcanvas-body .region-navigation { margin-bottom: 20px; }

@media screen and (max-width: 460px) {
    header#header-mob .wr-logo .logo-text { display: none; }
}
/*======================================================================*/

/*==============================SLIDER==============================*/
#slider-block { margin-top: -30px; }
#slider-block .view.view-slayder { background: var(--green); }
#slider-block .node.node--type-slide .content { text-align: center; color: var(--white); min-height: 226px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 64px 90px 41px 90px; }
#slider-block .node.node--type-slide .content .field.field--name-field-slide-title { font: 600 28px / 1.42857 var(--second-family); margin-bottom: 10px;}
#slider-block .node.node--type-slide .content .field.field--name-body { font: italic 600 20px / 1.4 var(--font-family); margin-bottom: 40px; }
#slider-block .node.node--type-slide .content .field.field--name-field-slide-link a {
    display: block;
    background: var(--primary-color);
    padding: 8px 35px 10px;
    color: var(--white);
    font: 800 18px / 1.44444 var(--font-family);
    letter-spacing: -0.01em;
    border-radius: 34px;
    text-shadow: 0 0 5px rgba(248, 239, 223, 0.3);
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.15);
    transition: all ease-in-out .3s;
}
#slider-block .node.node--type-slide .content .field.field--name-field-slide-link a:hover { color: var(--white)!important; background: #f58e2e; }
#slider-block ul.slick-dots { margin: 0; padding-bottom: 20px; position: relative; gap: 0px }
#slider-block ul.slick-dots::before { content: ""; border-bottom: 3px solid var(--light-green); position: absolute; top: 0; width: 100%; }
#slider-block ul.slick-dots li button { background-color: var(--light-green); border-radius: 10px; width: 300px; height: 3px; position: relative; transition: background-color .3s ease; }
#slider-block ul.slick-dots li.slick-active button { background-color: var(--primary-color); }

@media screen and (max-width: 1199px) {
}
@media screen and (max-width: 991px) {
    #slider-block button.slick-next.slick-arrow { right: 16px; }
    #slider-block button.slick-prev.slick-arrow { left: 16px; }
}
@media screen and (max-width: 767px) {
    #slider-block .node.node--type-slide .content { padding: 45px 60px 40px 60px; }
    #slider-block button.slick-next.slick-arrow { right: 5px; }
    #slider-block button.slick-prev.slick-arrow { left: 5px; }
}
@media screen and (max-width: 575px) {
}
/*==================================================================*/

/*==============================ABOUT==============================*/
#about-block .region.region-about #block-vesta-theme-onasnaglavnoy .block-title { font: 600 42px / 0.95238 var(--second-family); letter-spacing: -0.01em; color: var(--dark-green); margin-bottom: 50px; }
#about-block .region.region-about #block-vesta-theme-onasnaglavnoy .field.field--name-body::before { content: ""; position: absolute; width: 3px; height: 100%; left: 0; background: var(--light-green); border-radius: 10px; }
#about-block .region.region-about #block-vesta-theme-onasnaglavnoy .field.field--name-body { font: 700 19px / 1.31579 var(--font-family); letter-spacing: -0.02em; color: var(--dark-grey); padding-left: 27px; position: relative; margin-bottom: 50px; }
#about-block .img-about-banner { width: 100%; height: auto; object-fit: cover; border-radius: 10px; margin-bottom: 40px; }
#about-block .wr-cta { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 30px; border: 3px solid var(--green); border-radius: 10px; padding: 54px 30px; box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.15); background: var(--grey); }
#about-block .wr-cta > p { font: 700 20px / 1.3 var(--font-family); color: var(--dark-green); }
#about-block .wr-cta > a.btn { flex: 0 0 auto; }

@media screen and (max-width: 1199px) {
}
@media screen and (max-width: 991px) {
    #about-block .wr-cta { padding: 25px 16px; }
    #about-block .region.region-about #block-vesta-theme-onasnaglavnoy .block-title { font-size: 36px; }
}
@media screen and (max-width: 767px) {
    #about-block .wr-cta { flex-direction: column; align-items: center; text-align: center; }
    #about-block .region.region-about #block-vesta-theme-onasnaglavnoy .block-title { font-size: 26px; }
}
@media screen and (max-width: 575px) {
}
/*=================================================================*/

/*==============================GALLERY==============================*/
#gallery-block .view.view-fotogalereya .view-footer { font: 800 18px / 1.44444 var(--font-family); letter-spacing: -0.01em; text-align: center; color: var(--primary-color); text-shadow: 0 0 5px rgba(248, 239, 223, 0.3); margin-top: 38px; }
/*===================================================================*/

/*==============================CALLBACK==============================*/
#callback-block { background: var(--green); margin-bottom: 0px!important; }
#callback-block .region-callback { display: flex; flex-direction: row; gap: 30px; padding: 80px 0; }
#callback-block .region-callback #block-vesta-theme-svyazhitessnami { width: 100%; max-width: 500px; }
#callback-block .region-callback #block-vesta-theme-svyazhitessnami .block-title { font: 700 28px / 1.42857 var(--second-family); color: var(--white); text-align: left; }
#callback-block .region-callback #block-vesta-theme-svyazhitessnami .field.field--name-body { font: 800 22px / 1.27273 var(--font-family); color: var(--white); padding-left: 27px; position: relative; }
#callback-block .region-callback #block-vesta-theme-svyazhitessnami .field.field--name-body::before {
    content: "";
    position: absolute;
    width: 3px;
    height: 100%;
    left: 0;
    background: var(--light-green);
    border-radius: 10px;
}

#callback-block .region-callback #block-vesta-theme-vebforma { width: 100%; max-width: 570px; }
#callback-block .region-callback #edit-privacy--description { font: 600 17px / 1.17647 var(--font-family); color: var(--white); }
#callback-block .region-callback #edit-privacy--description a { color: white; text-decoration: underline; text-decoration-skip-ink: none; }
#callback-block .region-callback #edit-privacy--description a:hover { color: #e1e1e1; }
#callback-block .region-callback .webform-button--submit.btn { width: 100%; padding: 10px 0 12px 0; }

#callback-block .webform-submission-form.webform-submission-callback-form .form-item.form-type-checkbox input[type="checkbox"] { border-color: var(--white); }
#callback-block .webform-submission-form.webform-submission-callback-form .form-item.form-type-checkbox input[type="checkbox"].error { border-color: #dc3545; }
#callback-block .webform-submission-form.webform-submission-callback-form .form-item.form-type-checkbox input[type="checkbox"]:hover { border-color: var(--hover-color); }
#callback-block .webform-submission-form.webform-submission-callback-form .form-item.form-type-checkbox input[type="checkbox"]:checked { background-color: var(--hover-color); border-color: var(--hover-color); }

@media screen and (max-width: 1199px) {
}
@media screen and (max-width: 991px) {
    #callback-block .region-callback { padding: 50px 0; }
    #callback-block .region-callback #block-vesta-theme-svyazhitessnami { width: 60%; }
    #callback-block .region-callback #block-vesta-theme-svyazhitessnami .block-title { margin-bottom: 20px; }
    #callback-block .region-callback #block-vesta-theme-svyazhitessnami .field.field--name-body { padding-left: 14px; }
    #callback-block .region-callback #block-vesta-theme-svyazhitessnami .field.field--name-body { font-size: 16px; }
}
@media screen and (max-width: 767px) {
    #callback-block .region-callback { flex-direction: column; }
    #callback-block .region-callback #block-vesta-theme-svyazhitessnami { width: 100%; }
}
@media screen and (max-width: 575px) {
}
/*====================================================================*/

/*==============================FOOTER==============================*/
footer#footer .footer-top { padding: 40px 0; display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
footer#footer .footer-top .wr-logo { display: flex; flex-direction: row; gap: 20px; max-width: 399px; }
footer#footer .footer-top .wr-logo .logo { width: 116px; height: 116px; }
footer#footer .footer-top .wr-logo .logo img { width: 116px; height: 116px; object-fit: cover; }
footer#footer .footer-top .wr-logo .logo-text { height: 100%; display: flex; flex-direction: column; gap: 24px; }
footer#footer .footer-top .wr-logo .logo-text p { font: 700 17px / 1.35294 var(--second-family); color: var(--dark-green); }
footer#footer .footer-top .wr-logo .logo-text p:last-of-type { font: 400 16px / 1.4375 var(--second-family); }

footer#footer .footer-top .wr-nav { display: flex; flex-direction: column; }
footer#footer .footer-top .wr-nav > a { font: 800 22px / 1.27273 var(--font-family); color: var(--dark-green); display: flex; flex-direction: column; }
footer#footer .footer-top .wr-nav > a:hover { color: var(--green); }
footer#footer .footer-top .wr-nav > a::after { content: "";  width: 100%; height: 3px; background: var(--light-green); border-radius: 10px; margin: 12px 0; }
footer#footer .footer-top .wr-nav ul.nav { display: flex; flex-direction: column; flex-wrap: wrap; gap: 10px 30px; max-height: 70px; }
footer#footer .footer-top .wr-nav ul.nav .nav-item a { font: 700 19px / 1.31579 var(--font-family); letter-spacing: -0.02em; color: var(--dark-green); }
footer#footer .footer-top .wr-nav ul.nav .nav-item a:hover { color: var(--green); }

footer#footer .footer-top .wr-contacts .region-footer-contacts .field.field--name-body { display: flex; flex-direction: column; gap: 12px; }
footer#footer .footer-top .wr-contacts .region-footer-contacts .field.field--name-body::after { display: none; }
footer#footer .footer-top .wr-contacts .region-footer-contacts .field.field--name-body p { font: 700 19px / 1.31579 var(--font-family); letter-spacing: -0.02em; color: var(--dark-green); }
footer#footer .footer-top .wr-contacts .region-footer-contacts .field.field--name-body a { font: 800 22px / 1.27273 var(--font-family); }

footer#footer hr { height: 3px; background: var(--light-green); margin: 0; opacity: 1; border: none; }
footer#footer .row-copiryght { display: flex; flex-direction: row; justify-content: space-between; padding: 20px 0; font: 600 17px / 1.17647 var(--font-family); color: var(--dark-grey); opacity: 0.8; }
footer#footer .row-copiryght a {  color: var(--dark-grey); opacity: 0.8; }
footer#footer .row-copiryght a:hover { color: #898989; }

@media screen and (max-width: 1199px) {
    footer#footer .footer-top .wr-nav ul.nav { max-height: unset; }
}
@media screen and (max-width: 991px) {
    footer#footer .footer-top { flex-wrap: wrap; gap: 18px; }
    footer#footer .row-copiryght { flex-direction: column; gap: 8px; align-items: center; }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 575px) {
}
/*==================================================================*/
