 
 

/* 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;
}
 

/* ==========================================
   RESET & STYLES DE BASE
   ========================================== */
   * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Helvetica", sans-serif;
    outline: none;
    transition: all .3s ease;
}

body {
    overflow-x: hidden;
    color: #333;
    font-size: 15px;
    line-height: 1.7;
}
a{
    color: inherit;
    text-decoration: none;
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    display: block;
    line-height: normal;
    margin-bottom: 20px;
}

h1,.h1{ 
    font-size:32px;
}
h2, .h2 { 
    font-size:26px;
}
h3, .h3 { 
    font-size:22px;
}
h4, .h4 { 
    font-size:18px;
}
h5,.h5 { 
    font-size:16px;
}
h6,.h6 { 
    font-size:14px; 
}
section{
    padding: 100px 0;
    position: relative;
}
.Mobile section{
    padding: 50px 0;
}
.container{
  width: 100%; 
  padding: 0 20px;
  margin: 0 auto;
  max-width: 1320px;
}
.Tablet .container {
  max-width: 720px;
}
.Mobile .container {
  max-width: 540px;
}
 
  

/*------------------------------------- 
ICONE 
-------------------------------------*/


.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-localisation: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);
}

/* ==========================================
   1. HEADER
   ========================================== */
   .header {
    width: 100%;
    position: relative;
    z-index: 1000;
} 
body:not(.Desktop) .header {
    width: 100%;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    padding: 5px 0;
    background: #fff;
}
.top-bar {
    background-color: #ff5e14;
    color: #000000;
    font-size: 14px;
    padding: 8px 0;
}
.top-bar-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top-left, .top-right {
    display: flex;
    align-items: center;
    gap: 20px;
}
.social-icons {
    display: flex;
    gap: 10px;
}
.social-icons a {
    color: #fff;
    text-decoration: none; 
}
.top-right span {
    display: flex;
    align-items: center;
    gap: 6px;
} 
.navbar {
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.Tablet .navbar,
.Mobile .navbar{
    padding: 0 20px;
}
li.nav-item {
    line-height: 1.3;
    text-align: center;
}
.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.logo {
    display: flex;
    align-items: center; 
    color: #1a1a1a;
    text-decoration: none;
}
.logo img {
    width: 148px;
    height: 100px;
    object-fit: contain;
}
.logo-icon {
    background: #ff5e14;
    color: #fff;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
} 
.nav-menu {
    display: flex;
    list-style: none;
    gap: 10px;
}
.nav-menu a {
    text-decoration: none;
    color: #1a1a1a;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}
.nav-item.active a, .nav-item:hover a {
    color: #9a390c;
}
.Mobile .nav-item.active a,
.Mobile .nav-item:hover a {
    color: #000;
}
.nav-menu i {
    font-size: 10px;
    margin-left: 3px;
} 
.nav-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}
.search-btn, .menu-icon-btn {
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    color: #1a1a1a;
}
.cart-btn {
    position: relative;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 16px;
}
.cart-btn .badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background: #ff5e14;
    color: #fff;
    font-size: 9px;
    padding: 2px 5px;
    border-radius: 50%;
}
.btn-quote {
    background: #ff5e14;
    color: #000;
    padding: 18px 25px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    border-radius: 3px;
    transition: background 0.3s;
    width: max-content;
}
.btn-quote:hover {
    background: #4d4d4d;
    color: #fff;
}
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    color: #1a1a1a;
    cursor: pointer;
}
/* ==========================================
   2. HOMESLIDER & CAPTION
   ========================================== */
   .homeslider {
    position: relative;
    width: 100%;
    height: 800px;  
    overflow: hidden;
    background-color: #eee;
}
.slider-bg {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 800px;
    object-fit: cover;
}
.homeslider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.8) 40%, rgba(0, 0, 0, 0.1) 100%);
    z-index: 1;
} 
.caption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: flex;
    align-items: center;
} 
.caption-grid {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
} 
.caption-texte {
    color: #ffffff;
} 
.subtitle {
    font-size: 13px;
    letter-spacing: 2px;
    color: #888;
    display: block;
    margin-bottom: 15px;
}
.main-title {
    font-size: 56px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #fff;
}
.outline-text::first-line{
    font-size: 96px;
    font-weight: 200;
    color: #fff;    
    margin-bottom: 20px;
}
.Mobile .outline-text::first-line{
    font-size: 58px;
}
.outline-text {
    color: transparent;
    -webkit-text-stroke: 1px rgb(255 255 255);
    display: block;
}
.description {
    color: #aaa;
    font-size: 14px;
    max-width: 450px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.btn {
    display: block;
    border: 1px solid rgb(255 255 255);
    color: #fff;
    padding: 18px 25px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s;
}

.btn:hover {
    background: #ff5e14;
    border-color: #ff5e14;
    color: #000 ;
} 
.btn-full {
    display: inline-block;
    background: #ff5e14;
    border: 1px solid #ff5e14;
    color: #000;
    padding: 18px 25px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s;
}
.btn-full:hover {
    background: #4d4d4d;
    border: 1px solid #fff;
    color: #fff;
}
.caption-devis {
    display: flex;
    justify-content: flex-end;
}
.devis-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 4px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.Tablet .devis-card, .Mobile .devis-card {
  padding: 50px 0;
  width: 100%;
  box-shadow: none;
  background: #f4f4f4;
  max-width: 100%;
}
.devis-card .h3 {
    text-align: center;
    font-size: 22px;
    color: #1a1a1a;
    margin-bottom: 25px;
}
input#mail{
    display: none;
}
.devis-card form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.form-row {
    display: flex;
    gap: 10px;
}
.form-input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e1e1e1;
    border-radius: 3px;
    font-size: 13px;
    outline: none;
}
textarea.form-input {
    min-width: 100%;
    max-width: 100%;
    height: 100px !important;
}
.devis-card input:focus, .devis-card select:focus {
    border-color: #ff5e14;
}
.btn-submit {
    background: #ff5e14;
    color: #000;
    border: none;
    padding: 14px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    border-radius: 3px;
    transition: background 0.3s;
    margin-top: 5px;
}
.btn-submit:hover {
    background: #e04e05;
} 
.slick-dots  {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 3;
}
.slick-dots button {
    background: #fff;
    color: #1a1a1a;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    outline: none;
}

