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

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

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

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

:root {
    --primary-back-color: #df0024;
    --secondary-back-color: #e5c059;
    --tertiary-back-color: #282828;
    --back-color: #fff;
    --primary-text-color: #fff;
    --secondary-text-color: #f4f4f4;
    --tertiary-text-color: #f3f5f9;
    --text-color: #767676;
    --title-color: #000;
    --font-title: GreatVibes , sans-serif;
    --font-text: CabinRegular , sans-serif;
    --font-bold: CabinSemiBold , sans-serif;
    --font-emphase: PlayfairDisplayRegular , sans-serif
}

body {
    overflow-y: auto;
    font-size: 16px;
    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(--text-color);
    scroll-behavior: smooth
}

.posrel {
    position: relative
}

.posabs {
    position: absolute
}

.posfix {
    position: fixed
}

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

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

h1 {
    text-align: center;
    max-width: 1220px;
    margin: 0 auto;
    margin-bottom: 70px;
    position: relative;
    display: inline-block;
    font-family: var(--font-title)
}

h1 {
    font-size: 3em
}

h2 {
    font-size: 2.2em
}

h3 {
    font-size: 1.3em
}

h4 {
    font-size: 1.6em
}

h5 {
    font-size: 1.4em
}

h6 {
    font-size: 1.2em
}

@media (max-width: 980px) {
    h1 {
        font-size:2.2em;
        margin-bottom: 40px
    }

    h2 {
        font-size: 1.7em
    }

    h3 {
        font-size: 1.4em
    }

    h4 {
        font-size: 1.4em
    }

    h5 {
        font-size: 1.3em
    }

    h6 {
        font-size: 1.1em
    }
}

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

    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;
    z-index: 2;
    font-size: 1.2em;
    padding-bottom: 30px;
    line-height: 1.2em;
    pointer-events: none
}

.tar {
    text-align: right
}

.tal {
    text-align: left!important
}

.tac,.text-center,.tc_content.tac {
    text-align: center!important
}

.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(--text-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(--text-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
}

.modal.hide {
    height: 0
}

.modal.show {
    height: 100vh
}

.horairemodal {
    pointer-events: none
}

.detailhoraires {
    color: var(--text-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(--text-color)
}

.bthoraire {
    cursor: pointer
}

.underbutton>*,button,.button {
    padding: 20px 25px;
    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;
    font-weight: 600;
    letter-spacing: .03em;
    font-size: 18px
}

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

.horairesBT:hover {
    background-color: transparent
}

.underbutton.icon>*,button.icon,.button.icon {
    padding-left: 40px;
    background-size: 18px;
    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,header #phoneBT-infotelfixe2,#phoneBT-infotelport,#phoneBT-infotelport2,.horairesBT,.formulaireMail,#cta_byadresse .adresseIco,#infoadresse_inner,#infoadresse_inner2 {
    display: flex;
    box-sizing: border-box;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: transparent;
    box-shadow: none;
    letter-spacing: initial!important
}

#header #phoneBT-infotelfixe,header #phoneBT-infotelfixe2,#header #phoneBT-infotelport,#header .horairesBT2,.formulaireMail,#header .horairesBT,.sociblock .share-buttons span,#header #infoadresse #infoadresse_inner,#infoadresse_inner2 {
    color: var(--back-color);
    border: none;
    font-family: var(--font-text);
    font-weight: 100!important
}

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

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

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

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

.horairesBT {
    background-image: url(../images/icons/clockHeader.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
}

.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 a:not([class*="button"]) {
    color: var(--primary-back-color);
    text-decoration: underline;
    font-family: var(--font-bold);
    transition: all .4s
}

.tc_content strong,.tc_content b {
    color: var(--tertiary-back-color);
    transition: all .4s
}

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

strong,b {
    font-family: var(--font-bold)
}

.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-back-color);
    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: #fff0;
    border-bottom: 1px solid #32323247;
    border-top: none;
    position: relative;
    margin: 2em 10px!important;
    padding: 1em 30px!important;
    max-width: 100%;
    box-sizing: border-box
}

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

.tc_content blockquote.is-style-large {
    border-top: 2px solid var(--primary-back-color);
    border-bottom: 2px solid var(--primary-back-color)
}

.tc_content blockquote p {
    display: flow-root;
    color: var(--text-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;
    position: absolute;
    left: 0;
    right: 0;
}

#header #logo {
    text-align: center
}

