/*-----------------*/
/* LOADER */
/*-----------------*/
.loader ul {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: rotate(45deg) translate(-50%, -50%);
  }
  
  .loader li {
    list-style-type: none;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 20px;
    height: 20px;
    background: var(--primary-color);
    border-radius: 50%;
    transition: all 0.4s;
  }
  .loader li:nth-child(2n){background: var(--secondary-color);}
  .loader li:nth-child(3n){background: var(--tertiary-color);}
  
  #a {
    animation: a 1s ease-in-out infinite;
    top: -40px;
    left: -40px;
  }
  
  #b {
    animation: b 1s ease-in-out infinite;
    top: -40px;
    left: 0px;
  }
  
  #c {
    animation: c 1s ease-in-out infinite;
    top: -40px;
    left: 40px;
  }
  
  #d {
    animation: d 1s ease-in-out infinite;
    top: 0px;
    left: -40px;
  }
  
  #e {
    animation: e 1s ease-in-out infinite;
    top: 0px;
    left: 0px;
  }
  
  #f {
    animation: f 1s ease-in-out infinite;
    top: 0px;
    left: 40px;
  }
  
  #g {
    animation: g 1s ease-in-out infinite;
    top: 40px;
    left: -40px;
  }
  
  #h {
    animation: h 1s ease-in-out infinite;
    top: 40px;
    left: 0px;
  }
  
  #i {
    animation: i 1s ease-in-out infinite;
    top: 40px;
    left: 40px;
  }
  
  @keyframes a {
    50% {
      top: 0px;
      left: -40px;
    }
    100% {
      top: 0px;
      left: -40px;
    }
  }
  @keyframes b {
    50% {
      top: -40px;
      left: -40px;
    }
    100% {
      top: -40px;
      left: -40px;
    }
  }
  @keyframes c {
    50% {
      top: -40px;
      left: 0px;
    }
    100% {
      top: -40px;
      left: 0px;
    }
  }
  @keyframes d {
    50% {
      top: 40px;
      left: -40px;
    }
    100% {
      top: 40px;
      left: -40px;
    }
  }
  @keyframes f {
    50% {
      top: -40px;
      left: 40px;
    }
    100% {
      top: -40px;
      left: 40px;
    }
  }
  @keyframes g {
    50% {
      top: 40px;
      left: 0px;
    }
    100% {
      top: 40px;
      left: 0px;
    }
  }
  @keyframes h {
    50% {
      top: 40px;
      left: 40px;
    }
    100% {
      top: 40px;
      left: 40px;
    }
  }
  @keyframes i {
    50% {
      top: 0px;
      left: 40px;
    }
    100% {
      top: 0px;
      left: 40px;
    }
  }
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.title.white small{color: var(--white);}
/*-----------------*/
/* HEADER */
/*-----------------*/

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .naviglink.lvl-0 span:after,
.navigmenu .naviglink 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.lvl-0 span:before,
#navprimary .navigmenu .naviglink.lvl-0:hover span:before {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1)
}
/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome-title{
      text-align: center;
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      background-image: url(../images/home-bg1.jpg);
      background-attachment: fixed;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      font-size: 20em;
      margin-bottom: -60px;
}
#headerHome-accroche{
    font-size: 4vw;
}
#headerHome:after,
#banner:after{
    height: 210px;
    max-height: 32%;
    top: auto;
    right: 0;
    bottom: -51px;
    z-index: 2;
    -webkit-mask-image: url(../images/slider-cloud-bg.svg),url(../images/slider-cloud-bg-2.svg);
    -webkit-mask-size: contain;
    -webkit-mask-position: bottom center;
    -webkit-mask-repeat: repeat-x;
    background-color: var(--background-color);
    pointer-events: none;
}
#headerHome:before{
    background: linear-gradient(#2e2e2ebd , transparent);
    z-index: 2;
}
#headerHome-img{
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
}
#headerHome-img:before,
#headerHome-img:after{
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    animation: 4s floating infinite ease-in-out;
    width: 80%;
    left: 10%;
}
#headerHome-img:before{background-image: url(../images/headerHome-img2.png);}
#headerHome-img:after{
    background-image: url(../images/headerHome-img1.png);
    animation-delay: 1s;
}


/*-----------------*/
/* SOCIAL */
/*-----------------*/
.sociblock .share-buttons a {
    border-radius: 100px;
    padding: 10px;
    border: 1px solid #adadad;
    margin: 0 2px
}

.sociblock .share-buttons a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color)
}

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

