@font-face {
    font-family: 'PFBeauSansPro';
    src: url(../fonts/PFBeauSansPro-Thin.woff) format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap
}
@font-face {
    font-family: 'PFBeauSansPro';
    src: url(../fonts/PFBeauSansPro-Regular.woff2) format('woff2'),url(../fonts/PFBeauSansPro-Regular.woff) format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url(../fonts/PFBeauSansPro-Bold.woff2) format('woff2'),url(../fonts/PFBeauSansPro-Bold.woff) format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url(../fonts/PFBeauSansPro-SemiBold.woff2) format('woff2'),url(../fonts/PFBeauSansPro-SemiBold.woff) format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap
}
@font-face {
    font-family: 'Gilroy';
    src: url(../fonts/Gilroy-Light.otf) format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}


.offcanvas.offcanvas-top {
    height:100%;
}
.offcanvas.show li .nav-link {
    border-bottom:0;
}
.offcanvas.show .navbar-nav {
    margin:20px 0!important;
}
.offcanvas.show .navbar-nav {
    align-items: flex-start!important;
}
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    position: relative;
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1720px;
    }
}

.no-bg {
    background: none!important;
}

.btn-flex {
    padding: 25px 44px;
    border-radius: 34px;
    text-decoration: none;
    display: inline-block;
    border:0;
}
.btn-blue {
    color:#fff;
    text-transform: uppercase;
    font-family: Gilroy;
    font-size:20px;
    line-height:25px;
    background: linear-gradient(180deg, #61F7FF 0%, #009DFF 100%);
}
.btn-white {
    color:#000000;
    text-transform: uppercase;
    font-family: PFBeauSansPro;
    font-size:25px;
    line-height:30px;
    background: #FFFFFF;
    border-radius: 10px;
    text-align:center;
    padding: 21px 21px;
}
.btn-white2 {
    color:#000000;
    text-transform: uppercase;
    font-family: PFBeauSansPro;
    font-size:20px;
    line-height:24px;
    background: #FFFFFF;
    border-radius: 52px;
    text-align:center;
    padding: 33px 65px;
}

body {
    background: #E4EAF0;
}

header {
    margin:40px 0px;
}
header li .nav-link {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color:#000000;
    padding:0.5rem 1rem!important;
    border-bottom:2px solid #E4EAF0;
}
header li .nav-link span {
    padding-bottom:10px;
}
header li .nav-link:hover span, header li .nav-link.active span {
    border-bottom:2px solid #54D3DE;
}
header .phone {
    font-family: Gilroy;
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
    color:#000000;
    text-decoration: none;
    margin-right:30px;
}

section {
    margin-bottom:80px;
}

h2 {
    font-family: PFBeauSansPro;
    font-size: 60px;
    font-weight: 200;
    line-height: 72px;
    text-transform: uppercase;
}


.banner .title {
    font-family: PFBeauSansPro;
    font-size: 120px;
    font-weight: 700;
    line-height: 144px;
    color:#fff;
    text-transform: uppercase;
}
.banner .desc {
    font-family: PFBeauSansPro;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    background: linear-gradient(180deg, #61F7FF 0%, #009DFF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    text-align: right;
}
.banner .position-absolute {
    top:30%;
    right:0;
    left:0;
    text-align:center;
}
.banner .btn-blue {
    margin-top:100px;
}


.industry .industry-list {
    margin-bottom:40px;
}
.industry-list .d-flex {
    top:0px;
    bottom:0px;
    left:220px;
    backdrop-filter: blur(10px);
    background: #0000004D;
    text-align:left;
    max-width:560px;
    padding:35px 30px;
    z-index:1;
}
.industry-list:nth-child(odd) .d-flex {
    left:unset;
    right:220px;
}
.industry-list .position-relative {
    min-height:700px;
    border-radius: 20px;
}
.industry-list .icon {
    width:65px;
    height:65px;
}
.industry-list li {
    min-height:700px;
    background-size: cover;
    border-radius: 20px;
    margin:auto;
}
/*.industry .title {
    font-family: PFBeauSansPro;
    font-size: 90px;
    font-weight: 600;
    line-height: 108px;
    text-transform: uppercase;
    color:#FFFFFFD9;
    margin-bottom:40px;
}*/
.industry-list .title {
    font-family: PFBeauSansPro;
    font-size: 60px;
    font-weight: 600;
    line-height: 72px;
    text-transform: uppercase;
    color:#FFFFFFD9;
    margin-bottom:40px;
}
.industry-list .desc {
    font-family: PFBeauSansPro;
    font-size: 25px;
    font-weight: 500;
    line-height: 30px;
    color:#FFFFFFD9;
}
.tns-outer {
    position: relative;
}
.industry-list .tns-outer .tns-nav {
    bottom: 35px;
    position: absolute;
    right: 30px;
}
.industry-list:nth-child(odd) .tns-nav  {
    left:30px;
    right:unset;
}
.tns-outer .tns-nav [aria-controls] {
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: #FFFFFFB2;
    border: 0
}
.tns-outer .tns-nav>.tns-nav-active {
    background: #54D3DE;
}
.tns-controls {
    float:right;
    bottom: 55%;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
}
.tns-controls [data-controls="prev"] {
    position: absolute;
    left: 30px;
}
.tns-controls [data-controls="next"] {
    position: absolute;
    right: 30px;
}
.tns-controls button {
    border:0px;
    background: none;
}
.arrow-prev {
    background: #fff url(../images/b-arrow.svg) center center no-repeat;
    width:56px;
    height:56px;
    border:1px solid #EDEDED;
    border-radius: 50%;
    rotate:180deg;
}
.arrow-next {
    background: #fff url(../images/b-arrow.svg) center center no-repeat;
    width:56px;
    height:56px;
    border:1px solid #EDEDED;
    border-radius: 50%;
}

.swiper-wrapper {
    height:auto;
}
.swiper-button-next:after, .swiper-button-prev:after {display:none;}
.swiper-button-prev {
    bottom: unset;
    top: 30px;
    right: 70px;
    left: unset;
    z-index:11;
}
.swiper-button-next {
    top: 30px;
    bottom: unset;
    right:0;
    z-index:11;
}

.slider_filter {
    padding-bottom:60px;
}
.slider_filter .bottom_nav {
    bottom: -30px;
    left: 0px;
    right: 0px;
    width: 126px;
    position: absolute;
    margin: auto;
    height: 50px;
}
.slider_filter .swiper-button-prev {
    top:unset;
    bottom: 30px;
    right: 70px;
    left: unset;
    z-index:11;
}
.slider_filter .swiper-button-next {
    top: unset;
    bottom: 30px;
    right:0;
    z-index:11;
}


.project {
    background: #DFE3E9;
    padding:60px 0;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}
.project .swiper-wrapper {
    margin-top:60px;
    margin-bottom:30px;
}
.swiper-slide {
    padding-right: 10px;
}
.project .swiper-slide .cursor {
    top:0;
    right:0;
    z-index:1;
    transition:all .3s linear;
}
.project .swiper-slide:hover .cursor {
    top:-10px;
    right:-10px;
}
.project .swiper-slide svg,
.project .swiper-slide circle {
    stroke:#009DFF;
}
.project .swiper-slide:hover svg,
.project .swiper-slide:hover circle {
    stroke:#132641;
}
.project .swiper-slide:hover .title {
    text-decoration: underline;
}
.project .swiper-slide .title {
    position: absolute;
    bottom:0px;
    padding-bottom:30px;
    text-align: center;
    font-family: PFBeauSansPro;
    font-size: 40px;
    font-weight: 600;
    line-height: 50px;
    color:#fff;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 65.97%, rgba(0, 0, 0, 0.7) 100%);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    left:0;
    right:0;

    background: #0000004D;
    backdrop-filter: blur(10px);
    padding:15px;
}
.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    margin-top:30px;
    height: var(--swiper-scrollbar-size, 9px);
}
.swiper-scrollbar {
    background: #fff;
}
.swiper-scrollbar-drag {
    background: #06172A;
}


.about {
    background: #E4EAF0;
}
.about h2 {
    font-family: PFBeauSansPro;
    font-size: 85px;
    font-weight: 500;
    line-height: 95px;
    color:#06172A;
}
.about p {
    font-family: Gilroy;
    font-size: 25px;
    font-weight: 600;
    line-height: 30.63px;
    text-align: left;
    color:#06172AB2;
    margin:60px 0;
}
.about img {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.about .d-flex p, .about .d-flex div {
    max-width:540px;
}


.consult {
    background: #DFE3E9;
    padding:100px 0 0 0;
    margin-bottom:0;
}
.consult .position-relative {
    border-radius: 20px;
    background: url(../images/consult.jpg) center center no-repeat;
    min-height:450px;
}
.consult .position-absolute {
    top:80px;
    left:0px;
    right:0px;
    text-align: center;
}

.consult .title {
    font-family: Gilroy;
    font-size: 70px;
    font-weight: 500;
    line-height: 84.91px;
    color:#fff;
    text-transform: uppercase;    
}
.consult .desc {
    font-family: Gilroy;
    font-size: 30px;
    font-weight: 500;
    line-height: 36.39px;
    color:#fff;
    margin:40px 0 80px 0;
}


.contact {
    background: #DFE3E9;
    padding:100px 0;
    margin-bottom:0;
}
.contact h2 {
    margin-bottom:30px;
}
.contact h3 {
    font-family: PFBeauSansPro;
    font-size: 60px;
    font-weight: 600;
    line-height: 72px;
    color: #06172A;
    margin-bottom:72px;
}
.contact .bg-white {
    padding:40px;
    border-radius: 20px;
    border: 2px solid #06172A33;
}
.contact .form-text {
    font-family: PFBeauSansPro;
    font-size: 16px;
    font-weight: 400;
    line-height: 19.2px;
    color: #06172A80;
    margin-top:10px;
}
.contact .text-bottom {
    margin-top:100px;
    margin-bottom:15px;
    font-family: PFBeauSansPro;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
}
.contact .text-top {
    margin-bottom:15px;
    font-family: PFBeauSansPro;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
}
.contact .btn-blue {
    background: linear-gradient(180deg, #61F7FF 0%, #009DFF 100%);
    border-radius: 10px;
    font-family: PFBeauSansPro;
    font-size: 18px;
    font-weight: 500;
    line-height: 21.6px;
    width:100%;
}
.contact .form-control {
    border: 1px solid #06172A;
    padding:13px 20px 13px 20px;
    font-family: PFBeauSansPro;
    font-size: 18px;
    font-weight: 500;
    line-height: 21.6px;
    text-align: left;
    color: #06172A80;
    border-radius: 42px;
}
.contact .mb-3 {
    margin-bottom:25px;
}
.contact .address {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color: #06172ACC;
}
.contact .address .title {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color: #06172A;
    margin-bottom:30px;
}


footer {
    background: #06172A;
    padding:50px 0;
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    color:#fff;
}
footer .row {
    min-height:250px;
}
footer .logo {
    max-width:380px;
    margin-top:-45px;
}
footer a {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 400;
    line-height: 25px;
    color:#fff;
    text-decoration: none;
}
footer .list-unstyled li img {
    margin-right:20px;
}
footer .list-unstyled li:not(:last-child) {
    margin-bottom:20px;
}
footer .btn-blue {
    background: linear-gradient(180deg, #61F7FF 0%, #009DFF 100%);
    border-radius: 10px;
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    width:70%;
    margin:0 auto;
}


.filters {
    margin:60px 0;
    margin-right: calc(-.5* var(--bs-gutter-x));
    margin-left: calc(-.5* var(--bs-gutter-x));
}
.filter {
    font-family: PFBeauSansPro;
    font-size: 25px;
    font-weight: 600;
    line-height: 30px;
    color:#132641;
    margin-bottom:26px;
}
.filter_link a {
    font-family: PFBeauSansPro;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    color:#132641;
    border: 2px solid #132641;
    padding:11px 32px;
    display:block;
    border-radius: 35px;
    text-decoration: none;
    /*margin:0 20px 20px 0;*/
    text-align: center;
}
.filter_link a.active, .filter_link a:hover {
    color:#FFFFFF;
    background: #132641;
}
.filter_link li {
    margin-right:20px;
    margin-bottom:20px;
}
.filter_link li:nth-child(1), .filter_link li:nth-child(5), .filter_link li:nth-child(4) {
    width:43%;
}
.filter_link li:nth-child(2), .filter_link li:nth-child(6), .filter_link li:nth-child(3) {
    width:53%;
}

.inner {
    margin-bottom: 40px;
}
.inner h1 {
    margin-top:33px;
    font-family: PFBeauSansPro;
    font-size: 95px;
    font-weight: 700;
    line-height: 120px;
    color:#06172A;
    text-transform: uppercase;
}
.inner p {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color:#000000CC;
}

.inner .img-fluid {
    border-radius: 20px;
}
.inner .text {
    font-family: PFBeauSansPro;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    /*text-align: center;*/
    color: #000;
    max-width:1330px;
    margin:80px auto 60px auto;

    font: 16px / 1.5 'PFBeauSansPro', arial, sans-serif, -apple-system;
}
.inner .text h2 {
    font: 700 50px / 1.24 'PFBeauSansPro', arial, sans-serif, -apple-system;
    color:#000;
}
.inner .text h3 {
    font: 700 44px / 1.32 'PFBeauSansPro', arial, sans-serif, -apple-system;
    color:#000;
}

.inner .text img {
    border-radius: 0;
}
.inner .btn-blue {
    background: linear-gradient(180deg, #61F7FF 0%, #009DFF 100%);
    border-radius: 20px;
    font-family: PFBeauSansPro;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
    margin:0 auto;
    max-width:560px;
}
.inner .gallery {
    margin:auto;
    text-align: center;
    margin-top:100px;

}
.inner .gallery > * {
    display:inline-block;
    margin:0 20px 20px 0;
    border-radius: 20px;
}

.project .swiper-slide .cursor svg {
    width: 40px;
    height: auto;
}

@media (min-width: 1660px) {
    .inner h1 {
        display:inline;
    }
    .inner p {
        /*position:absolute;
        bottom: 15px;
        right: 0;*/
        max-width: 430px;
        display: inline-block;
        padding-left:10px;
    }
}
@media (max-width: 1440px) {
    header li .nav-link, header .phone {
        font-size: 15px;
        line-height: 18px;
    }
    .btn-blue, .btn-white, .btn-white2 {
        font-size: 15px;
        line-height: 18px;
        padding: 20px 40px;
    }

    .banner .title {
        font-size: 70px;
        line-height: 80px;
    }
    .banner .desc {
        font-size: 30px;
        line-height: 38px;
    }

    /*.consult .position-absolute {
        top:50px;
    }*/
    .consult .desc {
        margin: 30px 0 30px 0;
    }

    .project .swiper-slide .title {
        font-size: 35px;
        line-height: 45px;
    }

    .inner h1 {
        font-size: 70px;
        line-height: 90px;
    }
}

@media (max-width: 1200px) {
    .banner .title {
        font-size: 40px;
        line-height: 50px;
    }
    .banner .desc {
        font-size: 30px;
        line-height: 38px;
    }

    h2, .about h2 {
        font-size: 40px;
        line-height: 50px;
    }

    .industry .title {
        font-size: 30px;
        line-height: 40px;
        margin-bottom: 20px;
    }

    .consult .title {
        font-size: 60px;
        line-height: 70px;
    }
    .industry .desc, .about p, .consult .desc {
        font-size: 20px;
        line-height: 25px;
    }

    .tns-controls [data-controls="next"], .industry-list .tns-outer .tns-nav {
        right: 24px;
    }

    .tns-controls [data-controls="prev"], .industry-list:nth-child(odd) .tns-outer .tns-nav {
        left: 24px;
    }

    .about img {
        margin-top:60px;
        border-radius: 20px;
    }

    /*.consult .position-absolute {
        top:30px;
    }*/
    .consult .desc {
        margin: 20px 0 20px 0;
    }

    footer, footer a {
        font-size: 18px;
        line-height: 20px;
    }
    footer .col-lg-4:last-child img {
        max-width:40px;
    }

    .contact .bg-white {
        margin-bottom:30px;
    }

    .project .swiper-slide .title {
        font-size: 22px;
        line-height: 32px;
    }
    .project .swiper-slide .cursor svg {
        width: 30px;
    }

    .contact h3 {
        font-size: 50px;
        line-height: 70px;
    }

    .inner h1 {
        font-size: 50px;
        line-height: 70px;
    }
    .filter_link a {
        font-size: 13px;
        line-height: 18px;
        padding: 15px 20px;
    }
    .inner .text {
        font-size: 30px;
        line-height: 48px;
    }
}

@media (max-width: 1024px) {
    header {
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5);
        margin:0;
    }
    .tns-controls [data-controls="prev"], .tns-controls [data-controls="next"] {
        display:none;
    }

    .industry-list .tns-outer .tns-nav, .tns-outer .tns-nav {
        bottom:-48px;
    }

    .industry-list li {
        min-height: 500px;
    }

    .tns-outer {
        margin-bottom:120px;
    }

    .industry-list .d-flex {
        left: 48px!important;
        right: 48px!important;
        padding: 15px 20px;
    }

    .consult .title {
        font-size: 40px;
        line-height: 50px;
    }
    .consult .desc {
        font-size: 18px;
        line-height: 20px;
    }

    footer .col-lg-4 {
        margin-bottom:30px;
        text-align:center;
        align-items: center;
    }
    footer .btn-blue, footer .list-inline {
        margin-bottom:30px;
    }

    .swiper-button-next, .swiper-button-prev {
        display:none;
    }

    .inner h1 {
        font-size: 35px;
        line-height: 50px;
    }

    .contact h3 {
        font-size: 35px;
        line-height: 50px;
    }
    
    .inner p {
        font-size: 18px;
        line-height: 25px;
    }

    .filter_link li {
        width:100%!important;
        margin-right:0;
    }

    .inner .text {
        font-size: 25px;
        line-height: 35px;
    }

    footer .logo {
        max-width: 100%;
    }

    .contact .bg-white {
        padding: 20px;
    }

    body .filters .position-relative  {
        max-width:unset!important;
        float:unset!important;
    }
}

@media (max-width: 768px) {
    .btn-blue, .btn-white {
        font-size: 13px;
        line-height: 18px;
        padding: 10px 20px;
    }

    .banner .title {
        font-size: 25px;
        line-height: 30px;
    }

    /*.consult .position-absolute {
        top: 20px;
    }*/
    /*.consult .desc {
        margin: 10px 0 10px 0;
    }*/

    .industry-list li {
        min-height: 400px;
    }

    .industry .title {
        font-size: 25px;
        line-height: 30px;
    }
    .consult .title {
        font-size: 25px;
        line-height: 30px;
    }
    .industry .desc {
        font-size: 15px;
        line-height: 20px;
    }
    /*.consult .desc {
        display:none;
    }*/

    .project .swiper-slide .cursor svg {
        width: 35px;
    }

    .inner .text {
        font-size: 20px;
        line-height: 30px;
    }

    .contact h3 {
        font-size: 25px;
        line-height: 30px;
    }
}

@media (max-width: 550px) {
    .industry .title {
        font-size: 15px;
        line-height: 20px;
    }
    .industry .desc {
        font-size: 15px;
        line-height: 20px;
    }
}