/*-----------------*/
/* LOADER */
/*-----------------*/

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
/*----------------- CKSLIDER CONTROLS -----------------*/
.ckslidercontrols :is(.next, .prev){
	background: none!important;
	--size: 140px;
	
	transition: .5s;
	border: none!important;
}
.ckslidercontrols :is(.next, .prev) svg{
	display: block;
    transition: .5s;
}

.ckslidercontrols .prev svg .ckslider-svg-wrap{transform: translateY(353px);}
.ckslidercontrols .next svg .ckslider-svg-wrap{
	transform: translateY(353px) rotateY(180deg);
    transform-origin: 80px 0px 0px;
}
.ckslidercontrols :is(.next, .prev) svg .ckslider-svg-circle-wrap{
	transition: .5s;
    transform-origin: -20px 40px;
    opacity: 1;
}
.ckslidercontrols :is(.next, .prev) svg circle {
    transition: .5s;
    stroke-width: 2px;
    stroke: var(--title-color);
    fill: none;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 1;
    transform-origin: 0px 0px 0px;
}
.ckslidercontrols :is(.next, .prev) .ckslider-svg-arrow {
    transition: .5s;
    fill: var(--title-color);
    transform: rotateY(180deg) translate(-55px, 36.1px) scale(1.75);
}
.ckslidercontrols :is(.next, .prev) .ckslider-svg-line {
    transition: .5s;
    stroke: var(--title-color);
    stroke-width: 2;
    transform: translate(50px, 42px);
}

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

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

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

/*-----------------*/
/* HEADER */
/*-----------------*/
#header{padding: 10px 20px;}

#header-coordonnees {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    min-height: 100%;
    padding: 70px 40px 65px;
    background: var(--light-color);
    overflow: hidden;
    visibility: hidden;
    overflow: scroll;
    z-index: 999;
    -webkit-transition: all .6s cubic-bezier(.77,0,.175,1);
    -o-transition: all .6s cubic-bezier(.77, 0, .175, 1);
    transition: all .6s cubic-bezier(.77,0,.175,1);
    text-align: left;
    box-shadow: 0 0 30px #00000057;
}
#header-coordonnees .flex > div{margin: 15px 0;}



body.is-toggle-open #header-coordonnees {
    right: 0;
    visibility: visible;
}
#header-coordonnees #logoCoordonnees {
    order: -1;
    margin-bottom: 10px;
}
#header-coordonnees .button{margin-top: 30px;}
#logoCoordonnees img {width: 210px;}

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .naviglink.lvl-0{
	font-family: var(--font-title);
	-webkit-font-smoothing: auto;
	letter-spacing: 1px;
	font-weight: bold;
}
.navigmenu{justify-content: flex-start}
.navigmenu .naviglink span:after,
.navigmenu .naviglink span:before{
	content: '';
	display: block;
	position: absolute;
	left: -0.1em;
	bottom: -0.4em;
	width: 100%;
	height: 1px;
	border-top: 1px solid var(--primary-color);
	transform: scale(0,1);
	transform-origin: 0 50%;
	transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
}
.navigmenu .naviglink span:before{
	padding-bottom: 4px;
    transition: transform .4s cubic-bezier(.48,.57,.33,.89);
}

#navprimary .navigmenu .active .naviglink span:after, 
#navprimary .navigmenu .naviglink:hover span:after,
#navprimary .navigmenu .active .naviglink span:before, 
#navprimary .navigmenu .naviglink:hover span:before{transform: scale(1,1);}

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

/*-----------------*/
/* SOCIAL */
/*-----------------*/
.sociblock:not(#headerHome-social .sociblock) .share-buttons a {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    align-items: center;
    justify-content: center;
    margin: 0 3px;
}

.sociblock:not(#headerHome-social .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: solid 1px #737373;
}

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

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



/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome{
	padding: 20px;
	padding-top: 0;
}
#headerHome-hero{
	grid-template-rows: repeat(7, 1fr);
	align-items: stretch;
	
}
#headerHero-hero_img{
	grid-row: span 4;
	position: relative;
}
#headerHero-hero_img img{position: absolute;}

#headerHero-hero_img.hero_img4,
#headerHero-hero_img.hero_img1{grid-row: span 3;}

#banner,
#headerHome{margin-top: 100px;}



