@font-face {
    font-family: 'ProximaNova';
    src: url(../fonts/ProximaNova-Regular.eot);
    src: url(../fonts/ProximaNova-Regular.eot?#iefix) format('embedded-opentype') , url(../fonts/ProximaNova-Regular.woff2) format('woff2') , url(../fonts/ProximaNova-Regular.woff) format('woff') , url(../fonts/ProximaNova-Regular.ttf) format('truetype') , url(../fonts/ProximaNova-Regular.svg#ProximaNova-Regular) format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'ProximaNovaBold';
    src: url(../fonts/ProximaNova-Bold.eot);
    src: url(../fonts/ProximaNova-Bold.eot?#iefix) format('embedded-opentype') , url(../fonts/ProximaNova-Bold.woff2) format('woff2') , url(../fonts/ProximaNova-Bold.woff) format('woff') , url(../fonts/ProximaNova-Bold.ttf) format('truetype') , url(../fonts/ProximaNova-Bold.svg#ProximaNova-Bold) format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'ProximaNovaBlack';
    src: url(../fonts/ProximaNova-Black.eot);
    src: url(../fonts/ProximaNova-Black.eot?#iefix) format('embedded-opentype') , url(../fonts/ProximaNova-Black.woff2) format('woff2') , url(../fonts/ProximaNova-Black.woff) format('woff') , url(../fonts/ProximaNova-Black.ttf) format('truetype') , url(../fonts/ProximaNova-Black.svg#ProximaNova-Black) format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap
}

:root {
    --primary-back-color: #4c9e6f;
    --secondary-back-color: #563b2c;
    --tertiary-back-color: #e58436;
    --back-color: #fff;
    --primary-text-color: #f7f7f7;
    --secondary-text-color: #f2f2f2;
    --tertiary-text-color: #563b2c;
    --title-color: #1b0b00;
    --text-color: #222;
    --font-emphase: ProximaNovaBlack , sans-serif;
    --font-title: ProximaNovaBold , sans-serif;
    --font-bold: ProximaNovaBold , sans-serif;
    --font-text: ProximaNova , sans-serif
}

body {
    overflow-y: auto;
    font-size: 18px;
    font-family: var(--font-text), sans-serif;
    background-repeat: no-repeat , no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
    top: 0!important;
    background: var(--back-color);
    color: var(--title-color);
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%
}

.posrel {
    position: relative
}

.posabs {
    position: absolute
}

.posfix {
    position: fixed
}

h1,h2,h3,h4,h5,h6 {
    line-height: 125%;
    margin: 16px 0;
    font-weight: 100;
    color: var(--title-color);
    font-family: var(--font-title), sans-serif
}

h2,h3,h4,h5,h6 {
    text-align: left
}

h1 {
    max-width: 1220px;
    margin: 0 auto;
    margin-bottom: 70px;
    position: relative;
    display: inline-block
}

h1 {
    font-size: 2.7em
}

h2 {
    font-size: 2.4em
}

h3 {
    font-size: 1.2em;
    line-height: 1.1
}

h4 {
    font-size: 1.6em
}

h5 {
    font-size: 1.4em
}

h6 {
    font-size: 1.2em
}

@media (max-width: 980px) {
    h1 {
        font-size:2em
    }

    h2 {
        font-size: 1.8em
    }

    h3 {
        font-size: 1.6em
    }

    h4 {
        font-size: 1.4em
    }

    h5 {
        font-size: 1.3em
    }

    h6 {
        font-size: 1.1em
    }
}

@media (max-width: 480px) {
    h1 {
        font-size:1.6em
    }

    h2 {
        font-size: 1.5em
    }

    h3 {
        font-size: 1.4em
    }

    h4 {
        font-size: 1.3em
    }

    h5 {
        font-size: 1.2em
    }

    h6 {
        font-size: 1.1em
    }
}

h3 {
    margin-top: 25px
}

img.cover {
    object-fit: cover;
    width: 100%;
    height: 100%
}

img.coverFull {
    object-fit: cover;
    width: auto;
    height: 100vh
}

.nohome img,.nohome iframe {
    max-width: 100%;
    height: auto
}

img.fill {
    object-fit: fill;
    max-width: 100%
}

img.contain {
    object-fit: contain;
    max-width: 100%
}

img.responsiveimg {
    width: 100%;
    height: 100%;
    height: auto
}

.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption {
    box-sizing: border-box
}

.tar {
    text-align: right
}

.tal,.subtitle.tal,.titleSec.tal {
    text-align: left
}

.tac,.text-center {
    text-align: center
}

.alignleft {
    float: left;
    margin: 0 20px 0 0
}

.alignright {
    float: right;
    margin: 0 0 0 20px
}

.aligncenter {
    text-align: center;
    margin: 0 auto
}

#checkBrowserCompatibility {
    display: block;
    text-align: center;
    height: 100vh;
    min-height: 100%;
    width: 100vw;
    min-width: 100%;
    overflow: hidden;
    position: fixed;
    background: #a4a4a4;
    z-index: 9999999999;
    background-image: repeating-linear-gradient(-45deg,#d4d4d4 10px,#d4d4d4 17px,#eee 17px,#eee 18px)
}

.alertBadBrowser {
    width: 85%;
    max-width: 600px;
    margin: 0 auto;
    transform: translateY(-50%);
    top: 50%;
    background: #fff;
    position: relative;
    padding: 20px 20px 20px 150px;
    line-height: 19px;
    font-size: 13px;
    font-family: arial;
    box-sizing: border-box;
    box-shadow: 10px 10px 20px -19px #000;
    outline-color: #0360ff;
    outline-offset: -7px;
    outline-style: solid;
    outline-width: 1px;
    background-image: url(../images/base/icon_browserCompatibility.svg);
    background-repeat: no-repeat;
    background-size: 120px;
    background-position: 15px 15px
}

.titlebadbrowser {
    font-size: 15px;
    margin-bottom: 2px;
    color: #0360ff;
    text-transform: uppercase;
    font-weight: bold
}

.subtitlebadbrowser {
    font-size: 14px;
    margin-bottom: 10px;
    color: #000;
    letter-spacing: -.01em;
    line-height: 120%
}

.textbadbrowser {
    font-size: 11px;
    line-height: 130%;
    color: var(--title-color)
}

.listbadbrowser {
    text-align: right
}

.listbadbrowser li {
    display: inline-block;
    margin: 15px 12px 0 0
}

.listbadbrowser li a {
    font-weight: bold;
    letter-spacing: -.03em;
    color: var(--title-color);
    text-decoration: none;
    padding: 72px 16px 0;
    display: block
}

.listbadbrowser li a:hover {
    color: #0060ff
}

.ico_badbrowser {
    background-size: 70px 70px;
    background-repeat: no-repeat;
    background-position: top center
}

.bw_firefox {
    background-image: url(../images/base/bw_firefox.svg)
}

.bw_chrome {
    background-image: url(../images/base/bw_chrome.svg)
}

.bw_safari {
    background-image: url(../images/base/bw_safari.svg)
}

.modal {
    display: grid;
    align-items: center;
    text-align: center;
    justify-items: center;
    width: 100vw;
    overflow: hidden;
    position: fixed;
    background: #111111cc;
    z-index: 9999;
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 400px;
    transition: .5s all ease
}

.closemodal {
    position: absolute;
    top: 20px;
    height: 30px;
    width: 30px;
    right: 20px;
    cursor: pointer;
    background: url(../images/icons/close.png)
}

.innermodal {
    padding: 50px;
    background: #fff;
    box-shadow: 0 13px 20px -22px;
    position: relative;
    pointer-events: bounding-box;
    max-width: 600px;
    z-index: 120
}

.modal.hide {
    height: 0;
    opacity: 0
}

.modal.show {
    height: 100vh;
    opacity: 1;
    transform: scale(1)
}

.horairemodal {
    pointer-events: none
}

.detailhoraires {
    color: var(--title-color);
    text-align: right
}

.horairemodal .jourhoraires {
    font-weight: bold;
    color: var(--primary-back-color);
    width: 170px
}

.horairemodal .titlehoraires {
    font-size: 120%;
    font-weight: bold;
    text-transform: initial;
    margin-bottom: 20px;
    text-align: center;
    color: var(--title-color)
}

.bthoraire {
    cursor: pointer
}

.underbutton>*,button,.button {
    padding: 16px 20px;
    border: none;
    color: var(--back-color);
    text-decoration: none;
    background: var(--primary-back-color);
    transition: .5s all ease;
    cursor: pointer;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    letter-spacing: .03em;
    line-height: 1.2
}

#addresseDiv button,#addresseDiv .button {
    border: none
}

.horairesBT:hover {
    background-color: transparent
}

.underbutton.icon>*,button.icon,.button.icon {
    padding-left: 40px;
    background-size: 22px;
    font-size: 19px;
    background-position: 8px center;
    background-repeat: no-repeat
}

.underbutton.bigicon>*,button.bigicon,.button.bigicon {
    padding-left: 80px;
    background-size: 48px;
    background-position: 16px center;
    background-repeat: no-repeat
}

.liresuite {
    text-align: center;
    margin: 16px auto
}

#phoneBT-infotelfixe,#phoneBT-infotelport,#phoneBT-infotelport2,.horairesBT,.formulaireMail,#cta_byadresse .adresseIco,#infoadresse_inner,#phoneBT {
    font-weight: 100;
    display: flex;
    box-sizing: border-box;
    padding: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    background: transparent;
    box-shadow: none;
    letter-spacing: initial!important
}

#cta_bytelfixe {
    display: grid;
    justify-content: center
}

#header #phoneBT,#header #phoneBT-infotelfixe,#header #phoneBT-infotelport,#header .horairesBT2,.formulaireMail,#header .horairesBT,.sociblock .share-buttons span,#header #infoadresse .adresseIco {
    border: none;
    text-align: left;
    line-height: 1.4em;
    color: var(--back-color)
}

.desccontact,.blc_checkbox label {
    color: var(--text-color);
    font-size: 16px!important
}

.privacyform_lab a {
    color: var(--tertiary-back-color);
    transition: all .4s
}

#backBTsinglewoo {
    display: flex;
    width: 220px;
    box-sizing: border-box;
    background-size: 18px
}

#phoneBT-infotelfixe {
    background-image: url(../images/icons/phone.svg)
}

#header #phoneBT-infotelfixe {
    background: none;
    min-width: 150px
}

#footer #phoneBT-infotelfixe,#footer #phoneBT-infotelport,#footer #phoneBT-infotelport2 {
    background-image: url(../images/icons/phone.svg)
}

