:root{
	--highlight-color-party: #ffc107;
	--highlight-color-day-off: #dc3545;
	--highlight-color-course-day: #17a2b8;

}

:root[data-bs-theme="light"] {
	--text-color: #000000;
	--border-color: #000000;
	--section-border-color: #333;
	--bs-body-bg: #eee;
	--bs-border-color: #ccc;
}

:root[data-bs-theme="dark"] {
	--text-color: #ffffff;
	--border-color: #ffffff;
	--section-border-color: #ffc107;
	--back-contrast: #888;
}

/* CALENDAR */
.Highlight {
	background-color: var(--highlight-color-course-day) !important;
}
.HighlightC {
	background-color: var(--highlight-color-day-off) !important;
}
.HighlightD {
	background-color: var(--highlight-color-party) !important;
}

.table th,
.table td {
	padding: 0.1rem; /* Adjust padding */
	text-align: center;
}

/* SECTION BORDER */
.section_border{
	border-top: 2px solid var(--section-border-color);
}

/* TOGGLE DARK MODE */
.checkbox {
	opacity: 0;
	position: absolute;
}

.checkbox-label {
	background-color: #111;
	width: 50px;
	height: 26px;
	border-radius: 50px;
	position: relative;
	padding: 5px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.fa-moon {
	color: #f1c40f;
}

.fa-sun {
	color: #f39c12;
}

.checkbox-label .ball {
	background-color: #fff;
	width: 22px;
	height: 22px;
	position: absolute;
	left: 2px;
	top: 2px;
	border-radius: 50%;
	transition: transform 0.2s linear;
}

.checkbox:checked + .checkbox-label .ball {
	transform: translateX(24px);
}

/* COLOR BOX CALENDAR */
.color-box {
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: middle;
	border: 1px solid #000;
}

.highlight-box {
	background-color: var(--highlight-color-course-day) !important; /* Bootstrap warning color */
}

.highlightc-box {
	background-color: var(--highlight-color-day-off) !important; /* Bootstrap danger color */
}

.highlightd-box {
	background-color: var(--highlight-color-party) !important; /* Bootstrap info color */
}

.color-text {
	vertical-align: middle;
	margin-left: 10px;
	margin-right: 20px;
}

/* MAP & IFRAME GOOGLE MAP */
.aspect-ratio {
	aspect-ratio: 16 / 9; /* Adjust the ratio as needed */
	width: 100%;
	background-color: var(--back-contrast);
}

.mapouter iframe {
	aspect-ratio: 16 / 9; /* Adjust the ratio as needed */
	width: 100%;
}

/* Calendar: Prevent overflow of day names*/
th{
	overflow: hidden;
}