/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper{background: var(--background-color)}
#logoLoader{width: 140px;}
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.underbutton.white > *, 
button.white, 
.button.white{
	background-color: var(--white);
	border: 1px solid var(--background-color);
}
.underbutton.white > *:hover, 
button.white:hover, 
.button.white:hover{
	background-color: var(--primary-color);
	color: var(--black);
}
/*-----------------*/
/* HEADER */
/*-----------------*/
#header-social .sociblock .share-buttons{justify-content: flex-start;}
#info-toogle {display: flex;}
#info-toogle svg circle {
    stroke-dasharray: 160;
    stroke-dashoffset: 0;
    transform-origin: center;
    transform: rotate(0deg);
    transition: transform 1.2s cubic-bezier(.23,1,.32,1), stroke-dashoffset 1.2s cubic-bezier(.23,1,.32,1);
}

body:not(.is-toggle-open) #info-toogle:hover svg circle {
    transform: rotate(2turn);
    stroke-dashoffset: 160;
}
#info-toogle svg path {
  transform: scale(0.16) translate(30px, 30px);
	transition: all .8s cubic-bezier(.23,1,.32,1) .4s;
}


#info-toogle .header__toggler-bar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 15px;
    height: 2px;
    background-color: var(--primary-color);
    transition: transform .8s cubic-bezier(.23,1,.32,1);
}

#info-toogle .header__toggler-bar:nth-child(2) {
    transform: translate(-50%,-50%) rotate(45deg) scaleX(0);
    transition-delay: 0s;
}
#info-toogle .header__toggler-bar:nth-child(3) {
    transform: translate(-50%,-50%) rotate(-45deg) scaleX(0);
    transition-delay: .1s;
}

body.is-toggle-open #info-toogle .header__toggler-bar:nth-child(2) {
    transform: translate(-50%,-50%) rotate(45deg) scaleX(1);
    transition-delay: .4s;
}
body.is-toggle-open #info-toogle .header__toggler-bar:nth-child(3) {
    transform: translate(-50%,-50%) rotate(-45deg) scaleX(1);
    transition-delay: .5s;
}

body.is-toggle-open #info-toogle svg path{
    opacity: 0;
    transition-delay: .1s;
}
#header-coordonnees {
    position: fixed;
    top: 0;
    right: -320px;
    width: 320px;
    height: 100%;
    min-height: 100%;
    padding: 70px 40px 65px;
    background-color: var(--secondary-color);
    overflow: hidden;
    visibility: hidden;
    overflow: scroll;
    z-index: 9998;
    transition: all .6s cubic-bezier(.77,0,.175,1);
    text-align: left;
    box-shadow: 0 0 30px #00000057
}

body.is-toggle-open #header-coordonnees {
    right: 0;
    visibility: visible
}

#header-coordonnees .button{margin: 4px 0;}
#header-coordonnees .flex>div {margin: 15px auto;width: 100%;}
#header-coordonnees .flex>div + .button{
    margin-top: 20px;
}

/*-----------------*/
/* SOCIAL */
/*-----------------*/
#header-social .label {
    margin-right: 20px;
    color: var(--white);
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
}
.sociblock .share-buttons a {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    align-items: center;
    justify-content: center;
    margin: 0 3px
}

.sociblock .share-buttons a:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    border-radius: 100px;
    transition: all ease 250ms;
   border: 1px solid rgb(188 188 188);
}

.sociblock .share-buttons a:hover:before {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.sociblock:not(#footer-social .sociblock) .share-buttons a:not(:hover) svg {fill: var(--white);}
#footer-social .sociblock .share-buttons a:hover svg {fill: var(--white)!important;}
.sociblock .share-buttons a svg {--size: 15px}



/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
#navprimary .navigmenu .naviglink.lvl-0:not(.item-logo) span:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -14.5px;
    transform-origin: right center;
    transform: scale(0,1);
    transition: transform .25s cubic-bezier(.25,.8,.25,1);
    height: 3px;
    background: currentColor
}

#navprimary .navigmenu .active .naviglink.lvl-0 {color: var(--primary-color)}

#navprimary .navigmenu .active .naviglink.lvl-0 span:after,
#navprimary .navigmenu .naviglink.lvl-0:hover span:after {
    transform-origin: left center;
    transform: scale(1,1)
}