/*-----------------*/
/* GALLERY HOME */
/*-----------------*/
#galleryHome .gallery {
    display: grid;
    width: 100%;
    transition: .6s;
    grid-template-columns: repeat(3,1fr);
    max-width: 100%;
    grid-auto-rows: 120px;
    position: relative;
    grid-gap: 2px
}

#galleryHome .gallery .gallery-item {
    grid-column: span 1;
    position: relative;
    width: 100%!important
}

/*-----------------*/
/* AVIS */
/*-----------------*/
.reply_container li::marker{display: none;content: none;}
.comment-body{
    background: var(--light-color);
    padding: 20px;
    margin: 15px 0;
}
.comment-form-comment textarea{
    width: 100%;
}
/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content .certifications{
    flex-wrap: nowrap!important;
    gap: 20px;
}
.home #content:before{
    height: 40%;
    background: var(--light-color);
    z-index: 0;
    top: auto;
    bottom: 0;
}
.home #content:after{
	background: url(../images/bg_vecto.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
	z-index: 0;
	top: auto;
	height: 8%;
	bottom: 40%;
}
.home .eb-wrapper-outer { background: none!important}
.home #content .wp-block-gallery {
    pointer-events: none;
    position: relative;
    z-index: 1;
}
.home #content .wp-block-gallery a {pointer-events: all}

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/

#prestations .cksliderwrap{padding-bottom: 60px;}
.nohome #prestations{padding: 0;}
.prestations-text{margin-bottom: 20px;}
.prestations-text p{line-height: 1.5;}

.prestations-content :is(.content_link, .tc_excerpt){
	color: var(--white);
	font-size: 15px;
}
.prestations-content .title_content{color: var(--white);}

.prestations-img{height: 600px;}
.prestations-img:before{
	background: linear-gradient(transparent 60%, var(--overlay-color));
	z-index: 1;
}

.bloc_prestations .wrap-prestations{
    transition: clip-path .3s cubic-bezier(.39,.58,.57,1);
    clip-path: inset(80px 0 100px);
}
.bloc_prestations.active .wrap-prestations{
	clip-path: inset(0 0 0 0);
	transition-duration: .4s;
}

.wrap-prestations{
	position: relative;
    display: block;
	height: 100%;
}
.prestations-content {
    --dist: 20px;
    position: absolute;
    bottom: var(--dist);
    left: var(--dist);
    right: var(--dist);
    z-index: 30;
    opacity: 0;
    transition: opacity .37s ease-out, transform .65s cubic-bezier(.18,.79,.32,.97);
    transform: translateY(138%);
    background-color: rgba(255, 255, 255, .05);
    -webkit-backdrop-filter: blur(10px);
    padding: 30px;
    backdrop-filter: blur(10px);
}
.prestations-content >*{color: var(--white);}
.bloc_prestations.active .prestations-content{
	transform: translateY(0);
    opacity: 1;
    transition-delay: .2s, .2s;
}

/*-----------------*/
/* ACTU */
/*-----------------*/
#news .title_link_slider {
    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%;
}
#news .title_slider:hover .title_link_slider {background-size: 100% 100%;}
#news .next_slider {margin-top: 10px;}
#news .left {
    display: grid;
    align-items: start
}

#news .titleImg {
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 200px;
}

#news .wrapperActu { counter-reset: actus}

#news .wrapper_slider:not(:last-child) .wrapper_inner_slider {border-bottom: 1px solid #00000017}

#news .wrapper_inner_slider {
    background: none;
    padding: 10px 0px;
}

#news .thumbnail_slider {
    transition: all .5s;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 160px;
}

#news .content_slider::before {
    content: "0" counter(actus);
    counter-increment: actus;
    position: absolute;
    top: 47%;
    transform: translateY(-50%);
    left: 0;
    font-family: var(--font-title);
    font-size: 4em;
    opacity: .1;
    color: var(--title-color);
    font-weight: bold;
}

/*-----------------*/
/* SECTIONS */
/*-----------------*/
.sectionsbloc .section_thumb .blocthumb{overflow: hidden;}
#choixSections {
    counter-reset: sections;
    display: flex;
    justify-content: center;
    position: relative
}

#choixSections:before {
    border: 1px solid var(--primary-color);
    border-bottom: none;
    border-left: none;
    top: 94px;
    left: 20px;
    width: calc(100% - 50px);
}

