/*--------------------------------------------------------------------- 
File Name: style.css 
---------------------------------------------------------------------*/

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/open-sans-v44-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url('../fonts/open-sans-v44-latin-700.woff2') format('woff2');
}

/*--------------------------------------------------------------------- 
basic 
---------------------------------------------------------------------*/

html {
  scroll-behavior: smooth;
}

body {
     color: #666666;
     font-size: 14px;
     font-family: 'Poppins', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

a:hover {
     color: #85F9A5 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     position: relative;
     padding: 0;
     line-height: normal;
     color: #111111;
     margin: 0
}

h2:first-letter {border-top: 5px solid #85F9A5;
}

h2.nogimmick:first-letter {border-top: none;
}

h1 {
     font-size: 24px
}

h2 {
     font-size: 22px
}

h3 {
     font-size: 18px
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     padding: 0;
     font-weight: 400;
     font-size: 17px;
     line-height: 28px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

@media (min-width: 768px) {
    .navbar-nav {
      
    }
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}

.titlepage {
     padding-bottom: 30px;
}

.titlepage h2 {
     font-size: 72px;
     font-weight: bold;
     line-height: 90px;
     color: #323232;
}

@media (max-width: 575px) {
    .titlepage h2 {
        font-size: 42px !important;
        line-height: 52px !important;
    }
}

@media (min-width: 575px) and (max-width: 991px) {
    .titlepage h2 {
        font-size: 54px !important;
        line-height: 60px !important;
    }
}

.read_more {
     display: inline-block;
     background: #6dcff6;
     color: #fff;
     max-width: 215px;
     height: 61px;
     line-height: 61px;
     width: 100%;
     font-size: 17px;
     text-align: center;
     font-weight: 500;
     transition: ease-in all 0.5s;
}

.contact_btn_right {
     display: inline-block;
     background: #85F9A5;
     color: #252525;
     max-width: 215px;
     height: 61px;
     line-height: 61px;
     width: 100%;
     font-size: 17px;
     text-align: center;
     font-weight: 500;
     transition: ease-in all 0.5s;
     margin: 20px 0 0 0;
     float: right;
     background-image: url(../icon/arrow-right-black.svg);
     background-repeat: no-repeat;
     background-position: 90% center;
}

a.contact_btn_right:hover {
     background-repeat: no-repeat;
     background-position: 100% center;
     color: #252525 !important;
     background-color : white;
}

.contact_btn {
     display: inline-block;
     background: #85F9A5;
     color: #252525;
     max-width: 215px;
     height: 61px;
     line-height: 61px;
     width: 100%;
     font-size: 17px;
     text-align: center;
     font-weight: 500;
     transition: ease-in all 0.5s;
     margin: 20px 0 0 0;
     float: left;
     background-image: url(../icon/arrow-right-black.svg);
     background-repeat: no-repeat;
     background-position: 90% center;
}

a.contact_btn:hover {
     background-repeat: no-repeat;
     background-position: 100% center;
     color: #252525 !important;
     background-color : white;
}

.read_more:hover {
     background: #252525;
     color: #fff;
     transition: ease-in all 0.5s;
}

.img_responsive {
     max-width: 100%;
}

.text_align_center {
     text-align: center;
}

.text_align_left {
     text-align: left;
}

.text_align_right {
     text-align: right;
}

.d_flex {
    display: flex;
     align-items: center;
     justify-content: space-between;
     width: 100%;
}

.container {
     max-width: 1170px;
}


/*---------------------------- 
loader  
----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #fff;
     width: 100%;
     height: 100%;
}

.loader {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}


/*--------------------------------------------------------------------- 
header 
---------------------------------------------------------------------*/

.header {
     width: 100%;
     height: 106px;
     padding: 37px 30px;
     position: absolute;
     z-index: 999;
}


/*--------------------------------------------------------------------- 
menu section
---------------------------------------------------------------------*/

@media (max-width: 575px) {
    .navigation.navbar-dark .navbar-toggler {
        float: left !important;
        margin: 0 0 0 15px !important
   }
}

@media (max-width: 575px) {
    .navigation.navbar-dark .navbar-toggler-icon {
        width: 30px !important;
    }
}

@media (max-width: 575px) {
    .navigation.navbar-dark .navbar-toggler-icon {
        width: 30px !important;
    }
}

@media (max-width: 575px) {
    .nav-item-contact {
          width: 200px;
          position: absolute !important;
          right: 0;
          z-index: 999;
    }
     .nav-item-contact a{
          float: right;
          margin: 0 10px 0 0;
    }
}

.nav-item-contact {
     text-align: left;
}

.navigation.navbar {
     float: left;
     padding: 0;
}

.navigation.navbar-dark .navbar-nav .nav-link {
     padding: 0px 30px;
     color: #fff;
     font-size: 17px;
     line-height: 20px;
     font-weight: 400;
}

.navigation.navbar-dark .navbar-nav a.nav-link:hover {
     color: #85F9A5;
}

.nav-link-contact{
     color: #fff;
     font-size: 17px;
     background-image: url(../icon/arrow-right.svg);
     padding: 0 30px 0 0;
     background-repeat: no-repeat;
     background-position: right center;
}

a.nav-link-contact:hover{
     background-position: right center;
     padding: 0 40px 0 0;
}

.navigation.navbar-dark .navbar-nav a.nav-link:hover {
     color: #85F9A5;
}

.navigation.navbar-dark .navbar-nav .nav-link:focus,
.navigation.navbar-dark .navbar-nav .nav-link:hover {
     color: #fff;
}

.navigation.navbar-dark .navbar-nav .active>.nav-link,
.navigation.navbar-dark .navbar-nav .nav-link.active,
.navigation.navbar-dark .navbar-nav .nav-link.show,
.navigation.navbar-dark .navbar-nav .show>.nav-link {
     color: #fff;
}

.di_no {
     display: none;
}

ul.email {
     padding-top: 1px;
     display: flex;
     align-items: center;
     justify-content: flex-end;
     flex-wrap: wrap;
}

ul.email li {
     padding: 0px 35px;
}

ul.email li:nth-child(2) {
     padding-right: 0;
}

ul.email li a {
     font-size: 17px;
     color: #fff;
}

ul.email li i {
     color: #fff;
     font-size: 19px;
}


/** banner_main **/

.logo a{
     color: #ffffff;
    font-size: 22px;
    z-index: 99;
    float: right;
    font-weight: bold;
    letter-spacing: 1px;
}

.logo span{
     color: #85F9A5;
}

.logo img{
     width: 125px;
     margin: -5px 0 0 0;
}


.logo_section {
     z-index: 99;
 }


@media (max-width: 575px) {
     .logo_section {
          margin: 0 0 0 60px;
     }
}

#top_section {
     /*background-image: url('../images/studionkz.webp');*/
     background-size: cover;
     background-repeat: no-repeat;
     background-position: 65%;
     position: relative;
     height: 100vh !important;
     
     /* Configuration Flexbox pour le centrage */
     display: flex;
     align-items: center; 
     justify-content: center;
     
     /* Optionnel : supprimez le padding-top pour un centrage absolu, 
        ou gardez une petite valeur si vous trouvez que le header écrase visuellement le texte */
     padding-top: 0; 
}

#myCarousel {
     top: 0; /* Remplace le -15% qui cassait le design */
     width: 100%; 
}