#header #noshare {
    text-align: center;
    overflow: hidden;
    box-sizing: border-box
}

#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(--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,#infoadresse_inner2,#cta .adresseIco {
    background-image: url(../images/icons/mapHeader.svg);
    background-repeat: no-repeat;
    background-size: 21px;
    background-position: left 8px center;
    padding-left: 40px;
    padding-right: 5px
}

#cta .adresseIco {
    background-image: url(../images/icons/mapHeader.svg)
}

#cta .adresseIco {
    background-image: url(../images/icons/map.svg)
}

#header #infoadresse #infoadresse_inner div {
    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 {
    opacity: 0;
    color: var(--back-color);
    padding: 20px;
    box-sizing: border-box
}

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

#slideactu {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 100px 40px
}

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

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

.wrapper_inner_slider {
    align-content: space-between;
    transition: .4s all ease;
    align-content: stretch;
    width: 100%;
    max-width: 100%;
    display: grid;
    position: relative
}

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

.img_thumbnail_slider {
    width: 100%;
    object-fit: cover;
    transition: all .6s;
    object-position: bottom;
    height: 550px
}

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

.title_link_slider {
    text-decoration: none;
    text-transform: initial;
    line-height: 1.2em;
    font-family: var(--font-emphase);
    letter-spacing: .03em;
    width: 100%;
    display: block;
    display: grid;
    align-items: center;
    transition: all .4s;
    color: var(--title-color);
    text-align: center;
    font-size: .7em
}

.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 {
        height:270px;
        order: -1;
        width: 100%;
        left: 0
    }
}

#prestations {
    background-size: cover;
    background-position: left center;
    background-repeat: repeat-x;
    box-sizing: border-box;
    position: relative;
    padding: 0;
    padding-top: 100px;
    z-index: 1
}

.bloc_inner_wpp h2 a {
    text-decoration: none;
    font-size: .65em;
    color: var(--back-color);
    font-family: var(--font-emphase);
    line-height: 1.3;
    letter-spacing: 0
}

#sections {
    position: relative
}

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

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

.section_thumb .blocthumb {
    box-sizing: border-box
}

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

.sectionsbloc h2 {
    padding: 16px 0;
    text-align: center;
    position: relative;
    font-family: var(--font-title);
    margin-bottom: 20px
}

.sectionsbloc .section_txt .liresuite a.button {
    white-space: inherit
}

.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(--text-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(--text-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(--text-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: 50px;
    z-index: 1
}

#slogan-title {
    color: var(--text-color);
    box-sizing: border-box;
    position: relative
}

#content {
    color: var(--text-color);
    padding: 32px;
    box-sizing: border-box;
    z-index: 0
}

.nohome #content {
    padding: 70px 20px
}

#content.hasnocontent {
    padding: 60px 0;
    padding-bottom: 0;
    text-align: center
}

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

#filterwidgetagence {
    text-align: right;
    padding: 10px;
    background: #f0f0f0;
    color: var(--text-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(--text-color);
    padding: 40px;
    box-sizing: border-box;
    height: 100%
}

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

#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(--text-color);
    font-size: 22px
}

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

.cta_labelSmall {
    font-size: 1em;
    color: var(--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(--text-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(--text-color);
    margin: 0 5%;
    padding: 5px;
    box-sizing: border-box
}

#listarticles .listedarticle h2 a {
    color: var(--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 {
    box-sizing: border-box;
    position: relative;
    font-family: var(--font-text);
    font-weight: 300;
    padding: 10px;
    padding-top: 30px;
    border-top: 1px solid #ffffff12
}

#footer {
    position: relative;
    z-index: 16;
    padding: 10px;
    box-sizing: border-box
}

#mapwidgetagence {
    min-height: 400px
}

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

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

#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 {
    padding: 5px 0;
    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(--text-color);
    text-decoration: none;
    transition: all .4s
}

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

#footer #footerlinks a {
    color: var(--secondary-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%;
    background: var(--text-color);
    z-index: 9999
}

.home #en-tete {
    width: 100%;
    position: relative;
    overflow: visible!important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    z-index: 0;
    box-sizing: border-box
}

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

.nohome #thumbnailPage .blocthumb,.nohome #thumbnailPage .blocthumb img {
    position: relative;
    min-height: 400px;
    height: calc(70vh - 100px);
    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;
    background-color: var(--title-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s;
    transition-delay: 1s
}

