:root {
    --color0: #FCFCFC;
    --color0_rgb: 252, 252, 252;
    --color1: #A63A3A;
    --color1_rgb: 166, 58, 58;
    --nuanceColor1: #e7870c;
    --color2: #D6A635;
    --color2_rgb: 214, 166, 53;
    --color3: #212121;
    --color4: #1B1B1B;
    --color4_rgb: 27, 27, 27;
    --bg-facultatif: var(--color0)4F4;
    --font_family_1: 'RougeScript-Regular', sans-serif;
    --font_family_2: 'CormorantGaramond-Regular', sans-serif;
    --font_family_3: 'Satoshi Regular', sans-serif;
    --taille_font: clamp(1.6rem, 0.8vw, 2.2rem);
    --border-radius: 3px;
    --btn-size: 66px;
}

body:after {
    content: url('../images/bx_loader.svg') !important;
    display: none;
}

/* RESET ET STYLE FIXE ****************************************************/
html,
body {
    height: 100%
}

body {
    width: 100%;
    margin: 0;
    padding: 0
}

a {
    -webkit-transition: color 300ms ease-out;
    -moz-transition: color 300ms ease-out;
    -o-transition: color 300ms ease-out;
    transition: color 300ms ease-out;
}

a img {
    border: none
}

img {
    max-width: 100%
}

ul,
ol {
    list-style-position: inside;
    padding-left: 15px
}

menu,
dir {
    padding-left: 15px
}

blockquote p {
    font-size: inherit
}

main,
section,
article,
aside,
footer,
header,
nav {
    display: block
}

iframe {
    border: none
}

*[data-anim] {
    opacity: 0
}

