/*-----------------*/
/* 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:4668.4697265625px;stroke-dasharray:4668.4697265625px}100%{stroke-dashoffset:0;stroke-dasharray:4668.4697265625px}}@keyframes animate-svg-fill-1{0%{fill:transparent}100%{fill:rgb(168,15,39)}}.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:1295.9892578125px;stroke-dasharray:1295.9892578125px}100%{stroke-dashoffset:0;stroke-dasharray:1295.9892578125px}}@keyframes animate-svg-fill-2{0%{fill:transparent}100%{fill:rgb(238,236,230)}}.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:1775.81494140625px;stroke-dasharray:1775.81494140625px}100%{stroke-dashoffset:0;stroke-dasharray:1775.81494140625px}}@keyframes animate-svg-fill-3{0%{fill:transparent}100%{fill:rgb(118,99,53)}}.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}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
hr.wp-block-separator, .title:not(.no-after):after {
    background-image: url(../images/separator.svg);
    background-color: transparent!important;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 7px;
    width: 143px;
}
/*-------------------- MOT -------------------*/
.etiquette
{
    position: absolute;
    top: initial;
    bottom: 30px;
    left: 0;
    width: 100%;
    padding-left: 50px;
    pointer-events: none;
    text-align: center;
}

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

#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 {
    transform: scale(0.16) translate(30px, 30px);
    transition: all .8s cubic-bezier(.23,1,.32,1) .4s;
}

#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 {
    opacity: 0;
    transition-delay: .1s;
}

#header-coordonnees {
    position: fixed;
    top: 0;
    right: -320px;
    width: 280px;
    height: 100%;
    min-height: 100%;
    padding: 70px 30px 65px;
    background-color: var(--tertiary-color);
    overflow: hidden;
    visibility: hidden;
    overflow-y: scroll;
    z-index: 9998;
    transition: all .6s cubic-bezier(.77,0,.175,1);
    text-align: left;
    box-shadow: 0 0 30px #00000057
}

#header-coordonnees .title h3 {
    font-size: 28px;
}

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

#header-coordonnees .button {
    margin: 4px 0;
}

#header-coordonnees .flex>div:not(.title) {
    margin: 15px auto;
    width: 100%;
    text-align: center;
}

#header-coordonnees .flex>div + .button {
    margin-top: 20px;
}

#header-coordonnees :is(.list_infoagence,.itemlistwidgetagence) {
    padding: 0;
}

/*-----------------*/
/* AGENCES */
/*-----------------*/
.agencesCoord
{
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}
.agencesCoord #listwidgetagence
{
    border-top: 1px solid #ffffff50;
    display: grid;
}
.agencesCoord .itemlistwidgetagence
{
    text-align: center;
    justify-content: center;
}
.agencesCoord .list_infoagence
{
    padding: 0px;
}
.list_infoagence .title_list_infoagence
{
    max-width: 300px;
    display: block;
    margin-bottom: 10px;
}
.hour_list_infoagence>span
{
    display: none;
}
.hour_list_infoagence
{
    font-style: italic;
}
.tel_list_infoagence
{
    order: 1;
    display: flex;
    justify-self: center;
}
.more_list_infoagence
{
    order: 2;
}
.itemlistwidgetagence .list_infoagence
{
    display: grid!important;
    gap: 5px;
}
/*-------------------- AGENCES -------------------*/
.agencesCoord #listwidgetagence {
    grid-template-columns: repeat(2, 1fr);
}

.agencesCoord .itemlistwidgetagence:not(:last-child) {
    border-right: 1px solid #ffffff50;
    padding-top: 30px;
}

.agencesCoord
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
}
#footer .agencesCoord
{
    top: 0;
    bottom: initial;
}
#footer .itemlistwidgetagence
{
    top: 0;
    padding: 40px 20px;
}
/*-------------------- MOT -------------------*/
:is(#header,#contactCoordonnees) .agencesCoord
{
    position: static!important;
    background: #fff0;
}
#contactCoordonnees :is(.agencesCoord,.list_infoagence .title_list_infoagence a,.tel_list_infoagence a)
{
    color: var(--title-color);
}
:is(#header,#contactCoordonnees) .agencesCoord #listwidgetagence
{
   grid-template-columns: 1fr;
   border: none;
}
:is(#header,#contactCoordonnees) .agencesCoord .itemlistwidgetagence:not(:last-child)
{
    border: none;
    border-bottom: 1px solid #ffffff50;
}
:is(#header,#contactCoordonnees) .more_list_infoagence
{
    display: none;
}
/*-----------------*/
/* SOCIAL */
/*-----------------*/
#header-social .label {
    margin-bottom: 10px;
    display: inline-block;
    color: var(--white);
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
}

.sociblock .share-buttons a {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    align-items: center;
    justify-content: center;
    margin: 0 3px
}

.sociblock .share-buttons a:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    border-radius: 100px;
    transition: all ease 250ms;
    border: 1px solid rgb(188 188 188);
}

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

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

#footer-social .sociblock .share-buttons a:hover svg {
    fill: var(--white)!important;
}

.sociblock .share-buttons a svg {
    --size: 15px
}

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
#navprimary .navigmenu .naviglink.lvl-0:not(.item-logo) span:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -16.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)
}

/*-----------------*/
/* NAVSECONDARY */
/*-----------------*/
#navsecondary {
    position: relative;
    z-index: 2;
}

#navsecondary .navigmenu .naviglink.lvl-0:not(.item-home) {
    font-family: var(--font-text);
    font-size: 12px;
    padding: 6px 10px;
    color: var(--text-color);
    font-weight: bold;
    letter-spacing: 0.2px;
}

#navsecondary .navigmenu .naviglink.lvl-0:hover {
    color: var(--primary-color);
}

