/*-----------------*/
/* LOADER */
/*-----------------*/
/* From Uiverse.io by kerolos23 */ 
.loader {
  width: 53px;
  height: 53px;
  border: 5px dotted var(--white);
  border-style: solid solid dotted dotted;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  animation: rotation 2s linear infinite;
}

.loader::after {
  content: '';
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 4px dotted var(--primary-color);
  border-style: solid solid dotted;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  animation: rotationBack 1s linear infinite;
  transform-origin: center center;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(-360deg);
  }
} 
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
hr.wp-block-separator, .title:not(.no-after):after {
    background-image: url(../images/separator.svg);
    background-color: transparent!important;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 7px;
    width: 143px
}

/*----------------- FORMES TRAITS -----------------*/
.formes {
    --base-size: 15px;
    width: var(--base-size)!important;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    gap: 5px;
    z-index: 1;
    pointer-events: none
}

.formes .forme {
    width: 100%;
    height: 5px;
    background: var(--primary-color)
}

.formes .forme:nth-child(odd) {width: calc(100% - 10px)}

.formes.inverse {
    left: initial;
    right: 0;
    text-align: right
}

.formes.inverse .forme {margin-left: auto}
.button.buttonIcon,
.underbutton.buttonIcon > *{
	padding: 18px 15px 18px 45px;
  font-size: 16px;
}

.button.buttonIcon:after,
.underbutton.buttonIcon > *:after{
	content: "";
	background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
	position: absolute;
	--size: 20px;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
	 width: var(--size);
    height: var(--size);
	display: block;
	transition: 250ms all ease-in-out;
}
.urgenceButton:after{background-image: url(../images/icons/mobile-white.svg);}

.urgenceButton {
	transition: background-color 0.5s ease;
	animation: blink 0.5s infinite alternate;
}

.linkTurn {
    --size: 12rem;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    font-size: 18px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.2175em;
    word-spacing: 0.55em;
    text-decoration: none;
    -webkit-font-smoothing: auto;
    font-weight: bold;
    position: absolute;
    top: 55%;
    left: 0;
}
.link__svg {
    width: 100%;
    height: auto;
    transform-box: fill-box;
    fill: var(--white);
    stroke: var(--white);
    border-radius: 50%;
    padding: 10px;
    stroke-width: 0.05em;
    box-sizing: border-box;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
    background: var(--primary-color);
}
.link__arrow {
    transform-origin: 50% 50%;
    transition: transform 0.15s cubic-bezier(0.32, 0, 0.67, 0);
}
.linkTurn:hover .link__arrow {
    transform: scale(1.3);
    transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.link__arrow {stroke-width: 0.075em;transform: rotate(-25deg);}
.link__text {
    -webkit-animation: rotateReverse normal infinite 20s linear;
    animation: rotateReverse normal infinite 20s linear;
    transform-origin: 50% 50%;
}
.link--alt {
    font-size: 1.15rem;
    letter-spacing: 0;
    word-spacing: 0;
}

.linkTurn.white svg{
	fill: var(--white);
    stroke: var(--white);
}


/*-----------------*/
/* HEADER */
/*-----------------*/

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .naviglink.lvl-0:not(.item-logo) span:after,
.navigmenu .naviglink:not(.item-logo) span:before {
    content: '';
    display: block;
    position: absolute;
    left: -.1em;
    bottom: -.4em;
    width: 100%;
    height: 1px;
    border-top: 1px solid var(--primary-color);
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
    -o-transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
    transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
    transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s , -webkit-transform .4s cubic-bezier(.48,.57,.33,.89) .1s
}

.navigmenu .naviglink span:before {
    padding-bottom: 4px;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.48,.57,.33,.89);
    -o-transition: transform .4s cubic-bezier(.48,.57,.33,.89);
    transition: transform .4s cubic-bezier(.48,.57,.33,.89);
    transition: transform .4s cubic-bezier(.48,.57,.33,.89) , -webkit-transform .4s cubic-bezier(.48,.57,.33,.89)
}

#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,
#navprimary .navigmenu .active .naviglink span:before,
#navprimary .navigmenu .naviglink:hover span:before {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1)
}
/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome .horaires
{
  display: none;
}
#headerHome .linkTurn{
	background: var(--background-color);
	border-radius: 50%;
	border: 1px solid #dadada;
	position: absolute;
	bottom: -60px;
	z-index: 2;
	top: auto;
	left: 10%;
	font-size: 15px;
	letter-spacing: 0.1175em;
	word-spacing: 0.45em;
}
#headerHome .linkTurn .link__svg{
	fill: var(--title-color);
	stroke: var(--white);
	background: none;
}
#headerHome #link-circle {
    fill: var(--primary-color);
    border: 10px solid red;
}

#headerHome-wrapper{
	width: 100%;
	height: 100%;
}
.imageDiapo:before,
.imageDiapo:after,
#headerHome-wrapper:before,
#headerHome-wrapper:after {
    z-index: 2;
    border: calc(100vw* 0.007) solid var(--primary-color);
    top: 43%;
    width: var(--size);
    height: var(--size)
}

