@font-face {
    font-family: 'Marcellus';
    src: url("../fonts/Marcellus-Regular.woff2") format('woff2') , url("../fonts/Marcellus-Regular.woff") format('woff') , url("../fonts/Marcellus-Regular.ttf") format('truetype') , url("../fonts/Marcellus-Regular.svg#Marcellus-Regular") format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'UbuntuBold';
    src: url("../fonts/Ubuntu-Bold.woff2") format('woff2') , url("../fonts/Ubuntu-Bold.woff") format('woff') , url("../fonts/Ubuntu-Bold.ttf") format('truetype') , url("../fonts/Ubuntu-Bold.svg#Ubuntu-Bold") format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Ubuntu';
    src: url("../fonts/Ubuntu-Light.woff2") format('woff2') , url("../fonts/Ubuntu-Light.woff") format('woff') , url("../fonts/Ubuntu-Light.ttf") format('truetype') , url("../fonts/Ubuntu-Light.svg#Ubuntu-Light") format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
:root {
    --primary-bgcolor: #ff6300;
    --secondary-bgcolor: #323232;
    --tertiary-bgcolor: #444446;
    --text-color: #797979;
    --title-color: #181818;
    --light-color: #f4f4f4;
    --white: #fff;
    --black: #000;
    --font-title: Marcellus , sans-serif;
    --font-text: Ubuntu , sans-serif;
    --font-bold: UbuntuBold , sans-serif;
}
body {
    font-size: 17px;
    line-height: 1.8;
    font-family: var(--font-text);
    top: 0!important;
    color: var(--text-color);
    -webkit-font-smoothing: antialiased;
}
@media (max-width:736px) {
    body {
        line-height: 1.6;
        font-size: 16px;
    }
}
body.is-form-warning,
body.is-toggle-open,
body.no-scroll {
    overflow: hidden;
}
body.is-toggle-open #homeHeader {
    overflow: visible;
}
body.no-scroll #section-video {
    z-index: 6;
}
body.is-form-warning #header {
    z-index: 3;
}
.posrel {
    position: relative;
}
a {
    text-decoration: none;
    color: var(--primary-bgcolor);
    cursor: pointer;
    transition: 250ms all ease-in-out;
}
.more-links {
    text-transform: uppercase;
    font-size: 0.85rem;
    padding: 15px 0;
    text-decoration: none;
    display: inline-block;
    position: relative;
    font-family: var(--font-title);
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1;
    z-index: 0;
    color: var(--title-color);
}
.more-links.return {
    background: none;
    display: inline-block;
    padding: 0 0 0 20px;
}
.more-links.return:before {
    content: none;
}
.more-links.return:after {
    background: none;
    right: auto;
    left: 0;
    transform: translateY(-50%) scale(-1);
    margin-top: -2px;
    border-left-color: var(--title-color);
}
.more-links:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--secondary-color);
    opacity: 0;
    transition: transform 0.15s ease-out , opacity 0.15s ease-out;
    z-index: -1;
    transform: scaleX(0);
}
.more-links:hover:before {
    opacity: 1;
    transition: transform 0.2s ease-in , opacity 0.2s ease-in;
    transform: scaleX(1);
}
.more-links:after {
    transition: 250ms all ease-in-out;
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-left-color: var(--primary-color);
    border-width: 6px;
    margin-top: -6px;
}
.more-links.return span {
    padding-right: 0;
    padding-left: 15px;
}
.more-links:hover {
    color: var(--primary-bgcolor);
}
.more-links:hover:after {
    border-left-color: var(--primary-color);
}
.return-top {
    border-bottom: solid 1px rgba(255,255,255,.3);
    padding: 15px;
}
.return-bottom {
    border-top: solid 1px rgba(0,0,0,.1);
    padding-top: 50px;
    padding-bottom: 0;
    margin-top: 80px;
    clear: both;
}
.show-for-large {
    display: block;
}
.desktop-hidden,
.hide-for-large {
    display: none;
}
.show-for-medium {
    display: block;
}
.hide-for-medium {
    display: block;
}
.doc-link .size {
    font-size: 13px;
    font-style: italic;
}
.doc-link .button .size {
    text-transform: initial;
    letter-spacing: 0;
    font-family: var(--font-text);
    font-size: 10px;
}
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999;
    background: #222;
    background: linear-gradient(to bottom,#111,#222);
    display: flex;
    align-items: center;
    justify-content: center;
}
.loaded #loader-wrapper {
    visibility: hidden;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all 0.3s 1s ease-out;
    transition: all 0.3s 1s ease-out;
}
.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7.33333em;
    height: 7.33333em;
    margin-left: -3.66667em;
    margin-top: -3.66667em;
}
.loader-block {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    opacity: 0;
    width: 2em;
    height: 2em;
    background: #fdfdfd;
    -webkit-animation: show 0.88s step-end infinite alternate , pulse-loader 0.88s linear infinite alternate;
    animation: show 0.88s step-end infinite alternate , pulse-loader 0.88s linear infinite alternate;
}
.loader-block:nth-child(1) {
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
    -webkit-animation-delay: 0.065s;
    animation-delay: 0.065s;
}
.loader-block:nth-child(2) {
    -moz-transform: translate(2.66667em,0);
    -ms-transform: translate(2.66667em,0);
    -webkit-transform: translate(2.66667em,0);
    transform: translate(2.66667em,0);
    -webkit-animation-delay: 0.13s;
    animation-delay: 0.13s;
}
.loader-block:nth-child(3) {
    -moz-transform: translate(5.33333em,0);
    -ms-transform: translate(5.33333em,0);
    -webkit-transform: translate(5.33333em,0);
    transform: translate(5.33333em,0);
    -webkit-animation-delay: 0.195s;
    animation-delay: 0.195s;
}
.loader-block:nth-child(4) {
    -moz-transform: translate(0,2.66667em);
    -ms-transform: translate(0,2.66667em);
    -webkit-transform: translate(0,2.66667em);
    transform: translate(0,2.66667em);
    -webkit-animation-delay: 0.325s;
    animation-delay: 0.325s;
}
.loader-block:nth-child(5) {
    -moz-transform: translate(2.66667em,2.66667em);
    -ms-transform: translate(2.66667em,2.66667em);
    -webkit-transform: translate(2.66667em,2.66667em);
    transform: translate(2.66667em,2.66667em);
    -webkit-animation-delay: 0.13s;
    animation-delay: 0.13s;
}
.loader-block:nth-child(6) {
    -moz-transform: translate(5.33333em,2.66667em);
    -ms-transform: translate(5.33333em,2.66667em);
    -webkit-transform: translate(5.33333em,2.66667em);
    transform: translate(5.33333em,2.66667em);
    -webkit-animation-delay: 0.455s;
    animation-delay: 0.455s;
}
.loader-block:nth-child(7) {
    -moz-transform: translate(0,5.33333em);
    -ms-transform: translate(0,5.33333em);
    -webkit-transform: translate(0,5.33333em);
    transform: translate(0,5.33333em);
    -webkit-animation-delay: 0.39s;
    animation-delay: 0.39s;
}
.loader-block:nth-child(8) {
    -moz-transform: translate(2.66667em,5.33333em);
    -ms-transform: translate(2.66667em,5.33333em);
    -webkit-transform: translate(2.66667em,5.33333em);
    transform: translate(2.66667em,5.33333em);
    -webkit-animation-delay: 0.26s;
    animation-delay: 0.26s;
}
.loader-block:nth-child(9) {
    -moz-transform: translate(5.33333em,5.33333em);
    -ms-transform: translate(5.33333em,5.33333em);
    -webkit-transform: translate(5.33333em,5.33333em);
    transform: translate(5.33333em,5.33333em);
}
@-webkit-keyframes pulse-loader {
    40%,
    from {
        background: var(--primary-bgcolor);
    }

    to {
        background: #dadada;
    }
}
@-webkit-keyframes show {
    40%,
    from {
        opacity: 0;
    }

    41%,
    to {
        opacity: 1;
    }
}
@keyframes pulse-loader {
    40%,
    from {
        background: var(--primary-bgcolor);
    }

    to {
        background: #dadada;
    }
}
@keyframes show {
    40%,
    from {
        opacity: 0;
    }

    41%,
    to {
        opacity: 1;
    }
}
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
    font-family: var(--font-title);
    color: var(--title-color);
    font-weight: 400;
}
#title p,
.h1,
h1 {
    font-size: 48px;
    margin-bottom: 40px;
    margin-top: 0;
}
h2 {
    font-size: 40px;
    margin-bottom: 30px;
    margin-top: 2em;
}
h2.no-margintop {
    margin-top: 0;
}
h3 {
    font-size: 32px;
    margin-top: 40px;
    margin-bottom: 20px;
}
h4 {
    font-size: 28px;
    margin-top: 30px;
    margin-bottom: 15px;
}
h5 {
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 10px;
}
h6 {
    font-size: 22px;
    margin-top: 20px;
    margin-bottom: 10px;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
    font-family: var(--font-title);
    font-weight: normal;
}
@media (max-width:1024px) {
    #title p,
    h1 {
        font-size: 42px;
    }
    h2 {
        font-size: 36px;
    }
    h3 {
        font-size: 28px;
    }
    h4 {
        font-size: 26px;
    }
    h5 {
        font-size: 22px;
    }
    h6 {
        font-size: 20px;
    }
}
@media (max-width:736px) {
    #title p,
    h1 {
        font-size: 34px;
        line-height: 1.2;
    }
    h2 {
        font-size: 28px;
        line-height: 1.2;
    }
    h3 {
        font-size: 24px;
    }
    h4 {
        font-size: 22px;
    }
    h5 {
        font-size: 20px;
    }
    h6 {
        font-size: 18px;
    }
}
.section-title small,
.title small {
    font-family: var(--font-bold);
    color: var(--primary-bgcolor);
    font-size: 16px;
    display: inline-block;
    line-height: 1;
    text-shadow: none;
    font-weight: normal;
    clear: both;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.title small:first-letter {
    font-size: inherit;
}
.title {
    position: relative;
    z-index: 2;
    display: block;
}
.separator {
    margin: 30px 0;
    position: relative;
}
.separator span {
    position: relative;
    width: 200px;
    height: 1px;
    background-color: var(--primary-bgcolor);
    display: block;
}
.separator span:after,
.separator span:before {
    content: "";
    width: 50px;
    position: absolute;
    height: 1px;
    background-color: var(--primary-bgcolor);
}
.separator span:before {
    top: -5px;
}
.separator span:after {
    bottom: -5px;
}
.title.tac .separator span:after,
.title.tac .separator span:before {
    left: 50%;
    margin-left: -25px;
}
.title.tac .separator {
    margin: 30px auto;
}
.title.tac .separator span {
    left: 50%;
    margin-left: -100px;
}
.title span.color {
    color: var(--primary-bgcolor);
}
.title.tac {
    margin-bottom:25px;
}
.title#pageTitle {
    margin-bottom: 25px;
}
body.is-form-warning .title {
    z-index: 1;
}
.title.no-before {
    padding-bottom: 0;
    margin-bottom: 0;
}
.title p {
    margin-top: 15px;
}
.title.no-before:after {
    top: auto;
    bottom: -20px;
}
.title h1,
.title h2,
.title h3 {
    margin: 0;
}
.white h1,
.white h2,
.white h3 {
    color: var(--white);
}
.white .accroche {
    color: rgba(255,255,255,.8);
}
.accroche {
    font-size: 18px;
    line-height: 1.5;
}
img.cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
img.fill {
    object-fit: fill;
    max-width: 100%;
}
img.contain {
    object-fit: contain;
    max-width: 100%;
}
img.responsiveimg {
    width: 100%;
    height: 100%;
    height: auto;
}
strong {
    font-family: var(--font-bold);
    font-weight: 700;
}
.tc_content img {
    max-width: 100%;
    height: auto;
}
.wp-block-image {
    margin-bottom: 2em;
}
@keyframes pulse {
    from {
        transform: scale3d(1, 1, 1);
    }

    50% {
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}
.scroll-down {
    transition: 250ms all ease-in-out;
    border: 2px solid rgba(255,255,255,.6);
    -moz-border-radius: 100px;
    border-radius: 100px;
    position: absolute;
    left: 50%;
    width: 40px;
    height: 70px;
    margin-left: -20px;
    z-index: 3;
    bottom: 50px;
}
.scroll-down a {
    display: block;
    opacity: 0;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    border-radius: 100px;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    line-height: 0;
    font-size: 0;
    color: transparent;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 100%;
    -moz-background-size: 0 auto;
    -o-background-size: 0 auto;
    -webkit-background-size: 0 auto;
    background-size: 0 auto;
    -webkit-animation: pulse 1.5s 0s infinite normal ease forwards;
    -moz-animation: pulse 1.5s 0s infinite normal ease forwards;
    -o-animation: pulse 1.5s 0s infinite normal ease forwards;
    animation: pulse 1.5s 0s infinite normal ease forwards;
    background-image: url("../images/icon/arrow-down.svg");
    background-repeat: no-repeat;
}
.scroll-down a:after,
.scroll-down a:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("https://jamesmuspratt.com/codepen/img/arrow-down.svg") no-repeat center top;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
}
.scroll-down a:before {
    -webkit-animation: pulse 1.5s 0.25s infinite normal ease forwards;
    -moz-animation: pulse 1.5s 0.25s infinite normal ease forwards;
    -o-animation: pulse 1.5s 0.25s infinite normal ease forwards;
    animation: pulse 1.5s 0.25s infinite normal ease forwards;
}
.scroll-down a:after {
    -webkit-animation: pulse 1.5s 0.5s infinite normal ease forwards;
    -moz-animation: pulse 1.5s 0.5s infinite normal ease forwards;
    -o-animation: pulse 1.5s 0.5s infinite normal ease forwards;
    animation: pulse 1.5s 0.5s infinite normal ease forwards;
}
.scroll-down:hover {
    background-color: rgba(0,0,0,.6);
}
.innerLogo img {
    width: 300px;
}
.innerLogo a {
    display: inline-block;
    margin-bottom: 20px;
}
.nohome .innerLogo img {
    width: 200px;
}
#galleryHome {
    position: relative;
    z-index: 1;
    height: 31.725em;
    font-size: 1.25vw;
    overflow: hidden;
}
#galleryHome:after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 50%;
    background: var(--light-color);
}
#galleryHome .gallery {
    transition: 0.6s;
}
#galleryHome .gallery dl.gallery-item {
    margin-bottom: 0;
    position: absolute;
}
#galleryHome .gallery dl.gallery-item:first-of-type {
    width: 17.9375em;
    height: 24.55em;
    top: 3.525em;
    left: 0;
    z-index: 1;
}
#galleryHome .gallery dl.gallery-item:nth-child(2) {
    width: 9.8625em;
    height: 14.35em;
    top: 6.8625em;
    left: 14.2375em;
    z-index: 6;
    border-radius: 300px 300px 0 0;
}
#galleryHome .gallery dl.gallery-item:nth-child(3) {
    width: 25.5625em;
    height: 31.725em;
    top: 0;
    left: 27.175em;
    z-index: 2;
}
#galleryHome .gallery dl.gallery-item:nth-child(4) {
    width: 14.2375em;
    height: 10.65em;
    top: 11.3em;
    left: 55.475em;
    z-index: 5;
}
#galleryHome .gallery dl.gallery-item:last-of-type {
    width: 18.1375em;
    height: 21.5em;
    top: 5.025em;
    left: 66.8375em;
    z-index: 3;
    border-radius: 300px 260px 0 0;
}
.gallery-item:hover .gallery-caption {
    opacity: 1;
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transform: translateY(0);
}
.gallery .gallery-icon {
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
    cursor: pointer;
}
.gallery-icon a:before {
    content: "";
    left: 50%;
    top: 50%;
    position: absolute;
    transform: translateY(-50%) translateX(-50%);
    background-color: var(--primary-bgcolor);
    opacity: 0;
    transition: 250ms all ease-in-out;
    z-index: 1;
}
.gallery_zoom {
    position: absolute;
    z-index: 25;
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}
.gallery .gallery-icon a {
    display: inline-block;
    height: 100%;
    position: relative;
    cursor: pointer;
    width: 100%;
}
.gallery-item:hover .gallery-icon a:before {
    width: 100%;
    height: 100%;
    opacity: 0.75;
}
.gallery_zoom:after,
.gallery_zoom:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transition: background-color 0.2s ease-in-out , transform 0.4s ease-in-out;
    background-color: var(--white);
}
.gallery_zoom:before {
    width: 40px;
    height: 2px;
    margin: -1px 0 0 -20px;
    transform: translateX(-50px);
}
.gallery_zoom:after {
    width: 2px;
    height: 40px;
    margin: -20px 0 0 -1px;
    transform: translateY(-50px);
}
.gallery .gallery-item:hover .gallery_zoom {
    opacity: 1;
}
.gallery .gallery-item:hover .gallery_zoom:before {
    transform: translateX(0);
}
.gallery .gallery-item:hover .gallery_zoom:after {
    transform: translateY(0);
}
.gallery-item .gallery-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    opacity: 0;
    z-index: 2;
    font-family: var(--font-bold);
    color: var(--white);
    right: 0;
    transform: translateY(150%);
    text-transform: uppercase;
    font-size: 12px;
}
.gallery-item .icon-gallery span {
    width: 50px;
    text-align: center;
    transform: scale(0);
    height: 50px;
    border-radius: 50%;
    line-height: 50px;
    transition: all 0.5s ease-in-out 0s;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    -ms-transition: all 0.5s ease-in-out 0s;
    -o-transition: all 0.5s ease-in-out 0s;
    margin-top: 7px;
    background-color: var(--primary-bgcolor);
    color: var(--white);
    display: inline-block;
    font-family: var(--font-text);
    font-size: 25px;
}
.gallery-item .icon-gallery {
    position: absolute;
    left: 50%;
    top: 50%;
    text-align: center;
    transform: translateY(-50%) translateX(-50%);
    z-index: 2;
}
.gallery-item .icon-gallery span:before {
    content: "+";
}
.gallery-icon:hover .icon-gallery span {
    transform: scale(1);
    transition: all 0.5s ease-in-out 0s;
    -webkit-transition: all 0.5s ease-in-out 0s;
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    box-sizing: border-box;
}
.gallery-item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 500ms all ease-in-out;
    transition: transform 1s cubic-bezier(.215,.61,.355,1);
}
.gallery:not(.footergallery) .gallery-item:hover img {
    transform: scale(1.1);
}
#section-realisations {
    padding: 200px 0 10px;
}
#section-realisations .widget_element {
    display: grid;
    width: 100%;
    grid-gap: 10px;
    transition: 0.6s;
    grid-template-columns: repeat(4,1fr);
    max-width: 100%;
    grid-template-rows: repeat(3,300px);
}
#section-realisations .widget_element li .wrap-element {
    height: 100%;
    width: 100%;
    position: relative;
}
#section-realisations .widget_element li img {
    max-width: 100%;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#section-realisations .widget_element li:first-of-type {
    grid-column: span 2;
    grid-row: span 2;
}
#section-realisations .widget_element li:nth-child(2) {
    grid-column: span 1;
    grid-row: span 1;
}
#section-realisations .widget_element li:nth-child(3) {
    grid-column: span 1;
    grid-row: span 1;
}
#section-realisations .widget_element li:nth-child(4) {
    grid-column: span 2;
    grid-row: span 2;
}
#section-realisations .widget_element li:nth-child(5) {
    grid-column: span 1;
    grid-row: span 1;
}
#section-realisations .widget_element li:nth-child(6) {
    grid-column: span 1;
    grid-row: span 1;
}
#wrapContact {
    margin-left: 80px;
}
#wrapContact .grid {
    transition: 0.6s;
    grid-template-areas: "alsalavage jswagner";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(1,minmax(min-content,auto));
    grid-column-gap: 1px;
    align-items: initial;
}
#alsalavage {
    background-image: url("../images/contact-img.jpg");
}
#jswagner {
    background-image: url("../images/wagner-img.jpg");
}
#alsalavage,
#jswagner {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
    height: auto;
}
.wrap-alsalavage,
.wrap-jswagner {
    text-align: center;
    max-width: 450px;
    background-color: rgba(255,255,255,.8);
    box-shadow: 0 0 30px rgba(0,0,0,.3);
    padding: 50px 30px;
    margin: auto;
    width: 80%;
}
.wrap-alsalavage h3,
.wrap-jswagner h3 {
    font-size: 30px;
    font-family: var(--font-bold);
    color: var(--title-color);
    letter-spacing: 1px;
    max-width: 360px;
    margin: 30px auto 20px;
}
.callout-bg {
    background-image: url("../images/footer-bg.jpeg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 450px;
    left: 0;
    top: 0;
    z-index: -1;
    background-attachment: fixed;
}
#contactform #form-body img {
    margin: auto;
    display: block;
    margin-bottom: 30px;
}
#contactform #contact-body {
    justify-content: center;
    text-align: center;
    position: relative;
}
#contactform .wrap-contact {
    padding: 50px 30px;
}
#contactform #contact-body h3 {
    color: var(--title-color);
    font-size: 30px;
    margin-top: 30px;
    margin-bottom: 20px;
    line-height: 1.1;
}
#contactform .smallImage {
    margin: 0;
    height: 250px;
    z-index: 4;
}
#contactform .smallImage img {
    object-fit: cover;
    width: 100%;
    display: block;
    height: 100%;
}
.mention {
    font-size: 14px;
    font-style: italic;
    text-align: center;
    display: block;
    padding: 20px 0;
    line-height: 1.2;
    color: var(--title-color);
}
#footer_form .cekome_form .blc_checkbox label,
#footer_form .mention {
    color: var(--white);
}
.alert-color {
    color: red;
}
.nohome #contactform.contactformpage {
    padding-top: 0;
    background-color: transparent;
    padding-bottom: 500px;
}
.nohome #contactform.contactformpage .callout-bg {
    top: auto;
    bottom: 0;
    height: 650px;
}
#form-body {
    grid-area: formBody;
}
#contact-body {
    grid-area: contactBody;
}
#footer .contact-body {
    display: grid;
    grid-row-gap: 0;
    transition: 0.6s;
    grid-template-areas: "contactBody mapfooter" "footerlinks footerlinks";
    grid-template-columns: 40% 60%;
    grid-template-rows: min-content repeat(2,minmax(min-content,auto));
    align-items: center;
}
#homeContact {
    padding: 150px 15px;
    position: relative;
    background-image: url("../images/bg-contact.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
#homeContact .note {
    color: var(--white);
    text-align: center;
    font-style: initial;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 10px;
}
#homeContact #phoneBT-infotelfixe,
#homeContact #phoneBT-infotelport {
    color: var(--title-color);
}
#homeContact #phoneBT-infotelfixe:hover,
#homeContact #phoneBT-infotelport:hover {
    color: var(--primary-bgcolor);
}
#homeContact .wrap-contact {
    background-color: rgba(35,31,32,.6);
    box-shadow: 0 0 30px rgba(0,0,0,.3);
    max-width: 600px;
    margin: auto;
    flex-direction: row-reverse;
    position: relative;
    z-index: 2;
}
#homeContact .wrap-contact:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: var(--white);
    transform: rotate(4deg);
    z-index: -1;
}
#fournisseurs {
    position: relative;
    background-image: url("../images/bg-fournisseurs.jpg");
    background-size: cover;
    padding: 180px 60px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    z-index: 1;
}
#fournisseurs .title {
    margin-bottom: 0;
    padding: 0;
    min-width: 500px;
}
#fournisseurs .partenaires-header {
    display: flex;
    position: relative;
    margin-bottom: 100px;
    align-items: center;
    text-shadow: 1px 1px 8px var(--black);
}
#fournisseurs .partenaires-header .title h2 {
    display: block;
    margin-bottom: 30px;
}
#fournisseurs .partenaires-intro.white {
    color: var(--white);
    box-sizing: border-box;
    padding-left: 100px;
    font-size: 18px;
}
#fournisseurs:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,.6);
}
#fournisseurs:after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 100%;
    height: 215px;
    background-color: #fff;
    z-index: 0;
}
#fournisseurs .widget_element {
    background-color: #fff;
    border: 1px solid #eee;
    border-bottom: none;
    border-right: 0;
    position: relative;
    z-index: 2;
}
#fournisseurs .next,
#fournisseurs .prev {
    top: 50%;
}
#fournisseurs .ckctrldiv {
    display: none;
}
.tar {
    text-align: right;
}
.tal {
    text-align: left;
}
.tac {
    text-align: center;
}
.alignleft {
    float: left;
    margin: 0 20px 0 0;
}
.alignright {
    float: right;
    margin: 0 0 0 20px;
}
.aligncenter {
    text-align: center;
    margin: 0 auto;
}
#checkBrowserCompatibility {
    display: block;
    text-align: center;
    height: 100vh;
    min-height: 100%;
    width: 100vw;
    min-width: 100%;
    overflow: hidden;
    position: fixed;
    background: #a4a4a4;
    z-index: 9999999999;
    background-image: repeating-linear-gradient(-45deg,#d4d4d4 10px,#d4d4d4 17px,#eee 17px,#eee 18px);
}
.alertBadBrowser {
    width: 85%;
    max-width: 600px;
    margin: 0 auto;
    transform: translateY(-50%);
    top: 50%;
    background: #fff;
    position: relative;
    padding: 20px 20px 20px 150px;
    line-height: 19px;
    font-size: 13px;
    font-family: arial;
    box-sizing: border-box;
    box-shadow: 10px 10px 20px -19px #000;
    border-radius: 2px;
    outline-color: #0360ff;
    outline-offset: -7px;
    outline-style: solid;
    outline-width: 1px;
    background-image: url("../images/base/icon_browserCompatibility.svg");
    background-repeat: no-repeat;
    background-size: 120px;
    background-position: 15px 15px;
}
.titlebadbrowser {
    font-size: 15px;
    margin-bottom: 2px;
    color: #0360ff;
    text-transform: uppercase;
    font-weight: bold;
}
.subtitlebadbrowser {
    font-size: 14px;
    margin-bottom: 10px;
    color: #000;
    letter-spacing: -.01em;
    line-height: 120%;
}
.textbadbrowser {
    font-size: 11px;
    line-height: 130%;
    color: #333;
}
.listbadbrowser {
    text-align: right;
}
.listbadbrowser li {
    display: inline-block;
    margin: 15px 12px 0 0;
}
.listbadbrowser li a {
    font-weight: bold;
    letter-spacing: -.03em;
    color: #333;
    text-decoration: none;
    padding: 72px 16px 0;
    display: block;
}
.listbadbrowser li a:hover {
    color: #0060ff;
}
.ico_badbrowser {
    background-size: 70px 70px;
    background-repeat: no-repeat;
    background-position: top center;
}
.bw_firefox {
    background-image: url("../images/base/bw_firefox.svg");
}
.bw_chrome {
    background-image: url("../images/base/bw_chrome.svg");
}
.bw_safari {
    background-image: url("../images/base/bw_safari.svg");
}
.modal {
    display: grid;
    align-items: center;
    text-align: center;
    justify-items: center;
    width: 100vw;
    overflow: hidden;
    position: fixed;
    background: rgba(2,2,2,.9);
    z-index: 9999;
    transition: 0.5s all ease;
}
.closemodal {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
}
.closemodal svg {
    fill: var(--tertiary-bgcolor);
    width: 30px;
    transition: all 0.3s ease;
    transform-origin: center;
}
.closemodal:hover svg {
    transform: scale(1.2);
    fill: #555;
}
.innermodal {
    padding: 60px 4%;
    background: #fff;
    box-shadow: 0 13px 20px -22px;
    border-radius: 10px;
    position: relative;
    pointer-events: bounding-box;
}
.modal.hide {
    height: 0;
    opacity: 0;
    filter:blur(20px);
    transform: scale(7);
}
.modal.show {
    height: 100vh;
    opacity: 1;
    filter:blur(0);
    transform: scale(1);
}
.horairemodal {
    pointer-events: none;
}
.jourhoraires {
    font-weight: bold;
    color: var(--primary-bgcolor);
    width: 140px;
}
#header .jourhoraires {
    color: var(--white);
}
.horairemodal .titlehoraires {
    font-size: 26px;
    font-family: var(--font-title);
    margin-bottom: 20px;
    text-align: center;
    color: var(--title-color);
    font-weight: bold;
}
.bthoraire {
    cursor: pointer;
}
.detailhoraires {
    color: #666;
}
.infohoraires_other {
    line-height: 1.3;
    margin-top: 30px;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 16px;
    font-family: var(--font-bold);
}
.button,
.tc_content .wp-block-button__link,
.underbutton > * {
    background-color: var(--primary-bgcolor);
    padding: 18px 30px;
    font-size: 12px;
    font-family: var(--font-bold);
    color: var(--white);
    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    line-height: 1;
    letter-spacing: 2px;
    position: relative;
    border-radius: 0;
    z-index: 1;
    border-radius: 0!important;
    overflow: hidden;
}
.button:before,
.tc_content .wp-block-button__link:before,
.underbutton > *:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: var(--secondary-bgcolor);
    transition: 250ms all ease-in-out;
    z-index: -1;
}
.button.small,
.underbutton.small > *,
.wp-block-file .wp-block-file__button,
button.small {
    padding: 8px 12px;
    font-size: 11px;
    letter-spacing: 1px;
}
.button.white,
.underbutton.white > *,
button.white {
    background-color: var(--white);
    color: var(--secondary-bgcolor);
}
.button.black,
.underbutton.black > *,
button.black {
    background-color: var(--black);
    color: var(--primary-bgcolor);
}
.button.hollow,
.underbutton.hollow > * {
    background-color: transparent;
    color: #241c10;
    border: 1px solid rgba(36,28,16,.4);
    overflow: initial;
}
.is-style-outline > .wp-block-button__link:not(.has-text-color) {
    color: #241c10;
}
.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
    color: var(--secondary-bgcolor);
}
.wp-block-button__link:hover {
    box-shadow: none;
}
.button.hollow.white,
.underbutton.hollow.white > * {
    color: var(--white);
    border-color: var(--white);
}
.button.hollow:hover,
.underbutton.hollow > *:hover {
    color: var(--primary-bgcolor)!important;
}
.hollow.white .hollow--icon line {
    stroke: #fff;
}
.hollow.primary:hover {
    color: var(--white);
}
.hollow.primary {
    color: var(--primary-bgcolor);
    border-color: var(--primary-bgcolor);
}
.hollow.primary .hollow--icon line {
    stroke: var(--primary-bgcolor);
}
.hollow.primary:hover .hollow--icon line {
    stroke: var(--white);
}
.hollow.primary .hollow--bottom-right:after,
.hollow.primary .hollow--bottom-right:before,
.hollow.primary .hollow--top-left:after,
.hollow.primary .hollow--top-left:before {
    background-color: var(--white);
}
.btnLine {
    background: none;
    padding: 0;
    line-height: 28px;
    color: var(--title-color);
    font-family: var(--font-bold);
    font-size: 12px;
    line-height: 1;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.btnLine.white {
    color: var(--white);
}
.btnLine:hover {
    color: var(--primary-bgcolor);
}
.btnLine::after,
.btnLine::before {
    content: '';
    display: block;
    position: absolute;
    left: -.1em;
    bottom: -.7em;
    width: 100%;
    height: 1px;
    border-top: 1px solid var(--primary-bgcolor);
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(.48,.57,.33,.89) 0.1s;
    -o-transition: transform 0.4s cubic-bezier(.48,.57,.33,.89) 0.1s;
    transition: transform 0.4s cubic-bezier(.48,.57,.33,.89) 0.1s;
    transition: transform 0.4s cubic-bezier(.48,.57,.33,.89) 0.1s , -webkit-transform 0.4s cubic-bezier(.48,.57,.33,.89) 0.1s;
}
.btnLine:before {
    padding-bottom: 4px;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(.48,.57,.33,.89);
    -o-transition: transform 0.4s cubic-bezier(.48,.57,.33,.89);
    transition: transform 0.4s cubic-bezier(.48,.57,.33,.89);
    transition: transform 0.4s cubic-bezier(.48,.57,.33,.89) , -webkit-transform 0.4s cubic-bezier(.48,.57,.33,.89);
}
.btnLine:hover::after,
.btnLine:hover::before {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.the-arrow {
    width: 64px;
    transition: all 0.2s;
}
.the-arrow.-left {
    position: absolute;
    top: 24px;
    left: 0;
}
.the-arrow.-left > .shaft {
    width: 0;
}
.the-arrow.-left > .shaft:after,
.the-arrow.-left > .shaft:before {
    width: 0;
}
.the-arrow.-left > .shaft:before {
    transform: rotate(0);
}
.the-arrow.-left > .shaft:after {
    transform: rotate(0);
}
.the-arrow.-right {
    top: 0;
}
.the-arrow.-right > .shaft {
    width: 64px;
    transition-delay: 0.2s;
}
.the-arrow.-right > .shaft:after,
.the-arrow.-right > .shaft:before {
    width: 8px;
    transition-delay: 0.3s;
    transition: all 0.5s;
}
.the-arrow.-right > .shaft:before {
    transform: rotate(40deg);
}
.the-arrow.-right > .shaft:after {
    transform: rotate(-40deg);
}
.the-arrow > .shaft {
    background-color: var(--primary-bgcolor);
    display: block;
    height: 1px;
    position: relative;
    transition: all 0.2s;
    transition-delay: 0;
    will-change: transform;
}
.the-arrow > .shaft:after,
.the-arrow > .shaft:before {
    background-color: var(--primary-bgcolor);
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 0;
    right: 0;
    transition: all 0.2s;
    transition-delay: 0;
}
.the-arrow > .shaft:before {
    transform-origin: top right;
}
.the-arrow > .shaft:after {
    transform-origin: bottom right;
}
.animated-arrow {
    display: inline-block;
    color: var(--black);
    font-size: 11px;
    position: relative;
    transition: all 0.2s;
    letter-spacing: 1px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    padding: 18px 0;
}
.animated-arrow.white {
    color: var(--white);
}
.animated-arrow:hover {
    color: var(--primary-bgcolor);
}
.animated-arrow:hover > .the-arrow.-left > .shaft {
    width: 64px;
    transition-delay: 0.1s;
}
.animated-arrow:hover > .the-arrow.-left > .shaft:after,
.animated-arrow:hover > .the-arrow.-left > .shaft:before {
    width: 8px;
    transition-delay: 0.1s;
}
.animated-arrow:hover > .the-arrow.-left > .shaft:before {
    transform: rotate(40deg);
}
.animated-arrow:hover > .the-arrow.-left > .shaft:after {
    transform: rotate(-40deg);
}
.animated-arrow:hover > .main {
    transform: translateX(80px);
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft {
    width: 0;
    transform: translateX(200%);
    transition-delay: 0;
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:after,
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:before {
    width: 0;
    transition-delay: 0;
    transition: all 0.1s;
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:before {
    transform: rotate(0);
}
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:after {
    transform: rotate(0);
}
.animated-arrow > .main {
    display: flex;
    align-items: center;
    transition: all 0.2s;
}
.animated-arrow > .main > .text {
    margin: 0 16px 0 0;
    line-height: 1;
}
.animated-arrow > .main > .the-arrow {
    position: relative;
}
.button.hollow:before,
.underbutton.hollow > *:before {
    content: none;
}
.hollow .btn__text {
    position: relative;
    padding: 14px 32px;
    line-height: 1.5;
    display: inline-block;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease , -webkit-transform 0.5s ease;
}
.hollow .hollow--top-left:after,
.hollow .hollow--top-left:before {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    display: block;
    width: calc(100% + 1px);
    height: 2px;
    background-color: var(--primary-bgcolor);
    opacity: 1;
    transition: 0.3s ease-out 0.3s;
    box-sizing: border-box;
}
.hollow .hollow--top-left:before {
    transform: scaleX(0);
    transform-origin: left;
}
.hollow .hollow--top-left:after {
    width: 2px;
    height: calc(100% + 2px);
    transform: scaleY(0);
    transform-origin: top;
}
.hollow .hollow--bottom-right:after,
.hollow .hollow--bottom-right:before {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -1px;
    display: block;
    width: calc(100% + 1px);
    height: 2px;
    background-color: var(--primary-bgcolor);
    opacity: 1;
    transition: 0.3s ease-out;
}
.hollow .hollow--bottom-right:before {
    transform: scaleX(0);
    transform-origin: left;
}
.hollow .hollow--bottom-right:after {
    width: 2px;
    height: calc(100% + 2px);
    transform: scaleY(0);
    transform-origin: top;
}
.hollow .hollow--text {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.hollow .hollow--icon {
    transform: translateX(10px);
    margin-right: 12px;
}
.hollow .hollow--icon line {
    fill: none;
    stroke: #241c10;
    stroke-miterlimit: 10;
    stroke-dasharray: 33;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 0.8s cubic-bezier(.24,0,.16,1.01);
}
.hollow:hover .hollow--bottom-right:after,
.hollow:hover .hollow--bottom-right:before {
    transition: 0.3s ease-out 0.3s;
}
.hollow:hover .hollow--bottom-right:before {
    transform: scaleX(1);
}
.hollow:hover .hollow--bottom-right:after {
    transform: scaleY(1);
}
.hollow:hover .hollow--top-left:after,
.hollow:hover .hollow--top-left:before {
    transition: 0.3s ease-out;
}
.hollow:hover .hollow--top-left:before {
    transform: scaleX(1);
}
.hollow:hover .hollow--top-left:after {
    transform: scaleY(1);
}
.hollow:hover .hollow--icon line {
    stroke-dashoffset: -66;
    stroke: var(--primary-bgcolor);
}
.button.secondary,
.underbutton.secondary > *,
button.secondary {
    background-color: var(--secondary-bgcolor);
}
.button.secondary:before,
.underbutton.secondary > *:before,
button.secondary:before {
    background-color: var(--primary-bgcolor);
}
.button:hover:before,
.tc_content .wp-block-button__link:hover:before,
.underbutton:hover > *:before {
    width: 100%;
}
.button.icon,
.underbutton.icon > *,
button.icon {
    padding-left: 40px;
    background-size: 24px;
    background-position: 8px center;
    background-repeat: no-repeat;
}
.button.bigicon,
.underbutton.bigicon > *,
button.bigicon {
    padding-left: 80px;
    background-size: 48px;
    background-position: 16px center;
    background-repeat: no-repeat;
}
.arrowlink {
    position: relative;
    display: inline-block;
    padding-right: 70px;
    font-family: var(--font-title);
    color: var(--secondary-bgcolor);
    cursor: pointer;
    transform: translateZ(0);
    transition: transform 0.5s;
}
.arrowlink.white {
    color: var(--white);
}
.arrowlink svg {
    z-index: 1;
    position: absolute;
    bottom: -35px;
    right: 0;
    width: 256px;
    height: 63px;
}
.arrowlink svg circle,
.arrowlink svg line,
.arrowlink svg polyline {
    fill: none;
    stroke: var(--secondary-bgcolor);
}
.arrowlink.white svg circle,
.arrowlink.white svg line,
.arrowlink.white svg polyline {
    stroke: var(--white);
}
.arrowlink svg line,
.arrowlink svg polyline {
    stroke-miterlimit: 10;
}
.arrowlink svg circle {
    display: block;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 0.066em;
    stroke-dasharray: 200;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset ease-out 0.5s;
}
.arrowlink span {
    z-index: 2;
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    font-size: 18px;
    padding-bottom: 3px;
    line-height: 1.5;
    transition: 0.5s all ease-in-out;
}
.arrowlink:hover {
    transform: translateZ(0) translateX(.5em);
    color: var(--primary-bgcolor);
}
.arrowlink:hover svg circle,
.arrowlink:hover svg line,
.arrowlink:hover svg polyline {
    stroke: var(--primary-bgcolor);
}
.arrowlink:hover span {
    transform: translateX(21px);
}
.arrowlink:hover svg circle {
    stroke-dashoffset: 200;
}
#backBTsinglewoo {
    margin-bottom: 30px;
    margin-top: 30px;
}
#infoadresseBisContact,
#infoadresseContact,
#infoadresseContactbis {
    background-image: url("../images/icons/map.svg");
}
#infoouvertureContact {
    background-image: url("../images/icons/clock.svg");
}
#infotelfixeContact,
#infotelfixeContactbis {
    background-image: url("../images/icons/phone.svg");
}
#infotelportContact {
    background-image: url("../images/icons/mobile.svg");
}
#contentDepot {
    margin-top: 100px;
}
#infoadresseBisContact,
#infoadresseContact,
#infoouvertureContact,
#infotelContact,
#infotelfixeContact,
#infotelportContact {
    background-position: left center;
    background-repeat: no-repeat;
    padding: 20px 0 20px 30px;
    background-size: 16px;
    line-height: 1.5;
}
#infoadresseContactbis,
#infotelfixeContactbis {
    background-position: top center;
    background-repeat: no-repeat;
    padding: 30px 0 0;
    background-size: 16px;
    line-height: 1.5;
}
#noshareContact {
    margin-top: 30px;
}
#noshareContact .sociblock .share-buttons a svg {
    width: 20px;
}
#noshareContact .sociblock .share-buttons a {
    margin: 0 10px;
}
#infoadresseContact a,
#infoadresseContactbis a,
#infoouvertureContact a,
#infotelContact a,
#infotelfixeContact a,
#infotelfixeContactbis a {
    color: var(--text-color);
}
#infoadresseContact a:hover,
#infoadresseContactbis a:hover,
#infoouvertureContact a:hover,
#infotelContact a:hover,
#infotelfixeContact a:hover,
#infotelfixeContactbis a:hover {
    color: var(--primary-bgcolor);
}
#infoouverture_contact a,
#infotelfixe_contact a,
#infotelport_contact #phoneBT-infotelport {
    color: var(--text-color);
}
#infoouverture_contact a:hover,
#infotelfixe_contact a:hover,
#infotelport_contact #phoneBT-infotelport:hover {
    color: var(--primary-bgcolor);
}
#infoadresse_contact,
#infoouverture_contact,
#infotelport_contact {
    background-repeat: no-repeat;
    text-align: center;
    padding: 5px 0 4px 40px;
    background-size: 25px;
    background-position: 0;
    text-align: left;
    margin: 20px 0;
}
#addrcontact_txt,
#infotel_contact {
    margin: 0 0 20px !important;
    color: var(--white);
}
.note {
    font-size: 13px;
    font-style: italic;
}
.formulaireMail {
    background-image: url("../images/icons/mail.svg");
}
#infoadresse span,
#infoadresseContact span,
#infoadresseContactbis span,
#infoadresseFooter span,
#infofaxFooter span,
#infoouverture span,
#infoouvertureContact span,
#infoouvertureFooter span,
#infotel2 span,
#infotelFooter span,
#infotelfixe span,
#infotelfixeContact span,
#infotelfixeContactbis span,
#infotelfixeFooter span,
#infotelport span,
#infotelportContact span,
#infotelportFooter span {
    display: block;
    color: var(--white);
    font-size: 10px;
    font-family: var(--font-bold);
    padding-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
}
#infoadresse span,
#infoadresseContact span,
#infoadresseContactbis span,
#infoouverture span,
#infoouvertureContact span,
#infotelfixe span,
#infotelfixeContact span,
#infotelfixeContactbis span,
#infotelport span,
#infotelportContact span {
    color: var(--primary-bgcolor);
    padding-bottom: 2px;
}
.labelsection_bloc {
    position: relative;
}
.labelsection {
    display: inline-block;
    color: #fff;
    font-size: 40px;
    letter-spacing: -.03em;
    text-shadow: 0.03em 0 10px #1a3541ab;
    z-index: 2;
    font-weight: bold;
    margin: 20px;
    padding: 20px 40px;
    z-index: 32;
    box-sizing: border-box;
}
.labelsection:after {
    content: attr(data-shadow);
    position: absolute;
    top: 0.07em;
    left: 0.10em;
    z-index: 1;
    padding: 21px 35px;
    text-shadow: none;
    background-image: linear-gradient(45deg,transparent 45%,hsl(0,0%,100%) 45%,hsl(0,0%,100%) 55%,transparent 0);
    background-size: 0.08em 0.08em;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shad-anim 45s linear infinite;
}
@keyframes shad-anim {
    0% {
        background-position: 0 0;
    }

    0% {
        background-position: 100% -100%;
    }
}
.tc_content > :first-child {
    margin-top: 0;
}
@-webkit-keyframes backgroundAnimateIn {
    0% {
        background-position: 0 -100%;
    }

    63% {
        background-position: 0 -95%;
    }

    86% {
        background-position: 0 2.5%;
    }

    100% {
        background-position: 0 0;
    }
}
@keyframes backgroundAnimateIn {
    0% {
        background-position: 0 -100%;
    }

    63% {
        background-position: 0 -95%;
    }

    86% {
        background-position: 0 2.5%;
    }

    100% {
        background-position: 0 0;
    }
}
.tc_content a:not([class*="button"]),
.tc_content a:not([class*="button"]) strong {
    color: var(--primary-bgcolor);
    position: relative;
    line-height: 1;
    border-bottom: 1px solid;
    transition: color 0.3s ease-in-out;
    background-image: linear-gradient(to bottom,transparent 20%,var(--secondary-bgcolor) 21%);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: all 0.5s ease-in-out 0.2s;
}
.tc_content a:not([class*="button"]):hover,
.tc_content a:not([class*="button"]):hover strong {
    background-size: 100% 2px;
    transition-delay: 0s;
    color: var(--secondary-bgcolor);
}
.tc_content a[rel*="lightbox-gallery"]:not(.wp-block-file__button),
figure a {
    border: none!important;
    background: none!important;
}
.tc_content b,
.tc_content strong {
    color: var(--primary-bgcolor);
}
.tc_content p {
    margin-bottom: 1em;
}
.has-medium-font-size {
    line-height: 1.4;
    font-size: 22px;
}
.tc_content p+ul {
    margin-top: -15px;
}
.tc_content p.has-background {
    margin: 0 0 30px;
    padding: 30px 40px;
    box-sizing: border-box;
    background: var(--primary-bgcolor)!important;
    color: var(--white)!important;
}
.tc_content p.has-background strong {
    color: var(--white);
}
.tc_content p.has-background a:not([class*="button"]),
.tc_content p.has-background a:not([class*="button"]) strong {
    color: var(--white);
}
.tc_content p.has-background a:not([class*="button"]):hover,
.tc_content p.has-background a:not([class*="button"]):hover strong {
    color: var(--secondary-bgcolor);
}
.tc_content ol,
.tc_content ul {
    margin: 0 0 16px 30px;
}
.wp-block-column > h2:first-child,
.wp-block-column > h3:first-child {
    margin-top: 0;
}
.widget_element {
    margin: 0!important;
}
.widget_element li .wrap-element {
    transition: all 1s cubic-bezier(.25,.8,.25,1);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    padding: 20px;
}
.tc_content ol {
    list-style-type: decimal;
}
.tc_content ol li {
    padding: 2px 0;
    position: relative;
}
.tc_content ul li {
    padding: 2px 0 2px 20px;
    position: relative;
}
.tc_content ul:not(.no-bullet) li:before {
    content: "";
    position: absolute;
    left: 3px;
    background-color: var(--primary-bgcolor);
    top: 13px;
    width: 6px;
    display: block;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    height: 6px;
    border-radius: 100px;
}
.wp-block-gallery .blocks-gallery-item:before {
    content: none!important;
}
.tc_content hr.is-style-dots:before {
    content: "\00b7 \00b7 \00b7 \00b7 \00b7";
    color: var(--primary-bgcolor);
    font-size: 30px;
    letter-spacing: 18px;
    padding-left: 2em;
    text-shadow: 5px 4px 0 #0000004a;
}
.tc_content hr.is-style-wide {
    height: 5px;
    width: 100%;
}
hr.wp-block-separator {
    max-width: 250px;
    height: 2px;
    margin: 80px auto;
    background: var(--primary-bgcolor);
    border: none;
}
.tc_content pre {
    border: 1px solid rgba(0,0,0,.2);
    padding: 10px 15px;
    font-size: 0.8em;
    background: rgba(255,255,255,.2);
    outline-color: #ffffffa1;
    outline-offset: -5px;
    outline-style: dashed;
    outline-width: 1px;
    margin: 2em 10px;
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-wrap;
}
.wp-block-quote,
blockquote {
    margin: 2em 0;
    padding: 50px 70px;
    quotes: "\201C" "\201D" "\201C" "\201D";
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    background-color: transparent;
    border: none!important;
    padding-left: 70px!important;
    margin: 30px 0 !important;
}
blockquote cite {
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-style: normal;
    font-size: 14px;
    color: var(--text-color);
    position: relative;
    padding-top: 11px;
}
blockquote cite:before {
    position: absolute;
    height: 50px;
    width: 2px;
    background-color: var(--black);
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
blockquote.is-style-large {
    border-top: 2px solid var(--primary-bgcolor);
    border-bottom: 2px solid var(--primary-bgcolor);
}
.wp-block-quote:before,
blockquote:before {
    color: var(--secondary-bgcolor);
    content: open-quote;
    font-size: 130px;
    position: absolute;
    font-family: var(--font-title);
    line-height: 1;
    height: 70px;
    display: inline;
    z-index: 2;
}
.wp-block-quote:after,
blockquote:after {
    content: "";
    position: absolute;
    left: 50px;
    width: 3px;
    height: 100%;
    top: 0;
    background: var(--secondary-bgcolor);
}
.wp-block-quote:before,
blockquote:before {
    top: 0;
    left: 0;
}
.wp-block-quote p,
blockquote p {
    font-size: 18px!important;
    font-family: var(--font-text);
    line-height: 1.5;
    color: var(--title-color);
    margin: 0;
}
.wp-block-quote p strong,
blockquote p strong {
    color: var(--secondary-bgcolor);
}
blockquote.white {
    color: var(--white);
}
blockquote.white cite {
    color: rgba(255,255,255,.8);
}
blockquote.white cite:before {
    background-color: var(--white);
}
blockquote.white:before {
    background-color: var(--primary-bgcolor);
    color: var(--secondary-bgcolor);
}
blockquote.black:before {
    background-color: var(--black);
}
.tc_content table {
    width: 100%!important;
    margin-bottom: 1em;
    background-color: rgba(255,255,255,.4)!important;
}
.tc_content table th {
    padding: 0.15em 0.4em;
    border: 1px solid rgba(0,0,0,.6);
    background: rgba(0,0,0,.1);
}
.tc_content table td {
    padding: 0.15em 0.4em;
    border: 1px solid rgba(0,0,0,.6);
}
.tc_content table.is-style-stripes {
    border-bottom: none!important;
}
.tc_content table.is-style-stripes tr td {
    border-top: 1px solid #0008;
}
.tc_content table.is-style-stripes tr:last-child td {
    border-bottom: 1px solid #0008;
}
.tc_content table.is-style-regular td {
    border: 1px solid #0008;
}
.tc_content .has-large-font-size {
    line-height: 120%;
}
.tc_content .wp-block-lazyblock-slider-de-galerie {
    margin-bottom: 1em;
    position: relative;
}
.tc_content .wp-block-lazyblock-slider-de-galerie .cksliderwrap {
    padding-bottom: 15px;
}
.tc_content iframe {
    width: 100%;
    min-height: 400px;
    background: #000;
}
.has-medium-size,
.woocommerce-product-details__short-description p {
    font-size: 22px;
    color: var(--title-color);
    line-height: 1.4;
}
.callout {
    border: solid 1px;
    padding: 30px 20px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    z-index: 2;
}
.callout.small {
    padding: 15px;
    font-size: 14px;
    line-height: 1;
}
.callout.info {
    background-color: #d7ecfa;
    border-color: #1577b9;
}
.callout.warning {
    background-color: #fff3d9;
    border-color: #d6a740;
}
.callout p:last-of-type {
    margin-bottom: 0;
}
.callout.alert {
    background-color: #f5e6e6;
    border-color: #ffbebe;
}
.callout.mot-chef h3 {
    margin-top: 0;
    text-transform: uppercase;
    font-size: 20px;
    text-decoration: underline;
    font-style: initial;
    margin-bottom: 15px;
}
.callout.mot-chef {
    background-color: #f5e9e1;
    font-style: italic;
}
.to-top.fixed {
    opacity: 1;
    bottom: 62px;
}
.to-top {
    background: var(--primary-bgcolor);
    bottom: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,.15);
    color: #fff;
    display: block;
    font-size: 15px;
    height: 50px;
    line-height: 48px;
    opacity: 0;
    position: fixed;
    right: 20px;
    text-align: center;
    transition: 1s ease-in-out;
    width: 50px;
    z-index: 333;
    -webkit-transition: 1s ease-in-out;
    border-radius: 100px;
    overflow: hidden;
    -webkit-animation: pulse 2s infinite;
    -o-animation: pulse 2s infinite;
    animation: pulse 2s infinite;
    display: flex;
    align-items: center;
    justify-content: center;
}
.to-top img {
    width: 20px;
}
.to-top:focus {
    color: #fff;
}
.to-top:hover {
    color: #fff;
}
.to-top::before {
    -webkit-transform: scale(0);
    background: var(--secondary-bgcolor) none repeat scroll 0 0;
    border-radius: 200px;
    content: "";
    display: block;
    height: 200px;
    left: -50%;
    margin-top: -100px;
    position: absolute;
    top: 50%;
    transition-duration: 0.8s;
    transition: all 0.4s ease-out 0s;
    width: 200px;
    z-index: -1;
    -ms-transform: scale(0);
    -webkit-transition-duration: 0.8s;
    -webkit-transition: all 0.4s ease-out 0s;
    opacity: 0.3;
    transform: scale(0);
}
.to-top::after {
    -webkit-transform: scale(0);
    background: var(--secondary-bgcolor) none repeat scroll 0 0;
    border-radius: 200px;
    content: "";
    display: block;
    height: 200px;
    left: -50%;
    margin-top: -100px;
    position: absolute;
    top: 50%;
    transition: all 0.4s ease-in 0s;
    width: 200px;
    z-index: -1;
    -ms-transform: scale(0);
    -webkit-transition: all 0.4s ease-in 0s;
    opacity: 0.3;
    transform: scale(0);
    transition-delay: 0.3s;
}
.to-top:hover::after,
.to-top:hover::before {
    -webkit-transform: scale(4);
    -ms-transform: scale(4);
    opacity: 1;
    transform: scale(4);
}
.grid-lines {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.grid-lines > div {
    display: block;
    float: left;
    height: 100%;
    border-left: 1px solid #f4f4f4;
    box-sizing: border-box;
    width: 16.666%;
}
.grid-lines.light {
    position: absolute;
    z-index: 0;
}
.grid-lines.light > div {
    border-left-color: rgba(105,105,105,.3);
}
.grid-lines > div:last-child {
    border-right: 1px solid #f4f4f4;
}
#header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}
#navprimary {
    width: 100%;
    background-color: rgb(0 0 0 / 80%);
    padding: 25px 15px;
}
#navsecondary {
    padding: 30px 15px;
}
#navsecondary .navigmenu {
    display: grid;
    grid-template-columns: 2fr 1fr 2fr;
    grid-gap: 30px;
}
#navsecondary .before-logo .navigtoogle {
    text-align: right!important;
}
#infoadresse,
#infoouverture,
#infotelfixe {
    font-size: 16px;
    margin-right: 20px;
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: left 40%;
    padding: 5px 5px 5px 22px;
    line-height: 1;
    font-family: var(--font-title);
    color: var(--title-color);
    font-weight: bold;
}
#infoadresse {
    background-image: url("../images/icons/map.svg");
}
#infoouverture {
    background-image: url("../images/icons/clock.svg");
}
#infoadresse a,
#infoouverture a,
#infotelfixe a {
    color: var(--title-color);
}
#infoadresse a:hover,
#infoouverture a:hover,
#infotelfixe a:hover {
    color: var(--primary-bgcolor);
}
#infotelfixe {
    background-image: url("../images/icons/phone.svg");
    min-width: 180px;
}
@keyframes slide-down {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

    100% {
        opacity: 0.9;
        transform: translateY(0);
    }
}
#logo a {
    display: inline-block;
    position: relative;
}
#logodesktop {
    width: 250px;
}
#qualiteFrance {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
}
#header .fixed-logo {
    display: none;
}
#autotraduction {
    margin: 0 10px;
}
#noshare {
    margin-left: auto;
    display: flex;
}
#logo-wrapper {
    text-align: center;
    display: flex;
    align-items: center;
}
#noshare .label {
    font-family: var(--font-bold);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--title-color);
}
#galleryHome #noshare .icones {
    width: 70px;
    transform: rotate(-90deg);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    bottom: 0;
}
#noshare .icones {
    display: flex;
    align-items: center;
}
#header #autotraduction .label span,
#header #noshare .label span,
#header #share .label span {
    border-bottom: 1px solid var(--secondary-bgcolor);
    color: var(--secondary-bgcolor);
}
#infotelfixe_footer {
    background-image: url("../images/icons/phone-white.svg");
}
#header #infoadresse #infoadresse_inner div {
    margin: 0 3px;
}
.is-toggle-open #header-coordonnees {
    opacity: 1!important;
    visibility: visible!important;
    transition: 850ms all ease-in-out;
}
#infocontact #infotelport {
    font-size: 25px;
    font-family: var(--font-title);
}
#infocontact #infoouverture {
    border-top: 1px solid rgba(117,17,12,.2);
    padding-top: 30px;
    margin-top: 20px;
}
#infocontact .grid-slices-container {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    left: 0;
    z-index: -1;
    top: 0;
}
#infocontact .grid-slices-container div {
    background: rgba(255,255,255,.075);
    width: 1px;
    height: 100%;
}
#info-toogle {
    margin: 0 auto;
    background-color: var(--black);
    position: absolute;
    z-index: 30;
    cursor: pointer;
    z-index: 6000!important;
    text-align: center;
    transition: 0.5s ease-in-out;
    box-shadow: 0 0 0 0 var(--primary-bgcolor) , 0 0 0 0 var(--secondary-bgcolor);
    display: none;
    border-radius: 5em;
    top: 60px;
    right: 30px;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
}
#info-toogle:before {
    content: "";
    background-image: url("../images/icons/mail-white.svg");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: 22px;
    height: 22px;
    z-index: 1;
}
.is-toggle-open #info-toogle:before {
    background-image: url("../images/icons/close.svg");
}
.is-toggle-open #info-toogle {
    box-shadow: 0 0 0 100vw var(--light-color) , 0 0 0 100vh var(--light-color);
    background-color: var(--light-color);
    transition: 0.5s ease-in-out;
    border-radius: 0;
}
#header-share {
    position: absolute;
    width: 80px;
    z-index: 21;
    top: 95px;
    bottom: 0;
    left: 0;
    overflow: hidden;
    height: 100%;
}
#header-share #share {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    border-top: 1px solid #e6eaea;
    padding-top: 30px;
}
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(12,12,12,.5);
    z-index: 1;
}
.overlay.primary {
    background: var(--primary-bgcolor);
    opacity: 0.8;
}
.socialContact {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 15px 0;
}
#socialContact .marque-alsace {
    width: 30px;
}
#socialContact .share-buttons a {
    min-width: auto;
    margin-right: 60px;
}
#navprimary .navigtoogle.has-child .naviglink.lvl-0 {
    padding-right: 35px;
}
#navprimary .navigtoogle.has-child .naviglink.lvl-0:after {
    top: 30px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-top-color: var(--primary-bgcolor);
    border-width: 5px;
    margin-left: 10px;
}
#navprimary .navigmenu .naviglink.lvl-0 {
    padding: 25px 14px;
}
#navprimary .navigmenu .social .naviglink.lvl-0 {
    padding: 4px 14px;
}
#navprimary .navigmenu .active .naviglink.lvl-0,
#navprimary .navigmenu .naviglink.lvl-0:hover {
    color: var(--white);
}
body.template-mentions-legales-php #navprimary .navigmenu .naviglink.lvl-0 span:after,
body.template-mentions-legales-php #navprimary .navigmenu .naviglink.lvl-0 span:before {
    content: none;
}
#navprimary .navigmenu .naviglink.item-contact {
    border: solid 2px var(--secondary-bgcolor);
    color: var(--secondary-bgcolor);
    transition-delay: initial;
    margin-left: 10px;
}
#navprimary .navigmenu .naviglink.item-contact:hover {
    background-color: var(--secondary-bgcolor);
    color: var(--primary-bgcolor);
}
#navprimary .navigtoogle .naviglink:hover:before,
#navprimary .navigtoogle.active .naviglink:before {
    transform: translateY(0);
    opacity: 1;
}
#navprimary .navigmenu .navigtoogle > .navdown {
    text-align: left;
    padding: 10px 0;
}
.section-title h2 {
    margin: 0;
    display: inline-block;
}
.section-title.white h2 {
    color: var(--white);
    text-shadow: 1px 1px 1px rgba(0,0,0,.6);
}
.section-title {
    position: relative;
    margin-bottom: 90px;
    z-index: 1;
}
.section-title small {
    font-size: 100px;
    font-weight: 400;
    opacity: 0.4;
    position: absolute;
    left: 0;
    right: 0;
    line-height: 1;
    margin: 0;
    padding: 0;
    top: -50px;
    z-index: -1;
}
.section-title .no_line {
    width: 0;
    height: 130px;
    color: #000;
    margin: 0 auto;
}
#slideactu {
    position: relative;
    z-index: 2;
    padding: 150px 15px;
    background: var(--light-color);
}
#slideactu .ckslidercontrols .next {
    right: 11.8%;
    left: auto;
}
#slideactu .ckslidercontrols .prev {
    left: auto;
    right: 14.8%;
}
#slideactu .ckslidercontrols .next,
#slideactu .ckslidercontrols .prev {
    bottom: 0;
    height: 40px;
    width: 40px;
}
#slideactu .ckctrldiv {
    left: 23%;
    transform: none;
    bottom: 10px;
}
#slideactu .more-links {
    position: absolute;
    bottom: 8px;
    color: var(--white);
    left: 50%;
    transform: translateX(-50%);
    min-width: 142px;
}
#slideactu .content-news {
    grid-gap: 0 60px;
    align-items: center;
    position: relative;
}
.wrapper_slider {
    box-sizing: border-box;
    position: relative;
    grid-column: span 1;
    border-bottom: solid 1px rgb(0 0 0 / 20%);
    padding-bottom: 30px;
    margin-bottom: 30px;
    display: flex;
}
.wrapper_slider:first-of-type,
.wrapper_slider:last-of-type {
    border: none;
    padding: 0;
}
.wrapper_slider:first-of-type {
    grid-column: span 2;
    grid-row: span 3;
    padding: 0;
}
.wrapper_slider:first-of-type .title_slider {
    line-height: 1;
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
    transition: 0.5s;
    transform: translateY(40px);
}
.wrapper_slider:first-of-type .title_link_slider {
    font-size: 35px;
    text-shadow: 0 0 8px var(--black);
}
.home .wrapper_slider .thumbnail_slider {
    width: 120px;
    margin-right: 20px;
    height: 120px;
    overflow: hidden;
    border: solid 1px #dfdfdf;
    clip-path: circle(50% at 50% 50%);
    line-height: 1;
}
.home .wrapper_slider .text_slider {
    display: none;
}
.home .wrapper_slider:first-of-type .thumbnail_slider {
    position: relative;
    display: block;
    z-index: 1;
    transition: 250ms all ease-in-out;
    width: 100%;
    height: 600px;
    border-radius: initial;
    clip-path: none;
}
.home .wrapper_slider:first-of-type .thumbnail_slider:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--black);
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0.5;
}
.home .wrapper_slider .thumbnail_slider a:not(.button) {
    display: block;
    height: 100%;
}
.home .wrapper_slider .thumbnail_slider .button {
    position: absolute;
    left: 0;
    bottom: 0;
    color: var(--white);
    padding-right: 60px;
}
.home .wrapper_slider .thumbnail_slider .button:after {
    right: 30px;
}
.home .wrapper_slider:first-of-type .content_slider {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 80%;
    padding: 40px;
}
.home .wrapper_slider:first-of-type .next_slider {
    transition: 0.5s;
    opacity: 0;
    transform: translateY(20px);
    transition-delay: 200ms;
}
.home .wrapper_slider:first-of-type:hover .next_slider {
    opacity: 1;
    transform: translateY(0);
}
.home .wrapper_slider:first-of-type:hover .text_slider,
.home .wrapper_slider:first-of-type:hover .title_slider {
    transform: translateY(-20px);
    opacity: 1;
}
.nohome .thumbnail_slider {
    height: 500px;
    overflow: hidden;
    position: relative;
}
.nohome .content_slider {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    box-sizing: border-box;
    padding: 20px 30px;
}
.nohome .content_slider .arrowright {
    color: var(--primary-bgcolor);
}
.home .wrapper_slider:first-of-type .text_slider {
    display: block;
    color: var(--white);
    line-height: 1.6;
    transition: 0.5s;
    transition-delay: 100ms;
    transform: translateY(40px);
}
.img_thumbnail_slider {
    width: 100%;
    object-fit: cover;
    transition: 500ms all ease-in-out;
    height: 100%;
}
.title_slider {
    font-family: var(--font-title);
    line-height: 1.2;
    padding: 0;
    margin-bottom: 10px!important;
    transition: 300ms all ease-in-out;
}
.title_slider .title_link_slider {
    font-size: 26px;
}
.news-headline {
    font-family: var(--font-text);
    font-size: 12px;
    display: flex;
    align-items: center;
    color: var(--tertiary-bgcolor);
    padding-bottom: 8px;
}
.wrapper_slider:first-of-type .news-headline {
    color: var(--white);
}
.news-category {
    font-family: var(--font-bold);
    margin-right: 10px;
    text-transform: uppercase;
}
.news-category:after {
    content: "";
    border-left: 1px solid currentColor;
    height: 5px;
    font-size: 10px;
    margin-left: 10px;
    opacity: 1;
}
.wrapper_slider:first-of-type .title_link_slider a {
    color: var(--white);
}
.title_slider a {
    color: var(--title-color);
    display: block;
}
.title_slider a:hover,
.wrapper_slider:first-of-type .title_link_slider a:hover {
    color: var(--primary-bgcolor);
}
#listarticles .liresuite {
    transition: 300ms all ease-in-out;
    transition-delay: 100ms;
    z-index: 2;
    position: relative;
}
.title_slider small {
    color: var(--primary-bgcolor);
    font-size: 12px;
    margin-bottom: 10px;
    padding-bottom: 0;
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 2px;
    display: none;
}
.title_slider small:after {
    content: none;
}
.wrapper_slider:first-of-type .title_slider small {
    display: block;
}
#listarticles .listedarticle .content_news .tc_excerpt {
    font-size: 15px;
}
#listarticles .listedarticle .content_news .next_slider {
    margin-top: 20px;
}
#prestations {
    position: relative;
    overflow: hidden;
    z-index: 2;
}
#prestations .widget_parentpage li {
    box-sizing: border-box;
    position: relative;
    transition: 0.3s;
    transition: all 0.4s ease;
    height: 600px;
}
#prestations .image_content {
    height: 100%;
    display: block;
    cursor: pointer;
    z-index: 0;
    position: relative;
}
#prestations .blocthumb {
    height: 100%;
    position: relative;
    transition: 250ms all ease-in-out;
    z-index: 1;
}
#prestations .content-presta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    flex-direction: column;
    left: 35px;
    top: 35px;
    right: 35px;
    bottom: 35px;
    background-color: var(--white);
    padding: 30px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 1;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
    -webkit-transition: 0.2s cubic-bezier(.48,.57,.33,.89);
    -o-transition: 0.2s cubic-bezier(.48,.57,.33,.89);
    transition: 0.2s cubic-bezier(.48,.57,.33,.89);
}
#prestations h2 {
    font-size: 38px;
    line-height: 1;
    margin: 0;
    opacity: 0;
    -webkit-transform: translate3d(0,30%,0);
    transform: translate3d(0,30%,0);
    margin-bottom: 20px;
    letter-spacing: -.5px;
}
#prestations h2 a {
    color: var(--title-color);
}
#prestations h2 a:hover {
    color: var(--primary-bgcolor);
}
#prestations .tc_excerpt {
    opacity: 0;
    -webkit-transform: translate3d(0,30%,0);
    transform: translate3d(0,30%,0);
    font-size: 16px;
    line-height: 1.5;
    max-width: 600px;
    margin: 0 auto;
}
#prestations .liresuite {
    opacity: 0;
    transform: translate3d(100px,0,0);
    transition: all 0.7s cubic-bezier(.2,1,.7,1);
    transition-property: transform , opacity;
    margin-top: 40px;
}
@keyframes eltdfFadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,30%,0);
        transform: translate3d(0,30%,0);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}
