 
/* ========== VARIABLES ROOT ========== */



/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}


/* ========== ROOT ========== */

html {
    -ms-overflow-style: scrollbar;
    scroll-behavior: smooth
}

body {
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility
}

main {
    overflow: clip
}

iframe {
    border: none
}
a{
    text-decoration: none;
}

a,b,div,li,ul {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
    -moz-outline-: none
}

a:active,a:focus:not(.focus-visible),div:active,div:focus,section:focus {
    -moz-outline: none;
    outline: none
}

a:focus.focus-visible,button:focus.focus-visible,div:focus.focus-visible {
    -moz-outline: 3px dotted #36a367;
    outline: 3px dotted #36a367;
    outline-offset: 0
}

embed,img:not([draggable]),object,video {
    max-width: 100%;
    height: auto
}

.align-center {
    text-align: center;
}

.left {
    float: left;
}

.right {
    float: right;
}

.hidden {
    display: none;
}

.relative {
    position: relative;
}

.white {
    color: #fff;
}

.black {
    color: var(--color-black);
}

.color-primary {
    color: var(--color-primary);
}
.bgc-primary {
    background-color: var(--color-primary);
}

.color-secondary {
    color: var(--color-secondary);
}

.bgc-secondary {
    background-color: var(--color-secondary);
}

.size-13 {
    font-size: 13.5px;
}

.size-14 {
    font-size: 14px;
}

.size-15 {
    font-size: 15px;
}

.size-16 {
    font-size: 16px;
}

.size-17 {
    font-size: 17px;
}

.size-18 {
    font-size: 18.5px;
}

.size-20 {
    font-size: 20px;
}

.size-22 {
    font-size: 22px;
}

.size-24 {
    font-size: 24px;
}

.stick-fixed {
    position: fixed;
    top: 0;
    left: 0
}

.block-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--menu-bar-height-scrolled) + 40px);
    left: 0
}

::selection {
    color: #fff;
    background: var(--color-primary)
}

.light-content ::selection {
    color: #fff;
    background: var(--color-primary)
}

.animate,.animate *,.parallax-mousemove {
    transition: var(--transition-default)
}

.parallax-mousemove {
    will-change: transform
}

.parallax-mousemove,.parallax-mousemove-follow {
    -moz-transition: none;
}

@media not all and (-webkit-min-device-pixel-ratio: 0),not all and (min-resolution:0.001dpcm) {
    .parallax-mousemove,.parallax-mousemove-follow {
        transition:none;
    }
}

[data-rellax-x] {
    transition: transform .25s ease-out;
    transition-delay: 2.5ms;
    will-change: transform
}

[data-rellax-y] {
    transition: transform .25s ease-out;
    transition-delay: 2.5ms;
    will-change: transform
}

.no-animate {
    transition-property: none;
}

.clearlist,.clearlist li {
    list-style: none;
    padding: 0;
    margin: 0;
    background: none
}

.clearlinks a {
    text-decoration: none;
    color: unset
}

.clearlinks a:hover {
    color: unset;
}

.full-wrapper {
    margin: 0 var(--full-wrapper-margin-x)
}

.container {
    max-width: var(--container-width);
    padding: 0 30px
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.row {
    margin-right: -15px;
    margin-left: -15px;
}
.d-none {
    display: none !important;
}


/*
Layout
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/*------------------------------------- 
ICONE 
-------------------------------------*/


.icon{
    position: relative;
    padding: 12px;
    font-style: normal;
}
.icon:before {
    content: "";
    font-style: normal;    
    background-repeat: no-repeat!important;
    background-size: contain!important;
    background-position: center!important;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.icon-phone:before {
    background: url(../images/img/icon-fixe.png);
}
.icon-mobile:before {
    background: url(../images/img/icon-portable.png);
}
.icon-envelope:before,
.icon-mail:before {
  background: url(../images/img/icon-mail.png);
}
.icon-location:before {
  background: url(../images/img/icon-localisation.png);
}
.icon-map:before,
.icon-map-marker:before, .adr:before {
  background: url(../images/img/icon-adresse.png);
}
.icon-clock-o:before, .hor:before {
  background: url(../images/img/icon-hor.png);
}
.icon-arrow-right:before {
    content: "➜"; 
    line-height: 1.4;
}
body {
    font-family: var(--font-global);
    color: var(--color--text);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.67
}
body.Mobile { 
    font-size: 15px; 
}

a,body {
    color: var(--color-dark-1)
}

a {
    transition: color .1s ease;
    text-decoration: none;
}

a,a:hover {
    text-decoration: none
}

a:hover {
    color: var(--color-black)
}

b,strong {
    font-weight: 500
}

mark {
    position: relative;
    padding: 0;
    color: inherit;
    background-color: transparent;
    background-image: linear-gradient(90deg,hsla(0,0%,7%,.1),hsla(0,0%,7%,.1));
    background-repeat: no-repeat;
    background-size: 100% .3em;
    background-position: 0 110%
}

.light-content mark {
    background-image: linear-gradient(90deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.2))
}


.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-second);
    margin-bottom: 1em;
    font-weight: 400;
    line-height: 1.2
}

.h1,h1 {
    font-size: 42px;
    letter-spacing: -.04em
}
@media(max-width: 991px) {
    h1, .h1 {
        font-size: 36px;
        color: var(--color-bg);
        font-weight: bold;
        text-shadow: 0 0 13px black;
    }
}

.h1,.h2,h1,h2 {
    margin-bottom: .5em
}

.h2,h2 {
    font-size: 36px
}
.Mobile .h2, .Mobile h2 {
    font-size: 26px;
}

.h2,.h3,h2,h3 {
    letter-spacing: -.03em
}

.h3,h3 {
    margin-bottom: .7em;
    font-size: 28px
}

.h4,h4 {
    font-size: 24px
}

.h5,h5 {
    font-size: 20px
}

.h6,h6 {
    font-size: 16px;
    font-weight: 700
}

.text-start {
    text-align: left !important;
}
@media(min-width: 768px) {
    .text-center {
        text-align: center !important;
    }
}
.bg-image, .page-section, .small-section {
    width: 100%;
    display: block;
    position: relative;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    padding-top: 60px;
    padding-bottom: 60px;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 540px;
    }
    .d-sm-block {
        display: block !important;
    }
}
@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 720px;
    }
    .d-md-block {
        display: block !important;
    }
    .text-md-end {
        text-align: right !important;
    }
}
@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 960px;
    }
    .d-lg-block {
        display: block !important;
    }
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}

/*
Marging
*/
.mt-0 {
    margin-top: 0!important
}

.mt-10 {
    margin-top: 10px!important
}

.mt-20 {
    margin-top: 20px!important
}

.mt-30 {
    margin-top: 30px!important
}

.mt-40 {
    margin-top: 40px!important
}

.mt-50 {
    margin-top: 50px!important
}

.mt-60 {
    margin-top: 60px!important
}
.Mobile .mt-60{
     margin-top: 0!important
}

.mt-70 {
    margin-top: 70px!important
}

.mt-80 {
    margin-top: 80px!important
}

.mt-90 {
    margin-top: 90px!important
}

.mt-100 {
    margin-top: 100px!important
}

.mt-110 {
    margin-top: 110px!important
}

.mt-120 {
    margin-top: 120px!important
}

.mt-130 {
    margin-top: 130px!important
}

.mt-140 {
    margin-top: 140px!important
}

.mb-n10 {
    margin-bottom: -10px!important
}

.mb-n20 {
    margin-bottom: -20px!important
}

.mb-n30 {
    margin-bottom: -30px!important
}

.mb-n40 {
    margin-bottom: -40px!important
}

.mb-n50 {
    margin-bottom: -50px!important
}

.mb-n60 {
    margin-bottom: -60px!important
}

.mb-n70 {
    margin-bottom: -70px!important
}

.mb-n80 {
    margin-bottom: -80px!important
}

.mb-n90 {
    margin-bottom: -90px!important
}

.mb-n100 {
    margin-bottom: -100px!important
}

.mb-n110 {
    margin-bottom: -110px!important
}

.mb-n120 {
    margin-bottom: -120px!important
}

.mb-n130 {
    margin-bottom: -130px!important
}

.mb-n140 {
    margin-bottom: -140px!important
}

.mb-0 {
    margin-bottom: 0!important
}

.mb-10 {
    margin-bottom: 10px!important
}

.mb-20 {
    margin-bottom: 20px!important
}

.mb-30 {
    margin-bottom: 30px!important
}