/*-----------------*/
/* NAVSECONDARY */
/*-----------------*/
#navsecondary{
	position: relative;
	z-index: 2;
}
#navsecondary .navigmenu .naviglink.lvl-0:not(.item-home){
	font-family: var(--font-text);
	font-size: 12px;
	padding: 6px 10px;
	color: var(--white);
	font-weight: bold;
	letter-spacing: 0.2px;
}

#navsecondary .navigmenu .naviglink.lvl-0:hover{color: var(--primary-color);}
.navigmenu .naviglink.lvl-1:hover{
    color: var(--tertiary-color);
    opacity: 0.6;
}
#navsecondary .navigmenu .naviglink.lvl-0:not(.item-logo, .item-home) span:after {
    content: '';
    display: inline-block;
    width: calc(100% - 2px);
    height: 1px;
    background-color: currentColor;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: left;
     transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
}

#navsecondary .navigmenu .active .naviglink.lvl-0 span:after,
#navsecondary .navigmenu .naviglink.lvl-0:hover span:after {transform: scaleX(1)}

#navsecondary .navigtoogle:not(:last-of-type, :first-of-type):after {
    content: "";
    height: 10px;
    width: 1px;
    position: absolute;
    right: 0;
    background-color: var(--white);
    transform: translateY(-50%);
    opacity: 0.4;
    top: 50%;
}
/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome{
    height: 110vh !important;
}
#headerHome .custom-product-filter {
   /* position: absolute;
    z-index: 30;
    left: 10px;
    bottom: -80px;
    right: 10px;*/
    padding: 50px 0;
}
/*-----------------*/
/* FILTRE POUR LES PROS  */
/*-----------------*/
.filter-group .noUi-origin:first-of-type .noUi-tooltip{display: none;}

.filter-group .filter-title{
    font-family: var(--font-title);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--dark-title-color);
    font-size: 12px;
}
.field-radios--group{
    border-radius: 30px;
    border: 1px solid #a2a2a2;
    display: flex;
    padding: 2px;
}
.custom-product-filter .field-radios--group label{
    margin: 0;
    display: flex;
    flex-grow: 1;
    height: 45px;
}
.field-radios--group input {
    visibility: hidden;
    position: absolute;
    z-index: -50;
}
.field-radios--group .input {
    position: relative;
    margin: 0;
    display: flex;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 1rem;
    line-height: 180%;
    font-weight: 500;
    color: var(--secondary-color);
    border-radius: 30px;
    letter-spacing: 0;
    text-transform: initial;
    cursor: pointer;
    height: 100%;
    font-family: var(--font-bold);
    z-index: 2;
}

.field-radios--group  .input:before {
    content: "";
    border-radius: 30px;
    will-change: transform;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    display: block;
    transform: scale(0);
    background-color: var(--primary-color);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-duration: .4s;
    transition-timing-function: cubic-bezier(.47,1.64,.41,.8);
}
.field-radios--group .input:hover:before{
	transform: scale(1);
	opacity: 0.2;
}
.field-radios--group  input:checked+.input:before {transform: scale(1);}
.field-radios--group  input:checked+.input:not(:hover){color: var(--white);}

.custom-product-filter .wrappercontent{
	background: var(--white);
	box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 10px 10px 60px 0px;
	border-radius: 20px;
	padding: 20px 30px;
	justify-content: space-between;
	position: relative;
	align-items: self-end;
}
.home .custom-product-filter .wrappercontent{padding-bottom: 60px;}
.custom-product-filter .filter-group, .custom-product-filter .button:not(.btn-map){
    width: 32%;
}

