/*-----------------*/
/* VARIABLES */
/*-----------------*/
:root {
    /*COLORS*/
    --primary-color: #3abc47;
    --secondary-color: #2e7d32;
    --tertiary-color: #9bc16d;
    --overlay-color: rgb(0 0 0 / 55%);
    --title-color: #1e1e1e;
    --text-color: #5e5e60;
    --background-color: #fff;
    --light-color: #f4f4f4;
    --white: #ffffff;
    --black: #000000;

    /*FONTS*/
    --font-title: CabinBold, sans-serif;
    --font-text: Poppins, sans-serif;
    --font-bold: PoppinsBold, sans-serif;
    --font-alt: DMSerifDisplay, sans-serif;
}

/*-----------------*/
/* FONTS */
/*-----------------*/
@font-face {
    font-family: "DMSerifDisplay";
    src:
        url("../../fonts/DMSerifDisplay-Regular.woff2") format("woff2"),
        url("../../fonts/DMSerifDisplay-Regular.woff") format("woff"),
        url("../../fonts/DMSerifDisplay-Regular.ttf") format("truetype"),
        url("../../fonts/DMSerifDisplay-Regular.svg#DMSerifDisplay-Regular")
            format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "CabinBold";
    src: url("../../fonts/Cabin-Bold.eot");
    src:
        url("../../fonts/Cabin-Bold.eot?#iefix") format("embedded-opentype"),
        url("../../fonts/Cabin-Bold.woff2") format("woff2"),
        url("../../fonts/Cabin-Bold.woff") format("woff"),
        url("../../fonts/Cabin-Bold.ttf") format("truetype"),
        url("../../fonts/Cabin-Bold.svg#Cabin-Bold") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Poppins";
    src:
        url("../../fonts/Poppins-Light.woff2") format("woff2"),
        url("../../fonts/Poppins-Light.woff") format("woff"),
        url("../../fonts/Poppins-Light.ttf") format("truetype"),
        url("../../fonts/Poppins-Light.svg#Poppins-Light") format("svg");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "PoppinsBold";
    src:
        url("../../fonts/Poppins-SemiBold.woff2") format("woff2"),
        url("../../fonts/Poppins-SemiBold.woff") format("woff"),
        url("../../fonts/Poppins-SemiBold.ttf") format("truetype"),
        url("../../fonts/Poppins-SemiBold.svg#Poppins-SemiBold") format("svg");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/*-----------------*/
/* BODY */
/*-----------------*/
body {
    background-color: var(--background-color);
    font-size: 1em;
    line-height: 1.8;
    font-family: var(--font-text);
    top: 0 !important;
    color: var(--text-color);
    -webkit-font-smoothing: antialiased;
}

/*-----------------*/
/* TITRES */
/*-----------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
    font-family: var(--font-title);
    color: var(--title-color);
    font-weight: 400;
}

h1 {
    font-size: clamp(30px, -5.674px + 4.651vw, 42px);
    margin-bottom: 40px;
    margin-top: 0;
}

h2 {
    font-size: clamp(25px, -7.702px + 4.264vw, 36px);
    margin-bottom: 30px;
    margin-top: 2em;
}

h3 {
    font-size: clamp(22px, -1.783px + 3.101vw, 30px);
    margin-top: 40px;
    margin-bottom: 20px;
}

h4 {
    font-size: clamp(20px, 5.136px + 1.938vw, 25px);
    margin-top: 30px;
    margin-bottom: 15px;
}

h5 {
    font-size: clamp(18px, 6.109px + 1.55vw, 22px);
    margin-top: 20px;
    margin-bottom: 10px;
}

h6 {
    font-size: clamp(16px, 4.109px + 1.55vw, 20px);
    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: 400;
}
.title {
    position: relative;
    z-index: 2;
    padding-bottom: 30px;
    display: block;
    margin-bottom: 30px;
}
.title > h1,
.title > h2,
.title > h3,
.title > h4 {
    margin: 0;
}
.title.tac {
    margin-bottom: 60px;
}

.title small {
    font-family: var(--font-bold);
    color: var(--primary-color);
    font-size: 14px;
    text-transform: initial;
    letter-spacing: 0;
    display: block;
    line-height: 1;
    text-shadow: none;
    padding-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.title:not(.no-after):after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    height: 2px;
    width: 50px;
    background-color: var(--primary-color);
}
.title.no-after {
    padding-bottom: 0;
    margin-bottom: 0;
}

.title:not(.no-after).tac:after {
    left: 50%;
    transform: translateX(-50%);
}

.padding-base {
    padding: 100px 15px;
}

/*-----------------*/
/* TEXTES */
/*-----------------*/
.accroche {
    margin: 15px auto 0;
    max-width: 900px;
}
strong {
    font-family: var(--font-bold);
}
.tc_content > :first-child {
    margin-top: 0;
}

.tc_content strong,
.tc_content b {
    color: var(--primary-color);
}

.tc_content p {
    margin-bottom: 1em;
}

.has-medium-font-size {
    font-size: 22px !important;
    color: var(--title-color);
    line-height: 1.6;
    font-weight: bold;
}
.has-large-font-size {
    line-height: 1.2;
    font-family: var(--font-title);
    color: var(--title-color);
    font-weight: 400;
}
.tc_content ol,
.tc_content ul {
    margin: 0 0 16px 25px;
}

.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 {
    --size: 6px;
    content: "";
    position: absolute;
    left: 3px;
    background-color: var(--primary-color);
    top: 13px;
    width: var(--size);
    display: block;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    height: var(--size);
    border-radius: 100px;
}

hr.wp-block-separator {
    margin: 70px auto;
    background-color: var(--secondary-color) !important;
    height: 2px;
    border: none;
}
.wp-block-separator.is-style-dots:before {
    color: var(--primary-color);
    letter-spacing: 1.5em;
    font-size: 2em;
    padding-left: 1.2em;
}

*:not(.wp-block-button__link, .button, .wp-block-separator).has-background {
    margin: 0 0 30px 0;
    padding: 30px 40px !important;
    background: var(--light-color) !important;
    color: var(--black) !important;
}

/*-----------------*/
/* BEFORE / AFTER */
/*-----------------*/
.baseBefore:before,
.baseAfter:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}
.overlayBefore:before,
.overlayAfter:after {
    background-color: var(--overlay-color);
}

