:root {
    /* Primary colors */
    --color-yellow-dark: #ff9900;
    --color-yellow: #FDC911;
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-black-04: #000000;
    
}

*{
    font-family: 'Helvetica-M', 'sans-serif';
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body, html{
    box-sizing: border-box;
    overflow-x: hidden;
}

body {
	--sb-track-color: var(--color-black);
	--sb-thumb-color: var(--color-white);
	--sb-size: 10px;
}

body::-webkit-scrollbar {
	width: var(--sb-size)
}

body::-webkit-scrollbar-track {
	background: var(--sb-track-color);
	border-radius: 0px;
}

body::-webkit-scrollbar-thumb {
	background: var(--sb-thumb-color);
	border-radius: 20px;
}

a,
a:active,
a:hover {
    text-decoration: none;
}

/* Font-family */
.font-hm,
.font-hm p,
.font-hm a,
.font-hm span,
.font-hm strong,
.font-hm b {
    font-family: 'Helvetica-M','sans-serif';
}

.font-hr,
.font-hr p,
.font-hr a,
.font-hr span,
.font-hr strong,
.font-hr b {
    font-family: 'Helvetica-R','sans-serif';
}

.font-hl,
.font-hl p,
.font-hl a,
.font-hl span,
.font-hl strong,
.font-hl b {
    font-family: 'Helvetica-L','sans-serif';
}

.font-hb,
.font-hb p,
.font-hb a,
.font-hb span,
.font-hb strong,
.font-hb b {
    font-family: 'Helvetica-B','sans-serif';
}

.font-univers,
.font-univers p,
.font-univers a,
.font-univers span,
.font-univers strong,
.font-univers b {
    font-family: 'Univers','sans-serif';
}

.font-univers-55,
.font-univers-55 p,
.font-univers-55 a,
.font-univers-55 span,
.font-univers-55 strong,
.font-univers-55 b {
    font-family: 'Univers-55','sans-serif';
}

.font-univers-65,
.font-univers-65 p,
.font-univers-65 a,
.font-univers-65 span,
.font-univers-65 strong,
.font-univers-65 b {
    font-family: 'Univers-65','sans-serif';
}

.font-inter,
.font-inter p,
.font-inter a,
.font-inter span,
.font-inter strong,
.font-inter b {
    font-family: 'Inter','sans-serif';
}

.font-knockout,
.font-knockout p,
.font-knockout a,
.font-knockout span,
.font-knockout strong,
.font-knockout b{
    font-family: 'Univers-condensed','sans-serif';
}

/* Font-weight */
.fw-thin, 
.fw-thin p,
.fw-thin a,
.fw-thin span,
.fw-thin b {
    font-weight: 100;
    font-style: normal;
}

.fw-light, 
.fw-light p,
.fw-light a,
.fw-light span,
.fw-light b  {
    font-weight: 300;
    font-style: normal;
}

.fw-regular, 
.fw-regular p,
.fw-regular a,
.fw-regular span,
.fw-regular b  {
    font-weight: 400;
    font-style: normal;
}

.fw-medium, 
.fw-medium p,
.fw-medium a,
.fw-medium span,
.fw-medium b  {
    font-weight: 500;
    font-style: normal;
}

.fw-semibold, 
.fw-semibold p,
.fw-semibold a,
.fw-semibold span,
.fw-semibold b  {
    font-weight: 600;
    font-style: normal;
}

.fw-bold, 
.fw-bold p,
.fw-bold a,
.fw-bold span,
.fw-bold b  {
    font-weight: 700;
    font-style: normal;
}

/* Colors */

.text-yellow{
    color: #FDC911;
}

.text-black {
    color: #000000;
}

.text-black-04{
    color: #040404;
}

.text-gray{
    color: #656565;
}

/* Backgrounds */

.bg-yellow{
    background-color: #FDC911;
}

.bg-black {
    background-color: #0a0501;
}

.bg-black-04{
    background-color: #040404;
}

.bg-gray{
    background-color: #EBEBEB;
}

/* Hover */

.hover-translate,
.hover-bg,
.hover-bg svg {
	transition: all 0.5s !important;
}

.hover-bg{
    /* border: 1px solid transparent; */
}

.hover-bg.bg-\[\#e30613\] {
	color: #fff;
}

.hover-translate:hover {
	transform: translateY(-10px);
	transition: all 0.5s !important;
}

.hover-bg:hover {
    background-color: var(--color-yellow) !important;
    color: var(--color-black);
    transition: all 0.5s !important;
}

.hover-bg.text-white:hover {
    background-color: var(--color-white)!important;
    color: var(--color-black)!important;
    transition: all 0.5s!important;
}

.hover-bg.text-black:hover {
    background-color: var(--color-black)!important;
    color: var(--color-yellow)!important;
    /* border: 1px solid var(--color-yellow)!important; */
    transition: all 0.5s!important;
}

.hover-bg:hover svg {
	stroke: var(--color-black);
	transition: all 0.5s !important;
}

.btn-block:not(.services .btn-block)::before {
	content: '';
	position: absolute;
	width: 50%;
	height: 0;
	background: #000;
	display: block;
	left: 20px;
	top: 20px;
	border-radius: 5px;
    transition: all 0.3s;
}

.btn-block.text-black::before {
	background: var(--color-yellow);
}

.btn-block.text-white::before {
	background: var(--color-black);
}

.cartouche-top .hover-bg.text-black:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
	transition: all 0.5s !important;
}