#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: var(--tertiary-back-color);
    display: flex;
    align-items: center;
    justify-content: center
}

.loaded #loader-wrapper {
    visibility: hidden;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all .3s 1s ease-out;
    transition: all .3s 1s ease-out
}

.svg-container {
    display: flex
}

.svg {
    height: 300px;
    margin: auto
}

.handle-part1 {
    fill: none;
    stroke: #0b3c4f;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 12px
}

.handle-part2_bg {
    stroke-linejoin: round;
    fill: #358cb7;
    stroke: #358cb7;
    stroke-width: 4px
}

.handle-part2 {
    fill: none;
    stroke: #0b3c4f;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 9px
}

.handle_line {
    fill: none;
    stroke-linecap: round;
    stroke-width: 4px;
    stroke-miterlimit: 10;
    stroke: #003e5b
}

.roll {
    fill: var(--primary-bgcolor);
    stroke-miterlimit: 10;
    stroke: var(--primary-bgcolor);
    stroke-width: 7px
}

.roll-side {
    fill: #003e5b
}

.roll_highlight {
    stroke-linejoin: round;
    fill: #f85a62;
    stroke: #f85a62;
    stroke-width: 6px
}

.paint {
    opacity: .9;
    fill: #de010d
}

.roller-container,.paint {
    transform: scale(.7) translate(10%,65%) rotate(-45deg)
}

.roller {
    animation: move-roller 2s ease infinite
}

@keyframes move-roller {
    from, to {
        transform: translateY(-100px);
    }

    50% {
        transform: translateY(150px);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: scaleY(1);
    }

    33% {
        opacity: 1;
        transform: scaleY(1.4);
    }

    64% {
        opacity: .1;
        transform: scaleY(1);
    }

    100% {
        opacity: 0;
        transform: scaleY(.3);
    }
}

#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 10px;
    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;
    z-index: 3;
    position: relative
}

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

#info-toogle {
    height: 50px;
    padding: 4px;
    width: 50px;
    margin: 0 auto;
    background-color: var(--primary-back-color);
    background-image: url(../images/icons/info.svg);
    background-size: 27px;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    cursor: pointer;
    top: 0;
    z-index: 3
}

.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(--text-color)
}

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

.animationDirection.texttertback::before {
    background: var(--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 {
    font-size: 1.4em;
    color: var(--back-color);
    display: block;
    margin: 20px 5px;
    line-height: 1.4em;
    margin-bottom: 30px;
    font-family: var(--font-emphase)
}

#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,#footer #phoneBT-infotelfixe2,#cta #phoneBT-infotelport,#cta #phoneBT-infotelport2,#cta .formulaireMail,#cta #infoadresse,#footer #cta_byadresse .adresseIco,#cta_infoouverture .horairesBT {
}

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

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

#header #navprimary {
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 100
}

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

.picto-bloc {
    position: relative
}

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

#prestations .bloc_wpp-home::before {
    background: red;
    z-index: 0
}

.nohome.page:not(.template-parent-page-php) #content h2 {
    text-align: left
}

.template-contact-php #landingform {
    z-index: 10
}

.columnOrder {
    flex-direction: column
}

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

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

#logoResponsive img,#logoHeader img {
    box-sizing: border-box;
    max-width: 100%;
    max-height: 190px;
    padding: 10px
}

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

.nohome.single #thumbnailPage .blocthumb {
    height: 100%;
    max-height: 100%;
    line-height: 0
}

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

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

.navigtoogle.social svg:hover {
    background: var(--primary-text-color);
    fill: var(--primary-back-color)
}

.liresuite a {
    text-transform: uppercase;
    letter-spacing: -.01em;
    position: relative;
    font-weight: 300;
    font-family: var(--font-bold);
    letter-spacing: 2px;
    line-height: 1.3;
    font-size: .9em
}

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

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

.bloc_inner_wpp .tc_content {
    box-sizing: border-box;
    z-index: 1;
    padding: 10px 0;
    transition: all .4s;
    position: relative
}

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

.text_slider {
    color: var(--text-color);
    padding: 50px 10px;
    text-align: left
}

.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(--text-color)
}

.separate section h2 {
    text-align: center;
    color: var(--text-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 .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
}

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

#slogan-title {
    line-height: 1.1em;
    font-family: var(--font-title);
    display: inline-block;
    font-size: 5em;
    color: var(--back-color)
}