.slick-dots .slick-active button {
    background: #ff5e14;
    color: #000;
}
.Slider {
    position: relative;
    width: 100%;
    height: 800px;
    display: block;
}
.Tablet .Slider,
.Mobile .Slider { 
    height: 600px; 
}
/* ==========================================
   3. RESPONSIVE (MOBILE & TABLETTE)
   ========================================== */ 
   body:not(.Desktop) .top-bar {
    display: none;
}
body:not(.Desktop) .nav-container {
    position: relative;
    padding: 0;
    width: 100%;
}
body:not(.Desktop) .nav {
    display: none;
    position: fixed;
    top: 166px;
    left: 0;
    width: 100%;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
}
ul.nav-menu {
    display: flex ;  
}
body:not(.Desktop) ul.nav-menu {
    display: block; 
    background: #ffffff;
    max-height: 400px;
    overflow: scroll;
}
body:not(.Desktop) .nav-menu.open {
    display: flex;
} 
body:not(.Desktop) .mobile-menu-btn {
    display: block; 
} 
.Tablet .nav-item,
.Mobile .nav-item {
    padding: 12px;
    text-align: center;
}
.Mobile .nav-item.active {
    background: #ff5e14;
}
body:not(.Desktop) .btn-quote {
    display: none; 
} 
body:not(.Desktop) .homeslider { 
    height: 600px;
}
body:not(.Desktop) .caption {
    position: absolute;
    padding: 40px 0;
    top: 65%;
    transform: translateY(-50%);
}
body:not(.Desktop) .caption-grid {
    grid-template-columns: 1fr;
    gap: 40px;
}
body:not(.Desktop) .caption-devis {
    justify-content: center;
}
body:not(.Desktop) .slider-pagination {
    display: none;
}  
.Mobile .main-title {
    font-size: 36px;
}
.Mobile .form-row {
    flex-direction: column;
}
.Mobile .caption-grid {
    padding: 0;
}
.block-rs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
} 
.block-rs a img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    transition: all .3s ease;
}
.block-rs a:hover img { 
    filter: drop-shadow(1px 1px 3px black);
}
#footer {
    position: relative;
    display: block;
    background-color: #4d4d4d;
    padding: 120px 0px 0px;
    overflow: hidden;
    z-index: 1;
    color: #fff;
}
.Mobile #footer{
    padding: 50px 0 0;
}
#footer:before {
    content: "";
    position: absolute;
    width: 243px;
    height: 180px;
    background-image: url(../images/img/footer-v1-shape1.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
}
#footer:after{
    content: "";   
    position: absolute;
    width: 234px;
    height: 437px;
    background-image: url(../images/img/footer-v1-shape2.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 0;
    right: 0;
}
.footer-grid {
    display: grid;
    grid-template-columns: 25% 1fr 25%;
    gap: 20px;
    justify-content: center;
    position: relative;
}
.Mobile .footer-grid { 
    grid-template-columns: 100%; 
}
.Desktop .link-footer {
    column-count: 2;
}
.footer-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 30px;
}
.link-footer li {
    list-style-position: inside;
    margin: 0 0 15px;
}
.footer-contact-item {
    display: flex;
    margin: 0 0 15px;
    gap: 10px;
}
#footer .logo {
    width: fit-content;
    background: #fff;
    border-radius: 5px;
}
#footer  .logo img {
    width: 250px;
    height: 168px;
    object-fit: contain;
}
.copyright {
    padding: 40px 0;
    display: flex;
    justify-content: space-between;
    border-top: solid 1px #7f7f7f;
    margin: 40px 0 0;
    position: relative;
}
.Mobile .copyright {
    flex-wrap: wrap;
    gap: 20px;
    text-align: center;
    justify-content: center;
}
#footer .icon:before {
    filter: invert(1);
}
.btn-slider {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}
.engangement-liste {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    border-bottom: solid 3px #ff5e14;
    border-radius: 15px;
    margin: -50px 0 0;
    background: #fff;
    position: relative;
    z-index: 2;
}
.Mobile .engangement-liste {
    grid-template-columns: 100%;
    margin: 20px 0;
}
.engangement-item {
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    color: #000;
    padding: 20px;
}
.Tablet .engangement-item{
    font-size: 15px;
}
.engangement-item img {
    width: 75px;
    height: 75px;
    object-fit: contain;
}
.Tablet .engangement-item img {
    width: 50px;
    height: 50px; 
}
.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: 40px;
}
.btn-content {
    display: flex;
    margin: 30px 0 0;
}
.urgence {
    background: #fff;
    box-shadow: 0 0 5px;
    padding: 20px;
}
.urgence strong {
    display: block;
    margin: 10px 0 0;
}
.urgence img {
    width: 150px;
    height: 126px;
    object-fit: contain;
}
.Block1-img2 > img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: bottom left;
    display: block;
    background: #eee;
    margin: 0 0 20px;
}
.Block1-img1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom left;
    background: #eee;
    display: block;
}
.Mobile .Block1-img1 img{
    height: 250px;
}
.Block1 .grid-col-2.gap-50 {
    align-items: center;
}
.js-marquee-wrapper {
    position: relative;
    display: flex;
    background: #4d4d4d;
    padding: 40px 0;
    z-index: 4;
    overflow: hidden;
}
.Mobile .js-marquee-wrapper{
    padding: 20px;
}