@media (max-width: 574px) {
    #myCarousel {
        /* On remonte encore un peu plus sur tablette si nécessaire */
    }
}

@media (min-width: 575px) and (max-width: 1024px) {
    #myCarousel {
        margin-top: -130px; /* On remonte encore un peu plus sur tablette si nécessaire */
        margin-left: 60px;
    }
}

@media (min-width: 1025px) {
    #myCarousel {
        margin-top: 50px; /* On remonte encore un peu plus sur tablette si nécessaire */
    }
}

#myCarousel .carousel-indicators {
     bottom: -50px;
     margin-left: 11px;
     right: inherit;
}

#myCarousel .carousel-indicators .active {
     background: #252525;
}

#myCarousel .carousel-indicators li {
     cursor: pointer;
     background: #fff;
     border-radius: 40px;
     width: 22px;
     height: 22px;
}

#myCarousel a.carousel-control-next,
#myCarousel a.carousel-control-prev {
     display: none;
}

.slide {
     margin-top: 60px;
}

.relative {
     position: inherit;
     bottom: 0;
     padding: 0;
}

.bluid {
     font-family: 'Open Sans', sans-serif;
     text-align: left;
     color: #ffffff;
}

.banner_main span {
     text-transform: uppercase;
     font-size: 14px;
     letter-spacing: 1px;
}


