
.bookingsystem-loader-spinner {
	background: transparent url("/wp-content/plugins/bookingservice/inc/css/spinner.gif")  no-repeat center top;
	height: 37px;
	display: none;
}

.bookingsystem-spinner {
	background: transparent url("/wp-content/plugins/bookingservice/inc/css/spinner.gif")  no-repeat center top;
	height: 37px;
	display: none;
}

#longbookingref_field {
	display: none !important;
}

.init-hide {
	display: none;
}

.b-close{
	font-family: Arial, Helvetica, sans-serif;
	cursor:pointer;
	background: #0080e1;
	color: #FFFFFF;
	line-height: 25px;
	position: absolute;
	right: -12px;
	text-align: center;
	top: -10px;
	width: 24px;
	text-decoration: none;
	font-weight: bold;
	-webkit-border-radius: 12px;
	border-radius: 12px;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

#flyer_comment_window {
	background-color:#fff;
	border-radius:15px;
	color:#000;
	display:none;
	padding:20px;
	min-width:400px;
	min-height: 180px;
}

#booking_window {
	background-color:#fff;
	border-radius:15px;
	color:#000;
	display:none;
	padding:20px;
	min-width:400px;
	min-height: 180px;
}

table.tablesorter thead tr .header {
	background-image: url(bg.gif);
	background-repeat: no-repeat;
	background-position: center right;
	cursor: pointer;
	padding: 0 10px;
}
table.tablesorter thead tr .headerSortUp {
	background-image: url(asc.gif);
}
table.tablesorter thead tr .headerSortDown {
	background-image: url(desc.gif);
}

.bookingsystem .busy {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	background: red;
}

.bookingsystem .closed {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	background: gray;
}

.bookingsystem .open {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	background: limegreen;
}

.bookingsystem .open_restricted {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	background: darkgreen;
}

.cancel {
	padding-left: 4px;
	padding-right: 4px;
}

.edit {
	padding-left: 4px;
	padding-right: 4px;
}

.timeslot {
	z-index: 0;
	border: 1px solid white;
	position: relative;
	height: 16px;
}

.hasbooking::after {
	content: url('halfperson.png');
}

.hashighlightbooking::after {
	content: url('halfpersonshiny.png');
}

.timeslots {
	line-height: 1;
	border-collapse: separate;
}

.timeslots > td {
	padding: 0 0 0 0 important;
	background-color: #ccc;
}

.min-col-width {
	padding: 0 0 0 0;
	background-color: #ccc;
}

#minute_buttons .ui-state-active {
	background: #68b8ad;
}

#coaching_button .ui-state-active {
	background: #68b8ad;
}

/* Default hidden */
.status-field {
	display: none;
}

.bs_hidden {
	display:none;
}

td.bs_date_selectable {
	background-color: green;
}

.ui-datepicker.ui-widget td.bs_date_selectable a.ui-state-default {
	background-color: green;
}

.bs_product_selector {
	padding: 9px;
	border: 1px solid #dd3333;
	border-radius: 6px;
	cursor: pointer;
}

.bs_product_selector:hover {
	background-color: #fce3e3;
}


.bs_dimmed {
	position: relative;
}

.bs_dimmed:after {
	content: " ";
	z-index: 10;
	display: block;
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

.bs_container {
	display: flex;
	gap: 30px;
}

.visitor_narrow {
	display: none;
}

.inactive-booking-section {
	opacity: 0.5;
}

#times label {
	margin: 4px;
}

.bs_heading {
	max-width: 65ch;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 12px;
}

.bs_heading h2 {
	margin-bottom: 0;
}

.bs_heading h2 + p {
	margin-top: 0;
}

.flyer-item {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: left;
	gap: 10px;
}

.bs_booking_submit {
	margin-top: 20px;
	margin-bottom: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	text-align: left;
}

.bs_booking_submit button {
	margin-top: 10px;
}

@media (max-width: 767px) {
	.bs_container {
		flex-direction: column;
	}

	.visitor_wide {
		display: none;
	}

	.visitor_narrow {
		display: inline;
	}

	.remove_person.visitor_narrow.button--small {
		padding: 10px 10px;
	}

	.flyer-item {
		gap: 2px;
	}

	.flyer-item input {
		padding: .75em .25em;
	}

	#direct-flow.inactive-booking-section {
		display: none;
	}
}

