/*-----------------*/
/* LOADER */
/*-----------------*/
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.corners {
    width: 60px;
    height: 60px;
    position: relative;
    transform-origin: center;
    animation: spin 3s infinite linear;
}
.corner {
    width: 100%;
    height: 100%;
    position: absolute;
}
.corner::before {
    display: block;
    width: 48%;
    height: 48%;
    border-radius: 0 40% 0 40%;
    background-color: var(--primary-color);
    content: '';
}

@keyframes spin1 {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(0deg);
  }
  70% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin2 {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(270deg);
  }
  70% {
    transform: rotate(270deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin3 {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(180deg);
  }
  70% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin4 {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(90deg);
  }
  70% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.corner--1 {animation: spin1 3s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.corner--2 {animation: spin2 3s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.corner--3 {animation: spin3 3s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);}
.corner--4 {animation: spin4 3s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.title.tar:not(.no-after):after{
	left: auto;
	right: 0;
}
.title:not(.no-after):after, hr.wp-block-separator {
    background-color: #fff0 !important;
    background: url(../images/emphase.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 30px;
    width: 100px
}
/*-----------------*/
/* HEADER */
/*-----------------*/
#header-social .sociblock .share-buttons{
    justify-content: flex-start;
}
/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .naviglink.lvl-0{ color: var(--white);}
.navigmenu .naviglink.lvl-0 > span:after,
.navigmenu .naviglink.lvl-0:before{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -2;
	
}
.navigmenu .naviglink.lvl-0 > span:after{
	height: 1.125em;
	display: block;
	background-color: var(--tertiary-color);
	z-index: -1;
	margin: auto;
}
.navigmenu .naviglink.lvl-0:before{
	background-image: url('../images/leaf.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 25px auto;
	opacity: 0;
	transition: 250ms all ease-in-out;
}

.navigmenu .naviglink.lvl-0:hover:before, 
.navigmenu .active .naviglink.lvl-0:before{
	opacity: 1;
	transition: 500ms all ease-in-out;
}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/

#headerHome .imageDiapo:after,#bannerImg:after {
    content: "";
    position: absolute;
    width: 140%;
    min-height: 100%;
    z-index: 2;
    bottom: -1px;
    left: -20%;
    background-image: url(../images/courbe-header.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%
}

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

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content .wrappercontent.medium {max-width: 900px;}

/*----------------- LINK TURN -----------------*/
.linkTurn {
    --size: 12rem;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    font-size: 18px;
    font-family: var(--font-title);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    word-spacing: 0.25em;
    text-decoration: none;
    -webkit-font-smoothing: auto;
    font-weight: bold;
}
.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(--tertiary-color);
}
.linkTurn:hover .link__svg{background: var(--secondary-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);
}

.home #content #content-title{margin-bottom: 50px;}
.home #content #content-title .title{margin-bottom: 30px;}


.home #content .linkTurn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: initial;
    bottom: -90px;
    z-index: 1;
    -webkit-font-smoothing: inherit;
    letter-spacing: 0.13em;
    font-size: 17px;
}

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.home #prestations{
	padding: 120px 30px 150px;
	background: var(--light-color);
}
.prestations-img {height: auto;}

#prestations .cksliderwrap{padding: 0;}

.nohome #prestations{padding: 0;}

#prestations .prestations-content{
	padding: 50px 40px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 40px;
	top: 40px;
	position: relative;
}
#prestations .prestations-content:before{
	left: -20%;
	background-color: var(--white);
	width: 120%;
	border: solid 1px #f0f0f0;
}

.nohome  #prestations .prestations-content:before{
	background: var(--light-color);
}

#prestations .wrapContent-presta .blocthumb{
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
}


#prestations .blocthumb img{
	position: absolute;
	top: 0;
	left: 0;
}

#prestations .prestations-content h3 {margin: 0 0 -20px;}
/*-----------------*/
/* PRESTATIONS PAGE */
/*-----------------*/
.grid-img {
	margin-left: -1rem;
	margin-right: -1rem;
	margin-top: 100px!important;
	margin-bottom: -80px;
}
.grid-img img{
	height: 100%;
	object-fit: cover;
}

.grid-img div {
    height: 100%;
}
/*-----------------*/
/* ACTU */
/*-----------------*/
.animated-arrow {
    display: inline-block;
    color: var(--title-color);
    font-size: 11px;
    position: relative;
    transition: all .2s;
    letter-spacing: 2px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    padding: 18px 0 18px 0
}

.animated-arrow.white {color: var(--white)}
.the-arrow {
    width: 64px;
    transition: all .2s
}
.the-arrow.-left {
    position: absolute;
    top: 24px;
    left: 0
}
.the-arrow.-left>.shaft {width: 0}
.the-arrow.-left>.shaft:before,.the-arrow.-left>.shaft:after { width: 0}
.the-arrow.-left>.shaft:before { transform: rotate(0)}
.the-arrow.-left>.shaft:after {transform: rotate(0)}
.the-arrow.-right { top: 0}
.the-arrow.-right>.shaft {
    width: 64px;
    transition-delay: .2s
}

