/*-----------------*/
/* LOADER */
/*-----------------*/
#loader {
    width: 400px;
    position: fixed;
    top: 50%;
    left: 50%;
    text-align: center;
    transform: translate3d(-50%, -50%, 0);
}
#loader .emoji, #loader .text {
    animation-name: blurIn;
    animation-duration: 0.3s;
    animation-timing-function: cubic-bezier(0.58, -0.23, 0.3, 1.3);
	animation-fill-mode: both;
}
#loader .emoji {
    display: block;
    font-size: 2.5em;
    margin-bottom: 0.2em;
    animation-delay: 0.1s;
}
#loader .text {
    line-height: 1;
    color: var(--white);
    font-size: 20px;
	font-family: var(--font-alt);
    margin-right: -14px;
}
#loader .text:after {
    content: "";
    display: inline-block;
    background: transparent;
	--size: 3px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    margin-left: 18px;
    box-shadow: -3px 0 0 rgba(255, 255, 255, 0.6), -9px 0 0 rgba(255, 255, 255, 0.6), -15px 0 0 rgba(255, 255, 255, 0.6);
    animation: pulseEllipsis 0.8s infinite both ease-in-out;
}
#loader .animateOut {
    animation-name: blurOut;
    animation-duration: 0.3s;
    animation-timing-function: cubic-bezier(0.58, -0.23, 0.3, 1.3);
    animation-fill-mode: both;
}


@keyframes blurIn {
  0% {
    transform: translate3d(0, -60px, 0) scale(0.9, 2);
    filter: blur(3px);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes blurOut {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 60px, 0) scale(0.9, 2);
    filter: blur(3px);
    opacity: 0;
  }
}
@keyframes pulseEllipsis {
  0% {
    box-shadow: -3px 0 0 rgb(255 255 255 / 60%), -9px 0 0 rgb(255 255 255 / 60%), -15px 0 0 rgb(255 255 255 / 60%);
  }
  20% {
    box-shadow: -3px 0 rgb(255 255 255 / 60%), -9px 0 0 rgb(255 255 255 / 60%), -15px 0 0 #ffffff;
  }
  40% {
    box-shadow: -3px 0 0 rgb(255 255 255 / 60%), -9px 0 0 #ffffff, -15px 0 0 rgb(255 255 255 / 60%);
  }
  60% {
    box-shadow: -3px 0 0 #ffffff, -9px 0 0 rgb(255 255 255 / 60%), -15px 0 0 rgb(255 255 255 / 60%);
  }
}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
#ckbp_banner{
    box-shadow: 0 0 30px #ffffff29;
    z-index: 2;
}
/*-----------------*/
/* HEADER */
/*-----------------*/
#logoCoordonnees {order: -1;}
#logoCoordonnees img {width: 180px;}

#header-social .sociblock .share-buttons {justify-content: flex-start;}

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
#navprimary .navigmenu .naviglink.lvl-0:not(.item-logo) span:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -15.5px;
    transform-origin: right center;
    transform: scale(0,1);
    transition: transform .25s cubic-bezier(.25,.8,.25,1);
    height: 3px;
    background: currentColor
}

#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 {
    transform-origin: left center;
    transform: scale(1,1)
}

/*-----------------*/
/* SOCIAL */
/*-----------------*/
.sociblock .share-buttons a{
	border-radius: 100px;
	padding: 10px;
	border: 1px solid #d8d8d8;
	margin: 0 2px;
}
.sociblock .share-buttons a:hover{
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.sociblock .share-buttons a svg{--size: 14px;}
#header-social .sociblock .share-buttons a svg{fill: var(--white);}
.sociblock .share-buttons a:hover svg{fill: var(--white);}



/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome-bigTxt{
    font-size: 55px;
    padding-bottom: 20px;
    font-family: var(--font-alt);
}
#headerHome-title a{
    display: inline-block;
    position: relative;
    transition: .2s ease-in-out;
    line-height: 1;
    padding: 5px 5px 0 5px;
}
#headerHome-title a:before{
       position: absolute;
       top: -2px;
       left: 1%;
       box-sizing: content-box;
       /* padding: 0 5px; */
       width: 95%;
       height: 100%;
       border: 2px solid var(--primary-color);
       content: "";
       opacity: 0;
       transition: opacity .2s,transform .2s;
       transform: scale(.8333);
       -webkit-backface-visibility: hidden;
       backface-visibility: hidden;
}
#headerHome-title a:hover:before{
    opacity: 1;
	transform: scale(1.2);
}
#headerHome-title a:hover{
     transform: scale(.8333);
    color: var(--primary-color);
}
/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
#content-pattern{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    right: 0;
    z-index: -2;
    pointer-events: none;
}
#content-pattern:before,
#content-pattern:after{
    background: url(../images/tacos-pattern.png);
    background-position: left top;
    background-repeat: repeat-y;
}
#content-pattern:after{
    right: 0;
    left: auto;
    transform: scale(-1);
}

.home #content_inner {pointer-events: none;}
.home #content_inner>* {pointer-events: all;}

.textContent {padding: 50px 30px 30px;}

.imgContent .blocthumb {margin-bottom: -100px;}

.imgContent img {
    max-width: 700px;
    margin: 0 auto;
    height: 200px;
}

