/*
Theme Name: Shumailov Digital
Author: Sergei Shumailov
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    padding: 0;
    border: 0;
    margin: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}



table {
    border-collapse: collapse;
    border-spacing: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}



@font-face {
    font-family: 'wix';
    src: url(fnt/wix.ttf);
}

.clear {
    clear: both;
    height: 0px;
}

.clear-5 {
    clear: both;
    height: 5px;
}

.clear-10 {
    clear: both;
    height: 10px;
}

.clear-15 {
    clear: both;
    height: 15px;
}

.clear-20 {
    clear: both;
    height: 20px;
}

.clear-25 {
    clear: both;
    height: 25px;
}


.clear-30 {
    clear: both;
    height: 30px;
}

.clear-35 {
    clear: both;
    height: 35px;
}

.clear-40 {
    clear: both;
    height: 40px;
}

.clear-45 {
    clear: both;
    height: 45px;
}


.clear-50 {
    clear: both;
    height: 50px;
}

.clear-55 {
    clear: both;
    height: 55px;
}

.clear-60 {
    clear: both;
    height: 60px;
}

.clear-65 {
    clear: both;
    height: 65px;
}

.clear-70 {
    clear: both;
    height: 70px;
}

.clear-75 {
    clear: both;
    height: 75px;
}


.clear-80 {
    clear: both;
    height: 80px;
}

.clear-85 {
    clear: both;
    height: 85px;
}


.clear-90 {
    clear: both;
    height: 90px;
}

.clear-95 {
    clear: both;
    height: 95px;
}

.clear-100 {
    clear: both;
    height: 100px;
}

.clear-105 {
    clear: both;
    height: 100px;
}

.clear-110 {
    clear: both;
    height: 110px;
}

.clear-115 {
    clear: both;
    height: 115px;
}

.clear-120 {
    clear: both;
    height: 120px;
}

.clear-125 {
    clear: both;
    height: 125px;
}

.clear-130 {
    clear: both;
    height: 130px;
}

.clear-135 {
    clear: both;
    height: 135px;
}

.clear-140 {
    clear: both;
    height: 140px;
}

.clear-145 {
    clear: both;
    height: 145px;
}

.clear-150 {
    clear: both;
    height: 150px;
}

.clear-155 {
    clear: both;
    height: 155px;
}

.clear-160 {
    clear: both;
    height: 160px;
}

.clear-165 {
    clear: both;
    height: 165px;
}


.clear-170 {
    clear: both;
    height: 170px;
}

.clear-175 {
    clear: both;
    height: 175px;
}

.clear-180 {
    clear: both;
    height: 180px;
}

.clear-185 {
    clear: both;
    height: 185px;
}

.clear-190 {
    clear: both;
    height: 190px;
}

.clear-195 {
    clear: both;
    height: 195px;
}


.clear-200 {
    clear: both;
    height: 200px;
}

.clear-205 {
    clear: both;
    height: 205px;
}

.clear-210 {
    clear: both;
    height: 210px;
}

.clear-220 {
    clear: both;
    height: 220px;
}

.clear-230 {
    clear: both;
    height: 230px;
}

.clear-240 {
    clear: both;
    height: 240px;
}

.clear-250 {
    clear: both;
    height: 250px;
}

.clear-260 {
    clear: both;
    height: 260px;
}

.clear-270 {
    clear: both;
    height: 270px;
}

.clear-280 {
    clear: both;
    height: 280px;
}

.clear-290 {
    clear: both;
    height: 290px;
}

.clear-300 {
    clear: both;
    height: 300px;
}



.mobile-only {
    display: none;
}

.desktop-only {
    display: block;
}

.only-mobile {
    display: none;
}

.only-desktop {
    display: block;
}




.content__single {
    width: 70%;
    margin: 0 auto;
}

.content__single p {
    margin: 20px 0;
}

.content__single b,
.content__single strong {
    font-weight: 600;
}


.content__single em {
    font-style: italic;
}

.content__single ul {
    margin-left: 20px;
    list-style-type: disc;
    margin-bottom: 20px;
}


.popup .forms {
    margin: 2vw 0;
}

.popup .Succes {
    width: 100%;
}

.popup .Frm h2 {
    opacity: .3;
    margin-bottom: 30px;
}

.wpcf7-response-output {
    display: none !important;
}

.popup .adress {
    opacity: .6;
}

.popup {
    background-color: #47201e;
    color: #f8f2e1;
    width: 35vw;
    height: 100%;
    right: -100%;
    top: 0;
    z-index: 999;
    position: fixed;
    transition: right cubic-bezier(1, 0, 0.1, 1) 800ms, right cubic-bezier(1, 0, 0.1, 1) 800ms;
    box-sizing: border-box;
    padding: 2vw 5vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: auto;
}

.popup.opened {
    right: 0;
}

.popup__overlay {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    opacity: 1;
    width: 100%;
    height: 100vh;
    z-index: 1;
    transition: all .5s ease-in-out;
    display: none;
    z-index: 998;
}

.popup__overlay.opened {
    background: rgba(0, 0, 0, 0.5);
}


.menuBtnFixed {
    position: fixed;
    top: 2vw;
    right: 3vw;
    z-index: 998;
    transition: all .2s ease-in-out;
    opacity: 0;
}

.menuBtnFixed.shown {
    opacity: 1;
}

.law {
    width: 90%;
    opacity: .2;
}

.menu svg {
    width: 100%;
    height: auto;

}

.menu svg path {
    fill: #371614;
    /* fill: white; */
}

.header__menu .btn {
    background-color: #371614;
}


.header__menu {
    display: flex;
    align-items: center;
    gap: 2vw;
    justify-content: space-between;
}





body.fixed {
    overflow: hidden;
}

.menu__wrapper {
    display: flex;
    justify-content: space-between;
    margin: 2vw 0;
}

.big li a {
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1.5;
}

.small li a {
    font-size: 1vw;
    font-weight: 600;
    line-height: 1.5;
}


.menu__wrapper ul li a {
    text-transform: uppercase;
    padding: 5px 0;
    display: inline-block;
    position: relative;
    overflow: hidden;
    text-align: left;
    width: unset;
}

.menu__wrapper ul {
    list-style: none;
}

.menu a {
    color: #f8f2e1;
    text-decoration: none;
}

.menu {
    background-color: #47201e;
    color: #f8f2e1;
    width: 45vw;
    height: 100%;
    right: -100%;
    top: 0;
    z-index: 999;
    position: fixed;
    transition: right cubic-bezier(1, 0, 0.1, 1) 800ms, right cubic-bezier(1, 0, 0.1, 1) 800ms;
    box-sizing: border-box;
    padding: 2vw 3vw 2vw 5vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: auto;
}

.menu.opened {
    right: 0;
}

.menu__overlay {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    opacity: 1;
    width: 100%;
    height: 100vh;
    z-index: 1;
    transition: all .5s ease-in-out;
    display: none;
    z-index: 998;
}

.menu__overlay.opened {
    background: rgba(0, 0, 0, 0.5);
}

.site__menu {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
}


.adresses {
    margin-top: 5vw;
}

.copyrights {
    display: flex;
    gap: 6vw;
    margin-top: 5vw;
}

.copyrights .Right {
    width: 45vw;
    flex-shrink: 0;
}