.sociblock .share-buttons a:hover svg {fill: var(--white)}

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content .wp-block-image img{
    height: 40px;
    object-fit: contain;
}
.home #content .colonneRight{padding: 50px 0 50px 30px;}

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.home #prestations{background: var(--light-color);}
.home #prestations:after{
	height: 100px;
    top: initial;
    bottom: 0;
    background: url(../images/curvenuages.png);
    background-position: bottom center;
    background-repeat: repeat-x;
    background-size: contain;
    z-index: 1;
}
#prestations .bloc_prestations:nth-child(3) .prestations-img .specialthumb{animation-delay: 1s;}
#prestations .bloc_prestations:nth-child(2) .prestations-img .specialthumb{animation-delay: 1.5s;}
#prestations .prestations-img .specialthumb{animation: 4s floating infinite ease-in-out;}
#prestations .prestations-img .specialthumb:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../images/rounded-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
/*-----------------*/
/* ACTU */
/*-----------------*/
#news {background: var(--light-color);}

.thumbnail_slider{height: auto;}
.btnLine {
    background: none!important;
    padding: 0!important;
    line-height: 1.6;
    color: var(--title-color)!important;
    letter-spacing: 1px;
    border-radius: 0!important;
}
.btnLine:after{content: none;}

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

.btnLine:hover::before {
    transform: scaleX(1);
    transform-origin: bottom left
}
.design-link {
    display: inline-flex;
    align-items: center;
    padding: 0;
    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(--secondary-color);
    z-index: 1;
    position: relative;
    vertical-align: middle;
    top: -1px;
    border-radius: 100%
}

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

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

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

.title_link_slider {
    background-size: 100% 96%;
    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);
    -webkit-transition: .6s cubic-bezier(.215,.61,.355,1);
    -o-transition: .6s cubic-bezier(.215,.61,.355,1);
    transition: .6s cubic-bezier(.215,.61,.355,1);
    background-size: 0 96%
}

.title_link_slider:hover {
    background-size: 100% 96%
}

#news-title{
	margin-bottom: 40px;
	border-bottom: solid 1px #0000001f;
	padding-bottom: 10px;
}

#news .wrapper_inner_slider{background: none;}

#news .next_slider{margin-top: 0;}
.title_slider{font-size: 20px;font-family: var(--font-title);}
#news .content_slider{padding: 20px 0;}

#news-bg{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
}
.news_bg{
	position: absolute;
    left: 100px;
    --size: 300px;
    width: var(--size);
    height: var(--size);
    top: 50%;
}
.news_bg:before{
	background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.2;
}
.news_bg:after{
	background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
	animation: 4s floating infinite ease-in-out;
}
#news-bg_2{
	left: initial;
	right: 100px;
	top: 70%;
}
#news-bg_1:before{background-image: url(../images/bg-overlay_1.png);}
#news-bg_1:after{background-image: url(../images/bg-img_4.png);}

#news-bg_2:before{background-image: url(../images/bg-overlay_2.png);}
#news-bg_2:after{
	animation-delay: 1s;
	background-image: url(../images/bg-img_3.png);
}
/*-----------------*/
/* SECTIONS */
/*-----------------*/
.buttons-wrap{
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
#choixSections {
    counter-reset: sections;
    display: flex;
    justify-content: center;
    position: relative
}

#choixSections:before {
    border: 1px solid var(--tertiary-color);
    border-bottom: none;
    border-right: none;
    top: 94px
}

#choixSections:after {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    background: var(--tertiary-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);
    left: -10px
}

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

#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(--tertiary-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(--title-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(--tertiary-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(--tertiary-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-image: url('../images/home-bg2.jpg');
	background-size: cover;
	background-position: center;
}
#reassurances .picto-container {
	display:grid;
	grid-template-columns: repeat(2, 1fr);
}
.picto-content{position: relative;}
#reassurances .picto-bloc{
	padding: 50px;
	position: relative;
	text-align: left;
	display: block;
	margin: 10px;
	box-shadow: 0 10px 60px rgba(0, 0, 0, 0.1);
	background: var(--white);
}

#reassurances .picto-bloc strong{
    font-family: var(--font-title);
    font-size: 22px;
    display: block;
    margin-bottom: 20px;
    line-height: 1.2;
    color: var(--title-color);
}

#reassurances .picto-img{
	--size: 100%;
	height: 200px;
	width: var(--size);
}
#reassurances .picto-img span{
	overflow: hidden;
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../images/portfolio1.jpg');
	background-size: cover;
	background-position: center;
}
#reassurances .picto-bloc:nth-child(2) .picto-img span{background-image: url('../images/portfolio2.jpg');}
#reassurances .picto-bloc:nth-child(3) .picto-img span{background-image: url('../images/portfolio3.jpg');}
#reassurances .picto-bloc:nth-child(4) .picto-img span{background-image: url('../images/portfolio4.jpg');}

#reassurances .icon-box{
	position: absolute;
	--size: 88px;
	height: var(--size);
	width: var(--size);
	background-color: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 60px rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	z-index: 2;
	transition: all 300ms ease;
}

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

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

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

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

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

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