@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');


:root {
    --bs-link-color: #ffc800;
    --bs-link-hover-color: #cca000;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: 'Inter', Roboto Slab, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #434772;
    --bs-heading-color: #071161;
    --bs-button-bg: #01BAB3;
    --bs-button-bg-hover: #17c2bb;
    --bs-label-gray: #434772;
    --bs-secondary-color: #679be4;
    --bs-primary-color: #071161;
}
 
.secondary-text-kcpas
{
    color:var(--bs-secondary-color) ; 
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
    font-size: 14px;
}

body {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: white;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
   
}
p {
    color: var(--bs-body-color);
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    margin-top:1rem;
    margin-bottom: 2rem;
    text-align: justify;
    letter-spacing: -0.015em;
}
.btn {
    outline: none !important; /* Remove focus outline */
    border: none; /* Remove default border */
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 600;
    line-height: 1.2;
    color: var(--bs-heading-color) !important;
   
}

 
@media (min-width: 1200px) {
    h1, .h1 {
        font-size: 2.5rem;
        font-weight: 600;
        display: flex; /* Use Flexbox for alignment */
        align-items: center; /* Center items vertically */
    }
}

h2, .h2 {
    font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
    h2, .h2 {
        font-size: 2rem;
    }
}

h3, .h3 {
    font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
    h3, .h3 {
        font-size: 1.75rem;
    }
}

 

h5, .h5 {
    font-size: 1.25rem;
}

h6, .h6 {
    font-size: 1rem;
}
.events-icon {
    transition: transform 0.3s ease;
}

.collapsed .events-icon {
    transform: rotate(-90deg);
}

.dna-plain-link {
    color: var(--bs-secondary-color) !important;
    
    text-decoration:none;
}
    .dna-plain-link:hover {
        color: var(--bs-button-bg);
        font-weight: bold;
    }


a {
    color: var(--bs-link-color);
    text-decoration: none;
    white-space: nowrap;
}

    a:hover {
        color: var(--bs-link-hover-color)  ;
    }

    a:not([href]):not([class]), a:not([href]):not([class]):hover {
        color: inherit;
        text-decoration: none;
    }
.dna-icon {
    width: 60px;
    height: 40px;
    transition: transform 0.3s;
    margin-left: 18px;
}
.button-dna {
    padding: .7rem 2rem;
    background-color: var(--bs-primary-color);
    color: white;
    font-weight: 500;
    border-radius: 0.6rem;
    width: 225px; /* Set width */
    height: 46px; /* Set height */
    outline: none !important; /* Remove focus outline */
    border: none; /* Remove default border */
}
    .button-dna:focus .icon {
        filter: brightness(0) invert(1);
    }
    .button-dna .icon {
        filter: brightness(0) invert(1); 
    }
    .button-dna:hover {
        color: #fff !important;
        box-shadow: 0 0 15px rgba(1, 186, 179, 0.6);
    }
.button-dna:focus {
    outline: none !important; /* Remove focus outline */

}
.custom-background {
    background: var(--bs-button-bg); /* Use the variable for background */
    padding: 25px; /* Padding for the content */
    margin-bottom: 35px; /* Space below the element */
    flex: 1; /* Allow the background to fill the space */
}
 