.js-marquee {
    animation: linear 30s infinite running marqueeAnimation;
    display: inline-flex; 
    align-items: center;
    float: left;
}
@keyframes marqueeAnimation {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}
.js-marquee-item {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 20px;
    padding-right: 50px;
}
span.sliding-text-one__title {
    position: relative;
    display: flex;
    align-items: center;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 1.0);
    font-size: 54px; 
    font-weight: 800; 
    font-style: normal;
    text-transform: uppercase; 
    transition: all 0.3s ease;
}
.Mobile span.sliding-text-one__title{
    font-size: 32px;
}
span.sliding-text-one__title:hover {
    color: #fff;  
    transition: all 0.5s cubic-bezier;
}
.js-marquee-item img {
    margin-left: 35px;
    position: relative;
    width: 70px;
    animation: textRotate 10s linear 0s forwards infinite alternate;
    height: 70px;
    object-fit: contain;
}
@keyframes textRotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
 
.Mobile .js-marquee-item img {
    width: 40px;
    height: 40px;
}
.sec-title {
  position: relative;
  display: block;
  margin-top: 0px;
  padding-bottom: 57px;
  z-index: 1;
}

.Mobile .sec-title{
    padding-bottom: 0;
}

.sec-title__tagline {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 7px;
  padding-top: 3px;
  padding-bottom: 2px;
  border-bottom: 1px solid #bfbfbf;
  margin-bottom: 24px;
}

