.nav-submenu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease, transform 0.3s ease;
    transform: translateY(-10px);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.nav-submenu.show {
    max-height: 500px;
    opacity: 1;
    transform: translateY(0);
}
.nav-submenu li a {
    color: #fff;
    padding: 12px 24px;
    display: block;
    font-size: 1.1em;
}
/* Overlay for side menu */

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(44, 62, 80, 0.5); /* dark semi-transparent */
    z-index: 999; /* нижче за меню */
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.nav-menu {
    z-index: 1000 !important;
}

body.menu-open {
    overflow: hidden !important;
    position: fixed;
    width: 100vw;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaThin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaLight.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaLightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaRegular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaMedium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaMediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaSemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaSemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaBold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaBoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaBlack.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'Lufga';
    src: url('/fonts/lufga/LufgaBlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}
* {
    font-family: 'Lufga', 'Roboto', Arial, sans-serif;
}

html, body {
    height: 100%;
    width: 100vw;
}

body {
    overflow-x: hidden;
    width: 100vw;
}

p, h1, h2, h3, h4, h5, h6 {
    color: #333333;;
}

@media (max-width:767px){
    .dropdown-menu.dm-lang a {
        display: inline-block;
        width: 40%;
    }
}

@media (max-width:575px){
}

/*** HERO ***/
/************/

.hero {
    position: relative;
    color: #fff;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding-top: 9rem;
    padding-bottom: 10rem;
    transition: padding .6s ease-in-out;
    margin-top: 200px;
}

.hero-content {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.hero-text {
    position: relative;
}

.hero-text h1 {
    font-size: 2rem;
    margin: 0;
    color: #ffffff;
}

.hero-text h1 span {
    font-weight: 700;
}

.hero-text p {
    font-weight: 100;
    font-size: 1.125rem;
    color: #ffffff;
}

.hero-text hr {
    width: 133px;
    border-top: 4px solid #00B5F1;
    margin-left: 0;
}

.hero-graphic {
    position: absolute;
    bottom: 120px;
    max-width: 100%;
}

.hero::after {
    content: ' ';
    position: absolute;
    left: calc(50% - .75rem);
    bottom: 30px;
    width: 1.5rem;
    height: 1.5rem;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: arrow-bounce 1s infinite;
    animation: arrow-bounce 1.5s infinite;
    cursor: pointer;
}

@media (max-width:991px){
    .hero-text {
        top: 55%;
    }
}

@media (max-width:767px){
    .hero-text h1 {
        font-size: 2rem;
    }

    .hero-text p {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}

@media (max-width:574px){
    .hero {
        overflow-x: hidden;
    }

    .hero img {
        width: auto;
        max-height: 320px;
        margin-left: -7%;
    }

    .hero-text h1 {
        margin-bottom: .5rem;
    }

    .hero-text p {
       font-size: .985rem;
       line-height: 1.25rem;
    }

    #hero-scroll {
        bottom: 32px;
    }

    @-webkit-keyframes arrow-bounce {
        0% {bottom: 32px;}
        50% {bottom: 27px;}
        100% {bottom: 32px;}
    }
    
    @keyframes arrow-bounce {
        0% {bottom: 32px;}
        50% {bottom: 27px;}
        100% {bottom: 32px;}
    }
}

/*** HOME PAGE ***/
/*****************/
.thumb-button {
    position: relative;
    width: 100%;
    height: 17.5vw;
    margin-bottom: 4rem;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    border: none;
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: 2px;
    transition: background-size .15s ease-out;
}

.thumb-button:hover {
    background-size: 110%;
}

.thumb-button::after {
    content: ' ';
    position: absolute;
    z-index: -1;
    width: 26px;
    height: 26px;
    border-right: 1px solid #1D2C4A;
    border-bottom: 1px solid #1D2C4A;
    display: inline-block;
    bottom: 40px;
    left: calc(50% - 13px);
    transform: rotate(45deg);
    transition: bottom .15s ease-out;
}

.thumb-button.active {
    outline: none;
}

.thumb-button.active::after {
    bottom: -40px;
}

#btn-about {
    background-image: url('../img/uber_vietrust.jpg');
}

#btn-mission {
    background-image: url('../img/unsere_mission.jpg');
}

#btn-team {
    background-image: url('../img/expertenteam.jpg');
}

.text-container {
    background-color: #F7F7F7;
}

.text-slider .text-container {
    padding: 3rem 10%;
}

.text-container p {
    font-weight: 300;
}

.text-container p:last-child {
    margin-bottom: 0;
}

.about-thumbs .text-container {
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: calc(100% - 30px);
    margin: 0 auto;
    transition: all .25s ease-out;
}

.about-thumbs .text-container.collapse {
    padding-top: 0;
    padding-bottom: 0;
}

.about-thumbs .text-container.show {
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.services-title {
    background-image: url('../img/services_title_bg.jpg');
    background-size: cover;
    background-position: 50% 0;
    background-repeat: no-repeat;
    transform: translate3d(0,0,0);
    position: relative;
    margin-top: 8rem;
}

.services-title .logo-container {
    display: inline-block;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%);
}

.services-title h3 {
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: 2px;
}

.service {
    margin-bottom: 6rem;
}

.service .service-content {
    height: calc(100% + 2rem);
    margin-top: -1rem;
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.service:nth-child(3n+2) {
    border-left: 1px solid #00B5F1;
    border-right: 1px solid #00B5F1;
}

.service:hover .service-content {
    background-color: #F7F7F7;
}

.service h4 {
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.25rem;
    letter-spacing: 2px;
    text-align: center;
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
}

.vietrust-standards {
    background-image: url('../img/vietrust_standards_bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 50%;
    position: relative;
}

.vietrust-standards .page-title h2 {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 700;
    max-width: 220px;
    letter-spacing: 5px;
}

.vietrust-standards .page-title h2:after {
    width: 120px;
    bottom: -28px;
}

.standards-list-container {
    background: rgba(29, 44, 74, .8);
}

.standards-list {
    color: #FFFFFF;
    margin-bottom: 0;
}

.standards-list li {
    font-weight: 300;
    margin-bottom: .75rem;
    line-height: 1.75rem;
}

.standards-list li:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .service:nth-child(3n+2) {
        border: none;
    }

    .service:nth-child(odd) {
        border-right: 1px solid #00B5F1;
    }

    .vietrust-standards {
        background: none;
    }

    .page-title-container {
        background-image: url('../img/vietrust_standards_bg.jpg');
        background-size: 125%;
        background-repeat: no-repeat;
        background-position: 0 0;
    }

    .standards-list-container {
        background: rgba(29, 44, 74, 1);
    }
}

@media (max-width: 767px) {
    .thumb-button {
        height: 25vw;
    }

    .thumb-button:hover {
        background-size: 100%;
    }

    .services-title {
        margin-top: 4rem;
    }

    .service {
        margin-bottom: 3rem;
    }

    .service:nth-child(odd) {
        border-right: none;
    }
}

@media (max-width: 575px) {
    .page-title-container {
        background-size: 193%;
    }
}

/*** ALL PROJECTS ***/
/********************/

/* Slider */
#projects-slider {
    margin-bottom: 0;
}