.mb-40 {
    margin-bottom: 40px!important
}

.mb-50 {
    margin-bottom: 50px!important
}

.mb-60 {
    margin-bottom: 60px!important
}

.mb-70 {
    margin-bottom: 70px!important
}

.mb-80 {
    margin-bottom: 80px!important
}

.mb-90 {
    margin-bottom: 90px!important
}

.mb-100 {
    margin-bottom: 100px!important
}

.mb-110 {
    margin-bottom: 110px!important
}

.mb-120 {
    margin-bottom: 120px!important
}

.mb-130 {
    margin-bottom: 130px!important
}

.mb-140 {
    margin-bottom: 140px!important
}

.pt-0 {
    padding-top: 0!important
}

.pt-10 {
    padding-top: 10px!important
}

.pt-20 {
    padding-top: 20px!important
}

.pt-30 {
    padding-top: 30px!important
}

.pt-40 {
    padding-top: 40px!important
}

.pt-50 {
    padding-top: 50px!important
}

.pt-60 {
    padding-top: 60px!important
}

.pt-70 {
    padding-top: 70px!important
}

.pt-80 {
    padding-top: 80px!important
}

.pt-90 {
    padding-top: 90px!important
}

.pt-100 {
    padding-top: 100px!important
}

.pt-110 {
    padding-top: 110px!important
}

.pt-120 {
    padding-top: 120px!important
}

.pt-130 {
    padding-top: 130px!important
}

.pt-140 {
    padding-top: 140px!important
}

.pb-0 {
    padding-bottom: 0!important
}

.pb-10 {
    padding-bottom: 10px!important
}

.pb-20 {
    padding-bottom: 20px!important
}

.pb-30 {
    padding-bottom: 30px!important
}

.pb-40 {
    padding-bottom: 40px!important
}

.pb-50 {
    padding-bottom: 50px!important
}

.pb-60 {
    padding-bottom: 60px!important
}

.pb-70 {
    padding-bottom: 70px!important
}

.pb-80 {
    padding-bottom: 80px!important
}

.pb-90 {
    padding-bottom: 90px!important
}

.pb-100 {
    padding-bottom: 100px!important
}

.pb-110 {
    padding-bottom: 110px!important
}

.pb-120 {
    padding-bottom: 120px!important
}

.pb-130 {
    padding-bottom: 130px!important
}

.pb-140 {
    padding-bottom: 140px!important
}

.col {
    flex: 1 0
}

.row > div {
    padding-left: 15px;
    padding-right: 15px;
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

@media (min-width: 576px) {
    .col-sm {
        flex:1 0
    }

    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }
}

@media (min-width: 768px) {
    .col-md {
        flex:1 0
    }

    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .offset-md-2 {
        margin-left: 16.66666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.33333333%
    }

    .offset-md-5 {
        margin-left: 41.66666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.33333333%
    }

    .offset-md-8 {
        margin-left: 66.66666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.33333333%
    }

    .offset-md-11 {
        margin-left: 91.66666667%
    }

    .g-md-0,.gx-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0,.gy-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1,.gx-md-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-md-1,.gy-md-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-md-2,.gx-md-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-md-2,.gy-md-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-md-3,.gx-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3,.gy-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4,.gx-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4,.gy-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5,.gx-md-5 {
        --bs-gutter-x: 3rem
    }

    .g-md-5,.gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex:1 0
    }

    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }

    .g-lg-0,.gx-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0,.gy-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1,.gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-lg-1,.gy-lg-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-lg-2,.gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-lg-2,.gy-lg-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-lg-3,.gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3,.gy-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4,.gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4,.gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5,.gx-lg-5 {
        --bs-gutter-x: 3rem
    }

    .g-lg-5,.gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex:1 0
    }

    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.33333333%
    }

    .offset-xl-2 {
        margin-left: 16.66666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.33333333%
    }

    .offset-xl-5 {
        margin-left: 41.66666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.33333333%
    }

    .offset-xl-8 {
        margin-left: 66.66666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.33333333%
    }

    .offset-xl-11 {
        margin-left: 91.66666667%
    }
}

@media (min-width: 1400px) {
    .col-xxl {
        flex:1 0
    }

    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xxl-0 {
        margin-left: 0
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%
    }

    .offset-xxl-3 {
        margin-left: 25%
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%
    }

    .offset-xxl-6 {
        margin-left: 50%
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%
    }

    .offset-xxl-9 {
        margin-left: 75%
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%
    }

}

/*
Link
*/
.link-hover-anim {
    position: relative;
    display: inline-block;
    padding: 6px 0;
    overflow: hidden;
    font-size: 17px;
    font-weight: 500!important;
    letter-spacing: normal;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    color: currentColor;
    background: none;
    border: none;
    cursor: pointer
}

.link-hover-anim:hover {
    text-decoration: none!important
}

.main-nav .link-hover-anim {
    top: 1px
}

.link-strong {
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 7px 0;
    transition: transform .5s ease,opacity .5s ease,color .2s ease
}

.underline .link-strong {
    border-bottom: 2px solid
}

.underline .link-strong i {
    position: relative;
    top: .075em
}

.link-hover-anim:not(.underline) .link-strong i:not([class^=icon-]) {
    position: relative;
    top: -.05em;
    vertical-align: middle
}

.link-strong svg {
    position: relative;
    top: -.1em;
    margin-right: .2em
}

.link-strong-hovered {
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    opacity: 0;
    transform: translateY(150%) translateZ(.001px) skewY(10deg)
}

.link-hover-anim:hover {
    color: inherit
}

.link-strong-unhovered {
    display: block
}

.link-hover-anim:hover .link-strong-unhovered {
    opacity: 0;
    transform: translateY(-150%) translateZ(.001px) skewY(-10deg)
}

.link-hover-anim:hover .link-strong-hovered {
    opacity: 1;
    transform: translateY(0) translateZ(.001px) skewY(0)
}

.light-content .link-hover-anim,.light-content .link-strong {
    color: #fff!important
}

:root {
  --font-main: "Arial",sans-serif;
  --font-second: "Arial",sans-serif;
  --font-global: "Arial",sans-serif;
  --font-alt: "Arial",sans-serif;
  --font-icon: "Arial";
  --full-wrapper-margin-x: 30px;
  --container-width: 1350px;

  scroll-behavior: auto

  /* Font size */
  --font-size: 16px;
  --font-size-xxl: 36px;
  --font-size-xl: 24px;
  --font-size-lg: 18px;
  --font-size-md: 14px;
  --font-size-xs: 12px;

  /* Couleurs */
  --color-bg: #f8f9fa;
  --color-text: #fff;
  --color-light: #ddd;
  --color-primary: #2372c4;
  --color-primary-hover: #2372c4;
  --color-secondary: #4a4a49;
  --color-white: #ffffff;
  --color-dark: #111111;
  --color-nav-bg: #222222;
  --color-nav-hover: #fff;

  /* Espacements */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 2rem;

  /* Effets */
  --radius: 0.375rem;
  --transition: 0.3s ease;
}

/* ========== Loader plein écran ========== */
#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white; /* ou noir, ou une image */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Animation de spinner (cercle tournant) */
.loader-spinner {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    -khtml-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
    width: 70px;
    text-align: center
}

.loader-spinner>div {
    width: 18px;
    height: 18px;
    background-color: var(--color-primary);
    -webkit-border-radius: 100%;
    -khtml-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
    display: inline-block;
    -webkit-animation: loaderbouncedelay 1.4s infinite ease-in-out both;
    animation: loaderbouncedelay 1.4s infinite ease-in-out both
}

.loader-spinner .loader-bounce1 {
    -webkit-animation-delay: -.32s;
    animation-delay: -.32s
}

.loader-spinner .loader-bounce2 {
    -webkit-animation-delay: -.16s;
    animation-delay: -.16s
}
@-webkit-keyframes pxl_bouncedelay {
    0%,80%,100% {
        -webkit-transform: scale(0)
    }

    40% {
        -webkit-transform: scale(1)
    }
}

@keyframes loaderbouncedelay {
    0%,80%,100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    40% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}