#prestations .item-presta:hover .liresuite {
    transition-delay: 0.6s;
    opacity: 1;
    transform: translate3d(0,0,0);
}
#prestations .item-presta:hover h2 {
    -webkit-animation: 0.4s eltdfFadeInUp forwards 0.3s;
    animation: 0.4s eltdfFadeInUp forwards 0.3s;
}
#prestations .item-presta:hover .content-presta {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    -webkit-transition: 0.4s cubic-bezier(.48,.57,.33,.89);
    -o-transition: 0.4s cubic-bezier(.48,.57,.33,.89);
    transition: 0.4s cubic-bezier(.48,.57,.33,.89);
}
#prestations .item-presta:hover .tc_excerpt {
    -webkit-animation: 0.4s eltdfFadeInUp forwards 0.3s;
    animation: 0.5s eltdfFadeInUp forwards 0.4s;
}
#sections {
    position: relative;
    z-index: 10;
    overflow: hidden;
}
.home #footer {
    margin-top: -150px;
}
.sectionsbloc {
    position: relative;
    padding: 200px 7% 0;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 150px;
}
.sectionsbloc:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70%;
    height: 65%;
    background: var(--title-color);
    z-index: -1;
}
.sectionsbloc.odd {
    flex-direction: row-reverse;
}
.sectionsbloc.odd .section_thumb {
    flex-direction: row-reverse;
}
.sectionsbloc.section_num1 {
    margin-bottom: 0;
}
.sectionsbloc.odd:after {
    left: 0;
    right: auto;
}
.sectionsbloc.odd .section_thumb .tertiarythumb {
    left: 0;
    right: auto;
}
.sectionsbloc.section_num2 {
    padding-top: 0;
}
.sectionsbloc.section_num1 .section_txt .wrap-text {
    padding-bottom: 250px;
}
.section_thumb {
    width: 50%;
    position: relative;
    z-index: 6;
}
.sectionsbloc .blocthumb img,
.sectionsbloc .specialthumb img,
.sectionsbloc .tertiarythumb img {
    position: absolute;
    top: 0;
    height: 100%;
}
.sectionsbloc .blocthumb img {
    height: 120%;
}
.principal_thumb {
    width: 100%;
    height: 800px;
    margin-bottom: 200px;
    right: -8.15%;
    position: relative;
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
}
.sectionsbloc.odd .principal_thumb {
    left: -9%;
    right: auto;
}
.section_thumb .specialthumb {
    width: 66%;
    height: 80%;
    position: relative;
}
.section_thumb .tertiarythumb {
    position: absolute;
    width: 47%;
    height: 52%;
    bottom: -120px;
    right: 0;
}
.section_txt {
    width: 50%;
}
.section_txt .wrap-text {
    color: rgba(255,255,255,.8);
    padding: 0 50px 180px 150px;
    position: relative;
    box-sizing: border-box;
    margin: auto;
    max-width: 950px;
}
.sectionsbloc.odd .section_txt .wrap-text {
    padding: 0 150px 180px 50px;
}
.section_txt .wrap-text h2 {
    color: var(--white);
}
.sectionsbloc .section_txt a:not([class*="button"]),
.sectionsbloc .section_txt a:not([class*="button"]) strong {
    background-image: linear-gradient(to bottom,transparent 20%,var(--white) 21%);
}
.sectionsbloc .section_txt a:not([class*="button"]):hover,
.sectionsbloc .section_txt a:not([class*="button"]):hover strong {
    color: var(--white);
}
.sectionsbloc .section_txt .wrap-content {
    position: relative;
    box-sizing: border-box;
}
.sectionsbloc .buttons-wrap {
    padding-top: 30px;
}
.sectionsbloc .buttons-wrap .button {
    margin: 5px;
}
.widget_element li {
    position: relative;
    text-align: center;
    box-sizing: border-box;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: 200px;
    padding: 0 !important;
}
body.template-partenaires-php .widget_element li {
    border: 1px solid #eee;
}
.widget_element img {
    max-width: 100%;
    height: auto;
    max-height: 100px;
}
#partenaires .widget_element img {
    transition: 250ms all ease-in-out;
}
#partenaires .widget_element img:hover {
    filter:grayscale(0) brightness(1)
}
.widget_element a {
    background: none!important;
    border: none!important;
}
.widget_element a:hover .element-title {
    opacity: 1;
}
.widget_element h2,
.widget_element h3 {
    display: none;
}
.widget_element .element-title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffffe3;
    padding: 10px;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s all ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