#projects-slider .slide .slide-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.slider-arrows {
    position: absolute;
    bottom: 40px;
}

.slider-arrows button {
    background: none;
    border: none;
    border-right: 1px solid #1D2C4A;
    border-bottom: 1px solid #1D2C4A;
    border-radius: 0;
    width: 26px;
    height: 26px;
    display: inline-block;
    outline: none;
}

.slider-arrows button.prev-arrow {
    transform: rotate(135deg);
}

.slider-arrows button.next-arrow {
    transform: rotate(-45deg);
}

.slide-content {
    padding-bottom: 6rem;
}

.slide-content h4 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1D2C4A;
}

.slide-content p {
    font-weight: 300;;
}

.slide-content .address {
    font-size: 1.125rem;
    margin-bottom: 0;
}

.slide-content hr {
    border-top: 4px solid #00B5F1;
    margin-left: 0;
    margin-bottom: 2rem;
}

.year-area > div:first-child {
    margin-right: 5rem;
}

.btn-vietrust-b2c {
    border: 1px solid #1D2C4A;
    border-radius: 0;
    padding: .5rem 2rem;
    text-transform: uppercase;
    font-weight: 300;
    transition: all .1s ease-out;
}

.btn-vietrust-b2c:hover,
.btn-vietrust-b2c:focus {
    border-color: transparent;
    color: #FFFFFF;
    background-color: #00B5F1;
}

@media (max-width: 991px) {
    .slider-arrows {
        position: static;
        bottom: auto;
        margin-top: 2rem;
        text-align: center
    }

    #projects-slider .slide .slide-bg {
        height: 40vw;
    }

    .slide-content {
        padding-left: 15px;
        padding-bottom: 0;
    }
}

@media (max-width: 585px) {
}

.projects-subtitle {
    margin-bottom: 2rem;
    text-align: center;
}

.subtitle-logo {
    text-align: center;
    margin-bottom: 1rem;
}
.subtitle-logo img {
    width: 100%;
    max-width: 130px;
    padding: 1.25rem 2rem 1rem;
    background-color: #001643;
}

.subtitle-logo-cg img {
    max-width: 200px;
    padding: .75rem 1rem;
}

.project-number-details h3 {
    font-size: 1.25rem;
    margin-bottom: 2rem;
}
.project-number-details thead tr th {
    font-weight: 700;
    padding-bottom: 1.5rem;
}

.project-number-details tfoot {
    border-top: 2px dotted #00B5F1;
}
.project-number-details tfoot tr td  {
    padding-bottom: 0;
    padding-top: 1.5rem;
    font-weight: 700;
}
.project-number-details tbody {
    font-size: 14px;
    font-weight: 300;
}

.blue-border {
    border: 2px solid #00B5F1;
}

.projects-subtitle h3 {
    font-weight: 400;
}
.projects-subtitle h5 {
    font-weight: 300;
}

.projects-subtitle hr {
    border: none;
    height: 50px;
    border-left: 2px solid #00B5F1;
    position: relative;
    display: inline-block;
}

.projects-subtitle hr:after {
    content: '';
    width: 14px;
    height: 14px;
    position: absolute;
    bottom: 0;
    left: -8px;
    border-right: 2px solid #00B5F1;
    border-bottom: 2px solid #00B5F1;
    transform: rotate(45deg);
}

p.pnd-item {
    font-weight: 300;
    line-height: 1.675rem;
    padding-bottom: 1rem;
    border-bottom: 2px dotted #00B5F1;
    margin-bottom: 2rem;
}

p.pnd-item strong {
    font-weight: 700;
}

hr.projekte-hr {
    margin: 7rem auto;
}

ul.projekte-service-list {
    list-style-type: none;
    padding-left: 2rem;
    margin-bottom: 0;
    color: #333333;
}

ul.projekte-service-list li {
    margin-bottom: 1rem;
}

ul.projekte-service-list li:before {
    content: '\2192';
    font-weight: 300;
    margin-left: -2rem;
    margin-right: 1rem;
}

ul.projekte-service-list li:last-child {
    margin-bottom: 0;
}

/* Vector Map */
.vector-map-container {
    position: relative;
    padding: 0;
}

.vector-map-legend {
    right: 0;
    top: 0;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    background-color: #f2f2f2;
    border-radius: 5px;
    padding: 2rem;
    font-size: 14px;
    font-weight: 300;
}

.vector-map-bullet {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 3px solid;
}

.vector-map-bullet:hover,
.vector-map-bullet:focus {
    border-color: #001643;
}

.map-bullet-finished {
    border-color: #00B5F1
}

.map-bullet-plan {
    border-color: #FF2800;
}

.map-bullet-construction {
    border-color: #FFB400;
}

.vector-map-legend .vector-map-bullet {
    position: relative;
    display: inline-block;
    margin-right: .25rem;
    vertical-align: middle;
}

.popover-body {
    padding: 0;
}

.popover-body .info-text {
    padding: 1rem;
}

@media (max-width: 767px) {
    .vector-map-legend {
        right: auto;
        left: 1rem;
        top: -50px;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        padding: 1rem;
    }
    .vector-map-legend p {
        margin-bottom: .25rem;;
    }
}

@media (max-width: 585px) {
    .vector-map-legend p {
        margin-bottom: 0;
    }
}

.project-cat {
    font-weight: 300;
    font-size: 1.25rem;
    max-width: 31%;
}

.project-cat img {
    width: 100%;
    max-width: 90px;
    margin-bottom: auto;
}

.project-cat .cat-count {
    font-size: 6rem;
    font-weight: 100;
}

.project-cat .cat-name {
    text-transform: uppercase;
    margin-bottom: 0;
}

.project-cat hr {
    border-top: 2px solid #00B5F1;
    width: 100%;
}

.project-cat .cat-numbers {
    font-size: 1.875rem;
}

.project-cat p:last-child {
    margin-bottom: 0;
}

/* Members */
#members {
    background-color: #f3f3f3;
    padding-left: 5rem;
    padding-right: 5rem;
}

.member {
    margin-bottom: 4rem;
}

.member-header {
    margin-bottom: 3rem;
}

.member-image hr {
    height: 160px;
    border: 0;
    border-left: 1px solid #999999;
    position: relative;
    margin-top: 26px;
}

.member-image hr:before {
    content: '';
    width: 15px;
    height: 15px;
    background-color: #00B5F1;
    position: absolute;
    border-radius: 50%;
    left: -8px;
    top: -26px;
}

.member-title {
    position: relative;
}

.member-title h4 {
    font-size: 1.385rem;
    margin: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 80%;
    left: 0;
    padding-left: 1rem;
}

@media (min-width:1199px) {
    .project-cat {
        max-width: 28%;
    }
}

@media (max-width:991px) {
    #members h3 {
        font-size: 2rem;
    }
}

