/*==================================================
      2C SARL - CHARTE GRAPHIQUE OFFICIELLE
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

    /* Couleurs officielles */

    --primary:#184891;
    --primary-dark:#0B3D91;
    --secondary:#BBC1CB;

    --white:#FFFFFF;
    --light:#F7F9FC;
    --dark:#1E293B;
    --text:#555555;

    /* Ombres */

    --shadow-sm:0 5px 15px rgba(0,0,0,.08);
    --shadow-md:0 10px 30px rgba(0,0,0,.10);
    --shadow-lg:0 20px 45px rgba(0,0,0,.15);

    /* Bordures */

    --radius-sm:10px;
    --radius-md:18px;
    --radius-lg:25px;

    /* Transition */

    --transition:.35s ease;

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--white);

    color:var(--text);

    line-height:1.8;

    overflow-x:hidden;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

    margin:0;

    padding:0;

}

section{

    padding:100px 0;

}

.container{

    width:90%;

    max-width:1320px;

    margin:auto;

}


/*====================================
            HEADER
====================================*/

.navbar{

background:rgba(8,31,77,.95);

padding:15px 0;

transition:.4s;

}

.navbar.sticky{

padding:10px 0;

box-shadow:var(--shadow-sm);

}

.navbar-brand img{

height:60px;

}

.navbar-nav .nav-link{

color:#FFFFFF;

font-weight:600;

margin-left:15px;

transition:.3s;

position:relative;

}

.navbar-nav .nav-link:hover,

.navbar-nav .nav-link.active{

color:var(--secondary);

}

.navbar-nav .nav-link::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:var(--secondary);

transition:.3s;

}

.navbar-nav .nav-link:hover::after,

.navbar-nav .nav-link.active::after{

width:100%;

}




/*==================================================
                NAVBAR 2C SARL
==================================================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

}

.navbar{

    background:rgba(255,255,255,.98);

    backdrop-filter:blur(10px);

    padding:16px 0;

    transition:all .35s ease;

    box-shadow:var(--shadow-sm);

}

/* Lorsque la page défile */

.navbar.scrolled{

    padding:10px 0;

    background:#FFFFFF;

    box-shadow:var(--shadow-md);

}

/* Logo */

.navbar-brand{

    display:flex;

    align-items:center;

}

.navbar-brand img{

    height:70px;

    width:auto;

    transition:var(--transition);

}

.navbar-brand img:hover{

    transform:scale(1.05);

}

/* Menu */

.navbar-nav{

    align-items:center;

    gap:10px;

}

.nav-link{

    position:relative;

    color:var(--primary);

    font-size:16px;

    font-weight:600;

    padding:12px 15px !important;

    transition:var(--transition);

}

/* Barre animée */

.nav-link::after{

    content:"";

    position:absolute;

    left:15px;

    bottom:6px;

    width:0;

    height:3px;

    border-radius:10px;

    background:var(--primary);

    transition:var(--transition);

}

.nav-link:hover{

    color:var(--primary-dark);

}

.nav-link:hover::after{

    width:calc(100% - 30px);

}

/* Lien actif */

.nav-link.active{

    color:var(--primary-dark);

}

.nav-link.active::after{

    width:calc(100% - 30px);

}

/* Bouton principal */

.btn-primary{

    background:linear-gradient(135deg,var(--primary),var(--primary-dark));

    color:#fff;

    border:none;

    border-radius:50px;

    padding:14px 34px;

    font-weight:600;

    letter-spacing:.4px;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-lg);

}

/* Bouton Menu Mobile */

.navbar-toggler{

    border:none;

    outline:none;

    box-shadow:none !important;

}

.navbar-toggler i{

    color:var(--primary);

    font-size:28px;

}

/*==================================================
                    HERO SECTION
==================================================*/

/*====================================
            HERO
====================================*/

.hero{

padding:180px 0 120px;

background:
linear-gradient(rgba(8,31,77,.90),
rgba(8,31,77,.90)),
url("../images/hero/GARE\ CENTRAL.JPG");

background-size:cover;

background-position:center;

color:#FFFFFF;

}

.hero-subtitle{

background:rgba(255,255,255,.12);

padding:10px 20px;

border-radius:30px;

font-size:14px;

font-weight:700;

display:inline-block;

margin-bottom:20px;

}

.hero h1{

font-size:58px;

font-weight:800;

line-height:1.2;

margin-bottom:25px;

}

.hero p{

font-size:18px;

line-height:1.8;

margin-bottom:30px;

color:#E5E5E5;

}

.hero-buttons .btn{

padding:15px 35px;

border-radius:50px;

font-weight:600;

margin-right:15px;

}

.hero img{

border-radius:20px;

box-shadow:var(--shadow-lg);

}



/*==================================================
            HERO RESPONSIVE
==================================================*/

@media(max-width:992px){

.hero{

background-attachment:scroll;

}

.hero h1{

font-size:50px;

}

.hero p{

font-size:19px;

}

}

@media(max-width:768px){

.hero{

text-align:center;

padding-top:120px;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:17px;

margin:auto auto 30px;

}

.hero .btn{

display:block;

width:100%;

margin:12px 0;

}

.hero-badge{

font-size:13px;

}

}


/*====================================
        QUI SOMMES-NOUS
====================================*/

.about-home{

padding:100px 0;

background:#FFFFFF;

}

.about-image img{

border-radius:20px;

box-shadow:var(--shadow-lg);

}

.about-home p{

color:var(--text);

line-height:1.9;

margin-bottom:20px;

}

.about-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin-top:30px;

}

.about-features div{

font-weight:600;

color:var(--primary);

}

.about-features i{

color:var(--secondary);

margin-right:10px;

}

/*====================================
            NOS SERVICES
====================================*/

.services{

padding:100px 0;

background:#F8F9FA;

}

.section-subtitle{

display:inline-block;

padding:8px 20px;

background:rgba(11,61,145,.08);

color:var(--primary);

border-radius:30px;

font-weight:700;

letter-spacing:1px;

margin-bottom:15px;

}

.section-title{

font-size:42px;

font-weight:800;

color:var(--primary);

margin-bottom:20px;

}

.section-description{

max-width:760px;

margin:auto;

color:var(--text);

line-height:1.9;

}

.service-card{

background:#FFFFFF;

padding:40px 30px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.35s;

height:100%;

border-top:5px solid transparent;

}

.service-card:hover{

transform:translateY(-10px);

border-top:5px solid var(--secondary);

box-shadow:var(--shadow-lg);

}

.service-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:rgba(11,61,145,.08);

display:flex;

align-items:center;

justify-content:center;

transition:.35s;

}

.service-card:hover .service-icon{

background:var(--primary);

}

.service-icon i{

font-size:40px;

color:var(--primary);

transition:.35s;

}

