﻿/* ============================================
   VIDYASAGAR UNIVERSITY WEBSITE STYLES
   Organized by Component/Section
   ============================================ */

/* ============================================
   1. CSS VARIABLES & ROOT
   ============================================ */

:root {
    --primary-color: #000080;
    --secondary-color: #FFD700;
    --accent-color: #f8f9fa;
    --text-light: #ffffff;
    --text-dark: #333333;
    --border-color: #e0e0e0;
    --hover-color: rgba(0, 0, 128, 0.05);
    --gradient-primary: linear-gradient(135deg, #000080 0%, #0000b3 100%);
    --box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    --transition: all 0.3s ease;
}

/* ============================================
   2. BASE & BODY STYLES
   ============================================ */

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text-dark);
    line-height: 1.6;
    background-color: #f9f9f9;
}

*, ::after, ::before {
    box-sizing: border-box;
}

img, svg {
    vertical-align: middle;
}

img {
    overflow-clip-margin: content-box;
    overflow: clip;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

/* ============================================
   3. TOP BAR
   ============================================ */

.top-bar {
    background-color: var(--primary-color);
    color: #fff;
    padding: 0px 0;
    font-size: 15px;
    position: relative;
    overflow: hidden;
}

.top-menu-link {
    margin: 0px 10px 0px 0px !important;
}

.top-bar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
    z-index: 1;
}

.top-bar .container-fluid {
    position: relative;
    z-index: 2;
}

.top-bar a {
    color: #fff;
    text-decoration: none;
    margin-right: 14px;
    position: relative;
    font-weight: 500;
}

    .top-bar a:after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 0;
        height: 1px;
        background-color: #fff;
    }

    .top-bar a:hover:after {
        width: 100%;
    }

/* ============================================
   4. HEADER
   ============================================ */

.header {
    background-color: var(--accent-color);
    padding: 20px 0;
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.logo img {
    max-height: 80px;
    transition: var(--transition);
}

    .logo img:hover {
        transform: scale(1.05) !important;
    }

.university-name {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.header .university-name h2 {
    font-family: 'Bengali', Arial, sans-serif !important;
    margin-bottom: 0 !important;
    font-size: 28px !important;
    color: #000080 !important;
}

.header .university-name h1 {
    color: #000080 !important;
    font-size: 32px !important;
    margin: 0 !important;
    font-weight: 700 !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

.university-name p {
    color: var(--secondary-color);
    font-size: 16px;
    margin: 0;
}

.header-center-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    z-index: 2;
}

.header-center-img {
    max-height: 140px;
    width: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

    .header-center-img:hover {
        transform: translateY(-3px);
    }

.header-quick-actions .quick-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    color: #000080 !important;
    background: rgba(0,0,0,0.02);
    text-decoration: none !important;
    font-size: 14px;
}

    .header-quick-actions .quick-action i {
        width: 18px;
        text-align: center;
        font-size: 14px;
    }

    .header-quick-actions .quick-action:hover {
        background: rgba(0,0,0,0.04);
        text-decoration: none;
    }

.header-quick-links .top-menu-link {
    text-decoration: none !important;
    color: #000080 !important;
}

    .header-quick-links .top-menu-link i {
        color: inherit;
    }

    .header-quick-links .top-menu-link:hover,
    .header-quick-links .top-menu-link:focus {
        color: #0d6efd !important;
        text-decoration: none !important;
    }

/* ============================================
   5. NAVIGATION & NAVBAR
   ============================================ */

.ec-nav {
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1030;
}

    .ec-nav > .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

.navbar {
    background-color: #1a3c80;
    padding: 0;
}

.navbar-nav .nav-item .nav-link {
    color: #fff;
    padding: 15px 17px;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    position: relative;
}

    .navbar-nav .nav-item .nav-link:hover,
    .navbar-nav .nav-item .nav-link:focus {
        background-color: rgba(255, 255, 255, 0.1);
        color: #fff;
    }

.navbar-nav .nav-link {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.navbar-toggler {
    background-color: rgba(255, 255, 255, 0.2);
    border: none;
    padding: 10px;
    margin: 8px 15px;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar.fixed-top {
    animation: fadeDown 0.5s;
}

/* ============================================
   6. DROPDOWN & MEGAMENU
   ============================================ */

.dropdown-menu {
    z-index: 1050;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    pointer-events: none;
}

    .dropdown-menu.show {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

.dropdown-item {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

    .dropdown-item:last-child {
        border-bottom: none;
    }

    .dropdown-item:hover {
        background-color: rgba(26, 60, 128, 0.08);
        color: #1a3c80;
        padding-left: 25px;
    }

        .dropdown-item:hover::before {
            content: '';
            position: absolute;
            left: 15px;
            top: 50%;
            transform: translateY(-50%);
            width: 4px;
            height: 4px;
            background-color: #1a3c80;
            border-radius: 50%;
        }

.navbar-nav .dropdown-menu {
    max-width: 100vw;
    transform: translateX(0);
}

/* Megamenu Styles */
.mega-dropdown {
    position: static !important;
}

    .mega-dropdown .dropdown-menu {
        width: 100%;
        left: 0;
        right: 0;
        padding: 20px;
        border-radius: 0;
        margin-top: 0;
        display: block;
        box-sizing: border-box;
        height: auto;
        max-height: 70vh !important;
        overflow-y: scroll !important;
        overflow-x: hidden;
        position: absolute;
        z-index: 1050;
    }

        .mega-dropdown .dropdown-menu .row {
            margin: 0;
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            max-width: 100%;
        }

        .mega-dropdown .dropdown-menu .col-md-3,
        .mega-dropdown .dropdown-menu .col-md-4,
        .mega-dropdown .dropdown-menu .col-md-6 {
            padding: 0 15px;
            flex: 1;
            min-width: 200px;
            margin-bottom: 10px;
        }

        .mega-dropdown .dropdown-menu::-webkit-scrollbar {
            width: 12px;
            background-color: #f5f5f5;
        }

        .mega-dropdown .dropdown-menu::-webkit-scrollbar-track {
            background-color: #f5f5f5;
            border-radius: 10px;
            border: 1px solid #e0e0e0;
        }

        .mega-dropdown .dropdown-menu::-webkit-scrollbar-thumb {
            background-color: #c1c1c1;
            border-radius: 10px;
            border: 2px solid #f5f5f5;
            transition: background-color 0.3s ease;
        }

            .mega-dropdown .dropdown-menu::-webkit-scrollbar-thumb:hover {
                background-color: #000080;
            }

    .mega-dropdown .dropdown-menu {
        scrollbar-width: auto;
        scrollbar-color: #c1c1c1 #f5f5f5;
    }

.mega-section-title {
    color: #16336e !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid #FFD700;
    display: flex;
    align-items: center;
}

    .mega-section-title:not(:first-child) {
        margin-top: 25px;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 215, 0, 0.2);
    }

    .mega-section-title:first-child {
        margin-top: 0;
    }

    .mega-section-title i {
        margin-right: 8px;
        color: #FFD700;
        font-size: 14px;
        min-width: 16px;
        text-align: center;
    }

.mega-link {
    display: block;
    padding: 6px 0;
    color: #454545 !important;
    text-decoration: none;
    font-size: 14px !important;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    padding-left: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

    .mega-link:hover {
        color: #1a3c80;
        border-left-color: #1a3c80;
        padding-left: 15px;
        background-color: rgba(26, 60, 128, 0.05);
    }

.mega-dropdown .dropdown-menu .col-md-3 .mega-section-title:not(:first-child),
.mega-dropdown .dropdown-menu .col-md-4 .mega-section-title:not(:first-child) {
    margin-top: 20px;
}

/* ============================================
   7. SOCIAL MEDIA SLIDE NAVIGATION
   ============================================ */

/*
Z-INDEX HIERARCHY (from highest to lowest):
- Bootstrap Modals: 1055+ (Bootstrap default)
- Dropdown menus: 1050 (.dropdown-menu)
- Main navigation: 1030 (.ec-nav)  
- Back to top button: 99 (.back-to-top)
- Social media sidebar: 900 (#socialMediaNav)
- Page content: 1-10 (various page elements)
- Background elements: 0 or negative
*/

#socialMediaNav {
    position: fixed;
    top: 5%;
    right: 0;
    z-index: 900;
    height: 100vh;
}

    #socialMediaNav a {
        position: absolute;
        right: -210px;
        transition: 0.3s ease-in-out;
        padding: 8px 15px;
        width: 260px;
        text-decoration: none;
        font-size: 16px;
        line-height: 38px;
        font-weight: bold;
        color: white;
        border-radius: 20px 0px 0px 20px;
        box-shadow: -5px 2px 15px -5px rgba(0,0,0,0.4);
        text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
        display: flex;
        align-items: center;
        z-index: 900;
    }

        #socialMediaNav a i {
            width: 35px;
            height: 35px;
            margin-right: 12px;
            font-size: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,0.2);
            border-radius: 50%;
            flex-shrink: 0;
        }

        #socialMediaNav a:hover {
            right: 0;
            transform: scale(1.02);
            box-shadow: -8px 4px 20px -5px rgba(0,0,0,0.5);
            z-index: 905;
            pointer-events: auto;
        }

#socialFacebook {
    top: 220px;
    background: linear-gradient(135deg, #4267B2 0%, #365899 100%);
}

    #socialFacebook:hover {
        background: linear-gradient(135deg, #365899 0%, #4267B2 100%);
    }

#socialTwitter {
    top: 280px;
    background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%);
}

    #socialTwitter:hover {
        background: linear-gradient(135deg, #0d8bd9 0%, #1DA1F2 100%);
    }

#socialYoutube {
    top: 280px;
    background: linear-gradient(135deg, #FF0000 0%, #cc0000 100%);
}

    #socialYoutube:hover {
        background: linear-gradient(135deg, #cc0000 0%, #FF0000 100%);
    }

#socialLinkedin {
    top: 400px;
    background: linear-gradient(135deg, #0077B5 0%, #005885 100%);
}

    #socialLinkedin:hover {
        background: linear-gradient(135deg, #005885 0%, #0077B5 100%);
    }

