
/*--------------------------------------------------
# Fonts
--------------------------------------------------*/
@font-face {
    font-family: 'Inter 18pt';
    src: url('../fonts/Inter18pt-Black.woff2') format('woff2'),
        url('../fonts/Inter18pt-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter 18pt';
    src: url('../fonts/Inter18pt-ExtraBold.woff2') format('woff2'),
        url('../fonts/Inter18pt-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

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

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

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

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

@font-face {
    font-family: 'Inter 18pt';
    src: url('../fonts/Inter18pt-SemiBold.woff2') format('woff2'),
        url('../fonts/Inter18pt-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-ExtraBold.woff2') format('woff2'),
        url('../fonts/Montserrat-ExtraBold.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: 'Open Sans';
    src: url('../fonts/OpenSans-Regular.woff2') format('woff2'),
        url('../fonts/OpenSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

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

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

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

.hero.accesinternet .hero-buttons a {
	text-decoration: none;
}
/*--------------------------------------------------
# Lenis
--------------------------------------------------*/
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 */
}
div#logo img, .footer-logo img{ 
   max-width: 100%;
   animation: mymove 2s infinite;
}

@keyframes mymove {
  0% { 
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3)); 
       opacity: 1;
  }

  50% {    
    filter: drop-shadow(2px 0px 20px rgba(0, 0, 0, 0.6));
    opacity: 1;
  }

  100% { 
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3)); 
        opacity: 1;
  }
}

.p-absolute {
position: absolute !important;
}
.p-fixed {
position: fixed !important;
}
.txt-white {
--bs-text-opacity: 1;
color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

/*--------------------------------------------------
# General
--------------------------------------------------*/
:root{
--bs-body-color:#000; 
--bs-body-bg:#fff;  
--bs-body-bg2:#F3F3F3;
--bs-body-bg3:#E6E6E6;
--bs-primary-color:#12194D; 
--bs-secondary-bg:#212C7C;   
--bs-tertiary-bg:#0B0E2A;   
--gray-color:#282828;
--dark-color:#000;
--light-color:#fff; 
--bleu-clair:#e3f2fd;
--bs-btn-padding-x:20px;
--bs-btn-padding-y:10px;
--border-color:#1A4454;
--bs-nav-link-color:#fff; 
--bs-nav-link-color-second:#969FE5;
--bs-body-font-family: 'Inter 18pt';
--bs-titles-font-family: 'Montserrat'; 
--bs-titles1-font-family: 'Open Sans'; 
--bs-titles2-font-family: 'Hind Madurai';
--bs-body-font-weight:400;
--bs-body-line-height:22px;
--bs-body-font-size:16px;
--bs-nav-link-font-size:17px;
--bs-nav-link-font-weight:500;
--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:230px;
--bs-dropdown-padding-x:20px;
--bs-dropdown-padding-y:15px;
--bs-dropdown-font-size:1em; 
--bs-border-radius:0!important;
}
.btn-primary {
	--bs-btn-color:  var(--light-color);
	--bs-btn-bg: #12194D;
	--bs-btn-hover-color: var(--light-color);
	--bs-btn-hover-bg:#212C7C;
	--bs-btn-focus-shadow-rgb: 49,132,253;
	--bs-btn-active-color: var(--light-color);
	--bs-btn-active-bg: #212C7C;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--light-color);
	--bs-btn-disabled-bg: #212C7C;
	--bs-btn-disabled-border-color: #212C7C;
	border-radius: 0;
	border: none;
}
.btn-primary:active, .btn-primary:hover, .btn-primary:focus {
    color: var(--light-color);
}
.box-light, .box-border-left, .box-border-right {
    padding: 15px;
    margin: 0 0 20px;
    background: var(--light-color);
    border-radius: var(--bs-border-radius);
  
}
.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;
    color: var(--bs-body-bg);
	background: var(--bs-primary-color);
	border-radius: var(--bs-border-radius);
}
.box-dark a {
    color: var(--bs-body-bg) !important;
}
.container {
    max-width: 1224px;
}
.container-fluid {
    max-width: 1344px;
} 
a {
    color:var(--dark-color);
    text-decoration: underline;
    transition: all .4s;
}

a:active, a:hover, a:focus {
    color:var(--dark-color);
    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:900;
    color: var(--bs-primary-color);
    margin: 0 0 20px; 
    text-transform: none;
  
}
h1, .h1 {
font-size: 50px; 
}
h2, .h2 {
    font-size: 40px;
}
h3, .h3 {
    font-size: 25px;
}
h4, .h4 {
    font-size: 23px;
}
h5, .h5 {
    font-size: 22px;
}
h6, .h6 {
    font-size:20px;
}
.btn-cookies-pos {
    
    z-index: 999;
}


/*--------------------------------------------------
# networks_linking
--------------------------------------------------*/
.social .networks_linking {
    display: flex;
    align-items: center; 
}
.networks_linking a, a.WhatsApp-contact { 
  
      font-size: 21px;
   color: var(--bs-primary-color) !important;
    width: 44px;
    height: 44px;
    line-height: 44px;
    vertical-align: top;
    display: inline-block;
    margin: 0 0 0 13px;
    text-align: center;
    position: relative;
    border-radius: 50%;
    background: var(--bs-body-bg) !important;
}

.networks_linking a:hover,  a.WhatsApp-contact:hover {
    transition: 0.3s all; 
    background: #A5ABDF !important;
    -webkit-animation: rotate-center 0.6s ease-in-out both;
    animation: rotate-center 0.6s ease-in-out both; 
}
.social .networks_linking a.networks_google {
    order: 2;
}
.fa-facebook::before {
  content: "\f39e" !important;  
}
 
.sideRight {
    top: 13px!important;
    z-index: 100;
    margin-right:15px; 
}
.sideRight .networks_linking {
    flex-direction: column;
}
.sideRight .networks_linking a, .sideRight a.WhatsApp-contact {
      width: auto;
    height: auto;
    display: block;
    margin: 0 0 17px;
    color:  var(--light-color) !important;
   	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.85));
  	background: none !important;
}  
.sideRight a.WhatsApp-contact {
    position: absolute;
    bottom: 48px;
    left: 0;
    right: 0;
}
 a.WhatsApp-contact .fa-stack {
    width: 31px;
    height: 31px;
    line-height: 31px;
    font-size: 31px;
}
 a.WhatsApp-contact .fa-stack i.fa-circle { 
    display: none;
}
.sideRight a.networks.networks_linkedin {
    margin-bottom: 65px;
}


/* ----------------------------------------------
 * Generated by Animista on 2025-2-4 9:14:15
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation rotate-center
 * ----------------------------------------
 */
@-webkit-keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}


/*************/
 
header .nav-item {
    padding: 0 2px;
    position: relative;
}
header ul.level-0>.nav-item:first-child{
	padding-left : 0;
}
header ul.level-0>.nav-item:last-child{
	padding-right : 0;
}
a#event {
    pointer-events: none;
}
header a.nav-link {
    position: relative;
    font-family: var(--bs-titles-font-family);
   font-weight: 700;
    font-size: 22px;
    padding: 7px 33px !important;
    text-decoration: none;
    text-align: center;
    color: var(--bs-primary-color)!important; 
    transition: none;
    text-transform: none; 
  line-height: normal;
} 
header .navbar-nav > li > .nav-link:hover, header .navbar-nav > li.selected > .nav-link {
    text-decoration: none;
    color: #A5ABDF!important;
}
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) a.nav-link {    
    color: var(--light-color)!important;  
    font-weight: 400;
      padding: 2px 33px !important;
      font-size: 22px;
}

header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) ul.level-0>.nav-item:first-child a.nav-link {
    padding-left: 20px !important;
}
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) ul.level-0>.nav-item:last-child a.nav-link {
    padding-right: 20px !important;
}
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) li > .nav-link:hover,
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) li.selected > .nav-link,
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .dropdown-menu > li > .nav-link:hover, 
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .dropdown-menu > li.selected > .nav-link{ 
 color: var(--bs-nav-link-color-second)!important;  
} 
header .navbar ul.level-0.navbar-nav.me-auto.sf-menu > li:not(:first-of-type) > a.nav-link::after {
     content: ""; 
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 0;
width: 10px;
height: 10px;
    transition: width 0.4s, opacity 0.4s;
    border-radius: 50%;
 background: var(--bs-primary-color); 
}  
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) ul.level-0.navbar-nav.me-auto.sf-menu > li:not(:first-of-type) > a.nav-link::after {
background:var(--light-color) ; 
}

 nav.navbar.sticky-top.is-sticky ul.level-0.navbar-nav.me-auto.sf-menu > li:not(:first-of-type) > a.nav-link::after {
 background: var(--bs-primary-color); 
}
 nav.navbar.sticky-top.is-sticky div#logo img {
    animation: none !important;
}
nav.navbar.sticky-top.is-sticky img {
    will-change: auto;
}
header .nav-item .dropdown-toggle {
    position: absolute;
    top: inherit;
    left: 0;
    right: 0;
    transform: none;
    color:  #A5ABDF;
    bottom: -15px;
}
header .nav-item:hover .dropdown-toggle::after{
	color:  #A5ABDF!important;
}
header .navbar .nav-link:focus, header .navbar .nav-link:hover {
	color: var(--bs-body-color);
}
header .navbar-nav .dropdown-menu {
    border: none;
    left: 50%; 
    border-radius: 0;
    padding: 15px 0;
    min-width: 227px; 
    transform: translateX(-50%); 
    border-radius: 12px;
    border: 1px solid var(--light-color);
    background: white;
    backdrop-filter: blur(5px);
      margin-top: 15px;
}  
header .nav-item .dropdown-menu .dropdown-toggle {
    bottom: auto;
    transform: rotate(-90deg);
    top: 10px;
    right: 0;
    left: auto;
      display: none;
}
header .navbar-nav .dropdown-menu.dropdown-menu.level-2 {
    top: -80px;
    transform: none !important;
  left: 105%;
    min-width: 200px;
   /* background:rgba(255,255,255,0.97);
   backdrop-filter: blur(10px);*/
/*margin-left: 9px;*/
	background:var(--light-color) ; 
}

header:not(.interne) nav.navbar.sticky-top:not(.is-sticky)>li#menu_18>.dropdown-menu>.nav-item:nth-child(6)>a.nav-link{
    font-weight: 700!important;
}
.navbar-nav .dropdown-toggle:after {
    margin: -3px auto 0 !important;
    display: table;
    content: "\f107";
    font-family: "Font Awesome 6 pro" !important;
    border: none;
    font-weight: 900;
    color: var(--bs-primary-color);
    font-size: 13px;
}
header .navbar-nav .dropdown-menu .nav-item:not(:last-child):before {
    border-bottom:none;
    content: "";
    position: absolute;
    left: 33px;
    right: 33px;
    bottom: 0;
} 
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .dropdown-menu .nav-item  a.nav-link,
header .navbar-nav .dropdown-menu .nav-item a.nav-link {
    color: var(--bs-primary-color) !important;
    font-size: 17px;
    font-weight: 400;
    padding:5px 20px!important;
    border: 0;
    text-align: left;
}
header .navbar-nav .dropdown-menu > li > .nav-link:hover, header .navbar-nav .dropdown-menu > li.selected > .nav-link,
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .dropdown-menu .nav-item a.nav-link:hover{
    text-decoration: none;
 color: var(--bs-nav-link-color-second)!important;  
} 
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(--bs-body-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(--bs-body-color);
	transition: .1s;
	opacity: 1;
	margin: 8px 0;
}
header.interne .head-middle .container {
    padding: 0;
      max-width: 100%!important;
} 
header.interne nav.navbar.sticky-top, header nav.navbar.sticky-top.is-sticky { 
  background: var(--bs-body-bg3);
backdrop-filter: blur(10.050000190734863px);
   padding: 20px 15px;
    position: fixed !important;
    width: 100%;
    left: 0;
    text-align: center; 
    top: 0;
  border-radius:0;
  z-index: 99 !important;
  justify-content: center;
}
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) {
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(10.050000190734863px);
    padding: 0;
      display: table;
    margin: auto;
}
header nav.navbar.sticky-top.is-sticky .navbar-nav {
    margin: 0 auto;
}  
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) div#logo , header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .bx-right-top{
    display: none!important;
}
 

/* --- */

header.top {
    position: relative; 
}  
section.banner {
        height: 1000px;   
}
 section.banner .marketing-video {
position: relative;
    max-width: 100%;
    display: block;
    height: 1000px;
    overflow: hidden;
}
section.banner .marketing-video  video {
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    object-fit: cover;
}
section.banner.banner-interne  {
  height: auto; 
}
section.banner  .carousel-indicators {
    bottom: 6vh;
    padding: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}
section.banner  .carousel-indicators [data-bs-target] {
    border-radius: 50%;
    width: 12px;
    height: 12px;
    padding: 0;
    opacity: .5;
    margin: 0 12px;
    border: none;
}
section.banner .carousel-indicators .active {
    opacity: 1;
}
section.banner .carousel, section.banner .carousel-inner, section.banner .carousel-inner img, section.banner .carousel-item {
 height: 100%; 
  object-fit: cover; 
} 
.carousel-fade .carousel-item { 
    margin: 0;
    max-width: 100%; 
} 
section.banner .carousel:before {
     content: ""; 
    position: absolute;
    top: 0; 
    left: 0;
      right: 0;
    bottom: 0;  
    z-index: 2;
    pointer-events: none;
background: var(--bs-tertiary-bg);
  opacity: 0.82;
}   
@keyframes zoomPulse {
  0% {
    transform: scale(1); /* Original size */
  }
  50% {
    transform: scale(1.1); /* Zoom in slightly */
  }
  100% {
    transform: scale(1); /* Return to original size */
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg); /* Starting rotation */
  }
  100% {
    transform: rotate(360deg); /* Ending rotation (full circle) */
  }
}
 
.readmore {
    color: var(--light-color);
    text-decoration: none !important;
    position: relative;
    display: inline-flex;  
    background:var(--bs-primary-color);
    transition: all .3s;
    border-radius: 10px;
    border: 0;
    align-items: center;
    margin: 20px 0 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal; 
    text-transform: none; 
   padding: 10px 20px;
}
.readmore:hover,
.readmore:active,
.readmore:focus {
    transition: all .3s;
    background:var(--light-color);
  color:var(--bs-primary-color);
  transform: none !important;
}  

/**
 * ----------------------------------------
 * animation shake-lr
 * ----------------------------------------
 */
@-webkit-keyframes shake-lr {
  0%,
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  10% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  20%,
  40%,
  60% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  30%,
  50%,
  70% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  80% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  90% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
}
@keyframes shake-lr {
  0%,
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  10% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  20%,
  40%,
  60% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  30%,
  50%,
  70% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  80% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  90% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
} 
/****/

.bx-right-top {
    padding: 10px 20px;
    border-radius: 10px  ;
    background: var(--light-color);
    gap: 10px;
}
.bx-right-top.bx1 {
    float: right;
      margin-right: 65px;
    border-radius: 0 0 10px 10px;
}
.bx-right-top .phone-responsive {
    color: var(--light-color);
   font-size: 16px;
   font-weight: 400;
    text-decoration: none;
  padding: 10px 20px;
  border-radius: 10px;
background: var(--bs-primary-color);
}
.bx-right-top .phone-responsive:hover {
    color:  var(--bs-primary-color); 
background:var(--light-color);
}
  
.head-middle {
     margin-top: 53px;
 z-index: 99 !important; 
      transition: all .4s;
      text-align: center;
}   
.head-middle.is-sticky , header.top.interne .head-middle{
    margin-top: 0; 
}  
.head-middle.is-sticky  { 
    background: rgba(0, 0, 0, 0.20); 
    box-shadow: 0 0 20px rgb(0 0 0 /50%); 
      left: -100vw;
    right: -100vw;
    border: 0;
}
.head-middle h2 {
    font-size: 48px;
    font-weight: 300;
     margin: 185px 0 64px;
   color: var(--light-color);
}
.head-middle h2 strong {
    font-weight: 700;
    display: block;
}

.head-middle .bx-right { 
    gap: 32px; 
    margin: 103px 0 37px;
} 
.head-middle .bx-right a.readmore {
    margin: 0;
}
.head-middle .bx-right a.readmore.r2 {
    background: var(--light-color);
    color: var(--bs-primary-color);
}
.head-middle .bx-right  a.readmore.r2:hover {
    background: var(--bs-primary-color);
    color: var(--light-color);
}

.language {
            position: relative;
            display: inline-block;
          z-index : 2;
        }

        .language-dropdown-btn {
            cursor: pointer;
            padding: 0px;
            background-color: transparent;
            border: none;
            border-radius: 0;
            min-width: 40px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 5px;
            text-decoration: none;
            color: var(--bs-primary-color);
        }

       

        .language-dropdown-btn span[id^="lang-"] {
           font-size: 16px;
    font-weight: 700;
    color: var(--bs-primary-color);
    text-transform: uppercase;
        }
.language.language1 a {
      color: var(--bs-primary-color)!important;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 16px;
    padding: 0 5px;
    line-height: 1em;
}
.language.language1 a:hover, .language.language1 a:active {
           color: var(--gray-color);
        } 
.language.language1:after{
    content: "";
    position: absolute;
    left: 50%;
    top: 2px;
    bottom: 4px;
    width: 3px;
    background: var(--bs-primary-color);
    transform: translate(-50%);
    opacity: 1;
    z-index: -1;
} 

 

section.banner .scroll-to-content { 
    background: url(../images/scroll.webp) no-repeat center;
    width: 78px;
    height: 83px;
    text-align: center;
    z-index: 1;
    margin: auto;
    animation-name: scrollcontent;
    animation-duration: 5s;
    animation-iteration-count: infinite;
    -webkit-animation-name: scrollcontent;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    cursor: pointer;
    display: table;
    -webkit-transition: all .4s, font-size 0s;
    -o-transition: all .4s,font-size 0s;
    transition: all .4s, font-size 0s;
}
section.banner .scroll-to-content:hover {
    background: url(../images/scrollh.webp) no-repeat center;
}

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


/* --- */
section.home-content.content.content-home {
    padding: 180px 0 199px;  
      overflow: hidden;
      box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
     background: var(--bs-body-bg2);
      text-align: center;
}  
.bg-cent{ 
    z-index: -2;
      pointer-events: none;
    background: url(/smarty/wireframe31/media/images/bg.webp) lightgray 50% / cover no-repeat fixed;
  background-blend-mode: luminosity;
  opacity: 0.12;
}
section.home-content.content.content-home:before {
      content: "";
    position: absolute;
    left: 0;
    top: -235px;
    width: 946px;
    height: 730px;
    pointer-events: none;
      z-index: -1;
    background: url(/smarty/wireframe31/media/images/befor-cent.webp) no-repeat left top;
} 
section.home-content.content.content-home:after {
      content: "";
    position: absolute;
    right: 0;
    top: 34px;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/after-cent.webp) no-repeat right top;
}
 
section.home-content.content.content-home h1 {
    position: relative;  
margin-bottom: 0;
 
      text-align: center;
} 

section.content.content-first.content-first2 {
    /* background: var(--light-color);*/
      padding: 70px 0 45px;
}
section.content.content-first.content-first2:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
   /* background: url(/smarty/wireframe31/media/images/bg2.webp) lightgray 50% / cover no-repeat fixed;
    background-blend-mode: luminosity;
    opacity: 0.34;*/
  background: linear-gradient(0deg, rgba(18, 25, 77, 0.92) 0%, rgba(18, 25, 77, 0.92) 100%), url(/smarty/wireframe31/media/images/bg-box.webp) lightgray 50% / cover no-repeat;
   background-blend-mode: multiply, normal;
} 

section.content.content-first.content-first2 h2 {
	margin-bottom: 0; 
      text-align: center;
    font-size: 32px;
    font-weight: 500;
      position: relative;
   color: var(--light-color);
}
section.content.content-first.content-first2 h2:before {
    content: "";
    position: relative;
    width: 83px;
    height: 79px;
    display: table;
    margin: 0 auto 14px;
    z-index: 1;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/icon-box.webp) no-repeat center top;
    animation: MoveUpDown 2s linear infinite alternate;
}
@keyframes MoveUpDown {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-5px);
    }
}
section.content.content-first.content-first2 .pictos-slider {
display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
      margin: 45px;
  position: relative;
    z-index: 1;
}
section.content.content-first.content-first2 p.text-center {
    display: block;
    margin-bottom: 50px !important;
}  
section.content.content-first.content-first2 .bx-home {
   flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
section.content.content-first.content-first2 .bx-home.ctr {
      flex: 0 0 100%;
    max-width: 100%;
      margin: -105px 0;
}
section.content.content-first.content-first2 .bx-picto {
    width: 388px;
    height: 388px;
    margin: auto;
    z-index: 1;
    transition: all .4s;
    padding: 20px;
      position: relative;
      overflow: hidden;
}
section.content.content-first.content-first2 .bx-picto:hover {
  /*  max-width: 388px;
    width: 100%;
    height: auto;*/
    padding: 40px 21px;
      height: 400px;
   border-radius: 20px;
}
section.content.content-first.content-first2 .bx-picto:before {
    content: "";
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    background: var(--light-color) ;
   /* transform: scale(0.7) rotate(45deg);
    border-radius: 20px;*/
    z-index: -1;
    transition: all 0.25s;
    width: 100%;
    height: 100%;
    transform-origin: center center;
     -webkit-mask-image: url(../images/mask-box.webp);
      mask-image: url(../images/mask-box.webp);
    -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
      -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
section.content.content-first.content-first2 .bx-picto:hover:before {
    transform: scale(1) rotate(0deg);
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
      mask-image: inherit !important;
  border-radius: 20px; 
}
section.content.content-first.content-first2 .bx-picto:after {
    content: "";
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    background:  url(/smarty/wireframe31/media/images/bg-boxm.webp) no-repeat center; 
    background-size: 140%;
    /*  border-radius: 20px;
    transform: scale(0.7) rotate(45deg);*/
    z-index: -1; 
    transition: all 0.25s;
    width: 100%;
    height: 100%; 
     -webkit-mask-image: url(../images/mask-box.webp);
      mask-image: url(../images/mask-box.webp);
    -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
      -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
section.content.content-first.content-first2 .bx-picto:hover:after {
      mask-image: inherit !important;
  border-radius: 20px;
      opacity: .45;
   width: 142%; /* Compenser la rotation de 45deg */
  height: 142%;
  left: -21% !important;
  top: -21% !important;
    transform: rotate(45deg);
    filter: brightness(1.4);
    background:  url(/smarty/wireframe31/media/images/bg-boxmh.webp) no-repeat center; 
    background-size: 140%; 
}
section.content.content-first.content-first2 .bx-picto .icon {
    position: relative;
    width: 105px;
    height: 105px;
    margin: 0 auto 8px;
    transition: all .25s; 
  z-index: 1;
}
section.content.content-first.content-first2 .bx-picto .icon:before {
    content: "";
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    background:  var(--bs-primary-color);
    transform: scale(0.7) rotate(45deg);
    z-index: -1;
    border-radius: 20px;
    transition: all 0.25s;
    width: 100%;
    height: 100%; 
}
section.content.page-content.content-page li{
  font-family: var(--bs-body-font-family) !important;
}
section.content.content-first.content-first2 .bx-picto .icon:after {
    content: "";
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    background: url(/smarty/wireframe31/media/images/icon-box1.webp) no-repeat center; 
    z-index: -1; 
    transition: all 0.25s;
    width: 100%;
    height: 100%; 
}
section.content.content-first.content-first2 .bx-picto:hover .icon {
width: 77px;
height: 77px;
}
section.content.content-first.content-first2 .bx-picto:hover .icon:before {
   border-radius: 0; 
}
section.content.content-first.content-first2 h5 {
    font-size: 32px;
    font-weight: 500;
    text-align: center;
      margin-bottom: 15px;
      white-space: nowrap; 
      text-shadow: 2px 2px 5px  var(--light-color);
}
section.content.content-first.content-first2 .bx-picto:hover h5 {
    text-shadow: 0;
}
section.content.content-first.content-first2 p {
    display: none;    opacity: 0;
    transition: all .6s; 
}
section.content.content-first.content-first2 .bx-picto:hover p {
    display: inline-block; opacity: 1; 
}
section.boxs .bx-title p {
    margin: 0;
}
 
/**************** partenaires **************/
section.partenaires{
    position: relative;
    padding:147px 0 241px;
    text-align: center;
    overflow: hidden;
      background: var(--light-color);
}
section.partenaires.partenaires-gris{
  background: var(--bs-body-bg3);
}

section.partenaires h2{
    margin: 0 0 75px; 
    text-align: center; 
     font-size: 32px;
     font-weight: 500;
     color:var(--bs-secondary-bg);
    }
section.partenaires h2:before {
      content: "";
    position: relative; 
    width: 83px;
    height: 79px;
    display: table;
    margin: 0 auto ; 
    z-index: 1;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/icon.webp) no-repeat center top; 
    animation: MoveUpDown 2s linear infinite alternate;
}

section.partenaires .partenaires-slider, 
section.partenaires .partenaires-slider2{
    margin-bottom: 0;
    margin: 0 auto!important;
     /* display: grid;
      align-items: center;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;*/
}
section.partenaires .partenaires-slider div img, 
section.partenaires .partenaires-slider2 div img{
width: 140px;
  height: 60px;
 object-fit: scale-down;
    padding: 5px;
    margin: 0 auto;
  border-radius: 20px;
background:var(--light-color);
box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.25);
}

/***boxs***/
section.boxs {
    position: relative; 
    padding: 198px 0 189px  ;
}
section.boxs article {
    position: relative;
    z-index: 1;
}
section.boxs article:after {
    content: "";
    position: absolute;
    left: 0 ;
    right:-161px;
    top: 0 ;
    bottom: -20px;
    background: url(/smarty/wireframe31/media/images/befor-box.webp) no-repeat right bottom; 
    z-index: -1;
    transition: all 0.25s; 
}
section.boxs .boxes-slider {
    margin: 0 ;
    position: relative;
    overflow: hidden;
}
/****/
section.boxs .swiper-pagination-boxes {
    position: relative;
    margin-top: 33px; 
}
section.boxs .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(40,40,40,0.4);
    opacity: 1;
  border-radius:50%; 
}
section.boxs .swiper-pagination-bullet-active{
    width: 10px;
    height: 10px;
    background:var(--dark-color);
}
section.boxs .home-bx {
    display: grid;
    position: relative; 
  margin: 50px 0 0;
  top:0;
      transition: all 0.4s linear;
    -webkit-transition: all 0.4s linear;
    -ms-transition: all 0.4s linear;
      font-family: var(--bs-titles2-font-family); 
}
section.boxs .home-bx:hover {
  top:-20px; 
}
section.boxs .home-bx .redmore {
    position: relative;
    font-size: 17px;
    font-weight: 700;
        display: inline-block;
}
section.boxs .home-bx .redmore:after {
   position: absolute;
    content: "";
    right: -25px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/btn-bx.webp) no-repeat center;
    width: 16px;
    height: 14px;
    z-index: 1;
    margin-top: 2px;
}