.banner_main span::before {
    display: inline-block;
    content: "";
    border-top: 2px solid #85F9A5;
    width: 20px;
    margin: 0 10px 3px 0;
}

.banner_main .bluid h1 {
     color: #fff;
     font-size: 100px;
     line-height: 110px;
     font-weight: bold;
     padding-bottom: 7px;
}

.banner_main .bluid p {
     color: #fff;
     line-height: 25px;
     font-weight: 500;
     padding-bottom: 50px;
     font-size: 17px;
     position: relative;
     max-width: 370px;
}

.banner_main .bluid p::after {
     content: "";
    position: absolute;
    /* top: 20px; */
    /* display: inline-block; */
    background-image: url(../icon/arrow-right.svg);
    background-repeat: no-repeat;
    /* padding: 0 30px 0 0; */
    width: 20px;
    height: 17px;
    background-position: left bottom;
    max-width: 370px;
    margin: 40px 0 0 -18px;
    transform: rotate(90deg);
}

.banner_main .bluid .read_more {
     margin-right: 8px;
     background: #fff;
     color: #252525;
}

.banner_main .bluid .read_more:hover {
     color: #fff;
     background: #252525;
}


/** we_do **/

@media (max-width: 574px) {
    .we_do {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: no-repeat;
        /* background-attachment: fixed; */
        background-position: -250px 130px;
        margin: 45px 0;
    }
}

@media (min-width: 575px) {
    .we_do {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: no-repeat;
        /* background-attachment: fixed; */
        background-position: 30% 130px;
        margin: 45px 0;
    }
}

.we_do .titlepage::before {
     border: #2e2f34 solid 5px;
}

.we1_do {
     position: inherit;
     padding: 0;
}

.bo_ho:hover {
     border: #292a2c solid 1px;
     transition: ease-in all 0.5s;
}

.we_box {
     border: #e6e7e8 solid 1px;
     transition: ease-in all 0.5s;
     padding: 40px;
     margin-bottom: 25px;
     background-color: #e3ebe8;
}

.we_box .nbr {
     color: #666666;
     font-size: 17px;
     margin: 0 0 10px;
}

.we_box h3 {
     color: #252525;
     font-size: 28px;
     line-height: 36px;
}

.we_box h3 img {
     float: right;
}

.we_box p {
     color: #252525;
     padding-top: 25px;
     display: block;
}

.we_box .read_more {
     max-width: 131px;
     height: 41px;
     line-height: 41px;
     margin: 0 auto;
     display: block;
     margin-right: 0;
     background: #464646;
}

#we1 .carousel-indicators {
     display: none;
}

#we1 a.carousel-control-next,
#we1 a.carousel-control-prev {
     background: #ffffff;
     width: 67px;
     height: 59px;
     top: 109%;
     opacity: 1;
     font-size: 33px;
     color: #252525;
     box-shadow: 3px 0 36px rgba(30, 30, 30, 0.2);
}

#we1 a.carousel-control-prev {
     left: 43%;
}

#we1 a.carousel-control-next {
     right: 43%;
}

#we1 a.carousel-control-next:focus,
#we1 a.carousel-control-next:hover,
#we1 a.carousel-control-prev:focus,
#we1 a.carousel-control-prev:hover {
     background: #464646;
     color: #fff;
     opacity: 1;
}