#socialInstagram {
    top: 460px;
    background: linear-gradient(135deg, #E4405F 0%, #C13584 100%);
}

    #socialInstagram:hover {
        background: linear-gradient(135deg, #C13584 0%, #E4405F 100%);
    }

#socialMediaNav a:hover i {
    animation: socialPulse 0.6s ease-in-out;
}

#socialMediaNav a {
    animation: socialSlideInInit 0.8s ease-out;
}

#socialFacebook {
    animation-delay: 0.3s;
}

#socialTwitter {
    animation-delay: 0.5s;
}

#socialYoutube {
    animation-delay: 0.7s;
}

#socialLinkedin {
    animation-delay: 0.9s;
}

#socialInstagram {
    animation-delay: 1.1s;
}

.navbar-collapse.show ~ #socialMediaNav {
    opacity: 0.7;
}

    .navbar-collapse.show ~ #socialMediaNav a:hover {
        opacity: 1;
    }

/* ============================================
   8. CAROUSEL
   ============================================ */

.carousel {
    box-shadow: var(--box-shadow);
    border-radius: 0 0 5px 5px;
    overflow: hidden;
}

.carousel-inner {
    max-height: 500px;
}

.carousel-item img {
    object-fit: cover;
    height: 500px;
    width: 100%;
    filter: brightness(0.9);
    transition: transform 10s ease;
}

.carousel-item.active img {
    transform: scale(1.1);
}

.carousel-caption {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0) 100%);
    padding: 30px 20px 20px;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: left;
    border-left: 4px solid var(--secondary-color);
}

    .carousel-caption h3 {
        font-weight: 700;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        font-size: 28px;
        margin-bottom: 10px;
    }

    .carousel-caption p {
        font-size: 16px;
        max-width: 600px;
        text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
    }

.carousel-indicators {
    margin-bottom: 20px;
}

    .carousel-indicators button {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: rgba(255,255,255,0.5);
        border: 2px solid transparent;
        transition: var(--transition);
    }

        .carousel-indicators button.active {
            background-color: var(--secondary-color);
            transform: scale(1.2);
        }

/* ============================================
   9. FLASH NEWS SECTION
   ============================================ */

.flash-news-section {
    background: linear-gradient(90deg, #000080 0%, #000099 100%);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

    .flash-news-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
        opacity: 0.2;
    }

.flash-news-container {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    border-radius: 6px;
    color: #fff;
}

.flash-news-header {
    flex-shrink: 0;
    padding-right: 15px;
}

.flash-news-label {
    display: flex;
    align-items: center;
    background-color: #FFD700;
    color: #000080;
    padding: 8px 15px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    text-transform: uppercase;
    white-space: nowrap;
}

    .flash-news-label i {
        font-size: 16px;
        animation: pulse 1.5s infinite;
    }

.flash-news-content {
    flex-grow: 1;
    overflow: hidden;
    position: relative;
    padding: 0 10px;
}

.news-ticker-wrapper {
    position: relative;
    overflow: hidden;
    height: 40px;
}

.news-ticker {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    animation: tickerAnimation 90s linear infinite;
    position: absolute;
    top: 0;
    white-space: nowrap;
}

    .news-ticker:hover {
        animation-play-state: paused;
    }

.news-item {
    display: flex;
    align-items: center;
    padding: 0 30px;
    white-space: nowrap;
}

.news-category {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    margin-right: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

    .news-category.academic {
        background-color: #00C9A7;
        color: #004D40;
    }

    .news-category.admission {
        background-color: #FF9E80;
        color: #BF360C;
    }

    .news-category.event {
        background-color: #B388FF;
        color: #4A148C;
    }

    .news-category.notice {
        background-color: #84FFFF;
        color: #006064;
    }

    .news-category.scholarship {
        background-color: #FFFF8D;
        color: #F57F17;
    }

.news-item a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.3s ease;
}

    .news-item a:hover {
        color: rgba(255, 215, 0, 0.9);
        text-decoration: underline;
    }

.flash-news-nav {
    display: flex;
    align-items: center;
    padding-left: 15px;
    flex-shrink: 0;
}

.ticker-control {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 3px;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .ticker-control:hover {
        background-color: rgba(255, 215, 0, 0.8);
        color: #000080;
        transform: scale(1.1);
    }

/* ============================================
   10. QUICK LINKS
   ============================================ */

.quick-links {
    background: linear-gradient(45deg, #1a5089 0%, #0a3d70 100%);
    color: var(--text-light);
    padding: 20px 0;
    box-shadow: var(--box-shadow);
    position: relative;
}

    .quick-links:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
    }

    .quick-links .container {
        position: relative;
        z-index: 2;
    }

    .quick-links h5 {
        text-transform: uppercase;
        font-size: 15px;
        font-weight: 600;
        margin-bottom: 15px;
        color: #ffffff;
        position: relative;
        display: inline-block;
        padding-bottom: 8px;
    }

        .quick-links h5:after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 40px;
            height: 3px;
            background-color: var(--secondary-color);
        }

    .quick-links ul {
        list-style: none;
        padding-left: 0;
    }

        .quick-links ul li {
            margin-bottom: 10px;
            transition: var(--transition);
        }

            .quick-links ul li:hover {
                transform: translateX(5px);
            }

    .quick-links a {
        color: rgba(255, 255, 255, 0.85);
        text-decoration: none;
        font-size: 15px;
        display: block;
        transition: var(--transition);
        font-weight: 500;
    }

        .quick-links a i {
            color: var(--secondary-color);
            margin-right: 8px;
            transition: var(--transition);
        }

        .quick-links a:hover {
            color: var(--secondary-color);
        }

            .quick-links a:hover i {
                transform: translateX(3px);
            }

/* ============================================
   11. MAIN CONTENT AREA
   ============================================ */

.main-content {
    padding: 15px 0 !important;
    background-color: #f9f9f9;
    position: relative;
}

    .main-content:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

.content-area {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    padding: 20px;
}

/* ============================================
   12. WELCOME SECTION
   ============================================ */

.welcome-section {
    margin-bottom: 40px;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    border-top: 4px solid var(--primary-color);
}

    .welcome-section:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.section-title {
    color: var(--primary-color);
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 15px;
    font-weight: 700;
    font-size: 26px;
}

    .section-title:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 50px;
        height: 3px;
        background-color: var(--secondary-color);
        transition: var(--transition);
    }

.welcome-section:hover .section-title:after {
    width: 80px;
}

.welcome-content {
    font-size: 16px;
    line-height: 1.8;
}

/* ============================================
   13. VICE CHANCELLOR SECTION
   ============================================ */

.vc-section {
    padding: 40px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
    border-left: 4px solid var(--primary-color);
    transition: var(--transition);
}

    .vc-section:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

    .vc-section:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        height: 150px;
        background: radial-gradient(circle, var(--primary-color) 0%, rgba(0,0,128,0) 70%);
        opacity: 0.05;
        border-radius: 0 0 0 100%;
    }

.vc-image {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
    border: 5px solid #fff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    transition: var(--transition);
}

.vc-section:hover .vc-image {
    transform: scale(1.05);
}

.vc-info {
    padding-left: 20px;
}

.vc-name {
    color: var(--primary-color);
    font-weight: 700;
    margin-bottom: 5px;
    font-size: 22px;
}

.vc-designation {
    color: #666;
    font-style: italic;
    margin-bottom: 20px;
    font-size: 16px;
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
}

    .vc-designation:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 30px;
        height: 2px;
        background-color: var(--secondary-color);
    }

.vc-message {
    position: relative;
    padding-left: 20px;
    margin-top: 20px;
}

    .vc-message:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background-color: var(--secondary-color);
        border-radius: 3px;
    }

    .vc-message h3 {
        color: var(--primary-color);
        font-weight: 600;
        margin-bottom: 20px;
        font-size: 22px;
    }

.vc-quote {
    font-style: italic;
    font-size: 1.1rem;
    margin: 20px 0;
    color: #555;
    position: relative;
    padding: 15px 20px;
    background-color: rgba(0,0,128,0.02);
    border-radius: 5px;
}

    .vc-quote:before {
        content: '\201C';
        font-size: 60px;
        color: rgba(0,0,128,0.1);
        position: absolute;
        top: -15px;
        left: 5px;
        font-family: Georgia, serif;
    }

/* Dark Vice Chancellor Section */
.vc-dark-section {
    background: linear-gradient(135deg, #000080 0%, #000065 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
    padding: 0px 0;
}

    .vc-dark-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        z-index: 1;
    }

    .vc-dark-section .container {
        position: relative;
        z-index: 2;
    }

    .vc-dark-section .vc-image {
        border: 5px solid #fff;
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    }

    .vc-dark-section .vc-name {
        color: #FFD700;
    }

    .vc-dark-section .vc-designation {
        color: #ffffff;
    }

        .vc-dark-section .vc-designation:after {
            background-color: #FFD700;
        }

    .vc-dark-section .vc-message {
        border-left: 3px solid #FFD700;
        background-color: rgba(255,255,255,0.05);
        padding: 25px;
        border-radius: 5px;
    }

        .vc-dark-section .vc-message:before {
            display: none;
        }

        .vc-dark-section .vc-message h3 {
            color: #FFD700;
        }

    .vc-dark-section .vc-quote {
        background-color: rgba(255,255,255,0.08);
        color: #ffffff;
        border-left: 3px solid #FFD700;
    }

        .vc-dark-section .vc-quote:before {
            color: rgba(255,255,255,0.1);
        }

    .vc-dark-section .btn-outline-warning {
        border-color: #FFD700;
        color: #FFD700;
    }

        .vc-dark-section .btn-outline-warning:hover {
            background-color: #FFD700;
            color: #000080;
        }

    .vc-dark-section .btn-warning {
        background-color: #FFD700;
        color: #000080;
        border: none;
    }

        .vc-dark-section .btn-warning:hover {
            background-color: #e6c200;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            transform: translateY(-2px);
        }