section.boxs h2 { 
    margin-bottom: 20px;
} 
section.boxs .home-bx:hover .txt-bx {
  	background: var(--bs-primary-color);
}
section.boxs .img-bx {
    position: relative;
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    z-index: 2;
}
section.boxs .img-bx img {
    width: 100%;
    height: 303px;
    object-fit: cover;
}
section.boxs .txt-bx {
    position: relative; 
      padding: 25px;
    background: var(--gray-color);
  	color:var(--light-color);
  border-radius: 20px;
}
section.boxs .txt-bx h3 {
    color: var(--light-color);
    font-size: 28px;
      font-size: 23px;
    margin-bottom: 11px;
     padding-top: 30px;
      font-family: var(--bs-titles2-font-family); 
      font-weight: 600;
    text-transform: uppercase;
}
section.boxs .home-bx .icon {
    position: relative;
    width: 70px;
    height: 70px;
    display: block;
}
section.boxs .home-bx .icon.icon1 {
    background: url(../images/icon1.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon2 {
    background: url(../images/icon2.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon3 {
    background: url(../images/icon3.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon4 {
    background: url(../images/bx4.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon5 {
    background: url(../images/bx5.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon6 {
    background: url(../images/bx6.webp) no-repeat center;

}
section.boxs .home-bx .icon.icon7 {
    background: url(../images/bx7.webp) no-repeat center;

}
section.boxs .slick-initialized .slick-slide {
    margin: 0 15px;
}
section.boxs .boxs-slider.slick-initialized.slick-slider {
    margin: 0 -15px;
}
a.link {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    z-index: 3;
} 

 
/***parallaxe****/
.parallaxe3{
    position: relative;
    background: url(../images/bg-parallax.webp) no-repeat center fixed;
    background-size: cover;
  padding:317px 0 297px;  
    color: var(--light-color); 
      overflow: hidden;
}
.parallaxe3:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
  opacity: 0.8;
    background: var(--bs-primary-color);
    pointer-events: none; 
}
.parallaxe3:after {
    content: "";
    position: absolute;
    right: 0;
    top:-374px;
    width: 716px;
    height: 952px;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/after-parallax.webp) no-repeat right top;
}
.parallaxe3 h2{
    color: var(--light-color);
  position:relative ;
      margin-bottom: 20px;
}
.parallaxe3  p {
    position: relative;
    margin: 0 ; 
}
.parallaxe3 .readmore{
    color: var(--bs-primary-color);
    background:  var(--light-color); 
    margin: 20px auto 0; 
}

.parallaxe3 .readmore:hover {
  	color: var(--light-color); 
   background:var(--bs-primary-color);
}

/*--------------------------------------------------
# footer
--------------------------------------------------*/
footer.bottom  { 
   padding: 50px 0; 
 background:  var(--bs-body-bg2); 
    color:var(--bs-primary-color); 
}  
.contact-text.bold {
    font-weight: 700; 
} 
.footer-phone  { 
	text-decoration: none;
} 
footer.bottom a.footer-phone{
    color: var(--bs-primary-color); 
    font-size: 16px;
 font-weight: 900; 
      display: inline-block;
}
footer.bottom a {
     color: var(--bs-primary-color); 
}
footer.bottom a.footer-phone:hover , footer.bottom a:hover
 {
	text-decoration: none;
    color: var(--gray-color);
}  
footer.bottom .footer-adr {
    background: url(/smarty/wireframe31/media/images/adr.svg) no-repeat left top;
    padding-left: 51px;
}
footer.bottom .tels.info {
    margin: 20px 0;
    background: url(/smarty/wireframe31/media/images/tel.svg) no-repeat left center;
    padding-left: 51px;
}
footer.bottom .hor.info {
    background: url(/smarty/wireframe31/media/images/hor.svg) no-repeat left center;
    padding-left: 51px;
}
footer.bottom .hor.info p {
    margin: 0;
}
footer.bottom .info-left, footer.bottom .social {
    gap: 30px;
}
footer.bottom .networks_linking a {
    font-size: 21px;
    color:  var(--gray-color)!important;
    width: 44px;
    height: 44px;
    line-height: 44px;
    vertical-align: top;
    display: inline-block;
    margin: 0 0 0 13px;
    text-align: center;
    position: relative;
    border-radius: 50%;
    background: #c6c7c8 !important;
}
footer.bottom .networks_linking a:hover {
    color: var(--light-color)!important;
    background: var(--bs-primary-color) !important;
}
footer.bottom .fa-facebook::before {
    content: "\f39e" !important;
} 
footer.bottom .fa-linkedin::before {
    content: "\f0e1" !important;
} 
footer.bottom a.networks.networks_instagram {
    order: 3;
}
footer.bottom a.networks.networks_linkedin {
    order: 4;
}
footer.bottom .fa-google:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    content: "";
    text-align: center;
    border-radius: 50%;
    background: #c6c7c8 url(../images/icon-google.webp) no-repeat center;
    z-index: 1;
}
footer.bottom a:hover .fa-google:after {
    background: var(--bs-primary-color) url(../images/icon-google-h.webp) no-repeat center;
}
.footer-maps .box-maps {
    position: relative;
    height: 251px;
}
.footer-maps .box_googlemapsv2, .footer-maps .box_googlemapsv2 iframe {
    display: block;
    height: 100%;
}


/* --- */
.footer-nav {
	padding: 20px 0 70px; 
}
.footer-nav p {
	margin: 0;
}
.footer-nav p small {
	font-size: 100%;
}
.footer-nav a {
	text-decoration: none; 
}
.footer-nav a:hover {
	text-decoration: underline; 
}
.footer-b {
	display: none;
}
 

/*************/
section.content.page-content.content-page.interne {
    padding: 0;
}
section.content.page-content.content-page.interne>.container {
    max-width: 100%!important;
    padding: 0;
    width: 100%;
}
 section.content.page-content.content-page {
     padding:180px 0 70px;  
      overflow: hidden; 
     background: var(--bs-body-bg2);
       color: var(--bs-primary-color);
   box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
}   
 section.content.page-content.content-page:before {
      content: "";
    position: absolute;
    left: 0;
    top: -235px;
    width: 946px;
    height: 730px;
    pointer-events: none;
      z-index: -1;
    background: url(/smarty/wireframe31/media/images/befor-cent.webp) no-repeat left top;
} 
 section.content.page-content.content-page:after {
      content: "";
    position: absolute;
    right: 0;
    top: 34px;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/after-cent.webp) no-repeat right top;
}
section.content.page-content.content-page h2, section.content.page-content.content-page h3, ssection.content.page-content.content-page h4, section.content.page-content.content-page h5, section.content.page-content.content-page h6 {
    margin-bottom: 20px;
}
 
section.content.page-content.content-page h1 { 
    margin-bottom: 20px; 
}

section.content.page-content.content-page .bloc-center {
    text-align: center;
      padding: 180px 0;
      position: relative;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
}
section.content.page-content.content-page .bloc2 {
    padding: 132px 0 99px;
      position: relative;
    color: var(--light-color);
    overflow: hidden;
      z-index: 1;
    background: url(../images/bg-parallax.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page  .bloc2.bgcablage {
    background: url(../images/bg-Cablage.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page .conseil .bloc2 {
    background: url(../images/bg-conseil.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page .Infogerance .bloc2 {
    background: url(../images/bg-Infogerance.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page .Telecommunication .bloc2 {
    background: url(../images/bg-tel.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page .conseil .bloc2:after{
      display: none;
}
section.content.page-content.content-page .bloc2:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    opacity: 0.8;
    background: var(--bs-primary-color);
    pointer-events: none;
      z-index: -1;
}
section.content.page-content.content-page .bloc2:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -505px;
    width: 692px;
    height: 952px;
    pointer-events: none;
    background: url(/smarty/wireframe31/media/images/befor-cablage.webp) no-repeat right top;
  z-index: -1;
}
section.content.page-content.content-page .bloc2 h2, section.content.page-content.content-page .bloc2 a{
    color: var(--light-color);
}
section.content.page-content.content-page .bloc2 .readmore {
      background: var(--light-color);
    color: var(--bs-primary-color);
      margin-bottom: 20px;
}
section.content.page-content.content-page .bloc2 .readmore:hover, section.content.page-content.content-page .bloc2 .readmore:active, section.content.page-content.content-page .bloc2 .readmore:focus {
    color: var(--light-color); 
    background: var(--bs-primary-color);
}
section.content.page-content.content-page .bloc2 li {
    background: none;
    padding-left: 0;
    margin-left: 0;
      list-style: disc;
}
section.content.page-content.content-page .bloc3{
    padding:70px  0;
    background: var(--light-color);
}
section.content.page-content.content-page .bloc4 {
    padding: 184px 0 136px;
    text-align: center;
    background: url(../images/bg-Ressources.webp) no-repeat center fixed;
    background-size: cover; 
}
section.content.page-content.content-page .bloc4 .bx-img a {
    padding: 50px;
    border-radius: 20px;
    background:var(--light-color); 
      display: table;
    margin: auto;
}
section.content.page-content.content-page .Ressources .bloc3 {
    padding: 128px 0 266px;
}

section.content.page-content.content-page section.boxs-page {
    padding: 125px 0;
      background:var(--light-color); 
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 125px 5%;
      text-align: center;
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home {
    flex: 0 0 30%;
      position: relative;
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home .img-box img {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home .img-box {
    position: relative;
    height: 319px;
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home .img-box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(/smarty/wireframe31/media/images/icon-ghal.svg) no-repeat center;  
	transform: scale(0); 
      z-index: 1;
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home:hover .img-box:before {
	transition: 0.3s all;
	transform: scale(1);
}
section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home h3 {
    margin: 17px 0 0;
    font-size: 22px;
    font-weight: 500;
}

section.content.page-content.content-page .partenaires-slider-page {
    display: flex;
    align-items: center;
    gap: 20px;
}
section.content.page-content.content-page .partenaires-slider-page>div {
    width: 80px;
}
section.content.page-content.content-page .partenaires-slider-page .UNYC {
    width: 128px;
}
section.content.page-content.content-page .partenaires-slider-page>div img {
    object-fit: scale-down;
    width: 100%;
    height: 100%;
}
section.content.page-content.content-page .row.g2 {
    justify-content: space-between;
      margin: 0;
}
section.content.page-content.content-page .row.g2 .col-lg-5 {
    width: 478px;
      padding: 0;
}
section.content.page-content.content-page .row.g2 .col-lg-7 {
    width: 617px;
      padding: 0;
}
section.content.page-content.content-page .row.last-row {
    margin-top: 150px;
}
section.content.page-content.content-page .row.g2.mobile .col-lg-5 {
    width: 371px;
}
section.content.page-content.content-page .row.g2.mobile .col-lg-7 {
    width: 722px;
}
section.content.page-content.content-page .partenaires-slider.interne {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    background:var(--light-color); 
    padding: 10px;
}
section.content.page-content.content-page .partenaires-slider.interne div {
    flex: 0 0 22%;
}
section.content.page-content.content-page .partenaires-slider.interne div img {
    width: 45px;
    object-fit: scale-down;
    height: 100%;
    margin: auto;
    display: table;
}
section.content.page-content.content-page .bloc-middl {
    margin: 100px 0;
}
section.content.page-content.content-page .row.g3 {
    justify-content: space-between;
      margin: 0;
}
section.content.page-content.content-page .row.g3 .col-lg-6 {
    width: 566px;
      padding: 0;
} 

.col-12.col-title-faq {
    display: none;
}
.accordion-item {
    background: none;
    border: 0; 
  border-bottom: 1px solid var(--bs-secondary-bg);
  margin-bottom: 10px;
}
.accordion-item:last-child {
    border: 0;
}
.accordion-item h2.accordion-header {
    margin: 0!important;
}
.accordion-button {
    background: none;
    border: 0;
    box-shadow: none; 
    font-size: 24px;
    font-weight: 600;
      padding: 15px 0;
      display: flex;
    gap: 15px;
}
.accordion-button:not(.collapsed) {
    /* color: var(--bs-body-bg); */
    background-color: var(--border-color);
    box-shadow: inset 0 calc(-1 * var(--bs-secondary-bg)) 0 var(--bs-secondary-bg);
}
.accordion-button:focus {
    box-shadow: var(--bs-body-color);
}
.accordion-button:not(.collapsed) {
    color: var(--bs-secondary-bg);
      background: none;
}
.accordion-item h2.accordion-header {
    margin: 0;
    line-height: normal;
}
.accordion-body {
    padding: 0;
} 


/* Style général du tableau */
.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
}
.table tr.first-tr th {
    background: #011441;
    color:  var(--light-color);
}
/* Bordures du tableau */
.table-bordered {
    border: 6px solid var(--light-color);
  background: var(--light-color);
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #dee2e6;
    padding: 12px 15px;
    text-align: left;
    vertical-align: middle;
      background: none;
}

/* En-tête du tableau */
.table thead th {
    background-color: #f8f9fa;
    font-weight: bold;
    text-align: center;
    color:  var(--gray-color);
    border-bottom: 2px solid #dee2e6;
}

/* Lignes du tableau */
.table tbody tr:nth-child(even) {
       background-color: rgb(1 20 65 / 80%);
    color:  var(--light-color);
}
.table tbody tr:nth-child(even) td {
    color: var(--light-color);
}
.table tbody tr:nth-child(even) strong {
    color:  var(--light-color);
}
.table tbody tr:hover {
    background-color: var(--dark-color);
    transition: background-color 0.3s 
ease;
    color:  var(--light-color);
}
.table tbody tr:hover  strong{
   color:  var(--light-color);
}
 .table tbody tr:hover td {
    color: var(--light-color);
}

/* Première colonne (critères) en gras */
.table tbody td:first-child {
    font-weight: bold;

}

/* Texte en gras dans les cellules */
.table strong {
    font-weight: 600;
    color:  var(--dark-color);
}


 /*--------------------------------------------------
# gallery-home
--------------------------------------------------*/
section.gallery-home {
	padding:125px 0 ;
} 
section.gallery-home .bloc-ghal { 
    width: 100%;
    margin: auto;
}
section.gallery-home .grid-gallery {
	position: relative;
	padding: 0;
	overflow: hidden; 
}
section.gallery-home .breadcrumb-gallery {
	display: none;
}	
section.gallery-home .grid-gallery .link-picture {
	position: relative;
	font-size: 0px; 
	overflow: hidden;
    text-decoration: none;
}
section.gallery-home .grid-gallery .link-picture img {
    height: 318px;
      border-radius: 20px;
}
section.gallery-home .grid-gallery .link-picture .title-picture {
    display: block;
    font-size: 22px;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    font-family: var(--bs-titles-font-family);
      margin-top: 17px;
}
section.gallery-home .swiper-pagination2 {
	position: relative;
	bottom: 0;
    text-align: center;
    margin-top: 48px;
}
section.gallery-home .swiper-pagination2 .swiper-pagination-bullet {
	    width: 32px;
    height: 32px;
background: url(/smarty/wireframe31/media/images/dots1.webp) no-repeat center;
opacity: 1;
	margin: 0 16px 0 0 !important;
	transition: all 0.3s ease;
}
section.gallery-home .swiper-pagination2 .swiper-pagination-bullet-active {
background: url(/smarty/wireframe31/media/images/dots1h.webp) no-repeat center;
	opacity: 1;
}
section.gallery-home .nav-gallery {
	display: none;
}	
section.gallery-home a.link-picture .bx-img{
	position: relative;
}
section.gallery-home a.link-picture .bx-img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(/smarty/wireframe31/media/images/icon-ghal.svg) no-repeat center;  
	transform: scale(0); 
      z-index: 1;
}
section.gallery-home a.link-picture:hover .bx-img:before {
	transition: 0.3s all;
	transform: scale(1);
}

section.content .mcePxmContactv2.inter {
    text-align: center;
}
section.content .mcePxmContactv2.inter .gdpr.form-check {
    display: table;
    margin: 0 auto;
}
section.content .mcePxmContactv2.inter .contact-submit {
    display: table;
    margin: 0 auto;
}
 
section.content.content.page-content .mcePxmContactv2 {
    padding: 40px 0;
}
/****/


.fslightboxci h2 {
    font-family: var(--bs-body-font-family);
    font-size: 17px;
    color: var(--bs-white);
    text-transform: none;
}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {

	text-align: center;
}  
/**
 * ----------------------------------------
 * animation rotate-vert-center
 * ----------------------------------------
 */
@-webkit-keyframes rotate-vert-center {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes rotate-vert-center {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
 


/**************** actus interne ***********/

section.content div#NewsItems {
    gap: 15px 0;
}
section.content .news-col .news-object .nophoto, section.content .news-col .news-object .photo {
    height: 205px;
    position: relative;
    box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    overflow: hidden;
}
section.content .news-col .news-object .photo img {
    object-fit: cover !important;
    transition: all .6s;
    height: 100%;
    width: 100%;
      border-radius: 10px;
}
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: /*cover*/scale-down;
    height: 100%;
    width: 100%;
    display: block
}
section.content .news-col .news-object .nophoto img {
    object-fit: scale-down !important;
    background: var(--bs-primary-color);
    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 25px;
      text-transform: none;
      font-size: 19px;
    font-weight: 600;
    color: var(--bs-body-color);
    font-family: var(--bs-body-font-family);
}
section.content .news-col .news-object .date {
    position: relative;
  display: none;
    /*top: 20px;*/
    left: 0;
    font-size: 19px;
    font-weight: 600;
      color: var(--bs-body-color);
      font-family: var(--bs-body-font-family);
  margin-top:20px;
}
section.content .news-col .news-object .news-desc .read-more{
    margin: 30px 0  0 ;
      position: relative;
}
section.content .news-col .news-object .news-desc .read-more a {
    color: var(--light-color) ;
    text-decoration: none !important;
    position: relative;
    display: inline-block;  
    padding: 10px 20px;
    border-radius: 10px;
    background: var(--bs-primary-color);
    transition: all .3s; 
    border: none; 
    margin: 25px 0 0;
    font-size: 17px;
    font-style: normal;
    font-weight: 600;
    line-height: normal; 
    text-transform: none;  
}
section.content .news-col .news-object .news-desc .read-more a:hover {
    transition: all .3s;
    background: var(--light-color);
    color: var(--bs-primary-color);
}  
.backbtn:hover  {
    color: var(--bs-primary-color)!important;
}
.col-12.col-md-9.news-article-share-col {
    display: none;
}
img.zoomable-image.img-news {
    max-width: 250px;
}
section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
    max-width: 190px !important;
    height: 150px !important;
      border-radius:10px
}
a.backbtn {
    color: var(--bs-primary-color) !important;
}
a.backbtn:hover {
    color: var(--gray-color) !important;
}
a.btn-cookies-link i {
    padding-right: 2px;
    width: 22px !important;
    text-align: center;
}


/*****************/
 
@keyframes zoom-in-zoom-out {
  /* At the start and end, the element is normal size */
  0% {
    transform: scale(1, 1);
  }
  /* Halfway through, the element is scaled up */
  50% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
  
/* 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);
  }
}

 
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


/***********/
a#scrollTopBtn {
    border-radius: 0;
    right: 50%;
    bottom: 15px;
    transform: translateX(50%);
    background: var(--bs-primary-color);
    color: var(--light-color); 
      border: 1px solid var(--light-color); 
    font-size: 14px;
     line-height: 1.2em;
    box-shadow: none;
       transition: opacity .4s, background .4s;
    width: auto;
    text-align: center;
      padding: 11px 12px;
}
a#scrollTopBtn i.fa::before {
    content: "\f106";
}
a#scrollTopBtn:hover {
    background:  var(--gary-color); 
}

/*************/
/*--------------------------------------------------
# contact-page
--------------------------------------------------*/

section.content.page-content.content-page .form {
	position: relative;
      z-index: 1; 
}
section.content.page-content.content-page .form h2 {
    font-size: 40px;
    font-weight: 900;
    text-align: center;
    margin-bottom: 15px;
      color: var(--bs-primary-color);
}
section.content.page-content.content-page .form .contact-field {
	display: none;
}
section.content .contactForm .contact-field-item {
	position: relative;
	display: block;
	padding: 0;
	margin-bottom: 7px;
	width: 50%;
	float: left;
	clear: none !important;
}
section.content .contactForm .contact-field-item#contact-field-id_comments_1 {
	margin: 0;
}
section.content .contactForm .contact-field-item:nth-child(even) {
	padding-right: 6px;
}
section.content .contactForm .contact-field-item:nth-child(odd) {
	padding-left: 6px;
}
section.content .contactForm .contact-field-item.fullwidth {
	width: 100%;
	padding: 0;
	float: none;
	clear: both !important;
}
section.content .contactForm .contact-field-item .form-label {
	position: relative;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: var(--bs-body-color);
	text-transform: uppercase;
	margin: 0 0 6px;

}
section.content .contactForm textarea.form-control {
	height: 100px;
}
section.content .contactForm .contact-field-item .form-label .text-danger {
	color:var(--dark-color)  !important;
}
section.content .form-control::placeholder, section.content .contactForm .contact-field-item .contact-field-element .form-field::placeholder, section.content .form-select::placeholder {
	color: var(--bs-secondary-bg) !important;
}
section.content .form-control, section.content .contactForm .contact-field-item .contact-field-element .form-field, section.content .form-select {

	font-weight: 400;
	font-size: 12px;
	line-height:25px;
	color: var(--dark-color) !important;
	background: var(--bs-body-bg);
	border: 1px solid var(--dark-color) ;
	padding: 10px   ;
	transition: border-color .4s,color .4s;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	outline: none !important;
	height: 60px;
    font-family:var(--bs-body-font-family)
}
.contactForm .contact-field-item .contact-field-element textarea.form-field {
    height: 160px !important;
}
section.content .form-control:focus, section.content .contactForm .contact-field-item .contact-field-element .form-field:focus {
	outline: none !important;
	border-color: var(--dark-color)  !important;
	box-shadow: none !important;
	background: transparent;
}
section.content .contactForm .gdpr.form-check {
	display: table;
	color: var(--dark-color) !important;
	margin: 20px auto 0;
}
section.content .contactForm .gdpr.form-check label {
	display: inline !important;
	font-weight: 400;
	margin: 0;
}
section.content .contactForm .gdpr.form-check label a {
	color: var(--bs-body-color);
	text-decoration: underline;
}
section.content .contactForm .gdpr.form-check label a:hover {
	color: var(--bs-body-color);
	text-decoration: none;
}
section.content .contactForm .gdpr_policy input {
	margin: 2px 10px 0 0;
}
section.content .contactForm .contact-submit {
	position: relative;
	margin: 10px auto 0;
    display: table;
}

section.content .contactForm .contact-submit .btn-primary, section.content .contactForm .form-submit-button {
    position: relative;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: var(--light-color);
    font-family: var(--bs-body-font-family);
    font-size: 16px;
    line-height: 22px;
    padding: 11px 21px;
    background: var(--bs-primary-color);
        border-radius: 10px;
    -webkit-border-radius: 10px;
    margin: 20px 0 0;
    transition: all 0.4s linear;
    -webkit-transition: all 0.4s linear;
}
section.content .contactForm .contact-submit .btn-primary:hover, section.content .contactForm .form-submit-button:hover { 
	background:var(--light-color);
    color:  var(--bs-primary-color);
}


/********************/
section.content ul , section.content ol{
    
  list-style-type : none !important;
}
section.content ul li, section.content ol li{
	background: url(/smarty/wireframe31/media/images/bullet2.webp)no-repeat left 6px;
	padding-left: 20px;
	margin-left: -20px;
}
/*********************/
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-gallery a {
    
}
section.content.page-content.content-page .grid-home {
    grid-gap: 30px;
}
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: 100%;
    cursor: zoom-in;
    position: relative; 
    transition: transform .4s,box-shadow .4s;
    border-radius: 0;
    margin-bottom: 20px;
}
section.content.page-content.content-page a.link-picture .bx-img {
    position: relative;
}
section.content.page-content.content-page a.link-picture .bx-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(/smarty/wireframe31/media/images/icon-ghal.svg) no-repeat center;
    transform: scale(0);
    z-index: 1;
}
section.content.page-content.content-page a.link-picture:hover .bx-img:before {
    transition: 0.3s all;
    transform: scale(1);
}
section.content.page-content.content-page .grid-gallery .link-picture img {
    height: 318px;
    border-radius: 20px;
}
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;
    padding: 0;
    margin: 0;
}
section.content.page-content.content-page .disabled>.page-link, section.content.page-content.content-page .page-link.disabled {
    color: var(--bs-secondary-bg);
    pointer-events: none;
    background-color: var(--bs-body-bg);
    border-color:  var(--bs-body-bg);
}
section.content.page-content.content-page .pagination .page-link{
  color: var(--bs-secondary-bg) !important ;
}
section.content.page-content.content-page .pagination .page-link:hover{
  color: var(--light-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 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);
  pointer-events : none;
}
section.content.page-content.content-page .title-picture {
	display: none;
}
.img-responsive {
	max-width: 100%;
}
section.content.page-content.content-page li{
	background: url(/smarty/wireframe31/media/images/bullet2.webp)no-repeat left 6px;
	padding-left: 20px;
	margin-left: -20px;
  font-family: var(--bs-body-font-family);
}
/*section.content.page-content.content-page li::marker{
	content: "" !important;
}*/
h3.contact-field {
    display: none;
}
.row .cont {
    padding: 25px 0;
}
.carousel-control-next, .carousel-control-prev {
    display: none !important;

}
section.galerie-home .nav-gallery {
    display: none;
}
a.btn-cookies-link {
    background: var(--light-color)!important;
  box-shadow: 0 0 5px rgba(0 0 0 / 70%);
   color : var(--bs-primary-color) ;
}
.animation-page {
   /* animation: left-in 1s linear;*/
}
@keyframes left-in {
  from {
    opacity: 0;
  	transform: translate3d(-100%,0,0);
  }
  to {
    opacity: 1;
 	transform: translateZ(0);
  }
}




 
/* Smooth Scroll - Désactiver le comportement par défaut */
html {
  scroll-behavior: auto;
}

/* Performance des images */
img {
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Optimisation des animations */
.box-home, .news-object, .gb-entry, article {
    will-change: inherit;
    transform: none;
}

/* Curseur personnalisé (si activé) */
body {
 /* cursor: none; *//* Masquer le curseur par défaut si vous activez le curseur custom */
}

/*a, button, [role="button"] {
  cursor: none;
}*/

/* Transitions fluides pour les survols */
.box-home,
.news-object,
.gb-entry {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Preloader */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--light-color);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Animations pour les éléments visibles */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos].aos-animate {
  opacity: 1;
}
 
/************/


 
 
/*************************/
.input-group-text { 
   color: var(--light-color);
}
.top-header .SearchButton {
    display: inline-block;
    margin-top: 1px;
}
.top-header .searchForm{
    position: relative;
    width: 100%;
    margin-top: 0;
}
.top-header .searchForm .container-Search {
    line-height: 41px;
    background: transparent;
}
.top-header .searchForm .labrel-search {
        display: none;
    }
.top-header .SearchButton {
    display: inline-block;
    z-index: 1;
    position: relative;
   /* height: 23px;
    width: 23px;*/
    top: 3px;
    margin: 0;  
      animation: infinite-zoom 2s 
ease-in-out infinite;
}
@keyframes infinite-zoom {
  0% {
    transform: scale(1); /* Original size */
  }
  50% {
    transform: scale(1.1); /* Zoom in to 120% */
  }
  100% {
    transform: scale(1); /* Return to original size */
  }
}
.btn-custom:hover, .btn-custom:active, .btn-custom:focus {
    background:var(--bs-secondary-bg) ; 
}  
.top-header .SearchButton .search-button {
 background:url(/smarty/wireframe31/media/images/search.svg) no-repeat center;
width: 34px;
height: 33px;
    cursor: pointer;
    
    transition: all .6s;
}
.top-header .SearchButton .search-button:hover {
  background:url(/smarty/wireframe31/media/images/search.svg) no-repeat center;
}


.top-header .searchForm input#tags::-webkit-input-placeholder,
.top-header .searchForm input#tags::-webkit-input-placeholder,
.top-header .searchForm input#tags::-webkit-input-placeholder,article form#form-nl .txtbox-long::-webkit-input-placeholder{
    color: var(--dark-color);
     opacity:1;
}
.top-header .searchForm input#tags:-moz-placeholder,/* Firefox 18- */ 
.top-header .searchForm input#tags:-moz-placeholder,
.top-header .searchForm input#tags:-moz-placeholder,article form#form-nl .txtbox-long:-moz-placeholder/* Firefox 18- */ {
    color: var(--dark-color);
     opacity:1;
}
.top-header .searchForm input#tags::-moz-placeholder,/* Firefox 19+ */
.top-header .searchForm input#tags::-moz-placeholder,
.top-header .searchForm input#tags::-moz-placeholder,article form#form-nl .txtbox-long::-moz-placeholder/* Firefox 19+ */ {
    color: var(--dark-color);
     opacity:1;
}
.top-header .searchForm input#tags:-ms-input-placeholder, 
.top-header .searchForm input#tags:-ms-input-placeholder,
.top-header .searchForm input#tags:-ms-input-placeholder,article form#form-nl .txtbox-long:-ms-input-placeholder{
    color: var(--dark-color);
     opacity:1;
}
.search-popup {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0,0,0,.85);
    opacity: 0;
    z-index: 100;
    transition: opacity .6s;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
.search-popup.active {
    opacity: 1;
    pointer-events: all;
}

.search-popup .searchForm #searchcatalog {
    position: relative;
}
.search-popup .searchForm #searchcatalog label {
    display: block;
    text-align: center;
    font-size: 1.2em;
    font-weight: normal;
  	color:#ccc;
}
.search-popup .searchForm #searchcatalog input#tags {
    background: none;
    width: 450px;
    padding: 5px 40px 5px 5px;
    font-size: 20px;
    line-height: 40px;
    border: 0;
    display: block;
    border-radius: 0;
    border-bottom: 1px solid #999;
      color: white;
    transition: border-bottom-color .6s;
}
.search-popup .searchForm #searchcatalog input#tags::-webkit-input-placeholder,
.search-popup .searchForm #searchcatalog input#tags::-webkit-input-placeholder,
.search-popup .searchForm #searchcatalog input#tags::-webkit-input-placeholder{
    color: var(--light-color);
     opacity:1;
}
.search-popup .searchForm #searchcatalog input#tags:-moz-placeholder,/* Firefox 18- */ 
.search-popup .searchForm #searchcatalog input#tags:-moz-placeholder,
.search-popup .searchForm #searchcatalog input#tags:-moz-placeholder {
    color: var(--light-color);
     opacity:1;
}
.search-popup .searchForm #searchcatalog input#tags::-moz-placeholder,/* Firefox 19+ */
.search-popup .searchForm #searchcatalog input#tags::-moz-placeholder,
.search-popup .searchForm #searchcatalog input#tags::-moz-placeholder{
    color: var(--light-color);
     opacity:1;
}
.search-popup .searchForm #searchcatalog input#tags:-ms-input-placeholder, 
.search-popup .searchForm #searchcatalog input#tags:-ms-input-placeholder,
.search-popup .searchForm #searchcatalog input#tags:-ms-input-placeholder{
    color: var(--light-color);
     opacity:1;
}
.search-popup .searchForm #searchcatalog input#tags:focus {
    border-bottom-color: var(--light-color);
}
.search-popup .searchForm #searchcatalog input#BtnSearch {
    background: none;
    border: 0;
    padding: 0;
    font-size: 0em;
    width: 36px;
    height: 50px;
    display: block;
    position: absolute;
    right: 0;
    bottom: 2px;
    z-index: 1;
}
.search-popup .searchForm #searchcatalog .container-Search::after {
    content: '\f002';
    font-size: 24px;
    line-height: 50px;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    position: absolute;
    right: 0;
    bottom: 2px;
    width: 36px;
    display: block;
    -webkit-text-stroke: 1px var(--light-color)fff;
    -webkit-text-fill-color: transparent;
    text-align: center;
    z-index: 2;
    pointer-events: none;
}
.search-popup .search-popup-close {
    position: absolute;
    right: 50px;
    top: 50px;
    color: var(--light-color);
    font-size: 2em;
    line-height: 1em;
    transition: color .6s, transform .6s;
    cursor: pointer;
}