/** end we_do **/


/** about **/

@media (max-width: 767px) {
    .about {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: 120px;
        margin: 45px 0;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .about {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: 180px;
        margin: 45px 0;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    .about {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: 320px;
        margin: 45px 0;
    }
}

@media (min-width: 1440px) and (max-width: 1920px) {
    .about {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: 600px;
        margin: 45px 0;
    }
}

.about .titlepage {
     padding-bottom: 0;
     margin-bottom: 0px;
}

.about .titlepage h2 {
     color: #fff;
}

.about .titlepage p {
     line-height: normal;
     color: #252525;
     font-size: 24px;
     text-align: left;
}


/** end about **/

.container-fluid {
     padding: 0 !important;
}

.subtitle {
     margin: 0 0 10px 0;
     font-size: 17px;
}

.we_box .subtitle {
     margin: 0 0 10px 0;
     font-size: 17px;
     color: #666666;
}

/** portfolio **/

.portfolio {
     padding-top: 65px;
     padding-bottom: 90px;
     background: #e3ebe8;
     margin:75px 0 0 0;
}

.portfolio .grid{
     margin: 60px 0 0 0;
}

.portfolio .grid .impair{
     padding: 0 15px 0 0;
}

.portfolio .grid .pair{
     padding: 0 0 0 15px;
}

.portfolio .titlepage::before {
     right: inherit;
     border: #2e2f34 solid 5px;
     left: 15px;
}

.portfolio_main {
     margin-bottom: 30px;
     transition: ease-in all 0.5s;
}

.portfolio_main figure {
     margin: 0;
     position: relative;
     overflow: hidden;
}

.ho_nf:hover {
     box-shadow: 3px 0 20px rgba(30, 30, 30, 0.31);
     transition: ease-in all 0.5s;
}

.ho_nf:hover .portfolio_text {
     height: 240px;
     transition: ease-in all 0.5s;
     padding: 40px 40px;
}

.ho_nf:hover .li_icon {
     margin-top: -65px;
     transition: ease-in all 0.7s;
}

.portfolio_text {
     cursor: pointer;
     position: absolute;
     transition: ease-in all 0.5s;
     bottom: 0;
     height: 0;
     background: #fff;
     overflow: initial;
}

.li_icon {
     display: flex;
     transition: ease-in all 0.7s;
     z-index: 99999999999999999999999;
     position: absolute;
}

.li_icon a {
     background: #fff;
     width: 60px;
     height: 60px;
     border-radius: 50px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #3a404e;
     box-shadow: 3px 0 9px rgba(30, 30, 30, 0.09);
}

.li_icon a:hover {
     background: #252525;
     color: #fff;
}

.portfolio_text h3 {
     color: #252525;
     font-size: 24px;
     line-height: 30px;
     font-weight: bold;
     padding-bottom: 15px;
}

.portfolio_text p {
     color: #252525;
     font-size: 17px;
     line-height: 30px;
     padding-bottom: 15px;
}

.portfolio .read_more {
     margin: 0 auto;
     display: block;
     background: #252525;
     margin-top: 30px;
}

.portfolio .read_more:hover {
     background: #464646c7;
}


/* end portfolio */


/* chose */

.chose {
     padding: 90px 0 60px 0;
     background: #323232;
}

.chose .titlepage::before {
     right: inherit;
     left: 15px;
}

.chose .titlepage h2 {
     color: #fff;
}

.chose.chose .titlepage p {
     color: #fff;
     padding-top: 15px;
}

.chose_box {
     margin-bottom: 30px;
}

.chose_box h3 {
     padding-top: 20px;
     color: #fff;
     font-weight: bold;
     font-size: 30px;
     line-height: 35px;
}

.chose_box strong {
     display: block;
     color: #fff;
     font-weight: bold;
     font-size: 48px;
     line-height: 60px;
     padding-bottom: 30px;
}

.chose_box .read_more {
     background: #fff;
     color: #323232;
     max-width: 176px;
     line-height: 47px;
     height: 47px;
}

.chose_box .read_more:hover {
     background: #252525;
     color: #fff;
}


/** end chose **/


/** contact section **/

@media (max-width: 767px) {
    .contact {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: 120px;
        margin: 90px 0;
    }
}

@media (min-width: 768px) {
    .contact {
        padding: 45px 0 45px 0;
        background: url(../images/pattern.webp);
        background-repeat: repeat-y;
        background-attachment: fixed;
        background-position: center;
        margin: 90px 0;
    }
}

.contact .titlepage::before {
     right: inherit;
     border: #2e2f34 solid 5px;
     left: 15px;
}

.main_form .contactus {
     border: #d2d2d3 solid 1px;
     padding: 0 15px;
     margin-bottom: 25px;
     width: 100%;
     height: 71px;
     background: #fff;
     color: #252525;
     font-size: 17px;
     font-weight: normal;
}

.main_form .textarea {
     border: #d2d2d3 solid 1px;
     margin-bottom: 25px;
     width: 100%;
     background: #fff;
     color: #252525;
     font-size: 17px;
     font-weight: normal;
     padding: 15px 15px 0 15px;
     border-radius: 0;
     height: 150px;
}

.main_form .send_btn {
    display: inline-block;
    background: #85F9A5;
    color: #252525;
    max-width: 215px;
    height: 61px;
    line-height: 61px;
    width: 100%;
    font-size: 17px;
    text-align: center;
    font-weight: 500;
    transition: ease-in all 0.5s;
    margin: 20px 0 0 0;
    float: left;
    background-image: url(../icon/arrow-right-black.svg);
    background-repeat: no-repeat;
    background-position: 90% center;
}

.main_form .send_btn:hover {
    background-repeat: no-repeat;
     background-position: 100% center;
     color: #252525 !important;
     background-color : white;
}

#request *::placeholder {
     color: #888888;
     opacity: 1;
}


/** end contact section **/


/** testimonial **/

.posi_in {
     position: inherit;
     padding: 0;
}

.clientsl_text {
     margin-top: 50px;
     box-shadow: 0px 0 11px rgba(30, 30, 30, 0.07);
     padding: 40px;
     margin-bottom: 26px;
     background-color: #fff;
}

.clientsl_text i img {
     margin-top: -89px;
     display: block;
     margin-right: 20px;
     float: left;
}

.clientsl_text h3 {
     margin-top: -11px;
     color: #252525;
     font-size: 23px;
     font-weight: bold;
     line-height: 20px;
     text-align: left;
}

.clientsl_text h3 img {
     float: right;
}

.clientsl_text p {
     color: #757575;
     padding-top: 62px;
     display: block;
}

#clientsl .carousel-indicators {
     display: none;
}

