/* =========================================
DIGITAL VIDYALAYA LMS
COURSERA / UDEMY STYLE THEME
========================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

--primary:#0056d2;
--primary-dark:#003b8f;
--secondary:#1f2937;
--accent:#14b8a6;
--orange:#f97316;
--white:#ffffff;
--light:#f8fafc;
--gray:#64748b;
--border:#e5e7eb;

--shadow:
0 10px 30px rgba(0,0,0,.08);

--radius:18px;

}




*{

margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;

}

html{

scroll-behavior:smooth;

}

body{

background:#f5f7fb;
color:#334155;
line-height:1.6;

}

a{

text-decoration:none;

}

img{

max-width:100%;

}

.container{

width:90%;
max-width:1300px;
margin:auto;

}

/* ==================================
   VERIFY ACCOUNT
================================== */

.verify-account-container{

    min-height:70vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:50px 20px;

}

.verify-account-card{

    width:100%;

    max-width:500px;

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    text-align:center;

}

.verify-account-card h2{

    color:#0056d2;

    margin-bottom:15px;

}

.verify-account-card p{

    margin-bottom:20px;

}
/* ====================================
   PAGE BANNER
==================================== */

.page-banner{

background:
linear-gradient(
135deg,
#003b8f,
#0056d2
);

color:white;

text-align:center;

padding:100px 20px;

}

.page-banner h1{

font-size:50px;

margin-bottom:10px;

}

/* ====================================
   COURSE SEARCH
==================================== */

.course-search-section{

padding:40px 0;

background:white;

}

.course-search-section form{

display:flex;

max-width:700px;

margin:auto;

}

.course-search-section input{

flex:1;

padding:15px;

border:
1px solid #ddd;

border-radius:10px 0 0 10px;

}

.course-search-section button{

background:#0056d2;

color:white;

padding:15px 25px;

border:none;

border-radius:0 10px 10px 0;

cursor:pointer;

}

/* ====================================
   COURSE IMAGE
==================================== */

.course-image img{

width:100%;

height:200px;

object-fit:cover;

border-radius:15px;

margin-bottom:15px;

}

/* ====================================
   COURSE META
==================================== */

.course-meta{

display:flex;

justify-content:space-between;

margin:15px 0;

font-size:14px;

font-weight:600;

color:#64748b;

}

/* ====================================
   COURSE BUTTONS
==================================== */



.course-buttons{
    margin-top:auto;

    display:flex;
    gap:10px;
}

.course-buttons a{

    flex:1;

    text-align:center;

    padding:12px;

    border-radius:30px;

}



/* ==========================
   CATEGORY FILTER
========================== */

.category-buttons{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

padding:20px 0;

}

.filter-btn{

background:white;

border:none;

padding:12px 25px;

border-radius:30px;

cursor:pointer;

box-shadow:0 5px 15px rgba(0,0,0,.08);

font-weight:600;

transition:.3s;

}

.filter-btn:hover,
.filter-btn.active{

background:#0056d2;

color:white;

}

/* ==========================
   COURSE CATEGORY
========================== */

.course-category{

display:inline-block;

background:#eef5ff;

color:#0056d2;

padding:5px 15px;

border-radius:20px;

font-size:13px;

font-weight:600;

margin-bottom:10px;

}

/* ==========================
   HIDDEN COURSES
========================== */

.hidden-course{

display:none;

}

/* ==========================
   LOAD MORE
========================== */

.text-center{

text-align:center;

}

.mt-5{

margin-top:40px;

}

/* ===========================
BUTTONS
=========================== */

.btn-primary{

background:var(--primary);
color:white;

padding:14px 30px;

border-radius:50px;

display:inline-block;

transition:.3s;

font-weight:600;

}

.btn-primary:hover{

transform:translateY(-3px);

box-shadow:
0 10px 20px rgba(0,86,210,.25);

}

.btn-secondary{

background:white;

border:2px solid var(--primary);

color:var(--primary);

padding:14px 30px;

border-radius:50px;

font-weight:600;

}

.btn-admission{

background:var(--orange);

color:white;

padding:12px 24px;

border-radius:50px;

}

/* ======================================
   TOP BAR
====================================== */

.top-bar{

    background:#0f172a;

    color:#fff;

    padding:10px 40px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    font-size:14px;

}