.custom-product-filter .btn-map{
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
}

.filter-group h3 {
    margin: 0 0 10px 0;
    font-size: 16px;
}

.custom-product-filter label {
    display: block;
    margin: 0;
}
#price-range input[type=range] {
    width: 45%;
    margin-right: 5%;
}
#price-range div {
    margin-top: 10px;
    font-weight: bold;
}
.slider-container {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.custom-product-filter input[type="range"] {
    -webkit-appearance: none;
    width: 100%;
    height: 2px;
    background: #d7d7d7;
    border-radius: 5px;
    outline: none;
    transition: background 0.3s;
    box-shadow: 0 2px 8px rgba(78,84,200,0.1);
}

.custom-product-filter input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--primary-color);
    box-shadow: 0 2px 8px rgba(78,84,200,0.2);
    cursor: pointer;
    transition: background 0.3s, border 0.3s;
}

.custom-product-filter input[type="range"]:focus::-webkit-slider-thumb {
    background: var(--primary-color);
    border: 2px solid var(--primary-color);
}

.custom-product-filter input[type="range"]::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--primary-color);
    box-shadow: 0 2px 8px rgba(78,84,200,0.2);
    cursor: pointer;
    transition: background 0.3s, border 0.3s;
}

.custom-product-filter input[type="range"]:focus::-moz-range-thumb {
    background: var(--primary-color);
    border: 2px solid var(--primary-color)
}

.custom-product-filter input[type="range"]::-ms-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--primary-color);
    box-shadow: 0 2px 8px rgba(78,84,200,0.2);
    cursor: pointer;
    transition: background 0.3s, border 0.3s;
}

.custom-product-filter input[type="range"]:focus::-ms-thumb {
    background: var(--primary-color);
    border: 2px solid var(--primary-color);
}

.custom-product-filter input[type="range"]::-ms-fill-lower {background: var(--primary-color);}
.custom-product-filter input[type="range"]::-ms-fill-upper {background: var(--primary-color);}

.custom-product-filter input[type="range"]:focus {outline: none;}

.custom-product-filter output#max_price_val {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--primary-color);
    min-width: 60px;
    display: inline-block;
    text-align: right;
}
#max_price_val{
    font-family: var(--font-bold);
    font-size: 15px;
    color: var(--title-color);
    min-width: 80px;
}


body.woocommerce-php .custom-product-filter{margin-bottom: 80px;}

.woocommerce-product-gallery__image--placeholder img{
    max-width: 500px;
}

.custom-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 20px 0;
    justify-content: center;
}

.custom-category-nav li a {
    display: block;
    padding: 8px 18px;
    border-radius: 25px;
}

#woo_garantie .button{
    margin: 25px auto;
    display: block;
    max-width: 50%;
    line-height: 1.5;

}

/*-----------------*/
/* CONTENT HOME */
/*-----------------*/
.home .eb-counter-wrapper{
    padding: 15px;
    text-align: center;
    /*border-radius: 10px;*/
}
/*
.home #content .tc_content img{
    border-radius: 10px;
}
*/

/*-----------------*/
/* FIXED BUTTON */
/*-----------------*/
#fixed-button{
    position: fixed;
    top: 50%;
    z-index: 11;
    right: 0;
    transform: translateY(-50%);
   
    display: flex;
    flex-direction: column;
    align-items: end;
}
#fixed-button a{box-shadow: 0 2px 24px -2px rgba(0, 0, 0, .14);}