.cartouche-top.btom .btn-block.text-black::before {
	background: var(--color-yellow);
}

.cartouche-top.btom .hover-bg.text-black:hover {
	background-color: var(--color-black) !important;
	color: var(--color-yellow) !important;
	transition: all 0.5s !important;
}

.outils-co-4 .hover-bg:hover {
	background-color: var(--color-yellow) !important;
	transition: all 0.5s !important;
}

.catalogue-filtre-form .btn-block .hover-bg.text-black:hover,
.slider-full .btn-block .hover-bg.text-black:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
	transition: all 0.5s !important;
}

.text-image-block .hover-bg.text-white:hover {
	background-color: var(--color-yellow) !important;
}

.btn-block:hover::before {
	width: 100%;
	height: 100%;
	left: -6px;
	top: 7px;
	border-radius: 5px;
    transition: all 0.3s;
}

.slider-full .btn-block:hover::before {
	height: 107%;
}

.container{
    /* width: 1200px !important; */
    padding: 0 25px;
    margin: 0 auto !important;
}

#backToTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: none;
	background-color: var(--color-yellow);
	color: transparent;
	border: 2px solid var(--color-white);
	padding: 20px;
	cursor: pointer;
	z-index: 1000;
	border-radius: 100%;
	height: 50px;
	width: 50px;
}

#backToTop::before {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	/* background-color: red; */
	top: 0;
	left: 0;
	background-image: url(/wp-content/uploads/2025/05/btt2.png);
	background-size: 30px;
	background-repeat: no-repeat;
	background-position: center;
	transform: rotate(90deg);
	transition: all 0.3s ease;
}

/* Foooter Menu */

footer .menu-item {
	margin: 0 !important;
	padding: 0 !important;
}

.autoplay-progress {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 10;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: var(--color-yellow);
}

.autoplay-progress svg {
	--progress: 0;
	position: absolute;
	left: 0;
	top: 0px;
	z-index: 10;
	width: 100%;
	height: 100%;
	stroke-width: 4px;
	stroke: var(--color-yellow);
	fill: none;
	stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
	stroke-dasharray: 125.6;
	transform: rotate(-90deg);
}


/* Ajout ADN */
.le-select #pays-select {
	padding-right: 0px !important;
}
footer.site-footer section h2.titre-nl,
div#catalogue-modal h3,
div#catalogue-modal input,
div#catalogue-modal button,
div#catalogue-modal a,
div#catalogue-modal p,
div#demo-modal h3,
div#demo-modal input,
div#demo-modal p,
div#demo-modal a,
div#demo-modal button {
    font-family: 'Helvetica-M','sans-serif';
}
footer.site-footer section h2.titre-nl {
    font-size: 2.813rem;
    line-height: 2.75rem;
    font-weight: 400;
}
footer section.section-nl form input ,
footer section.section-nl form button {
    width: 340px !important;
}
body.page-id-3459 footer section.section-nl {
    display: none;
}
body.page-id-3459 footer {
    z-index: 99 !important;
    position: relative;
    padding-top: 0;
    background: transparent !important;
}
body.page-id-3459 footer::after {
    display: block;
    position: absolute;
    content: '';
    background-color: #dedede;
    width: 100%;
    height: 460px;
    bottom: 0;
    z-index: -1;
}
.cta-page-contact:hover {
	background-color: var(--color-yellow) !important;
	color:  var(--color-black) !important;
}
div#formulaire_candidature input[type="file"] {
    color: #FFFFFF;
}
div#offers-container .offre:hover h2,
div#offers-container .offre:hover h3,
div#offers-container .offre:hover .localite span,
section.offres.cartouche-slider-actus .offre:hover h2,
section.offres.cartouche-slider-actus .offre:hover h3,
section.offres.cartouche-slider-actus .offre:hover .localite span {
    color: #ffffff;
}
div#offers-container .offre:hover .type-contrat,
section.offres.cartouche-slider-actus .offre:hover .type-contrat {
	background-color: #ffffff;
}
div#offers-container .offre:hover ellipse,
section.offres.cartouche-slider-actus .offre:hover ellipse {
	fill: #ffffff;
}
div#offers-container .offre:hover path,
section.offres.cartouche-slider-actus .offre:hover path {
	stroke: #000000;
}
.cartouche-location .swiper-button-next:after,
.cartouche-location .swiper-button-prev:after {
	font-size: 18px !important;
}
body.single-filiale section.text-image-block a[target="_blank"] {
    position: relative;
    padding-left: 10px;
    text-decoration: underline;
}
body.single-filiale section.text-image-block a[target="_blank"]::before {
    display: block;
    position: absolute;
    content: '';
    width: 26px;
    height: 25px;
    background-image: url('/wp-content/uploads/2025/10/NEEMBA_point-maps-filiale.svg');
    background-repeat: no-repeat;
    background-size: contain;
    left: -16px;
    top: -3px;
}
body.home #content section:last-child {
    padding-bottom: 0 !important;
}
button.open-modal:hover {
    background: #fdc911 !important;
	color: #0a0501 !important;
}
div#contact-panel {
    z-index: 999 !important;
}




