/* ==========================
   GOOGLE FONT
========================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================
   BODY
========================== */
body{
    font-family:'Poppins',sans-serif;
    background:linear-gradient(135deg,#e3f2fd,#f5fff9,#e8f5e9);
    background-size:400% 400%;
    animation:bgAnimation 15s ease infinite;
    color:#333;
    min-height:100vh;
}

@keyframes bgAnimation{
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
}

/* ==========================
   HEADER
========================== */
.header-section{
    background:linear-gradient(135deg,#1565c0,#26c6da,#2e7d32);
    color:white;
    text-align:center;
    padding:60px 20px;
    border-bottom-left-radius:30px;
    border-bottom-right-radius:30px;
    box-shadow:0 8px 25px rgba(0,0,0,.15);
}

.header-section h1{
    font-size:3rem;
    font-weight:700;
    letter-spacing:2px;
}

.tagline{
    margin-top:10px;
    font-size:1.15rem;
    font-style:italic;
    opacity:.95;
}

/* ==========================
   NAVBAR
========================== */
.navbar{
    background:rgba(255, 255, 255, 0.92)!important;
    backdrop-filter:blur(12px);
    border-radius:18px;
    margin:20px auto;
    padding:12px 20px;
    width:95%;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.navbar-brand{
    color:#1565c0!important;
    font-size:24px;
    font-weight:700;
}

.navbar-nav{
    gap:10px;
}

.nav-link{
    color:#1565c0!important;
    font-weight:600;
    border:2px solid transparent;
    border-radius:30px;
    padding:8px 18px!important;
    transition:.35s;
}

.nav-link:hover{
    background:#1565c0;
    color:white!important;
    transform:translateY(-2px);
}

.nav-link.active{
    background:linear-gradient(135deg,#2e7d32,#43a047);
    color:white!important;
    border-color:#2e7d32;
}
/* ==========================
   HAMBURGER MENU
========================== */
.navbar-toggler{
    border:2px solid #1565c0;
    border-radius:10px;
    padding:6px 10px;
}

.navbar-toggler:focus{
    box-shadow:0 0 8px rgba(21,101,192,.3);
}

/* Makes the hamburger icon blue */
.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(21,101,192,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/* ==========================
   HERO
========================== */
.hero{
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(12px);
    border-radius:25px;
    padding:50px;
    margin-bottom:35px;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

/* ==========================
   CARDS
========================== */
.card{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    border:none;
    border-radius:20px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

.card-body{
    padding:28px;
}

.card h3,
.card h5{
    color:#1565c0;
    font-weight:700;
}

/* ==========================
   BUTTONS
========================== */
.btn-primary{
    background:linear-gradient(135deg,#1565c0,#26c6da);
    border:none;
    border-radius:30px;
    padding:12px;
    font-weight:600;
    transition:.3s;
}

.btn-primary:hover{
    background:linear-gradient(135deg,#0d47a1,#00acc1);
    transform:translateY(-2px);
}

/* ==========================
   FORMS
========================== */
.form-control,
.form-select{
    border-radius:12px;
    border:1px solid #d0dbe8;
    padding:12px;
    transition:.3s;
}

.form-control:focus,
.form-select:focus{
    border-color:#1565c0;
    box-shadow:0 0 12px rgba(21,101,192,.25);
}

/* ==========================
   TABLES
========================== */
.table{
    background:white;
    border-radius:15px;
    overflow:hidden;
}

.table thead{
    background:linear-gradient(135deg,#1565c0,#26c6da);
}

.table th{
    color:white;
    text-align:center;
    font-weight:600;
}

.table td{
    vertical-align:middle;
}

.table-striped tbody tr:nth-child(even){
    background:#f8fbfd;
}

/* ==========================
   ALERT
========================== */
.alert-success{
    background:#e8f5e9;
    border:none;
    color:#2e7d32;
    border-radius:12px;
}

/* ==========================
   FOOTER
========================== */
footer{
    background:linear-gradient(135deg,#1565c0,#2e7d32);
    color:white;
    text-align:center;
    padding:30px;
    margin-top:60px;
    border-top-left-radius:25px;
    border-top-right-radius:25px;
}

/* ==========================
   LINKS
========================== */
a{
    text-decoration:none;
}

/* ==========================
   SCROLLBAR
========================== */
::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-thumb{
    background:#1565c0;
    border-radius:20px;
}

::-webkit-scrollbar-track{
    background:#e3f2fd;
}

/* ==========================
   RESPONSIVE
========================== */
@media(max-width:768px){

.header-section h1{
    font-size:2.2rem;
}

.hero{
    padding:25px;
}

.navbar{
    width:98%;
}

.nav-link{
    text-align:center;
}

}