/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper{background: var(--tertiary-color)}
.loader-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -120px 0 0 -120px;
  width: 240px;
  height: 240px;
}

.loader-ring-light {
  width: 240px;
  height: 240px;
  border-radius: 240px;
  box-shadow: 0 4px 0 var(--secondary-color) inset;
  animation: rotate-360 2s linear infinite;
}

.loader-ring-track {
  position: absolute;
  top: 0;
  left: 0;
  width: 240px;
  height: 240px;
  border-radius: 240px;
  box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.3) inset;
}

@keyframes rotate-360 {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.separator{
	position:absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 3;
	right: 0;
	bottom: 0;
}
.separator:after{
	top: auto;
	bottom: 0;
    transform: scale(-1);
}
.separator:before,
.separator:after{
    background-image: url(../images/separator.png);
    height: 50px;
    background-repeat: repeat no-repeat;
    background-position: top;
}


sup {vertical-align: super;}
.title.big h2{
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-image: url(../images/bg-title.jpg);
	background-position: 50% 49%;
	background-size: cover;
	padding: 0;
	font-family: var(--font-title);
	font-size: 100px;
	line-height: 110px;
}

.linkTurn {
    --size: 12rem;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    font-size: 16px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    word-spacing: 0.55em;
    text-decoration: none;
    -webkit-font-smoothing: auto;
    font-weight: bold;
    position: absolute;
    top: 55%;
    background: var(--background-color);
    border-radius: 50%;
    border: 1px solid #dadada;
    left: 0;
    z-index: 2;
}

.linkTurn #link-circle {
    fill: var(--primary-color);
}
.link__svg {
    width: 100%;
    height: auto;
    transform-box: fill-box;
    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);
    fill: var(--title-color);
    stroke: var(--white);
}
.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);
}

/*----------------- 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(--primary-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(--primary-color);
    transform: rotateY(180deg) translate(-55px, 36.1px) scale(1.75);
}
.ckslidercontrols :is(.next, .prev) .ckslider-svg-line {
    transition: .5s;
    stroke: var(--primary-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);}


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

/*-----------------*/
/* HEADER */
/*-----------------*/
#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 {
    stroke-dashoffset: 0
}

#info-toogle svg path:first-of-type {
    stroke-dasharray: 28;
    transition: stroke-dashoffset .8s cubic-bezier(.23,1,.32,1) .4s
}

#info-toogle svg path:nth-of-type(2) {
    stroke-dasharray: 20;
    transition: stroke-dashoffset .8s cubic-bezier(.23,1,.32,1) .5s
}

#info-toogle .header__toggler-bar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 15px;
    height: 2px;
    background-color: var(--white);
    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 svg circle{stroke: var(--white);}
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:first-of-type {
    stroke-dashoffset: 28;
    transition-delay: .1s
}

body.is-toggle-open #info-toogle svg path:nth-of-type(2) {
    stroke-dashoffset: 20;
    transition-delay: 0s
}


#header-coordonnees {
    position: fixed;
    top: 0;
    right: -330px;
    width: 330px;
    height: 100%;
    min-height: 100%;
    padding: 70px 40px 65px;
    background: var(--tertiary-color);
    background-position: center;
    background-size: cover;
    overflow: hidden;
    visibility: hidden;
    overflow: scroll;
    z-index: 9998;
    -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;width: 100%;max-width: 180px;}

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

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .navigtoogle.social .naviglink.lvl-0{padding: 14px;}

.navigmenu .naviglink.lvl-0:not(.item-logo) span:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    transform-origin: right center;
    transform: scale(0,1);
    transition: transform .25s cubic-bezier(.25,.8,.25,1);
    height: 1px;
    background: currentColor;
}
.navigmenu .active .naviglink.lvl-0{color: var(--primary-color);}
.navigmenu .active .naviglink.lvl-0 span:after, 
.navigmenu .naviglink.lvl-0:hover span:after {
    transform-origin: left center;
    transform: scale(1,1);
}