#fixed-button .button-item span{
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    font-family: var(--font-title);
    letter-spacing: 1px;
    padding: 0 20px;
    height: 100%;
    margin: 0;
    bottom: 0;
    width: auto;
    position: absolute;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    visibility: hidden;
    opacity: 0;
    z-index: 99;
    pointer-events: none;
    right: 100%;
    background: var(--secondary-color);
    color: var(--white);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
    white-space: nowrap;
    display: flex;
    align-items: center;
}
#fixed-button .button-item a:before{
    display: block;
    transition: all 0.3s ease;
    --size: 60px;
    width: var(--size);
    height: var(--size);
    position: relative;
    background-color: var(--primary-color);
    margin-bottom: 1px;
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
}
#fixed-button .button-item a.pro-item:before{background-image: url('../images/icons/ingenieur-black.svg');}
#fixed-button .button-item a.contact-item:before{background-image: url('../images/icons/mail-black.svg');}
#fixed-button .button-item a.map-item:before{background-image: url('../images/icons/map-black.svg');}
#fixed-button .button-item a:hover:before{padding-right: 8px;}

#fixed-button .button-item a:hover span{
    visibility: visible;
    opacity: 1;
    transition-delay: .1s;
    transform: none;
}
/*-----------------*/
/* CERTIFICATIONS */
/*-----------------*/
#certifications{margin-top: 30px;}
#certifications .widget_certifications{
    justify-content: center;
}
#certifications .wrap-element{

    --size: 100px;
    width: var(--size);
    height: var(--size);
    overflow: hidden;
    background: none;
    border: none;
}
#certifications .wrap-element .gotolink{
    border-radius: 25%;
}

#certifications .widget_element{
    --sizeCertif: 100px
}

#certifications .widget_element img{
    max-height: var(--sizeCertif);
    max-width: var(--sizeCertif);
    height: var(--sizeCertif);
    width: var(--sizeCertif);
}
#certifications .widget_element a{
    max-height: var(--sizeCertif);
}
/*-----------------*/
/* CONTENT ELEMENTS */
/*-----------------*/
#content :is(.eb-feature-list-title, .eb-feature-list-content){color: var(--white);}
#content .eb-feature-list-content{font-size: 15px}
#content .eb-feature-list-items .eb-feature-list-item .eb-feature-list-icon-box .eb-feature-list-icon i{
    color: var(--background-color);
}

#content .uagb-faq-item svg{fill: var(--white);}
#content .uagb-timeline__date-new{
    color: var(--white);
    font-family: var(--font-bold);
    font-size: 20px;
}
#content .uagb-timeline__events-inner--content{background: var(--tertiary-color);}
#content .uagb-timeline__day-left .uagb-timeline__arrow::after{border-right-color: var(--tertiary-color);}
#content .uagb-timeline__center-block .uagb-timeline__day-right .uagb-timeline__arrow::after{border-left-color: var(--tertiary-color);}
#content .uagb-timeline__outer-wrap svg{
    fill: var(--black);
    color: var(--black);
}
#content .eb-advanced-tabs-wrapper ul.tabTitles li.inactive{background: var(--background-color);}
#content .eb-advanced-tabs-wrapper ul.tabTitles li.inactive .tab-title-text{
    color: var(--white)!important;
}
/*-----------------*/
/* PRESTATIONS */
/*-----------------*/

/*-----------------*/
/* ACTU */
/*-----------------*/
#listarticles{
	column-count: 3;
    column-gap: 30px;
}
#listarticles .listedarticle{break-inside: avoid;}

#news .ckslidercontrols :is(.next, .prev){
	background: none!important;
	--size: 80px;
	height: auto;
	bottom: -100px;
	bottom: 0;
	transition: .5s;
	border: none!important;
}
#news .ckslidercontrols :is(.next, .prev) svg{
	display: block;
    transition: .5s;
}
#news .ckslidercontrols .prev{left: 0;}
#news .ckslidercontrols .prev svg .ckslider-svg-wrap{transform: translateY(353px);}
#news .ckslidercontrols .next svg .ckslider-svg-wrap{
	transform: translateY(353px) rotateY(180deg);
    transform-origin: 80px 0px 0px;
}
#news .ckslidercontrols :is(.next, .prev) svg .ckslider-svg-circle-wrap{
	transition: .5s;
    transform-origin: -20px 40px;
    opacity: 1;
}
#news .ckslidercontrols :is(.next, .prev) svg circle {
    transition: .5s;
    fill: none;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 1;
    transform-origin: 0px 0px 0px;
    fill: var(--primary-color);
}
#news .ckslidercontrols :is(.next, .prev) .ckslider-svg-arrow {
    transition: .5s;
    fill: var(--white);
    transform: rotateY(180deg) translate(-57px, 32.2px) scale(2.95);
}
#news .ckslidercontrols :is(.next, .prev) .ckslider-svg-line {
    transition: .5s;
    stroke: var(--white);
    stroke-width: 4px;
    transform: translate(50px, 42px);
}