/*
Button
*/
.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    font-size: 14px;
    line-height: 1;
    z-index: 1;
    white-space: nowrap;
    border-radius: 50px;
    padding: 16px 26px;
    overflow: hidden;
    transition: 520ms;
    font-family: var(--font-second);
    color: var(--color-white); 
    cursor: pointer;
}
.btn.btn-round {
    border-radius: 50px;
    width: 50px;
    height: 50px;
}
.btn:hover {
  color: var(--color-black);
}
.btn::before, 
.btn::after {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    height: 100%;
    transition: 520ms;
    border-radius: 50px;
}
.btn::before {
    background-color: #2372c4;
    z-index: -1;
}
.btn::after {
    background-color: #eee;
    z-index: -1;
    transform-origin: 0px bottom;
    transform: translate3d(-50%, 0px, 0px) rotate(-50deg);
}
.btn:hover::after {
    transition: all .3s;
    transform: rotate(0);
}

.btn i {
    font-size: 16px;
    display: inline-block;
    margin-left: 10px;
    transition: all .3s ease-in-out 0s;
}
.btn:hover i {
    transform: translateX(5px);
    color: var(--color-primary);
}

/*
Img
*/
.figure-cover,
.figure-contain {
    overflow: hidden;
}
.figure-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left bottom;
}
/*.figure-cover img {
    border-radius: 20px;
}*/
.figure-contain img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.item2--container .figure-cover,
.Block7 .figure-cover,
.Block1 .figure-cover {
 width: 400px;
 height: 100%;
 border-radius: 20px;
 border: 5px solid var(--color-primary-hover);
}

@media(max-width: 991px) {
    .item2--container .figure-cover,
    .Block7 .figure-cover,
    .Block1 .figure-cover {
     width: 100%;
 }
}
@media(min-width: 992px) {
    .item2--container .figure-cover,
    .Block7 .figure-cover,
    .Block1 .figure-cover {
     min-height: 550px;
     border-radius: 200px 0 130px 0;
 }

}
.Block1 .figure-cover {
 border-color: var(--color-primary);
 margin-left: auto;
 height: 485px;
 min-height: 1px
}
.Block7 .figure-cover {
 border-color: var(--color-secondary);
 width: 500px;
 height: 520px;
 min-height: 1px;
}
.item2--container .col-md-6:has(.figure-cover),
.Block7 .col-md-6:has(.figure-cover) {
    position: relative;
}
.round-block {
 width: 200px;
 height: 200px;
 background: #4a4a4a;
 border-radius: 100%;
 position: absolute;
 top: 75%;
 transform: translateY(-50%);
 right: 70px;
 display: flex;
 align-items: center;
 justify-content: center;
}
@media(max-width: 991px) {
    .round-block {
       display: none;
   }
}
.Block7 .round-block {
 background: var(--color-primary);
 right: 1rem;
}
.round-block .devis-shape {
    width: 90%;
    height: 90%;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    transition: all .3s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.round-block span {
    width: 90px;
}


.Block0 .figure-cover {
    height: 730px;
    border-radius: 15px 15px 0 15px;
    overflow: hidden;
}
.Block0 .figure-cover img {
    border-radius: 0
}
@media(min-width: 992px) {
    .pr-0 {
        padding-right: 0 !important;
    }
}
@media(max-width: 991px) {
    .pt-30 {
        padding-top: 0 !important;
    }
    .Block0 .figure-cover {
        height: 400px;
        border-radius: 7px;
    }
}
.Block9,
.Block10 {
    background-color: #F7FFF4;
    position: relative;
    overflow: hidden;
}
.Block9::before,
.Block10::before {
    content: "";
    background-image: url(../images/leaf-bg.webp);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
}

/*
Badge
*/
.badge-hero {
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 13px;
    text-transform: uppercase;
    color: #f5f5f5;
    font-weight: 600;
    padding: 8px 15px;
    line-height: 1;
    background-color: #2372c4;
    border-radius: 40px;
}

/*
Header
*/
.header-container {
    background-color: var(--color-white);
    position: fixed;
    left: 0;
    z-index: 99;
    width: 100%;
    top: 0;
    transition: top 0.3s ease-in-out;
}
/*.header-container.sticky {
  top: 0;
}*/
nav.nav-header {
    display: flex;
    /*border-radius: 10px;*/
    align-items: center;
    /*background: #ffffff;
    background: linear-gradient(55deg, rgba(255, 255, 255, 1) 30%, var(--color-primary) 30%);
    padding: 5px 20px;*/
    justify-content: space-between;
}
/*@media(max-width: 1399px) {
    nav.nav-header {
        background: linear-gradient(55deg, rgba(255, 255, 255, 1) 34%, var(--color-primary) 34%);
    }
}*/

.info-top {
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: right;
    padding: 5px 0;
} 
.info-top a {
    margin-left: 30px;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: 15px;
}
.Desktop .info-top a i {
    background-color: var(--color-primary-hover);
    padding: 10px;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
}
 
@media(min-width: 992px) {
    .rappelIcon {
        display: block;
        margin-right: 2rem;
    }
    .info-top a i {
        background-color: var(--color-primary-hover);
        padding: 10px;
        border-radius: 50%;
    }
}
.rappelIcon a {
    position: relative;
    display: flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    background-color: var(--color-light);
    border-radius: 50%;
    transition: background-color .4s ease-in-out;
}
.rappelIcon a:hover {
 background-color : #2372c4;
}

.rappelIcon a:before {
    position: absolute;
    content: '';
    top: -7px;
    left: -7px;
    right: -7px;
    bottom: -7px;
    border: 2px solid var(--color-secondary);
    border-radius: 50%;
}
.rappelIcon a:after {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
    -ms-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
    -o-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
    -webkit-animation: ripple 3s infinite;
    animation: ripple 3s infinite;
}

.rappelIcon a:after {
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
}

@-webkit-keyframes ripple {
    70% {
        -webkit-box-shadow: 0 0 0 70px rgba(244, 68, 56, .0);
        box-shadow: 0 0 0 70px rgba(244, 68, 56, .0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, .0);
        box-shadow: 0 0 0 0 rgba(244, 68, 56, .0);
    }
}

@keyframes ripple {
    70% {
        -webkit-box-shadow: 0 0 0 70px rgba(244, 68, 56, .0);
        box-shadow: 0 0 0 70px rgba(244, 68, 56, .0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, .0);
        box-shadow: 0 0 0 0 rgba(244, 68, 56, .0);
    }
}

.nav-list {
    margin-top: 15px;
    list-style: none;
    display: flex;
    gap: 10px;
}
.nav-list li {
    position: relative;
    margin-bottom: 0;
}
@media (max-width: 1399px) {
    .nav-list li.nav-item:has(.contact) {
        display: none;
    }
}
@media(min-width: 992px) and (max-width: 1199px) {
    .nav-list {
        gap: 15px;
    }
}
.nav-item:hover .nav-submenu {
    display: block;
}
 
 .nav-item > a {
    color: #000;
    margin-top: 0;
    letter-spacing: .5px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    line-height: normal;
    display: block;
    text-align: center;
    padding: 10px 5px;
}
.nav-item-footer a ,
..nav-item a{
    text-align: left;
    margin: 0 0 12px;
    display: block;
}
.nav-link.devis {
 background-color : #2372c4;
 padding: 5px 16px;
 color: var(--color-text) !important;
 border-radius: 99px;
 transition: background-color .3s ease, color .3s ease;
}
.nav-item:hover .nav-link.devis,
.nav-item.active .nav-link.devis {
    background-color: var(--color-primary-hover);
    color: var(--color-primary) !important;
}

.nav-item > a::before,
.nav-item > a::after,
.nav-item-footer a::before,
.nav-item-footer a::after,
.nav-item a::before,
.nav-item a::after {
    content: '';
    height: 1px;
    position: absolute;
    bottom: 2px;
    width: 0;
    background-color: var(--color-primary);
    -webkit-transition: width .3s cubic-bezier(.37,.31,.2,.85);
    -khtml-transition: width .3s cubic-bezier(.37,.31,.2,.85);
    -moz-transition: width .3s cubic-bezier(.37,.31,.2,.85);
    -ms-transition: width .3s cubic-bezier(.37,.31,.2,.85);
    -o-transition: width .3s cubic-bezier(.37,.31,.2,.85);
    transition: width .3s cubic-bezier(.37,.31,.2,.85);
}
.nav-item > a::before,
.nav-item > a::after {
 background-color : #2372c4;
}

.nav-item-footer a::before,
.nav-item > a::before {
    left: 0;
}
.nav-item-footer a::after,
.nav-item > a::after {
    right: 0;
}
.nav-item > a:hover::before,
.nav-item > a:hover::after,
.nav-item.active > a::before,
.nav-item.active > a::after,
.nav-item-footer a:hover:before, 
.nav-item-footer a:hover:after {
    width: 50%;
}
.nav-submenu {
    display: none;
    position: absolute;
    width: 330px;
    list-style: none;
    padding-left: 0;
    top: 100%;
    padding-top: 21px;
}
body.menu-open {
    overflow: hidden;
}
/* Burger icon */
.burger-menu {
    order: 3;
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001;
}

.burger-menu span {
    height: 3px;
    background-color: var(--color-primary);
    width: 100%;
    display: block;
    transition: 0.3s;
}
.nav-submenu-item {
    background-color: var(--color-white);
    padding: 0 15px;
    font-size: 16px;
}
.nav-submenu-item:not(:last-child) a {
    display: block;
    padding: 10px 0;
    border-bottom: 1px dashed #c4c4c4;
}
.nav-submenu-item a:hover {
    color: var(--color-primary);
}

/* Menu mobile */
.nav-list {
    transition: transform 0.3s ease;
}

@media screen and (max-width: 991px) {
    nav.nav-header {
        background: var(--color-white);
    }
    .burger-menu {
        display: flex;
        margin-right: 15px;
    }

    .nav-header {
        justify-content: space-between;
    }

    .nav-list {
        position: fixed;
        margin-top: 0;
        top: 0;
        right: 0;
        width: 100%;
        height: 500px;
        background-color: var(--color-white);
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 60px 20px;
        transform: translateX(100%);
        gap: 0;
        z-index: 1000;
        overflow: scroll;
    }

    .nav-list.open {
        transform: translateX(0%);
    }
    .nav-list li {
        padding-left: 0;
        width: 100%;
        padding: 12px;
        line-height: normal;
    }
    li.nav-item-footer.active {
    background: #eee;
}
    .nav-item > a {
        color: var(--color-dark);
    }

    .nav-submenu {
        position: static;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none;
        padding: 0;
        display: none;
        box-shadow: none;
        width: 100%;
    }

    .nav-item.open > .nav-submenu {
        display: block;
    }
    .nav-submenu a {
        font-size: 14px;
    }
 
}
@media(max-width: 991px) {
    .info-top { 
        display: flex;
        gap: 20px;
        justify-content: center; 
        background: #eee;
        margin: 0;
    }
    .sticky-visible .info-top {
        margin-top: 0
    }
    .info-top a {
        margin-left: 0;
        color: #fff;
        gap: 5px;
        justify-content: center;
        background: var(--color-primary);
        border-radius: 900px;
        padding: 12px;
        font-size: 14px;
        font-weight: 600;
    }
}   


/*
Slider
*/
.slider-block {
  height: 900px;
  position: relative;
  overflow: hidden;
}
.Tablet .slider-block ,
.Mobile .slider-block {
    height: 500px;
}
.carousel-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.carrousel-text2 .Block {
    padding: 0;
}
.carrousel-text2 .slick-dots {
    position: absolute;
    bottom: 0;
}
.carrousel-text2 .slick-dots li {
    display: inline-block;
}
.carousel-slider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgb(0 0 0 / 70%), rgb(0 0 0 / 12%));
    z-index: 1;
}