/* ============================================
   14. VISION & MISSION SECTION
   ============================================ */

.vision-mission {
    display: flex;
    margin-bottom: 40px;
    gap: 20px;
}

.vision-box, .mission-box {
    flex: 1;
    padding: 30px;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    background-color: #fff;
}

.vision-box {
    border-top: 4px solid var(--primary-color);
}

.mission-box {
    border-top: 4px solid var(--secondary-color);
}

    .vision-box:hover, .mission-box:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.vision-mission h3 {
    color: var(--primary-color);
    font-size: 22px;
    margin-bottom: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
}

    .vision-mission h3 i {
        margin-right: 10px;
        background-color: rgba(0,0,128,0.1);
        color: var(--primary-color);
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 18px;
    }

.vision-mission p {
    margin-bottom: 0;
    line-height: 1.8;
}

/* Vision Box Heading */
.vision-box h4 {
    margin: 10px 0px 15px 0px;
}

/* Vision Box List Styles */
.vision-box ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 20px;
}

    .vision-box ul li {
        position: relative;
        padding-left: 45px;
        margin-bottom: 16px;
        line-height: 1.8;
        color: #444;
        transition: all 0.3s ease;
        font-size: 15px;
    }

        .vision-box ul li:before {
            content: '\f058';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            left: 0;
            top: 2px;
            background: linear-gradient(135deg, #4169E1 0%, #0047AB 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            font-size: 20px;
            transition: all 0.3s ease;
        }

        .vision-box ul li:hover {
            padding-left: 50px;
            color: var(--primary-color);
            font-weight: 500;
        }

            .vision-box ul li:hover:before {
                transform: rotate(360deg) scale(1.2);
                background: linear-gradient(135deg, #0047AB 0%, #002366 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
            }

        .vision-box ul li a {
            background: linear-gradient(135deg, var(--primary-color) 0%, #0047AB 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.4s ease;
            position: relative;
            display: inline-block;
            padding-bottom: 2px;
            font-size: 17px;
        }

            .vision-box ul li a:after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 0;
                height: 2px;
                background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
                transition: width 0.4s ease;
            }

            .vision-box ul li a:hover {
                background: linear-gradient(135deg, #0047AB 0%, #005AB8 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
                transform: translateX(3px);
            }

                .vision-box ul li a:hover:after {
                    width: 100%;
                }

/* Vision Box Table Styles */
.vision-box table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 25px !important;
    background-color: #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: none !important;
}

    .vision-box table thead {
        background: linear-gradient(135deg, var(--primary-color) 0%, #0047AB 100%) !important;
    }

    .vision-box table tr th {
        background: linear-gradient(135deg, var(--primary-color) 0%, #0047AB 100%) !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        text-align: left !important;
        padding: 7px 10px !important;
        font-size: 17px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        border-bottom: 3px solid var(--secondary-color) !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        vertical-align: middle !important;
    }

    .vision-box table tbody {
        background-color: #fff !important;
    }

    .vision-box table tr td {
        padding: 12px 20px !important;
        border-bottom: 1px solid #e0e0e0 !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        color: #555 !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        transition: all 0.3s ease !important;
        vertical-align: middle !important;
        background-color: transparent !important;
    }

    .vision-box table tr:last-child td {
        border-bottom: none !important;
    }

    .vision-box table tr:hover td {
        background-color: rgba(65, 105, 225, 0.05) !important;
        color: var(--primary-color) !important;
    }

    .vision-box table tr td a {
        color: var(--primary-color) !important;
        text-decoration: none !important;
        font-weight: 600 !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        display: inline-block !important;
        padding-bottom: 2px !important;
        border: none !important;
    }

        .vision-box table tr td a:after {
            content: '' !important;
            position: absolute !important;
            bottom: 0 !important;
            left: 0 !important;
            width: 0 !important;
            height: 2px !important;
            background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%) !important;
            transition: width 0.3s ease !important;
        }

        .vision-box table tr td a:hover {
            color: #0047AB !important;
            transform: translateX(2px) !important;
            text-decoration: none !important;
        }

            .vision-box table tr td a:hover:after {
                width: 100% !important;
            }

    .vision-box table tr:nth-child(even) td {
        background-color: rgba(0, 0, 128, 0.02) !important;
    }

    .vision-box table tr:nth-child(even):hover td {
        background-color: rgba(65, 105, 225, 0.08) !important;
    }

    .vision-box table.table-striped tbody tr:nth-of-type(odd) {
        background-color: transparent !important;
    }

    .vision-box table.table-striped tbody tr:nth-of-type(even) td {
        background-color: rgba(0, 0, 128, 0.02) !important;
    }

    .vision-box table.table-hover tbody tr:hover {
        background-color: transparent !important;
    }

        .vision-box table.table-hover tbody tr:hover td {
            background-color: rgba(65, 105, 225, 0.05) !important;
        }

    .vision-box table.table-bordered,
    .vision-box table.table-bordered th,
    .vision-box table.table-bordered td {
        border: none !important;
    }

        .vision-box table.table-bordered tr th {
            border-bottom: 3px solid var(--secondary-color) !important;
        }

        .vision-box table.table-bordered tr td {
            border-bottom: 1px solid #e0e0e0 !important;
        }

/* Vision Box Download Styles */
.vision-box .download {
    background: linear-gradient(135deg, rgba(65, 105, 225, 0.08) 0%, rgba(0, 71, 171, 0.05) 100%);
    border-left: 5px solid var(--primary-color);
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 20px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

    .vision-box .download:before {
        content: '\f019';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 40px;
        color: rgba(0, 0, 128, 0.1);
        transition: all 0.4s ease;
    }

    .vision-box .download:hover {
        background: linear-gradient(135deg, rgba(65, 105, 225, 0.12) 0%, rgba(0, 71, 171, 0.08) 100%);
        border-left-color: #F39C12;
        transform: translateX(5px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    }

        .vision-box .download:hover:before {
            transform: translateY(-50%) scale(1.2);
            color: rgba(243, 156, 18, 0.4);
        }

    .vision-box .download a {
        color: #1a3c80 !important;
        text-decoration: none !important;
        font-size: 17px !important;
        font-weight: bold !important;
        display: flex !important;
        align-items: center !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        z-index: 2 !important;
        padding-right: 60px !important;
    }

        .vision-box .download a:before {
            content: '\f0a9';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            margin-right: 12px;
            font-size: 20px;
            color: #D68910;
            transition: all 0.3s ease;
            text-decoration: none !important;
            display: inline-block;
            flex-shrink: 0;
        }

        .vision-box .download a:hover {
            color: #0047AB !important;
            padding-left: 5px !important;
        }

            .vision-box .download a:hover:before {
                transform: translateX(5px);
                color: #F39C12;
                text-decoration: none !important;
            }

/* ============================================
   15. NOTICES SECTION
   ============================================ */

.notices-section {
    margin-bottom: 40px;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    border-top: 4px solid var(--primary-color);
}

.nav-tabs {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 20px;
}

    .nav-tabs .nav-link {
        border: none;
        color: #666;
        font-weight: 500;
        padding: 10px 15px;
        margin-right: 5px;
        border-radius: 5px 5px 0 0;
        transition: var(--transition);
    }

        .nav-tabs .nav-link:hover {
            background-color: rgba(0,0,128,0.02);
            color: var(--primary-color);
        }

        .nav-tabs .nav-link.active {
            color: var(--primary-color);
            background-color: #fff;
            border-bottom: 3px solid var(--primary-color);
            font-weight: 600;
        }

.notice-item {
    padding: 20px;
    border-left: 3px solid var(--secondary-color);
    margin-bottom: 15px;
    background-color: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    transition: var(--transition);
    border-radius: 5px;
}

    .notice-item:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 15px rgba(0,0,0,0.1);
    }

.notice-date {
    font-size: 14px;
    color: #777;
    margin-bottom: 5px;
    display: inline-block;
    background-color: rgba(0,0,128,0.05);
    padding: 3px 10px;
    border-radius: 20px;
}

.notice-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 5px;
    font-size: 18px;
}

.notice-content {
    font-size: 15px;
    margin-bottom: 0;
    line-height: 1.6;
}

/* ============================================
   16. QUICK ACCESS LINKS
   ============================================ */

.quick-access {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    border-top: 4px solid var(--primary-color);
}

    .quick-access:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.quick-access-header {
    background: var(--gradient-primary);
    color: white;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

    .quick-access-header:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.1' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

    .quick-access-header h4 {
        margin: 0;
        font-size: 20px;
        font-weight: 600;
        position: relative;
        z-index: 1;
    }

.quick-access-links {
    padding: 0;
    list-style: none;
    margin: 0;
}

    .quick-access-links li {
        border-bottom: 1px solid #f5f5f5;
        transition: var(--transition);
    }

        .quick-access-links li:last-child {
            border-bottom: none;
        }

    .quick-access-links a {
        display: block;
        padding: 11px 20px;
        color: #333;
        text-decoration: none;
        transition: var(--transition);
        font-weight: 500;
    }

        .quick-access-links a:hover {
            background-color: var(--hover-color);
            padding-left: 25px;
            color: var(--primary-color);
        }

    .quick-access-links i {
        margin-right: 10px;
        color: var(--primary-color);
        width: 20px;
        text-align: center;
        transition: var(--transition);
    }

    .quick-access-links a:hover i {
        transform: scale(1.2);
    }

/* ============================================
   17. UPCOMING EVENTS
   ============================================ */

.upcoming-events {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: var(--box-shadow);
    border-top: 4px solid var(--secondary-color);
    transition: var(--transition);
}

    .upcoming-events:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.event-item {
    display: flex;
    margin-bottom: 15px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
    background-color: #fff;
    transition: var(--transition);
}

    .event-item:hover {
        transform: translateX(5px);
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }

.event-date {
    background: linear-gradient(135deg, var(--primary-color) 0%, #000099 100%);
    color: white;
    width: 70px;
    text-align: center;
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

    .event-date:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.1' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

    .event-date .day {
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        position: relative;
        z-index: 1;
    }

    .event-date .month {
        font-size: 14px;
        text-transform: uppercase;
        position: relative;
        z-index: 1;
    }

.event-info {
    padding: 12px 15px;
    flex: 1;
}

.event-title {
    margin: 0 0 5px;
    font-weight: 600;
    font-size: 16px;
    color: var(--primary-color);
}

.event-location {
    font-size: 13px;
    color: #777;
    margin-bottom: 0;
}

    .event-location i {
        color: var(--secondary-color);
        margin-right: 5px;
    }

/* ============================================
   18. QUOTE SECTION
   ============================================ */

.quote-section-area {
    position: relative;
    background-color: #f9f9f9;
    overflow: hidden;
    padding: 50px 0;
}

    .quote-section-area::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        opacity: 0.7;
        z-index: 1;
    }

.quote-container {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 128, 0.1);
    background: #fff;
}

.quote-content {
    position: relative;
    background: linear-gradient(135deg, #fff 0%, #f8f8ff 100%);
}

    .quote-content::before {
        content: '';
        position: absolute;
        top: 20px;
        bottom: 20px;
        left: 0;
        width: 5px;
        background: linear-gradient(to bottom, #FFD700, #f0c000);
        border-radius: 5px;
    }

.quote-inner {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.quote-marks {
    position: absolute;
    top: -30px;
    left: 20px;
    font-family: 'Georgia', serif;
    font-size: 150px;
    line-height: 1;
    color: rgba(0, 0, 128, 0.07);
    z-index: 0;
}

.quote-text {
    position: relative;
    font-size: 22px;
    line-height: 1.8;
    color: #333;
    font-weight: 400;
    z-index: 2;
}

.quote-author {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.author-line {
    width: 50px;
    height: 2px;
    background-color: #FFD700;
    margin-right: 15px;
    transition: width 0.3s ease;
}

.quote-container:hover .author-line {
    width: 70px;
}

.author-name {
    font-size: 20px;
    font-weight: 600;
    color: #000080;
}

.quote-image {
    height: 100%;
    position: relative;
}

.image-container {
    position: relative;
    height: 100%;
    overflow: hidden;
}

    .image-container::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, rgba(0, 0, 128, 0.8) 0%, rgba(0, 0, 128, 0.6) 100%);
        opacity: 0.3;
        transition: opacity 0.3s ease;
        z-index: 1;
    }

.quote-container:hover .image-container::before {
    opacity: 0.5;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 10s ease;
}

.quote-container:hover .image-container img {
    transform: scale(1.1);
}

/* ============================================
   19. ACADEMIC PROGRAMS SECTION
   ============================================ */

.academic-programs-section {
    padding: 60px 0;
    background-color: #f8f9fa;
    position: relative;
}

    .academic-programs-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        opacity: 0.4;
    }

.program-card {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    height: 100%;
    border-top: 3px solid var(--primary-color);
}

    .program-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.15);
    }

.program-img {
    height: 200px;
    overflow: hidden;
}

    .program-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s ease;
    }

.program-card:hover .program-img img {
    transform: scale(1.1);
}

.program-content {
    padding: 25px;
}

.program-title {
    color: var(--primary-color);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}

.program-details {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

    .program-details li {
        display: flex;
        margin-bottom: 10px;
        align-items: center;
    }

        .program-details li i {
            color: var(--secondary-color);
            margin-right: 10px;
            min-width: 20px;
        }

.program-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f0f0f0;
    padding-top: 15px;
}

.program-type {
    background-color: rgba(0,0,128,0.1);
    color: var(--primary-color);
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

/* ============================================
   20. RESEARCH HIGHLIGHTS SECTION
   ============================================ */

.research-highlights {
    padding: 70px 0;
    background: linear-gradient(135deg, #f6f9fc 0%, #edf3fa 100%);
    position: relative;
}

    .research-highlights::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000080' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

.research-card {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    overflow: hidden;
    transition: var(--transition);
    margin-bottom: 30px;
    height: 100%;
    border-bottom: 3px solid var(--secondary-color);
}

    .research-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    }

.research-img {
    height: 220px;
    overflow: hidden;
    position: relative;
}

    .research-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s ease;
    }

.research-card:hover .research-img img {
    transform: scale(1.1);
}

.research-category {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: rgba(0,0,128,0.8);
    color: #fff;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
}

.research-content {
    padding: 25px;
}

.research-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 15px;
    line-height: 1.4;
}

.research-body {
    margin-bottom: 20px;
    color: #555;
}

.research-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f0f0f0;
    padding-top: 15px;
}