.sec-title__tagline::before {
  position: absolute;
  top: 7px;
  left: 0;
  bottom: 6px;
  width: 1px;
  background: #bfbfbf;
  content: "";
}

.sec-title__tagline::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 45px;
  height: 1px;
  background: #bfbfbf;
  content: "";
}

.sec-title__tagline .count-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 25px;
    height: 25px;
    background: #bfbfbf;
}

.sec-title__tagline .count-box p {
  position: relative;
  display: inline-block; 
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
  margin-right: -1px;
}
.sec-title__tagline .text-box {
  position: relative;
  display: block;
  margin-left: 10px;
}
.sec-title__tagline .text-box p {
    font-size: 14px;
    line-height: 26px;
    font-weight: 600;
    text-transform: capitalize;
}
.sec-title__title {
  font-size: 48px;
  line-height: 58px;
  font-weight: 600;
  text-transform: none; 
  margin-bottom: 4px;
}

.sec-title__text { 
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
}
.count-box.counted img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}
.cat_liste {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px; 
    justify-content: center;
}
.Mobile .cat_liste {
    grid-template-columns: repeat(2, 1fr);
}
.cat_item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    background: #eee;
    display: block;
    margin: 0 0 20px;
}
.Tablet .cat_item img,
.Mobile .cat_item img { 
    height: 150px; 
}
.cat_item a {
    padding: 0 12px;
    border-left: solid 2px #ff5e14;
    font-size: 14px;
    font-weight: 600;
    display: block;
    text-transform: uppercase;
}

.bg-black {
    background-color: #4d4d4d;
    color: #fff;
}
.Block2.bg-black {
    background-blend-mode: multiply;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}
