@keyframes booking-schedule-spinner-rotate {
	100% {
		transform:rotate(360deg);
	}
}

@keyframes booking-schedule-spinner-dash {
	50% {
		stroke-dashoffset:40;
		transform:rotate(30deg);
	}
	100% {
		stroke-dashoffset:188;
		transform:rotate(360deg);
	}
}

[data-whatinput=mouse] button:focus {
	outline: none!important;
}

.booking-schedule-loading-indicator {
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	pointer-events:none;
	z-index:1;
}

.booking-schedule-spinner {
	position:absolute;
	top:50%;
	right:50%;
	height:66px;
	width:66px;
	margin-top:-33px;
	margin-right:-33px;
	animation:booking-schedule-spinner-rotate 2s linear infinite;
}

.booking-schedule-spinner-path {
	fill:none;
	stroke:#666;
	stroke-dasharray:189;
	stroke-dashoffset:188;
	stroke-linecap:round;
	stroke-width:6;
	transform-origin:33px 33px;
	animation:booking-schedule-spinner-dash 1.5s ease-in-out infinite;
}

.booking-schedule-spinner-label {
	position:absolute;
	top:50%;
    left:50%;
    width:300px;
    margin-left:-150px;
    margin-top:36px;
	text-align:center;
}

.fc-direction-rtl .booking-schedule-event-icon {
	padding-right:4px;
} 

.fc-direction-ltr .booking-schedule-event-icon {
	padding-left:4px;
}

.fc-event-title-container .booking-schedule-event-icon {
	position:absolute;
    bottom:0;
}

.fc-direction-rtl .fc-event-title-container .booking-schedule-event-icon {
	left:0;
}

.fc-direction-ltr .fc-event-title-container .booking-schedule-event-icon {
	right:0;
}

.booking-schedule-icon {
	display:inline-block;
	font-family: "Font Awesome 5 Pro";
	font-size:16px;
    font-style:normal;
    font-weight:300;
	line-height:1;
	-webkit-user-select: none;
	user-select: none;
}

/* CONCEPT HACK */
.booking-schedule-useawsomesixpro .booking-schedule-icon {
	font-family: "Font Awesome 6 Pro";
}

.booking-schedule-event-icon .booking-schedule-icon {
	font-size:14px;
}

@media screen and (max-width: 639px) {
	.booking-schedule-event-icon .booking-schedule-icon {
		font-size:12px;
	}
}

.booking-schedule-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
}

.booking-schedule-button-inner {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
    height: 100%;
    justify-content: center;
}

.booking-schedule-button-text,
.booking-schedule-button-inner .booking-schedule-icon {
	margin-left: 6px;
	margin-right: 6px;
}

.booking-schedule-button-text {
	flex-grow: 1;
}

#booking-schedule {
	max-width: 1440px;
    margin: 0 auto;
	min-height: 240px;
	position: relative;
}

.booking-schedule-title {
	font-size: 24px;
	margin: 6px 10px;
}

@media screen and (max-width: 479px) {
	.booking-schedule-title {
		font-size: 20px;
	}
}

.booking-schedule-calendar-container {
	overflow-x: auto;
}

.booking-schedule-calendar-title-button {
	color: inherit;
	font-size: 1.2em;
	padding: 0 6px;
    height: 36px;
	margin-left: .75em;
}

.booking-schedule-calendar-title-button:hover,
.booking-schedule-calendar-title-button.has-popup-open {
	background-color: #e1e1e1;
}

.booking-schedule-calendar-day-header-date {
	font-size:16px;
	margin-right:8px;
	text-transform:capitalize;
}

.fc-dayGridMonth-view .booking-schedule-calendar-day-header-date {
	font-size:13px;
	font-weight:600;
}

.booking-schedule-calendar-day-header-name {
	font-size:13px;
	font-weight:600;
	text-transform:capitalize;
}

@media screen and (max-width: 639px) {
	.fc-timeGridWeek-view .booking-schedule-calendar-day-header-name {
		display:block;
	}
}

.booking-schedule-nav {
	overflow:hidden;
}