.navigBloc img {
    max-width: 100%
}

.hidden {
    display: none!important
}

#header .navdown a {
    animation: sousmenu .4s 100ms ease-in-out forwards
}

@keyframes sousmenu {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(.8)
    }

    50% {
        opacity: 1;
        transform: translateY(0) scale(.8)
    }

    100% {
        opacity: 1;
        transform: scale(1);
        border-bottom: 1px solid #00000020;
    }
}

.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(--text-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(--text-color)
}

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

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

.messerr {
    margin-bottom: 16px
}

.template-contact-php #footer {
    z-index: 1
}

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

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

.nohome blockquote .button:hover {
    background: var(--text-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(--text-color)!important
}

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

#cta .adresseIco {
    cursor: initial;
    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(3,1fr);
    gap: 20px
}

.nohome.galerie:not(.single) #content h2 {
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 95%;
    max-width: 100%;
    text-align: center;
    transform: translateX(-50%);
    right: 0;
    z-index: 1;
    padding: 30px;
    box-sizing: border-box;
    font-size: 2em;
    transition: all .4s
}

.nohome.galerie.single #content .wp-block-gallery {
    padding: 30px 0!important
}

.nohome.galerie h2 a {
    color: var(--back-color);
    text-decoration: none;
    font-family: var(--font-title);
    font-weight: 400;
    font-size: 1em
}

.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(--text-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,.privacyform_lab {
    color: var(--back-color)!important
}

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

#slideactu .ckctrldiv {
    bottom: -50px;
    z-index: 12;
    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: 16px
}

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 img,.bloc_inner_wpp .blocthumb {
    width: 100%;
    transition: all 1s
}

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

#navprimary {
    box-sizing: border-box;
    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%
}

#cta {
    z-index: 0
}

.titlehoraires h2 {
    margin: 10px 0!important;
    text-align: center;
    text-transform: initial;
    color: var(--text-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: center
}

.nohome.category #slideactu h2 a {
    text-decoration: none;
    line-height: 1;
    color: var(--title-color);
    font-weight: 100;
    font-family: var(--font-title)
}

.nohome.category h2 {
    margin-bottom: 0!important
}

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

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

.bloc_inner_wpp {
    display: grid;
    align-content: center;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    box-sizing: border-box;
    top: 0%;
    transition: all .4s
}

.bloc_inner_wpp img.contain {
    transition: all .4s;
    z-index: 1;
    position: relative;
    height: 100px;
    width: auto
}

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

#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 {
    box-sizing: border-box;
    transition: all .4s;
    display: inline-block
}

.liresuite a {
    text-align: left
}

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

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

#galleryHome .gallery {
    gap: 30px;
    box-sizing: border-box
}

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

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

.bloc_wpp-home {
    box-sizing: border-box;
    z-index: 1;
    transition: all .4s
}

.bloc_wpp-home.HiddenParent,.bloc_wpp-home:hover {
    border-color: var(--tertiary-back-color)
}

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

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

.picto-container li p {
    margin-top: 8px;
    line-height: 1.6em;
    text-transform: uppercase
}

.txt_wrap {
    z-index: 2
}

.wrapText {
    text-align: center
}

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

.nohome.galerie:not(.single) .blocthumb::before, .nohome.galerie:not(.single) .blocthumb::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg,var(--title-color),transparent);
    opacity: .6;
    transition: all .4s;
    z-index: 0
}

.nohome.galerie:not(.single) .blocthumb::after {
    top: 100%;
    background: var(--primary-back-color)
}

.nohome.galerie:not(.single) .article_content:hover .blocthumb::after {
    top: 0!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;
    border-radius: 30px
}

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

.tc_content a:not(.button):not(.wp-block-button__link):hover {
    color: var(--secondary-back-color)!important
}

#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,#header #phoneBT-infotelfixe2:hover {
    color: var(--primary-text-color)!important;
    background-color: var(--secondary-back-color)
}

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

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

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

.sectionsbloc:nth-child(even) .tc_content a:not(.button):hover, .sectionsbloc:nth-child(even) .tc_content strong a:not(.button):hover, .sectionsbloc:nth-child(even) .tc_content a:not(.button):hover strong {
    color: var(--secondary-back-color)!important
}

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

#prestations .widget_parentpage {
    box-sizing: border-box;
    position: relative;
    align-items: stretch;
    gap: 20px
}

