/* CALENDAR */

.calendar,
.BM_calendar table {
	width: 100%;
}

.calendar {
	background-color: white;
	display: none;
	
	position: fixed;
	z-index: 101;
	overflow: auto;
	overscroll-behavior: none;

	height: 100%;
	margin: 0px;
	padding: 0px;

	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.BM_calendar {
	padding-top: 15px;
	padding-bottom: 25px;
	padding-left: 25px;
	padding-right: 25px;
}

.BM_calendar_header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.BM_calendar_button_back,
.BM_calendar_button_forward {
	font-size: 32pt;
}

.BM_calendar_button_back {
	transform: rotate(-90deg);
}

.BM_calendar_button_forward {
	transform: rotate(90deg);
}

.BM_calendar_button_active,
.BM_calendar_date_today,
.BM_calendar_date_active:hover {
	cursor: pointer;
}

.BM_calendar_button_active {
	color: var(--BM_blue);	
}

.BM_calendar_button_active:hover {
	color: var(--BM_lightgreen);
}

.BM_calendar_month,
.BM_calendar table th {
	font-variation-settings: "wdth" 112.5;
}

.BM_calendar_month,
.BM_calendar table td {
	font-weight: 100;
}

.BM_calendar_month {
	font-size: 18pt;
	margin-top: auto;
	margin-bottom: auto;
}

.BM_calendar table {
	 table-layout: fixed;
}

.BM_calendar table th {
	font-size: 12pt;
	font-weight: 500;
}

.BM_calendar table td {
	font-size: 14pt;
	text-align: center;
	line-height: 40px;
}

.BM_calendar_date_active:hover {
	background-color: var(--BM_lightgreen);
	color: var(--BM_darkblue);
}

.BM_calendar_date_today,
.BM_calendar_date_selected,
.BM_calendar_date_selected:hover {
	color: white;
}

.BM_calendar_date_today {
	background-color: var(--BM_blue);
}

.BM_calendar_date_disabled,
.BM_calendar_date_disabled:hover {
	color: lightgrey;
}

.BM_calendar_date_disabled:hover {
	cursor: auto;
}

.BM_calendar_date_selected,
.BM_calendar_date_selected:hover {
	background-color: var(--BM_darkblue);
}