.formulaireMail {
    background-image: url(../images/icons/mail.svg)
}

.button.current-post-page,.button.current {
    outline-style: solid;
    outline-color: var(--secondary-text-color);
    pointer-events: none
}

.tc_content {
    line-height: 175%;
    box-sizing: border-box;
    text-align: left;
    word-break: break-word;
    color: var(--text-color)
}

.tc_content h2:not(.titleSec), .tc_content h3, .tc_content h4, .tc_content h5, .tc_content h6 {
    margin-top: 1em;
    margin-bottom: .7em
}

.tc_content h3:not(.subtitle) {
    color: var(--secondary-text-color)
}

.tc_content a:not([class*="button"]) {
    color: var(--secondary-back-color);
    text-decoration: underline;
    font-family: var(--font-bold);
    transition: all .4s
}

.tc_content strong,.tc_content b {
    color: var(--secondary-back-color)
}

.cekome_form .button.cf_submit:hover {
    background: var(--secondary-back-color)
}

strong,b {
    font-family: var(--font-bold);
    transition: all .4s
}

.tc_content p {
    margin-bottom: 1.3em
}

.tc_content ol,.tc_content ul {
    list-style-position: inside;
    margin: 10px 20px
}

.tc_content ul {
    list-style-type: square
}

.tc_content ol {
    list-style-type: decimal
}

.tc_content ul li,.tc_content ol li {
    padding: 2px 0
}

.tc_content hr.is-style-dots:before {
    content: "\00b7 \00b7 \00b7 \00b7 \00b7";
    color: var(--primary-bgcolor);
    font-size: 30px;
    letter-spacing: 18px;
    padding-left: 2em;
    text-shadow: 5px 4px 0px #0000004a
}

.tc_content hr.is-style-wide {
    height: 5px;
    width: 100%
}

.tc_content hr.is-style-default {
    max-width: 250px
}

.tc_content pre {
    border: 1px solid rgba(0,0,0,.2);
    padding: 10px 15px;
    font-size: .8em;
    background: rgba(255,255,255,.2);
    outline-color: #ffffffa1;
    outline-offset: -5px;
    outline-style: dashed;
    outline-width: 1px;
    margin: 2em 10px;
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-wrap
}

.tc_content blockquote {
    background: var(--tertiary-back-color);
    position: relative;
    margin: 2em 10px!important;
    padding: 1em 30px!important;
    quotes: "\201C" "\201D" "\2018" "\2019";
    max-width: 100%;
    box-sizing: border-box;
    border: none
}

.tc_content blockquote cite {
    display: block;
    text-align: right
}

.tc_content blockquote p {
    display: flow-root;
    color: var(--back-color);
    margin-bottom: .5em
}

.tc_content table {
    width: 100%!important;
    margin-bottom: 1em;
    background-color: rgba(255,255,255,.4)!important
}

.tc_content table th {
    padding: .15em .4em;
    border: 1px solid rgba(0,0,0,.6);
    background: rgba(0,0,0,.1)
}

.tc_content table td {
    padding: .15em .4em;
    border: 1px solid rgba(0,0,0,.6)
}

.tc_content table.is-style-stripes {
    border-bottom: none!important
}

.tc_content table.is-style-stripes tr td {
    border-top: 1px solid #0008
}

.tc_content table.is-style-stripes tr:last-child td {
    border-bottom: 1px solid #0008
}

.tc_content table.is-style-regular td {
    border: 1px solid #0008
}

.tc_content .has-large-font-size {
    line-height: 120%
}

.tc_content .wp-block-lazyblock-slider-de-galerie {
    margin-bottom: 1em
}

.tc_content iframe {
    width: 100%;
    min-height: 400px;
    background: #000
}

#header {
    z-index: 15;
    box-sizing: border-box;
    height: auto!important
}

#header #logo {
    text-align: center
}

#header #noshare {
    text-align: center;
    overflow: hidden;
    box-sizing: border-box;
    display: grid;
    align-items: flex-end;
    padding: 10px 10px;
    position: relative
}

.wp-block-quote:before,.wp-block-quote:after {
    content: '"';
    color: var(--back-color);
    font-size: 2em
}

.wp-block-quote:after {
    position: absolute;
    bottom: 30px;
    right: 5px
}

#header #share {
    text-align: center
}

#header #noshare .label,#header #share .label,#header #autotraduction .label {
    font-size: 10px;
    letter-spacing: .02em;
    margin: 4px 0 0;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 15px;
    text-align: left;
    max-width: 150px;
    margin: 4px auto 0;
    color: var(--tertiary-text-color)
}

#header #noshare .label span,#header #share .label span,#header #autotraduction .label span {
    border-bottom: 1px solid var(--secondary-text-color);
    color: var(--secondary-text-color)
}

#header #infotelfixe {
    text-align: center
}

#header #infoadresse #infoadresse_inner div {
    margin: 0 3px;
    text-align: left;
    display: inline-block
}

#navprimary .ckmenu-nav {
    color: var(--back-color)
}

#navprimary .navigmenu .navigtoogle>.navdown {
    text-align: left;
    font-size: .75em
}

#navprimary .navigmenu .naviglink.lvl-1 {
    color: var(--text-color);
    padding: 14px 10px;
    box-sizing: border-box
}

#navprimary .navigmenu .naviglink.lvl-1:not(:last-child) {
    border-bottom: 1px solid #00000045
}

#slideactu {
    box-sizing: border-box;
    position: relative;
    padding: 110px 0;
    padding-bottom: 250px;
    box-sizing: border-box
}

#slideactu:before {
    background: url(../images/background.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-mask: url(../images/mask.svg);
    mask: url(../images/mask.svg);
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: left center;
    -webkit-mask-position: left center;
    top: initial;
    bottom: -21%;
    filter: brightness(.8);
    left: -2px;
    opacity: .3;
    height: 80%
}

.wrapper_slider {
    background-size: cover;
    box-sizing: border-box;
    background-position: bottom right;
    position: relative;
    display: grid
}

.labelactu {
    position: absolute;
    left: -10px;
    top: -10px;
    z-index: 1
}

.wrapper_inner_slider {
    align-content: space-between;
    transition: .4s all ease;
    width: 100%;
    max-width: 100%;
    overflow: hidden
}

.thumbnail_slider>a {
    display: block;
    line-height: 0;
    text-align: center
}

.img_thumbnail_slider {
    width: 100%;
    object-fit: cover;
    transition: all .6s
}

.content_slider {
    padding: 20px 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    align-items: center;
    display: grid;
    align-content: center
}

.title_link_slider {
    text-decoration: none;
    font-size: 1.2em;
    line-height: 1.2em;
    font-family: var(--font-bold);
    width: 100%;
    display: block;
    padding-bottom: 0;
    padding-top: 20px;
    display: grid;
    margin-bottom: 10px;
    align-items: center;
    color: var(--tertiary-text-color);
    text-align: left
}

.text_slider,.nohome.category .tc_content {
    line-height: 175%;
    padding: 15px 0;
    box-sizing: border-box;
    width: 100%
}

.next_slider {
    text-align: right
}

@media (max-width: 980px) {
    .thumbnail_slider,.thumbnail_slider img {
        max-height:200px;
        width: 100%
    }
}

#prestations {
    background-size: cover;
    background-position: left center;
    background-repeat: repeat-x;
    box-sizing: border-box;
    position: relative;
    padding: 100px 20px;
    padding-bottom: 0
}

.nohome #prestations {
    padding-bottom: 50px
}

#prestations .widget_parentpage .bloc_inner_wpp h2 {
    font-size: 1.3em;
    font-family: var(--font-bold);
    text-transform: initial;
    margin: 0;
    text-align: left;
    line-height: 1.1
}

#prestations .widget_parentpage .bloc_inner_wpp h2 a {
    text-decoration: none;
    box-sizing: border-box;
    margin: 0 auto;
    margin-bottom: 20px;
    font-weight: initial;
    transition: all .4s;
    text-align: left!important;
    font-size: 15px;
    line-height: 1;
    color: var(--title-color)
}

#prestations .tc_content {
    padding: 15px 25px;
    box-sizing: border-box;
    transition: all .4s
}

#sections {
    position: relative
}

.wrapperSections {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%
}

.section_thumb {
    position: relative;
    box-sizing: border-box
}

.section_thumb .blocthumb {
    box-sizing: border-box;
    position: relative;
    overflow: hidden
}

.section_txt {
    box-sizing: border-box;
    text-align: center
}

.sectionsbloc h2 {
    padding: 40px 20px;
    text-align: center;
    position: relative;
    text-transform: initial;
    font-weight: 100;
    margin-bottom: 40px;
    margin-top: 30px
}

.sectionsbloc .blocthumb::before,.sectionsbloc .blocthumb::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.sectionsbloc .section_txt .liresuite a.button {
    white-space: inherit;
    margin-top: 10px
}

.widget_element {
    text-align: center
}

.widget_element li {
    list-style: none;
    position: relative;
    box-sizing: border-box;
    line-height: 0;
    max-width: 100%;
    padding: 10px
}

.widget_element img {
    max-width: 80%;
    width: auto;
    object-fit: contain;
    max-height: 90px
}

.widget_element a {
    line-height: 0;
    width: 100%;
    padding: 5px 0
}

.widget_element h3,.widget_element h3 a {
    color: var(--title-color);
    box-sizing: border-box;
    line-height: 100%;
    text-decoration: none;
    display: block
}

.widget_element h3 {
    top: 0;
    right: 0;
    display: inline-block;
    padding-top: 10px;
    margin: 0 auto;
    text-align: center;
    display: none
}

.widget_element .element_content {
    padding: 15px;
    padding-bottom: 5px;
    pointer-events: none;
    transition: .5s all ease;
    font-size: 16px;
    text-align: left;
    line-height: 160%;
    color: var(--title-color);
    box-sizing: border-box
}

.widget_element li:hover .liresuite a,.widget_element li:hover .gotolink a {
    opacity: 1
}

.widget_element .liresuite a {
    line-height: 120%;
    padding: 10px;
    box-sizing: border-box;
    color: var(--primary-text-color);
    opacity: 0;
    transition: .5s all ease
}

.widget_element .liresuite {
    position: absolute;
    bottom: 20px;
    right: 20px
}

.widget_element .gotolink {
    position: absolute;
    top: 0;
    left: 0
}

.widget_element .gotolink:hover a {
    background: var(--primary-back-color)
}

.widget_element .gotolink a {
    line-height: 120%;
    padding: 10px;
    box-sizing: border-box;
    color: var(--primary-text-color);
    background: var(--tertiary-back-color);
    display: initial;
    transition: .5s all ease;
    display: none
}