@media (max-width:767px) {
    .project-cat {
        max-width: 90%;
        padding: 3rem 1.5rem;
        margin-bottom: 2rem;
    }

    hr.projekte-hr {
        margin: 3rem auto 4rem;
    }

    .member-header {
        margin-bottom: 24px;
    }

    .member-image hr {
        height: 120px;
    }

    .member-title h4 {
        font-size: 1.385rem;
        margin-top: 2rem;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        position: static;
        top: auto;
        left: auto;
        padding-left: 0;
    }
}

@media (max-width:585px) {
    #members {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/*** PROJECTS PAGES ***/
/**********************/

/* Counters */
#counters {
    padding-bottom: 1rem;
}
.counter {
    position: relative;
    padding-bottom: 1rem;
}

.counter:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 4px;
    background-color: #00B5F1;
    -webkit-transition: width 1.5s ease-out;
    -o-transition: width 1.5s ease-out;
    transition: width 1.5s ease-out;
}

.counter span {
    display: block;
    color: #333333;
}

.counter .digits {
    font-size: 3.5rem;
    font-weight: 100;
}

.counter .measure {
    font-size: 1.25rem;
    font-weight: 300;
}

.counter.grow:after {
    width: 85%;
}

/* Project Pages Mobile */
@media (max-width: 767px) {
    #counters {
        padding-bottom: 0;
    }

    .counter {
        margin-bottom: 3.5rem;
        margin-left: -15px;
        margin-right: -15px;
    }

    .counter .digits {
        line-height: 3rem;
    }

    .counter.grow:after {
        width: 100%;
    }
}

/*** Project list ***/
.project-image-map {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: visible;
    height: 100%;
    min-height: 24vw;
}

button.show-map {
    position: absolute;
    right: 1rem;
    top: -1rem;
    z-index: 100;
    background-color: #000000;
    color: #ffffff;
    font-size: 11px;
    font-weight: 300;
    text-align: center;
    min-width: 80px;
    border-radius: 0;
    -webkit-box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
    -moz-box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
    box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
    padding: 1rem;
    -webkit-transition: padding .1s;
    -o-transition: padding .1s;
    transition: padding .1s;
}

button.show-map:hover {
    padding-bottom: 1.5rem;
    color: #FFFFFF;
}

button.show-map.show-map-left {
    left: 1rem;
    right: auto;
}

button.show-map img {
    display: block;
    margin: 0 auto;
    max-width: 16px;
    margin-bottom: .5rem;
}

.project-map-container {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.project-map-container .project-map {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.project-map-container.map-left .project-map{
    left: 100%;
}

.project-map-container.map-right .project-map {
    right: 100%;
}

.project-map-container.map-left.show .project-map {
    left: 0;
}

.project-map-container.map-right.show .project-map {
    right: 0;
}

.project-facts {
    margin-bottom: -1.5rem;
}

.project-fact {
    margin-bottom: 1.5rem;
}

.project-fact span {
    font-size: 2.25em;
    white-space: nowrap;
}

.project-facts .project-fact {
    font-size: .875rem;
    max-width: 150px;
}

.project-facts .project-fact span {
    font-size: 1.875rem;
}

.project-link span {
    font-size: .875rem;
    line-height: 1rem;
}

.btn-blue-b2c {
    background-color: #00B5F1;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16);
    -moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16);
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16);
    text-transform: uppercase;
    font-weight: 300;
    border: 0;
    margin-right: 2rem;
    letter-spacing: 1px;
    padding: .6rem 1.5rem .5rem;
}

.btn-blue-b2c:hover {
    background-color: #00B5F1;
}

@media (max-width:1199px) {

}

@media (max-width: 991px) {
    .project-image-map {
        height: 400px;
        height: 52.5vw;
    }

    .project-map-container {
        position: relative;
    }

    .project-facts {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .btn-blue-b2c {
        margin-right: 0;
        margin-bottom: 1rem;
    }

    .project-link span {
        display: block;
    }
}

@media (max-width: 575px) {
    
}

/* Other Project Pages Links */
.link-to-other-projects {
    color: #ffffff;
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    font-size: 1.25rem;
    line-height: 1.5rem;
    letter-spacing: 5px;
    display: inline-block;
    width: 100%;
    padding-top: 10vw;
    padding-bottom: 10vw;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.link-to-other-projects:hover,
.link-to-other-projects:focus {
    color: #FFFFFF;
    text-decoration: none;
}

.link-to-finished {
    background-image: url('../img/projects_finished.jpg');
}

.link-to-construction {
    background-image: url('../img/projects_contruction.jpg');
}

.link-to-planning {
    background-image: url('../img/projects_planning.jpg');
}

.link-to-other-projects span.arrow {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-bottom: 1.5rem;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.link-to-other-projects span.arrow.arrow-left {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

.link-to-other-projects span.arrow.arrow-right {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.link-to-other-projects span.link-text {
    display: block;
}

.link-to-other-projects:hover span.arrow.arrow-left {
    margin-left: -1rem;
}

.link-to-other-projects:hover span.arrow.arrow-right {
    margin-right: -1rem;
}

@media (max-width: 1199px) {
    .link-to-other-projects span.link-text {
        margin: 0 auto;
        max-width: 235px;
        line-height: 1.75rem;
    }
}

@media (max-width: 767px) {
    .link-to-other-projects span.link-text {
        font-size: 1rem;
        letter-spacing: 4px;
        max-width: 190px;
        line-height: 1.5rem;
    }
}

@media (max-width: 575px) {
    .link-to-other-projects {
        padding-top: 1rem;
        padding-bottom: 1rem;
        min-height: 220px;
    }

    .link-to-other-projects span.arrow.arrow-left,
    .link-to-other-projects span.arrow.arrow-right {
        float: none;
        top: auto;
        margin-bottom: 2rem;
    }

    .link-to-other-projects span.link-text {
        text-align: center;
    }
}

@media (max-width: 479px) {
    .link-to-other-projects span.link-text {
        max-width: 145px;
        letter-spacing: 1px;
    }
}

/*** FOOTER ***/
/**************/
footer ul {
    list-style-type: none;
    padding-left: 0;
}

footer ul.footer-links li {
    margin-bottom: .5rem;
}

footer, footer a, footer a:hover, footer a:focus {
    color: #333333;
    font-weight: 300;
}

footer a:hover, footer a:focus {
    text-decoration: underline;
}

footer .copyright p:last-child {
    margin-bottom: 0;
}

/*** KONTAKT ***/
/***************/
.kontakt-title {
    font-size: 4.6rem;
}

#kontakt-form input, #kontakt-form select, #kontakt-form textarea {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #707070;
    padding-left: 0;
    padding-right: 0;
}

#kontakt-form select {
    border: 1px solid #707070;
    padding: .75rem 1.75rem .75rem .75rem;
    height: 3rem;
    margin-bottom: 2rem;
}

#kontakt-form input::placeholder, #kontakt-form textarea::placeholder, #kontakt-form label {
    font-size: 1.25rem;
    color: #CFCFCF;
    font-weight: 100;
}

#kontakt-form input {
    margin-bottom: 4rem;
}

#kontakt-form button[type=submit] {
    margin: 3rem 0 0;
    padding: .6rem 3rem .5rem
}