#news .ckslidercontrols .prev:hover svg{transform: translate(-16px);}
#news .ckslidercontrols .next:hover svg{transform: translate(16px);}

#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-circle-wrap {transform: scale(1.1);}
#news .ckslidercontrols :is(.next, .prev):hover circle {
    stroke-dasharray: 4px;
    stroke-dashoffset: 4px;
    opacity: 1;
}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-arrow {transform: rotateY(180deg) translate(-40px, 33.1px) scale(2.75);}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-line {transform: translate(35px, 42px) scaleX(0.4);}

#news .ckslidercontrols :is(.next, .prev):hover svg circle,
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-line{stroke: var(--secondary-color);}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-arrow{fill: var(--secondary-color);}

.title_link_slider, .title_content {
    background-repeat: no-repeat;
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    transition: .4s cubic-bezier(.215,.61,.355,1);
    background-size: 0 100%;
}
.title_slider:hover :is(.title_link_slider, .title_content) {background-size: 100% 100%;}

#choixActuSlider{
	align-items: center;
	height: 350px;
}
#choixActu {
	z-index: 10;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	width: 50%;
	right: 20px;
}
#choixActu .linkActu{
	position: relative;
	cursor: pointer;
	padding: 10px;
	min-width: 33.33333%;
	max-width: 33.33333%;
}

.subtitleActu{
	
	overflow: hidden;
	height: 300px;
	transition: 250ms all ease-in-out;
}
.subtitleActu_img{
	height: 100%;
	border-radius: 10px;
	border: solid 2px transparent;
	overflow: hidden;
	background: var(--white);
}
.subtitleActu_img img{transition: transform 1s cubic-bezier(.215,.61,.355,1);}
.subtitleActu_img:before{
	 z-index: 1;
	 background: linear-gradient(to top, rgb(0 0 0 / 70%) 0%, rgba(0, 0, 0, 0) 100%);
}
.linkActu:hover .subtitleActu_img img{transform: scale(1.1);}

#choixActu .subtitleActu .subtitleActu_content{
	z-index: 1;
	transition: 500ms ease all;
	color: var(--white);
	font-size: 16px;
	line-height: 1.3;
	display: inline-block;
	font-family: var(--font-bold);
	display: block;
	font-weight: bold;
	z-index: 1;
	--dist: 15px;
	bottom: var(--dist);
	left: var(--dist);
	right: var(--dist);
}

#choixActu .linkActu.active .subtitleActu{height: 350px;}
#choixActu .linkActu.active .subtitleActu_img{border-color: solid 2px white;}

#news .wrapper_slider{
	padding: 0;
	min-width: auto!important;
	max-width: none;
}

#news .content_slider {
    position: absolute;
    color: var(--white);
    z-index: 2;
    max-width: 670px;
    width: 40%;
    padding: 30px;
    transition: 500ms ease all;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#news .thumbnail_slider {
    position: relative;
    height: 800px;
    z-index: 1;
    transition: 250ms all ease-in-out;
    display: block;
    width: 100%;
}
#news .thumbnail_slider:before{
    z-index: 0;
    background: linear-gradient(to right, rgb(0 0 0 / 70%) 0%, rgba(0, 0, 0, 0) 100%);
}



.title_link_slider{
	color: var(--white);
	text-shadow: 0px 0px 4px #000000;
}