.service-card:hover .service-icon i{

color:#FFFFFF;

}

.service-card h3{

font-size:24px;

font-weight:700;

color:var(--primary);

margin-bottom:15px;

}

.service-card p{

color:var(--text);

line-height:1.8;

}

/*==================================================
            SERVICES RESPONSIVE
==================================================*/

@media(max-width:991px){

.service-card{

margin-bottom:30px;

}

}

@media(max-width:768px){

.service-card{

padding:35px 25px;

}

.service-icon{

width:85px;

height:85px;

}

.service-card h4{

font-size:22px;

}

.service-card p{

font-size:16px;

}

}




/*====================================
        NOS RÉALISATIONS
====================================*/

.projects{

padding:100px 0;

background:#FFFFFF;

}

.project-card{

background:#FFFFFF;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow-sm);

transition:.4s;

height:100%;

}

.project-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.project-image{

overflow:hidden;

}

.project-image img{

width:100%;

height:270px;

object-fit:cover;

transition:.4s;

}

.project-card:hover .project-image img{

transform:scale(1.08);

}

.project-content{

padding:30px;

}

.project-content span{

display:inline-block;

background:rgba(11,61,145,.08);

color:var(--primary);

padding:8px 16px;

border-radius:25px;

font-size:14px;

font-weight:600;

margin-bottom:15px;

}

.project-content h3{

font-size:24px;

font-weight:700;

color:var(--primary);

margin-bottom:15px;

}

.project-content p{

line-height:1.8;

color:var(--text);

margin-bottom:20px;

}

.project-btn{

text-decoration:none;

font-weight:700;

color:var(--primary);

transition:.3s;

}

.project-btn i{

margin-left:8px;

transition:.3s;

}

.project-btn:hover{

color:var(--secondary);

}

.project-btn:hover i{

margin-left:15px;

}

/*==================================================
      RÉALISATIONS RESPONSIVE
==================================================*/

@media(max-width:992px){

.project-card{

margin-bottom:30px;

}

.project-card img{

height:260px;

}

}

@media(max-width:768px){

.project-card img{

height:220px;

}

.project-overlay-content h4{

font-size:20px;

}

.project-info h5{

font-size:20px;

}

}


/*==================================================
          POURQUOI CHOISIR 2C SARL
==================================================*/

.advantages{

    background:var(--light);

    padding:100px 0;

}

.advantage-card{

    position:relative;

    background:var(--white);

    border-radius:20px;

    padding:40px 30px;

    text-align:center;

    height:100%;

    overflow:hidden;

    transition:all .35s ease;

    box-shadow:var(--shadow-sm);

    border-top:5px solid transparent;

}

.advantage-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

    border-top:5px solid var(--primary);

}

/* Cercle icône */

.advantage-icon{

    width:95px;

    height:95px;

    border-radius:50%;

    margin:auto;

    margin-bottom:25px;

    background:linear-gradient(135deg,var(--primary),var(--primary-dark));

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.advantage-card:hover .advantage-icon{

    transform:rotate(10deg) scale(1.08);

}

.advantage-icon i{

    font-size:42px;

    color:#FFFFFF;

}

.advantage-card h4{

    color:var(--primary);

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

}

.advantage-card p{

    color:var(--text);

    line-height:1.8;

}

.advantage-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    background:rgba(24,72,145,.05);

    border-radius:50%;

    right:-80px;

    top:-80px;

    transition:.5s;

}

.advantage-card:hover::before{

    transform:scale(1.3);

}



/*==================================================
      AVANTAGES RESPONSIVE
==================================================*/

@media(max-width:991px){

.advantage-card{

margin-bottom:30px;

}

}

@media(max-width:768px){

.advantage-card{

padding:35px 25px;

}

.advantage-icon{

width:80px;

height:80px;

}

.advantage-icon i{

font-size:35px;

}

.advantage-card h4{

font-size:22px;

}

}



/*====================================
        PROCESSUS DE TRAVAIL
====================================*/

.work-process{

padding:100px 0;

background:#F8F9FA;

}

.process-card{

background:#FFFFFF;

padding:40px 25px;

text-align:center;

border-radius:20px;

box-shadow:var(--shadow-sm);

position:relative;

transition:.4s;

height:100%;

}

.process-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.process-number{

position:absolute;

top:20px;

right:20px;

font-size:38px;

font-weight:800;

color:rgba(11,61,145,.12);

}

.process-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

background:rgba(11,61,145,.08);

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.3s;

}

.process-card:hover .process-icon{

background:var(--primary);

}

.process-icon i{

font-size:38px;

color:var(--primary);

transition:.3s;

}

.process-card:hover .process-icon i{

color:#FFFFFF;

}

.process-card h4{

font-size:24px;

font-weight:700;

color:var(--primary);

margin-bottom:15px;

}

.process-card p{

color:var(--text);

line-height:1.8;

}



/*====================================
            NOS CHIFFRES
====================================*/

.stats{

padding:100px 0;

background:linear-gradient(rgba(8,31,77,.95),
rgba(8,31,77,.95)),
url("../images/hero/engeins.JPG");

background-size:cover;

background-position:center;

background-attachment:fixed;

}

.stats .section-subtitle{

background:rgba(255,255,255,.12);

color:#FFFFFF;

}

.stats .section-title{

color:#FFFFFF;

}

.stats .section-description{

color:#EAEAEA;

}

.stat-card{

background:#FFFFFF;

padding:40px 25px;

text-align:center;

border-radius:20px;

box-shadow:var(--shadow-sm);

transition:.4s;

height:100%;

}

.stat-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.stat-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:rgba(11,61,145,.08);

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.stat-card:hover .stat-icon{

background:var(--primary);

}

.stat-icon i{

font-size:40px;

color:var(--primary);

transition:.4s;

}

.stat-card:hover .stat-icon i{

color:#FFFFFF;

}

.stat-number{

font-size:50px;

font-weight:800;

color:var(--primary);

margin-bottom:10px;

}

.stat-title{

font-size:18px;

font-weight:600;

color:var(--text);

margin:0;

}

/*====================================
        NOS PARTENAIRES
====================================*/

.partners{

padding:100px 0;

background:#FFFFFF;

}

.partner-card{

background:#FFFFFF;

border-radius:20px;

padding:30px;

box-shadow:var(--shadow-sm);

display:flex;

justify-content:center;

align-items:center;

height:160px;

transition:.4s;

}

.partner-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

.partner-card img{

max-width:120px;

max-height:70px;

width:auto;

height:auto;

filter:grayscale(100%);

opacity:.75;

transition:.4s;

}

.partner-card:hover img{

filter:grayscale(0);

opacity:1;

transform:scale(1.08);

}