#clientsl a.carousel-control-next,
#clientsl a.carousel-control-prev {
     background: #ffffff;
     width: 67px;
     height: 59px;
     top: 105%;
     opacity: 1;
     font-size: 33px;
     color: #252525;
     box-shadow: 3px 0 36px rgba(30, 30, 30, 0.2);
}

#clientsl a.carousel-control-prev {
     left: 37%;
}

#clientsl a.carousel-control-next {
     right: 37%;
}

#clientsl a.carousel-control-next:focus,
#clientsl a.carousel-control-next:hover,
#clientsl a.carousel-control-prev:focus,
#clientsl a.carousel-control-prev:hover {
     background: #85F9A5;
     color: #252525;
     opacity: 1;
}


/** end testimonial **/


/** footer **/

.footer {
     background: #252525;
     padding-top: 90px
}

.footer h2 {
     color: #ffffff;
    font-size: 23px;
    font-weight: bold;
    line-height: 21px;
    margin-bottom: 15px;
    margin-top: 26px;
    text-transform: uppercase;
}

.footer p {
     color: #fff;
     margin: 20px 0 0 0;
     padding: 0 60px 0 0;

}

.footer .logo_footer img{
     color: #fff;
     color: #ffffff;
     font-size: 32px;
     z-index: 99;
     font-weight: bold;
     letter-spacing: 1px;
     width: 125px;
}

