:root {
    --bg-dark:#151515;
    --main-color:#FFF;
    --gray-color:#EDEFF8;
    --first-color:#1B2F6C;
    --second-color:#08E0BB;
    --third-color:#000000;
    --forth-color:#1B2F6C;
    --fifth-color:#1D3272;
    --color5: #202231;
    --color6:#1D3272;
    --color7:#D0D4E1;
    --color8:#142453;
    --light-main-color: #EEF1FE;
    --FuturaPt:Futura PT;
    --size-section-title:52px;
}
@font-face {
    font-family: Futura PT;
    font-style: normal;
    font-weight: normal;
    src:url('../fonts/FuturaPT-Book.woff2') format("woff2") ;
    font-display: swap;
}
@font-face {
    font-family: Futura PT;
    font-style: italic;
    font-weight: normal;
    src:url('../fonts/FuturaPTBookItalic.woff2') format("woff2") ;
    font-display: swap;
}
@font-face {
    font-family: Futura PT;
    font-style: normal;
    font-weight: 600;
    src:url('../fonts/FuturaPT-Demi.woff2') format("woff2") ;
    font-display: swap;
}
@font-face {
    font-family: Futura PT;
    font-style: normal;
    font-weight: 500;
    src:url('../fonts/FuturaPT-Medium.woff2') format("woff2") ;
    font-display: swap;
}
body,html{
    padding: 0;
    margin: 0;
    position: relative;
    background-color: var(--main-color);
    font-family: var(--FuturaPt);
    font-style: normal;
    color: var(--main-color);
    animation: background 10s ease infinite;
    background-size: 180% 180%;
}
.mainer{
    position: relative;
    z-index: 5;
}
.counter_title p{
    margin:2px 0;
}
ul,li{
    padding: 0;
    margin: 0;
}
li{
    list-style: none;
}
h1,h2,h3{
    margin: 0;
}
.overflow__wrapper{
    overflow:hidden;
}
a{
    text-decoration: none;
    cursor: pointer;
    font-family:var(--FuturaPt);
    font-style: normal;
    color: var(--main-color);
}
button, input, textarea{
    border: none;
    outline: none;
    cursor: pointer;
    font-family:var(--FuturaPt);
}
.nav_link{
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #FAFAFA;
    position: relative;
    white-space: nowrap;
}
.project-count-badge {
    position: absolute;
    top: 6px;
    right: -20px;
    font-size: 50%;
    padding: 0;
    line-height: 1;
    font-weight: 500;
}
.tab_title span{
    position: relative;
    z-index:10;
}
.nav_link:before{
    content: '';
    position: absolute;
    bottom: 0;
    width: 0;
    right: 0;
    height: 1px;
    background: var(--second-color);
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
}
.nav_link.active{
    color: var(--second-color);
    font-weight: 500;
}
.nav_link:hover:before{
    width: 100%;
    right: auto;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
}
.logo img {
    max-width: 100%;
}
.logo{
    margin-right: 25px;
    display: block;
    width: 125px;
    height: 32px;
    position:relative;
    top:-5px;
}
.logo_dot{
    position: absolute;
    width: 4px;
    height: 6px;
    right: 0;
    bottom: 0;
    background: var(--second-color);
}
.nav_item{
    margin: 0 7px;
}
.phone_mob{
    color:var(--main-color);
    display:block;
    font-size:25px;
    margin: 0px 15px 10px 7px;
}
.flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.btn.dark{
    background: var(--forth-color);
    color: var(--main-color);
}
.btn.dark::after{
    background: var(--forth-color);
}
.btn{
    background: var(--main-color);
    padding: 14px 26px;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.4;
    text-align: justify;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--third-color);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
    border-radius: 0;
    display: inline-block;
}
.btn:before{
    content: "";
    position: absolute;
    z-index: -1;
    background:var(--second-color);
    height: 120px;
    width: 0;
    border-radius: 50%;
    transform: translateX(-50%);
    left: 50%;
    top: 100%;
    transition: all .7s;
}
.btn::after {
    content: "";
    position: absolute;
    background:var(--main-color);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -2;
}
.btn:hover:before {
    top: -100%;
    width: 300px;
}
.phone{
    font-style: italic;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: var(--main-color);
    position: relative;
}
.phone:before{
    content: '';
    position: absolute;
    right: 0;
    width: 100%;
    bottom: 0;
    border-bottom: 1px dashed var(--second-color);
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
}
.phone:hover:before{
    width: 0;
    right:auto;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
}
.form_group.form_error, .form_group_brief.form_error {
    border-bottom:1px solid red;
}
.lang__name{
    margin-right:10px;
}
.nav_list{
    /*position:relative;*/
    color:var(--main-color);
    left: 0;
    position: fixed;
    top: 110px;
    width: 92%;
    height: 100%;
    background: var(--fifth-color);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 25px 70px 15px 70px;
}
.nav_list a.nav_link {
    color:var(--main-color);
    font-size: 25px;
    margin-bottom:10px;
    display: block;
}
.header .btn.btn_menu{
    display: block;
    margin:30px 0 0 8px;
}
.nav_list .footer_social_block{
    justify-content:flex-start;
    margin: 15px 15px 0 8px;
}
.invisible-area{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index: 1;
}
.header .btn{
    margin: 0 20px;
}

.center_block.center_block_top_bottom, .block_top_bottom{
    padding-top:70px;
    padding-bottom:70px;
}
.center_block{
    padding: 0 70px;
    position: relative;
}
.center_block.dark{
    background-color: var(--fifth-color);
}
.center_block.center_block_left{
    padding-right:0;
}
.seo-text-scrollbar .simplebar-scrollbar::before {
    background-color: #08E0BB !important;
    width: 3px !important;
    left: 0 !important;
    right: 0 !important;
    opacity: 1 !important;
}

.seo-text-scrollbar .simplebar-track.simplebar-vertical {
    width: 3px !important;
    background-color: #1B2F6C !important;
}

.seo-text-scrollbar .simplebar-track.simplebar-vertical .simplebar-scrollbar {
    width: 3px !important;
    opacity: 1 !important;
}

.seo-text-scrollbar .simplebar-scrollbar {
    opacity: 1 !important;
}

.seo-text-scrollbar .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1 !important;
}

.seo-text-scrollbar .simplebar-track.simplebar-vertical:hover .simplebar-scrollbar::before,
.seo-text-scrollbar .simplebar-track.simplebar-vertical .simplebar-scrollbar:hover::before,
.seo-text-scrollbar .simplebar-track.simplebar-vertical .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1 !important;
    background-color: #08E0BB !important;
}