#navsecondary .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;
}

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

#navsecondary .navigtoogle:not(:last-of-type):after {
    content: "";
    height: 10px;
    width: 1px;
    position: absolute;
    right: 0;
    background-color: var(--title-color);
    transform: translateY(-50%);
    opacity: 0.4;
    top: 50%;
}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/
.shapeWrap {
    --size: 80%;
    width: var(--size);
    height: var(--size);
    --maxsize: 450px;
    max-width: var(--maxsize);
    max-height: 400px;
    top: calc(50% - 50px);
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    opacity: 0.5;
}

.shapeWrap::before {
    border: 4px double var(--white);
    --size: 100%;
    width: var(--size);
    height: var(--size);
    box-sizing: border-box;
    clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 15%, 100% 15%, 100% 85%, 0 85%, 0 100%, 100% 100%, 100% 0%);
}

.shape {
    --size: 100%;
    width: var(--size);
    height: var(--size);
    padding:20px;
    box-sizing: border-box;
    z-index: -1;
}

.shape.inverse {
    transform: scale(-1);
}

.shape::before, .shape::after {
    --size: 15px;
    width: var(--size);
    height: var(--size);
    border: 1px solid var(--white);
    box-sizing: border-box;
    z-index: 1;
    top: 0;
    left: calc(var(--size)/2 * -1);
}

.shape::before {
    top: calc(var(--size)/2 - 15px);
    left: calc((var(--size) + 10px) * -1);
}

.shape::after {
    top: calc((var(--size) + 10px) * -1);
    left: calc(var(--size)/2 - 15px);
}

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

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

/*-----------------*/
/* CONTENT */
/*-----------------*/
.home #content {
    padding: 150px 0 200px;
    background: var(--background-color);
}

.home #content .middle-content {
    padding: 340px 100px 260px;
}

.home #content .middle-content .tc_content, .home #content .middle-content .title {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.home #content:before {
    border: solid 1px var(--primary-color);
    width: 80em;
    height: 31em;
    border-radius: 100%;
    transform: translateX(-50%) rotate(29deg);
    top: 18.5em;
    opacity: 0.5;
}

.home #content .middle-content:before, .home #content .middle-content:after {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.home #content .middle-content:before {
    background-image: url('../images/home-bg5.jpg');
    height: 260px;
    width: 210px;
    bottom: auto;
    border-radius: 200px 200px 0 0;
}

.home #content .middle-content:after {
    background-image: url('../images/home-bg4.jpg');
    top: auto;
    width: 190px;
    height: 200px;
    bottom: 0;
}

.home #content .right-img {
    overflow: hidden
}
/*-----------------*/
/* PRESTATIONS */
/*-----------------*/

/*-----------------*/
/* ACTU */
/*-----------------*/
#news {
    padding: 150px 30px ;
    background-image: url(../images/home-bg1.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{display: none;} 
#news .wrapper_slider:not(:first-of-type) .text_slider{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;  
    overflow: hidden;
} 

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

#news .thumbnail_slider .button {
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 0!important;
}
#news .wrapper_slider .text_slider,
#news .wrapper_slider .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 .wp-block-media-text__media {
    position: relative;
}

#sections .wp-block-media-text__media img {
    position: absolute;
}

.section_thumb {
    width: 100%;
    height: 550px;
}

.section_txt {
    background: var(--white);
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 6%;
    box-shadow: 0 0 30px rgb(0 0 0 / 10%);
}

.sectionsbloc.section_num3 .section_txt {
    background: none;
}

.sectionsbloc .wrap-text {
    padding: 100px 120px
}

.buttons-wrap.tac {
    justify-content: center;
}
.sectionsbloc.section_num0 .section_thumb .blocthumb img
{
    object-position: top center;
}
/*-----------------*/
/* REASSURANCES */
/*-----------------*/
.nohome #reassurances {
    background: var(--white);
    box-shadow: 0 0 30px rgb(0 0 0 / 15%);
}

#reaCenter {
    --size: 300px;
    grid-row: span 2;
    background: url(../images/home-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    margin: 0 auto;
    z-index: -1;
    top: 0;
    position: relative;
}

.picto-container {
    display: grid;
    align-items: center;
    position: relative;
    z-index: 1;
}

.picto-container li p strong {
    color: var(--title-color);
    text-transform: uppercase;
    font-family: var(--font-bold);
    letter-spacing: 0.5px;
    display: block;
    font-size: 14px;
    padding-bottom: 5px;
}

.picto-container li:before {
    content: "";
    --size: 60px;
    position: absolute;
    left: -13px;
    top: 50%;
    width: var(--size);
    height: var(--size);
    background: var(--primary-color);
    z-index: -1;
    border-radius: 100px;
    transform: translateY(-50%);
}

#reassurances .picto-bloc :is(svg, img) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

/*-----------------*/
/* PARTENAIRES */
/*-----------------*/
.widget_partenaires h2
{
    margin: 0;
    font-size: 1em;
}
/*-----------------*/
/* NEWSLETTER */
/*-----------------*/
/*-----------------*/
/* SHARE */
/*-----------------*/
/*-----------------*/
/* AGENCES */
/*-----------------*/
/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
/*-----------------*/
/* FOOTER */
/*-----------------*/
#wrapperForm .title {
    margin-bottom: 30px;
}

#footer {
    background: var(--tertiary-color);
}

body.template-contact-php #footer #footerbloc:before {
    content: none;
}

body.template-contact-php #footer #footerbloc {
    border-bottom: solid 1px
}

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


#footerLinks a {
    color: var(--white)
}

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

.imgFooter {
    background: url(../images/img-footer.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 60%;
}

#footer #footerbloc>.wrappercontent font {
    display: contents;
}
