/*==================================================
# SARLU HYDROSPEC — template.css (WF32) — Genesis v35
# Figma tokens: primary #3D6EB8 · dark #1A1A1A · grey #6B6B6B · Poppins
==================================================*/

/*--------------------------------------------------
# Fonts — Local Poppins (woff2 + woff)
--------------------------------------------------*/
@font-face { font-family:'Poppins'; src:url('../fonts/Poppins-Regular.woff2') format('woff2'),url('../fonts/Poppins-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('../fonts/Poppins-Medium.woff2') format('woff2'),url('../fonts/Poppins-Medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('../fonts/Poppins-SemiBold.woff2') format('woff2'),url('../fonts/Poppins-SemiBold.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('../fonts/Poppins-Bold.woff2') format('woff2'),url('../fonts/Poppins-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }

/*--------------------------------------------------
# CSS Variables (Figma tokens → BS5)
--------------------------------------------------*/
:root {
    --bs-primary: #3D6EB8;
    --bs-primary-rgb: 61,110,184;
    --primary-color: #3D6EB8;
    --primary-dark: #274E8B;
    --secondary-color:#3A3A3A;
    --blue-dark: #16335c;          /* sections sombres (avis/footer/contact) — dérivé marque */
    --dark-color: #1A1A1A;
  --dark-color1: #141e26;
    --tertiary-color: #5F686E;
    --light-color: #F2F6FB;
    --light-color2: #F8F8FE;
    --white-color: #FFFFFF;
    --primary-bg: #ECF1F7;

    --bs-body-color: #6B6B6B;
    --bs-body-bg: #FFFFFF;
    --bs-body-font-family: "Poppins", sans-serif;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 24px;
    --bs-body-font-size: 15px;

    --radius-card: 0;
    --radius-btn: 0;
    --shadow-card: 10px 20px 80px 0 #000;
    /*--shadow-card: 10px 20px 80px 0 #6287A9;*/
    --hero-height: 780px;
    --hero-height-small: 380px;
}

/*--------------------------------------------------
# General / Reset
--------------------------------------------------*/
html, body {
    height: auto !important;
    min-height: 100%;
    overflow: visible !important;
    scroll-behavior: auto !important; /* désactive le smooth natif pour laisser Lenis gérer */
}
body {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
}
body.menu-open { overflow: hidden !important; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--bs-body-font-family);
    font-weight: 700;
    color: var(--dark-color);
    letter-spacing: -1px;
    text-transform: uppercase;
    position: relative;
}
h1 { font-size:50px; line-height:1.05; }
h2 { font-size:40px; line-height:1; }
h3 { font-size:25px; line-height:1; }
h4 { font-size:18px; line-height:1.2; }

a { color: var(--primary-color); text-decoration:none; transition: all .3s ease; }
a:hover { color: var(--primary-dark); }

.container { max-width: 1170px; padding: 0 15px; }
img { max-width:100%; height:auto; }
.text-primary { color: var(--primary-color) !important; }
.z-2 { z-index: 2; }
.container-fluid {
    max-width: 1650px;
    margin: 0 auto;
    padding: 0 15px;
}
/*--------------------------------------------------
# Section header
--------------------------------------------------*/
.section-header { margin-bottom: 40px; }
.subtitle {
    display: inline-block;
    color: var(--primary-color);
    margin-bottom: 24px;
    position: relative;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.subtitle::after {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    background: var(--primary-color);
    margin: 6px auto 0;
}
.section-header.text-start .subtitle::after { margin:8px 0 0; }
.section-header h2 { margin:0; }




/*--------------------------------------------------
# Buttons
--------------------------------------------------*/
.btn-primary, .btn-filled {
    background: var(--primary-color);
    color: var(--white-color);
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all .3s ease;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    padding: 16px 30px;
}
.btn-primary:hover, .btn-filled:hover { background: var(--primary-dark); color: var(--white-color); transform: translateY(-2px); }
.btn-primary:after, .btn-filled:after {
    content: "";
    position: relative;
    background: url(/smarty/wireframe20/media/images/arrow-up-right.svg) no-repeat center;
    height: 18px;
    width: 19px;
    transition: all .6s;
}
a.btn-primary.nav-cta-btn {
    color: var(--primary-bg);
  border-radius:10px
}
a.btn-primary.nav-cta-btn:after {
    display:none
}
/*--------------------------------------------------
# Navigation (structure client : nav.navbar + .lang-nav)
--------------------------------------------------*/
nav.navbar {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 20px 0;    padding: 10px 0;
    background: var(--bs-black) !important;
    transition: all .35s ease;
}
nav.navbar .container { max-width: 1650px; }
nav.navbar .navbar-brand .logo-img { width:auto; transition: max-height .35s ease; }

/* Menu horizontal — Rule 1 (contre BS5 column) */
nav.navbar .sf-menu, nav.navbar ul.sf-menu {
    flex-direction: row !important; display:flex; align-items:center; gap:40px;
    list-style:none; margin:0; padding:0;
}
nav.navbar .sf-menu li { position: relative; }
nav.navbar .sf-menu li a {
    color: var(--bs-body-bg);
    padding: 8px 0 !important;
    white-space: nowrap;
    position: relative;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.9px;
    text-transform: uppercase;
  border-bottom:1px solid transparent
}
/*
nav.navbar .sf-menu li a::after {
    content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
    background: var(--primary-color); transition: width .3s ease;
}
nav.navbar .sf-menu li a:hover::after,
nav.navbar .sf-menu li.selected > a::after { width:100%; }*/
nav.navbar .sf-menu li:hover > a,
nav.navbar .sf-menu li.selected > a { color: var(--primary-color);  border-bottom:1px solid  var(--primary-color) }

/* Dropdown */
nav.navbar .sf-menu li ul {
    display:none; position:absolute; top:100%; left:0; min-width:210px;
    background: var(--white-color); border-radius:10px; padding:12px 18px;
    flex-direction:column !important; gap:4px; box-shadow: var(--shadow-card); list-style:none;
}
nav.navbar .sf-menu li:hover > ul { display:flex; }
nav.navbar .sf-menu li ul li a { color: var(--dark-color); font-size:13px; padding:6px 0; }
nav.navbar .sf-menu li ul li a:hover { color: var(--primary-color); }


/* Sticky state (is-sticky sur nav — JS client) */
nav.navbar.is-sticky {
    position: fixed !important;
    top: 0;
    background: #ffffffc9;
    box-shadow: 0 6px 24px rgba(26,26,26,.10);
    padding: 10px 0;
    backdrop-filter: blur(40px);
}
nav.navbar.is-sticky .navbar-brand .logo-img { max-height: 56px; }
nav.navbar.is-sticky .logo, nav.navbar.is-sticky  a.btn-primary.nav-cta-btn {
    display: none !important;
}
nav.navbar.is-sticky .container {
    justify-content: center!important;
}
/* Toggler */
.navbar-toggler { color: var(--white-color); }

nav.navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(26,26,26,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler-icon {

    filter: invert(1);
}
/*--------------------------------------------------
# Banner / Hero
--------------------------------------------------*/
header.header {
    position: relative;

}
.logo {
    margin: 0 0 -76px;
}
header.header section.banner {
    width: 100%;
    height: 780px;height: 820px;
    overflow: hidden;
}
header.header.small section.banner.small {
    height: 500px;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
    display: none;
}
header.header .banner .container-fluid,
header.header .banner .swiper,
header.header .banner .swiper-wrapper,
header.header .banner .swiper-slide { height: 100% !important; min-height: inherit; width:100%; }
header.header .banner .swiper-slide img { width:100%; height:100%; object-fit: cover; }
section.banner .carousel, section.banner .carousel-inner, section.banner .carousel-inner img, section.banner .carousel-item {
    height: 100%;
    object-fit: cover;
}
header.header section.banner > .container-fluid.p-0 {
    max-width: 100%;
}
.banner-overlay {
    position:absolute; inset:0; z-index:1; pointer-events:none;
  /*  background:  linear-gradient(0deg, rgba(62, 95, 134, 0.10) 0%, rgba(62, 95, 134, 0.10) 100%);*/
      background:linear-gradient(90deg,rgba(0,0,0,100%) 0%,rgba(0,0,0,.8) 45%,rgba(0,0,0,.20) 100%);
}
.banner-content {
    z-index: 2;
    padding-bottom: 120px;
    padding-top: 195px;
    pointer-events: none;
}
header.header .banner-content .container-fluid {
    max-width: 1324px;
    max-width: 1650px;
    min-height: auto;
    height: auto !important;
    pointer-events: all;
    color: var(--white-color);
    font-size: 18px;
    line-height: 26px;
}
header.header .banner-content .container-fluid .subtitle::after {

    display: NONE;
}
.banner-content h2 {
    color: var(--white-color);
    font-size: 48px;
    line-height: 50px;
}
.banner-title { color: var(--white-color); }
.banner-content h2  span {
    background: white;
    color: var(--primary-color);
    padding: 1px 10px;
    margin-top: 15px;
}
/* bloc slogan-home (box id=1) sur fond bleu translucide */
.banner-content .slogan-home {
    /*background: var(--primary-color);*/
      background: var(--bs-black);
    padding: 86px 57px 76px;
    display: table;
    margin-left: auto;
    position: relative;
    box-shadow: 20px 20px 50px 0 #6287A9;
    pointer-events: all;
    max-width: 900px;
}

.banner-content .slogan-home:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/bg-slogan.webp) no-repeat center;
    background-size: cover;
    z-index: 0;
    opacity: 0.4;
      opacity: 0.2;
    pointer-events: none;
}
.banner-content .cta > a {
  /*  position: relative;
    color: white;
    text-decoration: none;
    margin-top: 21px;
    transition: all 0.6s;
    border-bottom: 3px solid white;
    padding: 0 0 2px;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    display: inline-flex;*/
  border:2px solid var(--bs-primary);
    padding: 12px 25px;
}
.banner-content .cta > a:hover {
    transform: /*translate(5px, 5px)*/none !important;  border:2px solid white;    background: var(--bs-black);
}
.cta-all {
    display: flex;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}
/* social vertical hero gauche */
.banner-social {
    position: absolute;
    left: 160px;
    top: -1.5%;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-direction: column;
}

.banner-social h6 {
    writing-mode: vertical-rl;
    margin: 0;
}
.banner-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--primary-color) !important;
    font-size: 15px;
    width: 40px;
    height: 40px;
  text-decoration:none !important
}
.banner-social a:hover {     background: var(--primary-color);
    color: #fff !important; }
.banner-social h6 {
    margin: 0;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--bs-white);
    padding-bottom: 60px;
}
.banner-social .networks_linking {
    position: relative;
    display: flex;
    gap: 10px;
    flex-direction: column;
}
.networks_linking a.networks.networks_google {
    order: 3;
}
.banner-social h6:after {
    content: "";
    position: absolute;
    height: 40px;
    width: 3px;
    background:   var(--bs-white);
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}
.name-social {
    right: 8.5%;
    writing-mode: vertical-rl;
    margin: 0;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--bs-primary);    color: var(--bs-white);
    padding-bottom: 60px;
    top: 12%;
}.name-social:before {
    content: "";
    position: absolute;
    height: 40px;
    width: 3px;
    background: var(--bs-primary);    background: var(--bs-white);
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}

