/*
Theme Name: djamo
Template: hello-elementor
Version: 1.0.0
*/



/****************************HEADER**********************************/

.she-header #menu-sticky .elementor-item {
    color: #353e54;
    fill: #353e54;
	-webkit-transition: color .3s; /* For Safari 3.0 to 6.0 */
    transition: color .3s; /* For modern browsers */
}

.she-header {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

#menu-sticky .elementor-item {
	-webkit-transition: color .3s; /* For Safari 3.0 to 6.0 */
    transition: color .3s; /* For modern browsers */
}

#menu-sticky .sub-arrow
{
    color: #f04e26;
    fill: #f04e26;

}

.elementor-520{
    height: 90px;
}

.menu-item .e-font-icon-svg.e-fas-angle-down{
    width: 30px!important;
    height: 30px!important;
}



.menu-item-has-children a.has-submenu {
    cursor: default;
}


@media only screen and (min-width: 1200px) and (max-width:1399px) {
header .elementor-widget-theme-site-logo {
    width: 15%;
}
}

@media only screen and (min-width: 1025px) and (max-width:1199px) {
.menu-item .e-font-icon-svg.e-fas-angle-down{
    width: 20px!important;
    height: 20px!important;
}
}

@media only screen and (max-width:1024px) {
header .elementor-nav-menu__align-end {
        width: calc(100% - 150px);
    }
	
header .elementor-widget-button{
        width: 150px;
    }
header .elementor-nav-menu > li{
    border-bottom: solid 1px #cdcbcb!important;
}
header .sub-menu li{
    border-top: solid 1px #f1f1f1!important;
}

header .sub-menu li a{
        padding-left: 50px!important;
}

header .sub-menu{
    background-color:#e3e3e3!important;
}
}

@media only screen and (max-width:767px) {

header nav{

    position: absolute!important;
    top: 25px!important;
    height: 100vh!important;
}
}

@media only screen and (min-width:767px) {
.reponsive-only{
	display:none!important;
}
}
/****************************SLIDER**********************************/
.degrade-slide .swiper-slide-bg:before{
    content: '';
    background: #152630;
    background: linear-gradient(360deg, rgba(21, 38, 48, 0) 33%, rgba(21, 38, 48, 1) 100%);
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 1200;
}


@media only screen and (max-width:767px) {
.degrade-slide .swiper-slide-contents{
    margin-top: 20vh;
}
}
/*********************************BOUTON****************************/

.button{
    height: 60px;
	}
	
.button a:before{
    content: '';
    width: 100%;
    background-color: #155383;
    border-radius: 36px;
    position: absolute;
    height: 100%;
    z-index: 2;
    top: 5px;
    left: 5px;
	transition-duration: .3s;
}

.button .elementor-button-icon,
.button .elementor-button-text{
    z-index: 20;
}


.button:hover a:before{
    background-color: #F04E26;
	transition-duration: .3s;
}

.button .elementor-button{
    position: absolute;
}

.button .elementor-button-icon .e-font-icon-svg {
    height: 35px;
}
.button .elementor-button-icon svg {
    height: auto;
    width: 35px;
}

.button .elementor-button-content-wrapper {
    align-items: center;
}


/*******************************************BLOCS SOLUTIONS CLIENTS QUI ESTES VOUS?*****************************************/

.blocs-solutions-clients .elementor-flip-box__front .elementor-flip-box__layer__title{
    padding: 5px 10px;
    background-color: #ffffffd4;
	margin-bottom:0px;
}


.blocs-solutions-clients .elementor-flip-box .elementor-flip-box__front .elementor-flip-box__layer__title{
 opacity: 1;
transition: opacity .9s .2s;
}

.blocs-solutions-clients .elementor-flip-box:hover .elementor-flip-box__front .elementor-flip-box__layer__title{
 opacity: 0;
transition: opacity .9s .2s;
}

/*****************************************************REFERENCES*************************************************************/
.carousel-reference .elementor-widget-loop-carousel, 
.carousel-reference .swiper.elementor-loop-container.elementor-grid{
height:100%;
}

.taxonomy-filter  .parent-term,
li.child-term.depth-1 > label{
display:none!important;
}

li.child-term.depth-1:nth-child(1)::before{
    content: 'Solutions clients';
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    word-spacing: 2px;
    color: #FE7C00;
    margin-bottom: 12px;
    display: block;
}
li.child-term.depth-1:nth-child(2)::before{
content:'Expertises';
  font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    word-spacing: 2px;
    color: #FE7C00;
    margin-bottom: 12px;
    display: block;
}

.child-terms.depth-1{
    margin-bottom: 20px;
}