.seo-text-scrollbar .simplebar-scrollbar:not(:hover)::before {
    opacity: 1 !important;
    background-color: #08E0BB !important;
}
.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 32px 0;
    transition: 400ms linear;
    z-index: 100;
}
.header.scrolled{
    padding: 14px 0 14px 0;
    background: var(--fifth-color);
}
.inline-flex{
    display:flex;
    align-items: center;
}
.theme_switcher{
    background: #FAFAFA;
    border-radius: 15px;
    width: 42px;
    height: 21px;
    position: relative;
    cursor: pointer;
    margin-left: 30px;
}
.theme_switcher_toggler::before{
    position:absolute;
    top:100%;
    left:0;
    content:'';
    background:var(--second-color);
    width: 100%;
    height: 100%;
    transition-duration:.3s;
}
.theme_switcher_toggler:hover::before{
    top:0;
}
.theme_switcher_toggler{
    content: '';
    position: absolute;
    background:var(--fifth-color);
    width: 19px;
    height: 19px;
    right: 1px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    transition-duration:.3s;
    overflow:hidden;
}
.portfolio-item__text__inner {
}
.portfolio-item__text__inner_bg{
    background: var(--first-color);
    padding: 20px 4%;
}
.portfolio-item__title__buttons{
    margin-top: 20px;
}
.portfolio-item__entire{
    font-weight: 600;
}
.portfolio-item__title{
    font-size: 140%;
    font-weight: 600;
}
.portfolio-item__text {width: 49%;}

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

.portfolio-item__metrics {
    width: 49%;
}

.portfolio-item__metric__value {
    font-size: 200%;
    font-weight: 600;
    color: var(--second-color);
    margin-bottom: 5px;
}

.portfolio-item__metric {
    background-color: var(--color8);
    width: 40%;
    margin-bottom: 20px;
    padding: 20px 4%;
    text-align: center;
}

.portfolio-item__metrics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lang_item{
    font-weight: normal;
    font-size: 21px;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #FAFAFA;
}
.lang_item:hover{
    opacity: 0.8;
}
.lang_item img{
    margin-left: 5px;
    filter: invert(1) grayscale(1) brightness(2);
}
.inner{
    padding-left: 70px;
}
.height{
    height: 111px;
    margin-bottom: 46px;
}
.section_title.no-margin{
    margin-bottom:0;
}
.section_title{
    font-weight: 600;
    line-height: 105%;
    font-size: var(--size-section-title);
    margin-bottom: 60px;
    position:relative;
}
.big_title{
    font-size: 74px;
    margin:0;
    line-height: 1.2;
}
.position_number{
    font-style: italic;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--second-color);
    opacity: 0.7;
    position: relative;
    margin-bottom: 26px;
}
.position_number .position_line{
    content: '';
    position: absolute;
    bottom: -8px;
    height: 2px;
    background: var(--second-color);
    opacity: 0.7;
    left: 0;
    width: 0;
}
.attached-file__remove{
    position: relative;
    width:13px;
    margin-left:10px;
    cursor:pointer;
}
.attached-file__remove::after{
    content: '';
    position: absolute;
    background: var(--second-color);
    width: 13px;
    height: 2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top:10px;
    transition-duration:.3s;
}
.attached-file__remove:hover::before,.attached-file__remove:hover::after{
    background: var(--main-color);
}
.attached-file__remove::before{
    content: '';
    position: absolute;
    background: var(--second-color);
    width: 13px;
    height: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top:10px;
    transition-duration:.3s;
}
.position_title{
    font-weight: 500;
    font-size: 30px;
    line-height: 1.4;
    margin-bottom: 16px;
}
.position_title.no_bottom{
    margin-bottom: 0px;
}
.position_description.no-margin{
    margin-bottom: 0;
}
.texts .alice-carousel__stage-item *{
    line-height: 1.7;
}
.texts .alice-carousel__prev-btn, .texts .alice-carousel__next-btn{
    width: auto;
}
.reviews-grid{
    display: flex;
}
.review-card__image svg {
    height: 15px;
    width: auto;
}
.simple_form_row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.list_header {
    display: flex;
}

.list-item {
    color: var(--forth-color);;
}

.open-list-item {
    color: var(--forth-color);
    margin-bottom: 20px;
    padding: 10px 0 30px 0;
    border-bottom: 1px solid var(--color7);
}

.open-list_description {
    overflow: hidden;
    opacity: 0;
    max-height: 0;
}

.open-list_description__inner{
    padding: 20px 0 0 0;
}

.open-list-items .open-list-item:last-child{
    border-bottom: 0;
}

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

.open-list_header__left {
    display: flex;
    align-items: center;
}

.open-list_title.position_title {
    line-height: 1.4;
    margin-bottom: 0;
    padding-right: 40px;
}

.open-list_number {
    width: 30px;
    opacity: .5;
    transition-duration: .3s;
}

.is-active .open-list_number {
    color: var(--second-color);
    opacity: 1;
}

.simple_form_row .form_group{
    width: 49%;
}
.review-card__text p{
    margin-top:5px;
}
.review-card {
    background: var(--gray-color);
    margin-right: 10px;
    padding: 20px 40px;
    color: var(--forth-color);
}
.review-card__inner{
    padding: 20px 40px;
}

.texts .alice-carousel__dots{
    margin-top:0;
}
.fn_panel, .nav_list {
    overflow-y: auto;
    max-height: 100vh;
}
.texts-controls{
    display:flex;
    margin-top:-40px;
}
.texts-controls__prev,.texts-controls__next{
    cursor:pointer;
    transition-duration:.3s;
}
.texts-controls__prev:hover,.texts-controls__next:hover{
    opacity: .7;
}
.texts-controls__prev{
    margin-right:25px;
}
.position_description.dark{
    color: var(--first-color);
}
.position_description{
    font-weight: normal;
    font-size: 18px;
    line-height: 1.7;
    overflow: hidden;
    margin-bottom: 29px;
}
.position_description p:first-child {
    margin-top: 0;
}
.position_description.no_bottom{
    margin-bottom:0;
}
.insider{
    position: absolute;
    top:-80px;
}
.center_block.error_page a{
    color:var(--second-color);
    transition-duration:.3s;
}
.center_block.error_page a:hover{
    color: var(--main-color);
}
.center_block.error_page .inner{
    padding:0;
}
.center_block.error_page .section_text.fix{
    text-align: center;
    max-width:100%;
}
.center_block.error_page .section_title span{
    margin-right: 5;
    margin-left: 5;
}
.center_block.error_page .big_title{
    text-align: center;
}

@-webkit-keyframes autofill {
    0%,100% {
        color: #666;
        background: transparent;
    }
}