/*--------------------------------------------------
# Présentation (contenu-home1)
--------------------------------------------------*/
span.first-line {
    color:var(--primary-color);
}

.content-presentation {
    padding: 100px 0;
    background: /*var(--white-color)*/var(--bs-black);
    position: relative;
      z-index: 1;
}
/*.content-presentation:before {
    content: "";
    left: 0;
    top: -68px;
    width: 1770px;
    height: 448px;
    z-index: 0;
    pointer-events: none;
    background: url('../images/Content-Section.webp') no-repeat center/cover;
    position: absolute;
}*/
.content-presentation:before {
    content: "";
    left: 0;
    top: -68px;
    width: 1770px;
    height: auto;
    z-index: 0;
    pointer-events: none;
    background: url('../images/Content-Section.webp') no-repeat center/cover var(--bs-black);
    position: absolute;
    bottom: 20px;
}
.presentation-text { max-width: 936px; margin: 0 auto; }
.presentation-text h2 span, .presentation-text .text-primary { color: var(--primary-color); }
.presentation-text p { color: var(--bs-white); margin-bottom: 12px; }
.content-presentation h1 {
    margin-bottom: 50px; color: var(--bs-white);
}
.content-presentation a{text-decoration:underline; color: var(--bs-white);}
.content-presentation a:hover{text-decoration:none; color: var(--bs-white);}
.presentation-text p:last-child {
    margin-bottom: 0;
}
/*--------------------------------------------------
# Blocs contenu (contenu-home2 / contenu-home3)
--------------------------------------------------*/
.sec-bloc {
    padding: 120px 0;
    background: var(--light-color2);
    position: relative;
    overflow: hidden;
}
section.content-block.sec-bloc.sec-bloc-first.position-relative, 
section.content-block.sec-bloc.sec-bloc-third.position-relative, 
section.content-block.sec-bloc.sec-bloc-third.position-relative a, 
section.content-block.sec-bloc.sec-bloc-first.position-relative a,
section.content-block.sec-bloc.sec-bloc-first.position-relative h2, 
section.content-block.sec-bloc.sec-bloc-third.position-relative h2{
    color: var(--bs-body-bg);
}
section.content-block.sec-bloc.sec-bloc-third.position-relative a, 
section.content-block.sec-bloc.sec-bloc-first.position-relative a{text-decoration:underline}
section.content-block.sec-bloc.sec-bloc-third.position-relative a:hover, 
section.content-block.sec-bloc.sec-bloc-first.position-relative a:hover{text-decoration:none}
section.content-block.sec-bloc.sec-bloc-first.position-relative,section.content-block.sec-bloc.sec-bloc-third.position-relative {
    background: var(--bs-black);
}
section.content-block.sec-bloc.sec-bloc-first:before,section.content-block.sec-bloc.sec-bloc-third.position-relative:before {
    opacity: 0.1;
}
.sec-bloc .bloc-inner {
    display: flex;
    gap: 120px;
    position: relative;
    z-index: 1;
}
.sec-bloc .bloc-inner.reverse-col { flex-direction: row-reverse; }
.sec-bloc .bloc-inner h2 {
    margin-bottom: 48px;
    line-height: 1.2em;
}
.sec-bloc .bloc-inner h2:before {
    content: "";
    position: relative;
    width: 30px;
    height: 3px;
    background: var(--primary-color);
    display: block;
    margin-bottom: 21px;
}
.sec-bloc .bloc-inner p:last-child {
    margin-bottom: 0;
}
/* image dans le box éditable */
.sec-bloc .bloc-inner img {
    box-shadow: var(--shadow-card);
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: 100%;
}
.sec-bloc:not(.sec-bloc-second):before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/bg-light.webp) no-repeat center;
    background-size: cover;
    opacity: 0.2;
    pointer-events: none;
}
section.content-block.sec-bloc.sec-bloc-first:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    background: url(../images/bg-slogan.webp) no-repeat center;
    width: 744px;
    height: 566px;
    background-size: cover;
    opacity: 0.2;
    pointer-events: none;
    filter: grayscale(1);
}
.sec-bloc .bloc-body {
    position: relative;
    padding: 80px 0;
    max-width: 49%;
}
.sec-bloc .bloc-media {
    position: relative;
    order: 2;
    max-width: 53%;
    display: flex;
}
.sec-bloc .bloc-media .img1 {
    margin: 61px 0;
    order: 2;
}
/* Bloc second */
section.content-block.sec-bloc.sec-bloc-second {
    background: white;
}
section.content-block.sec-bloc.sec-bloc-second .bloc-media:before {
    content: "";
    position: absolute;
    background: url(../images/before-ill2.webp) no-repeat center;
    background-size: contain;
    height: 564px;
    width: 392px;
    transition: all 0.6s;
    bottom: -47px;
    left: -150px;
    pointer-events: none;
}
section.content-block.sec-bloc.sec-bloc-second .bloc-body {
    max-width: 50.7%;
    padding: 103px 0;
}
/* Bloc third */
section.content-block.sec-bloc.sec-bloc-third {
    padding-top: 200px;
}
section.content-block.sec-bloc.sec-bloc-third span.first-line {
    color: white;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-body {
    color: white;
    padding: 80px 100px;
    background: var(--primary-color);
    max-width: 55%;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-body:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/bg-content.webp) no-repeat center var(--bs-primary);
    background-size: cover;
    pointer-events: none;
    background-blend-mode: multiply;
    opacity: 0.7;
    z-index: 0;
}
section.content-block.sec-bloc.sec-bloc-third h2:before {
    background: white;
}
section.content-block.sec-bloc.sec-bloc-third article.bloc-inner {
    gap: 0;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-media {
    margin: -96px 0 57px -30px;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-body p {
    position: relative;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-body a {
    color: white;
    text-decoration: underline;
}
section.content-block.sec-bloc.sec-bloc-third .bloc-body a:hover {
    text-decoration: none;
}

/*--------------------------------------------------
# Actualités (swiper)
--------------------------------------------------*/
.actualites {
    padding: 120px 0 113px;
    position: relative;
}
.actualites .section-header {
    margin-bottom: 68px;
}
/* #AllNews devient conteneur Swiper (2 items) — neutralise la grille BS5 .row */
.box-actualite #AllNews {
    margin: 0;
    overflow: hidden;
    --bs-gutter-x: 0;
}
.box-actualite #AllNews .swiper-slide.news-col { height: auto; padding-left: 0; padding-right: 0; }

.actualites .news-object.Item {
    height: 100%;
    overflow: hidden;
    text-align: left;
    transition: transform .35s ease, box-shadow .35s ease;
    position: relative;
    display: flex;
}
.actualites .news-object.Item:hover {  
  
}
.actualites .news-object .photo, .actualites .news-object .nophoto {
    display: block;
    height: 230px;
    overflow: hidden;
    min-height: 664px;
    max-width: 443px;
    min-width: 443px;
    width: 100%;
    position: relative;
}
.actualites .news-object .photo img { width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.actualites .news-object.Item:hover .photo img {transform: scale(1.06); }
.actualites .news-desc {
    padding: 50px;
    height: calc( 100% - 148px);
    margin: 74px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: -100px;
    background: /*var(--primary-bg)*/var(--dark-color1);
    position: relative;
}
.actualites .news-desc:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/bg-item-actu.webp) no-repeat bottom right;
    background-size: cover;
    pointer-events: none;
    opacity: 0.2;    opacity: 0.1;
    z-index: 0;
    transition: all .6s;
}
.actualites .news-object.Item .date, .actualites .news-object.Item h3 span, .actualites .news-object.Item .news-abstract, .actualites .news-object.Item .read-more a {
    color: white !important;
}
.actualites .news-desc .date {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-color);
    margin-top: 6px;
    letter-spacing: 0;
    order: 2;
}
.actualites .news-desc h3 {
    font-size: 25px;
    margin: 0 0 20px;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
}
.actualites .news-desc h3 span { color: var(--dark-color); }
.actualites .news-abstract, .actualites .news-desc p {
    color: var(--secondary-color);
    display: block;
      position: relative;
}
.actualites .read-more a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    color: var(--dark-color);
    padding: 0 0 3px;
    margin-top: 20px;
    border-bottom: 3px solid var(--primary-color);
    border-radius: 0;
      position: relative;
}
.actualites .read-more a:hover { gap:12px; color: var(--primary-dark); }
.actualites .read-more a:after {
display : none;
}
.actualites .news-object.Item:hover .date, .actualites .news-object.Item:hover h3 span,
.actualites .news-object.Item:hover .news-abstract, .actualites .news-object.Item:hover .read-more a {
    color: white;
}
.actualites .news-object.Item:hover .read-more a {
    border-color: white;
}
.actualites .news-object.Item:hover .news-desc::before {
    background: url(../images/bg-content.webp) no-repeat center var(--bs-primary);
    background-size: cover;
    pointer-events: none;
    background-blend-mode: multiply;
    opacity: 0.7;
}
.actualites .news-object.Item:hover .news-desc {
    background: var(--bs-primary);
}
.Item .link > a {
    position: absolute;
    inset: 0;
    font-size: 0;
    z-index: 2;
    outline: none;
}
/** pagination news **/
section.modules.actualites.sec-actualites .swiper-pagination-actus.swiper-pagination-bullets {
    inset: 0;
    margin-top: 64px;
    position: relative;
}
section.modules.actualites.sec-actualites .swiper-pagination-actus.swiper-pagination-bullets span.swiper-pagination-bullet {
    height: 12px;
    width: 12px;
    margin: 0 8px !important;
    border: 2px solid var(--dark-color);
    background: transparent;
    opacity: 1;
    transition: all .6s;
}
section.modules.actualites.sec-actualites .swiper-pagination-actus.swiper-pagination-bullets span.swiper-pagination-bullet:hover,
section.modules.actualites.sec-actualites .swiper-pagination-actus.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
/* nophoto fallback (Rule 23) */
.news-object .nophoto { display:flex; align-items:center; justify-content:center; background: /*var(--light-color)*/var(--bs-black); }
.news-object .nophoto img {
    object-fit: scale-down;
    padding: 10px;
    /* opacity: .6; */
    position: absolute;
    inset: 0;
    height: 100%;
}
.news-object .nophoto .fa-image { display:none; }