.row {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.nopad {
    padding-left: 0;
    padding-right: 0
}

.nopad-l {
    padding-left: 0
}

.nopad-r {
    padding-right: 0
}

.nomargin {
    margin: 0
}

.hide {
    display: none
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.justify {
    text-align: justify
}

.clear:after {
    content: '';
    display: block;
    clear: both
}

.bold {
    font-weight: bold
}

.underline {
    text-decoration: underline
}

.relative {
    position: relative
}

.inline-block {
    display: inline-block;
    vertical-align: top
}

.noflicker {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.retrait {
    margin-left: -15px !important;
    margin-right: -15px !important
}

.transition {
    -webkit-transition: all 400ms ease;
    -moz-transition: all 400ms ease;
    -ms-transition: all 400ms ease;
    -o-transition: all 400ms ease;
    transition: all 400ms ease;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.cover {
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important
}

hr.trait {
    height: 1px;
    margin: -0.5em 0;
    padding: 0;
    color: #e0e0e1;
    background-color: #e0e0e1;
    border: 0
}

.body-page-1 .page-contenu {
    text-align: justify
}

.page-contenu img {
    margin: 10px
}

ul li.niveau2,
ol li.niveau2 {
    margin-left: 30px
}

body {
    color: var(--color4);
    font-family: var(--font_family_3);
    font-size: calc(var(--taille_font) * 1.05);
    background: var(--color0);
}

b,
strong {
    font-weight: 600;
}

a,
a:link,
a:visited {
    color: var(--color4);
    text-decoration: underline
}

a:hover {
    text-decoration: none
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3 {
    color: var(--color3);
    font-family: var(--font_family_2);
    text-transform: auto;
}

h1,
.h1,
h2.h1 {
    position: relative;
    margin: 0 0 1em;
    color: var(--color4);
    font-family: var(--font_family_1);
    font-size: calc(var(--taille_font) * 5);
    text-align: center;
    /* text-shadow: 1px 2px 3px rgba(var(--color4_rgb), 0.7); */
    /* background: url(../images/ico-titre.png) no-repeat center bottom; */
    transition: all 400ms ease
}

h1:hover,
.h1:hover {
    /* background: url(../images/ico-titre.png) no-repeat center 80px; */
}

/* h1:before,
.h1:before {
    opacity: 0;
    filter: alpha(opacity=0);
    content: "";
    width: 40px;
    height: 22px;
    background: url(../images/fleche-descendre.png) no-repeat center top;
    display: inline-block;
    position: absolute;
    bottom: 15px;
    left: 50%;
    margin-left: -20px;
    -webkit-transition: all 400ms ease;
    transition: all 400ms ease
}

h1:hover:before,
.h1:hover:before {
    opacity: 1;
    filter: alpha(opacity=100);
    bottom: -15px;
} */

.h1:after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 10%;
    height: 2px;
    background: linear-gradient(to right, var(--color2), transparent);
    transform: translateX(-50%);
    transition: width 0.3s ease;
}

.body-page-1 h1,
.body-page-1 .h1 {
    color: var(--color3);
    margin: 15px 0 15px 0;
    background: none;
    text-shadow: none;
}

.body-page-1 h1:before,
.body-page-1 .h1:before {
    display: none;
    cursor: default;
}

h2,
.h2 {
    font-size: calc(var(--taille_font) * 2)
}

h3,
.h3 {
    font-size: calc(var(--taille_font) * 1.5)
}

h4,
h5,
h6 {
    font-size: calc(var(--taille_font) * 1.2)
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.h1 a,
.h2 a,
.h3 a,
h1 a:link,
h2 a:link,
h3 a:link,
h4 a:link,
h5 a:link,
h6 a:link,
.h1 a:link,
.h2 a:link,
.h3 a:link,
h1 a:visited,
h2 a:visited,
h3 a:visited,
h4 a:visited,
h5 a:visited,
h6 a:visited,
.h1 a:visited,
.h2 a:visited,
.h3 a:visited {
    font-size: inherit;
    color: inherit;
    text-decoration: none
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
.h1 a:hover,
.h2 a:hover,
.h3 a:hover {
    text-decoration: underline
}

h1:before {
    cursor: pointer;
}

.h1 .titre-secondaire {
    display: block;
    color: var(--color2);
    font-family: var(--font_family_2);
    font-size: calc(var(--taille_font) * 2);
    margin-top: 0.3em;
    padding: 0 0 0.5em;
    font-weight: normal;
    opacity: 1;
}

/* CORPS DE LA PAGE *******************************************************/
/* *************************************************************************/
.main-page {
    position: relative;
    overflow: hidden
}

.tete {
    position: relative;
    z-index: 8001;
}

.tabb {
    display: table;
    margin: 0;
    padding: 0;
    width: 100%;
}

.tabb .cell {
    display: table-cell;
    vertical-align: top;
}

.tabb .cell.cellg {
    width: 33.3333%;
    background: url(../images/photo1.jpg) no-repeat center top;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

/* ==========================================
    MODAL - CONFIGURATION GÉNÉRALE
========================================== */
.modal {
    z-index: 9999;
}

.modal-backdrop {
    z-index: 9996;
    background: rgba(var(--color4_rgb), 0.7);
    backdrop-filter: blur(5px);
}

.modal-content {
    border-radius: var(--border-radius);
    border: none;
    box-shadow: 0 10px 50px rgba(var(--color4_rgb), 0.3);
}

/* ==========================================
    MODAL HEADER
========================================== */
.modal-content .modal-header {
    background: var(--color4);
    border-bottom: none;
    padding: 2em;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    position: relative;
    min-height: 80px;
}

.modal-content .modal-header .close {
    position: absolute;
    top: 1em;
    right: 1em;
    background: transparent;
    border: 2px solid var(--color0);
    color: var(--color0);
    width: 2.5em;
    height: 2.5em;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--taille_font);
    line-height: 1;
    opacity: 1;
}

.modal-content .modal-header .close:hover {
    background: var(--color0);
    color: var(--color1);
    transform: rotate(90deg);
    opacity: 1;
}

/* ==========================================
    MODAL BODY
========================================== */
.modal-content .modal-body {
    background: var(--color0);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    padding: 2.5em 3em 3em;
}

/* Titre */
.modal-content h2 {
    font-family: var(--font_family_1);
    font-size: calc(var(--taille_font) * 2.5);
    color: var(--color4);
    text-align: center;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.modal-content .modal-header h2 {
    color: var(--color0);
}

.modal-content .modal-header button.btn {
    color: var(--color0);
    border: none;
    border-radius: 50%;
    overflow: hidden;
}

/* Horaires sous le titre */
.modal-content .horaires {
    color: rgba(var(--color4_rgb), 0.6);
    margin: 0 0 2em 0;
    font-family: var(--font_family_3);
    font-size: calc(var(--taille_font) * 1);
    text-align: center;
    font-style: italic;
}

.modal-content .horaires span {
    display: block;
    margin: 0.3em 0;
}

/* ==========================================
    FORMULAIRE
========================================== */
.modal-content .form-group {
    margin-bottom: 1.5em;
    position: relative;
}

.modal-content .form-group:after {
    clear: both;
    display: table;
    content: " ";
}

/* Labels */
.modal-content label {
    font-family: var(--font_family_2);
    font-size: calc(var(--taille_font) * 1);
    font-weight: 600;
    color: var(--color3);
    padding-left: 0;
    padding-top: 0;
    margin-bottom: 0.5em;
    display: block;
}

/* Inputs et textarea */
.modal-content input,
.modal-content textarea {
    width: 100%;
    padding: 0.8em 1em;
    font-family: var(--font_family_3);
    font-size: calc(var(--taille_font) * 0.95);
    color: var(--color4);
    background: var(--color0);
    border: 1px solid rgba(var(--color4_rgb), 0.15);
    border-radius: var(--border-radius);
    box-shadow: none;
    transition: all 0.3s ease;
    line-height: 1.5;
}

.modal-content input {
    height: 48px;
}

.modal-content textarea {
    min-height: 120px;
    resize: vertical;
    padding: 1em;
}

.modal-content input:focus,
.modal-content textarea:focus {
    outline: none;
    border-color: var(--color2);
    box-shadow: 0 0 0 3px rgba(var(--color2_rgb), 0.1);
}

.modal-content input[type="number"] {
    padding-right: 1em;
}

/* ==========================================
    CAPTCHA
========================================== */
.modal-content input[name="captchaReservation"] {
    width: 65% !important;
    height: 48px !important;
    display: inline-block;
    float: none !important;
    margin-right: 2% !important;
    vertical-align: top;
    min-width: 0;
}

.modal-content input[name="captchaReservation"]+a {
    width: 33% !important;
    display: inline-block;
    vertical-align: top;
    background: rgba(var(--color2_rgb), 0.1);
    border: 1px solid rgba(var(--color2_rgb), 0.3);
    border-radius: var(--border-radius);
    transition: all 0.3s ease;
}

.modal-content input[name="captchaReservation"]+a:hover {
    background: rgba(var(--color2_rgb), 0.2);
}

.modal-content #captcha3 {
    width: 100%;
    height: 48px !important;
    border-radius: var(--border-radius);
    padding: 0;
    border: 1px solid rgba(var(--color4_rgb), 0.15);
}

/* ==========================================
    CHECKBOX RGPD
========================================== */
.modal-content label.checkbox {
    font-family: var(--font_family_3);
    font-size: 0.9em;
    color: var(--color4);
    display: flex;
    align-items: flex-start;
    gap: 0.8em;
    cursor: pointer;
    margin-bottom: 1em;
    font-weight: 400;
}

.modal-content label.checkbox input[type="checkbox"] {
    margin-top: 0.3em;
    cursor: pointer;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.modal-content label.checkbox.label-rgpd {
    position: relative;
}

.modal-content label.checkbox.label-rgpd span.text-warning {
    position: absolute;
    bottom: -20px;
    left: 26px;
    font-size: 0.85em;
    color: var(--color1);
}

/* ==========================================
    TEXTES ADDITIONNELS
========================================== */
.modal-content .description {
    margin: 1.5em 0 0 0;
    font-family: var(--font_family_3);
    font-size: calc(var(--taille_font) * 0.85);
    line-height: 1.6;
    color: rgba(var(--color4_rgb), 0.6);
    font-style: italic;
    text-align: center;
}

.modal-content .obligatoire {
    font-family: var(--font_family_3);
    font-size: 0.8em;
    color: var(--color1);
    font-style: italic;
    display: block;
    margin-top: 0.3em;
}

/* ==========================================
    RESPONSIVE
========================================== */
@media (max-width: 768px) {
    .modal-content .modal-header {
        padding: 1.5em;
    }

    .modal-content .modal-body {
        padding: 2em 1.5em 2.5em;
    }

    .modal-content h2 {
        font-size: calc(var(--taille_font) * 2);
    }

    .modal-content label {
        font-size: calc(var(--taille_font) * 0.95);
    }

    .modal-content .btn-default {
        max-width: 100%;
        font-size: calc(var(--taille_font) * 1);
    }

    .modal-content input[name="captchaReservation"] {
        width: 100% !important;
        margin-bottom: 0.5em !important;
    }

    .modal-content input[name="captchaReservation"]+a {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .modal-content .modal-header {
        padding: 1.2em;
    }

    .modal-content .modal-body {
        padding: 1.5em 1em 2em;
    }

    .modal-content h2 {
        font-size: calc(var(--taille_font) * 1.8);
    }

    .modal-content .btn-default {
        height: 56px;
    }
}

.bootstrap-timepicker-widget {
    z-index: 9999 !important
}

.bootstrap-timepicker-widget table,
.bootstrap-timepicker-widget table td,
.bootstrap-timepicker-widget table th {
    border: none;
}

.fluid-slider {
    background: #171717
}

.sidebar {
    padding-top: 30px;
    text-align: right
}

.sidebar .photoa {
    background: url(../images/photo-accueil.jpg) right top no-repeat;
    height: 187px
}

.fluid-app {
    background: url(../images/bg-app.jpg) no-repeat center top;
    height: 730px;
    padding: 60px 0 0 0;
    position: relative;
    z-index: 8000;
}

.fluid-app h2 {
    text-align: center;
    font-size: 39px;
    text-transform: uppercase;
    color: var(--color3);
    margin-bottom: 5px;
}

.fluid-app .soustitre {
    text-align: center;
    font-size: 22px;
    color: var(--color0);
}

.fluid-app .boutiques {
    display: block;
    list-style-image: none;
    list-style-type: none;
    margin: 0;
    padding: 50px 0 30px 0;
    text-align: center;
}

.fluid-app .boutiques li.boutique {
    display: inline-block
}

.fluid-app .services {
    display: inline-block;
    list-style-image: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.fluid-app .services li {
    display: block;
    background: url(../images/ico-puce.png) no-repeat 0 6px;
    padding: 0 0 15px 20px;
    font-size: 20px;
    color: var(--color0);
}

.fluid-app .qrcode {
    position: relative;
    margin: 175px 0 0 0;
    display: inline-block;
}

.fluid-app .qrcode .fleche {
    width: 97px;
    height: 67px;
    background: url(../images/fleche.png) no-repeat center top;
    position: absolute;
    top: -90px;
    left: 10px;
}

.fluid-app .application {
    position: absolute;
    top: 260px;
    left: 450px;
    width: 500px;
    height: 300px;
}

.fluid-app .application .app {
    position: absolute;
    top: 300px;
    left: 500px;
    width: 500px;
    height: 300px;
    width: 630px;
}

.fluid-app .application .app.app1 {
    top: 0px;
    left: 0px;
    height: 401px;
    background: url(../images/app1.png) no-repeat center top;
    z-index: 9995;
}

.fluid-app .application .app.app2 {
    top: 0px;
    left: 125px;
    height: 405px;
    background: url(../images/app2.png) no-repeat center top;
    z-index: 9996;
}

.fluid-app .application .app.app3 {
    top: 0px;
    left: 255px;
    height: 408px;
    background: url(../images/app3.png) no-repeat center top;
    z-index: 9997;
}


/* Banniere *************************************************************/
/* *************************************************************************/

.banniere {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 0;
    width: 100%;
    height: 975px;
    background-size: cover;
    background-position: center 60%;
    background-repeat: no-repeat;
}

.banniere::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgb(var(--color4_rgb), 0.8) 0, rgb(var(--color4_rgb), 0.71) 13%, rgb(var(--color4_rgb), 0.1) 65%, rgb(var(--color4_rgb), 0) 100%);
    z-index: 1;
    pointer-events: none;
}

.banniere video {
    width: auto;
    min-width: 100%;
    min-height: 100%;
}

.banniere img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
}

/* .body-page-1 .banniere { background-image: url(../images/image-slider-1.jpg); }
.body-carte .banniere { background-image: url(../images/ban1.jpg); }
.body-formule-list .banniere { background-image: url(../images/ban6.jpg); }
.body-gallery-22 .banniere { background-image: url(../images/ban2.jpg); }
.body-page-16 .banniere { background-image: url(../images/ban3.jpg); }
.body-contact .banniere { background-image: url(../images/ban4.jpg); }
.body-page-21 .banniere { background-image: url(../images/ban5.jpg); } */

.video-accueil {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: auto;
    max-height: 100vh;

}

.slogan {
    position: absolute;
    top: 80%;
    left: 0%;
    color: var(--color0);
    padding: 0 4%;
    margin: 0;
    text-align: left;
    transform: translateY(-50%);
    z-index: 100;
}

.body-page-1 .slogan {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    top: 50%;
    left: 50%;
    width: 80%;
    margin: auto;
    padding: 0 3%;
    text-align: left;
    text-shadow: 1px 1px 12px rgba(var(--color4_rgb), 0.5);
    transform: translate(-50%, -50%);
}

.slogan h1 {
    position: relative;
    color: var(--color0);
    width: 100%;
    margin: 0;
    text-align: left;
    z-index: 2;
}

.h1.slogan:before,
.slogan h1:before {
    content: "";
    width: 0;
    height: 0;
    background: 0 0;
    position: inherit;
    bottom: inherit;
    left: inherit;
    display: none;
}

.slogan .titre {
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: calc(var(--taille_font) * 6);
    font-family: var(--font_family_1);
    font-weight: 400;
    line-height: 40px;
}

.slogan .titre span {
    font-size: calc(var(--taille_font) * 2.5);
}

.slogan .sous-titre {
    display: flex;
    justify-content: center;
    width: 50%;
    text-wrap: balance;
    text-align: center;
    font-size: calc(var(--taille_font) * 2.5);
    font-family: var(--font_family_2);
    line-height: 1.3;
    font-weight: 200;
    /*text-transform: uppercase;*/
}

.body-page-1 .slogan .sous-titre {
    width: 100%;
}

.btn-descendre {
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(var(--btn-size) * 0.4);
    height: calc(var(--btn-size) * 0.8);
    border: 2px solid rgba(var(--color0_rgb), 0.5);
    border-radius: 50px;
    box-sizing: border-box;
    text-decoration: none;
    z-index: 10;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.9;
}

.btn-descendre:hover {
    --color: var(--color1);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
}

/* Point animé qui descend (molette de souris) */
.btn-descendre::before {
    content: "";
    position: absolute;
    bottom: calc(var(--btn-size) * 0.5);
    left: 50%;
    width: 6px;
    height: 6px;
    margin-left: -3px;
    background-color: var(--color0);
    border-radius: 100%;
    animation: scrolldown-anim 2s infinite;
    box-sizing: border-box;
    box-shadow: 0px -5px 3px 1px rgba(255, 255, 255, 0.4);
}

@keyframes scrolldown-anim {
    0% {
        opacity: 0;
        height: 6px;
    }

    40% {
        opacity: 1;
        height: 10px;
    }

    80% {
        transform: translate(0, 20px);
        height: 10px;
        opacity: 0;
    }

    100% {
        height: 3px;
        opacity: 0;
    }
}

/* Container des chevrons */
.btn-descendre .chevrons {
    padding: 6px 0 0 0;
    margin-top: calc(var(--btn-size) * 0.96);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Chevrons animés */
.btn-descendre .chevrondown {
    margin-top: -6px;
    position: relative;
    border: solid var(--color0);
    border-width: 0 3px 3px 0;
    display: inline-block;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    transition: border-color 0.3s ease;
}

.btn-descendre .chevrondown:nth-child(odd) {
    animation: pulse 500ms ease infinite alternate;
}

.btn-descendre .chevrondown:nth-child(even) {
    animation: pulse 500ms ease infinite alternate 250ms;
}

@keyframes pulse {
    from {
        opacity: 0;
    }

    to {
        opacity: 0.5;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .btn-descendre {
        --sizeX: calc(var(--btn-size) * 0.5);
        --sizeY: calc(var(--btn-size) * 0.9);
    }

    .btn-descendre .chevrondown {
        width: 8px;
        height: 8px;
        border-width: 0 2px 2px 0;
    }
}

/* CTA ************************************************************/
/* ****************************************************************/

.cta {
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    align-items: stretch;
    justify-content: flex-start;
    column-gap: 1.1em;
    height: 100%;
    margin: 2em 0;
}

/* Bouton *********************************************************/
/* ****************************************************************/
/* Bouton *********************************************************/
/* ****************************************************************/
a.bouton-principal,
p.bouton-principal,
button.bouton-principal,
button.btn,
button.btn-default,
input.btn,
input.btn-primary,
input[type="submit"].btn-primary {
    text-align: center;
    color: var(--color3);
    text-decoration: none;
    margin: 0;
    padding: 0.9em 2.5em 0.7em;
    font-size: calc(var(--taille_font) * 1.05);
    font-family: var(--font_family_2);
    text-transform: uppercase;
    border: 1px solid var(--color2);
    border-radius: var(--border-radius);
    background: transparent;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

/* Hover TOUS les boutons - effet simplifié pour input */
a.bouton-principal:hover,
p.bouton-principal:hover,
button.bouton-principal:hover,
button.btn:hover,
button.btn-default:hover,
input.btn:hover,
input.btn-primary:hover,
input[type="submit"].btn-primary:hover {
    color: var(--color4);
    border-color: var(--color2);
    background: rgba(var(--color2_rgb), 0.08);
}

/* Pseudo-element AVANT pour l'effet shutter (sauf input) */
a.bouton-principal,
p.bouton-principal,
button.bouton-principal,
button.btn,
button.btn-default {
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    background-color: transparent;
}

a.bouton-principal:before,
p.bouton-principal:before,
button.bouton-principal:before,
button.btn:before,
button.btn-default:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--color2_rgb), 0.08);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

/* Animation du shutter au hover (sauf input) */
a.bouton-principal:hover:before,
p.bouton-principal:hover:before,
button.bouton-principal:hover:before,
button.btn:hover:before,
button.btn-default:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/* Variante fond sombre (slogan/hero) */
.slogan a.bouton-principal,
.slogan p.bouton-principal,
.slogan button.bouton-principal,
.slogan button.btn-default,
.resa-carte a.bouton-principal {
    padding: 1.1em 2.5em 0.9em;
    color: var(--color0);
    border-color: var(--color0);
    backdrop-filter: blur(10px);
    background-color: rgba(var(--color4_rgb), 0.3);
}

.slogan a.bouton-principal:before,
.slogan p.bouton-principal:before,
.slogan button.bouton-principal:before,
.slogan button.btn-default:before,
.resa-carte a.bouton-principal:before {
    background-color: rgba(var(--color2_rgb), 0.15);
}

.slogan a.bouton-principal:hover,
.slogan p.bouton-principal:hover,
.slogan button.bouton-principal:hover,
.slogan button.btn-default:hover,
.resa-carte a.bouton-principal:hover {
    color: var(--color0);
    border-color: var(--color2);
    background: rgba(var(--color2_rgb), 0.15);
}

/* Variante inversée - bordure rouge */
.bouton-principal.bouton-inverse,
button.btn-default.bouton-inverse,
input.btn.bouton-inverse,
input.btn-primary.bouton-inverse {
    background: transparent;
    border-color: var(--color1);
}

.bouton-principal.bouton-inverse:before,
button.btn-default.bouton-inverse:before {
    background-color: rgba(var(--color1_rgb), 0.15);
}

.bouton-principal.bouton-inverse:hover,
button.btn-default.bouton-inverse:hover,
input.btn.bouton-inverse:hover,
input.btn-primary.bouton-inverse:hover {
    border-color: var(--color1);
    background: rgba(var(--color1_rgb), 0.15);
}

/* Animation hover pour classe hvr */
.hvr-shutter-out-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    background-color: transparent;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
}

.slogan .hvr-shutter-out-horizontal {
    background-color: rgba(var(--color4_rgb), 0.3);
}

.hvr-shutter-out-horizontal:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--color2_rgb), 0.08);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.slogan .hvr-shutter-out-horizontal:before {
    background-color: rgba(var(--color2_rgb), 0.15);
}

.bouton-inverse.hvr-shutter-out-horizontal:before {
    background-color: rgba(var(--color1_rgb), 0.15);
}

.hvr-shutter-out-horizontal:hover,
.hvr-shutter-out-horizontal:focus,
.hvr-shutter-out-horizontal:active {
    color: var(--color1);
}

.slogan .hvr-shutter-out-horizontal:hover,
.slogan .hvr-shutter-out-horizontal:focus,
.slogan .hvr-shutter-out-horizontal:active {
    color: var(--color0);
}

.hvr-shutter-out-horizontal:hover:before,
.hvr-shutter-out-horizontal:focus:before,
.hvr-shutter-out-horizontal:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/* Largeur spécifique pour le bouton du formulaire de contact */
.contact .formulaire .form-group input.btn-primary {
    width: 30%;
}

/* Style spécifique pour btn-default dans modal */
.modal-content button.btn-default {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    display: block;
}

/* Accueil *********************************************************/
/* ***********************************************************************/

.section {
    position: relative;
    padding: 5em 10% 7em;
    background: var(--color0);
    z-index: 1000;
}

.section:nth-child(odd):before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color2_rgb), 0.05);
    z-index: -1;
    pointer-events: none;
}

@media (max-width: 991px) {
    .section {
        padding: 4em 2%;
    }
}

/* Fluid-contenu *********************************************************/
/* ***********************************************************************/

.fluid-contenu {}


.body-page-1 .page {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1em;
}

.body-page-1 .page .h1 {
    grid-column: -1 / 1;
}

.body-page-1 .page .cell-contenu {
    display: flex;
    flex-direction: column;
    gap: 1em;

}

.body-page-1 .page .contenu {
    height: 50vh;
    padding: 1em;
    overflow-y: auto;
    overflow-x: hidden;
}

.body-page-1 .page .contenu::-webkit-scrollbar {
    width: 2px;
}

.body-page-1 .page .contenu::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--color0) 99%, black);
    border-radius: 1px;
}

