@font-face {
    font-family: 'Avanti Bold';
    src: url('AvantiBold.woff2') format('woff2'),
    url('AvantiBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avanti';
    src: url('Avanti.woff2') format('woff2'),
    url('Avanti.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
* { box-sizing: border-box; }
::selection { color: rgb(255 255 255); background: rgb(48 75 144); }
body {background: #f2f2f2;font: 16px / 24px Avanti , arial;color: rgb(4, 15, 43);}
body.popup-opened { overflow: hidden; }
html { }
body, html { margin: 0px; padding: 0px; }

.menu-opened{overflow:hidden;}

a { color: rgb(9, 31, 88); }
p {line-height: 1.7;font-size: 16px;}
h1, h2, h3, h4 {color: rgb(17 18 35);margin: 0px;padding: 0px;font-weight: bold;}
h1 { }
h2 { }
h3 {font-size: 24px;line-height: 32px;font-weight: normal;}
h4 { }



.menu-opened .fixed-nav{height: 100vh;/* z-index: 999; */}
.menu-opened  .fixed-nav-close{/* display: block; */right: 20px;}
.menu-opened  .fixed-nav-close:hover{opacity: .8}


/* Icon nav */
#nav-icon {
    width: 40px;
    height: 45px;
    position: fixed;
    -webkit-transform: rotate(
            0deg
    );
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(
            0deg
    );
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    float: right;
    margin: 6px 0px;
    z-index: 1000;
    right: 40px;
    top: 32px;
}

#nav-icon:hover{opacity:.8}

#nav-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #ffffff;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(
            0deg
    );
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(
            0deg
    );
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

#nav-icon span:nth-child(1) {
    top: 0px;
}
.menu-opened #nav-icon span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}

#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {
    top: 8px;
    width: 100%;
}

#nav-icon span:nth-child(4) {
    top: 16px;
    width: 50%;
}

#nav-icon.open span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}

.menu-opened #nav-icon span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 90%;
}

.menu-opened #nav-icon span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 90%;
}

.menu-opened #nav-icon span:nth-child(4) {
    top: 10px;
    width: 0%;
    left: 50%;
}