.tel__foter {
    text-decoration: none;
    font-weight: 500;
    margin-top: 20px;
    display: inline-block;
}

.adress__item .btn {
    align-self: flex-start;

    background-color: #f8f2e1;
    border: 1px solid #47201e;
    color: #47201e;
}

.address__info {
    font-size: 2vw;
    font-weight: 600;
    line-height: 1.5;
    text-transform: uppercase;
}

.adress__btn {
    text-transform: uppercase;
    cursor: pointer;
    font-size: .8vw;
}

.adress__btn.active {
    font-weight: 600;
}

.adress__item {
    display: none;
    gap: 10vw;
}

.adress__item.active {
    display: flex;
}

.partner__logo {
    width: 9vw;
    height: 4vw;
    object-fit: contain;
}

.partner {
    box-sizing: border-box;
    text-align: center;
}

.partners {
    display: flex;
    flex-wrap: wrap;
    gap: 5vw;
    justify-content: center;
}

footer {
    margin-top: 10vw;
    margin-bottom: 5vw;
}

.wpcf7 .wpcf7-submit:disabled {
    opacity: .3;
}

.Succes {
    display: none;
}

.send {
    background-color: transparent;
    color: #f8f2e1;
    border: 1px solid #f8f2e1;
    border-radius: 50vw;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .7vw;
    padding: 10px 20px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all .2s ease-in-out;
    text-decoration: none;
    display: inline-block;

    overflow: hidden;
    position: relative;
    vertical-align: top;
    flex-shrink: 0;
    white-space: nowrap;


}

.send:hover {
    background-color: #f8f2e1;
    color: #47201e;
}


.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7-spinner {
    display: none !important;
}

.inputWrapper {
    margin-bottom: 20px;
}

.forms .wpcf7-not-valid-tip {
    color: #ede7d5;
}

input {
    outline: none;
}


.inputFrm::placeholder {
    opacity: .3;
    color: #ede7d5;
    font-weight: 500;
}



.inputFrm {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid #ede7d5;
    color: #ede7d5;
    text-transform: uppercase;
    font-family: 'wix';
    box-sizing: border-box;
    padding: 10px;
    font-size: .7vw;
    width: 100%;
    font-weight: 500;
    letter-spacing: .05vw;
}

.forms input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 12px;
    height: 12px;
    background-color: #ede7d5;
    border-radius: 50%;
}

.forms .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    border: 2px solid #ede7d5;
    box-sizing: border-box;
    border-radius: 50%;
}

.forms .wpcf7-list-item-label::before,
.forms .wpcf7-list-item-label::after {
    content: " ";
}

.forms .wpcf7-list-item-label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    line-height: 22px;
    display: inline-block;
    min-height: 22px;
}

.forms input[type="checkbox"] {
    display: none;
}

.forms .wpcf7-list-item label {
    cursor: pointer;
}


.forms .wpcf7-list-item {
    margin: 0;
}


.forms a {
    color: #ede7d5;
}

.callback_form {
    width: 40%;
    flex-shrink: 0;
}

.callback_title {
    box-sizing: border-box;
    width: 50%;
    flex-shrink: 0;
    padding-left: 10%;
}

.callback {
    background-color: #47201e;
    padding: 0px 0 110px 0;
    color: #ede7d5;
    display: flex;
    justify-content: space-between;
}

.italy__logo {
    display: block;
    width: 9vw;
    height: auto;
}

.italy__block {
    width: 74%;
    margin: 0 auto;
}

.italy__band {
    display: block;
    width: 100%;
    height: auto;
}

.gastro .blocks__wrapper {
    padding-top: 110px;
    padding-bottom: 110px;
}

.blocks__title_item img {
    width: 100%;
    min-height: 100px;
    object-fit: cover;
    margin-top: 80px;
    display: block;
}

.blocks__title .desc {
    text-transform: none;
    font-size: 1vw;
    font-weight: 300;
}

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

.picture {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}






.profitbase {
    height: 90vh;
    width: 100%;
    margin-top: 3vw;
}

.center__slider_wrapper .slick-dots {
    display: flex !important;
    justify-content: center;
    position: relative;
    bottom: -50px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.center__slider_wrapper .slick-dots li {
    margin: 0 5px;
    width: unset;
    height: unset;
}

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

.center-slider-indicator {
    width: 30px;
    height: 12px;
    background-color: #e9e1d1;
    border-radius: 90px;
    cursor: pointer;
    display: block;
    transition: all 0.3s ease;
}

.center__slider_wrapper .slick-active .center-slider-indicator {
    width: 60px;
    background-color: #47201e;
}



.center__slider_item.slick-slide.slick-current.slick-active.slick-center {
    /* height: 80vh; */
    scale: 1;
}

.center__slider_wrapper .slick-track {
    height: 80vh;
    min-height: 700px;
}


.center__slider_item {
    height: 80vh;
    min-height: 700px;
    position: relative;
    /* margin: 0 1vw; */
    transition: all .2s ease-in-out;
    scale: .8;
}

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

.btn {
    background-color: #47201e;
    color: #f8f2e1;
    border-radius: 50vw;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .7vw;
    padding: 10px 20px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all .2s ease-in-out;
    text-decoration: none;
    display: inline-block;

    overflow: hidden;
    position: relative;
    vertical-align: top;
    flex-shrink: 0;
    white-space: nowrap;


}



.animated {
    width: 15vw;
    text-align: center;
    padding: 20px 0px;
}


.animated:hover::after {
    transform: translate3d(0, 0, 0);
}



.animated::before,
.animated::after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
}



.animated::after {
    content: attr(data-replace);
    height: 100%;
    /* top: 0; */
    transform-origin: 100% 50%;
    transform: translate3d(200%, 0, 0);
    transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
    color: #f8f2e1;
}


.animated span {
    display: inline-block;
    transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
}


.animated:hover span {
    transform: translate3d(-200%, 0, 0);
}




.slide__info_desc {
    line-height: 1.25;
    font-size: .8vw;
}

.slide__info_wrapper {
    background-color: #e9e1d1;
    height: 65px;
    width: 13px;
    border-radius: 90px;
    position: relative;
}

.slide__info_tmb {
    background-color: #4d1d1c;
    border-radius: 90px;
    height: 30px;
    width: 13px;

}

.slide__info {
    align-self: flex-end;
    display: flex;
    gap: 1.5vw;
    align-items: center;
}

.info__full {
    display: flex;
    gap: 3vw;
}

.person {
    width: 6.8vw;
    height: 6.8vw;
    object-fit: cover;
    border-radius: 50%;
    margin-top: 2.5vw;

}

.info__full .info__title {
    width: 35vw;
}




.profit .blocks__wrapper {
    min-height: 700px;
}



.slider__item {
    position: relative;
}

.slider_desc {
    background-color: #47201e;
    color: #f8f2e1;
    padding: 60px;
    display: flex;
    gap: 2vw;
    width: 45vw;
    position: absolute;
    z-index: 2;
    top: 5%;
    right: 3%;
}