.attention {
    background: var(--primary-back-color);
    padding: 20px;
    color: var(--back-color)
}

#h1 {
    color: var(--title-color);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    text-align: center
}

#h1 h1 {
    display: inline-block;
    padding: 10px 25px;
    box-sizing: border-box;
    margin-top: 80px;
    z-index: 1
}

#slogan-title {
    color: var(--title-color);
    font-size: 3em;
    box-sizing: border-box;
    position: relative
}

#content {
    padding: 32px;
    box-sizing: border-box;
    z-index: 0
}

.nohome #content {
    padding: 100px 20px;
    padding-bottom: 160px;
    overflow: hidden
}

#content.hasnocontent {
    padding: 0!important
}

#lebonpro {
    color: var(--title-color);
    padding: 60px 0
}

#filterwidgetagence {
    text-align: right;
    padding: 10px;
    background: #f0f0f0;
    color: var(--title-color);
    border-bottom: 1px solid var(--back-color);
    font-size: 12px;
    display: none
}

#filterwidgetagence select {
    border: none;
    background: #fff;
    padding: 2px 20px 2px 5px;
    box-sizing: border-box;
    border: 1px solid #ccc
}

.itemlistwidgetagence {
    box-sizing: border-box;
    line-height: 0;
    border-bottom: 1px solid #efefef;
    background: var(--back-color)
}

.itemlistwidgetagence:last-child {
    border: none
}

.itemlistwidgetagence.active {
    outline-color: var(--primary-back-color)
}

.list_imgagence {
    height: 300px;
    overflow: hidden
}

.list_infoagence {
    padding: 32px 25px;
    line-height: 130%;
    width: calc(100% - 130px);
    box-sizing: border-box
}

.list_infoagence .title_list_infoagence {
    font-weight: bold;
    margin-bottom: 2px;
    padding-bottom: 2px
}

.list_infoagence .tel_list_infoagence a {
    color: var(--primary-back-color)
}

.list_infoagence .more_list_infoagence {
    margin: 32px 0 0 0;
    text-align: left;
    text-decoration: underline;
    box-sizing: border-box
}

.list_infoagence a {
    text-decoration: none
}

.list_infoagence a.button {
    color: var(--back-color)!important
}

#formagence {
    padding: 30px
}

#map_agence {
    background: var(--back-color);
    align-items: stretch;
    color: var(--title-color);
    padding: 40px;
    box-sizing: border-box;
    height: 100%
}

#infoagence {
    background: var(--back-color);
    color: var(--title-color);
    line-height: 160%;
    padding: 20px 30px
}

#boxlink_agence {
    padding: 30px
}

#boxlink_agence a.blink_agence {
    text-decoration: none;
    padding: 5px 10px;
    margin-top: 7px;
    border-bottom: 1px dashed var(--secondary-text-color);
    color: var(--secondary-text-color)
}

#boxlink_agence a.blink_agence:hover {
    border-bottom: 1px solid var(--secondary-text-color)
}

.gm-style .gmnoprint:last-child {
    top: 50px!important
}

.title_list_infoagence a {
    font-family: var(--font-title);
    color: var(--title-color);
    font-size: 22px
}

.cta_labelBig {
    font-size: 1.4em;
    color: var(--tertiary-text-color);
    padding-bottom: .5em;
    padding-top: .5em;
    font-weight: bold
}

.cta_labelSmall {
    font-size: 1em;
    color: var(--tertiary-text-color);
    padding-bottom: 1em
}

.landing_labelBig {
    padding-top: .5em;
    font-weight: bold;
    text-transform: uppercase;
    margin-top: 0;
    color: var(--primary-back-color)
}

.landing_labelSmall {
    font-size: 1.8em;
    padding-bottom: 15px;
    color: var(--title-color)
}

#listarticles .listedarticle {
    position: relative;
    line-height: 0;
    box-shadow: 0 13px 20px -22px #000;
    outline-color: #ffffff99;
    outline-offset: -5px;
    outline-width: 1px;
    outline-style: dotted;
    height: 100%;
    box-sizing: border-box;
    min-height: 160px;
    background: var(--tertiary-back-color)
}

#listarticles .listedarticle h2 {
    font-size: 20px;
    position: absolute;
    top: 10px;
    text-align: center;
    width: 90%;
    background: var(--title-color);
    margin: 0 5%;
    padding: 5px;
    box-sizing: border-box
}

#listarticles .listedarticle h2 a {
    color: var(--tertiary-text-color);
    text-decoration: none;
    width: 100%;
    display: block
}

#listarticles .listedarticle .tc_content {
    position: absolute;
    background: #fff;
    padding: 0 10px;
    overflow: hidden;
    transition: .3s all ease;
    z-index: 2;
    font-size: 70%;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center
}

#listarticles .listedarticle:hover .tc_content {
    box-sizing: border-box;
    opacity: 1;
    transform: scaleY(1)
}

#listarticles .listedarticle:hover .tc_content p {
    margin: 10px 0
}

.nohome.category .blocthumb::before {
    background: #0000004d;
    z-index: 0
}

#listarticles .listedarticle .liresuite {
    position: absolute;
    bottom: 0;
    line-height: 100%;
    text-align: center;
    width: 100%;
    padding-bottom: 11px
}

#footer #footerbloc {
    color: var(--back-color);
    box-sizing: border-box;
    position: relative;
    padding-top: 20px
}

#footer {
    position: relative;
    z-index: 16;
    box-shadow: none!important;
    background: var(--secondary-back-color)
}

#mapwidgetagence {
    min-height: 400px
}

#footer #logofooter img {
    max-height: 150px;
    max-width: 97%
}

#footer #mapfooter {
    width: 100%;
    padding: 0 30px;
    box-sizing: border-box
}

#footer .maps_canvas {
    min-height: 400px
}

#footer #addrfooter {
    width: 100%;
    padding: 5px 20px;
    box-sizing: border-box
}

#footer #addrfooter #addrfooter_txt {
    background-image: url(../images/icons/mapHeader.svg);
    background-repeat: no-repeat;
    background-size: 28px;
    background-position: center left 5px;
    padding: 10px 25px;
    padding-left: 50px;
    box-sizing: border-box
}

#footer #addrfooter #addrfooter_txt div {
    margin-right: 6px;
    font-weight: 900
}

#footer #navfooter {
    height: 100%;
    padding: 5px 20px;
    box-sizing: border-box
}

#footer .titlefooter {
    font-weight: bold;
    text-transform: uppercase;
    display: inline-block;
    box-sizing: border-box;
    font-family: var(--font-title);
    font-size: 1.1em
}

#footer #navfooter #menu-footer {
    list-style-type: none;
    list-style-position: inside;
    line-height: 1.6em
}

#footer #navfooter #menu-footer li a {
    color: var(--back-color);
    text-decoration: none;
    font-size: 19px;
    transition: all .4s
}

#footer #footerlinks {
    padding: 20px;
    box-sizing: border-box;
    text-align: center
}

#footer #footerlinks a {
    color: var(--back-color);
    text-decoration: none;
    transition: all .4s
}

.baseBackground {
    background-size: cover!important;
    background-position: center center!important;
    background-repeat: no-repeat!important
}

.baseBefFull,.baseBef,.baseBefFull,.baseAftFull {
    z-index: 0
}

.baseBef:before,.baseAft::after {
    content: "";
    position: absolute;
    z-index: -1
}

.baseAftFull::after,.baseBefFull::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.baseBefore:before,.baseAfter::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    z-index: -1
}

.baseFixed {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999
}

.home #en-tete {
    width: 100%;
    position: relative;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    z-index: 0
}

.nohome #en-tete img {
    max-height: 200px
}

.nohome #thumbnailPage .blocthumb,.nohome #thumbnailPage .blocthumb img {
    position: relative;
    overflow: hidden;
    object-fit: cover
}

body.page_electricite-generale .blocthumb img {
    object-position: 0 20%!important
}

.nohome #thumbnailPage .tc_excerpt {
    background: var(--primary-back-color);
    padding: 20px;
    margin: 0 auto;
    box-sizing: border-box;
    color: var(--back-color);
    max-width: 80%;
    transform: translateY(-50px)
}

.nohome #en-tete {
    padding-top: 100px
}

#addresseDiv {
    padding: 50px 25px;
    box-sizing: border-box
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s;
    transition-delay: 1s
}

.preloader::before,.preloader::after {
    background: var(--title-color);
    width: 50%;
    transition: all 1s;
    transition-delay: 1s
}

.preloader::after {
    left: initial;
    right: 0
}

body.loaded #loader {
    pointer-events: none
}

body.loaded #loader.out.preloader::before {
    left: -100%
}

body.loaded #loader.out.preloader::after {
    right: -100%
}

body.loaded .shapes-2 {
    opacity: 0
}

#loader {
    display: grid;
    align-items: center;
    justify-items: center
}

.container {
    --size: 300px;
    width: var(--size);
    height: var(--size);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    margin: auto;
    filter: url(#goo);
    animation: rotate-move 2s ease-in-out infinite
}

.shapes-2 {
    --c: linear-gradient(var(--primary-back-color) 0 0);
    background: var(--c) , var(--c) , var(--c) , var(--c) , var(--c) , var(--c) , var(--c) , var(--c) , var(--c);
    background-size: 16px 16px;
    background-repeat: no-repeat;
    animation: sh2-1 1s infinite , sh2-2 1s infinite;
    transition: all .6s;
    transition-delay: .6s
}

@keyframes sh2-1 {
    0%, 100% {
        width: 45px;
        height: 45px
    }

    35%, 65% {
        width: 65px;
        height: 65px
    }
}

@keyframes sh2-2 {
    0%, 40% {
        background-position: 0 0, 0 50%, 0 100%, 50% 100%, 100% 100%, 100% 50%, 100% 0, 50% 0, 50% 50%
    }

    60%, 100% {
        background-position: 0 50%, 0 100%, 50% 100%, 100% 100%, 100% 50%, 100% 0, 50% 0, 0 0, 50% 50%
    }
}

#slideactu .wrappercontent {
    height: 100%
}

#partenaires .prev,#partenaires .next,#__lpform_nom {
    display: none
}

#prestations .tc_excerpt {
    text-align: center
}

#footer #menu-footer {
    padding: 8px 0
}

#footer #menu-footer li {
    padding: 5px 20px;
    padding-left: 0;
    box-sizing: border-box
}

#cta_listelement .bthoraire,#cta_listelement .formulaireMail,#cta_listelement .phonea,#cta_byadresse .adresseIco,#cta_bytelport #phoneBT-infotelfixe {
    display: inline-block
}