.widget_element li:hover .element_content,
.widget_element li:hover .gotolink a,
.widget_element li:hover .liresuite a {
    opacity: 1;
}
.widget_element .liresuite a {
    line-height: 120%;
    padding: 10px;
    box-sizing: border-box;
    color: var(--primary-txtcolor);
    opacity: 0;
    transition: 0.5s all ease;
}
.widget_element .liresuite {
    position: absolute;
    bottom: 20px;
    right: 20px;
}
.widget_element .gotolink {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    align-items: center;
    transition: all 0.25s cubic-bezier(.3,.3,0,.8);
}
.widget_element .gotolink a {
    opacity: 0;
    visibility: hidden;
    color: var(--title-color)!important;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    transform: translateY(16px);
    transition: all 0.25s cubic-bezier(.3,.3,0,.8);
    font-family: var(--font-bold);
    display: block;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.widget_element li:hover .gotolink {
    background-color: var(--white);
}
.widget_element li:hover .gotolink a {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.etape {
    position: relative;
    counter-reset: etape;
}
.etape .wp-block-column {
    padding: 0 30px!important;
    margin: 0;
    font-size: 15px;
}
.etape .wp-block-column p {
    margin: 0;
    line-height: 1.3;
}
.etape .wp-block-column p strong {
    font-size: 18px;
    margin-bottom: 5px;
    color: var(--title-color);
    display: block;
}
.etape .wp-block-image {
    position: relative;
    width: 120px;
    height: 115px;
    margin: 0 auto 30px;
}
.etape .wp-block-image:before {
    content: "0" counter(etape);
    counter-increment: etape;
    font-size: 50px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px var(--primary-bgcolor);
    opacity: 0.5;
    position: absolute;
    left: -20px;
    z-index: 6;
    top: 0;
    font-family: var(--font-bold);
}
.etape .has-drop-cap:first-letter {
    font-size: 50px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
}
#content {
    position: relative;
    z-index: 4;
}
#contentPage {
    padding: 150px 30px;
}
.contentContact #contentPage {
    padding: 150px 30px 120px;
}
#contentPageBis {
    padding: 120px 30px 200px;
}
#cta-boutique {
    position: relative;
    background-image: url("../images/bg-cta.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 150px 30px;
    z-index: 1;
    background-attachment: fixed;
}
#cta-boutique .title h2 {
    text-shadow: 1px 1px 1px rgb(0 0 0 / 0.5);
}
#cta-boutique:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black);
    opacity: 0.7;
}
#cta-boutique .cta-content {
    max-width: 950px;
}
#cta-boutique .cta-content img {
    width: 340px;
    margin-bottom: 10px;
}
#products {
    margin-bottom: 70px;
}
#products-home {
    padding: 150px 20px;
    position: relative;
    z-index: 1;
    background: url("../images/pattern.jpg");
}
#products .next,
#products .prev {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
}
#products .prev {
    left: 0;
}
#products .next {
    right: 0;
}
#products .product-category {
    line-height: 1;
    min-width: calc((100% / 4) - 15px);
    width: calc((100% / 4) - 15px);
    overflow: hidden;
    border-radius: 50%;
}