.body-page-1 .page .contenu::-webkit-scrollbar-thumb {
    background: var(--color3);
    border-radius: 1px;
}

.body-page-1 .page .contenu {
    scrollbar-width: thin;
    scrollbar-color: var(--Color2) color-mix(in srgb, var(--color0) 99%, black);
}

.body-page-1 .page .contenu h2 {
    font-family: var(--font_family_2) !important;
}


.body-page-1 .page .cell-photo {
    position: relative;
    width: 100%;
}

.body-page-1 .page .cell-photo .bx-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    filter: drop-shadow(1px 1px 10px rgba(var(--color4_rgb), 0.5));
}

.body-page-1 .page .cell-photo .bx-viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.body-page-1 .page .cell-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 60vh;
    object-fit: cover;
    border-radius: var(--border-radius);
}

@media (max-width: 991px) {
    .body-page-1 .page {
        grid-template-columns: 1fr;
        grid-template-rows: 0.5fr 1fr 1fr;
    }
}





/* SUDO SLIDER GAL *********************************************************/
/* *************************************************************************/
.cont-slidergal {
    position: relative
}

.sudo-slidergal,
.sudo-slidergal img {
    width: 100%
}

a.sudoliengal.precedent,
a.sudoliengal.suivant {
    z-index: 9000;
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 18px;
    height: 40px;
    margin-top: -20px;
    opacity: 0
}

a.sudoliengal.precedent {
    left: 10px;
    background: url(../images/g.png)
}

a.sudoliengal.suivant {
    right: 10px;
    background: url(../images/d.png)
}

.cont-slidergal:hover a.sudoliengal.precedent,
.cont-slidergal:hover a.sudoliengal.suivant {
    opacity: 1
}

.cont-slidergal .controls {
    display: none
}

.sudo-slidergal .propor:after {
    padding-top: 72%;
    display: block;
    content: '';
}

