 
#popup {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.9);
  text-align: center;
  z-index: 2000;
  padding: 20px;
}

#popup img {
  margin: auto;
  display: block;
  max-width: 95vw;   /* Never exceed screen width */
  max-height: 90vh;  /* Never exceed screen height */
  object-fit: contain; /* Maintain aspect ratio */
  border: 4px solid white;
  border-radius: 10px;
  box-shadow: 0 0 25px rgba(0,0,0,0.7);
}

/* Close button */
#closeBtn {
  position: fixed;
  top: 20px;
  right: 30px;
  font-size: 28px;
  color: white;
  font-weight: bold;
  cursor: pointer;
  z-index: 2100;
  transition: color 0.3s;
}
#closeBtn:hover { color: #ff4444; }

/* Indicate that images are clickable */
.news-carousel-container img {
  cursor: zoom-in;            /* Magnifying glass cursor */
  transition: transform 0.3s, box-shadow 0.3s;
}

.news-carousel-container img:hover {
  transform: scale(1.03);     /* Slight zoom effect */
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}



	 * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #f5f5f5;
            line-height: 1.6;
        }

        #LatestNews .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

         .section {
            margin: 25px 0 15px 0;
        }

         #LatestNews .row {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            justify-content: center;
        } 

        /* Custom Panel Styling */
        .custom-panel {
            background: linear-gradient(135deg, #f8eecb 0%, #f5e6b3 100%);
            border: 2px solid #8b6b3f;
            border-radius: 12px;
            box-shadow: 0 6px 20px rgba(0,0,0,0.15);
            padding: 20px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .custom-panel:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 30px rgba(0,0,0,0.2);
        }

        .custom-panel::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #d4af37, #8b6b3f, #d4af37);
        }

        .panel-heading {
            font-size: 1.8rem;
            color: #5d4e37;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 600;
            border-bottom: 2px solid #8b6b3f;
            padding-bottom: 10px;
        }

        .star {
            color: #d4af37;
            animation: sparkle 2s ease-in-out infinite;
        }

        @keyframes sparkle {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.7; transform: scale(1.2); }
        }

        /* Latest News Carousel */
        .news-carousel-container {
            flex: 1;
            min-width: 300px;
        }

        .swiper {
            width: 100%;
            padding: 20px 0 40px 0;
            height: 400px;
        }

        .swiper-slide {
            display: flex;
            justify-content: center;
            align-items: center;
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            border-radius: 15px;
            overflow: hidden;
            position: relative;
        }

        /* Carousel slide content styling */
        .slide-content {
            width: 100%;
            text-align: center;
        }

        .slide-title {
            background: rgba(255, 255, 255, 0.95);
            padding: 8px 12px;
            margin-bottom: 10px;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            font-size: 0.9rem;
            color: #5d4e37;
        }

        .star-red {
            color: #e74c3c !important;
            animation: sparkle 2s ease-in-out infinite;
        }

        .swiper-slide img {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 15px;
            transition: all 0.5s ease;
            filter: brightness(0.9);
        }
        
   

        /* Special newsletter items styling */
        .special-notice {
            background: rgba(212, 175, 55, 0.1);
            padding: 15px;
            border-radius: 8px;
            border-left: 4px solid #d4af37;
            margin: 10px 0;
        }

        .notice-text {
            color: #5d4e37;
            line-height: 1.5;
            font-size: 0.9rem;
        }

        .external-link, .internal-link {
            color: #8b6b3f;
            text-decoration: underline;
            font-weight: 600;
        }

        .external-link:hover, .internal-link:hover {
            color: #d4af37;
        }

        .congratulations {
            background: rgba(46, 204, 113, 0.1);
            padding: 15px;
            border-radius: 8px;
            border-left: 4px solid #2ecc71;
            margin: 10px 0;
        }

        .congratulations-text {
            color: #27ae60;
            font-size: 0.9rem;
            line-height: 1.5;
        }

        .alumni-link {
            color: #3498db !important;
            font-weight: 600;
        }

        .alumni-text {
            color: #2980b9;
            font-weight: bold;
        }

        .swiper-slide-active {
            transform: scale(1.1);
            z-index: 2;
        }

        .swiper-slide-active img {
            filter: brightness(1);
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }

        /* Custom Navigation Buttons */
        .swiper-button-next,
        .swiper-button-prev {
            background: rgba(139, 107, 63, 0.9);
            border-radius: 50%;
            width: 45px;
            height: 45px;
            margin-top: -22px;
            transition: all 0.3s ease;
        }

        .swiper-button-next:after,
        .swiper-button-prev:after {
            font-size: 18px;
            color: white;
            font-weight: bold;
        }

        .swiper-button-next:hover,
        .swiper-button-prev:hover {
            background: #8b6b3f;
            transform: scale(1.1);
        }

        /* Pagination Dots */
        .swiper-pagination-bullet {
            background: #8b6b3f;
            opacity: 0.5;
            width: 12px;
            height: 12px;
        }

        .swiper-pagination-bullet-active {
            opacity: 1;
            background: #d4af37;
        }

        /* Newsletter Section */
        .newsletter-container {
            flex: 0 0 400px;
            min-width: 300px;
        }

        .newsletter-scroll-container {
            height: 320px;
            overflow: hidden;
            position: relative;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.5);
            border: 1px solid #d4af37;
        }

        .newsletter-list {
            list-style: none;
            padding: 20px;
            animation: scroll-up 30s linear infinite;
        }

        .newsletter-list:hover {
            animation-play-state: paused;
        }

        @keyframes scroll-up {
            0% { transform: translateY(100%); }
            100% { transform: translateY(-100%); }
        }

        .newsletter-list li {
            padding: 12px 0;
            border-bottom: 1px solid rgba(139, 107, 63, 0.2);
            transition: all 0.3s ease;
        }

        .newsletter-list li:hover {
            background: rgba(212, 175, 55, 0.1);
            border-radius: 5px;
            padding-left: 10px;
        }

        .newsletter-list a {
            text-decoration: none;
            color: #5d4e37;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: color 0.3s ease;
        }

        .newsletter-list a:hover {
            color: #8b6b3f;
        }

        .newsletter-list a::before {
            content: '📄';
            font-size: 16px;
        }

        /* Controls for Newsletter */
        .newsletter-controls {
            position: absolute;
            bottom: 10px;
            right: 15px;
            display: flex;
            gap: 10px;
            z-index: 10;
        }

        .control-btn {
            background: rgba(139, 107, 63, 0.8);
            border: none;
            border-radius: 50%;
            width: 30px;
            height: 30px;
            color: white;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .control-btn:hover {
            background: #8b6b3f;
            transform: scale(1.1);
        }

        .control-btn:focus {
            outline: 2px solid #d4af37;
            outline-offset: 2px;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .row {
                flex-direction: column;
            }
            
            .newsletter-container {
                flex: none;
            }
            
            .swiper {
                height: 350px;
            }
            
            .swiper-slide img {
                height: 280px;
            }
            
            .panel-heading {
                font-size: 1.5rem;
            }
        }

        @media (max-width: 576px) {
            .container {
                padding: 15px;
            }
            
            .custom-panel {
                padding: 15px;
            }
            
            .swiper {
                height: 300px;
            }
            
            .swiper-slide img {
                height: 230px;
            }
        }

        /* Focus indicators for accessibility */
        .swiper-button-next:focus,
        .swiper-button-prev:focus {
            outline: 3px solid #d4af37;
            outline-offset: 3px;
        }

        /* Screen reader text */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* Loading states */
        .swiper-slide img[loading="lazy"] {
            background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
            background-size: 200% 100%;
            animation: loading 1.5s infinite;
        }

        @keyframes loading {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }

		/* ---------- Begin .rotating-border ---------- 
		@-webkit-keyframes spin-2 {
		  from {transform: translate(-50%, -50%) rotate(0);}
		  to   {transform: translate(-50%, -50%) rotate(360deg);}
		}
		@keyframes spin-2 {
		  from {transform: translate(-50%, -50%) rotate(0);}
		  to   {transform: translate(-50%, -50%) rotate(360deg);}
		}
		
		.rotating-border {
		  border-radius: 1rem;
		  border-size: 0.5rem;
		  border-bg: conic-gradient(red, yellow, lime, aqua, blue, magenta, red);
		  padding: 1rem;
		  
		  position: relative;
		  overflow: hidden;
		  font-size: 2rem;
		  padding: calc(var(--padding) + var(--border-size));
		  border-radius: var(--border-radius);
		  display: inline-block
		}
		.rotating-border::before {
			content: '';
			display: block;
			background: var(--border-bg);
			width: calc(100% * 1.41421356237);
			padding-bottom: calc(100% * 1.41421356237);
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			border-radius: 100%;
			z-index: -2;
			-webkit-animation: spin-2 5s linear infinite;
					animation: spin-2 5s linear infinite;
		  }
		.rotating-border--reverse::before{
			animation-direction: reverse;
		  }
		.rotating-border::after{
			content: '';
			position: absolute;
			top: var(--border-size);
			right: var(--border-size);
			bottom: var(--border-size);
			left: var(--border-size);
			background: white;
			z-index: -1;
			border-radius: calc(var(--border-radius) - var(--border-size));
		  }
		/* ---------- End .rotating-border ---------- 
		
		/* ---------- Begin customizing .rotating-border ---------- 
		.rotating-border--google {
		  border-radius: 0.5rem;
		  border-size: 1rem;
		  border-bg: conic-gradient(
			#ea4335 0.0turn, #ea4335 0.125turn, 
			#4285f4 0.125turn, #4285f4 0.25turn, 
			#fbbc05 0.25turn, #fbbc05 0.375turn, 
			#34a853 0.375turn, #34a853 0.5turn, 
			#ea4335 0.5turn, #ea4335 0.625turn, 
			#4285f4 0.625turn, #4285f4 0.75turn, 
			#fbbc05 0.75turn, #fbbc05 0.875turn, 
			#34a853 0.875turn, #34a853 1.0turn
		  );
		    border-bg: conic-gradient(
			#ea4335 0.0turn 0.125turn, 
			#4285f4 0.125turn 0.25turn, 
			#fbbc05 0.25turn 0.375turn, 
			#34a853 0.375turn 0.5turn, 
			#ea4335 0.5turn 0.625turn, 
			#4285f4 0.625turn 0.75turn, 
			#fbbc05 0.75turn 0.875turn, 
			#34a853 0.875turn 1.0turn
		  );
		  
		  text-transform: uppercase;
		  letter-spacing: 0.1em;
		  line-height: 2;
		}*/
		
		/* ---------- End customizing .rotating-border ---------- 
	/* .carousel-inner .item img {
    width: 100%;
    height: 600px;       /* fixed height */
    /* object-fit: cover;   /* crop to fit without distortion */
        

		
		.carousel-inner .item img {
    width: 100%;
    height: 600px;
    object-fit: contain;  /* show whole image */
    background-color: #fff; /* optional: fill empty space */
}