.booking-schedule-nav-inner {
	display: flex;
	padding-bottom: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.booking-schedule-select-container {
	flex-basis: 0;
	flex-grow: 1;
	padding-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
}

@media screen and (max-width:767px) {
	.booking-schedule-nav-inner {
		flex-direction: column;
	}
}

.booking-schedule-select-label {
	display:block;
	font-size:14px;
	font-weight:600;
	padding:4px 0;
}

.booking-schedule-select-container.is-disabled .booking-schedule-select-label {
	opacity: .3;
	pointer-events: none; /* HACK: Blocks label from interacting with select element when disabled */
}

.booking-schedule-select {
	background-color: #fff;
	cursor:pointer;
	font-family:inherit;
	font-size:15px;
    line-height:38px;
    height:40px;
    padding:0 8px;
	border-radius:0;
	display:block;
    width:100%;
	border: 1px solid #ccc;
}

.booking-schedule-select:hover {
	border-color:#000;
}

.booking-schedule-select:disabled {
	cursor: default;
	pointer-events: none;
}

#booking-schedule-calendar {
	min-width: 300px;
	position:relative;
}

#booking-schedule-calendar .fc-timegrid-slot-label.fc-timegrid-slot-minor {
	border-top-style:none;
}

#booking-schedule-calendar .fc-col-header-cell-cushion {
	text-decoration: none;
	margin-top: 10px;
	white-space: nowrap;
	-webkit-user-select: none;
	user-select: none;
}

#booking-schedule-calendar .fc-col-header-cell-cushion[data-navlink]:hover {
	color: #257cc3;
	text-decoration: underline;
}

#booking-schedule-calendar .fc-col-header-cell-cushion:not([data-navlink]):hover {
	color: currentColor;
}

#booking-schedule-calendar .fc-timegrid-slot-label-cushion {
	cursor: default;
	min-width: 49px;
	-webkit-user-select: none;
	user-select: none;
}

@media screen and (max-width: 639px) {
	#booking-schedule-calendar .fc-timegrid-slot-label-cushion {
		min-width:29px;
	}
}

#booking-schedule-calendar .fc-timegrid-event-harness-inset .fc-v-event {
	left:1px;

	/* CONCEPT */
	overflow: hidden;
}

#booking-schedule-calendar .fc-v-event .booking-schedule-event-icon {
	background-color: #c2dff5;
}

#booking-schedule-calendar .fc-v-event.is-root,
#booking-schedule-calendar .fc-v-event.is-root .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-root {
	background-color: #166abd;
}

#booking-schedule-calendar .fc-v-event.is-root .fc-event-main,
#booking-schedule-calendar .fc-h-event.fc-daygrid-block-event.is-root .fc-event-main {
	color: #fff;
}

#booking-schedule-calendar .fc-v-event.is-match,
#booking-schedule-calendar .fc-v-event.is-match .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-match {
	background-color: #b9e19b;
}

#booking-schedule-calendar .fc-v-event.is-match .fc-event-main {
	color: #29520a;
}

#booking-schedule-calendar .fc-v-event.is-match.is-root,
#booking-schedule-calendar .fc-v-event.is-match.is-root .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-match.is-root {
	background-color: #158038;
}

#booking-schedule-calendar .fc-v-event.is-match.is-root .fc-event-main,
#booking-schedule-calendar .fc-h-event.fc-daygrid-block-event.is-match.is-root .fc-event-main {
	color: #fff
}

#booking-schedule-calendar .fc-v-event.is-arrangement,
#booking-schedule-calendar .fc-v-event.is-arrangement .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-arrangement {
	background-color: #fbddf0;
}

#booking-schedule-calendar .fc-v-event.is-arrangement .fc-event-main,
#booking-schedule-calendar .fc-h-event.is-arrangement .fc-event-main {
	color: #520a48;
}

#booking-schedule-calendar .fc-v-event.is-arrangement.is-root,
#booking-schedule-calendar .fc-v-event.is-arrangement.is-root .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-arrangement.is-root {
	background-color: #80215d;
}

#booking-schedule-calendar .fc-v-event.is-arrangement.is-root .fc-event-main,
#booking-schedule-calendar .fc-h-event.fc-daygrid-block-event.is-arrangement.is-root .fc-event-main {
	color: #fff
}

#booking-schedule-calendar .fc-v-event.is-service,
#booking-schedule-calendar .fc-v-event.is-service .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-service {
	background-color: #d87f07;
}