#products .product-category a:hover .gallery_zoom {
    opacity: 1;
}
#products .product-category .gallery_zoom {
    top: 70%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
}
#products .product-category a:hover .gallery_zoom:before {
    transform: translateX(0);
}
#products .product-category a:hover .gallery_zoom:after {
    transform: translateY(0);
}
.products {
    width: 100%;
    transition: 0.6s;
    grid-template-columns: repeat(4,1fr);
    max-width: 100%;
    gap: 10px;
    display: grid;
    align-items: start;
    justify-items: stretch;
}
#products .products {
    display: flex;
    gap: 15px;
    justify-content: center;
}
.products .product {
    position: relative;
    box-sizing: border-box;
    grid-column: span 1;
}
#catalogue.product {
    height: 100%;
    padding: 30px;
    text-align: center;
    background-image: url("../images/bg-product.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 1;
}
#catalogue.product .title {
    margin-bottom: 40px;
}
#catalogue.product .title h3 {
    font-size: 23px;
    font-family: var(--font-bold);
    text-shadow: 0 0 10px rgba(0,0,0,.7);
}
#catalogue.product:before {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%;
    background-color: var(--black);
    opacity: 0.8;
    z-index: -1;
}
.products .product:not(#catalogue) .button {
    display: none;
}
.products .product:not(#catalogue) a {
    display: block;
    overflow: hidden;
}
.products .product a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 0.5s;
}
.liproduct .hrefproduct:hover img,
.products .product a:hover img {
    transform: scale(1.1);
}
.products .product a .woocommerce-loop-category__title,
.titleproduct {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 0;
    color: var(--white);
    text-align: center;
    text-transform: uppercase;
    font-family: var(--font-bold);
    font-size: 16px;
    padding: 20px 15px;
}
.titleproduct {
    height: 100%;
    top: 0; /* opacity:0; */
    transition: opacity 0.5s;
    -webkit-transition: background-color 0.5s;
    display: flex; /* background-color: rgb(255 99 0 / 80%); */
    align-items: flex-end;
    justify-content: center;
}
.products .product a .woocommerce-loop-category__title {
    top: 50%;
    z-index: 2;
    transition: all 0.5s;
    transform: translateY(-50%);
    padding: 20px;
    background-color: rgb(0 0 0 / 80%);
}
#products .product-category a:before {
    content: "";
    background-color: rgb(0 0 0 / 0%);
    position: absolute;
    top: 15px;
    bottom: 15px;
    left: 15px;
    right: 15px;
    z-index: 1;
    transition: all 0.5s;
}
#products .product-category a:hover:before {
    background-color: rgba(0,0,0,.75);
}
#products .product-category a:hover .woocommerce-loop-category__title {
    transform: translateY(-50px);
}
span.price {
    position: absolute;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,.75);
    color: var(--white);
    bottom: 0;
    opacity: 0;
    transition: opacity 0.5s;
    -webkit-transition: opacity 0.5s;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
    font-family: var(--font-bold);
    font-size: 16px;
    padding: 7px;
    display: none;
}
span.price del {
    display: none;
}
span.price .text {
    font-size: 12px;
    padding-right: 5px;
}
.liproduct .hrefproduct:hover .titleproduct,
.liproduct .hrefproduct:hover span.price,
.products .product a:hover .woocommerce-loop-category__title {
    /* opacity:1; */
    background-color: rgb(255 99 0 / 80%);
}
.product .count {
    display: none;
}
.home #content {
    padding: 120px 0;
    display: flex;
}
#content-wrapper {
    padding: 100px 160px 100px 0;
    width: 65%;
    position: relative;
}
#content-wrapper .tertiarythumb {
    position: absolute;
    left: 0;
    bottom: 6%;
    width: 34.5%;
    height: 44%;
}
#content-wrapper .quaternarythumb {
    position: absolute;
    left: 26%;
    top: -410px;
    width: 45%;
    height: 400px;
}
#content-wrapper .content-body {
    position: relative;
    box-sizing: border-box;
    max-width: 52%;
    margin-left: auto;
}
#content-img {
    width: 35%;
    position: relative;
}
#content-img .blocthumb {
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 90%;
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
}
#content-img .specialthumb {
    position: absolute;
    bottom: 58px;
    left: -98px;
    width: 225px;
    height: 280px;
    border-radius: 120px 120px 0 0;
    overflow: hidden;
}
#content .col-content {
    box-sizing: border-box;
    align-items: center;
    position: relative;
    z-index: 1;
    width: 65%;
}
#galleryHome .ckslidercontrols {
    display: none;
}
#content.hasnocontent {
    padding: 0;
}
.alternativeContent .intro {
    max-width: 80%;
    margin: 0 auto 30px;
}
#section-video {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-image: url("../images/bg-video.jpg");
    padding: 280px 30px 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-direction: column;
    text-shadow: 1px 1px 1px rgba(0,0,0,.3);
    z-index: 2;
    text-align: center;
    min-height: 450px;
}
#section-video:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--black);
    height: 100%;
    width: 100%;
    opacity: 0.4;
    z-index: -1;
}
#section-video .title {
    margin-bottom: 60px;
}
#section-video p {
    font-family: var(--font-bold);
    margin-bottom: 90px;
    font-size: 22px;
    text-transform: uppercase;
    letter-spacing: 3px;
}
.video-play-button {
    color: var(--white);
    font-size: 97px;
    line-height: 1;
    position: relative;
    display: inline-block;
    vertical-align: top;
    z-index: 1;
}
.video-play-button svg {
    height: 1em;
    width: 1em;
}
.video-play-button svg circle {
    stroke-width: 1.4;
}
.video-play-button circle.playHover {
    fill: none;
    stroke: currentColor;
    stroke-dashoffset: 258;
    stroke-dasharray: 258;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-linecap: butt;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}