.footer .logo_footer span{
     color: #85F9A5;
}

.newslatter_form {
     display: flex;
     align-items: center;
     margin-bottom: 70px;
}

.ente {
     color: #252525;
     border: inherit;
     padding: 0 30px;
     height: 66px;
     width: 100%;
     font-size: 17px;
}

.subs_btn {
     max-width: 289px;
     display: inline-block;
     background: #151515;
     height: 66px;
     width: 100%;
     color: #fff;
     font-size: 17px;
     text-transform: uppercase;
     font-weight: bold;
     transition: ease-in all 0.5s;
}

.subs_btn:hover {
     background: #fff;
     color: #151515;
     transition: ease-in all 0.5s;
}

.Informa h3 {
     color: #ffffff;
     font-size: 23px;
     font-weight: bold;
     line-height: 21px;
     margin-bottom: 15px;
     margin-top: 26px;
     text-transform: uppercase;
}

.Informa li {
     font-size: 17px;
     line-height: 37px;
     color: #ffffff;
}

.Informa li a:hover {
     color: #bdbdbe;
}

.helpful ul li a {
     color: #fff;
     font-size: 17px;
     line-height: 30px;
}

.helpful ul li a:hover {
     color: #bdbdbe;
}

ul.social_icon {
     float: right;
}

ul.social_icon li {
     display: inline-block;
     padding-right: 15px;
}

ul.social_icon li:last-child {
     padding-right: 0;
}

ul.social_icon li a {
     color: #fff;
     display: inline-block;
     text-align: center;
     line-height: 33px;
     font-size: 28px;
     font-weight: bold;
}

ul.social_icon li a:hover {
     color: #bdbdbe;
     transform: rotate(360deg);
     transition: ease-in all 0.7s;
}

.conta ul li a {
     color: #ffffff;
}

.conta ul li a i {
     padding-right: 5px;
}

.copyright {
     background: #151515;
     margin-top: 80px;
     padding: 20px 0px;
}

.copyright p{
     margin: 0;
     padding: 0;
}

.copyright p {
     color: #bdbdbe;
     font-weight: 400;
}

.copyright a {
     color: #bdbdbe;
}

.copyright a:hover {
     color: #fff;
}


/** end footer **/


/*- - ener page css--*/

.inner_page .header {
     box-shadow: 0 -3px 20px 0px #717171;
     position: inherit;
   
}

.inner_page .about {
     margin: 90px 0;
}

/*--------------------------------------------------------------------- 
Navigation Plein Écran (Full-Screen Overlay)
---------------------------------------------------------------------*/