#booking-schedule-calendar .fc-v-event.is-service .fc-event-main,
#booking-schedule-calendar .fc-h-event.fc-daygrid-block-event.is-service .fc-event-main {
	color: #fff;
}

#booking-schedule-calendar .fc-v-event.is-public,
#booking-schedule-calendar .fc-v-event.is-public .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-public {
	background-color: #a6e9ed;
}

#booking-schedule-calendar .fc-v-event.is-public .fc-event-main {
	color: #000;
}

#booking-schedule-calendar .fc-v-event.is-public.is-root,
#booking-schedule-calendar .fc-v-event.is-public.is-root .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-public.is-root {
	background-color: #025b60;
}

#booking-schedule-calendar .fc-v-event.is-public.is-root .fc-event-main {
	color: #fff;
}

#booking-schedule-calendar .fc-v-event.is-opentopublic,
#booking-schedule-calendar .fc-v-event.is-opentopublic .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-opentopublic {
	background-color: #f6deff;
}

#booking-schedule-calendar .fc-v-event.is-opentopublic .fc-event-main {
	color: #000;
}

#booking-schedule-calendar .fc-v-event.is-opentopublic.is-root,
#booking-schedule-calendar .fc-v-event.is-opentopublic.is-root .booking-schedule-event-icon,
#booking-schedule-calendar .fc-h-event.is-opentopublic.is-root {
	background-color: #9056d1;
}

#booking-schedule-calendar .fc-v-event.is-opentopublic.is-root .fc-event-main {
	color: #fff;
}

#booking-schedule-calendar .fc-v-event .fc-event-title {
	padding-bottom:2px;
	white-space:pre;
    text-overflow:ellipsis;
    overflow:hidden;
}

@media screen and (max-width: 639px) {
	#booking-schedule-calendar .fc-v-event .fc-event-title {
		font-size:12px;
	}
}

#booking-schedule-calendar .fc-daygrid-event.is-root .fc-daygrid-event-dot {
	border-color: #166abd;
}

#booking-schedule-calendar .fc-daygrid-event.is-match .fc-daygrid-event-dot {
	border-color: #b9e19b;
}

#booking-schedule-calendar .fc-daygrid-event.is-match.is-root .fc-daygrid-event-dot {
	border-color: #158038;
}

#booking-schedule-calendar .fc-daygrid-event.is-arrangement .fc-daygrid-event-dot {
	border-color: #fbddf0;
}

#booking-schedule-calendar .fc-daygrid-event.is-arrangement.is-root .fc-daygrid-event-dot {
	border-color: #80215d;
}

#booking-schedule-calendar .fc-daygrid-event.is-service .fc-daygrid-event-dot {
	border-color: #d87f07;
}

#booking-schedule-calendar .fc-daygrid-event.is-service.is-root .fc-daygrid-event-dot {
	border-color: #d87f07;
}

#booking-schedule-calendar .fc-daygrid-event.is-public .fc-daygrid-event-dot {
	border-color: #a6e9ed;
}

#booking-schedule-calendar .fc-daygrid-event.is-public.is-root .fc-daygrid-event-dot {
	border-color: #025b60;
}

#booking-schedule-calendar .fc-daygrid-event.is-opentopublic .fc-daygrid-event-dot {
	border-color: #f6deff;
}

#booking-schedule-calendar .fc-daygrid-event.is-opentopublic.is-root .fc-daygrid-event-dot {
	border-color: #9056d1;
}

/* CONCEPT */
#booking-schedule-calendar .fc-timegrid-event-harness.has-popup-open {
	z-index: 10!important;
}

/* CONCEPT */
#booking-schedule-calendar .fc-timegrid-event-harness.has-popup-open > a,
#booking-schedule-calendar .fc-daygrid-event-harness.has-popup-open > a {
	box-shadow: 0 0 0 2px #000;
}

#booking-schedule-calendar .fc-timegrid-now-indicator-line {
	border-top-width:2px;
}

#booking-schedule-calendar .fc-timegrid-axis-frame {
	justify-content:center;
}

#booking-schedule-calendar .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion {
	color:#13567d;
}

