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

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.title:not(.no-after){padding-bottom: 70px;}
.title:not(.no-after):after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    height: 52px;
    width: 170px;
    background: url(../images/separator.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.btnLine{
	background: none!important;
	padding: 0!important;
	line-height: 28px;
	color: var(--title-color);
}
.btnLine.white{color: var(--white);}
.btnLine::before{content: none;}
.btnLine::after {
    content: '';
    position: absolute;
    height: 1px;
    bottom: 0px;
    left: 0;
    right: 0;
    background-color: var(--title-color);
    transform-origin: bottom left;
    transform: scaleX(1);
    transition: transform 0.3s ease-in-out;
}
.btnLine:hover::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
.btnLine.white::after{background-color: var(--white);}
/*-----------------*/
/* HEADER */
/*-----------------*/
#header-coordonnees {
     position: fixed;
     top: 0;
     right: -310px;
     width: 310px;
     height: 100%;
     min-height: 100%;
     padding: 70px 40px 65px;
     background-color: var(--title-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 */
/*-----------------*/
#headerHome-logo img{width: 300px;}
#headerHome .overlay:before,
#headerHome .overlay:after{height: calc(100% + 20px); }

.overlay:before{
	outline: solid var(--secondary-color) 2px;
    outline-offset: -10px;
	
}
.overlay:after{
	outline: dotted var(--secondary-color) 2px;
	outline-offset: -15px;
}
/*-----------------*/
/* GALLERY HOME */
/*-----------------*/
#galleryHome{margin-bottom: -100px;}
#galleryHome .fashion-slider-button-prev{left: 40%;}
#galleryHome .fashion-slider-button-next{right: 40%;}
/*-----------------*/
/* PRODUITS HOME */
/*-----------------*/

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content .intro-txt p:first-of-type::first-letter {
	font-size: 7em;
	float: left;
	display: block;
	line-height: 1;
	padding: 0 15px 0 0;
	color: var(--secondary-color);
	font-family: var(--font-title)
}
.intro-link{position: relative;}

.grid-img .wp-block-image > a,
.grid-img .wp-block-image img{height: 100%;}

.grid-img .wp-block-image img{
	object-fit: cover;
	width: 100%;
}
/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.nohome #prestations{padding: 0;}
.bloc_prestations .prestations-content{
    margin-top: 20px;
    letter-spacing: 6px;
    font-size: 20px;
    transition: all .6s cubic-bezier(.77,0,.175,1);
    padding: 14px;
}
.bloc_prestations .prestations-content:after{
	left: 30px;
	right: 30px;
	height: 2px;
	background: #cccccc;
	bottom: 0;
	top: auto;
	width: auto;
}
.bloc_prestations .prestations-content:before{
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--primary-color);
	transition: all 0.4s;
	z-index: 2;
	top: auto;
}
.bloc_prestations:hover .prestations-content:before{width: calc(100% - 60px);}
.bloc_prestations:hover .prestations-content .title_content{color: var(--primary-color);}


#prestations .slogan{padding-top: 20px;}

/*-----------------*/
/* CARTE */
/*-----------------*/

.tc_content table{
	margin-bottom: 0;
	background: none!important;
}

.tc_content table td em {
    font-size: 15px;
    line-height: 1.4;
    display: block;
    font-family: var(--font-text);
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-color);
}

.tc_content table td{
	padding: 15px 6px !important;
	border: none !important;
	border-bottom: 1px dashed #d7d7d7!important;
}

.tc_content table tr td:not(:first-child){
	width: auto!important;
	display: flex;
	align-items: center;
	min-width: 85px;
	font-family: var(--font-bold);
	color: var(--primary-color);
}
/*-----------------*/
/* ACTU */
/*-----------------*/
.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(--secondary-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(--secondary-color);
}
.design-link:hover:before {width: 0}
.design-link:hover:after {width: 46px}


#news:before{
	outline: dotted var(--secondary-color) 2px;
    outline-offset: -25px;
	z-index: 1;
}
#news {
	outline: solid var(--secondary-color) 3px;
    outline-offset: -15px;
	background-image: url(../images/home-bg2.jpg);
}
#news::after { background: var(--overlay-color);}
#news .title_link_slider:not(:hover){color: var(--white);}
#news-title {
    border-bottom: 1px solid rgb(255 255 255 / 30%);
    padding-bottom: 10px;
    margin-bottom: 30px
}