/*--------------------------------------------------
# Avis clients (guestbook — swiper A5)
--------------------------------------------------*/

section.avis {
    padding: 133px 0 225px;
    background: var(--primary-dark);
      background: var(--bs-black);
    text-align: center;
}
section.avis .avis-overlay {
    opacity: 0.4;    opacity: 0.9;
    pointer-events: none;
    background: url(../images/bg-avis.webp) no-repeat center / cover, var(--dark-color1);
    inset: 0;
    position: absolute;
    background-attachment: fixed;
    background-blend-mode: multiply;
    z-index: 0;
}
section.avis .subtitle {
    color: white;
}
section.avis .subtitle::after {
    background: white;
}
section.avis .section-header {
    margin: 0;
}
section.avis h2 {
  margin-bottom: 0;
  color : var(--bs-body-bg);
}

section.avis-clients div#globalReviewMessages, section.avis-clients nav#guestbookNav, section.avis-clients div#gb-messages{
  display: none!important;
}
section.avis .swiper-container2 {
  overflow: hidden;
  padding: 0;
}

section.avis .gb-entry-score {
  position: relative;
  font-size: 14px;
  height: 18px;
  top: 0;
  right: 0;
  left: 0;
}
section.avis .gb-entry-score i{
  margin: 0 3px;
}