#booking-schedule-calendar.fc-direction-ltr .fc-timegrid-col-events {
	margin-left:0px;
}

#booking-schedule-calendar .fc-toolbar-title {
	font-size:20px;
	line-height:1;
}

#booking-schedule-calendar .fc-toolbar.fc-header-toolbar,
#booking-schedule-calendar .fc-toolbar.fc-footer-toolbar {
	border-left:1px solid #ddd;
	border-right:1px solid #ddd;
	padding:6px;
}

#booking-schedule-calendar .fc-toolbar.fc-header-toolbar {
	background-color: #f5f6f7;
	border-top: 1px solid #ddd;
	margin-bottom: 0;
	flex-wrap: wrap;
}

#booking-schedule-calendar .fc-toolbar.fc-header-toolbar > .fc-toolbar-chunk:nth-child(1) {
	display: flex;
    align-items: center;
}

#booking-schedule-calendar .fc-toolbar.fc-header-toolbar > .fc-toolbar-chunk:nth-child(2) {
	display: flex;
    flex-grow: 1;
}

/* CONCEPT */
@media screen and (max-width: 499px) {
	#booking-schedule-calendar .fc-toolbar.fc-header-toolbar {
		flex-direction: column;
	}

	#booking-schedule-calendar .fc-toolbar.fc-header-toolbar > .fc-toolbar-chunk:nth-child(1) {
		align-self: start;
	}

	#booking-schedule-calendar .fc-toolbar.fc-header-toolbar > .fc-toolbar-chunk:nth-child(2) {
		align-self: end;
	}
}

#booking-schedule-calendar .fc-toolbar.fc-footer-toolbar {
	border-bottom:1px solid #ddd;
	margin-top:0;

	/* CONCEPT */
	min-height: 47px;
}

/* CONCEPT */
#booking-schedule-calendar .fc-toolbar.fc-footer-toolbar .fc-toolbar-chunk:nth-child(1) {
	display: flex;
	align-self: flex-start;
}

/* CONCEPT */
@media screen and (max-width: 499px) {
	#booking-schedule-calendar .fc-toolbar.fc-footer-toolbar {
		flex-direction: column;
	}
}

.booking-schedule-error-container {
	align-items:center;
	display:flex;
	height:100%;
    justify-content:center;
}

.booking-schedule-error-content {
    align-items:center;
	display:flex;
    flex-direction:column;
	padding:20px;
}

.booking-schedule-error-icon {
	height:64px;
	width:64px;
	fill:#ccc;
	margin-bottom:10px;
}

.booking-schedule-error-title {
	font-size:1.2rem;
	font-weight:600;
    margin-bottom:10px;
}

.booking-schedule-error-text {
	font-size:1.2rem;
    font-weight:300;
	margin-bottom:10px;
}

.booking-schedule-legend-items {
	display: flex;
	flex-wrap: wrap;
}

.booking-schedule-legend-item {
	display: inline-flex;
	align-items: center;
	padding: 5px;
}

.booking-schedule-legend-block {
	height: 24px;
	width: 24px;
}

.booking-schedule-legend-text {
	cursor: default;
	font-size: 12px;
	line-height: 1em;
	padding-left: 4px;
}

.booking-schedule-close-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 28px;
	min-height: 28px;
	width: 28px;
	min-width: 28px;
	padding: 0;
	-webkit-user-select: none;
	user-select: none;
}

.booking-schedule-close-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-close-button .booking-schedule-icon {
	display: block;
}

.booking-schedule-screenreader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	white-space: nowrap;
}

.booking-schedule-callout-container {
	position: fixed;
	z-index: 1000000;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	visibility: hidden;
}

.booking-schedule-callout {
	position: relative;
	visibility: visible;
}

/**
 * EventPeek
 */

.booking-schedule-eventpeek {
	position: absolute;
	box-shadow: rgba(0, 0, 0, 0.133) 0px 6.4px 14.4px 0px, rgba(0, 0, 0, 0.11) 0px 1.2px 3.6px 0px;
	border-radius: 4px;
	max-width: 380px;
	background-color: #fff;
}

[data-whatinput=mouse] .booking-schedule-eventpeek:focus {
	outline:none!important;
}

.booking-schedule-eventpeek-main:after {
	content: '';
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 12px;
	width: 8px;
	background-color: #c2dff5;
}

