
/*==================================================
YOUTH QUOTA IN PARLIAMENT
STYLE.CSS
==================================================*/

:root{

    --green:#0B6B3A;
    --navy:#082B55;
    --gold:#C99617;
    --light:#F8FAFC;
    --dark:#233043;
    --gray:#666;
    --border:#e8edf2;

    --shadow:0 15px 40px rgba(0,0,0,.08);

    --radius:14px;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    background:#fff;
    color:var(--dark);
    overflow-x:hidden;
    line-height:1.7;

}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    transition:.35s;
}

ul{
    list-style:none;
}

.container{

    width:90%;
    max-width:1280px;
    margin:auto;

}

/*==================================================
TOP BAR
==================================================*/

.top-bar{

    background:var(--navy);
    color:#fff;
    font-size:14px;
    padding:10px 0;

}

.top-bar .container{

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.top-left{

    font-weight:400;

}

.top-right{

    display:flex;
    align-items:center;
    gap:18px;

}

.top-right a{

    color:#fff;
    font-size:14px;

}

.top-right i{

    margin-right:5px;

}

.top-right a:hover{

    color:var(--gold);

}

/*==================================================
NAVBAR
==================================================*/

#navbar{

    background:#fff;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 4px 18px rgba(0,0,0,.05);

}

.nav-wrapper{

    height:96px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo img{

    width:170px;

}

nav{

    display:flex;
    gap:34px;

}

nav a{

    color:var(--dark);

    font-size:15px;

    font-weight:500;

    padding-bottom:10px;

    position:relative;

}

nav a.active{

    color:var(--green);

}

nav a.active::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:45px;

    height:3px;

    background:var(--green);

    border-radius:10px;

}

nav a:hover{

    color:var(--green);

}

.btn-primary{

    background:var(--green);

    color:#fff;

    padding:15px 28px;

    border-radius:8px;

    display:inline-flex;

    align-items:center;

    gap:10px;

    font-weight:600;

    box-shadow:var(--shadow);

    transition:.35s;

}

.btn-primary:hover{

    background:#07552e;

    transform:translateY(-3px);

}

.btn-outline{

    padding:15px 30px;

    border:2px solid var(--green);

    border-radius:8px;

    display:inline-flex;

    align-items:center;

    gap:10px;

    font-weight:600;

    color:var(--green);

    background:#fff;

    transition:.35s;

}

.btn-outline:hover{

    background:var(--green);

    color:#fff;

}

#hamburger{

    display:none;

    font-size:28px;

    cursor:pointer;

    color:var(--green);

}

#mobileMenu{

    display:none;

    background:#fff;

    padding:20px;

    border-top:1px solid #eee;

}

#mobileMenu a{

    display:block;

    padding:15px;

    color:var(--dark);

    font-weight:500;

}

.mobile-btn{

    background:var(--green);

    color:#fff!important;

    border-radius:8px;

    text-align:center;

    margin-top:15px;

}

/*==================================================
HERO
==================================================*/

.hero{

    padding:70px 0 30px;

    background:

    linear-gradient(to right,
    rgba(255,255,255,.96) 45%,
    rgba(255,255,255,.35) 70%,
    rgba(255,255,255,.05) 100%);

    position:relative;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    right:-200px;

    top:-200px;

    width:600px;

    height:600px;

    background:rgba(11,107,58,.05);

    border-radius:50%;

}

.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:40px;

}

.hero-left{

    position:relative;

    z-index:5;

}

.hero-left h1{

     font-size:40px;

    line-height:1.15;

    font-weight:800;

    color:var(--navy);

    margin-bottom:28px;

    max-width:620px;

}

.hero-left span{

    display:block;

    color:var(--green);

}