.no-button-style {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
 .label-gray
    {
     margin-top:-10px;
     padding-bottom:20px;
     color:var(--bs-label-gray);
     font-size:large;
     letter-spacing:1pt;
    }
.card-status {
    padding: 5px 2px 0px 25px;
    overflow-y: auto;
}
.bullet-point {
    font-family: 'Montserrat', sans-serif; /* Apply Montserrat font */
    font-weight: 500; /* Set font weight to medium */
    font-size: 14px; /* Control the size of the text */
}

.open-event {
    color: #21B592; /* Color for open events */
}

.closed-event {
    color: #FF8B85; /* Color for closed events */
}

.bullet-point::before {
    content: '\25CF'; /* Unicode for bullet */
    font-size: 15px; /* Control the size of the bullet */
    margin-right: 5px; /* Space between bullet and text */
    vertical-align: middle; /* Align bullet with text */
    display: inline-block;
}

.dna-single-line {
    position: relative; /* Position relative for the pseudo-element */
    overflow: hidden; /* Hide any overflow */
    display: -webkit-box; /* Enables multi-line clamping */
    -webkit-box-orient: vertical; /* Sets the box orientation to vertical */
    -webkit-line-clamp: 2; /* Limits the text to 2 lines */
    white-space: normal; /* Allows wrapping for multiple lines */
 
    padding-left: 25px; /* Space from the header */
    padding-right:15px;
    margin-top: 10px; /* Space from the header */
    padding-top: 10px; /* Add padding to the top for spacing */
    padding-bottom: 10px; /* Add padding to the bottom for spacing */
    height:60px;
  
    align-content:center;
     
}
    .dna-single-line::before {
        content: '';
        position: absolute;
        left: 0; /* Position the line to the left */
        top: 10px; /* Align to the vertical start of the text */
        height: calc(100% - 10px); /* Adjust based on padding */
        width: 4.5px; /* Width of the border */
        background-color: currentColor; /* Use the current text color for the line */
        border-radius: 6px; /* Round the edges */
    }


/* Vision & Mission Styling */
#vision-mission .badge {
    background-color: var(--primary-color);
    border-radius: 1.5rem;
}

/* Academic Programs Styling */
#academic-programs .card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

    #academic-programs .card:hover {
        transform: translateY(-8px);
        box-shadow: 0 1rem 2rem rgba(0,0,0,.15);
    }

#academic-programs ul li {
    margin-bottom: 0.5rem;
}

/* Admissions Timeline Styling */
.timeline {
    position: relative;
    padding: 20px 0;
    list-style: none;
}

    .timeline:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        background-color: var(--secondary-color);
        margin-left: -1px;
        z-index: 0;
    }

.timeline-item {
    position: relative;
    margin-bottom: 20px;
    padding-left: 60px;
}

    .timeline-item:nth-child(even) {
        padding-left: 0;
        padding-right: 60px;
    }

        .timeline-item:nth-child(even) .timeline-content {
            text-align: right;
        }

        .timeline-item:nth-child(even) .timeline-icon {
            left: auto;
            right: -10px;
        }

.timeline-icon {
    width: 40px;
    height: 40px;
    background-color: var(--primary-color);
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: -20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 1.2rem;
    box-shadow: 0 0 0 3px var(--white), 0 0 0 6px var(--secondary-color);
    z-index: 1;
}

.timeline-content {
    background-color: var(--white);
    padding: 20px;
    border-radius: 0.75rem;
    box-shadow: 0 2px 5px rgba(0,0,0,.08);
}

/* Responsive adjustments for timeline */
@media (max-width: 767.98px) {
    .timeline:before {
        left: 20px;
    }

    .timeline-item,
    .timeline-item:nth-child(even) {
        padding-left: 60px;
        padding-right: 0;
    }

        .timeline-item:nth-child(even) .timeline-content {
            text-align: left;
        }

        .timeline-item .timeline-icon,
        .timeline-item:nth-child(even) .timeline-icon {
            left: 0;
            right: auto;
        }
}

/* Campus Life & Facilities Styling */
.list-group-item {
    background-color: var(--white);
    border-left: 4px solid var(--secondary-color);
    margin-bottom: 0.5rem;
    border-radius: 0.5rem;
}

/* Academic Calendar Table Styling */
#academic-calendar .table thead th {
    background-color: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
    border-radius: 0.5rem 0.5rem 0 0;
}

#academic-calendar .table tbody tr:nth-of-type(odd) {
    background-color: var(--light-bg);
}

#academic-calendar .table tbody tr:hover {
    background-color: #e2e6ea;
}