.booking-schedule-eventpeek.is-root .booking-schedule-eventpeek-main:after {
	background-color: #166abd;
}

.booking-schedule-eventpeek.is-match .booking-schedule-eventpeek-main:after {
	background-color: #b9e19b;
}

.booking-schedule-eventpeek.is-match.is-root .booking-schedule-eventpeek-main:after {
	background-color: #158038;
}

.booking-schedule-eventpeek.is-arrangement .booking-schedule-eventpeek-main:after {
	background-color: #fbddf0;
}

.booking-schedule-eventpeek.is-arrangement.is-root .booking-schedule-eventpeek-main:after {
	background-color: #80215d;
}

.booking-schedule-eventpeek.is-service  .booking-schedule-eventpeek-main:after {
	background-color: #d87f07;
}

.booking-schedule-eventpeek.is-public .booking-schedule-eventpeek-main:after {
	background-color: #a6e9ed;
}

.booking-schedule-eventpeek.is-public.is-root .booking-schedule-eventpeek-main:after {
	background-color: #025b60;
}

.booking-schedule-eventpeek.is-opentopublic  .booking-schedule-eventpeek-main:after {
	background-color: #f6deff;
}

.booking-schedule-eventpeek.is-opentopublic.is-root  .booking-schedule-eventpeek-main:after {
	background-color: #9056d1;
}

.booking-schedule-eventpeek-arrow {
	position: absolute;
	height: 16px;
	width: 16px;
	background-color: #fff;
	transform: rotate(45deg);
	box-shadow: rgba(0, 0, 0, 0.133) 0px 6.4px 14.4px 0px, rgba(0, 0, 0, 0.11) 0px 1.2px 3.6px 0px;
}

.booking-schedule-eventpeek-arrow.hidden {
	display: none;
}

.booking-schedule-eventpeek-arrow.left,
.booking-schedule-eventpeek-arrow.right {
	top: 50%;
	margin-top: -8px;
}

.booking-schedule-eventpeek-arrow.top,
.booking-schedule-eventpeek-arrow.bottom {
	right: 50%;
	margin-right: -8px;
}

.booking-schedule-eventpeek-arrow.left {
	left: -8px;
}

.booking-schedule-eventpeek-arrow.right {
	right: -8px;
}

.booking-schedule-eventpeek-arrow.bottom {
	bottom: -8px;
}

.booking-schedule-eventpeek-arrow.top {
	top: -8px;
}

.booking-schedule-eventpeek-header {
	background-color: #fff;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    position: relative;
}

.booking-schedule-eventpeek-meta {
	display: flex;
	align-items: baseline;
	margin-left: 30px;
    margin-right: 12px;
    border-bottom: 1px solid #eee;
}

.booking-schedule-eventpeek-title {
	display: flex;
	padding-top: 12px;
    padding-left: 12px;
    padding-right: 12px;
}

.booking-schedule-eventpeek-title-text {
	flex-grow: 1;
	font-size: 21px;
	font-weight: 600;
	padding-right: 6px;
	padding-left: 18px;
}

.booking-schedule-eventpeek-time-text {
	color: #424242;
	font-size: 14px;
}

.booking-schedule-eventpeek-recurring {
	color: #424242;
	font-size: 14px;
	padding-left: 10px;
}

.booking-schedule-eventpeek-recurring .booking-schedule-icon {
	margin-left: 4px;
	font-size: 14px;
}

.booking-schedule-eventpeek-content {
	background-color: #fff;
	border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    position: relative;
	padding-bottom: 12px;
}

.booking-schedule-eventpeek-description {
	color: #424242;
	font-size: 14px;
	padding-left: 30px;
    padding-right: 12px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.booking-schedule-eventpeek-details {
	border-top: 1px solid #eee;
	margin-left: 30px;
    margin-right: 12px;
}

.booking-schedule-eventpeek-detail-text {
	color: #424242;
	font-size: 14px;
}

/**
 * MonthPicker
 */

.booking-schedule-monthpicker {
	padding: 10px;
	width: 210px;
}

.booking-schedule-monthpicker-header {
	display: flex;
}

.booking-schedule-monthpicker-title-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
	flex-grow: 1;
	font-size: 14px;
	font-weight: 600;
}