/* Responsive */
@media screen and (max-width: 1536px) {
	footer.site-footer section h2.titre-nl {
		font-size: 2rem;
		line-height: 1.9rem;
	}
	.slider-full .swiper-button-prev.text-white, .slider-full .swiper-button-next.text-white {
		width: 55px !important;
		height: 55px !important;
	}
	.slider-full .swiper-button-next::after, .slider-full .swiper-button-prev::after {
		width: 15px !important;
		height: 15px !important;
	}
	
}


@media screen and (max-width: 1280px) {
	footer.site-footer section h2.titre-nl {
		font-size: 1.7rem;
		line-height: 1.6rem;
	}
	footer section.section-nl form input, footer section.section-nl form button {
		width: 280px !important;
	}
	.pas-p p {
		display: inline;
	}
	.pas-br br {
		display: none;
	}
	.slider-full .swiper-button-prev.text-white, .slider-full .swiper-button-next.text-white {
		width: 40px !important;
		height: 40px !important;
	}
	.entete-grp {
		margin-top: 260px;
	}
	div#contact-panel {
		z-index: 999 !important;
	}
	
}

@media screen and (max-width: 1279px) {
	.entete-grp {
		margin-top: -100px;
	}
	
}


@media screen and (max-width: 1024px) {
	/* section.img-gauche .bloc {
		padding-left: 40px;
		padding-right: 40px;
	} */
	footer section.section-nl form input, footer section.section-nl form button {
		width: 200px !important;
	}
	.cartouche-slider-inner-service .service.m2 .cartouche-top {
		min-height: auto !important;
	}

}




@media screen and (max-width: 768px) {
	.slider-full .swiper-button-next.text-white,
	.slider-full .swiper-button-prev.text-white {
		display: none !important;
	}
	.titreslidermob {
		font-size: 1.875rem;
		line-height: 2.125rem;
	}
	.fontmob13 {
		font-size: 0.813rem;
	} 
	.fontmob14 {
		font-size: 0.875rem;
		line-height: 1.188rem;
	}
	.fontmob15,
	.accroche p {
		font-size: 0.938rem;
		line-height: 1.25rem;
	}
	.fontmob18 {
		font-size: 1.125rem;
		line-height: 1.438rem;
	}
	.fontmob25 {
		font-size: 1.563rem;
		line-height: 1.875rem;
	}
	.fontmob40 {
		font-size: 2.5rem;
		line-height: 4.625rem;
	}
	.cartouche-home .swiper-wrapper {
		margin-left: 1rem !important;
	}
	.cartouche-home .swiper-button-next::after, 
	.live-slider .swiper-button-next::after, 
	.cartouche-slider-actus .swiper-button-next::after,
	.cartouche-home .swiper-button-prev::after, .cartouche-home .swiper-button-next::after, .cartouche-slider-actus .swiper-button-prev::after, .cartouche-slider-actus .swiper-button-next::after, .live-slider .swiper-button-prev::after, .live-slider .swiper-button-next::after {
		background-size: contain;
	}
	body.page-id-3459 footer::after {
		height: 1020px;
	}
	footer section.section-nl form input, footer section.section-nl form button {
		width: 100% !important;
	}
	.centrer-btn-mob {
		display: block;
		margin: auto;
	}
	section.img-gauche .bloc {
		padding-left: 0px;
		padding-right: 0px;
	}
	section.img-gauche .bloc h2, 
	section.img-gauche .bloc p, 
	section.img-droite .bloc h2, 
	section.img-droite .bloc p {
		text-align: center !important;
		display: block;
		width: 100%;
	}
	svg.taillesvgMob {
		width: 35px;
		height: 35px;
	}

}