/**
 * ----------------------------------------------------------------------------
 * Frontend CSS
 * ----------------------------------------------------------------------------
 */

	.cbs-timetable-container {
		max-width: unset !important;
	}

	.cbs-pagination {
		display: flex;
	} .cbs-week-next {
		margin-left: auto;
	}

	.cbs-week-prev:before {
		content: '←';
		display: inline-block;
		margin-right: .5rem;
	} .cbs-week-next:after {
		content: '→';
		display: inline-block;
		margin-left: .5rem;
	}

	.cbs-timetable {
		display: flex;
		gap: .5rem;

		position: relative;
		left: 0;
		padding-bottom: 1.5em;
		transition: all .5s ease-in-out;
	} .cbs-timetable > * {
		flex: 1;
	}

	.cbs-timetable.animate-slide-prev, .cbs-timetable.animate-slide-next {
		opacity: 0;
	} .cbs-timetable.animate-slide-prev {
		left: 100%;
	} .cbs-timetable.animate-slide-next {
		left: -100%;
	}

	.cbs-timetable h2 {
		font-size: 1.5rem;
		margin-top: 0;
		margin-bottom: 1rem;
	} .cbs-timetable h2 > a {
		color: inherit;
		text-decoration: none;
	} .cbs-timetable h2 > time {
		display: block;
		font-size: .75em;
		font-weight: 400;
		line-height: normal;
	}

	.cbs-timetable ul {
		margin: 0;
		padding: 0;
		list-style: none;
	} .cbs-timetable ul li {
		margin: 0 0 .5rem 0;
		padding: 0;
		list-style: none;
	} .cbs-timetable ul li:last-child {
		margin-bottom: 0;
	}

	.cbs-timetable ul li a {
		display: block;
		overflow: hidden;
		padding: .5em 1em;
		position: relative;
		text-decoration: none;

		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;

		border-radius: 10px;
		box-shadow: rgba(0,0,0,.2) 0 10px 20px;

		transition: all .3s;
	} .cbs-timetable ul li a:hover {
		opacity: .85;
		box-shadow: rgba(0,0,0,.4) 0 5px 10px;
	}

	.cbs-timetable ul li a > *, .cbs-timetable ul li a > p:last-child {
		position: relative;
		z-index: 2;

		margin: 0 !important;
		padding: 0 !important;
	} .cbs-timetable ul li a > .overlay {
		position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
		margin: 0 !important;
		opacity: .75;
		z-index: 1;
	} .cbs-timetable ul li a > .availability, .cbs-timetable ul li a > .new {
		position: absolute;
		top: 8px; right: 8px;

		width: 8px;
		height: 8px;
		font-size: 0;
		text-indent: -999em;
		background-color: #cdeb8e;
		border-radius: 50%;
		box-shadow: rgba(255,255,255,.5) 0 0 5px;

		/* padding: .25rem 25px;
		font-size: 12px;
		line-height: 1;
		color: #fff;
		background-color: #000;
		transform: rotate(35deg); */
	} .cbs-timetable ul li a > .availability.red {
		background-color: #d65050;
	} .cbs-timetable ul li a > .availability.yellow {
		background-color: #f7cd2e;
	} .cbs-timetable ul li a > .new {
		/* right: 20px; */
		background-color: #87d5fb;
	}

	.cbs-timetable h3 {
		margin: 0;
		font-size: 1.25rem !important;
		line-height: normal !important;
		color: inherit !important;
	} .cbs-timetable h3 .dashicons, .cbs-timetable h3 .dashicons-before:before {
		font-size: inherit;
		line-height: inherit;
	}

	.cbs-timetable .attendance > time {
		position: absolute;
		left: -999em;
		z-index: -1;
	}

	/* Divided */

	.cbs-timetable.divided {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.cbs-timetable.divided:not(.day):before {
		content: '';
		width: 30px;
		height: 30px;

		position: absolute;
		left: 0; top: -37px;

		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	} /* .cbs-timetable.divided.morning:before {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy44MjUgMTIuMzYyIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik01LjY3OCAxMi4zNjJjMC0zLjUxNCAyLjgyMy02LjM2MyA2LjMwNi02LjM2MyAzLjQ4MiAwIDYuMzA1IDIuODUgNi4zMDUgNi4zNjMiLz48cGF0aCBkPSJNNS42NzggMTIuMzYyYzAtMy41MTQgMi44MjMtNi4zNjMgNi4zMDYtNi4zNjMgMy40ODIgMCA2LjMwNSAyLjg1IDYuMzA1IDYuMzYzIiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0yMy41NjQgOC42NjlsLTMuMTc3Ljg1OSIvPjxwYXRoIGQ9Ik0yMy41NjQgOC42NjlsLTMuMTc3Ljg1OSIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMjAuMzIgMy4yODRMMTcuOTkyIDUuNjMiLz48cGF0aCBkPSJNMjAuMzIgMy4yODRMMTcuOTkyIDUuNjMiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTE0Ljg0MS4yNTdsLS44NTIgMy4yMDYiLz48cGF0aCBkPSJNMTQuODQxLjI1N2wtLjg1MiAzLjIwNiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNOC41OTcuMzk5bC44NTEgMy4yMDgiLz48cGF0aCBkPSJNOC41OTcuMzk5bC44NTEgMy4yMDgiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTMuMjYgMy42NzRMNS41ODYgNi4wMiIvPjxwYXRoIGQ9Ik0zLjI2IDMuNjc0TDUuNTg2IDYuMDIiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTS4yNjEgOS4yMDJsMy4xNzcuODYiLz48cGF0aCBkPSJNLjI2MSA5LjIwMmwzLjE3Ny44NiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PC9zdmc+);
	} */ .cbs-timetable.divided.noon:before {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy44MjUgMjQuNzkyIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yMy41NjQgOC42NjlsLTMuMTc3Ljg1OSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMy41NjQgOC42NjlsLTMuMTc3Ljg1OSIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMjAuMzIgMy4yODRMMTcuOTkyIDUuNjMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjAuMzIgMy4yODRMMTcuOTkyIDUuNjMiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTE0Ljg0MS4yNTdsLS44NTIgMy4yMDYiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMTQuODQxLjI1N2wtLjg1MiAzLjIwNiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNOC41OTcuNGwuODUxIDMuMjA3IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTguNTk3LjRsLjg1MSAzLjIwNyIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMy4yNiAzLjY3NWwyLjMyNyAyLjM0NyIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0zLjI2IDMuNjc1bDIuMzI3IDIuMzQ3IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0uMjYxIDkuMjAzbDMuMTc3Ljg2IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTS4yNjEgOS4yMDNsMy4xNzcuODYiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTS4yNjEgMTYuMTI0bDMuMTc3LS44NiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0uMjYxIDE2LjEyNGwzLjE3Ny0uODYiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTMuNTA2IDIxLjUwOWwyLjMyNi0yLjM0OCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0zLjUwNiAyMS41MDlsMi4zMjYtMi4zNDgiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTguOTg0IDI0LjUzNWwuODUyLTMuMjA2IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTguOTg0IDI0LjUzNWwuODUyLTMuMjA2IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0xNS4yMjggMjQuMzkybC0uODUtMy4yMDYiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMTUuMjI4IDI0LjM5MmwtLjg1LTMuMjA2IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0yMC41NjUgMjEuMTE4TDE4LjI0IDE4Ljc3IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTIwLjU2NSAyMS4xMThMMTguMjQgMTguNzciIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTIzLjU2NCAxNS41ODlsLTMuMTc3LS44NiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMy41NjQgMTUuNTg5bC0zLjE3Ny0uODZtLTIuMTY5LTIuNDg4YzAgMy41MTQtMi44MjMgNi4zNjQtNi4zMDYgNi4zNjQtMy40ODIgMC02LjMwNS0yLjg1LTYuMzA1LTYuMzY0czIuODIzLTYuMzYzIDYuMzA1LTYuMzYzYzMuNDgzIDAgNi4zMDYgMi44NSA2LjMwNiA2LjM2M3oiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTIzLjU2NCA4LjY2OWwtMy4xNzcuODU5IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTIzLjU2NCA4LjY2OWwtMy4xNzcuODU5IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0yMC4zMiAzLjI4NEwxNy45OTIgNS42MyIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMC4zMiAzLjI4NEwxNy45OTIgNS42MyIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMTQuODQxLjI1N2wtLjg1MiAzLjIwNiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xNC44NDEuMjU3bC0uODUyIDMuMjA2IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik04LjU5Ny40bC44NTEgMy4yMDciIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOC41OTcuNGwuODUxIDMuMjA3IiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0zLjI2IDMuNjc1bDIuMzI3IDIuMzQ3IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMuMjYgMy42NzVsMi4zMjcgMi4zNDciIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTS4yNjEgOS4yMDNsMy4xNzcuODYiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNLjI2MSA5LjIwM2wzLjE3Ny44NiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNLjI2MSAxNi4xMjRsMy4xNzctLjg2IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTS4yNjEgMTYuMTI0bDMuMTc3LS44NiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMy41MDYgMjEuNTA5bDIuMzI2LTIuMzQ4IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMuNTA2IDIxLjUwOWwyLjMyNi0yLjM0OCIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNOC45ODQgMjQuNTM1bC44NTItMy4yMDYiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOC45ODQgMjQuNTM1bC44NTItMy4yMDYiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTE1LjIyOCAyNC4zOTJsLS44NS0zLjIwNiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xNS4yMjggMjQuMzkybC0uODUtMy4yMDYiIHN0cm9rZT0iIzM4M2U0MSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTIwLjU2NSAyMS4xMThMMTguMjQgMTguNzciIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjAuNTY1IDIxLjExOEwxOC4yNCAxOC43NyIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48cGF0aCBkPSJNMjMuNTY0IDE1LjU4OWwtMy4xNzctLjg2IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTIzLjU2NCAxNS41ODlsLTMuMTc3LS44Nm0tMi4xNjktMi40ODhjMCAzLjUxNC0yLjgyMyA2LjM2NC02LjMwNiA2LjM2NC0zLjQ4MiAwLTYuMzA1LTIuODUtNi4zMDUtNi4zNjRzMi44MjMtNi4zNjMgNi4zMDUtNi4zNjNjMy40ODMgMCA2LjMwNiAyLjg1IDYuMzA2IDYuMzYzeiIgc3Ryb2tlPSIjMzgzZTQxIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PC9zdmc+);
	} .cbs-timetable.divided.evening:before {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyMC44Ij48cGF0aCBkPSJNMTMuMSAxMC40YzAtMy43IDIuMy03IDUuNS04LjVhMTAgMTAgMCAwMC00LjItLjkgOS41IDkuNSAwIDAwLTkuNyA5LjRjMCA1LjIgNC4zIDkuMyA5LjcgOS4zYTEwIDEwIDAgMDA0LjItLjkgOS4zIDkuMyAwIDAxLTUuNS04LjR6IiBmaWxsPSJub25lIiBzdHJva2U9IiMzODNlNDEiIHN0cm9rZS13aWR0aD0iMiIvPjwvc3ZnPg==);
	}

	.cbs-timetable.divided:not(:first-child):not(:last-child):after {
		content: '';
		width: 0;
		height: 2px;
		background-color: #383e41;

		position: absolute;
		left: 40px; bottom: 0;

		animation-name: divider;
		animation-duration: .5s;
		animation-fill-mode: forwards;
		animation-delay: .5s;
	}

	@keyframes divider {
		from { width: 0; }
		to { width: calc(100% - 40px) }
	}

	/* List */

	.cbs-timetable.list {
		display: block;
	}

	.cbs-timetable.list .cbs-timetable-column {
		margin-bottom: 1.5em;
	}

	.cbs-timetable.list .timeslot,
	.cbs-timetable.list .attendance {
		clear: both;
		float: right;
		margin: 0 0 0 1rem;
		padding: 0;
		line-height: 1;
	}

@media only screen and (min-width: 768px) {

	.cbs-timetable.divided.day,
	.cbs-timetable.divided:not(.morning) h4, .cbs-timetable.divided .cbs-no-courses {
		display: none;
	}

	.cbs-timetable.divided .cbs-timetable-column:nth-child(2n) {
		background-color: rgba(0,0,0,.05);
		border-radius: 10px;
	} .cbs-timetable.divided .cbs-timetable-column:nth-child(2n) h4 {
		text-indent: .5rem;
	}
}

@media only screen and (max-width: 768px) {

	.cbs-timetable {
		display: block;
	} .cbs-timetable.divided:not(.day) {
		display: none;
	} .cbs-timetable .cbs-timetable-column {
		margin-bottom: 1.5em;
	} .cbs-timetable .timeslot, .cbs-timetable .attendance {
		clear: both;
		float: right;
		margin: 0 0 0 1rem;
		padding: 0;
		line-height: 1;
	} .cbs-timetable ul li a > .availability, .cbs-timetable ul li a > .new {
		top: 5px; right: 5px;
		width: 5px;
		height: 5px;
	}
}