section.avis div#Guestbook .gb-entry>div {
    padding: 100px 20px 20px;
    position: relative;
    transition: 0.4s all;
    margin: 0 0;
}
section.avis div#Guestbook .gb-entry>div:before {
  content : "";
  position : absolute;
  top : -7px;
  right : 0;
  left : 0;
  margin : 0 auto;
  width : 194px;
  height : 194px;
  background : url(/smarty/wireframe20/media/images/quotes.webp)no-repeat center top;
  background-size : contain;
  transition : 0.4s all ease;
}
section.avis div#Guestbook .gb-entry>div:hover:before {
  top : 53px;
  width : 50px;
  height : 50px;
  background : url(/smarty/wireframe20/media/images/quotes-h.webp)no-repeat center top;
  background-size : contain;
  transition : 0.4s all ease;
}
section.avis div#Guestbook .gb-entry>div .headerReview{
  /* justify-content: start !important; */
}
section.avis div#Guestbook .gb-entry>div div[itemprop="review"]{
  padding-bottom: 0;
}


section.avis  .gb-entry  span.review-user {
    font-size: 25px;
    float: none;
    display: block;
    font-weight: 700;
    color: var(--bs-body-bg);
    text-transform: uppercase;
    line-height: 1em;
}
section.avis  .gb-entry  .review-date {
    float: none;
    display: block;
    font-weight: 700;
    font-size: 15px;
    margin: 6px 0 12px;
}


section.avis  .gb-entry .review-hour{
  display: none;
}
section.avis .fa-calendar:before{
  content: "";
}
section.avis .guestbook-messages .gb-content .gb-entry .gb-info .gb-date-time .gb-time{

}
section.avis .gb-entry .message {

  margin-top: 12px;
  color: var(--bs-body-bg);
  
}

section.avis .fa-star:before {
  content: "\f005";
  color: var(--bs-body-bg);
}

section.avis .gb-entry-score strong{
  display: none;
}

section.avis .fa-star-o:before{
  color:  var(--bs-body-bg)  ;
  content: "\f006" !important;
}

section.avis .guestbook-messages{
  margin-top: 0;
}
section.avis div#Guestbook .gb-entry>div a.link {
    position: absolute;
    inset: 0;
    font-size: 0;
    z-index: 3;
    outline: none;
}

/* Swiper avis */

.swiper-pagination-avis {
  position: absolute !important;
  text-align: center !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -100px!important;
  transform: none !important;
}

.swiper-pagination-avis .swiper-pagination-bullet {
  position : relative;
  width: 12px;
  height: 12px;
  border : 1px solid var(--bs-body-bg);
  background-color: transparent;
  opacity: 1;
  margin: 0 8px !important;

}


.swiper-pagination-avis .swiper-pagination-bullet-active {
  border-color: var(--bs-body-bg);
  background-color: var(--bs-body-bg);
}