.search-popup .search-popup-close:hover {
    color: var(--bs-nav-link-color-second);
    transform: rotate(90deg);
}
#Shop div#Sidebar {
    position: fixed !important;
    right: -350px;
    top: 0;
    bottom: 0;
    overflow: auto;
    width: 300px !important;
    padding: 20px;
    background: var(--bs-body-bg2)!important;
    color: var(--gray-color)!important;
    z-index: 120;
    transition: all .4s;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    float: none !important;
}

#Shop div#Sidebar.active {
    right: 0;
}

#Shop div#Sidebar.active {
    z-index: 1000;
}

#Shop div#Sidebar .caddy-close {
    position: absolute;
    right: 5px;
    top: 5px;
    cursor: pointer;
    z-index: 1;
}

#Shop div#Sidebar .caddy-close span {
    width: 30px!important;
    height: 30px!important;
    background: #010202  url(../images/icon-close.png) center no-repeat!important;
    display: block!important;
    transition: background .4s!important; 
    color: transparent!important;
    
}
#Shop div#Sidebar .caddy-close span:hover{
        background-color: var(--bs-secondary-bg) !important;
    }

input#tags {
    width: 400px;
    height: 50px;
}
.searchForm {
 width: 400px !important;
    height: 50px;
}
#BtnSearch {
    margin-top: -34px!important;
}
/********faq******/
body.faq .SearchButton {
            max-width: 400px;
            margin: 0 auto;
            position: relative;
        }
.SearchButton .input-group .form-control {
    border: none;
    padding: 10px;
    font-size: 16px;
    color: var(--bs-primary-color) !important;
    font-weight: 500;
      background: var(--light-color)!important;
   border-radius: 50px;
   box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.SearchButton .input-group span.input-group-text {
       background: var(--light-color);
    border: none;
    border-radius: 50px;
}
.SearchButton .input-group span.input-group-text i:before {
  color: var(--bs-primary-color) !important;
   
}
.SearchButton .input-group .form-control::-webkit-input-placeholder,
.SearchButton .input-group .form-control::-webkit-input-placeholder,
.SearchButton .input-group .form-control::-webkit-input-placeholder,.SearchButton .input-group .form-control::-webkit-input-placeholder{
  color:var(--bs-primary-color)!important;
  opacity:1;
}
.SearchButton .input-group .form-control:-moz-placeholder,/* Firefox 18- */ 
.SearchButton .input-group .form-control:-moz-placeholder,
.SearchButton .input-group .form-control:-moz-placeholder,.SearchButton .input-group .form-control:-moz-placeholder/* Firefox 18- */ {
  color:var(--bs-primary-color)!important;
  opacity:1;
}
.SearchButton .input-group .form-control::-moz-placeholder,/* Firefox 19+ */
.SearchButton .input-group .form-control::-moz-placeholder,
.SearchButton .input-group .form-control::-moz-placeholder,.SearchButton .input-group .form-control::-moz-placeholder/* Firefox 19+ */ {
  color:var(--bs-primary-color)!important;
  opacity:1;
}
.SearchButton .input-group .form-control:-ms-input-placeholder, 
.SearchButton .input-group .form-control:-ms-input-placeholder,
.SearchButton .input-group .form-control:-ms-input-placeholder,.SearchButton .input-group .form-control:-ms-input-placeholder{
  color:var(--bs-primary-color)!important;
  opacity:1;
}

        .support-box {
            background: white;
            padding: 25px 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.08);
            margin-bottom: 30px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-left: 4px solid var(--bs-primary-color);
        }

        .support-box h3 {
            font-size: 18px;
            margin-bottom: 5px;
        }

        .support-box p {
            color: var(--bs-body-color);
        }

       .support-box .readmore {
            border: 1px solid var(--bs-primary-color);
        }

         .support-box .readmore:before {
           content: "\f095"; 
          font-family: "FontAwesome";
          font-weight: 900;
           padding-right: 10px;
        }

   .support-box .readmore:hover {
            border: 1px solid var(--bs-primary-color);
        }

/******************/
body.faq .accordion-item {
        border: 1px solid rgb(33 44 124 / 60%) !important;
    margin-bottom: 10px;
    padding: 5px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
body.faq .accordion-button {
    font-size: 17px !important;
}
body.faq .bottom-section {
    background: var(--light-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    text-align: center;
    padding: 50px 0;
}
body.faq .bottom-section a.readmore.readmore2 {
    background: var(--light-color);
  color:var(--bs-primary-color);
    border: 1px solid var(--bs-primary-color);
}
body.faq .bottom-section a.readmore.readmore2:hover {
    background: var(--bs-primary-color);
  color: var(--light-color);
    border: 1px solid var(--bs-primary-color);
}
/***************//****************** etabs ******************/
section.content.page-content.content-page ul#myTab {
  justify-content: center;
  grid-gap: 20px 0.5%;
  border: 0;
}
section.content.page-content.content-page ul#myTab li.nav-item {
      margin: 0 !important;
      background: none;
    padding-left: 0;
}

section.content.page-content.content-page ul#myTab .nav-link {
    border: 0;
    color: var(--bs-body-bg);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    background: var(--bs-tertiary-color);
    border-radius: 10px;
    padding: 15px 25px;
}
section.content.page-content.content-page ul#myTab .nav-link:hover, section.content.page-content.content-page ul#myTab .nav-link.active {
    background: var(--bs-primary-color);
}
section.content.page-content.content-page .tab-content>.active {
    display: block;
    /*padding: 20px 10px;*/
    margin-top: 20px;
    /*box-shadow: 0 0 5px 0 rgb(0 0 0 /30%);
    background: var(--light-color);*/
}
section.content.page-content.content-page ul#myTab li.nav-item img {
  pointer-events: none;
  z-index: -1 !important;
}


/*****support***************/
.block-flex-support {
    display: flex;
    gap: 30px;
}
/* Hero Section */
   
body.homeTemplate.lang-fr.Support .Telecommunication .readmore {
    margin: 20px 0 40px;
}
       
        /* Download Card */
        .download-card {
            background: var(--light-color);
            padding: 40px;
            border-radius: 10px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.08);
        }

        .download-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 35px;
            padding-bottom: 25px;
            border-bottom: 1px solid #e5e5e5;
        }

       .download-icon {
    background: url(/smarty/wireframe31/media/images/icon-TeamViewer.webp) no-repeat left center;
    width: 40px;
    height: 40px;
}

        .download-header h2 {
            font-size: 20px;
          margin-bottom: 5px !important;
        }

      

        .download-options {
            display: flex;
           justify-content: space-between;
            margin-bottom: 30px;
          gap:30px;
        }

        .download-option {
               text-align: center;
    padding: 25px 10px;
    border-radius: 10px;
              width: 100%;
    border: 1px solid #e5e5e5;
    transition: background-color 0.2s;
}

        .download-option:hover {
            background-color: #f9f9f9;
        }

        .os-icon {
            font-size: 48px;
            margin-bottom: 15px;
        }

.os-icon.Windows {
    background: url(/smarty/wireframe31/media/images/icon-win.webp) no-repeat top center;
    width: 40px;
    height: 40px;
    display: table;
    margin: 0 auto 20px;
}

.os-icon.Mac {
    background: url(/smarty/wireframe31/media/images/icon-ap.webp) no-repeat top center;
    width: 40px;
    height: 40px;
    display: table;
    margin: 0 auto 20px;
}

        .download-option h3 {
    
            margin-bottom: 5px;
        }

        .download-option p {

            margin-bottom: 20px;
        }



        /* Security Note */
        .security-note {
           background-color: rgb(33 44 124 / 20%);
            padding: 20px;
            border-radius: 10px;
            display: flex;
            gap: 15px;
            align-items: flex-start;
        }

 

        .security-note-content h4 {
         
            margin-bottom: 8px;
        }

        .security-note-content p {
            font-size: 13px;

            line-height: 1.6;
        }

        /* Right Sidebar */
  .sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 60%;
}

        /* Phone Support Card */
        .phone-support {
            background: var(--bs-secondary-bg);
            padding: 30px;
            border-radius: 12px;
            color: white;
            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        }

        .phone-support h3 {
            font-size: 20px;
           color:var(--light-color);
        }

        .phone-item {
          position: relative;
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 20px;
        }

   
        .phone-item-content p {
            font-size: 12px;
            opacity: 0.8;
            margin-bottom: 3px;
        }

        .phone-item-content strong {
            font-size: 16px;
        }


    .phone-support a {
    color:var(--light-color);
          text-decoration: none;
  
}

.phone-icon:before{
  
  content: "";
    font-family: "FontAwesome";
    font-weight: 900;
    background:var(--light-color);
    display: inline-block;
    color: var(--bs-primary-color);
    width: 40px;
    height: 40px;
    font-size: 19px;
    line-height: 40px;
    text-align: center;
    border-radius: 5px;
    margin-right: 10px;
}

.phone-icon.tel:before {
    content: "\f095" !important;
}
 .phone-icon.mail:before { 
content: "\f2b6"!important;
}
  .sidebar .readmore {
    width: 100%;
    text-align: center;
        background: var(--light-color);
        color: var(--bs-primary-color);
    text-decoration: none !important;
   margin: 0 !important;
    display: inline-block;
}
  .sidebar .readmore:hover {
  background: #A5ABDF !important;
   color: var(--light-color);
}
       /****************/
        .why-choose {
          background: var(--light-color);
            padding: 30px;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.08);
        }

        .why-choose h3 {
            font-size: 18px;
            margin-bottom: 20px;
        }

         .why-choose li {
   
    margin-bottom: 10px;
}

/*********Comment ça marche ?************/
        .how-it-works {
            background: var(--light-color);
            padding: 40px;
            border-radius: 10px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.08);
            margin-bottom: 30px;
            position: relative;
        }

         .how-it-works h4 {
    font-size: 23px;
    margin-bottom: 60px;
    position: relative;
}
   .how-it-works h4:before {
       content: "\f128";
    font-family: "FontAwesome";
    font-weight: 900;
    background: rgb(33 44 124);
    display: inline-block;
    color: var(--light-color);
    width: 40px;
    height: 40px;
    font-size: 19px;
    line-height: 40px;
    text-align: center;
    border-radius: 50px;
    margin-right: 10px;
}

        .how-it-works  .steps {
            display: flex;
            gap: 30px;
        }

         .how-it-works .step {
            position: relative;
        }

       .how-it-works   .step-number {
            font-size: 48px;
            font-weight: 700;
          color: rgb(33 44 124 / 20%);
            margin-bottom: 15px;
        }

        .how-it-works  .step h3 {
            font-size: 18px;
            margin-bottom: 12px;
        }


.box-light.contact {
    border-radius: 10px;
  margin: 0 !important;
      background: var(--bs-secondary-bg);
  color: var(--bs-body-bg);
}
.box-light.contact h1, .box-light.contact h2, .box-light.contact h3, .box-light.contact h4, .box-light.contact h5, .box-light.contact h6{
   color: var(--bs-body-bg);
  
}
.box-light.contact a {
    color: var(--bs-body-bg);
 
}

.col-md-8.box-right-contact {
    padding: 20px;
    background: var(--bs-body-bg3);
    border-radius: 10px;
}

/***********/
section.cta-section {
    padding: 50px;
    text-align: center;
        background: var(--bs-primary-color);
    color: var(--light-color);
}
section.cta-section h2{
    color: var(--light-color);
  
}
section.cta-section .readmore {

    background: var(--light-color);
    color: var(--bs-primary-color);
    text-decoration: none !important;
    margin: 0 !important;
    display: inline-block;
}
section.cta-section .readmore:hover {
  background: #A5ABDF !important;
   color: var(--light-color);
}
/******** Architecture réseau ********/
.homeTemplate.architecture {
	color: var(--bs-body-bg);
	background: var(--bs-body-color);
}