.researcher {
    display: flex;
    align-items: center;
}

    .researcher img {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        object-fit: cover;
        margin-right: 10px;
        border: 2px solid #f0f0f0;
    }

.researcher-info {
    line-height: 1.3;
}

.researcher-name {
    font-weight: 600;
    font-size: 14px;
    color: #444;
}

.researcher-designation {
    font-size: 12px;
    color: #777;
}

/* ============================================
   21. ACHIEVEMENT COUNTER SECTION
   ============================================ */

.achievement-counter {
    padding: 30px 0;
    background: linear-gradient(135deg, #000080 0%, #000065 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

    .achievement-counter::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

.counter-wrapper {
    position: relative;
    z-index: 2;
}

.counter-item {
    text-align: center;
    margin-bottom: 30px;
}

.counter-icon {
    font-size: 40px;
    color: var(--secondary-color);
    margin-bottom: 20px;
}

.counter-number {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}

.counter-text {
    font-size: 16px;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
}

/* ============================================
   22. FACULTY SECTION
   ============================================ */

.faculty-section {
    padding: 70px 0;
    background-color: #fff;
    position: relative;
}

    .faculty-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

.faculty-card {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    margin-bottom: 30px;
    border-bottom: 3px solid var(--primary-color);
}

    .faculty-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

.faculty-img {
    position: relative;
    height: 280px;
    overflow: hidden;
}

    .faculty-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
    }

.faculty-card:hover .faculty-img img {
    transform: scale(1.08);
}

.faculty-social {
    position: absolute;
    top: 20px;
    right: -60px;
    transition: right 0.3s ease;
}

.faculty-card:hover .faculty-social {
    right: 20px;
}

.faculty-social a {
    display: block;
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.9);
    color: var(--primary-color);
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    margin-bottom: 10px;
    transition: var(--transition);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

    .faculty-social a:hover {
        background-color: var(--primary-color);
        color: #fff;
        transform: scale(1.1);
    }

.faculty-content {
    padding: 25px;
    text-align: center;
}

.faculty-name {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.faculty-designation {
    font-size: 14px;
    color: #666;
    font-style: italic;
    margin-bottom: 15px;
}

.faculty-department {
    background-color: rgba(0,0,128,0.1);
    color: var(--primary-color);
    display: inline-block;
    padding: 3px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* ============================================
   23. CAMPUS GALLERY
   ============================================ */

.campus-gallery {
    padding: 30px 0;
    background-color: #f8f9fa;
    position: relative;
}

    .campus-gallery::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000080' fill-opacity='0.03' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
    }

.gallery-container {
    position: relative;
    z-index: 2;
}

.gallery-item {
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
}

.gallery-img {
    height: 250px;
    overflow: hidden;
}

    .gallery-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.8s ease;
    }

.gallery-item:hover .gallery-img img {
    transform: scale(1.1);
}

.gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0) 100%);
    color: #fff;
    padding: 20px;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-caption {
    transform: translateY(0);
}

.gallery-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
}

.gallery-subtitle {
    font-size: 14px;
    opacity: 0.8;
}

/* ============================================
   24. TESTIMONIALS SECTION
   ============================================ */