/*--------------------------------------------------
# Contact (contact_b id=2 + photo-contact box 5)
--------------------------------------------------*/
.sec-contact {
    padding: 150px 0 100px;
    background: var(--light-color2);
    overflow: hidden;
}
.sec-contact .photo-contact {
    position: relative;
    max-width: 48%;
    margin: -72px 0 49px -58px;
}
.sec-contact .photo-contact:before {
    content: "";
    position: absolute;
    right: -150px;
    bottom: -96px;
    width: 448px;
    height: 527px;
    z-index: 0;
    pointer-events: none;
    background: url('../images/before-photo-contact.webp') no-repeat center/contain;
}
.sec-contact .photo-contact img {
    width:100%; height:100%; object-fit:cover; box-shadow: var(--shadow-card);
}
.sec-contact .section-header {
    margin-bottom: 29px;
}
.sec-contact h2 {
    color: white;
}

.sec-contact .row-contact {
    position: relative;
    display: flex;
    z-index: 1;
}
.sec-contact .contenu-contact {
    position: relative;
    background: var(--primary-color);
    padding: 80px 100px 97px 50px;
    transition: all .6s;
    max-width: 55%;
      background: var(--bs-black);
}
.sec-contact .contenu-contact:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/bg-content.webp) no-repeat center var(--bs-primary);
    background-size: cover;
    pointer-events: none;
    background-blend-mode: multiply;
    opacity: 0.3;    
    z-index: 0;
}

.sec-contact .form-control {
    border-color: white;
}
.sec-contact textarea.form-control {
    height: 111px;
}
.sec-contact .gdpr.form-check {
    position: relative;
    color: white;
    margin-top: 31px;
}
.sec-contact .gdpr.form-check a {
    color: white;
}
.sec-contact .gdpr.form-check a:hover {
    text-decoration: underline !important;
}
.sec-contact .contactForm .contact-submit .btn-primary {
    padding: 0 0 2px;
    border-bottom: 3px solid;
    background: none !important;
}
.sec-contact .contactForm .contact-submit {
    margin-top: 21px;
}
.sec-contact .contactForm .contact-submit .btn-primary:hover {
    background: none !important;
}
/*--------------------------------------------------
# Footer
--------------------------------------------------*/
footer.bottom {
    padding: 80px 0;
    background: var(--primary-bg);
      background: var(--bs-black);
    position: relative;
    overflow: hidden;
    color: var(--dark-color);
      color: var(--bs-body-bg);
}
.footer-decor {
   /* opacity: 0.2;
    z-index: 0;
    pointer-events: none;
    background: url('../images/bg-footer.webp') no-repeat center/cover , var(--primary-bg);
    inset: 0;*/
}
.footer-wrapper { gap:40px; }

.footer-brand .social { display:flex; gap:10px; }
.footer-brand .social a {
    width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,.12); color:#fff;
    display:inline-flex; align-items:center; justify-content:center; font-size:15px;
}
footer.bottom  .social .networks_linking a:hover  { background: white !important;
    color: var(--primary-color) !important; }
.footer-contact-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}
.footer-info-item small { color:#cfe0f5; font-size:13px; }
.footer-info-item a {
    font-weight: 700;
    font-size: 25px;
}
.footer-contact-block .footer-info-item {
    gap: 10px;
}
.footer-info-item a:hover {
    text-decoration: underline !important;    color: #fff;
}
.footer-icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--primary-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.footer-nav { background: /*var(--dark-color)*/ var(--primary-dark); }
.footer-nav, .footer-nav p, .footer-nav small, .footer-nav a { color: white; font-size:13px; }
.footer-nav a:hover { color: var(--primary-color); }
.social h6:after {
    content: "";
    position: relative;
    display: block;
    height: 3px;
    width: 40px;
    background: var(--primary-color);
    margin-top: 22px;
}
.social h6 {
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;color: white
}
/*****/
.social .networks_linking {
    display: flex;
    gap: 10px;
}
.social .networks_linking a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1em;
    height: 40px;
    width: 40px;
    transition: all 0.6s;
    border-radius: 50%;
    background: var(--primary-color);
    color: white;
    font-size: 14px;
}
.social .networks_linking a:hover {
    background: var(--dark-color);
    color: white !important;
}
/* scroll-top */
a#scrollTopBtn {
    left: 0;
    right: 0;
    margin: 0 auto;
  bottom: 44px; width:46px; height:46px; border-radius:50%;
    background: var(--primary-color); color:#fff; display:flex; align-items:center; justify-content:center;
    z-index: 999; opacity:0; transform: translateY(20px); pointer-events:none; transition: all .3s ease;
    border: 1px solid var(--bs-body-color);
}
a#scrollTopBtn.show { opacity:1; transform: translateY(0); pointer-events:auto; }
a#scrollTopBtn:hover { background: var(--primary-dark); color:#fff; }

/*--------------------------------------------------
# Internal pages (banner réduit + contenu)
--------------------------------------------------*/
.page-content { padding: 70px 0; min-height: 360px; }
element.style {

}
.page-content h1 .sub-title { display:block; font-size:20px; color: var(--primary-color); font-weight:600; }
.box-contact-info { background: var(--light-color); padding:30px; border-radius: 0; }
.box-contact-info h5 { color: var(--dark-color); font-size:17px; margin-bottom:10px; }
.box-contact-info .info-block { padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.08); margin-bottom:18px; }
.box-contact-info .info-block:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.box-contact-info a { color: var(--dark-color); }
.box-contact-info a:hover { color: var(--primary-color); }
.maps-container iframe, .frog-maps iframe, .frogMap iframe { border-radius: var(--radius-card); border:none; }
section.content.page-content.content-page .row > .col-lg-4 > .photo {
    height: 100%;
    position: relative;
}
section.content.page-content.content-page .row > .col-lg-4 > .photo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: 100%;
}
section.content.page-content.content-page .row > .col-lg-8 > .cont {
    padding: 40px 0;
}
.page-content .chapo * {
    text-align: center;
}
/* news detail */
.img-news { border-radius: var(--radius-card); }
.btn-back { font-weight:600; color: var(--primary-color); }
.btn-back:hover { color: var(--dark-color); }

section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
    max-width: 190px !important;
    height: 150px !important;
 

}
/**************** actus interne ***********/
section.content .news-object.Item {
    margin-bottom: 20px;
    position: relative;
}