#landingform,#cta {
    box-sizing: border-box;
    text-align: center;
    z-index: 3;
    position: relative
}

.nom.ckformfields {
    background-image: none!important
}

#info-toogle {
    height: 50px;
    padding: 8px;
    box-sizing: border-box;
    width: 50px;
    margin: 0 auto;
    background-color: var(--title-color);
    background-image: url(../images/icons/info.svg);
    background-size: 27px;
    background-position: center center;
    background-repeat: no-repeat;
    right: 0;
    cursor: pointer;
    top: 0;
    z-index: 1
}

.animation-element-up,.animation-element_toogle-up,.animation-element-child-up>*,.animation-element_toogle-child-up>* {
    transform: translateY(-100px);
    opacity: 0;
    transition: all .6s
}

.animation-element,.animation-element_toogle,.animation-element-child>*,.animation-element_toogle-child>* {
    transform: translateX(-100px);
    opacity: 0;
    transition: all .6s
}

.animClass.in-view,.animClassChild.in-view>*,.animClassToogle.in-view,.animClassChildToogle.in-view>* {
    transform: translate(0,0)!important;
    opacity: 1
}

.animationDirection {
    position: relative;
    overflow: hidden
}

.animationDirection::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--primary-back-color);
    transition: all .5s;
    top: 0;
    z-index: 2
}

.animationDirection.left::before {
    left: 0%
}

.animationDirection.left.in-view::before {
    left: -100%
}

.animationDirection.right::before {
    right: 0%;
    left: initial
}

.animationDirection.right.in-view::before {
    right: -100%
}

.animationDirection.top::before {
    top: 0%
}

.animationDirection.top.in-view::before {
    top: -100%
}

.animationDirection.bottom::before {
    bottom: 0%;
    top: initial
}

.animationDirection.bottom.in-view::before {
    bottom: -100%
}

.animationDirection.back::before {
    background: var(--back-color)
}

.animationDirection.primback::before {
    background: var(--primary-back-color)
}

.animationDirection.secback::before {
    background: var(--secondary-text-color)
}

.animationDirection.tertback::before {
    background: var(--tertiary-back-color)
}

.animationDirection.textback::before {
    background: var(--title-color)
}

.animationDirection.primtextback::before {
    background: var(--primary-text-color)
}

.animationDirection.texttertback::before {
    background: var(--tertiary-text-color)
}

.delay:nth-child(2), .animClassChild.delay>*:nth-child(2) {
    transition-delay: .2s
}

.delay:nth-child(3), .animClassChild.delay>*:nth-child(3) {
    transition-delay: .3s
}

.delay:nth-child(4), .animClassChild.delay>*:nth-child(4) {
    transition-delay: .4s
}

.delay:nth-child(5), .animClassChild.delay>*:nth-child(5) {
    transition-delay: .5s
}

.delay:nth-child(6), .animClassChild.delay>*:nth-child(6) {
    transition-delay: .6s
}

.delay:nth-child(7), .animClassChild.delay>*:nth-child(7) {
    transition-delay: .7s
}

.delay:nth-child(8), .animClassChild.delay>*:nth-child(8) {
    transition-delay: .8s
}

.animClass,.animClassChild,.animClassToogle,.animClassChildToogle {
    overflow: hidden
}

.animClass.in-view,.animClassChild.in-view,.animClassToogle.in-view,.animClassChildToogle.in-view {
    overflow: inherit
}

#slogan-sub {
    color: var(--back-color);
    display: block;
    text-shadow: none!important;
    text-align: center;
    line-height: 1.1;
    margin: 30px 0;
    margin-top: 10px;
    font-style: italic
}

#slogan-title>strong {
    display: inline-block
}

.titleColor {
    color: var(--primary-back-color)
}

#content .wrappercontent {
    box-sizing: border-box;
    z-index: 3
}

#arrow-ck {
    position: absolute;
    bottom: 50px;
    box-sizing: border-box;
    height: 100px;
    width: 100px;
    padding: 5px 9px;
    left: 50%;
    cursor: pointer;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%)
}

@-webkit-keyframes chevron-pulse {
    0% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@keyframes chevron-pulse {
    0% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

#arrow-ck .tcon-svgchevron {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

#arrow-ck .tcon-svgchevron path {
    -webkit-animation: chevron-pulse 3s infinite cubic-bezier(.4,0,.2,1);
    animation: chevron-pulse 3s infinite cubic-bezier(.4,0,.2,1);
    fill: transparent;
    stroke: var(--back-color);
    stroke-width: 2px
}

#arrow-ck .tcon-svgchevron path.a1 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

#arrow-ck .tcon-svgchevron path.a2 {
    -webkit-animation-delay: -.5s;
    animation-delay: -.5s
}

#arrow-ck .tcon-svgchevron path.a3 {
    -webkit-animation-delay: -1s;
    animation-delay: -1s
}

.nohome #navprimary {
    box-sizing: border-box
}

#cta #phoneBT-infotelfixe,#cta #phoneBT-infotelport,#cta #phoneBT-infotelport2,#cta .formulaireMail,#cta #infoadresse,#footer #cta_byadresse .adresseIco,#cta_infoouverture .horairesBT {
    color: var(--back-color);
    background: none;
    padding: 8px 20px;
    position: relative
}

#cta .button:hover {
    background-color: transparent
}

#contactDiv>div {
    width: 100%;
    box-sizing: border-box;
    text-align: center
}

#header #navprimary {
    width: 100%;
    min-width: 100%;
    box-sizing: border-box;
    top: -50px
}

#reassurances {
    background: var(--secondary-back-color)
}

#reassurances svg {
    height: 60px;
    max-width: 100%;
    position: relative
}

.picto-bloc {
    position: relative
}

.picto-bloc svg {
    padding: 5px;
    box-sizing: border-box
}

.columnOrder {
    flex-direction: column
}

.nohome #content h3 {
    color: var(--title-color);
    font-variant: inherit
}

.privacyform_chk {
    box-shadow: none;
    height: 18px;
    width: 18px;
    margin-right: 10px!important
}

.nohome.childpage h2 {
    margin: 30px 0;
    padding-top: 10px
}

#logoResponsive img,#logoHead img {
    box-sizing: border-box;
    max-width: 100%;
    max-height: 150px
}

.logoCta {
    max-height: 250px;
    padding: 25px 0;
    max-width: 80%
}

#thumbnailPage>article {
    height: 100%;
    text-align: center;
    display: grid;
    align-items: center;
    width: 100%
}

.navigtoogle.social svg {
    height: 38px;
    padding: 9px;
    fill: var(--back-color);
    transition: all .4s;
    box-sizing: border-box
}

#ContactLinkHead .liresuite a:after {
    background: var(--title-color)
}

#ContactLinkHead .btn-cta {
    background: var(--tertiary-back-color)
}

#prestations .tc_content {
    box-sizing: border-box;
    z-index: 1;
    padding: 10px 0;
    transition: all .6s;
    color: var(--text-color)
}

.text_slider {
    color: var(--title-color)
}

.separate::before {
    height: 400px;
    width: 100%;
    top: -32px;
    transform: translateX(-50%);
    background: var(--primary-back-color)
}

.btn-cta:hover,#ContactLinkHead .btn-cta:hover {
    background: var(--title-color)
}

.separate section h2 {
    text-align: center;
    color: var(--title-color);
    font-size: 32px;
    margin-bottom: 90px;
    text-transform: uppercase
}

#blocmaps {
    box-sizing: border-box
}

#certifications .widget_element h3 {
    display: none
}

.home .cekome-stars-icon {
    text-align: left
}

#navprimary .navigmenu .naviglink.lvl-1:hover::after {
    left: 0
}

#partenaires {
    padding: 170px 50px;
    overflow: hidden
}

#partenaires .widget_element img {
    max-height: initial;
    padding: 10px;
    box-sizing: border-box
}

.nohome #partenaires li {
    margin-bottom: 60px
}

.template-rating-php #h1 {
    padding: 50px;
    box-sizing: border-box
}

.template-rating-php #homeContact {
    display: none
}

#en-tete #landingform h2 {
    text-align: center
}

#slogan-title {
    color: var(--back-color);
    font-family: var(--font-emphase);
    display: inline-block;
    font-size: 6.2rem;
    margin-bottom: 0;
    text-align: left;
    font-style: italic
}

.navigBloc img {
    max-width: 100%
}

.hidden {
    display: none
}

#header .navdown .naviglink.lvl-2:not(:last-child) {
    border-bottom: 1px solid #ffffff24
}

.template-contact-php #content .wrappercontent {
    padding: 0;
    text-align: center
}

#header .navdown a:hover::after {
    opacity: 1
}

.accroche .widget_element h3 {
    display: inherit;
    text-align: left
}

.accroche #phoneBT-infotelfixe {
    display: inline-block;
    padding-right: 15px;
    color: var(--title-color)
}

.wrapperButton {
    gap: 20px
}

.wrapperButton .buttonAccroche {
    padding: 15px;
    box-sizing: border-box;
    background: var(--primary-back-color);
    transition: all .4s
}

.wrapperButton .nextButton {
    background: var(--secondary-text-color)
}

.wrapperButton .nextButton:hover,.buttonAccroche:hover {
    background: var(--title-color)
}

.wrapperButton .nextButton .button {
    background: transparent!important
}

.buttonAccroche .button {
    padding-left: inherit;
    padding: 15px;
    background-image: none!important;
    color: var(--back-color)!important
}

#footer .button {
    color: var(--back-color)
}

.messerr {
    margin-bottom: 16px
}

blockquote strong,blockquote a strong,blockquote strong a {
    color: var(--back-color)!important
}

.nohome blockquote h3 {
    color: var(--back-color)
}

.nohome blockquote .button {
    background: var(--secondary-text-color)
}

.nohome blockquote .button:hover {
    background: var(--title-color)
}

#ContactLinkHead .liresuite a:after {
    display: none
}

.white_cform {
    box-shadow: 0 10px 60px -30px rgba(0,0,0,.9)!important
}

.buttonOrange {
    background: var(--tertiary-back-color)
}

.buttonOrange::after {
    background: var(--title-color)!important
}

.buttonOrange:hover {
    background: var(--title-color)
}

#cta .adresseIco {
    cursor: initial;
    text-align: center;
    padding: 0;
    line-height: 1.4
}

.nohome.single.galerie #contentPage img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.nohome.galerie .content-gallery {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px
}
.nohome.galerie .content-gallery .liresuite{
    position: absolute;
    bottom: 100px;
    left: 0;
    right: 0;
}

