body {
    overflow-x: hidden !important;
}

/* SVG lines animation */
.cls-1 {
        fill: none;
        stroke: #ff0000;
        stroke-miterlimit: 10;
        height: 100%;
      }

/* ******************* */

.elementor-column.elementor-col-50.elementor-top-column.elementor-element.elementor-element-4beeab9 .elementor-widget-image {
    text-align: left;
}

.header-2 {
    transform: translatey(-300px);
    -moz-transition: all .3s ease !important;
    -webkit-transition: all .3s ease !important;
    transition: all .3s ease !important;
    display: none
}


.elementor-sticky--effects.header-2 {
    height: auto !important;
    transform: translatey(0px);
}

.elementor-sticky--effects.header-1 {
	display: none !important;
}

#nav-container,
#nav-container2,
#nav-container-mobile {
    margin-left: auto;
    position: relative;
    z-index: 999;
}

#nav-toggle,
#nav-toggle2 {
    display: block;
    width: 30px;
    height: 32px;
    cursor: pointer;
    transform: rotate(0deg);
    position: relative;
    left: -10px;
    top: -3px;
}

#nav-toggle span,
#nav-toggle2 span,
#nav-toggle-mobile span {
    background-color: black;
    width: 100%;
    height: 4px;
    border-radius: 1px;
    display: block;
    position: absolute;
    left: 36px;
    content: "";
    transition: 0.5s ease-in-out;
    transform: rotate(180deg);
}

#nav-toggle span:nth-child(1),
#nav-toggle2 span:nth-child(1),
#nav-toggle-mobile span:nth-child(1) {
    width: 25px;
    top: 4px;
    transform-origin: left center;
}

#nav-toggle span:nth-child(2),
#nav-toggle2 span:nth-child(2),
#nav-toggle-mobile span:nth-child(2) {
    top: 14px;
    transform-origin: left center;
}

#nav-toggle span:nth-child(3),
#nav-toggle2 span:nth-child(3),
#nav-toggle-mobile span:nth-child(3) {
    top: 24px;
    transform-origin: left center;
    width: 25px;
}

#nav-toggle.open span:nth-child(1),
#nav-toggle2.open2 span:nth-child(1),
#nav-toggle-mobile.open-mobile span:nth-child(1) {
    transform: rotate(45deg);
    top: 5px;
    left: 15px;
    width: 84%;
}

#nav-toggle.open span:nth-child(2),
#nav-toggle2.open2 span:nth-child(2),
#nav-toggle-mobile.open-mobile span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

#nav-toggle.open span:nth-child(3),
#nav-toggle2.open2 span:nth-child(3),
#nav-toggle2.open2 span:nth-child(3),
#nav-toggle-mobile.open-mobile span:nth-child(3) {
    transform: rotate(-45deg);
    top: 24px;
    left: 13px;
    width: 100%;
}

#nav-overlay,
#nav-overlay2 {
    position: absolute;
    top: 16px;
    left: 16px;
/*     z-index: 100; */
    background: rgba(0, 0, 0, 0.8);
    /*border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;*/

    /*transform: scale3d(0, 0, 0);*/
}

#nav-overlay,
#nav-overlay2 {
    background: url(/wp-content/uploads/2023/09/bg-menu.png);
    background-repeat: no-repeat;
    background-size: cover;
    /*transition: 0.8s linear;
transform: translateX(1000px); */
    transform: opacity 0.4s ease;
    animation: fadeIn 0.6s;
    display: none;
		opacity: 1;
}

#nav-overlay-mobile {
    background-color: white;
    background-image: url(/wp-content/uploads/2023/12/Logo-1.png);
    background-repeat: no-repeat;
    background-size: cover !important;
    background-position: center !important;
    /*transition: 0.8s linear;
transform: translateX(1000px); */
    transform: opacity 0.2s ease;
    animation: fadeIn 0.2s;
    display: none;
}

#nav-overlay.open,
#nav-overlay2.open2,
#nav-overlay-mobile.open-mobile {
    transform: opacity 0.4s ease;
    display: block;
}

#nav-fullscreen,
#nav-fullscreen2 {
    width: 20%;
    position: fixed;
    visibility: hidden;
    opacity: 0;
		
}

#nav-fullscreen-mobile {
    width: 20%;
    position: absolute;
    top: 0;
    /*   transition: ease-in-out 0.25s; */
    /*   transition-delay: 2s; */
    visibility: hidden;
    opacity: 0;
    /* 	animation: fadeIn 2s; */
}