section.banner.banner-page-cable {
	height: auto;
}
section.banner.banner-page-cable .marketing-slider {
	margin-top: 117px;
	margin-left: -200px;
}
section.banner.banner-page-cable .banner-wrapper {
	padding: 175px 0 100px;
}
.homeTemplate.architecture .container-fluid {
	max-width: 1724px;
}
section.banner.banner-page-cable .banner-wrapper .title {
	max-width: 65%;
}
section.banner.banner-page-cable .banner-wrapper h6 {
	padding: 7px 15px;
	color: var(--bs-body-bg);
	background: var(--bs-primary-color);
	display: table;
	font-size: 15px;
	border-radius: 50px;
	-webkit-border-radius: 50px;
}
section.banner.banner-page-cable .banner-wrapper h2 {
	font-size: 60px;
  	/*color: var(--bs-body-bg);*/
}
section.banner.banner-page-cable .banner-wrapper h2 .color1 {
  	display: block;
  	/*color: var(--bs-body-bg3);*/
  	opacity: 0.75;
}
section.banner.banner-page-cable .banner-wrapper h2 .color2 {
  	display: block;
  	/*color: var(--bs-body-bg2);*/
  	opacity: 0.9;
}
section.banner.banner-page-cable .hero-buttons {
	display: flex;
	gap: 20px;
	margin-top: 30px;
}
section.banner.banner-page-cable .hero-buttons .btn {
	color: var(--bs-primary-color);
	text-decoration: none !important;
	position: relative;
	display: inline-flex;
	background: var(--light-color);
	transition: all .3s;
	border-radius: 10px;
	border: 0;
	align-items: center;
	margin: 20px 0 0;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: none;
	padding: 13px 25px;
}
section.banner.banner-page-cable .hero-buttons .btn:hover {
  	color: var(--light-color);
  	background: var(--bs-primary-color);
  	box-shadow: 0 0 5px rgba(255,255,255,0.5);
  	-webkit-box-shadow: 0 0 5px rgba(255,255,255,0.5);
}
section.banner.banner-page-cable .hero-buttons .btn.btn-secondary {
	color: var(--light-color);
	background: var(--bs-body-color);
	border: 1px solid rgba(255,255,255,0.65);
}
section.banner.banner-page-cable .hero-buttons .btn.btn-secondary:hover {
	color: var(--bs-primary-color);
	background: var(--light-color);
	border-color: var(--light-color);
}
.chiffres {
	margin-top: 70px;
	padding: 35px 0;
}
.chiffres:before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(255,255,255,0.1);
	border-top: 1px solid rgba(255,255,255,0.2);
	border-bottom: 1px solid rgba(255,255,255,0.2);
}
.chiffres .hero-stats {
	display: flex;
	justify-content: space-between;
	gap: 50px;
	max-width: 68%;
}
.chiffres .hero-stats .stat {
	position: relative;
}
.chiffres .hero-stats .stat .number {
	display: flex;
	gap: 3px;
	align-items: center;
	font-weight: 900;
	font-size: 30px;
	font-family: var(--bs-titles-font-family);color: var(--bs-body-bg);
}
.chiffres .hero-stats .stat .number .stat-number {
	margin: 0;
	color: var(--bs-body-bg);
	font-size: 30px;
}
.chiffres .hero-stats .stat .stat-label {
	opacity: 0.6;
	margin: 0;
}
/* --- */
.expertises-section {
	padding: 100px 0;
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(255,255,255,0.35);
}
.expertises-section .section-header {
    position: relative;
    z-index: 2;
}
.section-header h6 {
	color: var(--bs-body-bg);
	text-transform: uppercase;
	margin-bottom: 20px;
	font-weight: 600;
	font-family: var(--bs-body-font-family);
	font-size: 18px;
}
.section-header h2 {
    color: var(--bs-body-bg);
}
.section-header h2 .italic-text {
	font-style: italic;
	font-weight: 700;
	color: var(--bs-body-bg3);
	opacity: 0.75;
}
.expertises-section .navigation-arrows {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    gap: 10px;
}
.expertises-section .nav-arrow {
    width: 45px;
    height: 45px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: transparent;
    color: var(--light-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}
.expertises-section .nav-arrow:hover {
    background: var(--bs-primary-color);
    border-color: var(--bs-primary-color);
    transform: translateY(-2px);
}
.expertises-section .nav-arrow i {
    font-size: 14px;
}
.expertises-section .expertise-card {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 15px;
	padding: 40px 30px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.expertises-section .expertise-card:hover {
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(18,25,77,0.05);
}
.expertises-section .expertise-card > * {
    position: relative;
    z-index: 2;
}
.expertises-section .expertise-card .card-icon {
    width: 50px;
  	height: 50px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}
.expertises-section .expertise-card .card-icon img {
      width: 50px;
    height: 50px;
    object-fit: scale-down;
    background: #12194d;
    padding: 10px;
    border-radius: 3px;
}
.expertises-section .expertise-card:hover .card-icon {
    transform: scale(0.9);
}
.expertises-section .expertise-card .card-title {
    font-family: var(--bs-titles-font-family);
    font-size: 22px;
    font-weight: 600;
    color: var(--light-color);
    margin-bottom: 20px;
    line-height: 1.3;
}
.expertises-section .expertise-card .card-description {
    margin-bottom: 0;
}
.expertises-section .expertise-card .card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 30px;
}
.expertises-section .expertise-card .tag {
    background: rgba(255, 255, 255, 0.2);
    color: var(--bs-body-bg3);
    padding: 5px 10px;
    border-radius: 7px;
  	-webkit-border-radius: 7px;
    font-size: 12px;
    transition: all 0.3s ease;
}
.expertises-section .nav-arrow.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.expertises-section .nav-arrow.swiper-button-disabled:hover {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.2);
    transform: none;
}
/* --- */
.processus-section {
    padding: 50px 0;
}
.processus-section .processus-timeline {
    position: relative;
    padding-left: 0;
}
.processus-section .timeline-item {
	position: relative;
	display: flex;
	margin-bottom: 25px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 15px;
	-webkit-border-radius: 15px;
	padding: 30px;
	backdrop-filter: blur(10px);
	transition: all 0.3s ease;
	gap: 25px;
}
.processus-section .timeline-icon {
	position: relative;
	width: 60px;
	height: 60px;
	background: rgba(255,255,255,0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	transition: all 0.3s ease;
}
.processus-section .timeline-icon img {
	width: 30px;
	height: 30px;
	object-fit: scale-down;
}
.processus-section .step-number {
	position: relative;
	background: var(--bs-primary-color);
	border: 2px solid rgba(255,255,255,0.2);
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	width: 35px;
	height: 35px;
}
.processus-section .timeline-content {
    flex: 1;
    position: relative;
    overflow: hidden;
}
.processus-section .timeline-content > * {
    position: relative;
    z-index: 2;
}
.processus-section .step-title {
	font-weight: 700;
	color: var(--light-color);
	margin-bottom: 15px;
	display: flex;
	gap: 10px;
	font-size: 22px;
  	align-items: center;
}
.processus-section .step-description {
    font-family: var(--bs-body-font-family);
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.6;
}
.processus-section .step-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.processus-section .step-tags .tag {
  	background: rgba(255, 255, 255, 0.2);
    color: var(--bs-body-bg3);
    padding: 5px 10px;
    border-radius: 7px;
  	-webkit-border-radius: 7px;
    font-size: 12px;
    transition: all 0.3s ease;
}
.processus-section .visual-container {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 40px;
	gap: 45px;
}
.processus-section .network-illustration {
	position: relative;
	margin-bottom: 0;
	height: 100%;
}
.processus-section .network-illustration img {
  	width: 100%;
    height: 100%;
  	object-fit: cover;
  opacity:1!important;
}
.processus-section .metrics-cards.cards2 {
	left: 15px;
	right: 15px;
}
.processus-section .visual-container .bloc-img-elec {
	position: relative;
	width: 100%;
	height: 850px;
}
.processus-section .visual-container .bloc-img-elec.img-2 {
	height: 600px;
}
.processus-section .network-illustration:after {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}
.processus-section .metrics-cards {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: absolute;
	left: 50px;
	right: 50px;
	bottom: 30px;
	text-align: left;
}
.processus-section .security-callout {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 15px;
	padding: 25px;
	backdrop-filter: blur(10px);
	transition: all 0.3s ease;
}
.processus-section .security-callout h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--light-color);
    margin-bottom: 10px;
}
.processus-section .security-callout p {
    font-size: 13px;
    margin: 0;
}
.processus-section .metric-card {
	display: flex;
	align-items: start;
	gap: 15px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 12px;
	padding: 15px 20px;
	backdrop-filter: blur(10px);
	transition: all 0.3s ease;
	flex-direction: column;
}
.processus-section .metric-card .metric-icon {
	max-width: 40px;
      max-width: 40px;
    background: rgb(18 25 77);
    padding: 3px;
    border-radius: 3px;
}
.processus-section .metric-card h5 {
    font-size: 17px;
    font-weight: 600;
    color: var(--light-color);
    margin: 0;
}
/* --- */
.avantages-section {
    padding: 50px 0;
    color: var(--light-color);
    position: relative;
    overflow: hidden;
}
.avantages-section .avantage-card {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 15px;
	padding: 40px 30px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(10px);
	height: 100%;
	display: flex;
	flex-direction: column;
}
.avantages-section .avantage-card > * {
    position: relative;
    z-index: 2;
}
.avantages-section .avantage-card .avantage-icon {
	margin-bottom: 30px;
	transition: all 0.3s ease;
	width: 60px;
	height: 60px;
	background: rgba(255,255,255,0.1);
	border-radius: 15px;
	-webkit-border-radius: 15px;
	border: 1px solid rgba(255,255,255,0.2);
  	display: flex;
  	align-items: center;
  	justify-content: center;
}
.avantages-section .avantage-card .avantage-icon img {
	width: 40px;
	height: 40px;
	object-fit: scale-down;
}
.avantages-section .avantage-card:hover .avantage-icon {
    transform: scale(0.9);
}
.avantages-section .avantage-card .avantage-title {
    font-family: var(--bs-titles-font-family);
    font-size: 22px;
    font-weight: 600;
    color: var(--light-color);
    margin-bottom: 20px;
    line-height: 1.3;
}
.avantages-section .avantage-card .avantage-description {
    font-family: var(--bs-body-font-family);
    font-size: 15px;
    color: #B8B8B8;
    line-height: 1.6;
    flex-grow: 1;
    margin: 0;
}
.avantages-section .cta-section {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 20px;
	padding: 60px 40px;
	text-align: center;
	margin: 0 auto 40px;
	backdrop-filter: blur(15px);
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
	max-width: 65%;
}
.avantages-section .cta-section > * {
    position: relative;
    z-index: 2;
}
.avantages-section .cta-section .cta-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--light-color);
    margin-bottom: 20px;
    line-height: 1.2;
}
.avantages-section .cta-section .cta-description {
	margin-bottom: 10px;
}
.avantages-section .cta-section .cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}
.avantages-section .cta-section .readmore {
	padding: 17px 30px;
	border: 1px solid rgba(255, 255, 255, 0.85);
}
.avantages-section .cta-section .readmore.btn-outline-light {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.2);
}
.avantages-section .cta-section .readmore:hover {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.2);
}
.avantages-section .cta-section .readmore.btn-outline-light:hover {
	color: var(--light-color);
	background: var(--bs-primary-color);
	border-color: rgba(255, 255, 255, 0.85);
}
/********  Cybersécurité ********/
.hero2 {
	background: var(--bs-body-bg2);
	padding: 80px 20px;
	position: relative;
	overflow: hidden;
	text-align: center;
	margin-top: 117px;
}
.hero2:before {
  	display: none;
}
.hero2 .hero-content {
    position: relative;
  	display: block;
    z-index: 1;
    text-align: center;
}
.hero2 .partner-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.15);
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 14px;
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
}
.hero2 .badge-icon {
    font-size: 18px;
}
.hero2 h1 {
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 25px;
}
.hero2 h1 .highlight {
    color: var(--bs-secondary-bg);
}
.hero2 .hero-description {
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
    opacity: 0.95;
}
.hero2 .feature-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 900px;
    margin: 0 auto;
}
.hero2 .feature-card {
	background: var(--bs-body-bg);
	backdrop-filter: blur(10px);
	padding: 30px 25px;
	border-radius: 15px;
	border: 1px solid var(--bs-body-bg3);
	transition: transform 0.3s, background 0.3s;
	text-align: center;
}
.hero2 .feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin: 0 auto 15px;
}
.hero2 .feature-card h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px !important;
}
.hero2 .feature-card p {
    font-size: 14px;
    opacity: 0.9;
}
/* Statistics Section */
.statistics {
    padding: 80px 0;
}
.statistics h2 {
    text-align: center;
    font-weight: 800;
    margin-bottom: 15px;
}
.statistics h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.statistics .subtitle {
    text-align: center;
    font-size: 16px;
    color: var(--bs-secondary-bg);
    max-width: 600px;
    margin: 0 auto 60px;
}
.statistics .stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 50px;
}
.statistics .stat-card {
    background: var(--bs-body-bg);
    padding: 35px 30px;
    border-radius: 15px;
    border: 1px solid var(--bs-body-bg3);
    transition: transform 0.3s, box-shadow 0.3s;
  	text-align: left;
}
.statistics .stat-icon {
    width: 60px;
    height: 60px;
	background: var(--bs-body-bg3);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 20px;
}
.statistics .stat-icon img {
	width: 40px;
	height: 40px;
	object-fit: scale-down;
}
.statistics .stat-value {
    font-size: 36px;
    font-weight: 800;
    
    margin-bottom: 10px;
    line-height: 1;
}
.statistics .stat-label {
    font-size: 16px;
    font-weight: 600;
    
    margin-bottom: 5px;
}
.statistics .stat-sublabel {
    font-size: 13px;
    color: var(--bs-secondary-bg);
}
.statistics .callout-box {
	background: var(--bs-body-bg2);
	padding: 30px;
	border-radius: 15px;
	text-align: center;
	border: 1px solid var(--bs-primary-color);
	display: table;
	margin: 0 auto;
}
.statistics .callout-box p {
    font-size: 16px;
    color: #1e3a8a;
    margin-bottom: 5px;
}
.statistics .callout-box p:last-child {
    margin-bottom: 0;
}
.statistics .callout-box strong {
    font-weight: 700;
}
/* Services Section */
.services {
	padding: 80px 0;
	text-align: center;
}
.services h2 {
    text-align: center;
    font-weight: 800;
    margin-bottom: 15px;
    
}
.services h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.services .services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.services .service-card {
    background: var(--bs-body-bg);
    padding: 30px 20px;
    border-radius: 12px;
    text-align: left;
    border: 1px solid var(--bs-body-bg3);
    transition: transform 0.3s, box-shadow 0.3s;
}
.services .service-icon {
	width: 35px;
	height: 35px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin: 0 0 15px;
	background: none;
}
.services .service-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-color);
}
/* VPN - Cadenas */
.services .service-card:nth-child(1) .service-icon::before {
    content: "\f023"; /* fa-lock */
}

/* URL Filtering - Filtre */
.services .service-card:nth-child(2) .service-icon::before {
    content: "\f0b0"; /* fa-filter */
}

/* Filtrage Géographique - Globe */
.services .service-card:nth-child(3) .service-icon::before {
    content: "\f3c5"; /* fa-map-marker-alt */
}

/* MAJ Zero-Day - Bouclier virus */
.services .service-card:nth-child(4) .service-icon::before {
	content: "\e0b7";
}

/* Filtrage L7 - Loupe */
.services .service-card:nth-child(5) .service-icon::before {
    content: "\f002"; /* fa-search */
}

/* ACLs - Engrenage */
.services .service-card:nth-child(6) .service-icon::before {
    content: "\f013"; /* fa-cog */
}

/* Routage - Route */
.services .service-card:nth-child(7) .service-icon::before {
    content: "\f4d7"; /* fa-route */
}

/* SD-WAN - WiFi */
.services .service-card:nth-child(8) .service-icon::before {
    content: "\f1eb"; /* fa-wifi */
}

/* IPS/IDS - Bouclier utilisateur */
.services .service-card:nth-child(9) .service-icon::before {
    content: "\f505"; /* fa-user-shield */
}

/* Antivirus & Sandboxing - Cube */
.services .service-card:nth-child(10) .service-icon::before {
	content: "\e4f0";
}

/* SSL Inspection - Certificat */
.services .service-card:nth-child(11) .service-icon::before {
	content: "\f0ac";
}

/* DDoS Protection - Bouclier */
.services .service-card:nth-child(12) .service-icon::before {
    content: "\f3ed"; /* fa-shield-alt */
}

.services .service-card h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    
}
.services .service-card p {
	font-size: 14px;
	color: var(--bs-secondary-bg);
	line-height: 1.5;
	margin: 0;
}
.services .service-footer {
    background: var(--bs-body-bg2);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid var(--bs-primary-color);
}
.services .service-footer p {
    font-size: 15px;
    margin-bottom: 5px;
}
.services .service-footer p:last-child {
    margin-bottom: 0;
}
/* AI Technologies Section */
.ai-technologies {
    padding: 80px 0;
	text-align: center;
}
.ai-technologies h2 {
    margin-bottom: 15px;
}
.ai-technologies h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.ai-technologies .ai-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 50px;
}
.ai-technologies .ai-card {
    background: var(--bs-body-bg);
    padding: 35px 30px;
    border-radius: 15px;
    border: 2px solid var(--bs-body-bg3);
    transition: transform 0.3s, box-shadow 0.3s;
    text-align: left;
}
.ai-technologies .ai-icon {
	width: 70px;
	height: 70px;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	margin: 0 0 20px;
	background: var(--bs-primary-color);
}
.ai-technologies .ai-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-bg);
}
/* Machine Learning - Cerveau */
.ai-technologies .ai-card:nth-child(1) .ai-icon::before {
    content: "\f5dc"; /* fa-brain */
}

/* Analyse Prédictive - Œil */
.ai-technologies .ai-card:nth-child(2) .ai-icon::before {
    content: "\f06e"; /* fa-eye */
}

/* Auto-Learning - Baguette magique */
.ai-technologies .ai-card:nth-child(3) .ai-icon::before {
    content: "\f0d0"; /* fa-magic */
}

/* FortiGuard AI - Bouclier */
.ai-technologies .ai-card:nth-child(4) .ai-icon::before {
    content: "\f3ed"; /* fa-shield-alt */
}

/* Optimisation Auto - Graphique */
.ai-technologies .ai-card:nth-child(5) .ai-icon::before {
    content: "\f201"; /* fa-chart-line */
}

/* Réponse Instantanée - Éclair */
.ai-technologies .ai-card:nth-child(6) .ai-icon::before {
    content: "\f0e7"; /* fa-bolt */
}
.ai-technologies .ai-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}
.ai-technologies .ai-card p {
    font-size: 14px;
    color: var(--bs-secondary-bg);
    line-height: 1.6;
    margin-bottom: 20px;
}
.ai-technologies .ai-badge {
    display: inline-block;
    background: var(--bs-primary-color);
    color: var(--light-color);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}
.ai-technologies .ai-advantages {
    background: #12194D05;
    padding: 40px;
    border-radius: 20px;
    border: 1px solid var(--bs-primary-color);
}
.ai-technologies .ai-advantages h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    
}
.ai-technologies .advantage-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.ai-technologies .advantage-item {
    text-align: center;
}
.ai-technologies .advantage-value {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1;
}
.ai-technologies .advantage-label {
    font-size: 15px;
    color: var(--bs-secondary-bg);
    line-height: 1.4;
}
/* Email Security Section */
.email-security {
	padding: 80px 0;
	text-align: center;
}
.email-security h2 {
    text-align: center;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 15px;
    
}
.email-security h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.email-security .email-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 50px;
}
.email-security .email-stat-card {
	background: var(--bs-body-bg);
	padding: 30px 25px;
	border-radius: 12px;
	border: 1px solid var(--bs-body-bg3);
	transition: transform 0.3s;
	text-align: left;
	font-size: 13px;
}
.email-security .mail-in-black {
	background: var(--bs-body-bg2);
	padding: 40px;
	border-radius: 20px;
	margin-bottom: 50px;
	border: 1px solid var(--bs-primary-color);
	text-align: left;
}
.email-security .mib-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}
.email-security .email-stat-card .stat-icon {
	width: 50px;
	height: 50px;
	background: var(--bs-primary-color);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
}
.email-security .email-stat-card .stat-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-bg);
}
/* E-mail phishing */
.email-security  .email-stat-card:nth-child(1) .stat-icon::before {
    content: "\f0e0"; /* fa-envelope */
}

/* Malwares - Triangle d'alerte */
.email-security  .email-stat-card:nth-child(2) .stat-icon::before {
    content: "\f071"; /* fa-exclamation-triangle */
}

/* Augmentation - Flèche vers le haut */
.email-security  .email-stat-card:nth-child(3) .stat-icon::before {
    content: "\f062"; /* fa-arrow-up */
}

/* E-mails malveillants */
.email-security  .email-stat-card:nth-child(4) .stat-icon::before {
    content: "\f2b6"; /* fa-envelope-open */
}
.email-security .mib-icon {
    width: 70px;
    height: 70px;
    background: var(--bs-primary-color);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    flex-shrink: 0;
}
.email-security .mib-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.5rem;
    color: var(--bs-body-bg);
    content: "\f3ed"; 
}
.email-security .mib-header h3 {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 5px;
    
}
.email-security .mib-header p {
    font-size: 15px;
    color: var(--bs-secondary-bg);
}
.email-security .mib-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.email-security .mib-feature {
    background: var(--bs-body-bg);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid var(--bs-body-bg3);
}
.email-security .mib-feature-icon {
	width: 50px;
	height: 50px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 15px;
	background: var(--bs-secondary-bg);
}
.email-security .mib-feature-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-bg);
}
/* Protection Anti-Phishing (1er) */
.mib-feature:nth-child(1) .mib-feature-icon::before {
    content: "\f3ed"; /* fa-shield-alt */
}

/* Filtrage Anti-Spam (2ème) */
.mib-feature:nth-child(2) .mib-feature-icon::before {
    content: "\f0b0"; /* fa-filter */
}

/* Détection de Menaces (3ème) */
.mib-feature:nth-child(3) .mib-feature-icon::before {
    content: "\f055"; /* fa-plus-circle */
}

/* Filtrage Avancé (4ème) */
.mib-feature:nth-child(4) .mib-feature-icon::before {
    content: "\f09e"; /* fa-rss */
}

/* Chiffrement E-mail (5ème) */
.mib-feature:nth-child(5) .mib-feature-icon::before {
    content: "\f023"; /* fa-lock */
}

/* Intelligence Artificielle (6ème) */
.mib-feature:nth-child(6) .mib-feature-icon::before {
    content: "\f5dc"; /* fa-brain */
}
.email-security .mib-feature h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    
}
.email-security .mib-feature p {
    font-size: 13px;
    color: var(--bs-secondary-bg);
    line-height: 1.5;
}
.email-security .protection-layers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin-bottom: 40px;
	text-align: left;
}
.email-security .section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}
.email-security .section-title .icon {
    font-size: 24px;
}
.email-security .section-title h3 {
    font-size: 22px;
    font-weight: 700;
    
}
.email-security .layer-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.email-security .layer-info {
    flex: 1;
}
.email-security .layer-label {
    font-size: 15px;
    font-weight: 600;
    
    margin-bottom: 3px;
}
.email-security .layer-desc {
    font-size: 12px;
    color: var(--bs-secondary-bg);
}
.email-security .layer-percentage {
    font-size: 18px;
    font-weight: 700;
    color: var(--bs-primary-color);
    margin-left: 15px;
}
.email-security .layer-bar {
    height: 8px;
    background: #f3f4f6;
    border-radius: 10px;
    margin-bottom: 25px;
    overflow: hidden;
}
.email-security .layer-progress {
    height: 100%;
    background: linear-gradient(90deg, var(--bs-primary-color) 0%, var(--bs-nav-link-color-second) 100%);
    border-radius: 10px;
    transition: width 1s ease;
}
.email-security .efficiency-box {
	background: linear-gradient(135deg, var(--bs-primary-color) 0%, var(--bs-nav-link-color-second) 100%);
	padding: 40px;
	border-radius: 15px;
	text-align: center;
	margin-bottom: 25px;
	color: var(--bs-body-bg);
}
.email-security .efficiency-main {
    font-size: 56px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1;
}
.email-security .efficiency-label {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.email-security .efficiency-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}
.email-security .eff-stat {
	background: var(--bs-body-bg2);
	padding: 20px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	gap: 15px;
	border: 1px solid var(--bs-body-bg3);
	flex-direction: column;
}
.email-security .eff-icon {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.email-security .eff-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.5rem;
}
.eff-stat:nth-child(1) .eff-icon::before {
    content: "\f05e"; /* fa-ban */
}