.nohome.galerie #content h2 {
    max-width: 100%;
    text-align: center;
    right: 0;
    z-index: 1;
    font-size: 1.5em;
    transition: all .4s
}

.nohome.galerie h2 a {
    color: var(--title-color);
    text-decoration: none;
    font-family: var(--font-title);
    font-weight: 400;
    font-size: 1em;
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    display: block
}

.nohome.galerie .article_content {
    position: relative;
    border-radius: 2px;
    overflow: hidden
}

.return-link {
    box-sizing: border-box
}

.nohome.galerie.single .content {
    padding: 60px 32px
}

#landingform .landing_labelBig {
    color: var(--title-color)
}

#content p {
    line-height: 180%;
    margin-bottom: 30px
}

#content p:last-of-type {
    margin-bottom: 0
}

.white_cform {
    top: 35%!important
}

#slogan-sub ul {
    text-align: left;
    max-width: 80%;
    margin: 0 auto;
    list-style: initial
}

#slogan-sub li {
    display: inline-block;
    color: var(--back-color);
    position: relative;
    margin: 5px auto;
    font-family: var(--font-title);
    padding: 0 25px;
    text-shadow: 0px 0px 5px #000000bf
}

.norobo {
    padding: 0 15px;
    margin-left: 10px
}

#cptchkbx-tplpg {
    border: 1px solid #aaa!important;
    width: 15px!important;
    height: 15px!important;
    outline: none!important;
    line-height: 14px!important;
    margin-right: 0!important
}

#slideactu .ckctrldiv {
    bottom: -20px;
    transform: initial;
    filter: invert(1)
}

.vegas-wrapper {
    z-index: 1
}

.nohome.childpage .gallery .gallery-item a:after,.nohome.single .gallery .gallery-item a:after {
    display: none
}

.nohome.childpage .wp-caption-text.gallery-caption,.nohome.single .wp-caption-text.gallery-caption {
    font-size: 1em
}

label.nom {
    display: inline-block
}

#slideactu .ckslidercontrols .next,#slideactu .ckslidercontrols .prev {
    transform: translateY(-50%)
}

.horairesBT,#phoneBT-infotelfixe {
    font-family: var(--font-text)
}

.picto-bloc {
    transition: .6s;
    align-items: center
}

.picto-bloc .textRea {
    grid-column: span 5
}

.picto-container li h4 {
    font-size: 1em;
    margin-top: 0;
    text-align: center;
    font-family: var(--font-title)
}

.bloc_inner_wpp:hover .mark {
    transform: translate(-50%,-50%) scale(1.1)
}

#navprimary {
    box-sizing: border-box;
    transition: top .4s;
    box-sizing: border-box;
    z-index: 1
}

#blocmaps {
    width: 100%;
    position: relative;
    overflow: hidden;
    grid-template-columns: 1fr!important
}

#blocmaps>article {
    max-width: 100%;
    width: 100%;
    height: 100%
}

.titlehoraires h2 {
    margin: 10px 0!important;
    margin-top: 0!important;
    text-transform: initial;
    color: var(--back-color);
    letter-spacing: 4px
}

.modal .titlehoraires h2 {
    color: var(--title-color)
}

#horairesPage {
    padding: 25px;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.picto-container {
    display: grid;
    align-items: stretch
}

.nohome.category h2 a {
    text-decoration: none;
    font-size: 32px;
    line-height: 1;
    color: var(--title-color)
}

.nohome.category h2 {
    margin-bottom: 0!important;
    color: var(--primary-back-color)
}

#slideactu .liresuite {
    text-align: right;
    margin-top: 0
}

#prestations .widget_parentpage .bloc_inner_wpp .blocthumb {
    line-height: 0;
    height: 100%;
    position: relative;
    overflow: hidden
}

.bloc_inner_wpp {
    display: grid;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden
}

.bloc_wpp-home {
    display: grid;
    gap: 10px;
    align-items: stretch
}

#sloganChange {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    color: var(--back-color);
    font-size: 40px;
    font-family: var(--font-title);
    text-transform: uppercase
}

.liresuite {
    margin: 0;
    box-sizing: border-box;
    transition: all .4s;
    display: inline-block
}

.liresuite a {
    text-align: left;
    font-family: var(--font-title);
    position: relative;
    border-radius: 5px
}

#slogan-title,#slogan-sub,#navsecondary .naviglink.lvl-0,#cta_listelement * {
    color: var(--back-color)
}

.button:hover {
    letter-spacing: 2px
}

.section_secondaryimg {
    max-width: 80%;
    margin: 0 auto
}

#galleryHome .gallery {
    box-sizing: border-box
}

.home #galleryHome .gallery-item img {
    object-fit: cover;
    min-width: 100%;
    max-width: 100%;
    transition: all .8s
}

.wrapText a {
    color: var(--primary-back-color)
}

.bloc_wpp-home {
    box-sizing: border-box;
    z-index: 1;
    transition: all .4s;
    background: var(--back-color)
}

.bloc_wpp-home>* {
    transition: all .4s ease
}

.nohome .gallery-icon {
    box-sizing: border-box
}

.picto-container li p {
    line-height: 1.3em;
    color: var(--back-color);
    font-family: var(--font-bold);
    text-align: left
}

.txt_wrap {
    z-index: 2
}

.wrapText {
    text-align: center
}

.nohome.galerie:not(.single) .blocthumb {
    position: relative
}

.nohome.galerie:not(.single) .blocthumb::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: var(--title-color);
    opacity: 0;
    transition: all .4s;
    z-index: 0
}

.nohome.galerie:not(.single) .article_content:hover .blocthumb::before {
    opacity: .8!important
}

.return-link a {
    display: inline-block;
    margin-top: 50px;
    text-decoration: none;
    color: var(--back-color);
    background: var(--primary-back-color);
    position: relative;
    font-family: var(--font-bold);
    padding: 22px;
    box-sizing: border-box;
    transition: all .4s
}

.return-link a:hover {
    background: var(--secondary-back-color)
}

.tc_content a:not(.button):not(.wp-block-button__link):hover, #phoneBT-infotelfixe:hover, .horairesBT:hover, .tc_content a:not(.button):not(.wp-block-button__link):hover strong, #phoneBT-infotelport:hover, #phoneBT-infotelport2:hover {
    color: var(--primary-back-color)!important
}

#header .horairesBT:hover, #header #phoneBT-infotelport:hover, #header #phoneBT-infotelport2:hover, #header #phoneBT-infotelfixe:hover, #footer a:not(.button):hover {
    color: var(--tertiary-back-color)!important
}

.white_cform div {
    color: var(--title-color)!important
}

.gallery-item {
    position: relative;
    margin-bottom: 0!important;
    line-height: 0;
    overflow: hidden
}

#partenaires .ckctrldiv {
    bottom: -30px;
    display: none
}

.sectionsbloc a:not(.button):hover, .sectionsbloc strong a:not(.button):hover, .sectionsbloc a:not(.button):hover strong {
    color: var(--back-color)!important
}

#navprimary .navigmenu .naviglink.lvl-1:hover {
    color: var(--primary-back-color)
}

#prestations .widget_parentpage {
    box-sizing: border-box
}

#content .textContent {
    padding-top: 50px;
    box-sizing: border-box;
    margin: 0 auto
}

#accroche img {
    max-width: 300px;
    box-sizing: border-box
}

#contactDiv h2 {
    text-align: center;
    margin-bottom: 10px
}

.fixHead #urgences {
    right: 0;
    opacity: 1
}

.fixHead #footer {
    z-index: 10
}

#landing_listelement {
    margin: 0 auto;
    padding: 220px 60px;
    box-sizing: border-box;
    max-width: 800px
}

.tc_content .wp-block-button__link strong,.tc_content .wp-block-button__link,.tc_content .wp-block-button__link:hover {
    color: var(--back-color)!important;
    background: var(--primary-back-color)
}

.home #en-tete {
    display: grid;
    justify-items: start;
    height: calc(100vh + 0px);
    min-height: 750px;
    padding: 0 176px;
    box-sizing: border-box;
    position: relative;
    z-index: 1
}

#footer.indexbas {
    z-index: 10
}

#content .border {
    margin-bottom: -60px
}

.titleSec {
    text-align: center;
    position: relative;
    margin-top: 10px
}

.subtitle {
    text-align: left;
    font-size: .9em;
    text-transform: uppercase;
    font-family: var(--font-bold);
    margin-bottom: 0;
    letter-spacing: 2px;
    color: var(--tertiary-back-color);
    text-decoration: none;
    line-height: 1
}

.navigmenu .navigtoogle:not(.logo, .LogoParent, .has-child) .naviglink.lvl-0:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    height: 3px;
    border-radius: 10px;
    z-index: -1;
    background: var(--primary-back-color);
    transition: all .4s
}

.navigmenu .navigtoogle:not(.logo):not(.LogoParent) .naviglink.lvl-0:hover:after, .navigmenu .navigtoogle.active:not(.LogoParent) .naviglink.lvl-0:after {
    width: 40px
}

.home #galleryWrap {
    z-index: 1;
    padding-top: 0;
    padding-bottom: 0;
    position: relative
}

.nohome.single:not(.galerie) #content .tc_content p {
    margin-bottom: 15px
}

.dateckslider {
    padding: 10px 0;
    box-sizing: border-box;
    border-bottom: 1px solid #0000002e
}

#prestations .ckctrldiv {
    display: none
}

.imgContent img {
    height: 100%
}

.vegas-wrapper {
    position: static
}

.navigmenu .navigtoogle.logo .naviglogo {
    padding: 10px;
    max-height: 70px
}

#logoResponsive {
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    z-index: 1
}

body .vegas-container {
    height: auto!important
}

.border .elemcertifications {
    justify-content: space-evenly
}

.border div {
    padding: 5px 0;
    box-sizing: border-box;
    max-width: 100%;
    color: var(--back-color)
}

.border img {
    position: static!important;
    max-height: 100px
}

.border li,.border .flex li {
    --size: 140px;
    width: var(--size)!important;
    height: var(--size);
    background: var(--back-color);
    box-shadow: 0px 10px 30px #1a1a2621;
    border-radius: 50%;
    box-sizing: border-box;
    display: grid;
    align-items: center
}

#homeContact .border {
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
    justify-items: center;
    margin: 30px 0
}

#imagesCta {
    padding: 20px 0;
    gap: 20px;
    box-sizing: border-box
}

.imgCta {
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 400px
}

.imgCta2 {
    position: relative;
    height: 70%;
    top: 50%;
    transform: translateY(-50%);
    background-image: url(../images/background1.jpg)
}

