@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root{

    --primary:#2E7D32;
    --primary-hover:#256B2A;

    --background:#FAFAFA;
    --white:#FFFFFF;

    --dark:#111827;
    --gray:#6B7280;

    --border:#E5E7EB;

    --success:#16A34A;
    --warning:#F59E0B;
    --danger:#DC2626;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

    font-family:'Inter',sans-serif;

}

body{

    background:var(--light);
    color:var(--dark);
    overflow-x:hidden;

}

/* ===========================
   NAVBAR
=========================== */
.navbar{
    backdrop-filter: blur(12px);
    background: rgba(255,255,255,.9);
}

.navbar{

    background: var(--white);
    border-bottom:1px solid var(--border);

}

.navbar-brand{

    font-size:1.4rem;

}

.nav-link{

    color:var(--dark);
    font-weight:500;
    margin:0 12px;
    transition:.3s;

}

.nav-link:hover{

    color:var(--primary);

}

.nav-link.active{

    color:var(--primary);

}

.btn-primary-custom{

    background:var(--primary);
    color:white;
    border-radius:14px;
    padding:10px 22px;
    font-weight:600;

}

.btn-primary-custom:hover{

    background:var(--primary-hover);
    color:white;

}

.btn-outline-custom{

    border:1px solid var(--border);
    color:var(--dark);
    border-radius:14px;
    padding:10px 22px;
    font-weight:600;

}

.btn-outline-custom:hover{

    border-color:var(--primary);
    color:var(--primary);

}
*{
    transition: .25s ease;
}



/* ==========================
   HERO
========================== */

.hero{

    padding:70px 0 120px;;

}

.hero-badge{

    display:inline-block;

    padding:5px 18px;

    border-radius:50px;

    background:#F3F4F6;

    color:var(--primary);

    font-weight:600;

    margin-bottom:30px;

}

.hero-title{

    font-size:72px;

    line-height:1.05;

    font-weight:800;

    margin-bottom:25px;

}

.hero-title span{

    color:var(--primary);

}

.hero-text{

    font-size:18px;

    color:var(--gray);

    max-width:520px;

    margin-bottom:35px;

}

.hero-buttons{

    display:flex;

    gap:15px;

}

/* Dashbord */
.dashboard-preview{

    background:white;

    border:1px solid var(--border);

    border-radius:24px;

    padding:30px;

    box-shadow:0 20px 50px rgba(0,0,0,.05);

}

.preview-header{

    font-size:22px;

    font-weight:700;

    margin-bottom:25px;

}

.preview-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px;

    margin-bottom:15px;

    border-radius:16px;

    background:#F8F9FA;

    font-weight:600;

}

.preview-card span{

    color:var(--primary);

    font-size:22px;

    font-weight:700;

}

/*=========================
      Hero Section Bottom
=========================*/

.stats-section{

    padding:40px 0 100px;

}

.stat-card{

    background:var(--white);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(0,0,0,.06);

}

.stat-card h2{

    font-size:42px;

    font-weight:800;

    color:var(--primary);

}

.stat-card p{

    color:var(--gray);

    margin-top:10px;

    margin-bottom:0;

}

/*=========================
    Upcomming EVENTS 
==========================*/

.events-section{

    padding:70px 0 100px;

}

.section-header{

    text-align:center;

    max-width:700px;

    margin:auto;

    margin-bottom:60px;

}

.section-badge{

    display:inline-block;

    padding:10px 18px;

    background:#F3F4F6;

    color:var(--primary);

    border-radius:999px;

    font-weight:600;

    margin-bottom:20px;

}

.section-header h2{

    font-size:48px;

    font-weight:800;

    margin-bottom:20px;

}

.section-header p{

    color:var(--gray);

    font-size:18px;

}

.leaderboard{

    width:100%;

    border-radius:24px;

    overflow:hidden;

    margin-bottom:50px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.leaderboard:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.leaderboard img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

}



/*=========================================
            EVENT CARD
=========================================*/

.event-card{

    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 22px;
    overflow: hidden;

    transition: .35s ease;

    display: flex;
    flex-direction: column;

    height: 100%;

}

.event-card:hover{

    transform: translateY(-10px);

    box-shadow: 0 25px 60px rgba(0,0,0,.10);

}

/*=========================================
            EVENT IMAGE
=========================================*/

.event-image{

    position: relative;

    width: 100%;
    height: 220px;

    overflow: hidden;

}

.event-image img{

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: .5s ease;

}

.event-card:hover .event-image img{

    transform: scale(1.06);

}

/*=========================================
            CATEGORY BADGE
=========================================*/

.event-category{

    position: absolute;

    top: 18px;
    left: 18px;

    background: rgba(46,125,50,.95);

    color: #fff;

    padding: 8px 14px;

    border-radius: 50px;

    font-size: 13px;
    font-weight: 600;

}

/*=========================================
            DATE BADGE
=========================================*/

.event-date{

    position: absolute;

    top: 18px;
    right: 18px;

    background: rgba(255,255,255,.95);

    color: var(--dark);

    padding: 8px 14px;

    border-radius: 50px;

    font-size: 13px;
    font-weight: 600;

}

/*=========================================
            CONTENT
=========================================*/

.event-content{

    padding: 22px;

    display: flex;
    flex-direction: column;

    flex: 1;

}