#content .textContent {
    padding: 70px 20px;
    box-sizing: border-box;
    margin: 0 auto;
    z-index: 1
}

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

#contactDiv h2 {
    margin-bottom: 40px
}

.fixHead #navprimary {
    position: fixed;
    top: 0;
    left: 0;
    background: var(--title-color);
    width: 100%;
    margin: 0;
    max-width: 100%
}

.fixHead #info-toogle {
    position: fixed;
    top: 0;
    right: 0
}

.fixHead #footer {
    z-index: 10
}

#landing_listelement {
    margin: 0 auto;
    padding: 120px 50px;
    box-sizing: border-box;
    max-width: 700px;
    background: var(--primary-back-color)
}

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

#en-tete {
    display: grid;
    height: calc(100vh - 00px);
    min-height: 700px;
    z-index: 1
}

#footer.indexbas {
    z-index: 10
}

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

.titleSec {
    text-align: left;
    margin-bottom: 80px;
    position: relative;
    margin-top: 10px;
    box-sizing: border-box;
    color: var(--title-color);
    font-family: var(--font-title);
    letter-spacing: 2px
}

.subtitle {
    color: var(--primary-back-color);
    font-family: var(--font-title);
    font-weight: initial;
    display: block;
    font-size: 1em;
    position: relative
}

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

.navigmenu .navigtoogle:not(.logo) .naviglink.lvl-0:hover, .navigmenu .navigtoogle.active .naviglink.lvl-0 {
    color: var(--secondary-back-color)
}

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

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

.firstImgContent img {
    height: 500px
}

#navprimary .navigmenu {
    max-width: 100%;
    margin: 0 auto
}

.vegas-wrapper {
    position: static
}

#logoResponsive {
    box-sizing: border-box;
    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)
}

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

#homeContact::before {
    width: 100%
}

#cta {
    padding: 40px;
    box-sizing: border-box;
    margin-top: 0;
    margin-left: auto;
    width: 100%;
    background-color: var(--tertiary-back-color)
}

.fondContact {
    position: relative;
    z-index: 1;
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.subtitle {
    font-size: 20px;
    margin-bottom: 20px;
    color: var(--primary-back-color);
    font-family: var(--font-emphase);
    margin: 0!important;
    position: relative;
    box-sizing: border-box
}

#cta_listelement h3 {
    font-family: var(--font-text);
    color: var(--primary-back-color)
}

#cta .adresseIco p {
    padding: 7px 0
}

#cta_listelement h3,#cta .subtitle,#cta_listelement h3,.titleSec,#cta_byadresse,.menu-item,#cta_bytelport #phoneBT-infotelport {
    text-align: center
}

#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(--text-color);
    font-size: 15px;
    text-align: center;
    transform: translateY(-50%);
    width: 100%;
    font-family: var(--font-title);
    padding: 16px;
    box-sizing: border-box;
    transition: all .4s;
    pointer-events: none
}

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

#certifications .widget_element {
    margin: 0;
    margin-top: 15px
}

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

.pictoWrap {
/*    margin: 0 auto;*/
    padding: 49px 10px;
    height: auto
}

#contentBefore {
    padding: 70px 50px;
    text-align: center
}

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

#contactDiv {
    padding: 70px 30px;
    box-sizing: border-box;
    background: url(../images/background.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--back-color)
}

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

#map_canvas img {
    object-fit: cover
}

#contactDiv h2 {
    font-size: 2em;
    margin: 0
}

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

#contactDiv .liresuite a {
    background: #fff0;
    font-family: var(--font-bold);
    border: 2px solid var(--back-color)
}

#contactDiv .liresuite a:hover {
    background: var(--back-color);
    color: var(--text-color)
}

#urgences .liresuite a#phoneBT-infotelport {
    background: var(--secondary-back-color)
}

#en-tete .liresuite a:hover,#urgences .liresuite a:hover {
    background: var(--secondary-back-color)!important
}

#urgences {
    position: fixed;
    z-index: 25;
    gap: 0;
    right: -200px;
    bottom: 0;
    transition: all .6s;
    left: 0;
    opacity: 0;
    background: var(--primary-back-color);
    box-shadow: 0px 10px 20px #00000024
}

#urgences .liresuite a {
    border-radius: 0
}

.specialThumbWrap {
    box-sizing: border-box;
    height: 100%;
    position: relative;
    transition: all .4s
}