.nameContent {
    font-size: 5em;
    font-family: var(--font-alt);
    color: var(--primary-color);
    position: relative;
    left: 0;
    top: 60px;
    z-index: 3;
}

.wrapContentHome {z-index: 2;}

.contentButton {
    width: 70%;
    margin-left: auto;
    z-index: 2;
}

.contentButton::after {
    left: -30px;
    width: 70px;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    border-bottom: 2px solid var(--primary-color);
}

.contentButton>a {
    display: block;
    padding: 30px;
    font-size: 1.5em;
    border-radius: 0!important;
    font-family: var(--font-title);
    font-weight: bold;
    letter-spacing: 2px;
}

.home #content #content_inner {padding: 0px 20px 10px 20px;position: relative;z-index: 3;}
/*-----------------*/
/* PRESTATIONS */
/*-----------------*/

/*-----------------*/
/* ACTU */
/*-----------------*/
#news {
    padding: 150px 30px ;
    background-image: url(../images/home-bg3.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1
}
#news .content-news {grid-gap: 0 60px}

#news .wrapper_slider {
    grid-column: span 1;
    border-bottom: solid 1px rgb(255 255 255 / 20%);
    padding-bottom: 30px;
    margin-bottom: 30px
}
#news .wrapper_inner_slider{
    height: auto;
    background: none;
    border: none;
}

#news .wrapper_slider:last-of-type,
#news .wrapper_slider:first-of-type {
    border: none;
    margin: 0;
    padding: 0
}

#news .wrapper_slider:not(:first-of-type) .thumbnail_slider, 
#news .wrapper_slider:not(:first-of-type) .text_slider { display: none}

#news .content_slider {padding: 0}
#news .title_slider a:not(:hover) { color: var(--white)}
#news .title_slider {font-size: 36px;}

#news .thumbnail_slider .button {
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 0!important;
}
#news .wrapper_slider:first-of-type .text_slider,
#news .wrapper_slider:first-of-type .text_slider a { color: var(--white)}

#news .wrapper_slider:first-of-type .next_slider {display: none}

#listarticles .listedarticle {
    background: var(--background-color);
    height: 100%
}


.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%}


/*-----------------*/
/* SECTIONS */
/*-----------------*/
#sections {
    position: relative;
    z-index: 10
}
.sectionsbloc .section_thumb .blocthumb{overflow: hidden;}

.sectionsbloc .specialthumb {position: relative}



/*-----------------*/
/* SECTION VIDEO */
/*-----------------*/
body.videoOpen #sections{
    z-index: 99;
}
#section-video{
    display: flex;
    align-items: center;
    justify-content: center;
}
.video-play-button {
  z-index: 10;
  justify-content: center;
  box-sizing: content-box;
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  border-radius: 50%;
  padding: 0 10px 0px 13px;
  position: absolute;
}

.video-play-button:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 70px;
  height: 70px;
  background: var(--white);
  border-radius: 50%;
  animation: pulse-border 1500ms ease-out infinite;
}

.video-play-button:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 60px;
  height: 60px;
  background: var(--white);
  border-radius: 50%;
  transition: all 200ms;
}

.video-play-button:hover:after {
  background-color: darken(#fa183d, 10%);
}

.video-play-button img {
  position: relative;
  z-index: 3;
  max-width: 100%;
  width: auto;
  height: auto;
}

.video-play-button span {
  display: block;
  position: relative;
  z-index: 3;
  width: 0;
  height: 0;
  border-left: 15px solid var(--black);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  line-height: 1;
}

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    opacity: 0;
  }
}

.video-overlay {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.9);
  opacity: 0;
  transition: all ease 500ms;
}

.video-overlay.open {
  position: fixed;
  z-index: 9999999;
  opacity: 1;
}

.video-overlay-close {
  position: absolute;
  z-index: 1000;
  top: 15px;
  right: 20px;
  font-size: 36px;
  line-height: 1;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: all 200ms;
}

.video-overlay-close:hover {
  color: #fa183d;
}

.video-overlay iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  /* width: 90%; */
  /* height: auto; */
  box-shadow: 0 0 15px rgba(0,0,0,0.75);
  max-width: 90%;
}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances .title {
    padding: 30px;
    padding-left: 0;
}

.imgRea {
    min-height: 400px;
    background: url(../images/home-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20Px;
    overflow: hidden;
}

.picto-container {display: grid;}
.picto-container li p {font-size: 14px;}

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

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

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

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

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

/*-----------------*/
/* FOOTER */
/*-----------------*/
#infoadresseFooter font{display: contents}
#footer:before{
    background: url(../images/home-bg2.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#footer:after{
	background: var(--black);
	z-index: -2;
	top: 100px;
	height: calc(100% - 100px);
	background: url(../images/dark-pattern.jpg);
}
.wrapperContact {
    padding: 0;
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    width: auto;
}
#wrapperForm {padding: 50px;}
.imgContact{
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


#footerLinks {
    padding: 20px;
    margin: 0 auto 50px;
    border-top: 1px solid rgb(255 255 255 / 20%);
}
#footer #footerbloc {padding: 40px 15px;}

body.template-contact-php #footer{margin:0;}
body.template-contact-php #footer:before{content: none}
body.template-contact-php #footer:after{
	top: 0;
	height: 100%;
}
