/*========================================================================*/



/* ///////////////////////////////////////////////////////////////////// 
// 03 - Preloader
/////////////////////////////////////////////////////////////////////*/

#preloader {
    position:fixed;
    left:0;
    top:0;
    z-index:99999999999;
    width:100%;
    height:100%;
    overflow:visible;
    background: #fff url('../img/preloader.gif') no-repeat center center;
}





/* ==========================================================================
	Global Styles
========================================================================== */
a {
	color: #E04343;
	-webkit-transition:all 0.5s;
	-moz-transition:all 0.5s;
	-o-transition:all 0.5s;
	transition:all 0.5s;
	border-bottom: 1px dashed;
	outline:none!important;
}
a:hover,a:focus,a:active {
	color:#0D0D0D;
	text-decoration:none;
	outline:none!important;
}
p {
	color:#8c9398;
	word-spacing:1px;
	line-height:25px;
	font-size:14px;
}
h2 {
	font-size:15px;
	color:#353535!important;
	text-transform:uppercase;
	font-weight:bold;
}
h2::after {
	content:" ";
	border:solid 1px #CCCCCC;
	display:block;
	width:65px;
	margin:20px auto;
}
h6 {
	font-size:15px;
	color:#8c8c8c;
	text-transform:uppercase;
	font-weight:bold;
}
h6::after {
	content:" ";
	border:solid 1px #CCCCCC;
	display:block;
	width:65px;
	margin-top: 20px;
}
/* ==========================================================================HTML5 display definitions========================================================================== */
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary {
	display:block;
}
audio,canvas,video {
	display:inline-block;
	*display:inline;
	*zoom: 1;
}
* Remove excess height in iOS 5 devices. */
audio:not([controls]) {
	display:none;
	height:0 !important;
}
[hidden] {
	display: none;
}
/* ==========================================================================Base========================================================================== */
html {
	font-size:100%;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}
html,html a {
	-webkit-font-smoothing:antialiased;
	text-shadow:1px 1px 1px rgba(0,0,0,0.004);
}
html,button,input,select,textarea {
	font-family:'Varela Round',sans-serif;
}
body {
	
	margin:0;
	font-family: 'Open Sans',sans-serif;
}
/* ==========================================================================Links========================================================================== */
a:focus {
	outline:thin dotted;
}
a:active,a:hover {
	outline: 0;
}
/* ==========================================================================Typography========================================================================== */
@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400);
h1 {
	font-size:2em;
	margin:0.67em 0;
	color:#353535;
}
h2 {
	font-size:1.5em;
	margin:0.83em 0;
}
h3 {
	font-size:1.17em;
	margin:1em 0;
}
h4 {
	font-size:1em;
	margin:1.33em 0;
}
h5 {
	font-size:0.83em;
	margin:1.67em 0;
}
h6 {
	font-size: 12px;
	margin:2.33em 0;
}
abbr[title] {
	border-bottom:1px dotted;
}
b,strong {
	font-weight:bold;
}
blockquote {
	margin:0em 55px;
	border-left:4px solid #CCCCCC;
}
dfn {
	font-style:italic;
}
mark {
	background:#ff0;
	color:#000;
}
p,pre {
	margin:1em 0;
}
code,kbd,pre,samp {
	font-family:monospace,serif;
	_font-family:'courier new',monospace;
	font-size:1em;
}
pre {
	white-space:pre;
	white-space:pre-wrap;
	word-wrap:break-word;
}
q {
	quotes:none;
}
q:before,q:after {
	content:'';
	content:none;
}
small {
	font-size:75%;
}
sub,sup {
	font-size:75%;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}
sup {
	top:-0.5em;
}
sub {
	bottom:-0.25em;
}
p {
	font-size: 14px;
	font-weight:100;
	line-height: 28px!important;
}
/* ==========================================================================Lists========================================================================== */