/*-----------------*/
/* ALIGNEMENT */
/*-----------------*/
.middleBefore:before,
.middleAfter:after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.middleXBefore:before,
.middleXAfter:after {
    left: 50%;
    transform: translateX(-50%);
}
.middleYBefore:before,
.middleYAfter:after {
    top: 50%;
    transform: translateY(-50%);
}

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

/*-----------------*/
/* POSITIONNEMENT */
/*-----------------*/
.posrel {
    position: relative;
    z-index: 1;
}
.posabs {
    position: absolute;
}
.posfix {
    position: fixed;
}

/*-----------------*/
/* VISIBILITE */
/*-----------------*/
.hidden {
    display: none;
}
.hide-text {
    text-indent: -9999999px;
}

/*-----------------*/
/* COLOR */
/*-----------------*/
.white,
.white h2,
.white h3,
.white h1,
.white .has-medium-font-size {
    color: var(--white);
}

.primary,
.primary h2,
.primary h3,
.primary h1 {
    color: var(--primary-color);
}
.secondary,
.secondary h2,
.secondary h3,
.secondary h1 {
    color: var(--secondary-color);
}
.tertiary,
.tertiary h2,
.tertiary h3,
.tertiary h1 {
    color: var(--tertiary-color);
}

/*-----------------*/
/* COULEUR LE BON PRO */
/*-----------------*/
.st,
.st-hint-trigger {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.cekome-stars-list .fs {
    color: var(--primary-color) !important;
}
.cekome-stars .st-focus:hover font {
    color: var(--white) !important;
}

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

.cekome-stars-list .fs {
    color: var(--primary-color) !important;
}
.cekome-stars .st-button + .st-button {
    max-width: 128px;
}

.cekome-stars {
    height: 20.84rem !important;
}
.st-step {
    height: 16.5rem !important;
}
.cekome-stars .st-button {
    max-width: 88px;
}
.cekome-stars .st-button + .st-button * {
    color: var(--white) !important;
}

/*-----------------*/
/* Image */
/*-----------------*/
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;
}
.blocthumb {
    line-height: 0;
}