.top-bar div{

    display:flex;

    align-items:center;

    gap:8px;

}

.top-bar i{

    color:#14b8a6;

}

/* ======================================
   NAVBAR
====================================== */

.navbar{

    background:#ffffff;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 40px;

    box-shadow:0 3px 15px rgba(0,0,0,.08);

    position:sticky;

    top:0;

    z-index:9999;

}

/* ======================================
   LOGO
====================================== */

.logo a{

    font-size:30px;

    font-weight:800;

    color:#0056d2;

    display:flex;

    align-items:center;

    gap:10px;

}

.logo i{

    color:#14b8a6;

}

/* ======================================
   MENU LINKS
====================================== */

.nav-links{

    list-style:none;

    display:flex;

    align-items:center;

    gap:25px;

}

.nav-links li{

    position:relative;

}

.nav-links a{

    color:#1f2937;

    font-weight:600;

    transition:.3s;

    position:relative;

}

.nav-links a::after{

    content:'';

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:3px;

    background:#0056d2;

    transition:.3s;

}

.nav-links a:hover{

    color:#0056d2;

}

.nav-links a:hover::after{

    width:100%;

}

/* ======================================
   LOGIN & APPLY BUTTONS
====================================== */

.nav-actions{

    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:nowrap;

}

.nav-actions a{

    white-space:nowrap;

}

/* Student Login */

.btn-secondary{

    background:#ffffff;

    color:#0056d2;

    border:2px solid #0056d2;

    padding:12px 24px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.btn-secondary:hover{

    background:#0056d2;

    color:#ffffff;

}

/* Apply Now */

.btn-primary{

    background:#0056d2;

    color:#ffffff;

    padding:12px 24px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.btn-primary:hover{

    background:#003b8f;

    transform:translateY(-2px);

}



/* ======================================
   PULSE EFFECT
====================================== */

.pulse{

    animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(0,86,210,.4);

}

70%{

box-shadow:0 0 0 15px rgba(0,86,210,0);

}

100%{

box-shadow:0 0 0 0 rgba(0,86,210,0);

}

}

/* ======================================
   RESPONSIVE
====================================== */

@media(max-width:1100px){

    .nav-links{

        gap:15px;

    }

    .nav-links a{

        font-size:14px;

    }

}

@media(max-width:992px){

    .nav-links{

        display:none;

    }

    .nav-actions{

        display:none;

    }

    .mobile-menu{

        display:block;

    }

}

@media(max-width:768px){

    .top-bar{

        flex-direction:column;

        gap:8px;

        text-align:center;

    }

    .navbar{

        padding:15px 20px;

    }

    .logo a{

        font-size:24px;

    }

}

@media(max-width:480px){

    .logo a{

        font-size:20px;

    }

    .mobile-menu{

        font-size:24px;

    }

}

/* ===========================
HERO
=========================== */

.hero{

background:
linear-gradient(
135deg,
#003b8f,
#0056d2
);

color:white;

min-height:90vh;

display:flex;
align-items:center;

position:relative;

overflow:hidden;

}

.hero::before{

content:'';

position:absolute;

width:500px;
height:500px;

background:
rgba(255,255,255,.08);

border-radius:50%;

top:-150px;
right:-150px;

}

.hero-wrapper{

display:flex;

justify-content:space-between;
align-items:center;

gap:50px;

}

.hero-left{

flex:1;

}

.hero-right{

flex:1;

text-align:center;

}

.hero-badge{

display:inline-block;

background:#14b8a6;

padding:10px 20px;

border-radius:30px;

margin-bottom:25px;

font-weight:600;

}

.hero h1{

font-size:65px;

line-height:1.15;

margin-bottom:20px;

}

.hero p{

font-size:20px;

margin-bottom:30px;

}

.hero-buttons{

display:flex;

gap:15px;

}

/* ===========================
SECTION TITLE
=========================== */

section{

padding:80px 0;

}

.section-title{

text-align:center;

margin-bottom:50px;

}

.section-title h2{

font-size:42px;

color:var(--secondary);

}

/* ===========================
COURSES
=========================== */

.course-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.course-card{

    background:#fff;

    border-radius:20px;

    padding:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    display:flex;

    flex-direction:column;

    min-height:520px;

    transition:.3s;
}

.course-card:hover{

    transform:translateY(-10px);

}

/* ===========================
STATS
=========================== */

.stats-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:25px;

}