/*==================================================
                    ACTUALITÉS
==================================================*/

.news{

    padding:100px 0;

    background:var(--light);

}

.news-card{

    background:#FFFFFF;

    border-radius:20px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:all .4s ease;

    height:100%;

}

.news-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

/* Image */

.news-image{

    position:relative;

    overflow:hidden;

}

.news-image img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.5s;

}

.news-card:hover .news-image img{

    transform:scale(1.08);

}

/* Date */

.news-date{

    position:absolute;

    top:20px;

    left:20px;

    background:var(--primary);

    color:#FFFFFF;

    padding:10px 18px;

    border-radius:12px;

    text-align:center;

    font-weight:600;

    box-shadow:var(--shadow-sm);

}

.news-date span{

    display:block;

    font-size:26px;

    font-weight:700;

}

/* Contenu */

.news-content{

    padding:30px;

}

.news-category{

    display:inline-block;

    background:rgba(24,72,145,.10);

    color:var(--primary);

    padding:6px 15px;

    border-radius:20px;

    font-size:13px;

    font-weight:600;

    margin-bottom:18px;

}

.news-content h4{

    color:var(--primary);

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

}

.news-content p{

    color:var(--text);

    line-height:1.8;

    margin-bottom:25px;

}

/* Bouton */

.news-content a{

    color:var(--primary);

    font-weight:700;

}

.news-content a:hover{

    color:var(--primary-dark);

}


/*==================================================
          ACTUALITÉS RESPONSIVE
==================================================*/

@media(max-width:991px){

.news-card{

margin-bottom:30px;

}

}

@media(max-width:768px){

.news-image img{

height:220px;

}

.news-content{

padding:25px;

}

.news-content h4{

font-size:22px;

}

}


/*==================================================
          STATISTICS RESPONSIVE
==================================================*/

@media(max-width:992px){

.stat-card{

margin-bottom:35px;

}

}

@media(max-width:768px){

.stat-number{

font-size:42px;

}

.stat-icon{

width:75px;

height:75px;

}

.stat-icon i{

font-size:30px;

}

}


/*==================================================
                NOTRE ÉQUIPE
==================================================*/

.team{

    padding:100px 0;

    background:#FFFFFF;

}

.team-card{

    position:relative;

    background:#FFFFFF;

    border-radius:20px;

    overflow:hidden;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:all .4s ease;

    height:100%;

}

.team-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

/* Image */

.team-image{

    position:relative;

    overflow:hidden;

}

.team-image img{

    width:100%;

    height:360px;

    object-fit:cover;

    transition:.5s;

}

.team-card:hover .team-image img{

    transform:scale(1.08);

}

/* Réseaux sociaux */

.team-social{

    position:absolute;

    left:50%;

    bottom:20px;

    transform:translateX(-50%);

    display:flex;

    gap:12px;

    opacity:0;

    transition:.35s;

}

.team-card:hover .team-social{

    opacity:1;

}

.team-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#FFFFFF;

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--primary);

    box-shadow:var(--shadow-sm);

    transition:.35s;

}

.team-social a:hover{

    background:var(--primary);

    color:#FFFFFF;

}

/* Contenu */

.team-content{

    padding:30px;

}

.team-content h4{

    color:var(--primary);

    font-size:24px;

    font-weight:700;

    margin-bottom:8px;

}

.team-content span{

    display:block;

    color:var(--secondary);

    font-weight:600;

    margin-bottom:15px;

}

.team-content p{

    color:var(--text);

    line-height:1.8;

}


/*==================================================
          TEAM RESPONSIVE
==================================================*/

@media(max-width:991px){

.team-card{

margin-bottom:30px;

}

}

@media(max-width:768px){

.team-image img{

height:300px;

}

.team-content{

padding:25px;

}

.team-content h4{

font-size:22px;

}

}










/*==============================
FEATURE BOX
==============================*/

.feature-box{

    background:#FFFFFF;

    padding:30px;

    border-radius:20px;

    transition:.4s;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.feature-box:hover{

    background:#0B3D91;

    color:#FFFFFF;

}

.feature-box:hover p{

    color:#FFFFFF;

}

.feature-box i{

    color:#FFFFFF;

    margin-bottom:20px;

}



/*==============================
PARTENAIRES
==============================*/

.partenaires img{
    height:80px;
    object-fit:contain;
    transition:.3s;
}

.partners img:hover{
    transform:scale(1.1);
}


/*====================================
        CONTACT
====================================*/

.contact-section{

padding:100px 0;

background:#F8F9FA;

}

.contact-info{

background:#0B3D91;

padding:40px;

border-radius:20px;

color:#FFFFFF;

height:100%;

}

.contact-item{

display:flex;

align-items:flex-start;

margin-bottom:30px;

}

.contact-item:last-child{

margin-bottom:0;

}

.contact-icon{

width:60px;

height:60px;

background:#FFC107;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

margin-right:20px;

flex-shrink:0;

}

.contact-icon i{

font-size:24px;

color:#0B3D91;

}

.contact-item h5{

font-weight:700;

margin-bottom:8px;

}

.contact-item p{

margin:0;

line-height:1.7;

}

.contact-form{

background:#FFFFFF;

padding:40px;

border-radius:20px;

box-shadow:var(--shadow-sm);

}

.contact-form .form-control{

height:55px;

border-radius:10px;

border:1px solid #DDD;

}

.contact-form textarea.form-control{

height:auto;

resize:none;

}

.contact-form .form-control:focus{

border-color:#0B3D91;

box-shadow:none;

}

.contact-form button{

padding:14px 35px;

border-radius:30px;

font-weight:600;

}



/*==============================
TEMOIGNAGES
==============================*/

.testimonial-box{

    background:#FFFFFF;

    padding:35px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.4s;

}

.testimonial-box:hover{

    transform:translateY(-10px);

}

.testimonial-box h5{

    color:#184891;

    margin-top:20px;

}






/*==============================
FOOTER
==============================*/

footer{

    background:#184891;

    color:#ffffff;

    padding:70px 0 20px;

}

footer h3,
footer h4{

    color:#FFFFFF;

}

footer ul{

    list-style:none;

    padding:0;

}

footer ul li{

    margin:10px 0;

}

footer a{

    color:#FFFFFF;

    text-decoration:none;

}

footer a:hover{

    color:#FFFFFF;

}

.social-icons a{

    display:inline-flex;

    width:50px;

    height:50px;

    background:#FFFFFF;

    color:#184891;

    border-radius:50%;

    align-items:center;

    justify-content:center;

    margin-right:10px;

    transition:.4s;

}

.social-icons a:hover{

    transform:translateY(-8px);

}


/*==============================
WHATSAPP
==============================*/

.whatsapp{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    color:#FFFFFF;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:32px;

    text-decoration:none;

    z-index:9999;

    box-shadow:0 10px 25px rgba(0,0,0,.3);

}


/*==============================
RESPONSIVE
==============================*/

@media(max-width:991px){

.hero h1{

font-size:45px;

}

.hero p{

font-size:18px;

}

.navbar{

padding:10px;

}

}

@media(max-width:768px){

.hero{

text-align:center;

}

.hero h1{

font-size:34px;

}

.btn-warning,
.btn-outline-light{

display:block;

margin:10px auto;

}

section h2{

font-size:30px;

}

}

/*==============================
BOUTON RETOUR EN HAUT
==============================*/

.top-btn{

position:fixed;

right:25px;

bottom:100px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#184891;

color:#FFFFFF;

font-size:22px;

cursor:pointer;

opacity:0;

visibility:hidden;

transition:.4s;

z-index:999;

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.top-btn.show{

opacity:1;

visibility:visible;

}

.top-btn:hover{

background:#184891;

color:#FFFFFF;

transform:translateY(-5px);

}




/*==============================
PAGE A PROPOS ABOUT
==============================*/

/* HERO ABOUT */

.hero-about{

background:url("../images/chantiers/Primature\ 2.jpg") center center/cover;

height:60vh;

position:relative;

display:flex;

align-items:center;

}

.hero-about .overlay{

position:absolute;

width:100%;

height:100%;

background:rgba(0,0,0,.55);

}

.hero-about .container{

position:relative;

z-index:10;

}

.hero-about h1{

font-size:55px;

font-weight:700;

}

.hero-about p{

font-size:22px;

color:#FFFFFF;

}


#loader{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#FFFFFF;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
z-index:99999;
}

#loader img{
width:140px;
animation:zoom 2s infinite;
}

