.all-events h2 {
	margin: 0 auto 1rem;
	padding: .5rem;
	width: 95%;
	background-color: var(--dark1);
	color: #fff;
	text-align: center;
}

.weekly-events-group,
.monthly-events-group {
	display: flex;
	justify-content: center; 
	gap: 1rem;
	margin: 0 0 2rem;
	padding: 0;
	overflow: hidden;

}

.weekly-events-group > div,
.monthly-events-group > div {
	display: flex; 
	justify-content: center; 
	flex-wrap: wrap;
	gap: 1rem; 
	padding: 0;
	width: 100%;
}

.weekday-group,
.monthly-group {
	padding: 0 0 1rem;
	width: 300px; max-width: 100%; 
	border: 1px solid #ccc;
	border-radius: .5rem;
	overflow: hidden;
	
	& h3 {
		margin: 0 0 .5rem; 
		padding: .5rem; 
		background-color: #EEF5EF;
		text-align: center;
		border-bottom: 1px solid #ccc;
	}
	
	& ul, li:last-child { margin-bottom: 0; }
}

.lbc-admin-controls {
	position: absolute; z-index: 999;
	bottom: 0;
	left: .5rem;
}

.lbc-admin-controls button:hover {
	background-color: green;
	color: #fff;
}


.lbc-events-calendar-container {
	display: flex; 
	justify-content: center; 
	flex-wrap: wrap;
	gap: 1rem;
	width: 100%; max-width: 100%; 
}
 
.lbc-events-single-container { 
	max-width: 720px; 
	margin: 0 auto; 
}

.page-10 .lbc-events-calendar-container {
	margin-top: 2rem;
}

#lbc .lbc-events-calendar-container h1, 
#lbc .lbc-events-single-container h1 { 
	margin: 0; 
	padding: 0px; 
	font: normal 3rem/1.2 var(--text);
	color: var(--dark2); 
	border: 0;
}

.special-events-group {
	display: flex;
	justify-content: center;
	gap: 2rem;
	
	& div {
		width: 100%;
	}
	
}

.event-list { 
	list-style: none; 
	padding: 0; 
}

.event-item { 
	background-color: #fdfdfd; 
	border: 1px solid #e9ecef; 
	border-radius: 5px; 
	padding: 15px; 
	margin-bottom: 15px; 
}

.event-item img {
	display: block; 
	margin-bottom: 15px;
	height: auto;
	max-width: 100%;
	border-radius: 5px;
	transition: var(--hover);
}

.event-item:hover img {
	transform: scale(1.05);
}

.event-item h3 {
	margin-top: 0;
}

.event-item h3 a {
	text-decoration: none;
	color: #2c3e50;
}

.event-item p {
	margin: 5px 0;
}

.event-item .count {
	color: #7f8c8d;
}

.event-header {
	margin: 0 0 1rem;
}

.event-header img {
	max-width: 100%;
	height: auto;	
	border-radius: 5px;
	margin-bottom: 1rem;
}

.event-description {
	margin-top: 1rem;
	margin-bottom: 2rem;
}

.description_text, 
.description_text div {
	word-wrap: break-word;
}



.instance-list { 
	list-style: none; 
	padding: 0; 
	margin-top: 20px; 
}

.instance-item { 
	background-color: #fdfdfd; 
	border: 1px solid #e9ecef; 
	border-radius: 5px; 
	padding: 10px 15px; 
	margin-bottom: 10px; 
}
		


.narrow700 { width: 700px; max-width: 100%; }
.lbc-events-calendar-container, .lbc-events-single-container { width: 100%; margin: 0 auto; }
			.lbc-events-calendar-container h1, .lbc-events-single-container h1, .lbc-events-single-container h2 { color: #2c3e50; border-bottom: 2px solid #ecf0f1; padding-bottom: 10px; margin-bottom: 1rem; }
			.event-list { list-style: none; padding: 0; }
			.event-item { background-color: #fdfdfd; border: 1px solid #e9ecef; border-radius: 5px; padding: 15px; margin-bottom: 15px; }
			.event-item img { max-width: 100%; height: auto; border-radius: 5px; margin-bottom: 0; }
			.event-item h3 { margin-top: 0; }
			.event-item h3 a { font-size: 1rem; color: #2c3e50; text-decoration: none; }
			.event-item p { margin: 5px 0; }
			.event-item .count { color: #7f8c8d; }
			.event-description { margin: 0; }
			

			.primary-instance-details p { margin: 0 0 0.5rem 0; }
			.primary-instance-details .location a { color: #3498db; text-decoration: none; }
			.instance-list { list-style: none; padding: 0; margin-top: 20px; }
			.instance-item { background-color: #fdfdfd; border: 1px solid #e9ecef; border-radius: 5px; padding: 10px 15px; margin: 0 0 10px 0; }

.event-list {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
	min-width: 100%;
}

.event-item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: .5rem;
	margin: 0;
	width: 300px; max-width: 100%;
}

#event-date {
	margin-bottom: -.5rem;
	font-weight: bold;
}

#event-title {
	display: block; 
	padding: .25rem 0 .25rem 1rem; 
	width: 100%;
	background-color: var(--dark1);
	color: #fff;
	border-radius: 5px;
}
.em.em-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#events-list a:hover span,
#events-list a:hover span#event-date:hover {
	background-color: var(--dark2) !important;
	color: #fff !important;
}

#lbc .em.em-item .em-item-meta .em-item-meta-line a, .em.em-list .em-item .em-item-meta .em-item-meta-line a, .em.em-list-widget .em-item .em-item-meta .em-item-meta-line a {
	font-style: normal !important;
}

[data-view="event"] {
	width: var(--inner);
}

.event-instances {
	max-width: 98%; 
}


/* SINGLE EVENT VIEW ---------------------------------------------------- */

.back-link {
	display: inline-block;
    margin: 2rem 0;
	padding: .5rem 1rem;
    background-color: var(--dark2);
    color: #fff;
	text-decoration: none;
    border-radius: 7px;
}

.single-event  {
	padding: 0;
}

.single-event h1 {
	letter-spacing: -3px; 
}

.event-header img {
	margin: 0;
}

p:has(.register-button) {
	margin: 0; 
	text-align: center;
}

.register-button { 
	display: inline-block; 
	margin: 1rem auto 0;
	padding: 12px 24px; 
	background-color: #27ae60; 
	font-weight: bold;
	color: #fff !important; 
	text-decoration: none; 
	border-radius: 5px; 
}

.register-button {
	display: inline-block;
	background-color: #27ae60;
	color: #fff !important;
	padding: 12px 24px;
	text-decoration: none;
	border-radius: 5px;
	font-weight: bold;
	margin-top: 1rem;
}

.primary-instance-details {
	margin-top: 2rem;
}

.primary-instance-details .location a {
	color: #3498db;
	text-decoration: none;
}

.future-recurrences {
	margin: 2rem 0; 
}