#bs-loader {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	opacity: 0.6;
	background: transparent url("spinner.gif") no-repeat center center;
	background-color: #eee;
}

.products {
	font-weight: bold;
}

.single-item .remove_person, .max-items #add_person {
	visibility: hidden;
}

body::after{
	position:absolute; width:0; height:0; overflow:hidden; z-index:-1; // hide images
content:url("spinner.gif");   // load images
}

.ui-button {
	padding: .4em 1em;
	display: inline-block;
	position: relative;
	line-height: normal;
	margin-right: .1em;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	/* Support: IE <= 11 */
	overflow: visible;
}

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
	text-decoration: none;
}

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
	width: 2em;
	box-sizing: border-box;
	text-indent: -9999px;
	white-space: nowrap;
}

/* no icon support for input elements */
input.ui-button.ui-button-icon-only {
	text-indent: 0;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -8px;
}

.ui-button.ui-icon-notext .ui-icon {
	padding: 0;
	width: 2.1em;
	height: 2.1em;
	text-indent: -9999px;
	white-space: nowrap;

}

input.ui-button.ui-icon-notext .ui-icon {
	width: auto;
	height: auto;
	text-indent: 0;
	white-space: normal;
	padding: .4em 1em;
}

/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
.ui-controlgroup {
	vertical-align: middle;
	display: inline-block;
}
.ui-controlgroup > .ui-controlgroup-item {
	float: left;
	margin-left: 0;
	margin-right: 0;
}
.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
	z-index: 9999;
}
.ui-controlgroup-vertical > .ui-controlgroup-item {
	display: block;
	float: none;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	text-align: left;
}
.ui-controlgroup-vertical .ui-controlgroup-item {
	box-sizing: border-box;
}
.ui-controlgroup .ui-controlgroup-label {
	padding: .4em 1em;
}
.ui-controlgroup .ui-controlgroup-label span {
	font-size: 80%;
}
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
	border-left: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
	border-top: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
	border-right: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
	border-bottom: none;
}

/* Spinner specific style fixes */
.ui-controlgroup-vertical .ui-spinner-input {

	/* Support: IE8 only, Android < 4.4 only */
	width: 75%;
	width: calc( 100% - 2.4em );
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
	border-top-style: solid;
}

.ui-checkboxradio-label .ui-icon-background {
	box-shadow: inset 1px 1px 1px #ccc;
	border-radius: .12em;
	border: none;
}
.ui-checkboxradio-radio-label .ui-icon-background {
	width: 16px;
	height: 16px;
	border-radius: 1em;
	overflow: visible;
	border: none;
}
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
	background-image: none;
	width: 8px;
	height: 8px;
	border-width: 4px;
	border-style: solid;
}
.ui-checkboxradio-disabled {
	pointer-events: none;
}

/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
	border-top-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
	border-top-right-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
	border-bottom-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
	border-bottom-right-radius: 3px;
}

/* Interaction states
----------------------------------*/
/* .ui-state-default, */
/* .ui-widget-content .ui-state-default, */
.ui-widget-header .ui-state-default,
.ui-button,

	/* We use html here because we need a greater specificity to make sure disabled
    works properly when clicked or hovered */
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
	border: 1px solid #c5c5c5;
	background: #f6f6f6;
	font-weight: normal;
	color: #454545;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
	color: #454545;
	text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
	border: 1px solid #cccccc;
	background: #ededed;
	font-weight: normal;
	color: #2b2b2b;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
	color: #2b2b2b;
	text-decoration: none;
}