.home .gallery-icon {
    overflow: hidden
}

.gallery-item:hover img {
    transform: scale(1.2)
}

.logoHeader img {
    max-height: 220px;
    position: static;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    padding: 0
}

.logoHeader {
    font-size: 0!important
}

.typewrite {
    color: var(--back-color);
    display: block;
    padding: 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
    font-size: 1.3em
}

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

#partenaires .wrapElem {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center;
    margin: 0 auto
}

#partenaires .widget_element img {
    --size: 180px;
    width: var(--size);
    height: var(--size)
}

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

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

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

.to-top {
    background: var(--primary-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 {
    gap: 40px
}

.home #content h3 {
    text-align: center
}

.nohome .img_thumbnail_slider {
    height: 250px;
    overflow: hidden;
    min-height: initial
}

#slideactu>article {
    z-index: 1
}

#h1 img {
    height: 400px
}

.vegas-wrapper::before {
    z-index: 1;
    background: var(--title-color);
    opacity: .5
}

#thumbnailPage::before,#en-tete-img::before {
    background: #000;
    z-index: 1;
    opacity: .6
}

.accroche {
    padding: 30px;
    box-sizing: border-box
}

.accroche>*:not(.liresuite) {
    text-shadow: 2px 2Px 2px #000000b8
}

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

#slideactu .ckslidercontrols .next,#slideactu .ckslidercontrols .prev {
    bottom: 40px;
    opacity: .3;
    border-radius: 50%
}

#slideactu .ckslidercontrols .next {
    right: 5%
}

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

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

small {
    color: var(--primary-back-color);
    margin-bottom: 10px;
    display: block;
    font-size: .8em;
    font-family: var(--font-title);
    text-transform: uppercase;
    letter-spacing: 2px
}

#ctaLink {
    background: url(../images/background-contact.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(--text-color);
    opacity: .75
}

#landing_listelement .titleSec {
    color: var(--title-color);
    padding: 0
}

#slideactu .prev {
    left: 5%
}

.subtitle.big::before {
    content: '';
    position: absolute;
    top: -130px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 80px;
    z-index: -1;
    background: var(--primary-back-color)
}

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

.template-contact-php h1 {
    margin: 30px 0
}

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

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

#fieldDiv>span {
    display: none
}

#thumbnailPage.empty {
    background: url(../images/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 450px;
    width: 100%
}

#choixSections {
    counter-reset: section;
    margin-top: 100px
}

.linkSections {
    background-color: var(--tertiary-back-color);
    border-bottom: 1px solid #ffffff2b
}

#choixSections .active p {
    background-image: linear-gradient(to right,var(--primary-back-color),var(secondary-back-color),var(--tertiary-back-color));
    color: var(--text-color);
    background: var(--tertiary-back-color)
}

#choixSections p {
    padding: 30px 25px 35px 60px;
    box-sizing: border-box;
    font-family: var(--font-bold);
    cursor: pointer;
    position: relative;
    font-size: 15px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--tertiary-text-color);
    line-height: 1.6
}

#choixSections p:before {
    content: "0" counter(section);
    counter-increment: section;
    position: absolute;
    color: rgba(0,0,0,.3);
    font-size: 18px;
    z-index: 10;
    font-family: var(--font-bold);
    line-height: 1;
    height: 40px;
    width: 40px;
    border-radius: 100%;
    background-color: var(--text-color);
    color: var(--back-color);
    display: flex;
    align-items: center;
    justify-content: center;
    top: -20px;
    left: 20px
}

#choixSections .active p:before {
    background: linear-gradient(to right,var(--primary-back-color),var(secondary-back-color),var(--tertiary-back-color));
    box-shadow: 0 0 30px rgb(0 0 0 / 30%)
}

#choixSections .active p:after {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-width: 20px;
    top: 0;
    bottom: auto;
    left: 100%;
    border-left-color: var(--tertiary-back-color);
    z-index: 1;
    border-width: 45px 0 45px 20px;
    transition: 250ms all ease-in-out
}

.pictoWrap h3 {
    margin-top: 8px;
    line-height: 1.3em;
    font-family: var(--font-title);
    text-transform: uppercase;
    font-size: 1em;
    text-align: center
}

.specialthumb img {
    height: 700px
}

#partenaires {
    padding-top: 0;
    margin: 0 auto;
    display: block;
    width: 100%;
    box-sizing: border-box
}

