/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper svg {
    --size: 50vw;
    width: var(--size);
    height: var(--size);
    --maxsize: 300px;
    max-width: var(--maxsize);
    max-height: var(--maxsize);
}


@keyframes animate-svg-stroke-1{0%{stroke-dashoffset:1404.3983154296875px;stroke-dasharray:1404.3983154296875px}100%{stroke-dashoffset:0;stroke-dasharray:1404.3983154296875px}}@keyframes animate-svg-fill-1{0%{fill:transparent}100%{fill:rgb(205,173,86)}}.svg-elem-1{animation:animate-svg-stroke-1 1s cubic-bezier(0.47,0,0.745,0.715) 0s both,animate-svg-fill-1 0.7s cubic-bezier(0.47,0,0.745,0.715) 0.8s both}@keyframes animate-svg-stroke-2{0%{stroke-dashoffset:32.28290939331055px;stroke-dasharray:32.28290939331055px}100%{stroke-dashoffset:0;stroke-dasharray:32.28290939331055px}}@keyframes animate-svg-fill-2{0%{fill:transparent}100%{fill:rgb(205,173,86)}}.svg-elem-2{animation:animate-svg-stroke-2 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s both,animate-svg-fill-2 0.7s cubic-bezier(0.47,0,0.745,0.715) 0.9s both}@keyframes animate-svg-stroke-3{0%{stroke-dashoffset:405.9077453613281px;stroke-dasharray:405.9077453613281px}100%{stroke-dashoffset:0;stroke-dasharray:405.9077453613281px}}@keyframes animate-svg-fill-3{0%{fill:transparent}100%{fill:rgb(205,173,86)}}.svg-elem-3{animation:animate-svg-stroke-3 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s both,animate-svg-fill-3 0.7s cubic-bezier(0.47,0,0.745,0.715) 1s both}@keyframes animate-svg-stroke-4{0%{stroke-dashoffset:780.3543701171875px;stroke-dasharray:780.3543701171875px}100%{stroke-dashoffset:0;stroke-dasharray:780.3543701171875px}}@keyframes animate-svg-fill-4{0%{fill:transparent}100%{fill:rgb(205,173,86)}}.svg-elem-4{animation:animate-svg-stroke-4 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s both,animate-svg-fill-4 0.7s cubic-bezier(0.47,0,0.745,0.715) 1.1s both}@keyframes animate-svg-stroke-5{0%{stroke-dashoffset:506.8941345214844px;stroke-dasharray:506.8941345214844px}100%{stroke-dashoffset:0;stroke-dasharray:506.8941345214844px}}@keyframes animate-svg-fill-5{0%{fill:transparent}100%{fill:rgb(205,173,86)}}.svg-elem-5{animation:animate-svg-stroke-5 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s both,animate-svg-fill-5 0.7s cubic-bezier(0.47,0,0.745,0.715) 1.2000000000000002s both}
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
a {
    display: inline-block;
}

.tc_content a:not([class*="button"]) {
    display: inline;
}

.thumbnail_slider a {
    height: 100%;
    width: 100%;
}

.white blockquote p {
    color: var(--white);
}

.wrappercontent.xlarge {
    max-width: 1680px;
}
.black *
{
    color:var(--black)
}

/*-----------------*/
/* HEADER */
/*-----------------*/
#header-perso {
    width: 70px;
    top: 0;
    left: 50px;
    transform: translateY(-100%);
    transition: 1s all ease-in-out;
}

body.is-toggle-open #header-perso {
    transform: translateY(0);
}

#header-coordonnees {
    position: fixed;
    top: 0;
    right: -360px;
    width: 360px;
    height: 100%;
    min-height: 100%;
    padding: 70px 30px 65px;
    background-color: var(--light-color);
    overflow: hidden;
    visibility: hidden;
    overflow-y: auto;
    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 #75757557;
}

body.is-toggle-open #header-coordonnees {
    right: 0;
    visibility: visible
}

#info-toogle {
    display: flex;
    justify-self: flex-end;
}

#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);
    fill: var(--background-color);
}

#header.fixed-header #info-toogle svg circle,
.nohome #info-toogle svg circle {
    fill: none;
}

.is-toggle-open #header #info-toogle svg circle {
    fill: none;
}

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(--primary-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;
}


#header-coordonnees .flex>div {
    margin: 15px auto;
}

#header-coordonnees .flex>div:not(.title, #header-contact) {
    max-width: 180px;
    width: 100%;
}

#header-coordonnees .title h2 {
    font-size: 34px;
}