@keyframes zoom{

0%{transform:scale(.8);}
50%{transform:scale(1);}
100%{transform:scale(.8);}

}

.statistics{
    background:#184891;
    color:#FFFFFF;
    padding:60px 0;
}

.statistics h2{
    color:#FFFFFF;
    font-size:55px;
    font-weight:700;
}

.statistics p{
    color:#FFFFFF;
    font-size:18px;
}









/*========================
        FILTRES
========================*/


.news-filter .btn{

    margin:8px;
    padding:12px 30px;
    border-radius:40px;
    font-weight:600;
    transition:.4s;

}


.news-filter .active,
.news-filter .btn:hover{

    background:#f5b301;
    color:white;

}



/*========================
        CARTES ARTICLES
========================*/


.news-card{

    background:white;

    border-radius:15px;

    overflow:hidden;

    box-shadow:
    0 10px 30px rgba(0,0,0,.12);

    transition:.4s;

    height:100%;

}



.news-card:hover{

    transform:translateY(-10px);

}



.news-card img{

    width:100%;

    height:250px;

    object-fit:cover;

    transition:.5s;

}



.news-card:hover img{

    transform:scale(1.08);

}



.news-content{

    padding:25px;

}



.news-content span{

    display:inline-block;

    background:#0B3D91;

    color:white;

    padding:6px 15px;

    border-radius:20px;

    font-size:13px;

    margin-bottom:15px;

}



.news-content h4{

    font-size:22px;

    font-weight:700;

    margin-bottom:15px;

}



.news-content p{

    color:#666;

    line-height:1.7;

}



/*========================
        NEWSLETTER
========================*/


.newsletter-section{

    background:#0B3D91;

    padding:80px 0;

}



.newsletter-section h2{

    font-size:38px;

    margin-bottom:20px;

}



.newsletter-section form{

    margin-top:30px;

    display:flex;

    justify-content:center;

    gap:10px;

}



.newsletter-section input{

    width:350px;

    padding:15px 20px;

    border:none;

    border-radius:30px;

    outline:none;

}



.newsletter-section button{

    padding:15px 35px;

    border:none;

    border-radius:30px;

    background:#f5b301;

    color:white;

    font-weight:bold;

}



/*========================
            CTA
========================*/


.news-cta{

    background:#111;

    padding:90px 0;

}



.news-cta h2{

    font-size:40px;

    font-weight:700;

}


.news-cta p{

    font-size:18px;

    margin-bottom:30px;

}



/*========================
        RESPONSIVE
========================*/


@media(max-width:768px){


.news-banner{

    padding:90px 0;

}


.news-banner h1{

    font-size:36px;

}


.news-banner p{

    font-size:17px;

}



.newsletter-section form{

    flex-direction:column;

    align-items:center;

}



.newsletter-section input{

    width:100%;

}



.newsletter-section button{

    width:200px;

}


}


/*=========================================
        PAGE ARTICLE - CURAGE MATETE
=========================================*/


/* Bannière article */

.article-banner{

    background:
    linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
    url("../images/curages/curage.jpg")
    center/cover no-repeat;

    padding:140px 0;

}


.article-banner h1{

    font-size:48px;

    font-weight:700;

    margin-bottom:20px;

}


.article-banner p{

    font-size:20px;

    max-width:800px;

    margin:auto;

}



/* Fil d'Ariane */

.breadcrumb-section{

    background:#f5f5f5;

}


.breadcrumb a{

    color:#0B3D91;

    text-decoration:none;

}



/* Contenu article */

.article-section h2{

    font-size:36px;

    font-weight:700;

    color:#0B3D91;

}


.article-section h3{

    margin-top:35px;

    font-size:28px;

    font-weight:700;

}



.article-section p{

    font-size:17px;

    line-height:1.9;

    color:#555;

}



.article-section ul{

    line-height:2;

    font-size:17px;

}



/* Image principale */

.article-section > .container img{

    transition:.4s;

}


.article-section img:hover{

    transform:scale(1.02);

}



/* Informations meta */

.article-meta{

    color:#777;

    font-size:15px;

}



/* Cartes informations */

.article-section .card{

    border-radius:15px;

    overflow:hidden;

}



.article-section .card-header{

    font-weight:600;

}



/* Citation */

.alert-primary{

    border-radius:15px;

    border:none;

    background:#e8f0ff;

    color:#0B3D91;

}



/* Galerie article */

.article-section .row img{

    height:250px;

    width:100%;

    object-fit:cover;

    border-radius:12px;

}



/* Boutons */

.article-section .btn{

    border-radius:30px;

    padding:12px 25px;

}



/* Footer */

.footer-section{

    background:#0B3D91;

    color:white;

    padding:70px 0 30px;

}



.footer-section h3,

.footer-section h4{

    margin-bottom:20px;

    font-weight:700;

}



.footer-section p{

    color:white;

}



.footer-links{

    list-style:none;

    padding:0;

}


.footer-links li{

    margin-bottom:12px;

}


.footer-links a{

    color:white;

    text-decoration:none;

}