.tc_content img {
    max-width: 100%;
    height: auto;
}
.wp-block-image figcaption {
    text-transform: uppercase;
    text-align: center;
    font-size: 12px;
    letter-spacing: 0.5px;
    font-weight: bold;
}
.wp-block-image a {
    border: none !important;
    background: none !important;
}

/*-----------------*/
/* ANIMATED ARROW */
/*-----------------*/
.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:before,
.the-arrow.-left > .shaft:after {
    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:before,
.the-arrow.-right > .shaft:after {
    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-color);
    display: block;
    height: 1px;
    position: relative;
    transition: all 0.2s;
    transition-delay: 0;
    will-change: transform;
}

.the-arrow > .shaft:before,
.the-arrow > .shaft:after {
    background-color: var(--primary-color);
    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:hover > .the-arrow.-left > .shaft {
    width: 64px;
    transition-delay: 0.1s;
}

.animated-arrow:hover > .the-arrow.-left > .shaft:before,
.animated-arrow:hover > .the-arrow.-left > .shaft:after {
    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:before,
.animated-arrow:hover > .main > .the-arrow.-right > .shaft:after {
    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;
}

.animated-arrow {
    display: inline-block;
    color: var(--title-color);
    font-size: 12px;
    position: relative;
    transition: all 0.2s;
    letter-spacing: 2px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    padding: 18px 0 18px 0;
}
.animated-arrow.white {
    color: var(--white);
}

/*-----------------*/
/* LIENS + BOUTONS */
/*-----------------*/
a {
    text-decoration: none;
    color: var(--primary-color);
    cursor: pointer;
    transition: 250ms all ease-in-out;
}

.no-underline {
    background: none !important;
    border: none !important;
}

.tc_content a:not([class*="button"]),
.tc_content a:not([class*="button"]) strong {
    color: var(--primary-color);
    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-color) 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-color);
}

.underbutton > *,
.button,
.tc_content .wp-block-button__link,
.wp-block-file__button,
#content .eb-popup-container .eb-popup-button a.eb-popup-button-anchor,
#content .eb-cia-button-wrapper > a,
#content .eb-pricing-button,
#content .eb-flipbox-button-link,
#content .slide__action {
    background: none;
    border: none;
    background-color: var(--primary-color);
    padding: 18px 30px;
    font-size: 12px;
    font-family: var(--font-bold);
    color: var(--white);
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    letter-spacing: 1px;
    position: relative;
    z-index: 2;
    border-radius: 0 !important;
    overflow: hidden;
    display: inline-block;
}

.underbutton > *:hover,
.button:hover,
.tc_content .wp-block-button__link:hover,
.wp-block-file__button:hover,
#content .eb-popup-container .eb-popup-button a.eb-popup-button-anchor:hover,
#content .eb-cia-button-wrapper > a:hover,
#content .eb-pricing-button:hover,
#content .eb-flipbox-button-link:hover,
#content .slide__action:hover {
    background-color: var(--secondary-color);
    box-shadow: none !important;
}

.underbutton.secondary > *,
button.secondary,
.button.secondary {
    background-color: var(--secondary-color);
}

.underbutton.secondary > *:hover,
button.secondary:hover,
.button.secondary:hover {
    background-color: var(--primary-color);
}

.button.hollow,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline
    > .wp-block-button__link:not(.has-text-color) {
    background: none !important;
    color: #241c10;
    border: 1px solid rgba(36, 28, 16, 0.4);
    padding: 18px 30px;
}

.button.hollow.white,
.wp-block-button.is-style-outline.white .wp-block-button__link {
    color: var(--white);
    border-color: var(--white);
}

.button.hollow:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    border-color: var(--primary-color);
    background-color: var(--primary-color) !important;
    color: var(--white);
}

.wp-block-buttons > .wp-block-button.has-small-font-size .wp-block-button__link,
.underbutton.small > *,
button.small,
.button.small,
.wp-block-file__button,
#content .uagb-timeline__link.wp-block-button__link,
#content .wp-block-button__link.uagb-text-link,
#content .eb-pricing-button {
    padding: 10px 15px;
    font-size: 11px;
}