#partenaires .titleSec {
    margin: 0
}

.nohome.childpage content {
    padding-top: 0
}

#slideactu .liresuite.liresuiteFinal {
    margin: 0 auto;
    margin-top: 100px;
    width: 100%
}

.titleWrap {
    padding: 0 20px;
    box-sizing: border-box;
    margin-bottom: 70px;
    display: grid
}

.titleWrap .titleSec {
    margin-bottom: 0
}

.titleWrap .liresuite,.titleWrap .liresuite a {
    margin: 0
}

.title_link_slider:hover {
    color: var(--secondary-back-color)
}

.childpage #prestations {
    padding-top: 0
}

#landing_listelement .subtitle,#landing_listelement .titleSec {
    text-align: left
}

.bloc_inner_wpp img {
    transition: all .6s;
    width: auto;
    margin: 0;
    display: block;
    box-sizing: border-box;
    margin-left: 0;
    width: 100%;
    height: 200px
}

.linkhas-child::after {
    top: 11px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: relative;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-top-color: var(--primary-text-color);
    border-width: 4px;
    margin-left: 6px
}

.title_slider {
    position: relative
}

.nohome .tc_content .gallery .gallery-item {
    overflow: hidden
}

#cta .titleSec {
    margin-bottom: 20px;
    color: var(--back-color);
    margin-top: 0
}

#cta_bytelport a::before,#cta_bytelfixe a::before,#footer #phoneBT-infotelfixe2::before,#cta_infoouverture .horairesBT::before,#cta_byadresse .adresseIco p::before {
    content: "-";
    margin-right: 5px;
    color: var(--back-color)
}

.nohome #thumbnailPage h1 {
    margin-bottom: 120px
}

.nohome h1::after {
    content: '';
    position: absolute;
    top: calc(100% + 30px);
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 70px;
    z-index: -1;
    background: var(--back-color)
}

.nohome:not(.template-contact-php) #homeContact {
    border-top: 1px solid #ffffff4a
}

.section_txt>h3 {
    color: var(--primary-back-color);
    margin-bottom: 40px;
    margin-top: 0;
    font-size: 2em
}

#galleryHome .wp-caption-text.gallery-caption {
    display: none
}

.nohome .content_slider {
    padding-bottom: 100px;
    background: #fff0
}

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

.sectionsbloc.odd .wp-block-quote:before,.sectionsbloc.odd .wp-block-quote:after {
    color: var(--back-color);
    content: '"'
}

.sectionsbloc.odd .tc_content blockquote {
    border-color: #ffffff52
}

.icones .wp-block-column:not(.empty) {
    box-shadow: 0px 0px 20px #0000000f;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center;
    margin: 0;
    background: var(--back-color)
}

.wp-block-column.icones .wp-block-columns {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    gap: 10px
}

.icones .wp-block-columns h2 {
    background: var(--primary-back-color);
    border-radius: 50%;
    --size: 100px;
    width: var(--size);
    height: var(--size);
    display: grid;
    align-items: center;
    justify-items: center;
    color: var(--back-color);
    padding: 0;
    margin-bottom: 20px
}

.icones p {
    color: var(--text-color)
}

.icones .wp-block-column.darkIcon {
    background: var(--secondary-back-color)
}

.icones .wp-block-column.darkIcon strong {
    color: var(--back-color);
    font-size: 1.4em
}

.wp-block-quote:before {
    font-size: 30px;
    color: var(--text-color);
    content: '"'
}

.wp-block-quote:after {
    font-size: 30px;
    color: var(--text-color);
    content: '"'
}

#prestations .bloc_wpp-home .liresuite a {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(0);
    z-index: 1;
    --size: 60px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    padding: 0;
    display: grid;
    align-items: center;
    justify-content: center;
    justify-items: center;
    font-size: 1.3em;
    text-align: center;
    transition: all .4s
}

#prestations .widget_parentpage .bloc_inner_wpp:hover .liresuite a {
    transform: translateX(-50%) translateY(-50%) scale(1)
}

.wrapPresta {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 83%;
    z-index: 1
}

.bloc_inner_wpp .blocthumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(45deg,black,transparent)
}

.darkIcon p {
    font-size: 1.3em;
    max-width: 80%;
    margin: 0 auto
}

.icones {
    position: relative;
    gap: 10px;
    display: grid
}

.icones::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--primary-back-color);
    --size: 70%;
    width: var(--size);
    height: var(--size);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

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