/* Temps d'analyse - Horloge */
.eff-stat:nth-child(2) .eff-icon::before {
    content: "\f017"; /* fa-clock */
}
.email-security .eff-value {
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 5px;
	text-align: center;
}
.email-security .eff-label {
    font-size: 13px;
    color: var(--bs-secondary-bg);
}
.email-security .volume-stats {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.email-security .volume-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: var(--bs-body-bg);
    border-radius: 10px;
    border: 1px solid var(--bs-body-bg3);
    font-size: 14px;
}
.email-security .volume-item::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.2rem;
    margin-right: 1rem;
    width: 20px;
    text-align: center;
}
/* E-mails analysés */
.volume-item:nth-child(1)::before {
    content: "\f0e0"; /* fa-envelope */
}

/* Menaces bloquées */
.volume-item:nth-child(2)::before {
    content: "\f3ed"; /* fa-shield-alt */
}

/* Utilisateurs protégés */
.volume-item:nth-child(3)::before {
    content: "\f058"; /* fa-check-circle */
}
.email-security .vol-icon {
    font-size: 18px;
    margin-right: 10px;
}
.email-security .vol-value {
    font-weight: 700;
    color: var(--bs-primary-color);
}
.email-security .email-callout {
    background: var(--bs-body-bg2);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid var(--bs-primary-color);
}
.email-security .volume-item > span:not(.vol-value) {
}
.email-security .email-callout p {
    font-size: 15px;
    margin-bottom: 5px;
}
.email-security .email-callout p:last-child {
    margin-bottom: 0;
}
/* SOC 24/7 Section */
.soc-section {
    padding: 80px 0;
}
.soc-section h2 {
    text-align: center;
    margin-bottom: 15px;
}
.soc-section h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.soc-section .surveillance-panel {
    background: var(--bs-body-bg3);
    padding: 35px;
    border-radius: 20px;
    margin-bottom: 40px;
    border: 1px solid var(--bs-primary-color);
}
.soc-section .panel-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}
.soc-section .status-icon {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
.soc-section .panel-header h3 {
    font-size: 20px;
    font-weight: 700;
    
    flex: 1;
}
.soc-section .status-badge {
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}
.soc-section .surveillance-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.soc-section .metric-box {
    background: var(--bs-body-bg);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--bs-body-bg3);
}
.soc-section .metric-icon {
    font-size: 24px;
    margin-bottom: 10px;
}
.soc-section .metric-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.5rem;
}
.metric-box:nth-child(1) .metric-icon::before {
    content: "\f080"; /* fa-chart-bar */
}
.metric-box:nth-child(2) .metric-icon::before {
    content: "\f017"; /* fa-clock */
}
.metric-box:nth-child(3) .metric-icon::before {
    content: "\f058"; /* fa-check-circle */
}
.metric-box:nth-child(4) .metric-icon::before {
    content: "\f071"; /* fa-exclamation-triangle */
}
.soc-section .metric-label {
    font-size: 12px;
    color: var(--bs-secondary-bg);
    margin-bottom: 8px;
}
.soc-section .metric-value {
    font-size: 24px;
    font-weight: 800;
    color: #1e3a8a;
}
.soc-section .activity-chart {
    background: var(--bs-body-bg);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid var(--bs-body-bg3);
}
.soc-section .chart-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--bs-secondary-bg);
    margin-bottom: 15px;
}
.soc-section .chart-bars {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 120px;
    margin-bottom: 15px;
}
.soc-section .bar {
    flex: 1;
    background: linear-gradient(180deg, var(--bs-primary-color) 0%, var(--bs-nav-link-color-second) 100%);
    border-radius: 4px 4px 0 0;
    min-height: 20px;
    transition: height 0.3s ease;
}
.soc-section .chart-status {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
}
.soc-section .soc-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 40px;
}
.soc-section .soc-feature-card {
    background: var(--bs-body-bg);
    padding: 30px 25px;
    border-radius: 15px;
    border: 1px solid var(--bs-body-bg3);
    transition: transform 0.3s, box-shadow 0.3s;
}
.soc-section .soc-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.soc-section .soc-icon {
	width: 60px;
	height: 60px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin-bottom: 20px;
	background: var(--bs-primary-color);
}
.soc-section .soc-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-bg);
}
/* Surveillance Continue - Œil */
.soc-feature-card:nth-child(1) .soc-icon::before {
    content: "\f06e"; /* fa-eye */
}

/* Intelligence Artificielle - Cerveau */
.soc-feature-card:nth-child(2) .soc-icon::before {
    content: "\f5dc"; /* fa-brain */
}

/* Analyse Temps Réel - Graphique */
.soc-feature-card:nth-child(3) .soc-icon::before {
    content: "\f201"; /* fa-chart-line */
}

/* Réaction Immédiate - Éclair */
.soc-feature-card:nth-child(4) .soc-icon::before {
    content: "\f0e7"; /* fa-bolt */
}

/* SIEM Avancé - Base de données */
.soc-feature-card:nth-child(5) .soc-icon::before {
    content: "\f1c0"; /* fa-database */
}

/* Experts Certifiés - Expert */
.soc-feature-card:nth-child(6) .soc-icon::before {
    content: "\f508"; /* fa-user-tie */
}
.soc-section .soc-feature-card h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    
}
.soc-section .soc-feature-card p {
	font-size: 14px;
	color: var(--bs-secondary-bg);
	line-height: 1.6;
	margin: 0;
}
.soc-section .siem-sources {
    background: var(--bs-body-bg3);
    padding: 35px;
    border-radius: 15px;
    margin-bottom: 40px;
    border: 1px solid var(--bs-primary-color);
}
.soc-section .siem-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}
.soc-section .siem-icon {
    width: 60px;
    height: 60px;
    background: var(--bs-primary-color);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    flex-shrink: 0;
}
.soc-section .siem-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	color: var(--bs-body-bg);
  	content: "\f1c0";
}
.soc-section .siem-header h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 5px;
    
}
.soc-section .siem-header p {
    font-size: 14px;
    color: var(--bs-secondary-bg);
}
.soc-section .sources-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
.soc-section .source-item {
    background: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid var(--bs-body-bg3);
}
.soc-section .soc-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.soc-section .process-step {
    background: var(--bs-body-bg);
    padding: 30px 20px;
    border-radius: 15px;
    text-align: center;
    border: 2px solid var(--bs-body-bg3);
    position: relative;
}
.soc-section .step-number {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 30px;
    height: 30px;
    background: var(--bs-primary-color);
    color: var(--bs-body-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}
.soc-section .step-icon {
    font-size: 36px;
    margin-bottom: 15px;
}
.soc-section .step-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.5rem;
}

/* Icônes spécifiques pour chaque étape avec ::before */

/* Étape 1 - Collecte - Base de données */
.process-step:nth-child(1) .step-icon::before {
    content: "\f1c0"; /* fa-database */
}

/* Étape 2 - Analyse IA - Cerveau */
.process-step:nth-child(2) .step-icon::before {
    content: "\f5dc"; /* fa-brain */
}

/* Étape 3 - Détection - Loupe */
.process-step:nth-child(3) .step-icon::before {
    content: "\f002"; /* fa-search */
}

/* Étape 4 - Réaction - Bouclier */
.process-step:nth-child(4) .step-icon::before {
    content: "\f3ed"; /* fa-shield-alt */
}
.soc-section .process-step h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    
}
.soc-section .process-step p {
    font-size: 13px;
    color: var(--bs-secondary-bg);
}
.soc-section .soc-guarantees {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 25px;
    background: var(--bs-body-bg2);
    border-radius: 12px;
    border: 1px solid var(--bs-primary-color);
}
.soc-section .guarantee-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
}
.soc-section .guarantee-item::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.1rem;
}
/* Icônes pour les garanties */
.soc-section .guarantee-item:nth-child(1)::before {
	content: "\f201";
}
.soc-section .guarantee-item:nth-child(2)::before {
    content: "\f058"; /* fa-check-circle */
}
.soc-section .guarantee-item:nth-child(3)::before {
    content: "\f05b"; /* fa-crosshairs */
}

.soc-section .guarantee-item .icon {
    font-size: 20px;
}
/* Why Choose Us Section */
.why-choose {
    padding: 80px 0;
}
.why-choose h2 {
    text-align: center;
    margin-bottom: 15px;
    
}
.why-choose h2 .highlight {
	color: var(--bs-secondary-bg);
	display: inline-block;
}
.why-choose .subtitle {
	text-align: center;
}
.why-choose .benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 50px;
}
.why-choose .benefit-card {
    background: var(--bs-body-bg);
    padding: 30px 20px;
    border-radius: 12px;
    border: 1px solid var(--bs-body-bg3);
    transition: transform 0.3s, box-shadow 0.3s;
}
.why-choose .benefit-icon {
	width: 60px;
	height: 60px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin: 0 auto 15px;
	background: var( --bs-primary-color);
}
.why-choose .benefit-icon::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.5rem;
	color: var(--bs-body-bg);
}

/* Icônes spécifiques avec ::before */

/* Partenaire Certifié - Certificat */
.benefit-card:nth-child(1) .benefit-icon::before {
    content: "\f0a3"; /* fa-certificate */
}

/* Expertise Reconnue - Utilisateurs */
.benefit-card:nth-child(2) .benefit-icon::before {
    content: "\f0c0"; /* fa-users */
}

/* Déploiement Complet - Outils */
.benefit-card:nth-child(3) .benefit-icon::before {
    content: "\f7d9"; /* fa-tools */
}

/* Support 24/7 - Horloge */
.benefit-card:nth-child(4) .benefit-icon::before {
    content: "\f017"; /* fa-clock */
}

/* Formation Incluse - Chapeau diplômé */
.benefit-card:nth-child(5) .benefit-icon::before {
    content: "\f19d"; /* fa-graduation-cap */
}

/* Mises à Jour - Actualisation */
.benefit-card:nth-child(6) .benefit-icon::before {
    content: "\f2f1"; /* fa-sync-alt */
}

/* Conseil Stratégique - Casque support */
.benefit-card:nth-child(7) .benefit-icon::before {
    content: "\f590"; /* fa-headset */
}

/* SLA Garanti - Bouclier check */
.benefit-card:nth-child(8) .benefit-icon::before {
	content: "\f058";
}
.why-choose .benefit-card h3 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--bs-primary-color);
}
.why-choose .benefit-card p {
    font-size: 13px;
    color: var(--bs-secondary-bg);
    line-height: 1.5;
}
.why-choose .fortinet-ecosystem {
    background: var(--bs-body-bg2);
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 40px;
    border: 1px solid var(--bs-primary-color);
    text-align: center;
}
.why-choose .fortinet-ecosystem h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    
}
.why-choose .tech-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}
.why-choose .tech-item {
    background: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    
    border: 1px solid var(--bs-body-bg3);
}
.why-choose .tech-footer {
    font-size: 15px;
    color: #1e3a8a;
    line-height: 1.6;
}
.why-choose .client-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.why-choose .client-stat {
	text-align: center;
	padding: 25px 15px;
	border: 1px solid var(--bs-body-bg3);
	border-radius: 15px;
	-webkit-border-radius: 15px;
}
.why-choose .client-value {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1;
}
.why-choose .client-value.blue {
    color: var(--bs-primary-color);
}
.why-choose .client-label {
    font-size: 16px;
    color: var(--bs-secondary-bg);
}
/****/
/* cta-section2 - Architecture réseau blanc/bleu */

/* CTA Section */
.cta-section2 {
    padding: 80px 0;
    background: var(--bs-body-color);
    color: var(--bs-body-bg);
}
.cta-section2 h2 {
	text-align: center;
	margin-bottom: 15px;
	color: var(--bs-body-bg);
}
.cta-section2 h2 .highlight {
	color: var(--bs-body-bg3);
	display: inline-block;
}
.cta-section2 .subtitle {
    color: rgba(255, 255, 255, 0.8);
  	text-align: center;
}
.cta-section2 .cta-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-top: 50px;
}
.cta-section2 .contact-info-cta {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.cta-section2 .contact-info-cta h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 30px;
	color: var(--bs-body-bg);
}
.cta-section2 .contact-detail {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}
.cta-section2 .contact-icon-cta {
  	min-width: 48px;
	width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #e3f2fd;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cta-section2 .contact-icon-cta::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #2196f3;
    font-size: 20px;
}

.cta-section2 .contact-detail:first-of-type .contact-icon-cta::before { content: "\f0e0"; }
.cta-section2 .contact-detail:nth-of-type(2) .contact-icon-cta::before { content: "\f095"; }
.cta-section2 .contact-detail:nth-of-type(3) .contact-icon-cta::before { content: "\f3c5"; }
.cta-section2 .contact-label-cta {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 5px;
}
.cta-section2 .contact-value-cta {
    font-size: 16px;
    font-weight: 600;
}
.cta-section2 .opening-hours {
	margin: 30px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255,255,255,0.5);
}
.cta-section2 .opening-hours h4 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--bs-body-bg);
}
.cta-section2 .opening-hours p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 5px;
}
.cta-section2 .cta-buttons-group {
    display: flex;
    gap: 15px;
}
.cta-section2 .cta-btn {
    flex: 1;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.3s;
}
.cta-section2 .readmore.cta-btn.primary {
	border: 1px solid rgba(255, 255, 255, 0.85);
	text-align: center;
	justify-content: center;
}
.cta-section2 .readmore.cta-btn.primary:hover {
  	color: var(--bs-body-bg) !important;
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.2);
}
.cta-section2 .readmore.cta-btn.secondary {
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	justify-content: center;
}
.cta-section2 .readmore.cta-btn.secondary:hover {
	color: var(--light-color);
	background: var(--bs-primary-color);
	border-color: rgba(255, 255, 255, 0.85);
}
.cta-section2 .contact-form-cta {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.cta-section2 .contact-form-cta h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 25px;
	color: var(--bs-body-bg);
}
.contact-form-cta .contact-field-help {
	display: none;
}
.cta-section2 .contact-form-cta .contact-field-label {
	margin-bottom: 10px !important;
	padding-top: 10px !important;
}
.cta-section2 .contact-form-cta .contact-field-label .contact-field-req-symbol {
	color: var(--bs-body-bg) !important;
}
.cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-field, .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-select {
	color: var(--bs-body-bg) !important;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	height: 46px;
}
.cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-field:focus, .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-select:focus {
	color: var(--bs-body-bg) !important;
  	background: rgba(255,255,255,0.2);
	border: 1px solid rgba(255,255,255,0.3);
}
.cta-section2 .contact-form-cta .contactForm .form-control::placeholder, .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-field::placeholder,.cta-section2 .contact-form-cta .contactForm .form-select::placeholder {
  	color: var(--bs-body-bg) !important;
}
.contact-form-cta .contactForm .gdpr_policy label a {
	color: var(--bs-body-bg);
}
.contact-form-cta .contactForm .contact-submit {
	display: block !important;
}
.contact-form-cta .contactForm .contact-submit .btn-primary, .contact-form-cta .contactForm .form-submit-button {
	border: 1px solid rgba(255, 255, 255, 0.85);
	width: 100%;
}
 .cta-section2 {
    background: var(--bs-primary-color);
    color: var(--bs-body-bg);
}
 .cta-section2 h2 {
    color: var(--bs-body-bg);
}
 .cta-section2 h2 .highlight {
    color: var(--bs-body-bg3);
    opacity: 0.75;
}
 .cta-section2 .subtitle {
    color: rgba(255, 255, 255, 0.8);
}
 .cta-section2 .contact-info-cta {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
}
 .cta-section2 .contact-info-cta h3 {
    color: var(--bs-body-bg);
}
 .cta-section2 .contact-label-cta {
    color: rgba(255, 255, 255, 0.6);
}
 .cta-section2 .contact-value-cta {
    color: var(--bs-body-bg);
}
 .cta-section2 .opening-hours {
    border-top-color: rgba(255, 255, 255, 0.3);
}
 .cta-section2 .opening-hours h4 {
    color: var(--bs-body-bg);
}
 .cta-section2 .opening-hours p {
    color: rgba(255, 255, 255, 0.75);
}
 .cta-section2 .contact-form-cta {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
}
 .cta-section2 .contact-form-cta h3 {
    color: var(--bs-body-bg);
}
 .cta-section2 .contact-form-cta .contact-field-label {
    color: rgba(255, 255, 255, 0.85) !important;
}
 .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-field,
 .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-select {
    color: var(--bs-body-bg) !important;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.25);
}
 .cta-section2 .contact-form-cta .contactForm .contact-field-item .contact-field-element .form-field::placeholder,
 .cta-section2 .contact-form-cta .contactForm .form-select::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}
 .cta-section2 .contact-form-cta .contactForm .gdpr_policy label,
 .cta-section2 .contact-form-cta .contactForm .gdpr_policy label a {
    color: rgba(255, 255, 255, 0.85);
}
 .cta-section2 .contact-form-cta .contactForm .contact-submit .btn-primary,
 .cta-section2 .contact-form-cta .contactForm .form-submit-button {
    background: var(--bs-body-bg);
    color: var(--bs-primary-color);
    border: none;
    width: 100%;
}
 .cta-section2 .contact-form-cta .contactForm .contact-submit .btn-primary:hover,
 .cta-section2 .contact-form-cta .contactForm .form-submit-button:hover {
    background: var(--bs-secondary-bg);
    color: var(--bs-body-bg);
}
 .cta-section2 .readmore.cta-btn.primary {
    border: 1px solid rgba(255, 255, 255, 0.85);
    justify-content: center;
    text-align: center;
}
 .cta-section2 .readmore.cta-btn.primary:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--bs-body-bg) !important;
}
 .cta-section2 .readmore.cta-btn.secondary {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.25);
    justify-content: center;
}
 .cta-section2 .readmore.cta-btn.secondary:hover {
    background: var(--bs-body-bg);
    color: var(--bs-primary-color);
    border-color: var(--bs-body-bg);
}
/* --- */
.hero.accesinternet {
	background: var(--bs-body-bg2);
	padding: 80px 20px;
	text-align: center;
	margin-top: 117px;
}

.hero.accesinternet .hero-badge {
    display: inline-block;
    background: var(--bleu-clair);
    color: var(--bs-primary-color);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.hero.accesinternet .hero-description {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
}

.hero.accesinternet .hero-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-bottom: 50px;
}

.hero.accesinternet .hero-stats {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}

.hero.accesinternet .stat-item {
    text-align: center;
    min-width: 250px;
}

.hero.accesinternet .stat-value {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

.hero.accesinternet .stat-label {
    font-size: 14px;
    margin-top: 5px;
}

/* ============================================
   VIDEO SECTION
   ============================================ */
.video-section.accesinternet {
    padding: 80px 20px;
    background:  var(--light-color);
}

.video-section.accesinternet .video-placeholder {
    width: 100%;
    height: 500px;
    background: #2c3e50;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color:  var(--light-color);
}

.video-section.accesinternet .video-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 20px;
}

/* ============================================
   PARTNERSHIP SECTION
   ============================================ */
.partnership-section.accesinternet {
    padding: 80px 20px;
    background: var(--bs-primary-color);
    color:  var(--light-color);
}

.partnership-section.accesinternet .partnership-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.partnership-section.accesinternet .partnership-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.partnership-section.accesinternet h2 {
    color:  var(--light-color);
    font-size: 36px;
    margin-bottom: 20px;
}

.partnership-section.accesinternet .partnership-text p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.95);
}

.partnership-section.accesinternet .partnership-features {
    list-style: none;
}

.partnership-section.accesinternet .feature-item {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
}

.partnership-section.accesinternet .feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.partnership-section.accesinternet .feature-content h4 {
	font-size: 18px;
	margin-bottom: 5px;
	color: var(--bs-body-bg);
}

.partnership-section.accesinternet .feature-content p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

.partnership-section.accesinternet .partnership-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.partnership-section.accesinternet .benefit-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
  	display: flex;
  	gap: 10px;
}

.partnership-section.accesinternet .benefit-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 15px;
}

.partnership-section.accesinternet .benefit-card h4 {
	font-size: 18px;
	margin-bottom: 10px;
	color: var(--bs-body-bg);
}
.partnership-section.accesinternet .icon-check::before, .partnership-section.accesinternet [class*="icon-"]::before {
	padding-right: 0;
}
.partnership-section.accesinternet .benefit-card p {
    font-size: 14px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
}

/* ============================================
   SOLUTIONS SECTION
   ============================================ */
.solutions-section.accesinternet {
    padding: 80px 20px;
    background: #f8f9fa;
}

.solutions-section.accesinternet .solutions-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.solutions-section.accesinternet .solution-card {
	background: var(--light-color);
	border-radius: 16px;
	padding: 0 30px 30px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	color: var(--bs-primary-color);
	overflow: hidden;
}

.solutions-section.accesinternet .solution-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/*.solutions-section.accesinternet .solution-card.purple {
    border-top: 4px solid #9c27b0;
    color: #9c27b0;
}

.solutions-section.accesinternet .solution-card.blue {
    
}

.solutions-section.accesinternet .solution-card.green {
    border-top: 4px solid #4caf50;
    color: #4caf50;
}

.solutions-section.accesinternet .solution-card.orange {
    border-top: 4px solid #ff9800;
    color: #ff9800;
}*/

.solutions-section.accesinternet .card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	min-height: 300px;
	margin: 0 -30px 20px;
}
.solutions-section.accesinternet .card-header .img-card {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.solutions-section.accesinternet .card-header .img-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.solutions-section.accesinternet .card-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: currentColor;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	position: absolute;
	bottom: 15px;
	left: 15px;
}
.solutions-section.accesinternet .card-header .icon-check::before, .solutions-section.accesinternet .card-header [class*="icon-"]::before {
	padding: 0;
  	width: 48px;
	color: var(--bs-body-bg);
  	text-align: center;
}

.solutions-section.accesinternet .card-badge {
	background: var(--bs-primary-color);
	color: var(--light-color);
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	position: absolute;
	top: 15px;
	right: 15px;
}

.solutions-section.accesinternet .solution-card h3 {
	font-size: 20px;
	font-weight: 700;
	color: var(--bs-body-bg);
	margin-bottom: 0 !important;
	position: absolute;
	bottom: 34px;
	margin-left: 75px;
}
.solutions-section.accesinternet .card-header .img-card::after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}
.solutions-section.accesinternet .card-subtitle {
	font-size: 14px;
	color: var(--bs-body-bg);
	margin-bottom: 15px;
	position: absolute;
	bottom: 0;
	margin-left: 75px;
}

.solutions-section.accesinternet .card-speed {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 0, 0, 0.03);
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.solutions-section.accesinternet .speed-icon {
    font-size: 20px;
}

.solutions-section.accesinternet .card-description {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

.solutions-section.accesinternet .card-features {
    list-style: none;
    margin-bottom: 25px;
}

.solutions-section.accesinternet .card-features li {
	padding-left: 25px !important;
	position: relative;
	margin-bottom: 10px;
	font-size: 14px;
	color: #555;
	background: none !important;
}
.solutions-section.accesinternet .readmore:hover {
	border: 1px solid var(--bs-primary-color);
}
.solutions-section.accesinternet .card-features li.icon-check::before {
    position: absolute;
    left: 0;
    color: currentColor;
    font-size: 16px;
}

.solutions-section.accesinternet .solutions-cta {
	background: var(--light-color);
	padding: 30px;
	border-radius: 12px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	display: table;
	margin: 0 auto;
}

.solutions-section.accesinternet .solutions-cta p {
	font-size: 16px;
	margin-bottom: 0;
	color: #666;
}

/* ============================================
   ADVANCED SECTION
   ============================================ */
.advanced-section.accesinternet {
    padding: 80px 20px;
    background:  var(--light-color);
}

.advanced-section.accesinternet .advanced-grid {
	margin-top: 60px;
}
.advanced-section.accesinternet .advanced-block .advanced-image, .advanced-section.accesinternet .advanced-block .advanced-image .image-placeholder.tower, .advanced-section.accesinternet .image-placeholder.security {
	height: 100%;
}

.advanced-section.accesinternet .advanced-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
	margin-bottom: 80px;
	border: 1px solid var(--bs-body-bg3);
	border-radius: 16px;
	overflow: hidden;
}