#headerHome-wrapper:before,
#headerHome-wrapper:after {
    opacity: .23;
    transform: translateY(-50%)
}

#headerHome-wrapper:before {
    --size: 12.5vw;
    margin-top: calc(99vw* 0.2);
    left: calc(100vw* 0.03)
}

#headerHome-wrapper:after {
    --size: 17.5vw;
    left: auto;
    right: calc(-100vw* 0.04);
    margin-top: calc(-100vw* 0.06)
}

.imageDiapo:before {
    --size: 20vw;
    transform: translate(-50%,0%);
}

.imageDiapo:after {
    --size: 10vw;
    left: auto;
    right: 0;
    margin-top: calc(-100vw* 0.14);
    transform: translateX(30%) translateY(-50%)
}
/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

/*-----------------*/
/* PRODUITS HOME */
/*-----------------*/

/*-----------------*/
/* CONTENT */
/*-----------------*/

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.home #prestations{background: var(--light-color);}

#prestations {overflow: hidden;}

.template-parent-page-php #content {padding-bottom: 0;}
.template-parent-page-php #prestations {padding-top: 0;}

.bloc_prestations h3 {transition: all 0.4s;}
.prestations-content {padding: 10px;}

#prestations :is(.content_link, .title_content, .prestations-title h3, .tc_excerpt) { color: var(--title-color);}

.prestations-content :is(.content_link, .tc_excerpt) {font-size: 16px;}
/*-----------------*/
/* ACTU */
/*-----------------*/
.animated-arrow .the-arrow {
  width: 1px;
  transition: 245ms all ease-in-out;
}
.animated-arrow .the-arrow.-left {
  position: absolute;
  top: 45%;
  left: 0;
}
.animated-arrow .the-arrow.-left > .shaft {
  width: 0;
  background-color: currentcolor;
}
.animated-arrow .the-arrow.-left > .shaft:before, 
.animated-arrow .the-arrow.-left > .shaft:after {
  width: 0;
  background-color: currentcolor;
}
.animated-arrow .the-arrow.-left > .shaft:before {transform: rotate(0);}
.animated-arrow .the-arrow.-left > .shaft:after {transform: rotate(0);}

.animated-arrow .the-arrow.-right {top: 0px;}
.animated-arrow .the-arrow.-right > .shaft {
  width: 1px;
  transition-delay: 0.2s;
}
.animated-arrow .the-arrow.-right > .shaft:before, 
.animated-arrow .the-arrow.-right > .shaft:after {
  width: 8px;
  transition-delay: 0.3s;
  transition: all 0.5s;
}
.animated-arrow .the-arrow.-right > .shaft:before {transform: rotate(40deg);}
.animated-arrow .the-arrow.-right > .shaft:after {transform: rotate(-40deg);}

.animated-arrow .the-arrow > .shaft {
  background-color: currentcolor;
  display: block;
  height: 1px;
  position: relative;
  transition: 245ms all ease-in-out;
  transition-delay: 0;
  will-change: transform;
}
.animated-arrow .the-arrow > .shaft:before, 
.animated-arrow .the-arrow > .shaft:after {
  background-color: currentcolor;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  top: 0;
  right: 0;
  transition: 245ms all ease-in-out;
  transition-delay: 0;
}
.animated-arrow .the-arrow > .shaft:before {transform-origin: top right;}
.animated-arrow .the-arrow > .shaft:after {transform-origin: bottom right;}

