/**** CUSTOM CSS BY NIIX ****/

/**** GLOBAL CSS ****/

html {
    overflow-x: hidden !important;
}
body h1, h2, h3, h4, h5, h6, h7 {
    padding: 0 !important;
    margin: 0 !important;
}
body a {
    text-decoration: none !important;
}
body {
    overflow-x: hidden !important;
}
body p {
	margin: 0 !important;
}
body .inline-block {
    display: block !important;
}

/**** BTN CSS ****/
/*.elementor-widget-button a.elementor-button {
    position: relative !important;
    overflow: hidden !important;
    z-index: 0 !important;
}
.elementor-widget-button a.elementor-button:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #EC2127 !important;
    transition: all .4s !important;
    z-index: -1;
}
.elementor-widget-button a.elementor-button:hover:before {
	top: 0 !important;
}*/

/**** ICONE ANIMATION ****/
.icon-anim {
	 transition: all .4s ease-in-out;
}
.icon-anim img {
	 transition: all .4s ease-in-out;
}
.icon-anim:hover img {
	 animation: bounceIn 1s linear;
}

@keyframes bounceIn {
   0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
}
20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
}
40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
}
60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
}
80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
}
100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
}
}

/**** IMG ANIMATION ****/
.img-hover {
    position: relative;
	overflow: hidden !important;
    transition: all .4s !important;
}
.img-hover img {
    transition: all .4s !important;
}
.img-hover:hover img {
    transform: scale(1.1);
}
.resume-img-hover .elementor-image-box-img {
    position: relative;
	overflow: hidden !important;
    border-radius: 15px 15px 0 0 !important;
    transition: all .4s !important;
}
.resume-img-hover:hover .elementor-image-box-img {
	border-radius: 15px !important;
}
.resume-img-hover .elementor-image-box-img img {
	transition: all .4s !important;
}
.resume-img-hover:hover .elementor-image-box-img img {
	transform: scale(1.1);
}
.img-hover-anim {
    position: relative;
    overflow: hidden; /* évite que l'effet dépasse */
}
.img-hover-anim:after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(255, 255, 255, 0.25) 100%
    );
    transform: skewX(-25deg);
    transition: left 1.5s ease;
    z-index: 1;
    pointer-events: none;
}
.img-hover-anim:hover:after {
    left: 125%;
}
.resume-img-hover-anim {
	 overflow: hidden !important;
}
.resume-img-hover-anim figure {
	  position: relative;
}
.resume-img-hover-anim figure:before {
    position: absolute;
    top: 0;
    left: -100%;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.3) 100%);
    transform: skewX(-25deg);
	transition: all 1s;
    z-index: 1;
    pointer-events: none !important;
}
.resume-img-hover-anim figure:hover:before {
	 -webkit-animation: shine 1s;
    animation: shine 1s;
}
@keyframes shine {
    100% {
        left: 125%;
    }
}

@keyframes opacityPulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}