/*-----------------*/
/* SECTIONS */
/*-----------------*/
.buttons-wrap{
	flex-direction: column;
	gap: 5px;
	align-items: flex-start;
}
#choixSections {
    counter-reset: sections;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
}

#choixSections:before {
    border: 1px solid var(--primary-color);
    border-bottom: none;
    border-right: none;
    top: 94px
}

#choixSections:after {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    background: var(--primary-color);
    clip-path: polygon(0 0,50% 50%,100% 0,50% 50%,0 35%,50% 100%,100% 35%,50% 50%,100% 0);
    top: calc(100% + 94px);
    left: -10px
}

#choixSections .linkSections p {
    text-transform: uppercase;
    font-size: 14px;
    font-family: var(--font-bold);
    letter-spacing: 1.4px;
    line-height: 1.3;
    text-align: center;
    color: var(--white);
    background: var(--background-color);
    padding: 0 30px
}

#choixSections .linkSections:not(:last-of-type) {
    margin-right: 30px
}

#choixSections .linkSections {
    position: relative;
    cursor: pointer;
    padding: 5px 20px;
    transition: 250ms all ease-in-out;
    text-align: center
}

#choixSections .linkSections.active p {
    color: var(--primary-color);
    font-weight: bold;
}

#choixSections .linkSections img {
    --size: 30px;
    width: var(--size);
    height: var(--size);
    object-fit: contain;
    filter: brightness(0) invert(1)
}

.subimageSections {
    --size: 60px;
    border-radius: 100px;
    background-color: var(--tertiary-color);
    text-align: center;
    width: var(--size);
    height: var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 20px;
    transition: 250ms all ease-in-out;
    position: relative
}

#choixSections .linkSections.active .subimageSections, #choixSections .linkSections:hover .subimageSections {
    background-color: var(--primary-color);
    filter: drop-shadow(0 5px 0 #2d3d3d);
}

#choixSections .linkSections.active .subimageSections:before,
#choixSections .linkSections:hover .subimageSections:before{
    color: var(--background-color);
}

#choixSections .linkSections .subimageSections:before {
    counter-increment: sections;
    content: counter(sections);
    color: var(--white);
    font-size: 2em;
    font-family: var(--font-alt);
    transform: scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-weight: bold;
    transition: 250ms all ease-in-out;
}

#choixSections .linkSections .subimageSections:after {
    content: " ";
    --size: 100%;
    width: var(--size);
    height: var(--size);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(0);
    border: 1px solid var(--primary-color);
    opacity: 0;
    transition: .4s all;
    border-radius: 50%;
    border-bottom-left-radius: 3px
}

#choixSections .linkSections.active .subimageSections:after, #choixSections .linkSections:hover .subimageSections:after {
    opacity: 1;
    transform: translateX(-50%) translateY(-50%) scale(1.15)
}
/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances{background-image: url('../images/home-bg1.jpg');z-index: 3;}
.picto-container {
    z-index: 1;
    position: relative;
    align-items: flex-start;
    counter-reset: pictosvg;
}
.picto-container li {
    position: relative;
    margin: 0;
}
.pictoSvg {
    display: inline-block;
    margin: 0 auto;
    border-radius: 50%;
    --size: 130px;
    width: var(--size);
    height: var(--size);
    display: grid;
    align-content: center;
    justify-content: center;
    box-shadow: 0px 0px 20px #00000017;
    border: solid 4px var(--primary-color);
}
.picto-container li .pictoSvg:before{
    --size: 35px;
    left: initial;
    right: 0;
    border-radius: 50%;
    width: var(--size);
    height: var(--size);
    background: var(--primary-color);
    box-sizing: border-box;
    content: "0" counter(pictosvg);
    counter-increment: pictosvg;
    color: var(--dark-title-color);
    display: grid;
    align-content: center;
    justify-content: center;
    font-family: var(--font-bold);
    font-size: 12px;
    box-shadow: 0px 0px 20px #00000017;
    -webkit-font-smoothing: auto;
}
.picto-container li p{
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: var(--font-bold);
}