.taxonomy-filter .child-terms ul {
    padding-left: 0px;
}
 .taxonomy-filter .label-text {
    line-height: 17px !important;
}

 .form-tax .taxonomy-filter label {
    align-items: flex-start!important;
}

.taxonomy-filter li {
    margin-bottom: 17px!important;
}

.cta-projet li .links{
    color: #15374e;
    background-color: white;
    padding: 0px;
    border-radius: 0px;
    border: none;
}

.cta-projet p .links{
    color: #15374e;
    background-color: white;
    padding: 0px;
    border-radius: 0px;
    border: none;
	font-size: 14px;
}

.cta-projet p {
	font-size: 14px;
}

 .elementor-widget-loop-carousel .cta-projet{
	display:none;
}
/**********************************************************LOGOS CLIENTS*********************************************************/
.logo-client .gallery-item .gallery-icon{
        background-color: #f8f9fa;
    height: 130px;
	display: flex;
    justify-content: center;
    align-items: center;
	padding:20px!important;
}

.logo-client .gallery-item{
    margin-bottom: 20px!important;
}

.logo-client img{
     max-height: 84px !important;
    width: auto;
	    mix-blend-mode: darken;
}


/*************************************ACTUALITES********************************************/

.carousel-actualites .elementor-grid-3,
.carousel-actualites .elementor-grid-3 .elementor-loop-container.elementor-grid,
.carousel-actualites .elementor-grid-3 .elementor-loop-container.elementor-grid .category-actualites,
.carousel-actualites .elementor-grid-3 .elementor-loop-container.elementor-grid .category-actualites .elementor-element.e-con-boxed.e-con.e-parent{
height:100%;
}


/***********************************MASK FOOTER*****************************************/

.img-footer-cta {
    -webkit-mask-image: url(./images/mask1.png);
  mask-image: url(./images/mask1.png);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-position: right;
}

.bg-footer-cta{
    -webkit-mask-image: url(./images/mask2.png);
  mask-image: url(./images/mask2.png);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-position: left;
}


@media only screen and (max-width:1400px) {

.container-cta-footer h3 {
    font-size: 22px!important;
}}

@media only screen and (min-width:1201px) and (max-width:1400px) {
.container-cta-footer{
    padding-left: calc(6% + 585px)!important;
}

.container-cta-footer h3 {
    font-size: 22px!important;
}}

@media only screen and (min-width:1025px) and (max-width:1200px) {

    .container-cta-footer {
        padding-left: calc(6% + 457px) !important;
    }
}
@media only screen and (max-width:1024px) {
.left-img-block{
        display:none !important;
    }
	.container-cta-footer {
        padding-left: 30px!important;
    }
}

/**************************************CTA FOOTER******************************/

.bg-primary {
    background-color: #fe7c00 !important;
}
.overflow-visible {
    overflow: visible !important;
}
.py-8 {
    padding-bottom: 4.5rem;
}
.py-8 {
    padding-top: 4.5rem;
}

.position-relative {
    position: relative !important;
}

.left-img-block {
    position: absolute;
    top: -25px;
    bottom: -1px;
    left: 0;
    max-width: 640px;
    width: 100%;
}

@media only screen and (max-width: 1200px) {
    .left-img-block {
        max-width: 500px;
    }
	.left-img-block:before {
    right: -16px;
}
}

.left-img {
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
}

.left-img img{
    height: 340px!important;
    object-fit: cover;
    object-position: center center;
    height: 100%;
}

.left-img-block:before {
    position: absolute;
    top: 0;
    right: 17px;
    content: "";
    border-left: 9px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 25px solid #232323;
    z-index: 2;
    transform: rotate(-1deg);
}

.container-cta-footer{
    width: 100%;
	padding-left: calc(6% + 640px);
}

.bg-primary .elementor-widget-html{
    align-content: center;
}


@media (min-width: 1400px) {
    .justify-content-xxl-end
 {
        justify-content: flex-end !important;
    }
}

.align-items-center {
    align-items: center !important;
}

.bg-primary .elementor-widget-html{
    min-height: 340px;
}

.mb-0.h1.text-white{
    color: white;
    font-family: "Work Sans", Sans-serif;
    font-size: 42px;
    font-weight: 600;
    letter-spacing: -1px;
	margin-bottom: 0px;
}

.container-cta-footer h3{
    color: white;
    font-family: "Work Sans", Sans-serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -1px;
}

.container-cta-footer .elementor-button{
    background-color: #ffffff00!important;
	    background-color: #00000000;
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 1px;
    fill: #FFFFFF;
    color: #FFFFFF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #353E54;
    border-radius: 29px 29px 29px 29px;
    padding: 14px 20px 6px 20px;
}