#nav-fullscreen ul,
#nav-fullscreen2 ul,
#nav-fullscreen-mobile ul {
    list-style: none;
}

#nav-fullscreen a,
#nav-fullscreen2 a,
#nav-fullscreen-mobile a {
    color: black;
    text-decoration: none;
    font-size: 60px !important;
    text-transform: uppercase;
    font-family: "Staatliches", Sans-serif;
    position: relative;

}

selector {
    opacity: 1 !important;
}

#nav-fullscreen li,
#nav-fullscreen2 li,
#nav-fullscreen-mobile li {
    line-height: 90px;
}

#nav-fullscreen.open,
#nav-fullscreen2.open2 {
    visibility: visible;
    opacity: 1;
    /*     transition: ease-in-out 1s; */
    /*     transition-delay: 1s; */
    height: 408px !important;
    top: 104px !important;
	right: 350px;
    transition-delay: 0.8s;
    animation: fadeIn 1s;

}

#nav-toggle span,
#nav-toggle2 span,
#nav-toggle-mobile span {
    background-color: white;
}

div#nav-container,
div#nav-container2,
div#nav-container-mobile {
    padding: 20px;
    background: -webkit-linear-gradient(to right, #E10B17, #E10B17);
    background: linear-gradient(to right, #E10B17, #E10B17);
    border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
    position: relative;
    width: 67px;
    height: 67px;
    display: block;
    will-change: border-radius, transform, opacity;
    /*animation: heroShape 6s linear infinite;*/
}

div#nav-container-mobile {
    padding: 20px;
    background: -webkit-linear-gradient(to right, #E10B17, #E10B17);
    background: linear-gradient(to right, #E10B17, #E10B17);
    border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
    position: relative;
    width: 60px;
    height: 60px;
    display: block;
    will-change: border-radius, transform, opacity;
    /*animation: heroShape 6s linear infinite;*/
}


div#nav-container {
    top: 0;
    left: 0px;
}

div#nav-container2 {
    left: 0;
}

div#nav-container:hover,
div#nav-container2:hover,
div#nav-container-mobile:hover {
    background: none;
}

div#nav-container:hover::before,
div#nav-container2:hover::before,
div#nav-container-mobile:hover::before {
    position: absolute;
    content: "";
    left: 0px;
    top: 3px;
    width: 70px;
    height: 63px;
    background: -webkit-linear-gradient(to right, #E10B17, #E10B17);
    background: url(/wp-content/uploads/2023/09/Vector.svg);
    will-change: border-radius, transform, opacity;
    animation: heroShape 6s linear infinite;
    display: block;
    z-index: -1;
    /*transform:rotate(300deg)*/
}