/*-----------------*/
/* 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(--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);}
.sociblock:not(#headerHome-social .sociblock, #cta-social .sociblock) .share-buttons a svg {fill: var(--white);}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome{padding-top: 75px;}
#headerHome{background: var(--background-color);z-index: 3;}
#headerHome-content{pointer-events: none;}
#headerHome-content>*{pointer-events: all;}
#headerHome-social .sociblock .share-buttons a svg{--size: 20px;}
#headerHome-social .sociblock .share-buttons a:not(:hover) svg{fill: var(--white);}
#headerHome-social .sociblock .share-buttons a:hover svg{fill: var(--primary-color);}

#headerHome-content .wrappercontent:before{
    height: 400px;
    width: 350px;
    border: 30px solid rgba(255, 255, 255, 0.2);
}
/*-----------------*/
/* BANNER */
/*-----------------*/
#bannerImg{width: 100%;}
/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
#content .linkTurn{
	top: -100px;
	left: 10%;
}
.home #content{
    background-image: url(../images/farm.jpg);
    background-position: right top;
    background-repeat: no-repeat;
}
/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.home #prestations{
    background-image: url(../images/bg-prestations.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 200px 30px 360px;
    background-position: center;
}
.nohome #prestations{
    padding: 0;
}

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

.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: rgb(28 24 24 / 5%);
    -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{
	background-image: url(../images/bg-news.jpg);
	background-position: 0px bottom;
	background-repeat: no-repeat;
	z-index: 2;
	background-size: 100% auto;
	box-shadow: 0 0 30px rgb(0 0 0 / 20%);
}
.design-link {
    display: inline-flex;
    align-items: center;
    padding-left: 52px;
    text-transform: uppercase;
    font-family: var(--font-bold);
    font-size: 12px;
    letter-spacing: 1px;
    position: relative;
    color: var(--title-color)
}

.design-link:before, .design-link:after {
    content: '';
    position: absolute;
    width: 46px;
    background: var(--text-color);
    height: 1px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all .3s linear 0s
}

.design-link.white {color: var(--white)}
.design-link.white:before, .design-link.white:after {background: var(--white)}

.design-link span:before {
    content: "";
    --size: 6px;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    margin: 0;
    margin-right: 6px;
    order: -1;
    background: var(--primary-color);
    z-index: 1;
    position: relative;
    vertical-align: middle;
    top: -1px;
    border-radius: 10px
}

.design-link:after {
    width: 0;
    left: unset;
    right: 0
}

.design-link:hover {
    padding-left: 0;
    padding-right: 52px;
    color: var(--primary-color);
}

.design-link:hover:before {width: 0}
.design-link:hover:after {width: 46px}

.title_link_slider, #listarticles .listedarticle h2 a {
    background-repeat: no-repeat;
    background-image: -o-linear-gradient(transparent calc(100% - 2px),currentColor 2px);
    background-image: linear-gradient(transparent calc(100% - 2px),currentColor 2px);
    background-image: -ms-linear-gradient(transparent 95%,currentColor 2px);
    transition: .6s cubic-bezier(.215,.61,.355,1);
    background-size: 0 96%;
}

.title_link_slider:hover, 
#listarticles .listedarticle h2 a:hover {background-size: 100% 96%}
#news-content{position: relative;padding: 20px;}
#news-content:before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #ffffffab;
}
.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.white {color: var(--white);}

.btnLine::after {
    content: '';
    position: absolute;
    height: 1px;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: currentcolor;
    transform-origin: bottom left;
    transform: scaleX(1);
    transition: transform .3s ease-in-out
}

.btnLine:hover::after {
    transform: scaleX(0);
    transform-origin: bottom right
}

#news .next_slider {
    margin: 0 0 0 30px;
    min-width: 90px;
}

#news-title {
    border-bottom: solid 1px #00000012;
    margin-bottom: 100px;
    padding-bottom: 10px;
}