.the-arrow.-right>.shaft:before,.the-arrow.-right>.shaft:after {
    width: 8px;
    transition-delay: .3s;
    transition: all .5s
}
.the-arrow.-right>.shaft:before { transform: rotate(40deg)}
.the-arrow.-right>.shaft:after {transform: rotate(-40deg)}
.the-arrow>.shaft {
    background-color: var(--secondary-color);
    display: block;
    height: 1px;
    position: relative;
    transition: all .2s;
    transition-delay: 0;
    will-change: transform
}

.the-arrow>.shaft:before,.the-arrow>.shaft:after {
    background-color: var(--secondary-color);
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 0;
    right: 0;
    transition: all .2s;
    transition-delay: 0
}

.the-arrow>.shaft:before { transform-origin: top right}
.the-arrow>.shaft:after {transform-origin: bottom right}
.animated-arrow:hover>.the-arrow.-left>.shaft {
    width: 64px;
    transition-delay: .1s
}
.animated-arrow:hover>.the-arrow.-left>.shaft:before,.animated-arrow:hover>.the-arrow.-left>.shaft:after {
    width: 8px;
    transition-delay: .1s
}

.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(80px)}
.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 .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 .2s
}
.animated-arrow>.main>.text {
    margin: 0 16px 0 0;
    line-height: 1
}
.animated-arrow>.main>.the-arrow { position: relative}

#news .next_slider {margin-top: 10px;}
#news .left {
    display: grid;
    align-items: start
}

#news .titleImg {
    background: url(../images/home-bg3.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 */
/*-----------------*/
#sections {background: var(--light-color);}
.section_thumb {
    width: 100%;
    height: 700px
}

.section_txt {
    background: var(--white);
    max-width: 1250px;
    margin: 0 auto;
    overflow: hidden;
    z-index: 1
}

#sections .wp-block-media-text__media{position: relative;}
#sections .wp-block-media-text__media img{position: absolute;}

.buttons-wrap.tac{justify-content: center;}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances{
	z-index: 2;
	background-image: url('../images/bg-reassurances.jpg');
}

.picto-container .picto-bloc .icon-box:before {
    content: "";
    height: 100px;
    width: 100px;
    font-size: 70px;
    text-align: center;
    line-height: 150px;
    border-radius: 68% 32% 27% 73% / 60% 62% 38% 40%;
    -webkit-transition: .3s;
    transition: .3s;
    display: inline-block;
    background-color: var(--primary-color);
    position: relative;
    position: absolute;
    left: 50%;
    z-index: -1;
    margin-left: -50px;
    top: 40px;
}


.picto-container {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-auto-rows: 620px
}

.picto-container .picto-bloc {
    display: grid;
    grid-template-rows: repeat(2,1fr);
    padding: 0;
    margin: 0;
    position: relative;
}

.picto-content {
    padding: 70px 30px 50px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.picto-container .picto-bloc:nth-child(2) .picto-content, 
.picto-container .picto-bloc:nth-child(4) .picto-content {order: 2}

.picto-container li {
    margin: 0;
    padding: 0
}

.picto-img {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    width: 100%
}

.picto-container .picto-bloc:first-child .picto-img {background-image: url(../images/home-bg1.jpg)}
.picto-container .picto-bloc:nth-child(2) .picto-img {background-image: url(../images/home-bg2.jpg)}
.picto-container .picto-bloc:nth-child(3) .picto-img {background-image: url(../images/home-bg3.jpg)}
.picto-container .picto-bloc:nth-child(4) .picto-img {background-image: url(../images/home-bg4.jpg)}


.picto-container li p strong {
    display: block;
    text-transform: uppercase;
    margin-bottom: 5px;
    font-size: 14px;
    font-family: var(--font-bold);
    letter-spacing: 1px;
    color: var(--white);
}

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

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

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

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

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

/*-----------------*/
/* 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 #e3e3e3;
}
.sociblock:not(#headerHome-social .sociblock) .share-buttons a:hover:before{background: var(--tertiary-color);border-color: var(--tertiary-color);}
.sociblock:not(#headerHome-social .sociblock) .share-buttons a svg{
    --size: 15px;
}

/*-----------------*/
/* FOOTER */
/*-----------------*/
.marque-alsace,
.jm-certification{
	--size: 30px;
	width: var(--size);
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	height: var(--size);
	margin-right: 14px;
}

#wrapperForm .title{margin-bottom: 30px;}
body.template-contact-php #footer #footerbloc:before{content: none;}
body.template-contact-php #footer #footerbloc{border-bottom: solid 1px;background: var(--dark-color);}
body:not(.template-contact-php) #footer #footerbloc {
	display: block;
	background-image: url(../images/home-bg2.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 15px;
}
#footer #footerbloc{display: block;}
#footer #footerbloc>.wrappercontent {
    align-items: center;
    justify-items: center;
    display: grid;
    grid-row-gap: 15px;
    grid-column-gap: 20px;
    transition: .6s;
    grid-template-areas: "infoadresseFooter   infoouvertureFooter    infotelfixeFooter";
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(1,minmax(min-content,auto));
}

.wrapperFooter {
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    padding: 10px
}

.imgFooter {
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}