/*-----------------*/
/* iframe */
/*-----------------*/
.tc_content iframe,
.wp-block-embed iframe {
    width: 100%;
    min-height: 500px;
    background: var(--black);
}
/*-----------------*/
/* Gallery */
/*-----------------*/
.tc_content a[rel*="lightbox-gallery"] {
    border: none !important;
    background: none !important;
    display: block;
}

.gallery.ckslider {
    flex-wrap: nowrap;
}
.gallery .gallery-item .gallery-icon {
    height: 100%;
}

.gallery.ckslider:not(.gutbloc-slidegalerie) .gallery-item {
    min-width: calc(100% / 6);
    /* width: auto!important; */
    position: relative;
    overflow: hidden;
    height: 350px;
    cursor: zoom-in;
}

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

.gallery .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(0px);
}
.gallery .gallery-item:hover .gallery_zoom:after {
    transform: translateY(0px);
}

.gallery .gallery-item a:not(.button):after {
    content: "";
    left: 50%;
    top: 50%;
    position: absolute;
    transform: translateY(-50%) translateX(-50%);
    background-color: var(--primary-color);
    opacity: 0;
    transition: 250ms all ease-in-out;
    z-index: -1;
}
.gallery .gallery-item:not(.swiper-slide) {
    overflow: hidden;
    margin: 0 !important;
}
.gallery .gallery-item a:not(.title_content, .button) {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    width: 100%;
    display: block;
    height: 100%;
}

.gallery .gallery-item:hover a:not(.title_content, .button):after {
    width: 100%;
    height: 100%;
    opacity: 0.8;
}

.gallery a.title_content {
    color: var(--white);
}

.gallery .gallery-item a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 500ms all ease-in-out;
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: -1;
    position: relative;
}

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

.gallery .gallery-item .wp-element-caption {
    position: absolute;
    left: 0;
    bottom: 10px;
    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: 11px !important;
    line-height: 1.2;
}

.gallery .gallery-item:hover .wp-element-caption {
    opacity: 1;
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transform: translateY(0);
}

#galleryHome .cksliderwrap {
    padding: 0;
}

#galleryHome .ckslidercontrols .next,
#galleryHome .ckslidercontrols .prev {
    bottom: auto;
    top: 50%;
}

#galleryHome .ckslidercontrols .next {
    right: 20px;
}
#galleryHome .ckslidercontrols .prev {
    left: 20px;
}

/*-----------------*/
/* PAGE Gallery */
/*-----------------*/
#contentGallery.gallery,
#singleGallery .gallery,
body.template-baseGalerie-php .gallery {
    display: grid;
    grid-auto-rows: 350px;
    grid-gap: 5px;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    z-index: 1;
}
#contentGallery.gallery {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    grid-auto-rows: 450px;
}

#contentGallery.gallery .gallery-item,
#singleGallery .gallery .gallery-item,
body.template-baseGalerie-php .gallery .gallery-item {
    width: 100% !important;
    margin: 0 !important;
    position: relative;
    height: 100%;
}

#contentGallery .liresuite {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    text-align: center;
    opacity: 0;
    transform: translateY(80px);
    z-index: 10;
    transition: 250ms all ease-in-out;
}
#contentGallery .gallery-item:hover .liresuite {
    transform: translateY(0);
    opacity: 1;
}

#contentGallery .gallery-title h2 {
    margin: 0;
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 20px;
    z-index: 10;
    font-size: 28px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
    text-align: center;
    transition: 300ms all ease-in-out;
}

#contentGallery .gallery-item:hover h2 {
    bottom: 50%;
}
.gallery .gallery-item .image_content .blocthumb {
    height: 100%;
}
.gallery .gallery-item .image_content .blocthumb:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    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 0s ease-out;
    transition: all 0.3s 0s ease-out;
}

.loaded:not(.gsap) #loader-wrapper {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.baseLoader {
    margin: 0 0 2em;
    height: 100px;
    width: 20%;
    text-align: center;
    padding: 1em;
    margin: 0 auto 1em;
    display: inline-block;
    vertical-align: top;
}

.baseLoader svg path,
.baseLoader svg rect {
    fill: var(--primary-color);
}

/*-----------------*/
/* OVERLAY */
/*-----------------*/
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: var(--overlay-color);
    pointer-events: none;
}