.booking-schedule-monthpicker-title-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-monthpicker-prev-button,
.booking-schedule-monthpicker-next-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 28px;
	min-height: 28px;
	line-height: 28px;
	width: 28px;
	min-width: 28px;
	padding: 0;
}

.booking-schedule-monthpicker-prev-button:hover,
.booking-schedule-monthpicker-next-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-monthpicker-prev-button .booking-schedule-icon,
.booking-schedule-monthpicker-next-button .booking-schedule-icon {
	display: block;
}

.booking-schedule-monthpicker-content {
	padding-top: 4px;
}

.booking-schedule-monthpicker-grid-row {
	margin-bottom: 10px;
}

.booking-schedule-monthpicker-grid-row:last-child {
	margin-bottom: 0;
}

.booking-schedule-monthpicker-grid-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 40px;
	min-height: 40px;
	line-height: 40px;
	width: 40px;
	margin-right: 10px;
	padding: 0;
	font-size: 12px;
}

.booking-schedule-monthpicker-grid-button:last-child {
	margin-right: 0;
}

.booking-schedule-monthpicker-grid-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-monthpicker-grid-button.selected {
	background-color: #d8e9f3;
}

.booking-schedule-monthpicker-grid-button.selected:hover {
	background-color: #e1e1e1;
}

/**
 * DayPicker
 */

.booking-schedule-daypicker {
	padding: 10px;
	width: 244px;
}

.booking-schedule-daypicker-header {
	display: flex;
}

.booking-schedule-daypicker-title {
	cursor: default;
	flex-grow: 1;
	text-align: center;
	font-size: 14px;
    font-weight: 600;
	line-height: 28px;
}

/* CONCEPT */
.booking-schedule-daypicker-title-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 28px;
	min-height: 28px;
	line-height: 28px;
	padding: 0;
	flex-grow: 1;
	font-size: 14px;
    font-weight: 600;
}

/* CONCEPT */
.booking-schedule-daypicker-title-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-daypicker-prev-button,
.booking-schedule-daypicker-next-button {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 28px;
	min-height: 28px;
	line-height: 28px;
	width: 28px;
	min-width: 28px;
	padding: 0;
}

.booking-schedule-daypicker-prev-button:hover,
.booking-schedule-daypicker-next-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-daypicker-prev-button .booking-schedule-icon,
.booking-schedule-daypicker-next-button .booking-schedule-icon {
	display: block;
}

.booking-schedule-daypicker-content {
	padding-top: 4px;
}

.booking-schedule-daypicker-table {
    border-collapse: collapse;
    border-spacing: 0px;
    table-layout: fixed;
	text-align: center;
}

.booking-schedule-daypicker-weekdaylabel-cell {
	width: 28px;
	height: 28px;
	line-height: 28px;
	padding: 0;
	font-size: 12px;
	font-weight: 400;
	cursor: default;
}

.booking-schedule-daypicker-weeknumber-cell {
	background-color: #fafafa;
	border-right: 1px solid #f0f0f0;
	width: 28px;
	height: 28px;
	padding: 0;
	font-size: 12px;
	font-weight: 400;
	cursor: default;
}

.booking-schedule-daypicker-day-cell {
	width: 28px;
	height: 28px;
	line-height: 28px;
	padding: 0;
	font-size: 12px;
	font-weight: 400;
	cursor: pointer;
}

.booking-schedule-daypicker-day-cell.other-month {
	color: #808080
}

.booking-schedule-daypicker-day-cell.selected-day {
	background-color: #d8e9f3;
}

.booking-schedule-daypicker-day-cell.is-hover {
	background-color: #e1e1e1;
}

.booking-schedule-daypicker-day-cell-button {
	background-color: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	width: 24px;
	height: 24px;
	line-height: 24px;
	padding: 0;
	font-size: 12px;
}

.booking-schedule-daypicker-day-cell.is-today .booking-schedule-daypicker-day-cell-button {
	background-color: #13567d;
	color: #fff;
}

/**
 * DropDownDatePicker
 */

