/*-----------------*/
/* LOADER */
/*-----------------*/
.loader-text{
	color: var(--white);
	text-transform: uppercase;
	text-align: center;
	font-family: var(--font-title);
	letter-spacing: 3px;
	animation-iteration-count: infinite;
	animation-name: clignoter;
	animation-duration: 1.2s;
	font-weight: bold;
}

.loader {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 90px;
  height: 83px;
}

.loader div {
  position: absolute;
  width: 50px;
  height: 31px;
}

.rot {transform: rotate(150deg);}
.rot2 {transform: rotate(20deg);}
.loader div:nth-of-type(2) {transform: rotate(60deg);}
.loader div:nth-of-type(3) {transform: rotate(-60deg);}

.loader div div {
  width: 100%;
  height: 100%;
  position: relative;
}

.loader div div span {
  position: absolute;
  width: 4px;
  height: 0%;
  background: var(--white);
  z-index: 999999;
}

.h1 {
  left: 0;
  animation: load1 3.2s ease infinite;
  background: var(--primary-color)!important;
}

.h2 {
  right: 0;
  animation: load2 3.2s ease 0.4s infinite;
  background: var(--primary-color)!important;
}

.h3 {
  right: 0;
  animation: load3 3.2s ease 0.8s infinite;
}

.h4 {
  top: 10px;
  left: 23px;
  animation: load4 3.2s ease 1s infinite;
  transform: rotate(90deg);
}

.h5 {
  bottom: 0;
  animation: load5 3.2s ease 1.2s infinite;
}

.h6 {
  left: 0;
  animation: load6 3.2s ease 1.3s infinite;
}
@keyframes clignoter {
  0%   { opacity:1; }
  40%   {opacity:.2; }
  100% { opacity:1; }
}
@keyframes load1 {
  0% {
    bottom: 0;
    height: 0;
  }

  6.944444444% {
    bottom: 0;
    height: 100%;
  }

  50% {
    top: 0;
    height: 100%;
  }

  59.944444433% {
    top: 0;
    height: 0;
  }
}

@keyframes load2 {
  0% {
    top: 0;
    height: 0;
  }

  6.944444444% {
    top: 0;
    height: 100%;
  }

  50% {
    bottom: 0;
    height: 100%;
  }

  59.944444433% {
    bottom: 0;
    height: 0;
  }
}

@keyframes load3 {
  0% {
    top: 0;
    height: 0;
  }

  6.944444444% {
    top: 0;
    height: 100%;
  }

  50% {
    bottom: 0;
    height: 100%;
  }

  59.94444443% {
    bottom: 0;
    height: 0;
  }
}

@keyframes load4 {
  0% {
    top: 30px;
    left: 23px;
    height: 134%;
  }

  6.944444444% {
    top: 10px;
    height: 134%;
  }

  50% {
    bottom: 10px;
    height: 134%;
  }

  59.94444443% {
    bottom: 0;
    height: 0;
  }
}

@keyframes load5 {
  0% {
    bottom: 0;
    height: 0;
  }

  6.944444444% {
    bottom: 0;
    height: 100%;
  }

  50% {
    top: 0;
    height: 100%;
  }

  59.94444443% {
    top: 0;
    height: 0;
  }
}

@keyframes load6 {
  0% {
    bottom: 0;
    height: 0;
  }

  6.944444444% {
    bottom: 0;
    height: 100%;
  }

  50% {
    top: 0;
    height: 100%;
  }

  59.94444443% {
    top: 0;
    height: 0;
  }
}
/*-----------------*/
/* ELEMENTS */
/*-----------------*/

/*-----------------*/
/* HEADER */
/*-----------------*/
#header{
    top: 10px;
    left:0;
    right: 0;
}
#logo {
    background: var(--white);
    padding: 10px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
#header-coordonnees{font-weight: bold;}
#infotelport span, #infotelport2 span{display: none;}
#infotelport, #infotelport2 {
	background-color: var(--primary-color);
	padding: 6px 15px 6px 30px;
	border-radius: 5px;
	transition: 250ms all ease-in-out;
	display: inline-block;
	width: auto!important;
}
	