/*-----------------*/
/* BUTTON TO TOP */
/*-----------------*/
@keyframes pulse {
    from {
        transform: scale3d(1, 1, 1);
    }

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

    to {
        transform: scale3d(1, 1, 1);
    }
}
.to-top.fixed {
    opacity: 1;
    bottom: 60px;
}
.to-top {
    background: var(--primary-color);
    bottom: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    color: var(--white);
    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;
    height: 25px;
}
.to-top:focus {
    color: var(--white);
}
.to-top:hover {
    color: var(--white);
}
.to-top::before {
    -webkit-transform: scale(0);
    background: var(--secondary-color) 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-color) 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);
}

/*-----------------*/
/* RETURN BOTTOM */
/*-----------------*/
.return-bottom {
    border-top: solid 1px rgba(0, 0, 0, 0.1);
    padding-top: 50px;
    margin-top: 80px;
    clear: both;
}
.return-bottom.no-border {
    border: none;
}

/*-----------------*/
/* CONTENT */
/*-----------------*/
#content,
#contentPage,
#contentPageBis {
    padding: 100px 30px;
}

#content.hasnocontent {
    padding: 0;
}

/*-----------------*/
/* COORDONNEES */
/*-----------------*/
.fixe,
.horaires,
.adresse,
.portable,
.mail,
.social:not(.navigtoogle) {
    position: relative;
    font-size: 14px;
    color: var(--text-color);
    line-height: 1.5;
}

.fixe:not(.no-icon),
.horaires:not(.no-icon),
.adresse:not(.no-icon),
.portable:not(.no-icon),
.mail:not(.no-icon),
.social:not(.no-icon, .navigtoogle) {
    padding: 0 0 0 24px;
}

.fixe:not(.no-icon):before,
.horaires:not(.no-icon):before,
.adresse:not(.no-icon):before,
.portable:not(.no-icon):before,
.mail:not(.no-icon):before,
.social:not(.no-icon, .navigtoogle):before {
    --size: 15px;
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    width: var(--size);
    height: var(--size);
}

.adresse,
.fixe a,
.portable a,
.horaires a,
.horaires,
.mail a,
.social:not(.navigtoogle) a {
    color: var(--text-color);
}

.adresse.white,
.fixe.white a,
.portable.white a,
.horaires.white a,
.horaires.white,
.mail.white a,
.social:not(.navigtoogle).white a {
    color: var(--white);
}

.fixe a:hover,
.portable a:hover,
.horaires a:hover,
.mail a:hover,
.social:not(.navigtoogle) a:hover {
    color: var(--primary-color);
}

.fixe:not(.no-icon).col,
.horaires:not(.no-icon).col,
.adresse:not(.no-icon).col,
.portable:not(.no-icon).col,
.mail:not(.no-icon).col,
.social:not(.no-icon, .navigtoogle).col {
    padding: 24px 0 0 0;
}

.fixe:not(.no-icon).col:before,
.horaires:not(.no-icon).col:before,
.adresse:not(.no-icon).col:before,
.portable:not(.no-icon).col:before,
.mail:not(.no-icon).col:before,
.social:not(.no-icon, .navigtoogle).col:before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.adresse:before {
    background-image: url(../../images/icons/map.svg);
}
.adresse.white:before {
    background-image: url(../../images/icons/map-white.svg);
}

.horaires:before {
    background-image: url(../../images/icons/clock.svg);
}
.horaires.white:before {
    background-image: url(../../images/icons/clock-white.svg);
}

.fixe:before {
    background-image: url(../../images/icons/phone.svg);
}
.fixe.white:before {
    background-image: url(../../images/icons/phone-white.svg);
}

.portable:before {
    background-image: url(../../images/icons/mobile.svg);
}
.portable.white:before {
    background-image: url(../../images/icons/mobile-white.svg);
}

.mail:before {
    background-image: url(../../images/icons/mail.svg);
}
.mail.white:before {
    background-image: url(../../images/icons/mail-white.svg);
}

.social:not(.navigtoogle):before {
    background-image: url(../../images/icons/share.svg);
}
.social.white:not(.navigtoogle):before {
    background-image: url(../../images/icons/share-white.svg);
}