.hero-left p{

    font-size:16px;

    color:#555;

    max-width:610px;

    margin-bottom:35px;

    line-height:1.9;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-right{

    position:relative;

}

.hero-right img{

    width:100%;

    border-radius:18px;

    box-shadow:var(--shadow);

}

/* image fade like the mockup */

.hero-right::before{

    content:"";

    position:absolute;

    left:-10%;

    top:0;

    width:40%;

    height:100%;

    background:linear-gradient(to right,#fff 0%,rgba(255,255,255,.6) 60%,transparent);

    z-index:2;

    pointer-events:none;

}

.hero-right::after{

    content:"";

    position:absolute;

    right:-100px;

    bottom:-100px;

    width:350px;

    height:350px;

    background:rgba(201,150,23,.08);

    border-radius:50%;

}

/*==================================================
SECTION TITLE
==================================================*/

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title span{

    display:inline-block;

    color:var(--green);

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:15px;

}

.section-title h2{

    font-size:42px;

    font-weight:700;

    color:var(--navy);

    margin-bottom:20px;

}

.section-title p{

    max-width:760px;

    margin:auto;

    color:#666;

    font-size:18px;

    line-height:1.8;

}
/*==================================================
STATISTICS SECTION
==================================================*/

.stats{
    margin-top:-20px;
    position:relative;
    z-index:10;
    padding-bottom:80px;
}

.stats-grid{
    background:var(--green);
    border-radius:16px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    padding:35px;
    box-shadow:var(--shadow);
}

.stat-card{
    display:flex;
    align-items:center;
    gap:20px;
    color:#fff;
}

.stat-card:not(:last-child){
    border-right:1px solid rgba(255,255,255,.15);
    padding-right:20px;
}

.stat-icon{
    width:72px;
    height:72px;
    border:2px solid var(--gold);
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--gold);
    font-size:30px;
    flex-shrink:0;
}

.stat-card h2{
    font-size:38px;
    font-weight:700;
    line-height:1;
    margin-bottom:8px;
}

.stat-card p{
    font-size:17px;
    font-weight:600;
    margin-bottom:4px;
}

.stat-card span{
    font-size:13px;
    color:rgba(255,255,255,.85);
}

/*==================================================
ABOUT
==================================================*/

.about-preview{
    padding:90px 0;
    background:#fff;
}

.about-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.about-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:40px 30px;
    transition:.35s;
    box-shadow:0 10px 25px rgba(0,0,0,.04);
}

.about-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.about-card i{
    width:70px;
    height:70px;
    border-radius:50%;
    background:rgba(11,107,58,.08);
    color:var(--green);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    margin-bottom:25px;
}

.about-card h3{
    color:var(--navy);
    margin-bottom:15px;
    font-size:24px;
}

.about-card p{
    color:#666;
    line-height:1.8;
}

/*==================================================
CTA
==================================================*/

.cta{
    padding:90px 0;
    background:#f8fafc;
}

.cta-box{
    background:linear-gradient(135deg,var(--navy),var(--green));
    color:#fff;
    text-align:center;
    border-radius:18px;
    padding:70px 50px;
    box-shadow:var(--shadow);
}

.cta-box h2{
    font-size:42px;
    margin-bottom:20px;
}

.cta-box p{
    max-width:700px;
    margin:0 auto 35px;
    opacity:.9;
    font-size:18px;
}

.cta-box .btn-primary{
    background:var(--gold);
    color:#fff;
    box-shadow:none;
}

.cta-box .btn-primary:hover{
    background:#af7f10;
}

/*==================================================
FOOTER
==================================================*/

footer{
    background:var(--navy);
    color:#fff;
    padding-top:80px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:60px;
}

.footer-logo{
    width:180px;
    margin-bottom:25px;
}

footer p{
    color:rgba(255,255,255,.8);
    line-height:1.8;
}

footer h4{
    margin-bottom:20px;
    font-size:22px;
}

footer ul li{
    margin-bottom:14px;
}

footer ul li a{
    color:rgba(255,255,255,.8);
}

footer ul li a:hover{
    color:var(--gold);
}

.footer-social{
    margin-top:25px;
    display:flex;
    gap:15px;
}

.footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:.35s;
}

.footer-social a:hover{
    background:var(--gold);
}

.copyright{
    border-top:1px solid rgba(255,255,255,.1);
    padding:25px 0;
    text-align:center;
    color:rgba(255,255,255,.7);
    font-size:14px;
}

/*==================================================
ANIMATIONS
==================================================*/