.event-content h4{

    font-size: 1.45rem;

    font-weight: 700;

    margin-bottom: 14px;

    line-height: 1.3;

}

.event-content p{

    color: var(--gray);

    font-size: 15px;

    line-height: 1.7;

    display: -webkit-box;

    -line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    margin-bottom: 22px;

}

/*=========================================
            EVENT INFO
=========================================*/

.event-info{

    display: flex;

    flex-direction: column;

    gap: 12px;

    margin-bottom: 20px;

    font-size: 15px;

}

.event-info div{

    display: flex;

    align-items: center;

}

.event-info i{

    color: var(--primary);

    width: 22px;

    margin-right: 8px;

}

/*=========================================
            PROGRESS BAR
=========================================*/

.progress{

    height: 8px;

    border-radius: 50px;

    background: #ECECEC;

    margin-bottom: 24px;

}

.progress-bar{

    background: var(--primary);

}

/*=========================================
            LINK
=========================================*/

.event-link{

    text-decoration: none;

    color: var(--primary);

    font-weight: 700;

    display: inline-flex;

    align-items: center;

    margin-top: auto;

}

.event-link i{

    margin-left: 8px;

    transition: .3s;

}

.event-card:hover .event-link i{

    transform: translateX(6px);

}







/*=========================================
            ABOUT SECTION
=========================================*/

.about-section{

    padding:100px 0;

    background:var(--background);

}

.section-tag{

    display:inline-block;

    background:#E8F5E9;

    color:var(--primary);

    padding:8px 18px;

    border-radius:50px;

    font-weight:600;

    font-size:14px;

}

.section-title{

    font-size:3rem;

    font-weight:700;

    color:var(--dark);

    line-height:1.2;

}

.section-description{

    color:var(--gray);

    font-size:17px;

    line-height:1.8;

}

.feature-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.feature-list div{

    font-size:16px;

    display:flex;

    align-items:center;

    gap:12px;

}

.feature-list i{

    color:var(--success);

    font-size:18px;

}

/*=========================================
        DASHBOARD PREVIEW
=========================================*/

.dashboard-preview{

    background:#fff;

    border:1px solid var(--border);

    border-radius:24px;

    padding:28px;

    box-shadow:0 20px 45px rgba(0,0,0,.06);

}

.dashboard-header{

    display:flex;

    gap:10px;

    margin-bottom:28px;

}

.dashboard-header span{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#ddd;

}

.dashboard-card{

    background:#F8F9FA;

    border-radius:18px;

    padding:22px;

}

.dashboard-card h5{

    font-weight:700;

    margin-bottom:20px;

}

.dashboard-item{

    padding:14px 16px;

    background:#fff;

    border-radius:14px;

    margin-bottom:12px;

    border:1px solid var(--border);

    transition:.3s;

}

.dashboard-item:hover{

    transform:translateX(5px);

}

.dashboard-stats{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-top:24px;

}

.mini-card{

    background:#F8F9FA;

    border-radius:18px;

    padding:20px;

    text-align:center;

}

.mini-card h3{

    color:var(--primary);

    font-weight:700;

    margin-bottom:6px;

}

.mini-card p{

    margin:0;

    color:var(--gray);

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:992px){

    .section-title{

        font-size:2.3rem;

    }

}



/*=========================================
                FOOTER
=========================================*/

.footer{

    background:#303030 !important;

    border-top:1px solid var(--border);

    padding:60px 0 25px;

}

.footer-brand{

    margin-bottom:40px;

}

.footer-logo{

    height:60px;

    margin-bottom:15px;

}

.footer-subtitle{

    color:var(--gray);

    font-size:16px;

    margin:0;

}

/*=========================================
            FOOTER CARD
=========================================*/

.footer-card{

    background:#e2e2e2 !important;

    border:1px solid var(--border);

    border-radius:20px;

    padding:25px;

    height:100%;

    transition:.3s ease;

}

.footer-card:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.footer-card h6{

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    color:#2a2a2a;

    margin-bottom:18px;

}

.footer-text{

    color:var(--dark);

    line-height:1.8;

    margin:0;

}

/*=========================================
            SYSTEM STATUS
=========================================*/

.system-online{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:700;

    color:var(--success);

    margin-bottom:12px;

}

.status-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#22C55E;

    box-shadow:0 0 12px #22C55E;

    animation:statusBlink 1.5s infinite;

}

@keyframes statusBlink{

    0%{

        opacity:1;

        transform:scale(1);

    }

    50%{

        opacity:.35;

        transform:scale(.75);

    }

    100%{

        opacity:1;

        transform:scale(1);

    }

}

/*=========================================
            DEVELOPERS
=========================================*/

.developer-list{

    list-style:none;

    padding:0;

    margin:0;

}

.developer-list li{

    padding:6px 0;

    color:var(--dark);

    border-bottom:1px solid #EFEFEF;

}

.developer-list li:last-child{

    border:none;

}

/*=========================================
            COPYRIGHT
=========================================*/

.footer-bottom{

    text-align:center;

    margin-top:45px;

    padding-top:25px;

    border-top:1px solid var(--border);

    color:rgb(255, 255, 255);

    font-size:15px;

}

/*=========================================
            RESPONSIVE
=========================================*/

@media (max-width:768px){

    .footer{

        padding:50px 0 20px;

    }

    .footer-brand{

        margin-bottom:30px;

    }

}