.item-slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* On crée un pseudo-élément pour appliquer l'effet */
.item-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 110%;
  height: 110%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  transform: scale(1.1);
  transition: none;
}

/* On récupère l'image de fond de l'élément parent */
.item-slide[style]::before {
  background-image: inherit;
}

/* Animation appliquée uniquement sur le slide actif */
.item-slide.slick-active::before {
  animation: zoomOut 4s ease forwards;
}

@keyframes zoomOut {
  from {
    transform: scale(1.1);
}
to {
    transform: scale(1);
}
}

/* Pour que ton contenu (si tu en ajoutes) reste au-dessus */
.item-slide > * {
  position: relative;
  z-index: 1;
}
.textes-slides {
    position: relative;
}
.item-texte-slide {
    max-width: 600px;
    padding-left: 5rem;
}
@media(max-width: 991px) {
    .item-texte-slide {
        padding-left: 0;
    }
}
.text-banner .item-texte-slide {
    max-width: 900px;
    padding-top: 130px;
}
.item-texte-slide h1 {
    font-size: 48px;
    color: var(--color-white);
}



.item-slide {
    height: 900;
    background-color: var(--color-light);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.item-slide.banner-slider {
    height: 900px;
}
.slider-block > .container {
  position: relative;
  z-index: 1;
  display: table;
  height: 100%;
}
.textes-slides {
  display: table-cell;
  vertical-align: middle;
  /*padding-top: 10rem;*/
}
@media(max-width: 1399px) {
    .textes-slides {
        /* padding-left: 10rem; */
    }
}

@media(max-width: 991) {
    .slider-block {
        height: 500px;
    }
    .devis-shape-wrap {
        display: none;
    }
    .item-texte-slide {
        text-align: center;
        width: 80%;
        margin: auto;
        padding-top: 160px;
    }
    .textes-slides {
        padding-left: 0;
    }
    .item-texte-slide h1 {
        font-size: 36px;
    }
}

/*@media(min-width: 768px) {
    .item-texte-slide {
      max-width: 570px;
      z-index: 9;
      background-image: url(../images/slide-content-bg.svg);
      background-repeat: no-repeat;
      padding: 60px 80px 90px;
      background-color: initial;
      border-radius: unset;
      background-size: contain;
    }
}*/

.carrousel-text2 .slick-dots {
 position: absolute;
 top: 4rem;
 left: -11rem;
}
.carrousel-text2 ul.slick-dots li {
 display: block;
 margin: 10px 0;
}


.carrousel-text2 ul.slick-dots li button {
 padding: 0;
 display: block;
 width: 35px;
 height: 35px;
 background: var(--color-light);
 border: 0;
 border-radius: 99px;
 transition: background-color .3s ease, color .3s ease;
 cursor: pointer;
 font-family: var(--font-second);
}
.carrousel-text2 ul.slick-dots li.slick-active button,
.carrousel-text2 ul.slick-dots li:hover button {
 background: var(--color-secondary);
 color: #fff;
}


/*
Section Block
*/
.Block {
    padding: 60px 0;
    position: relative;
}
@media(max-width: 991px) {
    .Block {
        padding: 20px 0;
    }
    .Block:not(.Block7) .row > div {
        max-width: 100%;
        flex: 100%;
    }
}
.Block0,
.Block2 {
    position: relative;
    padding-bottom: 0;
}
.Block0::before {
    content: "";
    background-color: #fbf3e6;
    position: absolute;
    width: 100%;
    height: 70%;
    top: 0;
    left: 0;
}

.Block0::after {
    content: "";
    background-color: #fbf3e6;
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
}
.Block0 .container {
    margin-bottom: 60px;
    position: relative;
    z-index: 2;
}
section.Block.Block2 .round-block {
    background: #eee;
}
@media(max-width: 991px) {
    .Block0 .container {
        margin-bottom: 0;
        padding-bottom: 40px;
    }
    .Block0::before {
        height: 100%
    }
    .Block0::after {
        display: none;
    }
    .Block1 .row {
        flex-direction: column-reverse;
    }
}
@media(min-width: 992px) {
    .item-0 {
        padding-left: 46px;
        padding-bottom: 40px;
    }
}
.Block6 {
    background-color: var(--color-light);
}

.Block7 {
    padding-top: 0;
    position: relative;
    background-color: transparent;
    background-image: linear-gradient(0deg, #F7FFF500 0%, #F7FFF5 41.5%);
}
@media(min-width: 992px) { 
    .Block7::before,
    .Block8::before {
        content: "";
        /*background-image: url(../images/img/bg-elagage-8.webp);*/
        background-position: center 18%;
        position: absolute;
        top: 0;
        height: 100%;
        width: 100%;
        z-index: -1;

    }
}
.Block8 {
    background-color: transparent;
    background-image: linear-gradient(0deg, #F7FFF500 0%, #F7FFF5 41.5%);
    position: relative;
}
.Block8::before {
    transform: rotate(180deg);
    background-position: center 0;
}
@media(max-width: 991px) {
    .Block1 .btn-block .btn:not(:last-child),
    .Block7 .btn-block .btn:not(:last-child) {
        margin-bottom: 15px;
    }
    .Block2 {
        padding-top: 0;
    }
}
@media(min-width: 992px) {
    .Block1 .btn-block,
    .Block7 .btn-block {
        display: flex;
        gap: 20px;
    }
}
.btn-block--main {
    display: flex;
    align-items: center;
    gap: 11px
}

.btn-block--icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    color: var(--color-white);
    background: var(--color-primary);
    border-radius: 50%
}
.btn-block--icon .icon:before {
    filter: invert(1);
}

.btn-block--title {
    color: #333;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
}

.btn-block--description {
    color: #333;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.62;
    letter-spacing: -1px
}
#temoignages .badge-hero,
.prestations--title .badge-hero,
.Block7 .badge-hero,
.item-0 .badge-hero {
 background-color: #2371c6;
 color: #ffffff;
}

.item2--container {
    background-color: #2372c4;
    position: relative;
    border-radius: 20px 20px 0 0;
    padding: 60px 40px;
    color: var(--color-white);
}
@media(max-width: 991px) {
    .item2--container {
        padding: 10px;
    }
}
.item2--container::before,
.realisationBlock::before {
    content: "";
    position: absolute;
    background-image: url(../images/img/bg-home.webp);
    background-size: cover;
    background-color: no-repeat;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .1;
}
.item2--container > .row {
    position: relative;
    justify-content: space-between;
}
.item2 {
    padding-right: 40px;
}
@media(max-width: 991px) {
    .item2 {
        padding-right: 0;
        margin-top: 20px;
    }
}

#mail,
#mail2 {
    display: none;
}

.rappel-immediat {
    background-color: var(--color-white);
    padding: 20px;
    display: inline-block;
    margin-top: 25px;
    border-radius: 15px;
}
form#rappel_immediat {
    margin-top: 15px;
}
.form-input {
    font-family: var(--font-second);
    background-clip: padding-box;
    background-image: none;
    border: 1px solid var(--color-secondary);
    border-radius: 999px;
    line-height: 1;
    margin-bottom: 10px;
    max-width: 100%;
    padding: 11px 15px;
    transition: all .3s ease;
}
#FormDevis .form-input {
    font-size: 16px;
    border-width: 2px;
    width: 100%;
    margin: 7px 0;
    background: #fff;
    border-color: #121212;
    height: 55px;
    transition: border-color .3s ease;
    color: #fff;
}
#FormDevis .form-input::placeholder {
    color: var(--color-primary-hover);
}
.form-input:focus {
    border-color: var(--color-primary);
    outline: 0;
    box-shadow: none;
}
#FormDevis .form-input:focus,
#FormDevis .form-input:hover {
    border-color: var(--color-secondary);
}
.rappel-immediat .btn,
#FormDevis .btn {
    padding: 11px 16px;
    color: var(--color-text);
    margin-left: 5px;
    background-color: #404040;
    border: 1px solid var(--color-secondary);
    font-size: 12px;
    height: 39px;
    letter-spacing: 1px;
    cursor: pointer;
}
#FormDevis .btn {
    font-size: 16px;
    padding: 16px 25px;
    height: auto;
}
.rappel-immediat .btn:hover,
#FormDevis .btn:hover {
    background-color: var(--color-primary-hover);
    border: 1px solid var(--color-primary-hover);
}
@media(min-width: 768px) {
    .form-inline {
        display: flex;
        gap: 14px;
    }
}
@media(min-width: 992px) {
    .formulaire-contact {
        padding-left: 6rem;
    }
}
.formulaire-contact .h2 {
    color: #fff;
}
textarea.form-input {
    min-height: 100px;
    border-radius: 20px;
    max-height: 115px;
    resize: vertical;
}
.justify-content-center {
    justify-content: center;
}