.sudo-slidergal .propor .propor-cont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.sudo-slidergal .propor .propor-cont .imagecont {
    height: 100%;
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.sudo-slidergal .propor .propor-cont .imagecont .imagefond {
    image-rendering: optimizeQuality;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
}

/* SCROLL PERSONNALISE ****************************************************/
/* *************************************************************************/
/*.scrollbars{width:100%;height:300px }
.scrollbar-path-vertical,.scrollbar-path-horizontal{position:absolute;background-color:#eee;background-color:rgba(220,220,220,0.5);z-index:100;}
.scrollbar-path-horizontal{bottom:5px;left:0;width:100%;height:10px;}
.scrollbar-path-vertical{right:5px;top:0;height:100%;width:10px;}
.scrollbar-path-vertical{box-shadow:inset 1px 0px 1 rgba(0,0,0,0.1) }
.scrollbar-path-horizontal{box-shadow:inset 0px 1px 1 rgba(0,0,0,0.1) }
.scrollbar-handle{position:relative;top:0;left:0;background-color:#58eebc;}
.scrollbar-path-vertical .scrollbar-handle{height:20%;width:100%;}
.scrollbar-path-horizontal .scrollbar-handle{width:20%;height:100%;}
.scrollbar-path-vertical, .scrollbar-path-horizontal, .scrollbar-handle{border-radius:5px;}
.scrollbar-content{padding:0 20px 0 0;float:none !important }
*/
/* MODULE CONTACT *********************************************************/
/* *************************************************************************/
label.checkbox.label-rgpd {
    font-size: 11px !important;
}

.form-group .label-rgpd strong,
.info-rgpd strong,
.info-rgpd a,
.info-rgpd a:visited {
    color: var(--color4);
}

.form-horizontal .checkbox,
.form-horizontal .radio {
    display: inline-block;
    vertical-align: top;
    margin: 0 20px 0 0;
    font-weight: normal;
}

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
    position: static;
    width: auto;
    margin: 7px 5px 0 0;
}

.corps-contact.formulaire {
    padding: 0 0px;
}

.tabb-contact {
    display: table;
    margin: 0;
    padding: 0;
    width: 100%;
}

.tabb-contact .cell {
    display: table-cell;
    vertical-align: top;
}

.tabb-contact .cell.cellg {
    width: 33.3333%;
    background: #f5f5f5
}

/*.tabb-contact .cell.celld{}*/
.tabb-contact .corps-contact {
    padding: 90px 60px 10px 60px
}



/* Couleurs des placeholder */
*::-webkit-input-placeholder {
    color: #4b4b4b !important
}

*:-moz-placeholder {
    color: #4b4b4b !important;
    opacity: 1 !important
}

/* FF 4-18 */
*::-moz-placeholder {
    color: #4b4b4b !important;
    opacity: 1 !important
}

/* FF 19+ */
*:-ms-input-placeholder {
    color: #4b4b4b !important
}

/* IE 10+ */
/* Formulaire pageseo */
.pageseo .formulaire .form-group input[name="captcha"] {
    width: 100% !important;
    margin-right: 0% !important;
    text-align: left !important;
}

.pageseo .formulaire .form-group input[name="captcha"]+a {
    position: absolute;
    width: 140px;
    top: 0;
    right: 0;
    margin-right: 0px !important;
}

.pageseo .formulaire .form-group input.btn-primary {
    width: 50%;
    margin-top: 0;
}