.testimonials-section {
    padding: 30px 0;
    background: linear-gradient(135deg, #f1f5f9 0%, #e9f2f9 100%);
    position: relative;
}

    .testimonials-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000080' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

.testimonial-card {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
    transition: var(--transition);
}

    .testimonial-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

    .testimonial-card::before {
        content: '\201C';
        font-family: Georgia, serif;
        font-size: 80px;
        color: rgba(0,0,128,0.1);
        position: absolute;
        top: 20px;
        left: 20px;
        line-height: 1;
    }

.testimonial-content {
    position: relative;
    z-index: 2;
    font-style: italic;
    margin-bottom: 20px;
    color: #555;
}

.testimonial-author {
    display: flex;
    align-items: center;
}

    .testimonial-author img {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        object-fit: cover;
        margin-right: 15px;
        border: 3px solid #f0f0f0;
    }

.author-info {
    line-height: 1.4;
}

.author-name {
    font-weight: 700;
    color: var(--primary-color);
    font-size: 18px;
}

.author-designation {
    font-size: 14px;
    color: #666;
}

/* ============================================
   25. INTERNATIONAL COLLABORATIONS
   ============================================ */

.international-section {
    padding: 70px 0;
    background-color: #fff;
    position: relative;
}

    .international-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

.partner-box {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    padding: 20px;
    margin-bottom: 30px;
    transition: var(--transition);
    text-align: center;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

    .partner-box:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.partner-logo {
    max-width: 150px;
    max-height: 80px;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.partner-box:hover .partner-logo {
    transform: scale(1.1);
}

.partner-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.partner-location {
    font-size: 14px;
    color: #666;
}

/* ============================================
   26. NEWSLETTER SECTION
   ============================================ */

.newsletter-section {
    padding: 30px 0;
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

    .newsletter-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

.newsletter-wrapper {
    position: relative;
    z-index: 2;
}

.newsletter-content h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.newsletter-content p {
    opacity: 0.9;
    font-size: 16px;
    max-width: 500px;
}

.newsletter-form {
    position: relative;
    max-width: 400px;
}

    .newsletter-form input {
        width: 100%;
        height: 50px;
        padding: 0 150px 0 20px;
        border-radius: 25px;
        border: none;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }

    .newsletter-form button {
        position: absolute;
        top: 5px;
        right: 5px;
        height: 40px;
        border-radius: 20px;
        padding: 0 20px;
        background: linear-gradient(135deg, var(--primary-color) 0%, #000065 100%);
        color: #fff;
        border: none;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
    }

        .newsletter-form button:hover {
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

/* ============================================
   27. FACILITIES SECTION
   ============================================ */

.facilities-section {
    padding: 30px 0;
    background-color: #f8f9fa;
    position: relative;
    overflow: hidden;
}

    .facilities-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000080' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

.facilities-tagline {
    max-width: 700px;
    margin: 0 auto 20px;
    color: #555;
}

.facility-cards-container {
    position: relative;
    z-index: 2;
}

.facility-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
    overflow: hidden;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
    height: 100%;
    padding: 40px 30px 30px;
    border-top: 5px solid transparent;
    border-image: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    border-image-slice: 1;
}

    .facility-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 0;
        transition: height 0.5s ease;
        z-index: 0;
        opacity: 0;
    }

    .facility-card:hover {
        transform: translateY(-15px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

        .facility-card:hover::before {
            height: 100%;
            opacity: 1;
        }

    .facility-card .card-header {
        position: relative;
        overflow: hidden;
    }

        .facility-card .card-header:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.1' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
        }

/* Individual card hover backgrounds */
.card-medical::before {
    background: linear-gradient(135deg, rgba(232, 244, 248, 1) 0%, rgba(200, 229, 238, 1) 100%);
}

.card-dining::before {
    background: linear-gradient(135deg, rgba(253, 244, 230, 1) 0%, rgba(246, 224, 180, 1) 100%);
}

.card-accommodation::before {
    background: linear-gradient(135deg, rgba(242, 237, 246, 1) 0%, rgba(220, 207, 232, 1) 100%);
}

.card-research::before {
    background: linear-gradient(135deg, rgba(233, 248, 240, 1) 0%, rgba(199, 232, 219, 1) 100%);
}

.card-auditorium::before {
    background: linear-gradient(135deg, rgba(249, 237, 237, 1) 0%, rgba(234, 204, 204, 1) 100%);
}

.card-library::before {
    background: linear-gradient(135deg, rgba(235, 241, 253, 1) 0%, rgba(204, 221, 248, 1) 100%);
}

/* Card icon styles */
.facility-icon {
    position: relative;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #000065 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 25px;
    transition: all 0.4s ease;
    box-shadow: 0 10px 20px rgba(0,0,128,0.15);
    z-index: 1;
}

/* Custom icon backgrounds for each card */
.card-medical .facility-icon {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.card-dining .facility-icon {
    background: linear-gradient(135deg, #ff9a44 0%, #fc6076 100%);
}

.card-accommodation .facility-icon {
    background: linear-gradient(135deg, #a166ab 0%, #7c65b1 100%);
}

.card-research .facility-icon {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.card-auditorium .facility-icon {
    background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.card-library .facility-icon {
    background: linear-gradient(135deg, #4481eb 0%, #04befe 100%);
}

.facility-card:hover .facility-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
}

/* Custom card border colors */
.card-medical {
    border-top-color: #4facfe;
}

.card-dining {
    border-top-color: #ff9a44;
}

.card-accommodation {
    border-top-color: #a166ab;
}

.card-research {
    border-top-color: #43e97b;
}

.card-auditorium {
    border-top-color: #fa709a;
}

.card-library {
    border-top-color: #4481eb;
}

.facility-content {
    position: relative;
    z-index: 1;
}

    .facility-content h4 {
        color: var(--primary-color);
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 15px;
        transition: color 0.3s ease;
    }

/* Custom heading colors on hover */
.card-medical:hover .facility-content h4 {
    color: #0085c7;
}

.card-dining:hover .facility-content h4 {
    color: #e66000;
}

.card-accommodation:hover .facility-content h4 {
    color: #7c3c8d;
}

.card-research:hover .facility-content h4 {
    color: #00a650;
}

.card-auditorium:hover .facility-content h4 {
    color: #d62b70;
}

.card-library:hover .facility-content h4 {
    color: #0057b8;
}

.facility-content p {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
    transition: color 0.3s ease;
}

.facility-card:hover .facility-content p {
    color: #333;
}

.facility-link {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
    display: inline-block;
}

    .facility-link::after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 0;
        height: 2px;
        transition: width 0.3s ease;
    }

/* Custom link colors and hover effects */
.card-medical .facility-link {
    color: #0085c7;
}

    .card-medical .facility-link::after {
        background-color: #0085c7;
    }

.card-dining .facility-link {
    color: #e66000;
}

    .card-dining .facility-link::after {
        background-color: #e66000;
    }

.card-accommodation .facility-link {
    color: #7c3c8d;
}

    .card-accommodation .facility-link::after {
        background-color: #7c3c8d;
    }

.card-research .facility-link {
    color: #00a650;
}

    .card-research .facility-link::after {
        background-color: #00a650;
    }

.card-auditorium .facility-link {
    color: #d62b70;
}

    .card-auditorium .facility-link::after {
        background-color: #d62b70;
    }

.card-library .facility-link {
    color: #0057b8;
}

    .card-library .facility-link::after {
        background-color: #0057b8;
    }

.facility-card:hover .facility-link::after {
    width: 100%;
}

.facility-link i {
    font-size: 12px;
    margin-left: 5px;
    transition: transform 0.3s ease;
}

.facility-card:hover .facility-link i {
    transform: translateX(5px);
}

.facility-features {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

    .facility-features li {
        padding: 6px 0;
        border-bottom: 1px dashed #eee;
    }

        .facility-features li:last-child {
            border-bottom: none;
        }

.facilities-cta {
    margin-top: 20px;
    padding: 12px 30px;
    font-weight: 600;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.4s ease;
}

    .facilities-cta:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    }

.additional-facility {
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

    .additional-facility:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

.icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

/* ============================================
   28. FOOTER
   ============================================ */

.footer {
    background: linear-gradient(135deg, #000065 0%, var(--primary-color) 100%);
    color: var(--text-light);
    padding: 60px 0 20px;
    position: relative;
}

    .footer:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

    .footer .container {
        position: relative;
        z-index: 1;
    }

    .footer h5 {
        text-transform: uppercase;
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 25px;
        color: var(--secondary-color);
        position: relative;
        padding-bottom: 10px;
        display: inline-block;
    }

        .footer h5:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 2px;
            background-color: var(--secondary-color);
        }

    .footer ul {
        list-style: none;
        padding-left: 0;
    }

        .footer ul li {
            margin-bottom: 12px;
            transition: var(--transition);
        }

            .footer ul li:hover {
                transform: translateX(5px);
            }

    .footer a {
        color: #fff;
        text-decoration: none;
        font-size: 16px;
        transition: var(--transition);
        display: block;
        font-weight: 500;
    }

        .footer a:hover {
            color: var(--text-light);
        }

    .footer address {
        color: #fff;
        font-size: 16px;
        line-height: 1.8;
    }

        .footer address strong {
            color: var(--text-light);
            font-size: 16px;
            margin-bottom: 10px;
            display: block;
        }

    .footer .row {
        margin-bottom: 0;
    }

    .footer .border-top {
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    /* Footer menu styling */
    .footer .footer-menu-column h5 {
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 15px;
        padding-bottom: 10px;
        border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    }

    .footer .footer-menu-column ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .footer .footer-menu-column ul li {
            margin-bottom: 8px;
        }

            .footer .footer-menu-column ul li a {
                color: rgba(255, 255, 255, 0.8);
                text-decoration: none;
                font-size: 0.9rem;
                transition: all 0.3s ease;
                display: inline-block;
            }

                .footer .footer-menu-column ul li a:hover {
                    color: #fff;
                    padding-left: 5px;
                    text-decoration: underline;
                }

.footer-bottom {
    background-color: rgba(0, 0, 0, 0.3);
    padding: 15px 0;
    margin-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-links {
    display: inline-block;
    white-space: nowrap;
}

    .footer-links a {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;
        transition: color 0.3s;
        padding: 0 4px;
        display: inline-block;
    }

        .footer-links a:hover {
            color: #ffffff;
        }

    .footer-links .separator {
        color: rgba(255, 255, 255, 0.5);
        display: inline-block;
    }

.social-icons {
    margin-top: 20px;
}

    .social-icons a {
        display: inline-block;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.1);
        text-align: center;
        line-height: 36px;
        margin-right: 10px;
        transition: var(--transition);
    }

        .social-icons a:hover {
            background-color: var(--secondary-color);
            transform: translateY(-3px);
            box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        }

/* ============================================
   29. BUTTONS
   ============================================ */

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: 0 4px 10px rgba(0,0,128,0.2);
    transition: var(--transition);
}

    .btn-primary:hover {
        background-color: #000099;
        border-color: #000099;
        transform: translateY(-2px);
        box-shadow: 0 6px 15px rgba(0,0,128,0.3);
    }

.btn-outline-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
    transition: var(--transition);
}

    .btn-outline-primary:hover {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        transform: translateY(-2px);
        box-shadow: 0 4px 10px rgba(0,0,128,0.2);
    }

/* ============================================
   30. SIDEBAR
   ============================================ */

.sidebar {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    position: sticky;
    top: 20px;
}

.sidebar-header {
    background: linear-gradient(135deg, #000080 0%, #0000b3 100%);
    color: white;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

    .sidebar-header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.1' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    }

    .sidebar-header h4 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
        position: relative;
        z-index: 1;
    }

.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .sidebar-menu li {
        border-bottom: 1px solid #f0f0f0;
    }

        .sidebar-menu li:last-child {
            border-bottom: none;
        }

    .sidebar-menu a {
        display: block;
        padding: 12px 20px;
        color: #333;
        text-decoration: none;
        font-weight: 500;
        transition: all 0.3s ease;
        font-size: 14px;
    }

        .sidebar-menu a:hover,
        .sidebar-menu a.active {
            background-color: rgba(0,0,128,0.05);
            color: #000080;
            padding-left: 30px;
        }

        .sidebar-menu a.active {
            border-right: 3px solid #000080;
            background-color: rgba(0,0,128,0.08);
            font-weight: 600;
        }

        .sidebar-menu a i {
            margin-right: 10px;
            color: #000080;
            width: 20px;
            text-align: center;
        }

/* ============================================
   31. PAGE BANNER
   ============================================ */

.page-banner {
    min-height: 120px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

    .page-banner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        opacity: 0.3;
    }

    .page-banner.has-gradient-background {
        min-height: 120px;
        position: relative;
    }

        .page-banner.has-gradient-background::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.3;
            z-index: 1;
        }

        .page-banner.has-gradient-background .banner-overlay {
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 100%);
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2;
        }

        .page-banner.has-gradient-background .page-banner-content {
            position: relative;
            z-index: 3;
            color: white;
        }

        .page-banner.has-gradient-background .page-title {
            font-size: 1.7rem;
            font-weight: 700;
            margin-bottom: 10px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.6);
            color: #ffffff;
        }

        .page-banner.has-gradient-background .breadcrumb-nav {
            background: rgba(255,255,255,0.15);
            border-radius: 30px;
            padding: 6px 16px;
            margin-top: 12px;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
        }

            .page-banner.has-gradient-background .breadcrumb-nav a {
                color: rgba(255,255,255,0.9);
                text-decoration: none;
                transition: color 0.3s ease;
            }

                .page-banner.has-gradient-background .breadcrumb-nav a:hover {
                    color: #FFD700;
                }

            .page-banner.has-gradient-background .breadcrumb-nav .active {
                color: #FFD700;
                font-weight: 600;
            }

.page-banner-content {
    position: relative;
    z-index: 2;
    color: white;
}

.page-banner .page-banner-content:has(.breadcrumb-nav:only-child) {
    padding: 1rem 0;
}

.page-banner .page-banner-content:has(.page-title) {
    padding: 1.5rem 0;
}

.page-banner .breadcrumb-nav {
    margin-bottom: 0;
}

.page-title {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.page-subtitle {
    font-size: 1.1rem;
    opacity: 0.9;
    max-width: 600px;
}

.breadcrumb-nav {
    background: rgba(255,255,255,0.1);
    border-radius: 30px;
    padding: 6px 16px;
    margin-top: 12px;
    backdrop-filter: blur(10px);
}

    .breadcrumb-nav a {
        color: rgba(255,255,255,0.8);
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .breadcrumb-nav a:hover {
            color: #FFD700;
        }

    .breadcrumb-nav .active {
        color: #FFD700;
        font-weight: 600;
    }

/* ============================================
   32. VISITOR COUNTER
   ============================================ */

.visitor-counter {
    background: linear-gradient(135deg, rgba(0,123,255,0.8), rgba(40,167,69,0.8)) !important;
    border: 1px solid rgba(255,255,255,0.2);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

    .visitor-counter:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    }

.visitor-count, .today-count {
    font-family: 'Courier New', monospace;
    font-size: 1.1em;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.visitor-counter .separator {
    opacity: 0.7;
}

.visitor-counter {
    animation: countUp 0.5s ease-out;
}

.visitor-pulse {
    animation: pulse 2s infinite;
}

/* ============================================
   33. BACK TO TOP BUTTON
   ============================================ */

.back-to-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--primary-color);
    color: white;
    transition: all 0.4s;
    z-index: 99;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

    .back-to-top:hover {
        background: #000099;
        color: white;
        transform: scale(1.1);
    }

/* ============================================
   34. NIRF & UG REGISTRATION BLINKING EFFECTS
   ============================================ */

.nirf-blink {
    animation: nirfGlow 2s ease-in-out infinite;
    position: relative;
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: 1px solid rgba(218, 165, 32, 0.4);
}

.ug-blink {
    animation: ugGlow 2s ease-in-out infinite;
    position: relative;
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 51, 153, 0.4);
}

.nirf-blink i {
    color: #DAA520 !important;
    animation: iconPulseYellow 2s ease-in-out infinite;
}

.ug-blink i {
    color: #003399 !important;
    animation: iconPulseBlue 2s ease-in-out infinite;
}

.nirf-blink:hover {
    animation: none;
    background-color: rgba(184, 134, 11, 0.2);
    transform: scale(1.05);
    border: 1px solid #B8860B;
}

    .nirf-blink:hover i {
        animation: none;
        color: #B8860B !important;
    }

.ug-blink:hover {
    animation: none;
    background-color: rgba(0, 34, 102, 0.2);
    transform: scale(1.05);
    border: 1px solid #002266;
}

    .ug-blink:hover i {
        animation: none;
        color: #002266 !important;
    }

.nirf-blink:focus,
.ug-blink:focus {
    outline: 3px solid rgba(218, 165, 32, 0.6);
    outline-offset: 2px;
}

.ug-blink:focus {
    outline-color: rgba(0, 51, 153, 0.6);
}

/* ============================================
   35. ARTICLE CONTENT LINKS
   ============================================ */
.article-content p{
    text-align: justify !important;
}
.article-content a,
.article-content a:link,
#articleContent a,
#articleContent a:link,
#articleContentFull a,
#articleContentFull a:link {
    color: #007bff !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 800 !important;
    display: inline !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-style: normal !important;
    font-weight: normal !important;
    padding: 0 !important;
    margin: 0 !important;
}

    .article-content a:visited,
    #articleContent a:visited,
    #articleContentFull a:visited {
        color: #6f42c1 !important;
        
    }

    .article-content a:hover,
    .article-content a:focus,
    #articleContent a:hover,
    #articleContent a:focus,
    #articleContentFull a:hover,
    #articleContentFull a:focus {
        color: #0056b3 !important;
        text-decoration: underline !important;
        cursor: pointer !important;
    }

    .article-content a:active,
    #articleContent a:active,
    #articleContentFull a:active {
        color: #004085 !important;
    }

.article-content .text-decoration-none,
#articleContent .text-decoration-none,
#articleContentFull .text-decoration-none {
    text-decoration: underline !important;
}

.article-content a[target="_blank"],
#articleContent a[target="_blank"],
#articleContentFull a[target="_blank"] {
    position: relative !important;
}

/* Document link enhanced styling */
.article-content a.document-link,
.article-content a[href*="DownloadFile"],
.article-content a[href*=".pdf"],
.article-content a[href*=".doc"],
#articleContent a.document-link,
#articleContent a[href*="DownloadFile"],
#articleContent a[href*=".pdf"],
#articleContent a[href*=".doc"],
#articleContentFull a.document-link,
#articleContentFull a[href*="DownloadFile"],
#articleContentFull a[href*=".pdf"],
#articleContentFull a[href*=".doc"] {
    color: #17a2b8 !important;
    text-decoration: none !important;
    padding: 5px 10px !important;
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    display: inline-block !important;
    margin: 2px 0 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    z-index: 800 !important;
    position: relative !important;
    transition: all 0.2s ease !important;
}

    .article-content a.document-link:hover,
    .article-content a[href*="DownloadFile"]:hover,
    #articleContent a.document-link:hover,
    #articleContent a[href*="DownloadFile"]:hover,
    #articleContentFull a.document-link:hover,
    #articleContentFull a[href*="DownloadFile"]:hover {
        background-color: #e9ecef !important;
        color: #138496 !important;
        text-decoration: none !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    }

