#calendar-wrapper {
	position: relative;
	font-size: 15px;
	margin: 0 10px;
}

#calendar-wrapper #calendar-prev {
	position: absolute;
	top: 50%;
	left: -100px;
	margin-top: -25px;
	font-size: 72px;
	display: inline-block;
	cursor: pointer;
}

#calendar-wrapper #calendar-next {
	position: absolute;
	top: 50%;
	right: -100px;
	margin-top: -25px;
	font-size: 72px;
	display: inline-block;
	cursor: pointer;
}

#calendar-wrapper > .row > .column {
	padding-right: 7.5px;
	padding-left: 7.5px;
}

#calendar-wrapper .day-item {
	border: 2px solid #000;
	text-align: center;
	margin-bottom: 1em;
}


#calendar-wrapper .day-item .course-date-item:not(:last-of-type) {
	border-bottom: 2px solid #000;
}

#calendar-wrapper .with-borders {
	border-left: 2px solid #000;
	border-right: 2px solid #000;
}

#calendar-wrapper .day-wrapper,
#calendar-wrapper .morning-wrapper,
#calendar-wrapper .afternoon-wrapper {
	padding: 5px 0;
	text-align: center;
}

#calendar-wrapper .day-number {
	line-height: normal;
	font-size: 40px;
	font-weight: bold;
	position: relative;
	margin-left: 10px;
}

#calendar-wrapper .morning-wrapper,
#calendar-wrapper .afternoon-wrapper {
	transform: translateY(-50%);
	top: 50%;
	position: relative;
}

#calendar-wrapper .morning-column,
#calendar-wrapper .afternoon-column {
	transition: all 300ms ease;
	font-weight: bold;
}

#calendar-wrapper .has-courses-in-lightbox.morning-column,
#calendar-wrapper .has-courses-in-lightbox.afternoon-column {
	background-color: #bfeaf2;
}

#calendar-wrapper .not-available-date .morning-column,
#calendar-wrapper .not-available-date .afternoon-column,
#calendar-wrapper .not-morning-date .morning-column,
#calendar-wrapper .not-afternoon-date .afternoon-column,
#calendar-wrapper .morning-column:has(.not-available-date),
#calendar-wrapper .afternoon-column:has(.not-available-date) {
	background-color: #92a0a3;
	color: #fff;
	pointer-events: none;
}

#calendar-wrapper .not-available-date.blocked-date .morning-column,
#calendar-wrapper .not-available-date.blocked-date .afternoon-column,
#calendar-wrapper .blocked-date .morning-column,
#calendar-wrapper .blocked-date .afternoon-column,
#calendar-wrapper .blocked-date-morning .morning-column,
#calendar-wrapper .blocked-date-afternoon .afternoon-column {
	background-color: #92a0a3;
	color: #fff;
	pointer-events: none;
}

#ccm-dashboard-page #calendar-wrapper .not-available-date .morning-column,
#ccm-dashboard-page #calendar-wrapper .not-available-date .afternoon-column,
#ccm-dashboard-page #calendar-wrapper .not-morning-date .morning-column,
#ccm-dashboard-page #calendar-wrapper .not-afternoon-date .afternoon-column {
	pointer-events: all;
}

#ccm-dashboard-page #calendar-wrapper .not-available-date.blocked-date .morning-column,
#ccm-dashboard-page #calendar-wrapper .not-available-date.blocked-date .afternoon-column,
#ccm-dashboard-page #calendar-wrapper .blocked-date .morning-column,
#ccm-dashboard-page #calendar-wrapper .blocked-date .afternoon-column,
#ccm-dashboard-page #calendar-wrapper .blocked-date-morning .morning-column,
#ccm-dashboard-page #calendar-wrapper .blocked-date-afternoon .afternoon-column {
	pointer-events: all;
}

#calendar-wrapper .morning-column {
	cursor: pointer;
}

#calendar-wrapper .afternoon-column {
	margin-right: 15px;
	cursor: pointer;
}

#calendar-wrapper .morning-selected .morning-column,
#calendar-wrapper .afternoon-selected .afternoon-column,
#calendar-wrapper .morning-column:hover,
#calendar-wrapper .afternoon-column:hover {
	background-color: #00adca;
	color: #fff;
}

#calendar-wrapper .week-number {
	font-size: 18px;
	margin-bottom: 5px;
}