.wrapper_slider {
    padding: 20px 0
}

#news .thumbnail_slider {
    height: auto;
    min-height: 250px
}

.thumbnail_slider a {
    height: 100%;
    display: block;
    position: relative
}

.thumbnail_slider a img {
    position: absolute;
    left: 0;
    top: 0
}

#news .content_slider {padding: 50px 0 50px 100px}

.title_slider {
    font-size: 26px;
    text-transform: initial
}

.newsdate {
    position: absolute;
    top: 40px;
    background: var(--linear-gradient);
    left: -90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: calc(100% - 80px);
    justify-content: center;
    padding: 20px 30px;
    font-family: var(--font-title);
    color: var(--white);
    outline: dotted var(--secondary-color) 2px;
    outline-offset: -9px;
    border: solid 2px var(--secondary-color);
}

.text_slider,.text_slider a {
    font-size: 16px;
    line-height: 1.6
}

.newsdate .month {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 2px
}

.newsdate .day {
    font-size: 36px;
    line-height: 1;
}

#news .next_slider {
    display: flex;
    align-items: center;
    width: 200px;
    justify-content: flex-end;
    margin: 0
}

/*-----------------*/
/* 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(--secondary-color);
    border-bottom: none;
    border-right: none;
    top: 94px
}

#choixSections:after {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    background: var(--secondary-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-bold);
    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(--secondary-color);
    font-weight: bold;
}

#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;
    outline: dotted var(--white) 2px;
    outline-offset: -5px;
}

#choixSections .linkSections.active .subimageSections, #choixSections .linkSections:hover .subimageSections {
    background-color: var(--secondary-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(--secondary-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/bg-reassurances.jpg')}
.picto-container li{
	position: relative;
	flex: 1 1 50%;
	text-align: left;
	flex-direction: row;
	padding: 19px 40px;
}
.picto-container li:first-child,
.picto-container li:nth-child(3){
	text-align: right;
	flex-direction: row-reverse;
}
.picto-container{ flex-wrap: wrap;}
.picto-container li p{
	margin: 0 0  0 40px;
	letter-spacing: 0.5px;
}
.picto-container li:first-child:before,
.picto-container li:nth-child(3):before{
	right: 20px;
	left: auto;
}

.picto-container li:first-child p,
.picto-container li:nth-child(3) p{
	margin: 0 40px  0 0;
}
.picto-container li:before{
	content: "";
	--size: 70px;
	width: var(--size);
	height: var(--size);
	border: solid 1px var(--secondary-color);
	position: absolute;
	top: 0;
	left: 20px;
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/

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

/*-----------------*/
/* SOCIAL */
/*-----------------*/
.sociblock .share-buttons a {
    border-radius: 100px;
    padding: 10px;
    background: var(--primary-color);
    border: solid 1px var(--primary-color);
    margin: 0 2px
}

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

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

.sociblock .share-buttons a:hover svg {fill: var(--white)}
/*-----------------*/
/* 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 .titlehoraires {
    font-size: 2em;
    font-family: var(--font-title);
    line-height: 1.1;
    margin-bottom: 30px;
    color: var(--title-color);
}

/*-----------------*/
/* 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;
}
#galleryFooter:before {
    background: var(--background-color);
    top: 80px;
    height: calc(100% - 80px);
}


/*-----------------*/
/* FOOTER */
/*-----------------*/
body.template-contact-php #footer{margin: 0;}
#footer{
	background-image: url(../images/bg-footer.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 80px;
}
#footer:before{background: linear-gradient(90deg, #000000, rgb(0 0 0 / 80%), #000000);}
#footer-social{margin-top: 5px;}
#footerLinks{
	border-top: solid 1px hsla(0, 0%, 100%, .3);
    padding: 20px 15px 25px;
}
.copyright {margin-left: auto;}

#infoadresseFooter{align-self: flex-end;}
#infotelfixeFooter{ align-self: flex-start;}

#infoadresseFooter, #infotelfixeFooter{
	margin: 10px 0;
	width: 100%;
	max-width: 180px;
}