.center_block .texts{
    position:relative;
}
.position_description.opener{
    max-height: 185px;
    transition-duration: .5s;
}
.position_description.opener.active{
    max-height:3000px;
}
.position_link_flex{
    display:flex;
    margin-top: 20px;
}
.position_link_flex img{
    margin-right:10px;
}
.position_link{
    /*font-weight: 500;*/
    font-size: 18px;
    line-height: 1.4;
    text-align: justify;
    /*letter-spacing: 0.1em;*/
    /*text-transform: uppercase;*/
    cursor:pointer;
}
.position_link span{
    color: var(--second-color);
}
.flex_tab .position_link:hover{
    color: var(--second-color);
    opacity: 1;
}
.position_link:hover span{
    color: var(--main-color);
}
.position_item{
    width:28%;
}
.social_link{
    width: 19px;
    display: flex;
    height: 19px;
    justify-content: center;
    position: relative;
    margin-bottom: 24px;
}
.social_link:hover{
    opacity: 0.6;
}
.social_link img{
    filter: invert(1) grayscale(1) brightness(2);
}
.social_block{
    position: absolute;
    right: 100px;
    top: 17px;
    z-index: 10;
}
.counters{
    margin-left: 100px;
    padding-right: 100px;
    overflow:hidden;
}
.counters_bg{
    background: var(--gray-color);
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
}
.position_list .position_item{
    position: relative;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: #fff !important;
}
.attached-files{
    display: flex;
    flex-wrap:wrap;
    padding:30px 0 0 0;
    align-items: center;
    font-size:16px;
}
.attached-file {
    padding: 10px 14px 10px 0;
    color: var(--main-color);
    background: var(--forth-color);
    margin: 0 10px 10px 0;
    display:flex;
}
.counter_number{
    font-style: italic;
    font-weight: normal;
    font-size: var(--size-section-title);
    line-height: 1.3;
    letter-spacing: 0.1em;
    font-feature-settings: 'zero' on;
    color: var(--forth-color);
    margin-bottom: 8px;
}
.counter_title{
    font-weight: 600;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--forth-color);
}
.counters_list{
    padding: 78px 0 78px 3%;
    position: relative;
    z-index:5;
}
.partner_info__logo img{
    height: 80px;
    transition-duration: .3s;
}
.partner_info__logo:hover img{
    opacity:.7;
}
.footer_col .hidden{
    opacity: 0;
    max-height:0;
    overflow:hidden;
    transition-duration:.3s;
    position:relative;
}
.footer_col .hidden.active{
    opacity:1;
    max-height:300px;
    margin-bottom:20px;
    padding: 0 0 20px 0;
}
.partner_info{
    display:flex;
    border:1px solid rgba(255,255,255,0.2);
    padding: 15px 2%;
    margin-bottom:50px;
}
.partner_info__logo{
    display: flex;
    justify-content: flex-end;
}
.partner_info__text{
    flex:1;
    line-height: 26px;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
    color: var(--main-color);
}
.mapboxgl-marker{
    position: relative;
}
.marker_image{
    position: relative;
    z-index: 5;
    cursor:pointer;
}
.mapboxgl-marker::before{
    background:var(--color6);
    width: 52px;
    height: 52px;
    position:absolute;
    top:0;
    left:0;
    content:'';
    border-radius:50%;
    transition-duration:.3s;
    transform:scale(1);
    cursor:pointer;
}
.mapboxgl-marker:hover::before{
    transform:scale(1.2);
}
.marker__title{
    position: absolute;
    top: -95px;
    left: -82px;
    width: 245px;
    background: white;
    margin-left: -25px;
    padding: 10px 12px;
    color: var(--third-color);
    opacity:0;
    transition-duration:.3s;
}
.marker__title .popup_close{
    right: 0;
    top: 0;
}
.marker__title.active{
    opacity:1;
}
.marker__title p{
    margin:0;
}
.partner_info__text div{
    display:inline-block;
    margin: 0 6px;
}
.partner_info__social, .partner_info__logo{
    width:300px;
    display:flex;
    align-items:center;
}
.partner_info__social{
    justify-content:flex-start;
}
.counter_item{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.project__image {
    margin:60px 0 -120px 0;
    position:relative;
    min-height:300px;
}
.text-scroll__shadow{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: red;
}
.mb-20{
    margin-bottom:20px;
}
.project__image img{
    width:100%;
}
.indent.no_top_margin{
    margin-top: 0;
}
.indent_padding{
    padding-top: 110px;
}
.feedback-bottom-padding{
    padding-bottom: 110px;
}
.indent{
    margin-top: 110px;
}
.indent-less{
    margin-top: 60px;
}
.indent-medium{
    margin-top: 80px;
}
.success_wrapper{
    color: var(--second-color);
    padding:10px 0;
}
.success_image{
    position:relative;
    top:6px;
    margin-right:10px;
    display:inline-block;
}
.success_image__tick {
    position: absolute;
    top: 2px;
    left: 7px;
}
.success_image__icon{
    width:24px;
    height:24px;
    animation:spin 8s linear infinite;
}
@keyframes spin { 100% {transform:rotate(360deg); }}
.dark .services_list{
    color: var(--main-color);
}
.services_list, .services_list a{
    flex-wrap: wrap;
    margin-bottom:40px;
    align-items: stretch;
    color: var(--forth-color);
}
.dark .services_list .position_item{
    border-bottom-color: var(--main-color);
}
.services_list .position_item{
    width: 47%;
    margin-bottom: 34px;
    border-bottom: 1px solid var(--forth-color);
}
.services_list .position_title{
    margin-bottom: 34px;
    min-height:85px;
    cursor:default;
}
.services_list .position_title.auto_height{
    min-height:auto;
}
.button_wrapper{
    display: flex;
}
img.invert{
    filter: invert(1) grayscale(1) brightness(2);
}
.partner_list{
    flex-wrap: wrap;
    margin-bottom: 20px;
    align-items: center;
}
.partner_item{
    width: 21%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 60px 0;
}
.partner_item:hover img{
    transform: scale(1.1);
}
.projects_grid{
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    justify-content: space-between;
}
.projects_grid__right .project_title{
    margin-top:0;
    margin-bottom:10px;
}

.scrolled-text.dark{
    color: var(--forth-color);
}
.padding_bottom_block{
    padding-bottom: 100px;
}
.scrolled-text{
    font-size:140px;
    font-weight: 500;
    overflow:hidden;
    margin: 70px 0 70px 0;
    letter-spacing: -1px;
}
.mainer.dark{
    background-color: var(--fifth-color);
}
.scrolled-text.dark_bg{
    padding: 70px 0 70px 0;
    background-color: var(--fifth-color);
    margin:0;
}

.scrolled-text__top, .scrolled-text__bottom{
    white-space:nowrap;
}

.project_item img{
    width:100%;
}
.project_item{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    transition: 400ms linear;
    margin-bottom:60px;
}

.scrolled-text__top{
    position: relative;
}

.projects_grid__right{
    margin-top:40px;
}

.projects_grid__columns{
    width:48%;
}
.project_title{
    font-weight: normal;
    font-size: 26px;
    line-height: 1.6;
    color: #151518;
    display: flex;
    align-items: center;
    justify-content: space-between;
    right: 40px;
    margin-top:10px;
}
.project_item .project_title{
    color: var(--main-color);
}
.under-text {
    margin: 20px 0 60px;
}
.dot-list__item {
    margin-right: 5px;
    cursor: default;
    display: inline-block;
    margin-bottom: 7px;
    background: var(--gray-color);
    padding: 5px 10px 5px 13px;
    border-radius: 40px;
}
.marquee-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 30px 0;
}

.marquee-container {
    display: flex;
    gap: 20px;
    animation: marquee 40s linear infinite;
    width: max-content;
    will-change: transform;
}