/*-----------------*/
/* PARTENAIRES */
/*-----------------*/
#partenaires .title{
    margin-bottom: 40px;
}
#partenaires .btn-contact{
    margin-bottom: 50px;
}

/*-----------------*/
/* NEWSLETTER */
/*-----------------*/
#newsletter{height: 430px;}
#newsletter:before{
	top: 50px;
	height: calc(100% - 50px);
	background-image: url(../images/footer-img.jpg);
	background-position: 50% 100px;
	background-repeat: no-repeat;
	background-size: cover;
}
#newsletterInner{
    font-size: 15px;
    line-height: 1.6;
    background: var(--white);
    padding: 30px 15px;
    max-width: 500px;
    margin: 0 auto -20px;
    width: 92%;
    text-align: center;
    box-shadow: 0 0 20px rgb(0 0 0 / 20%);
    z-index: 3;
    color: var(--dark-text-color);
}
.formwidgetnewsletter .labelnewsletter label{
    font-size: 25px;
    color: var(--dark-title-color);
    max-width: none;
}
.formwidgetnewsletter{
    flex-direction: column;
    align-items: baseline;
}
.formwidgetnewsletter .inputnewsletter{border-bottom: solid 1px rgb(0 0 0 / 0.1);}
.formwidgetnewsletter .inputnewsletter input{
    border: none;
    width: calc(100% - 110px);
    font-size: 13px;
}
.formwidgetnewsletter .submitnewsletter{top: 10px;}
.formwidgetnewsletter .submitnewsletter input{
    padding: 10px 17px 10px 0;
    font-size: 10px;
}
.formwidgetnewsletter .submitnewsletter:after{
    font-size: 16px;
    width: 11px;
    height: 17px;
    top: 6px;
}
.formwidgetnewsletter .checkrgpdnewsletter{
    margin-bottom: 20px;
    text-align: left;
}
.checkrgpdnewsletter #check_insert{top: -2px;}
.formwidgetnewsletter .noticenewsletter{font-size: 12px;}

/*-----------------*/
/* SHARE */
/*-----------------*/

/*-----------------*/
/* AGENCES */
/*-----------------*/
.mapmaker{color: var(--black)!important;}
.list_imgagence img{height:100%}
#map_agence{
    background-color: var(--tertiary-color);
    position: relative;
}
#map_agence:before{
    content:"Veuillez accepter les cookies pour afficher la carte.";
    color: var(--white);
    font-size: 23px;
    font-family: var(--font-bold);
    text-align: center;
    display: block;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    position: absolute;
    padding: 20px 5vh;
    line-height: 1.4;
}
/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
.cekome_form .button.cf_submit:hover{background-image: url(../images/icons/mail-white.svg);}
#franchisesForm{
    background: var(--secondary-color)!important;
}
#mapFranchises #listwidgetagence{
    overflow: hidden scroll;
}
#mapFranchises .list_infoagence h3{
    font-size: 16px;
}

#mapFranchises :is(#listwidgetagence, #mapwidgetagence, #map_agence){height: 660px;}

.cekome_form input[type=checkbox]{
    position: absolute;
    left: 0;
    top: 1px;
    box-shadow: none;
    height: 20px;
    width: 20px;
    margin-top: 0 !important;
}
.cekome_form .blc_checkbox label{
    position: relative;
    pointer-events: visible !important;
}

    /*-----------------*/
/* FOOTER */
/*-----------------*/
#footer:before{
    background: url(../images/home-bg3.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.wrapperContact {
    padding: 0;
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    width: auto;
}
#wrapperForm {padding: 50px;}
.imgContact{
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#footer #wrapperForm .title{
    margin-bottom: 30px;
}
#footerLinks {
    padding: 20px;
    margin: 0 auto 50px;
    border-top: 1px solid rgb(255 255 255 / 20%);
}
#footer #footerbloc {padding: 40px 15px;}
#footer .cekome_form .blc_select label, .desccontact{
    color: var(--black);
}