#cta #phoneBT-infotelfixe::before,#cta #phoneBT-infotelport::before,#cta #phoneBT-infotelport2::before,#footer #cta_byadresse .adresseIco::before,#cta_infoouverture .horairesBT::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 0;
    width: 10px;
    height: 3px;
    background: var(--back-color)
}

#homeContact {
    box-sizing: border-box;
    z-index: 12
}

#cta {
    box-sizing: border-box;
    background-attachment: fixed
}

.fondContact {
    position: relative;
    z-index: 1
}

#cta_listelement h3 {
    color: var(--back-color);
    text-align: center;
    font-size: 1.3em
}

#galleryHome .gallery .gallery-item .gallery-icon,#galleryHome .gallery .gallery-item a {
    cursor: pointer
}

.gallery-item:hover .wp-caption-text.gallery-caption {
    top: 50%
}

.wp-caption-text.gallery-caption {
    position: absolute;
    top: 150%;
    left: 0;
    color: var(--back-color);
    font-size: 25px;
    text-align: center;
    transform: translateY(-50%);
    width: 100%;
    font-family: var(--font-title);
    padding: 16px;
    box-sizing: border-box;
    transition: all .4s;
    text-transform: uppercase;
    line-height: 1.3
}

.gallery-item:hover .wp-caption-text.gallery-caption {
    top: 50%;
    z-index: 1
}

#fieldDiv {
    gap: 40px 40px;
    margin: 0 auto
}

.pictoWrap {
    padding: 10px;
    height: auto;
    width: 100%;
    box-sizing: border-box
}

#contentBefore {
    text-align: center;
    padding: 50px;
    box-sizing: border-box
}

#navsecondary {
    padding: 10px;
    box-sizing: border-box;
    width: 100%
}

#contactDiv {
    padding: 110px 30px;
    box-sizing: border-box;
    background: url(../images/background2.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 50px auto;
    z-index: 1
}

#contactDiv::before {
    background: var(--title-color);
    opacity: .5
}

#contactDiv .liresuite {
    padding: 10px 20px;
    box-sizing: border-box
}

#slideactu .liresuite a {
    background: #fff0;
    font-family: var(--font-bold);
    color: var(--title-color)
}

#slideactu .liresuite a::before {
    content: '';
    display: inline-block;
    position: relative;
    top: -3px;
    left: -10px;
    width: 30px;
    height: 2px;
    z-index: 0;
    background: var(--title-color)
}

.specialThumbWrap {
    box-sizing: border-box;
    height: 100%;
    position: relative
}

.bloc_inner_wpp .blocthumb::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    --size: calc(100% - 0px);
    width: var(--size);
    height: var(--size);
    background: var(--tertiary-text-color);
    opacity: .7;
    z-index: 1;
    pointer-events: none;
    transition: all .6s
}

.bloc_inner_wpp .blocthumb::after {
    top: 100%
}

.bloc_inner_wpp:hover .blocthumb::before {
    top: 0
}

.gallery_zoom:before,.gallery_zoom:after,.gallery_zoom:before,.gallery_zoom:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transition: background-color .2s ease-in-out , transform .4s ease-in-out;
    background-color: var(--back-color)
}

.gallery-icon:hover .gallery_zoom:before,.blocks-gallery-item:hover .gallery_zoom:before {
    transform: translateX(0)
}

.gallery_zoom:before {
    width: 40px;
    height: 2px;
    margin: -1px 0 0 -20px;
    transform: translateX(-50px)
}

.gallery .gallery-icon:hover .gallery_zoom:after,.blocks-gallery-item:hover .gallery_zoom:after {
    transform: translateY(0)
}

.gallery_zoom:after {
    width: 2px;
    height: 40px;
    margin: -20px 0 0 -1px;
    transform: translateY(-50px)
}

.gallery .gallery-icon:hover .gallery_zoom,.blocks-gallery-item:hover .gallery_zoom {
    opacity: 1
}

.gallery_zoom {
    position: absolute;
    z-index: 25;
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    opacity: 0;
    transition: opacity .2s ease-in-out
}

.gallery-icon::before,.blocks-gallery-item::before {
    content: ''!important;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--text-color);
    z-index: 1;
    transition: all .4s;
    pointer-events: none;
    opacity: 0;
    pointer-events: none
}

.gallery-icon:hover::before,.blocks-gallery-item:hover:before {
    opacity: .7;
    top: 0
}

.blocks-gallery-item {
    overflow: hidden
}

.logoHead img {
    max-height: 200px;
    max-width: 240px;
    box-sizing: border-box;
    padding: 0
}

.logoHead {
    font-size: 0!important
}

.typewrite {
    color: var(--back-color);
    display: block;
    padding: 20px 0;
    box-sizing: border-box
}

#en-tete-img {
    height: 100%!important;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: -1
}

#partenaires .wrapElem {
    transition: all 1s cubic-bezier(.25,.8,.25,1);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center
}

.wrapElem,.wrapElem img {
    height: 70px
}

.wrapPresta {
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    z-index: 1;
    padding: 30px;
    border: 1px solid #ffffff1a;
    border-bottom: none;
    position: relative
}

.template-parent-page-php #content .wrappercontent {
    padding: 0
}

.to-top.fixed {
    opacity: 1;
    bottom: 60px;
    z-index: 71
}

.to-top {
    background: var(--tertiary-back-color);
    bottom: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,.15);
    color: #fff;
    display: block;
    font-size: 15px;
    height: 50px;
    line-height: 48px;
    opacity: 0;
    position: fixed;
    right: 20px;
    text-align: center;
    transition: 1s ease-in-out;
    width: 50px;
    z-index: 333;
    -webkit-transition: 1s ease-in-out;
    border-radius: 100px;
    overflow: hidden;
    -webkit-animation: pulse 2s infinite;
    -o-animation: pulse 2s infinite;
    animation: pulse 2s infinite;
    display: flex;
    align-items: center;
    justify-content: center
}

.to-top img {
    width: 20px
}

.to-top:focus {
    color: #fff
}

.to-top:hover {
    color: #fff
}

.to-top::before {
    -webkit-transform: scale(0);
    background: var(--secondary-bgcolor) none repeat scroll 0 0;
    border-radius: 200px;
    content: "";
    display: block;
    height: 200px;
    left: -50%;
    margin-top: -100px;
    position: absolute;
    top: 50%;
    transition-duration: .8s;
    transition: all .4s ease-out 0s;
    width: 200px;
    z-index: -1;
    -ms-transform: scale(0);
    -webkit-transition-duration: .8s;
    -webkit-transition: all .4s ease-out 0s;
    opacity: .3;
    transform: scale(0)
}

.to-top::after {
    -webkit-transform: scale(0);
    background: var(--secondary-bgcolor) none repeat scroll 0 0;
    border-radius: 200px;
    content: "";
    display: block;
    height: 200px;
    left: -50%;
    margin-top: -100px;
    position: absolute;
    top: 50%;
    transition: all .4s ease-in 0s;
    width: 200px;
    z-index: -1;
    -ms-transform: scale(0);
    -webkit-transition: all .4s ease-in 0s;
    opacity: .3;
    transform: scale(0);
    transition-delay: .3s
}

.to-top:hover::after,.to-top:hover::before {
    -webkit-transform: scale(4);
    -ms-transform: scale(4);
    opacity: 1;
    transform: scale(4)
}

.wrapperActu {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    gap: 20px
}

.subtitle.white,.titleSec.white {
    color: var(--back-color)!important
}

.home #content h2 {
    text-align: center;
    font-family: var(--font-title);
    margin-top: 0;
    color: var(--primary-back-color);
    font-weight: 100;
    font-size: 1.3em
}

img.img_thumbnail_slider {
    height: 100%;
    width: 100%;
    height: 300px;
    margin: 0 auto
}

#slideactu>article {
    z-index: 1
}

#h1 img {
    height: 400px
}

.SecimgContent img {
    height: 600px;
    object-fit: cover;
    width: 100%
}

.SecimgContent::before,.SecimgContent::after {
    top: -30px;
    left: -30px;
    box-sizing: border-box;
    border: 5px solid var(--tertiary-text-color)
}

.SecimgContent::after {
    top: 30px;
    left: 30px
}

.vegas-wrapper::before,.nohome #thumbnailPage::before {
    background: var(--secondary-back-color);
    opacity: .5;
    z-index: 1
}

#reassurances h3 {
    color: var(--back-color);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 16px
}

.accroche {
    box-sizing: border-box;
    justify-items: start
}

#slideactu .ckslidercontrols .next,#slideactu .ckslidercontrols .prev {
    bottom: -70px
}

#slideactu .ckslidercontrols .next {
    left: initial;
    right: 10%
}

.nohome .img_thumbnail_slider {
    min-height: initial;
    height: 300px
}

.home #reassurances::after {
    z-index: -2
}

#landing_listelement .subtitle::after {
    display: none
}

.blocks-gallery-grid img,.wp-block-gallery img {
    max-height: 350px
}

small {
    color: var(--secondary-back-color);
    margin-bottom: 10px;
    font-size: 1em
}

#ctaLink {
    background: url(../images/background1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 50px;
    box-sizing: border-box;
    min-height: 350px
}

#ctaLink h3 {
    color: #fff0;
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 30px;
    font-family: var(--font-bold);
    font-size: 2em;
    opacity: .5;
    -webkit-text-stroke: 1px var(--back-color)
}

#ctaLink::before {
    background: var(--tertiary-text-color);
    opacity: .75
}

#galleryHome {
    box-sizing: border-box
}

.nohome #thumbnailPage h1 {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: var(--back-color);
    z-index: 1;
    width: 90%
}

.template-contact-php h1 {
    margin: 80px 0;
    margin-bottom: 0
}

.lightBackground {
    padding: 20px;
    box-sizing: border-box;
    background: #f7f7f7
}

.has-text-color.has-background strong {
    color: var(--back-color)
}

.nohome.galerie:not(.single) .image_content {
    line-height: 0
}

.image_content {
    text-align: left
}

#slideactu .ckslidercontrols .prev,#slideactu .ckslidercontrols .next {
}

#bandeau {
    background: url(../images/background.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: grid;
    justify-items: center;
    padding: 110px 20px;
    padding-top: 80px;
    box-sizing: border-box
}

#bandeau::before {
    background: var(--tertiary-text-color);
    opacity: .8
}

.menuarticle .liresuite a.button {
    background: #fff0 !important;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 0
}

.navigmenu .navigtoogle.social .naviglink.lvl-0,.navigmenu .navigtoogle.lang .naviglink.lvl-0 {
    padding: 5px
}