/*
Ralisations
*/
.realisationBlock {
    background-color: #2371c5;
    padding: 60px 0;
    position: relative;
}
.realisationBlock .h2 {
    color: var(--color-light);
}
.realisations-item {
    transition: all 520ms ease;
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
    border-radius: 12px;
}
@media(max-width: 1199px) {
    .realisations-item {
        height: 250px;
    }
}
@media (min-width: 1200px) {
    .realisations-item {
        height: 380px;
    }
}
.realisations-item::before {
    content: "";
    height: 100%;
    width: 100%;
    background: 0 0;
    mix-blend-mode: normal;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    transition: height .5s;
    z-index: 1;
    visibility: hidden;
    opacity: 0;
}
.realisations-item:hover::before {
    visibility: visible;
    opacity: 1;
}
.realisations-item img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: all .5s;
    transform-origin: bottom left;
    width: 100%;
    transition: all .5s;
    transform-origin: bottom left;
    background: #eee;
    display: block;
    height: 100%;
}
.realisations-item:hover img {
    transform: scale(1.1);
}


/*
Prestations block
*/
.prestations--title {
    text-align: center;
}
.prestations--title .h2 {
    display: block;
}
.item6 h2,
.item8 h2 {
    color: var(--color-primary);
}
@media(min-width: 992px) {
    .item6,
    .item8 {
        display: flex;
        gap: 80px;
    }
    .item6 h2,
    .item8 h2 {
        flex: 1;
        color: #4a4b49
    }
    .item6 p, .item8 p {
        flex: 2; 
    }

}
.Desktop .prestations-carrousel {
    display: flex;
    gap: 20px;
    overflow: hidden;
}
.prestations-carrousel .slick-track {
    margin-left: -10px;
    margin-right: -10px;
}
.prestations-carrousel-item {
    border-radius: 25px;
    position: relative;
    overflow: hidden;
    -webkit-transition: all .3s linear;
    -khtml-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -ms-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}
.Desktop .prestations-carrousel-item{
    min-width: 300px;
}
.prestations-carrousel .slick-slide {
    padding-left: 10px;
    padding-right: 10px;
}
.prestations-carrousel-item::before,
.prestations-carrousel-item::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: linear-gradient(0deg, #2372c4  0%, rgba(131, 131, 131, 0) 84.55%);
    opacity: 1;
    z-index: 7;
    -webkit-transition: all .3s linear;
    -khtml-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -ms-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}
.prestations-carrousel-item::after {
    height: 0;
    background: linear-gradient(0deg, #3c3d3d 24.15%, rgba(70, 84, 77, 0) 100%);
    opacity: 0;
}
.prestations-carrousel-item:hover::before {
    opacity: 0;
}
.prestations-carrousel-item:hover::after {
    height: 100%;
    opacity: 1;
}
.prestations-carrousel-link {
    position: relative;
    height: 335px;
}
.prestations-carrousel-link {
    position: relative;
    display: block;
    height: 335px;
}
.prestations-carrousel-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transition: all .3s linear;
    -khtml-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -ms-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
}
.prestations-carrousel-item:hover .prestations-carrousel-link img {
    transform: scale(1.1);
}
.prestations-carrousel-link strong {
    color: var(--color-white);
    font-size: 17px;
    font-family: var(--font-second);
    font-weight: 600;
    line-height: 1.25;
    margin-top: -6rem;
    transition: all .3s linear;
    display: block;
    position: relative;
    z-index: 30;
    padding: 20px 20px 0;
}
.prestations-carrousel-link span {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 49px;
    height: 49px;
    border-radius: 50%;
    background: var(--color-secondary);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99;
    transform: translate(-50%, 50%);
    opacity: 0;
    transition: all .3s ease;
}
.prestations-carrousel-item:hover .prestations-carrousel-link span {
    opacity: 1;
    transform: translate(0);
}

.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    transition: background-color .3s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 24px;
    justify-content: center;
    z-index: 10;
}
.slick-arrow::before {
    font-family: 'icomoon';
}
.slick-next { 
    right: 2rem;
}
.slick-prev { 
    left: 2rem;
}
.icon-chevron-right:before {
    content: "❯"; 
    line-height: 1;
}
.icon-chevron-left:before {
    content: "❮"; 
    line-height: 1;
}
.slick-next {
    content: "";
    right: 2rem;
} 