.container-cta-footer .button:hover a:before {
    background-color: white;
}
.container-cta-footer .button:hover .elementor-button-text {
color:#155383;
transition: .3s;
}

.container-cta-footer .button:hover path{
    fill: #155383;
	transition: fill .3s;
	
}

.container-cta-footer .button .elementor-button-text {
transition: .3s;
}

.container-cta-footer .button path{
	transition: fill .3s;
	
}


/*******************************************PAGE INTERIEUR BLOC TITRE SLIDER***************************/

.degrade-slide-interieur .swiper-slide-bg:before{
    content: '';
    background: #152630;
        background: linear-gradient(180deg, rgba(21, 38, 48, 0) 0%, rgba(21, 38, 48, 1) 100%);
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 1200;
}


	
.button.white a:before{
    background-color: white; 	
}

.button.white a:hover::before{
    background-color: #fe7c00;  

}

.button.white a .elementor-button-text{
transition: .3s;
}

.button.white a:hover .elementor-button-text{
	color:white;
transition: .3s;
}


.button.white a:hover .elementor-button-icon path{
    fill: white;
	transition: fill .3s;
	
}

.button.white a .elementor-button-icon path{
	transition: fill .3s;
	
}

/***********************************ETAPE*********************************/
.ue-step-icon.elementor-animation-shrink{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 0;
    flex-shrink: 0;
    position: relative;
    line-height: 1em;
    transition: 0.3s;
}


.step1{
    background-color: #fe7c00 !important;
}
.step2{
    background-color: #c65e1e !important;
}
.step3{
    background-color: #6c5f51 !important;
}
.step4{
    background-color: #155383 !important;
}

.ue-step-icon {
    width: 190px;
    height: 80px;
    background-color: #919191;
    color: #ffffff;
    clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 25% 50%, 0% 0%);
}

@media only screen and (max-width:1024px) {
.ue-step-icon {
    clip-path: polygon(100% 0%, 100% 70%, 50% 100%, 50% 100%, 0% 70%, 0% 0%);
}
.step .elementor-widget-divider--view-line{
    --divider-color: #ffffff00!important;
}
}


@media only screen and (max-width:767px) {

.step .elementor-widget-divider--view-line{
    display:none;
}
}


/*********************************ACCOMPAGNEMENT BLOCS*************************/

.accompagnement .elementor-image-box-content{
padding:15px 30px 10px 25px;
}

.accompagnement .elementor-image-box-content ul{
        list-style:none;
    padding-left: 15px;
}

.accompagnement .elementor-image-box-content ul li {
	position:relative;
	line-height: 20px;
    margin-bottom: 9px;}
  
  
.accompagnement .elementor-image-box-content ul li::before {
	    content: "";
    background-color: #fe7c00;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 20px;
	position:absolute;
    top: 8px;
	    left: -15px;
}

/***********************************R2FERENCES PAGES COPRO*******************************/
.references-copro h1 {
    font-weight: bold;
    text-transform: uppercase;
    color: #353E54;
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 16px;
}

.slider-reference-copro .e-con-inner{
 margin:0px!important;
}

.carousel-reference-copro .swiper {
    width: 100%!important;
}

.carousel-reference-copro .elementor-swiper-button.elementor-swiper-button-prev{
    left:-50px!important;
}
.carousel-reference-copro .elementor-swiper-button.elementor-swiper-button-next{
    right:-50px!important;
}