.nohome.single:not(.galerie) #bandeau {
    display: none
}

.nohome.single:not(.galerie) #thumbnailPage::after {
    background: var(--tertiary-text-color);
    opacity: .8;
    height: 70%
}

#content .wrapperSections {
    position: relative
}

#adresseHead .adresseTitre {
    color: var(--tertiary-back-color)
}

.fixHead {
    padding-top: 77px
}

.fixHead #navprimary {
    position: fixed;
    top: 0!important;
    z-index: 1;
    box-shadow: 10px 10px 35Px #00090036;
    width: 100%;
    background: var(--secondary-back-color);
    background: var(--title-color)
}

#thumbnailPage {
    position: relative;
    width: 100%;
    margin-top: -240px;
    min-height: 500px
}

#thumbnailPage.empty {
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.reaWrap {
    grid-template-columns: 1fr!important
}

.reaHome {
    box-sizing: border-box
}

.section_num0::before {
    background: var(--secondary-back-color)
}

.nohome.category .liresuite {
    text-align: left
}

.fixHead .LogoParent {
    display: none
}

#sections .section_num0 .tc_content .wp-block-media-text__content {
    background: var(--secondary-back-color)
}

#sections .section_num0 .wp-block-media-text__content .wp-block-image {
    margin: 0 auto
}

.sectionsbloc.even .wp-block-columns {
    gap: 60px
}

.telBloc,#infoouverture .horairesBT {
    padding-left: 45px;
    background: url(../images/icons/phoneHeader.svg);
    background-position: left 10px center;
    background-size: 24px;
    background-repeat: no-repeat;
    box-sizing: border-box
}

#infoouverture .horairesBT {
    background-image: url(../images/icons/clockHeader.svg);
    background-size: 22px
}

.menuarticle .tb_hoverBloc p {
    position: absolute;
    bottom: 0;
    font-size: 1em;
    box-sizing: border-box;
    padding: 20px;
    color: var(--back-color);
    z-index: 1;
    font-size: 18px;
    line-height: 1.3
}

.menuarticle .blocthumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(to bottom, #090d1e63, var(--secondary-back-color))
}

.wrapper_inner_slider small {
    background: var(--secondary-back-color);
    color: var(--back-color);
    padding: 20px;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0
}

.iconePresta img {
    object-fit: contain;
    --size: 50px;
    width: var(--size);
    height: var(--size);
    margin-bottom: 10px
}

#header .navdown .naviglink.lvl-2:hover {
    background: var(--tertiary-back-color)
}

.picto-container .picto-bloc:first-child .picto-img {
    background-image: url(../images/reassurances/reassurances-1.jpg)
}

.thumbnail_slider {
    position: relative
}

#partenaires .titleSec {
    margin: 0
}

#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    padding: 5px!important
}

.prestasCenter h2::before {
    content: 'â†‘';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    --size: 50px;
    width: var(--size);
    height: var(--size);
    z-index: -1;
    display: grid;
    align-items: center;
    color: var(--title-color)
}

.prestasCenter h2:last-child::before {
    content: "â†“";
    left: initial;
    right: 0
}

.prestasCenter h2:first-child {
    text-align: left;
    padding-bottom: 40px;
    border-bottom: 1px solid #00000017;
    font-weight: 100;
    font-family: var(--font-text);
    font-size: 1.3em
}

.prestasCenter h2 {
    font-weight: 100;
    font-family: var(--font-text);
    font-size: 1.3em;
    padding: 30px 50px;
    box-sizing: border-box
}

.prestasCenter h2:last-child {
    text-align: right;
    margin: 0
}

.prestasCenter {
    padding: 30px 30px;
    box-sizing: border-box;
    box-shadow: 0 15px 25px rgb(0 0 0 / 8%);
    background: var(--back-color);
    z-index: 1
}

#partenaires .wrapperPartenaires {
    padding: 100px 30px;
    box-sizing: border-box
}

#partenaires .wrapperPartenaires::before {
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

#partenaires .wrapperPartenaires::after {
    background: var(--title-color);
    opacity: .6
}

#partenaires .wrapperPartenaires.fournisseurs::before {
    background-image: url(../images/background1.jpg)
}

#slideactu .titleSec {
    margin-bottom: 0
}

#prestations .liresuite a {
    margin-top: 20px
}

#prestations .liresuite a::after {
    content: 'â†’';
    position: relative;
    top: -3px;
    padding-left: 5px;
    background: #fff0
}

.imageMore {
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 200px;
    margin: 0 auto;
    max-width: 90%;
    width: 100%
}

.prestaBigWrap {
    position: relative;
    z-index: 1
}

.titleWrap {
    padding: 40px 20px;
    box-sizing: border-box
}

#reassurances .titleWrap::before {
    background: var(--back-color)
}

.firstWord,.lastWord {
    color: var(--primary-back-color)
}

#footer #cta_byadresse .adresseIco::before {
    top: 20px
}

.blc_select label {
    top: -25px;
    left: 0;
    color: var(--tertiary-back-color)
}

#header #adresseHead {
    width: 100%;
    display: none;
    background: var(--secondary-back-color);
    border-top: 1px solid #2e242429
}

#info-toogle {
    background-color: var(--primary-back-color);
    z-index: 30;
    cursor: pointer;
    z-index: 6000!important;
    text-align: center;
    transition: .5s ease-in-out;
    width: 60px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0
}

#header .is-toggle-open #info-toogle:before {
    background-image: url(../images/icons/close.svg);
    top: 30px;
    right: -10px
}

#infoouverture span,#infoadresse span,#infoouvertureFooter span,#infoadresseFooter span,#infotelportFooter span,#infotelfixeFooter span,#infotelheader span,#infoadresseBis span,#infoadresseBisFooter span,#infotelfooter span,#infoouvertureContact span,#infoadresseContact span,#infotelportContact span,#infotelfixeContact span,#infoadresseBisContact span,#infotelContact span,#infotelFooter span,#footerlinks span,.noshare-contact span,#infoouvertureFooter .titlehoraires,#infoouverture .titlehoraires,#infocontact .titlehoraires,#infotelHeader span {
    display: block;
    color: var(--primary-back-color);
    font-family: var(--font-title);
    padding-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1
}

.jourhoraires {
    font-weight: bold;
    color: var(--primary-back-color);
    width: 140px
}

#infotelFooter a,#infoouvertureFooter a,#infoouvertureFooter .detailhoraires,#infoouverture .detailhoraires {
    color: var(--back-color)
}

#infoadresse {
    margin-bottom: 40px;
    line-height: 1.5
}

#infoadresse,#infoouverture,#infoadresseContact,#infoadresseBisContact,#infotelContact,#infoouvertureContact,.noshare-contact,#infoouvertureContact,#infotelHeader {
    background-repeat: no-repeat;
    text-align: center;
    padding: 5px 0 5px 30px;
    background-size: 16px;
    background-position: 0;
    text-align: left;
    line-height: 1.5
}

#infoadresseContact,#infoadresseBisContact,#infoadresse {
    background-image: url(../images/icons/mapHeader.svg)
}

#infotelContact,#infotelHeader {
    background-image: url(../images/icons/phoneHeader.svg)
}

.wrapButtons {
    margin-top: 30px;
    display: grid;
    text-align: left;
    justify-content: flex-start;
    justify-items: flex-start
}

#firstP {
    color: var(--back-color);
    max-width: 650px
}

.accroche .liresuite {
    margin: 30px auto;
    margin-top: 30px
}

#firstP strong, #firstP a:not(:hover, .button) {
    color: var(--primary-text-color)
}

#footer .button::after {
    display: none
}

#galleryHome article>p {
    display: none
}

.nohome h1::after {
    content: '';
    position: absolute;
    bottom: -10px;
    width: 50px;
    left: 10px;
    height: 4px;
    z-index: -1;
    background: var(--primary-back-color)
}

.nohome h1::after {
    left: 45%;
    transform: translateX(-50%)
}

.st,.st-hint-trigger {
    background: var(--primary-back-color)!important;
    border-color: var(--primary-back-color)!important
}

.cekome-stars-list .fs {
    color: var(--primary-back-color)!important
}

.cekome-stars .st-focus:hover {
    background: var(--text-color)!important;
    border-color: var(--text-color)!important;
    color: var(--back-color)!important
}

.imageRea {
    background: url(../images/background2.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

body.is-toggle-open #header #header-coordonnees {
    opacity: 1!important;
    visibility: visible!important;
    transition: 850ms all ease-in-out;
    z-index: 6001;
    pointer-events: none
}

#header #header-coordonnees {
    position: fixed;
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    color: var(--back-color);
    background: none;
    padding: 50px 80px
}

.coordonnees-left,.coordonnees-right {
    pointer-events: all
}

.sectionsbloc.odd .txt_wrapSections {
    background: var(--back-color);
    padding: 30px;
    box-sizing: border-box
}

.wrapTextContent {
    padding: 50px 20px;
    box-sizing: border-box
}

.template-parent-page-php #content {
    padding: 0
}

#infoouverture2 .detailhoraires {
    color: var(--back-color)
}

.navigmenu .navigtoogle.has-child .navdownwrapper a:hover {
    color: var(--primary-back-color)
}

.noscroll {
    overflow: hidden
}

.navigtoogle.has-child .naviglink.lvl-0:after {
    top: 13px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: relative;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-top-color: var(--back-color);
    border-width: 4px;
    margin-left: 10px
}

.news-wrapper {
    margin: 0 auto;
    background: var(--tertiary-text-color);
    padding: 60px 20px;
    text-align: center;
    box-sizing: border-box;
    background: url(../images/background1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative
}

.news-wrapper::before {
    background: var(--title-color);
    opacity: .7
}

.newsletter input[type="email"] {
    padding: 18px 30px;
    box-sizing: border-box;
    border: none
}

.newsletter input[type="email"],.submitnewsletter .button {
    width: 100%
}

.submitnewsletter .button {
    background: var(--primary-back-color)
}

.newsletter a:not(.button) {
    color: var(--primary-back-color);
    transition: all .4s
}

.newsletter a:not(.button):hover {
    color: var(--secondary-back-color)
}

.labelnewsletter {
    display: none
}

.inputnewsletter,.submitnewsletter {
    width: 100%;
    display: block
}

.noticenewsletter {
    padding: 20px;
    line-height: 1.4;
    box-sizing: border-box;
    font-size: 13px;
    display: block;
    color: var(--back-color)
}

.formwidgetnewsletter {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(2,1fr);
    max-width: 600px;
    margin: 0 auto
}

.titleWrap.tac>* {
    text-align: center
}

.newsletter .titleSec {
    margin-bottom: 20px
}

.checkrgpdnewsletter label {
    text-align: left;
    padding: 0 10px;
    box-sizing: border-box;
    color: var(--back-color);
    font-size: 16px;
    line-height: 1.3
}

.pictoWrap {
    display: grid;
    align-items: center;
    justify-content: center;
    gap: 10px;
    grid-template-columns: 1fr 3fr;
    color: var(--back-color)
}

.section_num0 h2 {
    color: var(--back-color)
}

.home #prestations::before,.home #prestations::after {
    background: url(../images/background3.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.home #prestations::after {
    opacity: .9;
    background: var(--title-color)
}

.nohome .imageMore {
    display: none
}

#fieldDiv>span {
    display: none
}