#infotelport:hover, 
#infotelport2:hover {background-color: var(--secondary-color)}
	
#infotelport a,
#infotelport2 a {color: var(--white)	}
	
#infotelport:before, 
#infotelport2:before {
	background-image: url(../images/icons/phone-white.svg);
	left: 9px;
	--size: 12px;
}
/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu{justify-content: flex-end;}
.navigmenu .naviglink.lvl-1{padding: 8px 20px;}

.navigmenu .naviglink.lvl-0:not(.item-logo) span:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width .6s cubic-bezier(.25,1,.5,1)
}

.navigmenu .naviglink.lvl-0:not(.item-logo):hover span:after {
    left: 0;
    right: auto;
    width: 100%
}


/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome-accroche{font-size: 45px;}
#headerHome-certif{
  margin-top: 15px;
}
#headerHome-content{
    padding: 100px 40px 20px;
}
.ml12 .letter {
    display: inline-block;
    line-height: 1em
}

#headerHome-wrapper,
#banner-wrapper{width: calc(100% - 40px);}

#headerHome-social,
#banner-social{
	width: 40px;
	position: relative;
	background-color: var(--white);
	z-index: 1;
}
#headerHome-social-wrapper,
#banner-social-wrapper{
    position: absolute;
    right: 0;
    bottom: 20px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
#headerHome-social .label,
#banner-social .label{
	transform: rotate( -90deg );
	font-size: 12px;
	position: relative;
	bottom: 240px;
	display: flex;
	align-items: center;
	color: var(--title-color);
	letter-spacing: 2px;
	text-transform: uppercase;
	width: 130px;
	font-weight: bold;
	font-family: var(--font-bold);
}

#headerHome-social .label:before,
#banner-social .label:before{
	content: "";
	position: absolute;
	left: -170px;
	bottom: 50%;
	width: 150px;
	height: 1px;
	background-color: var(--title-color);
}
#banner-social .label{
	bottom: 180px;
}
#banner-social .label:before{
	width: 100px;
	left: -115px;
}
/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

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

/*-----------------*/
/* CONTENT */
/*-----------------*/

.home #content:before{
    background: var(--title-color);
    top: -100px;
    right: 0;
    left: auto;
}
.home #content .col-img > div{height: 100%;}


/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
#backgroundPrestations{
	width: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#backgroundPrestations .background-item{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	min-height: inherit;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity ease 0.5s;
}

#backgroundPrestations .background-item.on{opacity: 1;}

.bloc_prestations{
	position: relative;
	overflow: hidden;
	min-height: 700px;
}

.bloc_prestations.on{backdrop-filter: blur(8px);}

.bloc_prestations:before{
	pointer-events: none;
	z-index: 10;
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	opacity: 1;
	transition: opacity ease 0.5s;
}

.bloc_prestations.on .prestations-img img {opacity: 0;}

.bloc_prestations .prestations-img{
	opacity: 1;
	min-height: inherit;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center center;
	transition: all ease 0.5s;
	width: 100%;
	height: auto;
}

.bloc_prestations.off .prestations-img {opacity: 0;}

.bloc_prestations .prestations-img .blocthumb:before,
.bloc_prestations .prestations-img .blocthumb:after{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: opacity ease-in-out 0.3s;
}

.bloc_prestations .prestations-img .blocthumb:after{
	z-index: 2;
	 background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.6) 100%);
}

.prestations-content .liresuite {margin-top: 40px;}

#foregroundPrestations{
    grid-gap: 0;
    position: relative;
    z-index: 2;
}
.prestations-wrapper{
	height: 100%;
	display: flex;
}

.bloc_prestations .prestations-content{
	transition: opacity ease 0.5s;
	position: relative;
	z-index: 2;
	width: 100%;
	text-shadow: 0px 0px 8px rgb(0 0 0 / 20%);
	padding: 50px 40px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}