.adresse span,
.portable span,
.horaires span,
.fixe span,
.mail span,
.social:not(.navigtoogle) span,
.horaires.nomodal .titlehoraires {
    display: block;
    font-size: 10px;
    font-family: var(--font-bold);
    padding-bottom: 2px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-color);
}
.horaires.nomodal .titlehoraires {
    text-align: inherit;
}

#contactCoordonnees > div {
    margin: 30px 0;
    font-size: 16px;
}
.social span {
    padding-bottom: 5px;
}
.social.white .sociblock .share-buttons a:not(:hover) svg {
    fill: var(--white);
}

/*-----------------*/
/* CLASSES UTILES */
/*-----------------*/
font {
    hyphens: auto;
}
.siteDE .safari font {
    word-break: break-all;
}

.no-overflow {
    overflow: hidden;
}
.fixe-bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}

.is-form-open #header {
    z-index: 2;
}

.note {
    font-size: 12px;
    font-style: italic;
}

.alert-color {
    color: red;
}

.mention {
    font-size: 14px;
    font-style: italic;
    text-align: center;
    display: block;
    padding: 20px 0;
    line-height: 1.2;
}

.marque-alsace {
    width: 30px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    max-width: 100%;
    height: 25px;
}
.doc-link {
    display: inline-block;
}
.doc-link .size {
    font-size: 12px;
    font-style: italic;
}

.doc-link span.size,
.pdf-link span.size {
    display: contents;
}

/*-----------------*/
/* CALL OUT */
/*-----------------*/
.callout {
    border: 1px solid rgba(10, 10, 10, 0.25);
    padding: 30px 20px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    z-index: 2;
    color: #616161;
}

.callout.alert {
    background-color: #f5e6e6;
    border-color: #ffbebe;
}

.callout.warning {
    background-color: #fff3d9;
    border-color: #ffdc91;
}

.callout.success {
    background-color: #e1faea;
    border-color: #bad8c5;
}

.callout.info {
    background-color: #d7ecfa;
    border-color: #99d1f6;
}

.callout p:last-of-type {
    margin-bottom: 0;
}
.callout .button {
    display: inline-block;
}

/*-----------------*/
/* HEADER HOME */
/*-----------------*/
#headerHome {
    min-height: 850px;
    height: 90vh !important;
    z-index: 1;
}
#headerHome-content {
    height: 100%;
    z-index: 2;
    padding: 30px;
    pointer-events: none;
}
#headerHome-content .wrappercontent > * {
    pointer-events: all;
}

#headerHome-title {
    font-family: var(--font-bold);
    font-size: 16px;
    padding-bottom: 10px;
    letter-spacing: 3px;
    line-height: 1;
    text-transform: uppercase;
}
#headerHome-accroche {
    font-family: var(--font-title);
    font-size: 50px;
    line-height: 1.2;
}
#headerHome-button {
    margin-top: 50px;
}

/*-----------------*/
/* BANNER */
/*-----------------*/
#bannerImg {
    height: 50vh;
    min-height: 450px;
}
#bannerImg .blocthumb {
    height: 100%;
}
#bannerTitle {
    position: absolute;
    top: 0;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
    bottom: 50px;
    text-align: center;
    padding: 0 15px;
}
/*-----------------*/
/* HEADER */
/*-----------------*/
#header {
    z-index: 11;
}
#header.posabs {
    top: 0;
    left: 0;
    right: 0;
}
#header.posabs .navigmenu .naviglink.lvl-0:not(:hover) {
    color: var(--white);
}

/*-----------------*/
/* LOGOS */
/*-----------------*/
#logoheader {
    width: 250px;
}
#footerLogo img {
    width: 250px;
}

/*-----------------*/
/* info-toogle */
/*-----------------*/
#info-toogle {
    --size: 45px;
    background-color: var(--secondary-color);
    cursor: pointer;
    z-index: 9999;
    text-align: center;
    transition: 0.5s ease-in-out;
    width: var(--size);
    height: var(--size);
    align-items: center;
    justify-content: center;
    position: relative;
}

#info-toogle:before {
    --size: 24px;
    content: "";
    background-image: url(../../images/icons/mail-white.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: var(--size);
    height: var(--size);
    z-index: 1;
}
.is-toggle-open #header #info-toogle:before {
    background-image: url(../../images/icons/close.svg);
}