#news-img {
    --size: 450px;
    height: var(--size);
    width: var(--size);
    position: relative;
    transform: rotate(-10deg);
}

#news .title_slider {
    font-size: 20px;
    margin: 0!important;
    font-family: var(--font-bold);
}

#news .wrapper_inner_slider {background: none;}

#news .content_slider {padding: 0;}

#news-content .wrapper_slider:not(:last-child) .content_slider {
    border-bottom: solid 1px #60484830;
    padding: 0 0 30px;
    margin-bottom: 30px;
}

.background-item {
    position: absolute;
    --dist: 20px;
    top: var(--dist);
    left: var(--dist);
    right: var(--dist);
    bottom: var(--dist);
    transform: scale(1.05);
    opacity: 0;
    transition: all .7s;
    background-size: cover;
    background-position: center center;
}

.background-item.active {
    transform: scale(1);
    opacity: 1;
}

.background-item:before, .background-item:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 100px;
    background: var(--secondary-color);
    opacity: 0;
    transition: all .4s;
    transition-delay: .4s;
}

.background-item:before {
    top: -50px;
    left: 50px;
    transform: translateY(-100px);
}

.background-item:after {
    bottom: -50px;
    right: 50px;
    transform: translateY(100px);
    top: auto;
    left: auto;
}

.background-item.active:before, .background-item.active:after {
    opacity: 1;
    transform: translateY(0);
}
/*-----------------*/
/* SECTIONS */
/*-----------------*/
#sections {
    overflow: hidden;
	background-color: transparent;
	background-image: -webkit-linear-gradient(top, 
	    hsla(0, 0%, 100%, .75) 0, 
	    #fff 80px, 
	    #fff 50%, 
	    transparent 50%
	);
	background-image: linear-gradient(180deg, 
	    hsla(0, 0%, 100%, .75) 0, 
	    #fff 80px, 
	    #fff 50%, 
	    transparent 50%
	);
    z-index: 3;
    margin-top: -80px;
    padding-top: 60px;
}
.sectionsbloc .specialthumb {position: relative;}
.sectionsbloc.odd .section_thumb {order: 0;}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances {
    background-image: url(../images/home-bg1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 2;
}
#img-reassurance {
    background-image: url(../images/home-bg3.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 200px;
    z-index: -1;
    width: 100%;
    margin-bottom: 20px;
}
.picto-container{
    justify-content: space-around;
    flex-direction: column;
}
.picto-container .picto-bloc{
    flex-direction: row;
    text-align: left;
    margin: 35px 0;
    flex: 1 1 100%;
    padding: 0;
    position: relative;
}
.picto-container li:before {
    content: "";
    --size: 60px;
    position: absolute;
    left: -13px;
    top: 50%;
    width: var(--size);
    height: var(--size);
    background: var(--secondary-color);
    z-index: -1;
    margin-top: -30px;
    transform: rotate(45deg);
}
.picto-container li p {
    margin: 0 0 0 45px;
    font-family: var(--font-bold);
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
    text-shadow: 0 0 2px var(--black);
}
.picto-container li p strong{
    color: var(--primary-color);
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/


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

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

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

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

/*-----------------*/
/* FOOTER */
/*-----------------*/

#footerImg{
    background-image: url(../images/bg-footer.jpg);
    height: 300px;
    width: 100%;
}

.wrapperContact {
    padding: 0;
    background: var(--tertiary-color);
    box-shadow: 0px 0px 30px #1a1a2612;
    width: auto;
}
#wrapperForm {padding: 50px;}
#wrapperForm .title{margin-bottom: 30px;}

.imgContact a{height:100%;width: 100%;display: block;}
.imgContact .maps_canvas{min-height:auto;height: 100%;}
.imgContact .maps_canvas img{object-fit: cover;}

#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}
body.template-contact-php #footer:after{
    top: 0;
    height: 100%;
}

#infoadresseFooter font{display: contents;}