.gallery-item-marquee {
    margin:0 20px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item-marquee:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.gallery-item-marquee img {
    width: 100%;
    height: auto;
}

.price {
    color: var(--second-color);
    font-size: 120%;
    position: relative;
    padding-left: 25px;
    font-weight: 500;
    margin: 20px 0 26px 0;
}

.price::before {
    position: absolute;
    content: '';
    left: 0;
    top: 50%;
    width: 20px;
    height: 2px;
    background-color: var(--second-color);
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
.under-text__dot:before {
    position: absolute;
    content: "";
    top: 9px;
    left: 8px;
    width: 4px;
    height: 6px;
    background: var(--second-color);
    color: var(--second-color);
}
span.under-text__dot.under-text__dot-text {
    padding-left: 14px;
    margin-right: 5px;
    white-space: nowrap;
}
span.under-text__dot.under-text__dot-text::before {
    left: 0;
    top: 8px;
}
.dot-list {
    margin-top: 15px;
    margin-bottom: 4px;
}
.top-slider .position_description{
    margin-top:20px;
}
.position_description.fix{
    height: auto;
    max-height: none;
}
.position_item.fix{
    width: 48%;
}
.result_img{
    width: 96%;
}
.project_slider_image{
    text-align: center;
}
.list_right{
    justify-content: flex-end;
    text-align: right;
}
.list_right .position_number:before{
    left: auto;
    right: 0;
}
.project_mob{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;

}
.project_mob_item{
    height: 875px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    object-fit: cover;
}
.p_green{
    background: #004B46;
}
.p_green .footer{
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #004B46;
}
.project_img{
    object-position: top;
    height: 1250px;
    max-width: 994px;

}

.project_slider .owl-stage{
    margin: 25px;
}
.project_slider .owl-item{
    box-shadow: 5px -4px 25px 0px rgba(16, 30, 56, 0.25);
}
.project_pages{
    position: relative;
    padding-bottom: 50px;
    margin-bottom: -460px;
}
.project_bottom_slider{
    width: 70%;
    margin-left: auto;
}

ul.alice-carousel__dots .alice-carousel__dots-item:not(.__custom).__active{
    background: var(--second-color);
}
ul.alice-carousel__dots .alice-carousel__dots-item:not(.__custom){
    background: var(--first-color);
}
.portfolio-slider ul.alice-carousel__dots .alice-carousel__dots-item:not(.__custom){
    background: #fff;
}
.portfolio-slider ul.alice-carousel__dots .alice-carousel__dots-item:not(.__custom).__active{
    background: var(--second-color);
}
ul.alice-carousel__dots {
    position: absolute;
    bottom: -40px;
    width: 100%;
}
.project_pages img{
    width: 100%;
    height: 100%;
    position: relative;
}
.project_pages::before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top:-300px ;
    bottom: -520px;

}
.center_block.fix{
    padding-right: 0!important;
}
.block_images{
    position: relative;
    z-index: 1;
}
.images_absolute{
    position: absolute;
    filter: drop-shadow(5px -4px 47px rgba(16, 30, 56, 0.25));
    z-index: 2;
    bottom: 100%;
    left: 0;
    max-height: 1200px;
    object-fit: contain;
    max-width: none!important;
    margin-bottom: 50px;
    z-index: 2;
    border: none!important;
    width: 100%!important;
    border-radius: 0!important;
}
.block_images_flex{
    align-items: flex-end;
    justify-content: flex-start;
}
.block_images_flex img{
    border: 2px solid #FFFFFF;
    border-radius: 20px;
    max-width: 306px;
}
.block_images_flex .position_item{
    position: relative;
    margin-left: 100px;
    width: 100%;
}
.images_top{
    padding: 100px 0;
    max-width: 995px;
    width: 100%;
}
.flex_images{
    flex-direction: column;
    padding: 50px 0 0 0;
    position: relative;
    z-index: 1;
}
.flex_images img{
    max-width: 994px;
    width: 100%;
    padding: 50px 0;
    margin-left: 0;
    margin-right: auto;
}
.flex_images .image_last{
    margin-left:auto;
    margin-right: 0;
    filter: drop-shadow(5px -4px 47px rgba(16, 30, 56, 0.25));
    margin-bottom: -260px;
}
.position_description.fix .position_link{
    display: flex;
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 151%;
    letter-spacing: 0.1em;
    align-items: center;
    position: relative;
    text-transform: none;
}
.position_description.fix .position_link span{
    position: relative;
}
.position_description.fix li{
    position: relative;
}
.position_description.fix li{
    padding-left:20px;
    margin-bottom: 12px;
}
.position_description.fix li::before{
    content: '';
    position: absolute;
    left: 0;
    width: 12px;
    height: 1px;
    background: var(--second-color);
    top: 15px;
}
.position_description.fix .position_link span::before{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    background: var(--second-color);
    height: 1px;
    transition: all .3s ease;
}
.position_description.fix .position_link:hover span::before{
    width: 0;
    right: 0;
    transition: all .3s ease;
}
.position_description.fix .position_link img{
    margin-right: 10px;
}
.title_marg{
    margin-top: 50px;
}
.block_images_flex .position_description{
    margin-bottom: 0;
}
.list_right .position_item{
    max-width: 530px;
    width: 100%;
}
.project_item .project_title img
{
    filter: invert(1) grayscale(1) brightness(2);
}
.project_item .project_title:hover{
    color: var(--second-color);
}
.projects_grid__right .project-tags{
    margin:10px 0 25px 0;
}
.footer{
    padding: 60px 0;
    background:var(--first-color);
    position: relative;
    z-index:10;
}
.footer_top{
    padding-bottom: 50px;
    align-items: flex-start;
}
.footer_social_block{
    display: flex;
}
.footer_social_block .social_link{
    margin: 0 26px 0 0;
    width: auto;
    height: 17px;
    display: flex;
    align-items: center;
}
.footer_social_block img{
    height: 17px;
}
.underline{
    position: relative;
    display: inline-block;
    font-style: italic;
}
.underline:before{
    content: '';
    position: absolute;
    right: 0;
    width: 100%;
    bottom: 0;
    border-bottom: 1px dashed var(--second-color);
    -webkit-transition: 400ms linear;
    -moz-transition: 400ms linear;
    -ms-transition: 400ms linear;
    -o-transition: 400ms linear;
    transition: 400ms linear;
}
.underline:hover:before{
    width: 0;
    right: auto;
    -webkit-transition: 400ms linear;
    -moz-transition: 400ms linear;
    -ms-transition: 400ms linear;
    -o-transition: 400ms linear;
    transition: 400ms linear;
}
.footer_col p{
    margin-bottom: 18px;
    margin-top: 0;
}
.footer_logo{
    margin-bottom: 36px;
    display: inline-block;
    position:relative;
}
.footer_logo .logo_dot{
    bottom: 9px;
    right: -9px;
}
.footer_col{
    width: 15%;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.6;
    text-align: justify;
    color: var(--main-color);
}
.footer_col_title img{
    filter: invert(1) grayscale(1) brightness(2);
    width:20px;
    transition-duration:.3s;
}
.footer_col_title{
    font-weight: 500;
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 36px;
}
.footer_item{
    margin-bottom: 11px;
    text-align: left;
}
.footer_col_big{
    max-width: 270px;
    width: 100%;
}
.developer{
    justify-content: center;
}
.licence{
    text-align: center;
    margin-bottom: 24px;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.3;
    color: var(--main-color);
}
.footer_logo img{
    max-width: 119px;
}
.form_group, .form_group_brief{
    border-bottom: 1px solid var(--main-color);
    padding-bottom: 10px;
    margin-bottom: 45px;
}
.form_group{
    width: 30%;
}
.form_group_brief input{
    font-size:20px;
    color:var(--main-color);
    width:100%;
}
.popup .file,.contact_flex .file{
    margin: 30px 0 0 0;
    width:100%;
}
.form_group_brief{
    width: 100%;
}
.form_group input{
    width: 100%;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    color: var(--main-color);
    font-family: var(--FuturaPt);
}
.form_group input::placeholder,.form_group_brief input::placeholder,textarea::placeholder{
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    color: var(--main-color);
    font-family:var(--FuturaPt);
}
textarea{
    width: 100%;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.5;
    color: var(--main-color);
    resize: none;
    transition-duration: .3s;
    padding-top: 0;
    padding-bottom: 0;
    position:relative;
}
.brief__contacts .form_group_brief {
    width:46%;
}
.brief__contacts .flex{
    flex-wrap: wrap;
    justify-content:space-between;
}
.brief_lists__items{
    display:flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.brief_list{
    margin-bottom: 45px;
}
.brief_lists__item {
    white-space: nowrap;
    padding: 10px 20px;
    background: var(--forth-color);
    color: var(--main-color);
    margin: 0 20px 20px 0;
    border-radius: 21px;
    font-size: 20px;
    font-family: var(--FuturaPt);
    font-style: normal;
    cursor:pointer;
    transition-duration:.2s;
    display: inline-block;
}
.brief_lists__item:hover{
    opacity: .7;
}
.brief_lists__item.active,.brief_lists__item.active:hover{
    background:var(--second-color);
    opacity: 1;
}
.form_group_textarea{
    position:relative;
    margin-bottom: 45px;
    padding-bottom:10px;
}
.under-text{
    margin:20px 0 60px 0;
}
.g-partner{
    height: 32px;
    margin: 0 20px 0 0;
}
.under-text__dot{
    padding-left:22px;
    position:relative;
}
.under-text__dot::before {
    position: absolute;
    content: '';
    top: 9px;
    left: 8px;
    width: 4px;
    height: 6px;
    background: var(--second-color);
    color: #07e1bb;
}
.form_group_textarea::before{
    content:'';
    position: absolute;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background:var(--main-color);
}
input,textarea{
    background: transparent;
    outline: none;
}
.file_add{
    transition-duration:.3s;
    cursor:pointer;
}
.attached-files__header {
    color: var(--main-color);
    font-weight: 500;
    margin-right: 10px;
    padding: 10px 0 20px 0;
}
.file_add:hover{
    opacity:.7;
}
.file{
    margin-left: 69px;
}
.file img{
    margin-right: 8px;
    filter: invert(1) grayscale(1) brightness(2);
}
.check{
    position: relative;
    cursor: pointer;
}
.check >input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.check>span {
    padding-left: 28px;
    user-select: none;
    display: inline-block;
}
.check>span::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    flex-grow: 0;
    border: 1px solid var(--main-color);
    margin-right:8px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.error_wrapper{
    margin:0;
    padding:0;
    background: var(--main-color);
    color:var(--color6);
    max-height:0;
    transition-duration: .3s;
    overflow:hidden;
}
.error_wrapper.active{
    max-height:200px;
    padding: 15px 20px 15px 20px;
    margin:40px 0 0 0;
}
.error_wrapper span{
    color: red;
    font-weight: bold;
}
.check.form_error>span::before{
    border: 1px solid red;
}
.check a{
    position: relative;
}
.check>input:checked+span::before {
    background-image: url("/img/checked.svg");
}
.flex_title .section_title{
    margin-bottom: 0;
}
.flex_title{
    margin-bottom: 70px;
}
.section_title.dark, .section_description, .principles-grid, .advantages-items{
    color: var(--forth-color);
}
.advantages-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.advantages-item {
    background-color: var(--gray-color);
    padding: 20px 2% 0px 2%;
    width: 28%;
}

.advantages-item .position_description p{
    margin:0;
}

.all_services .advantages-item {
    margin-bottom: 20px;
}

.advantages-item:nth-child(1) {
    margin-left: 0;
}

.advantage-line {
    width: 30px;
    height: 2px;
    background: var(--second-color);
    margin: 20px 0;
}
.principles-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top:60px;
}

.principle-item {
    width: 29%;
    padding: 20px 2%;
}
.review-card__project{
    font-weight: 600;
}
.principle-item {
    border-left: 1px solid #CACFE1;
}
.review-card__additional {
    opacity: .7;
    display: flex;
}
.review-card__name{
    padding-right: 20px;
    position: relative;
}
.review-card__name::before{
    position: absolute;
    top:50%;
    margin-top:-2px;
    margin-right:-2px;
    right:10px;
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--forth-color);
}
.review-card__text {
    text-align: justify;
}
.review-card__footer {
    border-top: 1px solid #CACFE1;
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
}
.reviews-slider .alice-carousel__stage-item {
    vertical-align: top;
}
.reviews-slider .review-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.reviews-slider .review-card__inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.reviews-slider .review-card__text {
    flex: 1;
}
.principle-item:nth-child(1){
    border-left: 0;
}
.principle-item:nth-child(4){
    border-left: 0;
}
.principle-item:nth-child(1),.principle-item:nth-child(2),.principle-item:nth-child(3){
    border-bottom: 1px solid #CACFE1;
}
.content-tags {
    display: flex;
    flex-wrap: wrap;
}
.content-tags {
    display: flex;
    flex-wrap: wrap;
}