#galleryHome>article>p {
    display: none
}

p.has-background {
    background: #f3f3f3!important
}

.wp-block-image {
    overflow: hidden;
    position: relative
}

.shapeSection .wp-block-image {
    overflow: visible
}

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

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

.blocks-gallery-item {
    overflow: hidden;
    position: relative
}

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

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

.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_zoom:before {
    width: 40px;
    height: 2px;
    margin: -1px 0 0 -20px;
    transform: translateX(-50px)
}

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

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

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

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

.slogan {
    font-size: 1em;
    color: var(--back-color);
    display: block;
    margin: 10px 0;
    font-family: var(--font-title)
}

.title.tac .separator {
    margin: 30px auto
}

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

.title.tac .separator span {
    left: 50%;
    margin-left: -100px
}

.separator span {
    position: relative;
    width: 200px;
    height: 1px;
    background-color: var(--primary-back-color);
    display: block
}

.separator span:before,.separator span:after {
    content: "";
    width: 50px;
    position: absolute;
    height: 1px;
    background-color: var(--primary-back-color)
}

.separator span:before {
    top: -5px
}

.separator span:after {
    bottom: -5px
}

.title.tac .separator {
    margin-bottom: 110px
}

.title.tac .separator span:before,.title.tac .separator span:after {
    left: 50%;
    margin-left: -25px
}

.home #content .liresuite {
    margin-bottom: 0;
    margin-top: 30px
}

.svgHome {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    opacity: .1
}

.svgHome path {
    stroke: var(--primary-back-color)
}

#galleryHome .svgHome {
    top: 70%
}

.bloc_inner_wpp:hover img {
    transform: scale(1.2) rotate(2deg)
}

.subtitleContent {
    padding: 100px 50px;
    padding-bottom: 0;
    text-align: left
}

#contactDiv .subtitle {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 20px!important
}

#en-tete-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

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

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

.schema-how-to,.schema-how-to-steps {
    background: #fff0;
    border: none;
    box-shadow: none;
    padding: 0;
    position: relative
}

.schema-how-to-steps {
    counter-reset: procedure
}

.schema-how-to-step:before {
    content: "0" counter(procedure);
    counter-increment: procedure;
    font-size: 14px;
    line-height: 1;
    position: absolute;
    left: 0;
    z-index: 6;
    top: -10px;
    font-family: var(--font-bold);
    color: var(--back-color);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-back-color);
    border-radius: 100%
}

.schema-how-to-step-name {
    font-size: 16px;
    word-spacing: initial;
    letter-spacing: 0;
    font-weight: normal;
    text-transform: initial;
    display: block;
    color: var(--back-color)!important;
    text-transform: uppercase;
    padding-bottom: 10px
}

.schema-how-to-step {
    padding: 0 0 40px 60px!important;
    box-shadow: none;
    border: none;
    background: none!important;
    position: relative
}

.schema-how-to-step::marker {
    content: ''!important
}

.schema-how-to-steps:before {
    content: "";
    position: absolute;
    width: 3px;
    height: 100%;
    background-color: var(--primary-back-color);
    left: 19px
}

#reassurances::before {
    background: url(../images/shape.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .2
}

#cta::before {
    opacity: .1
}

.titleWrap.tac {
    justify-content: center;
    justify-items: center;
    text-align: center
}

.blocks-gallery-grid,.wp-block-gallery {
    width: 100%
}

.articleContentHome {
    gap: 20px 40px
}

.section_txt {
    padding: 50px 10px;
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
    max-width: 700px
}

.wp-block-spacer {
    display: none
}

.tc_content>.wp-block-media-text:first-child {
    margin-top: 0
}

.tc_content>.wp-block-media-text:last-child {
    margin-bottom: 0
}

#horaires .widget_element h3 {
    display: block;
    color: var(--title-color);
    margin-bottom: 50px;
    font-size: 2em
}

#footer a:not(.button):hover {
    color: var(--title-color)
}

#content .share-buttons {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap
}

#content .share-buttons a {
    width: 20px;
    display: flex;
    padding: 5px
}

#content .share-buttons a svg {
}

#content .share-buttons a svg path {
    fill: var(--primary-back-color)
}

#fournisseurs {
    background: rgba(0,0,0,.2);
    padding: 50px;
    z-index: 99
}

#fournisseurs .ckslider{
    justify-content: center;
}
    