/*-----------------*/
/* LOADER */
/*-----------------*/

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
/*----------------- CKSLIDER CONTROLS -----------------*/
.ckslidercontrols :is(.next, .prev){
	background: none!important;
	--size: 80px;
	height: auto;
	top: 50%;
	transform: translateY(-50%);
	bottom: auto;
	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;
    fill: none;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 1;
    transform-origin: 0px 0px 0px;
    fill: var(--secondary-color);
}
.ckslidercontrols :is(.next, .prev) .ckslider-svg-arrow {
    transition: .5s;
	fill: var(--title-color);
    transform: rotateY(180deg) translate(-57px, 32.2px) scale(2.95);
}
.ckslidercontrols :is(.next, .prev) .ckslider-svg-line {
    transition: .5s;
    stroke: var(--title-color);
    stroke-width: 4px;
    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);}

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


/*-----------------*/
/* HEADER */
/*-----------------*/
#logo{
    filter: drop-shadow(1px 0px 0 white);
}
#header-coordonnees {
     position: fixed;
     top: 0;
     right: -310px;
     width: 310px;
     height: 100%;
     min-height: 100%;
     padding: 70px 40px 65px;
     background-color: var(--tertiary-color);
     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
}
body.is-toggle-open #header-coordonnees {
    right: 0;
    visibility: visible;
}
#header-coordonnees .flex>div{margin: 15px 0;}

#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(--secondary-color);
    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 .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;
}

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
#navprimary .navigmenu .naviglink.lvl-0:not(.item-logo, .item-home) span:after {
    content: '';
    display: inline-block;
    width: calc(100% - 2px);
    height: 1px;
    background-color: currentColor;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: left;
     transition: transform .4s cubic-bezier(.48,.57,.33,.89) .1s;
}

#navprimary .navigmenu .active .naviglink.lvl-0 span:after,
#navprimary .navigmenu .naviglink.lvl-0:hover span:after {transform: scaleX(1)}
/*-----------------*/
/* HEADERHOME */
/*-----------------*/

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

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content #content-title{margin-bottom: 50px;}
.home #content #content-title .title{margin-bottom: 30px;}

.home #content .linkTurn:before{
	content: "";
	background-image: url('../images/icons/bon-cadeau.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	--size: 4rem;
	width: var(--size);
	height: var(--size);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}

.home #content .has-medium-font-size,
.home #content .has-medium-font-size strong{
    font-family: var(--font-title);
    font-style: italic;
    letter-spacing: 0.5px;
    font-size: 22px !important;
}

.home #content #content-button{
	gap: 10px;
	margin-top: 30px;
}
/*-----------------*/
/* VIDEOS */
/*-----------------*/
.col-video{z-index: 2;}
#video {
	z-index: 10;
	top: 0;
	left: 0;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.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: static;
  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%;
}

/*-----------------*/
/* ACTU */
/*-----------------*/
#news:before {
    width: 40%;
    background-color: var(--light-color);
}
#news:after{
	background-color: var(--background-color);
	left: auto;
	right: 0;
	width: 60%;
	height: 200px;
}

#choixActuSlider{padding-top: 70px;}
#choixActu {
	counter-reset: section;
	margin-left: 41%;
	position: relative;
	z-index: 10;
	top: -40px;
	margin-bottom: -40px;
}
#choixActu .linkActu{
	position: relative;
	padding: 10px 25px 10px 15px;
	cursor: pointer;
	min-width: 33.33333%;
	max-width: 33.33333%;
}
#choixActu .linkActu.active .subtitleActu,
#choixActu .subtitleActu:hover{color: var(--primary-color);}

#choixActu .subtitleActu{
	z-index: 1;
	transition: 500ms ease all;
	color: var(--title-color);
	font-size: 16px;
	line-height: 1.3;
	display: inline-block;
	font-family: var(--font-bold);
}

#choixActu .linkActu:before {
	content: "0" attr(data-num);
    counter-increment: section;
    font-size: 12px;
    font-weight: 400;
    font-family: var(--font-bold);
    opacity: .8;
    margin-bottom: 4px;
    line-height: 1;
    display: block;
    color: var(--primary-color); 
}
#choixActu .linkActu:after {
    position: absolute;
    left: 6px;
    bottom: calc(100% - 53px);
    background: var(--primary-color);
    height: 83px;
    content: "";
    width: 2px;
    transition: 500ms ease all;
}