.content-tag {
    background-color: #EDEFF8;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 10px 15px 10px 17px;
    border-radius: 30px;
    text-transform: uppercase;
    font-size: 70%;
    letter-spacing: 1px;
    position: relative;
}

.content-tag::before {
    content: '';
    left: 10px;
    top: 50%;
    width: 3px;
    height: 5px;
    background: var(--second-color);
    position: absolute;
    margin-top: -2.5px;
}

.principle-description {
    margin: 20px 0 25px 0;
}
.line {
    left: 0;
    height: 1px;
    background-color: var(--main-color);
    position: absolute;
    width:100%;
}
.line1{
    top: -1px;
    left: 0;
    transition: 400ms linear;
}
.line2{
    top: 50%;
    transform: translateY(-1px);
    left: 0;
}
.line3{
    bottom: 0;
    left: 0;
    width: 70%;
    transition: 400ms linear;
}
.burger {
    display: block;
    position: relative;
    height: 19px;
    width: 36px;
    cursor: pointer;
    margin-right: 25px;
}
.burger.active .line1{
    transform: rotate(-45deg);
    top: 50%;
    left: 0;
}
.burger.active .line2{
    display: none;
}
.burger.active .line3{
    transform: rotate(45deg);
    bottom: 40%;
    width: 100%;
}
.phone img{
    display: none;
}
.phone,.phone span{
    white-space:nowrap;
}
.position_list{
    align-items: flex-start;
}
.dopstyle_header{
    background: var(--bg-dark);
    -webkit-transition: 400ms linear;
    -moz-transition: 400ms linear;
    -ms-transition: 400ms linear;
    -o-transition: 400ms linear;
    transition: 400ms linear;
}
body .video-react .video-react-poster, body .video-react{
    background-color: transparent;
}
.flex_tab{
    justify-content: flex-start;
    margin-bottom: 60px;
}
.flex_tab.flex_tab_less{
    margin-bottom: 20px;
}
.flex_tab .position_link{
    margin-right: 21px;
    margin-bottom: 5px;
    /*opacity: 0.4;*/
}
.hashtag {
    font-size: 90%;
    position: relative;
    top: 1px;
}
.flex_tab .position_link.active{
    opacity: 1;
    color: var(--second-color);
}
.section_title_style{
    margin-bottom: 36px;
}
.form_contact{
    overflow:hidden;
}
.popup .flex, .contact_col .flex{
    flex-wrap:wrap;
}
.popup .button_wrapper{
    width:100%;
    margin-top:30px;
}
.form_contact .form_group, .popup .form_group, .contact_col .form_group{
    width: 100%;
    margin-bottom: 36px;
}
.form_contact textarea{
    margin-bottom: 30px;
}
.form_contact .form_flex{
    flex-direction: column;
}
.contact_col_form{
    width: 100%;
    max-width: 425px;
}
.contact_flex{
    align-items: flex-start;
    margin-top:36px;
}
.contact_phone{
    font-size: 36px;
    margin-bottom: 42px;
    line-height: 1.5;
}
.contact_col{
    font-weight: normal;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color:var(--main-color);
}
.contact_col_center{
    max-width: 270px;
    margin: 0 25px;
}
.contact_col .flex_form_bottom{
    flex-direction: column;
    align-items: flex-start;
}
.contact_col .check{
    font-size: 12px;
    line-height: 1.5;
}
.contact_col .file{
    font-size: 18px;
    line-height: 1.5;
}
.contact_col .flex_form_bottom .button_wrapper{
    margin-top: 36px;
}
.presentation{
    display: flex;
    align-items: center;
}
.presentation:hover{
    opacity: 0.7;
}
.presentation img{
    margin-right: 8px;
    filter: invert(1) grayscale(1) brightness(2);
}
.btn_border.btn_border_dark{
    border: 1px solid var(--forth-color);
    color: var(--forth-color);
}
.btn_border{
    background: transparent;
    border: 1px solid var(--main-color);
    box-sizing: border-box;
    color: var(--main-color);
    transition-duration: .3s;
}
.btn_border:hover{
    border-color:var(--second-color);
    color: var(--third-color);
}
.btn_border:after{
    background: transparent!important;
}
.contact_col  p{
    margin: 0 0 42px 0;
}
.contact_col .footer_social_block{
    margin: 36px 0;
}
.animation_class{
    transition: 1s cubic-bezier(0,.32,.15,1.02);
}
input.btn:hover{
    background: var(--forth-color);
}
.map{
    width:100%;
    height:400px;
    margin: 80px 0 -110px 0;
}
.footer a:hover{
    color: var(--second-color);
}
.footer_logo:hover{
    opacity: 0.8;
}
.developer img{
    opacity: 0.5;
}