.slider .slick-dots {
    display: flex !important;
    justify-content: center;
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.slider .slick-dots li {
    margin: 0 5px;
    width: unset;
    height: unset;

}


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

.slider-indicator {
    width: 30px;
    height: 12px;
    background-color: #e9e1d1;
    /* Цвет неактивного индикатора */
    border-radius: 90px;
    cursor: pointer;
    display: block;
    will-change: width, background-position;
    transition: width 0.3s ease;
}

.slick-active .slider-indicator {
    width: 60px;
    background-image: linear-gradient(to right, #e9e1d1 50%, #47201e 50%);
    background-size: 200% 100%;
    background-position: 100% 0;
}








.slider {
    width: 94%;
    height: 82vh;
    margin: 60px auto 0 auto;
}

.slider__block .slider__item img {
    width: 100%;
    height: 82vh;
    object-fit: cover;
}

.desc {
    width: 19vw;
    margin-top: 1.5vw;
}

.info__title h3 {
    margin-bottom: 10px;
}

.info__title {
    width: 25vw;
    flex-shrink: 0;
}

.info {
    display: flex;
    gap: 5vw;
}

h2 {
    color: #4D1C1C;
    font-size: .7vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: .1vw;
    text-transform: uppercase;
}

h3 {
    text-transform: uppercase;
    font-weight: 600;
    font-size: .9vw;
    line-height: 1.75;
}

.margin {
    margin-top: 3.5vw;
}

header .content {
    width: 94%;
}

.content {
    width: 80%;
    margin: 0 auto;
}



.blocks__title {
    flex-shrink: 0;
    width: 50%;
    box-sizing: border-box;
    padding-left: 10%;
    text-transform: uppercase;
    font-size: 2vw;
    font-weight: 600;
    line-height: 1.5;

    position: relative;
    height: auto;
    overflow: hidden;
}



.blocks__title_item {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    transition: opacity 0.5s ease;
}

.blocks__title_item.active {
    opacity: 1;
    position: relative;
    visibility: visible;
}

.blocks__button .btn {
    visibility: hidden;
    background-color: #47201e !important;
    transition: all 0s ease-in-out;
}

.blocks__button.active .btn {
    visibility: visible;
}

.blocks__button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    padding: 45px 90px;
    cursor: pointer;
}

.blocks__button_title {
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: .9vw;
}

.blocks__button.active {
    background-color: #371614;
}



.blocks__buttons {
    width: 40%;
    flex-shrink: 0;
}

.blocks__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.blocks {
    background-color: #47201e;
    color: #f8f2e1;
}

html {
    opacity: 0;
    overscroll-behavior-y: none;
}




.home header {
    position: absolute;
    left: 0;
    top: 2vw;
    width: 100%;
    z-index: 1;
}



.main__picture {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    will-change: transform;
}

.main__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    z-index: -1;
    will-change: transform;
}



.tel {
    font-size: .8vw;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 1px;
    color: #f8f2e1;
}

a {
    color: black;
}

.header__main {
    display: flex;
    align-items: center;
    gap: 2vw;
}



.logo {
    text-decoration: none;
}

.logo svg path {
    /* fill: #47201e; */
    fill: #f8f2e1;
}

.logo svg {
    width: 17vw;
    height: auto;
}

.header__line {
    display: flex;
    align-items: center;
    justify-content: space-between;
}



body {
    font-family: 'wix';
    background-color: #f8f2e1;
    line-height: 1.35;
    font-size: 1vw;
}





.blocks__info_media {
    width: 100%;
    font-size: 15px;
    flex-shrink: 0;
    box-sizing: border-box;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    height: auto;
    overflow: hidden;
    display: none;
    margin-top: 25px;
}



.blocks.about .blocks__button {
    padding: 40px 90px;
}

.blocks.about .blocks__button.active {
    padding: 40px 90px;
}




.gastro .blocks__wrapper {
    justify-content: flex-end;
    align-items: flex-start;
}

.gastro .blocks__title_item {
    /* padding: 90px; */
    box-sizing: border-box;
    width: 85%;
    /* background-color: rgb(55, 22, 20); */
}

.gastro .blocks__title {
    padding-left: 0;
}




.floor_poly {
    fill: rgb(77, 28, 28);
    opacity: 0;
    transition: all .2s ease-in-out;
    cursor: pointer;
}

.floor_poly:hover {
    opacity: .5;
}

.selectorBackground {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.selectorBackground img {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
}

.selectorContours {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1;
}

.selectorContours svg {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
}

.person__desc {
    width: 10vw;
    margin-top: 20px;
}


.main__title {
    position: absolute;
    z-index: 1;
    bottom: 15%;
    left: 3%;
    color: #f8f2e1;
    text-align: left;
}

.Title {
    text-transform: uppercase;
    font-size: 3.7vw;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .15vw;
}

.Description {
    text-transform: uppercase;
    font-size: 1.3vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .15vw;
}


.logo__desc {
    text-align: right;
    color: #f8f2e1;
    letter-spacing: .2vw;
}


.fixed__header .btn {
    background-color: #371614;
}


.fixed__header .logo svg {
    width: 12vw;
    height: auto;
}

.fixed__header {
    padding: .5vw 0;
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    background-color: #47201e;
    z-index: 997;
    box-shadow: -1px 4px 5px 0px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: -1px 4px 5px 0px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: -1px 4px 5px 0px rgba(0, 0, 0, 0.15);
    transition: top cubic-bezier(1, 0, 0.1, 1) 800ms, top cubic-bezier(1, 0, 0.1, 1) 800ms;
}

.fixed__header.show {
    top: 0;
}

.fixed__header .content {
    width: 94%;
}

.btns {
    border: 1px solid #F8F2E1;
    color: #f8f2e1;
    border-radius: 50vw;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .7vw;
    padding: 10px 20px;
    cursor: pointer;
    letter-spacing: .05vw;
    transition: all .2s ease-in-out;
    text-decoration: none;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: top;
    flex-shrink: 0;
    white-space: nowrap;
}

.btns:hover {
    background: #F8F2E1;
    color: #4D1C1C;
}


.menuBtn .menu__txt {
    margin-top: .18vw;
}

.menu__lines {
    position: relative;
    width: 1.3vw;
    height: 1.3vw;
    transition: all .2s ease-in-out;
}

.menu__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #f8f2e1;
    transition: all .2s ease-in-out;
}

.menu__line:first-child {
    top: calc(50% - 3.5px);
}

.menu__line:last-child {
    top: calc(50% + 3.5px);
}

.menuBtn:hover .menu__line:first-child {
    top: calc(50% - 2.5px);
}

.menuBtn:hover .menu__line:last-child {
    top: calc(50% + 2.5px);
}

.menu__close .menu__line:first-child {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.menu__close .menu__line:last-child {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}

.menuBtn,
.menu__close {
    display: flex;
    align-items: center;
    gap: .8vw;
    color: #f8f2e1;
    cursor: pointer;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: .7vw;
    text-transform: uppercase;
}


.slider__indicators {
    display: flex;
    gap: 8px;
    align-items: center;
    flex: 1;
    /* Занимает всё доступное пространство */
    max-width: 100%;
    /* Ограничиваем максимальную ширину */
}

.slider__indicator {
    height: 2px;
    flex: 1;
    min-width: 0;
    background-color: rgba(248, 242, 225, 0.3);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    /* Добавляем курсор-указатель */
    transition: background-color 0.3s;
}

.slider__indicator:hover {
    background-color: rgba(248, 242, 225, 0.5);
}

.slider__indicator_fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    background-color: #F8F2E1;
    transform-origin: left center;
}