section.content .news-object.Item .photo, section.content .news-object.Item .nophoto {
    height: 250px !important;
    width: 100%;
   /* background: var(--primary-bg);*/
      background: var(--bs-black);
    margin-bottom: 20px;
    overflow: hidden;
    border: 0 !important;
    padding: 0 !important;
    position: relative;
}
section.content.page-content.content-page .news-object.Item .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    
    filter: none;
    transition: all 0.6s;
}
section.content .news-object.Item .nophoto i.fa-duotone.fa-image {
    display: none;
}
section.content .news-object.Item .nophoto {
  
    background-size: 50%;
}
section.content .news-object.Item .nophoto img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    padding: 10px;
  
  transition: all 0.6s;
}
section.content .news-object.Item .read-more{
  	margin-top : 20px;
}
section.content .news-object.Item h3 span {
    display: block;
}
section.content .news-object.Item h3 {
    font-size: 22px;
    margin-bottom: 10px;
    transition: all 0.6s;
}
section.content .news-object.Item:hover h3 {
    color: var(--primary-dark);
}
section.content .news-object.Item .date {
    font-size: 15px;
    color: var(--bs-primary);
    font-weight: 700;
    display: none;
}
section.content .news-object.Item span.news-abstract {
    display: block;
}
section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
    max-width: 190px !important;
    height: 150px !important;
  border-radius: 20px;

}
section.content.page-content.content-page .news-object.Item .photo img {
    object-fit: cover;
}
section.content.page-content.content-page .news-object.Item:hover .photo img , section.content .news-object.Item:hover .nophoto img {
    transform: scale(1.1);
}
/*==================================================
# CSS CLIENT OBLIGATOIRE (verbatim — fourni par l'intégrateur)
==================================================*/
.fa-facebook::before { content: "\f39e" !important; }
.footer-b { display: none; }
.p-absolute { position: absolute !important; }
.txt-white { --bs-text-opacity: 1; color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; }
.grecaptcha-badge { z-index: 99; }
a#non-cliquable { pointer-events: none; display: inline-block; }
a.btn-cookies-link i { width: 20px !important; }
a.btn-cookies-link {
    color: var(--bs-body-bg) !important;
    background-color: rgb(0 0 0 /50%) !important;
}
input { outline: none !important; }

/* pages internes — listes, boîtes, networks, galerie, pagination */
section.content ul { list-style-type: none !important; }
section.content ul li { background: url(../images/bullet.webp) no-repeat left 6px; padding-left: 20px; margin-left: -20px; }
.box-light, .box-border-left, .box-border-right { padding: 20px; margin: 0 0 20px; background: var(--bs-light); }
.box-border-left { border-left: 7px solid var(--bs-primary); }
.box-border-right { border-right: 7px solid var(--bs-primary); }
.box-dark { padding: 20px; margin: 0 0 20px; color: var(--white-color); background: var(--dark-color); }
.box-dark a { color: var(--white-color) !important; }
h3.contact-field { display: none; }
.content-page .tooltip { --bs-tooltip-color: var(--dark-color); opacity: 1; }

section.content.page-content.content-page .grid-gallery { display: flex; flex-wrap: wrap; grid-gap: 2%; justify-content: center; }
section.content.page-content.content-page .grid-img .grid-gallery { display: block; width: 400px; }
section.content.page-content.content-page .grid-img .link-picture { height: 320px; }
section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery { width: 23.5%; background-size: cover; background-position: center;
  height: 300px; cursor: zoom-in; position: relative; transition: transform .4s, box-shadow .4s; border-radius: 0; margin-bottom: 20px; }
section.content.page-content.content-page .link-subgallery:hover, section.content.page-content.content-page .link-picture:hover { transform: scale(.95) !important; }
section.content.page-content.content-page .pagination { margin-top: 20px; justify-content: center; flex-wrap: wrap; }
section.content.page-content.content-page .pagination li { background-image: none !important; }
section.content.page-content.content-page .pagination .page-link { color: var(--dark-color) !important; }
section.content.page-content.content-page .pagination .active>.page-link, section.content.page-content.content-page .pagination .page-link.active, section.content.page-content.content-page .pagination .page-link:hover { color: var(--bs-white) !important; background: var(--bs-primary) !important; border-color: var(--bs-primary) !important; }
section.content.page-content.content-page span.title-subgallery { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px; color: var(--bs-body-bg); text-align: center; background: rgba(0,0,0,0.7); }
section.content.page-content.content-page .title-picture { display: none; }
.fslightboxci h2 { color: var(--bs-white); font-size: 17px; font-weight: 400; text-transform: none !important; letter-spacing: 0 !important; }

/*--------------------------------------------------
# contact-page
--------------------------------------------------*/
.contactForm .contact-field-item {
  margin: 0 0 20px !important;
  position: relative;
  display: block;
  padding: 0;
  margin-bottom: 20px;
  width: 50%;
  float: left;
  clear: none !important;
}
.contactForm .contact-field-item:nth-child(even) {
  padding-right: 10px;
}
.contactForm .contact-field-item:nth-child(odd) {
  padding-left: 10px;
}
.contactForm .contact-field-item.fullwidth {
  width: 100%;
  padding: 0;
  float: none;
  clear: both !important;
}
div#contact-field-id_select_1 label.form-label {
  display: none;
}
.form-control, section.content .contactForm .contact-field-item .contact-field-element .form-field,.form-select {
    font-weight: 400;
    line-height: 2em;
    color: var(--bs-body-color) !important;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-body-color);
    padding: 5px 20px;
    transition: border-color .4s, color .4s;
    border-radius: 0;
    outline: none !important;
}
.form-control::placeholder, section.content .contactForm .contact-field-item .contact-field-element .form-field::placeholder {
  color: var(--bs-body-color) !important;
}
.form-control:focus, section.content .contactForm .contact-field-item .contact-field-element .form-field:focus {
  outline: none !important;
  border-color: var(--bs-body-color) !important;
  box-shadow: 0 0 0 3px rgb(80, 80, 80,0.25) !important;
}

.contactForm .contact-submit .btn-primary, section.content .contactForm .form-submit-button {
    position: relative;
    font-family: var(--bs-body-font-family);
    font-size: 15px;
    line-height: 25px;
    font-weight: 700;
    color: var(--bs-body-bg);
    transition: all .6s;
    display: table;
    border-radius: 0px;
    text-transform: uppercase;
    text-decoration: none;
    background: var(--bs-primary) url(/smarty/wireframe20/media/images/arrow-up-right.svg) no-repeat right 30px center;
    transition: 0.3s all;
    padding: 15px 60px 15px 30px;
}
.contactForm .contact-submit{
  position: relative;
}

.contactForm .contact-submit .btn-primary:hover, section.content .contactForm .form-submit-button:hover {
    background-color: var(--primary-dark) !important;
}