/**** ACCUEIL CSS ****/
.stape-item {
	transition: all .4s !important;
}
.stape-item figure.elementor-image-box-img {
    display: none !important;
}
.stape-item.active {
    position: relative;
    min-height: 176px !important;
    padding: 25px 35px 25px 45px !important;
	background-color: rgba(255, 255, 255, 0.03) !important;
    transition: all .4s !important;
}
.stape-item h3 {
	margin-bottom: 20px !important;
}
.stape-item.active h3 {
	color: #D09959 !important;
}
.stape-item.active h3 span {
    position: absolute;
    top: 20px;
    left: -40px;
    font-size: 110px;
    color: #d0994f;
    font-family: "IvyOraDisplay Regular", Sans-serif;
    font-style: italic;
}
.stape-item .elementor-image-box-description {
	display: none;
    transition: all .4s !important;
}
.stape-item.active .elementor-image-box-description {
	display: block;
}
.col-right-img {
	position: relative;
}
.col-right-img:before {
    content: "";
    display: block;
    width: 597px;
    height: 597px;
    position: absolute;
    top: -75px;
    left: -23px;
    background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.section-experience {
	height: 680px !important;
}
.collection-item {
	position: relative;
	padding: 4px !important;
    transition: all .4s !important;
}
.collection-item:before {
	content: "";
	display: block;
	width: 100%;
	height: 70%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: linear-gradient(179.2deg, #171717 45.06%, #D09959 105.08%);
    transition: all .4s !important;
}
.collection-item:hover:before {
    height: 100% !important;
	background-image: linear-gradient(179.2deg, #D09959 45.06%, #D09959 105.08%);
}
.collection-item h3 {
	margin-bottom: 5px !important;
}
.collection-item .elementor-cta__description {
    margin-bottom: 35px !important;
}
.collection-item .elementor-cta__button {
    display: block;
	position: relative;
	padding-left: 50px !important;
    transition: all .4s !important;
}
.collection-item:hover .elementor-cta__button {
	display: block;
}
.collection-item .elementor-cta__button:before {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	position: absolute;
	top: 8px;
	left: 0;
	background-color: #D09959 !important;
}
.collection-item .elementor-cta__content {
    position: relative;
    z-index: 1;
    transform: translatey(57px) !important;
    transition: all .4s !important;
}
.collection-item:hover .elementor-cta__content {
	transform: translatey(0px) !important;
}
.collection-item .elementor-cta__content:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}

/**** FOOTER CSS ****/
.footer {
	position: relative;
}
.footer:before {
    content: "";
    display: block;
    width: 150px;
    height: 140px;
    position: absolute;
    top: auto;
    bottom: 40px;
    left: -23px;
    background-image: url(/wp-content/uploads/2026/02/square-footer.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom right;
}
.footer>.e-con-inner {
    border-top: 2px solid rgba(18, 28, 34, 0.12);
}
.coordonnee-footer li:nth-child(2) {
    width: 246px;
}
.coordonnee-footer li a {
	color: #fff !important;
}
.coordonnee-footer li a:hover {
	color: #D09959 !important;
}
.creator-site a {
	text-decoration: underline !important;
    text-decoration-color: #fff !important;
}
.creator-site a:hover {
    text-decoration-color: #D09959  !important;
}

.coordonnee-footer b {
	font-family: "NeueKabel Black", Sans-serif;
}
body .copyright a {
    text-decoration: underline !important;
    transition: all .4s !important;
}

/**** BTN BACK TO TOP ****/
.back-to-top {
	display: none;
    cursor: pointer;
}
.back-to-top .elementor-icon-wrapper {
    height: 25px !important;
}

/**** MENTIONS LEGALES ****/
.mentions-legales h2 {
    font-size: 38px !important;
	margin-bottom: 20px !important;
}
.mentions-legales p:not(:last-child) {
    margin-bottom: 20px !important;
}
.mentions-legales ul {
    padding: 0 0 0 20px !important;
}
.mentions-legales ul li {
	margin-bottom: 20px !important;
}
.mentions-legales b {
	font-weight: 500 !important;
}

/**** PLAN DU SITE CUSTOM CSS ****/
.site-map h3 {
    display: none !important;
}
.site-map br {
    display: none !important;
}
.site-map ul {
	margin: 0 !important;
}
.site-map li {
    display: flex;
    align-items: center;
    margin-bottom: 7px;
    transition: all .4s;
}
.site-map li:hover {
    padding-left: 10px;
}
.site-map li:last-child {
    margin-bottom: 0px;
}
.site-map li:before {
    content:'';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url('/wp-content/uploads/2026/02/point-circle.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    margin-right: 10px;
}

/**** COOKIEYES CUSTOM CSS ****/
.cky-btn-revisit-wrapper {
    width: 30px !important;
    height: 30px !important;
    background-color: #EC2127 !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
    height: 20px !important;
    width: 20px !important;
}
.cky-btn-accept {
    background: #EC2127 !important;
    color: #ffffff;
    border: 2px solid #EC2127 !important;
}
.cky-btn-reject {
    color: #EC2127 !important;
    background: transparent !important;
    border: 2px solid #EC2127 !important;
}
.cky-btn-customize {
    color: #EC2127 !important;
    background: transparent !important;
    border: 2px solid #EC2127 !important;
}
.cky-btn-preferences {
    color: #EC2127 !important;
    background: transparent !important;
    border: 2px solid #EC2127 !important;
}
.cky-preference-content-wrapper .cky-show-desc-btn {
	color: #EC2127 !important;
}
.cky-notice-btn-wrapper .cky-btn {
    padding: 5px 5px !important;
}

/**** RESPONSIVE SITE ****/

@media screen and (min-width: 1799px) {
	.section-experience {
		height: 940px !important;
	}
}

@media screen and (min-width: 1500px) {
	.solution-item img {
		height: 360px !important;
        object-fit: cover;
	}
	.section-solution:before {
		content: "";
		display: block;
		width: 550px;
		height: 550px;
		position: absolute;
		top: 32px;
		bottom: auto;
		left: 0;
		background-image: url(/wp-content/uploads/2026/02/dots-top.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom left;
        animation: opacityPulse 3s infinite ease-in-out;
	}
	.section-solution:after {
        content: "";
        display: block;
        width: 540px;
        height: 540px;
        position: absolute;
        bottom: -250px;
        right: 0;
        background-image: url(/wp-content/uploads/2026/02/dots-bottom.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom right;
        animation: opacityPulse 5s infinite ease-in-out;
    }
	.savoir-faire>.e-con-inner:before {
        content: "";
        display: block;
        width: 220px;
        height: 220px;
        position: absolute;
        bottom: -46px;
        left: -100px;
        background-image: url(/wp-content/uploads/2026/02/square-picto.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom left;
        animation: opacityPulse 5s infinite ease-in-out;
    }
	.section-cta>.e-con-inner:before {
		content: "";
		display: block;
		width: 450px;
		height: 450px;
		position: absolute;
		bottom: -246px;
		left: -170px;
		background-image: url(/wp-content/uploads/2026/02/square-circle-picto.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom left;
        animation: opacityPulse 3s infinite ease-in-out;
	}
	.section-cta>.e-con-inner:after {
		content: "";
		display: block;
		width: 240px;
		height: 240px;
		position: absolute;
		top: -147px;
		right: -90px;
		background-image: url(/wp-content/uploads/2026/02/square-circle-top.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: top right;
        animation: opacityPulse 5s infinite ease-in-out;
	}
	.footer:before {
		content: "";
		display: block;
		width: 180px;
		height: 180px;
		position: absolute;
		top: auto;
		bottom: 50px;
		left: -20px;
		background-image: url(/wp-content/uploads/2026/02/square-footer.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom right;
	}
    .section-experience {
        height: 830px !important;
    }
	.col-right-img:before {
		content: "";
		display: block;
		width: 900px;
		height: 900px;
		position: absolute;
		top: -129px;
		left: -61px;
		background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

@media screen and (min-width: 1025px) {
	.adresse-footer span.elementor-icon-list-text p {
    	margin-bottom: 13px !important;
	}
	.header.nav-scroll {
		transition: all .4s !important;
	}
	.header.nav-scroll {
		transition: all .4s !important;
	}
	.header.nav-scroll .topbar {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
		transition: all .4s !important;
	}
	.social-logo a.elementor-icon {
		transition: all .4s !important;
	}
	.social-logo a.elementor-icon {
		width: 30px;
		height: 30px;
	}
	.social-logo svg {
		transition: all .4s !important;
	}
	.social-logo svg {
		width: 20px;
		height: 20px;
	}
	.header.nav-scroll img {
		transition: all .4s !important;
	}
	.header.nav-scroll .logo-header img {
		width: 110px !important;
	}
	.header .logo-header-2 {
		transition: all .4s !important;
	}
	.header .logo-header-2 img {
		transition: all .4s !important;
	}
	.header.nav-scroll .logo-header-2 {
		transition: all .4s !important;
	}
	.header.nav-scroll .logo-header-2 img {
		transition: all .4s !important;
	}
	.header.nav-scroll .logo-header-2 {
		width: 220px !important;
	}
	.header.nav-scroll .logo-header-2 img {
		width: 210px !important;
		transition: all .4s !important;
	}
	.header.nav-scroll .navbar {
		transition: all .4s !important;
	}
	.header.nav-scroll .navbar {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.header.nav-scroll .menu-header ul>li>a {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	.header.nav-scroll .coordonnee-header {
		padding-top: 3px !important;
		padding-bottom: 3px !important;
	}
	.header.nav-scroll .coordonnee-header {
		padding-top: 3px !important;
		padding-bottom: 3px !important;
		height: 32px;
		display: flex;
		align-items: center;
	}
}
@media screen and (min-width: 1701px) and (max-width: 1800px) {
	.col-right-img img {
		width: 550px !important;
		height: 550px !important;
	}
	.col-right-img:before {
        content: "";
        display: block;
        width: 720px;
        height: 720px;
        position: absolute;
        top: -82px;
        left: 13px;
        background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}
@media screen and (min-width: 1601px) and (max-width: 1700px) {
	.col-right-img img {
		width: 550px !important;
		height: 550px !important;
	}
	.col-right-img:before {
		content: "";
		display: block;
		width: 720px;
		height: 720px;
		position: absolute;
		top: -82px;
		left: -13px;
		background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

@media screen and (min-width: 1501px) and (max-width: 1600px) {
    .col-right-img img {
		width: 550px !important;
		height: 550px !important;
	}
	.col-right-img:before {
		content: "";
		display: block;
		width: 720px;
		height: 720px;
		position: absolute;
		top: -82px;
		left: -33px;
		background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

@media screen and (min-width: 1441px) and (max-width: 1500px) {
	.col-right-img img {
		width: 550px !important;
		height: 550px !important;
	}
	 .col-right-img:before {
        content: "";
        display: block;
        width: 720px;
        height: 720px;
        position: absolute;
        top: -92px;
        left: -61px;
        background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

@media screen and (min-width: 1400px) and (max-width: 1440px) {
	.col-right-img:before {
		content: "";
		display: block;
		width: 597px;
		height: 597px;
		position: absolute;
		top: -75px;
		left: -6px;
		background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

@media screen and (min-width: 1500px) and (max-width: 1799px) {
	.stape-item h3.elementor-image-box-title {
		font-size: 30px !important;
	}
}

@media screen and (min-width: 1380px) and (max-width: 1399px) {
	.col-right-img:before {
		content: "";
		display: block;
		width: 597px;
		height: 597px;
		position: absolute;
		top: -75px;
		left: -14px;
		background-image: url(/wp-content/uploads/2026/02/mask-circle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

@media screen and (max-width: 1024px) {
	.coordonnee-header .elementor-icon-list-text {
		display: none !important;
	}
	.coordonnee-header li>a:not(:first-child) {
		display: none !important;
	}
	.header .btn-header p {
		display: none !important;
	}
	body .title-color {
		display: inline-block !important;
		color: #FFCC00 !important;
	}
	.footer .col-item {
		width: 48% !important;
	}
    .footer .adresse-footer ul.elementor-icon-list-items li:not(:last-child) {
    	display: none !important;
	}
	.footer:before {
		display: none !important;
	}
	.footer .adresse-footer p {
		display: inline-block !important;
	}
}

@media screen and (max-width: 767px) {
	.topbar {
    	flex-wrap: nowrap;
	}
	body .footer .col-item {
		width: 100% !important;
	}
	body .item-footer {
		min-height: 281px !important;
		display: flex;
        justify-content: center;
		align-items: center;
	}
     body .title-color {
        display: inline !important;
        color: #FFCC00 !important;
    }
	.item-footer figure.elementor-image-box-img {
		margin-bottom: 10px !important;
	}
	.section-cta>.e-con-inner:before {
		content: "";
		display: block;
		width: 140px;
		height: 140px;
		position: absolute;
		bottom: -106px;
		left: -90px;
		background-image: url(/wp-content/uploads/2026/02/square-circle-picto.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom left;
		animation: opacityPulse 3s infinite ease-in-out;
	}
	.section-cta>.e-con-inner:after {
		content: "";
		display: block;
		width: 90px;
		height: 130px;
		position: absolute;
		top: -96px;
		right: -50px;
		background-image: url(/wp-content/uploads/2026/02/square-circle-top.svg);
		background-position: top right;
		animation: opacityPulse 5s infinite ease-in-out;
	}
	.section-solution:before {
		content: "";
		display: block;
		width: 100px;
		height: 50px;
		position: absolute;
		top: 10px;
		bottom: auto;
		left: -50px;
		background-image: url(/wp-content/uploads/2026/02/dots-top.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom left;
		animation: opacityPulse 3s infinite ease-in-out;
	}
	.section-solution:after {
		content: "";
		display: block;
		width: 60px;
		height: 50px;
		position: absolute;
		bottom: 0;
		right: 0;
		background-image: url(/wp-content/uploads/2026/02/dots-bottom.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom right;
		animation: opacityPulse 5s infinite ease-in-out;
	}
	.savoir-faire>.e-con-inner:before {
		content: "";
		display: block;
		width: 100px;
		height: 130px;
		position: absolute;
		bottom: -46px;
		left: -50px;
		background-image: url(/wp-content/uploads/2026/02/square-picto.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: bottom left;
		animation: opacityPulse 5s infinite ease-in-out;
	}
	.choisir-item figure.elementor-image-box-img {
		margin-bottom: 10px !important;
	}
}

@media screen and (max-width: 500px) {
	body .captcha-ni .forminator-g-recaptcha {
    	width: 304px !important;
    	position: relative !important;
    	scale: 0.8 !important;
    	left: -30px !important;
	}
}

@media screen and (max-width: 400px) {
	.btn-resume.btn-long span.elementor-icon-list-icon {
    	display: none !important;
	}
}