.slider__indicator.active .slider__indicator_fill {
    width: 100%;
}

.slider__counter_delimiter {
    width: 4.5vw;
    height: 1px;
    background-color: #F8F2E1;
}

.slider__arrow svg {
    width: 60%;
    height: auto;
}

.slider__arrow:hover {
    background-color: #F8F2E1;
}

.slider__arrow:hover svg path[stroke] {
    stroke: #4D1C1C;
}

.slider__arrow:hover svg path[fill] {
    fill: #4D1C1C;
}

.slider__arrow {
    width: 2.8vw;
    height: 2.8vw;
    border-radius: 50%;
    border: 1px solid #F8F2E1;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;

}

.arrows__wrapper,
.slider__counters {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .8vw;
    font-weight: 500;
}

.slider__controls {
    width: 100%;
    box-sizing: border-box;
    padding: 0 3%;
    position: absolute;
    bottom: 4%;
    display: flex;
    align-items: center;
    z-index: 2;
    left: 0;
    color: #F8F2E1;
    justify-content: space-between;
    gap: 2vw;
}

.main .slick-slide {
    min-height: 100vh !important;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.main .overlay {
    background: rgba(0, 0, 0, 0.3);
}

.gallery .overlay {
    background: rgba(0, 0, 0, 0.1);
}


.main__slider__wrapper {
    position: relative;
}


.map__info_footer .btn {
    border: #F8F2E1 1px solid;
    color: #F8F2E1;
    background-color: transparent;
}

.map__info_footer .btn:hover {
    background-color: #F8F2E1;
    color: #4D1D1D;
}

.investments .btn:hover {
    color: #4D1D1D;
    background-color: #F8F2E1;
}

.map__sm_links {
    margin-top: 11px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.map__sm svg {
    width: 1.3vw;
    height: auto;
}

.map__item_info {
    transform: translateY(-0.2vw);
}

.map_item svg {
    width: 1vw;
    height: auto;
    flex-shrink: 0;
}

.map_item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.map__line {
    height: 1px;
    width: 100%;
    background-color: #F8F2E1;
    opacity: .2;
}

.adress {
    font-size: 1vw;
    margin: 20px 0;
}

.map__info_h {
    text-transform: uppercase;
    font-size: 1.8vw;
    font-weight: 500;
    color: #F8F2E1;
}

.map__info_footer a {
    font-size: .9vw;
    font-weight: 300;
    color: #F8F2E1;
    text-decoration: none;
}

.map__info_footer {
    font-size: .9vw;
    font-weight: 300;
    color: #F8F2E1;
    border-radius: 25px;
    background: #4D1D1D;
    position: absolute;
    box-sizing: border-box;
    padding: 35px;
    top: 50%;
    left: 3%;
    transform: translateY(-50%);
    margin: 0 auto;
    width: max-content;
    letter-spacing: .02vw;
    width: 23%;
    z-index: 9;
}

.map__picture {
    width: 100%;
    height: 40vw;
}

.map {
    position: relative;
    width: 100%;
    margin: 7vw 0 3vw 0;
}



.progress_year {
    font-size: .7vw;
    letter-spacing: .05vw;
    align-self: baseline;
    font-weight: 600;
}

.progress__month_bar {
    height: 2px;
    width: 100%;
    background-color: rgba(77, 28, 28, .2);
    transition: all .2s ease-in-out;
}

.progress__month.active .progress__month_bar {
    background-color: #4D1C1C;
}

.progress__controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2vw;
}

.progress__month:hover .progress__month_bar {
    background-color: #4D1C1C;
}

.progress__month {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
    cursor: pointer;
    text-transform: uppercase;
    font-size: .7vw;
    letter-spacing: .05vw;
    width: 10vw;
    flex-shrink: 0;

}

.progress__months {
    display: flex;
    align-items: center;
    gap: 1vw;
    overflow-x: auto;
    width: 80%;
}

.progress__months {
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE 10+ */
}

.progress__months::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera */
}


.progress_sliders .slider__controls {
    position: relative;
    padding: 0;
    bottom: unset;
    left: unset;
    color: #4D1C1C;
    width: unset;
    align-self: flex-end;
}

.progress_sliders .slider__counter_delimiter {
    background-color: #4D1C1C;
}

.progress_sliders .slider__arrow {
    border: 1px solid #4D1C1C;
}

.progress_sliders .slider__arrow path[fill] {
    fill: #4D1C1C;
}

.progress_sliders .slider__arrow path[stroke] {
    stroke: #4D1C1C;
}

.progress_sliders .slider__arrow:hover {
    background-color: #4D1D1D;
    border-color: #4D1D1D;
}

.progress_sliders .slider__arrow:hover svg path[fill] {
    fill: white;
}

.progress_sliders .slider__arrow:hover svg path[stroke] {
    stroke: white;
}



.progress_slider {
    display: none;
}

.progress_slider.active {
    display: block;
}

.progress_slide {
    border-radius: 20px;
    overflow: hidden;
    height: 500px;
    margin: 0 .5vw;
    position: relative;
}

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

.progress__block {
    display: none;
}

.progress__block.active {
    display: block;
}

.progress.margin {
    margin-top: 7vw;
}

/* Стили для точек-полосок в decoration слайдере */
.decoration__sliders .dots__wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 2vw 0;
}

.decoration__sliders .dots__wrapper .slick-dots {
    width: 100%;
    display: flex !important;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 10px;
}

.decoration__sliders .dots__wrapper .slick-dots li {
    width: 100%;
    height: 2px;
    margin: 0;
    padding: 0;
    flex: 1;
}

.decoration__sliders .dots__wrapper .slick-dots li button {
    width: 100%;
    height: 100%;
    background-color: rgba(77, 28, 28, 0.2);
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}

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

.decoration__sliders .dots__wrapper .slick-dots li.slick-active button {
    background-color: rgba(77, 28, 28, 1);
}

.decoration__sliders .dots__wrapper .slick-dots li button:hover {
    background-color: rgba(77, 28, 28, 0.6);
}

.decoration__sliders .dots__wrapper .slick-dots li.slick-active button:hover {
    background-color: rgba(77, 28, 28, 1);
}

/* Убираем старые стили для точек */
.decoration__sliders .slider__indicator {
    display: none;
}

.decoration__sliders .slider__indicator.active {
    display: none;
}




.decoration__sliders .slick-dots {
    position: relative;
    bottom: 0;
}

.decoration__sliders .slider__indicator {
    background-color: rgba(77, 28, 28, .1);
}


.decoration__sliders .slider__indicator.active {
    background-color: rgba(77, 28, 28, 1);
}



.decoration__slider_block {
    display: none;
}

.decoration__slider_block.active {
    display: block;
}

.decoration__sliders .slider__controls {
    position: relative;
    padding: 0;
    bottom: unset;
    left: unset;
    margin-top: 3vw;
    color: #4D1C1C;
}

.decoration__sliders .slider__counter_delimiter {
    background-color: #4D1C1C;
}

.decoration__sliders .slider__arrow {
    border: 1px solid #4D1C1C;
}

.decoration__sliders .slider__arrow path[fill] {
    fill: #4D1C1C;
}