@media (max-width: 1199px) {
    .kontakt-title {
        font-size: 3.5rem;
    }
}

@media (max-width: 767px) {
    .kontakt-title {
        font-size: 3rem;
        font-weight: 300;
    }
    
    #kontakt-form input::placeholder, #kontakt-form textarea::placeholder, #kontakt-form label {
        font-weight: 300;
    }
}

@media (max-width: 585px) {
    .kontakt-title {
        font-size: 2rem;
    }

    #kontakt-form input {
        margin-bottom: 3rem;
    }
}


/* UKRAINE BANNER */

.promo-card {
    position: fixed;
    bottom: 30px;
    background-color: #FFFFFF;
    width: 100%;
    max-width: 500px;
    right: -515px;
    opacity: 0;
    box-shadow: 0 3px 15px rgba(0,0,0, .16);
    transition: all .25s ease-out;
    pointer-events: none;
}

.promo-card.visible {
    right: 30px;
    opacity: 1;
    pointer-events: all;
}

.promo-card.ukraine {
    background-color: #00B5F1;
    color: #FFFFFF;
    bottom: auto;
    top: 0;
    right: auto;
    left: 0;
    max-width: none;
    z-index: 999;
    font-size: 15px;
}

.promo-card h4 {
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #00A6C1;
}

.promo-card p {
    font-size: .933rem;
}

.promo-close {
    position: absolute;
    top: 2px;
    right: 8px;
    font-size: 1.6rem;
}

#ukraine-close {
    top: 50%;
    transform: translateY(-50%);
    color: #FFFFFF;
}

@media (max-width: 991px) {
    .footer-nav ul li {
        margin-left: 1rem;
        margin-right: 1rem;
        padding-top: .5rem;
        padding-bottom: .5rem;
    }
}

@media (max-width: 767px) {
    .promo-card {
        bottom: 80px;
    }
    
    .promo-card.visible {
        right: 15px;
    }

    .promo-card.ukraine {
        bottom: auto;
        right: auto;
    }
}

@media (max-width: 575px) {
    .footer-nav ul li {
        display: block;
        padding-top: .5rem;
        padding-bottom: .5rem;
    }

    .promo-card {
        width: calc(100% - 30px);
    }

    .promo-card.ukraine {
        width: 100%;
        font-size: 14px;
    }

    .promo-stamp {
        max-width: 100px;
    }
}


/* New Style */

* {
    box-sizing: border-box;
    outline: 0 !important;
    padding: 0;
    margin: 0;
}

.navbar {
    width: 100%;
    background-color: #FFFFFF;
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
}
.nav-container {
    max-width: 1920px;
    padding: 0 6rem;
    width: 100%;
    margin: 0 auto;
}
.nav-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0;
    border-bottom: 1px solid #2626261A;
}
.nav-img {
    width: auto;
    height: 32px;
}
.nav-button {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    border: 1px solid #0000001A;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-direction: column;
    margin-bottom: 0px;
    position: relative;
    z-index: 1010;
}
.nav-button-container {
    width: 22px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 6px;
    flex-direction: column;
}
.nav-button span {
    display: block;
    width: 22px;
    height: 1.5px;
    background-color: #262626;
    border-radius: 2px;
    transition: all 0.3s ease;
}
.short-span {
    width: 14px !important;
}
.container,
.container-main {
    max-width: 1920px;
    padding: 0 6rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.slick-dots {
    bottom: 40px;
}
.slick-dots li {
    margin: 0 !important;
}
.slick-dots li button:before {
    font-size: 12px;
    color: rgba(255,255,255, .15) !important;
    width: 10px !important;
    height: 10px !important;
    opacity: 1 !important;
}
.slick-dots li.slick-active button:before {
    color: #FFFFFF !important;
}
.hero-slide {
    border-radius: 40px !important;
    overflow: hidden;
}
.hero-slide-arrow {
    position: absolute;
    bottom: 40px;
    right: 80px;
    z-index: 10;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    animation: arrow-bounce 2s infinite;
}
.hero-slide-arrow p {
    margin-bottom: 0;
    color: rgba(255,255,255, .30);
}
.hero-slide-arrow img {
    width: 19px;
    height: auto;
}
.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}
.relative {
    position: relative !important;
}
.hero-title {
    position: absolute;
    z-index: 10;
    width: 625px;
    font-size: 54px;
    line-height: 110%;
    letter-spacing: -2px;
    text-align: center;
    color: #FFFFFF;
    margin: 0px auto;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    font-weight: 400;
}
.mt-15 {
    margin-top: 60px !important;
}
.mt-20 {
    margin-top: 80px !important;
}
.block-title {
    font-size: 62px;
    font-weight: 400;
    color: #262626;
    letter-spacing: -2px;
    line-height: 110%;
    margin-bottom: 40px;
}

@-webkit-keyframes arrow-bounce {
    0% {bottom: 40px;}
    50% {bottom: 38px;}
    100% {bottom: 40px;}
}

@keyframes arrow-bounce {
    0% {bottom: 40px;}
    50% {bottom: 38px;}
    100% {bottom: 40px;}
}

.core-values-row {
    width: 100%;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}
