/*
 Plugin Name: Course Booking System
 Plugin URI: https://commotion.online/individuelles-kurs-online-buchungssystem/
 Description: Individual course booking system for recurring events and specific needs.
 Version: 1.0
 Author: ComMotion
 Author URI: https://commotion.online
 Text Domain: course-booking-system
*/

/* Basic */

	.decline, .disabled {
		opacity: .75;
		filter: grayscale(100%);

		/* Flickering fix for Safari */
		-webkit-transform: translateZ(0) scale(1,1);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.btn, .button {
		display: inline-block;
	}

	video {
		max-width: 100%;
	}

/* AJAX */

	.loader {
		display: none;
		position: fixed;
		top: calc(50% - 50px);
		left: calc(50% - 25px);
		z-index: 10;

		width: 100px !important;
		height: 50px;
		margin: 0;
		padding: 10px 20px;
		background-color: #888;
		border-radius: 5px;
	} .loader:before {
		content: '';
		position: fixed;
		top: 0; right: 0; bottom: 0; left: 0;
		background-color: rgba(0,0,0,.5);
	}

	.loader > div {
		width: 18px;
		height: 18px;
		background-color: #fff;
		border-radius: 100%;
		display: inline-block;
		-webkit-animation: sk-bouncedelay 1.5s infinite ease-in-out both;
		animation: sk-bouncedelay 1.5s infinite ease-in-out both;
	} .loader > div:first-child {
		-webkit-animation-delay: -.5s;
		animation-delay: -.5s;
	} .loader > div:nth-child(2) {
		-webkit-animation-delay: -.25s;
		animation-delay: -.25s;
	}

	@-webkit-keyframes sk-bouncedelay {
		0%, 100%, 80% {
			-webkit-transform: scale(0)
		} 40% {
			-webkit-transform: scale(1)
		}
	} @keyframes sk-bouncedelay {
		0%, 100%, 80% {
			-webkit-transform: scale(0);
			transform: scale(0)
		} 40% {
			-webkit-transform: scale(1);
			transform: scale(1)
		}
	}

/* Archive */

	.course form,
	body.post-type-archive-course form {
		padding-bottom: 1.5em;
	}

	body.post-type-archive-course .posts-container { /* Salient Fix */
		height: auto !important;
	}

/* Single */

	.course:not(.type-course) {
		position: relative;
		max-width: unset;
		padding: 5rem;
		margin-bottom: 1rem;
		background-color: #fff;
		border: 1px solid rgba(0,0,0,.5);
	}

	.course .red {
		color: #d65050;
	} .course .red:hover {
		color: #ff0000;
	}

	.course .progress-wrapper {
		margin-bottom: 15px;
		padding-top: 0;
	} .course progress {
		color: #fff;
		width: 100%;

		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: none;
	} .course progress::-webkit-progress-bar {
		background-color: #f3f3f3;
	} .course progress::-webkit-progress-value {
		background: #cdeb8e;
		background: -moz-linear-gradient(top,  #cdeb8e 0%, #a5c956 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cdeb8e), color-stop(100%,#a5c956));
		background: -webkit-linear-gradient(top,  #cdeb8e 0%,#a5c956 100%);
		background: -ms-linear-gradient(top,  #cdeb8e 0%,#a5c956 100%);
		background: linear-gradient(to bottom,  #cdeb8e 0%,#a5c956 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cdeb8e', endColorstr='#a5c956',GradientType=0 );
	} .course progress::-moz-progress-bar {
		background: #cdeb8e;
		background: -moz-linear-gradient(top,  #cdeb8e 0%, #a5c956 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cdeb8e), color-stop(100%,#a5c956));
		background: -webkit-linear-gradient(top,  #cdeb8e 0%,#a5c956 100%);
		background: -ms-linear-gradient(top,  #cdeb8e 0%,#a5c956 100%);
		background: linear-gradient(to bottom,  #cdeb8e 0%,#a5c956 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cdeb8e', endColorstr='#a5c956',GradientType=0 );
	}

	.course .yellow progress::-webkit-progress-bar {
		background-color: #f3f3f3;
	} .course .yellow progress::-webkit-progress-value {
		background: #f7cd2e;
		background: -moz-linear-gradient(top,  #f7cd2e 0%, #f6b12a 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7cd2e), color-stop(100%,#f6b12a));
		background: -webkit-linear-gradient(top,  #f7cd2e 0%,#f6b12a 100%);
		background: -ms-linear-gradient(top,  #f7cd2e 0%,#f6b12a 100%);
		background: linear-gradient(to bottom,  #f7cd2e 0%,#f6b12a 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7cd2e', endColorstr='#f6b12a',GradientType=0 );
	} .course .yellow progress::-moz-progress-bar {
		background: #f7cd2e;
		background: -moz-linear-gradient(top,  #f7cd2e 0%, #f6b12a 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7cd2e), color-stop(100%,#f6b12a));
		background: -webkit-linear-gradient(top,  #f7cd2e 0%,#f6b12a 100%);
		background: -ms-linear-gradient(top,  #f7cd2e 0%,#f6b12a 100%);
		background: linear-gradient(to bottom,  #f7cd2e 0%,#f6b12a 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7cd2e', endColorstr='#f6b12a',GradientType=0 );
	}

	.course .red progress::-webkit-progress-bar {
		background-color: #f3f3f3;
	} .course .red progress::-webkit-progress-value {
		background: #d65050;
		background: -moz-linear-gradient(top,  #fC0d1b 0%, #c30712 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fC0d1b), color-stop(100%,#c30712));
		background: -webkit-linear-gradient(top,  #fC0d1b 0%,#c30712 100%);
		background: -ms-linear-gradient(top,  #fC0d1b 0%,#c30712 100%);
		background: linear-gradient(to bottom,  #fC0d1b 0%,#c30712 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fC0d1b', endColorstr='#c30712',GradientType=0 );
	} .course .red progress::-moz-progress-bar {
		background: #d65050;
		background: -moz-linear-gradient(top,  #fC0d1b 0%, #c30712 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fC0d1b), color-stop(100%,#c30712));
		background: -webkit-linear-gradient(top,  #fC0d1b 0%,#c30712 100%);
		background: -ms-linear-gradient(top,  #fC0d1b 0%,#c30712 100%);
		background: linear-gradient(to bottom,  #fC0d1b 0%,#c30712 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fC0d1b', endColorstr='#c30712',GradientType=0 );
	}

	.course table, .course tr, .course th, .course td, .course table input {
		font-size: 16px;
	} .course th {
		min-width: 40px;
	} .course th:first-child, .course td:first-child, .course th:last-child, .course td:last-child {
		text-align: center;
	} .course table input {
		height: auto !important;
		padding: 0 !important;
		background-color: transparent !important;
		outline: none !important;
		border: none !important;
		border-bottom: 2px solid #e0e0e0 !important;
	} .course table .button {
		margin: 0;
		padding: 0;
		width: 25px;
		height: 25px;
		line-height: 25px;
		text-align: center;
		border-radius: 50%;
	} .course table .button:hover {
		opacity: .75;
		text-decoration: none !important;
	} .course table .button.goodwill {
		margin-top: .25rem;
		background-color: var(--wc-green);
	}

	.course .export:before, .course .email:before, .course .sms label[for="message"]:before {
		content: "\f316";
		font-family: dashicons;
		speak: none;
		display: inline-block;
		margin-right: .5em;
	} .course .email:before {
		content: "\f465";
	} .course .sms label[for="message"]:before {
		content: "\f470";
	}

	.course form textarea {
		display: block;
		width: 100%;
	}

	.course h2:empty, .course h3:empty, .course p.intro:empty {
		width: 100%;
		height: 50px;

		position: relative;
		animation-duration: 5s;
		animation-fill-mode: forwards;
		animation-iteration-count: infinite;
		animation-name: skeletonScreenAnimation;
		animation-timing-function: linear;
		background-color: #f6f7f8;
		background: linear-gradient(to right, #eee 8%, #ccc 18%, #eee 33%);
		background-size: 100vw 50px;
	} .course p.intro:empty {
		height: 25px;
	}

	@keyframes skeletonScreenAnimation {
		0% {
			background-position: -100vw 0
		} 100% {
			background-position: 100vw 0
		}
	}

	/* Slick */

	.course .slider.slick-dotted.slick-slider {
		margin-bottom: 100px;
	}

	.course .slider .slide {
		padding-right: 2rem;
		outline: none;
	} .course .slide h4 {
		margin-top: 2rem;
	}

	.course button.slick-prev, button.slick-next {
		width: 30px;
		height: 30px;
		background-color: transparent;
	} .course button.slick-prev {
		left: -3.5rem;
	} .course button.slick-next {
		right: -3.5rem;
	} .course button.slick-prev:before, button.slick-next:before {
		color: #000;
		font-size: 30px;
		transition: all .3s;
	}

	.course .slick-dots {
		bottom: -35px;
	} .course .slick-dots li button:before {
		font-size: 15px;
		line-height: 40px;
	}

	/* Livesearch */

	#livesearch, #livesearch-waitlist {
		display: none;
	}

	.livesearch-closer {
		position: fixed;
		top: 0; right: 0; bottom: 0; left: 0;
		z-index: 9998;
	}

	.livesearch {
		position: absolute;
		z-index: 9999;

		margin: 0;
		padding: 0;
		width: 250px !important;
		max-height: 300px;
		overflow-y: scroll;

		border: 1px solid rgba(0,0,0,.5);
		background: rgba(255,255,255,0.95);
		box-shadow: rgba(0,0,0,.2) 0 10px 20px;
	}

	.livesearch li {
		margin: 0;
		padding: 0;
		list-style: none;
	} .livesearch li:not(:last-child) {
		border-bottom: 1px solid rgba(0,0,0,.5);
	}

	.livesearch li span:not(.expiry), .livesearch li a {
		display: block;
		padding: 5px 10px;
	} .livesearch li a {
		color: inherit;
		font-size: 16px;
		line-height: normal;
		text-decoration: none;
	} .livesearch li a:hover, .livesearch li.selected a {
		background: rgba(0,0,0,.1);
	}

/* Weekday */

	.cbs-weekday-grid .cbs-weekday-course h2 {
		margin-top: 0;
	}

	.cbs-weekday-grid .cbs-weekday-course img {
		float: left;
		width: 75px;
		margin-right: 1em;
	}

/* Timetable */

	/* .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 {
		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;
		opacity: .75;
		z-index: 1;
	} .cbs-timetable ul li a > .new {
		position: absolute;
		top: 8px; right: 8px;

		width: 8px;
		height: 8px;
		font-size: 0;
		text-indent: -999em;
		background-color: #87d5fb;
		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 h3 {
		margin: 0;
		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: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(: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;
	} */

/* WooCommerce */

	/* Message */

	.wc-block-components-notice-banner[data-fixed="true"] {
		position: fixed !important;
		top: 1em; right: 1em; left: 1em;
		width: calc(100% - 2em);
		z-index: 99999;
	} .admin-bar .wc-block-components-notice-banner[data-fixed="true"] {
		top: calc(32px + 1em);
	}

	/* Account */

	#account {
		margin-bottom: 5rem;
	}

	.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--delete a {
		color: red;
	}

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

	.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;
	}

	.cbs-weekday-grid {
		display: grid;
		grid-template-columns: repeat(2,50%);
		column-gap: 2.5%;
		row-gap: 1rem;
	}

	.woocommerce-MyAccount-content table.bookings-table time.Y-m-d.date-format-short, .woocommerce-MyAccount-content table.subscription-table time.Y-m-d.date-format-short, .woocommerce-MyAccount-content table.bookings-past-table time.Y-m-d.date-format-short, .woocommerce-MyAccount-content table.waitlist-table time.Y-m-d.date-format-short {
		display: none;
	}

	span.time-delimiter {
		margin: 0 5px;
	}
}

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

	.course:not(.type-course) {
		padding: 25px;
	}

	.course .slider .slide {
		padding: 0;
	}

	.course button.slick-prev, button.slick-next {
		width: 30px;
		height: 30px;
		background-color: #fff;
		border-radius: 50%;
	} .course button.slick-prev {
		left: -40px;
	} .course button.slick-next {
		right: -40px;
	} .course button.slick-prev:before, button.slick-next:before {
		color: #000;
		font-size: 35px;
		margin-left: -2px;
		transition: all .3s;
	}

	/* .woocommerce-MyAccount-content table.bookings-table, .woocommerce-MyAccount-content table.subscription-table, .woocommerce-MyAccount-content table.bookings-past-table, .woocommerce-MyAccount-content table.waitlist-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		border: 0 none;
	} */ .woocommerce-MyAccount-content table.bookings-table td:not(:first-child), .woocommerce-MyAccount-content table.subscription-table td:not(:first-child), .woocommerce-MyAccount-content table.bookings-past-table td:not(:first-child), .woocommerce-MyAccount-content table.waitlist-table td:not(:first-child) {
		white-space: nowrap;
	} .woocommerce-MyAccount-content table.bookings-table time.Y-m-d:not(.date-format-short), .woocommerce-MyAccount-content table.subscription-table time.Y-m-d:not(.date-format-short), .woocommerce-MyAccount-content table.bookings-past-table time.Y-m-d:not(.date-format-short), .woocommerce-MyAccount-content table.waitlist-table time.Y-m-d:not(.date-format-short),
	.woocommerce-MyAccount-content table.bookings-table span.time-formatted-suffix, .woocommerce-MyAccount-content table.subscription-table span.time-formatted-suffix, .woocommerce-MyAccount-content table.bookings-past-table span.time-formatted-suffix, .woocommerce-MyAccount-content table.waitlist-table span.time-formatted-suffix {
		display: none;
	}
}

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

	.course .slide {
		padding: 0;
	}

	.slick-dots li {
		margin: 0 !important;
	}
}

@media print {

	table {
		font-size: 14px;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	a[href]:after { content: none !important; }
	img[src]:after { content: none !important; }

	.cbs-weekday-grid {
		display: block;
	} .cbs-weekday-grid .cbs-weekday-course:not(:first-child) {
		break-before: always;
		page-break-before: always;
	}

	.course:not(.type-course) {
		padding: 25px;
		margin-bottom: 0;
	}
}