dl,menu,ol,ul {
	margin:1em 0;
}
dd {
	margin:0 0 0 40px;
}
menu,ol,ul {
	padding:0 0 0 40px;
}
nav ul,nav ol {
	list-style:none;
	list-style-image: none;
}
/* ==========================================================================Embedded content========================================================================== */
img {
	border:0;
	-ms-interpolation-mode:bicubic;
}
svg:not(:root) {
	overflow: hidden;
}
/* ==========================================================================Figures========================================================================== */
figure {
	margin: 0;
}
/* ==========================================================================Forms========================================================================== */
form {
	margin:0;
}
fieldset {
	border:1px solid #c0c0c0;
	margin:0 2px;
	padding:0.35em 0.625em 0.75em;
}
legend {
	border:0;
	padding:0;
	white-space:normal;
	*margin-left:-7px;
}
button,input,select,textarea {
	font-size:100%;
	/margin:0;
	vertical-align:baseline;
	*vertical-align:middle;
}
button,input {
	line-height:normal;
}
button,html input[type="button"],input[type="reset"],input[type="submit"] {
	-webkit-appearance:button;
	cursor:pointer;
	*overflow:visible;
}
button[disabled],input[disabled] {
	cursor:default;
}
input[type="checkbox"],input[type="radio"] {
	box-sizing:border-box;
	padding:0;
	*height:13px;
	*width:13px;
}
input[type="search"] {
	-webkit-appearance:textfield;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {
	-webkit-appearance:none;
}
button::-moz-focus-inner,input::-moz-focus-inner {
	border:0;
	padding:0;
}
textarea {
	overflow:auto;
	vertical-align: top;
}
/* ==========================================================================Tables========================================================================== */
table {
	border-collapse:collapse;
	border-spacing: 0;
}
/* ==========================================================================Section Styles========================================================================== */
.section-padding {
	padding:90px 0 100px
}
.dark-bg {
	background:#f3f5f8;
}
.light-bg {
	background-color:#fff;
}
.dark-box {
	background: #F3F5F8;
	-webkit-box-shadow: 0px 3px 0px 0px #E04343;
	-moz-box-shadow: 0px 3px 0px 0px #E04343;
	box-shadow: 0px 3px 0px 0px #E04343;
	padding:20px 0;
}
.dark-box:hover,.dark-box:focus {
	-webkit-box-shadow: 0px 3px 0px 0px #FFE801;
	-moz-box-shadow: 0px 3px 0px 0px #FFE801;
	box-shadow: 0px 3px 0px 0px #FFE801;
}
.box-hover {
	transition:all 500ms ease-in-out;
	-webkit-transition:all 500ms ease-in-out;
	-moz-transition:all 500ms ease-in-out;
	-o-transition:all 500ms ease-in-out;
}
.box-hover:hover,.box-hover:focus {
	transform:translate(0,-15px);
	-webkit-transform:translate(0,-15px);
	-ms-transform:translate(0,-15px);
}
.wrapper {
	height:650px;
}
.nopadding {
	padding:0;
}
.inner {
	padding-top: 138px;
}
/* ========================================================================== Navigation ========================================================================== */
/* Menu - Général */
.menu-wrap a {
	color:#555d7c;
	outline:none!important;
}
.menu-wrap a:hover,.menu-wrap a:focus {
	color: #00055e;
}
.content-wrap {
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
	-webkit-transition:-webkit-transform 0.4s;
	transition:transform 0.4s;
	-webkit-transition-timing-function:cubic-bezier(0.7,0,0.3,1);
	transition-timing-function:cubic-bezier(0.7,0,0.3,1);
}
.content {
	position:relative;
	background:#b4bad2;
	padding-bottom: 12em;
}
/* Common styles for menu button and menu-wrap */
.menu-button,.menu-wrap {
	position:fixed;
	width:2.5em;
	height:2.25em;
	font-size:1.5em;
	-webkit-transform:translate3d(1.5em,1.5em,0);
	transform: translate3d(1.5em,1.5em,0);
}
/* Menu Button */
.menu-button {
	z-index:1000;
	margin:0;
	padding:0;
	border:none;
	text-indent:2.5em;
	color:transparent;
	background:transparent;
}
.menu-button::before {
	position:absolute;
	top:0.5em;
	right:0.5em;
	bottom:0.5em;
	left:0.5em;
	background: linear-gradient(#00055e 20%,rgba(0, 0, 0, 0) 20%,rgba(0, 0, 0, 0) 40%,#00055e 40%,#00055e 60%,rgba(0, 0, 0, 0) 60%,rgba(0, 0, 0, 0) 80%,#00055e 80%);
	content:'';
}
.menu-button:hover {
	opacity: 0.6;
}
/* Menu */
.menu-wrap {
	z-index:999;
	background: transparent;
	-webkit-transition:width 0.04s,height 0.04s,-webkit-transform 0.04s;
	transition:width 0.04s,height 0.4s,transform 0.04s;
	-webkit-transition-timing-function:cubic-bezier(0.7,0,0.3,1);
	transition-timing-function:cubic-bezier(0.7,0,0.3,1);
}
.menu {
	height:100%;
	overflow:hidden;
	font-size:0.75em;
}
.icon-list {
	float:right;
	padding:2.5em 2em 0 6em;
}
.icon-list a {
	opacity:0;
	display:inline-block;
	padding:0 0.2em;
	margin:0 15px;
	text-align:center;
	font-size:1.2em;
	color: #00055e;
	background: rgba(255, 255, 255, 0.471);
}
.icon-list a span {
	display:block;
	text-transform:uppercase;
	letter-spacing:1px;
	font-size:0.5em;
	font-weight:700;
	padding-top: 0.5em;
}

/* Shown menu */
.show-menu .content-wrap {
	-webkit-transition-delay:0s;
	transition-delay:0s;
	-webkit-transform:translate3d(0,125px,0);
	transform:translate3d(0,125px,0);
}
.show-menu .menu-wrap {
	width:100%;
	height:125px;
	-webkit-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
	-webkit-transition-delay:0s;
	transition-delay:0s;
	border-bottom: 1px solid #00055e;
}

.show-menu .icon-list a {
	opacity:1;
	-webkit-transition:opacity 0.04s 0.04s;
	transition:opacity 0.04s 0.04s;
}
.show-menu .icon-list a:nth-child(2) {
	-webkit-transition-delay:0.02s;
	transition-delay:0.02s;
}
.show-menu .icon-list a:nth-child(3) {
	-webkit-transition-delay:0.04s;
	transition-delay:0.04s;
}
.show-menu .icon-list a:nth-child(4) {
	-webkit-transition-delay:0.06s;
	transition-delay:0.06s;
}
.show-menu .icon-list a:nth-child(5) {
	-webkit-transition-delay:0.08s;
	transition-delay:0.08s;
}
.show-menu .icon-list a:nth-child(6) {
	-webkit-transition-delay:0.1s;
	transition-delay: 0.1s;
}

/* Media Queries pour Responsivité */

/* Pour les écrans larges (web) - Affichage Horizontal */
@media (min-width: 768px) {
    .menu-wrap {
		
        width: 100%;
		height: 0%;
        background: transparent;
    }

    .icon-list {
        display: flex; /* Utilisation de Flexbox pour aligner les éléments horizontalement */
        justify-content: center; /* Aligne les éléments horizontalement au centre */
        padding: 1em 1em; /* Ajout d'un peu de padding autour du menu */
    }

    .icon-list a {
        display: inline-flex; /* Changer pour inline-flex pour que les éléments se comportent comme des éléments en ligne */
        align-items: center; /* Aligner le texte et l'icône verticalement */
        padding: 1em 2em; /* Espacement entre les éléments */
        margin: 0 1em; /* Espacement entre chaque lien */
        font-size: 0.85em;
        color: #00055e;
        background: white;
        
    }

    .icon-list a:hover, .icon-list a:focus {
        color: #00055e;
        background: white; /* Change de fond au survol */
    }
}

/* Pour les petits écrans (mobiles) - Affichage Vertical */
@media (max-width: 767px) {
    .menu-wrap {
        width: 100%;
        height: 0%;
        background: transparent;
    }

	.icon-list {
		float:right;
		padding:2.5em 2em 0 6em;
	}
	.icon-list a {
		opacity:0;
		display:inline-block;
		padding:0 0.1.5em;
		margin:0 10px;
		text-align:center;
		font-size:0.2em;
		color: #00055e;
		background: white;
	}
	.icon-list a span {
		display:block;
		text-transform:uppercase;
		letter-spacing:1px;
		font-size:0.10em;
		font-weight:200;
		padding-top: 0.5em;
	}

    .icon-list a:hover, .icon-list a:focus {
        color: #00055e;
    }
}


/*==================================================impact==========================================*/
/* Section Impact */
.s-impact {
    padding: 50px 20px;
    background-color: #00055e;
}

.s-impact__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

/* Cartes de la section Impact */
.impact-card {
    width: 30%; /* Chaque carte prend environ un tiers de l'espace */
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    transition: transform 0.3s ease;
}

.impact-card:hover {
    transform: translateY(-10px);
}

.impact-card__content {
    padding: 10px;
}

.impact-card__title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: black;
}

.impact-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.impact-list li {
    margin-bottom: 10px;
    font-size: 1rem;
    color: #555;
}

.impact-list li strong {
    color: #333;
}


              
              
/* Couleurs spécifiques pour chaque carte */
.card-commerce {
    background-color: #ff298b; /* Bleu clair */
}

.card-sante {
    background-color: #3de2e5; /* Vert clair */
}

.card-tourisme {
    background-color: #ffe600; /* Jaune pâle */
}

.card-finance {
    background-color: #3de2e5; /* Gris clair */
}

.card-tech {
    background-color:#ffe600 ; /* Bleu très clair */
}

.card-rh {
    background-color:#ff298b ; /* Gris très clair */
}

/* Styles Responsives */
@media (max-width: 1200px) {
    .s-impact__list {
        flex-wrap: wrap; /* Les cartes se réorganisent en plusieurs lignes sur les écrans plus petits */
        justify-content: center; /* Centrer les cartes sur l'écran */
    }

    .impact-card {
        width: 45%; /* Réduit la largeur des cartes à 45% sur des écrans moyens */
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .impact-card {
        width: 100%; /* Les cartes prennent toute la largeur sur les écrans plus petits */
        margin-bottom: 20px;
    }

    .impact-card__title {
        font-size: 1.3rem; /* Ajuste la taille du titre sur mobile */
    }

    .impact-list li {
        font-size: 0.9rem; /* Réduit la taille de la police pour mobile */
    }
}

@media (max-width: 480px) {
    .impact-card__title {
        font-size: 1.1rem; /* Ajuste encore la taille du titre pour les très petits écrans */
    }

    .impact-list li {
        font-size: 0.85rem; /* Réduit davantage la taille de la police pour petits écrans */
    }

    .impact-card {
        padding: 15px; /* Réduit les espacements pour les petits écrans */
    }
}


/* ==========================================================================Hero========================================================================== */





/* Style de la section hero */
.background-fixed {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('../img/header-bg.png') center center  no-repeat ;
	background-size: 80% 100%;
    z-index: -20;
}

/* Section .hero */
.hero {
    position: relative;
    padding:  10px 0 80px 0;
    color: #FBFBFB;
    overflow: hidden;
	margin: 0;
   
}

/* Taille du texte dans .hero pour les grands écrans */
.hero h1 {
    font-size: 8vw; /* Utilisation des vw pour une mise à l’échelle fluide */
    letter-spacing: -0.5vw;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.hero h3 {
    font-size: 3vw;
    opacity: 0.8;
    color: #E04343;
    letter-spacing: 1vw;
    line-height: 1.5;
    text-transform: uppercase;
}

/* Ajustements pour les petits écrans */




/* Ajustements spécifiques pour les écrans ultra-petits (jusqu'à 716px) */
@media (max-width: 781px) {
	.background-fixed {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url('../img/header-bg.png') center center  no-repeat ;
		background-size: 100% auto;
		z-index: -20;
	}
    .hero {
        padding: 130px 0 !important;
		margin: 0;
		
    }
	.background-fixed {
        background-attachment: scroll; /* Désactive la fixation pour les petits écrans */
    }

    .hero h1 {
        font-size: 8vw !important;
        line-height: 1 !important;
        letter-spacing: -0.2vw !important;
    }

    .hero h3 {
        font-size: 2.5vw !important;
        letter-spacing: 0.2vw !important;
        line-height: 1.2 !important;
    }

    .scrollto {
        padding: 10px 0 !important;
        width: 90px !important;
    }

    .scrollto p {
        font-size: 10px !important;
    }

    .scrollto--arrow img {
        width: 10px !important;
        height: auto !important;
    }
}

@media (max-width: 400px) {
    .background-fixed {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('../img/header-bg.png') center center no-repeat;
        background-size: cover; /* Adapter au petit écran */
        z-index: -20;
    }

    .hero {
        padding: 120px 0 !important; /* Ajuster l'espacement */
        margin: 0;
    }

    .hero h1 {
        font-size: 6vw !important; /* Réduire encore la taille */
        line-height: 1 !important;
        letter-spacing: -0.3vw !important;
    }

    .hero h3 {
        font-size: 2vw !important;
        letter-spacing: 0.1vw !important;
        line-height: 1.2 !important;
    }

    .scrollto {
        padding: 8px 0 !important; /* Réduire les marges internes */
        width: 70px !important; /* Adapter la taille */
    }

    .scrollto p {
        font-size: 8px !important; /* Réduire encore la taille */
    }

    .scrollto--arrow img {
        width: 8px !important; /* Ajuster la taille de l'image */
        height: auto !important;
    }
}


/* ==========================================================================Intro========================================================================== */
.intro p {
	margin:50px 0 0;
}
h1.arrow {
	font-size: 16px;
	text-transform:uppercase;
	color:#353535;
	letter-spacing: 4px;
	background:url('../img/h1-bg.png') no-repeat center bottom;
	padding-bottom:30px;
	font-weight: bold;
}
h1.arrow span {
    color: #00055e;
}
/* ==========================================================================About========================================================================== */
/* Pour les écrans plus grands, on garde le même comportement */
.about-image {
    height: 400px; /* Hauteur de l'image */
    width: 100%; /* Largeur à 100% de son parent */
    max-width: 800px; /* Largeur maximale de 800px */
    min-width: 500px; /* Largeur minimale de 500px */
    background-size: cover; /* L'image couvre entièrement l'élément */
    background-position: center; /* Centre l'image */
    background-repeat: no-repeat; /* Evite que l'image se répète */
}

/* Pour les écrans plus petits, ajuster les styles pour le texte et l'image */
@media (max-width: 767px) {
    .row.color-bg {
        display: block; /* On empile les colonnes pour les petits écrans */
    }
    
    .about-text {
        width: 100%; /* Le texte doit prendre toute la largeur */
        padding: 15px; /* Ajouter un peu de padding pour aérer le texte */
    }

    .about-image {
        height: 300px; /* Ajuster la hauteur de l'image pour les petits écrans */
        min-width: 100%; /* L'image doit prendre toute la largeur */
        max-width: 100%; /* S'assurer que l'image ne dépasse pas la largeur de l'écran */
    }
}

  
.color-bg {
	background: #00055e;
}
.color-bg1 {
	background: #3de2e5;
}
.color-bg2 {
	background: #ffe600;
}
.color-bg3 {
	background: #ff298b;
}


.color-bg h6, .color-bg p {
    color: white;
}
.color-bg h6, .color-bg1 p {
    color: black;
}
.color-bg h6, .color-bg2 p {
    color: black;
}
.color-bg h6, .color-bg3 p {
    color: white;
}
.color-bg h6, .color-bg3 h6 {
    color: white;
}
.color-bg h6, .color-bg2 h6 {
    color: black;
}
.color-bg h6, .color-bg h6 {
    color: white;
}
.color-bg h6, .color-bg1 h6 {
    color: black;
}
.color-bg h6::after{
	border-color: #fff;
}
.color-bg p{
	border-color: #fff;
}
.color-bg .weight-outline-btn {
    color: white;
    border-color: white;
}

.about-text {
	padding:20px 50px 25px 50px;
}
.about-text h1 {
	text-transform:uppercase;
	font-size:24px;
	color: #8C8C8C;
}
.color-bg h1.arrow span {
    color: #FFE800;
}
.color-bg h1.arrow {
    color: #FFF;
}
/*------------------------------------------sites-------------------------*/

.symmetric-section {
	display: flex;
	justify-content: space-between;
	align-items: flex-start; /* Align en haut pour garder les titres alignés */
	gap: 20px; /* Espacement entre les colonnes */
	padding: 20px;
  }
  
  .section-item {
	flex: 1; /* Équilibre automatique des colonnes */
	padding: 10px;
	border: 1px solid #ddd;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
  }
  
  .section-item h2 {
	margin-bottom: 10px;
	color: #333;
  }
  
  .section-item p {
	color: #555;
	line-height: 1.6;
  }
	

.cinematic-section {
	width: 100%;
	height: 80vh;  /* Vous pouvez ajuster la hauteur si nécessaire */
	background: #111;
	border: solid 1px #222;
	padding: 2rem;
	box-sizing: border-box;  /* Ajouté pour que le padding ne modifie pas la hauteur totale */
	overflow: hidden;  /* Empêche le débordement du contenu hors de la section */
  }
  
  .containersection {
	perspective: 1200px;
	transform-style: preserve-3d;
	animation: cinematic-camera 11s cubic-bezier(0.6, 0, 0.4, 1) both infinite;
  }
  
  @keyframes cinematic-camera {
	from {
	  perspective-origin: 60% 40%;
	}
	to {
	  perspective-origin: 40% 60%;
	}
	from, to {
	  opacity: 0;
	}
	25%, 75% {
	  opacity: 1;
	}
  }
  
  .containersection:after {
	content: "";
	background: linear-gradient(to bottom, #000, #0000 20%, #0000 80%, #000);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
  }
  
  main {
	transform-origin: top center;
	transform-style: preserve-3d;
	animation: inherit;
	animation-name: cinematic;
  }
  
  @keyframes cinematic {
	from {
	  transform: translateZ(-200px) rotateY(30deg) translateY(50vh);
	}
	to {
	  transform: translateZ(-100px) rotateY(-30deg) translateY(-100%) translateY(50vh);
	}
  }
  
  img {
	max-width: 100%;
	display: block;
	transform-style: preserve-3d;
	animation: inherit;
	animation-name: image-pop;
  }
  
  @keyframes image-pop {
	70%, 100% {
	  transform: translate3d(0, 0, 60px);
	}
  }
  
  img:last-of-type {
	animation-delay: 4s;
  }
  
  .callout {
	text-align: center;
	background-color: #3173fa;
	padding: 1vw 3vw;
  }
  
  .callout p {
	color: white;
  }
  
  h1, h2, h3 {
	margin: 1rem 0;
	line-height: 1.3;
  }
  
  h1 {
	font-size: 5vw;
  }
  
  h2 {
	font-size: 2vw;
  }
  
  h3 {
	font-size: 2vw;
	font-weight: bold;
  }
  
  h2.subheader {
	font-size: 2vw;
  }
  
  section {
	margin-bottom: 1.5rem;
  }
  
  p {
	color: rgb(158, 166, 184);
	line-height: 1.8;
	margin: 1rem 0;
  }
  
  
/* ==========================================================================Services========================================================================== */
.services {
	margin-top:80px;
	margin-bottom:40px;
}
.services .icon {
	position:relative;
	width:175px;
	height:175px;
	margin:0 auto;
	text-align:center;
	line-height:180px;
	font-size:56px;
	color:#fff;
	border-radius:50%;
	box-shadow:0 0 0 0 rgba(0,0,0,0.0);
	margin-bottom:40px;
	-webkit-transition:all .3s ease-out;
	transition:all .3s ease-out;
	border: 1px solid #000;
	color: #000;
}
.services .item:hover .icon {
	background: #000;
	border: 1px solid #000;
}
.services .item [class*=fa] {
	-webkit-transition:all .3s ease-out;
	transition:all .3s ease-out;
}
.services .item:hover [class*=fa] {
	-webkit-transform:scale(1.2);
	transform:scale(1.2);
	-webkit-transition:all .3s ease-out;
	transition:all .3s ease-out;
	color:#fff;
}
.features-wrapper {
	margin:70px 0 0;
}
i.respons {
	position:relative;
	width:35px;
	height:35px;
	margin:0 auto;
	line-height:35px;
	text-align:center;
	font-size:15px;
	color:#fff;
	border-radius:50%;
	-webkit-transition:all .3s ease-out;
	transition:all .3s ease-out;
	border:1px solid #CCCCCC;
	color: #CCCCCC;
}




/*section pub 1 */
.section_pub1 {
    background-color: #312828; /* Arrière-plan */
    color: #ffe600!important;  /* Couleur du texte */
    padding: 50px 20px; /* Espacement interne */
    height: auto; /* Ajuster la hauteur automatiquement */
    display: flex;
    align-items: center; /* Centrage vertical */
    justify-content: flex-start; /* Alignement à gauche */
    text-align: left; /* Alignement du texte à gauche */
}

.section_pub1 h1 {
    margin: 0;
    padding: 0;
    font-size: 8.5em; /* Grande taille de police par défaut */
    line-height: 1.2;
	color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important;
}
.section_pub1 h2 {
    margin: 0;
    padding: 0;
    font-size: 5.5em; /* Grande taille de police par défaut */
    line-height: 1.2;
	color: #ff298b !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important;
}

@media (max-width: 768px) {
    .section_pub1 h1 {
        font-size: 6em;
		color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire la taille de police pour les écrans plus petits */
    }
	.section_pub1 h2 {
        font-size: 2em;
		color: #ff298b !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire la taille de police pour les écrans plus petits */
    }
}

@media (max-width: 400px) {
    .section_pub1 h1 {
        font-size: 4em;
		color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire encore plus pour les très petits écrans */
    }
	.section_pub1 h2 {
        font-size: 2em;
		color: #ff298b !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire encore plus pour les très petits écrans */
    }
}
/*section pub 2 */
.section_pub2 {
    background-color: #312828; /* Arrière-plan */
    color: #ffe600!important;  /* Couleur du texte */
    padding: 50px 20px; /* Espacement interne */
    height: auto; /* Ajuster la hauteur automatiquement */
    display: flex;
    align-items: center; /* Centrage vertical */
    justify-content: flex-start; /* Alignement à gauche */
    text-align: left; /* Alignement du texte à gauche */
}

.section_pub2 h1 {
    margin: 0;
    padding: 0;
    font-size: 8.5em; /* Grande taille de police par défaut */
    line-height: 1.2;
	color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important;
}
.section_pub2 h2 {
    margin: 0;
    padding: 0;
    font-size: 5.5em; /* Grande taille de police par défaut */
    line-height: 1.2;
	color: #3de2e5 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important;
}

@media (max-width: 768px) {
    .section_pub2 h1 {
        font-size: 4cqh;
		color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire la taille de police pour les écrans plus petits */
    }
	.section_pub2 h2 {
        font-size: 2em;
		color: #3de2e5 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire la taille de police pour les écrans plus petits */
    }
}

@media (max-width: 400px) {
    .section_pub2 h1 {
        font-size: 4em;
		color: #ffcc00 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire encore plus pour les très petits écrans */
    }
	.section_pub2 h2 {
        font-size: 2em;
		color: #3de2e5 !important; /* Couleur du texte avec !important */
    text-shadow: #312828 !important;
	font-family: 'Roboto', sans-serif !important; /* Réduire encore plus pour les très petits écrans */
    }
}
/*=======================================btn_link=================================================================*/
.btn-link {
	color: #007bff;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
  }
  
  .btn-link:hover {
	text-decoration: underline;
  }
  
  header h1 {
	text-align: center;
	margin-top: 20px;
	font-size: 2rem;
  }
  
  main.container {
	max-width: 800px;
	margin: 20px auto;
	padding: 10px;
	line-height: 1.6;
	font-family: Arial, sans-serif;
  }
  
  footer {
	text-align: center;
	margin-top: 20px;
	font-size: 0.9rem;
  }
  

  
/*========================================================SITEWEBS==================================================================*/

.benefits-section {
	max-width: 2200px;
	margin: 0 auto;
	padding: 40px 20px;
	text-align: center;
  }
  
  .benefits-section h1 {
	font-size: 2.5rem;
	margin-bottom: 20px;
	color: #222;
  }
  
  .benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 20px;
  }
  
  .benefit-item {
	background: #fff;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	padding: 20px;
	text-align: center;
	transition: transform 0.3s ease;
  }
  
  .benefit-item:hover {
	transform: translateY(-10px);
  }
  
  .benefit-icon {
	font-size: 2.5rem;
	color: #007bff;
	margin-bottom: 15px;
  }
  
  .benefit-item h2 {
	font-size: 1.5rem;
	margin-bottom: 10px;
	color: #222;
  }
  
  .benefit-item p {
	font-size: 1rem;
	color: #555;
  }
  
  @media (max-width: 768px) {
	.benefits-section h1 {
	  font-size: 2rem;
	}
  
	.benefit-item h2 {
	  font-size: 1.25rem;
	}
  
	.benefit-item p {
	  font-size: 0.95rem;
	}
  }


/* ==========================================================================iPhone Section========================================================================== */
.iphone {
	width:50%;
	background:#f3f5f8;
	float:left;
	height:100%;
	box-shadow:inset -15px -11px 40px -6px rgba(0,0,0,0.1);
	-moz-box-shadow:inset -15px -11px 40px -6px rgba(0,0,0,0.1);
	-webkit-box-shadow:inset -15px -11px 40px -6px rgba(0,0,0,0.1);
	z-index:1;
}
.fluid-white {
	width:50%;
	background:#fff;
	float:right;
	height:100%;
	z-index:2;
}
.responsive-services {
	position: relative;
}
/* ==========================================================================Portfolio========================================================================== */
.swag {
	padding:75px 0;
}
.swag h1 {
	text-transform:uppercase;
	letter-spacing:5px;
}
.swag h1 span {
	display:block;
	font-size:25px;
	margin-top:20px;
}
.down-arrow-btn {
	width:auto;
	height:40px;
	background:rgba(0,0,0,0.6);
	display:inline-block;
	margin:15px 5px 15px 5px;
	color:#fff;
	font-size:16px;
	line-height:40px;
	padding:0px 10px;
	text-align:center;
}
.down-arrow-btn:hover,.down-arrow-btn:focus {
	color:#fff;
	background:rgba(0,0,0,1);
}
.portfolio img {
	height:300px;
	width:100%;
}
img.grayscale {
	filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	/* Firefox 3.5+,IE10 */ filter:gray;
	/* IE6-9 */ -webkit-filter:grayscale(100%);
	/* Chrome 19+& Safari 6+*/ -webkit-transition:all .6s ease;
	/* Fade to color for Chrome and Safari */ -webkit-backface-visibility:hidden;
	/* Fix for transition flickering */
}
img.grayscale:hover {
	filter:none;
	-webkit-filter:grayscale(0%);
}
.row-offset-0 {
	margin-left:0;
	margin-right:0;
}
.row-offset-0>* {
	padding-left:0;
	padding-right:0;
}
.effects {
	padding-left:15px;
}
.effects .img {
	position:relative;
	position:relative;
	z-index:1;
	overflow:hidden;
}
.effects .img:nth-child(n) {
	margin-right:5px;
}
.effects .img:first-child {
	margin-left:-15px;
}
.effects .img:last-child {
	margin-right:0;
}
.effects .img img {
	display:block;
	margin:0;
	padding:0;
	height:auto;
}
.overlay {
	display:block;
	position:absolute;
	z-index:20;
	filter:none!important;
	-webkit-filter:grayscale(0%);
	overflow:hidden;
	transition:all 0.5s;
	-webkit-transition:all 0.5s;
	-moz-transition:all 0.5s;
	-o-transition:all 0.5s;
}
.overlay-effect .img i {
	font-size:30px;
}
.overlay-effect .overlay {
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	opacity:0;
}
.overlay-effect .overlay a.expand {
	left:0;
	right:0;
	bottom:47%;
	margin:0 auto -30px auto;
}
.overlay-effect .img.hover .overlay {
	height:100%;
	opacity:1;
}
.img img {
	width:-webkit-calc(100%+40px) !important;
	width:calc(100%+40px) !important;
	-webkit-transition:opacity 0.35s,-webkit-transform 0.35s;
	transition:opacity 0.35s,transform 0.35s;
	-moz-transition:opacity 0.35s,-moz-transform 0.35s;
	-o-transition:opacity 0.35s,-o-transform 0.35s;
	-webkit-transform:translate3d(-40px,0,0);
	transform:translate3d(-40px,0,0);
	-ms-transform:translate3d(-40px,0,0);
}
.img:hover img {
	-webkit-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
	-ms-transform:translate3d(-40px,0,0);
}
.hype {
	position:absolute;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	top: 50px;
}
/* ==========================================================================Subscribe========================================================================== */
.subscribe {
	padding-top:75px;
}
.subscribe h1 {
	color: #FFFFFF;
	margin-bottom:40px;
}
.subscribe h1 span {
	display:block;
	font-size:15px;
	text-transform:uppercase;
	font-weight:bold;
	margin-top:20px;
	letter-spacing:1px;
}
.subscribe input[type=text] {
	background-color:rgba(255,255,255,0.1);
	border: solid 1px #FFE800;
	padding:20px;
	width:30%;
	color:#808080;
}

.subscribe input[type=text]:focus {
    outline: none;
}
.subscribe input[type=submit] {
	background: #FFE800;
	border: solid 1px #FFE800;
	padding:20px;
	color: #E04343;
	text-transform:uppercase;
	letter-spacing:1px;
	transition:all 0.5s ease;
	-moz-transition:all 0.5s ease;
	-webkit-transition:all 0.5s ease;
	-o-transition:all 0.5s ease;
}
.subscribe input[type=submit]:hover {
	background: rgba(255, 232, 0, 0.9);
	border: solid 1px #FFE800;
	color: #E04343;
}
/* ==========================================================================CTA========================================================================== */
.spacer-cta {
	background-color: #E04343;
	padding:70px 0;
}
.outline-btn {
	display:inline-block;
	padding:25px 40px;
	color: #FFE801;
	border: solid 1px #FFE801;
	text-transform:uppercase;
	font-weight:bold;
	letter-spacing:1px;
}
.outline-btn:hover,.outline-btn:focus {
	color: #E04343;
	border: solid 1px #E04343;
	background: #FFE801;
}
.weight-outline-btn {
	display:inline-block;
	padding:20px 30px;
	color:#8C8C8C;
	border:solid 1px #8C8C8C;
	text-transform:uppercase;
	font-weight:bold;
	letter-spacing:1px;
}
.weight-outline-btn:hover,.outline-btn:focus {
	color:#424242;
	border: solid 1px #424242;
}
/* ==========================================================================Team========================================================================== */
.team img {
	margin-bottom:20px;
}
ul.social-buttons {
	list-style:none;
	margin:0;
	padding:0;
}
ul.social-buttons li {
	display:inline-block;
	margin-right:10px;
}
ul.social-buttons li:last-child {
	margin-right:0;
}
.social-btn {
	width:40px;
	height:40px;
	background: #E04343;
	display:inline-block;
	color:#fff;
	font-size:17px;
	line-height:40px;
	text-align:center;
}
.social-btn:hover,.social-btn:focus {
	background: rgba(255, 232, 0, 1);
	color: #E04343;
}
.social {
	margin-top: 25px
}
/* ==========================================================================Contact========================================================================== */
.up-btn {
	width:55px;
	height:55px;
	background: rgba(255, 232, 1, 0.9);
	display:block;
	margin:0 auto;
	color: #E04343;
	font-size:18px;
	line-height:52px;
	text-align:center;
	position:absolute;
	top:-26px;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
}
.up-btn:hover,up-btn:focus {
	color: black;
	background: #FFE800;
}
.contact-details {
	margin:70px 0;
}
.contact-details h2 {
	font-size:20px;
}
.contact-details h2 span {
	display:block;
	color:#545454;
	text-transform:uppercase;
	letter-spacing:1px;
	font-size:14px;
	margin-top:15px;
}
.contact-wrap {
	position:relative;
}
#googlemaps {
	width:100%;
	height:300px;
	left:15px;
	bottom:25px;
}
.contact {
	margin-top:-20px!important;
}
.contact label {
	float:left;
}
.contact .form-control {
	margin-bottom:20px;
	border:1px solid #cbcbcb;
	height:45px;
}
.contact textarea.form-control {
	height: 310px;
}

/* Inputs styles */
.contact .form-control {
	border-radius:0!important;
	;
	-webkit-box-shadow:none;
	box-shadow:none;
}
.contact .form-control:focus {
	-webkit-box-shadow:none;
	box-shadow:none;
	border:1px solid #B0B0B0;
}

.btn-send{
	background:#E04343;
	color: white;
	transition: all 0.4s;
	border-radius: 0;
	float: right;
}

.btn-send:hover{
	background: #FFE800;
	color: #E04343
}

button,button:focus,button:hover,button:active {
	outline: none!important;
}

/* ==========================================================================Footer========================================================================== */
footer a {
	color:#a1a9b0;
}
footer {
	background-color:#f3f5f8;
	padding:40px 0 30px;
}
footer p {
	color: #808080;
}
/*================= Section Avis Google =================*/

/* Conteneur des cartes */
#avisSlider {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	background-color: #00055e;
	gap: 20px; /* Espacement entre les cartes */
	flex-wrap: nowrap; /* Garde les cartes sur une seule ligne */
	overflow-x: auto; /* Défilement horizontal pour les petits écrans */
	padding-bottom: 10px; /* Pour éviter que la dernière ligne ne touche les bords */
  }
  
  /* Style des cartes */
  .wp4 {
	flex: 0 0 calc(33.33% - 20px); /* Les cartes occupent 1/3 de l'espace sur grand écran */
	max-width: calc(33.33% - 20px);
	background-color: #f4f4f4; /* Couleur de fond */
	padding: 20px;
	
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease; /* Animation pour effet de hover */
  }
  
  .wp4:hover {
	transform: scale(1.05); /* Zoom sur hover */
  }
  
  /* Image dans chaque carte */
  .wp4 .img {
	width: 100%;
	height: 200px; /* Hauteur fixe pour uniformiser les images */
	overflow: hidden;
	border-radius: 8px;
	margin-bottom: 15px;
  }
  
  .wp4 .img img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* Image remplissant son conteneur */
  }
  
  /* Masquer la barre de défilement */
  #avisSlider::-webkit-scrollbar {
	display: none;
  }
  
  /* Rendre responsive avec Media Queries */
  @media (max-width: 1024px) {
	.wp4 {
	  flex: 0 0 calc(50% - 20px); /* Deux cartes par ligne sur tablette */
	  max-width: calc(50% - 20px);
	}
  }
  
  @media (max-width: 768px) {
	.wp4 {
	  flex: 0 0 calc(100% - 20px); /* Une carte par ligne sur mobile */
	  max-width: calc(100% - 20px);
	}
  }
  
  .section-padding {
	padding: 50px 20px;
	background-color: #f9f9f9;
  }
  
  h1.arrow {
	font-size: 2rem;
	margin-bottom: 30px;
	color: #333;
  }
  
  /* Container des Cartes */
  .row #avisSlider {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center; /* Centrer les cartes */
  }
  
  /* Responsivité pour mobile */
  @media (max-width: 768px) {
	.wp4 {
	  width: 100%; /* Les cartes prennent toute la largeur sur mobile */
	  max-width: none;
	}
  }
  