.core-value-card {
    width: 25%;
    flex: 1 1 0%;
    padding: 40px;
    border-radius: 40px;
    background: #1D2C4A;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.core-value-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
    border-radius: 24px;
    height: 80px;
    width: 80px;
}
.core-value-icon img {
    width: 32px;
    height: auto;
}
.core-value-card h2 {
    font-size: 20px;
    font-weight: 400;
    line-height: 110%;
    color: #FFFFFF;
    margin-bottom: 0;
}
.core-value-card p {
    font-size: 14px;
    font-weight: 400;
    line-height: 135%;
    color: rgba(255,255,255, .35);
    margin-bottom: 0;
}
.core-value-card-white {
    background: #F4F4F4;
}
.core-value-card-white .core-value-icon {
    background: #1D2C4A;
}
.core-value-card-white h2 {
    color: #262626;
}
.core-value-card-white p {
    color: rgb(38, 38, 38, .35);
}
.container-horizontal-scroll {
    width: 100%;
}
.empty-block {
    min-width: 5rem;
    aspect-ratio: 1 / 1;
}
/* Projects horizontal scroll row */
.projects-scroll-row::-webkit-scrollbar {
    height: 0px;
}
.projects-scroll-row::-webkit-scrollbar-thumb {
    background: transparent;
}
.projects-scroll-row::-webkit-scrollbar-track {
    background: transparent;
}
.project-card {
    transition: box-shadow .2s;
    background: #F6F7F9;
    border-radius: 24px;
    min-width: 400px;
    max-width: 400px;
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 2px 8px 0 rgba(44,62,80,0.04);
    padding: 12px;
}
/* Header hide/show on scroll */
#main-header {
    will-change: transform;
    transition: transform 0.3s cubic-bezier(.4,0,.2,1);
    position: sticky;
    top: 0;
    z-index: 1000;
}
.projects-scroll-row {
    overflow-x: auto;
    display: flex;
    gap: 16px;
}
.project-card img {
    min-width: 100%;
    height: 200px;
    border-radius: 16px;
    margin-bottom: 16px;
}
.project-card h3 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
    text-decoration: uppercase;
    color: #262626;
    margin-bottom: 32px;
}
.project-info {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.project-info-item {
    flex: 1 1 0%;
    width: 50%;
    padding: 8px 32px;
    border: 1px solid #2626261A;
    border-radius: 100px;
    font-size: 18px;
    font-weight: 400;
    color: #262626;
    text-align: center;
}
.project-card a {
    cursor: pointer;
    width: 100%;
    border-radius: 100px;
    margin-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 32px;
    font-weight: 400;
    color: #fff;
    background: #1D2C4A;
    text-decoration: none;
}
.project-card a img {
    width: 8px;
    height: auto;
    min-width: 8px;
    margin-bottom: 0;
}
.map-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.map-info {
    width: 35%;
    flex: 0 1 35%;
}
.map-image {
    width: 65%;
    flex: 1 1 0%;
}
.map-image img {
    width: 100%;
    height: auto;
}
.map-info h3 {
    font-size: 54px;
    font-weight: 400;
    color: #262626;
    letter-spacing: -2px;
    line-height: 110%;
    margin-bottom: 36px;
}
.map-info-line {
    width: 360px;
    background: #2626261A;
    height: 1px;
    border-radius: 100%;
    margin: 24px 0;
}
.map-info-legend {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;

}
.map-info-legend p {
    margin: 0;
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
}
.map-info-legend span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #000;
}
.urban-future {
    position: relative;
}
.urban-future-bg {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}
.urban-future-content {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    padding-left: 6rem;
    padding-right: 20%;
    text-align: center;
    color: #FFFFFF;
    display: flex;
    justify-content: space-between;
}
.urban-future-content h2 {
    width: 400px;
    font-size: 54px;
    font-weight: 400;
    text-align: start;
    color: #262626;
    line-height: 100%;
}
.urban-future-content p {
    width: 500px;
    font-size: 20px;
    font-weight: 400;
    text-align: start;
    color: #26262680;
}
.urban-future-button {
    cursor: pointer;
    border-radius: 100px;
    margin: 16px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 32px;
    font-weight: 400;
    color: #fff;
    background: #1D2C4A;
    transition: all 0.3s ease;
    text-decoration: none;
}
.urban-future-button:hover {
    opacity: 0.9;
    text-decoration: none;
    color: #fff;
}
.offer-block {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    border-top: 1px solid #2626261A;
    border-bottom: 1px solid #2626261A;
    padding-top: 32px;
    padding-bottom: 32px;
}
.offer-title,
.offer-cards-row {
    width: 50%;
    flex: 1 1 0%;
}
.offer-title {
    position: sticky;
    top: 32px;
}
.offer-card {
    width: 100%;
    display: flex;
    gap: 24px;
}
.offer-card img {
    width: 30px;
    height: 30px;
}
.offer-card-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.offer-card-content h4 {
    font-size: 24px;
    font-weight: 400;
    line-height: 120%;
    color: #262626;
}

.offer-card-content p {
    font-size: 18px;
    font-weight: 400;
    line-height: 135%;
    color: #26262659;
}
.line {
    width: 100%;
    height: 1px;
    background: #2626261A;
    margin: 32px 0;
}
.title-width {
    width: 800px;
    margin: 0 auto;
}
.title-sub-text {
    font-size: 22px;
    font-weight: 400;
    line-height: 110%;
    color: #262626;
    margin: 0 auto 16px;
    text-align: center;
}
.trust-signals-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    margin-top: 40px;
}
.trust-signal {
    width: 33%;
    flex: 1 1 0%;
    aspect-ratio: 10 / 9;
    border-radius: 40px;
    border: 1px solid #2626261A;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.trust-signal h3 {
    color: #86BEDB;
    font-size: 88px;
    font-weight: 400;
    line-height: 110%;
}
.trust-signal p {
    font-size: 18px;
    font-weight: 400;
    line-height: 135%;
    color: #1D2C4A;
    text-align: center;
    margin-top: 16px;
}
.footer-content {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    border-top: 1px solid #2626261A;
}
.footer-component {
    width: 20%;
    flex: 1 1 0%;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 48px 0px;
}
.footer-second-block {
    justify-content: center;
    border-left: 1px solid #2626261A;
    border-right: 1px solid #2626261A;
}
.footer-second-block ul {
    padding: 0 24px;
    margin-bottom: 0;
}
.footer-second-block ul {
    width: 100%;
}
.footer-second-block ul li {
    text-align: left;
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 400;
    color: #26262680;
}
.footer-second-block ul li p {
    margin-bottom: 0;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    color: #26262680;
}

