* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Calibri', sans-serif;
    transition: all .3s ease;
    outline: none;
}




/* 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;
}
body {
    color: #333;
    background-color: #fff;
    line-height: 1.6;
    font-size: 15px;
    overflow-x: hidden;
}
h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    display: block;
    line-height: normal;
    margin-bottom: 20px;
    color: #063232;
    font-weight: 500;
}

h1, .h1 { font-size: clamp(32px, 5vw, 40px); }
h2, .h2 { font-size: clamp(28px, 4vw, 36px); }
h3, .h3 { font-size: clamp(24px, 3.5vw, 32px); }
h4, .h4 { font-size: clamp(20px, 3vw, 24px); }
h5, .h5 { font-size: clamp(18px, 2.5vw, 20px); }

.grid-col-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.grid-col-3{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.grid-col-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.gap-20{
   gap: 20px;
}
.gap-50{
   gap: 50px;
}
.gap-100{
   gap: 100px;
}
.Mobile .grid-col-2,
.Mobile .grid-col-3{
    grid-template-columns: 100%;
    gap: 30px;
}
a {
    text-decoration: none;
    color: inherit;
}
section{
    padding: 100px 0;
}
.Tablet section,
.Mobile section{
    padding: 50px 0;
}

.container{
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 15px;
} 
.Tablet .container{
    max-width: 720px;
}
.Mobile .container{
    width: 100%;
    padding: 0 20px;
} 

.icon{
    position: relative;
    padding: 12px;
}
.icon:before {
    content: "";    
    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-horloge.png);
}

/* --- HEADER --- */
.header-fixed {
    width: 100%;
    background-color: #fff; 
    position: relative;
    z-index: 999;
    padding: 0 0 20px;
}
body:not(.Desktop) .header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    display: flex;
    flex-direction: column-reverse;
}
.homeslider {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0 20px;
}
.Mobile .homeslider {
    margin-top: 240px;
}
.Tablet .homeslider {
    margin-top: 173px;
}
.top-bar {
    background: #2a383d;
    color: #fff; 
    padding: 10px 0;
    font-size: 14px;
}
.top-bar-content{
    display: flex;
    justify-content: space-between;
}
.contact-info {
    display: flex;
    align-items: center;
    gap: 20px;
}
body:not(.Desktop) .contact-info {
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  width: 100%;
}
body:not(.Desktop) .contact-info a {
    display: flex;
    background: #114225;
    padding: 12px;
    border-radius: 900px;
}

.top-bar .contact-info span { 
  margin-left: 15px; 
}
.top-bar .icon:before {
    filter: invert(1);
}
.top-navigation {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 20px;
    background: #fff;
    margin: auto;
    max-width: 1500px;
}
body:not(.Desktop) .top-navigation { 
    width: 100%;
    align-items: center;
}
body:not(.Desktop) .info {
    display: none;
}
.top-navigation .logo { 
  font-size: 24px; 
  font-weight: bold; 
  color: #1e392a; 
}

.logo_top {
    padding: 5px 0 0;
}
a.logo img {
    width: 250px;
    height: 76px;
    object-fit: contain;
}
body:not(.Desktop) a.logo img {
    width: 229px;
    height: 70px;
    object-fit: contain;
}
.header-bar {
  position: relative;
  width: 28px;
  height: 18px;
}
.header-bar span {
  position: absolute;
  width: 100%;
  height: 2px;
  display: inline-block;
  transition: all 0.3s;
  left: 0;
  background: #222;
  overflow: hidden;
}

.header-bar span:first-child {
  top: 0; 
  left: 0;
  width: 15px;
}
.header-bar  span:nth-child(2) {
  top: 44%; 
  width: 25px;
}
.header-bar span:last-child {
  bottom: 0; 
  width: 15px;
} 
.header-bar.active span:first-child {
  transform: rotate(45deg) translate(3px, 9px);
}
.header-bar.active span:nth-child(2) {
  opacity: 0;
}
.header-bar.active span:last-child {
  transform: rotate(-45deg) translate(3px, -9px);
}


.top-navigation nav a {
    margin: 0 12px;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    text-align: center;
}
.Desktop .top-navigation nav a {
    padding: 20px 0;
    font-weight: 600;
}
li.nav-item.active > a {
    color: #114225;
}
.Desktop nav#menu {
    width: 60%;
    height: 100%;
}
body:not(.Desktop) nav#menu {
    display: none;
    position: absolute;
    top: 100%;
    background: #fff;
    width: 100%;
    max-height: 400px;
    overflow: scroll;
    left: 0;
}
ul.nav-list {
    display: flex;
    list-style: none;
    gap: 10px;
    height: 100%;
    align-items: center;
}
body:not(.Desktop) ul.nav-list{
    display: block;
}