/* ==========================================================================FlexSlider Custom CSS========================================================================== */
#servicesSlider {
	margin-top:2000px;
}
ul.slides li {
	margin-bottom:70px;
}
.features-slider {
	position:relative;
	padding:11% 100px 10% 100px;
	height:400px;
	background-color:#3F6184;
}
.features-slider ul {
	margin:0;
	padding:0;
	list-style:none;
}
.features-slider ul li {
	width:100%;
}
.features-slider li h1 {
	margin-bottom:15px;
	color:#fff;
	font-weight:400;
	font-size:22px;
}
.features-slider li p {
	color:#fff;
	font-size:14px;
}
#clientSlider .flex-control-nav {
	text-align:left;
}
#clientSlider .flex-control-nav li:first-child {
	margin:0px 4px 0px 0px;
}
#clientSlider small {
	font-size: 12px;
	font-weight: bold;
}
.flex-control-paging li a.flex-active {
    background: #E04343;
    border-color: #E04343;
}
.wp4 {
    margin-bottom: 30px; /* Ajout d'espace entre les blocs */
}

.wp4:not(:last-child) {
    margin-right: 20px; /* Espace entre les colonnes sauf la dernière */
}

.color-bg .flex-control-paging li a{
    background: white;
    border-color: white;
}

.color-bg .flex-control-paging li a.flex-active {
    background: #FFE800;
    border-color: #FFE800;
}
/* ==========================================================================Waypoints========================================================================== */
.wp1,.wp2,.wp3,.wp4,.wp5,.wp6 {
	visibility:hidden;
}
.bounceInLeft,.bounceInRight,.fadeInUp,.fadeInUpDelay,.fadeInDown,.fadeInUpD,.fadeInLeft,.fadeInRight {
	visibility:visible;
}
.delay-05s {
	animation-delay:0.5s;
	-webkit-animation-delay:0.5s;
}
.delay-1s {
	animation-delay:1s;
	-webkit-animation-delay:1s;
}
.wp3 {
	background:url('../img/iphone-bg.png') no-repeat center center;
	background-position:200px 10px;
	height: 100%;
}
/* ==========================================================================Responsive========================================================================== */
/* 320px (iPhone) */
@media screen and (max-width:414px) {
	.scrollto {
		padding: 95px 0px 0px 0px;
	}

	.hero h1 {
		font-size: 100px;
		line-height: 80px;
		margin-top: 65px;
}
}
/* 480px (WVGA - Low End Windows Phone) */
@media screen and (max-width:480px) {
	.wrapper {
		background:#f3f5f8;
		height:640px;
	}
	.iphone {
		display:none;
	}
	.fluid-white {
		display:none;
	}
	.wp2,.wp4,.wp5,.light-box {
		margin-bottom: 30px;
	}
}
/* xGA iPad */
@media screen and (max-width:1024px) {
	.wp3 {
		background-position:50px 0;
	}
	.swag {
		background-attachment:scroll;
	}
	.subscribe {
		background-attachment: scroll;
	}
}
/* 1200px (Small Desktop,Netbook) */
@media screen and (max-width:1280px) {
	.wp3 {
		background-position: 50px 0;
	}
}
/* Bootstrap 990px Breakpoint to 480px */
@media screen and (min-width:480px) and (max-width:991px) {
	.iphone {
		display:none;
	}
	.fluid-white {
		display:none;
	}
	.wrapper {
		background:#f3f5f8;
		height:540px;
	}
	.wp2,.wp4,.wp5,.light-box {
		margin-bottom:30px;
	}
}
@media screen and (max-width:50em) {
	.icon-list a {
		padding:0.5em 0em;
		margin:0 5px;
		font-size:1em;
	}
}







/** Responsive fixes **/
@media screen and (max-width:767px) {
	.inner {
    padding-top: 10px;
    text-align: center;
	}

	.hero h3 {
	    letter-spacing: 10px;
	}


	.hero {
	    padding-bottom: 0;
	}

	.subscribe input[type=text] {
	    width: 50%;
	    margin-bottom: 30px;
	}

	.btn-send {
	    float: none;
	
	    margin-bottom: 80px;
	}
	.effects .img {
    	margin-bottom: 15px;
	}
	.show-menu .icon-list a {
		display: block;
		width: 100%;
		float: left;
		margin-bottom: 10px;
	}

	.show-menu .menu-wrap {
		height: 100%;
	}
}


@media screen and (max-width:991px) {
	.hero {
    	padding: 0px;
	}

	.subscribe {
	    padding-bottom: 40px;
	}
}