.flex-seoContain {
    position: relative;
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flex-seoContain .seo-content {
    width: 55%;
    padding-top: 1em;
    text-align: justify;
}

.flex-seoContain .seo-content h1,
.flex-seoContain .seo-form h2.h1 {
    text-align: left;
}

.flex-seoContain .seo-content h1:before,
.flex-seoContain .seo-form h2.h1:before {
    left: 0;
    margin-left: 0;
}

.flex-seoContain .seo-form {
    width: 43%;
    padding: 2em 2% 3em;
    background: #d6af8547;
}

.img-seo img {
    border-radius: var(--border-radius);
    width: 240px;
    height: auto;
}

/* MODULE GALERIE *********************************************************/
/* *************************************************************************/
.elemelem {
    margin: 0 0 30px 0;
}

.gallery .kikoolol {
    padding: 10px 0 30px 60px
}

.gallery .sansimage .kikoolol {
    padding: 10px 0 30px 0px
}

.gallery .description-galerie {
    padding: 0 0px 0px 0px;
    text-align: justify
}

/* Espace entre colonnes de photos */
.gallery .ligne-photos .col-md-1,
.gallery .ligne-photos .col-md-2,
.gallery .ligne-photos .col-md-3,
.gallery .ligne-photos .col-md-4,
.gallery .ligne-photos .col-md-6 {
    padding-left: 5px !important;
    padding-right: 5px !important
}

/* Espace gauche et droite des lignes de photos */
.gallery .ligne-photos {
    margin-left: -5px !important;
    margin-right: -5px !important
}

.gallery .ligne-photos .propor {
    width: 100%;
    position: relative;
    margin-bottom: 10px
}

/* Images en gris / en couleur au survol (il y a conflit quand galerie simple + multigalerie) */
/*.gallery .ligne-photos .propor{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");filter:gray;-webkit-filter:grayscale(100%);}
.gallery .ligne-photos .propor:hover{filter:none;-webkit-filter:grayscale(0%);}
*/
.gallery .ligne-photos .propor:after {
    padding-top: 72%;
    display: block;
    content: '';
}

.gallery .ligne-photos .propor .propor-cont {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.gallery .ligne-photos .propor .propor-cont .imagecont {
    height: 100%;
    display: block;
    border: 1px solid #d4d4d4;
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.gallery .ligne-photos .propor .propor-cont .imagecont .imagefond {
    image-rendering: optimizeQuality;
    display: block;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Effet photo */
.gallery .ligne-photos .propor .propor-cont .imagecont img {
    object-fit: cover;
    -o-object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    flex: 1;
    height: 100%;
}

.gallery .ligne-photos .propor .propor-cont .imagecont .masque {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5) url('../images/ico-zoom.png') no-repeat center center
}

.gallery .ligne-photos .propor .propor-cont .imagecont:hover .masque {
    opacity: 1;
    filter: alpha(opacity=100)
}

.gallery .ligne-photos .propor .propor-cont .imagecont:hover .imagefond {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -o-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15);
}

/* GALERIE MULTIPLE */
.gallery .nav {
    margin: 10px 0px;
    padding-right: 10px
}

.gallery .nav li {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px
}

.gallery .nav li a {
    background: #222;
    display: block;
    color: var(--color0);
    padding: 10px 10px;
    text-align: center;
    border-radius: 0;
    text-decoration: none
}

.gallery .nav li a:hover,
.gallery .nav li.active a {
    background: #424445;
    color: var(--color0)
}

.gallery .nav li.active a {
    cursor: default
}

.gallery .tab-content {
    padding-top: 10px;
    padding-bottom: 10px;
}

.gallery .tab-content h2 {
    padding-left: 15px;
    margin-bottom: 20px
}

/* MENU MOBILE 3 ***********************************************************/
/* *************************************************************************/
.header-sidebars,
.sidebar-left,
.sidebar-right {
    background-color: var(--color0);
    letter-spacing: 1px;
}

.sidebar-left a,
.sidebar-right a,
.sidebar-bottom-controls a,
.contactButton,
.nav-item-active,
.sidebar-form label,
.sidebar-send-button,
.sidebar-divider-text {
    color: var(--color0) !important
}

.header-sidebars {
    height: 65px;
    z-index: 9999;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.1)
}

.header-sidebars .header-top {
    display: table;
    height: 65px;
    background: var(--color4);
    width: 100%;
}

.top-logo {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    z-index: 9999;
    text-align: center;
    overflow-y: hidden;
}

.top-logo img {
    position: absolute;
    left: 16px;
    top: 19px;
    max-height: 76px;
    max-width: 129px;
}

.deploy-left-sidebar {
    display: table-cell;
    background-color: #f78e1e;
    background-size: auto 49%;
    background-image: url(../images/menu-mobile-3/nav.svg);
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    background-position: center center
}

.deploy-right-sidebar {
    border-left: 1px var(--color0) solid;
    display: table-cell;
    background-color: var(--color4);
    background-size: auto 49%;
    background-image: url(../images/menu-mobile-3/nav.svg);
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    background-position: center center;
}

.deploy-right-mail {
    border-left: 1px var(--color0) solid;
    display: table-cell;
    background-color: var(--color4);
    background-size: auto 49%;
    background-image: url(../images/menu-mobile-3/mail.svg);
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    background-position: center center;
    position: absolute;
    right: 65px;
    top: 0;
}

.deploy-right-call {
    display: table-cell;
    background-color: var(--color4);
    background-size: auto 49%;
    background-image: url(../images/menu-mobile-3/telephone.svg);
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    background-position: center 16px;
    position: absolute !important;
    right: 130px;
    top: 0;
}

.deploy-back-home {
    background-image: url(../images/menu-mobile-3/home.png);
    background-repeat: no-repeat;
    background-color: #f9fafc;
    width: 50px;
    height: 50px;
    background-position: center center;
    float: right;
    margin-top: -50px
}

.delete-right-sidebar {
    display: none;
    background-image: url(../images/menu-mobile-3/contact.png);
    background-repeat: no-repeat;
    background-color: #f9fafc;
    width: 50px;
    height: 50px;
    background-position: center center;
    float: right;
    margin-top: -50px
}

.sidebar-left {
    font-family: Helvetica !important;
    width: 270px;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: -270px;
    bottom: 0;
    overflow: hidden;
    position: fixed;
    box-shadow: 3px 0px 3px 0px rgba(0, 0, 0, 0.1);
}

.sidebar-scroll-left {
    padding-right: 20px;
    left: 0;
    width: 310px;
    overflow: scroll !important;
    overflow-x: hidden !important;
    -webkit-overflow-scroll: touch !important;
    height: 100%;
    background-color: #c31c26;
}

.sidebar-scroll-right {
    width: 275px;
    overflow: auto !important;
    overflow-x: hidden !important;
    height: 100%;
    background-color: var(--color4);
}

.sidebar-right {
    font-family: Helvetica !important;
    background-repeat: repeat;
    position: fixed;
    overflow: hidden;
    z-index: 99999;
    right: -280px;
    top: 0;
    bottom: 0;
    width: 270px;
    margin-right: 10px;
    box-shadow: -2px 0px 2px 0px rgba(0, 0, 0, 0.1);
}

.sidebar-decoration {
    background-image: url(../images/menu-mobile-3/sidebar-deco.png);
    background-repeat: repeat-x;
    height: 2px;
    margin-bottom: 15px
}

.sidebar-left a,
.sidebar-right a {
    text-decoration: none;
    display: block;
    overflow: hidden;
    position: relative;
    color: var(--color0) !important;
    z-index: 1;
}

.sidebar-header-left {
    height: 65px;
    background-color: #f78e1e;
    position: relative
}

.sidebar-left-logo {
    max-height: 75px;
    position: absolute;
    top: -2px;
    left: 8px;
    margin-right: 179px;
}

.sidebar-right-logo {
    margin-left: 84px;
    top: 14px;
    right: 1px;
    max-width: 180px;
    float: inherit;
    max-height: 37px;
    position: relative;
}

.close-sidebar-left {
    background-image: url(../images/menu-mobile-3/left-chevron.svg);
    background-size: 45% auto;
    background-repeat: no-repeat;
    background-position: center center;
    height: 65px;
    width: 65px;
    margin-left: 205px;
    display: block
}

.sidebar-divider-text {
    font-size: 20px;
    padding-top: 15px;
    padding-left: 20px;
    padding-bottom: 15px;
    margin-bottom: 0;
    color: var(--color0) !important;
    background: rgba(var(--color2_rgb), 0.3);
}

.home-nav {
    background-image: url(../images/menu-mobile-3/home.png)
}

.info-nav {
    background-image: url(../images/menu-mobile-3/infoabout.png)
}

.folio-nav {
    background-image: url(../images/menu-mobile-3/bendedright.png)
}

.mail-nav {
    background-image: url(../images/menu-mobile-3/mail.svg)
}

.newsletter-nav {
    background-image: url(../images/menu-mobile-3/rss.png)
}

.call-nav {
    background-image: url(../images/menu-mobile-3/phonehook.svg)
}

.text-nav {
    background-image: url(../images/menu-mobile-3/speechbubble4.png)
}

.facebook-nav {
    background-image: url(../images/menu-mobile-3/facebook.png)
}

.twitter-nav {
    background-image: url(../images/menu-mobile-3/twitter.png)
}

.sidebar-bottom-controls {
    background-color: #f78e1e;
}

.sidebar-bottom-controls p {
    margin-top: 3px;
}

.sidebar-bottom-controls a {
    font-size: 12px;
    background-repeat: repeat-y;
    text-align: center;
    float: left;
    width: 33%;
    line-height: 10px;
    display: block
}

.facebook-bottom {
    display: block;
    padding-top: 26px;
    background-image: url(../images/menu-mobile-3/facebook.png);
    background-repeat: no-repeat;
    background-position: center 33px;
    background-size: 16px 16px;
    height: 50px;
    margin-top: -25px
}

.twitter-bottom {
    display: block;
    background-image: url(../images/menu-mobile-3/twitter.png);
    background-repeat: no-repeat;
    background-position: center 33px;
    background-size: 16px 16px;
    height: 50px;
    margin-top: -25px
}

.close-bottom-left,
.close-bottom-right {
    display: block;
    padding-top: 26px;
    background-image: url(../images/menu-mobile-3/accessdenied.png);
    background-repeat: no-repeat;
    background-position: center 33px;
    background-size: 16px 16px;
    height: 50px;
    margin-top: -25px
}

.nav-item {
    font-size: 16.2px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-size: 22px auto;
    background-color: #c9323b;
    height: 60px;
    line-height: 61.5px;
    background-repeat: no-repeat;
    padding-left: 60px;
    background-position: 20px center;
    margin-bottom: 1px;
}

.icon-active {
    position: absolute;
    background-image: url(../images/menu-mobile-3/left-sidebar/location.png);
    background-size: 10px 15px;
    background-repeat: no-repeat;
    display: block;
    width: 10px;
    height: 15px;
    top: 19px;
    left: 240px
}

.icon-page {
    position: absolute;
    background-image: url(../images/menu-mobile-3/left-sidebar/gopage.png);
    background-size: 8px 11px;
    background-repeat: no-repeat;
    display: block;
    width: 10px;
    height: 15px;
    top: 19px;
    left: 240px
}

.icon-drop {
    position: absolute;
    background-image: url(../images/menu-mobile-3/left-sidebar/godrop.png);
    background-size: 10px 8px;
    background-repeat: no-repeat;
    display: block;
    width: 10px;
    height: 15px;
    top: 19px;
    left: 239px
}

.submenu a {
    text-shadow: 0 2px 0 rgba(0, 0, 0, 1);
    background-image: url(../images/menu-mobile-3/sidebar-deco.png);
    background-repeat: repeat-x;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 25px;
    font-size: 10px;
    color: #878787;
    text-transform: uppercase;
    font-weight: 900
}

.submenu a em {
    background-image: url(../images/menu-mobile-3/left-sidebar/gopage.png);
    background-size: 8px 11px;
    background-repeat: no-repeat;
    float: left;
    width: 10px;
    height: 15px;
    display: block;
    margin-top: 5px;
    padding-right: 35px
}

.submenu a:first-child {
    background-image: none !important
}

.submenu {
    display: none
}

.submenu-active {
    display: block
}

.sidebar-notifications a {
    margin-bottom: 15px;
    background-repeat: no-repeat;
    background-position: 0 center;
    padding-left: 38px;
    margin-left: 20px;
    font-size: 10px;
    color: #878787;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 10px
}

.sidebar-header-right {
    height: 65px;
    background-color: var(--color4);
    position: relative;
}

.close-sidebar-right {
    background-image: url(../images/menu-mobile-3/right-chevron.svg);
    background-size: 45% auto;
    background-repeat: no-repeat;
    background-position: center center;
    height: 65px;
    width: 65px;
    margin-left: 0;
    display: block
}

.sidebar-left .close-sidebar-left,
.sidebar-right .close-sidebar-right {
    position: absolute !important;
}

.right-sidebar-copyright {
    margin: 20px 0
}

.footer-text a {
    padding-top: 10px;
    font-size: 10px;
    color: #8a8a8a
}

.copyright-sidebar {
    font-size: 10px;
    text-align: center;
    text-transform: uppercase
}

.menu-mobile-dynamique {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-position: inside;
    list-style-image: none
}

.menu-mobile-dynamique li {
    width: 100%;
    margin-bottom: 1px;
    background: var(--color4);
    padding-left: 18px;
}

.menu-mobile-dynamique .sub-menu li {
    background-color: transparent;
    margin-bottom: 0;
}

.menu-mobile-dynamique .sub-menu li a {
    height: 42px;
    text-transform: none;
}

.menu-mobile-dynamique .sub-menu {
    background-image: linear-gradient(to bottom, var(--color2), var(--color2));
    padding-top: 18px;
    padding-bottom: 18px;
}

.menu-mobile-dynamique li.parent {
    background-image: url(../images/menu-mobile-3/left-sidebar/gopage.svg);
    background-position: 241px 26.2px;
    background-repeat: no-repeat;
    background-size: 9px auto;
}

.menu-mobile-dynamique li a {
    display: table-cell;
    width: 270px;
    vertical-align: middle;
    text-decoration: none !important;
    line-height: 18px;
    font-size: 16.2px;
    background-image: url(../images/menu-mobile-3/bendedright.svg);
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-size: 8px auto;
    text-transform: uppercase;
    color: var(--color0);
    height: 60px;
    background-repeat: no-repeat;
    padding-left: 29px;
    background-position: 6px 20.9px;
}

.menu-mobile-dynamique ul {
    list-style-image: none;
    list-style-position: inside;
    list-style-type: none;
    padding-left: 0
}

.menu-mobile-dynamique ul li a {
    background: none;
    color: #BEBEBE
}

.small-notification p {
    margin: 10px 13px;
    padding-bottom: 2px;
    line-height: 18px
}

.text-input {
    overflow: hidden;
    position: relative;
    font-size: 11px;
    color: #666;
    width: 230px;
    margin-left: 20px;
    height: 30px;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
    display: block;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.1);
    border: solid 1px #3d3d3d
}

#contactEmail {
    margin-bottom: -5px !important
}

#contactMessage {
    display: none
}

#contactName {
    display: none;
    margin-bottom: 10px
}

#left_label_name {
    overflow: hidden;
    position: relative;
    display: none;
    text-align: left;
    margin-left: 200px;
    font-size: 11px;
    color: #8c8c8c;
    opacity: .3;
    margin-top: -20px;
    padding-bottom: 5px;
    margin-bottom: 10px
}

#name_label {
    overflow: hidden;
    position: relative;
    display: none;
    margin-top: 20px;
    margin-left: 20px;
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    color: #c5c5c5
}

#email_label {
    margin-top: 20px;
    margin-left: 20px;
    font-size: 12px;
    color: #c5c5c5;
    display: block;
    overflow: hidden;
    position: relative
}

#left_label_mail {
    display: block;
    overflow: hidden;
    position: relative;
    line-height: 18px;
    text-align: left;
    margin-left: 200px;
    font-size: 11px;
    color: #8c8c8c;
    opacity: .3;
    font-family: 'Open Sans', sans-serif;
    margin-top: -20px;
    padding-bottom: 5px;
    margin-bottom: 10px
}

.contact-button-house {
    line-height: 18px;
    margin-bottom: 20px;
    font-size: 11px;
    display: block;
    overflow: hidden;
    position: relative;
    /*vertical-align:baseline;*/
    outline: none
}

.contactButton {
    display: block;
    overflow: hidden;
    position: relative;
    margin-left: 20px;
    margin-top: 30px;
    height: 36px;
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    width: 230px;
    background-color: rgba(255, 255, 255, 0.1);
    border: solid 1px #3d3d3d
}

.buttonWrap {
    padding: 10px !important;
    min-width: 43%
}

.contactSubmitButton {
    display: block !important;
    height: 36px !important;
    margin-right: 4px;
    float: left;
    margin-bottom: 20px
}

