﻿.textjustify {
    text-align: justify !important;
}

.full-height-center {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#birthday-section {
    position: relative;
    background: linear-gradient(135deg, #ec4899, /* Hot pink */
    #facc15, /* Bright yellow */
    #06b6d4, /* Bright turquoise */
    #E59EEC, /* Purple */
    #3AA013 /* Magenta */
    );
    background-size: 500% 500%;
    animation: gradientBG 15s ease infinite;
    color: #fff; /* Bright text for contrast */
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

#birthday-section h2 {
    z-index: 1;
    position: relative;
    font-size: 2.5em;
    color: #fff;
}

#birthday-section h3 {
    z-index: 1;
    position: relative;
    font-size: 2em;
    color: #ff0000;
}

#birthday-section .student-card {
    border-radius: 15px;
    padding: 25px 0;
}

.confetti {
    position: absolute;
    width: 24px;
    height: 24px;
    opacity: 0.9;
    animation: burst 5s ease-out forwards;
    pointer-events: none;
    user-select: none;
    z-index: 9999; /* stays on top inside the section */
}

    .confetti img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .confetti.shape {
        border-radius: 50%;
    }

@keyframes burst {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translate(var(--x), var(--y)) rotate(720deg) scale(0.8);
        opacity: 0;
    }
}

.modtitle {
    font-size: 25px;
    font-weight: 700;
    color: maroon;
    line-height: 20px;
}

.govtitle {
    font-size: 20px;
    font-weight: 700;
    color: navy;
    line-height: 20px;
}

.logoleft {
    height: 150px;
    width: auto;
}

.logoright {
    height: 180px;
    width: auto;
}

.bottomlogo img {
    height: 80px;
    width: auto;
}

.category-carousel .item {
    background: #860907;
    padding: 10px 20px;
    margin: 5px 0 25px 0;
    border-radius: 20px;
    text-align: center;
}
.category-carousel .item a{
    color: #fff;
    font-size: 16px;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.3s;
    
}

    .category-carousel .item:hover {
        background: #333;
    }

/* news ticker vertical */
.ticker-container {
    width: 100%;
    max-width: 100%;
    height: 62.1vh; /* Responsive height */
    min-height: auto;
    max-height:auto;
    overflow: hidden;
    background: #1a0d76;
    margin: auto;
    position: relative;
}

.ticker-list {
    display: flex;
    flex-direction: column;
    animation: scrollUp linear infinite;
}

.ticker-header, .ticker-footer {
    background: #0A033C;
    text-align: center;
}
.ticker-header h4{
    color: #fff;    
    margin-bottom:0;
    padding:10px 0;
}
    .ticker-footer h4 a {
        color: #fff;
        font-size:1.5rem;
        margin-bottom: 0;
        padding: 10px 0;
        transition: color 0.3s;
    }
    .ticker-footer h4 a:hover {
        color:#facc15;
    }
.ticker-item {
    padding: 10px 15px;
    border-bottom: 1px solid #2D2D6F;
    
}

.ticker-item a{
   color:#fff;
   text-transform:capitalize;
}

    .ticker-item a:hover {
        color: #facc15;
        
    }



@keyframes scrollUp {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-50%);
    }
}

.ticker-container:hover .ticker-list {
    animation-play-state: paused;
}

@media (max-width: 600px) {
    .ticker-container {
        height: 40vh;
    }
}