/* Faculty Section Styling */
.faculty-img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border: 4px solid var(--primary-color);
    box-shadow: 0 4px 8px rgba(0,0,0,.1);
}

/* Publications Section Styling */
#publications-view .list-group-item a.btn {
    border-radius: 0.5rem;
}

/* Notifications Section Styling */
#notifications-view .notification-item {
    transition: background-color 0.2s ease;
}

    #notifications-view .notification-item:hover {
        background-color: #e9ecef;
    }

/* Register Section Styling */
#register-view {
    background-color: var(--primary-color) !important;
    border-radius: 1.5rem;
    margin: 50px auto;
    max-width: 90%;
    padding: 60px 20px;
}

    #register-view .btn-light {
        color: var(--primary-color) !important;
        border-radius: 0.75rem;
    }

        #register-view .btn-light:hover {
            background-color: rgba(255, 255, 255, 0.9);
        }

/* Contact Us Styling */
.contact-info li {
    display: flex;
    align-items: flex-start;
}

.map-container {
    height: 300px;
    width: 100%;
    border-radius: 0.75rem;
}

    .map-container iframe {
        border: none;
        border-radius: 0.75rem;
    }

.social-icons .btn {
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
}

    .social-icons .btn:hover {
        background-color: var(--primary-color);
        color: var(--white);
    }

.card-dna {
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    transition: box-shadow 0.3s ease; /* Smooth transition for shadow on hover */
    width:298px; /*calc(100% - 100px);*/ /* Full width minus total margin (50px on each side) */
    min-width:284px;
    margin: 0px 50px; /* 50px margin on left and right */
    height: 100%;
    background-color: white;
    border-radius: 36px;
}
.small-screen-card .card-dna {
    width:    calc(100% - 40px);  /* Full width minus total margin (20px on each side) */
    margin: 20px 20px; /* 20px margin on left and right */
}
.card-link {
    color: #01BAB3; /* Set the text color */
    font-weight: 600; /* Set the font weight */
    text-decoration: none;
}
    .card-link + .card-link{
        margin-left:25px;
    }
    .font-weight-500 {
        font-weight: 500; /* Set font weight to 500 */
    }
.card
{
    border-radius:16px;
}
.custom-svg {
    width: 14px; 
    height: 14px;
    transition: transform 0.3s;
}

.card-dna-content {
    padding: 0px 25px 0px 25px;
    max-height: calc(453px - 40px);
    overflow-y: auto;
}

.events-details {
    background-image: url('/assets/img/events-details-hd.png');
    background-size: cover; /* Adjusts the size of the image */
    background-repeat: no-repeat; /* Prevents the image from repeating */
    background-position: center 20%; /* Centers the image horizontally and moves it down 20% vertically */
    height: 100vh; /* Sets the height; adjust as needed */
    width: 100%; /* Sets the width to full */
    position: relative; /* Enables positioning for child elements, if needed */
}
.card-row {
    padding: 3px 30px 30px 30px;
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y)* -1);
    margin-right: calc(var(--bs-gutter-x)* -.5);
    margin-left: calc(var(--bs-gutter-x)* -.5);
}
.card-dna-body img {
    border-radius: 10px 10px 0 0;
    width:44px;
    height: 218px;
}
@media (min-width: 768px) {
    .profile-container {
        margin-top: 80px;
    }
    #eventCarousel {
        display: block;
    }
    
}
    .cover-background {
        position: relative; /* Required for positioning the overlay */


        display: flex;
        align-items: center; /* Centers the card vertically */
        justify-content: center; /* Centers the card horizontally */
        min-height: calc(100vh - 230px); /* Ensures the container's minimum height is the viewport height */
    }

    @media (max-width: 768px) {
        .hide-small {
            display: none;
        }
        .cover-background {
            min-height: calc(100vh - 95px);
        }
        #eventCarousel {
            display: none;
        }
        .contact-section
        {

        }
    }

    .cover-background::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /*background-image: url('../img/dna.png');*/ /* Replace with your image path */
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed; /* Ensures the background stays fixed */
        opacity: 0.5; /* Adjust for desired transparency */
        z-index: 1; /* Ensure it sits below the content */
    }

    .cover-background-content {
        position: relative;
        z-index: 2; /* Keep content above the overlay */
        width: 100%;
    }

    .cover-background .container {
        padding-left: 200px;
        padding-right: 200px;
    }

    @media (max-width: 1200px) { /* For large screens (laptops, smaller desktops) */
        .cover-background .container {
            padding-left: 100px;
            padding-right: 100px;
        }
    }

    @media (max-width: 992px) { /* For medium screens (tablets, smaller laptops) */
        .cover-background .container {
            padding-left: 50px;
            padding-right: 50px;
        }
    }

    @media (max-width: 768px) { /* For small screens (large smartphones, small tablets) */
        .cover-background .container {
            padding-left: 20px;
            padding-right: 20px;
        }
    }

    @media (max-width: 576px) { /* For extra small screens (smartphones) */
        .cover-background .container {
            padding-left: 10px;
            padding-right: 10px;
        }
    }

    footer {
        background-color: var(--bs-dna-secondary-color);
    }

    footer a {
            color: #434772;
            text-decoration: none;
            display: inline-block;
            font-weight: 100;
            margin-right: 20px;
        }