.decoration__sliders .slider__arrow path[stroke] {
    stroke: #4D1C1C;
}

.decoration__sliders .slider__arrow:hover {
    background-color: #4D1D1D;
    border-color: #4D1D1D;
}

.decoration__sliders .slider__arrow:hover svg path[fill] {
    fill: white;
}

.decoration__sliders .slider__arrow:hover svg path[stroke] {
    stroke: white;
}



.decoration__slider {
    width: 100%;
}

.decoration__slide {
    height: 500px;
    border-radius: 50px;
    overflow: hidden;
    position: relative;
    margin: 0px 20px;
}



.decoration__slider img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.small__tabs,
.progress__tabs {
    display: inline-flex;
    align-items: center;
    border: 1px solid #4D1C1C;
    border-radius: 50px;
    position: relative;
}

.small__tabs::before,
.progress__tabs::before {
    content: '';
    position: absolute;
    background: #4D1C1C;
    border-radius: 50px;
    transition: all 0.3s ease;
    z-index: 0;
    height: 100%;
    top: 0;
    left: var(--small-bg-left, 0);
    width: calc(var(--small-bg-width, 0) + 1px);
}

.small__tab,
.progress__tab {
    color: #4D1C1C;
    font-size: .7vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.1vw;
    padding: 8px 13px;
    text-transform: uppercase;
    border-radius: 50px;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition: color 0.3s ease;
    background: transparent;
    border: none;
}

.small__tab:hover,
.progress__tab:hover {
    color: #F8F2E1;
}

.small__tab.active,
.progress__tab.active {
    color: #F8F2E1;
}

/* Когда курсор на других табах, активный таб становится темным */
.small__tabs.hover-active .small__tab.active:not(:hover),
.progress__tabs.hover-active .progress__tab.active:not(:hover) {
    color: #4D1C1C;
}


.decoration__header {
    margin: 3vw 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.awards .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.content {
    margin: 0 auto;
    width: 94%;
    position: relative;
}

.awards__items {
    display: flex;
    gap: 1vw;
    align-items: center;
}

.award__item {
    width: 8.5vw;
    height: 8.5vw;
    border: 1.5px solid #F8F2E1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.award__item img {
    width: 70%;
    height: auto;
}

.awards__info {
    width: 26%;
}

.awards__info .desc {
    width: 100%;
}

.awards h2 {
    color: #F8F2E1;
}

.awards {
    color: #F8F2E1;
    background: #4D1D1D;
    box-sizing: border-box;
    padding: 7vw 0;
}

.infrastructure.margin {
    margin-top: 7vw;
}

.infrastructure__item .slider__controls {
    position: relative;
    padding: 0;
    bottom: unset;
    left: unset;
    margin-top: 5vw;
    justify-content: flex-end;
}


.infrastructure h2 {
    color: #F8F2E1;
}

.infrastructure__info_title {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.1vw;
    margin-bottom: 20px;
}

.infrastructure__item .transparent__wrapper {
    background: rgba(0, 0, 0, .7);
    color: #F8F2E1;
    display: flex;
    height: 100vh;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 10% 3%;
}

.infrastructure__item_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.infrastructure {
    width: 100%;
    height: 100vh;
    position: relative;
}

.persons.margin {
    margin-top: 7vw;
}

.person__left .person__card {
    position: relative;
    display: inline-block;
    background: transparent;
    border-radius: 0;
    width: 100%;
    height: 600px;
    position: relative;
}


.person__left .person__img {
    display: block;
    width: 100%;
    height: 550px;
    object-fit: cover;
    border-radius: 0 50px 50px 0;
    margin-top: 50px;
}



.person__left .person__frame {
    background: transparent;
    border-radius: 0 50px 50px 0;
    background-color: #CFCFCF;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0px;
    height: 550px;
}



.person__left .person__frame_1 {
    width: calc(100% + 25px);
    z-index: -1;
    margin-top: 25px;
    transition: all 0.5s ease;
}

.person__left .person__frame_2 {
    width: calc(100% + 50px);
    z-index: -2;
    opacity: .5;
    transition: all 0.5s ease;
}






.person__left .photo-enter {
    animation: fadeIn .5s ease both;
    width: 100%;
}

.person__left .photo-exit {
    animation: fadeOut .5s ease both;
}


/* Анимация для фрейма 1 при входе */
.person__frame_1.frame-enter {
    animation: frameSlideIn .5s ease both;
}

/* Анимация для фрейма 1 при выходе */
.person__frame_1.frame-exit {
    animation: frameSlideOut .5s ease both;
}



/* Анимация для фрейма 2 при входе */
.person__left .frame2-enter {
    animation: frame2SlideIn .5s ease both;
}

/* Анимация для фрейма 2 при выходе */
.person__left .frame2-exit {
    animation: frame2SlideOut .5s ease both;
}




@keyframes fadeIn {
    0% {
        transform: translateX(0) scale(.995);
    }

    50% {
        transform: translateX(-35px) scale(.995);
    }

    100% {
        transform: translateX(0) scale(1);
    }
}

@keyframes fadeOut {
    0% {
        transform: translateX(0) scale(1);
    }

    100% {
        transform: translateX(0px) scale(.995);
    }
}



@keyframes frameSlideIn {
    0% {
        transform: translateX(-35px) scale(.995);
    }

    50% {
        transform: translateX(0) scale(.995);
    }

    100% {
        transform: translateX(0) scale(1);
    }
}

@keyframes frameSlideOut {
    0% {
        transform: translateX(0) scale(1);
    }

    100% {
        transform: translateX(0) scale(.995);
    }
}




@keyframes frame2SlideIn {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-2px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes frame2SlideOut {
    0% {
        transform: translateX(0) scale(1);
    }

    100% {
        transform: translateX(0) scale(.995);
    }
}





.slick-arrow {
    display: none !important;
}

.person__right .slider__controls {
    position: relative;
    bottom: unset;
    left: unset;
    padding: 0;
    color: black;
}

.person__right .slider__counter_delimiter {
    background-color: black;
}

.person__right .slider__arrow {
    border: 1px solid black;
}

.person__right .slider__arrow path[fill] {
    fill: black;
}

.person__right .slider__arrow path[stroke] {
    stroke: black;
}

.person__right .slider__arrow:hover {
    background-color: #4D1D1D;
    border-color: #4D1D1D;
}

.person__right .slider__arrow:hover svg path[fill] {
    fill: white;
}

.person__right .slider__arrow:hover svg path[stroke] {
    stroke: white;
}

.person__right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.person__img {
    width: 100%;
    height: 60vh;
    min-height: 500px;
    object-fit: cover;
}

.person__right .desc {
    width: 70%;
}

.person__left,
.person__right {
    flex-shrink: 0;
}

.person__left {
    width: 40%;
}

.person__right {
    width: 50%;
}



.person__slide_inner {
    display: flex;
    justify-content: space-between;
    gap: 5%;
}

.person__info {
    text-align: right;
    margin-top: 25px;
}

.person__name {
    font-size: 1.1vw;
    font-weight: 600;
}

.person__position {
    font-size: 0.9vw;
    opacity: 0.7;
    margin-top: 0.5vw;
}

.investments .btn {
    background: transparent;
    border: 1px solid #F8F2E1;
}

.investments .transparent__wrapper {
    background: rgba(53, 62, 38, .9);
    width: 40%;
}

.investments {
    position: relative;
}

.investments img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    left: 0;
    top: 0;
}


.select__main {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.selector__contours {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}

.selector__contours svg {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}


.select__hint_item_desc {
    font-weight: 100;
    opacity: .6;
}

.select__hint_item_title {
    text-transform: uppercase;
    font-weight: 600;
}

.select__hint_item {
    font-size: .8vw;
    letter-spacing: .02vw;
    margin: 20px 0;
}



.select__hint_title {
    font-weight: 600;
    font-size: 4vw;
    margin-bottom: 1vw;
}

.select__hint {
    position: absolute;
    background-color: #4D1D1D;
    color: #F8F2E1;
    border-radius: 50px 0 0 50px;
    z-index: 0;
    bottom: 23%;
    left: 19%;
    box-sizing: border-box;
    padding: 2vw 3vw;
    width: 40%;
    display: none;
}

.select__hint.active {
    display: block;
}

.selector__btns .btn {
    border: 1px solid #4D1D1D;
    padding: 8px 18px;
}

.btn.no__bg {
    background: transparent;
    border: 1px solid #4D1D1D;
    color: #4D1D1D;
}

.btn.no__bg:hover {
    background: #4D1D1D;
    color: #F8F2E1;
}

.selector__btns {
    position: absolute;
    left: 3%;
    top: 3%;
    z-index: 2;
}

.selector__background img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}


.selector__background {
    width: 100%;
    height: auto;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
}

.selector {
    position: relative;
    width: 100%;
}

.h {
    text-transform: uppercase;
    font-size: 1.6vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.2vw;
}

.cta {
    position: relative;
}

.cta img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    left: 0;
    top: 0;
}