#nav-container::after,
#nav-container2::after,
#nav-container-mobile::after {
    position: absolute;
    content: "";
    left: 0px;
    top: 0px;
    /* width: 70px; */
    /* height: 70px; */
    background: -webkit-linear-gradient(to right, #E10B17, #E10B17);
    background: linear-gradient(to right, #E10B17, #E10B17);
    border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
    /* background: url(/wp-content/uploads/2023/09/Vector.svg); */
    will-change: border-radius, transform, opacity;
    z-index: -1;
    transform: scale(1);
    width: 67px;
    height: 67px;
    /* Ajoute une transition fluide */
    /* transform: scale(0.5); */
    transition: transform 0.3s ease;
}

#nav-container-mobile::after {
    position: absolute;
    content: "";
    left: 0px;
    top: 0px;
    /* width: 70px; */
    /* height: 70px; */
    background: -webkit-linear-gradient(to right, #E10B17, #E10B17);
    background: linear-gradient(to right, #E10B17, #E10B17);
    border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
    /* background: url(/wp-content/uploads/2023/09/Vector.svg); */
    will-change: border-radius, transform, opacity;
    z-index: -1;
    transform: scale(1);
    width: 67px;
    height: 67px;
    /* Ajoute une transition fluide */
    /* transform: scale(0.5); */
    transition: transform 0.3s ease;
}

div#nav-container:hover::after,
div#nav-container2:hover::after {
    /* transition-delay: 0.5s; */
    transform: scale(0.5);
    transition: transform 1.5s ease-in-out;
}

@keyframes heroShape {
    0%, 100% {
        border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
        transform: translate3d(0, 0, 0) rotateZ(0.01deg);
    }

    35% {
        border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%;
        transform: translate3d(0, 0, 0) rotateZ(0.06deg);
    }

    50% {
        transform: translate3d(0, 0, 0) rotateZ(0.01deg);
    }

    65% {
        border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
        transform: translate3d(0, 0, 0) rotateZ(0.01deg);
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.elementor-34 .elementor-element.elementor-element-4c1b278 .dce-filters .filters-item a:hover {
    position: relative;
}

span.filters-item {
    margin-bottom: 28px;
}

span.filters-item {
    position: relative;
}

span.filters-item a {
    text-decoration: none !important;
}

span.filters-item.filter-active a {
    font-weight: 700;
}

.filters-item:hover:after, span.filters-item.filter-active:after {
/* 		display: block; */
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #E10B17;
	left: calc(50% - 6px);
/*     right: 0%; */
/* 		left: 50%; */
    bottom: -17px;
	animation : fadeIn 2s
/*     animation: fadeIn 2s; */
}



a.open:before {
    position: absolute;
    background: #E10B17;
    content: "";
    border-radius: 100%;
    position: absolute;
    left: -10px;
    top: -17px;
    width: 67px;
    height: 67px;
    display: block;
    will-change: border-radius, transform, opacity;
    transform: scale(1);
    transition: transform 2s ease-in-out;
}

a.open {
    position: relative;
    left: 125px;
}

a.open2:hover::before,
a.open:hover::before {
    background: url(/wp-content/uploads/2023/09/Vector.svg);
    top: -14px;
    background-repeat: no-repeat;
    animation: heroShape 6s linear infinite;
    transform: scale(0.5);
    transition: transform 1.5s linear;
}

a.open2:hover::before {
    transform: scale(0.5);
    transition: transform 1.5s linear;
}

a.open2:before {
    position: absolute;
    content: '';
    background: #E10B17;
    content: "";
    border-radius: 50%;
    position: absolute;
    top: -18px;
    width: 70px;
    height: 70px;
    left: -10px;
    display: block;
    will-change: border-radius, transform, opacity;
    transform: scale(1);
    transition: transform 2s linear;
}

#nav-fullscreen a:hover::before,
#nav-fullscreen2 a:hover::before {
    position: absolute;
    content: "";
    width: 15px;
    height: 15px;
    background: #E10B17;
    bottom: 18px;
    left: -21px;
    border-radius: 50%;
    animation: fadeIn 2s;
}

.dce-image-area.dce-item-area {
    position: relative;
}

.menu-opened .overlay-menu,
.menu-opened2 .overlay-menu2 {
    position: fixed;
    top: -2em;
    left: 0;
    width: 100vw;
    height: 180vh;
    background-color: rgba(0, 0, 0, 0.5);
    /* Couleur d'arrière-plan semi-transparente */
    z-index: 99;
	cursor: pointer;
}

body {
    overflow-x: hidden;
}

.comments-area a,
.page-content a {
    text-decoration: none;
}

button.view-more-button span:first-child {
    color: white;
}

.infiniteScroll button {
    cursor: pointer;
    font-size: 20px;
    padding: 10px 20px;
    border-radius: 5px;
    background: #ccc0 !important;
    border: none;
    -webkit-transition: background-color .5s ease-in-out, color .5s ease-in-out;
    -moz-transition: background-color .5s ease-in-out, color .5s ease-in-out;
    -ms-transition: background-color .5s ease-in-out, color .5s ease-in-out;
    -o-transition: background-color .5s ease-in-out, color .5s ease-in-out;
    transition: background-color .5s ease-in-out, color .5s ease-in-out;
}

button.view-more-button:hover span {
    color: white;
}

button.view-more-button {
    position: relative;
}

.elementor-34 .elementor-element.elementor-element-4c1b278 div.infiniteScroll {
    justify-content: flex-end;
}

.dce-post-button .elementor-button-link.elementor-button.dce-button.elementor-size-sm {
    animation: fadeIn 2s;
}

#nav-overlay.open {
    transform: scale3d(1, 1, 1);
}

section {
    max-width: 1920px;
    margin: auto;
}

span.filters-item.filter-active:after {
    bottom: -16px;
    transform: scale(1.1);
}

.dce-post-block:not(.dce-hover-effects) a.dce-post-image:hover img {
    filter: none !important;
}

svg#line-svg {
    position: fixed;
    top: 143px;
    left: -57%;
}

.mobile {
    display: none;
}

.active span.line3 {
    color: #E10B17;
}

.line-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.line-svg path {
    stroke: #E10B17;
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 100%;
    stroke-dashoffset: 100%;
}

.section {
    position: relative;
}

#nav-overlay-mobile {
    overflow-x: hidden;
}

#nav-toggle-mobile {
    z-index: 9 !important;
}