@media (max-width: 575px) {
    /* État de base du menu (caché à gauche) */
    .navbar-collapse {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100vh !important;
        background-color: #222222 !important;
        z-index: 99999 !important;
        margin: 0 !important;
        margin-top: -37px !important;
        display: flex !important; /* On le garde en flex pour l'alignement */
        flex-direction: column;
        justify-content: center;
        align-items: center;

        /* L'animation : on le décale de 100% vers la gauche */
        transform: translateX(-100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    /* État quand le menu est ouvert (retour à sa position) */
    .navbar-collapse.show {
        transform: translateX(0);
    }

    /* Ajustement des liens pour qu'ils ne soient pas écrasés */
    .navbar-collapse .navbar-nav {
        width: 100%;
        text-align: center;
        padding: 0 0 0 15px;
    }

     .navbar-collapse .navbar-nav li {
        margin: 0 0 10px 0;
    }

    .navbar-collapse .nav-link {
        font-size: 32px !important;
        padding: 15px 0 !important;
        color: #fff !important;
    }

    /* Le bouton hamburger doit rester visible et au-dessus */
    .navbar-toggler {
        position: relative;
        z-index: 100000 !important;
        border: none;
    }
}

/* État initial : invisible et décalé vers le bas */
.reveal {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease-out;
}

/* État final : visible et à sa place d'origine */
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Transition fluide pour le carrousel sans jQuery */
.carousel-item {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.carousel-item.active {
    display: block;
    opacity: 1;
}

/* Correction pour le menu mobile sans JS lourd */
.navbar-collapse {
    display: none;
}
.navbar-collapse.show {
    display: block;
}

/* Préparation du conteneur parent */
.lcp-container {
    position: relative; /* Nécessaire pour le positionnement absolu de l'image */
    overflow: hidden; /* Empêche l'image de dépasser */
}

/* Stylisation de l'image pour qu'elle agisse comme un background */
.lcp-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover; /* C'est la propriété magique : remplace background-size: cover */
    object-position: center; /* Remplace background-position: center */
    transform: translate(-50%, -50%); /* Centre parfaitement l'image */
    z-index: 1; /* Place l'image en fond */
}

/* Force le contenu à passer devant l'image */
.lcp-content {
    position: relative;
    z-index: 2; /* Plus élevé que l'image */
}

/*--------------------------------------------------------------------- 
File Name: responsive.css 
---------------------------------------------------------------------*/

@media (min-width: 1200px) and (max-width: 1320px) {
    ul.email li {
        padding: 0px 31px;
    }
     #top_section {
        height: 700px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .navigation.navbar-dark .navbar-nav .nav-link {
        padding: 0px 21px;
    }
    ul.email li {
        padding: 0px 19px;
    }
    #top_section {
        padding-top: 164px;
        height: 700px;
    }
    #we1 a.carousel-control-prev {
        left: 42%;
    }
    #clientsl a.carousel-control-prev {
        left: 33%;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .navigation.navbar-dark .navbar-nav .nav-link {
        padding: 0px 7px;
    }
    ul.email li {
        padding: 0px 8px;
    }
    #top_section {
        padding-top: 150px;
        height: 600px;
    }
    .banner_main .bluid h1 {
        font-size: 62px;
        line-height: 71px;
    }
    .titlepage h2 {
        font-size: 37px;
        line-height: 41px;
    }
    #we1 a.carousel-control-prev {
        left: 38%;
    }
    .we_box {
        padding: 15px;
    }
    .clientsl_text {
        padding: 25px;
    }
    #clientsl a.carousel-control-next,
    #clientsl a.carousel-control-prev {
        top: 98%;
    }
    #clientsl a.carousel-control-prev {
        left: 34%;
    }
    #clientsl a.carousel-control-next {
        right: 26%;
    }
    .Informa li {
        font-size: 14px;
        line-height: 30px;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    #top_section {
        padding-top: 150px;
        height: 700px;
    }
    .d_none {
        display: none;
    }
    .logo {
        text-align: left;
        display: block;
    }
    .banner_main .bluid h1 {
        font-size: 84px;
        line-height: 109px;
    }
    #we1 a.carousel-control-next,
    #we1 a.carousel-control-prev {
        top: 103%;
    }
    #we1 a.carousel-control-prev {
        left: 37%;
    }
    #we1 a.carousel-control-next {
        right: 37%;
    }
    .main_form .send_btn {
        margin-bottom: 40px;
    }
    .newslatter_form {
        margin-top: 50px;
    }
    .navigation.navbar {
        float: right;
        display: inherit !important;
        padding: 0;
        width: 100%;
    }
    .navigation .navbar-collapse {
        background: #2b2b2b;
        padding: 20px;
        margin-top: 66px;
        position: absolute;
        width: 100%;
        z-index: 999;
    }
    .navigation.navbar-dark .navbar-nav .nav-link {
        padding: 10px 0;
        color: #fff;
        text-align: left;
    }
    .navigation.navbar-dark .navbar-toggler {
        border: inherit;
        float: right;
        padding: 0;
        width: 100%;
        outline: inherit;
        margin-top: 0px;
    }
    .navigation.navbar-dark .navbar-toggler-icon {
        background: url(../images/menu_btn.png);
        background-repeat: no-repeat;
        width: 48px;
        float: right;
    }
}