.footer-second-block ul li:last-child {
    margin-bottom: 0 !important;
}
.footer-block {
    border: none !important;
}
.footer-opacity {
    color: #26262640 !important;
    border-right: 1px solid #2626261A !important;
}
.footer-copyright {
    justify-content: center;
    flex-direction: column;
    gap: 0;
    height: 100%;
}
.footer-copyright p {
    margin-bottom: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: #26262680;
}
.hero-arrow {
    display: block;
}
.hero-arrow-mobile {
    display: none;
}
.footer-mobile {
    display: none;
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 80px;
    justify-content: center;
    align-items: center;
    position: relative;
}
.contact-form__back-button {
    position: absolute;
    top: 100px;
    left: 100px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    border: none;
    font-size: 35px;
}
.contact-form__back-button img {
    width: 26px;
    height: auto;
}
.contact-form__title {
    font-size: 62px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 0;  
    max-width: 700px;
    text-align: center;
}
.contact-form__subtitle {
    font-size: 24px;
    font-weight: 400;
    line-height: 140%;
    color: #26262680;
    text-align: center;
    max-width: 500px;
}
.form-row {
    width: 100%;
    display: flex;
    gap: 16px;
    margin: 0 !important;
    margin-bottom: 16px !important;
}
.contact-form-container {
    max-width: 1000px;
    width: 100%;
    display: flex;
    justify-content: center;
}
.contact-form-container form {
    width: 100%;
}
.form-group {
    width: calc(100% / 3);
    flex: 1 1 0%;
    margin: 0;
    border: 1px solid #2626261A;
    border-radius: 16px;
    overflow: hidden;
}
.form-group input {
    margin: 0 !important;
    padding: 26px !important;
    height: 86px;
    border: none !important;
    font-size: 26px;
}
.form-textarea {
    width: 100%;
    flex: 1 1 0%;
    margin: 0;
    border: 1px solid #2626261A;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
}
.form-textarea textarea {
    margin: 0 !important;
    padding: 26px !important;
    border: none !important;
    font-size: 20px;
}
.custom-select {
    position: relative;
    width: 100%;
    height: 86px !important;
    border: 1px solid #2626261A !important;
    border-radius: 16px !important;
}
.form-bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
}
.form-bottom button {
    cursor: pointer;
    border-radius: 16px;
    padding: 16px 48px;
    font-weight: 400;
    color: #fff;
    background: #1D2C4A;
    width: 100%;
    height: 76px;
    border: none;
    font-size: 18px;
}
.project-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
    padding-bottom: 16px;
    border-bottom: 1px solid #2626261A;
}
.project-header-item {
    flex: 1 1 0%;
    width: 50%;
}
.project-header-img {
    flex: 1 1 0%;
    width: 50%;
}
.project-header-img {
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.project-header-img img {
    width: 150%;
    height: auto;
    border-radius: 16px;
    max-width: 720px;
}
.project-header-item h1 {
    font-size: 48px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 16px !important;
}
.project-header-item p {
    font-size: 18px;
    font-weight: 400;
    line-height: 140%;
    color: #26262680;
}
.project-ideas {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #2626261A;
}
.project-ideas-title {
    height: 100%;
    width: 30%;
    flex: 1 1 30%;
    padding: 80px;
    padding-left: 0px;
}
.project-ideas-title p {
    color: #26262680;
    font-size: 24px;
}
.project-ideas-content {
    width: 70%;
    flex: 1 1 70%;
    padding-left: 80px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 80px;
    padding-right: 0px;
    border-left: 1px solid #2626261A;
}
.project-ideas-content h2 {
    font-size: 32px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 0;
}
.project-ideas-items {
    padding: 60px 0;
}
.project-ideas-item {
    flex: 1 1 calc(30% + 80px)
}
.project-ideas-text {
    flex: 1 1 calc(70% - 80px);
    font-size: 22px;
    font-weight: 400;
    line-height: 140%;
    color: #26262680;
}
.project-ideas-items-last {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border: none;
}
.project-back {
    border: none;
    background: transparent;
    margin-bottom: 16px;
}
.contact-info {
    width: 100%;
    display: flex;
    gap: 20px;
    max-width: 1160px;
    padding: 0 80px;
    margin: auto;
    flex-direction: column;
}
.contact-info h3 {
    font-size: 62px;
    font-weight: 400;
    color: #262626;
    text-align: center;
    width: 100%;
}
.contact-info-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.contact-info-item {
    width: calc(100% / 3);
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    background-color: #1D2C4A;
    border-radius: 24px;
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.contact-info-item-icon {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;    
    background-color: #FFFFFF;
    border-radius: 24px;
    margin-bottom: 16px;
}
.contact-info-item h4 {
    font-size: 20px;
    font-weight: 400;
    color: #FFFFFF;
    margin-bottom: 0;
    text-align: center;
}
.contact-info-item p {
    font-size: 16px;
    color: rgba(255,255,255, .35);
    text-align: center;
}
.contact-info-item p span {
    color: transparent;
}
.project-header-item-mobile {
    display: none;
}
.project-ideas-text h3 {
    font-size: 26px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 16px;
    text-transform: uppercase;
}
.mission-vision-header {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    margin-bottom: 40px;
}
.mission-vision-header-image {
    width: 100%;
    height: auto;
}
.mission-vision-header-text {
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translate(-50%, 0%);
    color: #FFFFFF;
    text-align: center; 
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    align-items: center;
}
.mission-vision-header-text img {
    width: 26px;
    height: auto;
}
.mission-vision-header-text p {
    font-size: 48px;
    color: #FFFFFF;
    line-height: 110%;
}
.mission-back {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
}
.mission-vision-content {
    width: 100%;
    display: flex;
    gap: 80px;
    padding: 80px 0;
    border-top: 1px solid #2626261A;
}
.mission-vision-content-title {
    width: 40%;
    flex: 1 1 40%;
}
.mission-vision-content-title h4 {
    font-size: 26px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 0;
    text-transform: uppercase;
}
.mission-vision-content-text {
    width: 60%;
    flex: 1 1 60%;
}
.mission-vision-content-text p {
    font-size: 22px;
    font-weight: 400;
    line-height: 140%;
    color: #26262680;
    text-align: justify ;
}
.sustainability-header-item {
    flex: 1 1 30%;
}
.sustainability-img {
    flex: 1 1 70%;
}
.sustainability-img img {
    max-width: 100%;
}
.sustainability-content {
    width: 100%;
    display: flex;
    gap: 120px;
    padding: 80px 0;
    border-top: 1px solid #2626261A;
    align-items: stretch;
}
.sustainability-content-image {
    flex: 1 1 calc(100% / 3);
    display: flex;
    gap: 20px;
    flex-direction: column;
    overflow: hidden;
}
.sustainability-content-text {
    flex: 1 1 calc((100% / 3) * 2);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sustainability-content-text h4 {
    font-size: 22px;
    color: #262626;
    line-height: 140%;
    text-transform: uppercase;
    text-align: justify;
}
.sustainability-content-text p {
    font-size: 22px;
    color: #26262680;
    line-height: 140%;
    text-align: justify;
    font-weight: 300;
}
.sustainability-content-text-items {
    padding-left: 40px;
}
.sustainability-content-text-items li {
    font-size: 22px;
    color: #26262680;
    line-height: 140%;
    text-align: justify;
    font-weight: 300;
    margin-bottom: 12px;
}
.sustainability-content-text-items li span {
    color: #262626;
}
.sustainability-content-image-1 {
    height: 25%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(0,0,0, .16);
    position: relative;
}
.sustainability-content-image-1 img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-height: 100%;
    height: 100%;
    width: auto;
}
.sustainability-content-image-2 {
    height: 50%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(0,0,0, .16);
}

.sustainability-content-image {
    overflow: hidden;
}
.sustainability-content-text-img {
    display: none;
}
.project-header-title {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: start;
    gap: 16px;
}
.project-header-title h4 {
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    padding: 0 24px;
    font-size: 24px;
    font-weight: 400;
    color: #26262680;
    border: 1px solid #2626261A;
    font-weight: 400;
    text-wrap: nowrap;
}
.project-paragraph {
    display: none;
}
.project-content-pc {
    width: 100%;
    display: flex;
    justify-content: center;
    align-self: start;
    gap: 20px;
    padding-top: 16px;
}
.project-content-pc-1 {
    width: calc(100% / 3);
    flex: 1 1 calc(100% / 3);
    display: flex;
    gap: 20px;
    flex-direction: column;
}
.project-content-pc-2 {
    width: calc((100% / 3) * 2);
    flex: 1 1 calc((100% / 3) * 2);
    display: flex;
    gap: 20px;
    flex-direction: column;
}
.project-content-pc-3 {
    display: flex;
    gap: 20px;
}
.project-text-block {
    width: 100%;
    height: 360px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.project-img-block {
    width: 100%;
    height: 360px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 16px;
}
.project-text-block h3 {
    font-size: 78px;
    font-weight: 400;
    color: #262626;
}
.project-text-block p {
    font-size: 24px;
    font-weight: 400;
    color: #26262680;
}
.project-img-block img {
    min-height: 150%;
    height: auto;
    width: auto;
}
.project-content-mobile {
    display: none;
}
@media (max-width:1200px) {
    .footer-content {
        display: none;
    }
    .footer-mobile {
        display: block;
        width: 100%;
        padding: 0;
        border-top: 1px solid #2626261A;
        text-align: center;
    }
    .footer-mobile-logo {
        padding: 30px 0;
        width: 100%;
        border-bottom: 1px solid #2626261A;
    }
    .footer-mobile-links {
        width: 100%;
        display: flex;
        padding: 30px 0 0;
        justify-content: space-between;
    }
    .footer-mobile-links-ul {
        list-style-type: none;
        padding-left: 0;
        margin: 0;
        text-align: left;
    }
    .footer-mobile-links-ul li {
        margin-bottom: 12px;
        color: #26262680;
        font-size: 14px;
    }
    .footer-mobile-links-ul-legal {
        text-align: right;
        margin-bottom: 0;
    }
    .footer-mobile-links-ul-legal p {
        margin-bottom: 12px;
        color: #26262680;
        font-size: 14px;
        font-weight: 400;
    }
    .footer-mobile-copyright p {
        padding-bottom: 30px;
        text-align: right;
        color: #26262680;
        font-size: 14px;
        font-weight: 400;
    }
    .contact-form {
        padding: 40px;
    }
    .contact-form__title {
        font-size: 42px;
    }
    .contact-form__subtitle {
        font-size: 18px;
    }
    .form-row {
        flex-direction: column;
    }
    .form-group {
        width: 100%;
    }
    .form-group input {
        font-size: 20px;
        padding: 20px !important;
        height: 60px;
    }
    .custom-select {
        height: 60px !important;
    }
    .project-header{
        flex-direction: column;
        gap: 20px;
    }
    .project-header-item,
    .project-header-img {
        width: 100%;
    }
    .project-header-img img {
        max-width: 100%;
    }
    .project-back {
        display: none;
    }
    .project-header-img {
        max-height: 400px;
        overflow: hidden;
    }
    .project-header-item h1 {
        text-align: center;
        font-size: 36px;
        margin: 0px !important;
    }
    .project-header-item p {
        display: none;
    }
    .project-header-item-mobile {
        display: block;
    }
    .project-header-item-mobile p {
        width: 100%;
        font-size: 14px;
        color: #26262680;
        padding: 0 16px;
        text-align: justify;
        display: block;
    }
    .project-ideas {
        flex-direction: column;
        border: none;
    }
    .project-ideas-title {
        width: 100%;
        padding: 0;
    }
    .project-ideas-content {
        width: 100%;
        padding: 0;
        padding-top: 20px;
        border-left: none;
    }
    .project-ideas-title p {
        font-size: 18px;
        text-align: center;
        width: 80%;
        margin: 0 auto;
        text-align: center;
        padding-top: 80px;
    }
    .project-ideas-content h2 {
        text-align: center;
        font-size: 30px;
        margin-bottom: 60px;
    }

    .project-ideas-content h2 span {
        display: none;
    }
    .project-ideas-items {
        justify-content: center;
        align-items: center;
        gap: 30px;
        border-top: 1px solid #2626261A;
    }
    .project-ideas-text {
        text-align: center;
        padding: 0px 2rem;
        font-size: 16px;
    }
    .project-ideas-text h3 {
        font-size: 18px;
        text-align: justify;
    }
    .project-ideas-text-services {
        text-align: justify;
    }
    .project-ideas-item-services {
        display: flex;
        justify-content: flex-start;
        width: 100%;
        padding: 0 32px;
    }

    .mission-vision-header-text {
        top: 40px;
        padding: 0 1rem;
        width: 80%;
    }
    .mission-vision-header-text p {
        font-size: 32px;
    }
    .mission-vision-content {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }
    .mission-vision-content-title,
    .mission-vision-content-text {
        width: 100%;
    }
    .mission-vision-content-title h4 {
        font-size: 24px;
        text-align: justify;
    }
    .mission-vision-content-title p {
        font-size: 18px;
        text-align: justify;
        color: #26262680;
    }
    .sustainability-content-image {
        display: none;
    }
    .sustainability-content-text h4 {
        font-size: 18px;
    }
    .sustainability-content-text p {
        font-size: 18px;
    }
    .sustainability-content-text-items li {
        font-size: 18px;
    }
    .sustainability-content-text {
        padding: 0 16px;
    }
    .sustainability-content {
        padding: 32px 0;
    }
    .sustainability-content-text-img {
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1;
        background: rgba(0,0,0, .16);
        border-radius: 16px;
    }
    .project-header-title {
        flex-direction: column-reverse;
        align-items: center;
        gap: 4px;
    }
    .project-header-title h4 {
        height: auto;
        font-size: 18px;
        padding: 8px 16px;
    }
    .project-paragraph {
        display: block;
        font-size: 16px;
        color: #26262680;
        margin-top: 16px;
        text-align: justify;
    }
    .project-content-pc {
        display: none;
    }
    .project-content-mobile {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .project-content-mobile-img {
        width: 100%;
        height: auto;
        border-radius: 16px;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .project-content-mobile-img img {
        width: 100%;
        height: auto;
    }
    .project-content-mobile-facts {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        width: 100%;
        padding: 16px;
    }
    .project-content-mobile-facts-item {
        flex: 1 1 0%;
        width: 50%;
        border-radius: 100px;
        font-size: 16px;
        font-weight: 400;
        color: #262626;
        text-align: center;
    }
    .project-content-mobile-facts-item h3 {
        font-size: 50px;
        line-height: 110%;
        color: #262626;
    }
    .project-content-mobile-facts-item p {
        font-size: 16px;
        font-weight: 400;
        color: #26262680;
        margin: 0;
    }
}

@media (max-width:600px){
    .mission-vision-content-title h4 {
        font-size: 16px;
    }
    .mission-vision-content-text p {
        font-size: 14px;
    }
    .mission-vision-header-text {
        top: 20px;
    }
    .mission-vision-header-text p {
        font-size: 16px;
    }
    .project-ideas-title p {
        font-size: 14px;
        text-align: center;
        width: 80%;
        margin: 0 auto;
        text-align: center;
    }
    .contact-form__back-button {
        display: none;
    }
    .contact-form {
        padding: 16px;
    }
    .contact-form__title {
        font-size: 32px;
    }
    .contact-form__subtitle {
        font-size: 16px;
    }

    .container {
        padding: 0 2rem;
    }
    .nav-container {
        padding: 0 2rem;
    }
    .nav-content {
        padding: 1.5rem 1rem;
    }
    .container-main {
        padding: 0 1rem;
    }
    .hero-title {
        width: 90%;
        font-size: 26px;
    }
    .hero-slide-arrow {
        right: 50%;
        transform: translateX(50%);
        display: none;
    }
    .hero-slider-container {
        overflow: visible !important;
    }
    .contact-info-container {
        flex-direction: column;
    }
    .contact-info {
        padding: 0 16px;
    }
    .contact-info-item {
        width: 100%;
    }

    @-webkit-keyframes arrow-bounce {
        0% {bottom: -40px;}
        50% {bottom: -38px;}
        100% {bottom: -40px;}
    }

    @keyframes arrow-bounce {
        0% {bottom: -40px;}
        50% {bottom: -38px;}
        100% {bottom: -40px;}
    }
    .hero-slide-arrow p {
        color: #2626264D;
    }
    .hero-arrow {
        display: none;
    }
    .hero-arrow-mobile {
        display: block;
    }
    .block-title {
        font-size: 36px;
    }
    .core-value-card {
        width: 100%;
    }
    .project-card {
        min-width: 300px;
        max-width: 300px;
    }
    .project-card img {
        height: 150px;
    }
    .project-info-item {
        font-size: 14px;
        padding: 8px 16px;
    }
    .map-container {
        flex-direction: column;
    }
    .map-info, .map-image {
        width: 100%;
        flex: 1 1 0%;
        margin-bottom: 24px;
    }
    .empty-block {
       min-width: 0px;
    }
    .map-info h3 {
        font-size: 36px;
        text-align: center;
    }
    .map-info-legend p {
        font-size: 14px;
    }
    .map-info-legend span {
        width: 10px;
        height: 10px;
    }
    .map-info-line {
        display: none;
    }
    .map-info-legend {
        margin-bottom: 16px;
    }
    .map-image img {
        border-radius: 26px;
        border: 1px dashed #B9E5FB;
    }
    .container-map {
        padding: 0 1rem;
    }
    .map-info {
        padding: 0 2rem;
    }
    .urban-future-content {
        position: relative;
        flex-direction: column;
        padding: 0 3rem;
    }
    .urban-future-content h2 {
        width: 100%;
        font-size: 36px;
        text-align: center;
        margin-bottom: 16px;
    }
    .urban-future-content p {
        width: 100%;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
    }
    .offer-block {
        border: none;
        flex-direction: column;
    }
    .offer-title {
        position: relative;
        width: 100%;
        top: 0;
        margin-bottom: 32px;
    }
    .offer-title h2 {
        text-align: center;
        font-size: 36px;
        border-bottom: 1px solid #2626261A;
        padding-bottom: 24px;
        margin-bottom: 0;
    }
    .offer-cards-row {
        width: 100%;
        flex-direction: column;
        gap: 32px;
    }
    .offer-card {
        width: 100%;
        flex-direction: column;
        align-items: center;
        text-align: center; 
        justify-content: center;
    }
    .title-sub-text {
        font-size: 14px;
        color: #262626;
    }
    .title-width {
        width: 100%;
    }
    .trust-signals-row {
        flex-direction: column;
    }
    .trust-signal {
        width: 100%;
    }
}   


/* Responsive Adjustments */
@media (min-width: 768px) {
  .nav-menu {
    width: 750px;
  }
}
/*Medium Screens */
@media (min-width: 922px) {
  .nav-menu {
    width: 970px;
  }
}
/*Large Screens */
@media (min-width: 1200px) {
  .nav-menu {
    width: 1170px;
  }
}

/* Burger Icon Container */
.burger-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  cursor: pointer;
  width: 40px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 5px;
  border-radius: 5px;
  background: hwb(0 100% 0% / 0.1);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 6px #0000001a;
}

/* Burger Icon Lines */
.burger-line {
  width: 100%;
  height: 3px;
  background-color: var(--primary-color);
  border-radius: 2px;
  transform-origin: center;
  transition: all 0.4s ease-in-out;
}

/* Checkbox Hack */
#burger-toggle {
  display: none;
}

/* Navigation Styles */
.nav-menu {
  position: fixed;
  top: 0;
  right: -300px;
  width: 0px;
  height: 100vh;
  background: #1D2C4A;
  transition: right 0.4s cubic-bezier(0.77, 0.2, 0.05, 1);
  overflow-y: auto;
  padding-top: 133px;
    transition: 0.3s;
}
.nav-menu.active {
    right: 0;
    width: 300px;
}

.nav-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 113px;
  background: #ffffff0d;
  backdrop-filter: blur(10px);
}

.nav-menu ul {
  list-style-type: none;
}

.nav-menu ul li {
  margin: 0 15px;
  border-bottom: 1px solid #ffffff1a;
}

.nav-menu ul li a,
.nav-menu ul li button {
    background: transparent;
    border: none;
    color: white;
    text-decoration: none;
    display: block;
    padding: 15px;
    font-weight: 500;
    position: relative;
    overflow: hidden;
}


.nav-menu ul li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background-color: var(--secondary-color);
  transition: left 0.3s ease;
}

.nav-menu ul li a:hover::after {
  left: 0;
}

/* Burger Icon Animation on Checkbox Checked */
#burger-toggle:checked ~ .burger-container .burger-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

#burger-toggle:checked ~ .burger-container .burger-line:nth-child(2) {
  opacity: 0;
}