.footer-menu,
.footer-menu2 {
    display: none !important;
    position: absolute;
    transition-delay: 0.8s;
    animation: fadeIn 3s;
    z-index: 1;
}

.footer-menu.open-mobile {
    display: block !important;

}

.footer-menu .elementor-heading-title.elementor-size-default,
.footer-menu2 .elementor-heading-title.elementor-size-default {
    position: absolute;
    bottom: 26px;
    font-size: 23px;
}

.footer-menu .elementor-grid-item,
.footer-menu2 .elementor-grid-item {
    margin-right: 25px;
}

.brain-icon.elementor-widget.elementor-widget-image {
    position: absolute;
    right: 0;
    width: -7%;
    width: 44.91px;
    height: 35.689px;
    flex-shrink: 0;
    top: 0;
}

.slogan-logo-mobile {
    position: absolute;
    left: 53%;
    top: 79px;
    font-family: Staatliches;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1.12px;
    width: 234px !important;
}

span.red {
    color: var(--CCE-Red, #E10B17);
}

span.gris {
    color: var(--CCE-Gris, #B0B0B0);
}

.staatliches {
    font-family: Staatliches
}

.elementor-34 .elementor-element.elementor-element-dc17fe7 {
	
	margin-top:50px;
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item { 
	position: relative;
	font-family: raleway;
	font-size: 21px;
	font-weight: 600;
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item.current-menu-item { 
	font-weight: 800;
	font-size: 18px;
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item::before { 
	position: absolute;
	display: block;
	right: -12px;
	top: 45%;
	width: 3px;
	height: 3px;
	border-radius: 1.5px;
	background-color: #b0b0b0;
	content: '';
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item:last-child::before { 
	display: none
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item:hover::after, .elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-nav-menu > .menu-item.current-menu-item::after {
    position: absolute;
		font-weight: 700; 
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #E10B17;
		left: calc(50% - 6px);
    bottom: 4px;
		animation : fadeIn 2s;
}

.elementor-19001 .elementor-element.elementor-element-d8021b6 .wpr-mobile-toggle-wrap {
	text-align: center !important;
}

.elementor-19001 .elementor-element.elementor-element-d63edbe .ha-navigation-burger-menu .ha-nav-humberger-wrapper .ha-menu-toggler {
	text-align: right;
	width: 129px;
	height: 30px;
	padding-right: 27px;
	padding-top: 10px;
	line-height: 1;
	position: relative;
}

.elementor-19001 .elementor-element.elementor-element-d63edbe .ha-navigation-burger-menu .ha-nav-humberger-wrapper .ha-menu-toggler::before {
	display: block;
	line-height: 1;
	content: "Filtres";
	font-family: Raleway, sans-serif;
	font-size: 18px;
	font-weight: 600;
	position: absolute;
	top: 6px;
	left: 27px;
}

#menu-filters_grid .current-menu-item {
	font-weight: 950;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: black;
	position: relative;
}

.elementor-19001 .elementor-element.elementor-element-d63edbe .ha-nav-menu ul.menu > li.active > a > span.menu-item-title::before {
	position: absolute;
	left: 30px;
	bottom: 7px;
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 2.5px;
	background-color: #E10B17;
}

.elementor-19001 .elementor-element.elementor-element-d63edbe .ha-navigation-burger-menu .ha-nav-humberger-wrapper {
    padding-bottom: 17px;
}

/* Post specific CSS */
body.single-post {
  display: grid;
  font-family: staatliches;
  color: #111;
  transition: background-color 0.3s ease;
}

body.single-post a {
  text-decoration: none;
  color: inherit;
}

/* Page Agence */
.acc-5 .ha-image-accordion-wrapper {
	width: 886px;
}

.acc-4 .ha-image-accordion-wrapper {
	width: 706px;
}

.elementor-element-6af4d81d { /* trombinoscope */
	margin-right: 0 !important;
	padding-bottom: 430px !important;
	background-position: top right !important;
}

.elementor-element-6af4d81d > .elementor-container {
	margin: 0 !important;
}

@media screen and (max-width: 1367px) {
	.acc-5 .ha-image-accordion-wrapper {
		width: 800px;
	}

	.acc-4 .ha-image-accordion-wrapper {
		width: 638px;
	}

	.elementor-element-6af4d81d > .elementor-container {
		margin: auto !important;
		max-width: 800px !important;
	}
	
	.elementor-element-68fbbbee h2 {
		font-size: 52px !important;
		line-height: 52px !important;
	}
	
	.elementor-element-73e9160a h3 {
		font-size: 37px !important;
		line-height: 37px !important;
	}
}