.contactNameField {
    padding-bottom: 5px;
    font-size: 12px
}

.contactField {
    font-size: 15px;
    overflow: hidden;
    position: relative;
    color: var(--color0);
    min-width: 100%;
    display: block;
    box-sizing: border-box;
    height: 30px;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px
}

.contactTextarea {
    font-size: 15px;
    overflow: hidden;
    position: relative;
    color: var(--color0);
    min-width: 100%;
    display: block;
    box-sizing: border-box;
    margin-bottom: 20px;
    line-height: 18px;
    height: 90px;
    padding: 9px 12px
}

.menu-mobile-dynamique input {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0
}

.sidebar-form {
    display: none;
    margin-left: 20px;
    width: 230px;
    box-sizing: border-box
}

.sidebar-form2 {
    display: none
}

.sidebar-form label {
    font-size: 13px;
    border-radius: 0 !important;
    color: #c5c5c5;
    text-transform: uppercase;
    padding-top: 10px;
    display: block;
    opacity: .8;
    filter: alpha(opacity=80)
}

.sidebar-form label span {
    text-transform: lowercase;
    float: right;
    opacity: .5
}

.sidebar-form input {
    background-color: rgba(255, 255, 255, 0.1);
    border: solid 1px #3d3d3d
}

.sidebar-form textarea {
    background-color: rgba(255, 255, 255, 0.1);
    border: solid 1px #3d3d3d;
    margin-bottom: 0
}

.sidebar-send-button {
    font-size: 13px;
    display: block;
    width: 100%;
    color: #d2d2d2;
    font-family: 'Lato', sans-serif;
    text-transform: uppercase;
    font-weight: 700
}

.success-subscribe {
    margin-top: 20px;
    width: 230px;
    margin-left: 20px
}

.sidebar-form {
    margin-bottom: 0 !important;
    margin-top: -10px !important
}

.sidebar-form .formSuccessMessageWrap {
    width: 230px;
    margin-top: 20px;
    margin-bottom: 0
}

.sidebar-form .small-notification {
    margin-top: 20px
}

.sidebar-form #emailError {
    margin-top: 20px;
    width: 230px;
    margin-left: 20px;
    border-radius: 0;
    height: 36px
}

.sidebar-form #emailError p {
    text-align: center;
    color: #ff8181;
    margin: 8px 0;
    display: block;
    background-image: none;
    text-transform: uppercase;
    padding-left: 0
}

.sidebar-form #emailError2 {
    margin-top: 20px;
    width: 230px;
    margin-left: 20px;
    border-radius: 0;
    height: 36px
}

.sidebar-form #emailError2 p {
    text-align: center;
    color: #ff8181;
    margin: 8px 0;
    display: block;
    background-image: none;
    text-transform: uppercase;
    padding-left: 0
}

.subscribe-notification {
    width: 230px !important;
    margin-left: 20px;
    border-radius: 0 !important;
    margin-bottom: -15px !important;
    margin-top: 20px !important;
    background-image: none !important
}

.subscribe-notification p {
    background-image: none !important;
    text-align: center;
    color: #ff8181 !important;
    margin: 8px 0;
    display: block;
    text-transform: uppercase;
    padding-left: 0;
    margin-top: 20px
}

.formValidationError {
    margin-bottom: -15px
}

.sidebar-form .formValidationError div {
    margin-top: 20px;
    width: 230px;
    border-radius: 0 !important;
    height: 36px;
    margin-top: 20px !important
}

.sidebar-form .formSubmitButtonErrorsWrap {
    overflow: visible !important;
    margin-bottom: 20px
}

.sidebar-form .formValidationError p {
    text-align: center;
    color: #ff8181 !important;
    margin: 8px 0;
    display: block;
    background-image: none;
    text-transform: uppercase;
    padding-left: 0
}

.menu-mobile-dynamique label {
    display: block;
    overflow: hidden;
    position: relative;
    border: 0;
    /*vertical-align:baseline;*/
    outline: none
}

.red-notification {
    background-color: rgba(219, 84, 84, 0.5);
    border-radius: 5px;
    border: solid 1px var(--color2)
}

.formValidationError .red-notification p {
    background-image: none !important;
    display: block !important;
    padding-left: 0 !important;
    text-align: center !important
}

.no-bottom {
    margin-bottom: 0 !important
}

.menu-mobile-dynamique .sub-menu {
    display: none
}

/* AUTRES STYLES FIXES ****************************************************/
/* *************************************************************************/
/* Bouton remonter */
.remonter {
    text-align: center;
}

.remonter button {
    transition: all 400ms ease;
    opacity: 0.5;
    filter: alpha(opacity=50);
    border: 0;
    display: inline-block;
    width: 40px;
    height: 22px;
    background: url(../images/fleche-monter.png) no-repeat center top;
    text-align: center;
    text-indent: 150px;
    overflow: hidden;
}

.remonter button:hover {
    opacity: 1;
    filter: alpha(opacity=100)
}

/* Div IE <8
{text-align:center;color:#000;background:#eee }*/
.deprecated-ie p {
    line-height: 30px;
    margin: 0
}

.deprecated-ie a {
    line-height: 30px;
    font-family: Helvetica, arial, sans-serif;
    font-size: 13px;
    color: #000;
    text-decoration: underline
}

/* Fix pour fond noir lightbox qui n'apparait pas sur chrome */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .lightboxOverlay {
        overflow: scroll
    }

    .lightboxOverlay::-webkit-scrollbar {
        width: 0px
    }
}

/* MEDIA QUERIES **********************************************************/
/* *************************************************************************/

/* STYLE GENERAL ***********************************************************/
/* *************************************************************************/
/* Commenter ces lignes pour un site non-responsive */

@media (min-width:992px) {
    .container {
        max-width: 970px
    }
}

/* Mobile + Tablettes + Pc normal (col-xs + col-sm + col-md) */
@media (max-width:1199px) {
    .remonter {
        display: none !important
    }
}

/* Pc large (col-lg) */

@media (min-width:1200px) {

    /*.tete .container{*/
    .container {
        max-width: 80vw;
        width: 80vw;
    }

    .modal-lg {
        width: 1100px;
    }

    .scrolled-content {
        height: 190px;
    }
}