.bg-theme-light-blue {
    background-color: #dce7f4; /* Lighter version of dark green */
}
 

/* This is only for smoother override by JS — no static delay here */
.card-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

    .card-animate.visible {
        opacity: 1;
        transform: translateY(0);
    }

    .card:hover  {
        transform: translateY(-8px);
        box-shadow: 0 1.5rem 2rem rgba(0, 0, 0, 0.1);
    }

/* Hover animation for cards */
.vision-card, .mission-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .vision-card:hover, .mission-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 1.5rem 2rem rgba(0, 0, 0, 0.1);
    }

/* Core value badge styling */
.core-value-badge {
    background-color: #D6E7FF !important; /* Darker green for contrast */
    color: var(--bs-primary-color);
    font-weight: 500;
    border:1px solid var(--bs-primary-color);
    font-size: large;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

    .core-value-badge:hover {
        background-color: #dce7f4;
        transform: scale(1.05);
    }

/* Custom CSS for Faculty Section - Image Background Cards with Zoom */
/* Custom CSS for Zoomable Faculty Profile Images */

.zoomable-faculty-img {
    width: 250px; /* Original image size */
    height: 250px;
    object-fit: cover;
    transition: transform 0.3s ease-in-out; /* Smooth transition */
    background-color:var(--bs-secondary-color);
}

/* Ensure the image stays within the card */
.faculty-card-zoomable-img {
    overflow: hidden; /* Prevent the zoomed image from overflowing */
}

    .faculty-card-zoomable-img:hover .zoomable-faculty-img {
        transform: scale(1.1); /* Scale up the image on hover */
    }

    .faculty-card-zoomable-img .card-title,
    .faculty-card-zoomable-img .text-muted,
    .faculty-card-zoomable-img .card-text
    {
        text-align:center;
    }
    .faculty-card-zoomable-img .card-title
    {
        margin-bottom:30px !important;
    }
    .faculty-card-zoomable-img .text-muted,
    .faculty-card-zoomable-img .card-text {
        margin-bottom: 0 !important;
        margin-top:0 !important;
    }


.pagination .page-link {
    color: var(--bs-secondary-color);
    border: 1px solid #dee2e6;
    transition: all 0.2s ease-in-out;
}

.pagination .page-item.active .page-link {
    background-color: var(--bs-primary-color);
    color: white;
    border-color: #007bff;
}

.pagination .page-link:hover {
    background-color: var(--bs-primary-color);
    color: #0056b3;
}