.social-links a{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:40px;

    height:40px;

    border-radius:50%;

    background:white;

    color:#0B3D91;

    margin-right:8px;

    transition:.3s;

}



.social-links a:hover{

    transform:translateY(-5px);

}



/* Responsive */

@media(max-width:768px){


.article-banner{

    padding:90px 0;

}


.article-banner h1{

    font-size:32px;

}


.article-banner p{

    font-size:16px;

}


.article-section h2{

    font-size:28px;

}


}

/* Zoom image */

.image-overlay{

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

background:rgba(0,0,0,.9);

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

}

.image-overlay img{

max-width:90%;

max-height:90%;

border-radius:12px;

}

.close-overlay{

position:absolute;

top:30px;

right:40px;

font-size:45px;

color:#fff;

cursor:pointer;

}

/* Bouton retour en haut */

.scroll-top{

position:fixed;

bottom:30px;

right:30px;

width:50px;

height:50px;

border:none;

border-radius:50%;

background:#0B3D91;

color:#fff;

font-size:22px;

cursor:pointer;

display:none;

z-index:9999;

transition:.3s;

}

.scroll-top:hover{

background:#F5B301;

}


/* ===== ABOUT SUITE ===== */

.about img{
    width:100%;
    height:450px;
    object-fit:cover;
}

.about h2{
    font-size:2.2rem;
}

.about p{
    color:#555;
    line-height:1.8;
}


/* ===== SERVICES ===== */

.service-card{
    border:none;
    overflow:hidden;
    transition:0.3s;
}

.service-card:hover{
    transform:translateY(-10px);
}

.service-card img{
    height:250px;
    object-fit:cover;
}

.services p{
    color:#555;
}




/*====================================
        ABOUT HOME
====================================*/

.about-home{

padding:100px 0;

background:#FFFFFF;

}

.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.section-subtitle{

display:inline-block;

padding:8px 18px;

background:#FFC107;

color:#0B3D91;

font-weight:700;

border-radius:30px;

margin-bottom:20px;

}

.section-title{

font-size:42px;

font-weight:800;

color:#0B3D91;

margin-bottom:25px;

}

.section-description{

font-size:18px;

line-height:1.9;

color:#555;

margin-bottom:20px;

}

.about-home p{

font-size:17px;

line-height:1.9;

color:#666;

}

.about-item{

margin-top:20px;

font-weight:600;

color:#0B3D91;

}

.about-item i{

color:#FFC107;

margin-right:10px;

}

.about-home .btn{

padding:14px 35px;

border-radius:40px;

font-weight:600;

color:#0B3D91;

}

.about-home .btn:hover{

transform:translateY(-5px);

}

@media(max-width:768px){

.section-title{

font-size:32px;

}

.about-home{

text-align:center;

}

}







/* ===== PROJECTS ===== */

.project-card{
    position:relative;
    overflow:hidden;
    border-radius:10px;
}

.project-card img{
    width:100%;
    height:300px;
    object-fit:cover;
    transition:0.4s;
}

.project-card:hover img{
    transform:scale(1.1);
}

.project-overlay{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:20px;
    background:rgba(0,0,0,0.7);
    color:white;
}



/* ===== PARTNERS ===== */

.partner-logo{
    height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:#FFFFFF;
    border-radius:10px;
}

.partner-logo img{
    max-width:100%;
    max-height:80px;
    object-fit:contain;
}


/* ===== ACTUALITES ===== */

.news-card{
    border:none;
    transition:0.3s;
}

.news-card:hover{
    transform:translateY(-8px);
}

.news-card img{
    height:230px;
    object-fit:cover;
}


/* ===== CONTACT ===== */

.contact p{
    color:#555;
}

.contact input,
.contact textarea{
    border-radius:0;
}


/* ===== FOOTER ===== */

.footer a{
    text-decoration:none;
}

.footer i{
    font-size:25px;
}




/* PAGE ABOUT */

.page-header{

height:350px;

background:
linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
url("../images/chantiers/Primature\ 2.jpg");

background-size:cover;

background-position:center;

display:flex;

align-items:center;

margin-top:70px;

}


.history img{

height:400px;

object-fit:cover;

}


.mission .p-4{

height:100%;

}


.values i{

color:#ffc107;

}




/*==================================================
        PAGE BANNER A PROPOS
==================================================*/

.page-banner{

padding:190px 0 120px;

background:
linear-gradient(rgba(11,61,145,.82),rgba(11,61,145,.82)),
url("../images/hero/apropos1.jpg");

background-size:cover;

background-position:center;

color:#FFFFFF;

}

.banner-subtitle{

display:inline-block;

padding:8px 18px;

background:rgba(255,255,255,.15);

border-radius:30px;

font-weight:600;

margin-bottom:20px;

letter-spacing:1px;

}

.page-banner h1{

font-size:58px;

font-weight:800;

margin-bottom:25px;

}

.page-banner p{

font-size:20px;

max-width:720px;

line-height:1.9;

margin-bottom:35px;

}

.breadcrumb-nav{

display:flex;

align-items:center;

gap:12px;

font-weight:600;

}

.breadcrumb-nav a{

color:#FFC107;

text-decoration:none;

}

.breadcrumb-nav span{

color:#FFFFFF;

}


/*==================================================
            ABOUT COMPANY
==================================================*/

.about-company{

padding:100px 0;

background:#FFFFFF;

}

.about-gallery{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.about-gallery img{

width:100%;

height:230px;

object-fit:cover;

border-radius:18px;

box-shadow:var(--shadow-md);

transition:.4s;

}

.about-gallery img:hover{

transform:scale(1.05);

}

.about-card{

display:flex;

align-items:flex-start;

padding:18px;

border-radius:15px;

background:#F8F9FA;

transition:.35s;

height:100%;

}

.about-card:hover{

background:var(--primary);

transform:translateY(-5px);

}

.about-card i{

font-size:30px;

color:var(--primary);

margin-right:18px;

margin-top:5px;

transition:.35s;

}

.about-card:hover i{

color:#FFFFFF;

}

.about-card h5{

font-weight:700;

color:var(--primary);

margin-bottom:6px;

transition:.35s;

}

.about-card p{

margin:0;

font-size:15px;

color:#666;

transition:.35s;

}

.about-card:hover h5,

.about-card:hover p{

color:#FFFFFF;

}

/*==================================================
                NOTRE HISTOIRE
==================================================*/

.history{

padding:100px 0;

background:var(--light);

}

.timeline{

position:relative;

margin-top:60px;

padding-left:40px;

border-left:4px solid var(--primary);

}

.timeline-item{

position:relative;

margin-bottom:50px;

}

.timeline-item:last-child{

margin-bottom:0;

}

.timeline-year{

position:absolute;

left:-80px;

top:0;

width:70px;

height:70px;

background:var(--primary);

color:#FFFFFF;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

font-size:15px;

box-shadow:var(--shadow-md);

text-align:center;

padding:5px;

}

.timeline-content{

background:#FFFFFF;

padding:30px;

border-radius:18px;

box-shadow:var(--shadow-sm);

transition:.35s;

}

.timeline-content:hover{

transform:translateY(-6px);

box-shadow:var(--shadow-lg);

}

.timeline-content h4{

color:var(--primary);

font-weight:700;

margin-bottom:15px;

}

.timeline-content p{

margin:0;

line-height:1.8;

color:var(--text);

}


/*==================================================
            HISTORY RESPONSIVE
==================================================*/

@media(max-width:768px){

.timeline{

padding-left:25px;

}

.timeline-year{

position:relative;

left:0;

margin-bottom:20px;

}

}

/*==================================================
        MISSION - VISION - VALEURS
==================================================*/

.mission-vision-values{

padding:100px 0;

background:#FFFFFF;

}

.mvv-card{

background:#FFFFFF;

padding:40px 30px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.4s;

height:100%;

border-top:5px solid var(--primary);

}

.mvv-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.mvv-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:rgba(11,61,145,.08);

display:flex;

justify-content:center;

align-items:center;

}