/* Mobile (col-xs) */
@media (max-width:767px) {
    .dtable {
        display: block;
        margin: 0 auto;
        float: none;
    }

    .dtable [class*=col-] {
        display: block;
        /*vertical-align:middle;*/
        float: left;
    }

    .dtable #submitReservation {
        width: 100%;
    }

    .pad-xs {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .pad-xs-l {
        padding-left: 15px !important
    }

    .pad-xs-r {
        padding-right: 15px !important
    }

    .nopad-xs {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .nopad-xs-l {
        padding-left: 0 !important
    }

    .nopad-xs-r {
        padding-right: 0 !important
    }

    .corps-contact.formulaire {
        padding: 0 0px;
    }

    .pied .abus {
        text-align: left;
    }

    .ui-state-default,
    .ui-widget-content .ui-state-default,
    .ui-widget-header .ui-state-default {
        padding: 10px 0;
    }

    .body-page-1 .ui-state-default,
    .body-page-1 .ui-widget-content .ui-state-default,
    .body-page-1 .ui-widget-header .ui-state-default {
        padding: 10px 0;
    }

    .ui-datepicker table {
        font-size: 14px;
    }

    .body-page-1 .ui-datepicker .ui-datepicker-title {
        font-size: 18px;
        padding: 4px 0;
    }

    .tabb-reservation .cell.cellg {
        padding: 30px 15px;
    }

    .tabb-reservation .cell .contt {
        padding: 20px 15px 30px 15px;
    }

    .tabb-reservation .cell .contt h2 {
        margin-bottom: 20px;
    }

    .tabb-formule .cell.celld .contt {
        padding: 30px 15px 40px 15px !important
    }

    .formules .formule hr {
        margin: 10px 0
    }

    .formules .formule ul {
        padding: 15px 10px !important
    }

    .gallery .kikoolol {
        padding: 10px 0 10px 0px;
    }

    .contact .coordonnees address {
        margin-bottom: 50px;
    }

    .contact .coordonnees .horaires {
        margin-bottom: 50px;
    }

    .pied h2 {
        text-align: center
    }
}

/* Tablettes (col-sm) */
@media (min-width:768px) and (max-width:991px) {
    .pad-sm {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .pad-sm-l {
        padding-left: 15px !important
    }

    .pad-sm-r {
        padding-right: 15px !important
    }

    .nopad-sm {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .nopad-sm-l {
        padding-left: 0 !important
    }

    .nopad-sm-r {
        padding-right: 0 !important
    }

    .gallery .kikoolol {
        padding: 10px 0 30px 30px;
    }

    .corps-contact.formulaire {
        padding: 0 160px;
    }

    .scrolled-content {
        height: 190px;
    }
}

/* Mobile + Tablettes (col-xs + col-sm) */
@media (max-width:991px) {
    .tabb-formule.sansimage {
        display: inline-table;
        width: 100%;
    }

    .formules .formule {
        margin: 0 0 0px 0;
        text-align: center;
    }

    .tabb2 .cell .reser .block {
        display: block;
    }

    h1,
    .h1 {
        color: var(--color3);
        margin: 0px 0 30px 0;
        text-shadow: none;
        margin: 22px 0 20px 0;
        font-size: 30px;
    }

    .pied h2,
    h1,
    .h1 {
        font-size: 30px;
    }

    .tabb2 .cell .reser div a,
    .tabb2 .cell .reser div p {
        padding: 30px 20px;
        display: block;
    }

    .container {
        max-width: none;
        width: auto
    }

    /* Changement largeurs labels+champs contact */
    .contact .formulaire .form-group .col-md-4 {
        width: 100% !important
    }

    .contact .formulaire .form-group .col-md-8 {
        width: 100% !important
    }

    /* Captcha Contact */
    .contact .formulaire .form-group input[name="captcha"] {
        width: 100% !important;
        margin-right: 0% !important;
        text-align: left !important;
    }

    .contact .formulaire .form-group input[name="captcha"]+a {
        position: absolute;
        width: 140px;
        top: 0;
        right: 0;
        margin-right: 0px !important;
    }

    .contact .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 8px;
    }

    /* Captcha Contact */
    .modal-content input[name="captchaReservation"] {
        width: 100% !important;
        margin-right: 0% !important;
        text-align: left !important;
    }

    .modal-content input[name="captchaReservation"]+a {
        position: absolute;
        width: 140px;
        top: 0;
        right: 0;
        margin-right: 0px !important;
    }

    .modal-content .btn-default {
        width: 100%;
        margin-top: 8px;
    }

    /* Forcer l'affichage des fleches de la lightbox car pas de hover sur mobile */
    .lb-prev {
        opacity: 1 !important;
        background: url(../images/lightbox-g.png) left 48% no-repeat;
    }

    .lb-next {
        opacity: 1 !important;
        background: url(../images/lightbox-d.png) right 48% no-repeat;
    }

    /* Desactiver la scrollbar personnalise */
    .scrollbars {
        width: 100%;
        height: auto
    }

    .scrollbar-content {
        padding: 0
    }

    body {
        font-size: 16px;
    }

    .miettes-externes {
        display: none;
    }

    .btn-partage {
        padding: 40px 0px 10px 0px;
    }

    .cont-slider .controls {
        display: none;
    }

    .fluid-contenu .corps.huhu {
        padding: 40px 0px 40px 0px;
        padding: 0 0 40px 0;
    }

    .cont-slider {
        position: static;
        margin-left: 0;
        width: 100%;
    }

    .fluid-contenu .corps {
        padding: 30px 15px 30px 15px;
    }

    .body-page-1 .fluid-contenu .corps>article {
        padding: 20px 0px 20px 0px;
    }

    .body-page-1 h1,
    .body-page-1 .h1 {
        margin: 15px 0 5px 0;
    }

    .tabb .cell.cellg {
        display: none;
    }

    .tabb2 {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .tabb2 .cell {
        display: block;
        /*vertical-align:top;*/
        position: relative;
        width: 100% !important
    }

    .tabb2 .cell .reser {
        display: block;
        position: static;
        text-align: center;
    }

    .tabb2 .cell .reser p a {
        padding: 90px 20px;
    }

    .tabb2 .cell .contt {
        padding: 20px 0px 30px 0px;
        min-height: 0;
    }

    .tabb2 .cell .contt h2 {
        font-size: 24px;
        padding: 0 0 15px 0;
    }

    .modal-content .modal-body {
        border-radius: 0px;
        padding: 0px 5px 40px 5px;
    }

    .modal-content h2 {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .modal-content .btn-default {
        padding: 10px 0px;
        width: 100%;
    }

    .tabb2 {
        padding: 0 0 40px 0;
    }

    .pied .smartfood {
        margin: 20px 0px 0px 0px;
    }

    .pied .smartfood img {
        max-width: 170px;
    }

    .pied .copyright-footer {
        margin: 15px 0px 20px 0px;
    }

    .pied .copyright-footer img {
        max-width: 110px;
    }

    .pied .bande2 {
        padding: 25px 0 30px 0;
    }

    .pied .bande1 {
        padding: 10px 0 80px 0;
    }

    .pied .bande1 .tel {
        margin: 0 0 40px 0;
    }

    .pied .horaires {
        padding: 0;
        margin: 0 0 40px 0;
    }

    .tabb-contact {
        display: block;
    }

    .tabb-contact .cell {
        display: block;
        width: 100% !important;
    }

    .contact .plan .block #googlemapapi,
    .contact .plan iframe {
        height: 250px !important;
    }

    .tabb-contact .corps-contact {
        padding: 40px 15px 10px 15px;
    }

    .contact .description-contact {
        padding: 0px 0px 10px 0px;
    }

    .contact .formulaire .form-group {
        margin-bottom: 10px;
    }

    .tabb-reservation {
        display: block;
    }

    .tabb-reservation .cell {
        display: block;
        width: 100% !important;
    }

    .tabb-reservation .corps {
        padding: 10px 0px 20px 0px !important
    }

    .ui-datepicker .ui-datepicker-header {
        font-size: 22px;
    }

    .ui-datepicker .ui-datepicker-prev,
    .ui-datepicker .ui-datepicker-next {
        top: 36px;
        width: 1.3em;
        height: 1.3em;
    }

    .ui-datepicker .ui-datepicker-prev {
        left: 0px;
    }

    .ui-datepicker .ui-datepicker-next {
        right: 0px;
    }

    .tabb-specialites {
        display: block;
    }

    .tabb-specialites .cell {
        display: block;
        width: 100% !important
    }

    .tabb-specialites .corps {
        padding: 10px 15px 20px 15px !important;
    }

    .tabb-specialites h2 {
        margin-bottom: 20px;
    }

    .tabb-specialites .cell.cellg {
        height: 160px;
    }

    .tabb-specialites .cell.celld {
        padding: 0 0 30px 0;
    }

    .tabb-carte {
        display: block;
    }

    .tabb-carte .cell {
        display: block;
        width: 100% !important
    }

    .tabb-carte .corps {
        padding: 10px 15px 20px 15px !important;
    }

    .tabb-carte h2 {
        margin-bottom: 20px;
    }

    .tabb-carte .cell.cellg {
        height: 160px;
    }

    .carte .group {
        margin: 0 0 20px 0;
    }

    .tabb-carte .cell.celld {
        padding: 0 0 0px 0;
    }

    .tabb-carte .cell.celld .contt {
        padding: 0px 0px 10px 0px;
    }

    .tabb-carte h2 {
        margin-bottom: 10px;
        font-size: 23px;
    }

    .carte .price {
        width: 80px;
        font-size: 18px;
    }

    .carte ul li.item:last-child {
        border-bottom: none
    }

    .tabb-formule {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .tabb-formule .cell {
        display: block;
        /*vertical-align:top;*/
        position: relative;
    }

    .tabb-formule .cell.cellg {
        width: 100%;
        height: 150px;
    }

    .tabb-formule .cell.cellg.cell1 {
        display: block !important
    }

    .tabb-formule .cell.cellg.cell2 {
        display: none !important
    }

    .tabb-formule .cell.celld .contt {
        padding: 50px 80px 40px 80px
    }

    .banniere {
        position: relative;
        height: auto;
    }
}

/* Pc normal (col-md) */
@media (min-width:991px) and (max-width:1199px) {

    .navh .menu_haut_principal a,
    .navh .menu_haut_principal a:visited {
        font-size: 18px;
        padding: 26px 5px 10px 5px;
    }

    .pied .navf .menu_footer li a,
    .pied .navf .menu_footer li a:visited {
        font-size: 14px;
        padding: 0 12px;
    }

    .pied address {
        font-size: 16px;
    }

    .pied .horaires {
        font-size: 16px;
    }

    .tabb-reservation .cell.cellg {
        width: 50%;
    }

    .tete .logo-site {
        margin: 0;
        padding: 24px 0 10px 0;
        display: inline-block;
        width: 130px;
    }

    .corps-contact.formulaire {
        padding: 0 230px;
    }

    .scrolled-content {
        height: 190px;
    }
}

/* Costum css */
.responsive {
    margin: 10px auto 10px !important;
}

.help-block {
    font-size: 14px;
}

.description-groupe {
    margin-bottom: 30px;
}

/*Added */
#menu_referencement {
    list-style-type: disc;
    width: 100%;
    text-align: justify;
    padding: 0;
}

.menu_content {
    margin: 0;
    padding: 0;
}

.menu_content ul li {
    display: inline;
}

.menu_content ul li a {
    color: var(--color0);
    font-size: 13px;
    text-decoration: none;
    text-transform: uppercase;
}

.menu_content ul li a:hover {
    text-decoration: underline;
    color: var(--color3);
}

.menu_content ul li:after {
    content: " - ";
    color: var(--color3);
    /* font-size:8px;*/
}

.menu_content ul li:last-child:after {
    content: ""
}

/*.menu_content h2{}*/
/* .menu_footer ul li a {
    color: var(--color0);
    text-decoration: none;
    font-size: 13px;
}

.menu_footer {
    display: block;
}

.menu_footer ul {
    display: block;
    text-transform: uppercase;
    font-size: 16px;
    color: var(--color2);
    padding: 0;
}

.menu_footer ul li a:hover {
    color: var(--color3);
    text-decoration: underline;
}

.menu_referencement li.active a,
.menu_footer ul li.active a {
    color: var(--color3);
    text-decoration: underline;
} */

/**********************************************/
.g-recaptcha {
    display: block;
    margin: 0 auto;
    width: 303px;
}

.contact .g-recaptcha {
    float: left;
}

.contact .btn-primary {
    float: right;
    height: 63px;
}

/*************************************************/
/* B-lazy /*************************************************/
img.blazy {
    width: 100%;
    background-image: url('../images/bx_loader.svg');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: #ddd;
}

img.blazy.b-error {
    background-image: url('../images/noImage.png');
}

.blazy {
    width: 100%;
    background-image: url('../images/bx_loader.svg');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: #ddd;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}

.blazy[class*=col-] {
    width: initial;
}

.blazy img {
    width: 100%;
}

.blazy.b-error {
    background-image: url('../images/noImage.png');
    /* background-size:cover;*/
}

.blazy.imgLoaded {
    background-size: cover;
}

.linkList {
    padding: 0;
    margin: 10px 0 0 0;
    list-style: none;
    float: left;
}

.linkList li {
    display: block;
    width: 100%;
    float: left;
}

.linkList li a {
    font-size: 18px;
    color: var(--color3);
    padding: 10px 15px 10px 50px;
    background-image: url(../images/r_arr.png);
    background-color: var(--color0);
    background-repeat: no-repeat;
    background-position: 15px 50%;
    display: inline-block;
    margin: 0 0 19px 0;
    border: 1px solid var(--color3);
    min-width: 100%;
    text-align: left;
    text-decoration: none;
}

.linkList li a:hover {
    background-image: url(../images/r_arr_h.png);
    color: var(--color0);
    border: 1px solid var(--color0);
    background-color: var(--color3);
    text-decoration: none;
}

.body-service-list .fluid-contenu .container {
    width: 100%;
    max-width: 100%;
}


.btn-service {
    text-align: center;
    margin: 10px 0;
}

.body-service-list .services .tableGrid.row {
    overflow-x: hidden;
}

.body-service-list .services .tableGrid.row:nth-of-type(odd) {
    direction: rtl;
}

.body-service-list .services .tableGrid.row:nth-of-type(even) {
    direction: ltr;
    background-color: var(--color0);
}

.body-service-list .services .tableGrid.row:nth-of-type(odd) [class*=col-] {
    direction: ltr;
    background-color: #282828;
    color: var(--color0);
}

.body-service-list .services .tableGrid.row .h {
    text-align: center;
    margin-bottom: 1em;
}

.body-service-list .services .tableGrid.row:nth-of-type(odd) .h {
    color: var(--color0);
}

.body-service-list .services .tableGrid.row:nth-of-type(odd) .service_sub_title {
    font-size: 22px;
    color: var(--color0);
    padding: 0 0 5px;
}

.body-service-list .services .tableGrid.row .bodyContent {
    text-align: center;
    padding: 5vw 5vw;
}

/*.body-service-list .services .tableGrid.row .bodyContent .content{}*/
.body-service-list .services .tableGrid.row .bodyContent p {
    padding: 0 0 20px;
}

.isServiceList #main {
    width: 100%;
}

.body-service-list .main_bg {
    /* padding-left:0;*/
    /* padding-right:0;*/
    padding-bottom: 0;
    padding-bottom: 80px;
    min-height: 600px;
    z-index: 1;
    position: relative;
}

.body-service-list .bodyContent .h {
    text-align: initial;
}

.service_sub_title {
    font-size: 22px;
    color: #a7a7a7;
    padding: 12px 0 5px;
}

.nosServicesBg ul {
    padding: 0;
}

.nosServicesBg .mainSectionSlider .show {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
}

.nosServicesBg .mainSectionSlider .blazy {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
}

.services .mainSectionSlider .show {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
}

.services .mainSectionSlider .blazy {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
}

.row.ligne-photos.retrait.centerservice2 {
    margin: 0 16% !important;
}

.row.ligne-photos.retrait.centerservice {
    margin: 0 33% !important;
}

.nosServicesBg .bx-wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.nosServicesBg .bx-viewport {
    position: absolute !important;
    height: 100% !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
}

.nosServicesBg .mainSectionSlider {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.services .bx-wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.services .bx-viewport {
    position: absolute !important;
    height: 100% !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
}

.services .mainSectionSlider {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    padding: 0;
    list-style: none;
}

.nosServicesBg .bx-viewport li,
.services .bx-viewport li {
    height: 100%;
    list-style: none;
}

.services .bx-pager,
.mainSectionSliderBg .bx-pager {
    z-index: 9999;
}

/**********/
.tableGrid>.row,
.tableGrid {
    display: table;
    margin: 0;
    padding: 0;
    position: relative;
    height: 100%;
}

.tableGrid>.table-row {
    height: 100%;
    display: table-row;
}

.tableGrid.fullWidth {
    width: 100%;
}

.tableGrid>.row>.table-row>[class*=col],
.tableGrid>.table-row>[class*=col],
.tableGrid>.row>[class*=col],
.tableGrid>[class*=col] {
    display: table-cell;
    vertical-align: top;
    float: none;
    height: 100%;
    position: relative;
}

.noPaddingCells>.row>.table-row>[class*=col],
.noPaddingCells>.table-row>[class*=col],
.noPaddingCells>[class*=col] {
    padding: 0;
}

.tableGrid.nopadding>.row>.table-row>[class*=col],
.tableGrid.nopadding>.table-row>[class*=col],
.tableGrid.nopadding>.row>[class*=col],
.tableGrid.nopadding>[class*=col] {
    padding: 0;
}

.tableGrid.va-middle>.row>.table-row>[class*=col],
.tableGrid.va-middle>.table-row>[class*=col],
.tableGrid.va-middle>.row>[class*=col],
.tableGrid.va-middle>[class*=col] {
    vertical-align: middle;
}

/***************/
.body-service-list .main_bg {
    padding: 50px 0 0 0;
}

.body-service-list .main_bg .container {
    width: 100%;
    padding: 0;
}

.dtable {
    display: table;
    margin: 0 auto;
    float: none;
}

.dtable [class*=col-] {
    display: table-cell;
    vertical-align: middle;
    float: none;
}

.dtable #submitReservation {
    width: 100%;
}

@media (min-width:768px) and (max-width:979px) {
    .dtable {
        display: block;
        margin: 0 auto;
        float: none;
    }

    .dtable [class*=col-] {
        display: block;
        /*vertical-align:middle;*/
        float: left;
    }

    .dtable #submitReservation {
        width: 100%;
    }

    .row.ligne-photos.retrait.centerservice2 {
        margin: 0 0 !important;
    }

    .row.ligne-photos.retrait.centerservice {
        margin: 0 25% !important;
    }

    .tableGrid>.row,
    .tableGrid {
        display: block;
    }

    .tableGrid>.row>.table-row>[class*=col],
    .tableGrid>.table-row>[class*=col],
    .tableGrid>.row>[class*=col],
    .tableGrid>[class*=col] {
        display: block;
        /*vertical-align:top;*/
        float: left;
        height: 100%;
        position: relative;
    }

    .nosServicesBg .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .nosServicesBg .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .nosServicesBg .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .services .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        padding: 0;
        list-style: none;
    }

    .nosServicesBg .bx-viewport li,
    .services .bx-viewport li {
        height: 100%;
        list-style: none;
    }

    .services .bx-pager,
    .mainSectionSliderBg .bx-pager {
        z-index: 9999;
    }

    .pageseo .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 8px;
    }

    .tableGrid>.table-row {
        height: 100%;
        display: block;
    }
}

@media (max-width:767px) {
    .dtable {
        display: block;
        margin: 0 auto;
        float: none;
    }

    .row.ligne-photos.retrait.centerservice2 {
        margin: 0 0 !important;
    }

    .row.ligne-photos.retrait.centerservice {
        margin: 0 0 !important;
    }

    .dtable [class*=col-] {
        display: block;
        /*vertical-align:middle;*/
        float: left;
    }

    .dtable #submitReservation {
        width: 100%;
    }

    .tableGrid>.row,
    .tableGrid {
        display: block;
    }

    .tableGrid>.row>.table-row>[class*=col],
    .tableGrid>.table-row>[class*=col],
    .tableGrid>.row>[class*=col],
    .tableGrid>[class*=col] {
        display: block;
        /*vertical-align:top;*/
        float: left;
        height: 100%;
        position: relative;
    }

    .nosServicesBg .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .nosServicesBg .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .nosServicesBg .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .services .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        padding: 0;
        list-style: none;
    }

    .nosServicesBg .bx-viewport li,
    .services .bx-viewport li {
        height: 100%;
        list-style: none;
    }

    .services .bx-pager,
    .mainSectionSliderBg .bx-pager {
        z-index: 9999;
    }

    .pageseo .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 8px;
    }

    .tableGrid>.table-row {
        height: 100%;
        display: block;
    }
}