#burger-toggle:checked ~ .burger-container .burger-line:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Navigation Slide In */
#burger-toggle:checked ~ .nav-menu {
  right: 0;
}
.our-projects-back {
    top: 80px;
}
@media (min-width: 600px) and (max-width: 1200px) {
    .container-main {
        padding-left: 24px;
        padding-right: 24px;
        max-width: 100%;
    }
    .hero-slider-container {
        border-radius: 16px;
        overflow: hidden;
    }
    .hero-slide img,
    .hero img {
        height: 350px !important;
        object-fit: cover;
        border-radius: 16px;
    }
    .hero-title,
    .hero-text h1 {
        font-size: 2.2rem !important;
        line-height: 1.2;
        margin-bottom: 1.2rem;
    }
    .hero-text p {
        font-size: 1.1rem !important;
        line-height: 1.5;
    }
    .core-values {
        padding: 2rem 0;
    }
    .core-values h2,
    .core-values-title {
        font-size: 2rem !important;
        margin-bottom: 1.5rem;
    }
    .core-values-list {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
    .core-values-item {
        font-size: 1.1rem;
        padding: 1.2rem;
    }
    .urban-future-content h2 {
        font-size: 32px;
    }
    .urban-future-content p {
        font-size: 14px;
    }
    .core-value-card {
        width: calc(100% / 3);
        flex: 1 1 calc(100% / 3);
    }
    .container, .container-main {
        padding: 0 3rem;
        max-width: 100%;
    }
    .nav-container {
        padding: 0 3rem;
    }
    .map-info h3 {
        font-size: 36px;
    }
    .map-info-legend p {
        font-size: 18px;
    }
    .map-info-legend span {
        width: 18px;
        flex: 0 0 18px;
        height: 18px;
    }
    .title-width {
        width: 100%;
    }
    .block-title {
        font-size: 42px;
    }
    .hero-title {
        width: 80%;
        font-size: 36px;
    }

    .offer-title h2 {
        font-size: 26px;
    }
    .offer-card-content h4 {
        font-size: 20px;
    }
    .offer-card-content p {
        font-size: 16px;
    }
    .trust-signal h3 {
        font-size: 56px;
    }
    .trust-signals-row {
        flex-wrap: wrap;
    }
    .trust-signal {
        min-width: 200px;
    }
}
.js-hide {
    display: none !important;
}