.mvv-icon i{

font-size:40px;

color:var(--primary);

}

.mvv-card h3{

color:var(--primary);

font-size:28px;

font-weight:700;

margin-bottom:20px;

}

.mvv-card p{

line-height:1.9;

color:var(--text);

}

.values-list{

list-style:none;

padding:0;

margin-top:20px;

text-align:left;

}

.values-list li{

padding:10px 0;

font-weight:500;

color:var(--text);

}

.values-list i{

color:var(--secondary);

margin-right:10px;

}

@media(max-width:991px){

.mvv-card{

margin-bottom:30px;

}

}

/*==================================================
                WHY US
==================================================*/

.why-us{

    padding:100px 0;

    background:var(--light);

}

.why-card{

    background:#FFFFFF;

    border-radius:20px;

    padding:35px 30px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:all .4s ease;

    height:100%;

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.why-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:rgba(11,61,145,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.35s;

}

.why-card:hover .why-icon{

    background:var(--primary);

}

.why-icon i{

    font-size:40px;

    color:var(--primary);

    transition:.35s;

}

.why-card:hover .why-icon i{

    color:#FFFFFF;

}

.why-card h4{

    color:var(--primary);

    font-weight:700;

    margin-bottom:18px;

}

.why-card p{

    color:var(--text);

    line-height:1.8;

}

/*==================================================
            WHY US RESPONSIVE
==================================================*/

@media(max-width:991px){

    .why-card{

        margin-bottom:30px;

    }

}


/*==================================================
            PROCESSUS DE TRAVAIL
==================================================*/

.process{

    padding:100px 0;

    background:#FFFFFF;

}

.process-card{

    position:relative;

    background:#FFFFFF;

    border-radius:20px;

    padding:40px 25px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:all .4s ease;

    height:100%;

    overflow:hidden;

    border:1px solid rgba(0,0,0,.05);

}

.process-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.process-number{

    width:65px;

    height:65px;

    margin:0 auto 20px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--primary),var(--primary-dark));

    color:#FFFFFF;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    font-weight:700;

}

.process-icon{

    width:85px;

    height:85px;

    margin:0 auto 25px;

    border-radius:50%;

    background:rgba(11,61,145,.08);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.process-card:hover .process-icon{

    background:var(--primary);

}

.process-icon i{

    font-size:38px;

    color:var(--primary);

    transition:.35s;

}

.process-card:hover .process-icon i{

    color:#FFFFFF;

}

.process-card h4{

    color:var(--primary);

    font-weight:700;

    margin-bottom:18px;

}

.process-card p{

    color:var(--text);

    line-height:1.8;

}

/*==================================================
        PROCESS RESPONSIVE
==================================================*/

@media(max-width:991px){

    .process-card{

        margin-bottom:30px;

    }

}


/*==================================================
            NOS CHIFFRES
==================================================*/

.statistics{

padding:100px 0;

background:linear-gradient(rgba(11,61,145,.95),
rgba(11,61,145,.95)),
url("../images/tshatshi/engins.jpg");

background-size:cover;

background-position:center;

color:#FFFFFF;

}

.statistics .section-title{

color:#FFFFFF;

}

.statistics .section-description{

color:#E5E5E5;

}

.stat-card{

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.15);

padding:40px 25px;

border-radius:20px;

text-align:center;

backdrop-filter:blur(6px);

transition:.4s;

height:100%;

}

.stat-card:hover{

transform:translateY(-10px);

background:rgba(255,255,255,.15);

}

.stat-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

background:#FFFFFF;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

}

.stat-icon i{

font-size:40px;

color:var(--primary);

}

.stat-number{

font-size:50px;

font-weight:800;

margin-bottom:10px;

color:#FFC107;

}

.stat-title{

font-size:18px;

font-weight:600;

margin:0;

}


/*==================================================
                NOTRE ÉQUIPE
==================================================*/

.team{

padding:100px 0;

background:#F8F9FA;

}

.team-card{

background:#FFFFFF;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow-sm);

transition:.4s;

height:100%;

}

.team-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.team-image{

overflow:hidden;

}

.team-image img{

width:100%;

height:320px;

object-fit:cover;

transition:.4s;

}

.team-card:hover .team-image img{

transform:scale(1.08);

}

.team-content{

padding:30px;

text-align:center;

}

.team-content h4{

color:var(--primary);

font-weight:700;

margin-bottom:8px;

}

.team-content span{

display:block;

color:#777;

font-weight:600;

margin-bottom:20px;

}

.team-social{

display:flex;

justify-content:center;

gap:15px;

}

.team-social a{

width:42px;

height:42px;

border-radius:50%;

background:var(--primary);

color:#FFFFFF;

display:flex;

align-items:center;

justify-content:center;

transition:.35s;

text-decoration:none;

}

.team-social a:hover{

background:var(--secondary);

transform:translateY(-4px);

}


/*====================================
        HOME SERVICES
====================================*/

.home-services{

padding:100px 0;

background:#F8F9FA;

}

.home-service-card{

background:#FFFFFF;

padding:40px 30px;

border-radius:20px;

text-align:center;

height:100%;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.4s;

}

.home-service-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.home-service-card .service-icon{

width:90px;

height:90px;

margin:0 auto 25px;

background:#0B3D91;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.home-service-card:hover .service-icon{

background:#FFC107;

}

.home-service-card .service-icon i{

font-size:36px;

color:#FFFFFF;

}