.advanced-section.accesinternet .advanced-block .advanced-content {
	padding: 50px 25px;
}

/*.advanced-section.accesinternet .advanced-block.reverse {
    direction: rtl;
}*/

.advanced-section.accesinternet .advanced-block.reverse > * {
    direction: ltr;
}

.advanced-section.accesinternet .image-placeholder {
    width: 100%;
    height: 500px;
    border-radius: 16px;
}

/*.advanced-section.accesinternet .image-placeholder.tower {
    background: linear-gradient(135deg, #4a7ba7 0%, #2d4a7c 100%);
}

.advanced-section.accesinternet .image-placeholder.security {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
}*/

.advanced-section.accesinternet .advanced-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--bleu-clair);
    color: var(--bs-primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 20px;
}

.advanced-section.accesinternet .advanced-content h3 {
    font-size: 32px;
    margin-bottom: 15px;
    color: var(--gray-color);
}

.advanced-section.accesinternet .advanced-content > p {
    font-size: 16px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 25px;
}

.advanced-section.accesinternet .advanced-box {
    background: var(--bs-body-bg2);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--bs-primary-color);
    margin-bottom: 25px;
}
.advanced-section.accesinternet .image-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.advanced-section.accesinternet .advanced-box p {
    font-size: 15px;
    color: #666;
    margin: 0;
}

.advanced-section.accesinternet .advanced-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.advanced-section.accesinternet .feature-mini {
    display: flex;
    gap: 15px;
    align-items: start;
    margin-bottom: 20px;
}

.advanced-section.accesinternet .mini-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--bleu-clair);
    color: var(--bs-primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.advanced-section.accesinternet .feature-mini h5 {
    font-size: 16px;
    margin-bottom: 5px;
    color: var(--gray-color);
}

.advanced-section.accesinternet .feature-mini p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.advanced-section.accesinternet .advanced-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.advanced-section.accesinternet .stat-block {
    background: var(--bs-primary-color);
    color:  var(--light-color);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}


.advanced-section.accesinternet .stat-label {
    font-size: 14px;
    margin-bottom: 10px;
    opacity: 0.9;
}

.advanced-section.accesinternet .stat-big {
    font-size: 30px;
    font-weight: 700;
}
.advanced-section.accesinternet .icon-check::before, .advanced-section.accesinternet [class*="icon-"]::before {
	padding-right: 0;
}
.advanced-section.accesinternet .icon-clock-check::before {
	content: "\f023";
}
.advanced-section.accesinternet .ddos-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.advanced-section.accesinternet .ddos-item {
    display: flex;
    gap: 15px;
    align-items: start;
}

.advanced-section.accesinternet .ddos-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: var(--bleu-clair);
	color: var(--bs-primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}

.advanced-section.accesinternet .ddos-item h5 {
    font-size: 16px;
    margin-bottom: 5px;
    color: var(--gray-color);
}

.advanced-section.accesinternet .ddos-item p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.advanced-section.accesinternet .ddos-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.advanced-section.accesinternet .stat-red {
    background: var(--bs-primary-color);
    color:  var(--light-color);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}
/* ============================================
   5G ROUTERS SECTION
   ============================================ */
.routers-section.accesinternet {
    padding: 80px 20px;
    background: #f8f9fa;
}

.routers-section.accesinternet .routers-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 50px;
}

.routers-section.accesinternet .router-item {
    background:  var(--light-color);
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.routers-section.accesinternet .icon-signal-strong::before {
	content: "\f132";
}
.routers-section.accesinternet .router-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--bleu-clair);
	color: var(--bs-primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin: 0 auto 20px;
}
.routers-section.accesinternet .icon-check::before, .routers-section.accesinternet [class*="icon-"]::before {
	padding: 0;
}

.routers-section.accesinternet .router-item h4 {
    font-size: 18px;
    margin-bottom: 10px;
    color: var(--gray-color);
}

.routers-section.accesinternet .router-item p {
    font-size: 14px;
    color: #666;
}

.routers-section.accesinternet .routers-box {
    background: var(--bs-primary-color);
    color:  var(--light-color);
    padding: 50px;
    border-radius: 16px;
}

.routers-section.accesinternet .routers-box h3 {
	font-size: 28px;
	margin-bottom: 15px;
	color: var(--light-color);
}
.routers-section.accesinternet .router-stat .stat-value-white {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}
.routers-section.accesinternet .routers-box > p {
    font-size: 16px;
    margin-bottom: 25px;
    line-height: 1.7;
}

.routers-section.accesinternet .routers-list {
    list-style: none;
    margin-bottom: 40px;
}

.routers-section.accesinternet .routers-list li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 12px;
    font-size: 15px;
}

.routers-section.accesinternet .routers-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-size: 24px;
    color: rgba(255, 255, 255, 0.7);
}

.routers-section.accesinternet .routers-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.routers-section.accesinternet .router-stat {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.routers-section.accesinternet .stat-value- var(--light-color) {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 10px;
}

.routers-section.accesinternet .stat-label- var(--light-color) {
    font-size: 14px;
    opacity: 0.9;
}

/* ============================================
   CTA SECTION
   ============================================ */
.cta-section.accesinternet {
	padding: 80px 20px;
	color: var(--light-color);
	text-align: left;
}
.cta-section.accesinternet a {
	color: var(--light-color);
}
.cta-section.accesinternet .icon-check::before, .cta-section.accesinternet [class*="icon-"]::before {
	padding-right: 0;
}
.cta-section.accesinternet .cta-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}
.cta-section.accesinternet .cta-content h3, .cta-section.accesinternet .cta-content h4 {
	color: var(--light-color);
}
.cta-section.accesinternet h2 {
    color:  var(--light-color);
    margin-bottom: 20px;
}

.cta-section.accesinternet .cta-left p {
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.7;
}

.cta-section.accesinternet .cta-contact {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.cta-section.accesinternet .contact-method {
    display: flex;
    gap: 20px;
    align-items: center;
}

.cta-section.accesinternet .method-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.cta-section.accesinternet .method-label {
    font-size: 14px;
    opacity: 0.8;
}

.cta-section.accesinternet .method-value {
    font-size: 18px;
    font-weight: 600;
}

.cta-section.accesinternet .cta-form {
    background: rgba(255, 255, 255, 0.05);
    padding: 30px;
    border-radius: 12px;
}
.cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-field, .cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-select {
	color: var(--bs-body-bg) !important;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	height: 46px;
}
.cta-section.accesinternet .cta-form h4 {
	font-size: 18px;
	margin-bottom: 20px;
	color: var(--bs-body-bg);
}
.cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-field::focus, .cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-select::focus {
	color: var(--bs-body-bg) !important;
}
.cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-field::placeholder, .cta-section.accesinternet .cta-form .contactForm .contact-field-item .contact-field-element .form-select::placeholder {
	color: var(--bs-body-bg) !important;
}
.cta-section.accesinternet .cta-form a {
	color: var(--bs-body-bg);
}
.cta-section.accesinternet .cta-form .contactForm .contact-submit {
	display: block;
}
.cta-section.accesinternet .cta-form .contactForm .contact-submit .form-submit-button {
	width: 100%;
	margin: 0;
}
.cta-section.accesinternet .cta-right {
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
}

.cta-section.accesinternet .cta-stat {
    background: rgba(255, 255, 255, 0.05);
    padding: 30px;
    border-radius: 12px;
    text-align: center;
}
.cta-section.accesinternet .flex {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.2em;
	margin-bottom: 10px;
}
.cta-section.accesinternet .stat-number {
    font-size: 48px;
    font-weight: 700;
    color: var(--bs-primary-color);
    margin-bottom: 10px;
}
.cta-section.accesinternet .stat-number {
	font-size: 48px;
	font-weight: 700;
	color: var(--light-color);
	margin-bottom: 0;
}
.cta-section.accesinternet .cta-stat p {
    font-size: 15px;
    margin: 0;
}
.hero.wifi .hero-text h1 .highlight {
	color: var(--bs-secondary-bg);
}
.hero.wifi .hero-buttons a {
	text-decoration: none;
	border-radius: 50px;
	-webkit-border-radius: 50px;
}
.icon-address::before {
	content: "\f3c5";
}
.cta-section.accesinternet .opening-hours, .contact-section.telecommunications .opening-hours {
	margin: 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.cta-section.accesinternet .opening-hours h4, .contact-section.telecommunications .opening-hours h4 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
}
.cta-section.accesinternet .opening-hours p, .contact-section.telecommunications .opening-hours p {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 5px;
}
/* ============================================
   HERO SECTION
   ============================================ */
.hero.wifi {
	padding: 80px 0;
	background: var(--bs-body-bg2);
	margin-top: 117px;
}
.hero.wifi .container-fluid {
	max-width: 1700px;
}
.hero.wifi .hero-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.hero.wifi .hero-text {
	position: relative;
	margin-left: auto;
}
.hero.wifi .hero-description {
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.7;
}

.hero.wifi .hero-buttons {
    display: flex;
    gap: 15px;
}

.hero.wifi .image-placeholder {
    width: 100%;
    height: 400px;
    border-radius: 16px;
}

.hero.wifi .image-placeholder.city {
	border-radius: 0;
}
.hero.wifi .hero-text h1 {
	font-size: 70px;
}
/* ============================================
   STATS SECTION
   ============================================ */
.stats-section.wifi {
	padding: 80px 0;
	background: var(--bs-primary-color);
	color: var(--bs-body-bg);
}
.stats-section.wifi h2 {
	text-align: center;
	color: var(--bs-body-bg);
	font-size: 30px;
	padding: 0 0 20px;
}
.stats-section.wifi h2:after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 70px;
	height: 2px;
	background: var(--bs-nav-link-color-second);
}
.stats-section.wifi .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}
.stats-section.wifi .section-subtitle-white {
	text-align: center;
	font-style: italic;
	font-size: 15px;
	margin-bottom: 50px;
}

.stats-section.wifi .stat-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 40px 30px;
    border-radius: 16px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.stats-section.wifi .stat-value {
	font-size: 43px;
	font-weight: 700;
	color: var(--bs-body-bg3);
	margin-bottom: 10px;
	line-height: 1.2em;
  	opacity: 0.7;
}

.stats-section.wifi .stat-label {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

.stats-section.wifi .stat-card p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

/* ============================================
   IMPACT SECTION
   ============================================ */
.impact-section.wifi {
	padding: 0 0 80px;
	background: var(--bs-primary-color);
	color: var(--bs-body-bg);
}

.impact-section.wifi .impact-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
}
.impact-section.wifi h2 {
	color: var(--bs-body-bg);
	font-weight: 700;
  	font-size: 35px;
}
.impact-section.wifi .impact-features {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.impact-section.wifi .impact-item {
    display: flex;
    gap: 20px;
}

.impact-section.wifi .impact-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--bleu-clair);
	color: var(--bs-primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

.impact-section.wifi .impact-item h4 {
	font-size: 20px;
	margin-bottom: 10px;
	color: var(--bs-body-bg);
}

.impact-section.wifi .impact-item p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

.impact-section.wifi .image-placeholder.jellyfish {
	width: 100%;
	height: 500px;
	border-radius: 16px;
	background: rgba(255,255,255,0.1);
	padding: 10px;
	border: 1px solid rgba(255,255,255,0.2);
}
.impact-section.wifi .image-placeholder.jellyfish img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
	-webkit-border-radius: 16px;
}
.impact-section.wifi .impact-item .icon-check::before, .impact-section.wifi .impact-item [class*="icon-"]::before {
	padding: 0;
}
/* ============================================
   VIDEO SECTION
   ============================================ */
.video-section.wifi {
    padding: 80px 0;
    background: var(--bs-body-bg);
}

.video-section.wifi .video-placeholder {
    width: 100%;
    height: 400px;
    background: #2c3e50;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
}
.video-section.wifi .video-placeholder iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
	-webkit-border-radius: 16px;
}
.video-section.wifi .video-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 20px;
}

/* ============================================
   PARTNERS SECTION
   ============================================ */
.partners-section.wifi {
	padding: 0 0 50px;
	background: var(--bs-body-bg);
	text-align: center;
}

.partners-section.wifi .partners-label {
	font-size: 20px;
	font-weight: 600;
	color: var(--gray-color);
	letter-spacing: 1px;
	margin-bottom: 30px;
	opacity: 0.5;
}

.partners-section.wifi .partners-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
}

.partners-section.wifi .partner-logo {
	max-width: 230px;
}

/* ============================================
   SERVICES SECTION
   ============================================ */
.services-section.wifi {
	padding: 80px 0;
	background: var(--bs-body-bg2);
}

.services-section.wifi .services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.services-section.wifi .service-card {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.services-section.wifi .service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.services-section.wifi .service-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
  	color: var(--bs-body-bg);
  	background: var(--bs-primary-color);
}

.services-section.wifi .service-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1a2332;
    margin-bottom: 10px;
}

.services-section.wifi .service-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* ============================================
   EKAHAU SECTION
   ============================================ */
.ekahau-section.wifi {
	padding: 80px 0;
	background: var(--bs-body-bg);
}
.ekahau-section.wifi .container-fluid {
	max-width: 1600px;
}
.ekahau-section.wifi .ekahau-content {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 60px;
	align-items: center;
}
.ekahau-section.wifi .ekahau-features li.icon-check::before {
	display: none;
}
.ekahau-section.wifi .image-placeholder.sidekick {
    width: 100%;
    height: 605px;
    border-radius: 16px;
}

.ekahau-section.wifi .ekahau-features {
    list-style: none;
    margin: 25px 0;
}

.ekahau-section.wifi .ekahau-features li {
	position: relative;
	margin-bottom: 12px;
	line-height: 20px;
}

.ekahau-section.wifi .ekahau-features li.icon-check::before {
    position: absolute;
    left: 0;
    font-size: 18px;
}

.ekahau-section.wifi .ekahau-quote {
	background: var(--bs-body-bg2);
	padding: 25px;
	border-radius: 12px;
	border: 2px solid var(--bs-primary-color);
	margin-top: 25px;
}

.ekahau-section.wifi .ekahau-quote p {
    font-size: 15px;
    font-style: italic;
    margin: 0;
}

/* ============================================
   WEBLIB SECTION
   ============================================ */
.weblib-section.wifi {
	padding: 0 0 80px;
	background: var(--bs-body-bg);
}
.weblib-section.wifi .container {
	max-width: 1600px;
}
.weblib-section.wifi .weblib-content {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 60px;
	align-items: center;
}
.weblib-section.wifi h2 {
	text-align: left;
}
.weblib-section.wifi .section-subtitle {
	text-align: left;
	margin-bottom: 25px;
}
.weblib-section.wifi .weblib-features, .ekahau-section.wifi .ekahau-text {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 50px;
	background: var(--bs-body-bg2);
}

.weblib-section.wifi .weblib-item {
    display: flex;
    gap: 20px;
}

.weblib-section.wifi .weblib-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--bs-body-bg);
	color: var(--bs-primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.weblib-section.wifi .weblib-item h4 {
    font-size: 18px;
    margin-bottom: 8px;
    color: #1a2332;
}

.weblib-section.wifi .weblib-item p {
    font-size: 14px;
    color: #666;
}

.weblib-section.wifi .image-placeholder.mockups {
	width: 100%;
	height: 457px;
	border-radius: 16px;
}

/* ============================================
   SECURITY SECTION
   ============================================ */
.security-section.wifi {
	padding: 0 0 80px;
	background: var(--bs-body-bg);
}
.security-section.wifi .container {
	max-width: 1500px;
}
.security-section.wifi .security-content {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 60px;
	align-items: center;
}

.security-section.wifi .image-placeholder.shield {
    width: 100%;
    height: 500px;
    border-radius: 16px;
}

.security-section.wifi .security-text p {
    font-size: 16px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 30px;
}

.security-section.wifi .security-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.security-section.wifi .security-item {
	display: flex;
	gap: 15px;
	padding: 20px 10px;
	background: var(--bs-body-bg2);
	border: 1px solid var(--bs-body-bg3);
	border-radius: 12px;
	-webkit-border-radius: 12px;
	flex-direction: column;
}

.security-section.wifi .security-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
	background: var(--bs-body-bg);
	color: var(--bs-primary-color);
}

.security-section.wifi .security-item h4 {
    font-size: 16px;
    margin-bottom: 8px;
    color: #1a2332;
}
.icon-radar::before {
	font-family: "Font Awesome 6 Pro" !important
}

.security-section.wifi .security-item p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

/* ============================================
   QUOTE SECTION
   ============================================ */
.quote-section.wifi {
	padding: 0 0 40px;
	background: var(--bs-body-bg);
	text-align: center;
}

.quote-section.wifi blockquote {
	font-size: 35px;
	font-style: italic;
	color: var(--bs-primary-color);
	line-height: 1.6;
	font-weight: 700;
	font-family: var(--bs-titles2-font-family);
	margin: 0;
}

/* ============================================
   CTA SECTION
   ============================================ */
.cta-section.wifi {
	padding: 80px 20px;
	background: var(--bs-primary-color);
	color: var(--bs-body-bg);
	text-align: center;
}

.cta-section.wifi h2 {
    color: white;
    margin-bottom: 20px;
}

.cta-section.wifi p {
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.7;
}

.cta-section.wifi .cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
}
.cta-section.wifi .cta-buttons .readmore {
	border-radius: 50px;
	-webkit-border-radius: 50px;
}
.cta-section.wifi .cta-buttons .readmore.btn-outline {
  	color: var(--light-color);
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
}
.cta-section.wifi .cta-buttons .readmore:hover {
	background: rgba(255,255,255,0.1) !important;
	border: 1px solid rgba(255,255,255,0.2);
}
.cta-section.wifi .cta-buttons .readmore.btn-outline:hover {
	background: var(--light-color) !important;
  	color: var(--bs-primary-color);
}


/***************/
.hero.infogerance {
	background: var(--bs-body-bg2);
	padding: 80px 0;
	position: relative;
	margin-top: 117px;
}

.hero.infogerance .hero-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.hero.infogerance .badge {
    display: inline-block;
    background: var(--bleu-clair);
    color:var(--bs-primary-color);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}





.hero.infogerance .hero-description {
    font-size: 16px;
    margin-bottom: 30px;
    color: #666;
    line-height: 1.6;
}

.infogerance .hero-buttons {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.infogerance .hero-buttons a {
	text-decoration: none;
}
.infogerance .hero-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.infogerance .hero-features li {
	display: flex;
	align-items: center;
	padding: 2px 0;
  text-align: left;
    text-align-last: left;
    font-family: var(--bs-body-font-family) !important;
}


.infogerance .hero-stats {
	position: relative;
	height: 500px;
}
.infogerance .hero-stats img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
	-webkit-border-radius: 16px;
}

.infogerance .stat-card {
	background: var(--light-color);
	padding: 20px 15px;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	text-align: center;
	position: absolute;
}
.infogerance .stat-card.highlight {
	right: -25px;
	top: -25px;
}
.infogerance .stat-value {
	font-size: 35px;
	font-weight: 700;
	margin-bottom: 5px;
	line-height: 1em;
}
.infogerance .stat-label {
    font-size: 16px;
    opacity: 0.9;
}
.infogerance .stat-card:not(.highlight) {
	left: -25px;
	bottom: -25px;
}
.infogerance .hero-features li::before {
	display: none;
}
/* Section Styles */
.section-badge {
    text-align: center;
    border-radius: 50px;
    display: table;
    margin: 0 auto;
    padding: 10px 20px;
    background: var(--bleu-clair);
    color: var(--bs-primary-color) !important;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0;
}

.section-title {
    font-weight: 700;
    text-align: center;
    margin-bottom: 15px;
}

.section-subtitle {
    text-align: center;

    margin-bottom: 60px;
}
.infogerance .highlight {
	color: var(--bs-secondary-bg);
}
/* Process Section */
.infogerance.process-section {
	padding: 80px 0;
	background: var(--bs-body-bg);
}

.infogerance.process-section .process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.infogerance.process-section .process-step {
	text-align: center;
	position: relative;
	padding: 25px;
	background: rgba(0,0,0,0.02);
	border: 1px solid var(--bs-body-bg2);
	border-radius: 16px;
	-webkit-border-radius: 16px;
}

.infogerance.process-section .step-number {
	width: 40px;
	height: 40px;
	background: var(--bs-primary-color);
	color: var(--light-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto 20px;
	position: absolute;
	left: -10px;
	top: -10px;
}

.infogerance.process-section .step-icon {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    background: var(--bleu-clair);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.infogerance.process-section .step-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 32px;
    color: var(--bs-primary-color);
}

.infogerance.process-section .step-icon.icon-search::before {
    content: "\f002";
}

.infogerance.process-section .step-icon.icon-file-alt::before {
    content: "\f15c";
}

.infogerance.process-section .step-icon.icon-cogs::before {
    content: "\f085";
}

.infogerance.process-section .step-icon.icon-chart-line::before {
    content: "\f201";
}

.infogerance.process-section .process-step h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--gray-color);
    margin-bottom: 12px;
}

.infogerance.process-section .process-step p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* Services Section */
.services-section.infogerance {
    padding: 80px 20px;
    background: var(--bs-body-bg2);
}

.services-section.infogerance .services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.services-section.infogerance .service-card {
    background:  var(--light-color);
    border-radius: 12px;
    padding: 32px 28px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.services-section.infogerance .service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.services-section.infogerance .service-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--bleu-clair);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.services-section.infogerance .service-icon::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--bs-primary-color);
    font-size: 24px;
}

.stats-section.infogerance .stats-grid {
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
.stats-section.infogerance .stat-box {
	display: flex;
	gap: 17px;
	text-align: left;
	padding: 30px 15px;
	justify-content: start;
	align-items: start;
}
.stats-section.infogerance .stat-box .stat-icon-square {
	margin: 0;
}
.stats-section.infogerance .stat-box .stat-number2 {
	font-family: var(--bs-titles-font-family);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.2em;
	margin-bottom: 5px;
}
.stats-section.infogerance .stat-box .stat-title {
	color: var(--bs-tertiary-bg);
	font-size: 17px;
	margin-bottom: 5px;
}
.stats-section.infogerance .chart-placeholder {
	background: transparent;
}
.stats-section.infogerance .chart-card {
	padding: 30px 15px;
}
.why-section.infogerance .advantages-grid {
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
.why-section.infogerance .advantage-card {
	text-align: left;
}
.why-section.infogerance .advantage-icon {
	background: var(--bs-primary-color);
	border-radius: 16px;
	-webkit-border-radius: 16px;
	margin: 0 0 20px;
}
/***************************************************
					avis CSS
***************************************************/
section.avis  {
    padding: 120px 0 180px;
    background: url(../images/bg-avis.webp)no-repeat center fixed;
	background-size : cover;
}

section.avis .container-fluid {
	max-width : 1710px;
}
section.avis .title-section {
    top: 75px;
    left: 0;
    right: 0;
    font-family: var(--bs-extra-font-family);
    font-size: 180px;
    font-style: normal;
    font-weight: 400;
    line-height: 1em;
    text-transform: uppercase;
    color: transparent;
    color: var(--dark-color2);
}
section.avis h4{
	font-size: 35px;
    font-family: var(--bs-extra-font-family);
    font-weight: 400;
    line-height: 1em;
    text-transform: uppercase;
    background: var(--primary-color, linear-gradient(180deg, var(--bs-tertiary-color) 0%, var(--bs-gradient-color1) 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 8px;
}

section.avis h2{
	margin-bottom: 40px;
	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 .link{
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1;
}
section.avis .gb-entry{
	margin-top : 0 !important;
	margin-bottom : 0 !important;
}
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 2px;
}


section.avis div#Guestbook .gb-entry > div {
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(35px);
	padding: 60px 40px;
	position: relative;
	transition: 0.4s all;
	margin: 0;
	text-align: left;
}

section.avis div#Guestbook .gb-entry > div:after {
	content: "\f10d";
	top: 0;
	left: 28px;
	width: 46px;
	height: 46px;
	font-size: 35px;
	pointer-events: none;
	font-family: "Font Awesome 6 Pro";
	position: absolute;
	transform: rotate(180deg);
	opacity: 0.7;
}

section.avis div#Guestbook .gb-entry>div .headerReview{
	justify-content : center !important;
}
section.avis div#Guestbook .gb-entry>div div[itemprop="review"]{
  padding-bottom: 0;
}