#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);
    right: 20px;
    left: auto;
}

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

#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);}

#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(--secondary-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 white)
}

#choixSections .linkSections .subimageSections:before{
    counter-increment: sections;
    content: counter(sections);
    color: var(--white);
    font-size: 2em;
    font-family: var(--font-title);
    transform: scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
#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 */
/*-----------------*/
.nohome #reassurances {background-image: url(../images/home-bg1.jpg);}
.nohome #reassurances .picto-container li {
    position: relative;
    flex: 1 1 50%;
    text-align: left;
    flex-direction: row;
    padding: 19px 40px
}
.nohome #reassurances .picto-container li:nth-child(3){display: none}
.nohome #reassurances .picto-container li:first-child, 
.nohome #reassurances .picto-container li:nth-child(4) {
    text-align: right;
    flex-direction: row-reverse
}

.nohome #reassurances .picto-container {flex-wrap: wrap}

.nohome #reassurances .picto-container li p {
    margin: 0 0 0 40px;
    text-transform: uppercase;
    font-family: var(--font-bold);
    letter-spacing: 1px;
    color: var(--white)
}

.nohome #reassurances .picto-container li:first-child:before,
.nohome #reassurances .picto-container li:nth-child(4):before {
    right: 20px;
    left: auto
}

.nohome #reassurances .picto-container li:first-child p, 
.nohome #reassurances .picto-container li:nth-child(4) p {margin: 0 40px 0 0}

.nohome #reassurances .picto-container li:before {
    content: "";
    --size: 70px;
    width: var(--size);
    height: var(--size);
    border: solid 2px var(--primary-color);
    position: absolute;
    top: 0;
    left: 20px
}
.home #reassurances{
	z-index: 3;
	overflow: hidden;
	height: 300px;
	display: grid;
	align-items: center;
	position: relative;
	margin-bottom: -160px;
	margin-top: -90px;
}
.home .picto-container li{
    flex-direction: row;
    margin: 0;
    padding: 0 50px;
    min-width: max-content;
    color: var(--white);
}
.home .picto-container li svg, 
.home .picto-container li img{--size: 25px;}

.picto-container li p{
	color: var(--white);
	font-family: var(--font-bold);
	font-size: 14px;
	
	text-transform: uppercase;
	letter-spacing: 1px;
}
.home .picto-container li p{
	margin: 0 0 0 14px;
}
.home #reassurances-container{
	background: var(--primary-color);
	transform: rotate(3deg);
	padding: 20px 100px;
	box-sizing: border-box;
	width: calc(100% + 100px);
	max-width: calc(100% + 100px);
	left: -50px;
	position: relative;
}
.home .picto-container {
	animation: marquee 80s linear infinite;
	position: relative;
	flex-wrap: nowrap;
	flex-direction: row;
}
.home #reassurances-containerBis{
	content: "";
	background: var(--secondary-color);
	transform: rotate(-3deg);
	z-index: -1;
	padding: 0 70Px;
	width: calc(100% + 100Px);
	max-width: calc(100% + 100Px);
	left: -50Px;
	position: absolute;
	height: 70px;
	display: flex;
	align-items: center;
}
.home #reassurances-containerBis span{
	color: var(--white);
	font-size: 16px;
	font-family: var(--font-title);
	text-transform: uppercase;
	letter-spacing: 1px;
	}

.home #reassurances-containerBis span:last-child{margin-left: auto;}

/*-----------------*/
/* PARTENAIRES */
/*-----------------*/

/*-----------------*/
/* NEWSLETTER */
/*-----------------*/

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

/*-----------------*/
/* AGENCES */
/*-----------------*/

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/

/*-----------------*/
/* FOOTER */
/*-----------------*/
#footer #footerbloc {
     grid-template-areas:
          "infoadresseFooter      infoouvertureFooter                infotelfixeFooter";
     grid-template-columns: 1fr   1fr 1fr;
}
#footer:before{
    background: url(../images/home-bg1.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-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#footerLogo{
    margin-bottom: -10px;
}
#footerLinks {
    padding: 20px;
    margin: 0 auto 50px;
    border-top: 1px solid rgb(0 0 0 / 10%);
}
#footer #footerbloc {padding: 40px 15px;}

body.template-contact-php #footer:before{content: none}