/* css styles */
.navbar{
	/* border-bottom-color: #008B93; */
	/* border-bottom-style: solid; */
 }
 
 .carousel {
	 height: 300px;
	 overflow: hidden;
 }
 .carousel .carousel-item {
	 height: 300px;
	 text-align: -webkit-center;
 }
 .carousel .carousel-item img {
	 max-height: 300px;
	 width: auto !important; /* Maintain aspect ratio */
	 max-width: none; /* Prevent image scaling */
 }
 .carousel-control-prev-icon, .carousel-control-next-icon {
	 background-color: #2c3e50; /* Change arrow color to red */
 }
 
 /* From https://github.com/emitanaka/emitanaka.github.io/blob/master/assets/index.css */
 .twitter-border::before {
	content: "\f099";
	font-weight: 900; 
	font-size: 1.5rem;
	position: absolute;
	top: -15px;
	left: -15px;
 }
 
 .twitter-border > p {
	 margin-block-start: 0em;
	 margin-block-end: 0em;
	 margin-bottom: 0em;
 }
 
 .twitter-post {
	 margin: 0 auto; 
	 max-width: 400px;
 }
 
 .formbox {
	 width: 100%;
 }
 
 .fw-light {
	 font-weight: 300 !important;
	 font-size: medium;
 }
 .carousel-item{
	 word-wrap: break-word;
 }
 .carousel-caption {
	 position: sticky;
	 right: 15%;
	 bottom: .1em;
	 left: 25%;
	 padding-left: 3.5em;
	 padding-right: 3.5em;
	 padding-top: 0;
	 padding-bottom: 0;
	 color: #000;
	 text-align: center;
 }
 .carousel-caption p {
 color: #FFF;
 background-color: #000;
 background-alpha: 0.5;
 }
 
 /* Publication cards styling - inspired by Harvard CCDD */
 .publications-container {
	 display: flex;
	 flex-direction: column;
	 gap: 1.5rem;
	 margin-top: 1.5rem;
 }
 
 .publication-card {
	 display: flex;
	 align-items: flex-start;
	 gap: 1rem;
	 padding: 1.25rem;
	 border: 1px solid #e0e0e0;
	 border-radius: 4px;
	 background-color: #fff;
	 transition: box-shadow 0.2s ease, border-color 0.2s ease;
 }
 
 .publication-card:hover {
	 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	 border-color: #b0b0b0;
 }
 
 .publication-card-link {
	 cursor: pointer;
 }
 
 .publication-content {
	 flex: 1;
	 min-width: 0; /* Allows text to wrap properly */
 }
 
 .publication-title {
	 margin: 0 0 0.5rem 0;
	 font-size: 1.1rem;
	 font-weight: 600;
	 line-height: 1.4;
	 color: #1a1a1a;
 }
 
 .publication-card-link .publication-title {
	 color: #0066cc;
 }
 
 .publication-card-link:hover .publication-title {
	 color: #0052a3;
	 text-decoration: underline;
 }
 
 .publication-authors {
	 margin: 0 0 0.75rem 0;
	 font-size: 0.95rem;
	 line-height: 1.5;
	 color: #333;
 }
 
 .publication-authors strong {
	 font-weight: 600;
	 color: #1a1a1a;
 }
 
 .publication-meta {
	 margin: 0;
	 font-size: 0.875rem;
	 line-height: 1.5;
	 color: #666;
 }
 
 .publication-link {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 flex-shrink: 0;
	 width: 2rem;
	 height: 2rem;
	 margin-top: 0.25rem;
	 color: #666;
	 text-decoration: none;
	 transition: color 0.2s ease, transform 0.2s ease;
 }
 
 .publication-link:hover {
	 color: #0066cc;
	 transform: translateX(2px);
 }
 
 .publication-arrow {
	 width: 1.25rem;
	 height: 1.25rem;
	 stroke: currentColor;
 }
 
 /* Responsive adjustments */
 @media (max-width: 768px) {
	 .publication-card {
		 padding: 1rem;
		 gap: 0.75rem;
	 }
	 
	 .publication-title {
		 font-size: 1rem;
	 }
	 
	 .publication-authors {
		 font-size: 0.9rem;
	 }
	 
	 .publication-meta {
		 font-size: 0.8rem;
	 }
	 
	 .publication-link {
		 width: 1.75rem;
		 height: 1.75rem;
	 }
	 
	 .publication-arrow {
		 width: 1rem;
		 height: 1rem;
	 }
 }
 
 /* Iconify icon styling for footer */
 .footer iconify-icon {
	 font-size: 1.75em !important;
	 width: 1.75em !important;
	 height: 1.75em !important;
 }
 
 /* Make RSS icon white */
 .footer iconify-icon[icon*="rss"],
 .footer iconify-icon[icon*="logos:rss"] {
	 filter: brightness(0) invert(1);
 }
 
 /* Donation card styling - matching Harvard CCDD design */
 .donation-card {
	 border: 1px solid #5a8a90;
	 border-radius: 4px;
	 padding: 1.5rem;
	 margin: 2rem 0;
	 background-color: #7aa5ab;
	 max-width: 100%;
 }
 
 .donation-card h3 {
	 margin-top: 0;
	 margin-bottom: 1rem;
	 font-size: 1.25rem;
	 font-weight: 600;
	 color: #ffffff;
	 font-family: "Garamond", serif;
 }
 
 .donation-card p {
	 margin-bottom: 1rem;
	 line-height: 1.6;
	 color: #f5f5f5;
	 font-size: 1rem;
 }
 
 .donation-card p:last-of-type {
	 margin-bottom: 1.5rem;
 }
 
 .donation-card a {
	 color: #ffffff;
	 text-decoration: underline;
 }
 
 .donation-card a:hover {
	 color: #e0f4f6;
	 text-decoration: underline;
 }
 
 .donation-button {
	 display: inline-block;
	 padding: 0.625rem 1.25rem;
	 background-color: #ffffff;
	 color: #006d77 !important;
	 text-decoration: none;
	 border-radius: 4px;
	 font-weight: 600;
	 font-size: 0.9375rem;
	 transition: background-color 0.2s ease, color 0.2s ease;
	 margin-top: 0.5rem;
 }
 
 .donation-button:hover {
	 background-color: #006d77;
	 color: #ffffff !important;
	 text-decoration: none;
 }
 
 .donation-button:focus {
	 outline: 2px solid #0066cc;
	 outline-offset: 2px;
 }
 
 /* Events section styling - matching Harvard CCDD design */
 .events-list {
	 display: flex;
	 flex-direction: column;
	 gap: 2rem;
	 margin-top: 1.5rem;
	 margin-bottom: 2rem;
 }
 
 .event-item {
	 display: flex;
	 flex-direction: row;
	 gap: 1.5rem;
	 padding-bottom: 1.5rem;
	 border-bottom: 1px solid #e0e0e0;
	 align-items: flex-start;
 }
 
 .event-item:last-child {
	 border-bottom: none;
	 padding-bottom: 0;
 }
 
 .event-photo {
	 flex-shrink: 0;
	 width: 120px;
	 height: 120px;
 }
 
 .speaker-photo {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
	 border-radius: 50%;
	 border: 2px solid #e0e0e0;
 }
 
 .event-main {
	 flex: 1;
	 min-width: 0; /* Allows text to wrap properly */
	 display: flex;
	 flex-direction: column;
	 gap: 0.5rem;
 }
 
 .event-date {
	 font-size: 0.875rem;
	 font-weight: 500;
	 color: #666;
	 margin-bottom: 0.25rem;
 }
 
 .event-content {
	 flex: 1;
	 min-width: 0; /* Allows text to wrap properly */
 }
 
 .event-topic {
	 margin: 0 0 0.5rem 0;
	 font-size: 1.1rem;
	 font-weight: 600;
	 line-height: 1.4;
	 color: #1a1a1a;
 }
 
 .event-speaker {
	 margin: 0 0 0.5rem 0;
	 font-size: 0.95rem;
	 line-height: 1.5;
	 color: #333;
	 font-style: italic;
 }
 
 .event-bio {
	 margin: 0.5rem 0 0 0;
	 font-size: 0.9rem;
	 line-height: 1.6;
	 color: #666;
 }
 
 /* Multi-speaker event styling */
 .event-item-multi {
	 flex-direction: column;
	 gap: 1rem;
 }
 
 .event-photos-multi {
	 display: flex;
	 gap: 1rem;
	 justify-content: flex-start;
	 align-items: center;
	 flex-wrap: wrap;
 }
 
 .event-photo-wrapper {
	 flex-shrink: 0;
	 width: 120px;
	 height: 120px;
 }
 
 .event-speakers-multi {
	 display: flex;
	 flex-direction: column;
	 gap: 1rem;
	 margin-top: 0.5rem;
 }
 
 .event-speaker-block {
	 display: flex;
	 flex-direction: column;
	 gap: 0.25rem;
 }
 
 .event-speaker-block .event-speaker {
	 margin-bottom: 0;
 }
 
 .event-speaker-block .event-bio {
	 margin-top: 0.25rem;
 }
 
 /* Events pagination styling */
 .events-pagination {
	 display: flex;
	 justify-content: center;
	 gap: 1rem;
	 margin-top: 2rem;
	 margin-bottom: 1rem;
 }
 
 .events-pagination-btn {
	 padding: 0.625rem 1.25rem;
	 background-color: #00818B;
	 color: #fff;
	 border: none;
	 border-radius: 4px;
	 font-weight: 500;
	 font-size: 0.9375rem;
	 cursor: pointer;
	 transition: background-color 0.2s ease;
 }
 
 .events-pagination-btn:hover {
	 background-color: #006d77;
 }
 
 .events-pagination-btn:focus {
	 outline: 2px solid #0066cc;
	 outline-offset: 2px;
 }
 
 .events-pagination-btn:disabled {
	 background-color: #ccc;
	 cursor: not-allowed;
 }
 
 /* Responsive adjustments for events */
 @media (max-width: 768px) {
	 .events-list {
		 gap: 1.5rem;
	 }
	 
	 .event-item {
		 padding-bottom: 1rem;
		 gap: 1rem;
	 }
	 
	 .event-photo {
		 width: 80px;
		 height: 80px;
	 }
	 
	 .event-topic {
		 font-size: 1rem;
	 }
	 
	 .event-speaker {
		 font-size: 0.9rem;
	 }
	 
	 .event-bio {
		 font-size: 0.85rem;
	 }
	 
	 .event-date {
		 font-size: 0.8rem;
	 }
	 
	 .event-photos-multi {
		 gap: 0.75rem;
	 }
	 
	 .event-photo-wrapper {
		 width: 80px;
		 height: 80px;
	 }
	 
	 .event-speakers-multi {
		 gap: 0.75rem;
	 }
	 
	 .events-pagination {
		 gap: 0.75rem;
	 }
	 
	 .events-pagination-btn {
		 padding: 0.5rem 1rem;
		 font-size: 0.875rem;
	 }
 }

/* Module activity cards */
.module-card {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	cursor: pointer;
}

.module-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

.module-icon {
	font-size: 2.5rem;
	margin-bottom: 0.75rem;
}

.module-card .card-title {
	color: #1a1a1a;
	font-weight: 600;
}

.module-card .card-text {
	font-size: 0.9rem;
	line-height: 1.5;
}