.phone img:hover{
    opacity: 0.7;
}
.burger:hover .line3{
    width: 100%;
}
.nav_list.active{
    opacity: 1;
    visibility: visible;
    left: 0;
    -webkit-transition: 400ms linear;
    -moz-transition: 400ms linear;
    -ms-transition: 400ms linear;
    -o-transition: 400ms linear;
    transition: 400ms linear;
}
.nav_list.active .nav_item{
    margin: 0 0 25px 0;
}
.nav_list.active .nav_link{
    font-size: 22px;
    color: var(--bg-dark);
    font-weight: 500;
}
.nav_list.active .nav_link:before{
    background:var(--bg-dark);
}
.social_block_mob,.phone_mob{
    display: none;
}
.nav_list.active .social_block_mob,.nav_list.active .phone_mob{
    display: flex;
}
.social_block_mob{
    position: relative;
    right: auto!important;
    top: 0;
    transform: translate(0,0);
    margin-top: 25px;
}
.social_block_mob .social_link{
    margin: 0 15px 0 0;
    height: 20px;
    display: block;
    width: 100%;
}
.social_block_mob .social_link img{
    height: 20px;
}
.phone_mob{
    color:var(--bg-dark);
}
#id_map_contact,#id_map_contact_light{
    height: 331px;
    width: 100%;
    margin-top: 60px;
    margin-bottom: 110px;
}
.marker{
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    background-color:var(--second-color);
    border-radius: 50%;
}
.marker span{
    position: absolute;
    bottom: 0;
    white-space: nowrap;
    left: 100%;
    top: 50%;
    transform: translate(15%,-16%);
    font-weight: normal;
    font-size: 12px;
    line-height: 1.5;
    font-family:var(--FuturaPt);
    color: var(--second-color);
}
.mapboxgl-ctrl-group,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{
    display: none;
}
.popup_style {
    position: fixed;
    z-index: 9999;
    width:90%;
    max-width:600px;
    height:100%;
    left:0;
    top:0;
}
.invisible_full{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:transparent;
    z-index:9998;
}
.panel {
    width:100%;
    box-sizing: border-box;
    padding: 45px 60px;
    position: absolute;
    top: 0;
    background-color: var(--forth-color);
    z-index:2;
    height:100%;
}
.panel.active {
    visibility: visible;
    opacity: 1;
    left:0;
    transition: all 1s ease-in-out;
}
.popup_close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    cursor: pointer;
}
.popup_close:hover{
    transform: rotate(180deg);
}
.popup_close:before {
    content: '';
    position: absolute;
    background: var(--second-color);
    width: 23px;
    height: 2px;
    transform: rotate(45deg);
    top: 15px;
    left: 3px;
}
.popup_close:after {
    content: '';
    position: absolute;
    background: var(--second-color);
    width: 23px;
    height: 2px;
    transform: rotate(-45deg);
    top: 15px;
    left: 3px;
}
.popup_form .form_group{
    width: 100%;
}
.popup_form .btn:hover{
    background: var(--main-color);
    opacity: 0.8;
    color:var(--main-color);
}
.popup .section_title{
    margin-bottom: 25px;
}
.lang_list{
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: -10px;
    padding: 5px 10px;
}
.lang_block{
    position: relative;
    cursor: pointer;
}
.lang_block:hover .lang_list{
    opacity: 1;
    visibility: visible;
    top:18px;
}
.lang_block:hover img{
    transform: rotate(90deg);
}
#id_map_contact_light{
    opacity: 0;
    visibility: hidden;
    position: absolute;
    overflow: hidden;
    left: 0;
}
.text{
    font-weight: normal;
    font-size: 20px;
    line-height:1.6;
    letter-spacing: 0.02em;
    margin-top: 36px;
    margin-bottom: 36px;
}
.text ol{
    padding:0;
}
.text-link{
    margin-left:5px;
    transition-duration: 0.3s;
    text-decoration:underline;
}
.text-link:hover{
    color:var(--second-color);
}
.section_text{
    font-weight: normal;
    font-size: 20px;
    line-height:1.6;
    letter-spacing: 0.02em;
    margin-top: 36px;
    max-width: 590px;
    width: 100%;
    margin-bottom: 36px;
}
.bg_block .section_text, .bg_block .section_subtext, .history .section_text, .history .section_subtext{
    color: var(--forth-color);
}
.project_categories{
    margin-top: 30px;
    flex-wrap: wrap;
}
.text a{
    color:var(--second-color);
    transition-duration: .3s;
}
.text a:hover{
    color: var(--main-color);
}
.project-heading{
    position: relative;
    z-index: 999;
}
.tabs_list{
    background-color: var(--main-color);
}
.title-block{
    position:relative;
    overflow:hidden;
}
.position_animated:hover .title-block__visible{
    top:-60px;
}
.position_animated:hover .title-block__invisible{
    bottom:0;
}
.position_animated .position_title, .position_animated .position_title a{
    transition-duration: .3s;
}
.position_animated .position_title:hover, .position_animated .position_title:hover a{
    color: var(--second-color);
}
.services_list .title-block .position_title{
    margin-bottom:0;
}
.title-block{
    margin-bottom:34px;
}
.title-block__invisible{
    position:absolute;
    bottom:-100px;
    color:var(--second-color);
    transition-duration:.3s;
}
.title-block__visible{
    position:relative;
    top:0;
    left:0;
    transition-duration:.5s;
}
.tab_title{
    font-weight: 500;
    position: relative;
    font-size: 30px;
    line-height: 1.4;
    color: var(--forth-color);
    padding-right:30px ;
    padding-top: 30px;
    padding-bottom: 30px;
    overflow: hidden;
}
.tab_title span{
    transition-duration:.3s;
    display:inline-block;
    transform: translateX(0);
}
.tab_title:hover span{
    transform: translateX(20px);
}
.tab_title__activity{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:10px;
}
.tab_title:before{
    position: absolute;
    z-index: 5;
    right: 100px;
    top: 50%;
    transform: translateY(-50%);
    filter: invert(1);
    content: '';
    width: 30px;
    height: 13px;
    background-image: url("/img/tab-arr.svg");
    transition-duration:.3s;
}
.tab_title:hover:before{
    opacity:0.5;
}
.flex_column{
    width:45%;
    margin: 0 4% 20px 0;
}
.b_number{
    display: inline-block;
    opacity: 0;
}
.tab_item{
    background: var(--main-color);
    cursor: pointer;
    color: var(--forth-color);
}
.tab_item.active .tab_title:before{
    filter: invert(0);
    background-image: none;
    background: #1F2128;
    height: 2px;
}
.tab_description{
    background: var(--main-color);
    max-height:0;
    overflow:hidden;
    opacity: 0;
    transition-duration:.6s;
}
.tab_item.active .tab_description{
    position: relative;
    padding-top: 30px;
    opacity:1;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--second-color);
    max-height:2000px;
}
.tab_inner{
    padding-left: 270px;
    padding-right: 100px;
}
.color_text{
    color: var(--forth-color);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.4;
    max-width: 760px;
}
.list_title{
    font-weight:500;
    font-size: 24px;
    line-height: 1.4;
    margin-top: 18px;
    margin-bottom: 8px;
}
.tab_description li{
    font-size: 20px;
}
.tab_description li, .texts li {
    position: relative;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: 0.02em;
    padding-left: 18px;
    margin-bottom: 9px;
}
.tab_description ul,.texts ul{
    padding-left:14px ;
    max-width: 760px;
}
.project_item__image.large{
    height:750px;
}
.project_item__image:hover{
    opacity:.8;
}
.project_item__image{
    width:0;
    transition-duration:.8s;
    height:450px;
    background-size:cover;
    background-position:center center;
    display: block;
}
.project_item__image.active{
    width:100%;
}
.reading-progress.fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
}
.reading-progress, .reading-progress__bar {
    -webkit-transition-duration: .4s;
    transition-duration: .4s;
}
.reading-progress {
    width: 100%;
    background: var(--fifth-color);
    height: 2px;
    position: relative;
}
.reading-progress__bar {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--second-color);
}
.tab_description li:before, .texts li:before {
    position: absolute;
    left: 4px;
    top: 13px;
    width: 4px;
    height: 6px;
    background: var(--second-color);
    content: '';
}
.share_content{
    margin-top:26px ;
    display: flex;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.02em;
}
.share_list{
    display: flex;
    align-items: center;
    padding-left:14px;
}
.share_item{
    margin-right: 12px;
}
.map-plus,.map-minus{
    width:36px;
    height:36px;
    background: var(--fifth-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor:pointer;
    transition-duration: .3s;
}
.map-plus:hover,.map-minus:hover{
    opacity:.8;
}
.tab_description .button_wrapper{
    margin-top: 40px;
}
.tab_description .btn:before{
    background-color: var(--second-color);
}
.top-slider{
    padding-bottom: 80px;
    background-size: cover;
    background-position: center center;
}
.share_item:hover{
    opacity: 0.7;
}
.projects_list__grid-item {
    margin-bottom: 40px;
}
.projects_list__media-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    margin-bottom: 10px;
}
.projects_list__grid-item .position_title{
    margin-bottom: 5px;
}
.section_subtext{
    font-weight: 500;
    font-size: 30px;
    line-height: 1.4;
    margin-top: 36px;
    max-width: 990px;
}
.section_text.fix{
    margin: 18px 0 18px 0;
    max-width: 990px;
}
.section_text.flex_row{
    flex-wrap: wrap;
}
.counters_wrapper .btn_border{
    margin-left: 3.5%;
}
.project-tags{
    color: #BAC0C9;
    font-size: 18px;
    margin: 15px 0 10px 0;
    text-transform: lowercase;
}
.project-tags span {
    left: 0;
    top: -2px;
    width: 4px;
    height: 6px;
    background: var(--second-color);
    position: relative;
    margin: 0 5px;
    display: inline-block;
}
.principles{
    margin: 0 0 48px 0;
    overflow: hidden;
    position: relative;
}
.counters.principles{
    margin-left:0;
}
.form_tender .form_group{
    width: 48%;
}
.form_tender .flex_form_bottom{
    flex-direction: column;
    align-items: flex-start;
}
.form_tender .button_wrapper{
    margin-top: 36px;
}
.projects_list-item{
    margin-bottom: 26px;
    position: relative;
    padding-bottom:24px;
}
.projects_list__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.projects_list__grid-item-parent {
    width: 49%;
}
.projects_list__grid-item-parent .projects_list-righ {
    position: absolute;
    right: 20px;
    top: 20px;
}
.projects_list__grid-item-parent{
    position: relative;
}
.projects_list-item{
    display: flex;
}
.projects_list-righ {
    width: 100px;
    display: flex;
    justify-content: flex-end;
}
.promo-gift__description {
    display: flex;
    align-items: center;
}

