/*
 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 {
		opacity: .75;
		filter: grayscale(100%);
	}

	.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: 1;

		width: 100px;
		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)
		}
	}

/* Single */

	.single .timeslot, .single .timeslots-title {
		display: none;
	}

	.course {
		padding: 5rem;
		margin-bottom: 1rem;
		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: #cdeb8e;
		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: #cdeb8e;
		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: #cdeb8e;
		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: #cdeb8e;
		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 {
		border: none;
		background-color: transparent;
		padding: 0;
		height: auto;
		outline: none;
	} .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;
	}

	/* Slick */

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

	.course .slide {
		padding: 1rem;
		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-result {
		display: none;

		position: absolute;
		z-index: 10;

		margin: 0;
		padding: 0;

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

	.livesearch-result li {
		margin: 0;
		padding: 0;
		list-style: none;
		border-top: 1px solid rgba(0,0,0,.5);
	}

	.livesearch-result li span:not(.expiry), .livesearch-result li a {
		display: block;
		padding: 5px 10px;
	} .livesearch-result li a {
		color: inherit;
		text-decoration: none;
	} .livesearch-result li a:hover {
		background: rgba(0,0,0,.1);
	}

/* Timetable */

	.mptt-shortcode-wrapper .mptt-shortcode-table tbody .mptt-event-container p {
		padding: 0;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-table tbody .mptt-event-container .event-attendance {
		margin: .25rem;
		font-size: .8em;
	}

	/* List */

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list {
		margin: 0;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event {
		margin: 0 0 .5rem 0;
		padding: 0;
		border: 0 none;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event .mptt-event-link {
		display: block;
		padding: .75em 1em;
		overflow: hidden;
		text-decoration: none;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event .mptt-event-title {
		margin: 0;
		color: inherit !important;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event .timeslot,
	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event .event-attendance {
		clear: both;
		float: right;
		margin: 0 0 0 1rem;
		line-height: 1;
	}

	.mptt-shortcode-wrapper .mptt-shortcode-list .mptt-column .mptt-events-list .mptt-list-event .event-user {
		opacity: .85;
	}

	/* Column */

	.mptt-shortcode-wrapper .mptt-shortcode-table.mptt-theme-mode tbody td.event .event-user img, .mptt-theme-mode-event.event .event-user img {
		display: inline;
	}

/* WooCommerce */

	/* Message */

	.woocommerce-message.fixed {
		position: fixed !important;
		top: 0; right: 0; left: 0;
		width: 100%;
		z-index: 99999;
	} .admin-bar .woocommerce-message.fixed {
		top: 32px;
	}

	/* Account */

	#account {
		margin-bottom: 5rem;
	}

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

	.course {
		padding: 3.5rem;
	}

	.course button.slick-prev, button.slick-next {
		width: 25px;
		height: 25px;
		background-color: transparent;
	} .course button.slick-prev {
		left: -3rem;
	} .course button.slick-next {
		right: -3rem;
	} .course button.slick-prev:before, button.slick-next:before {
		color: #000;
		font-size: 25px;
		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;
	}
}

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

	.course {
		padding: 1.5rem;
	} .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; }

	.mptt-column .event[id^=event_columns_], .mptt-theme-mode-event.event:not(:last-of-type) {
		page-break-after: always;
	}
}