.bloc_prestations .title-presta{
   transition: opacity ease 0.5s;
    opacity: 1;
    transform: translateY(260px);
    transition: all ease 0.5s;
}

.bloc_prestations.on .title-presta { transform: translateY(0);}

.prestations-content h2 {
	font-size: 24px;
	letter-spacing: 1px;
}
.prestations-content .title_content, 
.prestations-content .content_link, 
.prestations-content .tc_excerpt{color: var(--white);}

.bloc_prestations.off .title-presta{opacity: 0;}


.bloc_prestations .txt-presta{
	opacity: 0;
    transition: all ease 0.5s;
    transform: translateY(100%);
    height: 260px;
}
.bloc_prestations .txt-presta .content_link {
	color: var(--white);
	line-height: 1.5;
	display: block;
	margin-bottom: 40px;
}

.bloc_prestations.on .txt-presta{
	opacity: 1;
    transform: translateY(0);
}

/*-----------------*/
/* ACTU */
/*-----------------*/
#news {
    position: relative;
    z-index: 2
}

.wrapper_inner_slider {
    display: flex;
    flex-direction: column;
    background: none
}

#news .wrapper_slider .thumbnail_slider {display: none}
#news .wrapper_slider:first-child .thumbnail_slider {display: block}

#news .wrapper_slider:first-child .content_slider {
   background: var(--title-color);
    padding: 30px 20px 50px;
    order: -1;
    color: var(--white)
}

#news .wrapper_slider:first-child .next_slider {margin-top: 40px}

#news .wrapper_slider:first-child .text_slider {font-size: 16px}

#news .wrapper_slider:first-child .title .separator {margin: 20px 0}

#news .wrapper_slider:not(:first-child) .title .newsdate, 
#news .wrapper_slider:not(:first-child) .title .separator {display: none}

#news .title_slider {
    font-size: 20px;
    letter-spacing: 1px
}

#news .wrapper_slider:first-child .title_link_slider:not(:hover) {color: var(--white)}

.listedarticle {
    background: var(--black);
    height: 100%
}

.listedarticle .wrapper_inner_slider {
    overflow: hidden
}

.listedarticle .thumbnail_slider:before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: -moz-linear-gradient(-90deg,rgba(0,0,0,0) 0%,#000 100%);
    background-image: -webkit-linear-gradient(-90deg,rgba(0,0,0,.5) 0%,#000 100%);
    background-image: -ms-linear-gradient(-90deg,rgba(0,0,0,0) 0%,#000 100%);
    opacity: .8;
    z-index: 1
}

.listedarticle .wrap_slider {
    position: absolute;
    transition: .5s;
    opacity: 0;
    transform: translateY(30px);
    right: 20px;
    left: 20px
}

.listedarticle .wrapper_inner_slider:hover .wrap_slider {
    opacity: 1;
    transform: translateY(-160px)
}

.listedarticle .wrapper_inner_slider:hover .title_slider {
    transform: translateY(-160px)
}

.listedarticle .content_slider {
    position: absolute;
    left: 0;
    bottom: 10px;
    right: 0;
    z-index: 1;
    padding: 30px 20px;
    text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
    color: var(--white)
}

.listedarticle .thumbnail_slider {
    height: 500px
}
/*-----------------*/
/* SECTIONS */
/*-----------------*/

.sectionsbloc.odd:before {background: var(--title-color)}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances{
	background: var(--title-color);
	
}

.picto-container li:before {
    content: "";
    --size: 60px;
    width: var(--size);
    height: var(--size);
    border: solid 2px var(--primary-color);
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/

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

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

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

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

/*-----------------*/
/* FOOTER */
/*-----------------*/
#footerForm:after{
    background: url(../images/home-bg3.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -2;
}
.wrapperContact {
    padding: 0;
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    width: auto;
}
#footerForm .title{ margin-bottom: 30px;}

#wrapperForm {padding: 50px;}
.imgContact{
    background: url(../images/home-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 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 #footerForm:before,
body.template-contact-php #footerForm:after{content: none}