@media(min-width: 1200px) {
    .slick-next {
        right: -4rem;
    }
    .slick-prev {
        left: -5rem;
    }
}
.carousel-slider .slick-next {
    right: 5rem;
}
.carousel-slider .slick-prev {
    left: 5rem;
}
a.logo img {
    max-width: 250px;
    height: 131px;
     object-fit: contain;
    width: 175px;
}
@media(max-width: 991px) {
    a.logo img {
        width: 150px!important;
        height: 100px!important;
    }
    .carousel-slider .slick-arrow {
        top: 92%;
    }
    .carousel-slider .slick-prev {
        left: 8rem;
    }
    .carousel-slider .slick-next {
        right: 8rem;
    }
}
.slick-prev.slick-arrow:hover {
    background-color: var(--color-light);
}
.slick-prev.slick-arrow:focus {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/*
Engagement block
*/
@media(max-width: 991px) {
    .engagement-item:not(:last-child) {
        margin-bottom: 15px;
    }
}
@media(min-width: 992px) {
    .engagemnt {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin: 0 -30px;
    }
    .engagement-item {
        max-width: 33.3333%;
        flex: 0 0 33.3333%;
        padding: 0 30px;
    }
}
.engagement-item--box {
    display: flex;
    gap: 20px;
    align-items: center;
}

.engagement-item--box .bg-shape {
 background-color : #2372c4;;
 border-radius: 25px;
 width: 124px;
 height: 124px;
 display: flex;
 align-items: center;
 justify-content: center;
}
.engagement-item--text {
    line-height: 150%;
}
.engagement-item--text strong {
    font-size: 30px;
    margin-bottom: 15px;
    display: block;
    font-weight: bold;
}
.engagement-item--text p {
    line-height: 130%;
}
.engagement-item--box img {
    width: 75px;
    height: 75px;
    object-fit: contain;
    filter: invert(1);
}

.flex-block {
    margin-top: 60px;
    margin-bottom: 60px;
}
.flex-block .Block {
    box-shadow: 0px 0px 50px 0px rgba(150, 157.00000000000003, 176, 0.25);
    padding: 40px;
    border-radius: 30px;
    position: relative;
    transition: transform 0.1s linear;
    will-change: transform;
}
.flex-block h2 {
    color: var(--color-primary);
}
@media(max-width: 991px) {
    .flex-block .Block {
        padding: 20px;
    }
}
@media(min-width: 992px) {
    .flex-block {
        display: flex;
        gap: 50px;
        align-items: self-start;
    }
    .Block10 {
        margin-top: 5rem;
    }
}
.justify-content-end {
    justify-content: flex-end;
}

/*
Page contact
*/
.contactBlock {
    position: relative;
    padding: 60px 0;
    height: 600px;
}
.contactBlock::before {
    content: "";
    background-color: #2372c4;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.contactBlock .container {
    position: relative;
    z-index: 2;
}
.image-parallax {
    position: relative;
}
@media(min-width: 768px) {  
    .contactBlock::before {
        width: 50%;
    }
    .image-parallax {
        position: absolute;
        top: 0;
        left: 0;
        width: 60%;
        height: 100%;
        overflow: hidden;
        pointer-events: none;
    }
}

.image-parallax img {
    position: absolute;
    top: 0;
    left: 50%; 
    height: 100%;
    min-width: 150%; 
    transform: translateX(-50%); 
    object-fit: cover;
    transition: transform 0.1s linear;
}

/*
Categories villes
*/
.categoriesVilles {
    background-color: #2372c4;
    background-image: url(../images/img/bg_villes.webp);
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding: 60px 0;
    background-blend-mode: multiply;
}
@media(min-width: 992px) {
    .flex-sticky {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .stickyBlock {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        left: 0;
        height: 100vh;
        padding-top: 10rem;
    }
}
.stickyBlock .h2 {
    color: var(--color-white);
    font-size: 5rem;
    margin-left: 7rem;
    display: block;
    text-shadow: 0 0 11px black;
}

.Services-item {
    padding: 40px;
    border-radius: 25px;
    max-width: 760px;
}
.Liens {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
}
@media(max-width: 991px) {
    .stickyBlock .h2 {
        margin-left: 0;
        text-align: center;
    }
}
@media(max-width: 991px) {
    .stickyBlock .h2 {
        font-size: 2rem;
    }
    .Services-item {
        padding: 10px;
    }
    .Liens {
        grid-template-columns: 100%;
    }
}
.Liens a {
    background-color: transparent;
    background-image: linear-gradient(180deg, #ffffff 0%, #d9d9d9 100%);
    backdrop-filter: blur(10px);
    border: 1px solid var(--color-white);
    display: flex;
    padding: 7px;
    margin: 7px;
    border-radius: 5px;
    font-size: 14px;
    justify-content: space-between;
    align-items: center;
    line-height: 130%;
    letter-spacing: .5px;
    transition: background-color .3s ease, color .3s ease;
}
.Liens a:hover {
    background-image: none;
    background-color: var(--color-light);
    color: var(--color-primary);
}

/*
Devis gratuit fixed
*/
.devis-shape-wrap {
    position: fixed;
    bottom: 5rem;
    right: 5rem;
    z-index: 1000;
}

.devis-round-box {
    position: relative;
    height: 160px;
    width: 160px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border-radius: 100%
}


.devis-shape-box {
    width: 90px;
    height: 90px;
    border-radius: 100%;
    background-color: var(--color-primary);
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

.devis-shape-box i {
    font-size: 36px;
    color: #ffffff;
    position: relative;
    transform: scale(1.0);
    transition: transform .3s ease, color .3s ease;
    z-index: 1;
}
.devis-shape-box:hover i {
    transform: scale(1.2);
    color: var(--color-primary-hover);
}

.devis-shape-box .devis-shape {
    height: 139px;
    width: 139px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    transition: all .3s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%)translateX(-50%)
}

.devis-shape-box .devis-shape .shape,
.round-block .devis-shape .shape {
    animation: pxl_spin 15s linear infinite;
}

.devis-overlay {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    background: rgba(0, 0, 0, 0.5);
    overflow: hidden;
    transition: width 0.4s ease;
    z-index: 999;
}

.devis-panel {
    background: white;
    height: 100%;
    width: 400px;
    position: absolute;
    right: -400px;
    transition: right 0.4s ease;
    padding: 2rem;
}

.devis-overlay.open {
    width: 100%;
}

.devis-overlay.open .devis-panel {
    right: 0;
}

.devis-shape-wrap.pushed {
    right: calc(5rem + 400px);
    transition: right 0.4s ease;
}

@media(max-width: 991px) {
    .devis-shape-wrap {
        right: 1rem;
        bottom: 6rem;
    }
    .devis-round-box{
        width: 110px;
        height: 110px;
    }
    .devis-shape-box .devis-shape {
        width: 100px;
        height: 100px;
    }
    .devis-shape-box{
        width: 60px;
        height: 60px;
    }

}

.icon-close::before {
    content: "✕"; /* Exemple : croix ✕ */
}



/*
Block CTA
*/
.info-cta {
  background-image: url(../images/img/info-bg.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 45px 0;
  border-radius: var(--radius);
  gap: 9rem;
}
.info-cta > div:first-child {
     padding-left: 45px; 
    text-align: center;
}
.Mobile .info-cta > div:first-child {
    padding: 0 20px;
    text-align: center;
}
.info-cta span.h3 {
    display: block;
}
.btn-call > span {
  color: var(--color-white);
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 15px;
}
.btn-call:hover > span {
  color: var(--color-black);
}
.btn-call > span i {
  width: 37px;
  height: 37px;
  line-height: 37px;
  background-color: var(--color-white);
  color: var(--color-primary);
  border-radius: 50%;
}
.btn-call > span > span {
    font-family: var(--font-second);
    font-size: var(--font-size-xl);
    font-weight: 300;
    text-align: left;
}
@media(max-width: 991px) {
    .btn-call > span > span {
        font-size: 16px;
    }
}
.btn-call > span > span > span {
    position: relative;
    z-index: 2;
}

.btn-call > span > span > span > span {
    display: block;
    margin-bottom: 5px;
}
.devis-cta img {
    margin-top: -23px;
}
.devis-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 180px;
    position: relative;
}
@media(max-width: 991px) {
    .devis-cta {
        display: none;
    }
}
.devis-cta::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/img/devis-gratuit-bg.svg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    z-index: -1;
    animation: pxl_spin 20s linear infinite;
    filter: grayscale(1);
}
.devis-cta > a {
    padding: 45px 37px 0;
    text-align: center;
    font-weight: bold;
    line-height: 24px;
    font-size: 24px;
}

@-webkit-keyframes pxl_spin {
    from {
        -webkit-transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg)
    }
}

@keyframes pxl_spin {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

/*
Avis
*/
#temoignages {
    padding: 60px 0;
    background-color: #fbf3e6;
}
@media(min-width: 768px) {   
    .slide-temoignage .slick-track {
        margin-left: -10px;
        margin-right: -10px;
    }
    .slider-item-temoinages {
        margin-left: 10px;
        margin-right: 10px;
    }
}
.item-avis {
    padding: 40px 40px 40px 40px;
    border-radius: 20px 20px 20px 20px;
    background-color: var(--color-white);
    position: relative;
}
.item-avis p {
    font-style: normal;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
}
.item-author-info {
    display: inline-flex;
    align-items: center;
    -moz-column-gap: 10px;
    column-gap: 10px;
}
.testimonial-img {
    margin-bottom: 0;
    width: 60px;
    height: 60px;
    border-radius: 999px;
    overflow: hidden;
    background-color: var(--color-light);
}

.testimonial-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.avis-title {
    line-height: 1.4;
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 0;
}
.avis-subtitle {
    font-size: 14px;
}
.quote {
    right: 42px;
    bottom: 40px;
    position: absolute;
    overflow: hidden;
    width: 55px;
    opacity: .5;
}
.quote img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.top-avis {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.google-block {
    width: 20px;
    display: block;
}
/*@media(min-width: 768px) {
    .swiper-navigation {
        position:absolute;
        top: -55px;
        right: 124px
    }
}

.swiper-navigation .swiper-button-prev {
    left: calc(50% + 12px);
    right: auto
}

.swiper-navigation .swiper-button-next {
    right: auto;
    left: calc(50% + 24px + 50px)
}

.hover-visibility:hover .swiper-navigation .swiper-button-prev {
    left: calc(50% + 12px)
}*/

@media(max-width: 991px) {
    .testimonial-content {
        padding-top:36px
    }
}

.avis > i {
  background: url('../images/img/rating-sprit.webp') no-repeat;
  display: inline-block;
  height: 23px;
  width: 120px;
  margin-right: 15px;
}
.avis-0 {
  background-position: 0 0 !important;
}
.avis-1 {
  background-position: 0 -25px !important;
}
.avis-2 {
  background-position: 0 -50px !important;
}
.avis-3 {
  background-position: 0 -75px !important;
}
.avis-4 {
  background-position: 0 -100px !important;
}
.avis-5 {
  background-position: 0 -125px !important;
}
.avis-6 {
  background-position: 0 -150px !important;
}
.avis-7 {
  background-position: 0 -175px !important;
}
.avis-8 {
  background-position: 0 -200px !important;
}
.avis-9 {
  background-position: 0 -225px !important;
}
.avis-10 {
  background-position: 0 -250px !important;
}


/*
Footer
*/
#footer {
    padding-top: 60px;
}
@media(max-width: 991px) {
    #footer .row {
        display: block;
    }
    #footer span.h4 {
        border-top: 1px solid;
        display: block;
        margin: 20px 0 15px;
        padding-top: 40px;
    }
}

