@font-face {
    font-family:'Outfit regular';
    src: url("../fonts/Outfit-Regular.woff2") format("woff2"),
    url("../fonts/Outfit-Regular.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit light';
    src: url("../fonts/Outfit-Light.woff2") format("woff2"),
    url("../fonts/Outfit-Light.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit extralight';
    src: url("../fonts/Outfit-ExtraLight.woff2") format("woff2"),
    url("../fonts/Outfit-ExtraLight.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit medium';
    src: url("../fonts/Outfit-Medium.woff2") format("woff2"),
    url("../fonts/Outfit-Medium.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit bold';
    src: url("../fonts/Outfit-Bold.woff2") format("woff2"),
    url("../fonts/Outfit-Bold.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit semibold';
    src: url("../fonts/Outfit-SemiBold.woff2") format("woff2"),
    url("../fonts/Outfit-SemiBold.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit extrabold';
    src: url("../fonts/Outfit-ExtraBold.woff2") format("woff2"),
    url("../fonts/Outfit-ExtraBold.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:'Outfit black';
    src: url("../fonts/Outfit-Black.woff2") format("woff2"),
    url("../fonts/Outfit-Black.woff") format("woff");
    font-weight:normal;
    font-style:normal;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family:'Outfit regular';
}

header {
    background-color: #F4F4F4;
}

.wrapper {
    overflow-x: hidden;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

.pb-21 {
    padding-bottom: 21px!important;
}

.header-container {
    position: absolute;
    max-width: 1296px;
    transform: translate(-50%, 0%);
    left: 50%;
    margin-top: 40px;
    z-index: 2;
}

.header-wrapper:before {
    width: 100vw;
    height: 2px;
    content: '';
    position: absolute;
    top: 40px;
    background-color: #fff;
    z-index: 10;
}

@media (max-width: 767px) {
    .header-container {
        margin-top: 30px;
    }

    .header-wrapper:before {
        top: 30px;
    }
}

.font-medium {
    font-family:'Outfit medium';
}

.font-light {
    font-family:'Outfit light';
}

.text-48 {
    font-size: 48px;
}

.text-26 {
    font-size: 26px;
    line-height: 33px;
}

.text-20 {
    font-size: 20px;
}

.text-16 {
    font-size: 16px;
}

@media (max-width: 767px) {
    .text-sm-14 {
        font-size: 14px;
        line-height: 18px;
    }

    .text-sm-20 {
        font-size: 20px;
        line-height: 26px;
    }

    .text-sm-16 {
        font-size: 16px;
        line-height: 20px;
    }

    .text-sm-27 {
        font-size: 27px;
        line-height: 34px;
    }

    .mb-sm-30 {
        margin-bottom: 30px;
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

}

@media (min-width: 992px) {
    .pr-3 {
        padding-right:.75rem;
    }
}

.color-white {
    color: #fff;
}

.color-grey {
    color: #919191;
}

.nav {
    padding-top: 17px;
}

.nav-mobile {
    display: none;
}

.nav-mobile ul li a:hover {
    color: #fff;
}

@media (max-width: 767px) {
    .row>* {
        padding-left: 15px;
        padding-right: 15px;
    }

    .row > .col-xs-12 {
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5);
    }

    .nav {
        display: none!important;
    }

    .nav-mobile {
        display: flex;
        justify-content: center;
        margin-top: 18px;

    }

    .hero img {
        left: -50%;
        position: relative;
        max-height: 520px
    }

    @keyframes pulse {
        0% {
            transform: scale(1, 1);
        }

        50% {
            transform: scale(1.2, 1.2);
        }

        100% {
            transform: scale(1, 1);
        }
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .pl-sm-0 {
        padding-left: 0;
    }

    .pr-sm-0 {
        padding-right: 0
    }
}

.nav ul li a {
    text-decoration: none;
}
.nav ul li a:hover {
    color: #fff;
}

.nav ul li span {
    position: relative;
}

.nav ul li a:hover span:after {
    width:100%;
    content:'';
    height: 2px;
    display: block;
    background-color: #fff;
    position: absolute;
}

.nav ul {
    gap: 1.5rem;
    display: inline-grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.title-wrapper {
    position: absolute;
    max-width: 1280px;
    transform: translate(-50%, 0%);
    left: 50%;
    margin-top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.hero__inner {
    max-height: calc(100vh - 25px);
    overflow: hidden;
}

@media (max-width: 767px) {
    .hero__inner img {
        opacity: 0;
    }

    .hero__inner {
        background-image: url(../images/hero.png);
        background-position: center;
        background-size: cover;
    }
}

@media (max-width: 1189px) {
    .hero__inner img {
        transform: translate(-20%, 0%);
    }
}

.title-wrapper__inner {
    position: absolute;
    bottom: 68px;
    width: 100%;

    z-index: 10;
}

.title-wrapper__inner__content {
    border-bottom: 2px solid #fff;
}

@media (max-width: 767px) {
    .title-wrapper__inner {
        width: calc(100% - 30px);
        margin-left: 15px;
        bottom: 52px;
    }
}

.title-wrapper:after {
    width: 2000px;
    content: '';
    position: absolute;
    height: 100%;
    background: rgb(155,208,23);
    background: linear-gradient(0deg, rgba(155,208,23,1) 0%, rgba(155,208,23,0.2455357142857143) 100%);
    left: 92%;
}

.title-wrapper h1 {
    font-family:'Outfit black';
    color: #fff;
    font-size: 104px;
    line-height: 108px;
}

@media (min-width: 768px) and (max-width: 992px) {
    .title-wrapper h1 {
        font-size: 70px;
        line-height: 74px;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    .title-wrapper h1 {
        font-size: 70px;
        line-height: 74px;
    }
    .title-wrapper h2 {
        font-size: 36px;
        line-height: 42px;
    }

    .title-wrapper__inner {
        margin-left: 10px;
        width: calc(100% - 20px);
    }
}

.title-wrapper h2 {
    font-family:'Outfit medium';
    color: #fff;
    font-size: 48px;
    line-height: 60px;
    margin-bottom: 27px;
}

@media (max-width: 767px) {
    .title-wrapper h1 {
        font-size: 60px;
        line-height: 60px;
        margin-bottom: 5px;
    }
    .title-wrapper h2 {
        font-size: 27px;
        line-height: 34px;
        margin-bottom: 20px;
    }

    .title-wrapper:after {
        left: calc(100% - 55px);
    }

    .logo img {
        max-width: 220px;
    }
}

@media (min-width: 768px) {
    .logo img {
        max-width: 100%;
    }
}

.scroll-down {
    bottom: -21px;
}

.scroll-down-wrapper {
    margin-left: -12px;
}

@media (min-width: 768px) and (max-width: 1399px) {
    .scroll-down-wrapper {
        margin-left: -25px;
    }
}

@media (max-width: 767px) {
    .scroll-down-wrapper {
        margin-left: 0;
    }
}


@media (max-width: 767px) {
    .scroll-down {
        left: -15px;
    }

    .scroll-down-wrapper {
        max-width:540px;
        position: relative;
    }
}

@media (max-width: 575px) {
    .scroll-down {
        left: 0;
    }
}

.scroll-down__inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: 150ms;
    transition-property: all;
}

.scroll-down__inner svg {
    position: relative;
    top: 0;
    transition: all .2s ease-in;
}

.scroll-down__inner:hover svg {
    top: -2px;
}

.bg-primary {
    background-color: #F4F4F4!important;
}

@media (min-width: 576px) {
    .bg-primary-md {
        background-color: #F4F4F4!important;
    }
}

@media (max-width: 575px) {
    .bg-primary-xs {
        background-color: #F4F4F4!important;
    }
}



.bg-black {
    background-color: #000!important;
}

.pt-29 {
    padding-top: 100px;
}

@media (max-width: 767px) {
    .pt-29 {
        padding-top: 52px;
    }
}

.pt-34 {
    padding-top: 124px;
}

.pb-32 {
    padding-bottom: 120px;
}

@media (max-width: 767px) {
    .pt-34 {
        padding-top: 60px;
    }

    .pb-32 {
        padding-bottom: 60px;
    }
}

.mb-5 {
    margin-bottom: 1.25rem!important;
}

.mr-40 {
    margin-right: 40px;
}

.text-right {
    text-align: right;
}

.usp-wrapper {
    gap: 20px;
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.usp-item {
    padding: 53px 40px 40px 40px;
}

.usp-item svg {
    top: -21px;
    left: 40px;
}

.usp-item h3 {
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .usp-wrapper {
        gap: 30px;
        display: inline-grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .usp-item svg {
        left: 30px;
    }

    .usp-item {
        padding: 48px 30px 40px 30px;
    }

    .usp-item h3 {
        margin-bottom: 25px;
    }

    .usp-item p {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 0;
    }
}

.text-shadow {
    text-shadow: 0 2px 50px rgba(0,0,0,0.3);
}

.slider__inner {
    padding: 24px 54px 60px 40px;
}
.slider__image:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 180px;
    bottom: 0;
    left: 0;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}

.slider__inner h3,
.slider__image h3{
    font-size: 48px;
    color: #fff;
    margin-bottom: 24px;
}

.slider__image h3{
    font-size: 48px;
    color: #fff;
    z-index: 2;
    position: absolute;
    bottom: 0;
    margin-bottom: 0;
    padding: 0 40px;
}

.slider__image img {
    width: 100%;
}

.slider__inner p {
    color: #A6A6A6;
}

.swiper-item {
    display: flex;
    flex-flow: column nowrap;
    height: auto
}

.services-slider:before {
    height: calc(100% - 80px);
    content: '';
    width: 999px;
    position: absolute;
    top: 0;
    z-index: 2;
    left: -999px;
    background-color: #F4F4F4;
}

.services-slider:after {
    height: 80px;
    content: '';
    width: 999px;
    position: absolute;
    bottom: 0;
    z-index: 2;
    left: -999px;
    background-color: #FFFFFF;
}

.services-slider {
    padding-top: 44px;
}

.services-slider__navigation,
.project-slider__navigation {
    z-index: 2;
    right: -23px;
    top: 116px;
}

.services-button-prev,
.project-button-prev {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.services-button-prev svg,
.project-button-prev svg {
    position: relative;
    left: 5px;
}

.services-button-next svg,
.project-button-next svg {
    position: relative;
    right: 5px;
}

.services-button-next,
.project-button-next {
    right: 0;
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    .services h3 {
        margin-bottom: 30px;
    }

    .services-slider__navigation,
    .project-slider__navigation {
        right: 0;
        top: 21px;
    }

    .project-slider__navigation {
        right: 0;
        top: -21px;
    }

    .slider__image h3 {
        font-size: 27px;
        line-height: 28px;
        margin-bottom: 20px;
        padding: 0 30px
    }

    .slider__inner {
        padding: 0 30px 40px 30px;
    }

    .services-slider:before {
        height: calc(100% - 108px);
    }

    .services-slider:after {
        height: 110px;
        bottom: -1px;
    }
}


.projects {
    margin-top: -80px;
    padding-top: 200px;
}

.projects h3 {
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .projects h3 {
        margin-bottom: 30px;
    }
}

.projects-grid {
    gap: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.projects__item img {
    width: 100%;
}

.projects__item__inner {
    bottom: 40px;
    padding-left: 40px;
}

@media (min-width: 768px) and (max-width: 992px) {
    .projects__item__inner {
        bottom: 20px;
        padding-left: 20px;
    }
}

.projects__item__inner h3 {
    margin-bottom: 5px;
    font-size: 20px;
}

.projects__item__inner p {
    margin-bottom: 0;
}

.project-slider {
    display: none;
}

@media (max-width: 767px) {
    .project-slider {
        display: block;
    }

    .project-slider:before {
        height: 100%;
        content: '';
        width: 999px;
        position: absolute;
        top: 0;
        z-index: 2;
        left: -999px;
        background-color: #ffffff;
    }

    .projects {
        margin-top: -60px;
        padding-top: 140px;
    }

    .projects-grid {
        display: none;
    }

    .projects__item__inner h3 {
        margin-bottom: 5px;
        font-size: 16px;
        line-height: 20px
    }

    .projects__item__inner p {
        font-size: 14px;
        line-height: 18px;
    }

    .projects__item__inner {
        padding-left: 30px;
        bottom: 30px
    }
}

.contact {
    padding-top: 40px;
    z-index: 2;
    position: relative;
}

.contact-heading {
    color: #fff;
    font-size: 104px;
    position: absolute;
    font-family:'Outfit black';
    text-transform: uppercase;
    padding-left: 28px;
    top: 20px;
}

.contact-content {
    position: relative;
    padding-top: 100px;
    padding-left: 68px;
    font-size: 26px;
}

.contact-content-md {
    display: block;
}

.contact-content-xs {
    display: none;
}

@media (max-width: 480px) {
    .contact-content-md {
        display: none;
    }

    .contact-content-xs {
        display: block;
    }
}

@media (max-width: 380px) {
    .contact-content-xs {
        padding-right: 20px;
    }
}

.contact-subcontent {
    line-height: 20px;
    padding-left: 68px;
    font-size: 16px;
    padding-top: 40px;
}

.info {
    padding-top: 100px;
    margin-right: 68px;
    border-bottom: 1px solid #E1E1E1;
}

.info ul {
    margin-bottom: 21px;
}

.info li {
    padding-bottom: 9px;
}

.info a {
    padding-left: 15px;
    color: #000;
    font-family:'Outfit medium';
    font-size: 16px;
    text-decoration: none;
}

@media (min-width: 768px) and (max-width: 992px) {
    .info {
        margin-left: 68px;
        padding-top: 60px;
    }
}

.info a:hover {
    text-decoration: underline;
}

.info a:hover {
    text-decoration: underline;
}

.address {
    padding-top: 21px;
    margin-bottom: 64px;
}

@media (min-width: 768px) and (max-width: 992px) {
    .address {
        margin-left: 68px;
    }
}

.address ul li {
    display: flex;
}

.address ul li a {
    padding-left: 15px;
    font-family:'Outfit light';
    text-decoration: none;
    font-size: 16px;
    color: #000;
}

.address ul li a:hover {
    text-decoration: underline;
}

.footer-inner {
    background-image: url(../images/footer-image.png);
    margin-top: -205px;
    position: relative;
    z-index: 1;
    height: 570px;
    background-size: cover;
    background-position: center;
}

.footer-bottom {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    padding-top: 44px;
    padding-bottom: 20px;
}

@media (max-width: 767px) {
    .contact .contact {
        width: calc(100% - 30px);
    }

    .contact-heading {
        font-size: 60px;
        line-height: 60px;
        padding-left: 0;
    }

    .contact-content {
        position: relative;
        padding-top: 50px;
        padding-left: 20px;
        font-size: 20px;
        line-height: 26px;
    }

    .contact-subcontent {
        padding-left: 20px;
        font-size: 14px;
        line-height: 18px;
        padding-top: 30px;
    }

    .info {
        padding-top: 60px;
        padding-left: 0;
        margin-right: 0;
        margin-left: 20px;
    }

    .info ul {
        margin-bottom: 30px;
    }

    .info a {
        font-size: 14px;
        padding-left: 12px;
    }

    .address {
        padding-top: 30px;
        padding-left: 20px;
        padding-bottom: 60px;
        margin-bottom: 0;
    }

    .address ul li a {
        padding-left: 12px;
        font-size: 14px;
        line-height: 18px;
    }

    .footer-inner {
        margin-top: -80px;
        height: 412px;
    }

    .footer-list {
        display: inline-grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer-list li {
        margin-right: 15px;
        align-items: baseline;
        display: flex !important;
        justify-content: center;
    }

    .footer-list img {
        max-width: 100%;
    }

    .footer .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .footer-bottom {
        padding-top: 30px;
        padding-bottom: 40px;
        align-items: center;
    }

    .footer-bottom p {
        margin-bottom: 0;
        font-size: 14px;
    }

    .footer-bottom ul {
        margin-bottom: 0;
    }
}

@media (max-width: 575px) {
    .contact-heading {
        padding-left: 10px;
    }
    .contact-content {
        padding-left: 30px;
    }

    .contact-subcontent {
        padding-left: 30px;
    }

    .info {
        margin-left: 30px;
    }

    .address {
        padding-left: 30px;
    }
}

.vacany-menu-item {
    position: relative;
}

.vacany-menu-item:after {
    content: '1';
    position: absolute;
    height: 18px;
    width: 18px;
    display: flex;
    top: -12px;
    right: -16px;
    justify-content: center;
    align-items: center;
    background-color: #9BD017;
    font-size: 12px;
    border-radius: 100%;
    animation: pulse .8s ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(1, 1);
    }

    25% {
        transform: scale(1.2, 1.2);
    }

    50% {
        transform: scale(1, 1);
    }

    75% {
        transform: scale(1.2, 1.2);
    }

    100% {
        transform: scale(1, 1);
    }
}

.vacancies {
    margin: 40px 0 0 0;
}

.vacancies .block {
    margin-bottom: 20px;
}

.vacancies .block a {
    color: #9BD017;
}

.vacancies .block a:hover {
    text-decoration: none;
}

.vacancies-image img {
    max-width: 100%;
}

.vacancies .title {
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .row-vacancies {
        --bs-gutter-x: 3.5rem;
    }
}

@media (max-width: 991px) {
    .vacancies-image {
        margin-bottom: 30px;
    }

    .vacancies {
        margin-bottom: 0;
    }
}

.items-center {
    align-items: center;
}
@media (min-width: 1200px) {
    .vacancies .email {
        display: block;
    }
}

@media (min-width: 520px) and (max-width: 767px) {
    .vacancies .email {
        display: block;
    }
}