.stat-card{

background:white;

padding:30px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow);

transition:.3s;

}

.stat-card:hover{

transform:translateY(-8px);

}

.stat-card h2{

font-size:45px;

color:var(--primary);

}

.director-card{

    display:flex;

    align-items:center;

    gap:25px;

    max-width:900px;

    margin:auto;

    padding:30px;

    background:#fff;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.director-card img{

    width:120px;
    height:120px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

}

/* ===========================
FEATURES
=========================== */

.feature-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:25px;

}

.feature-card{

background:white;

padding:30px;

border-radius:var(--radius);

box-shadow:var(--shadow);

text-align:center;

}


/* =========================================
DASHBOARD SIDEBAR
========================================= */

.sidebar{

position:fixed;

top:0;
left:0;

width:280px;
height:100vh;

background:
linear-gradient(
180deg,
#0f172a,
#1e293b
);

overflow-y:auto;

z-index:1000;

}

.sidebar .logo{

padding:25px;

text-align:center;

font-size:26px;

font-weight:700;

color:white;

border-bottom:
1px solid rgba(255,255,255,.08);

}

.sidebar ul{

list-style:none;

}

.sidebar ul li{

border-bottom:
1px solid rgba(255,255,255,.04);

}

.sidebar ul li a{

display:block;

padding:16px 25px;

color:white;

font-weight:500;

transition:.3s;

position:relative;

}

.sidebar ul li a:hover{

background:
rgba(255,255,255,.08);

padding-left:35px;

}

.sidebar ul li a::before{

content:'';

position:absolute;

left:0;
top:0;

width:4px;
height:100%;

background:#14b8a6;

transform:scaleY(0);

transition:.3s;

}

.sidebar ul li a:hover::before{

transform:scaleY(1);

}

/* =========================================
MAIN CONTENT
========================================= */

.main-content{

margin-left:280px;

padding:30px;

min-height:100vh;

background:#f5f7fb;

}

/* =========================================
DASHBOARD HEADER
========================================= */

.dashboard-header{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

margin-bottom:25px;

display:flex;

justify-content:space-between;
align-items:center;

}

.dashboard-header h1{

font-size:28px;

color:var(--secondary);

}

/* =========================================
DASHBOARD STATS
========================================= */

.dashboard-cards{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:20px;

margin-bottom:30px;

}

.dashboard-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

transition:.3s;

}

.dashboard-card:hover{

transform:
translateY(-8px);

}

.dashboard-card h2{

font-size:36px;

color:var(--primary);

margin-bottom:10px;

}

.dashboard-card p{

color:#64748b;

}

/* =========================================
PROFILE PAGE
========================================= */

.profile-card{

background:white;

padding:35px;

border-radius:18px;

box-shadow:var(--shadow);

}

.profile-header{

display:flex;

align-items:center;

gap:25px;

margin-bottom:25px;

}

.profile-image{

width:140px;
height:140px;

border-radius:50%;

overflow:hidden;

}

.profile-image img{

width:100%;
height:100%;

object-fit:cover;

}

.profile-details h2{

color:var(--secondary);

margin-bottom:10px;

}

.profile-table{

width:100%;

}

.profile-table td{

padding:12px;

border-bottom:
1px solid #e5e7eb;

}

/* =========================================
FORMS
========================================= */

.form-container{

max-width:700px;

margin:50px auto;

background:white;

padding:40px;

border-radius:18px;

box-shadow:var(--shadow);

}

.form-container h2{

text-align:center;

margin-bottom:25px;

color:var(--secondary);

}

.form-group{

margin-bottom:18px;

}

.form-group label{

display:block;

margin-bottom:8px;

font-weight:600;

}

.form-control{

width:100%;

padding:14px;

border:
1px solid #d1d5db;

border-radius:10px;

outline:none;

transition:.3s;

}

.form-control:focus{

border-color:var(--primary);

box-shadow:
0 0 0 4px rgba(0,86,210,.08);

}

.form-container button{

width:100%;

background:var(--primary);

color:white;

border:none;

padding:14px;

border-radius:10px;

cursor:pointer;

font-size:16px;

font-weight:600;

}

/* =========================================
OTP BOX
========================================= */

.otp-box{

text-align:center;

background:white;

padding:40px;

border-radius:18px;

box-shadow:var(--shadow);

max-width:500px;

margin:50px auto;

}