.nav-menu a {
    text-decoration: none;
    color: #333;
    font-weight: 600;
    font-size: 13px;
    transition: color 0.2s;
    text-align: center;
    display: block;
}
body:not(.Desktop) .nav-menu a {
    padding: 10px;
}
.nav-menu > a:hover,
.nav-item.Active > a {
    color: #502a16;
}
.nav-item {
    position: relative;
}

.Desktop .nav-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
body:not(.Desktop) li.nav-item > a {
    padding: 10px;
    display: block;
}
.nav-submenu {
    display: none;
    position: absolute;
    top: 100%;
    background: #fff;
    width: max-content;
} 
.nav-item:hover .nav-submenu{
    display: block; 
}
li.nav-submenu-item a {
    padding: 12px;
    display: block;
}
.Desktop li.nav-submenu-item.active {
    background: #32ab4b;
}
body:not(.Desktop) li.active > a {
    background: #32ab4b;
}
li.nav-submenu-item {
    list-style: none;
}

body:not(.Desktop) ul.nav-submenu {
    display: block;
    position: relative;
    top: inherit;
    width: 100%;
}

.btn-quote {
    background: #114225;
    color: #fff;
    border: none; 
    cursor: pointer;  
    border-radius: 0 0 12px 12px;
    padding: 31px 40px;
    font-size: 16px;
    font-weight: 600;
}
/* Homeslider */
.slider {
    position: relative;
    height: 900px;
    display: flex;
    align-items: center;
    margin: 0;
    border-radius: 30px;
    overflow: hidden;
    width: 100%;
}
.Mobile .slider {
    height: 400px;
} 
.Tablet .slider {
  height: 600px;
}
.img-full {
    background-repeat: no-repeat;
    position: absolute;
    inset: 0;
    background-color: #939393;
    z-index: 1;
    background-blend-mode: multiply;
    background-size: cover;
}
.caption {
    position: absolute;
    z-index: 2; 
    width: 100%;
    color: #fff;
    z-index: 3;
    top: 40%;
    transform: translateY(-50%);
}
.Mobile .caption {  
    top: 23%; 
}

.caption-grid {
    display: grid;
    grid-template-columns: 1fr 40%;
    gap: 50px;
    align-items: center;
}
body:not(.Desktop) .caption-grid{
    grid-template-columns: 100%;
}
.caption .tag {
    color: #32ab4b;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    text-shadow: 0 0 5px #000;
}
.Desktop.ville .title-slider::first-line, .title-slider {
    font-size: 50px;
    color: #fff;
    font-weight: 900;
    font-style: normal;
    text-transform: uppercase;
    margin: 30px 0;
    font-family: Arial;
}
.Desktop.ville .title-slider {
    line-height: normal;
    font-size: 38px;
    color: #ffffff;
    font-weight: 500;
    /* margin: 0; */
    font-style: italic;
    text-transform: none;
}
.Mobile .title-slider {
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
}
.btn-main {
    background: #114225;
    color: #fff;
    padding: 12px 30px 12px 12px;
    text-decoration: none;
    display: inline-block;
    border-radius: 0 30px 0 0;
    font-weight: 600;
    line-height: 2;
    font-size: 16px;
    position: relative;
    overflow: hidden;
    border: none;
    cursor: pointer;
}
.btn-main::before {
  content: "";
  height: 0px;
  width: 0px;
  background-color: #ededed;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.5s ease-in-out;
  z-index: 0;
}
.btn-main span {
    position: relative;
}
.btn-main:hover span {
  color: #333;
}

