 a.btn-cookies-link { 
    background-color: #fff!important;
}
.modal-header .btn-close {
    background-color: #fff;
}
/*--------------------------------------------------
# Fonts
--------------------------------------------------*/
@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Black.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Bold.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-SemiBold.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Black.woff2') format('woff2'),
        url('../fonts/Montserrat-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2'),
        url('../fonts/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.woff2') format('woff2'),
        url('../fonts/Montserrat-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../fonts/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.woff2') format('woff2'),
        url('../fonts/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'),
        url('../fonts/Montserrat-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Playfair 9pt';
    src: url('../fonts/Playfair9pt-Bold.woff2') format('woff2'),
        url('../fonts/Playfair9pt-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair 9pt';
    src: url('../fonts/Playfair9pt-Regular.woff2') format('woff2'),
        url('../fonts/Playfair9pt-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}





/*--------------------------------------------------
# General
--------------------------------------------------*/
:root{
    --bs-body-color: #171717;
    --bs-body-bg: #FAF9F5;      
    --bs-primary-color: #272A5C; 
    --bs-secondary-bg: #EB6E2D;  
    --tertiary-color: #F6A622;  
    --quatro-color: #255E94; 
    --dark-color: #000;
    --light-color: #fff;
    --bs-btn-padding-x: 20px;
    --bs-btn-padding-y: 10px;
    --bs-nav-link-color: #fff;
    --bs-body-font-family: 'Montserrat';
    --bs-titles-font-family: 'Playfair Display';    
    --bs-titles1-font-family: 'Playfair 9pt';    
--bs-body-font-weight:400;
--bs-body-line-height:24px;
--bs-body-font-size:15px;
--bs-nav-link-font-size:1em;
--bs-nav-link-font-weight:600;
--bs-nav-link-padding-y:10px;
--bs-nav-link-padding-x:0;
--bs-navbar-nav-link-padding-x:0;
--bs-dropdown-zindex:99;
--bs-dropdown-min-width:200px;
--bs-dropdown-padding-x:20px;
--bs-dropdown-padding-y:15px;
--bs-dropdown-font-size:1em;
--bs-dropdown-padding-y:5px;
--bs-dropdown-font-size:1em;
--bs-border-radius:50px!important;
}

 html { scroll-behavior: smooth; }

.btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: #272A5C;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #EB6E2D;
	--bs-btn-focus-shadow-rgb: 49,132,253;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #EB6E2D;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #EB6E2D;
	--bs-btn-disabled-border-color: #000;
	border-radius: 0;
	border: none;
}
.box-light, .box-border-left, .box-border-right {
	padding: 20px 15px;
	margin: 0 0 20px;
	background: none;
      border-radius: 30px;
    border: 2px solid var(--bs-secondary-bg); 
}
.box-border-left {
    border-left: 7px solid var(--bs-primary-color);
}
.box-border-right {
    border-right: 7px solid var(--bs-primary-color);
}
.box-dark {
	padding: 20px;
	margin: 0 0 20px;
      border-radius: 10px;
    color: var(--bs-body-bg);  
}
.box-dark a {
    color: var(--bs-body-bg) !important;
}
.box-dark h1, .box-dark h2, .box-dark h3, .box-dark h4, .box-dark h6, .box-dark .h1, .box-dark .h2, .box-dark .h3, .box-dark .h4, .box-dark .h6 {
	color: var(--bs-body-bg);
}
.alert-success {
    border-radius: 5px!important;
}
.container {
	max-width: 1170px;
} 
.btn-cookies-pos {
	z-index: 99;
}
.modal-header .nav-link {
	color: var(--bs-body-color) !important;
}

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 */
}
.logo img, .footer-logo img{ 
   max-width: 100%;
   animation: mymove 2s infinite;
}

@keyframes mymove {
  50% {    filter: drop-shadow(2px 0px 20px rgba(0 0 0 /30%));}
}


.networks_linking a {
    font-size: 18px;
    color: var(--light-color)!important;
width: 59px;
height: 59px;
    line-height: 59px;
    vertical-align: top;
    display: inline-block;
    margin: 0 5px ;
    text-align: center;
    position: relative; 
border-radius: 10px;
background: var(--primary-color, linear-gradient(90deg, #EB6E2D 0%, #F6A622 100%)); 
}

.networks_linking a:hover{
	transition: 0.3s all;
 transform: translateY(-2px);  
background: var(--secondary-color, linear-gradient(90deg, #272A5C 0%, #255E94 100%));
}
.fa-facebook::before {
    content: "\f39e" !important;
} 
.fa-linkedin::before {
    content: "\f0e1" !important;
} 
.networks_linking { 
    display: flex;
}
.networks_linking a.networks.networks_google {
    order: 3;
}
 
@keyframes updown {
  0% {
    transform: translateY(-10%); /* Start above its natural position */
  }
  50% {
    transform: translateY(10%); /* Move down below its natural position */
  }
  100% {
    transform: translateY(-10%); /* Return to the starting position */
  }
}

/*--------------------------------------------------
# banner
--------------------------------------------------*/
 
 
  header .container-fluid {
    max-width: 1890px;
}
    
 @keyframes flicker-shadow1 {
  
0% {
    text-shadow: 0 0 5px rgba(255 255 255 / 50%);
}
50% {
    text-shadow: 0 0 12px rgb(255 255 255 / 100%);
}
100% {
    text-shadow: 0 0 5px rgba(255 255 255 / 50%);
}
}
 


 
/*--------------------------------------------------
# banner
--------------------------------------------------*/

 .banner-section {
    margin-top: 60px;
} 
nav.navbar.sticky-top {
    padding: 15px 20px;
    border-radius: 10px;
background: rgba(255, 255, 255, 0.10);
backdrop-filter: blur(40px);
}
 .logo img {
    max-width: 100%;
}  
header .navbar-nav .nav-link {
       position: relative;
	font-family: var(--bs-body-font-family);
 font-weight: 500;
    font-size: 15px; 
    transition: color 0.3s ease;
    text-transform: none; 
	 color: var(--light-color);
	padding: 8px 16px!important;  
} 
 header .navbar-nav .nav-item.selected .nav-link,
 header .navbar-nav .nav-link:hover, header .navbar-nav .nav-link:focus,  header .navbar-nav .nav-link:active {
background: var(--primary-color, linear-gradient(90deg, #EB6E2D 0%, #F6A622 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}   
header .navbar-nav li:not(:first-child) .nav-link:before {
    /* content: "";*/
     position: absolute;
     left: -3px;
     top: 50%;
     transform: translate(0,-50%);
       width: 8px;
    height: 8px;
    background-color: var(--tertiary-color);
    border-radius: 10px;
}
 .navbar-toggler {
	position: relative;
	border: none;
	padding: 0;
	box-shadow: none !important;
}
  .navbar-nav {
     margin: 0 auto ;
}
button.navbar-toggler:before {
	top: 0;
	transform: rotate(-32deg);
	transform-origin: right;
}
button.navbar-toggler:after {
	bottom: 0;
	transform: rotate(32deg);
	transform-origin: right;
}
button.navbar-toggler:after, button.navbar-toggler:before {
	content: '';
	width: 1.5em;
	background:var(--light-color);
	position: absolute;
	left: 0;
	height: 2px;
	transition: .3s;
}
button.navbar-toggler .navbar-toggler-icon {
	display: block;
	height: 2px;
	background-image: none;
	background-color: var(--light-color);
	transition: .1s;
	opacity: 1;
	margin: 8px 0;
}
.navbar-nav .dropdown-toggle:after {
    margin: 0 auto 0 !important;
    display: table;
    content: "\f107";
    font-family: "Font Awesome 6 Sharp" !important;
    border: none;
    font-weight: 900;
    color: var(--light-color);
    font-size: 11px;
}
/*.navbar-nav .nav-item:hover .dropdown-toggle:after {
	content: "\f106";
}*/
.dropdown-menu {
    background: var(--light-color);
    border: none;
    border-radius: 10px;
      left: 50%;
    transform: translate(-50%);
    min-width: 200px;
  box-shadow: 0 0 5px rgba(0 0 0 / 30%);
}
.dropdown-toggle {
     white-space: nowrap;
    position: absolute;
    left: 50%;
    top: 30px;
    transform: translateX(-50%);
}
header nav.navbar.sticky-top .level-0 li:first-child .dropdown-toggle {
    right: 50px;
}
.navbar-nav .dropdown-menu .nav-item .nav-link {
    padding: 3px 15px !important;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    font-weight:500;
   color: var(--bs-secondary-bg);
}  
.navbar-nav .dropdown-menu .nav-item .nav-link:before {
  display: none;
}
 .navbar.is-sticky {
	position: fixed;
	top: 0;
      left: 0;
	width: 100%; 
   padding: 10px 0!important ;
	border-bottom: 1px solid var(--bs-primary-color); 
	z-index: 9999;
    background: var(--dark-color)!important;
    backdrop-filter: blur(32px);
border-radius: 0!important;
}
 .navbar.is-sticky .navbar-brand {
	display: none;
}
/* --- */
 
/* Banner Section */
section.banner {
    height: 927px; 
} 
section.banner.small {
    height: auto !important;
    font-size: 100%;
}
section.banner.small .banner-section {
    position: relative !important;
    margin: 0;
    z-index: 100 !important;
    padding: 20px 0;
    background: #1c1c1c;
}
section.banner.small .hero-content {
    margin-bottom: 200px;
}
section.banner .carousel, section.banner .carousel-inner, section.banner .carousel-inner img, section.banner .carousel-item {
	height: 100%;
  object-fit: cover; 
} 
section.banner .carousel:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0; 
    transition: all .4s; 
background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 35.28%, rgba(0, 0, 0, 0.70) 100%);
      z-index: 2;
}
section.banner .carousel-control-next, section.banner .carousel-control-prev {
	display: none;
}
 
 .hero-content {
    margin-bottom: 354px;
}
/* Custom Button Styles */
 
 
 
a.readmore.phone{ 
background: var(--secondary-color, linear-gradient(90deg, #272A5C 0%, #255E94 100%));
}
 .bx-flex2 {
    gap: 24px;
    justify-content: center;
}
 .bx-flex2 a.readmore {
    margin: 0;
}

 /* ========================================
   Background Text Elements
   ======================================== */
 

.readmore { 
   background: linear-gradient(to right, var(--bs-secondary-bg), var(--tertiary-color));
    border: none;
    color: var(--light-color);
    font-family: var(--bs-body-font-family), sans-serif;
    font-weight: 500;
    font-size: 15px;
    text-transform: uppercase;
    padding: 14px 70px 14px 32px;
    border-radius: 10px;
    position: relative; 
      display: inline-block;
    transition: all 0.3s ease; 
      margin-top: 20px;
  text-decoration: none;
   animation: flicker-shadow2 0.6s infinite alternate; 
}
a.readmore:active, a.readmore:hover, a.readmore:focus {
    color: var(--light-color);
}
.readmore .btn-arrow {
    position: absolute;
    right: 19px;
    top: inherit;
    bottom: -12px;
    width: 41px;
    height: 41px;
    background: var(--light-color);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}
.readmore .btn-arrow:before {
    content: "";
      position: absolute; 
    background: url(../images/arrow-right.webp) no-repeat center top; 
    width: 13px;
    height: 11px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.readmore .btn-arrow.secondary:before{
    background: url(../images/arrow-right2.webp) no-repeat center top; 
}
.readmore:hover .btn-arrow {
       transform: scale(1.1);
} 
.readmore:hover{
 transform: translateY(-2px);  
  } 
@keyframes flicker-shadow {
  0% {
    box-shadow: 0 0 10px rgba(255 255 255/50%);
  }
  50% {
    box-shadow: 0 0 20px rgb(255 255 255 / 67%); /* Brighter/different shadow */
  }
  100% {
    box-shadow: 0 0 10px rgba(255 255 255/50%);
  }
}


/* services Section */
 
.services-section{
    padding: 0 0 45px;
 z-index: 1;
}
.services-section .container-fluid{
    max-width: 1710px;
}
.services-section .swiper-container{
	overflow: hidden;
	margin: -100px 0 0;
      padding-bottom: 25px;
}
.services-section .swiper-slide{
   height: auto !important;
      position: relative;
}
.services-section .swiper-slide .bx-home  {
    max-width: 544px;
     margin: auto ; 
      position: relative;
} 
.services-section .bx-home .bx-img {
    height:400px;
      position: relative;
}
.services-section .bx-home img {
    height:100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px; 
   box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, 0.15);
}
.services-section .bx-home:hover img {
    transition: all .4s; 
  box-shadow:none;
}
.services-section .bx-home .bx-img:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0; 
    transition: all .4s; 
      z-index: 1;
    pointer-events: none;
    border-radius: 20px; 
background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.50) 100%)
} 
.services-section .bx-home .bx-txt{
    padding: 20px;
    transition: all .4s;
  position: absolute;
    top: inherit;
    bottom: 0; 
    left: 0;
    right: 0;
      z-index: 1;
} 
.services-section .bx-home .bx-txt h3 { 
    margin-bottom: 0;
background: var(--primary-color, linear-gradient(90deg, #EB6E2D 0%, #F6A622 100%)); 
  background-clip: text;
    -webkit-background-clip: text;
       transition: all .4s;
  font-size: 30px;
}
.services-section .bx-home:hover .bx-txt h3 {  
 background: var(--light-color, linear-gradient(90deg, #fff 0%, #fff 100%)); 
  background-clip: text;
    -webkit-background-clip: text;
} 
.services-section .swiper-pagination{

  bottom:15px!important;
  width: auto;
  margin: auto;
  right: 0;
      z-index: 1;
}
.services-section .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: none;
   border: 2px solid  var(--bs-secondary-bg);
  opacity: 1;
}
.services-section .swiper-pagination-bullet-active{
    width: 12px;
    height: 12px;
    background: var(--bs-secondary-bg);
} 
a.link {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 3;
    opacity: 0;
}



/*--------------------------------------------------
# content home
--------------------------------------------------*/
a {
    color: var(--bs-secondary-bg);
    text-decoration: underline;
    transition: all .4s;
}
a:active, a:hover, a:focus {
    color: var(--bs-secondary-bg);
    text-decoration: none;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	position: relative;
	font-family: var(--bs-titles-font-family);
	line-height: 1.2em;
	font-weight: 700;  
	margin: 0 0 15px;
  text-transform: uppercase;  
    background: var(--secondary-color, linear-gradient(90deg, #272A5C 0%, #255E94 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
h1, .h1 {
   font-size: 48px;
}
h2, .h2 {
  font-size: 40px;
}
h3, .h3 {
   font-size:28px;
}
h4, .h4 {
    font-size: 26px; 
}
h5, .h5 {
    font-size: 24px; 
}
h6, .h6 {
    font-size: 22px; 
}
img.fr-dii {
	max-width: inherit !important;
	margin: 0 !important;
}

 


/* --- content home --- */

 

section.home-content.content-home {  
    padding: 120px 0 41px; 
}  
section.home-content.content-home h1 { 
    margin-bottom: 48px;
      position: relative; 
      padding-top: 109px;
} 
section.home-content.content-home h1:before {
    content: "";
      position: absolute; 
    background: url(../images/icon.webp) no-repeat center top;
    background-size: contain;
    width: 56px; 
      top:0;
      bottom: 0;
      left: 50%;
    transform: translate(-50%);
   animation: zoomPulse 1s infinite ease-in-out;
}
@keyframes zoomPulse {
  0%, 100% {
    transform: translate(-50%) scale(1);
  }
  50% {
    transform: translate(-50%) scale(1.1);
  }
} 

.content-container {
    display: flex;
      margin-bottom: 30px;
} 
.content-image {
    width:641px;  
 position: relative;
    display: inline-flex;
}
.content-container.ord2 .content-image { 
    order: 2;
}
 .content-image img {
border-radius: 20px;
    object-fit: cover;
      position: absolute!important;
    width: 100%;
    height: 100%;
}
.content-text {
      position: relative;
    z-index: 1;
 padding:65px 80px;   
  width: 719px;
    border-radius: 20px;
background: rgba(255, 255, 255, 0.80);
box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.10);
backdrop-filter: blur(40px);
    margin: 80px 0 80px -140px;
}
.content-container.ord2 .content-text {
    margin: 80px -140px 80px 0;
}


/* Decoration Circles */
.decoration-circle {
    position: absolute;
 width: 322px;
height: 322px;
border-radius: 322px;
background: linear-gradient(90deg, rgba(235, 110, 45, 0.30) 0%, rgba(246, 166, 34, 0.30) 100%);
filter: blur(100px);
    pointer-events: none;
    z-index: -1;
    animation: flicker 2s infinite ease-in-out, rise 2s infinite ease-in;
}
/* Effet de "flickering" (tremblement) */
@keyframes flicker {
  0%, 100% {
      transform: translateX(-50%) scaleY(1);
    opacity: 0.7;
  }
  50% {
    transform: translateX(-50%) scaleY(1.1);
    opacity: 1;
  }
}

/* Mouvement de montée (comme une vraie flamme qui s'élève) */
@keyframes rise {
  0% {
     bottom: 0;
    transform: translateX(0) scaleY(1);
  }
  100% {
    bottom: 0;
    transform: translateX(0%) scaleY(1);
  }
}

.circle-1 {
 right: -131px;
top: 23px;
}

.circle-2 {
    left: -131px;
    bottom: -137px !important;
}

.circle-3 {
    top: -41px;
    right: -202px;
}

.circle-4 {
    left: -161px;
    bottom: -86px;
} 


/*****************/

 
section.galerie-home{
  padding: 51px 0 61px;
} 
section.galerie-home .container-fluid {
    max-width: 1710px;
}
section.galerie-home h2 {
    margin-bottom: 40px;
      position: relative; 
      padding-top: 86px;
} 
section.galerie-home h2:before {
    content: "";
      position: absolute; 
    background: url(../images/icon.webp) no-repeat center top;
    background-size: contain;
    width: 42px;
    bottom: 0;
    top:0;
      left: 50%;
    transform: translate(-50%);
   animation: zoomPulse 1s infinite ease-in-out;
} 
section.galerie-home .swiper-pagination4{

	bottom: -60px;
      position: absolute;
}
section.galerie-home .swiper-pagination-bullet {
   width: 15px;
height: 15px;
    border-radius: 50%;
    background:none;
    border: 2px solid var(--bs-primary-color); 
    opacity: 1; 
      margin: 0px 10px !important;
}
section.galerie-home .swiper-pagination-bullet-active{
  width: 15px;
height: 15px;
    background: var(--bs-primary-color);
    border: 2px solid var(--bs-primary-color);
}
section.galerie-home .swiper-horizontal{
	overflow: hidden; 
} 
section.galerie-home a.link-picture {
	position: relative;
    height: 520px;
	background-size: cover;
  border-radius: 10px ;
	font-size: 0;
}
section.galerie-home a.link-picture:before{
	content:"";
	position : absolute;
   top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
	background: #131415 ;
      transition: all .4s;
    opacity: 0;
  border-radius: 10px ;
}
section.galerie-home a.link-picture:hover:before {
     opacity: .5;
}
section.galerie-home a.link-picture:after {
    content: "";
      position: absolute; 
    background: url(../images/icon.webp) no-repeat center;
    width:70px;
   height: 77px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all .4s;
    opacity: 0;
      animation: zoomPulse1 1s infinite 
ease-in-out;
} 
section.galerie-home a.link-picture:hover:after {
     opacity: 1;
}
@keyframes zoomPulse1 {
  0%, 100% {
    transform:translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
  }
} 
  
/* Why Choose Us Section */

.features-section {
    position: relative;
    padding: 100px 0; 
}
.features-section h2 { 
    margin-bottom: 8px; 
}  
.features-section .swiper-container{
	overflow: hidden;
	margin: 0;
}
.features-section .swiper-wrapper {
    align-items: center;
      justify-content: center;
}
.features-section .swiper-slide{
   height: auto !important;
  max-width: 274px;
}
.features-section .swiper-slide .bx-home  { 
     margin:  auto  ; 
      max-width: 274px;
} 
.features-section .bx-home img {
width: 100%;
    height: 164px;
    object-fit: scale-down;
}  
.features-section .swiper-pagination{

  bottom:-55px!important;
  width: auto;
  margin: auto;
  right: 0;
      z-index: 1;
}
.features-section .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: none;
   border: 2px solid var(--bs-primary-color);
  opacity: 1;
}
.features-section .swiper-pagination-bullet-active{
    width: 12px;
    height: 12px;
    background: var(--bs-primary-color);
} 

/*--------------------------------------------------
# footer
--------------------------------------------------*/
  
.footer-section {
 padding: 50px 0 100px; 
        background-color: var(--bs-body-color); 
       color: var(--light-color);
  } 
.footer-section h3 {  
 background: var(--light-color, linear-gradient(90deg, #fff 0%, #fff 100%)); 
  background-clip: text;
    -webkit-background-clip: text;
      margin-bottom: 10px;
  font-size: 30px;
	font-family: var(--bs-titles1-font-family);
} 

/* --- */
.footer-nav {
	padding: 15px 0 !important; 
}
.footer-nav p {
	margin: 0;
}
.footer-nav p small {
	font-size: 100%;
}
 
.footer-b {
	display: none;
}
/* --- */
#scrollTopBtn {
	bottom: 75px !important;
	right: auto !important;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
 z-index:  999 !important
}
.grecaptcha-badge {
	z-index: 9999;
}
 
 

/* - news - */

section.content div#AllNews {
    grid-gap: 30px 0;
}

section.content .news-col .news-object .nophoto, section.content .news-col .news-object .photo {
    height: 250px;
    position: relative;
      border: 1px solid;
      background-color: #131533;
} 
section.content .news-col .news-object .photo img,section.content .news-col .news-object .nophoto img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    object-fit: scale-down;
   padding: 10px;
    height: 100%;
    width: 100%;
    display: block
}
section.content .news-col .news-object .nophoto img {
    object-fit: scale-down !important; 
    padding: 10px;
}
section.content .news-col .news-object .nophoto i.fa-duotone.fa-image {
    display: none;
}
section.content .news-col .news-object .news-desc {
      position: relative;
    margin-top: 30px;
}
section.content .news-col .news-object h3 {
    margin: 0 0 20px;
    font-size: 18px;
    font-family: var(--bs-body-font-family);
    color: white;
    -webkit-text-stroke-width: 0;
}
section.content .news-col .news-object .date { 
    font-size: 18px;
    font-weight: 600;
      color: var(--bs-body-color);
      font-family: var(--bs-body-font-family);
}
section.content .news-col .news-object .news-desc .read-more{
    margin: 30px 0px 0 ;
      position: relative;
}
section.content .news-col .news-object .news-desc .read-more a {
  padding: 15px 32px;
    line-height: normal;
    color:var(--light-color)!important;
  text-transform: uppercase;
    text-align: left;
    background: var(--bs-secondary-bg);
    font-family: var(--bs-body-font-family);
    font-size: 15px; 
border-radius: 3px;
 font-weight: 700;
    border: none;
   position: relative;
      display: inline-block;
    text-decoration: none;
    overflow: hidden;
 transition: all 0.5s;
  -webkit-transition: all 0.5s;
      margin-top: 16px;
  letter-spacing: 0.75px;
  animation: flicker-shadow2 0.5s infinite alternate; 
}
section.content .news-col .news-object .news-desc .read-more a:hover {
transform:scale(0.9);
    background: var(--bs-secondary-bg);
}
.backbtn:hover  {
    color: var(--bs-primary-color)!important;
}
.col-12.col-md-9.news-article-share-col {
    display: none;
}
img.zoomable-image.img-news, img.img-responsive.img-news {
    max-width: 250px;
}

.modal-content {
    border: 1px solid;
}
/***********page interne*************/
 
 
.backbtn  {
    color: var(--bs-secondary-bg)!important;
}
.backbtn:hover  {
    color: var(--bs-body-color)!important;
}
#scrollTopBtn {
	background-color: var(--bs-primary-color) !important;
  color: var(--light-color) !important;
}
#scrollTopBtn:hover {
	background-color: var(--bs-secondary-bg) !important;
  color:  var(--dark-color)!important;
} 

/*--------------------------------------------------
# contact-page
--------------------------------------------------*/
.contactForm .contact-field-item {
	margin: 0 0 10px  !important;
	position: relative;
	display: block;
	padding: 0;
	width: 50%;
	float: left;
	clear: none !important;
}
.contactForm .contact-field-item:nth-child(odd) {
	padding-left: 5px;
}
.contactForm .contact-field-item:nth-child(even) {
	padding-right: 5px;
}
.contactForm .contact-field-item.fullwidth {
	width: 100%;
	padding: 0 !important;
	float: none;
	clear: both !important;
}
.form-control, section.content .contactForm .contact-field-item .contact-field-element .form-field, .form-select {
	font-weight: 400;
	width: 100%;
	padding: 10px 20px;
	font-size: 16px;
	letter-spacing: 0;
	color: var(--bs-body-color);
	background: var(--bs-body-bg);
	border: 1px solid var(--bs-body-color);
	transition: border-color 0.3s ease;
	font-family: var(--bs-body-font-family);
	border-radius: 0;
	-webkit-border-radius: 0;
}
.form-control::placeholder, section.content .contactForm .contact-field-item .contact-field-element .form-field::placeholder, .form-select::placeholder {
	color: var(--bs-body-color) !important;
}
.form-control:focus, section.content .contactForm .contact-field-item .contact-field-element .form-field:focus, .form-select:focus {
	outline: none !important;
	background: var(--bs-body-bg);
	border-color: var(--tertiary-color);
	box-shadow: none !important;
}
textarea.form-control {
height: 150px; 
}
.gdpr.form-check {
	margin-top: 15px;
}
.contactForm .contact-submit{
	position: relative;
    margin-top: 15px;
}
.contactForm .contact-submit .btn-primary, section.content .contactForm .form-submit-button {
	  padding: 16px 32px; 
    line-height: normal;
    color:var(--bs-body-bg)!important;
  text-transform: uppercase;
    text-align: left; 
    font-family: var(--bs-body-font-family);
    font-size: 16px; 
    border-radius: 0;
    font-weight: 400;
    border: none;
   position: relative;
      display: inline-block;
    text-decoration: none;
    overflow: hidden;
 transition: all 0.5s;
 background: linear-gradient(to right,  var(--bs-primary-color) 50%,  var(--bs-secondary-bg) 50%) no-repeat;
    background-size: 200% 100%;
    background-position: 100% 0;
    transition: background-position 0.4s 
ease-out;
} 
.contactForm .contact-submit .btn-primary:hover, section.content .contactForm .form-submit-button:hover {
      background-position: 0 0; 
}
.contact-field-type_checkboxes .form-label {
	font-weight: 700;
    clear: both;
    display: block;
}
.contact-field-type_checkboxes .form-check {
	float: left;
	margin-right: 15px;
}
section.content.content-page .contactForm .contact-submit {
	width: 185px;
}
.guestbook-form .contactForm .contact-field-item:nth-child(even) {
	padding: 0 5px 0 0;
}
.guestbook-form .contactForm .contact-field-item:nth-child(odd) {
	padding: 0 0 0 5px;
}
.fa-duotone.fa-image {
	display: none;
}
/* --- */ 
section.content.page-content.content-page .grid-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    justify-content: center;
    margin-top: 5px;
}
section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
	display: block;
	width: 23.5%;
	background-size: cover;
	background-position: center;
	height: 300px;
	cursor: zoom-in;
      border-radius: 10px;
	position: relative;
	transition: transform .4s,box-shadow .4s;
	margin-bottom: 13px;
	background-repeat: no-repeat;
}
section.content.page-content.content-page .link-subgallery:hover, section.content.page-content.content-page .link-picture:hover {
	filter: grayscale(1);
}
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;
	margin: 0 !important;
	padding: 0;
}
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 {
	color: var(--bs-body-bg) !important;
	background: var(--bs-primary-color) !important;
	border-color: var(--bs-primary-color);
}
section.content.page-content.content-page .pagination #fslight-prev.disabled .page-link, section.content.page-content.content-page .pagination #fslight-next.disabled .page-link {
	background: var(--bs-pagination-disabled-border-color);
}
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;
}
.img-responsive {
	max-width: 100%;
}
section.content ul {
	padding: 0;
}
section.content li {
	background: url(../images/bullet.webp) no-repeat left 6px;
	padding-left: 20px;
} 
section.content li::marker{
	content: "" !important;
}
h3.contact-field {
    display: none;
}
 
/*--------------------------------------------------
# galerie page
--------------------------------------------------*/
section.galerie-page .breadcrumb-gallery {
	display: none;
}
section.galerie-page .swiper-horizontal {
	padding: 0 0 45px;
	overflow: hidden;
	display: block !important;
	margin: 0 !important;
}
section.galerie-page a.link-picture {
	position: relative !important;
	display: block !important;
	height: 350px !important;
	filter: grayscale(0);
	margin-bottom: 0 !important;
}
/* --- */
.fslightboxci {
	padding: 20px 25px;
}
.fslightboxci h2 {
    font-size: 18px;
    color: #ffffff;
    margin: 0;
    text-transform: none;
    font-weight: 500;
    -webkit-text-stroke-width: 0;
    -webkit-background-clip: inherit;
    -webkit-text-fill-color: inherit;
    background: none !important;
}
.fslightboxci p {
	margin: 0;
}
.modal-header h3 {
	text-transform: lowercase !important;
	font-size: 35px !important;
}
.modal-header h3::first-letter {
	text-transform: uppercase;
} 
 
 /* Ć‰tats initiaux pour les bandeaux */
        .slide-from-left {
            opacity: 0;
            transform: translateX(-100px);
        }

        .slide-from-right {
            opacity: 0;
            transform: translateX(100px);
        }

 
section.content .icon-page {
    display: flex;
    align-items: center;
    grid-gap: 25px;
    font-size: 20px;
}
section.content .row.bx-grid {
   margin-bottom: 30px;
}
section.content .row.bx-grid .img-page {
    position: relative;
      height: 100%;
}
 section.content .row.bx-grid .img-page img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
     border-radius: 30px;
} 
section.content .row.bx-grid .text-page {
    padding: 30px 0;
}