.promo-gift .position_description {
    margin-bottom: 0;
    padding-right: 20px;
}

.promo-gift__image{
    margin-right: 20px;
}

.promo-gift {
    display: flex;
}
.position_description {
    position: relative;
}
.lock_block {
    position: absolute;
    z-index: 9;
    background: #4F5F91;
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}
.position_gift_text{
    width: 80%;
}
@keyframes glitchDecode {
    0%, 100% {
        opacity: 1;
        transform: translateX(0);
    }
    10% {
        opacity: 0.8;
        transform: translateX(-2px);
    }
    20% {
        opacity: 0.6;
        transform: translateX(2px);
    }
    30% {
        opacity: 1;
        transform: translateX(-1px) scaleX(1.1);
    }
    40% {
        opacity: 0.4;
        transform: translateX(1px);
    }
    50% {
        opacity: 0.8;
        transform: translateX(-2px) scaleY(0.95);
    }
    60% {
        opacity: 0.3;
        transform: translateX(0);
    }
    70% {
        opacity: 0.9;
        transform: translateX(2px) scale(1.05);
    }
    80% {
        opacity: 0.2;
        transform: translateX(-1px);
    }
    90% {
        opacity: 0.5;
        transform: translateX(0) scale(0.98);
    }
}

/* Анимация мигания точек */
@keyframes dotFlicker {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}