.btn-main:hover::before {
  height: 400px;
  width: 200%;
  top: -70%;
  left: -46%;
}
.engagement {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 40px 5%;
  background: #f8f9f5;
}
.card {
  background: #fff;
  padding: 25px;
  border-bottom: 3px solid #114225;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.card .num {
 color: #114225; 
 font-weight: bold; 
 font-size: 18px; 
 display: block; 
 margin-bottom: 8px; 
}
.card .h3 {
 color: #1e392a; 
 margin-bottom: 10px; 
}
.card p {
 color: #666; 
 font-size: 14px; 
 line-height: 1.5; 
}
.actions {
    display: flex;
}
body:not(.Desktop) .actions{
    display: none;
}
.publicite {
    position: absolute;
    left: 40px;
    bottom: 20px;
    z-index: 2;
    border-radius: 0 30px;
    background: #114225;
    padding: 10px 25px 10px 10px;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    z-index: 3;
}
.Tablet .publicite {
  max-width: 80%;
}
.Mobile .publicite {
    position: relative;
    bottom: 0;
    left: 0;
    margin: 20px 0 0;
    display: grid;
    gap: 20px;
    justify-content: center;
    text-align: center;
    padding: 20px;
}
.pub-img img {
    width: 250px;
    height: 165px;
    object-fit: cover;
    display: block;
    background: #fff;
    border-radius: 20px;
}
.Tablet .pub-img img {
  width: 165px;
  height: 165px; 
}
.Mobile .pub-img img {
    width: 100%;
}
.pub-urgence {
  width: 150px;
  height: 150px;
  line-height: 150px;
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.08);
  text-align: center;
  position: relative;
  flex: 0 0 150px;
}
.Mobile .pub-urgence {
    margin: auto;
}
.pub-urgence > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
    animation: cir36 10s linear infinite;
}
@keyframes cir36 {
  100% {
    transform: rotate(360deg);
}
}
.pub_txt {
    color: #fff;
    font-weight: 600;
    font-size: 18px;
}
.pub-urgence span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px dashed rgba(255, 255, 255, 0.44);
    width: 85px;
    height: 85px;
    line-height: 85px;
    text-align: center;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pub-urgence span img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    filter: invert(1);
}
.shape_liste {
    position: absolute;
    top: 20px;
    height: 100%;
    width: 100%;
    overflow: hidden; 
    left: 0;
}
img.shape-1 {
    width: 300px;
    height: 294px;
    object-fit: contain;
    right: 0;
    top: 0;
    animation: float-bob-y 3s infinite linear;
    display: block;
    position: absolute;
    z-index: 3;
}
.Mobile img.shape-1 {
    width: 100px;
    height: 100px; 
}
img.shape-2 {
    position: absolute;
    width: 187px;
    height: 187px;
    object-fit: contain;
    left: 46%;
    top: 60px;
    z-index: 1;
    animation: float-bob-y 3s infinite linear;
}
.Mobile img.shape-2 { 
    width: 100px;
    height: 100px; 
}
img.shape-3 {
    position: absolute;
    left: 53%;
    top: 230px;
    width: 132px;
    height: 135px;
    object-fit: contain;
    z-index: 1;
}
img.shape-4 {
    position: absolute;
    left: 29%;
    bottom: 120px;
    width: 378px;
    height: 342px;
    object-fit: contain;
    z-index: 1;
}
.Mobile img.shape-4 { 
    left: 29%;
    bottom: 205px;
    width: 150px;
    height: 150px; 
}
img.shape-5 {
    position: absolute;
    right: 80px;
    bottom: 50px;
    width: 73px;
    height: 74px;
    object-fit: contain;
    z-index: 1;
    animation: float-bob-x 3s infinite linear;
}
@keyframes float-bob-y {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
}

50% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
}

100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
}
}

@keyframes float-bob-x {
  0% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
}

50% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
}

100% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
}
}