#calendar-wrapper .date-column {
	margin-left: 15px;
}

#calendar-wrapper .current .date-column {
	background-color: #00adca;
	color: #fff;
}

.related-course-list {
	padding: 30px;
}

.related-course-item {
	display: flex;
	margin-bottom: 1em;
	flex-wrap: wrap;
	border: 1px solid #ebebeb;
	justify-content: space-between;
	padding: 30px 30px;
	align-items: center;
	border-radius: 3px;
	background-color: #fff;
	box-shadow: 1px 1px 10px -5px rgba(0, 0, 0, 0.4);
}

.related-course-button a.button.primary {
	width: 200px;
	margin: 0;
	color: #fff;
}

div#related-courses-wrapper {
	padding: 45px;
}


.is-logged-in #calendar-wrapper .morning-column:has(.not-available-date),
.is-logged-in #calendar-wrapper .afternoon-column:has(.not-available-date),
.is-logged-in #calendar-wrapper .not-available-date .morning-column,
.is-logged-in #calendar-wrapper .not-available-date .afternoon-column,
.is-logged-in #calendar-wrapper .not-morning-date .morning-column,
.is-logged-in #calendar-wrapper .not-afternoon-date .afternoon-column,
.is-logged-in #calendar-wrapper .not-available-date.blocked-date .morning-column,
.is-logged-in #calendar-wrapper .not-available-date.blocked-date .afternoon-column,
.is-logged-in #calendar-wrapper .blocked-date .morning-column,
.is-logged-in #calendar-wrapper .blocked-date .afternoon-column,
.is-logged-in #calendar-wrapper .blocked-date-morning .morning-column,
.is-logged-in #calendar-wrapper .blocked-date-afternoon .afternoon-column {
	background-color: #d0d0d0;
	color: #000;
	pointer-events: all;
}

.is-logged-in #calendar-wrapper .morning-selected .morning-column,
.is-logged-in #calendar-wrapper .afternoon-selected .afternoon-column,
.is-logged-in #calendar-wrapper .morning-column:hover,
.is-logged-in #calendar-wrapper .afternoon-column:hover,
.is-logged-in #calendar-wrapper .current .date-column {
	background-color: #00adca !important;
	color: #fff !important;
}


@media screen and (max-width: 480px) {
	#calendar-wrapper .morning-wrapper,
	#calendar-wrapper .afternoon-wrapper {
		word-break: break-word;
		font-size: 0.7em;
	}

	#calendar-wrapper .day-item {
		min-height: 250px;
		overflow: hidden;
	}

}

.is-logged-in #calendar-wrapper.coaching-calendar .morning-selected .morning-column,
.is-logged-in #calendar-wrapper.coaching-calendar .afternoon-selected .afternoon-column,
.is-logged-in #calendar-wrapper.coaching-calendar .morning-column:hover,
.is-logged-in #calendar-wrapper.coaching-calendar .afternoon-column:hover,
.is-logged-in #calendar-wrapper.coaching-calendar .current .date-column,
#calendar-wrapper.coaching-calendar .morning-selected .morning-column,
#calendar-wrapper.coaching-calendar .afternoon-selected .afternoon-column,
#calendar-wrapper.coaching-calendar .morning-column:hover,
#calendar-wrapper.coaching-calendar .afternoon-column:hover {
	background-color: inherit !important;
	color: inherit !important;
}

#calendar-wrapper.coaching-calendar .course-date-item.selected,
#calendar-wrapper.coaching-calendar .course-date-item:hover {
	background-color: #00adca !important;
	color: #fff !important;
}


#calendar-wrapper.coaching-calendar .morning-wrapper,
#calendar-wrapper.coaching-calendar .afternoon-wrapper {
	padding: 0;
	transform: none;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

#calendar-wrapper.coaching-calendar .course-date-item {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}


#calendar-wrapper.calendar-is-loading {
	opacity: 0.5;
	pointer-events: none;
	position: relative;
}

#calendar-wrapper.calendar-is-loading:after {
	content: '\f110';
	position: absolute;
	top: 50%;
	left: 50%;
	font-family: "Font Awesome 5 Free", serif;
	font-weight: 900;
	font-size: 3rem;
	-webkit-animation: fa-spin 1s infinite steps(8);
	animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}
@keyframes fa-spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}