/******************************************************************************
* Header
*******************************************************************************/

.sticked-menu.sticky-header {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}

.sticked-menu {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 23;
    visibility: hidden;
    -webkit-transform: translateY(-145px);
    transform: translateY(-145px);
    -webkit-transition: visibility 400ms ease, -webkit-transform 400ms ease;
    transition: visibility 400ms ease, -webkit-transform 400ms ease;
    transition: transform 400ms ease, visibility 400ms ease;
    transition: transform 400ms ease, visibility 400ms ease, -webkit-transform 400ms ease;
    background: rgba(28, 28, 28, 0.7);
    backdrop-filter: blur(2px);
}


/******************************************************************************
* Content
*******************************************************************************/


/** Banner slider **/

.banner-section {
    position: relative;
}

.home .banner-inner {
    position: relative;
    box-shadow: 0px 16px 16px -8px rgb(12, 12, 13, 0.1), 0px 4px 4px -4px rgb(12, 12, 13, 0.05);
}

.banner-left-pane {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 30px;
    z-index: 3;
}

.banner-left-pane ul {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.banner-left-pane ul li {
    display: flex;
    align-items: center;
    color: #1C1C1C;
    font-size: clamp(16px, 1rem + 0.3vw, 20px);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    overflow: hidden;
    position: relative;
    -webkit-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.banner-left-pane ul li span+span {
    display: inline-block;
    position: relative;
    max-width: 0;
    overflow: hidden;
    -webkit-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
}

.banner-left-pane ul li span+span a {
    padding: 10px 10px 10px 15px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    background: #FFF;
    display: inline-block;
    border-radius: 0 5px 5px 0;
    white-space: nowrap;
}

.banner-left-pane ul li:hover span+span {
    max-width: 25rem;
}

.banner-left-pane ul li .contact-ico {
    border-radius: 5px;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.20);
    box-shadow: 2px 4px 4px 0 rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(2px);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.banner-left-pane ul li:hover .contact-ico {
    border-radius: 5px;
    border-color: #35C963;
    background: #35C963;
}

.banner-slide .banner-slide__item {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 700px;
    height: 100vh;
    width: 100%;
    overflow: hidden;
}

.banner-slide .banner-slide-image:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}

@-webkit-keyframes zoomInfinite {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(1.4);
        transform: scale(1.4);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.banner-slide .active .banner-slide-image {
    animation: 50s zoomInfinite infinite;
}

.banner-slide__content {
    position: relative;
    z-index: 4;
    padding-left: 120px;
}

.banner-title {
    color: #FFF;
    text-shadow: 7px 7px 10px rgba(0, 0, 0, 0.25);
    font-family: "alfarn-2", sans-serif;
    font-size: clamp(30px, 1rem + 2.3vw, 70px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.2143em;
    text-transform: uppercase;
    position: relative;
    margin-bottom: 0;
}

.banner-slide .banner-title {
    opacity: 0;
}

.banner-slide .owl-item.active .banner-title {
    visibility: visible;
    animation: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 500ms;
}

.banner-subtitle {
    color: rgba(255, 255, 255, 0.75);
    font-family: "alfarn-2", sans-serif;
    font-size: clamp(24px, 1rem + 1.5vw, 44px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.45em;
    text-transform: uppercase;
    margin-bottom: clamp(30px, 1rem + 2vw, 53px);
}

.banner-slide .banner-subtitle {
    opacity: 0;
}

.banner-slide .owl-item.active .banner-subtitle {
    visibility: visible;
    animation: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 600ms;
}

.banner-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 30px;
    opacity: 0;
}

.banner-actions a:hover {}

.banner-slide .owl-item.active .banner-actions {
    visibility: visible;
    animation: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 700ms;
}

.banner-layer-title {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.banner-layer-title svg {
    opacity: 0;
}

.banner-slide .owl-item.active .banner-layer-title svg {
    visibility: visible;
    animation: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 900ms;
}

.banner-slide.owl-carousel .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc((100% - 1170px) / 2);
    flex-direction: column;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-right: 15px;
}

.banner-slide.owl-carousel .owl-stage {
    display: flex;
}

.banner-slide.owl-carousel .owl-item {
    display: flex;
    flex: 1 0 auto;
}


/** About us **/

.intern .about-us__content {
    padding: clamp(50px, 1rem + 7.8vh, 100px) 0;
}

.intern .about-us-section .shape-2 {
    margin-bottom: -120px;
}

.bloc-content .bloc-btn {
    margin-top: clamp(30px, 1rem + 2.3vw, 60px);
}


/** Company benefits **/

.company-benefits-section {
    padding: 40px 0;
}

.company-benefits-section .shape {
    margin-top: -350px;
    margin-bottom: 0;
}

.company-benefits-section .sect-title .bloc-title {
    font-family: 'alfarn-2', sans-serif;
    font-size: clamp(32px, 1rem + 3.9vw, 45px);
    line-height: 0.628571em;
    text-transform: uppercase;
    margin-bottom: clamp(30px, 1rem + 3.8vw, 68px);
}

.bloc-image.image-2 {
    overflow: hidden;
    border-radius: 20px;
    border: 10px solid #FDFDFD;
    box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
    width: 365px;
    height: 481px;
}

.company-benefits__content {
    position: relative;
    padding: 32px 0;
}

.company-benefits__content:before {
    background-color: #f7f7f7;
    content: '';
    position: absolute;
    height: 100%;
    width: calc(100% + 34px);
    top: 0;
    left: -34px;
}

.company-benefits__content:after {
    background-color: #f7f7f7;
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: -100%;
}

.company-benefits__items {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.benefit-ico {
    border-radius: 5px;
    background: #2E4B9A;
    width: 79px;
    height: 79px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.benefit-title {
    color: #1C1C1C;
    font-family: "alfarn-2", sans-serif;
    font-size: clamp(18px, 1rem + 0.4vw, 22px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.18182em;
    text-transform: uppercase;
}

.benefit-item p {
    margin-bottom: 0;
}


/** Our services immo **/

.service-item {
    position: relative;
    margin: 0 auto;
}

.services-tab-content {
    position: relative;
    max-width: 765px;
    margin-left: auto;
}

.services-tab-content>.active .service-content {
    -webkit-animation: slide-down 5s ease-out;
    animation: slide-down 5s ease-out;
}

.services-nav {
    display: flex;
    flex-direction: column;
    gap: 25px;
    max-width: 390px;
}

.services-nav .nav-link {
    border-radius: 5px;
    border: 1px solid #DDD;
    background: #FFF;
    color: #636363;
    font-family: "Archivo", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: inline-flex;
    align-items: center;
    justify-content: start;
    box-shadow: none;
    height: auto;
    text-transform: none;
    margin: 0;
    gap: 10px;
    padding: 15px 20px;
    width: 100%;
    text-align: left;
}

.services-nav .nav-link:hover,
.services-nav .show>.nav-link,
.services-nav .nav-link.active,
.services-nav .show>.nav-link {
    border-radius: 5px;
    background: #2E4B9A;
    box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
    color: #fff;
}

.service-content .service-image {
    width: 100%;
    position: relative;
    height: 340px;
    border-radius: 5px;
    overflow: hidden;
}

.service-content .service-image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.service-content .service-txt {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.service-content .service-title {
    color: #1C1C1C;
    font-family: "alfarn-2", sans-serif;
    font-size: clamp(20px, 1rem + 0.6vw, 26px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.076922em;
}

.service-content .service-more a {
    color: #636363;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625em;
    display: inline-flex;
    align-items: center;
    gap: 13px;
}

.service-content .service-more span {
    text-decoration: underline;
}

.testimonials-section {
    position: relative;
    z-index: 1;
}

.testimonials-section:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #f7f7f7;
    z-index: -1;
}


/** Intervention area **/

.intervention-area-section {
    padding: clamp(50px, 1rem + 7.8vh, 100px) 0 clamp(50px, 1rem + 6.1vh, 100px);
}

.intervention-area-section .bloc-content .img-box {
    padding-left: 48px;
}

.bloc-image.image-1 {
    position: relative;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
    box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, 0.25);
    width: 695px;
    float: left;
}

.intervention-map {
    position: absolute;
    margin-bottom: 140px;
    margin-left: 0;
    border-radius: 5px;
    border: 5px solid #FDFDFD;
    overflow: hidden;
    box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
}


/** Testimonials **/

.intern .testimonials-section {
    padding: clamp(50px, 1rem + 23.6vh, 270px) 0 clamp(50px, 1rem + 7.8vh, 100px);
}

.testimonials__inner {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    padding: 100px 115px;
    z-index: 3;
}

.intern .testimonials__inner {
    margin-top: 0;
}

.testimonial-quotation {
    position: absolute;
    top: 50px;
    right: 50px;
}

.testimonials-content {
    border-radius: 15px;
    background: #FFF;
    position: relative;
    max-width: 698px;
    padding: 50px;
    box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
}

.testimonials-section .bloc-text {
    margin-bottom: clamp(30px, 1rem + 2.3vw, 60px);
}

.testimonials-actions {
    display: flex;
    align-items: center;
    gap: 15px 40px;
    flex-wrap: wrap;
}

.testimonials-image {
    margin-right: 93px;
}


/** Partners **/

ul.partners-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 70px;
    flex-wrap: wrap;
}

ul.partners-logos li {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background-color: rgba(221, 221, 221, 0.20);
    width: 183px;
    height: 183px;
    border: 1px solid rgba(221, 221, 221, 0.20);
    -webkit-transition: all 400ms ease;
    transition: all 400ms ease;
}

ul.partners-logos li img {
    filter: grayscale(100%);
    -webkit-transition: all 400ms ease;
    transition: all 400ms ease;
}

ul.partners-logos li:hover {
    border-radius: 5px;
    border-color: #DDD;
    background-color: #FFF;
}

ul.partners-logos li:hover img {
    filter: none;
}


/** Latest news **/

.actus-item {
    position: relative;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    display: flex;
    flex-direction: column;
}

.actus-item .actus-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 220px;
}

.actus-item .actus-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

.actus-item:hover .actus-image img {
    transform: scale(1.1);
}

.actus-item .actus-item__txt {
    position: relative;
    padding: 50px 30px 30px;
    background: rgba(221, 221, 221, 0.20);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.actus-item .actus-date {
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625em;
    padding: 5px 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #2E4B9A;
    position: absolute;
    top: -18px;
    left: 30px;
}

.actus-item .actus-title {
    color: #1C1C1C;
    font-size: clamp(20px, 1rem + 0.5vw, 24px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.416666em;
    margin-bottom: 25px;
}

.actus-item .actus-title a {
    background-image: linear-gradient(to left, #1C1C1C, #1C1C1C);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 1px;
}

.actus-item .actus-title a:hover {
    background-size: 100% 1px;
}

.actus-item .actus-more {
    padding-top: 20px;
    border-top: 1px solid #D9D9D9;
    margin-top: auto;
}

.actus-item .actus-more a {
    color: #636363;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.625em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.actus-item .actus-more a span {
    background: #D9D9D9;
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 400ms ease;
    transition: all 400ms ease;
}

.actus-item .actus-more a:hover span {
    background: #35C963;
}

.actus-item .actus-more a:hover span svg path {
    stroke: #fff !important;
}

.latest-news-action {
    margin-top: 30px;
}


/** Contact infos **/

.contact-infos-item {
    border-radius: 10px;
    background: rgba(221, 221, 221, 0.20);
    padding: 24px 40px 30px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    height: 100%;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.contact-infos-item:hover {
    background: #35C963;
    box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
}

.contact-infos-item .contact-title {
    color: #1C1C1C;
    font-family: 'alfarn-2', sans-serif;
    font-size: clamp(20px, 1rem + 0.8vw, 30px);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.contact-infos-item .contact-text {
    color: #1C1C1C;
    font-size: clamp(16px, 1rem + 0.3vw, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.3em;
    display: flex;
    align-items: center;
    gap: 10px;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.contact-infos-item .contact-text a {
    transition: none;
}

.contact-infos-item:hover .contact-title,
.contact-infos-item:hover .contact-text {
    color: #fff;
}

.contact-infos-item:hover .contact-text svg path {
    stroke: #fff !important;
}


/** Image section **/

.image-section {
    position: relative;
    width: 100%;
    height: 727px;
}


/******************************************************************************
* Footer
*******************************************************************************/


/* Footer column */

.footer-column {
    position: relative;
    padding: 60px 0;
}

.footer-column__item {
    position: relative;
    padding-top: 30px;
}


/** Footer Services **/

.footer-services .footer-title {
    margin-bottom: 11px;
}

.footer-services ul {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.footer-services ul li {
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4375em;
}

.footer-services ul li a:hover {
    color: #35C963;
}


/** Footer contacts **/

.footer-contacts ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-contacts ul li {
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4375em;
}

.footer-contacts ul li a:hover {
    color: #35C963;
}


/** Footer newsletter **/

.footer-newsletter {
    position: relative;
    max-width: 390px;
    width: 100%;
}

.footer-newsletter .footer-title {
    margin-bottom: 17px;
}

.newsletter-form form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.newsletter-form .form-group {
    margin-bottom: 0;
    width: 100%;
}

.newsletter-form .form-group .form-control {
    font-family: "Archivo", sans-serif;
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 36px;
    height: 56px;
    padding: 10px 15px;
    letter-spacing: normal;
    border-radius: 5px;
    border: 1px solid #FFF;
    background-color: transparent;
    box-shadow: none;
    text-transform: none;
    width: 100%;
}

.newsletter-form .form-group button {
    height: 54px;
    width: 198px;
    background: #35C963;
    padding: 15px 30px;
}

.newsletter-form .form-group button:hover {
    background: #35C963;
    color: #fff;
}

.newsletter-form .form-group button:hover svg path {
    fill: #fff !important;
}

.newsletter-form__note {
    color: #FFF;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.715em;
    margin-top: 17px;
}

.newsletter-form input:focus {
    color: #FFF;
    border: 1px solid #FFF;
    background-color: transparent;
}

.newsletter-form input::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #FFF !important;
}

.newsletter-form input::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #FFF !important;
    opacity: 1;
    /* Firefox */
}

.newsletter-form input:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #FFF !important;
}


/** Footer bottom **/

.footer-bottom {
    position: relative;
    padding: 30px 0;
    border-top: 1px solid #fff;
}

.copyright {
    color: #FFF;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625em;
}

.copyright ul {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.copyright ul li {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.copyright ul li:not(:last-child):after {
    content: '';
    display: inline-block;
    background: #35C963;
    width: 1px;
    height: 15px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1px;
    margin-top: 1px;
}

.copyright ul li:not(:last-child) {
    margin-right: 6px;
    padding-right: 6px;
}

.copyright a:hover {
    color: #35C963;
}

.img-arobiz {
    margin-top: -16px;
}


/******************************************************************************
* Intern Page
*******************************************************************************/


/** Banner **/

.intern .banner-inner {
    height: 715px;
    width: 100%;
    align-items: center;
    display: flex;
    position: relative;
    padding-top: 123px;
}

.intern .banner-inner:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}

.intern .banner-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.intern .banner-image {
    position: absolute;
    max-width: 961px;
    width: 50%;
    top: 0;
    right: 0;
    height: 100%;
}

.intern .banner-image .bg-img {
    clip-path: polygon(18% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.intern .banner-image:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #35C963;
    top: 0;
    left: -15px;
    clip-path: polygon(18% 0%, 100% 0%, 100% 100%, 0% 100%);
}


/******************************************************************************
* Contact Page
*******************************************************************************/


/** Contact us **/