/*-----------------*/
/* 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 span:before,
#navprimary .navigmenu .naviglink:hover span:before {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome-content {
    pointer-events: none;
}

#headerHome-content>* {
    pointer-events: all;
}

#headerHome-social .sociblock .share-buttons a svg {
    --size: 20px;
}

#headerHome-social .sociblock .share-buttons a:not(:hover) svg {
    fill: var(--white);
}

#headerHome,#banner {
    background: var(--title-color);
}

#headerHome .adresse,#headerHome :is(.adresse, .fixe a, .portable a, .horaires a, .horaires, .mail a, .social:not(.navigtoogle) a):not(:hover) {
    color: var(--background-color);
}

/*-----------------*/
/* CONTENT / INTRODUCTION */
/*-------------*/
.home #content {
    padding: 0;
    z-index: 2;
    background: var(--background-color);
}

/*-----------------*/
/* GALLERY HOME */
/*-----------------*/
#galleryHome .gallery-item {
    margin-bottom: 0;
}

.gallery-icon {
    line-height: 0;
}

.gallery-icon>*:not(a) {
    line-height: 1.2;
}

.gallery-icon {
    height: 100%;
}

.nohome .gallery .gallery-item a img {
    max-height: 450Px;
}

/*-----------------*/
/* CTA */
/*-----------------*/



/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
#prestations .bloc_prestations:hover .prestations-img img
{
    transform: rotate(15deg) scale(1.5);
}
.prestations-img .blocthumb {
    overflow: hidden;
    position: relative;
}
.prestations-img img {
    transition: 0.6s all;
}

.bloc_prestations .blocthumb::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    --size: calc(100% - 0px);
    width: var(--size);
    height: var(--size);
    background: var(--overlay-color);
    /* opacity: .4; */
    z-index: 1;
    pointer-events: none;
    transition: all .6s;
}
.bloc_prestations:hover .blocthumb::after {
    top: 0%;
}
.bloc_prestations .liresuite {
  position: absolute;
  bottom: 0px;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
}
.bloc_prestations .button {
  text-align: center;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%) scale(0);
  z-index: 1;
  --size: 60px;
  width: var(--size);
  height: var(--size);
  border-radius: 50%!important;
  padding: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  justify-items: center;
  font-size: 1.3em;
  text-align: center;
  transition: all .4s;
  color: var(--white);
  background: #01010138;
}
.bloc_prestations .button:hover
{
  background: var(--primary-color);
}
.bloc_prestations:hover .button {
  transform: translateX(-50%) scale(1);
}


/*-----------------*/
/* ACTU / NEWS */
/*-----------------*/
.content_slider
{
    text-align: center;
}


/*-----------------*/
/* SECTIONS */
/*-----------------*/
#choixSections {
    counter-reset: sections;
    display: flex;
    justify-content: center;
    position: relative
}

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

#choixSections:after {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    background: var(--primary-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: 1px;
    line-height: 1.3;
    text-align: center;
    color: var(--tertiary-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(--primary-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;
    border: 1px solid var(--primary-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(--primary-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(--primary-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::before {
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
#reassurances .picto-container li p{
	color: var(--white);
	margin-top: 20px;
	line-height: 1.3em;
	font-family: var(--font-bold);
	text-transform: uppercase;
}
#reassurances .overlay
{
    z-index: -1;
}
/*-----------------*/
/* certifications */
/*-----------------*/

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

/*-----------------*/
/* FAQ */
/*-----------------*/

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

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


/*-----------------*/
/* FOOTER */
/*-----------------*/
#wrapperForm .title{margin-bottom: 30px;}
#footer{background: var(--black);}
body.template-contact-php #footer #footerbloc:before{content: none;}
body.template-contact-php #footer #footerbloc{border-bottom: solid 1px}
body.home #footer {margin-top: 1px!important;}
body:not(.template-contact-php) #footer {margin-top: 80px;}
body:not(.template-contact-php) #footer #footerbloc {
	display: block;
	background-image: url(../images/home-bg1.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 15px;
}
#footer #footerbloc{display: block;}
#footer #footerbloc>.wrappercontent {
    align-items: center;
    justify-items: center;
    display: grid;
    grid-row-gap: 15px;
    grid-column-gap: 20px;
    transition: .6s;
    grid-template-columns: repeat(4,1fr);
    grid-template-rows: repeat(1,minmax(min-content,auto));
}
#footerLinks a {color: var(--white)}

.wrapperFooter {
    background: var(--white);
    color: var(--background-color);
    box-shadow: 0px 0px 30px #1a1a2612;
    padding: 10px
}

.imgFooter {
    background: url(../images/home-bg3.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}
.infohoraires_other span
{
    color: #f00;
    text-transform: uppercase;
    font-family: var(--font-title);
}