.home-service-card h3{

font-size:24px;

font-weight:700;

color:#0B3D91;

margin-bottom:20px;

}

.home-service-card p{

font-size:16px;

line-height:1.8;

color:#666;

margin-bottom:0;

}


/*====================================
        WHY CHOOSE US
====================================*/

.why-choose{

padding:100px 0;

background:#FFFFFF;

}

.why-card{

background:#F8F9FA;

padding:40px 30px;

border-radius:20px;

text-align:center;

height:100%;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

}

.why-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.why-icon{

width:90px;

height:90px;

margin:0 auto 25px;

background:#0B3D91;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.why-card:hover .why-icon{

background:#FFC107;

}

.why-icon i{

font-size:36px;

color:#FFFFFF;

}

.why-card h4{

font-size:24px;

font-weight:700;

color:#0B3D91;

margin-bottom:18px;

}

.why-card p{

color:#666;

line-height:1.8;

margin:0;

}



/*====================================
        HOME PROJECTS
====================================*/

.home-projects{

padding:100px 0;

background:#F8F9FA;

}

.project-card{

position:relative;

overflow:hidden;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.10);

}

.project-card img{

width:100%;

height:350px;

object-fit:cover;

transition:.5s;

display:block;

}

.project-card:hover img{

transform:scale(1.1);

}

.project-overlay{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:25px;

background:linear-gradient(to top,
rgba(8,31,77,.95),
rgba(8,31,77,.10));

color:#FFFFFF;

}

.project-overlay span{

display:inline-block;

background:#FFC107;

color:#0B3D91;

padding:6px 15px;

border-radius:20px;

font-size:14px;

font-weight:700;

margin-bottom:12px;

}

.project-overlay h4{

font-size:24px;

font-weight:700;

margin:0;

}










/*==================================================
                CALL TO ACTION
==================================================*/

.cta-section{

padding:90px 0;

background:
linear-gradient(rgba(11,61,145,.92),
rgba(11,61,145,.92)),
url("../images/banner/cta-bg.jpg");

background-size:cover;

background-position:center;

color:#FFFFFF;

}

.cta-subtitle{

display:inline-block;

padding:8px 18px;

background:rgba(255,255,255,.15);

border-radius:30px;

font-size:14px;

font-weight:700;

letter-spacing:2px;

margin-bottom:20px;

}

.cta-section h2{

font-size:42px;

font-weight:800;

margin-bottom:20px;

}

.cta-section p{

font-size:18px;

line-height:1.8;

max-width:700px;

margin-bottom:0;

color:#F5F5F5;

}

.cta-section .btn{

padding:16px 32px;

font-size:17px;

font-weight:600;

border-radius:50px;

transition:.35s;

margin-top:10px;

}

.cta-section .btn-light{

color:var(--primary);

}

.cta-section .btn-light:hover{

background:#FFFFFF;

transform:translateY(-4px);

}

.cta-section .btn-warning{

color:#222;

}

.cta-section .btn-warning:hover{

transform:translateY(-4px);

}


/*==================================================
            CTA RESPONSIVE
==================================================*/

@media(max-width:991px){

.cta-section{

text-align:center;

}

.cta-section h2{

font-size:34px;

}

.cta-section .btn{

display:block;

width:100%;

margin-bottom:15px;

}

}



/*====================================
         PAGE SERVICE   HEADER
====================================*/

.navbar{

background:#FFFFFF;

padding:15px 0;

box-shadow:0 5px 20px rgba(0,0,0,.08);

transition:.3s;

}

.logo{

height:60px;

}

.navbar-nav .nav-link{

color:#0B3D91;

font-weight:600;

margin-left:18px;

transition:.3s;

}

.navbar-nav .nav-link:hover{

color:#FFC107;

}

.navbar-nav .nav-link.active{

color:#FFC107;

}

.navbar-toggler{

border:none;

}

.navbar-toggler:focus{

box-shadow:none;

}


/*====================================
            HEADER
====================================*/

.navbar{

background:#FFFFFF;

padding:15px 0;

box-shadow:0 5px 20px rgba(0,0,0,.08);

transition:.3s;

}

.logo{

height:60px;

}

.navbar-nav .nav-link{

color:#0B3D91;

font-weight:600;

margin-left:18px;

transition:.3s;

}

.navbar-nav .nav-link:hover{

color:#FFC107;

}

.navbar-nav .nav-link.active{

color:#FFC107;

}

.navbar-toggler{

border:none;

}

.navbar-toggler:focus{

box-shadow:none;

}


/*====================================
        PAGE HEADER
====================================*/

.page-header{

position:relative;

height:420px;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

background:url("../images/hero/servicebaner.jpg") center center/cover no-repeat;

overflow:hidden;

}

.page-header .overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(8,31,77,.75);

}

.page-header-content{

position:relative;

z-index:2;

color:#FFFFFF;

max-width:850px;

margin:auto;

}

.page-header h1{

font-size:55px;

font-weight:800;

margin-bottom:20px;

}

.page-header p{

font-size:20px;

line-height:1.8;

margin-bottom:30px;

color:#F5F5F5;

}

.breadcrumb{

background:none;

margin:0;

padding:0;

}

.breadcrumb-item a{

color:#FFC107;

text-decoration:none;

font-weight:600;

}

.breadcrumb-item.active{

color:#FFFFFF;

}

.breadcrumb-item + .breadcrumb-item::before{

color:#FFFFFF;

}

@media(max-width:768px){

.page-header{

height:320px;

}

.page-header h1{

font-size:38px;

}

.page-header p{

font-size:17px;

}

}


/*====================================
    INTRODUCTION SERVICES
====================================*/

.services-intro{

padding:100px 0;

background:#FFFFFF;

}

.services-intro-image img{

width:100%;

border-radius:20px;

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.services-intro p{

font-size:17px;

line-height:1.9;

color:#555;

margin-bottom:20px;

}

.services-list{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin-top:35px;

}

.services-list div{

font-weight:600;

color:#0B3D91;

}

.services-list i{

color:#FFC107;

margin-right:10px;

}

@media(max-width:768px){

.services-list{

grid-template-columns:1fr;

}

}


/*====================================
        NOS SERVICES
====================================*/

.services-section{

padding:100px 0;

background:#F8F9FA;

}

.service-card{

background:#FFFFFF;

padding:40px 30px;

border-radius:20px;

text-align:center;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

height:100%;

}

.service-card:hover{

transform:translateY(-10px);

}

.service-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

background:#0B3D91;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.service-card:hover .service-icon{

background:#FFC107;

}

.service-icon i{

font-size:38px;

color:#FFFFFF;

}

.service-card h3{

font-size:24px;

font-weight:700;

color:#0B3D91;

margin-bottom:18px;

}