.Mobile .Mobile img.shape-3,
.Mobile .Mobile img.shape-3{
    display: none;
}
footer {
    margin: 0 20px 20px;
    border-radius: 0 100px 0 0;
    overflow: hidden;
}
.footer-top {
    background: #32ab4b ;
    background-size: initial;
    background-repeat: repeat;
    position: relative;
    background-blend-mode: overlay;
}
.footer-top .grid-col-2 {
    align-items: center;
    z-index: 1;
    position: relative;
}
.Tablet .footer-top .grid-col-2 { 
  grid-template-columns: 100%;
  padding: 40px 0 0;
}
.Mobile .footer-top .grid-col-2 {
    padding: 20px 0 0;
}
.Mobile .logo-footer {
    display: flex;
    justify-content: center;
}
.logo-footer .logo {
    background: #fff;
    display: flex;
    width: fit-content;
    padding: 5px;
    border-radius: 20px;
}
.footer-top-item {
    position: relative;
}
.footer-top-item > span {
    font-size: 16px;
    font-weight: 600;
    color: #2a383d; 
    margin-bottom: 15px;
    text-transform: capitalize;
    display: inline-block;
}
.Tablet .footer-top .footer-top-item:last-child {
  margin: 30px 0 0;
  border-top: dashed 1px #333;
}
.cta-shape_liste {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}
img.cta-shape-1 {
    position: absolute;
    left: 0;
    bottom: 0;
    animation: dance 2s alternate infinite;
    width: 180px;
    height: 174px;
    object-fit: contain;
}
.Mobile img.cta-shape-1{
    display: none;
}
@keyframes dance {
  0% {
    -webkit-transform: scale(0.8);
}

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

img.cta-shape-2 {
    position: absolute;
    right: 0;
    bottom: 30px;
    width: 228px;
    height: 143px;
    object-fit: contain;
    animation: float-bob-y 3s infinite linear;
}
.Mobile img.cta-shape-2 { 
    top: 20%; 
}
img.cta-shape-3 {
    position: absolute;
    left: 40%;
    bottom: 30px;
    width: 82px;
    height: 119px;
    object-fit: contain;
    animation: float-bob-y 3s infinite linear;
}
.Mobile img.cta-shape-3 { 
    left: 70%;
    bottom: 128px; 
}
.Tablet img.cta-shape-3 {
  top: 45%;
  bottom: initial;
  left: 20%;
}
.footer-midlle {
    background: #2a383d ;
    background-size: initial;
    background-repeat: repeat;
    padding: 100px 0;
    color: #fff;
}
.Mobile  .footer-midlle {
    padding: 50px 0;
}
.footer-bottom {
    background: #114225 ;
    background-size: initial;
    background-repeat: repeat;
    color: #fff;
    position: relative;
}
.footer-bottom::before {
    content: "";
    width: 240px;
    height: 265px;
    display: block;
    background-image: url(../images/img/pata-1.webp);
    background-size: contain;
    position: absolute;
    bottom: 75px;
    left: 0;
    z-index: 0;
    opacity: .5;
}
.footer-bottom::after {
    content: "";
    width: 310px;
    height: 242px;
    display: block;
    background-image: url(../images/img/pata-2.webp);
    background-size: contain;
    position: absolute;
    bottom: 75px;
    right: 0;
    z-index: 0;
}
.footer-bottom > div {
    position: relative;
    z-index: 1;
}
 
.logoDivers-footer {
    border-radius: 0 0 83.5px 83.5px;
    width: 158px;
    height: 224px;
    background: #084d36;
    position: absolute;
    right: 100px;
    top: 0;
}
.Mobile .logoDivers-footer {
    border-radius: 0 83.5px 83.5px 0;
    width: 224px;
    height: 158px;
    position: relative;
    right: 20px;
}
.logoDivers-footer img {
    width: 150px;
    height: 140px;
    object-fit: contain;
    position: absolute;
    top: 90px;
    left: 6px;
    transform: translate(-50%, -50%);
    animation: float-bob-y 3s infinite linear;
}
.Mobile .logoDivers-footer img {
    animation: float-bob-x 3s infinite linear;
    top: 15px;
    left: 40px;
}
.footer-top-img {
    display: flex;
    padding: 100px 0 0;
}

.footer-top-img img {
    width: 344px;
    height: 377px;
    object-fit: contain;
    display: block;
}
.Tablet .footer-top-img img { 
  left: 20%;
  position: relative;
}
.Mobile .footer-top-img img {
    width: 229px;
    height: 250px;
    object-fit: contain;
}
.footer-top-item .h2 {
    font-size: 42px;
    color: #000000;
}
.Mobile .footer-top-item .h2 {
    font-size: 30px; 
}
input#mail2 {
    display: none;
}
.footer-midlle-grid {
    display: grid;
    grid-template-columns: 40% 60%;
    justify-content: center;
    align-items: center;
}
.Mobile .footer-midlle-grid {
    grid-template-columns: 100%;
    gap: 30px;
    text-align: center;
}
form#rappel_immediat {
    position: relative;
    max-width: 532px;
    display: block;
    margin: 30px 0 0;
}
form#rappel_immediat .form-input {
    width: 100%;
    outline: none;
    border: none;
    color: #fff;
    background: transparent;
    line-height: 1;
    position: relative;
    z-index: 1;
    padding: 16px 0;
    padding-right: 31% !important;
    max-width: 532px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