#footer.index {
    z-index: 1
}

.nthWord {
    position: relative;
    margin: 0 5px;
    display: inline-flex
}

.nthWord::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: initial;
    bottom: 0;
    left: 0;
    width: 0;
    height: 30%;
    background-color: var(--primary-back-color);
    transition: all .4s;
    transition-delay: .2s
}

#en-tete .nthWord::before {
    opacity: .5
}

.in-view .nthWord::before {
    width: 100%
}

.wrapAllIndex {
    display: contents
}

.nthWordsIndex {
    display: inline-flex;
    margin: 0 5px
}

#firstP p {
    text-align: center
}

.sectionsChild {
    z-index: 1;
    position: relative
}

.sectionsbloc.even .section_thumb {
    display: none
}

.figure img {
    object-fit: cover
}

.section_num0 .tc_content, .section_num0 .tc_content *:not(.button, .wp-block-button, .wp-block-button__link) {
    color: var(--back-color)
}

.sectionsbloc.even .gutbloc-slidegalerie img {
    position: relative
}

.sectionsbloc.even .wp-block-lazyblock-slider-de-galerie .prev,.sectionsbloc.even .wp-block-lazyblock-slider-de-galerie .next {
    display: none
}

.wp-block-image img {
    height: auto;
    width: 100%;
    object-fit: cover
}

.image_content img {
    height: 100%
}

.page_politique-confidentialite #reassurances,.page_politique-confidentialite #contentBefore,.page_politique-confidentialite #contactDiv {
    display: none
}

.home #content::before,.home #content::after {
    background: url(../images/background.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-mask: url(../images/mask.svg);
    mask: url(../images/mask.svg);
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: left center;
    -webkit-mask-position: left center;
    top: initial;
    bottom: -20%;
    filter: brightness(.5);
    left: -2px
}

.home #content::after {
    -webkit-mask-image: url(../images/mask-reverse.png);
    mask-image: url(../images/mask-reverse.png);
    top: -300px
}

.innerTitle {
    box-sizing: border-box
}

.innerTitle::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 100%;
    z-index: -1
}

.imageAccrocheLogo {
    background: var(--back-color)
}

* {
    box-sizing: border-box
}

#comparaisons {
    overflow: hidden;
    padding: 150px 15px
}

#comparaisons-wrapper {
    position: relative;
    z-index: 2;
    width: 100%
}

#comparaisons .cksliderwrap {
    padding-bottom: 60px
}

.hiddenHead {
    display: none
}

.twenty20 {
    margin-bottom: 20px
}

.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after {
    content: " ";
    display: block;
    background: #fff;
    position: absolute;
    z-index: 30;
    -webkit-box-shadow: 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: 0 0 12px rgba(51,51,51,.5);
    box-shadow: 0 0 12px rgba(51,51,51,.5)
}

.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-horizontal .twentytwenty-handle:after {
    width: 3px;
    height: 9999px;
    left: 50%;
    margin-left: -1.5px
}

.twentytwenty-vertical .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after {
    width: 9999px;
    height: 3px;
    top: 50%;
    margin-top: -1.5px
}

.twentytwenty-overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.twentytwenty-overlay {
    -webkit-transition-duration: .5s;
    -moz-transition-duration: .5s;
    transition-duration: .5s
}

.twentytwenty-before-label,.twentytwenty-after-label {
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    transition-property: opacity
}

.twentytwenty-before-label,.twentytwenty-after-label {
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em
}

.twentytwenty-before-label,.twentytwenty-after-label {
    position: absolute;
    background: rgba(255,255,255,.2);
    line-height: 38px;
    padding: 0 20px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px
}

.twentytwenty-horizontal .twentytwenty-before-label:before,.twentytwenty-horizontal .twentytwenty-after-label:before {
}

.twentytwenty-vertical .twentytwenty-before-label:before,.twentytwenty-vertical .twentytwenty-after-label:before {
}

.twentytwenty-left-arrow,.twentytwenty-right-arrow,.twentytwenty-up-arrow,.twentytwenty-down-arrow {
    width: 0;
    height: 0;
    border: 6px inset transparent;
    position: absolute
}

.twentytwenty-left-arrow,.twentytwenty-right-arrow {
    top: 50%;
    margin-top: -6px
}

.twentytwenty-up-arrow,.twentytwenty-down-arrow {
    left: 50%;
    margin-left: -6px
}

.twentytwenty-container {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    z-index: 0;
    overflow: hidden;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    height: 500px!important;
    width: 100%
}

.twentytwenty-container img {
    max-width: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    display: block
}

.twentytwenty-container.active .twentytwenty-overlay,.twentytwenty-container.active :hover.twentytwenty-overlay {
    background: rgba(0,0,0,0)
}

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label,.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label,.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label {
    opacity: 0
}

.twentytwenty-container * {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box
}

.twentytwenty-before-label {
    opacity: 0
}

.twentytwenty-before-label {
}

.twentytwenty-container.t20-hover.active .twentytwenty-overlay .twentytwenty-before-label,.twentytwenty-container.t20-hover.active .twentytwenty-overlay .twentytwenty-after-label {
    opacity: 1
}

.twentytwenty-after-label {
    opacity: 0
}

.twentytwenty-after-label {
}

.twentytwenty-horizontal .twentytwenty-before-label {
    left: 1px;
    bottom: 0;
    max-width: 50%;
    box-sizing: border-box;
    line-height: inherit;
    padding: 4px
}

.twentytwenty-horizontal .twentytwenty-after-label {
    right: 1px;
    bottom: 0;
    max-width: 50%;
    box-sizing: border-box;
    line-height: inherit;
    padding: 4px
}

.twentytwenty-vertical .twentytwenty-before-label {
    top: 1px;
    line-height: inherit;
    padding: 6px;
    box-sizing: border-box
}

.twentytwenty-vertical .twentytwenty-after-label {
    bottom: 1px;
    line-height: inherit;
    padding: 6px;
    box-sizing: border-box
}

.twentytwenty-overlay {
    -webkit-transition-property: background;
    -moz-transition-property: background;
    transition-property: background;
    background: rgba(0,0,0,0);
    z-index: 25
}

.twentytwenty-overlay:hover {
    background: rgba(0,0,0,.5)
}

.twentytwenty-overlay:hover .twentytwenty-after-label {
    opacity: 1
}

.twentytwenty-overlay:hover .twentytwenty-before-label {
    opacity: 1
}

.twentytwenty-before {
    z-index: 20
}

.twentytwenty-after {
    z-index: 10
}

.twentytwenty-handle {
    height: 38px;
    width: 38px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -22px;
    margin-top: -22px;
    border: 3px solid #fff;
    -webkit-border-radius: 1000px;
    -moz-border-radius: 1000px;
    border-radius: 1000px;
    -webkit-box-shadow: 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: 0 0 12px rgba(51,51,51,.5);
    box-shadow: 0 0 12px rgba(51,51,51,.5);
    z-index: 40;
    cursor: pointer
}

.twentytwenty-horizontal .twentytwenty-handle:before {
    bottom: 50%;
    margin-bottom: 22px;
    -webkit-box-shadow: 0 3px 0 white , 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: 0 3px 0 white , 0 0 12px rgba(51,51,51,.5);
    box-shadow: 0 3px 0 white , 0 0 12px rgba(51,51,51,.5)
}

.twentytwenty-horizontal .twentytwenty-handle:after {
    top: 50%;
    margin-top: 22px;
    -webkit-box-shadow: 0 -3px 0 white , 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: 0 -3px 0 white , 0 0 12px rgba(51,51,51,.5);
    box-shadow: 0 -3px 0 white , 0 0 12px rgba(51,51,51,.5)
}

.twentytwenty-vertical .twentytwenty-handle:before {
    left: 50%;
    margin-left: 22px;
    -webkit-box-shadow: 3px 0 0 white , 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: 3px 0 0 white , 0 0 12px rgba(51,51,51,.5);
    box-shadow: 3px 0 0 white , 0 0 12px rgba(51,51,51,.5)
}

.twentytwenty-vertical .twentytwenty-handle:after {
    right: 50%;
    margin-right: 22px;
    -webkit-box-shadow: -3px 0 0 white , 0 0 12px rgba(51,51,51,.5);
    -moz-box-shadow: -3px 0 0 white , 0 0 12px rgba(51,51,51,.5);
    box-shadow: -3px 0 0 white , 0 0 12px rgba(51,51,51,.5)
}

.twentytwenty-left-arrow {
    border-right: 6px solid #fff;
    left: 50%;
    margin-left: -17px
}

.twentytwenty-right-arrow {
    border-left: 6px solid #fff;
    right: 50%;
    margin-right: -17px
}

.twentytwenty-up-arrow {
    border-bottom: 6px solid #fff;
    top: 50%;
    margin-top: -17px
}

.twentytwenty-down-arrow {
    border-top: 6px solid #fff;
    bottom: 50%;
    margin-bottom: -17px
}

.twentytwenty-horizontal .twentytwenty-after-label,.twentytwenty-horizontal .twentytwenty-before-label {
    left: 20%;
    bottom: 0;
    max-width: 50%;
    padding: 9px 30px;
    background-color: #fff;
    color: var(--primary-bgcolor);
    font-size: 14px;
    font-weight: 700;
    border-radius: 0;
    opacity: 1;
    text-transform: uppercase;
    font-family: var(--font-bold)
}

.twentytwenty-horizontal .twentytwenty-after-label {
    right: 20%;
    left: auto;
    background-color: #101010;
    color: #fff
}

.VIpgJd-ZVi9od-aZ2wEe-wOHMyf-ti6hGc {
    display: none
}


#tarteaucitronRoot * font{
    color:#fff;
}

#tarteaucitronCloseAlert font, 
#tarteaucitronPrivacyUrlDialog font{
    color:#000;
}

.cekome-stars .st-button+.st-button {
    max-width: 128px;
}