#choixActu .linkActu.active:after {height: 120px;}

#news .wrapper_slider{
	padding: 0;
	min-width: auto!important;
	max-width: none;
}

#news .wrapper_inner_slider{
	display: flex;
	align-items: center;
	background: none;
}

#news .content_slider {
    position: relative;
    color: var(--text-color);
    z-index: 2;
    max-width: 670px;
    left: 0;
    width: 25%;
    padding: 50px;
    transition: 500ms ease all;
}

#news .thumbnail_slider {
    position: relative;
    height: 800px;
    z-index: 1;
    transition: 250ms all ease-in-out;
    display: block;
    width: 75%;
    margin-left: auto;
    order: 2;
}
#news .thumbnail_slider a:before {
    content: "";
    background: linear-gradient(to right, var(--light-color), transparent 30%);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#news .title_slider_wrapper{
	min-width: 170%;
	margin-bottom: 20px!important;
}
#news .title_slider{font-size: 42px;}

.title_link_slider{
	color: var(--title-color);
	text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
}


/*-----------------*/
/* SECTIONS */
/*-----------------*/
.buttons-wrap {gap: 4px;}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances{background: var(--light-color);}
#reassurances .linkTurn{margin-top: 50px;}

.picto-container{
    display: grid;
    grid-template-columns: repeat(2,1fr);
}
.picto-container li{
	text-align: left;
	align-items: flex-start;
	border: solid 1px rgb(0 0 0 / 40%);
	margin: 0;
	padding: 60px 30px;
	position: relative;
	border-top: none;
	border-bottom: 0;
}
.picto-container span:before,
.picto-container span:after{
	height: 1px;
	background: rgb(0 0 0 / 40%);
}
.picto-container span:before{width: 31px;}
.picto-container span:after{
    right: 0;
    left: auto;
    width: calc(100% - 105px);
}
.picto-container li:after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center;
	z-index: -1;
	opacity: 0;
	transition: 250ms all ease-in-out;
	clip-path: polygon(30px 0, 30px 30px, 105px 30px, 105px 0, 100% 0, 100% 100%, 0 100%, 0 0);
}

.picto-container li:first-child{
	border-right-width: 0.5px;
	border-bottom-width: 0.5px;
}
.picto-container li:nth-child(2){border-left-width: 0.5px;}
.picto-container li:nth-child(3){
	border-top-width: 0.5px;
	border-right-width: 0.5px;
	border-bottom: solid 1px rgb(0 0 0 / 40%);
}
.picto-container li:nth-child(4){
	border-top-width: 0.5px;
	border-left-width: 0.5px;
	border-bottom: solid 1px rgb(0 0 0 / 40%) ;
}
.picto-container li p strong{
	display: block;
	font-family: var(--font-title);
	font-size: 25px;
	margin-bottom: 10px;
	color: var(--title-color);
	font-weight: normal;
	line-height: 1.1;
}
.picto-container li p{
	margin: 0;
	font-size: 16px;
	color: var(--text-color);
	line-height: 1.6;
}
.picto-container li svg, 
.picto-container li img{
    position: absolute;
    top: -40px;
    padding: 20px;
}

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

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

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

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

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
/*-----------------*/
/* CTA */
/*-----------------*/
#cta{
    font-size: 15px;
    line-height: 1.6;
    background: var(--white);
    padding: 30px 15px;
    max-width: 500px;
    margin: 0 auto -20px;
    width: 95%;
    text-align: center;
    box-shadow: 0 0 20px rgb(0 0 0 / 20%);
    z-index: 3;
}
#cta .title{margin-bottom: 10px;}
#cta #cta-buttons{margin: 30px 0 0;}
#cta .title h2{font-size: 25px;}

/*-----------------*/
/* GALLERY FOOTER */
/*-----------------*/
#galleryFooter .gallery{
    display: grid;
    grid-gap: 1px;
    grid-template-columns: repeat(8,1fr);
    grid-auto-rows: 240px;
    grid-auto-flow: row dense;
    padding-bottom: 1px;
    z-index: 1;
    position: relative;
}
#galleryFooter .gallery .gallery-item{
    grid-column: span 1;
    grid-row: span 1;
    width: 100%!important;
}

/*-----------------*/
/* FOOTER */
/*-----------------*/
#logoCoordonneesFooter img{width: 200px;}
#footerLinks{border-top: solid 1px #e5e5e5;}