.otp-box h2{

margin-bottom:15px;

}

.otp-box input{

text-align:center;

font-size:24px;

letter-spacing:10px;

}

/* =========================================
TABLE DESIGN
========================================= */

.table-container{

background:white;

padding:20px;

border-radius:18px;

box-shadow:var(--shadow);

overflow-x:auto;

}

table{

width:100%;

border-collapse:collapse;

}

table th{

background:var(--primary);

color:white;

padding:15px;

text-align:left;

}

table td{

padding:15px;

border-bottom:
1px solid #e5e7eb;

}

table tr:hover{

background:#f8fafc;

}

/* =========================================
COURSE PROGRESS
========================================= */

.progress{

width:100%;

height:12px;

background:#e5e7eb;

border-radius:20px;

overflow:hidden;

}

.progress-bar{

height:100%;

background:
linear-gradient(
90deg,
#14b8a6,
#06b6d4
);

}

/* =========================================
ASSIGNMENTS
========================================= */

.assignment-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

margin-bottom:20px;

border-left:
5px solid var(--orange);

}

.assignment-card h3{

margin-bottom:10px;

color:var(--secondary);

}

.assignment-card .deadline{

color:#ef4444;

font-weight:600;

}

/* =========================================
QUIZZES
========================================= */

.quiz-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

margin-bottom:20px;

border-left:
5px solid #14b8a6;

}

.quiz-card h3{

margin-bottom:10px;

}

.quiz-info{

display:flex;

justify-content:space-between;

margin-top:15px;

}

/* =========================================
CERTIFICATES
========================================= */

.certificate-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

border-left:
5px solid #22c55e;

margin-bottom:20px;

}

.certificate-card h3{

color:#15803d;

margin-bottom:10px;

}

.download-btn{

display:inline-block;

margin-top:15px;

background:#22c55e;

color:white;

padding:10px 20px;

border-radius:8px;

}

/* =========================================
MY COURSES
========================================= */

.course-progress-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:var(--shadow);

margin-bottom:20px;

}

.course-progress-card h3{

margin-bottom:10px;

}

.course-progress-card p{

margin-bottom:15px;

}


/* =========================================
TESTIMONIALS
========================================= */

.testimonial-section{

background:#f8fafc;

}

.testimonial-slider{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:25px;

}

.testimonial-card{

background:white;

padding:30px;

border-radius:20px;

box-shadow:var(--shadow);

transition:.4s;

position:relative;

overflow:hidden;

}

.testimonial-card:hover{

transform:
translateY(-10px);

}

.testimonial-card::before{

content:'"';

position:absolute;

top:-20px;
right:20px;

font-size:120px;

color:
rgba(0,86,210,.08);

}

.testimonial-card h4{

margin-top:15px;

color:var(--secondary);

}

/* =========================================
CONTACT SECTION
========================================= */

.contact-section{

background:white;

}

.contact-box{

padding:40px;

border-radius:20px;

box-shadow:var(--shadow);

}

.contact-box p{

margin-bottom:15px;

font-size:17px;

}

/* =========================================
FOOTER
========================================= */

footer{

background:#0f172a;

color:white;

margin-top:50px;

}

.footer-container{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:30px;

padding:60px 30px;

}

.footer-section h3{

margin-bottom:20px;

font-size:22px;

}

.footer-section ul{

list-style:none;

}

.footer-section ul li{

margin-bottom:10px;

}

.footer-section ul li a{

color:white;

transition:.3s;

}

.footer-section ul li a:hover{

color:#14b8a6;

padding-left:5px;

}

.copyright{

text-align:center;

padding:20px;

border-top:
1px solid rgba(255,255,255,.1);

}

/* =========================================
GLASSMORPHISM
========================================= */

.glass{

background:
rgba(255,255,255,.15);

backdrop-filter:
blur(15px);

border:
1px solid rgba(255,255,255,.2);

border-radius:20px;

}

/* =========================================
FLOATING SHAPES
========================================= */

.floating-shape-1{

position:absolute;

width:250px;
height:250px;

background:
rgba(255,255,255,.08);

border-radius:50%;

top:10%;
right:5%;

animation:
floatOne 8s infinite ease-in-out;

}