form#rappel_immediat .form-input::placeholder{
    color: #fff;
}
form#rappel_immediat input.btn {
    position: absolute;
    right: 2px;
    bottom: 5px;
    background: #32ab4b;
    color: #063232;
    z-index: 3;
    border-radius: 6px;
    padding: 18px 20px;
    border: none;
    font-size: 16px;
    font-weight: 600;
}
.Mobile form#rappel_immediat input.btn {
    position: relative;
    bottom: 0;
    margin: 15px 0 0;
    width: 100%;
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    padding: 100px 0;
}
.Mobile .footer-grid { 
    grid-template-columns: 100%;
    gap: 30px;
    padding: 50px 0;
}
.col-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 32px;
    color: #FFFFFF; 
    margin: 0 0 30px;
}
.footer-bottom li {
    list-style: none;
    position: relative;
    margin: 0 0 15px;
    padding-left: 20px;
}
.footer-bottom li::before {
    content: "»";
    font-size: 18px;
    position: absolute;
    left: 0;
    top: 0;
    line-height: normal;
    color: #32ab4b;
}

.cr-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 15px;
}
.cr-item .icon:before {
    filter: brightness(0) invert(1);
}
.copyright {
    padding: 20px 0;
    border-top: dashed 1px #fff;
}
.copyright-flex {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.Mobile .copyright-flex {
    justify-content: center;
    text-align: center;
}
.copyright-flex span {
    display: flex;
    gap: 10px;
    align-items: center;
}
.copyright img { 
    width: 150px;
    height: 25px;
    object-fit: contain;
}

.subtitle {
    font-size: 16px;
    font-weight: 600;
    color: #114225;
    font-family: "Parkinsans", sans-serif;
    margin-bottom: 15px;
    text-transform: capitalize;
    display: inline-block;
}
section.block1 h1 {
    color: #084d36;
}
.btn-content {
    margin: 30px 0 0;
    display: flex;
}
section.block1 .grid-col-2 {
    align-items: center;
}
.Tablet section.block1 .grid-col-2 {
  grid-template-columns: 100%;
  gap: 100px;
}
.block1-img {
    display: flex;
    justify-content: center;
    position: relative;
}
.Mobile .block1-img {
    flex-wrap: wrap;
    gap: 20px;
}
.block1-img > img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    background: #eee;
    display: block;
    border-top-right-radius: 380px;
    max-width: 468px;
}

.block1-img > span {
    position: absolute;
    right: 0;
    top: 40px;
    animation: float-bob-y 3s infinite linear;
}
.block1-img > span img {
    width: 200px;
    height: 200px;
    object-fit: contain;
}
.Mobile .block1-img > span img {
    width: 150px;
    height: 150px; 
}
.scrolling-animate { 
    display: flex;
    align-items: center;
    animation: scroll 60s linear infinite;
    gap: 40px; 
}
@keyframes scroll {
  0% {
    transform: translateX(0);
}

100% {
    transform: translateX(-100%);
}
}

.scrolling-animate div {
    font-size: 88px;
    color: rgb(135 135 135 / 63%);
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    position: relative;
    width: max-content;
}
.Mobile .scrolling-animate div {
    font-size: 30px; 
}
.scrolling-wrap {
    display: flex;
    overflow: hidden;
    margin: 30px 0;
}
.block1-pub {
    background-color: #114225;
    text-align: center;
    padding: 50px 50px 60px;
    position: absolute;
    left: 0;
    bottom: -130px;
    border-radius: 16px;
    color: #fff;
    z-index: 9;
    outline-offset: -12px;
    outline: 1px dashed #fff;
}
.Tablet .block1-pub { 
  bottom: -50px; 
}
.Mobile .block1-pub {
    position: relative;
    border: 0;
    bottom: 0;
    width: 100%;
}
.icon-image {
    width: 110px;
    height: 110px;
    background-size: contain;
    background-position: center;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../images/img/about-box-icon.webp);
}
.icon-image img {
    width: 51px;
    height: 51px;
    object-fit: contain; 
}
.stat {
    text-align: center;
    margin: 30px 0 0;
}
.stat strong {
    font-size: 50px;
    font-weight: 900;
}
.stat span {
    font-size: 18px;
    font-weight: 600;
}
.cat-top {
    background: #f2f5ec;
    border-radius: 15px 15px 0 0;
    position: relative;
    padding: 150px 0 100px;
}
.Mobile .cat-top{
    padding: 50px 0;
}
.cat-top:before {
    content: "";
    position: absolute;
    width: 299px ;
    height: 269px;
    left: 0;
    bottom: 0;
    display: block;
    background-image: url(../images/img/shape-1-1.webp);
    background-size: contain;
    background-position: center;
    z-index: 0;
}
.cat-top:after {
    content: "";   
    position: absolute;
    width: 137px;
    height: 201px;
    right: 5%;
    top: 25px;
    display: block;
    background-image: url(../images/img/shape-2-1.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 0;
}
.Mobile .cat-top:after { 
    width: 100px;
    height: 100px; 
}
.categorie {
    margin: 0 20px;
}
.categorie-grid {
    display: grid;
    grid-template-columns: 1fr 20%;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 0 0 100px;
    position: relative;
    z-index: 1;
}
.Mobile .categorie-grid,
.Tablet .categorie-grid {
    grid-template-columns: 100%;
}
.marg-cat {
    margin: 0 0 -250px;
}
body:not(.Desktop) .marg-cat {
    margin: 0 0 -200px;
}
.categorie-liste {
    display: flex;
    overflow: hidden;
    gap: 20px; 
    position: relative;
    z-index: 2;
}
.categorie-item {
    padding: 60px 35px;
    text-align: center;
    background-color: #fff;
    box-shadow: 10px 8px 34px 16px rgba(10, 3, 46, 0.03);
    border-radius: 0 100px 0 0;
    margin-top: 30px;
    outline-offset: -12px;
    outline: 1px dashed rgba(153, 165, 55, 0.35);
    position: relative;
    overflow: hidden;
}
.Desktop .categorie-item { 
    min-height: 278px;
    display: block;
}
.categorie-item.slick-slide {
    margin: 0 10px;
}
.Desktop .categorie-item {
    min-width: 235px;
}
.categorie-item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #114225;
    border-radius: 0;
    z-index: -1;
    transform: scale(1, 0);
    transition: transform 500ms ease;
    transform-origin: bottom center; 
}
.categorie-item:hover::after,
.categorie-item.active::after {
  transform: scale(1, 1);
  transform-origin: top center;
  z-index: 1;
}
.cat-card {
    position: relative; 
    z-index: 2;
}
.categorie-item:hover img ,
.categorie-item.active img {
  animation: zoomIn 0.5s linear;
  filter: brightness(0) invert(1) brightness(1.2);
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.5);
}