@media (max-width:980px) {
    .flex-seoContain {
        flex-wrap: wrap;
    }

    .flex-seoContain .seo-content {
        width: 100%;
        background: transparent;
    }

    .flex-seoContain .seo-form {
        width: 100%;
    }

    .img-seo img,
    a.imagecont.noflicker.img1 {
        width: 100%;
        height: auto;
        margin: 0 0 16px;
        display: block;
    }

    .bande_contact_footer .row1 {
        padding: 5rem 11%;
    }
}

@media (max-width:480px) {
    .dtable {
        display: block;
        margin: 0 auto;
        float: none;
    }

    .dtable [class*=col-] {
        display: block;
        /*vertical-align:middle;*/
        float: left;
    }

    .dtable #submitReservation {
        width: 100%;
    }

    .tableGrid>.row,
    .tableGrid {
        display: block;
    }

    .tableGrid>.row>.table-row>[class*=col],
    .tableGrid>.table-row>[class*=col],
    .tableGrid>.row>[class*=col],
    .tableGrid>[class*=col] {
        display: block;
        /*vertical-align:top;*/
        float: left;
        height: 100%;
        position: relative;
    }

    .nosServicesBg .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .show {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .services .mainSectionSlider .blazy {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: transparent;
    }

    .nosServicesBg .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .nosServicesBg .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .nosServicesBg .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-wrapper {
        position: relative;
        height: auto;
        width: 100%;
        top: 0;
        left: 0;
    }

    .services .bx-viewport {
        position: relative !important;
        height: 250px !important;
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    .services .mainSectionSlider {
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        padding: 0;
        list-style: none;
    }

    .nosServicesBg .bx-viewport li,
    .services .bx-viewport li {
        height: 100%;
        list-style: none;
    }

    .services .bx-pager,
    .mainSectionSliderBg .bx-pager {
        z-index: 9999;
    }

    .pageseo .formulaire .form-group input.btn-primary {
        width: 100%;
        margin-top: 8px;
    }

    .tableGrid>.table-row {
        height: 100%;
        display: block;
    }
}