.booking-schedule-dropdowndatepicker {
	position: absolute;
	box-shadow: rgba(0, 0, 0, 0.133) 0px 6.4px 14.4px 0px, rgba(0, 0, 0, 0.11) 0px 1.2px 3.6px 0px;
	border-radius: 4px;
	background-color: #fff;
	display: flex;
}

.booking-schedule-dropdowndatepicker-live {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0px;
    width: 1px;
    position: absolute;
}

.booking-schedule-dropdowndatepicker-divider {
	border-right: 1px solid #eee;
}

.booking-schedule-dropdowndatepicker-picker-wrapper {
	display: flex;
    flex-direction: column;
}

.booking-schedule-dropdowndatepicker-today-button {
	background-color: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	padding: 0 6px;
	align-self: flex-end;
	height: 30px;
	line-height: 30px;
	margin-right: 10px;
	min-width: 40px;
	font-weight: 600;
}

.booking-schedule-dropdowndatepicker-today-button:hover {
	background-color: #e1e1e1;
}

.booking-schedule-dropdowndatepicker-today-button:disabled {
	color: #e0e0e0;
	pointer-events: none;
}

/**
 * Search
 */

.booking-schedule-search-container {
	margin-bottom: 20px;
	margin-left: 15px;
    margin-right: 15px;
	position: relative;
}

.booking-schedule-search {
	position: relative;
}

.booking-schedule-search-icon {
	position: absolute;
	top: 22px;
    margin-top: -10px;
    left: 10px;
	pointer-events: none;
}

.booking-schedule-search-icon .booking-schedule-icon {
	width: 20px;
    height: 20px;
    line-height: 20px;
	text-align: center;
	display: block;
}

.booking-schedule-search-input {
	box-sizing: border-box;
	display: block;
	padding: 0 41px 0 41px;
	height: 44px;
	line-height: 44px;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
}

.booking-schedule-search-input:hover,
.booking-schedule-search-input:focus {
	border-color: #000;
}

/* CONCEPT */
[data-whatinput=mouse] .booking-schedule-search-input:focus {
	outline: none!important;
}

.booking-schedule-search-clear-button {
	width: 32px;
    padding: 0;
    border-width: 0;
    background-color: transparent;
	height: 40px;
	cursor: pointer;
	position: absolute;
    top: 2px;
    right: 2px;
}

.booking-schedule-search-clear-button:hover,
.booking-schedule-search-clear-button:active {
	background-color: #e1e1e1;
}

.booking-schedule-search-clear-button .booking-schedule-icon {
	display: block;
}

.booking-schedule-search-result {
	position: relative;
}

.booking-schedule-search-items {
	background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    /*box-shadow: 0 3px 8px rgb(0 0 0 / 20%), 0 0 0 1px rgb(0 0 0 / 21%);*/
	box-shadow: rgba(0, 0, 0, 0.133) 0px 6.4px 14.4px 0px, rgba(0, 0, 0, 0.11) 0px 1.2px 3.6px 0px;
	/*max-height: 132px;*/
	max-height: 252px;
	overflow-y: auto;
}

.booking-schedule-search-empty {
	padding: 0 8px;
	height: 24px;
	line-height: 24px;
}

.booking-schedule-search-item {
	cursor: pointer;
	padding: 0 8px;
	height: 24px;
	line-height: 24px;
	white-space: nowrap;
}

.booking-schedule-search-item.is-active {
	background-color: #e1e1e1;
}

/**
 * Template Tom
 */

.sv-template-tom #booking-schedule {
	position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    height:100%;
    width:100%;
	display:flex;
    flex-direction:column;
	max-width:none;
    margin:0;
}

.sv-template-tom .booking-schedule-title {
	font-family: inherit;
	margin-left: 24px;
}

@media screen and (max-width: 639px) {
	.sv-template-tom .booking-schedule-title {
		margin-left:6px;
	}
}

.sv-template-tom #booking-schedule-calendar-container {
	flex-grow:1;
}

.sv-template-tom .booking-schedule-calendar-title-button {
	padding-left: 0;
}

.sv-template-tom .booking-schedule-calendar-title-button .booking-schedule-icon {
	display: none;
}

.sv-template-tom #booking-schedule-calendar .fc-timeGridWeek-view .fc-timegrid-event {
	font-size:14px;
}

#__ba_panel {
	display:none;
}