@media (max-width: 575px) {
    .header {
        padding: 37px 0px;
    }
    .d_none {
        display: none !important;
    }
    .logo {
        display: block;
        float: left;
    }
    .bluid {
        margin-top: 23px
    }
    .banner_main .bluid h1 {
        font-size: 50px;
        line-height: 59px;
    }
    #top_section {
        height: 678px;
    }
    .banner_main .bluid .read_more {
        margin-right: 0px;
        margin-bottom: 10px;
    }
    #we1 a.carousel-control-next {
        right: 26%;
    }
    #we1 a.carousel-control-prev {
        left: 25%;
    }
    #we1 a.carousel-control-next,
    #we1 a.carousel-control-prev {
        top: 101%;
    }
    .titlepage h2 {
        font-size: 24px;
        line-height: 54px;
    }
    #ho_nf:hover .portfolio_text {
        height: 135px;
        padding: 29px 14px;
    }
    .portfolio_text p {
        font-size: 12px;
        line-height: 18px;
    }
    .main_form .send_btn {
        margin-bottom: 40px;
    }
    #clientsl a.carousel-control-next,
    #clientsl a.carousel-control-prev {
        top: 100%;
    }
    #clientsl a.carousel-control-next {
        right: 25%;
    }
    #clientsl a.carousel-control-prev {
        left: 25%;
    }
    .clientsl_text i img {
        float: inherit;
    }
    .clientsl_text h3 {
        margin-top: 11px;
    }
    .newslatter_form {
        display: inherit;
        margin-top: 40px;
    }
    .subs_btn {
        margin-left: 0;
        max-width: 223px;
        margin-top: 30px;
    }
    .copyright p {
        text-align: center;
    }
    ul.social_icon {
        float: inherit;
        margin-top: 20px;
    }
    .navigation.navbar {
        float: right;
        display: inherit !important;
        padding: 0;
        width: 100%;
        margin-top: -27px;
    }
    .navigation .navbar-collapse {
        background: #2b2b2b;
        padding: 20px;
        margin-top: 65px;
        position: absolute;
        width: 100%;
        z-index: 999;
    }
    .navigation.navbar-dark .navbar-nav .nav-link {
        padding: 10px 0;
        color: #fff;
        text-align: left;
    }
    .navigation.navbar-dark .navbar-toggler {
        float: right;
        border: inherit;
        margin-top: 1px;
        padding: 0;
        outline: inherit;
    }
    .navigation.navbar-dark .navbar-toggler-icon {
        background: url(../images/menu_btn.png);
        background-repeat: no-repeat;
        width: 48px;
        margin: -4px 0 0 0;
    }
}

/*--------------------------------------------------------------------- 
custom carrousel chevrons (StudioNKZ)
---------------------------------------------------------------------*/

/* On remplace le style par défaut des flèches Bootstrap */
#clientsl a.carousel-control-next,
#clientsl a.carousel-control-prev {
     background: #ffffff;
     width: 60px; /* Légèrement réduit pour l'esthétique */
     height: 60px;
     top: 105%;
     opacity: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 4px 15px rgba(0,0,0,0.1);
     border-radius: 50%; /* On passe sur un bouton rond plus moderne */
}

/* Le dessin du chevron en pur CSS */
.chevron {
    display: inline-block;
    border-style: solid;
    border-width: 3px 3px 0 0;
    content: '';
    height: 12px;
    width: 12px;
    color: #252525;
}

.chevron.left {
    transform: rotate(-135deg);
    margin-left: 4px; /* Centrage optique */
}

.chevron.right {
    transform: rotate(45deg);
    margin-right: 4px; /* Centrage optique */
}

/* État Hover : On utilise votre vert signature */
#clientsl a.carousel-control-next:hover,
#clientsl a.carousel-control-prev:hover {
     background: #85F9A5;
     color: #252525;
}