.transparent__wrapper {
    box-sizing: border-box;
    background: rgba(77, 29, 29, .9);
    color: #F8F2E1;
    width: 33%;
    position: relative;
    z-index: 1;
    padding: 10vw 3%;
}

.map_desc .desc {
    width: 23vw;
}

.map_desc {
    margin: 0 0 3vh -5vw;
}

.map__inner {
    width: 100%;
}



.map__info_item_desc_title {
    font-size: 1.9vh;
}

.map__info_item_desc_txt {
    font-size: .6vw;
}

.map__info_item_title {
    font-size: 4vh;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.map__info_item {
    text-transform: uppercase;
    align-items: center;
    display: flex;
    box-sizing: border-box;
    padding: 8px 0;
    border-bottom: 1px solid #3D0909;
    gap: 15px;
}

.no_border {
    border: 0;
}

.map__info_title {
    opacity: 0.5;
    font-size: .7vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.1vw;
    text-transform: uppercase;
}

.map__info {
    border-radius: 50px 0 0 50px;
    background: #4D1D1D;
    color: #F8F2E1;
    box-sizing: border-box;
    padding: 30px 50px;
}

.map__wrapper {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    box-sizing: border-box;
    width: 25%;
    display: flex;
}

.map {
    position: relative;
    width: 100%;
}

.map img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.gall {
    display: none !important;
}

.gall.active {
    display: block !important;
}

.slider__tabs {
    border-radius: 90px;
    background: #F8F2E1;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
}

.slider__tabs::before {
    content: '';
    position: absolute;
    background: #4D1C1C;
    border-radius: 50px;
    transition: all 0.3s ease;
    z-index: 0;
    height: calc(100% - 30px);
    top: 15px;
    left: var(--bg-left, 15px);
    width: var(--bg-width, 0);
}

.slider__tab {
    color: #4D1C1C;
    font-size: .7vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.1vw;
    padding: 10px 15px;
    text-transform: uppercase;
    border-radius: 50px;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition: color 0.5s ease;
}

.slider__tab:hover {
    color: #F8F2E1;
}

.slider__tab.active {
    color: #F8F2E1;
    background: transparent;
}

/* Когда курсор на других табах, активный таб становится темным */
.slider__tabs.hover-active .slider__tab.active:not(:hover) {
    color: #4D1C1C;
}

.slider__tab:not(.active) {
    background: transparent;
}






.gallerys__wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    position: relative;
}

.gallery {
    width: 100%;
    height: 100vh;
    position: relative;
}

.gallery h2 {
    position: absolute;
    top: 10%;
    left: 3%;
    color: #F9F2E2;
    z-index: 5;
}

.gall__item {
    position: relative;
    width: 100%;
    height: 100vh !important;
}

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



.video__advantages video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video__advantages .placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.video__advantages {
    /* background-color: #f4edde; */
    width: 50%;
    height: 60vh;
    -webkit-border-top-left-radius: 50px;
    -webkit-border-bottom-left-radius: 50px;
    -moz-border-radius-topleft: 50px;
    -moz-border-radius-bottomleft: 50px;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    position: relative;
    overflow: hidden;

}

.video-present {
    cursor: pointer;
}

.video__play-pause {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 10;
    width: 5vw;
    height: auto;
}

.video__advantages:hover .video__play-pause {
    opacity: 1;
}

