body {
    padding-top: 112px;
    font-family: 'Source Code Pro', monospace;
}

.college-bar {
    background: #0C2B4E;
    color: #fff;
    padding: 4px 0;
    font-size: 20px;
}

.council-bar {
    background: #0C2B4E;
    color: #fff;
    padding-top: 8px; 
    padding-bottom: 8px; 
}

.purpose-card {
    background-color: #217c7c;
    color: #fff;
}

.council-bar .navbar-brand,
.council-bar .nav-link {
    color: #fff !important;
}

.text-custom-justify {
    text-align: justify !important;
}

.navbar-brand img {
    border-radius: 6px;
}

.hero {
    height: calc(100vh - 112px);
    background: linear-gradient(rgba(190, 189, 189, 0.65), rgba(67, 67, 67, 0.65)),
        url('../images/bg.jpg') center/cover no-repeat;
    color: white;
}

.hero h1 {
    font-weight: 700 !important;
    display: inline-block;
}

.section-title {
    font-weight: 600;
    margin-bottom: 20px;
    border-left: 5px solid #4d79ff;
    padding-left: 10px;
}

.team-photo {
    width: 220px;
    height: 220px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #4d79ff;
    margin-left: auto; 
    margin-right: auto; 
}

.role-text {
    font-size: 14px;
    font-weight: 600;
    color: #555;
    margin-top: 0;
    margin-bottom: auto;
}

.college-bar small strong a {
    text-decoration: none;
    color: inherit;
}

#about p {
    line-height: 1.7;
    text-align: justify;
}

.email-break {
    word-break: break-all; 
    overflow-wrap: break-word; 
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

#typing-cursor {
    animation: blink 0.75s infinite;
    color: inherit; 
    margin-left: 0.1em;
    display: inline-block;
}

.social-icons a {
    text-decoration: none !important;
}

.council-bar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.council-bar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.team-card {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.team-card .team-photo {
    margin-bottom: 0.5rem !important;
}

.team-card h5 {
    margin-top: 0 !important;
    margin-bottom: 0.25rem !important;
}

.chief-patron-container {
    display: flex;
    justify-content: center;
}

@media (max-width: 991.98px) {
    .council-bar .navbar-brand {
        font-size: 1.05rem !important;
    }

    .council-bar .navbar-brand img {
        height: 35px !important;
    }

    .college-bar small {
        font-size: 0.7rem !important;
        text-align: center;
        line-height: 1.2;
    }
    
    .college-bar {
        padding: 2px 0;
    }

    body {
        padding-top: 80px;
    }
    
    .hero {
        height: calc(100vh - 80px); 
    }
    
    .hero h1, .hero p {
        padding: 0 15px;
    }
}

@media (max-width: 767.98px) {
    .col-md-8, .col-md-4 {
        width: 100%;
    }
    
    .position-sticky {
        position: static !important;
        top: auto !important;
    }
    
    #sidebar-section .col-md-8 {
        margin-bottom: 20px;
    }
    
    #what-we-do .col-md-6 {
        margin-bottom: 20px;
    }

    #what-we-do .row > div {
        width: 100%;
    }
    
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}