.document-link:before {
    content: '📄';
    margin-right: 5px;
    font-size: 0.9em;
}

.external-link-icon {
    opacity: 0.7;
    transition: opacity 0.2s;
}

.article-content a:hover .external-link-icon,
#articleContent a:hover .external-link-icon,
#articleContentFull a:hover .external-link-icon {
    opacity: 1;
}

/* Debug styles for broken links */
.article-content a[href=""],
.article-content a:not([href]),
#articleContent a[href=""],
#articleContent a:not([href]),
#articleContentFull a[href=""],
#articleContentFull a:not([href]) {
    background-color: #ffebee !important;
    color: #c62828 !important;
    border: 2px dashed #c62828 !important;
    padding: 2px 4px !important;
}

/* Emergency fix styles */
.force-link-visible {
    display: inline !important;
    color: #007bff !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    z-index: 800 !important;
    position: relative !important;
}

.emergency-fix {
    border: 2px solid #28a745 !important;
    border-radius: 3px !important;
}

/* Debug info styling */
#debugInfo, #debugInfoFull {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    padding: 15px;
    border-radius: 5px;
    margin: 15px 0;
    z-index: 800 !important;
    position: relative !important;
}

/* Article action buttons */
.article-actions button {
    margin: 0 5px;
    padding: 8px 15px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #f8f9fa;
    cursor: pointer;
    z-index: 800 !important;
    position: relative !important;
}

    .article-actions button:hover {
        background: #e9ecef;
    }

/* Download box article content link overrides */
.vision-box .download a,
.vision-box .download a:link,
.vision-box .download a:visited,
.article-content .download a,
.article-content .download a:link,
.article-content .download a:visited,
#articleContent .download a,
#articleContent .download a:link,
#articleContentFull .download a,
#articleContentFull .download a:link {
    font-weight: bold !important;
    text-decoration: none !important;
    color: #1a3c80 !important;
    font-size: 17px !important;
}

    .vision-box .download a:before,
    .article-content .download a:before,
    #articleContent .download a:before,
    #articleContentFull .download a:before {
        text-decoration: none !important;
        font-weight: 900 !important;
    }

    .vision-box .download a:hover,
    .article-content .download a:hover,
    #articleContent .download a:hover,
    #articleContentFull .download a:hover {
        text-decoration: none !important;
        font-weight: bold !important;
        color: #0047AB !important;
    }

