/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper{background: var(--quaternary-color);}
.bird-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    will-change: transform;
}

.mybird {
    background-image: url(../images/bird-cells.svg);
    background-size: auto 100%;
    width: 282px;
    height: 490px;
    will-change: background-position;
    animation-name: fly-cycle;
    animation-duration: 1s;
    animation-delay: -.5s;
    animation-timing-function: steps(10);
    transform: scale(.5);
    animation-iteration-count: infinite;
}
@keyframes fly-cycle {
  100% {
    background-position: -3600px 0;
  }
}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.title.tar:not(.no-after):after{
	left: auto;
	right: 0;
}
.title.white:after{background-color: var(--primary-color);}
.title.white small{color: var(--primary-color);}
/*-----------------*/
/* HEADER */
/*-----------------*/
/*-----------------*/
/* HEADER */
/*-----------------*/
#header{padding: 20px;}

#header-coordonnees {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    min-height: 100%;
    padding: 70px 40px 65px;
    background: var(--tertiary-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: 30px;
}
#header-coordonnees .button{margin-top: 30px;}
#logoCoordonnees img {width: 180px;}

/*-----------------*/
/* 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);}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome:before {
	background-image: url(../images/light-pattern.jpg);
	background-position: center;
	background-size: cover;
	top: -110px;
	height: calc(100% + 110px);
	transform: scaleX(-1);
}
#headerHome-logo img{width: 340px;}
#headerHome{padding: 30px;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;}

#headerHome-logo,
#headerHero-hero_img.hero_img1{
	grid-row: span 3;
}
#headerHero-hero_img.hero_img3 img{object-position: 76%;}

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


/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content:before{
    height: 35%;
    background: var(--quaternary-color);
    z-index: 0;
    top: auto;
    bottom: 0;
}
.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}


/*-----------------*/
/* SOCIAL */
/*-----------------*/
.share-buttons a {
    --size: 38px;
    width: var(--size);
    position: relative;
    display: flex!important;
    height: var(--size);
    align-items: center;
    justify-content: center;
    margin: 0 3px!important;
    padding: 0!important
}

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

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

.sociblock .share-buttons a svg {
	--size: 17px;
	fill: var(--white)!important;
}

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
#prestations {overflow: hidden;}
.home #prestations { background-image: url('../images/home-bg3.jpg')}

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

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

.home  :is(.content_link, .title_content, .prestations-title h3, .tc_excerpt) { color: var(--white);}
.template-parent-page-php :is(.content_link, .title_content, .prestations-title h3, .tc_excerpt) { color: var(--title-color);}

.prestations-content :is(.content_link, .tc_excerpt) {font-size: 16px;}

.prestations-content .button:not(.cf_submit){
    background: #fff0!important;
    background-image: url(../images/arrow.svg)!important;
    background-position: center!important;
    background-repeat: no-repeat!important;
    background-size: contain!important;
    --size: 100px;
    width: var(--size);
    height: var(--size);
    transition: all 0.4s;
}
.prestations-content .button:not(.cf_submit)::before{display: none;}
.prestations-content .button:hover{transform: rotate(-45deg);}
.prestations-content .button span{font-size: 0;}

/*-----------------*/
/* 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(--primary-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(--primary-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-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(--quaternary-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 */
/*-----------------*/
#reassurances{background:var(--tertiary-color);}

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

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


#reassurances .picto-content {
    padding: 50px 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

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

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

#reassurances .picto-container .picto-bloc:first-child .picto-img {background-image: url(../images/hero-1.jpg)}
#reassurances .picto-container .picto-bloc:nth-child(2) .picto-img {background-image: url(../images/hero-2.jpg)}
#reassurances .picto-container .picto-bloc:nth-child(3) .picto-img {background-image: url(../images/home-bg3.jpg)}
#reassurances .picto-container .picto-bloc:nth-child(4) .picto-img {background-image: url(../images/home-bg2.jpg)}
#reassurances .picto-container .picto-bloc:nth-child(5) .picto-img {background-image: url(../images/hero-3.jpg)}
#reassurances .picto-container .picto-bloc:nth-child(6) .picto-img {background-image: url(../images/home-bg1.jpg)}

#reassurances .picto-container li p strong {
    display: block;
    text-transform: uppercase;
    margin-bottom: 5px;
    font-size: 17px;
    font-family: var(--font-title);
    letter-spacing: 2px;
    color: var(--white);
}

#reassurances .picto-container li p {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 5px;
    max-width: 360px;
    color: var(--white);
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/
#partenaires{
    background: var(--quaternary-color);
    padding: 50px 15px;
}
#partenaires .ckslidercontrols .next, 
#partenaires .ckslidercontrols .prev{
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
}
#partenaires .cksliderwrap{padding-bottom: 0;}
#partenaires .ckctrldiv{display: none;}
/*-----------------*/
/* NEWSLETTER */
/*-----------------*/

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

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

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

/*-----------------*/
/* CTA */
/*-----------------*/
#cta .wrappercontent{
  color: var(--black);
    line-height: 1.5;
    max-width: 600px;
    background-color: rgb(255 255 255 / 0.9);
    padding: 60px 40px;
}
#cta .title{margin-bottom: 20px;}
#cta .accroche{
    margin-bottom: 30px;
}
#cta .title h2{font-size: 28px;}

/*-----------------*/
/* FOOTER */
/*-----------------*/
#footerForm:after{
	background: linear-gradient(rgb(0 0 0 / 0%), hsl(0deg 0% 0% / 70%));
}
#footer{background-color: var(--quaternary-color);}
#footerLinks a { color: var(--white);}

#footer #footerbloc {
	grid-template-areas:
		"footerLinks";
	grid-template-columns:  1fr;
	padding: 0;
}
#footerForm{
	background-image: url(../images/home-bg2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 120px 50px 220px;
    z-index: 3;
}
#footerForm #wrapperForm{
	max-width: 700px;
    margin: auto;
    background-color: var(--white);
    padding: 70px 50px;
}
#footerForm #wrapperForm .title{margin-bottom: 40px;}

#footer-coordonnees{
	bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}
#footer-coordonnees .wrappercontent > div {
    line-height: 1.3;
    font-size: 15px;
    padding: 45px 20px 20px 20px;
}
#footer-coordonnees .wrappercontent>div:before {top: 20px;}