table.table-bordered.table-responsive.table-hover {
    width: 100%;
 margin-bottom: 20px;
}
table.table-bordered td p {
    margin-bottom: 0;
}
table.table-bordered.table-responsive.table-hover th, table.table-bordered.table-responsive.table-hover td {
    padding: 7px 10px;
}
.table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th, .table-bordered>tfoot>tr>td, .table-bordered>tfoot>tr>th, .table-bordered>thead>tr>td, .table-bordered>thead>tr>th {
    border: 1px solid #82a8de;
}
.table-hover>tbody>tr:hover {
    background-color: #fff;
}
table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
} 

section.content .bx-carte {
    background: var(--bs-body-color);
    border-radius: 20px;
    padding: 5px;
}


/* Parallax Section */
.parallax-section { 
    padding: 220px 0; 
  background: url(../images/bg-parallax.webp) no-repeat center fixed;
  background-size: cover;
}  
.parallax-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(52, 34, 20, 0.00) 0%, rgba(52, 34, 20, 0.80) 100%);
} 
.parallax-content { 
    position: relative;
    z-index: 2;
}

.parallax-title {  
    margin-bottom: 30px;
    background: var(--light-color, linear-gradient(90deg, #fff 0%, #fff 100%));
    background-clip: text;
    -webkit-background-clip: text;
}

section.content .txt-center {
    text-align: center;
}
section.content .bx-flex2 {
    display: flex;
    justify-content: center; 
    margin: 50px 0;
}

/* -------------------- */
 @media only screen and (max-width : 1799px) {
  
 
   header .navbar-nav .nav-link { 
    padding: 10px 5px !important;
}
}
 @media only screen and (max-width : 1599px) {
   .banner-section .logo {
  max-width: 370px;
}
     nav.navbar.sticky-top {
    padding: 15px 10px;
   } 
   header .navbar-nav .nav-link {
        padding: 10px 5px !important;font-size: 14px;
    }
section.galerie-home a.link-picture { 
    height: 450px;
    }
   
   
}
 @media only screen and (max-width : 1399px) {
 
   .bloc-flex {
    flex-direction: column;
    gap: 30px;
}
   section.home-content.content-home  {
    padding: 41px 0;
}
   .content-text { 
    padding: 40px;
   }
 .features-section { 
    padding: 70px 0;
}
   section.galerie-home {
    padding: 0 0 61px;
}
     .parallax-section {
    padding: 150px 0;
  }
   
}
@media only screen and (max-width : 1199px) {
    .container-fluid, .container, .max-container {
        max-width: 992px !important;
    }
  .logo img {
        max-width: 100%;
    }
       header .navbar-nav .nav-link {
    padding: 10px 4px !important;
    font-size: 13px;
  }
  /*************/
 
  section.banner {
    height: 700px;
  }
  .hero-content {
    margin-bottom: 250px;
}
  
    h1, .h1 {
        font-size: 40px;
    }
  h2, .h2 {
    font-size: 35px;
}
     .content-text {
        padding: 40px 15px;
    }
  section.galerie-home a.link-picture { 
    height: 400px;
  }
 .footer-section {
    padding: 50px 0 70px;
  }
	 .footer-section .b-footer {
    flex-direction: column;
    gap: 24px;
}
  .parallax-section {
    padding: 100px 0;
  }
  /****/
    .services-section .bx-home .bx-txt h3{
    font-size: 25px;
}
   .services-section .swiper-pagination {
    display: none !important;
}
    .services-section .swiper-container .swiper-wrapper {
    flex-wrap: wrap;
      flex-direction: row !important;
}
  .services-section .swiper-slide {
    height: auto !important;
    position: relative;
    width: 33.33%;
    flex: 1 auto;
}
  .services-section .swiper-slide .bx-home{
    padding:15px;
  }
  
}
@media only screen and (max-width: 991px) {
  nav.navbar.sticky-top {
	padding: 10px;
	border-radius: 0;
	background: transparent;
	backdrop-filter: inherit;
}
    .container-fluid, .container, .max-container {
        max-width: 768px !important;
    }
	header .navbar-nav .dropdown-menu {
		transform: none;
		display: none;
		margin: 0 auto;
		min-width: inherit;
		left: 0;
      margin-top: 15px;
	}
  	button.navbar-toggler[aria-expanded="false"]:after, button.navbar-toggler[aria-expanded="false"]:before {
        transform: none;
    }
  	button.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        opacity: 0;
    }
    nav.navbar.sticky-top:not(.is-sticky) .navbar-collapse#navbarNav li#menu_1, nav.navbar.sticky-top:not(.is-sticky) .navbar-collapse#navbarNav li#menu_2 {
        display: block;
    } 
    nav.navbar.sticky-top .navbar-collapse {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		background: var(--dark-color) ;
		padding: 10px 0;
		text-align: center;
		z-index: 100;
		clear: both;
	}
	header nav.navbar.sticky-top .navbar-toggler {
		margin: 5px auto;
	}
	header .nav-item {
		margin: 5px auto  !important;
	}
  	header a.nav-link {
        font-size: 16px !important;
        display: table;
        margin: 0 auto;
        padding: 7px 0 !important;
    } 
      .navbar-nav .nav-link {
        padding: 3px 0 !important;
    }
  .dropdown-toggle, header li a.nav-link:after, header .navbar-nav li:not(:first-child) .nav-link:before {
    top: 17px;
}
  header .navbar-nav > li > .nav-link:hover, header .navbar-nav > li.selected > .nav-link, header .navbar-nav .dropdown-menu .nav-item a.nav-link:hover {
    color: var(--bs-secondary-bg); 
}
      nav.navbar.sticky-top { 
        width: 100%;
    }
	/* --- */
  
  header .navbar-nav .nav-link { 
        padding: 0 !important;
    }
   
  
 section.banner {
    height: 650px!important;
} 
      .hero-content {
        margin-bottom: 220px;
    }
   .services-section .swiper-container { 
    margin: -50px 0 0;
  }
  .content-container {
    display: block;
  }
  .content-image {
    width: 100%;
    height: 300px;
max-width: 500px;
    margin-bottom: 30px;
}
  .content-text {
        padding: 30px 15px;
        width: 100%;
        margin: 0 !important;
    }
  
	/**********/
  section.content.page-content.content-page .grid-img .grid-gallery {
      margin: 0 auto 40px;
  }
  
    section.content-page p.clear {
        display: none;
    }
    
    section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 30%;
    }
    
    .box-light {
        height: auto !important;
    }
	 section.content .row.bx-grid .img-page { 
    height: auto;
    max-width: 480px;
    margin: 0 auto 30px;
} 
 section.content .row.bx-grid .img-page img {
    height: 300px;
    position: relative;
} 
    section.content.page-content.content-page .text-page {
        padding: 0 ;
    } 
  .services-section .bx-home .bx-txt h3{
    font-size: 25px;
}
   .services-section .swiper-pagination {
    display: none !important;
}
    .services-section .swiper-container .swiper-wrapper {
    flex-wrap: wrap;
      flex-direction: row !important;
}
  .services-section .swiper-slide {
    height: auto !important;
    position: relative;
    width: 48%;
    flex: 1 auto;
}
  .services-section .swiper-slide .bx-home{
    padding:15px;
  }
}
@media only screen and (max-width : 767px) {

    .head-top .container, .container {
        max-width: 100% !important;
    }
  
 .bx-flex2 { 
    flex-direction: column;
}
  
  h1, .h1 {
        font-size: 32px;
    }
  h2, .h2 {
        font-size: 30px;
    }
    .features-section .swiper-slide { 
    max-width: inherit;
}
  .features-section .swiper-wrapper { 
    justify-content: inherit;
}
	/* --- */
  	.contactForm .contact-field-item {
        width: 100%;
        float: none;
        clear: both!important;
    }
    .contactForm .contact-field-item:nth-child(even) {
        padding: 0 !important;
    }
    .contactForm .contact-field-item:nth-child(odd) {
        padding: 0 !important;
    }
    .contactForm .contact-submit {
        float: none !important;
        margin-top: 20px;
    }
   section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
        margin-left: auto !important;
        margin-right: auto;
        display: table;
    }
  .contactForm .g-recaptcha {
        float: none;
    } 
  	.guestbook-messages .gb-content .gb-entry .gb-info .gb-date-time {
        float: none !important;
        margin-top: 10px !important;
    }
  	.guestbook-messages .gb-content .gb-entry .gb-info .gb-author-name {
        float: none !important;
    }
  	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;
    }
  	.box-light.vCard {
        margin-top: 20px;
    }
    section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 48.5%;
    }
    section.content.page-content.content-page .gb-entry span.review-date {
        float: none;
      display: block;
              margin: 5px 0;
    }
	section.content.content-page .box-dark.text-center, section.content.content-page .imgs-carte {
		width: 100% !important;
	}
	section.content.page-content.content-page .row.grid-home {
		margin-bottom: 5px !important;
	}
	section.content.page-content.content-page div#AllNews, section.content.page-content.content-page .row.contact-row {
		margin-top: 25px;
	}
       .services-section .bx-home .bx-txt h3 {
        font-size: 18px;
    }
}
@media only screen and (max-width : 480px) {
     
     .services-section .swiper-slide {
   
    width: 100%;
  
}
  label.form-label {
    font-size: 14px;
}
 section.galerie-home a.link-picture { 
    height: 300px;
  }
   .readmore { 
    font-size: 14px; 
    padding: 16px 50px 16px 15px;
  }
  .services-section .bx-home .bx-img {
    height: 300px;
  }
  .readmore .btn-arrow { 
    right: 10px; 
    width: 35px;
    height: 35px;
  }
  .services-section .bx-home .bx-txt h3 { 
    font-size: 22px;
}
  h1, .h1 {
   font-size: 28px;
}
h2, .h2 {
  font-size: 26px;
}
h3, .h3 {
   font-size:24px;
}
h4, .h4 {
    font-size: 22px; 
}
h5, .h5 {
    font-size: 20px; 
}
h6, .h6 {
    font-size: 18px; 
}
  .footer-section h3 { 
    font-size: 25px;
  }
  .networks_linking a { 
    width: 45px;
    height: 45px;
    line-height: 45px;
  }
  
	/* --- */
 
/* .contactForm .g-recaptcha {
        transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: left;
        -webkit-transform-origin: left;
    }
 */
    section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 100%;
    }
      .contactForm .gdpr_policy label {
          display: inline !important;
      }
 
}