.fixed-nav{position: fixed;width: 100vw;height: 100vh;z-index: 999;overflow: hidden;transition: all .6s;height: 0;text-align: center;/* backdrop-filter: blur(20px); */background-size: cover;background-position: top center;background: #0a042b;}
.fixed-nav-area{top:0;left:0;width: 100vw;height: 100vh;position: absolute;overflow: hidden;box-sizing: border-box;/* padding: 60px 0px; *//* padding-bottom: 100px; */background: #07031d url(https://images.unsplash.com/photo-1466436905227-2ee384a76eaa?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1500&q=80);background-size: cover;}

.fixed-nav-inner{top:0;left:0;width: 100vw;height: 100vh;position: absolute;overflow: auto;box-sizing: border-box;padding: 30px 0px;padding-bottom: 100px;opacity: 0;transition:all .6s;background: #080721a6;}
.menu-opened .fixed-nav-inner{opacity:1;}
.fixed-nav-close{
    /* display:none; */
    font-size: 41px;
    position: fixed;
    right: 20px;
    top: 22px;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 44px;
    border-radius: 30px;
    font-weight: normal;
    cursor: pointer;
    right: -100px;
    transition: all .6s;
    font-family: auto;
    color: #fff;
    display: none;
}

.fixed-nav .wrap{max-width: 400px;}
.fixed-nav .logo{padding: 20px 0;margin: 0;float: none;margin: -10% auto;transition: all .6s;margin-bottom: 90px;width: 200px;height: 40px;}
.menu-opened .fixed-nav .logo{margin: 0 auto;margin-bottom: 40px;width: 200px;height: 40px;}


.fixed-nav .logo a{
    width: 240px;
}

.fixed-nav .logo svg{
    width: 200px;
    height: 40px;
}
.fixed-nav .logo img{}

.fixed-nav .nav{transition: all .6s;display: block;float: none;/* text-align: left; */margin: -20% auto;padding: 40px 0;}

.menu-opened .fixed-nav .nav{margin: 0 auto ;}

.fixed-nav .nav ul{
    padding: 0;
}
.fixed-nav .nav ul li{display: block;}
.fixed-nav .nav ul li a{font-size: 22px;padding: 14px 0;color: #fff;text-decoration: none;display: block;}
.fixed-nav .nav ul li:hover a{color: #ffffff7a;}

.fixed-nav .address{padding: 10px 0 0;font-size: 14px;color: #ffffff8c;}
.fixed-nav .phone{padding: 10px 0;/* font-weight: bold; */font-size: 18px;}
.fixed-nav .phone a{text-decoration: none;color: #ffffff;}

.fixed-nav .messenger-list{float: none;margin: 0 auto;}
.fixed-nav .messenger-item{float: none; display: inline-block ;}

.fixed-nav .main-btn{margin: 40px 0;}


.page { position: relative; }
.wrap { margin: 0px auto; padding: 0px 40px; }
.content{background: #f7f7f7;color: #292e42;overflow: hidden;}
.content p{color: rgb(54 56 82);/* font-size: 16px; */margin-bottom: 40px;/* color: #fff; */}
.section {position: relative;overflow: hidden;background-size: cover;background-position: center;}

.section iframe{width: 100%; min-height: 800px; margin: 0; padding: 0; border: none;}

.section-dark-bg{color:#fff;}
.section-dark-bg p{color:#fff;}
.section-dark-bg h2{color:#fff;}
.section-dark-bg .section-overlay{background: #161633a6;background: #001358b3;background: #131f4cb3;}
.section-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: #ffffff2e;
    background: linear-gradient(
            0deg
            , rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 58%) 100%);
    background: #080721a6;
}
.section.section-dark{background: rgb(242 242 242);border-top: 1px solid #e8e8e8;border-bottom: 1px solid #e8e8e8;}
.section .wrap {max-width: 1180px;margin: 0px auto;padding: 0px 80px;}
.section-title {font-size: 32px;line-height: 1.3;margin-bottom: 20px;font-weight: normal;color: inherit;}
.address-subtitle{margin-top:-15px;font-size: 17px;font-weight: normal;}
.section-title.centered { text-align: center; margin-bottom: 40px; }
.section-title .outline { -webkit-text-stroke: 1px rgb(255, 255, 255); -webkit-text-fill-color: rgba(255, 255, 255, 0); display: none; }
.section-subtitle {/* text-transform: uppercase; *//* font-size: 18px; *//* font-weight: bold; */line-height: 1.4;margin-bottom: 20px;/* max-width: 300px; */padding-top: 30px;/* border-top: 1px solid #ccc; */}
.section-inner {padding: 100px 0px 60px;position: relative;}
.section-inner-min { padding: 10px 0px; }

#nav-icon.fixed{top:23px}

#nav-icon.fixed span{background: #222e77;}

.menu-opened #nav-icon.fixed span{background: #ffffff;}

.menu-btn-line {height: 2px;width: 100%;margin-bottom: 6px;border-radius: 20px;background: rgb(255 255 255);}
.menu-btn-line:nth-child(2) { width: 80%; }
.menu-btn-line:last-child { width: 40%; margin-bottom: 0px; }
.menu-btn:hover .menu-btn-line {background: #39499c;}

.section-header{display:flex;justify-content:space-between;flex-wrap: wrap;margin-bottom: 20px;}

.completed{/* position:absolute; *//* width:100%; *//* height: 150px; *//* background: linear-gradient(0deg, rgb(2 0 36 / 0%) 0%, rgb(3 18 37 / 58%) 100%); *//* z-index: 1; */}
.completed .section-inner{/* padding:0; */}
.completed .section-header{/* position:absolute; *//* top:0; *//* z-index:1; *//* padding: 60px 0; *//* width: 100%; *//* text-align: center; *//* display: block; */}
.completed .section-header h2{/* color:#fff; *//* text-align:center; */}
.completed .section-header{/* position:absolute; *//* top:0; *//* z-index:1; *//* padding: 60px 0; *//* width: 100%; *//* text-align: center; *//* display: block; */}
.completed .section-header a{/* color:#fff; */}
.completed .section-header path{/* fill:#fff; */}

.completed  .slide-container   {padding:0 40px;/* margin: 0 -20px; */padding-bottom: 60px;}
.completed .slick-dots{bottom: -20px;}
.completed-nav{display:none;}

.completed .swiper-pagination-bullet{background:#fff}
.section .completed .swiper-pagination{bottom: 40px;}

.fixed .menu-btn-line{background: #313454;}
.header {position: fixed;top: 0px;left: 0px;width: 100%;z-index: 99;transition: background 0.6s ease 0s;background: rgb(4 6 39 / 80%);/* border-bottom: 1px solid #ffffff1a; */background: rgb(2,0,36);background: linear-gradient(0deg, rgb(2 0 36 / 0%) 0%, rgb(3 17 35 / 58%) 100%);color: #fff;}
.header.fixed {background: rgb(255 255 255);color: #313454;box-shadow: 0 0 40px #0000000a;}
.header-inner {padding: 30px 0px;transition: all 0.5s;overflow: hidden;}
.header.fixed .header-inner {padding: 20px 0px 20px;}
.logo {width: 175px;height: 40px;position: relative;margin-right: 40px;float: left;/* margin-top: -5px; */}
.logo a {display: block;}
.logo a svg{width: 175px;height: 40px;display: block;}
.logo a svg path{fill:white;}
.fixed .logo a svg path{fill: #19316f;}
.logo span { position: absolute; top: 0px;  background-size: 100%; width: 100%; height: 100%; }
.logo span.logo-w { left: 0px; z-index: 1; }
.logo span.logo-r { left: -2px; background-position: 0px -30px; display: none; }
.logo span.logo-g { right: -2px; background-position: 0px -60px; display: none; }
.logo:hover { }
.logo.active span { }
.logo.active span.logo-w { }
.logo.active span.logo-r { display: block; animation: 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 1 normal both running glitch; transform: translate3d(0px, 0px, 0px); backface-visibility: hidden; perspective: 1000px; }
.logo.active span.logo-g { display: block; animation: 0.52s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 1 normal both running glitch; transform: translate3d(0px, 0px, 0px); backface-visibility: hidden; perspective: 1000px; }
.navigation {float: right;}
.navigation {margin-right: 50px;}
.navigation ul {list-style: none;margin: 0px;padding: 6px;display: flex;}
.navigation ul li {display: inline-block;margin-right: 30px;}
.navigation ul li a {text-decoration: none;text-transform: uppercase;font-weight: normal;line-height: 2;letter-spacing: 1.4px;font-size: 14px;display: block;color: inherit;font-weight: 600;transition: all .3s;position: relative;text-rendering: optimizeLegibility;font-family: 'Avanti Bold',sans-serif;}
.navigation ul li:hover a {/* color: #39499c; */opacity: .6;}
.navigation ul li svg{fill:#2b43b7;width: 20px;vertical-align: middle;height: 20px;margin-top: -4px;margin-right: 4px;}
.navigation ul li svg path{fill: #39499c;}


.navigation ul li a::before,
.navigation ul li a::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background: currentColor;
    top: 100%;
    left: 0;
    pointer-events: none;
}

.navigation ul li a::before {
    content: '';
    /* show by default */
}

.navigation ul li a {
}

.navigation ul li a::before {
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s;
}

.navigation ul li a:hover::before {
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}





.right-side {
    display: flex;
}
.main-search { position: absolute; }
.search-btn { margin: 28px; }
.search-btn path { fill: rgb(255, 255, 255); }
.social-links {text-align: right;/* padding: 20px 0 0; *//* padding: 0 10px; *//* width: 100%; */display: flex;/* margin-top: auto; */}
.social-links ul {padding: 0px;margin: 0px;list-style: none;text-align: revert;display: flex;justify-content: right;gap: 5px;}
.social-links ul li {float: right;width: 35px;height: 35px;/* margin: 0 3px; */}
.social-links ul li a {text-decoration: none;display: block;text-transform: uppercase;letter-spacing: 1px;/* font-size: 11px; *//* padding: 0px 15px; *//* background: inherit; *//* background: inherit; *//* -webkit-background-clip: text; *//* color: #ffffff; *//* mix-blend-mode: difference; *//* color: white; *//* text-align: left; *//* margin-bottom: 90px; *//* padding: 20px 0px; */opacity: .8;width: 100%;height: 100%;border: 1px solid #cccccc52;border-radius: 40px;padding: 2px;}
.social-links ul li svg{/* width: 15px; */display: inline-block;/* position: absolute; */height: 30px;vertical-align: bottom;margin: 0 auto;display: block;text-align: center;/* padding: 10px 0; */margin: 0;width: 100%;height: 100%;}
.social-links ul li span{/* color:#fff; */display: inline-block;/* transform: rotate(-90deg); */margin-left: 24px;letter-spacing: 2px;display: none;}
.social-links ul li:hover a {opacity:1}

.social-links ul li svg path{fill: #222e77;}

.fixed-nav .social-links{float:none;text-align: center;padding-bottom: 20px;justify-content: space-around;padding: 40px 0;}
.fixed-nav .social-links ul li svg path{fill: #fff;}
.fixed-nav .social-links ul li{float:none; display:inline-block;}



.langs {text-transform: uppercase;}
.langs ul { list-style: none; padding: 0px; margin: 0px; }
.langs ul li { }
.langs ul li a {text-decoration: none;/* padding: 30px 10px; */display: block;font-size: 12px;margin-left: 10px;}
.langs ul li.active { display: none; }
.promo {/* padding-top: 60px; */overflow: hidden;border-bottom: 2px solid rgba(255, 255, 255, 0.03);/* min-height: 720px; */color: #fff;background-size: cover;background: #070a31;position: relative;}
.promo-view {min-height: auto;padding: 0;}
.promo-view  .promo-main{padding: 80px 0 0;}
.promo-view  .promo-main .promo-title-line{/* overflow:auto; */height: auto;}
.promo:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background-color: rgb(0 0 0 / 40%);
    position: absolute;
    top: 0;
    left: 0;
}
.promo-view .slide{position:relative;}

.promo-inner{
    min-height: 400px;
}
.promo-inner .promo-main{
    padding: 10% 0;
}

.parallax-bg{position:absolute;top:0;left:0;width:100%;height:100%;}

.promo-main{}
.photo-slider{position: relative ;}
.slides{}
.slide{/* opacity:0; */z-index:0;position: absolute;width: 100%;height: 100%;top: 0;overflow: hidden;}

.slide-bg{
    background: url(https://villagrace.ru/images/villa-grace-6.jpg);
    background-size: cover;
    background-position: 50%;
    transform: scale(1.4);
    transition: transform 1s ease,-webkit-filter .5s ease;
    transition: transform 1s ease,filter .5s ease;
    transition: all 1.4s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.slide-bg:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background-color: rgb(2 6 35 / 61%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}



.promo .swiper-pagination{position: absolute;bottom: 40px!important;/* width: 120px!important; */}


.promo .swiper-pagination-bullet{background: #fff}

.promo-container { position: relative; }
.promo-main {max-width: 680px;position: relative;padding: 20% 0px 10%;}
.promo-title {position: relative;/* margin-bottom: 30px; */font-size: 76px;line-height: 1;color: #ffffff;/* font-weight: bold; */transform-origin: 0 0;opacity: 0;will-change: transform;transform: translate3d(0,120%,1px) rotate(8deg);transition: all 1.5s;text-shadow: 0 10px 20px #0000002b;display: inline-block;padding-top: 30px;padding-bottom: 20px;min-width: 320px;font-weight: normal;}
.promo-subtitle {position: absolute;margin-bottom: 30px;font-size: 16px;line-height: 1.5;color: #ffffff;font-weight: normal;transform-origin: 0 0;opacity: 0;will-change: transform;transform: translate3d(0,120%,1px) rotate(8deg);transition: all 1.5s;text-shadow: 0 10px 20px #0000002b;top: 0px;width: 100%;right: 0;/* text-align: right; */padding-top: 1;}
.promo-subtitle-min{position:relative;display: block;margin-bottom: 20px;}
.promo-title-min{font-size: 55px;/* max-width:300px; */line-height:1;padding: 0;padding-bottom: 10px;}

.promo-subtitle-label{
    margin-right: 10px;
    background: #19286c;
    padding: 4px 10px;
    border-radius: 2px;
    line-height: 1;
}
.promo-pretitle{opacity:0;transition:all .6s;display: none;}
.promo-pretitle-line{
    width: 60px;
    display: inline-block;
    height: 1px;
    background: #ffffff69;
    vertical-align: middle;
    margin: 0 10px;
}
.promo-postitle-line{
    width: 0;
    height: 1px;
    /*  background: #ffffff1a;*/
    opacity: 0;
    transition: all 1s;
}

.promo-title-line{overflow:hidden;/* height: 130px; */}



@supports (-webkit-text-stroke: 1px white) {
}
.promo-desc {font-size: 18px;line-height: 24px;letter-spacing: 0.3px;position: relative;margin-top: 0px;margin-bottom: 50px;color: #fff;font-size: 16px;line-height: 28px;/* max-width: 427px; */margin-top: 25px;margin-left: 0;transition: opacity 1.5s;/* transform: translate3d(0,30px,1px) rotate(1deg); */opacity: 0;transform-origin: 0 0;min-height: 80px;}
.promo-view .promo-desc{min-height:auto;margin-bottom: 30px;}




.slide.swiper-slide-active{/* opacity:1; */z-index:1;}


.swiper-slide-active .slide-bg{transform: scale(1);opacity: 1;}
.swiper-slide-active .promo-title {opacity: 1;transform: translate3d(0px,0px,0px) rotate(0deg);}
.swiper-slide-active .promo-subtitle {opacity: 1;transform: translate3d(0px,0px,0px) rotate(0deg);}
.swiper-slide-active .promo-pretitle{opacity:1}

.swiper-slide-active .promo-postitle-line{
    width: 100%;
    opacity: 1;
}
.swiper-slide-active .promo-desc {transition: opacity 1.5s ease .5s,transform 0s ease 1s;transform: translate3d(0,0px,0px);opacity: 1;}

.slide-navigation{display:flex;justify-content: space-between;/* margin: 40px 0; */opacity: 0;transition: opacity 1.5s;/* width: 70%; */position: relative;}

.swiper-slide-active .slide-navigation{opacity: 1}

.slide.active{/* opacity:1; */z-index:1;}


.active .slide-bg{transform: scale(1);opacity: .6;}
.active .promo-title {opacity: 1;transform: translate3d(0px,0px,0px) rotate(0deg);}
.active .promo-subtitle {opacity: 1;transform: translate3d(0px,0px,0px) rotate(0deg);}
.active .promo-pretitle{opacity:1}

.active .promo-postitle-line{
    width: 100%;
    opacity: 1;
}
.active .promo-desc {transition: opacity 1.5s ease .5s,transform 0s ease 1s;transform: translate3d(0,0px,0px);opacity: 1;}


.promo-act {/* font-size: 0px; */width: 120px;margin-top: -5px;}
.promo-act a{font-size:0;background: #ffffff00;padding: 5px 5px;border-radius: 20px;margin-right: 5px;border: 1px solid #fff;}
.promo-act a.active{font-size:0;background: #fff;}

.btn {display: inline-block;border-radius: 2px;/* border: 2px solid rgb(255 255 255 / 16%); */text-align: center;transition: all 0.6s ease 0s;background: #33429c;-webkit-appearance: none;border-radius: 6px;}
.btn:hover a { }
.btn a {text-decoration: none;display: block;font-size: 16px;line-height: 50px;padding: 3px 50px 0;/* font-weight: bold; */color: #ffffff;/* text-transform: uppercase; *//* letter-spacing: 4px; */}
.main-btn {background: #39499c;}
.main-btn:hover {background: #1f2cd2;}
.addon-btn { background: rgb(38, 134, 122); }
.addon-btn:hover { box-shadow: rgba(57, 208, 143, 0.38) 0px 0px 20px; }
.main-btn:hover a { }
.main-btn a { }

.more-btn{
    background: none;
    border: none;
    border-radius: 0px;
    /* background: #e6e7ea; */
    margin-top: -10px;
    /* border: 2px solid #d8d8d8; */
    position: relative;margin-bottom: 20px;
}
.more-btn a{
    color: #292e42;
    padding: 0;
    /* padding: 0 30px; */
    font-size: 19px;
    line-height: 46px;
    /* font-weight: bold; */
    padding-right: 24px;
    /* border: 2px solid #d7dae0; */
}



.more-btn a svg{
    width: 87px;
    height: 14px;
    vertical-align: middle;
    /* display: none; */
    margin-left: 6px;
}
.more-btn a path{fill: #292e42;}



.more-btn svg{transition:all .6s}
.more-btn:hover svg{transform:translateX(20px)}


.section-dark-bg .more-btn a{color:#fff;}
.section-dark-bg .more-btn a path{fill:#fff;}


.promo-act .btn { margin-right: 24px; }
.soc-btn a { background-image: url("../images/social.png"); padding: 0px; text-indent: -9999px; background-size: 49px; }
.soc-btn._vk a { background-position: 0px -50px; }
.soc-btn._fb a { background-position: 0px -1px; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active { box-shadow: white 0px 0px 0px 30px inset !important; }
@-webkit-keyframes autofill {
    0%, 100% { color: rgb(102, 102, 102); background: transparent; }
}
input:-webkit-autofill { animation-delay: 1s; animation-name: autofill; animation-fill-mode: both; }
.footer {background: white;border-top: 1px solid #cccccc7a;}
.footer .section-inner{padding-bottom: 0;padding-top: 60px;}
.footer-cols {display: flex;justify-content: space-between;flex-wrap: wrap;position: relative;margin-bottom: 40px;}
.footer-col {width: 33%;margin-right: 0%;display: flex;flex-direction: column;}
.footer-col:last-child{text-align:right;}
.footer-col .logo{float:none;/* margin-bottom: 24px; */width: 174px;/* margin: 0 auto; */margin-top: -20px;}
.footer-col .logo svg{
    width: 100%;
    height: 78px;
}
.footer-col .logo svg path{fill: #19316f;}

.footer-act { text-align: right; margin-bottom: 15px; }

.footer-col ul{margin:0; padding:0; list-style:none;}
.footer-col ul li{margin-bottom: 4px;}
.footer-col ul li a{text-decoration:none;font-size: 14px;}



.footer-contact{margin-bottom: 15px;font-size: 14px;}
.footer-contact-row{
    margin-bottom: 5px;
}
.footer-contact-name{
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    text-rendering: optimizeLegibility;
    font-family: 'Avanti Bold', sans-serif;
}
.footer-contact a{
    text-decoration: none;
    display: block;
}
.footer-contacts .footer-contact p{margin: 0; font-size: 14px}



.copy {text-align: right;width: 100%;line-height: 24px;text-align: center;border-top: 1px solid #cccccc7a;padding: 20px 0;font-size: 14px;display: flex;justify-content: space-between;flex-direction: row;align-items: center;}
.copy .copy-part{display:flex;gap: 20px;}

.footer-act .soc-btn { width: 52px; text-transform: uppercase; border-color: rgb(208, 57, 111); margin-left: 10px; }
.contacts { margin-bottom: 20px; }
.contact { margin-bottom: 5px; }
.contact a { text-decoration: none; }
.popup { position: fixed; inset: 0px; z-index: -1; transition: opacity 0.6s ease 0s; width: 0px; height: 0px; }
.popup-title { margin: 0px 0px 20px; font-size: 28px; line-height: 32px; color: rgb(0, 7, 34); }
.popup .row { position: relative; margin-bottom: 13px; }
.popup .row .checkbox { float: left; left: 0px; top: 0px; width: 10px; opacity: 0; }
.popup .row .checkbox-label { display: inline-block; padding-left: 30px; margin-bottom: 10px; position: relative; }
.popup .row label { font-size: 14px; line-height: 1.4; color: rgba(255, 255, 255, 0.62); font-weight: normal; display: none; }
.popup .row label .required { color: rgba(255, 0, 0, 0); display: none; }
.popup .row input.fld { border: 2px solid rgba(183, 183, 183, 0.1); box-sizing: border-box; padding: 12px 20px; width: 100%; font-size: 14px; outline: none; appearance: none; border-radius: 40px; background: rgba(255, 255, 255, 0.04); font-family: Montserrat, Arial, sans-serif; color: rgb(255, 255, 255); }
.popup .row label a { text-decoration: none; color: rgb(255, 255, 255); border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
.popup .row textarea { width: 100%; padding: 10px; border: 1px solid rgb(189, 189, 189); height: 80px; resize: vertical; font-size: 16px; font-family: Arial, sans-serif; box-sizing: border-box; }
.popup .row input.fld { }
.popup .errorMessage { font-size: 12px; color: rgb(208, 57, 111); line-height: 18px; padding: 5px; }
.popup .errorMessage a { color: rgb(208, 57, 111); text-decoration: none; }
.popup .rows-half { display: flex; justify-content: space-between; flex-wrap: wrap; }
.popup .rows-half .row { width: 100%; }
.popup .row.submit { margin-bottom: 10px; }
.popup .row.submit input { margin: 0px auto; display: block; text-decoration: none; padding: 14px 35px; background: rgb(208, 57, 111); border-radius: 40px; color: rgb(255, 255, 255); transition: all 0.6s ease 0s; border: 2px solid rgba(255, 255, 255, 0.1); font-size: 14px; appearance: none; outline: none; font-family: Montserrat, Arial, sans-serif; font-weight: bold; width: 100%; }
.popup .row.submit { width: 100%; margin-bottom: 0px; }
.popup .row.submit .btn { width: 100%; text-align: center; margin: 0px; }
.popup .row.submit input:hover { box-shadow: rgba(208, 57, 111, 0.53) 0px 0px 20px; }
.popup-close { position: absolute; width: 48px; height: 48px; background-size: cover; right: 10px; top: 10px; cursor: pointer; font-size: 16px; font-weight: 100; line-height: 42px; text-align: center; border-radius: 40px; opacity: 0.8; z-index: 1; }
.popup-close:hover { opacity: 1; }
.popup-close svg { width: 24px; height: 24px; position: absolute; inset: 0px; margin: auto; }
.popup.ready { z-index: 9999; width: 100%; height: 100%; }
.popup-overlay { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0, 13, 25, 0.96); opacity: 0; transition: opacity 0.6s ease 0s; }
.popup-inner { position: absolute; inset: 0px; width: 100%; height: 100%; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; overflow: auto; padding: 40px 0px 60px; }
.popup-content { position: relative; max-width: 540px; margin: auto; z-index: 1; color: rgba(255, 255, 255, 0.68); top: -600px; opacity: 0; border-radius: 15px; transition: all 0.6s ease 0s; border: 2px solid rgba(255, 255, 255, 0.09); box-shadow: rgba(0, 0, 0, 0.29) 0px 0px 20px; background-color: rgba(16, 32, 45, 0.88); padding: 40px; }
.video-popup .popup-content { max-width: 840px; }
.visible .popup-content { top: 0px; opacity: 1; }
.visible .popup-overlay { opacity: 1; }
.popup-close { position: absolute; }
.popup-close path { fill: rgb(255, 255, 255); }
.popup-header { margin-bottom: 30px; text-align: center; }
.popup-header h2 { margin: 0px; color: rgb(51, 51, 51); font-size: 22px; line-height: 28px; }
.popup-left-side { position: absolute; left: 0px; width: 260px; height: 100%; overflow: hidden; background-size: cover; z-index: 1; border-radius: 6px 0px 0px 6px; padding: 0px 40px; background-position: center bottom; color: rgba(255, 255, 255, 0.45); display: none; }
.popup-left-side-logo { width: 110px; margin: 0px auto; padding: 40px 0px; position: relative; }
.popup-left-side-logo img { display: block; width: 100%; }
.popup .row .checkbox-label { display: inline-block; padding-left: 30px; margin-bottom: 10px; position: relative; }
.popup .row .checkbox-label.err { color: rgb(161, 51, 110); font-weight: bold; }
.popup .row .checkbox-label.err a { color: rgb(161, 51, 110); }


.form .row.__checkbox-row .checkbox-label {
    display: inline-block;
    /* float: left; */
    padding-left: 30px;
    position: relative;
    font-weight: normal;
}
.form .row.__checkbox-row .checkbox-label a{border-bottom: 1px solid #cccccc2e;padding-bottom: 3px;}

.form .row.__checkbox-row .checkbox-label a:hover{border-bottom: 1px solid #cccccc00; }


.__checkbox-row {
    padding: 8px 0;
    text-align: left;
}

.__checkbox {
    margin: 2px 0;
    position: absolute;
}

.__checkbox input {
}

.__checkbox span {
}

.__checkbox input {
    position: relative;
    z-index: -9999;
}

.__checkbox span {
    width: 20px;
    height: 20px;
    display: block;
    background: url(../images/__checkbox.png);
    background-size: cover;
}

.__checkbox input:checked + span {
    background-position: 0px -23px;
}




.form-title { margin-bottom: 30px; font-weight: 900; font-size: 26px; }
.form-container { display: none; position: relative; }
.form-container.active { display: block; }







.promo-act{
    margin-right: 30px;
    /* margin-bottom: 80px; */
}
.promo-next{
    /* margin: 80px 0; */
    /* display: flex; */
    /* justify-content: space-between; */
    /* float: right; */
    margin-right: 140px;
    position: relative;
}
.promo-next .promo-arrows{transition:all .6s}
.promo-next:hover .promo-arrows{transform:translateX(15px)}
.promo-next-pretitle{
    width: 100%;
    display: block;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 10px;
}
.promo-next-title{
    font-size: 18px;
    /* font-weight: bold; */
}





.promo-arrows{
    display: flex;
    justify-content: space-between;
    margin-top: -21px;
    float: right;
    position: absolute;
    right: -140px;
}
.promo-arrow{
    /* margin: 0 20px; */
    width: 120px;
}
.promo-arrow svg{width:100%;height: 17px;opacity: .8;cursor:pointer;}
.promo-arrow svg:hover{opacity:1}
.promo-arrow-prev{}
.promo-arrow-next{}



.half-blocks{display: flex;justify-content: space-between;/* margin-bottom: 40px; *//* border-bottom: 1px solid #e2e2e2; */flex-wrap: wrap;min-height: 500px;}
.half-block{width: 44%;margin-bottom: 40px;}
.half-block p:last-child{margin-bottom:0}

.half-blocks.half-blocks-left{flex-direction: row-reverse;}
.half-blocks.half-blocks-left .full-side{float:right}



.v-image-container{position:relative;margin-bottom: 30px;display: block;}
.animate-border{
    width: 100%;
    height: 100%;
    margin: 20px -20px;
    position: absolute;
}
.animate-border span{display:block;position:absolute;background: #d8d8d8; overflow:hidden;}
.animate-border span:after{content:'';position:absolute;background: #39499c;width: 100%;height: 100%; }
.animate-border-top{
    top: 0;
    height: 2px;
    width: 100%;
    left: 0;
}


.animate-border-left{
    left: 0;
    height: 100%;
    width: 2px;
    top: 0;
}
.animate-border-right{
    right: 0;
    height: 100%;
    width: 2px;
    top: 0;
}
.animate-border-bottom{
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 100%;
}
.animate-border-top:after{right: -100%;top: 0; transition:all .3s; transition-delay: 0s}
.v-image-container.revealed .animate-border-top:after{right: 0;top: 0;}
.animate-border-left:after{top:-100%; transition:all .3s; transition-delay: .3s; }
.v-image-container.revealed .animate-border-left:after{ top: 0;}
.animate-border-bottom:after{left:-100%; transition:all .3s; transition-delay: .6s;}
.v-image-container.revealed .animate-border-bottom:after{left: 0%;}
.animate-border-right:after{bottom:-100%;transition:all .3s;  transition-delay: .9s;}
.v-image-container.revealed .animate-border-right:after{bottom: 0%;  }



.v-image{background-size: cover;background-position: center right;background: url(https://thumb.tildacdn.com/tild6132-3831-4263-b239-623261343366/-/resize/760x/-/format/webp/22.jpg);position: relative;/* border: 4px solid #f2f2f2; */overflow: hidden;max-height: 560px;}
.v-image img{display:block;width:100%;box-shadow: -5px 9px 20px #dee1ec;transition:all 1s;transform: scale(1.1);}
.section-dark .v-image{border-color:#e6e7ea;}
.section.revealed .v-image  img{transform: scale(1);}
.section.revealed .v-image:hover  img{transform: scale(1.05);}
@keyframes bg {
    0% {
        background-size:    0 3px,
        3px 0,
        0 3px,
        3px 0;
    }
    25% {
        background-size:    100% 3px,
        3px 0,
        0 3px,
        3px 0;
    }
    50% {
        background-size:    100% 3px,
        3px 100%,
        0 3px,
        3px 0;
    }
    75% {
        background-size:    100% 3px,
        3px 100%,
        100% 3px,
        3px 0;
    }
    100% {
        background-size:    100% 3px,
        3px 100%,
        100% 3px,
        3px 100%;
    }
}

.v-image:before {
    width: 25%;
    margin: 2rem auto;
    padding: 2em;

    background-repeat: no-repeat;
    background-image:   linear-gradient(to right, #C9C9C9 100%, #C9C9C9 100%),
    linear-gradient(to bottom, #C9C9C9 100%, #C9C9C9 100%),
    linear-gradient(to right, #C9C9C9 100%, #C9C9C9 100%),
    linear-gradient(to bottom, #C9C9C9 100%, #C9C9C9 100%);
    background-size:    100% 3px,
    3px 100%,
    100% 3px,
    3px 100%;
    background-position:    0 0,
    100% 0,
    100% 100%,
    0 100%;
    animation: bg 1.25s cubic-bezier(0.19, 1, 0.22, 1) 1;
    animation-play-state: paused;
}

.v-image:before:hover {
    animation-play-state: running;
}
.project-image{height:320px;}
.project-image img{display:block; width:100%;}


.exist-project{
    position: relative;
    height: 100%;
}
.exist-project a{
    display: block;
    height: 100%;
    width: 100%;
}

.exist-project-preview{
    width: 100%;
}
.exist-project-preview:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background: rgb(2 6 35 / 51%);}
.exist-project-preview img{
    width: 100%;
}

.exist-project-info{
    position: absolute;
    bottom: 0;
    color: #fff;
    padding: 40px 80px;
}
.exist-project-year{
    position: absolute;
    top: 0;
}

.exist-project-name{
    font-size: 24px;
    margin-bottom: 5px;
    color: #fff;
}
p.exist-project-address{
    opacity: .6;
    color: #fff;
}

.slick-arrow{
    /* border-radius: 60px; */
    width: 60px;
    height: 60px;
    border: none;
    text-indent: -9999px;
    position: absolute;
    top: 44%;
    /* bottom: 0; */
    margin: auto;
    z-index: 1;
    outline: none;
    cursor: pointer;
    /* box-shadow: 0 5px 10px 0px #00000033; */
    /* border: 2px solid #ffffff08; */
    opacity: 0;
    /* background: red; */
}
.slick-prev{left: 40px;  background-size: 25px;background-position: 14px 10px;background-repeat: no-repeat;/* top: 67%; *//* background: linear-gradient(90deg, #151e2a 0%, rgb(34 31 47 / 0%) 100%); */}
.slick-next{right: 40px;background-size: 25px;background-position: 17px -35px;background-repeat: no-repeat;/* top: 17%; *//* background: linear-gradient(-90deg, #141b28e0 0%, rgb(34 31 47 / 0%) 100%); */}



.photo-slider-container{position:relative;}
.photo-nav{
    /* position: absolute; */
    /* top: 0; */
    /* height: 100%; */
}
.photo-nav-item{position:absolute;top: 0;width: 140px;height: 100%;/* z-index: 1; */opacity: 1;overflow: hidden;background: linear-gradient(90deg, rgb(2 0 36 / 0%) 0%, rgb(3 17 35 / 23%) 100%);}
.photo-nav-item.prev{left:0;/* border-radius: 0 40px 40px 0; */transform: rotate(-180deg);}
.photo-nav-item.next{right:0;}
.photo-nav-item svg{fill: #fff;height: 58px;width: 76px;right: 34px;display: block;margin-left: -80px;position: absolute;top: 0;bottom: 0;margin: auto;}

.photo{
    height: 100%;
    display: block!important;
}
.photo img{display: block; width: 100%;}






.mfp-counter{display:none;}



[class*="ymaps-2"][class*="-ground-pane"] {
    filter: grayscale(1);
}

.half-blocks.half-blocks-left .full-side{transform: translateX(-110px)}
.section.revealed .half-blocks.half-blocks-left .full-side{transform: translateX(0px)}
.half-blocks .full-side{width: 48vw;height: 100%;background-size: cover;border-radius: 6px;max-width: 700px;overflow: hidden;box-shadow: 0 40px 70px -40px #070f3538;position: relative;min-height: 380px;}
.half-blocks.revealed .full-side {
    transform: translateX(0px);
}

.half-blocks .full-side #map{height:100%!important}

.half_slides{width:100%;height:100%;/* position: absolute!important; */top:0;left:0;}
.half_slide{width:100%;height:100%;/* position: absolute; */background-position:center;background-size:cover;}


.slick-dots{position:absolute;bottom:20px;left:20px;list-style: none;margin: 0;padding: 0;right: 20px;margin: 0 auto;text-align: center;}
.slick-dots li{display:inline-block;margin-right: 6px;}
.slick-dots li.slick-active{background:#fff}
.slick-dots li{background:none;border:none;border-radius:20px;width:10px;height:10px;background: none;text-indent:-1000px;border: 1px solid #fff;}
.slick-dots button{ display:none}


.plans .slick-dots{position:absolute;bottom:20px;left:20px;list-style: none;margin: 0;padding: 0;right: 20px;margin: 0 auto;text-align: center;}
.plans .slick-dots li{display:inline-block; margin-right:10px;}
.plans .slick-dots li.slick-active{background: #575b88;}
.plans .slick-dots li{background:none;border:none;border-radius:20px;width:10px;height:10px;background: none;text-indent:-1000px;border: 1px solid #575b88;}
.plans .slick-dots button{ display:none}



.fadein.faderight{ transform: translateX(110px);  }
.half-blocks-left .fadein.fadeleft{ transform: translateX(-110px);  }

.section.revealed .half-blocks .fadein.fadeleft{ transform: translateX( 0px);  }

.project-blocks {display:flex;justify-content:space-between;flex-wrap: wrap;}
.project-block{width: 47.8%;}

.project-list{/* display:flex; *//* justify-content:space-between; */}
.project-item{
    position: relative;
    width: 100%;
    margin-bottom: 10%;
    border-radius: 6px;
    overflow: hidden;
}
.project-item a{
    color: #fff;
}
.project-item-preview{
    position: relative;
}
.project-item-preview img{
    display: block;
    width: 100%;
    transition:all 1s;
}

.project-item-label{position:absolute;top:20px;left: 20px;color: black;border-radius: 3px;background: #18218cd4;padding: 6px 15px 3px;/* padding-left: 16px; */font-size: 14px;line-height: 1.6;color: #ffffff;/* padding-right: 27px; *//* font-weight: bold; */}
.project-item-label:before{content:'';position:absolute;width: 10px;height: 10px;background: #ffffff;left: 10px;border-radius: 20px;top: 7px;display: none;}

.project-item-preview img.vert{display: block;}
.project-item-preview img.horz{display: none;}

.project-item-preview:after{content:'';background: linear-gradient(180deg, rgb(2 0 36 / 0%) 0%, rgb(4 24 49 / 78%) 100%);position:absolute;bottom: 0;left:0;width:100%;height: 70%;}

.project-item:hover .project-item-preview img{transform:scale(1.05)}

.project-item-content{
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 28px;
}
.project-item-title{
    color: #fff;
    font-size: 32px;
    text-shadow: 0 0 10px #00000063;
}
p.project-item-address{
    color: #fff;
    margin-bottom: 0;
}
.project-item-about{}




.slide-items{/* display:flex; *//* justify-content:space-between; */margin: 0 -20px;}
.slide-item{
    /* box-shadow: 0 5px 20px #010b2936; */
    position: relative;
    width: 100%;
    margin-bottom: 0;
    overflow: hidden;
    /* margin: 20px; */

    margin-bottom: 40px;
}
.slide-item a{
    color: #fff;
}
.slide-item-preview{
    position: relative;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);border-radius: 6px;
}
.slide-item-preview img{
    display: block;
    width: 100%;
    transition:all 1s;
}

.slide-item-label{position:absolute;top:20px;left: 20px;color: black;border-radius: 3px;background: #18218cd4;padding: 6px 15px 3px;/* padding-left: 16px; */font-size: 14px;line-height: 1.6;color: #ffffff;/* padding-right: 27px; *//* font-weight: bold; */}

.slide-item-label:before{content:'';position:absolute;width: 10px;height: 10px;background: #ffffff;left: 10px;border-radius: 20px;top: 7px;display: none;}

.slide-item-preview img.vert{display: none;}
.slide-item-preview img.horz{display: block;}

.slide-item-preview:after{content:'';background: linear-gradient(200deg, rgb(0 0 0 / 0%) 0%, rgb(4 24 49 / 51%) 100%);position:absolute;bottom: 0;left:0;width:100%;height: 100%;/* background: linear-gradient(180deg, rgb(2 0 36 / 0%) 0%, rgb(4 24 49 / 78%) 100%); */}

.slide-item:hover .slide-item-preview img{transform:scale(1.05)}

.slide-item-content{
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 28px;
}
.slide-item-title{
    color: #fff;
    font-size: 32px;
    text-shadow: 0 0 10px #00000063;
    font-family: 'Avanti Bold', sans-serif;
}
p.slide-item-address{
    color: #fff;
    margin-bottom: 0;
}
.slide-item-about{}




.special-blocks {display:flex;justify-content:space-between;flex-wrap: wrap;}
.special-block{width: 47.8%;}

.special-list{/* display:flex; *//* justify-content:space-between; */}
.special-item{
    position: relative;
    width: 100%;
    margin-bottom: 10%;
    border-radius: 6px;
    overflow: hidden;
}
.special-item a{
    color: #fff;
}
.special-item-preview{
    position: relative;
    overflow:hidden;
}
.special-item-preview img{
    display: block;
    width: 100%;
    transition:all 1s;
}
.special-item:hover img{transform:scale(1.05)}
.special-item-label{position:absolute;top:20px;left: 20px;color: black;border-radius: 5px;background: #ffffffd4;padding: 6px 15px 3px;/* padding-left: 16px; */font-size: 14px;line-height: 1.6;color: #050d2b;/* padding-right: 27px; *//* font-weight: bold; */}
.special-item-label:before{content:'';position:absolute;width: 10px;height: 10px;background: #ffffff;left: 10px;border-radius: 20px;top: 7px;display: none;}

.special-item-preview img.vert{display: block;}
.special-item-preview img.horz{display: none;}

.special-item-preview:after{content:'';/* background: linear-gradient(180deg, rgb(2 0 36 / 0%) 0%, rgb(4 24 49 / 78%) 100%); */position:absolute;bottom: 0;left:0;width:100%;height: 70%;}

.special-item:hover .project-item-preview img{transform:scale(1.05)}

.special-item-content{
    /* position: absolute; */
    bottom: 0;
    left: 0;
    padding: 40px;
    background: #fff;
}



.special-item-title{
    /* color: #fff; */
    font-size: 24px;
    /* text-shadow: 0 0 10px #00000063; */
    font-weight: normal;
    line-height: 1.3;
}
p.special-item-address{
    /* color: #fff; */
    margin-bottom: 0;
}
.special-item-about{}

.special-view-about{}
.special-view-about h3{margin-bottom: 30px;}
.special-view-about h4{margin-bottom: 10px;}
.special-view-about ul{
    margin: 0;
    padding: 0;
    list-style: none;
    margin-bottom: 40px;
}
.special-view-about ul li{}
.special-item-anons{padding-top:10px;}
.special-item-anons p{margin-top:0;}


.quotes{font-size: 18px;/* background:#f2f2f2; *//* padding: 20px 40px 0px 0px; *//* position:absolute; *//* bottom: 0; */left:0;/* width: 300px; */line-height: 1.3;transform: translate(-40px, 0px);transition: all 1s;color: #828ba2;text-align: right;}
.half-blocks-left .quotes{left:auto;right:0;padding-right:0;padding-left:40px;text-align: right;transform: translate(40px, 0px);}
.section.revealed  .quotes{transform:translate(0)}
.section-dark .quotes{background:#e6e7ea;}



.fadein{transform: translate(-40px, 0px);transition: all 1s;opacity: 0;}
.half-blocks-left .fadein{ transform: translate(40px, 0px);}
.section.revealed  .fadein{transform:translate(0);opacity: 1;}


.num-counts{display: flex;justify-content: center;flex-wrap: wrap;text-align: center;}
.num-count{
    display: inline-block;
    width: 25%;
    padding: 0 20px;
}

.num-count h2{font-weight:normal;font-size: 34px;/* height:40px; */vertical-align:bottom;}

.project-nums .num-count h2{font-weight:normal;font-size: 42px;/* height:40px; */vertical-align:bottom;color: #858ea4;}
.project-nums .section-inner{padding:0;padding-top: 50px;}

.num-count h2 sup{font-size:18px}
.num-count p{line-height:1.6;max-width: 220px;}

.block-counts{
    padding: 0px 0;
    padding-bottom: 20px;
}
.block-count{
    margin-bottom: 30px;
}
.block-count-num{font-size: 34px;line-height: 1.3;}
.block-count-desc{}

.section-plans{background: #fff}
.plans-container{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.floors{
    width: 30%;
}
.floors .floor{margin-bottom: 10px;text-align: center;}
.floors .floor a{
    display: block;
    padding: 10px;
    border: 2px solid #f2f2f2;
    border-radius: 6px;
}
.floors .floor.active a{border: 2px solid #33429c;color: #33429c;}

.plans{
    margin-bottom: 40px;
    width: 63%;
    border: 1px solid #f3f3f3;
    border-radius: 6px;
    overflow: hidden;
    /* box-shadow: 0 40px 70px -40px #070f3538; */
}
.plans .plan{
    /* display: none; */
    width: 100%;
    height: 100%;
    position: relative;
}
.plans .plan img{
    display: block;
    width: 100%;
    /* height: 500px; */
}
.plans .plan.active{
    /* display: block; */
}



form{}
form.hidden{display:none}

#contact-success{}
#contact-success.hidden{display:none}

.row{margin-bottom: 10px;}
.row label{display:block;font-weight: bold;font-size: 14px;display: none;}
.row input{display:block;width:100%;padding:10px;font-size:16px;border: 2px solid #e9e9e926;-webkit-appearance: none;border-radius: 6px;padding: 14px;background: #f2f2f2;}
.row textarea{display:block;width:100%;padding:10px;font-size:16px;font-family:arial;line-height:1.5;border: 1px solid #e9e9e9;resize: vertical;}
.row input.checkbox{opacity:0;position: absolute;}



.row.error input{display:block;width:100%;padding:10px;font-size:16px;border: 2px solid #33429c;-webkit-appearance: none;border-radius: 6px;padding: 14px;/* box-shadow: 0 0 40px #33429c; */}


.row .submit-btn{background: #374280;color: #fff;padding: 14px;font: 16px / 24px Avanti , arial;transition: all .6s;cursor: pointer;}
.row .submit-btn:hover{background: #405fb1;/* color: #fff; *//* padding: 14px; *//* font: 16px / 24px Avanti , arial; */}


.errorSummary{display:none!important}
.errorMessage{/* display: none!important; */padding: 3px 0 0;font-size: 13px;color: #9eadff;line-height: 1.4;}


/*addons_1508210213*/
.slider-subsections{/* position: absolute; */top:0;left: 0;width: 100%;display: flex;justify-content: space-between;/* height: 100%; *//* bottom: 120px; */}
.slider-subsection{width: 46%;top: 100px;overflow: hidden;position: absolute;/* height: 85%; */}
.slider-subsection.slider-subsection-right{right:0;border-radius: 10px 0 0 10px;}
.slider-subsection.slider-subsection-left{left:0;border-radius: 0 10px 10px 0;}


.image-slide{}
.photo-slider img{display: block; width: 100%}
.photo-slider a{display: block; width: 100%}


.slider-subsection a{display:block;}
.slider-subsection img{display:block;height: 100%;}


@supports (-webkit-text-stroke: 1px white) {
}
@media screen and (max-width: 1420px) {

    .slide-item-preview img.vert{/* display: block; */}
    .slide-item-preview img.horz{/* display: none; */}
}

@media screen and (max-width: 1130px) {
    .navigation { display: none; }
    .slide-items{margin:0 0px;}

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

    .promo-main{width: 549px;}
    .promo-title{font-size:60px}
    .promo-title-min{font-size:40px}
    .promo-title-line{height:100px;}
    .slide-items{margin:0 0px;}
}
@media screen and (max-width: 880px) {
    .wrap { margin: 0px auto; padding: 0px 20px; }
    .header-inner{padding: 20px 0px;}
    #nav-icon{right:25px;padding-top: 8px; top:20px}
    #nav-icon.fixed{top: 18px;}
    .logo {width: 170px;height: 36px;position: relative;margin-right: 40px;float: left;/* margin-top: -5px; */}
    .logo a svg {
        width: 160px;
        height: 37px;
    }
    .header.fixed .header-inner {
        padding: 15px 0px 15px;
    }

    .right-side{display:none}
    .promo{/* min-height: 520px; */}
    .promo.promo-view{min-height: auto;}
    .promo-inner{min-height: 260px;}
    .promo-desc{min-height:auto;margin-top: 20px;margin-bottom: 30px;}


    .section-title{font-size: 26px;}
    p{font-size: 14px;}
    .content p{font-size: 14px;margin: 10px auto 40px;}
    p.slide-item-address{margin-bottom:0;}

    .num-count p{max-width: 140px;}

    .section .wrap{    padding: 0px 40px;}
    .promo-main{width: auto;padding-bottom: 0;padding-top: 120px;}
    .promo-title{font-size: 40px;line-height: 1;padding-bottom: 20px;}
    .promo-title-min{font-size:30px;/* padding:30px 0 */}
    .promo-subtitle{font-size: 12px;}
    .promo-title-line{height: auto;}
    .slide-navigation{display:block;display: flex;margin-bottom: 80px;}
    .promo-act{margin-bottom: 30px;}

    .promo-next{/* display:none; */width: 200px;position: relative;margin-right: 0;}
    .promo-next-pretitle{/* display:none */font-size: 8px;margin-bottom: 0;}
    .promo-next-title{/* display:none */font-size: 14px;}
    .promo-arrows{right: 0;}

    .promo-arrow svg{height:12px;}

    .section-inner{padding-top:60px;padding-bottom: 20px;}
    .section-header{margin-bottom:0}
    .section.promo .section-inner{padding-top:60px;padding-bottom: 0;}

    .section.promo .promo-desc{/* height: 115px; */}
    .section.promo.promo-view .promo-desc{height: auto; min-height:none}

    .half-blocks{display: flex;flex-wrap:wrap;justify-content: space-between;min-height: auto;}
    .half-block{width: 100%; margin-bottom:60px;}

    .special-block{width:100%;}

    .btn{}
    .btn a{font-size: 14px;line-height: 44px;padding: 2px 36px;padding-bottom: 0px;}
    .btn.more-btn a{font-size: 14px;line-height: 40px;padding: 0;padding-right: 20px;}

    .footer-col,.footer-col:last-child{width:100%; text-align:center;}
    .footer-col .logo{margin:0 auto;margin-bottom: 60px;margin-top: -40px;}

    .social-links{display: flex; flex-direction: row; gap:5px;}
    .social-link{}
    .social-link svg{display: block; }
    .social-link svg path{fill:red;}

    .social-links .social-link{text-align:center;}
    .social-links ul li{float:none; display:inline-block; margin:0; }

    .full-side{width: 116%;margin: 0 -8%;min-height: 320px;}

    .floors{width:100%;display:flex;justify-content:center;flex-wrap:wrap;margin-bottom: 50px;}
    .floors .floor{width:20%; margin:0 10px 10px;}
    .plans{width:100%}
    .half-blocks .full-side{width: 128%;/* margin: 0; */}

    .copy-part{width:100%}
    .copy .copy-part{width:100%; align-items:center; flex-direction:column; gap:0; margin-bottom:10px;}

    .num-counts {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        text-align: center;
    }

    .num-count{width: 50%;padding-right: 0;}
    .num-count h2{font-size: 26px;}

    .half-blocks .half-block:last-child{margin-bottom:0;}
    .half-blocks .full-side #map{height:400px!important;}

    .project-block{width: 100%;}


    .project-item-preview img.vert{display: none;}
    .project-item-preview img.horz{display: block;}

    .completed-nav{display: none;}
    .slide-items{margin:0 0px;}


    /*addons_1508210213*/
    .slider-subsections{position:relative;/* flex-wrap:wrap; *//* justify-content: center; */display: block;margin-top: -60px;bottom: 0;width: 100%;}
    .slider-subsection{width: 100%;top: 0;overflow: hidden;position: relative;border-radius: 0!important;height: auto;}
    .slider-subsection img{display:block;height: auto; width:100%}


    .promo .swiper-pagination{position: absolute;bottom: 20px!important;/* width: 120px!important; */}

    .copy{flex-wrap:wrap; text-align:center; justify-content:center;}

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

    .half-blocks .full-side{/* width: 128%; */margin: 0;left: 0;width: 100%;height: auto;margin-bottom: 20px;/* min-height: auto; */}
    .half-blocks .full-side img{/* min-height: 100%!important; *//* height: 100%; *//* min-width: auto; */width: 100%;}
    .num-count{width: 50%;padding: 0;}
    .num-count h2{font-size: 26px;}
    .project-item-title{font-size:24px;}
    .project-item-content{padding: 22px;}
    .slide-item-title{font-size:24px;}
    .slide-item-content{padding: 22px;}
    p.project-item-address{font-size:12px;margin-bottom: 0; }

    .section .wrap{    padding: 0px 24px;}
    .project-item-label{font-size: 12px}
    .completed .slide-container{padding: 0 25px;padding-bottom: 60px;}
    .completed .section-header{padding-bottom:20px}

    .about_slides_prev{display: none}
    .about_slides_next{display: none}

    .int_slides_prev{display: none}
    .int_slides_next{display: none}


    .slide-item-preview img.vert{display: none;}
    .slide-item-preview img.horz{display: block;}
    .slide-items{margin:0 -10px;}

}
.popup-loader { height: 0px; transition: all 0.6s ease 0s; opacity: 0; position: absolute; overflow: hidden; }
.popup-loader.active { display: block; height: 100%; position: absolute; inset: 0px; margin: auto; z-index: 1; opacity: 1; background: rgba(15, 29, 43, 0.62); }
.lds-ring { display: inline-block; width: 80px; height: 80px; position: absolute; inset: 0px; margin: auto; }
.lds-ring div { box-sizing: border-box; display: block; position: absolute; width: 64px; height: 64px; margin: 8px; border-width: 2px; border-style: solid; border-image: initial; border-radius: 50%; animation: 1.2s cubic-bezier(0.5, 0, 0.5, 1) 0s infinite normal none running lds-ring; border-color: rgb(208, 57, 111) transparent transparent; }
.lds-ring div:nth-child(1) { animation-delay: -0.45s; }
.lds-ring div:nth-child(2) { animation-delay: -0.3s; }
.lds-ring div:nth-child(3) { animation-delay: -0.15s; }
@keyframes lds-ring {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.shake { animation: 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 1 normal both running shake; transform: translate3d(0px, 0px, 0px); backface-visibility: hidden; perspective: 1000px; }
@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0px, 0px); }
    20%, 80% { transform: translate3d(2px, 0px, 0px); }
    30%, 50%, 70% { transform: translate3d(-4px, 0px, 0px); }
    40%, 60% { transform: translate3d(4px, 0px, 0px); }
}
@keyframes ripple {
    0% { box-shadow: rgba(223, 60, 118, 0.1) 0px 0px 0px 0px, rgba(223, 60, 118, 0.1) 0px 0px 0px 0.25em, rgba(223, 60, 118, 0.1) 0px 0px 0px 0.75em, rgba(223, 60, 118, 0.1) 0px 0px 0px 1.25em; }
    100% { box-shadow: rgba(223, 60, 118, 0.1) 0px 0px 0px 0.25em, rgba(223, 60, 118, 0.1) 0px 0px 0px 0.75em, rgba(223, 60, 118, 0.1) 0px 0px 0px 1.25em, rgba(53, 255, 195, 0) 0px 0px 0px 3em; }
}


#gl {
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    position: absolute;
}

canvas {
    display: block;
}

/* Page Loader */
.js .loading::before {
    content: '';
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-bg);
}

.js .loading::after {
    content: '';
    position: fixed;
    z-index: 100000;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0.4;
    background: var(--color-link);
    animation: loaderAnim 0.7s linear infinite alternate forwards;
}

@keyframes loaderAnim {
    to {
        opacity: 1;
        transform: scale3d(0.5,0.5,1);
    }
}

a {
    text-decoration: none;
    color: var(--color-link);
    outline: none;
}

a:hover,
a:focus {
    /* color: var(--color-link-hover); */
    outline: none;
}

.message {
    background: var(--color-text);
    color: var(--color-bg);
    padding: 1rem;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    text-align: center;
}

.frame {
    padding: 3rem 5vw;
    text-align: center;
    /* position: relative; */
    /* z-index: 1000; */
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.frame > * {
    position: relative;
}

.frame__title {
    font-size: 1.25rem;
    margin: 0;
    font-weight: normal;
}

.frame__tagline {
    display: none;
    margin: 0.5rem 0 2rem;
}

.frame__links {
    margin: 1rem 0;
}

.frame a {
    text-transform: lowercase;
}

.frame__links a:not(:last-child),
.frame__demos a:not(:last-child) {
    margin-right: 1rem;
}

.frame__demos {
    margin: 1rem 0;
}

.frame__demo--current,
.frame__demo--current:hover {
    color: var(--color-text);
}

.frame__content {
    line-height: 0.8;
    pointer-events: none;
    margin-top: 13vh;
    font-size: 40vw;
    font-family: essonnes-display, serif;
    mix-blend-mode: soft-light;
    font-weight: normal;
    text-align: center;
    color: #c2ba8b;
}

.demo-2 .frame__content {
    font-size: 9vw;
    text-transform: uppercase;
    font-weight: bold;
    mix-blend-mode: soft-light;
    text-align: left;
    color: #fff;
    font-family: Futura, "futura-pt", Arial, sans-serif;
}

.demo-3 .frame__content {
    color: #24211d;
}
.demo-4 .frame__content {
    color: #75c298;
    mix-blend-mode: overlay;
}

@media screen and (min-width: 53em) {
    .message {
        display: none;
    }
    .frame {
        position: absolute;
        text-align: left;
        z-index: 0;
        top: 0;
        left: 0;
        display: grid;
        align-content: space-between;
        width: 100%;
        max-width: none;
        height: 100vh;
        padding: 0;
        pointer-events: none;
        grid-template-columns: 75% 25%;
        grid-template-rows: auto auto auto;
    }

}
.more-btn span{
    display: block;
    /* padding: 25px 80px; */
}