to {
    opacity: 1;
    transform: scale(1);
}
}
.cat-image img {
    width: 77px;
    height: 77px;
    object-fit: contain;
    display: block;
    margin: 0 auto 30px;
}
.cat-ancre {
    font-size: 16px;
    font-weight: 600;
}
.categorie-item:hover .cat-ancre,
.categorie-item.active .cat-ancre{
    color: #fff;
}
.cat-bottom {
    display: block;
    position: relative;
    display: flow-root;
    border-radius: 0 0 15px 15px;
    overflow: hidden;
    padding: 200px 0 100px;
}
.cat-bottom:before {
    background-image: linear-gradient(180deg, #21353EE6 0%, #21353EE6 100%);
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 1;
}
.cat-bottom:after {
    content: "";
    bottom: 0;
    left: 0;
    width: 170px;
    height: 148px;
    display: block;
    background-image: url(../images/img/shape-4-1.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
    position: absolute;
    z-index: 1;
}
.cat-bottom:after { 
    width: 100px;
    height: 100px; 
}
.cat-bottom-content {
    margin: -150px 0 100px;
    position: relative;
}
.block2 { 
    position: relative;
    color: #fff;
    z-index: 3;
}
.block2 h2,
.block2 h3{
    color: #fff;
}
.engagement_liste {
    color: #063232;
    font-weight: 600;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 30px 0 0;
    gap: 15px;
    align-items: center;
    justify-content: center;
}
.engagement_liste img {
    width: 33px;
    height: 33px;
    object-fit: contain;
}
.Mobile .engagement_liste {
    grid-template-columns: 100%;
}
.engagement_liste > div {
    display: flex;
    align-items: center;
    gap: 10px;
}
section.block3 .subtitle { 
    display: block;
    width: fit-content;
    margin: 0 auto 15px;
}
section.block3 .h1 {
    margin: 0 0 100px;
    text-align: center;
}
.Mobile section.block3 .h1 {
    margin: 0 0 50px; 
}
.block3-img img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    background: #eee;
    display: block;
    border-top-right-radius: 380px;
    max-width: 468px;
}
.Tablet .block3-img img { 
  height: 400px; 
  max-width: 100%;
}
section.block3 {
    position: relative;
}
.block3:before {
    content: "";
    position: absolute;
    width: 106px;
    height: 108px;
    display: block;
    top: 145px;
    left: 20%;
    background-image: url(../images/img/frout.webp);
    background-size: contain;
    animation: float-bob-y 3s infinite linear;
    z-index: -1;
}
.Mobile .block3:before{
    width: 100px;
    height: 100px;
}
.block3:after {
    content: "";
    position: absolute;
    width: 381px;
    height: 233px;
    top: 150px;
    right: 0;
    display: block;
    background-image: url(../images/img/shape-3-1.webp);
    background-repeat: no-repeat;
    background-size: contain;
    animation: float-bob-y 3s infinite linear;
    z-index: -1;
}
.Mobile .block3:after { 
    width: 150px;
    height: 100px; 
}
.block3-img {
    display: flex;
    justify-content: center;
}
.block4-item {
    border-radius: 0 80px 0 0;
    background: var(--white);
    box-shadow: 8px 6px 51.3px 151px rgba(10, 3, 46, 0.03);
    padding: 45px 40px;
    overflow: hidden;
    position: relative;
    border: solid 2px #084d36;
}
.Mobile .block4-item {
    padding: 20px;
}
.block4-item:before{
    content: "";
    position: absolute;
    top: 30px;
    left: 30px;
    background-image: url(../images/img/feature-shape-1.webp);
    width: 51px;
    height: 100px;
    display: block;
    z-index: 0;
}
.block4-item:after{
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    background-image: url(../images/img/feature-shape-2.webp);
    width: 51px;
    height: 100px;
    display: block;
    z-index: 0;
}
.block4-item img {
    width: 75px;
    height: 75px;
    object-fit: contain;
    margin: 0 auto 20px;
    display: block;
}
.block4-item h2 { 
    text-align: center;
    padding: 0 0 30px;
    margin: 0 0 30px;
    position: relative;
}
.block4-item h2:before {
    content: "";
    position: absolute;
    width: calc(100% + 60px);
    height: 1px;
    border-top: dashed 1px #333;
    left: -30px;
    bottom: 0;
}


.btn-dashed {
    position: relative;
    display: flex;
    margin: 30px 0 0; 
}
.btn-dashed:before {
    content: "";
    position: absolute; 
    width: calc(100% + 60px);
    height: 1px;
    left: -30px;
    top: 50%;
    border-top: dashed 1px #084d36;
    z-index: 0;
}
.btn-dashed a.btn {
    padding: 12px;
    font-weight: 600;
    border: solid 1px #084d36;
    border-radius: 900px;
    margin: auto;
    background: #fff;
    position: relative;
}
.btn-dashed a.btn:hover { 
    background: #32ab4b; 
}
.block5 {
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.block5-grid {
    display: grid;
    grid-template-columns: 1fr 30%;
    gap: 50px;
    align-items: center;
}
.Tablet .block5-grid,
.Mobile .block5-grid {
    grid-template-columns: 100%;
    gap: 20px;
}
.block5-txt {
    display: grid;
    gap: 30px;
}
.block5-txt1 {
    background-color: #144b24;
    border-left: solid 5px #32ab4b;
    color: #fff;
    padding: 40px;
    border-radius: 12px;
    width: 80%;
    margin-left: 20%;
}
.block5-txt1 h2 {
    color: #3ac757;
}
.block5-txt2 {
    background-color: #fff;
    border-left: solid 5px #144b24;
     width: 80%;
    padding: 40px;
    border-radius: 12px;
}
.Mobile .block5-txt1,
.Mobile .block5-txt2 {
    padding: 20px;
    margin: 0;
    width: 100%;
}
.block5-img img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
    background: #eee;
    border-radius: 30px;
}
.Tablet .block5-img img{
    height: 400px;
}
.Mobile .block5-img img{
    height: 250px;
}
.presta1 {
    background: #2a383d ;
    position: relative;
}
section.presta1:before {
    content: "";
    width: 100%;
    height: 50%;
    bottom: 0;
    left: 0;
    display: block;
    background: #fff;
    position: absolute;
    z-index: 0;
}
section.presta1:after {
    content: "";
    background-image: url(../images/img/service-shape-1.webp);
    width: 374px;
    height: 500px;
    display: block;
    position: absolute;
    top: 50px;
    z-index: 0;
    left: 100px;
    opacity: .8;
}
section.presta1 .container {
    position: relative;
    z-index: 1;
}
.presta1 .h1 {
    margin: 0 0 100px;
    text-align: center;
    color: #fff;
}
.presta1-item {
    background-color: #fff;
    box-shadow: rgba(10, 3, 46, 0.03) 10px 8px 34px 16px;
    position: relative;
    border-radius: 0 100px 0 0;
    padding: 40px 10px 20px;
    transition: 0.4s ease-in-out;
}
.presta1-icon {
    padding: 0 20px;
    display: block;
}
.presta1-icon img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    margin: 0 0 30px;
    display: block;
} 
.presta1-item:hover img {
    animation: zoomIn 0.5s linear;
}
.presta1-item h2 {
    padding: 0 20px;
    font-size: 24px;
}
.presta1-contenu{
    background: linear-gradient(rgba(153, 165, 55, 0.09) 0%, rgba(153, 165, 55, 0) 100%);
    padding: 20px;
    border-radius: 12px;
}
section.block3 .grid-col-2 {
    align-items: center;
}
.Tablet section.block3 .grid-col-2 { 
  grid-template-columns: 100%;
}
input#mail{
    display: none;
}
.form-input {
    border-radius: 2px;
    border: 1px solid rgba(0, 53, 102, 0.12);
    background: #fff;
    line-height: 1;
    padding: 20px 25px;
    width: 100%; 
    color: #666;
}
form#FormDevis {
    display: grid;
    gap: 15px;
}
.Mobile form#FormDevis { 
    grid-template-columns: 100%;
}
.devis-slider .Devisgratuit {
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgb(255 255 255 / 80%);
    padding: 50px 40px;
    max-width: 450px;
}
textarea.form-input {
    height: 100px;
    min-height: 100px;
}