/*avis-page*/
section.content .guestbook-messages {
  margin-top: 0;
  padding-top: 20px;
  clear: both;
}
section.content .guestbook-messages .gb-content .gb-entry .gb-message {
  padding-top: 5px;
}
section.content .guestbook-score .gb-rating :checked ~ label::after {
  color: var(--bs-primary);
}
.content .guestbook-score .gb-rating label {
  position: relative;
  display: inline-block;
  float: right;
  cursor: pointer;
  margin: 0 5px 0 0;
  font-size: 0;
}
section.content .fa-star-o:before{
  content: "\f006" !important;
  color: var(--bs-body-color);
  font-size: 16px;
  top: 0;
  position: relative;
}
section.content article div#Guestbook .gb-entry-score .emptyStar .fa-star-o:before {
  color: var(--bs-body-color);
  font-weight: 400;
}
.content .guestbook-score .gb-rating label:after{
  color: var(--bs-body-color);
}
.guestbook-score .gb-rating :checked ~ label::after {
  content: '\f005'!important;
  font-weight: 700;
}
.guestbook-score .gb-rating label::after {
  content: '\f005'!important;
  font-size: 23px !important;
  transition: color .4s; 
  font-weight: 400;
  font-family: "Font Awesome 6 Sharp" !important;
}
.guestbook-score .gb-rating{
  vertical-align: middle;
}
section.content.content-page .guestbook-messages .gb-content .gb-entry {
  margin: 15px 0 15px 0;
  padding: 15px;
  background: var(--primary-bg);
  border-bottom: 2px solid var(--bs-primary) !important;
}
.content-page .gdpr_policy {
  margin-bottom: 10px;
}
#scoreBlock .contact-field-label {
  line-height: 35px;
}
/********* avis interne *********/
section.content.page-content.content-page div#Guestbook {
  clear: both;
}
section.content.page-content.content-page .star-rating label:has(~ :checked) i,section.content.page-content.content-page .star-rating label:is(:hover,:has(~ :hover)) i{
  color : var(--bs-primary) !important;
}
section.content.page-content.content-page .fa-star:before{
  color : var(--bs-primary) !important;
}
section.content.page-content.content-page .average-review {
  float: left;
  margin : 20px 0;
}