.service-card p{

color:#666;

line-height:1.8;

margin-bottom:25px;

}

.service-card a{

text-decoration:none;

font-weight:700;

color:#0B3D91;

}

.service-card a:hover{

color:#FFC107;

}


/*====================================
    POURQUOI NOUS CHOISIR
====================================*/

.why-services{

padding:100px 0;

background:#FFFFFF;

}

.why-card{

background:#F8F9FA;

padding:40px 30px;

border-radius:20px;

text-align:center;

height:100%;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.4s;

}

.why-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.why-icon{

width:90px;

height:90px;

margin:0 auto 25px;

background:#0B3D91;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.why-card:hover .why-icon{

background:#FFC107;

}

.why-icon i{

font-size:36px;

color:#FFFFFF;

}

.why-card h4{

color:#0B3D91;

font-weight:700;

margin-bottom:15px;

}

.why-card p{

color:#666;

line-height:1.8;

margin:0;

}



/*====================================
        PROCESSUS DE TRAVAIL
====================================*/

.work-process{

padding:100px 0;

background:#F8F9FA;

}

.process-card{

position:relative;

background:#FFFFFF;

padding:40px 30px;

border-radius:20px;

text-align:center;

height:100%;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.4s;

overflow:hidden;

}

.process-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.process-number{

position:absolute;

top:20px;

right:20px;

font-size:40px;

font-weight:800;

color:rgba(11,61,145,.08);

}

.process-icon{

width:90px;

height:90px;

margin:0 auto 25px;

background:#0B3D91;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

.process-card:hover .process-icon{

background:#FFC107;

}

.process-icon i{

font-size:36px;

color:#FFFFFF;

}

.process-card h4{

font-size:22px;

font-weight:700;

color:#0B3D91;

margin-bottom:15px;

}

.process-card p{

color:#666;

line-height:1.8;

margin:0;

}


/*====================================
        FAQ
====================================*/

.faq-section{

padding:100px 0;

background:#FFFFFF;

}

.accordion-item{

border:none;

margin-bottom:20px;

border-radius:15px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.accordion-button{

background:#F8F9FA;

color:#0B3D91;

font-weight:700;

padding:22px;

box-shadow:none;

}

.accordion-button:not(.collapsed){

background:#0B3D91;

color:#FFFFFF;

}

.accordion-button:focus{

box-shadow:none;

border:none;

}

.accordion-body{

padding:25px;

line-height:1.8;

color:#555;

}


/*====================================
        CTA
====================================*/

.cta-section{

padding:90px 0;

background:#0B3D91;

color:#FFFFFF;

}

.cta-title{

font-size:42px;

font-weight:700;

margin:20px 0;

}

.cta-text{

font-size:18px;

line-height:1.9;

opacity:.95;

margin-bottom:0;

}

.cta-section .btn{

padding:15px 35px;

border-radius:50px;

font-weight:600;

transition:.4s;

}

.cta-section .btn-warning{

color:#0B3D91;

}

.cta-section .btn-warning:hover{

transform:translateY(-5px);

}

.cta-section .btn-outline-light:hover{

background:#FFFFFF;

color:#0B3D91;

transform:translateY(-5px);

}

@media(max-width:991px){

.cta-section{

text-align:center;

}

.cta-title{

font-size:34px;

}

}


/*====================================
            FOOTER
====================================*/

.footer{

background:#081F4D;

color:#FFFFFF;

padding:80px 0 20px;

}

.footer-logo{

height:70px;

margin-bottom:20px;

}

.footer-text{

color:#D9D9D9;

line-height:1.9;

}

.footer h4{

font-size:22px;

font-weight:700;

margin-bottom:25px;

}

.footer-links{

list-style:none;

padding:0;

}

.footer-links li{

margin-bottom:12px;

}

.footer-links a{

text-decoration:none;

color:#D9D9D9;

transition:.3s;

}

.footer-links a:hover{

color:#FFC107;

padding-left:8px;

}

.footer-contact{

list-style:none;

padding:0;

}

.footer-contact li{

display:flex;

margin-bottom:18px;

line-height:1.7;

}

.footer-contact i{

width:35px;

color:#FFC107;

}

.footer-social{

display:flex;

gap:15px;

margin-top:20px;

}

.footer-social a{

width:45px;

height:45px;

display:flex;

justify-content:center;

align-items:center;

background:rgba(255,255,255,.1);

border-radius:50%;

color:#FFFFFF;

transition:.3s;

text-decoration:none;

}

.footer-social a:hover{

background:#FFC107;

color:#081F4D;

transform:translateY(-5px);

}

.footer hr{

margin:40px 0 20px;

border-color:rgba(255,255,255,.15);

}

.footer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:15px;

}

.footer-bottom p{

margin:0;

color:#D9D9D9;

}

@media(max-width:768px){

.footer-bottom{

justify-content:center;

text-align:center;

}

}






/*==================================================
                    FOOTER
==================================================*/

.footer{

background:#081F4D;

padding:80px 0 20px;

color:#FFFFFF;

}

.footer-logo{

height:75px;

margin-bottom:20px;

}

.footer-text{

line-height:1.9;

color:#D8D8D8;

margin-bottom:25px;

}

.footer h4{

margin-bottom:25px;

font-weight:700;

color:#FFFFFF;

}

.footer ul{

list-style:none;

padding:0;

margin:0;

}

.footer ul li{

margin-bottom:14px;

color:#D8D8D8;

}

.footer ul li a{

color:#D8D8D8;

text-decoration:none;

transition:.3s;

}

.footer ul li a:hover{

color:#FFC107;

padding-left:6px;

}

.footer-contact li{

display:flex;

align-items:flex-start;

gap:12px;

}

.footer-contact i{

color:#FFC107;

margin-top:4px;

}

.footer-social{

display:flex;

gap:12px;

margin-top:20px;

}

.footer-social a{

width:42px;

height:42px;

background:rgba(255,255,255,.10);

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

color:#FFFFFF;

transition:.35s;

text-decoration:none;

}

.footer-social a:hover{

background:#FFC107;

color:#081F4D;

transform:translateY(-5px);

}

.footer hr{

margin:50px 0 20px;

border-color:rgba(255,255,255,.15);

}

.footer-bottom{

text-align:center;

}

.footer-bottom p{

margin:0;

color:#CFCFCF;

}

/*==================================================
            FOOTER RESPONSIVE
==================================================*/

@media(max-width:991px){

.footer{

text-align:center;

}

.footer-social{

justify-content:center;

}

.footer-contact li{

justify-content:center;

}

}


/*========================*/

#preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#FFFFFF;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

}

.loader{

width:70px;

height:70px;

border-radius:50%;

border:8px solid #EAEAEA;

border-top:8px solid var(--primary);

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}