.floating-shape-2{

position:absolute;

width:180px;
height:180px;

background:
rgba(20,184,166,.12);

border-radius:50%;

bottom:10%;
left:5%;

animation:
floatTwo 10s infinite ease-in-out;

}

@keyframes floatOne{

0%{

transform:
translateY(0);

}

50%{

transform:
translateY(-30px);

}

100%{

transform:
translateY(0);

}

}

@keyframes floatTwo{

0%{

transform:
translateY(0);

}

50%{

transform:
translateY(30px);

}

100%{

transform:
translateY(0);

}

}

/* =========================================
CARD ANIMATIONS
========================================= */

.course-card,
.feature-card,
.stat-card,
.dashboard-card{

transition:.4s;

}

.course-card:hover,
.feature-card:hover,
.dashboard-card:hover{

transform:
translateY(-10px);

box-shadow:
0 25px 40px rgba(0,0,0,.12);

}

/* =========================================
BUTTON ANIMATION
========================================= */

.btn-primary{

position:relative;

overflow:hidden;

}

.btn-primary::before{

content:'';

position:absolute;

top:0;
left:-100%;

width:100%;
height:100%;

background:
rgba(255,255,255,.25);

transition:.5s;

}

.btn-primary:hover::before{

left:100%;

}

/* =========================================
PULSE EFFECT
========================================= */

.pulse{

animation:
pulse 2.5s infinite;

}

@keyframes pulse{

0%{

box-shadow:
0 0 0 0 rgba(0,86,210,.4);

}

70%{

box-shadow:
0 0 0 20px rgba(0,86,210,0);

}

100%{

box-shadow:
0 0 0 0 rgba(0,86,210,0);

}

}

/* =========================================
BOUNCE EFFECT
========================================= */

.bounce{

animation:
bounce 3s infinite;

}

@keyframes bounce{

0%,100%{

transform:
translateY(0);

}

50%{

transform:
translateY(-10px);

}

}

/* =========================================
FADE UP
========================================= */

.fade-up{

animation:
fadeUp 1s ease forwards;

}

@keyframes fadeUp{

from{

opacity:0;

transform:
translateY(40px);

}

to{

opacity:1;

transform:
translateY(0);

}

}

/* =========================================
LOADING SPINNER
========================================= */

.loader{

width:50px;
height:50px;

border:
5px solid #e5e7eb;

border-top:
5px solid var(--primary);

border-radius:50%;

animation:
spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:
rotate(360deg);

}

}

/* =========================================
SCROLLBAR
========================================= */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#f1f5f9;

}

::-webkit-scrollbar-thumb{

background:#94a3b8;

border-radius:10px;

}

::-webkit-scrollbar-thumb:hover{

background:#64748b;

}

/* =========================================
DARK MODE
========================================= */

.dark-mode{

background:#0f172a;

color:white;

}

.dark-mode .course-card,
.dark-mode .feature-card,
.dark-mode .dashboard-card,
.dark-mode .stat-card{

background:#1e293b;

color:white;

}

.dark-mode .navbar{

background:#1e293b;

}

.dark-mode .table-container{

background:#1e293b;

}

/* =========================================
MOBILE RESPONSIVE
========================================= */

@media(max-width:1200px){

.hero h1{

font-size:55px;

}

}

@media(max-width:992px){

.hero-wrapper{

flex-direction:column;

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.main-content{

margin-left:0;

}

.sidebar{

position:relative;

width:100%;
height:auto;

}

.dashboard-header{

flex-direction:column;

gap:15px;

}

}

@media(max-width:768px){

.top-bar{

flex-direction:column;

text-align:center;

gap:10px;

}

.navbar{

flex-direction:column;

gap:15px;

}

.nav-links{

flex-wrap:wrap;

justify-content:center;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:16px;

}

.section-title h2{

font-size:30px;

}

.dashboard-cards{

grid-template-columns:1fr;

}

.stats-grid{

grid-template-columns:1fr;

}

.course-grid{

grid-template-columns:1fr;

}

.feature-grid{

grid-template-columns:1fr;

}

.footer-container{

grid-template-columns:1fr;

}

}

@media(max-width:480px){

.hero h1{

font-size:32px;

}

.btn-primary,
.btn-secondary{

width:100%;

text-align:center;

}

.hero-buttons{

flex-direction:column;

}

}

/* =========================================
END OF DIGITAL VIDYALAYA LMS THEME
========================================= */