.btn-slider {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
body.contact textarea.form-input, 
body.contact  input.btn-main,
body.devis textarea.form-input, 
body.devis  input.btn-main {
    grid-column: span 2;
    width: 100% !important;
    display: block;
}
body.Mobile.contact textarea.form-input, 
body.Mobile.contact  input.btn-main,
body.Mobile.devis textarea.form-input, 
body.Mobile.devis  input.btn-main {
    grid-column: span 1; 
}
body.contact  .Devisgratuit,
body.devis .Devisgratuit {
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    padding: 50px 40px;
    max-width: 800px;
    margin: 0 auto;
}
body.Mobile.contact .Devisgratuit,
body.Mobile.devis .Devisgratuit{
    padding: 20px;
}
.contact-item .h4 {
    font-size: 20px;
    margin: 0 0 10px;
}
.contact-item {
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    padding: 30px;
    max-width: 800px; 
    display: flex;
    gap: 20px;
    align-items: center;
}
.Tablet .contact-item {
  width: fit-content;
  margin: auto;
}
.contact-item span {
    width: 60px;
    height: 60px;
    background: #32ab4b;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex: 0 0 60px;
}
.contact-item .icon:before {
    width: 30px;
    height: 30px;
}
section.Block-contact .grid-col-3 {
    margin: 0 0 100px;
}
body:not(.Desktop) section.Block-contact .grid-col-3{
    grid-template-columns: 100%;
}
div#Map {
    border-radius: 20px;
    z-index: 0;
    height: 100%;
}
.Tablet div#Map { 
    height: 400px;
}
.Mobile div#Map { 
    height: 250px;
}
.Mobile .block1-img > img ,
.Mobile .block3-img img{
    width: 100%;
    height: 250px; 
    border-top-right-radius: 200px; 
}