.Block3 {
    background: #f4f4f4;
}
.Block3-icon {    
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: #ffff; 
    box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.06);
    margin: 0 auto 24px;
}
.Block3-icon::before {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    border: 1px dashed #3c3c3c;
    border-radius: 50%;
    content: "";
}
.Block3-icon > div {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: #f95e11; 
    border-radius: 50%;
}
.Block3-icon > div > img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: brightness(0);
}
.Block3-icon span img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.Block3 .btn-content {
    justify-content: center;
}
.Block3-content{
    position: relative;
}
.Desktop .Block3-content:before {
    content: "";
    position: absolute;
    width: 66.66%;
    border-top: 1px dashed #3c3c3c;
    height: 0;
    display: block;
    margin: auto;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
}
.Block4-item .bloc-une {
    border: 1px solid #bfbfbf;
    padding: 30px;
}
.Block4-img {
    width: 100%;
    height: 250px; 
    overflow: hidden;
}
.Block4-img img {
    width: 100%;
    height: 100%;
    display: block;
    background: #eee;
    object-fit: cover;
    object-position: bottom left;
}
.Block5 {
    background: #4d4d4d;
    color: #fff;
}
.Block5:before{
    content: "";
    position: absolute;
    background-image: url(../images/img/pricing-v1-shape1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 397px;
    height: 408px;
    top: 0;
    left: 0;
    display: block;
    z-index: 0;
}
.Mobile .Block5:before{
     width: 150px;
    height: 150px;
}
.Block5:after{
    content: "";
    position: absolute;
    background-image: url(../images/img/pricing-v1-shape2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 278px;
    height: 331px;
    right: 0;
    bottom: 0;
    display: block;
    z-index: 0;
}
.Block5-card {
    background: #fff;
    padding: 40px;
    position: relative;
    z-index: 2;
    color: #333;
}
.Mobile .Block5-card{
    padding: 20px;
}
.Block5-card .btn-full {
    width: 100%;
    text-align: center;
}
.Block5-title {
    border-bottom: 1px solid #d8d8d8;
    display: flex;
    padding: 0 0 30px;
    margin: 0 0 30px;
    gap: 30px;
}
.Mobile .Block5-title {
    flex-wrap: wrap;
}
.Block5-card span img {
    width: 75px;
    height: 75px;
    object-fit: contain;
}
.Block6-grid1 {
    display: grid;
    grid-template-columns: 1fr 33.33%;
    gap: 100px;
    justify-content: center;
}
.Mobile .Block6-grid1{
    grid-template-columns: 100;
    gap: 20px;
}
.Block6-grid2 {
    display: grid;
    grid-template-columns:  33.33% 1fr;
    gap: 100px;
    justify-content: center; 
} 
.Mobile .Block6-grid1,
.Mobile .Block6-grid2{
    grid-template-columns: 100;
    gap: 20px;
}
.Block6 h2 {
    background: #ff5e14;
    padding: 20px;
    color: #000;
}
.Block6-img img {
    width: 100%;
    height: 100%;
    display: block;
    background: #eee;
    object-fit: cover;
    object-position: bottom left;
}
.Tablet .Block6-img img,
.Mobile .Block6-img img { 
    height: 250px; 
}
.Block6 > .container > div {
    margin: 100px 0 0;
} 
.Block6 > .container > div:first-child {
    margin: 0 0 0;
} 
.Mobile .Block6 > .container > div{
    grid-template-columns: 100%;
    gap: 40px;
}
.Block6 .bloc-une {
    border-bottom: 1px solid #bfbfbf;
    padding-bottom: 30px;
}
.Services {
    background: #f4f4f4;
}
.Titre {
    font-size: 32px;
    text-align: center;
    display: block;
    margin: 0 0 30px;
}
.Desktop .Liens {
    column-count: 3;
}
.Tablet .Liens {
    column-count: 1;
}
.Liens a {
    display: block;
    margin: 0 0 15px;
}

.block-contact {
    background: #f4f4f4;
}
.block-devis-content {
    background: #4d4d4d;
    padding: 50px;
}
.Mobile .block-devis-content { 
    padding: 20px;
}
.block-devis .devis-card {
    background: transparent;
    box-shadow: none;
    color: #fff;
    max-width: 100%;
    padding: 0;
}
.block-devis .devis-card .h3{
    color: #fff;
}
#Map {
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0;
}
.Mobile #Map { 
    height: 250px; 
}
.contact-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 5px;
}
.contact-mobile a {
    background: #ff5e14;
    padding: 10px 15px;
    border-radius: 900px;
    font-weight: 600;
    color: #000;
}
.contact-item {
    border: 1px solid #bfbfbf;
    padding: 30px;
    text-align: center;
    background: #fff;
}
.contact-item .icon:before {
    width: 40px;
    height: 40px;
}
 .contact-item span {
    width: 80px;
    height: 80px; 
    display: flex;
    margin: 0 auto 20px;
    background: #f4f4f4;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.contact-item:hover span { 
    background: #4d4d4d; 
} 
.contact-item:hover span .icon:before { 
filter: invert(1); 
} 
.contact-item p {
    color: #000;
    font-weight: 500;
}
.swipebox img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}
.titre-album {
  clear: both;
  display: block;
  font-size: 32px;  
  margin: 20px 0;
  width: 100%;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
}