/* Применяем анимацию декодирования */
.lock_block.decoding {
    animation: glitchDecode 1.5s ease-in-out;
    animation-fill-mode: forwards;
}

.lock_block.decoding .lock_block__dot {
    animation: dotFlicker 0.15s infinite;
}

.lock_block.decoding .lock_block__dot:nth-child(1) { animation-delay: 0s; }
.lock_block.decoding .lock_block__dot:nth-child(2) { animation-delay: 0.05s; }
.lock_block.decoding .lock_block__dot:nth-child(3) { animation-delay: 0.1s; }
.lock_block.decoding .lock_block__dot:nth-child(4) { animation-delay: 0.15s; }
.lock_block.decoding .lock_block__dot:nth-child(5) { animation-delay: 0.2s; }
.lock_block.decoding .lock_block__dot:nth-child(6) { animation-delay: 0.25s; }
.lock_block.decoding .lock_block__dot:nth-child(7) { animation-delay: 0.3s; }
.lock_block.decoding .lock_block__dot:nth-child(8) { animation-delay: 0.35s; }
.lock_block.decoding .lock_block__dot:nth-child(9) { animation-delay: 0.4s; }
.lock_block.decoding .lock_block__dot:nth-child(10) { animation-delay: 0.45s; }

/* Финальное исчезновение */
@keyframes fadeOutScale {
    to {
        opacity: 0;
        transform: scale(0.8) translateY(-10px);
        filter: blur(5px);
    }
}

.lock_block.decoding {
    animation:
            glitchDecode 1s ease-in-out,
            fadeOutScale 0.5s ease-out 1s forwards;
}

/* Появление промокода */
@keyframes revealCode {
    from {
        opacity: 0;
        transform: translateY(10px);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

.promo-code {
    opacity: 0;
    font-weight: 500;
    color: var(--second-color);
}
.promo-gift .btn {
    width: 190px;
    text-align: center;
}
.promo-code.revealed {
    animation: revealCode 0.8s ease-out forwards;
}

/* Альтернативная анимация с эффектом шифровки */
@keyframes matrixDecode {
    0% {
        filter: blur(0) brightness(1);
        transform: skewX(0deg);
    }
    10% {
        filter: blur(1px) brightness(1.5);
        transform: skewX(5deg);
    }
    20% {
        filter: blur(2px) brightness(0.8);
        transform: skewX(-3deg);
    }
    30% {
        filter: blur(0) brightness(1.2);
        transform: skewX(2deg);
    }
    40% {
        filter: blur(3px) brightness(0.6);
        transform: skewX(-5deg);
    }
    50% {
        filter: blur(1px) brightness(1.8);
        transform: skewX(0deg) scaleY(0.9);
    }
    60% {
        filter: blur(4px) brightness(0.4);
        transform: skewX(3deg);
    }
    70% {
        filter: blur(0) brightness(2);
        transform: skewX(-2deg) scaleX(0.95);
    }
    80% {
        filter: blur(5px) brightness(0.2);
        transform: skewX(0deg);
    }
    90% {
        filter: blur(8px) brightness(0);
        transform: scale(0.9);
        opacity: 0.5;
    }
    100% {
        filter: blur(10px) brightness(0);
        transform: scale(0.7);
        opacity: 0;
    }
}
.position_description {}

.lock_block {
    position: absolute;
    z-index: 9;
    background: #4F5F91;
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}

.lock_block__dot {
    width: 4px;
    height: 4px;
    background: white;
    border-radius: 2px;
    margin: 0 2px;
}

.lock_block__dots {
    display: flex;
    align-items: center;
    margin-left: 6px;
}
.position_locker {
    width: 160px;
    height: 48px;
    margin-right: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.promo-gift__action {
    display: flex;
    align-items: center;
}
.projects_list-arrow {
    width: 24px;
    height: 24px;
    display: block;
    background-image: url(/img/arrow-top-right-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(0deg);
    transition-duration: .3s;
    position: relative;
    top:10px;
}
.is-active .projects_list-arrow.open-list_arrow, .open-list-item:hover .projects_list-arrow.open-list_arrow {
    background-image: url(/img/arrow-top-right.svg);
    transform: rotate(45deg);
}
.projects_list-arrow.open-list_arrow {
    background-image: url(/img/arrow-top-right-dark.svg);
    top: 0;
    height: 18px;
    width: 18px;
    transition-duration: .3s;
}
.highlighted{
    color: var(--second-color);
}
.position_description.open-list_description{
    margin-bottom: 0;
}
.open-list-item{
    cursor: pointer;
}
.projects_list-item .position_title{
    transition-duration: .3s;
}
.projects_list-item.projects_list-item__last::before {
    display: none;
}
.projects_list-left {
    flex: 1;
}
.feedback-top-margin{
    margin-top:140px;
}
.vrk-logo {
    max-height: 80px;
    margin-right: 20px;
    position: relative;
    top: -2px;
}
.projects_list-item::before{
    position: absolute;
    bottom:0;
    left:0;
    width: 100%;
    height:1px;
    content: '';
    background-color: white;
    opacity: .4;
}
.bg_block{
    background: var(--gray-color);
    margin-right: 100px;
    padding:40px 0 75px 0;
}
.bg_block .section_text{
    max-width: 100%;
}
.bg_block .inner{
    max-width: 1060px;
    box-sizing: border-box;
}
.section_text_fix{
    max-width: 100%;
    align-items: flex-start;
}
.col_text{
    width: 48%;
}
.bg_block .btn:before{
    background: var(--second-color);
}
.col_text p{
    margin:0 0 16px 0 ;
}
.map-zoom{
    position:absolute;
    z-index:1000;
    right:20px;
    bottom:20px;
}
.header_information_full{
    flex: 1;
    justify-content: flex-end;
    margin-right: 20px;
}

.rotating-wrapper .logo_dot{
    position: absolute;
    top:50%;
    left:50%;
    margin-left: -2px;
    margin-top: -3px;
}

.relative{
    position: relative;
}

.rotating-wrapper {
    position: absolute;
    width: 140px;
    height: 140px;
    right: 0;
    top: -110px;
    overflow: hidden;
}

.relative_dominant{
    position: relative;
    z-index:10;
}

.rotating-circle {
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: rotate-clockwise 20s linear infinite;
    top: 0;
    left: 0;
}

.rotating-circle.inner-circle {
    width: 100px;
    height: 100px;
    animation: rotate-counterclockwise 35s linear infinite;
    top: 20px;
    left: 20px;
    font-size: 10px;
}

.rotating-circle span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: 0 0;
    white-space: nowrap;
    letter-spacing: 0;
    font-weight: 500;
    color: var(--forth-color);
}

@keyframes rotate-clockwise {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate-counterclockwise {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(-360deg);
    }
}
@keyframes background {
    0%{
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100%{
        background-position: 0 50%;
    }
}