.is-toggle-open #header #info-toogle {
    box-shadow:
        0 0 0 100vw var(--black),
        0 0 0 100vh var(--black);
    background-color: var(--light-color);
    border-radius: 0;
    transition: 0.5s ease-in-out;
}

/*-----------------*/
/* ACTU */
/*-----------------*/
.wrapper_slider {
    padding: 0 5px;
}
.thumbnail_slider {
    height: 350px;
}
.thumbnail_slider > a:not(.button) {
    display: block;
    height: 100%;
    width: 100%;
}
.content_slider {
    padding: 30px 20px;
}

.wrapper_inner_slider {
    /* background-color: var(--light-color); */
    height: 100%;
    width: 100%;
    position: relative;
}

.newsdate {
    color: var(--primary-color);
    display: block;
    font-family: var(--font-bold);
    font-size: 12px;
    line-height: 1;
    padding-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}
.title_link_slider {
    color: var(--title-color);
}
.title_link_slider:hover {
    color: var(--primary-color);
}

.text_slider,
.text_slider a {
    line-height: 1.7;
    font-size: 14px;
}

.next_slider {
    margin-top: 20px;
}

.title_slider {
    margin-bottom: 10px !important;
}

/*-----------------*/
/* PAGE ACTU */
/*-----------------*/
#listarticles .listedarticle .thumbnail_slider a,
#listarticles .listedarticle .thumbnail_slider .blocthumb {
    height: 100%;
    display: block;
}

#listarticles .listedarticle .tc_excerpt {
    font-size: 15px;
    line-height: 1.5;
}
#listarticles .listedarticle h2 a {
    color: var(--title-color);
}
#listarticles .listedarticle h2 a:hover {
    color: var(--primary-color);
}
#listarticles .listedarticle h2 {
    font-size: 28px;
}

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.prestations-img {
    height: 300px;
}

.prestations-img * {
    height: 100%;
    display: block;
}
.prestations-content {
    padding: 30px;
}

.prestations-content :is(h2, h3) {
    margin-top: 0;
    margin-bottom: 15px;
}

.prestations-content .title_content {
    color: var(--title-color);
}
.prestations-content .title_content:hover {
    color: var(--primary-color);
}

.prestations-content small .subtitle {
    color: inherit;
}

.prestations-content .content_link,
.prestations-content .tc_excerpt {
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.7;
}

.prestations-content .liresuite {
    margin-top: 20px;
}

/*-----------------*/
/* SECTIONS */
/*-----------------*/
.sectionsbloc .section_thumb .blocthumb {
    height: 100%;
    position: relative;
}
.sectionsbloc .section_thumb .blocthumb img {
    position: absolute;
    top: 0;
    left: 0;
}
.buttons-wrap {
    padding-top: 30px;
    display: flex;
}
.sectionsbloc.odd .section_thumb {
    order: 2;
}
.sectionsbloc .wrap-text {
    padding: 100px;
}

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
#wrapperForm {
    margin: 0 auto;
    max-width: 800px;
}

/*-----------------*/
/* FOOTER */
/*-----------------*/
#footer {
    z-index: 10;
}
#footer #footerbloc {
    padding: 30px 15px;
}
#footerLinks {
    font-size: 14px;
    padding: 15px;
}
#footerLinks a {
    color: var(--white);
}
#footerLinks a:hover {
    color: var(--primary-color);
}
#menu-footer .menu-item {
    margin-right: 15px;
}
#footerMap img {
    object-fit: cover;
}

/*-----------------*/
/* BANDEAU COOKIE (quand langues) */
/*-----------------*/
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl font,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog font,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert font,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert font,
#tarteaucitronAlertBig #tarteaucitronPersonalize font,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 font,
.tarteaucitronCTAButton font,
#tarteaucitron #tarteaucitronPrivacyUrl font,
#tarteaucitronRoot .tarteaucitronDeny font,
#tarteaucitronRoot .tarteaucitronAllow font,
#tarteaucitronInfo font,
#dialogTitle font,
#tarteaucitronAlertSmall #tarteaucitronManager font {
    color: var(--white) !important;
}

#tarteaucitronPrivacyUrlDialog font {
    color: var(--title-color) !important;
}