.ui-visual-focus {
	box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	border: 1px solid #003eff;
	background: #007fff;
	font-weight: normal;
	color: #ffffff;
}
.ui-icon-background,
.ui-state-active .ui-icon-background {
	border: #003eff;
	background-color: #ffffff;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
	color: #ffffff;
	text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	border: 1px solid #dad55e;
	background: #fffa90;
	color: #777620;
}
.ui-state-checked {
	border: 1px solid #dad55e;
	background: #fffa90;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
	color: #777620;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	border: 1px solid #f1a899;
	background: #fddfdf;
	color: #5f3f3f;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
	color: #5f3f3f;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
	color: #5f3f3f;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
	font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
	opacity: .7;
	-ms-filter: "alpha(opacity=70)"; /* support: IE8 */
	font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
	opacity: .35;
	-ms-filter: "alpha(opacity=35)"; /* support: IE8 */
	background-image: none;
}
.ui-state-disabled .ui-icon {
	-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
	width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
	float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
	border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left;
}
.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
	direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
	float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
	border-right-width: 0;
	border-left-width: 1px;
}


.bs-bookingservice h2 {
	font-size: 20px;
	font-weight: 600;
	text-transform: none;
}

.ui-datepicker.ui-widget td.bs_date_selectable a.ui-state-default {
	background-color: #6a6a6a;
	color: #fff;
	border: 0;
}

.ui-datepicker.ui-widget td.bs_date_selectable a.ui-state-active,
.ui-datepicker.ui-widget td.bs_date_selectable a.ui-state-default:focus {
	background-color: #dd3333;
}

.ui-datepicker.ui-widget td.bs_date_selectable.weekday a.ui-state-default:not(.ui-state-active) {
	background-color: green;
}

.ui-datepicker.ui-widget tr td.bs_date_selectable a.ui-state-default:hover:not(.ui-state-active) {
	background-color: #e36e6e;
}

.bs-bookingservice .ui-datepicker.ui-widget .ui-datepicker-next,
.bs-bookingservice .ui-datepicker.ui-widget .ui-datepicker-prev {
	color: #dd3333;
	background: #fce3e3;
}

.bs-bookingservice .button--outlined {
	transition: all 150ms ease-in-out;
}

.bs-bookingservice .button--outlined,
.bs-bookingservice .button--outlined:focus:not(.bs_product_selector_selected) {
	border: 1px solid #dd3333;
	color: #555555;
	background-color: transparent;
}

.bs-bookingservice .button--outlined:hover,
.bs-bookingservice .bs_product_selector_selected {
	border: 1px solid #dd3333;
	color: #fff;
	background-color: #dd3333;
}

.bs-bookingservice #direct-flow .buydirect {
	text-align: left;
	padding-left: 20px;
	padding-right: 20px;
}

/*.bs-bookingservice .button--outlined:hover {*/
/*	border: 1px solid #dd3333;*/
/*	color: #555555;*/
/*	background-color: transparent;*/
/*}*/

.bs-bookingservice .button--small {
	padding: 10px 27px;
	font-size: 11px;
}

.bs-bookingservice .bs-field:not(:last-child) {
	margin-bottom: 10px;
}

.bs-bookingservice .bs-input {
	font-size: 15px;
	background-color: #ffffff;
	border-radius: 15px;
	width: 100%;
	max-width: 100%;
	border: 1px solid #818a91;
	color: #373a3c;
	vertical-align: middle;
}

.bs-bookingservice .ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	top: initial;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.bs-bookingservice #times {
	display: inline;
	gap: 10px;
	justify-content: center;
}

.bs-bookingservice .ui-checkboxradio-label.ui-button {
	padding: 15px;
	border-radius: 6px;
	background-color: #6a6a6a;
	color: #fff;
	line-height: 1;
	cursor: pointer;
	border: 0;
}

.bs-bookingservice .ui-checkboxradio-label.ui-button.ui-state-active {
	background-color: #dd3333;
}

.bs-bookingservice #book {
	background-color: #dd3333;
	padding: 10px 20px;
	border-radius: 6px;
	color: #fff;
}

.pricemap_weekday {
  width: 30px;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  border-radius: 33px;
  margin-left: 8px;
  margin-right: 8px;
  background: green;
  color: white;	
}

.pricemap_weekend, .pricemap_default {
  width: 30px;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  border-radius: 33px;
  margin-left: 8px;
  margin-right: 8px;
  background: #6a6a6a;	
  color: white;	
}

.ui-datepicker .ui-datepicker-next:before {
  content: ">";
}

.ui-datepicker .ui-datepicker-prev:before {
content: "<";
}