.hero-left,
.hero-right,
.about-card,
.stat-card{
    animation:fadeUp .8s ease both;
}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.btn-primary,
.btn-outline{
    transition:all .35s ease;
}

.about-card,
.stat-card,
.cta-box{
    transition:all .35s ease;
}

/*==================================================
STICKY NAVBAR EFFECT
==================================================*/

#navbar.scrolled{
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .hero-left h1{
        font-size:50px;
    }

    nav{
        gap:22px;
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .stat-card:nth-child(2){
        border-right:none;
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:992px){

    .top-bar{
        display:none;
    }

    nav,
    .nav-button{
        display:none;
    }

    #hamburger{
        display:block;
    }

    #mobileMenu.show{
        display:block;
    }

    .hero{
        padding-top:50px;
    }

    .hero-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .hero-left{
        text-align:center;
    }

    .hero-left h1{
        margin:auto auto 25px;
        font-size:44px;
    }

    .hero-left p{
        margin:auto auto 35px;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-right::before{
        display:none;
    }

    .about-grid{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:34px;
    }

    .cta-box h2{
        font-size:34px;
    }

}

@media(max-width:768px){

    .stats-grid{
        grid-template-columns:1fr;
        padding:25px;
    }

    .stat-card{
        border-right:none !important;
        border-bottom:1px solid rgba(255,255,255,.15);
        padding-bottom:20px;
    }

    .stat-card:last-child{
        border-bottom:none;
        padding-bottom:0;
    }

    .hero-left h1{
        font-size:38px;
    }

    .hero-left p{
        font-size:17px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .hero-buttons a{
        width:100%;
        justify-content:center;
    }

    .footer-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-logo{
        margin:auto auto 20px;
    }

    .footer-social{
        justify-content:center;
    }

    .cta-box{
        padding:50px 25px;
    }

    .container{
        width:92%;
    }

}

@media(max-width:480px){

    .hero-left h1{
        font-size:32px;
        line-height:1.25;
    }

    .section-title h2{
        font-size:28px;
    }

    .cta-box h2{
        font-size:28px;
    }

    .stat-card{
        flex-direction:column;
        text-align:center;
    }

    .stat-icon{
        margin-bottom:10px;
    }

    .btn-primary,
    .btn-outline{
        padding:14px 20px;
        font-size:15px;
    }

    .logo img{
        width:145px;
    }

}
/*=============================
FIND YOUR CONSTITUENCY
==============================*/

#constituency-search{

    padding:120px 0;

    background:linear-gradient(

            135deg,

            #f8f9fa,

            #ffffff);

    overflow:hidden;

}



.glass-card{

    background:rgba(255,255,255,.70);

    backdrop-filter:blur(15px);

    border-radius:25px;

    border:1px solid rgba(255,255,255,.4);

}



.glass-card input,
.glass-card select{

    height:60px;

    border-radius:12px;

}



.glass-card button{

    height:60px;

    font-size:18px;

}



.nigeria-map{

    max-width:90%;

    animation:floatMap 5s infinite;

    filter:drop-shadow(0 20px 30px rgba(0,0,0,.15));

}



.floating-card{

    position:absolute;

    bottom:30px;

    left:50%;

    transform:translateX(-50%);

    background:white;

    padding:15px 30px;

    border-radius:50px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

    font-weight:600;

}



@keyframes floatMap{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}
/*==========================================
FEATURED LAWMAKERS
===========================================*/

#featured-lawmakers{

    padding:120px 0;

}

.lawmaker-photo{

    width:400px;

    height:400px;

    border-radius:50%;

    object-fit:cover;

    border:10px solid white;

    box-shadow:0 30px 70px rgba(0,0,0,.15);

    transition:.5s;

}

.lawmaker-photo:hover{

    transform:scale(1.03);

}

.lawmaker-card{

    background:white;

    padding:50px;

    border-radius:25px;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.lawmaker-card h2{

    font-weight:700;

}

.lawmaker-card .row h3{

    font-size:40px;

    font-weight:bold;

}

.carousel-control-next-icon,
.carousel-control-prev-icon{

    background-color:#198754;

    padding:25px;

    border-radius:50%;

}