.info-footer > p:not(:last-child) {
    margin-bottom: 15px;
}
.info-footer > p {
    color: #121212;
}
.info-footer > p.adresse ,
.info-footer > p.hor{
  display: flex;
  line-height: 24px;
}
.info-footer > p i {
    margin-right: 7px;
    font-size: 14px;
}
.nav-item-footer ,
.nav-item- {
    list-style: none;
    line-height: 24px;
}

.copyright {
    background-color: var(--color-primary);
    margin-top: 60px;
    padding: 25px 0;
    text-align: center;
    color: var(--color-white);
    font-size: var(--font-size-sm);
}


.block-float {
    position: absolute;
    top: 25%;
    transform: translateY(-50%);
    background-color : #2372c4;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    font-size: 24px;
    font-size: 24px;
    color: #fff;
}
.Tablet .block-float{
    top: 50%;
}
.Mobile .block-float {
    display: none;
}
.block-float img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.block-float span {
 display: block;
 filter: invert(1);
}
@media(min-width: 992px) {
    .block-float {
        left: 2rem;
        top: 18rem;
    }
}
.block-float strong {
    display: block;
    font-size: 30px;
    text-transform: uppercase;
}
.position-relative {
    position: relative;
}

/*
Devis page
*/
.temoinBlock,
#realisations,
.devis-section,
.ContactezNous {
    position: relative;
    background-color: #F7FFF4;
    padding: 160px 0 60px;
}
.temoinBlock::before, #realisations::before, .devis-section::before, .ContactezNous::before {
    content: "";
    /* background-image: url(../images/img/leaf-bg.webp); */
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    background: #eee;
}
#realisations::before {
    background-position: top right;
}
.temoinBlock {
    padding-top: 230px;
}
.temoinBlock .item-tem:not(:last-child) {
    border-bottom: 1px solid;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
#avis_form .form-input {
    display: block;
    width: 100%;
}
#avis_form input.btn {
    border: 0;
    margin-top: 15px;
    background-color: var(--color-primary);
}

.devis-section .row {
    justify-content: center;
    position: relative;
}
.temoinBlock .row,
#realisations .row,
.ContactezNous .row {
    position: relative;
}
.ContactezNous .h2 {
    color: #000;
    position: relative;
}
div#Map {
    height: 100%;
    min-width: 300px;
    z-index: 0;
}

#realisations .swipebox.thumbnail {
    background-color: var(--color-primary);
    display: flex;
    height: 350px;
    margin: 15px 0;
    overflow: hidden;
    transition: all 520ms ease;
    border-radius: 25px;
}
#realisations .swipebox.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 520ms ease;
}
#realisations .swipebox.thumbnail:hover img {
    transform: scale(1.1);
    opacity: .5;
}
.box-hero {
    position: absolute;
    bottom: 15px;
    width: 100%;
    left: 0;
    display: flex;
    gap: 10px;
}
@media(max-width: 991px) {

    .box-hero {
        display: none;
    }
}
.item-hero_ {
    flex: 1;
    background-color: rgba(31, 161, 46, 0.8);
    text-align: center;
    padding: 20px 10px;
    color: var(--color-white);
    border-radius: 15px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 1px;
}
.item-hero_ img {
    width: 65px;
}
/*
404
*/
.blog_pageIntrouvable {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f8f9fa;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  position: fixed;
  z-index: 99999;
  width: 100%;
  top: 0;
}

.blog_pageIntrouvable .d-flex {
  display: flex;
  justify-content: center;
  align-items: center;
}

.blog_pageIntrouvable h1 {
  font-size: 8rem;
  margin: 0;
  font-weight: 700;
  color: var(--color-primary);
}

.blog_pageIntrouvable p {
    color: var(--color-dark);
    font-size: 2rem;
    margin: 10px 0 20px;
    font-weight: 600;
}

.blog_pageIntrouvable span {
    color: var(--color-dark);
    font-size: 1.1rem;
}

.blog_pageIntrouvable a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.blog_pageIntrouvable a:hover,
.blog_pageIntrouvable a:focus {
  text-decoration: underline;
  outline: none;
}

.btn-fixed-mobile {
    position: fixed;
    z-index: 9999;
    bottom: 0;
    width: 100%;
    right: 0;
}
.btn-fixed-mobile a {
    background-color: var(--color-primary);
    padding: 11px 20px;
    color: white;
    display: block;
    text-align: center;
}
.btn-fixed-mobile a span {
    color: #ffffff;
    font-style: italic;
}
.btn-fixed-mobile a span i {
    margin-left: 10px;
}

.Mobile .GoogleBagde {
    box-shadow: none !important;
    margin: 0 !important;
    width: 100% !important;
    border-radius: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    left: 0 !important;
    transform: none !important;
    bottom: 47px;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 15px;
}
.Mobile .GoogleBagde-icon-G {
    position: relative;
    top: 4px;
}
.Mobile .GoogleBagde-notes_value {
    display: none !important;
}
.Mobile .GoogleBagde-Rating__Container {
    display: flex;
    justify-content: center;
    column-gap: 15px;
}

.btn-block.mt-20 .btn-block--main.animated {
    margin: 20px 0 0;
}
.caption {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}
.caption-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
}
.btn-slider {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.caption .Devisgratuit {
    display: flex;
    justify-content: center;
}
.caption .Devisgratuit > div {
    background: #ffffff94;
    padding: 30px;
    border-radius: 15px;
    max-width: 400px;
}
.info-top .icon:before {
    filter: invert(1);
} 
#footer .h4 {
    font-weight: 600;
    margin: 0 0 30px;
    display: block;
}


/*========================= DEBUT AVIS =========================*/

section.section-avis {
    padding: 100px 0;
}
 