section.content.page-content.content-page span.count-messages {
  float: right;
  margin : 20px 0;
}
section.content.page-content.content-page .gb-entry {
    clear: both;
    margin: 20px 0;
    padding: 10px 15px;
    background: var(--bs-secondary-bg);
    border-bottom: 2px solid var(--bs-primary);
}
section.content.page-content.content-page .gb-entry span.review-date{
  float: right;
}
section.content .star-rating label .fa-star:before {
  content: "\f005";
  font-weight: 400 !important;
}
section.content .star-rating label:has(~ :checked) .fa-star:before {
  font-weight: 900 !important;
}
.grecaptcha-badge {
  z-index: 15;
}
section.content.page-content.content-page .gb-entry span.review-user {
    font-weight: bold;
}
section.content.page-content.content-page .gb-entry span.review-hour {
    display: none;
}
/*==================================================
# Responsive
==================================================*/
@media (max-width: 1800px) {
  .banner-social {
    left: 20px;
}
.name-social {
    right: 12%;
}
  
  .content-presentation:before {
    width: 100%;
}
  
}
@media (max-width: 1600px) {
  section.content-block.sec-bloc.sec-bloc-first:after {
    width: 35%;
}
  .actualites .news-desc {
    padding: 50px 20px;
}
  
}
@media (max-width: 1440px) {
  nav.navbar .sf-menu, nav.navbar ul.sf-menu {
    gap: 12px;
}
  .name-social {
    right: 1%;
}
  .banner-social {
    top: 22.5%;
}
  .sec-bloc .bloc-inner {

    gap: 60px;
}
  section.content-block.sec-bloc.sec-bloc-third .bloc-body {
    padding-left: 50px;
}
  .actualites .news-object.Item {
    justify-content: center;
}
   .actualites .news-desc {
    padding: 50px;
}
  
}
@media (max-width: 1199px) {
  nav.navbar .sf-menu li a {
    font-size: 14px;
    letter-spacing: 0;
}
  nav.navbar .sf-menu, nav.navbar ul.sf-menu {
    gap: 9px;
}
  a.btn-primary.nav-cta-btn {
    padding: 16px 15px;
    font-size: 13px;
    gap: 5px;
}
  nav.navbar:not(.is-sticky) .navbar-brand .logo-img {
    width: 270px;
}
  .banner-social , .name-social {
    display: none !important;
}
  .sec-bloc .bloc-inner {
    gap: 40px;
}
  section.content-block.sec-bloc.sec-bloc-third .bloc-body {
    padding: 60px 70px 60px 20px;
}
  .sec-contact .contenu-contact {
    padding: 80px 75px 97px 20px;
}
  
  
}
@media (max-width: 991px) {
  .content-presentation h1 , .sec-bloc .bloc-inner h2 {
    margin-bottom: 20px;
}
    :root { /*--hero-height: 560px; 
      --hero-height-small: 280px;*/
      --shadow-card: 10px 20px 20px 0 #00000099;}
    h1 { font-size:34px; } h2 { font-size:28px; } h3 { font-size:22px; }
.logo {
    margin: 0 0 -52px;
}
   
header.header .banner-content .container-fluid {
    font-size: 15px;
    line-height: 24px;
}
    .navbar-collapse {
        position: absolute; top: 100%; left: 0; right: 0; background: var(--bs-black);
        padding: 24px; display: none;
    }
    .navbar-collapse.show { display: block; }
    nav.navbar .sf-menu, nav.navbar ul.sf-menu { flex-direction: column !important; gap: 6px; align-items: flex-start; }
    nav.navbar .sf-menu li a { color: #fff; }
    nav.navbar .sf-menu li ul { position: relative; box-shadow: none; background: transparent; padding: 4px 0 4px 16px; }
    nav.navbar .sf-menu li ul li a { color: rgba(255,255,255,.85); }

    header.header { margin-top: 0; }
    .banner-content { padding-top: 40px; }
    .banner-social { display:none !important; }

    .sec-bloc .bloc-inner, .sec-bloc .bloc-inner.reverse-col { flex-direction: column; gap: 30px; }

    
  
  
  section.content.page-content.content-page .row > .col-lg-4 > .photo {
    height: auto;
    margin-bottom: 30px;
}

section.content.page-content.content-page .row > .col-lg-8 > .cont {
    padding: 0;
}
   section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
    width: 49%;
}
  footer.bottom {
    padding: 60px 0;
    text-align: center;
}
  .footer-contact-block .footer-info-item {
    gap: 10px;
    justify-content: center;
    flex-direction: column;
}
  .footer-contact-block {
    margin: 15px 0;
}
  footer.bottom .social .networks_linking {
   
    justify-content: center;
}
  .social h6:after {
        margin: 12px auto 0;
}
  .social h6 {
    margin-bottom: 12px;
}
  .footer-info-item a {
    font-size: 22px;
}
  .sec-contact {
    padding: 60px 0;
}
  .sec-contact .row-contact {
    flex-direction: column;
    gap: 20px;
}
  .sec-contact .contenu-contact {
    padding: 60px 30px;
    max-width: 100%;
}
  .sec-contact .photo-contact {
    max-width: 100%;
    margin: 0;
}
  section.avis {
    padding: 60px 0 130px;
}
  .swiper-pagination-avis {
    bottom: -74px!important;
}
  
  section.avis  .gb-entry  span.review-user {
    font-size: 22px;
}
  .banner-content .slogan-home {
    padding: 60px 40px;
    display: block;
    max-width: 95%;
    margin: 0 auto;
    text-align: center;
}
  .banner-content h2 {
    font-size: 40px;
    line-height: 1.1em;
}
  .banner-content h2  span {
    margin: 10px auto 0;
    display: table !important;
}
  header.header section.banner {
  /*
    height: 600px;*/
}
  .content-presentation , .sec-bloc , .actualites {
    padding: 60px 0;
}
  .content-presentation:before {
    width: 98%;    width: 100%;
}
  .sec-bloc .bloc-body , section.content-block.sec-bloc.sec-bloc-second .bloc-body {
    padding: 0;
    max-width: 100%;
}
  section.content-block.sec-bloc.sec-bloc-first:after {
    display: none;
}
  .sec-bloc .bloc-media {
    max-width: 100%;
}
 section.content-block.sec-bloc.sec-bloc-third .bloc-body {
    max-width: 100%;
    padding: 60px 40px;
}
  section.content-block.sec-bloc.sec-bloc-third {
    padding-top: 60px;
}
  section.content-block.sec-bloc.sec-bloc-second .bloc-media:before {
   
    height: 400px;
}
  section.content-block.sec-bloc.sec-bloc-third .bloc-media {
    margin: 0;
}
  .actualites .section-header {
    margin-bottom: 20px;
}
  .actualites .news-object .photo, .actualites .news-object .nophoto {
    
    max-width: 400px;
    min-width: 400px;
}
  header.header section.banner button.carousel-control-prev, header.header section.banner button.carousel-control-next {
    display: none;
}
}

/*==================================================
# Responsive — Mobile
==================================================*/
@media (max-width: 767px) {
  .logo {
    margin: 0;
}.cta-all {
    display: flex;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    flex-direction: column;
}header.header .banner-content .container-fluid h4 {
    margin-top: 250px;
}
   /* --- */
  .contactForm .contact-field-item {
    margin: 0 0 10px !important;
    position: relative;
    display: block;
    padding: 0;
    width: 100%!important;
    float: none;
    clear: none !important;
}
    .contactForm .contact-field-item:nth-child(even) {
        padding-right: 0;
    }
    .contactForm .contact-field-item:nth-child(odd) {
        padding-left: 0;
    }
    .contactForm .contact-submit {
        float: none !important;
        margin-top: 20px;
        display: table;
    }
  	
  
  	.img-page, section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
        margin-left: auto !important;
        margin-right: auto;
        display: table;
    }
  	section.content.page-content.content-page .grid-gallery {
        grid-template-columns: repeat(2,1fr);
        grid-gap: 10px;
    }
  	section.content.page-content.content-page .link-picture {
        height: 300px;
    }
  
  section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
      width: 48.5%;
  }
  
  
  .subtitle {
    margin-bottom: 10px;
    font-size: 16px;
    letter-spacing: 1px;
}
  section.content-block.sec-bloc.sec-bloc-second .bloc-media:before {
    height: 300px;
}
  .actualites .news-object.Item {
    display: block;
}
  .actualites .news-object .photo, .actualites .news-object .nophoto {
    max-width: 100%;
    min-width: 100%;
        min-height: 230px;
    
}

 .actualites .news-desc {
    height: auto;
    margin: 0;
    padding: 50px 20px;
    text-align: center;
}
  .actualites .news-desc h3 {
    font-size: 22px;
}
  section.modules.actualites.sec-actualites .swiper-pagination-actus.swiper-pagination-bullets {

    margin-top: 30px;
}
  header.header.small section.banner.small {
    height: 400px;
}
  .box-contact-info {
    padding: 15px;
}
  
}
@media (max-width: 575px) {
    h1 { font-size:28px; } h2 { font-size:24px; } h3 { font-size:20px; }
  
  
  nav.navbar {
    padding: 10px 0;
}
  nav.navbar .container {
    flex-direction: column;
    gap: 10px;
}

  .banner-content {
    padding-bottom: 30px;
}
  .banner-content h2 {
    font-size: 33px;
}
  .banner-content .slogan-home {
    padding: 40px 20px;
}
 header.header section.banner {
  /*  height: 500px;*/
}
  .banner-content .cta > a {
    margin-top: 10px;
}
  
  nav.navbar.is-sticky .navbar-brand .logo-img , nav.navbar.is-sticky a.btn-primary.nav-cta-btn {

    display: none !important;
}
  
  .sec-bloc .bloc-media {
    flex-direction: column;
}
  .sec-bloc .bloc-media .img1 {
    margin: 10px 0;
}
  section.content-block.sec-bloc.sec-bloc-third .bloc-body {
 
    padding: 40px 15px;
}
  .sec-contact .contenu-contact {
    padding: 40px 15px;
}
  .sec-contact .gdpr.form-check {
    font-size: 14px;
}
  .sec-contact .photo-contact:before , section.content-block.sec-bloc.sec-bloc-second .bloc-media:before {
    display: none;
   
}
  
}
@media (max-width: 480px) {
  section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
	width: 100%;
}
  .banner-content .slogan-home {
    padding: 30px 15px;
    max-width: 100%;
}
  .banner-content h2 {
    font-size: 27px;
}
  .actualites .news-desc {
   
    padding: 40px 15px;
}
  .actualites .news-desc h3 , section.avis .gb-entry span.review-user {
    font-size: 18px;
}
  a#scrollTopBtn {
    
    bottom: 57px;
}
  
}
/*==================================================
# Print
==================================================*/
@media print {
    nav.navbar, .banner, footer.bottom, .footer-nav, a#scrollTopBtn { display:none !important; }
}