.animated-arrow {
  display: inline-block;
  color: var(--title-color);
  font-size: 12px;
  text-decoration: none;
  position: relative;
  transition: 245ms all ease-in-out;
  font-family: var(--font-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.animated-arrow.white{color: var(--white);}

.animated-arrow:hover {/* color: var(--secondary-color); */padding-right: 40px;}
.animated-arrow:hover > .the-arrow.-left > .shaft {
  width: 44px;
  transition-delay: 0.1s;
  background-color: currentcolor;
}
.animated-arrow:hover > .the-arrow.-left > .shaft:before, 
.animated-arrow:hover > .the-arrow.-left > .shaft:after {
  width: 8px;
  transition-delay: 0.1s;
  background-color: currentcolor;
}
.animated-arrow:hover > .the-arrow.-left > .shaft:before {transform: rotate(40deg);}
.animated-arrow:hover > .the-arrow.-left > .shaft:after {transform: rotate(-40deg);}

.animated-arrow:hover > .main {transform: translateX(55px);}

.animated-arrow:hover > .main > .the-arrow.-right > .shaft {
  width: 0;
  transform: translateX(200%);
  transition-delay: 0;
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:before, 
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:after {
  width: 0;
  transition-delay: 0;
  transition: all 0.1s;
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:before {transform: rotate(0);}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:after {transform: rotate(0);}

.animated-arrow > .main {
  display: flex;
  align-items: center;
  transition: all 0.2s;
}
.animated-arrow > .main > .text {
  margin: 0 16px 0 0;
  line-height: 1;
}
.animated-arrow > .main > .the-arrow {position: relative;}

.btnLine {
   background: none!important;
   padding: 0!important;
   line-height: 28px;
   color: var(--title-color);
   letter-spacing: 1px;
   font-size: 11px;
   font-family: var(--font-bold);
   text-transform: uppercase;
   position: relative;
}

.btnLine::after {
    content: '';
    position: absolute;
    height: 1px;
    bottom: 0px;
    left: 0;
    right: 0;
    background-color: var(--title-color);
    transform-origin: bottom left;
    transform: scaleX(1);
    transition: transform 0.3s ease-in-out;
}
.btnLine:hover::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
#news{background: var(--light-color);}



#news{padding: 150px 30px;}
#news-title{
	border-bottom: 1px solid rgb(0 0 0 / 20%);
	padding-bottom: 10px;
	margin-bottom: 30px;
	position: relative;
}
#news-title .arrowlink{
    top: 7px;
    position: relative;
}
.wrapper_slider {
    display: flex;
    position: relative;
    box-sizing: border-box;
    background: var(--background-color);
    align-items: center;
    grid-column: span 1;
    height: 100%;
    padding: 0;
    box-shadow: 0 0 20px #e0e0e0;
}
.thumbnail_slider {
    display: block;
    height: 100%;
    width: 46%;
    margin-right: 13px;
}

.content_slider {
    padding: 30px 25px 30px 15px;
    width: 54%;
}
.content_slider .title {margin: 0 0 10px 0;}
.next_slider {
	min-width: 115px;
	margin: 0;
}
.title_slider,
.title_slider h2{
	font-size: 20px;
	font-family: var(--font-bold);
}

#listarticles .thumbnail_slider{
	height: 480px;
    width: 100%;
    margin: 0;
}
#listarticles .content_slider {
    position: absolute;
    bottom: 25px;
    left: 25px;
    background: var(--white);
    right: 25px;
    padding: 20px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto;
}
#listarticles .listedarticle .content_slider .title_slider {margin: 0 20px 0 0;}

/*-----------------*/
/* SECTIONS */
/*-----------------*/
#sections {
    position: relative;
    z-index: 10
}
.buttons-wrap.tac{justify-content: center}
.sectionsbloc .specialthumb {position: relative}

#sections .sectionsbloc.odd .section_txt a:not([class*="button"]), 
#sections .sectionsbloc.odd .section_txt a:not([class*="button"]) strong{background-image: linear-gradient(to bottom, transparent 20%, var(--white) 21%);}

#sections .sectionsbloc.odd .section_txt a:not([class*="button"]):hover, 
#sections .sectionsbloc.odd .section_txt a:not([class*="button"]):hover strong{color: var(--white)}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances{background-image: url('../images/home-bg1.jpg');}
#reassurances .elemreassurances{
    position: relative;
    counter-reset: reaItem;
}

#reassurances .bloc_reassurances{
    padding: 0 30px !important;
    margin: 0;
    font-size: 15px;
    text-align: center;
}
#reassurances .reassurances-img{
    position: relative;
    --size: 100px;
    width: var(--size);
    height: var(--size);
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#reassurances .reassurances-img:after{
    content: "";
    border-radius: 100%;
    background: var(--primary-color);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
#reassurances .reassurances-img img{
    filter: invert(1);
    --size: 50px;
    width: var(--size);
    height: var(--size);
}
#reassurances .reassurances-img:before {
    content: "0" counter(reaItem);
    counter-increment: reaItem;
    font-size: 50px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px var(--light-color);
    opacity: .5;
    position: absolute;
    left: -30px;
    z-index: 6;
    top: -10px;
    font-family: var(--font-bold);
}
#reassurances .bloc_reassurances h3{
    line-height: 1.3;
    font-size: 18px;
    margin: 0 0 5px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}
#reassurances .bloc_reassurances p{
    font-size: 15px;
    line-height: 1.4;
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/

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

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

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

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
.wrap-fieldset .blc_select{margin-top: 15px;}
/*-----------------*/
/* FOOTER */
/*-----------------*/
#fondContact {
    background: url(../images/home-bg1.jpg);
    background-position: top -100px center;
    background-repeat: no-repeat;
    background-size: cover;
}
#footer-coordonnees{
    background-color: var(--background-color);
    border: solid 1px;
}
#footer .wrapperContact{background: var(--black);}
#footer-coordonnees > div{
    margin: 20px 0;
    width: 100%;
    max-width: 230px;
}
#footer .cekome_form .blc_checkbox label a:hover{color: var(--white)}

.telFooter
{
  position: fixed;
  left: initial;
  right: 0;
  top: 65%;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: top right;
  transition: all 0.4s;
}
.telFooter a
{
  color: var(--white)!important;
}
.telFooter .horaires
{
  display: none;
}