.imgAvis.bg {
    background-color: #ddd;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 40px 0;
}
.Mobile .imgAvis.bg {
    padding: 10px;
}
b.titreAvis {
    display: block;
    font-size: 26px;
    color: #376371;
    text-transform: uppercase;
}
b.titreAvis::after {
    content: "";
    display: block;
    margin: 2rem auto ;
    width: 35px;
    border-bottom: 3px solid #376371;
}
.block-avis {
    margin: 0 auto;
    padding: 40px;
    border-radius: 7px;
    text-align: center;
}
#temoignages .item-tem p {
    margin-bottom: 0;
}

.temoin {
    color: black;
    padding: 80px 0;
    margin-top: 150px;
}
.Mobile .temoin {
    padding-top: 12rem;
}
.Desktop .temoin .grid-row {
    display: grid;
    grid-template-columns: 60% auto;
    grid-gap: 20px;
}
.Tablet .temoin .grid-row,
.Mobile .temoin .grid-row {
    display: block;
}
 .col-right .blockFormulaire {
    background: #e3e8ed;
    border-radius: 10px;
    padding: 40px;
}
.Desktop .col-right {
    margin-left: 1rem;
}

.temoin .item-tem { 
    padding-bottom: 15px;
    margin-bottom: 1rem;
    box-shadow: 0 0 8px #6262628f;
    padding: 30px;
    border-radius: 10px;
}


h1.Titrecontenu {
    font-size: 36px;
    margin-bottom: 2rem;
}
.Mobile h1.Titrecontenu {
    font-size: 22px;
}
h2.Titrecontenu {
    color: var(--color-primary);
}
#avis_form {
    margin-top: 15px;
}

#avis_form label {
  display: block;
  margin-bottom: 8px
}

#avis_form .form-control {
  margin: 0 0 15px 0;
  width: 100%
}
#MonAvis span {
  font-size: 18px;
  color: v#1faed8;
  display: block;
}
.item-tem .avis {
  display:inline-block;
  vertical-align: top;
}

.avis a {
  width:10%;
  float:left;
  height:100%;

}
.avis > i {
    background: url(../images/img/rating-sprit.webp) no-repeat;
    display: inline-block;
    height: 23px;
    width: 120px;
    margin-right: 15px;
    margin-bottom: 20px;
}
.avis-0 {
  background-position: 0 0 !important;
}
.avis-1 {
  background-position: 0 -25px !important;
}
.avis-2 {
  background-position: 0 -50px !important;
}
.avis-3 {
  background-position: 0 -75px !important;
}
.avis-4 {
  background-position: 0 -100px !important;
}
.avis-5 {
  background-position: 0 -125px !important;
}
.avis-6 {
  background-position: 0 -150px !important;
}
.avis-7 {
  background-position: 0 -175px !important;
}
.avis-8 {
  background-position: 0 -200px !important;
}
.avis-9 {
  background-position: 0 -225px !important;
}
.avis-10 {
  background-position: 0 -250px !important;
}
#temoignages a.btn-rea {
    margin-top: 1rem;
    padding: 7px 35px;
}
.item-tem img {
    margin: 0;
    width: 50px;
    height: 50px;
}
img.google {
    width: 60px;
    height: 25px;
    object-fit: contain;
}
.avis-nom {
    display: flex;
    align-items: center;
    gap: 10px;
}
 
.temoignages .col-left .avis > i {
    background: url(../images/img/rating-sprit.png) no-repeat;
    height: 9px;
    width: 50px;
    margin: 0;
}
.temoignages .col-left .avis-0 {
  background-position: 0 0 !important;
}
.temoignages .col-left .avis-1 {
  background-position: 0 -11px !important;
}
.temoignages .col-left .avis-2 {
  background-position: 0 -22px !important;
}
.temoignages .col-left .avis-3 {
  background-position: 0 -32px !important;
}
.temoignages .col-left .avis-4 {
  background-position: 0 -43px !important;
}
.temoignages .col-left .avis-5 {
  background-position: 0 -53px !important;
}
.temoignages .col-left .avis-6 {
  background-position: 0 -65px !important;
}
.temoignages .col-left .avis-7 {
  background-position: 0 -75px !important;
}
.temoignages .col-left .avis-8 {
  background-position: 0 -85px !important;
}
.temoignages .col-left .avis-9 {
  background-position: 0 -95px !important;
}
.temoignages .col-left .avis-10 {
  background-position: 0 -105px !important;
}
.avis-t {
    display: flex;
    align-items: center;
    gap: 10px;
}
.slide-temoignage .avis-t {
    justify-content: center;
    margin: 10px 0 5px;
}
.Mobile .slide-temoignage .avis-t {
    flex-wrap: wrap;
    gap: 0;
}
.temoignages .col-left img.google {
    width: 36px;
    height: 15px;
    object-fit: contain;
}
.sa-titre {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    align-items: center;
    margin: 0 0 40px;
}

.sa-item {
    background: #e3e8ed;
    padding: 50px;
    position: relative;
    margin: 0 20px;
    height: 350px;
}
.Tablet .sa-item,
.Mobile .sa-item { 
    padding: 20px; 
    margin: 0 10px;
}
.sa-item:after{
    content: "";
    position: absolute;
    right: 20px;
    bottom: 20px;   
    width: 40px;
    height: 40px; ;
     background-image: url(../images/img/right-quote.svg);
     background-size: contain;
}
.sa-content .avis {
    margin: 0 0 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}
.sa-item p {
    font-style: italic;
    font-size: 18px;
    margin: 0 0 30px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.avis-nom img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}
.sa-item .avis b {
    display: flex;
    align-items: center;
    gap: 15px;
}
section.section-avis .btn-content {
    display: flex;
    justify-content: center;
    margin: 40px 0 0;
}
.titreAvis {
    font-size: 36px;
    font-weight: 600;
    padding: 30px 60px;
    border-bottom: 2px solid #F2F3F6;
    margin-bottom: 30px;
    color: #000;
}
.Mobile .titreAvis {
    font-size: 28px; 
    padding: 0 0 20px; 
    margin: 0;
}
.avis-nom span {
    text-transform: capitalize;
}


._avis_btn a {
    background: #03497e;
    color: #fff;
    padding: 14px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 5px;
    display: block;
    width: max-content;
}
._avis_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px 0 0;
}

/*========================= FIN AVIS =========================*/
/*----------------------------------------------------------
MENTIONS
---------------------------------------------------------*/
.mentions h2 {
    padding: 20px 0;
    font-size: 28px;
    font-weight: 600;
    text-transform: uppercase;
}
.mentions ol {
    max-width: 100%;
    width: 80%;
    margin: auto;
    padding: 0 0 30px;
}
body.Mobile.mentions ol {
    width: 100%; 
    padding:0 20px 20px;
}
.mentions h3 {
    font-size: 20px; 
    font-weight: 600;
    margin: 30px 0 15px;
}
.page-mention {
    margin-top: 150px;
    padding: 100px 0 0;
}
.Mobile .figure-cover{ 
    height: 250px; 
}
.Tablet .temoinBlock, .Tablet #realisations, .Tablet .ContactezNous , .Tablet .devis-section,
.Mobile .temoinBlock, .Mobile #realisations, .Mobile .ContactezNous , .Mobile .devis-section{ 
    padding: 200px 0 60px;
}
.Mobile footer#footer, .Tablet footer#footer {
    margin: 0 0 47px;
}
.Tablet .ContactezNous .row > div ,
.Tablet #footer .row > div {
  width: 100%;
}
.Tablet #footer ul ,
.Tablet .info-footer{
  column-count: 2;
}
.Tablet .figure-cover {
  height: 450px !important;
}
/*----------------------------------------------------------------------------------- 
MESSAGES 
-----------------------------------------------------------------------------------*/

div#Messages {
    text-align: center;
    background-color: #000;    
    padding: 10px;
    width: 100%;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
}

div#Messages p {
    margin: 0;
    color: #fff;     
    font-size: 20px;
}
.Tablet div#Messages p,
.Mobile div#Messages p {
    font-size:14px;
}
section.Block.Block2 .shape.spin img {
    width: 180px;
    height: 180px;
    object-fit: contain;
}
img.logo_d {
    width: 90px;
    height: 60px;
    object-fit: contain;
}
.devis-shape-wrap .shape.spin img {
    width: 139px;
    height: 139px;
    object-fit: contain;
}
.Mobile .devis-shape-wrap .shape.spin img {
    width: 100px;
    height: 100px; 
}

.prestations-carrousel-item .icon:before {
    color: #fff;
    line-height: 1.2;
}
.Mobile .copyright a {
    display: block;
    margin: 15px 0;
}
li.nav-item-footer {
    margin: 0 0 15px;
}
p.hor {
    display: flex;
}