.video-play-button:hover .playHover {
    stroke-dashoffset: 0;
    stroke-dasharray: 258;
    -webkit-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}
@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}
.video-overlay {
    position: static;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,.9);
    opacity: 0;
    transition: all ease 500ms;
}
.video-overlay.open {
    position: fixed;
    z-index: 9999999;
    opacity: 1;
}
.video-overlay-close {
    position: absolute;
    z-index: 1000;
    top: 15px;
    right: 20px;
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: all 200ms;
}
.video-overlay-close:hover {
    color: #fa183d;
}
.video-overlay iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    box-shadow: 0 0 15px rgba(0,0,0,.75);
    max-width: 90%;
}
.elementor-shape {
    overflow: hidden;
    position: absolute;
    left: 0;
    width: 100%;
    line-height: 0;
    direction: ltr;
    z-index: 10;
}
.elementor-shape svg {
    display: block;
    width: calc(100% + 1.3px);
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
.elementor-shape .elementor-shape-fill {
    fill: #fff;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
}
.elementor-shape-bottom {
    bottom: -1px;
}
.elementor-shape-top {
    top: -1px;
}
.elementor-shape[data-negative="false"].elementor-shape-bottom,
.elementor-shape[data-negative="true"].elementor-shape-top {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
#h1,
#homeHeader {
    position: relative;
}
#homeHeader {
    overflow: hidden;
}
#coordonnees {
    background-color: var(--light-color);
    padding: 15px 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
}
#coordonnees #coordonnees-wrapper {
    position: relative;
}
.home #coordonnees #coordonnees-wrapper {
    padding-left: 48%;
}
.innerText {
    position: absolute;
    z-index: 2;
    top: -15px;
    left: 30px;
    right: 30px;
    height: 100%;
}
.nohome .innerText {
    padding-top: 70px;
}
.innerText .wrappercontent {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.innerLogo p {
    font-family: var(--font-bold);
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 1px 1px 1px var(--black);
    letter-spacing: 3px;
    color: var(--white);
}
#h1 .innerTitle,
#homeHeader .innerTitle {
    opacity: 0;
    transition: 0.55s cubic-bezier(.4,0,.2,1) 0.95s;
    color: var(--white);
    position: relative;
    transform: translateY(-50px);
    z-index: 10;
}
#homeHeader .innerButton {
    opacity: 0;
    transition: 0.55s cubic-bezier(.4,0,.2,1) 1.25s;
    transform: translateY(-50px);
}
#h1 .section-title {
    margin-bottom: 0;
}
#h1 .section-title .no_line {
    border-color: var(--secondary-bgcolor);
    position: absolute;
    left: 50%;
    bottom: -160px;
    transform: translateX(-50%);
    z-index: 1;
}
#homeHeader .innerTitle small {
    display: block;
    font-size: 60px;
    letter-spacing: 0;
    font-family: var(--font-bold);
    text-transform: lowercase;
    pointer-events: none;
    -webkit-font-smoothing: auto;
}
.ml15 .word {
    display: inline-block;
    line-height: 1em;
}
#h1 .innerTitle p,
#homeHeader .innerTitle p {
    font-family: var(--font-title);
    font-size: 50px;
    line-height: 1.2;
    text-shadow: 1px 1px 1px var(--black);
}
.logotype {
    --size: 60px;
    background-image: url("../images/logotype.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: var(--size);
    height: var(--size);
    position: relative;
    top: 10px;
}
#homeHeader .innerTitle .title-de {
    font-size: 30px;
    letter-spacing: 3px;
}
#h1 .innerTitle strong,
#homeHeader .innerTitle strong {
    display: block;
    font-size: 16px;
    letter-spacing: 5px;
    position: relative;
    text-transform: uppercase;
    top: 20px;
}
#h1 .innerTitle strong {
    font-size: 40px;
    padding-bottom: 10px;
}
#h1 .innerTitle,
#homeHeader .innerTitle {
    margin: 0 auto;
    max-width: 990px;
}
#homeHeader .innerButton {
    margin-top: 40px;
}
#infotelport2_home a {
    background-color: var(--tertiary-bgcolor);
}
#infotelfixe_home a:hover {
    background-color: var(--primary-bgcolor);
}
#homeHeader .innerButton a {
    margin: 0 5px;
}
#homeHeader .innerWrap-content {
    width: 360px;
    height: 360px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 10;
    margin-bottom: 130px;
}
#homeHeader .innerContent:after,
#homeHeader .innerContent:before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transform: rotate(45deg);
    display: block;
    z-index: -2;
}
#homeHeader .innerContent:before {
    outline: 1px solid var(--primary-bgcolor);
    outline-offset: -20px;
    z-index: -1;
}
#homeHeader .innerContent:after {
    background-image: url("../images/bg-homeHeader.jpg");
    background-size: cover;
    background-position: center;
}
#homeHeader .innerBorders {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    transform: rotate(45deg);
}
#homeHeader .innerBorders:after,
#homeHeader .innerBorders:before {
    content: "";
    width: 90%;
    height: 90%;
    position: absolute;
    border: solid 1px var(--primary-bgcolor);
}
#homeHeader .innerBorders:before {
    border-bottom: none;
    border-right: none;
    top: -20px;
    left: -20px;
}
#homeHeader .innerBorders:after {
    border-left: none;
    border-top: none;
    right: -20px;
    bottom: -20px;
}
#h1 .innerImg,
#homeHeader .innerImg {
    position: absolute;
    top: 0;
    right: 0;
}
#h1 .innerImg .imageAnimation,
#homeHeader .innerImg .imageAnimation {
    width: 100%;
    height: 100%;
}
#h1 .innerImg .imageOverlay,
#homeHeader .imageOverlay {
    background-color: #f0f8ff;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    top: -5px;
    height: calc(100% + 10px);
    z-index: 4;
    transition: 0.75s cubic-bezier(.4,0,.2,1) 0.25s;
    position: absolute;
}
#homeHeader .innerImg .imageDiapo {
    height: 900px!important;
}
#h1 .smallImage,
#homeHeader .smallImage {
    position: absolute;
    bottom: -50px;
    right: -75px;
    width: 400px;
    height: 400px;
    box-shadow: 2.5px 4.3px 62px 0 rgba(0,0,0,.22);
    transform: scale(0);
    transition: 0.55s cubic-bezier(.4,0,.2,1) 0.75s;
    z-index: 4;
}
#h1 .smallImage img,
#homeHeader .smallImage img {
    object-fit: cover;
    width: 100%;
    display: block;
    opacity: 0;
    height: 100%;
}
body.loaded #h1 .innerTitle,
body.loaded #homeHeader .innerButton,
body.loaded #homeHeader .innerTitle {
    opacity: 1;
    transform: translateY(0);
}
body.loaded #h1 .innerImg .imageOverlay,
body.loaded #homeHeader .imageOverlay {
    left: 100%;
}
#home_garantie {
    padding: 100px 30px;
}
#home_garantie .title h2 {
    margin: 0;
    text-align: center;
    font-size: 45px;
    margin-bottom: 60px;
}
#home_garantie .tc_content {
    column-count: 2;
    column-gap: 50px;
}
#home_garantie .tc_content p {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    break-inside: avoid-column;
}
#banner {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 70vh;
    color: var(--white);
    background-attachment: fixed;
    min-height: 400px;
    z-index: 1;
    position: relative;
    background-image: url("../images/default-bg.jpg");
    max-height: 1000px;
}
body:not(.single) #h1 .wrap-contentPage h1 {
    margin-top: -4%;
}
body:not(.single) #banner .button,
body:not(.single) #h1 .button {
    margin-top: 20px;
}
#banner p span {
    font-size: 50px;
}
#banner .wrappercontent,
#h1 .wrappercontent {
    height: 100%;
}
.cekome-stars-icon {
    margin-bottom: 15px;
}
.cekome-stars-icon a {
    border: none!important;
    background-image: none!important;
}
#h1 .innerImg {
    position: relative;
    overflow: hidden;
}
#h1 .innerImg:after {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0) 30%,#000 100%);
}
#h1 .innerImg .imageAnimation {
    height: 60vh;
    min-height: 600px;
}
#h1 .innerImg .imageAnimation .imageDiapo {
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}
#h1.small-h1 .innerImg .imageAnimation {
    height: 650px;
}
#h1 .innerImg .imageAnimation .blocthumb,
#h1 .innerImg .imageAnimation .imageDiapo {
    height: 100%;
}
#h1 .innerImg .imageOverlay,
#homeHeader .imageOverlay {
    width: 110%;
    background-color: var(--primary-bgcolor);
}
#h1 .h1,
#h1 h1 {
    margin: 0;
    display: block;
    font-family: var(--font-title);
    font-size: 50px;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 1px 1px 1px var(--black);
    letter-spacing: 2px;
    color: var(--white);
}
body.loaded #h1 .h1,
body.loaded #h1 h1 {
    opacity: 1;
    transform: translateY(0);
}
#h1 .section-title small {
    opacity: 1;
    text-shadow: 1px 1px 1px var(--black);
    top: 0;
    color: var(--white);
    font-size: 80px;
}
#filterwidgetagence {
    text-align: right;
    padding: 10px;
    background: #f0f0f0;
    color: #666;
    border-bottom: 1px solid var(--quaternary-bgcolor);
    font-size: 12px;
}
#filterwidgetagence select {
    border: none;
    background: #fff;
    padding: 2px 20px 2px 5px;
    box-sizing: border-box;
    border: 1px solid #ccc;
}
#listwidgetagence {
    overflow: hidden;
    overflow-y: scroll;
    height: 600px;
    background: var(--tertiary-bgcolor);
    color: var(--tertiary-txtcolor);
}
.itemlistwidgetagence:nth-child(even) {
    background: rgba(0,0,0,.1);
}
.itemlistwidgetagence:nth-child(odd) {
    background: rgba(255,255,255,.1);
}
.itemlistwidgetagence {
    padding: 10px;
    box-sizing: border-box;
    outline-color: #ffffff26;
    outline-style: solid;
    outline-width: 1px;
    outline-offset: -10px;
    line-height: 0;
}
.itemlistwidgetagence.active {
    outline-color: var(--primary-bgcolor);
}
#mapwidgetagence {
    height: 600px;
}
.list_imgagence {
    width: 130px!important;
    height: 120px;
}
.list_infoagence {
    padding: 6px 8px;
    font-size: 13px;
    line-height: 130%;
    width: calc(100% - 130px);
    box-sizing: border-box;
}
.list_infoagence .title_list_infoagence {
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 2px;
    padding-bottom: 2px;
    border-bottom: 1px dashed #777;
}
.list_infoagence .tel_list_infoagence a {
    color: var(--primary-bgcolor);
}
.list_infoagence .more_list_infoagence {
    text-align: right;
    text-decoration: underline;
}
.list_infoagence a {
    color: var(--tertiary-txtcolor);
    text-decoration: none;
}
#pageContent {
    position: relative;
}
#contentPage h1 {
    margin-top: 0;
    line-height: 1.1;
}
#headerPage #title:not(.tac) h1,
#headerPage #title:not(.tac) p {
    margin: 0;
}
#headerPage #title:not(.tac) h1,
#headerPage #title:not(.tac) p {
    max-width: 720px;
    width: 100%;
    padding-left: 0;
    line-height: 1;
}
#headerPage #title {
    padding-bottom: 30px;
}
#imgContent {
    left: 0;
    position: absolute;
    width: 110%;
    top: -190px;
    margin-bottom: -190px;
    z-index: 1;
}
#imgContent #blocmaps,
#imgContent .blocthumb {
    position: relative;
    width: 100%;
    height: 430px;
    z-index: 10;
    box-shadow: 0 0 20px rgba(0,0,0,.5);
    border-radius: 10px 0 0 10px;
    overflow: hidden;
}
#imgContent #blocmaps {
    height: 500px;
}
#mainTitle {
    width: 60%;
}
#mainTitle h1 {
    padding: 20px 50px 30px 15px;
    max-width: 740px;
    width: 100%;
    float: right;
    margin: 0;
}
#sectionContact #contact {
    background-image: url("../images/bg-pageContact.jpg");
    padding: 310px 15px 100px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 0;
    background-attachment: fixed;
}
#sectionContact #contact:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
}
#sectionContact #contact h2 {
    color: var(--white);
    text-shadow: 1px 1px 1px rgba(0,0,0,.9);
}
#reassurances {
    position: relative;
    z-index: 1;
    padding: 120px 20px;
    background: var(--white);
}
.nohome #reassurances {
    box-shadow: 0 0 30px rgb(0 0 0 / 10%);
    padding: 120px 20px;
}
#reassurances .picto-container li p strong {
    color: var(--primary-bgcolor);
    display: block;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    padding-bottom: 5px;
}
#reassurances .picto-container li p span {
    font-weight: bold;
    font-family: var(--font-text);
    display: block;
    font-size: 20px;
    letter-spacing: 0;
    -webkit-font-smoothing: initial;
    color: var(--primary-bgcolor);
    text-transform: uppercase;
}
#formagence {
    background: var(--secondary-bgcolor);
    color: var(--secondary-txtcolor);
    padding: 30px;
}
#map_agence {
    background: var(--quaternary-bgcolor);
    align-items: stretch;
    color: var(--quaternary-txtcolor);
    padding: 40px;
    box-sizing: border-box;
    height: 100%;
}
#infoagence {
    background: var(--quaternary-bgcolor);
    color: var(--quaternary-txtcolor);
    text-align: center;
    line-height: 160%;
    padding: 20px;
}
#boxlink_agence {
    background: var(--secondary-bgcolor);
    color: var(--secondary-txtcolor);
    padding: 30px;
}
#boxlink_agence a.blink_agence {
    text-decoration: none;
    padding: 5px 10px;
    margin-top: 7px;
    border-bottom: 1px dashed var(--secondary-txtcolor);
    color: var(--secondary-txtcolor);
}
#boxlink_agence a.blink_agence:hover {
    border-bottom: 1px solid var(--secondary-txtcolor);
}
#cta {
    text-align: center;
    background: #333 url("../images/icons/write.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.cta_labelBig {
    font-size: 1.4em;
    color: #fff;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
    font-weight: bold;
}
.cta_labelSmall {
    font-size: 1em;
    color: #fff;
    padding-bottom: 1em;
}
.cta_buttons {
    margin: 10px 0;
}
#landingform {
    text-align: center;
    background: #6f6f6f url("../images/icons/landing_mail.svg");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
}
#parrainageForm {
    border: solid 1px #dbdbdb;
    padding: 40px 0;
    margin: 0 auto 60px;
    box-shadow: 0 0 20px #dbdbdb;
}
#content #landing_listelement {
    box-sizing: border-box;
    padding: 0 30px;
}
.landing_labelBig {
    font-family: var(--font-bold);
    line-height: 1;
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 50px;
    color: var(--primary-bgcolor);
}
.landing_labelBig small {
    font-size: 100px;
    font-weight: 400;
    opacity: 0.4;
    position: absolute;
    left: 0;
    right: 0;
    line-height: 1;
    margin: 0;
    padding: 0;
    top: -50px;
    font-family: var(--font-bold);
    color: var(--secondary-bgcolor);
    z-index: -1;
}
#contactform .mention {
    color: var(--white);
}
.form-wrap .wrap-fieldset {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.form-wrap .wrap-fieldset #cptchk-contact,
.form-wrap .wrap-fieldset #cptchk-parrainage,
.form-wrap .wrap-fieldset .blc.blc_captcha,
.form-wrap .wrap-fieldset .blc_date,
.form-wrap .wrap-fieldset .blc_email,
.form-wrap .wrap-fieldset .blc_select,
.form-wrap .wrap-fieldset .blc_text,
.form-wrap .wrap-fieldset .blc_time,
.form-wrap .wrap-fieldset .button.cf_submit {
    flex: 1 1 45%;
    max-width: 45%;
    width: 100%;
    display: inline-block;
    margin: 4px 2%;
}
.form-wrap .wrap-fieldset .blc_checkbox,
.form-wrap .wrap-fieldset .blc_desc,
.form-wrap .wrap-fieldset .blc_textarea,
.form-wrap .wrap-fieldset .blc_wide {
    flex: 1 1 94%;
    max-width: 94%;
    width: 100%;
    display: inline-block;
    margin: 4px 2%;
}
.form-wrap .wrap-fieldset .blc_select {
    max-width: 48%;
    width: 100%;
    display: inline-block;
    margin: 10px 0;
}
.form-wrap .wrap-fieldset .blc_select:last-of-type {
    float: right;
}
.form-wrap .wrap-fieldset #cptchk-contact .blc.blc_captcha,
.form-wrap .wrap-fieldset #cptchk-parrainage .blc.blc_captcha {
    max-width: 100%;
}
.sidebar_wrapper .form-wrap .wrap-fieldset #cptchk-contact,
.sidebar_wrapper .form-wrap .wrap-fieldset .button.cf_submit {
    flex: 1 1 100%;
    width: 100%;
}
.sidebar_wrapper {
    z-index: 2;
}
.sidebar-button {
    display: block;
    box-shadow: 0 0 30px rgba(0,0,0,.2);
}
.sidebar_wrapper .landing_labelBig {
    background-image: url("../images/default-banner.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 30px;
    color: var(--white);
    text-shadow: 1px 1px 1px rgba(0,0,0,.9);
    text-align: center;
    position: relative;
    z-index: 1;
    margin-bottom: 20px;
}
.sidebar_wrapper .landing_labelBig:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
}
.sidebar_wrapper .landing_form {
    padding: 0 15px 20px;
}
#listarticles .listedarticle {
    position: relative;
    background: var(--light-color);
    height: 100%;
}
#listarticles .listedarticle .image_content {
    display: block;
    overflow: hidden;
}
#listarticles .listedarticle .blocthumb {
    z-index: 1;
    position: relative;
    height: 300px;
}
#listarticles .listedarticle .image_content img {
    transition: 500ms all ease-in-out;
}
#listarticles .listedarticle .content_news {
    position: relative;
    bottom: 0;
    box-sizing: border-box;
    padding: 40px 20px;
    z-index: 2;
    transition: 300ms all ease-in-out;
    background: var(--light-color);
    font-size: 16px;
    line-height: 1.5;
}
#listarticles .listedarticle .content_news h2 {
    margin: 0 0 15px;
    font-size: 26px;
}
.listedarticle:hover .blocthumb:before {
    opacity: 0;
}
.listedarticle:hover .blocthumb:after {
    top: 0;
}
#backBTsingle {
    font-family: var(--font-bold);
    text-transform: uppercase;
    position: relative;
    display: inline-block;
    max-width: 230px;
    padding-left: 30px;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--white);
    text-shadow: 1px 1px 1px rgba(0,0,0,.9);
}
#backBTsingle:after,
#backBTsingle:before {
    content: "";
    position: absolute;
    transition: 0.3s;
    top: 50%;
    transform: translateY(-50%);
    display: block;
}
#backBTsingle:before {
    border-width: 5px 8px;
    border-style: solid;
    left: -10px;
    border-color: transparent var(--white) transparent transparent;
    height: 0;
    width: 0;
}
#backBTsingle:after {
    background: var(--white);
    height: 3px;
    left: 0;
    width: 20px;
}
#backBTsingle:hover {
    color: var(--tertiary-bgcolor);
}
#backBTsingle:hover:before {
    border-color: transparent var(--tertiary-bgcolor) transparent transparent;
}
#backBTsingle:hover:after {
    background: var(--tertiary-bgcolor);
}
#footer {
    position: relative;
    z-index: 9;
    background: var(--black);
}
#footer #footerbloc {
    padding: 20px 15px;
}
#ctaFooter {
    background-image: url("../images/bg-footer.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 120px 50px 400px;
    position: relative;
    background-attachment: fixed;
    z-index: 1;
}
#ctaFooter:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: linear-gradient(rgb(0 0 0 / 0%), hsl(0deg 0% 0% / 70%));
}
#ctaFooter .cta-body {
    text-align: center;
    max-width: 700px;
    margin: auto;
    background-color: var(--light-color);
    padding: 70px 50px;
    box-sizing: border-box;
    color: var(--black);
    line-height: 1.5;
}
#ctaFooter .cta-body .title {
    margin-bottom: 20px;
}
#landing_listelement {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}
#ctaFooter .cta-coordonnees {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    color: var(--white);
    border-top: solid 1px rgb(255 255 255 / 50%);
}
#infoadresseFooter,
#infoouvertureFooter,
#infotelfixeFooter,
#infotelportFooter {
    color: var(--white);
    line-height: 1.3;
    padding: 20px 30px;
    font-size: 15px;
}
#infoadresseFooter .wrapperinner,
#infoouvertureFooter .wrapperinner,
#infotelfixeFooter .wrapperinner,
#infotelportFooter .wrapperinner {
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 15px;
    padding: 5px 10px 5px 30px;
    line-height: 1.2;
}
#infoadresseFooter span,
#infoouvertureFooter .titlehoraires,
#infoouvertureFooter span,
#infotelfixeFooter span,
#infotelportFooter span {
    font-family: var(--font-bold);
    font-size: 12px;
}
#infotelfixeFooter .wrapperinner {
    background-image: url("../images/icons/phone-white.svg");
}
#infotelportFooter .wrapperinner {
    background-image: url("../images/icons/mobile-white.svg");
}
#infoouvertureFooter .wrapperinner {
    background-image: url("../images/icons/clock-white.svg");
}
#infoadresseFooter .wrapperinner {
    background-image: url("../images/icons/map-white.svg");
}
#infoadresseFooter,
#infotelfixeFooter,
#infotelportFooter {
    border-right: solid 1px rgb(255 255 255 / 50%);
}
#infoadresseFooter a,
#infoouvertureFooter a,
#infotelfixeFooter a,
#infotelportFooter a {
    color: var(--white);
}
#infoadresseFooter a:hover,
#infoouvertureFooter a:hover,
#infotelfixeFooter a:hover,
#infotelportFooter a:hover {
    color: var(--primary-bgcolor);
}
.marque-alsace {
    width: 30px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    max-width: 100%;
    height: 25px;
}
#footer #logofooter {
    text-align: center;
    justify-content: center;
    position: absolute;
    bottom: 120px;
    left: 0;
    right: 0;
}
#logofooter img {
    width: 120px;
}
#footer #mapfooter {
    width: 100%;
    box-sizing: border-box;
}
#footer #logos-list {
    background-color: var(--white);
    box-shadow: 0 0 20px rgba(0,0,0,.1);
    width: 100%;
    padding: 30px 0;
}
#footer #logos-list li:not(:last-of-type) {
    margin-right: 60px;
}
#footer .maps_canvas img {
    transition: 0.5s all ease;
}
#footer .maps_canvas:hover img {
    transform: scale(1);
}
#footer #navfooter #menu-footer .menu-item {
    margin-right: 20px;
}
#footer #navfooter {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    font-size: 14px;
    text-align: center;
}
#footer #navfooter a {
    color: var(--white);
}
#footer #navfooter a:hover {
    color: var(--primary-bgcolor);
}
.white_cform .msg {
    margin: 50px 0 0 0 !important;
}
.hiddenHead {
    display: none;
}

.woocommerce-category-php #contentPage .tc_content{
    margin-top: 150px;
}
.woocommerce-single-php #gridsinglewoo.categ-34 #primaryimgsinglewoo{
    display: none;
}

.woocommerce-single-php #gridsinglewoo.categ-34  #sliderproductsinglewoo{
    grid-template-columns: repeat(4, 1fr);
}
.woocommerce-single-php #gridsinglewoo.categ-34 .woocommerce-product-gallery__image{
    height: 250px;
}