/****************************CAROUSSEL TEAM*********************************/
.gs-team-circle-one .single-member-div .gs_member_info .gs-member-name{
font-family: "Plus Jakarta Sans", Sans-serif!important;
    color: #fe7c00!important;}
	
.gs-member-desig,
.gs-member-desc{
font-family: "Plus Jakarta Sans", Sans-serif!important;
    color: #353E54!important;}
	
.gs-roow .owl-nav{
display:none;}

.gs_team_area.gs-team-circle-one .single-member-div {
    margin-bottom: 0px!important;
}


.gs-team-circle-one .single-member-div .single-member .gs_team_image__wrapper {
    margin: auto!important;
    width: 160px !important;
}


/************************PAGE ACTU**********************************/
.bloc-actu-page-actu:hover {
  opacity: 0.5;
  transition: opacity 0.5s ease-in-out;
}

/*******************PAGE ACTU SINGLE********************/
.txt-actu h3{
    font-family: "Plus Jakarta Sans", Sans-serif!important;
    font-size: 20px!important;
    font-weight: 600!important;
    text-transform: uppercase!important;
    letter-spacing: 0.5px!important;
    color: #FE7C00!important;
    line-height: 27px!important;
}

.txt-actu,
.txt-actu p{
	color: #353E54;
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 16px;
    font-weight: 400;
	    text-align: left;
    margin: 10px 0px;
	}
.txt-actu strong{	
	    margin: 20px 0px 10px 0px;
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    color: #353E54;
    font-family: "Plus Jakarta Sans", Sans-serif;
    font-size: 16px;
	}
.txt-actu li{
    margin-bottom: 5px;
}

.txt-actu a{
    color: white;
    background-color: #15374e;
    padding: 7px 15px;
    border-radius: 20px;
    text-transform: initial;
    font-size: 16px;
    font-weight: 500;
    border: solid 1px #15374e;
	transition-duration: .6s;
	display:inline-block;
}

.txt-actu a:hover{
    color: #15374e;
    background-color: white;
	transition-duration: .6s;
}

.img-actu-cover{
    background-size: cover!important;
}


.publication-actu .elementor-post__title a{
font-family: "Work Sans", Sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #FFFFFF!important;
}

.publication-actu .elementor-post-date{
font-family: "Work Sans", Sans-serif;
    font-size: 14px;
    font-weight: 400;
	color:white;
}

.publication-actu .elementor-post{
    height: 280px;
    position: relative;
}

.publication-actu .elementor-post__text {
    position: absolute;
    left: 13px;
    bottom: 0px;
}



.publication-actu .elementor-post__text {
    width: 94%!important;
	z-index: 30!important;
}

.publication-actu .elementor-post__thumbnail:before{
position: absolute;
    content: '';
    background-color: #00000000;
    --background-overlay: '';
    background-image: linear-gradient(180deg, #00000000 63%, #000000 100%);
    transition: background var(--overlay-transition, .3s), border-radius var(--border-transition, .3s), opacity var(--overlay-transition, .3s);
    width: 100%;
    height: 280px;
	z-index: 20;}



/************************************REFERENCE*******************************/

button.e-filter-item[data-filter="references"] { 
 display:none;
}

/*.elementor-flip-box__front {
    background-color: #155383!important;
}*/

.categories-horizontales .cat-item {
       background-color: #ff7200;
    padding: 3px 9px;
    color: white;
    margin-right: 20px;
	    margin-bottom: 10px;
    display: inline-block;
    white-space: nowrap;
    overflow-wrap: break-word;
}


.categories-verticales .cat-item {
    line-height: 16px!important;
	margin-bottom: 10px;
}

.elementor-flip-box__layer__title{
    line-height: 24px!important;
}


.cat-item.id-39,
.cat-item.id-40{
    display:none;
}



/* Conteneur posts */
.e-loop-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

/* Post visible */
.e-loop-item.show {
  opacity: 1;
  transform: scale(1) translateY(0);
  visibility: visible;
  pointer-events: auto;
  transition: all 0.4s ease;
}

/* Post masqué → on garde dans le flux pour éviter le "vide" */
.e-loop-item.hide {
  opacity: 0;
  transform: scale(0.9) translateY(20px);
  visibility: hidden;
  pointer-events: none;
  transition: all 0.4s ease;
}

/* Responsive : moins de colonnes sur tablette */
@media(max-width: 1024px) {
  .e-loop-container {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

/* Responsive : une seule colonne sur mobile */
@media(max-width: 768px) {
  .e-loop-container {
    grid-template-columns: 1fr;
  }
}

/* Effet hover sur post visible */
.e-loop-item.show:hover {
  transform: scale(1.02) translateY(0);
  transition: transform 0.3s ease;
}


.link {
    color: inherit!important;
    background-color: initial!important;
    padding: initial!important;
    border-radius: initial!important;
    text-transform: initial!important;
    font-size: initial!important;
    font-weight: initial!important;
    border: initial!important;
    transition-duration: initial!important;
    display: initial!important;
}


.elementor-widget-loop-carousel .elementor-widget-theme-post-content strong{
    display: block;
    margin: 10px 0px;
}

.category-actualites .links-txt  {
    color: #15374e;
    background: white;
    padding: 0px;
    border: none;
}
.category-actualites strong {
    margin: 0px 0px 10px 0px;
}


@media (min-width: 767px) and (max-width: 1024px) {
.elementor-counter-number-wrapper{
    display: flex;
    flex-direction: column;
    align-items: flex-start!important;
}
}

#bloc-rea,
.menu-rea{
    display: none!important;
}


#milionsans .elementor-counter-number-suffix:after{
    content :'/ an';
	    font-size: 28px;
    margin-bottom: 5px;
    letter-spacing: 0px;
}