/* ============================================
   36. KEYFRAME ANIMATIONS
   ============================================ */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes fadeDown {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes tickerAnimation {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes socialSlideInInit {
    from {
        right: -300px;
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        right: -210px;
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes socialPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes slideDown {
    from {
        height: 0;
        opacity: 0;
    }

    to {
        height: auto;
        opacity: 1;
    }
}

@keyframes countUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes nirfBlink {
    0%, 100% {
        opacity: 1;
        background-color: transparent;
        transform: scale(1);
    }

    50% {
        opacity: 0.8;
        background-color: rgba(218, 165, 32, 0.3);
        transform: scale(1.05);
    }
}

@keyframes ugBlink {
    0%, 100% {
        opacity: 1;
        background-color: transparent;
        transform: scale(1);
    }

    50% {
        opacity: 0.8;
        background-color: rgba(0, 51, 153, 0.3);
        transform: scale(1.05);
    }
}

@keyframes iconPulseYellow {
    0%, 100% {
        transform: scale(1);
        color: #DAA520;
    }

    50% {
        transform: scale(1.15);
        color: #B8860B;
    }
}

@keyframes iconPulseBlue {
    0%, 100% {
        transform: scale(1);
        color: #003399;
    }

    50% {
        transform: scale(1.15);
        color: #002266;
    }
}

@keyframes nirfGlow {
    0%, 100% {
        box-shadow: 0 0 5px rgba(218, 165, 32, 0.5);
    }

    50% {
        box-shadow: 0 0 20px rgba(218, 165, 32, 0.8), 0 0 30px rgba(184, 134, 11, 0.6);
    }
}

@keyframes ugGlow {
    0%, 100% {
        box-shadow: 0 0 5px rgba(0, 51, 153, 0.5);
    }

    50% {
        box-shadow: 0 0 20px rgba(0, 51, 153, 0.8), 0 0 30px rgba(0, 34, 102, 0.6);
    }
}

/* ============================================
   37. RESPONSIVE - LARGE SCREENS (1400px+)
   ============================================ */

@media (min-width: 1400px) {
    .top-bar {
        font-size: 18px !important
    }

        .top-bar a {
            font-size: 18px !important;
        }

        .top-bar i {
            font-size: 18px !important;
        }

    .footer a {
        font-size: 18px !important
    }
}

@media (min-width: 1200px) {
    .navbar-nav .nav-link {
        max-width: none;
    }
}

/* ============================================
   38. RESPONSIVE - DESKTOP (992px+)
   ============================================ */

@media (min-width: 992px) {
    .mega-dropdown .dropdown-menu {
        max-height: none;
        overflow-y: visible;
        height: auto;
    }

        .mega-dropdown .dropdown-menu .col-md-3 {
            flex: 0 0 25%;
            max-width: 25%;
        }

        .mega-dropdown .dropdown-menu .col-md-4 {
            flex: 0 0 33.333333%;
            max-width: 33.333333%;
        }
}

/* ============================================
   39. RESPONSIVE - TABLET & BELOW (991.98px)
   ============================================ */

@media (max-width: 991.98px) {
    .navbar-nav .nav-item {
        margin-bottom: 0 !important;
    }

        .navbar-nav .nav-item .nav-link {
            padding: 8px 15px !important;
            font-size: 13px !important;
            margin-bottom: 0 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        }

        .navbar-nav .nav-item:last-child .nav-link {
            border-bottom: none !important;
        }

    .navbar-collapse {
        background-color: #1a3c80;
        margin-top: 5px !important;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        max-height: 80vh;
        overflow-y: auto;
        padding: 0 !important;
    }

    .dropdown-menu {
        position: static !important;
        float: none !important;
        width: auto !important;
        margin-top: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background-color: rgba(255, 255, 255, 0.05) !important;
        border-radius: 0 !important;
        display: none !important;
        height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

        .dropdown-menu.show {
            display: block !important;
            height: auto !important;
            overflow: scroll !important;
            opacity: 1 !important;
            padding: 5px !important;
            margin: 0 !important;
            animation: slideDown 0.3s ease-out;
        }

            .dropdown-menu.show .dropdown-item {
                padding: 6px 25px !important;
                color: rgba(255, 255, 255, 0.8) !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
                font-size: 12px !important;
                margin-left: 10px !important;
            }

                .dropdown-menu.show .dropdown-item:hover {
                    background-color: rgba(255, 255, 255, 0.1) !important;
                    color: #fff !important;
                    padding-left: 30px !important;
                }

    .mega-dropdown .dropdown-menu {
        width: auto !important;
        padding: 0 !important;
        display: none !important;
        height: 0 !important;
        overflow: hidden !important;
    }

        .mega-dropdown .dropdown-menu.show {
            display: block !important;
            height: auto !important;
            overflow: scroll !important;
            padding: 10px !important;
        }

            .mega-dropdown .dropdown-menu.show .row {
                flex-direction: column;
                margin: 0 !important;
            }

            .mega-dropdown .dropdown-menu.show .col-md-3,
            .mega-dropdown .dropdown-menu.show .col-md-4 {
                width: 100%;
                margin-bottom: 8px !important;
                flex: none;
                max-width: 100%;
                padding: 0 15px !important;
            }

            .mega-dropdown .dropdown-menu.show .mega-section-title {
                color: #FFD700 !important;
                border-bottom-color: rgba(255, 255, 255, 0.2) !important;
                margin-bottom: 8px !important;
                padding-bottom: 4px !important;
                font-size: 13px !important;
            }

            .mega-dropdown .dropdown-menu.show .mega-link {
                color: rgba(255, 255, 255, 0.7) !important;
                border-left-color: transparent !important;
                white-space: normal;
                padding: 4px 0 !important;
                font-size: 11px !important;
                line-height: 1.3 !important;
                padding-left: 8px !important;
            }

                .mega-dropdown .dropdown-menu.show .mega-link:hover {
                    color: #FFD700 !important;
                    border-left-color: #FFD700 !important;
                    background-color: rgba(255, 255, 255, 0.1) !important;
                    padding-left: 12px !important;
                }

    .nav-link.dropdown-toggle {
        position: relative;
    }

        .nav-link.dropdown-toggle::after {
            transition: transform 0.3s ease;
        }

        .nav-link.dropdown-toggle[aria-expanded="true"]::after {
            transform: rotate(180deg);
        }

    .dropdown-menu.show .col-md-3:not(:last-child),
    .dropdown-menu.show .col-md-4:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .navbar-collapse:not(.show) {
        display: none;
    }

    .navbar-toggler {
        background-color: rgba(255, 255, 255, 0.2);
        border: none;
        padding: 8px 10px !important;
        margin: 8px 15px;
    }

    .mega-dropdown .dropdown-menu.show .mega-section-title:not(:first-child) {
        margin-top: 15px !important;
        padding-top: 8px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .mega-dropdown .dropdown-menu.show .mega-section-title:first-child {
        margin-top: 0 !important;
    }

    /* Social Media Navigation for tablet */
    .navbar-collapse.show ~ body #socialMediaNav a {
        transition-delay: 0.3s;
    }

    .navbar-collapse.collapsing ~ body #socialMediaNav a {
        transition-delay: 0.1s;
    }

    #socialMediaNav {
        z-index: 1100 !important;
    }

    /* Layout adjustments */
    .vision-mission {
        flex-direction: column;
    }

    .vision-box {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .vc-section {
        padding: 30px;
    }

    .vc-dark-section .vc-image {
        margin-bottom: 30px;
    }

    .quote-container {
        flex-direction: column;
    }

    .quote-content,
    .quote-image {
        width: 100%;
    }

    .image-container {
        height: 300px;
    }

    .quote-text {
        font-size: 18px;
    }

    .quote-marks {
        font-size: 120px;
        top: -20px;
    }

    .newsletter-form {
        margin-top: 20px;
    }
}

/* ============================================
   40. RESPONSIVE - TABLET (768px - 991px)
   ============================================ */

@media (min-width: 768px) and (max-width: 991px) {
    .footer .footer-menu-column {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}

@media (min-width: 768px) {
    .footer .footer-menu-column {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

/* ============================================
   41. RESPONSIVE - MOBILE (767.98px and below)
   ============================================ */

@media (max-width: 767.98px) {
    .header-quick-actions .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .header-quick-actions .col-12 {
        text-align: center;
    }

    .header-quick-links {
        transform: translateX(-12px);
    }

    .footer-links {
        margin-top: 10px;
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .university-name h1 {
        font-size: 22px;
    }

    .university-name p {
        font-size: 14px;
    }

    .carousel-inner {
        max-height: 300px;
    }

    .carousel-item img {
        height: 300px;
    }

    .vc-image {
        width: 100px;
        height: 100px;
        margin: 0 auto 20px;
        display: block;
    }

    .vc-info {
        padding-left: 0;
        text-align: center;
    }

    .vc-message:before {
        display: none;
    }

    .vc-message {
        padding-left: 0;
    }

    .section-title:after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vc-designation:after {
        left: 50%;
        transform: translateX(-50%);
    }

    h1, h2, h3, h4, h5, h6, .text-md-start {
        text-align: center;
    }

    .quote-inner {
        padding: 30px !important;
    }

    .facility-card {
        margin-bottom: 30px;
        padding: 30px 20px 25px;
    }

    .facility-icon {
        width: 70px;
        height: 70px;
        font-size: 28px;
        margin-bottom: 20px;
    }

    .facility-content h4 {
        font-size: 20px;
    }

    /* Flash News responsive */
    .flash-news-container {
        flex-direction: column;
        align-items: flex-start;
    }

    .flash-news-header {
        margin-bottom: 10px;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .flash-news-content {
        width: 100%;
        padding: 0;
    }

    .flash-news-nav {
        margin-top: 10px;
        width: 100%;
        justify-content: center;
        padding-left: 0;
    }

    .news-ticker-wrapper {
        height: 35px;
    }

    /* Page Banner responsive */
    .page-banner {
        min-height: 100px;
    }

        .page-banner.has-gradient-background {
            min-height: 110px;
        }

            .page-banner.has-gradient-background .page-title {
                font-size: 1.6rem;
                margin-bottom: 8px;
            }

        .page-banner .page-banner-content:has(.breadcrumb-nav:only-child) {
            padding: 0.75rem 0;
        }

        .page-banner .page-banner-content:has(.page-title) {
            padding: 1rem 0;
        }

        .breadcrumb-nav,
        .page-banner.has-gradient-background .breadcrumb-nav {
            padding: 5px 12px;
            margin-top: 8px;
            font-size: 0.9rem;
        }

    .page-title {
        font-size: 1.8rem;
        margin-bottom: 8px;
    }

    .visitor-counter {
        padding: 6px 10px;
        margin: 5px 0;
    }

        .visitor-counter small {
            font-size: 0.8rem;
        }

    .visitor-count, .today-count {
        font-size: 1em;
    }

    /* Footer responsive */
    .footer .footer-menu-column {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    /* NIRF blinking responsive */
    .nirf-blink,
    .ug-blink {
        padding: 3px 6px;
    }

    @keyframes nirfBlink {
        0%, 100% {
            opacity: 1;
            transform: scale(1);
        }

        50% {
            opacity: 0.8;
            transform: scale(1.03);
        }
    }

    @keyframes ugBlink {
        0%, 100% {
            opacity: 1;
            transform: scale(1);
        }

        50% {
            opacity: 0.8;
            transform: scale(1.03);
        }
    }

    /* Vision Box responsive */
    .vision-box ul li {
        padding-left: 40px;
        font-size: 14px;
    }

        .vision-box ul li:before {
            font-size: 18px;
        }

    /* Table responsive */
    .vision-box table {
        font-size: 14px !important;
    }

        .vision-box table tr th,
        .vision-box table tr td {
            padding: 5px 12px !important;
            font-size: 14px !important;
        }

        .vision-box table tr th {
            font-size: 15px !important;
        }

    /* Article links responsive */
    .article-content a,
    #articleContent a,
    #articleContentFull a {
        min-height: 44px !important;
        padding: 8px 4px !important;
        display: inline-block !important;
        line-height: 1.4 !important;
    }
}

/* ============================================
   42. RESPONSIVE - MOBILE HEADER (767px)
   ============================================ */

@media (max-width: 767px) {
    .header .col-md-6 {
        text-align: center !important;
        margin-bottom: 15px;
    }

    .header .d-flex.align-items-center {
        justify-content: center;
        flex-direction: column;
    }

    .header .logo {
        margin-bottom: 10px;
        margin-right: 0 !important;
    }

    .header .university-name {
        text-align: center;
    }

        .header .university-name,
        .header .university-name h1,
        .header .university-name h2 {
            white-space: nowrap;
        }

    .header .d-flex.flex-column.align-items-end {
        align-items: center !important;
    }

    .header .text-end {
        text-align: center !important;
    }

    .header {
        padding: 15px 0;
    }

    .university-name h2 {
        font-size: 24px !important;
    }

    .university-name h1 {
        font-size: 26px !important;
    }

    .header .university-name h1 {
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        display: inline-block;
        vertical-align: middle;
        font-size: 32px;
    }

    .header .logo img {
        max-height: 64px;
        width: auto;
        display: block;
    }

    .header-center-img {
        max-height: 100px;
        width: auto;
        display: block;
    }
}

@media (max-width: 768px) {
    .header .university-name,
    .header .university-name h1,
    .header .university-name h2 {
        white-space: normal;
    }

    .header .logo img {
        max-height: 80px;
    }

    .header-center-img {
        max-height: 90px;
        margin: 8px 0;
    }

    .header .text-md-end,
    .header .accreditation-text {
        text-align: center !important;
    }
}

/* ============================================
   43. RESPONSIVE - SMALL MOBILE (575.98px)
   ============================================ */

@media (max-width: 575.98px) {
    .navbar-nav .nav-item .nav-link {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }

    .dropdown-menu.show .dropdown-item {
        padding: 5px 20px !important;
        font-size: 11px !important;
    }

    .mega-dropdown .dropdown-menu.show .mega-link {
        font-size: 10px !important;
        padding: 3px 0 !important;
    }
}

@media (max-width: 576px) {
    .quote-inner {
        padding: 20px !important;
    }

    .quote-text {
        font-size: 16px;
    }

    .author-name {
        font-size: 18px;
    }

    .image-container {
        height: 250px;
    }

    .newsletter-form input {
        padding-right: 20px;
    }

    .newsletter-form button {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    /* Table responsive for very small screens */
    .vision-box {
        overflow-x: auto !important;
    }

        .vision-box table {
            min-width: 500px !important;
        }
}

/* ============================================
   44. RESPONSIVE - SOCIAL MEDIA NAVIGATION
   ============================================ */

@media (max-width: 560px) {
    #socialMediaNav a {
        right: -150px;
        width: 220px;
        font-size: 14px;
        padding: 6px 12px;
        line-height: 32px;
    }

        #socialMediaNav a i {
            width: 30px;
            height: 30px;
            font-size: 16px;
            margin-right: 8px;
        }

    #socialFacebook {
        top: 180px;
    }

    #socialTwitter {
        top: 230px;
    }

    #socialYoutube {
        top: 280px;
    }

    #socialLinkedin {
        top: 330px;
    }

    #socialInstagram {
        top: 380px;
    }
}

@media (max-width: 480px) {
    #socialMediaNav a {
        right: -150px;
        width: 200px;
        font-size: 13px;
    }

    #socialFacebook {
        top: 160px;
    }

    #socialTwitter {
        top: 210px;
    }

    #socialYoutube {
        top: 260px;
    }

    #socialLinkedin {
        top: 310px;
    }

    #socialInstagram {
        top: 360px;
    }

    .header-center-img {
        max-height: 70px;
    }

    .page-banner {
        min-height: 90px;
    }

        .page-banner.has-gradient-background {
            min-height: 100px;
        }

    .page-title {
        font-size: 1.5rem;
        margin-bottom: 6px;
    }

    .page-banner.has-gradient-background .page-title {
        font-size: 1.4rem;
        margin-bottom: 6px;
    }
}