.avis.benefits-section.telecommunications .stats-row {
	border: none;
	margin-top: 40px;
}
.avis.benefits-section.telecommunications .stats-row .stat-item {
	min-width: 230px;
}
section.avis  .gb-entry  .review-date,section.avis  .gb-entry  span.review-user {
     font-size:22px;
     float: none;
     display: block;
     font-weight: 600;
     margin-left : 0;
     color: var(--bs-body-bg);
     text-transform: uppercase;
     font-family: var(--bs-titles-font-family);
}
section.avis .gb-entry .review-date {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin: 0px 0 6px;
	font-family: var(--bs-body-font-family);
	text-transform: uppercase;
	color: var(--bleu-clair);
	opacity: 0.7;
}


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 {
    padding: 0 0 0;
    margin-top: 12px;
    color: var(--bs-body-bg);
    font-size: 15px;
    margin-bottom: 12px;
}

section.avis .fa-star::before {
	content: "\f005";
	color: var(--bs-body-bg);
	font-size: 16px;
}
section.avis div#Guestbook .gb-entry:hover>div .fa-star:before{
	color: var(--bs-body-bg);
	font-size: 16px;
  	opacity: 0.8;
}
/*section.avis .fa-star.fa-regular:before {
	background : url(../images/empty-s.webp)no-repeat center;
}
section.avis div#Guestbook .gb-entry>div:hover .fa-star.fa-regular:before{
	background-image : url(../images/empty-s-h.webp);
}
section.avis .fa-star.fa-solid:before {
	background : url(../images/full-s.webp)no-repeat center;
}
section.avis div#Guestbook .gb-entry>div:hover .fa-star.fa-solid:before {
	background : url(../images/full-s-h.webp)no-repeat center;
}*/

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 .swiper-button-prev::after, section.avis .swiper-button-next::after {
    font-size: 0px;
    display: block;
    width: 19px !important;
    height: 37px !important;
    line-height: 37px;
}
section.avis .swiper-button-prev::after {
    background : url(../images/slick-prev.webp)no-repeat center ;
}
section.avis .swiper-button-next::after {
    background : url(../images/slick-next.webp)no-repeat center ;
}
section.avis .swiper-button-prev, section.avis .swiper-button-next {
    position: absolute;
    /* left: 50%; */
    /* bottom: -80px; */
    /* top: inherit; */
    /* transform: translate(0); */
    /* right: unset; */
    margin: 0px;
    display: inline-block;
    width: 19px;
    height: 37px;
}
section.avis .swiper-button-prev{
	left: -21px;
}
section.avis .swiper-button-next{
	right: -21px;
}
section.avis .swiper-button-prev:hover:after, section.avis .swiper-button-next:hover:after {
    opacity: 0.7;
}
/* Swiper avis */

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


.swiper-pagination-avis .swiper-pagination-bullet {
	position : relative;
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.50);
	
    opacity: 1;
    margin: 0 8px !important;
	
}
.swiper-pagination-avis .swiper-pagination-bullet:before {
	content : "";
	position : absolute;
	top: 50%;
	left: 50%;
	transform : translate(-50% , -50%);
	width : 24px;
	height : 24px;
	border-radius: 50%;
	padding : 2px;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
    transition: all 0.4s ease;
    background: linear-gradient(180deg, var(--bs-tertiary-color) 0%, var(--bs-gradient-color1) 100%);
	opacity: 0;
}
.swiper-pagination-avis .swiper-pagination-bullet-active:before {
	opacity: 1;
}
.swiper-pagination-avis .swiper-pagination-bullet-active {
    background: var(--bs-body-bg);
	
}
.benefits-section.telecommunications h2 .highlight {
	color: var(--bleu-clair);
	opacity: 0.6;
}
.contact-section.audit.infogerance .contact-wrapper {
	grid-template-columns: 1fr 1fr;
}
.contact-section.audit.infogerance .contact-form {
	background: transparent;
	padding: 0;
	box-shadow: none;
}
.contact-section.audit.infogerance .block-contact-info {
	background: var(--bs-primary-color);
	color: var(--bs-body-bg);
	height: 100%;
}
.contact-section.audit.infogerance .block-contact-info h3, .contact-section.audit.infogerance .block-contact-info a, .contact-section.audit.infogerance .block-contact-info .info-value {
	color: var(--bs-body-bg);
}
.contact-section.audit.infogerance .block-contact-info .info-value {
	font-size: 15px;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.contact-section.audit.infogerance .contactForm .form-submit-button {
	margin: 0;
}
.contact-section.audit.infogerance .contactForm .form-submit-button:hover {
	box-shadow: 0 0 7px var(--bs-primary-color);
	-webkit-box-shadow: 0 0 7px var(--bs-primary-color);
}
/***************/
/*--------------------------------------------------
# Architecture réseau - Charte blanc/bleu
--------------------------------------------------*/

/* Réinitialisation du thème sombre de la page architecture */
.homeTemplate.architecture {
    color: var(--bs-body-color);
    background: var(--bs-body-bg2);
}

.cta-section2 .contact-value-cta a {
	color: var(--bs-body-bg);
}
/* Stats banner (chiffres) */
.homeTemplate.architecture .chiffres {
	background: var(--bs-primary-color);
	padding: 35px 0;
	z-index: 2;
}
.homeTemplate.architecture .chiffres:before {
    background: rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.homeTemplate.architecture .chiffres .hero-stats .stat .number .stat-number {
    color: var(--bs-body-bg);
}
.homeTemplate.architecture .chiffres .hero-stats .stat .stat-label {
    color: rgba(255, 255, 255, 0.75);
}

/* Section header */
.homeTemplate.architecture .section-header h6 {
    color: var(--bs-secondary-bg);
}
.homeTemplate.architecture .section-header h2 {
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .section-header h2 .italic-text {
    color: var(--bs-secondary-bg);
    opacity: 0.8;
}

/* Section expertises */
.homeTemplate.architecture .expertises-section {
    background: var(--bs-body-bg2);
    border-top: 1px solid var(--bs-body-bg3);
    padding: 80px 0;
}
.homeTemplate.architecture .expertises-section .expertise-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-body-bg3);
    border-radius: 15px;
}
.homeTemplate.architecture .expertises-section .expertise-card:hover {
    background: var(--bs-body-bg);
    border-color: var(--bs-secondary-bg);
    box-shadow: 0 8px 25px rgba(18, 25, 77, 0.12);
}
.homeTemplate.architecture .expertises-section .expertise-card .card-title {
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .expertises-section .expertise-card .card-description {
    color: var(--bs-secondary-bg);
}
.homeTemplate.architecture .expertises-section .expertise-card .tag {
    background: rgba(18, 25, 77, 0.08);
    color: var(--bs-secondary-bg);
}
.homeTemplate.architecture .expertises-section .nav-arrow {
    border-color: var(--bs-body-bg3);
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .expertises-section .nav-arrow:hover {
    background: var(--bs-primary-color);
    color: var(--bs-body-bg);
    border-color: var(--bs-primary-color);
}
.homeTemplate.architecture .expertises-section .nav-arrow.swiper-button-disabled {
    border-color: var(--bs-body-bg3);
}

/* Section processus */
.homeTemplate.architecture .processus-section {
    background: var(--bs-body-bg);
    padding: 80px 0;
}
.homeTemplate.architecture .processus-section .timeline-item {
    background: var(--bs-body-bg2);
    border: 1px solid var(--bs-body-bg3);
    backdrop-filter: none;
}
.homeTemplate.architecture .processus-section .timeline-item:hover {
    border-color: var(--bs-secondary-bg);
    box-shadow: 0 4px 20px rgba(18, 25, 77, 0.1);
}
.homeTemplate.architecture .processus-section .timeline-icon {
    background: rgb(18 25 77 / 45%);
}
.homeTemplate.architecture .processus-section .step-number {
    background: var(--bs-primary-color);
    color: var(--bs-body-bg);
    border-color: var(--bs-body-bg3);
}
.homeTemplate.architecture .processus-section .step-title {
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .processus-section .step-description {
    color: #555;
}
.homeTemplate.architecture .processus-section .step-tags .tag {
    background: rgb(18 25 77 / 45%);
    color: var(--bs-secondary-bg);
}
.homeTemplate.architecture .processus-section .security-callout {
    background: var(--bs-body-bg2);
    border: 1px solid var(--bs-primary-color);
    backdrop-filter: none;
}
.homeTemplate.architecture .processus-section .security-callout h4 {
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .processus-section .security-callout p {
    color: var(--bs-secondary-bg);
}
.homeTemplate.architecture .processus-section .metric-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-body-bg3);
    backdrop-filter: none;
}
.homeTemplate.architecture .processus-section .metric-card h5 {
    color: var(--bs-primary-color);
}

/* Section avantages */
.homeTemplate.architecture .avantages-section {
    background: var(--bs-body-bg2);
    color: var(--bs-body-color);
    padding: 80px 0;
}
.homeTemplate.architecture .avantages-section .avantage-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-body-bg3);
    backdrop-filter: none;
}
.homeTemplate.architecture .avantages-section .avantage-card:hover {
    border-color: var(--bs-secondary-bg);
    box-shadow: 0 8px 25px rgba(18, 25, 77, 0.12);
}
.homeTemplate.architecture .avantages-section .avantage-card .avantage-icon {
    background: rgba(18, 25, 77, 0.73);
    border-color: var(--bs-body-bg3);
}
.homeTemplate.architecture .avantages-section .avantage-card .avantage-title {
    color: var(--bs-primary-color);
}
.homeTemplate.architecture .avantages-section .avantage-card .avantage-description {
    color: #555;
}

/* CTA interne avantages */
.homeTemplate.architecture .avantages-section .cta-section {
    background: var(--bs-primary-color);
    border: none;
    backdrop-filter: none;
}
.homeTemplate.architecture .avantages-section .cta-section .cta-title {
    color: var(--bs-body-bg);
}
.homeTemplate.architecture .avantages-section .cta-section .cta-description {
    color: rgba(255, 255, 255, 0.85);
}
.homeTemplate.architecture .avantages-section .cta-section .readmore {
    border-color: rgba(255, 255, 255, 0.85);
}
.homeTemplate.architecture .avantages-section .cta-section .readmore.btn-outline-light {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.3);
}
.homeTemplate.architecture .avantages-section .cta-section .readmore.btn-outline-light:hover {
    background: var(--bs-body-bg);
    color: var(--bs-primary-color);
    border-color: var(--bs-body-bg);
}
/************/
 
@media only screen and (max-width : 1799px) {
  
  section.home-content.content.content-home:after, section.content.page-content.content-page:after { 
    background: url(/smarty/wireframe31/media/images/after-cent.webp) no-repeat right top;
    background-size: contain;
    width: 300px;
}
  .parallaxe3:after { 
    background: url(/smarty/wireframe31/media/images/after-parallax.webp) no-repeat right top;
    background-size: contain;
    width: 600px;
}
  section.content.page-content.content-page .bloc2:after { 
    opacity: .5;
}
  
}

@media only screen and (max-width : 1599px) {
  
   section.home-content.content.content-home, section.boxs {
    padding: 100px 0;
  }
  section.home-content.content.content-home:before , section.content.page-content.content-page:before{ 
    background: url(/smarty/wireframe31/media/images/befor-cent.webp) no-repeat left top;
    background-size: contain;
    width: 50%;
}
  section.home-content.content.content-home:after, section.content.page-content.content-page:after { 
    width: 150px;
  }
  .parallaxe3:after { 
    top: -200px; 
    width: 400px;
}
  .parallaxe3 { 
    padding: 200px 0;
  }
section.content.page-content.content-page .bloc-center {
    padding: 180px 0 100px;
  }
  
  section.content.page-content.content-page .bloc4, section.content.page-content.content-page .Ressources .bloc3 {
    padding: 100px 0;
  }
  section.partenaires { 
    padding: 100px 0;
  }
  
}

@media only screen and (max-width : 1399px) {
  
 header a.nav-link { 
    font-size: 21px;
    padding: 7px 25px !important;
  }
 section.banner, section.banner .marketing-video {
    height: 800px;
  }
  .head-middle h2 { 
    margin: 100px 0 30px;
  }
  .head-middle .bx-right { 
    margin: 70px 0 37px;
}
  section.home-content.content.content-home:after, section.content.page-content.content-page:after { 
    opacity: .2;
}
  section.home-content.content.content-home, section.partenaires, section.boxs {
    padding: 70px 0;
  }
  h1, .h1 {
    font-size: 40px;
}
  h2, .h2 {
    font-size: 35px;
}
  .parallaxe3:after { 
    top: -100px; 
    width: 200px;
}
  .parallaxe3 { 
    padding: 150px 0;
  }
  
  section.gallery-home {
    padding: 100px 0;
}
  section.content.page-content.content-page .bloc2 {
    padding: 70px 0;
  }
  section.partenaires h2 {
    margin: 0 0 45px;
  }
   
}
@media only screen and (max-width : 1700px) {
  .homeTemplate.architecture .container-fluid {
	max-width: 1500px;
}
  section.banner.banner-page-cable .banner-wrapper h2 {
      font-size: 55px;
  }
}
@media only screen and (max-width : 1500px) {
  .hero.wifi .hero-text h1 {
	font-size: 55px;
}
  .homeTemplate.architecture .container-fluid {
	max-width: 1200px;
}
  section.banner.banner-page-cable .banner-wrapper h2 {
      font-size: 45px;
  }
  section.banner.banner-page-cable .marketing-slider {
	margin-left: -100px;
}
  section.banner.banner-page-cable .banner-wrapper .title {
	max-width: 77%;
}
  .chiffres .hero-stats {
	max-width: 77%;
}
  .expertises-section .expertise-card {
	padding: 30px 15px;
}
  .processus-section .timeline-item {
	padding: 30px 15px;
}
  .processus-section .step-tags .tag {
	padding: 5px 5px;
}
}
@media only screen and (max-width : 1199px) {
    
  
    .head-top .container, .container, .max-container {
        max-width: 992px;
    } 
      header a.nav-link {
        font-size: 17px;
        padding: 7px 18px !important;
    }
  .bx-right-top {
    padding: 10px; 
}
  .bx-right-top .phone-responsive { 
    padding: 10px;
  }
 .head-middle h2 {
    font-size: 38px;
  }
  section.home-content.content.content-home h1 { 
    font-size: 38px;
}
  
  h1, .h1 {
    font-size: 38px;
}
h2, .h2 {
    font-size: 30px;
} 
 
  section.content.content-first.content-first2 h5 {
    font-size: 30px;
  }
  section.content.content-first.content-first2 .bx-home.ctr { 
    margin: 0;
}
  footer.bottom .info-left, footer.bottom .social {
    gap: 20px;
}
      section.home-content.content.content-home:before { 
        top: -100px;
    }
  
 section.content.page-content.content-page .bloc-center {
    padding: 180px 0 70px;
  }
  section.gallery-home {
    padding: 70px 0;
}
    section.content.page-content.content-page .bloc4, section.content.page-content.content-page .Ressources .bloc3 {
    padding: 70px 0;
  }
  section.content.page-content.content-page .row.g2 .col-lg-7 {
    width: 550px;
  }
  section.content.page-content.content-page .row.g2 .col-lg-5 {
    width: 400px;
  }
  section.content.page-content.content-page .row.last-row {
    margin-top: 70px;
}
  section.content.page-content.content-page .row.g2.mobile .col-lg-7 {
    width: 600px;
}
  section.content.page-content.content-page .row.g2.mobile .col-lg-5 {
    width: 350px;
}
  section.content.page-content.content-page .row.g3 .col-lg-6 {
    width: 470px;
  }
  section.boxs article:after { 
    right: -100px; 
    background: url(/smarty/wireframe31/media/images/befor-box.webp) no-repeat right bottom; 
    background-size: contain;
}
 .sidebar {

    width: 80%;
} 
  
  /* --- */
  section.banner.banner-page-cable .marketing-slider {
      margin-left: -50px;
  }
  section.banner.banner-page-cable .banner-wrapper .title {
      max-width: 89%;
  }
  .chiffres .hero-stats {
	max-width: 84%;
}
  .expertises-section {
	padding: 70px 0;
}
  .processus-section {
	padding: 35px 0;
}
  .processus-section .timeline-item {
	padding: 25px 15px;
	flex-direction: column;
	margin-bottom: 15px;
}
  .processus-section .step-tags .tag {
	font-size: 11px;
}
  .processus-section .step-title {
	font-size: 18px;
}
  .processus-section .visual-container {
	padding: 40px 0;
}
  .avantages-section .cta-section {
	max-width: 90%;
}
  .avantages-section {
	padding: 35px 0 50px;
}
  .hero.accesinternet .stat-item {
	min-width: 190px;
}
  .advanced-section.accesinternet .advanced-block {
	gap: 0;
}
  .advanced-section.accesinternet .advanced-features, .advanced-section.accesinternet .ddos-features {
	grid-template-columns: 100%;
}
  .routers-section.accesinternet .routers-features {
	grid-template-columns: repeat(4,1fr);
	gap: 10px;
}
  .routers-section.accesinternet .router-item {
	padding: 30px 10px;
}
  .routers-section.accesinternet .routers-stats {
	grid-template-columns: repeat(4,1fr);
	gap: 10px;
}
  .cta-section.accesinternet .cta-form {
	padding: 30px 15px;
}
  .cta-section.accesinternet .cta-form label {
	display: inline !important;
}
  .hero.wifi .hero-content {
	gap: 25px;
}
  .hero.wifi .hero-text h1 {
	font-size: 45px;
}
  .hero.wifi .hero-description {
	font-size: 15px;
}
  .hero.wifi .image-placeholder, .ekahau-section.wifi .image-placeholder.sidekick, .weblib-section.wifi .image-placeholder.mockups, .security-section.wifi .image-placeholder.shield {
	height: auto;
}
  .stats-section.wifi .stat-card {
	padding: 25px 15px;
}
  .impact-section.wifi .impact-content {
	grid-template-columns: 1fr 1fr;
	gap: 25px;
    align-items: center;
}
  .ekahau-section.wifi .ekahau-content {
	grid-template-columns: 1.1fr 1fr;
	gap: 25px;
}
  .weblib-section.wifi .weblib-content {
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}
  .weblib-section.wifi .weblib-features, .ekahau-section.wifi .ekahau-text {
	padding: 35px 20px;
}
  .security-section.wifi .security-content {
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}
  .quote-section.wifi blockquote {
	font-size: 30px;
}
  .infogerance .stat-card.highlight {
	right: -7px;
}
  .infogerance.process-section .process-grid {
	grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
}
  section.avis div#Guestbook .gb-entry > div {
	padding: 60px 15px 35px;
}
  section.avis div#Guestbook .gb-entry > div:after {
	left: 0;
}
  .avis.benefits-section.telecommunications .stats-row .stat-item {
	min-width: 175px;
}
}
@media only screen and (max-width : 991px) {
  .sideRight {
	top: 12% !important;
}
  .sideRight .networks_linking a, .sideRight a.WhatsApp-contact {
	margin: 0 0 5px;
}
  .sideRight a.networks.networks_instagram {
	margin-bottom: 50px;
}
  .solutions-section.accesinternet {
	padding: 50px 0;
}
  .hero.accesinternet {
	padding: 50px 0;
	margin-top: 0;
}
  .partnership-section.accesinternet .partnership-content {
	grid-template-columns: 100%;
    gap: 20px;
}
  .advanced-section.accesinternet .advanced-block .advanced-content {
	padding: 25px 15px;
}
  .advanced-section.accesinternet .advanced-stats {
	gap: 7px;
}
  .advanced-section.accesinternet .stat-block, .advanced-section.accesinternet .stat-red {
	padding: 25px 10px;
}
  .advanced-section.accesinternet .stat-big {
	font-size: 20px;
	line-height: 1.2em;
}
  .advanced-section.accesinternet {
	padding: 50px 0;
}
  .routers-section.accesinternet .routers-features {
	grid-template-columns: repeat(2,1fr);
}
  .routers-section.accesinternet .routers-box {
	padding: 50px 15px;
}
  .routers-section.accesinternet .router-stat {
	padding: 25px 10px;
}
  .cta-section.accesinternet .cta-content {
	grid-template-columns: 100%;
	gap: 20px;
}
  .cta-section.accesinternet, .routers-section.accesinternet {
	padding: 50px 0;
}
  .cta-section.accesinternet .cta-right {
	gap: 15px;
}
  
    .head-top .container, .container, .max-container {
        max-width: 768px !important;
    }
    .navbar-expand-lg .navbar-nav{
      margin: 0 auto;
    }
 
    .navbar-expand-lg .navbar-nav{
      margin: 0 auto;
    } 
  header .navbar-nav .dropdown-menu {
		transform: none;
	
		margin: 0 auto;
		min-width: inherit;
		left: 0;
	}
  	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;
    }
 
   header ul.level-0> li:not(:first-of-type) > a.nav-link:after {
    left: -20px;display:none;
}
  	header .navbar-nav .dropdown-menu {
        transform: none;
    }
  header .navbar-nav > li > .nav-link::before, section.banner:before {
display:none
}
  
  	button.navbar-toggler::after, button.navbar-toggler::before {
        background: var(--bs-primary-color);
    }
   	header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) button.navbar-toggler::after, header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) button.navbar-toggler::before {
        background: var(--light-color);
    }
  	button.navbar-toggler[aria-expanded="false"]:after, button.navbar-toggler[aria-expanded="false"]:before {
        transform: none;
    }
  	button.navbar-toggler .navbar-toggler-icon {
        background: var(--bs-primary-color);
    }
  header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) button.navbar-toggler .navbar-toggler-icon {
        background-color:var(--light-color);
    }
  	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;
    }
    header .nav-item  {
        padding: 2px 0px;
    }
    nav.navbar.sticky-top .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
      width: 100vw; 
        backdrop-filter: blur(5px);
        padding: 10px 0;
        text-align: left;
        z-index: 100;
        box-shadow: 0 0 16px;
        max-height: 90vh;
        overflow-y: auto;
        clear: both;
}
 nav.navbar.sticky-top .navbar-collapse {
    background: #080d35;
  }
header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .navbar-collapse {
	background: #060f2b;
}
  header a.nav-link {
	color: #FFF !important;
}
  	header a.nav-link {
    display: table;
    margin: 0 auto; 
   padding: 5px 0 !important;
}
  header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) {
	border-radius: 0;
	background: none;
	backdrop-filter: inherit;
	padding: 0;
	display: table;
	margin: auto;
}
  header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) .dropdown-menu .nav-item a.nav-link, header .navbar-nav .dropdown-menu .nav-item a.nav-link {

	font-size: 16px;
	font-weight: 400;
	padding: 2px 10px !important;
	
}
  header:not(.interne) nav.navbar.sticky-top:not(.is-sticky) a.nav-link {
	font-size: 20px;
}
  header .navbar-nav .dropdown-menu.dropdown-menu.level-2 {
	background: rgba(242, 242, 242, 0.97);
}
  header .nav-item .dropdown-menu .dropdown-toggle {
	top: 0;
	transform: none;
}
    .head-top .navbar:not(.is-sticky) #navbarNav {
        margin-top: 0;
    }
    .navbar {
        margin: 0 auto;
        display: table;
    } 
   

  .inner-wrapper {
    flex-direction: column;
    gap: 20px;
}
  header nav.navbar.sticky-top.is-sticky .inner-wrapper, header.interne nav.navbar.sticky-top:not(.is-sticky) .inner-wrapper {
	flex-direction: inherit;
}
  header nav.navbar.sticky-top.is-sticky { 
    padding: 10px;
  }
  header.interne nav.navbar.sticky-top button.navbar-toggler,
  header nav.navbar.sticky-top.is-sticky button.navbar-toggler{
    order: 3;
    margin-bottom: 10px;
}
  
	/***********/
 
  header ul.level-0>.nav-item:not(:first-child):before{
  	display : none;
  }
 header .nav-item .dropdown-toggle { 
    top: inherit;
    right: inherit;
    left: inherit;
    transform: inherit;
    position: relative;
    text-align: center;
    margin: 0 auto;
    width: 30px;
    display: table;
   cursor: pointer;
   bottom: 0;
  }