/*========================= 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;
}
.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: #f2f5ec;
    border-radius: 20px;
    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: 20px;
}


h1.Titrecontenu {
    font-size: 36px;
    margin-bottom: 2rem;
}
.Mobile h1.Titrecontenu {
    font-size: 22px;
}
h2.Titrecontenu {
    color: #114225;
}
#avis_form {
    margin-top: 15px;
    display: grid;
    gap: 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 {
    display: flex;
    overflow: hidden;
}
.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: #f2f5ec; */
    padding: 50px;
    position: relative;
    margin: 0 20px;
    height: 350px;
    border: solid 2px #084d36;
    border-radius: 0 100px 0 0;
}
.Desktop .sa-item {
    min-width: 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 #084d36;
    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: #084d36;
    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 =========================*/

.Tablet .block4 .grid-col-2,
.Tablet .presta1 .grid-col-3,
.Tablet .Block-contact .grid-col-2,
.Tablet .footer-grid{
    grid-template-columns: 100%;
    gap: 50px;
}
.Tablet .footer-col ul {
  column-count: 2;
}
.Tablet .cf_liste {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
/*----------------------------------------------------------
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;
}
  
.Desktop .top-bar i.icon {
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    border-radius: 4px;
    background: #32ab4b;
    flex: 0 0 32px;
    display: block;
}
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;
}
.Desktop .info span ,
.Desktop .contact-info a{
    display: flex;
    align-items: center;
    gap: 10px;
}
.intro {
    display: block;
    margin: 0 0 30px;
    width: 100%;
}