/* ============================================
   45. RESPONSIVE - HEADER CENTER IMAGE
   ============================================ */

@media (max-width: 1200px) {
    .header-center-img {
        max-height: 110px;
    }
}

/* ============================================
   46. ACCESSIBILITY - REDUCED MOTION
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    .nirf-blink,
    .nirf-blink i,
    .ug-blink,
    .ug-blink i {
        animation: none !important;
    }

    .nirf-blink {
        background-color: rgba(218, 165, 32, 0.2);
        border: 1px solid rgba(218, 165, 32, 0.4);
    }

    .ug-blink {
        background-color: rgba(0, 51, 153, 0.2);
        border: 1px solid rgba(0, 51, 153, 0.4);
    }
}

/* ============================================
   47. PRINT STYLES
   ============================================ */

@media print {
    .article-content a,
    #articleContent a,
    #articleContentFull a {
        color: #000 !important;
        text-decoration: underline !important;
    }

        .article-content a:after,
        #articleContent a:after,
        #articleContentFull a:after {
            content: " (" attr(href) ")" !important;
            font-size: 0.8em !important;
        }
}


/* ============================================
   48. external link & internal link
   ============================================ */

/* External Link Styles */
        .vision-box .external-link {
            background: linear-gradient(135deg, rgba(52, 152, 219, 0.08) 0%, rgba(41, 128, 185, 0.05) 100%);
            border-left: 5px solid #3498DB;
            border-radius: 8px;
            padding: 16px 20px;
            margin-bottom: 20px;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
        }

        .vision-box .external-link:before {
            content: '\f35d';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 40px;
            color: rgba(52, 152, 219, 0.1);
            transition: all 0.4s ease;
        }

        .vision-box .external-link:hover {
            background: linear-gradient(135deg, rgba(52, 152, 219, 0.12) 0%, rgba(41, 128, 185, 0.08) 100%);
            border-left-color: #5DADE2;
            transform: translateX(5px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
        }

        .vision-box .external-link:hover:before {
            transform: translateY(-50%) scale(1.2);
            color: rgba(93, 173, 226, 0.4);
        }

        .vision-box .external-link a {
            color: #2471A3 !important;
            text-decoration: none !important;
            font-size: 17px !important;
            font-weight: 700 !important;
            display: flex !important;
            align-items: center !important;
            transition: all 0.3s ease !important;
            position: relative !important;
            z-index: 2 !important;
            padding-right: 60px !important;
        }

        .vision-box .external-link a:before {
            content: '\f08e';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            margin-right: 12px;
            font-size: 20px;
            color: #2E86C1;
            transition: all 0.3s ease;
        }

        .vision-box .external-link a:hover {
            color: #1B4F72 !important;
            padding-left: 5px !important;
        }

        .vision-box .external-link a:hover:before {
            transform: translateX(5px);
            color: #5DADE2;
        }

        /* Internal Link Styles */
        .vision-box .internal-link {
            background: linear-gradient(135deg, rgba(93, 109, 126, 0.08) 0%, rgba(72, 84, 96, 0.05) 100%);
            border-left: 5px solid #5D6D7E;
            border-radius: 8px;
            padding: 16px 20px;
            margin-bottom: 20px;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
        }

        .vision-box .internal-link:before {
            content: '\f0c1';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 40px;
            color: rgba(93, 109, 126, 0.1);
            transition: all 0.4s ease;
        }

        .vision-box .internal-link:hover {
            background: linear-gradient(135deg, rgba(93, 109, 126, 0.12) 0%, rgba(72, 84, 96, 0.08) 100%);
            border-left-color: #85929E;
            transform: translateX(5px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
        }

        .vision-box .internal-link:hover:before {
            transform: translateY(-50%) scale(1.2);
            color: rgba(133, 146, 158, 0.4);
        }

        .vision-box .internal-link a {
            color: #34495E !important;
            text-decoration: none !important;
            font-size: 17px !important;
            font-weight: 700 !important;
            display: flex !important;
            align-items: center !important;
            transition: all 0.3s ease !important;
            position: relative !important;
            z-index: 2 !important;
            padding-right: 60px !important;
        }

        .vision-box .internal-link a:before {
            content: '\f0a4';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            margin-right: 12px;
            font-size: 20px;
            color: #5D6D7E;
            transition: all 0.3s ease;
        }

        .vision-box .internal-link a:hover {
            color: #1C2833 !important;
            padding-left: 5px !important;
        }

        .vision-box .internal-link a:hover:before {
            transform: translateX(5px);
            color: #85929E;
        }

        .section {
            margin-bottom: 50px;
        }

        .section:last-child {
            margin-bottom: 0;
        }