/*  .navbar-nav .dropdown-toggle:after,header .nav-item:hover .dropdown-toggle::after{
        color: var(--light-color) !important;
  }*/
      header .navbar-nav .dropdown-menu { 
      /*  display: table;*/
             margin: 5px auto;
    } 
  
      header.top div#logo {
        max-width: 100%;
    }
   
   section.banner, section.banner .marketing-video {
        height: 700px;
    }
       .head-middle h2 {
        font-size: 27px;
                 margin: 50px 0 20px;
    }
  .bx-right-top.bx1 {
    float: none;  
    justify-content: center !important;
    max-width: 300px;
    margin: auto;
}
  .head-middle {
    margin-top: 80px;
  }
      .head-middle .bx-right {
        margin: 40px 0;
    }
  section.partenaires .partenaires-slider, 
  section.partenaires .partenaires-slider2{ 
    grid-template-columns: 1fr 1fr 1fr;
  }
  section.content.content-first.content-first2 .pictos-slider { 
    margin:45px  0;
  }
    section.content.content-first.content-first2 .bx-picto {
        width: 350px;
        height: 350px;
    }
  section.content.content-first.content-first2 h5 {
        font-size: 28px;
    }
  section.content.content-first.content-first2 .bx-picto:hover {
    max-width: 370px; 
    padding: 30px 15px;
        height: auto;
  }
      .parallaxe3 {
        padding: 100px 0;
        text-align: center;
    }
      .parallaxe3:after { 
        width: 150px;
    }
     .footer-logo {
        max-width: 100%;
    } 
      footer.bottom { 
    text-align: center;
} 
  .footer-wrapper {
    flex-direction: column; 
}
      footer.bottom .info-left, footer.bottom .social { 
        flex-direction: column;
                margin-top: 20px;
    }
  footer.bottom .footer-adr {
    background: url(/smarty/wireframe31/media/images/adr.svg) no-repeat center top;
    padding-left: 0;
    padding-top: 35px;
}
  footer.bottom .tels.info { 
    background: url(/smarty/wireframe31/media/images/tel.svg) no-repeat center top;
      padding-left: 0;
    padding-top: 35px;
}
  footer.bottom .hor.info {
    background: url(/smarty/wireframe31/media/images/hor.svg) no-repeat center top;
    padding-left: 0;
    padding-top: 35px;
}
      section.home-content.content.content-home h1 {
        font-size: 35px;
    }
      /***/

  h1, .h1{
    font-size: 35px; 
}
h2, .h2  {
    font-size: 30px;
}
  

  /*********/
  section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
      width: 32%;
  }
  /**********/
  section.content.page-content.content-page .grid-img .grid-gallery {
     
      margin: 0 auto 40px;
  }
  section.content.page-content.content-page .text-part{
    width: 100% !important;
  }

    .box-light{
      height : auto !important;
    }
  
.contactForm .contact-field-item {

    width: 100%;
   
}
    

  section.Contact .contact-submit {
    display: block;
    position: relative;
    right: 0;
    bottom: 0;
    margin: 0 auto;
}
section.content .row .col-lg-4 > .photo {
	height: auto;
	padding: 0;
}
    
    section.content.page-content.content-page .text-part{
    width: 100% !important;
  }
  header.interne .head-middle {
    position: relative !important;
} 
header.interne nav.navbar.sticky-top:not(.is-sticky) {
    position: relative !important;
}
    section.content.page-content.content-page .bloc-center {
        padding: 70px 0;
    }
   section.content.page-content.content-page {
     padding:70px 0 ;  
  }
  section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home {
    flex: 0 0 45%;
  }
  section.content.page-content.content-page section.boxs-page .boxes-flx-page { 
    gap: 50px 5%;
  }
  section.content.page-content.content-page .row.g2 .col-lg-5,section.content.page-content.content-page .row.g2 .col-lg-7 {
    width: 100%!important;
  }
section.content.page-content.content-page .image {
    margin: 0 auto 30px;
    display: table; 
    max-width: 480px;
}
  section.content.page-content.content-page .image img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}
      section.content.page-content.content-page .row.last-row {
        margin-top: 0;
    }
    section.content.page-content.content-page .row.g3 .col-lg-6 {
    width: 100%;
  }
 .block-flex-support {
   
    flex-direction: column;
}
  .how-it-works, .download-card {
    padding: 20px;

}
  .sidebar {
        width: 100%;
    }
  .support-box {
    flex-direction: column;
  }
  /* --- */
  section.banner.banner-page-cable .marketing-slider {
	margin-left: 0;
	left: 0 !important;
}
section.banner.banner-page-cable .banner-wrapper {
	padding: 75px 0;
	text-align: center;
	z-index: 4;
  color: var(--bs-body-bg);
}
  section.banner.banner-page-cable .banner-wrapper h2 {
	color: var(--bs-body-bg);
}
  section.banner.banner-page-cable .hero-buttons .btn {
	width: auto;
}
section.banner.banner-page-cable .banner-wrapper h6 {
	margin: 0 auto 15px;
	border: 1px solid;
}
  section.banner.banner-page-cable .banner-wrapper .title {
	max-width: 100%;
}
  section.banner.banner-page-cable .hero-buttons {
	margin-top: 0;
	justify-content: center;
}
  .chiffres .hero-stats {
	max-width: 100%;
}
  .expertises-section {
	padding: 50px 0;
}
  .expertises-section .section-header {
	margin-bottom: 25px !important;
}
  .section-header h6 {
	margin-bottom: 10px;
}
  .processus-section .timeline-item {
	flex-direction: inherit;
}
  .processus-section .visual-container .bloc-img-elec {
	height: 500px !important;
}
  .avantages-section {
	padding: 0 0 50px;
}
  .avantages-section .cta-section {
	max-width: 100%;
	margin-bottom: 0;
}
  .avantages-section .row.g-4.mb-5 {
	margin-bottom: 25px !important;
}
  .hero2 {
	padding: 50px 0;
	margin-top: 0;
}
  .statistics .stat-value {
	font-size: 27px;
}
  .statistics {
	padding: 50px 0 0;
}
  .services .services-grid {
	grid-template-columns: repeat(3, 1fr);
}
  .ai-technologies {
	padding: 0 0 50px;
}

  .email-security {
	padding: 0 0 50px;
}
  .ai-technologies .ai-grid, .email-security .email-stats, .email-security .mib-features, .soc-section .surveillance-metrics, .soc-section .soc-process, .why-choose .benefits-grid {
	grid-template-columns: repeat(2, 1fr);
}
  .soc-section {
	padding: 0 0 50px;
}
  .why-choose .tech-grid {
	grid-template-columns: repeat(2, 1fr);
}
  .cta-section2 .cta-content {
	gap: 10px;
}
  .cta-section2 .contact-info-cta, .cta-section2 .contact-form-cta {
	padding: 40px 15px;
}
  .hero.wifi, .stats-section.wifi, .video-section.wifi, .services-section.wifi, .ekahau-section.wifi, .cta-section.wifi {
	padding: 50px 0;
	margin-top: 0;
}
  .hero.wifi .hero-text {
	margin: 0;
	text-align: center;
}
  .stats-section.wifi .section-subtitle-white {
	margin-bottom: 0;
}
  .stats-section.wifi .stats-grid {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;margin-top: 30px;
    margin-bottom: 0;
}
  .impact-section.wifi, .weblib-section.wifi, .security-section.wifi {
	padding: 0 0 50px;
}
  .partners-section.wifi .partners-label {
	margin-bottom: 15px;
}
  .partners-section.wifi .partner-logo {
	max-width: 200px;
}
  .quote-section.wifi blockquote {
	font-size: 22px;
}
  .cta-section.wifi .cta-buttons {
	flex-direction: inherit !important;
}
  .hero.infogerance, .infogerance.process-section, .services-section.infogerance, .stats-section.infogerance, .why-section, .contact-section {
	padding: 50px 0 !important;
	margin-top: 0;
}
  .hero.infogerance .hero-content {
	grid-template-columns: 100%;
	gap: 30px;
	text-align: center;
}
  .infogerance .hero-features {
	justify-content: center;
	align-items: center;
}
  .infogerance .stat-card:not(.highlight) {
	left: -8px;
}
  .infogerance.process-section .process-grid {
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
  .stats-section.infogerance .success-box {
	padding: 40px 15px;
}
  .avis.benefits-section.telecommunications .stats-row .stat-item {
	min-width: 150px;
}
  .contact-section.audit.infogerance .contact-wrapper {
	grid-template-columns: 100%;
	padding: 0;
}
}
@media only screen and (max-width : 767px) {
section.content .networks_linking a, section.content a.WhatsApp-contact {
	line-height: 44px;
	margin: 0 5px;
}
  .email-security h2 {
	font-size: 30px;
}
  .hero.accesinternet .hero-buttons {
	gap: 7px;
	flex-wrap: wrap;
}
  .video-section.accesinternet, .partnership-section.accesinternet {
	padding: 50px 0;
}
  .partnership-section.accesinternet .partnership-features {
	padding: 0;
}
  .partnership-section.accesinternet .benefit-icon {
	min-width: 48px;
}
  
  .how-it-works .steps, .download-options{
     flex-direction: column;
  }
  .advanced-section.accesinternet .advanced-block {
	grid-template-columns: 100%;
}
  .advanced-section.accesinternet .advanced-block.reverse {
	margin-bottom: 0;
}
 
     
      section.home-content.content.content-home h1 {
        font-size: 30px;
    }
      section.partenaires .partenaires-slider, section.partenaires .partenaires-slider2 {
        grid-template-columns: 1fr 1fr;
    }
      section.content.content-first.content-first2 .pictos-slider { 
        flex-direction: column;
                gap: 20px;
    }
  
   
 ul.bottom {
    margin: 0  !important;
}   
   
  .contactForm .contact-field-item { 
    width: 100% !important; 
}
 
    .contactForm .contact-field-item:nth-child(even) {
    padding-right: 0px !important;
}
.contactForm .contact-field-item:nth-child(odd) {
    padding-left: 0px!important;
}
  
  	.img-page, 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;*/
    }
  
  	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%;
  }
 
    h1, .h1 {
    font-size: 30px;
} 
h2, .h2 {
    font-size: 28px;
}
 
.contactForm .contact-field-item {
 
    width: 100% !important;
    
}
  .networks_linking a, a.WhatsApp-contact { 
    line-height: 25px;
    font-size: 25px;
  }
  .sideRight { 
    margin-right: 5px;
}
  .sideRight a.networks.networks_instagram {
    margin-bottom: 60px;
}
  .sideRight a.WhatsApp-contact { 
    bottom: 40px;
  }
  section.content.page-content.content-page section.boxs-page .boxes-flx-page { 
    gap: 50px;
  }
  section.content.page-content.content-page section.boxs-page .boxes-flx-page .bx-home {
    flex: 0 0 100%;
    max-width: 360px;
  }
   .table-bordered {
  
      display: block;
       
 overflow-x: auto;
   
 } 
   section.boxs article:after { 
    bottom: 0;
             right: -50px;
  }
  
  .chiffres .hero-stats {
	flex-wrap: wrap;
	justify-content: center;
}
  .expertises-section .navigation-arrows {
	position: relative;
}
  .processus-section .section-header.text-center.mb-5 {
	margin-bottom: 25px !important;
}
  .processus-section .timeline-item {
	flex-direction: column;
}
  .processus-section .step-tags {
	gap: 5px;
}
  .processus-section .step-tags .tag {
	font-size: 9px;
	padding: 3px;
}
  .processus-section .visual-container {
	padding: 20px 0;
}
  .processus-section .metrics-cards {
	left: 25px;
	right: 25px;
}
  .processus-section .visual-container .bloc-img-elec {
	height: 400px;
}
  .processus-section .metric-card.rgpd-card {
	margin-bottom: 15px;
}
  .processus-section .visual-container .row.mt-5 {
	margin-top: 25px !important;
}
  .avantages-section .avantage-card {
	padding: 25px 15px;
}
  .avantages-section .avantage-card .avantage-icon {
	margin-bottom: 15px;
}
  .avantages-section .avantage-card .avantage-title {
	margin-bottom: 10px;
}
  .avantages-section .cta-section {
	padding: 30px 15px;
}
  .avantages-section .cta-section .cta-title {
	font-size: 28px;
}
  .avantages-section .cta-section .cta-buttons {
	margin-top: 20px;
}
  .avantages-section .cta-section .readmore {
	padding: 13px 20px;
	margin: 0;
}
  .hero2 .feature-cards {
	grid-template-columns: 100%;
	gap: 10px;
}
  .statistics .stats-grid {
	grid-template-columns: 100%;
	gap: 10px;
}
  .statistics .stat-card {
	text-align: center;
}
  .statistics .stat-icon {
	margin: 0 auto 20px;
}
  .services .services-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
  .services .service-card {
	padding: 20px 15px;
}
  .ai-technologies .ai-card {
	padding: 20px 15px;
}
  .ai-technologies .ai-grid, .email-security .email-stats, .email-security .mib-features, .soc-section .surveillance-metrics, .soc-section .soc-process, .why-choose .benefits-grid, .ai-technologies .advantage-grid {
	grid-template-columns: 100%;
}
  .ai-technologies .ai-grid > div, .email-security .email-stats > div, .email-security .mib-features > div, .soc-section .surveillance-metrics > div, .soc-section .soc-process > div, .why-choose .benefits-grid > div {
    text-align: center;
  }
  .ai-technologies .ai-icon, .email-security .email-stat-card .stat-icon, .email-security .mib-feature-icon {
	margin: 0 auto 20px;
}
  .email-security .mail-in-black {
	padding: 25px 15px;
}
  .email-security .protection-layers {
	grid-template-columns: 100%;
	gap: 25px;
	margin-bottom: 30px;
}
  .soc-section .surveillance-panel {
	padding: 25px 15px;
}
  .soc-section .soc-features {
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
  .soc-section .sources-grid {
	grid-template-columns: repeat(2, 1fr);
}
  .step-icon {
	margin-left: auto;
	margin-right: auto;
}
  .soc-section .soc-guarantees {
	flex-wrap: wrap;
}
  .why-choose .client-stats {
	grid-template-columns: repeat(1, 1fr);
	gap: 15px;
}
  .cta-section2 .cta-content {
	grid-template-columns: 100%;
}
  .hero.wifi .hero-description {
	font-size: 14px;
	margin-bottom: 20px;
}
  .hero.wifi .hero-buttons {
	gap: 10px;
}
  .hero.wifi .hero-buttons a {
	font-size: 14px;
}
  .partners-section.wifi .partners-logos {
	gap: 15px;
}
  .partners-section.wifi .partner-logo {
	max-width: 140px;
}
  .ekahau-section.wifi .ekahau-content h2 {
	font-size: 25px;
}
  .quote-section.wifi blockquote {
	font-size: 14px;
}
  .infogerance .hero-buttons a {
	font-size: 14px;
}
}
 
@media only screen and (max-width : 480px) {
  .contactForm .g-recaptcha {
	transform: scale(0.7);
	-webkit-transform: scale(0.7);
	transform-origin: left;
	-webkit-transform-origin: left;
}
  .input-group {
	width: 90%;
	margin: 0 auto;
}
  .hero.telecommunications .hero-buttons, section.hero.control .hero-buttons {
	margin-bottom: 25px !important;
}
  header nav.navbar.sticky-top.is-sticky .inner-wrapper, header.interne nav.navbar.sticky-top:not(.is-sticky) .inner-wrapper {
	flex-direction: column;
}
  .infogerance .hero-buttons {
	gap: 5px;
	flex-wrap: wrap;
}
  .infogerance.process-section .process-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
  .infogerance.process-section .process-step {
	padding: 20px 15px;
}
  .services-section.infogerance .services-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
  .services-section.infogerance .service-card {
	padding: 25px 15px;
}
  .stats-section.infogerance .stats-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
  .stats-section.infogerance .stat-box {
	flex-direction: column;
}
  .stats-section.infogerance .chart-placeholder {
	height: auto;
}
  .why-section.infogerance .advantages-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
  .advantage-card {
	padding: 25px 15px;
}
  .info-item {
    gap: 12px !important;
	flex-direction: column;
}
  .contact-section.audit.infogerance .block-contact-info {
	padding: 20px 15px;
}
  .advantage-card {
	padding: 25px 15px !important;
}
  
  .partnership-section.accesinternet .feature-item, .partnership-section.accesinternet .benefit-card {
	flex-direction: column;
}
  .solutions-section.accesinternet .solution-card {
	padding: 0 15px 30px;
}
  .solutions-section.accesinternet .card-header {
	margin: 0 -15px 20px;
}
  .solutions-section.accesinternet .solution-card h3 {
	font-size: 17px;
}
  .advanced-section.accesinternet .feature-mini {
	margin-bottom: 10px;
	flex-direction: column;
}
  .advanced-section.accesinternet .ddos-item {
	flex-direction: column;
}
  
  .support-box {
    padding: 15px;
  }
  .how-it-works h4 {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .phone-support, .how-it-works, .download-card {
    
    padding: 15px
  }
  .phone-support h3 {
    font-size: 16px;
  }
  .download-header{
        flex-direction: column;
    text-align: center;
  }
    
   label.form-label {
    font-size: 14px;
} 
     .sideRight {
        top: 0 !important;
        position: relative !important;
        background: var(--bs-primary-color);
        margin: 0;
        padding: 15px 0;
    }
.sideRight .networks_linking {
    flex-direction: inherit;
    justify-content: center;
}
  .sideRight .networks_linking a, .sideRight a.WhatsApp-contact { 
    display: inline-block;
    margin: 0 3px;
  }
      .sideRight a.WhatsApp-contact {
        bottom: 0;
        right: -40px;
    }
  .sideRight a.networks.networks_instagram {
        margin-bottom: 0;
        margin-right: 40px;
    }
  
      .bx-right-top {
        padding: 10px 5px;
    }
      .bx-right-top.bx1 { 
        max-width: 250px; 
    }
  .bx-right-top .phone-responsive { 
    font-size: 15px;
  }
  .language.language1 a { 
    font-size: 15px;
  } 
      .head-middle h2 {
        font-size: 20px;
  }
      .head-middle .bx-right { 
        flex-direction: column;
        gap: 10px;
    }
      section.home-content.content.content-home h1 {
        font-size: 22px;
    }
  section.partenaires h2, section.content.content-first.content-first2 h2 { 
    font-size: 26px;
  }
      section.partenaires .partenaires-slider, section.partenaires .partenaires-slider2 {
        grid-template-columns: 1fr;
    }
      section.content.content-first.content-first2 h5 {
        font-size: 20px;
        white-space: normal;
    }
  section.content.content-first.content-first2 .bx-picto:before { 
    left: 25px;
    right: 25px;
    top: 25px;
    bottom: 25px;
  }
      section.content.content-first.content-first2 .bx-picto {
        width: 250px;
        height: 250px;
    }
      section.content.content-first.content-first2 .bx-picto:hover {
        max-width: 250px;
  }
  section.content.content-first.content-first2 .bx-picto .icon { 
    width: 80px;
    height: 80px;
  }
  section.content.content-first.content-first2 .bx-picto:hover .icon {
    width: 70px;
    height: 70px;
}
      section.content.content-first.content-first2 .pictos-slider { 
        gap: 40px;
    }
  section.boxs .txt-bx { 
    padding: 25px 15px;
  }
  section.boxs .txt-bx h3{
        font-size: 20px;
  }
      section.home-content.content.content-home:before {
        top: -50px;
    }
  	/*********/
h1, .h1 {
    font-size: 28px;
}
h2, .h2 {
    font-size: 26px;
}
h3, .h3 {
    font-size: 24px;
}
h4, .h4 {
    font-size: 21px;
}
h5, .h5 {
    font-size: 19px;
}
h6, .h6 {
    font-size: 17px;
} 
  
section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
    width: 100%;
    height: 250px;
} 
      .contactForm .gdpr_policy label {
          display: inline !important;
      }
   section.content.page-content.content-page ul#myTab li.nav-item { 
    width: 100%;
  }
  section.content.page-content.content-page .bloc4 .bx-img a {
    padding: 20px
  }
  section.content.page-content.content-page .partenaires-slider-page { 
    gap: 5px;
}
     input#tags {
    width: 200px;
}
  .searchForm {
    width: 200px !important;
}
        section.boxs article:after { 
        bottom: 30px;
     right: 0;
    }
  
  
  /* --- */
  section.banner.banner-page-cable .banner-wrapper h2 {
	font-size: 28px;
}
  section.banner.banner-page-cable .hero-buttons {
	gap: 10px;
	flex-wrap: wrap;
}
  section.banner.banner-page-cable .hero-buttons .btn {
	margin: 0;
}
  .chiffres .hero-stats {
	gap: 20px 50px;
	text-align: center;
	align-items: center;
}
  .chiffres .hero-stats .stat .number {
	justify-content: center;
}
  .expertises-section .expertise-card .card-title {
	font-size: 19px;
	margin-bottom: 10px;
}
  .expertises-section .expertise-card .card-icon {
	margin-bottom: 17px;
}
  .section-header h2 {
	font-size: 25px;
}
  .processus-section .step-title {
	flex-direction: column;
	align-items: start;
}
  .processus-section .timeline-item {
	gap: 13px;
}
  .processus-section .metrics-cards {
	left: 10px;
	right: 10px;
}
  .processus-section .security-callout {
	padding: 20px 15px;
}
  .avantages-section .avantage-card .avantage-title {
	font-size: 20px;
}
  .avantages-section .cta-section .cta-title {
	font-size: 19px;
}
  .services .services-grid, .email-security .efficiency-stats {
	grid-template-columns: 100%;
}
  .email-security .mib-header {
	flex-wrap: wrap;
}
  .email-security .volume-item {
	flex-direction: column;
	gap: 10px;
}
  .soc-section .panel-header {
	flex-wrap: wrap;
}
  .soc-section .panel-header h3 {
	margin: 0;
}
  .soc-section .chart-bars {
	gap: 3px;
	height: 74px;
}
  .soc-section .soc-features {
	grid-template-columns: 100%;
}
  .soc-section .siem-sources {
	padding: 35px 15px;
}
  .soc-section .siem-header {
	flex-wrap: wrap;
}
  .soc-section .sources-grid {
	grid-template-columns: 100%;
}
  .soc-section .guarantee-item {
	flex-direction: column;
    text-align: center;
}
  .why-choose .tech-grid {
	grid-template-columns: 100%;
}
  .cta-section2 h2 {
	font-size: 22px;
}
  .cta-section2 .contact-detail {
	flex-direction: column;
}
  .cta-section2 .cta-buttons-group {
	gap: 0;
	flex-direction: column;
}
  .hero.wifi .hero-text h1 {
	font-size: 29px;
}
  .hero.wifi .hero-buttons {
	flex-direction: column;
}
  .impact-section.wifi .impact-item, .weblib-section.wifi .weblib-item {
	gap: 15px;
	flex-direction: column;
}
  .impact-section.wifi .image-placeholder.jellyfish {
	height: auto;
}
  .services-section.wifi .service-card {
	padding: 20px 15px;
}
  .cta-section.wifi .cta-buttons {
	flex-direction: column !important;
}
}