.video__play-pause svg {
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.video__play-pause .pause-icon {
    display: none;
}

.video__advantages.playing .video__play-pause .play-icon {
    display: none;
}

.video__advantages.playing .video__play-pause .pause-icon {
    display: block;
}



.BtnDownload svg {
    width: 2.5vw;
    height: auto;
}

.BtnDownload {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .05vw;
    gap: 0.5vw;
    font-size: .9vw;
}

.BtnDownload:hover span {
    text-decoration: underline;
}

.advantages__item {
    width: 50%;
    flex-shrink: 0;
    margin: 20px 0;
}

.advantages__items {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}

.advantages__item_desc {
    font-size: .9vw;
}

.advantages__item_title {
    color: #4D1C1C;
    font-size: 2.8vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: .1vw;
}

.advantages__wrapper {
    margin-left: 3%;
    width: 50%;
}


.map__info_block .map__info_item:last-child {
    border: none;
}


.progress__block iframe {
    width: 50vw;
    height: 28.1vw;
    border-radius: 30px;
    overflow: hidden;
}


.partner__desc {
    color: #4D1C1C;
}


.ymaps-2-1-79-map-copyrights-promo {
    display: none !important
}

.mobileclick {
    outline: none;
}

svg * {
    outline: none;
}


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



    .person__right .slider__controls {
        justify-content: flex-end;
    }


    .map__picture {
        height: 350px;
    }

    .gallerys__wrapper .slider__counters {
        display: none;
    }

    .gallerys__wrapper .arrows__wrapper {
        position: absolute;
        top: -50vh;
        width: 90%;
        display: flex;
        justify-content: space-between;
        display: none;
    }

    .progress__block .content {
        width: 100%;
    }

    .progress__block iframe {
        width: 100%;
        height: 51vw;
        border-radius: 20px;
    }


    .infrastructure.margin {
        margin-top: 60px;
    }

    .map img {
        width: 100%;
        height: 70vw;
    }


    .map__sm svg {
        width: 20px;
    }

    .map__item_info {
        transform: translateY(-3px);
    }

    .map_item svg {
        width: 15px;
    }

    .map__info_footer a {
        font-size: 14px;
    }

    .map__info_h {
        font-size: 20px;
    }

    .map__info_footer {
        font-size: 14px;
        border-radius: 0;
        position: relative;
        padding: 35px;
        top: 0;
        left: 0;
        transform: unset;
        width: max-content;
        letter-spacing: .1px;
        width: 100%;
        margin-top: 30px;
    }



    .partners {
        gap: 9%;
    }


    .progress_year {
        font-size: 9px;
        align-self: center;
    }

    .progress__months {
        gap: 10px;
        width: 100%;
        margin-bottom: 20px;
    }

    .progress__month {
        gap: 6px;
        font-size: 9px;
        width: 20vw;
        font-weight: 600;
    }

    .progress__controls {
        margin-top: 20px;
        flex-direction: column;
    }

    .progress_sliders .content {
        width: 100%;
    }

    .progress_slide {
        margin: 0;
    }

    .progress__wrapper {
        width: 90%;
        margin: 0 auto;
    }



    .progress.margin {
        margin-top: 60px;
    }

    .decoration__slide {
        height: 300px;
        border-radius: 30px;
    }

    .decoration__slide img {
        height: 300px;
    }

    .decoration__header {
        margin: 20px 0;
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 20px;
    }

    .small__tab,
    .progress__tab {
        font-size: 12px;
    }

    .awards__items {
        gap: 2vw;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 30px;
    }

    .award__item {
        width: 20vw;
        height: 20vw;
        border: 1px solid #F8F2E1;
    }

    .awards__info {
        width: 100%;
    }

    .awards .content {
        flex-direction: column;
    }

    .awards {
        padding: 50px 0;
        margin-top: 0px;
    }

    .infrastructure {
        height: unset;
    }


    .infrastructure__info_title {
        font-size: 12px;
    }

    .infrastructure__item {
        display: flex !important;
        flex-direction: column-reverse;
    }


    .infrastructure__item .transparent__wrapper {
        background: #4D1C1C;
        height: unset;
        padding: 50px 5%;
    }

    .infrastructure__item_img {
        width: 100%;
        height: 350px;
        object-fit: cover;
        position: relative;
    }



    .person__right .desc {
        width: 100%;
        margin-bottom: 20px;
    }


    .person__right {
        width: 90%;
        margin: 30px auto 0 auto;
    }

    .person__position {
        font-size: 13px;
    }

    .person__name {
        font-size: 16px;
    }

    .person__info {
        text-align: left;
        margin-top: 15px;
        padding-left: 5%;
    }



    .person__left .person__card {
        height: 250px;
    }

    .person__left .person__img {
        height: 200px;
        border-radius: 0 20px 20px 0;
    }

    .person__img {
        min-height: 150px;
    }

    .person__left .person__frame {
        border-radius: 0 20px 20px 0;
        height: 200px;
    }



    .person__left {
        width: 70%;
    }

    .persons.margin {
        margin-top: 60px;
    }

    .person__slide_inner {
        flex-direction: column;
    }

    .investments .transparent__wrapper {
        background: rgba(53, 62, 38, .7);
        width: 100%;
    }

    .select__main {
        margin-top: 30px;
    }


    .select__hint {
        border-radius: 20px;
        bottom: 20%;
        left: 5%;
        padding: 10px 20px;
    }

    .select__hint_item_title {
        font-size: 12px;
    }

    .select__hint_item_desc {
        font-size: 10px;
    }



    .select__hint_title {
        font-size: 30px;
    }

    .selector__btns {
        position: relative;
        left: 0;
        top: 0;
        padding: 0 5%;
        box-sizing: border-box;
    }


    .h {
        font-size: 20px;
    }

    .transparent__wrapper {
        background: rgba(77, 29, 29, .7);
        width: 100%;
        padding: 50px 5%;
    }

    .map {
        margin: 20px 0 0px 0;
    }


    .map__info_item_desc_title .clear-5 {
        clear: both;
    }


    .map__info_item_desc_txt {
        font-size: 12px;
        font-weight: 600;
    }

    .map__info_item_desc_title {
        font-size: 11px;
    }

    .map__info_item_title {
        font-size: 30px;
    }

    .map__info_title {
        font-size: 12px;
    }

    .map__info {
        padding: 30px;
        margin-top: 30px;
        border-radius: 0;
    }

    .map_desc .desc {
        width: 100%;
    }

    .map_desc {
        width: 90%;
        margin: 20px auto 0 auto;
    }


    .map__wrapper {
        position: relative;
        width: 100%;
    }


    .slider__tab.active {
        color: #F8F2E1 !important;
        background: #4D1C1C;
    }

    .slider__tab:hover {
        color: #4D1C1C;
    }

    .slider__tab {
        transition: color 0s ease;
    }

    .slider__tabs::before {
        display: none;
    }

    .gallery.margin {
        margin-top: 60px;
    }

    .gallery .slider__arrow svg path[stroke] {
        stroke: #4D1C1C;
    }

    .gallery .slider__arrow svg path[fill] {
        fill: #4D1C1C;
    }

    .gallery .slider__arrow {
        border: 1px solid;
        background-color: #F8F2E1;
    }

    .gallery .slider__counters {
        color: #F8F2E1;
    }

    .gallery .slider__counters {
        color: #F8F2E1;
    }

    .gallery .slider__counter_delimiter {
        background-color: #F8F2E1;
    }


    .gallery .overlay {
        height: 90vh;
    }

    .gall__item {
        height: 90vh !important;
    }

    .gallery h2 {
        left: 5%;
    }

    .gallery .slider__tabs {
        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE 10+ */
    }

    .gallery .slider__tabs::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari, Opera */
    }





    .gallery .slider__tabs {
        background: unset;
        width: 100%;
        overflow: auto;
        padding: 0;
        margin: 10px 0;
        border-radius: 0;
        padding: 6px 2%;
        background-color: #F8F2E1;
        border-radius: 90px;

    }

    .gallery .slider__controls {
        flex-direction: column;
        position: relative;
        bottom: 0;
        padding: 0;
    }

    .slider__tab {
        font-size: 11px;
        white-space: nowrap;
    }







    .gallerys__wrapper {
        height: unset;
        background-color: #4D1C1C;
    }

    .gallery {
        height: unset;
    }


    .video__advantages {
        width: 90%;
        height: 300px;
        border-radius: 30px;
        margin-top: 30px;
    }


    .BtnDownload {
        letter-spacing: .15vw;
        gap: 5px;
        font-size: 12px;
    }

    .BtnDownload svg {
        width: 26px;
    }


    .advantages__item {
        width: 45%;
        margin: 15px 0;
    }

    .advantages__items {
        margin-top: 20px;
        gap: 10%;
    }


    .advantages__item_title {
        font-size: 30px;
    }

    .advantages__item_desc {
        font-size: 14px;
    }


    .slider__controls {
        padding: 0 5%;
    }

    header .content {
        width: 90%;
    }

    .advantages__wrapper {
        width: 90%;
        margin: 0 auto;
    }


    .advantages {
        flex-direction: column;
    }

    .arrows__wrapper,
    .slider__counters {
        gap: 5px;
        font-size: 12px;
    }

    .slider__arrow {
        width: 36px;
        height: 36px;
    }

    .adress {
        font-size: 14px;
    }

    .menu__lines {
        position: relative;
        width: 18px;
        height: 18px;
    }

    .menuBtn,
    .menu__close {
        gap: 8px;
        letter-spacing: 1px;
        font-size: 12px;
    }

    .header__main .btns {
        display: none;
    }

    .btns {
        font-size: 11px;
        letter-spacing: 1px;
    }


    .fixed__header .content {
        width: 100%;
        box-sizing: border-box;
        padding: 0 20px;
    }


    .fixed__header {
        padding: 15px 0;
    }

    .fixed__header .logo svg {
        width: 110px;
    }


    .blocks.about .blocks__button {
        padding: 40px 20px;
    }

    .blocks.about .blocks__button.active {
        padding: 40px 20px;
    }


    .Description {
        font-size: 4vw;
    }

    .Title {
        font-size: 6vw;
        line-height: 1.25;
    }

    .main__title {
        right: unset;
        text-align: left;
        box-sizing: border-box;
        padding: 0 5%;
        left: 0;
    }

    .person__desc {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 10px;
    }


    .ph_info_txt {
        padding: 10px 20px;
        font-size: 8px;
        letter-spacing: 1px;
        border-radius: 30px;
    }

    .selectorContours svg,
    .selectorContours,
    .selectorBackground img,
    .selectorBackground,
    .picture.saan {
        height: 350px;
    }


    .gastro .blocks__wrapper {
        padding-top: 0;
        padding-bottom: 50px;
    }

    .italy__block {
        display: none;
    }

    .gastro .blocks__info_media img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        margin-top: 30px;
    }

    .gastro .blocks__info_media .desc {
        text-transform: none;
        font-weight: 300;
    }

    .blocks__button.active .blocks__info_media {
        display: block;
    }

    .blocks__button_mobile {
        display: flex;
        align-items: center;
        gap: 20px;
        justify-content: space-between;
        width: 100%;
    }

    .profit .blocks__wrapper {
        min-height: unset;
    }

    .blocks__title {
        display: none;
    }



    .italy__logo {
        width: 110px;
    }

    .pin__saan {
        top: 52%;
        right: 20%;
    }

    .pin__saan {
        width: 16vw;
        height: auto;
    }

    .pin__time {
        display: none !important;
    }

    .pin__desc {
        font-size: 5px;
        font-weight: 600;
        display: none;
    }



    .buro .center__slider_wrapper,
    .buro.margin {
        margin-top: 0;
    }


    .address__info {
        font-size: 18px;
    }

    .copyrights .Right {
        width: 100%;
        font-size: 14px;
        opacity: .6;
    }

    .copyrights {
        gap: 20px;
        margin-top: 40px;
        flex-direction: column;
    }

    .adress__item {
        flex-direction: column;
        gap: 20px;
    }


    .adress__btns .clear-10 {
        height: 5px;
    }

    .adress__btn {
        font-size: 12px;
    }

    .adresses {
        margin-top: 60px;
    }

    .partner__logo {
        width: 120px;
        height: 40px;
    }

    .partner {
        width: 43%;
        margin-bottom: 30px;
    }

    .partner__desc {
        font-size: 14px;
        margin-top: 0px;
    }

    footer {
        margin-top: 60px;
        margin-bottom: 50px;
    }


    .genplan {
        margin-top: 90px;
    }

    .profitbase {
        height: 600px;
        margin-top: 30px;
    }


    .center__slider_wrapper .slick-dots {
        bottom: -20px;
    }

    .architecture .center__slider_wrapper.margin {
        margin-top: 30px;
    }

    .center__slider_wrapper .slick-track {
        height: 80vh;
        min-height: 700px;
    }

    .center__slider_wrapper .slick-track {
        height: 300px;
        min-height: unset;
    }

    .center__slider_item {
        height: 300px;
        min-height: unset;
        margin: 0;
        scale: 1;
    }

    .info__full .info__title {
        width: 100%;
        margin-top: 10px;
    }

    .person {
        width: 70px;
        height: 70px;
        margin-top: 0;
    }

    .info__full {
        gap: 10px;
        flex-direction: column;
    }


    .inputWrapper {
        margin-bottom: 15px;
    }

    .callback_title {
        width: 88%;
        padding-left: 0;
        margin: 0 auto 30px auto;
    }

    .callback_form {
        width: 88%;
        margin: 0 auto;
    }

    .callback {
        padding: 0px 0 80px 0;
        flex-direction: column;
    }



    .slick-active .slider-indicator {
        width: 50px;
    }

    .slider .slick-dots li {
        margin: 0 4px;
    }

    .slider-indicator {
        width: 25px;
    }

    .profit {
        margin-top: 90px;
    }

    .slider .slick-dots {
        bottom: -30px;
    }

    .slick-dotted.slick-slider {
        margin-bottom: 0px;
    }

    .slider_desc h3 {
        font-size: 11px;
    }

    .slider_text {
        display: none;
    }


    .slider_desc {
        padding: 20px 30px;
        gap: 10px;
        width: 100%;
        top: 0;
        right: 0;
        position: relative;
        box-sizing: border-box;
    }


    .slider__block .slider__item img {
        height: 300px;
    }


    .slider {
        height: unset;
        margin: 30px auto 0 auto;
    }

    .margin {
        margin-top: 60px;
    }

    .blocks__title {
        width: 100%;
        font-size: 15px;
        padding: 40px 20px;
    }

    .blocks__button_desc {
        font-size: 13px;
    }

    .blocks__button_title {
        font-size: 15px;
    }


    .blocks__button {
        padding: 40px 20px;
        flex-direction: column;
    }

    .blocks__buttons {
        width: 100%;
    }

    .blocks__wrapper {
        flex-direction: column-reverse;
    }

    .tel {
        font-size: 14px;
    }

    .send {
        font-size: 12px;
    }

    .inputFrm {
        padding: 10px;
        font-size: 12px;
    }


    .popup {
        width: 100%;
        padding: 20px;
    }

    .law {
        font-size: 14px;
    }

    .big li a {
        font-size: 15px;
    }

    .small li a {
        font-size: 11px;
    }


    .menu__wrapper ul li a {
        padding: 4px 0;
    }

    .btn {
        border-radius: 90px;
        font-size: 10px;
        flex-shrink: 0;
    }

    .header__menu .btn {
        font-size: 9px;
    }

    .menu .header__menu .tel {
        display: none;
    }


    .animated {
        width: unset;
        text-align: center;
        padding: 20px;
    }


    .menuBtnFixed {
        top: 20px;
        right: 20px;
    }


    .menu {
        width: 100%;
        padding: 20px;
    }




    .logo svg {
        width: 160px;
    }


    .home header {
        top: 20px;
    }

    .header__main .btn,
    .header__main .tel {
        display: none;
    }


    .picture {
        height: 600px;
    }


    .info__title {
        width: 100%;
    }


    .desc {
        width: 100%;
        margin-top: 10px;
    }

    .info {
        gap: 10px;
        flex-direction: column;
    }


    .content {
        width: 90%;
    }

    h3 {
        font-size: 10px;
        line-height: 1.35;
    }


    h2 {
        font-size: 14px;
    }

    body {
        font-size: 16px;
    }


    .mobile-only {
        display: block;
    }

    .desktop-only {
        display: none;
    }

    .only-mobile {
        display: block;
    }

    .only-desktop {
        display: none;
    }





}