b.titre-album {
    font-size: 30px;
    color: #070707;
    text-align: center;
    display: block;
    margin-bottom: 20px;
    text-transform: uppercase;
}
.row-rea {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    gap: 20px;
}
.Tablet .row-rea {
    grid-template-columns: repeat(3, 1fr);
}
.Mobile .row-rea {
    grid-template-columns: 100%;
}
a.swipebox img {
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.Tablet .Block1 .grid-col-2.gap-50,
.Tablet .Block3-content.grid-col-3.gap-50,
.Tablet .Block4 .grid-col-2,
.Tablet .Block5 .grid-col-2,
.Tablet .Block6 > .container > div { 
  grid-template-columns: 100%;
}
ul.slick-dots li {
    list-style: none;
}
.Tablet .slick-dots ,
.Mobile .slick-dots { 
    top: inherit;
    bottom: 0; 
}


/*========================= 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: #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;
}


.Titrecontenu {
    font-size: 36px;
    margin-bottom: 2rem;
}
.Mobile .Titrecontenu {
    font-size: 22px;
}
.Titrecontenu {
    color: #4d4d4d;
}
#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: #ff5e14;
    color: #000;
    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 =========================*/
.mobile-menu-btn img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.rappel {
    background: #f4f4f4;
    padding: 30px 0 0 ;
}
form#rappel_immediat {
    display: flex;
    align-items: center;
    gap: 15px;
}
._rappel_form {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    border-bottom: solid 3px #ff5e14;
    border-radius: 15px;
    margin: 0 0 -50px;
    background: #fff;
    position: relative;
    z-index: 2;
    align-items: center;
    justify-content: space-evenly;
    padding: 30px;
}
input#mail2 {
    display: none ;
}
form#rappel_immediat input.form-input {
    margin: 0;
    width: 100%;
    max-width: 400px;
}
.Desktop form#rappel_immediat input.form-input{
    width: 400px;
}
form#rappel_immediat input.btn.btn-submit {
    margin: 0;
}
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;
}

/*------------------------------------------------------------------------- 
404 style 
-------------------------------------------------------------------------*/

.blog_pageIntrouvable {
    background: #fff;
    position: fixed;
    height: 100%;
    width: 100%;
    font-size: 18px;
    z-index: 10000 !important;
    text-align: center;
    top: 0;
    left: 0;
}
.blog_pageIntrouvable .d-flex {
    display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
}
.blog_pageIntrouvable span {
  color: #000;
}

.blog_pageIntrouvable > div {
  height: 100%;
  color: #333
}
.blog_pageIntrouvable .h1 {
    font-size: 200px;
    color: #000000;
    font-weight: 600;
}
.blog_pageIntrouvable p {
    font-size: 36px;
    line-height: 100%;
    margin-top: -21px;
    text-transform: uppercase;
    letter-spacing: 10px;
    color: #000000;
}
.blog_pageIntrouvable a {
    color: #333;
}
.blog_pageIntrouvable a:hover {
    text-decoration: underline;
}
#noDesktop { display: none; }
.Mobile .blog_pageIntrouvable {
    font-size: 14px;
  }
  .Mobile .blog_pageIntrouvable a {
      display: block;
  }
  .Mobile .blog_pageIntrouvable p {
      font-size: 17px;
      letter-spacing: 5px;
      margin-top: -10px;
  }
  .Mobile .blog_pageIntrouvable h1 {
    font-size: 100px;
  } 
  .rForm_h1{
    font-size: 22px;
  }