/**
 * WP BASE Front CSS
 *
 * @package     WP BASE
 * @subpackage  Front CSS
 * @copyright   Copyright (c) 2018, Hakan Ozevin
 * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
*/


/* Icons -------------------------------------------------------------- */

@font-face {
	font-family: 'fontello';
	src: url('font/fontello.eot?52078429');
	src: url('font/fontello.eot?52078429#iefix') format('embedded-opentype'), url('font/fontello.woff2?52078429') format('woff2'), url('font/fontello.woff?52078429') format('woff'), url('font/fontello.ttf?52078429') format('truetype'), url('font/fontello.svg?52078429#fontello') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: .2em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	margin-left: .2em;
}

.icon-info-circled:before {
	content: '\e800';
}

.icon-trash-empty:before {
	content: '\e801';
}

.icon-clock:before {
	content: '\e802';
}

.icon-right-open:before {
	content: '\e803';
}

.icon-left-open:before {
	content: '\e804';
}

.icon-calendar:before {
	content: '\e805';
}

.icon-cancel:before {
	content: '\e80c';
}

.icon-plus-squared:before {
	content: '\f0fe';
}

.icon-minus-squared:before {
	content: '\f146';
}

.icon-cc-visa:before {
	content: '\f1f0';
}

.icon-cc-mastercard:before {
	content: '\f1f1';
}

.icon-cc-discover:before {
	content: '\f1f2';
}

.icon-cc-amex:before {
	content: '\f1f3';
}

.icon-cc-paypal:before {
	content: '\f1f4';
}

.icon-cc-stripe:before {
	content: '\f1f5';
}

.icon-trash:before {
	content: '\f1f8';
}

i[class^="icon-"]:before,
i[class*=" icon-"]:before {
	margin: 0;
}


/* General styles -------------------------------------------------------- */

.app-error {
	font-weight: bold;
	color: darkred;
}

.app-mrmb {
	margin-right: 10px;
	margin-bottom: 10px;
}

.app-mt {
	margin-top: 10px;
}

.app_left {
	float: left;
}

.app_center {
	text-align: center;
}

.app-disabled-button {
	opacity: 0.3;
	cursor: not-allowed;
}

.app-debug {
	font-size: 0.7em;
}

.app-b {
	font-weight: bold;
}

.app-monthly-wrapper tr, .app-shadow, .ui-widget {
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
	text-decoration: none;
}

.busy,
.notpossible {
	cursor: not-allowed;
}

.ui-widget,
.ui-widget button {
    font-family: inherit;
}

.ui-datepicker td span, .ui-datepicker td a {
	text-align: center;
}

.ui-selectmenu {
	z-index: 100;
}

button.ui-multiselect {
	line-height: 1.75;
	text-transform: none;
}

.ui-multiselect-filter input {
	box-sizing: border-box;
	height: 100%;
	background-image: none;
}

.ui-multiselect-single .ui-multiselect-header:not(.ui-multiselect-hasfilter) {
	display: none;
}

.ui-multiselect-menu .ui-multiselect-checkboxes {
    box-sizing: content-box;
}

.ui-multiselect-filter label {
    display: flex;
    align-items: baseline;
}

.app_ms .ui-multiselect-header .ui-multiselect-filter input {
    width: 100%;
}

.ui-multiselect-checkboxes li:last-child,
.ui-multiselect-checkboxes li:last-child label {
    padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.ui-multiselect span.ui-icon.ui-icon-triangle-1-s {
	/* WP5.3: The SVG is arrow-down-alt2 from Dashicons. */
	background: #e6e6e6 url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 0px top 55%;
	background-color: transparent;
	background-size: 16px 16px;
	margin: 0px 3px 0px 0px;
}

input[id^=ui-multiselect][type="checkbox"] {
    margin-right: 5px;
}

.app-license-actions .ui-icon,
.app-list-wrapper .ui-icon,
.ui-dialog .ui-dialog-titlebar .ui-icon {
	display: inline-block;
	vertical-align: text-bottom;
}

.app-conf-dialog .ui-dialog-titlebar-close,
.app-terms .ui-dialog-titlebar-close {
	text-indent: -9999px;
    background-color: #dadada;
}

.app-conf-continue .ui-icon,
.app-conf-buttons .ui-icon,
.app-book .ui-icon {
	display: inline-block;
	vertical-align: middle;
}

@media screen and (max-width: 703px) {
	.app-conf-continue .ui-icon,
	.app-conf-buttons .ui-icon {
		vertical-align: baseline;
		transform: scale(1.5);
		margin-right: 5px;
	}

	.app-conf-buttons .ui-button {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

.app-list table td:hover {
	opacity: 1;
}

button.ui-button,
#app-front button.ui-multiselect {
	padding: .4em 1em;
	text-transform: none;
}

.app-mobile:not(.app-conf-dialog) .ui-button {
	width: 100%;
	margin: .5em 0;
}

button.ui-button.app-book-flex-button {
	padding: .4em;
	font-size: 0.9em;
	white-space: nowrap
}

#content tr td.free.selected,
tr td.free.selected {
	border-top: none;
	border: 2px solid #fff;
	opacity: 0.5;
}

.app-title {
	font-size: 1.1em;
	margin: 10px 0;
	font-weight: bold;
}

.app-no-max {
	max-width: none !important
}

.app_countdown {
	float: left;
	width: 100%
}

.app_2column_continue {
	min-width: 180px;
}

.app_2column {
	float: left;
	flex-basis: 50%;
	width: 50%;
	min-width: 180px;
}

.app_2column ~ .app_2column {
	padding-left: 20px;
}

.app_2column.app-book-child:nth-child(2n+1) {
	padding-right: 0
}

.app-cell-centered {
	text-align: center;
	vertical-align: middle;
}

.app-cell-inline {
	border: 1px solid #d0d0d0;
	border-radius: 5px;
	padding: 5px;
	background-color: white;
}

.app-sc .ui-button-text-icon-primary .ui-button-text,
.app-sc .ui-button-text-icons .ui-button-text {
	padding: .2em .2em .2em 1em
}

.app-no-title .ui-dialog-titlebar {
	display: none;
}

/* No more background images */
.app-pagination .app_date input,
.app-pagination .app-next a,
.app-pagination .app-previous a,
.app-conf-wrapper input[type="text"],
/* .app-conf-wrapper select, */
.app-conf-wrapper textarea,
input.app_select_date,
.app-conf-wrapper canvas,
.app-page .ui-state-default,
.app-wc-page .ui-state-default,
.wpb-book-me .ui-state-default,
.ui-state-default,
.app-page .ui-state-hover,
.app-wc-page .ui-state-hover,
.wpb-book-me .ui-state-hover,
.ui-state-hover,
.ui-widget-header,
.app_ms.ui-state-default,
.app_ms.ui-state-hover {
  background-image: none;
}

/* Dialog UI for 2020 */
.ui-dialog {
	padding: 0;
}

.ui-dialog-titlebar {
	background-image: none;
	border-radius: 0;
    border: 0;
}

.ui-dialog .ui-dialog-content {
    padding: .8em 1.2em;
}

.ui-dialog .ui-dialog-titlebar .ui-icon.ui-icon-conf,
.ui-dialog.app-conf-dialog.app-nopane .ui-dialog-buttonpane {
	display: none;
}

.app-page .ui-dialog.app-conf-dialog,
.ui-dialog.app-conf-dialog {
	border-radius: 0 0 8px 8px;
}

table.app-book {
	caption-side: top;
}

table.app-book,
table.app-book td,
table.app-book tr,
table.app-book th {
	border-width: 0
}

.app-conf-wrapper.app-mobile fieldset {
	background-color: #fbfbfb;
}

ul#wp-admin-bar-admin-root-default li#wp-admin-bar-admin-help {
	border-bottom: 1px solid darkgrey;
}

.ui-mobile-viewport .app-title {
	text-align: center;
}

.app_blink {
	margin-left: 10px;
	font-weight: bold;
	animation: blinker 1s linear infinite;
}

@keyframes blinker {
	50% {
		opacity: 0.0;
	}
}

/* qTip --------------------------- */

.app-qtip,
.app-small-qtip {
	max-width: 700px !important
}

.app-small-qtip {
	font-size: 10px !important
}

div.qtip-title {
	font-size: 12px;
	line-height: 1em;
}

.app-narrow-qtip {
	max-width: 300px !important;
	font-size: 12px !important;
}

.qtip-content .app-title {
	margin: 0;
	text-align: center;
	font-size: 1.1em
}

.qtip-content.ui-widget-content.ui-tooltip-content {
	font-size: 12px;
}


/* Widgets --------------------------- */

.widget_appointments_shortcode .app-list-wrapper .fg-toolbar.ui-corner-tl.ui-corner-tr {
	display: none;
}

.widget_appointments_shortcode .app-list-wrapper .fg-toolbar.ui-corner-bl.ui-corner-br {
	padding: 0;
}

aside.widget .app-wrap .app-list {
    display: block;
}

aside.widget .app-monthly-wrapper,
aside.widget .app-timetable-wrapper {
    width: 100%;
	margin: 0;
}

.app_monthly_calendar_widget .app-list table th {
	font-size: 0.9em
}

.widget div.app-conf-wrapper fieldset div.app-conf-continue {
	justify-content: center;
}

.widget .app_2column {
	float: none;
	width: 100%;
	padding: 0
}


/* Terms &  Conditions -------------------------------------------------------- */

.app-terms.ui-dialog .ui-dialog-titlebar,
.app-terms.ui-dialog .ui-dialog-buttonpane {
	font-size: 12px;
}

.app-terms.ui-dialog .ui-dialog-content {
	font-size: 10px;
}

.app-terms.ui-dialog .ui-dialog-content p {
	margin-bottom: 1em;
	line-height: 1.3em
}

.app-terms-field em {
	font-style: normal;
	font-size: 1rem;
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none
}

.app-terms-field em input {
	margin: auto 3px;
}


/* Listing and Common for Calendars -------------------------------------------------------- */
.app-list table th span {
	margin: 0;
}

@media screen and (max-width: 703px) {
	.app-list table th span.normal {
		display: none;
	}
	.app-list table th span.initial {
		display: inline;
	}
}

@media screen and (min-width: 703px) {
	.app-list table th span.normal {
		display: inline;
	}
	.app-list table th span.initial {
		display: none;
	}
}

.app-list,
div.dataTables_wrapper {
	clear: both;
	padding: 0;
	margin-bottom: 20px;
}

.app-list table {
	width: 100%;
	border-collapse: collapse;
}

.app-list table td {
	border: 1px solid #d3d3d3;
	height: 14px;
	padding: 0;
	min-height: 4em;
	font-size: 0.9em;
}

.app-firefox .app-list table td {
	background-clip: padding-box;
}

.app-list table td.no-left-border {
	border-left: none
}

.app-list table td.no-right-border {
	border-right: none;
	border-bottom: none;
}

#app-wh th:hover,
.app-list table:not(.app-has-inline-cell):not(.app-wh-annual):not(.app-events-calendar) td:hover {
	box-shadow: inset 0 0 10px 1px #000000;
}

.app-list table td.free,
.app-timetable div.free,
.app-list table td.waiting,
.app-timetable div.waiting {
	cursor: pointer;
	position: relative;
}

.app-list table:not(.app-has-inline-cell):not(.app-wh-annual) td.free:hover,
.app-timetable div.free:hover,
.app-list table:not(.app-has-inline-cell) td.waiting:hover,
.app-timetable div.waiting:hover,
.app-selected.app-timetable-cell,
.app-schedule-wrapper .app-selected, .app-schedule-wrapper .app-selected-day {
	box-shadow: inset 0 0 10px 1px #000000;
	opacity: 1;
}

.app-selected.app-timetable-cell, td.app-selected, td.app-selected-day {
	box-shadow: inset 0 0 15px 1px #000000;
}

td.app-selected-start {
	box-shadow: inset 0 -8px 8px -4px #333, inset 0 8px 8px -4px #333, inset 10px 0 8px -4px #333;
}

td.app-selected-middle {
	box-shadow: inset 0 -8px 8px -4px #333, inset 0 8px 8px -4px #333;
}

td.app-selected-end {
	box-shadow: inset 0 -8px 8px -4px #333, inset 0 8px 8px -4px #333, inset -10px 0 8px -4px #333;
}

.app-list table {
	padding: 0;
	margin: 0;
	table-layout: fixed;
	position: relative;
}

.app-list table th {
	width: 10%;
	height: 36px;
	background-color: transparent;
	text-align: center;
	text-transform: none;
	font-size: 1rem;
	font-weight: 500;
	border: 1px solid #ddd;
	padding: 0;
}

.entry-content .app-list td.app-weekly-hours-mins {
	width: 30%;
}

.entry-content .app-list td {
	width: 10%;
	vertical-align: middle;
}

.app-list table th.hourmin_column {
	width: 15%;
}

.app-list table:not(.app-schedule-daily) tbody tr:nth-child(2n+1) {
	background-color: rgba(247, 247, 247, 0.2);
}

.app-list table td.busy:after,
.app-list table td.notpossible:not(.has_appointment):after {
	content: '\00D7';
	position: relative;
	text-align: center;
	vertical-align: middle;
	font-weight: 200;
	font-size: 2.1em;
	display: block;
	color: #d1d1d1;
}

.app-list-wrapper {
	font-size: 0.8em;
}

.app-wrap h2 {
	font-size: 1.9em;
}

table.app-list {
	table-layout: auto;
}

table.app-list td {
	border: none;
}

.app-list-wrapper .dataTables_length,
.app-list-wrapper .dataTables_filter {
	margin-bottom: 0;
	padding: 6px 0 6px 0;
}

.dataTables_wrapper .ui-toolbar {
	line-height: 1;
}

.app-list-wrapper .dataTables_wrapper .dataTables_filter input {
	margin-left: 0;
}

.app-list-wrapper .dataTables_filter input {
	line-height: 1
}

.app-list-wrapper .dataTables_wrapper .ui-toolbar {
	padding: 2px;
}

.app-zoom-buttons {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}

.app-zoom-buttons .app-zoom-button {
	padding: .4em 1.4em;
	font-size: 1.1em;
	display: inline-block;
	box-shadow: none;
	text-decoration: none;
}

.app-zoom-label {
	font-size: 1em;
	display: block;
}

.cancel-app-mng,
.confirm-app-mng,
.edit-app-mng,
.pay-app-mng,
.zoom-app-mng,
.jitsi-app-mng,
.agora-app-mng {
	text-align: center;
}

/* Monthly -------------------------------------------------------- */

.app-monthly-wrapper table {
	width: 100%;
	border: 0
}

.app-monthly-wrapper table th {
	width: 14%;
}

.app-monthly-wrapper table td.busy:after,
.app-monthly-wrapper table td.notpossible:not(.has_appointment):after {
	content: '';
	line-height: 0;
}

.app-monthly-wrapper table tbody tr:nth-child(2n+1) {
	background-color: inherit;
}

.app-monthly-wrapper table td.app_day p {
	margin: auto;
	text-align: center;
	line-height: 3rem;
	font-size: 1rem;
	text-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);
}

.app-monthly-wrapper table.app-events-calendar td.app_day p {
	line-height: 2rem;
}

.app-monthly-wrapper table td.today p {
	border: 2px solid #c0c0ff;
	border-radius: 50%;
	opacity: 1;
	line-height: calc(3rem - 6px);
	max-width: 3rem;
}

.app_monthly_calendar_widget .app-monthly-wrapper table td p {
	line-height: 2.5rem;
}

.app_monthly_calendar_widget .app-monthly-wrapper table td.today p {
	width: auto;
	line-height: calc(2.5rem - 6px);
}

.app-other-month {
	color: #ddd;
}

.app-wrap:not(.app-monthly-daily) .app-list {
	display: flex;
}

.app-wrap .app-events-calendar-wrapper.app-list,
.widget_appointments_shortcode .app-wrap .app-list {
	display: block;
}

.app-monthly-wrapper {
	min-width: 180px;
	width: 50%;
}

.app-monthly-daily .app-monthly-wrapper {
	width: 100%;
	margin-bottom: 10px;
}

.app_monthly_calendar_widget .app-monthly-wrapper,
.app-monthly-wrapper.app-monthly-admin,
.app-events-calendar-wrapper,
.app-long-bookings-wrapper,
.app-account-page .app-wrap .app-monthly-wrapper,
.widget_appointments_shortcode .app-monthly-wrapper {
	width: 100%;
}

.app-timetable-wrapper {
	min-height: 70px;
	margin-left: 20px;
	width: 45%;
	width: calc(50% - 20px);
}

.app-list.has-caption .app-timetable-wrapper {
	margin-top: 42px;
}

.widget_appointments_shortcode .app-timetable-wrapper {
	margin-left: 0;
	margin-top: 20px;
	width: 100%;
}

.app-timetable .app-timetable-title,
.app-timetable-cell,
.app-list caption .app-flex,
.app-list .app-monthly-wrapper thead,
.app-list .app-monthly-wrapper tbody,
.app-flex-menu.with-caption .app-flex,
.app-flex-menu.with-caption .app-flexslider li,
.app-conf-wrapper fieldset {
	box-shadow: 2px 2px 6px rgb(0 0 0 / 20%);
}


.app-timetable-wrapper.daily {
	min-height: 0;
}

.app-timetable .app-timetable-title {
	text-align: center;
	font-weight: 500;
	height: 36px;
	font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 100%;
    /* border-bottom: 1px solid #ddd; */
    /* border-right: 1px solid #ddd; */
    /* margin-right: 1px; */
	/* margin-left: -1px; */
}

@media screen and (max-width: 768px){
	.app-wrap:not(.app-monthly-daily) .app-list {
		display: block;
	}
	.app-monthly-wrapper,
	.app-timetable-wrapper {
		width: 100%;
	}
	.app-timetable-wrapper {
		margin-left: 0;
	}
	.app-timetable-title {
		text-align: left;
		margin-top: 10px;
	}
	.app-list.has-caption .app-timetable-wrapper {
		margin-top: 20px;
	}
}

.app-timetable-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	text-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);
}

.app-timetable-flex[data-nof-cells="1"],
.app-timetable-flex[data-nof-cells="2"],
.app-timetable-flex[data-nof-cells="3"] {
	justify-content: space-around;
}

.widget_appointments_shortcode .app-timetable-cell {
	width: 25%;
}

.app-timetable-flex[data-nof-cells="1"] .app-timetable-cell {
	width: 100%;
	max-width: 400px;
}

.app-timetable-flex[data-nof-cells="2"] .app-timetable-cell {
	width: 50%;
	max-width: 400px;
}

.app-timetable-flex[data-nof-cells="3"] .app-timetable-cell {
	width: 33.3333%;
	max-width: 400px;
}

.app-mobile .app-timetable-flex {
	/* justify-content: center; */
}

.app-timetable-cell {
	min-width: 2rem;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	font-size: .75rem;
	text-align: center;
	padding: 0;
	overflow: hidden;
	color: #333;
	height: 3rem;
	height: calc(3rem + 1px);
	line-height: 3rem;
	width: 20%;
	display: table;
	border-collapse: collapse;
	box-sizing: border-box;
}

.app-tformat-Hi .app-timetable-cell {
	font-size: .9rem;
}

.app-timetable-cell span {
	vertical-align: middle;
	display: table-cell;
	line-height: 1rem;
	padding: 0 0.1rem;
}

.app-timetable-cell.app-cell-centered span {
	display: inline-block;
}

.app-mobile .app-timetable-cell {
	height: 3.5em;
}

/* Weekly -------------------------------------------------------- */

.app-weekly-hours-mins {
	font-weight: bold;
	font-size: 0.65em;
	text-align: center;
	min-width: 110px;
}

.app-schedule-wrapper table td.free:not(.has_appointment):after {
	content: '\00A0';
	font-size: 2.1em;
}


/* BuddyPress and Admin features on Front End --------------------------- */

.bp-user #buddypress .app-list table td.busy:after,
.bp-user #buddypress .app-list table td.free:after,
.bp-user #buddypress .app-list table td.notpossible:after {
	/* font-size: 1em; */
}

.bp-user #buddypress .app-wrap-admin {
	float: left;
}

.bp-user #buddypress div.app-wrap.app-wrap-admin th {
	/* font-size: 0.5em; */
}

.bp-user #buddypress .app-list:not(.app-long-bookings-wrapper) table td {
	height: 1em;
}

.bp-user #buddypress div.app-schedule-wrapper th,
.bp-user #buddypress div.app-schedule-wrapper td {
	font-size: 13px;
}

.bp-user #buddypress div.ui-datepicker td,
.bp-user #buddypress div.ui-datepicker th {
	font-size: 11px;
}

.bp-user #buddypress div.app-schedule-wrapper table.app-wh td {
	/* font-size: 0.5em; */
}

.bp-user #buddypress #add_services_form table,
.bp-user #buddypress #add_services_form th,
.bp-user #buddypress #add_services_form td {
	/* font-size: 0.5em; */
	/* border: none; */
}

.bp-user #buddypress .app_timezones,
.bp-user #buddypress .app_workers,
.bp-user #buddypress #add_services_form td input,
.bp-user #buddypress #add_services_form td select {
	/* font-size: 1em; */
}

.bp-user #buddypress #add_services_form td input {
	height: auto;
}

.bp-user #buddypress #add_services_form td input[type=checkbox] {
	height: 1rem;
}

.bp-user #buddypress #add_services_form .widefat td {
	vertical-align: middle;
	/* padding: 4px 4px 4px 10px */
}

.bp-user #buddypress #add_services_form .widefat td.column-delete {
	padding-left: 26px;
}

#buddypress .app-wrap-admin .app-title {
	font-size: 0.77em;
}

#buddypress .app-wrap-admin select {
	font-size: 0.9em;
}

#buddypress .app-bp table p {
	margin-bottom: 0;
}

#buddypress .app-submit form {
    display: flex;
}

@media screen and (min-width: 768px){
	.app-vendor #buddypress .app-wrap:not(.app-monthly-daily) .app-list {
		display: flex;
	}
}

.buddypress .buddypress-wrap button.ui-multiselect {
  padding-right: 5px;
}

.buddypress.settings .app-bio-title,
.buddypress.settings .app-bio-content,
.buddypress.settings .app-bio-excerpt {
	display: none;
}

.buddyboss-theme .app-front-admin .app-services .title {
	font-size: 13px;
}

.buddyboss-theme .addon-sets label,
.buddyboss-theme .addon-sets button span,
.buddyboss-theme .app-csv-wr label,
.buddyboss-theme .app-services label {
	font-size: 13px;
}

.buddyboss-theme .app-form button,
.buddyboss-theme .app-flex-menu button,
.buddyboss-theme .app-flex-menu .app-title {
	text-align: left;
	padding-left: 15px;
}

.buddyboss-theme .app-conf-wrapper fieldset,
.buddyboss-theme caption .app-flex,
.buddyboss-theme .app-flex-menu.app-slide.with-caption .app-flex,
.buddyboss-theme .app-book-flex .app-flex,
.buddyboss-theme .app-timetable-title,
.buddyboss-theme .ui-multiselect-menu,
.buddyboss-theme .ui-dialog {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
}

.buddyboss-theme .app-cancel-dialog-content {
	text-align: center;
}

.buddyboss-theme .app-list {
    font-size: 12px;
}

.buddyboss-theme .app-list .ui-button-icon.ui-icon {
    display: none;
}

.buddyboss-theme table.dataTable.app-list thead .sorting {
	background: none;
}

.buddyboss-theme .app-manage .inline-edit-row fieldset label span.title {
    width: 6em;
}

.buddyboss-theme .app-manage label {
    font-size: 0.8rem;
}

.buddyboss-theme .app-manage-row form,
.buddyboss-theme #app-navbar form,
.buddyboss-theme .app-manage-row button.ui-multiselect {
	margin-bottom: 0;
}

.buddyboss-theme .ui-multiselect-menu input[type=checkbox],
.buddyboss-theme .app-manage input[type=checkbox],
.buddyboss-theme .app-form input[type=checkbox] {
	height: 1rem;
}

.buddyboss-theme.bp-user .ui-multiselect span.ui-icon.ui-icon-triangle-1-s {
	/* margin: 6px -15px -3px 0; */
}

.buddyboss-theme.app-account-page input[type=text],
.buddyboss-theme .app-manage input[type=text],
.buddyboss-theme.app-account-page select,
.buddyboss-theme .app-manage select {
	height: auto;
}

.buddyboss-theme .wp-core-ui .button {
	height: 30px;
}

.buddyboss-theme .app-manage select {
	padding-left: 8px;
	background-position: right 0.5rem center;
	height: 28px;
}

.buddyboss-theme .app-services fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

#buddypress .inline-edit-row fieldset.app-addon-ek {
	border-top: 1px groove #ccc;
	margin-bottom: 10px;
	padding-left: 10px;
}

#buddypress .inline-edit-row .app-time-dur fieldset.app-addon-ek {
	margin-bottom: -5px;
}

#buddypress .inline-edit-row fieldset.app-addon-ek.sequence div {
	margin-top: 10px;
}

#buddypress .inline-edit-row fieldset.app-addon-ek.sequence,
#buddypress .inline-edit-row fieldset.app-addon-ek.person-types {
	border-top: 3px double #ccc;
}

#buddypress .inline-edit-row .app-package-seq .app-addon-ek {
	margin-bottom: 0;
}

#buddypress .inline-edit-row fieldset.app-addon-main {
	border: 0;
	margin-bottom: 10px;
	padding-left: 10px;
}

#buddypress #services-table td {
	background: transparent;
}

#buddypress #services-table .inline-edit-row tr:not(.app-recurring) fieldset:last-of-type {
	margin-bottom: 5px;
}

#buddypress .inline-edit-row .app-recurring fieldset.app-addon-ek {
	min-width: 200px;
	width: 25%;
	border-right: 1px groove #ccc;
	margin-bottom: -8px;
}

#buddypress .inline-edit-row .app-recurring fieldset:last-of-type {
    padding-right: 12px;
}

@media screen and (min-width: 782px) {
	.buddyboss-theme .app-fem .app-filter-form select {
		max-width: 30%;
	}
}

.buddyboss-theme #buddypress .app-manage-row input[type=submit],
.buddyboss-theme #buddypress .app-manage-row input[type=button],
.buddyboss-theme #buddypress .app-manage-row button:not(.ui-multiselect),
.buddyboss-theme #buddypress .app-controls input[type=submit],
.buddyboss-theme #buddypress .app-controls input[type=button],
.buddyboss-theme #buddypress .app-fem input[type=submit],
.buddyboss-theme #buddypress .app-fem input[type=button],
.buddyboss-theme #buddypress .app-payment-history input[type=button],
.buddyboss-theme #buddypress .app-list-wrapper input[type=button] {
	min-height: 30px;
	padding: 0 20px;
	line-height: 1em;
}

.buddyboss-theme .ui-multiselect-menu label {
	font-size: 0.8rem;
}

.buddyboss-theme .app-fem button.ui-multiselect,
.buddyboss-theme .app-form button.ui-multiselect,
.buddyboss-theme .app-front-admin button.ui-multiselect{
	line-height: 1.5;
    text-align: left;
    padding: 2px 0 5px 10px;
    border-radius: 5px;
	background-color: white;
	border: 1px solid #7e8993;
	color: #2c3338;
	font-weight: normal;
	font-size: 13px;
	height: auto;
}

.buddyboss-theme .app-front-admin button.app-disp-cols {
    padding-top: unset;
	padding-bottom: unset;
}

.buddyboss-theme .app-fem .app-iedit-email-actions {
    margin-top: 5px;
}

.buddyboss-theme .app-fem .app_iedit_time input,
.buddyboss-theme .app-fem .app_iedit_time select {
    font-size: 0.75rem;
}

.buddyboss-theme .app-fem fieldset {
	border: none;
}

.buddyboss-theme #app-your-profile th {
	vertical-align: baseline;
}

.buddyboss-theme .zoom-app-mng .app-zoom-buttons a,
.buddyboss-theme .jitsi-app-mng .app-jitsi-buttons a,
.buddyboss-theme .agora-app-mng .app-agora-buttons a {
	color: #fff;
}

.buddyboss-theme .app-form .app-helptip {
	vertical-align: baseline;
}

.buddyboss-theme .app-bp-item-body-inner .more-button i {
    font-size: 1.25rem;
}

.buddyboss-theme .app-bp-item-body-inner .sub-menu {
    background: #fff;
    box-shadow: 0 2px 7px 1px rgba(0,0,0,.05),0 6px 32px 0 rgba(18,43,70,.1);
    border-radius: 4px;
    list-style: none;
    padding: 10px 0;
    position: absolute;
    right: -20px;
    top: 50px;
    margin: 0;
    min-width: 168px;
    opacity: 0;
    visibility: hidden;
    z-index: 100;
}

.buddyboss-theme .app-bp-item-body-inner .sub-menu.active {
    opacity: 1;
    visibility: visible;
}

.buddyboss-theme .app-bp-item-body-inner .sub-menu a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 13px;
    font-weight: inherit;
    color: #939597;
    letter-spacing: -.24px;
    line-height: 1;
    margin-bottom: 1px;
    padding: .75rem .9375rem;
    overflow: hidden;
}

.buddyboss-theme .app-payment-gateway-item input[type=radio] {
	outline: none;
    -webkit-appearance: auto;
}

.buddyboss-theme .app-payment-gateway-item input[type=radio]:checked::before {
    content: none;
}

.bp-user .ui-datepicker .ui-datepicker-calendar .ui-state-highlight a {
	background: #6eac2c none;
	color: white;
}

.app-list table td.app_no_border_bottom div.app-cell-inline {
	border-top: 1px solid #d0d0d0;
	border-left: 1px solid #d0d0d0;
	border-right: 1px solid #d0d0d0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.app-list table td.app_no_border_top div.app-cell-inline {
	border-bottom: 1px solid #d0d0d0;
	border-left: 1px solid #d0d0d0;
	border-right: 1px solid #d0d0d0;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.app-list table td.app_no_border_bottom {
	border-bottom: none;
}

.app-list table td.app_no_border_top {
	border-top: none;
}

.app-has-inline-cell table.app-has-inline-cell tr td {
	height: 60px;
}

.app-schedule-daily.app-has-inline-cell table {
	table-layout: fixed;
}

.app-schedule-daily.app-has-inline-cell table td:first-child {
	width: 10%;
}

/* Next/Prev/Legend -------------------------------------------------------- */

.app-mobile .app-pagination {
	font-size: 0.8rem;
}

.app-pagination .app-previous {
	margin-top: 2px;
	float: left;
}

.app-pagination .app-next {
	margin-top: 2px;
	float: right;
}

.app-pagination {
	padding: 10px 1px 20px 1px;
}

.app-pagination .app-next a,
.app-pagination .app-previous a,
.app-conf-wrapper input[type="text"],
.app-conf-wrapper select,
.app-conf-wrapper textarea,
input.app_select_date,
.app-conf-wrapper canvas {
	color: #474747;
	text-decoration: none;
	text-shadow: 0 1px 0 #fff;
	padding: 0.2em 0.8em;
	border-radius: 0;
	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	background-color: #fff;
	box-shadow: 0 1px 1px #b2b2b2, inset 0 -1px 2px #f9f9f9, 0 0 0 1px #9b9b9b;
}

.app-pagination .app-next a {
	border-radius: 0 5px 0 0;
	outline-style: none;
}

.app-pagination .app-previous a {
	border-radius: 5px 0 0 0;
	outline-style: none;
}

.app-pagination .app-next a:hover,
.app-pagination .app-previous a:hover {
	cursor: pointer;
}

.app-pagination .app_date {
	margin: 0;
	display: block;
	text-align: center;
	width: 20%;
	float: left;
}

.app-pagination .app_date div {
	margin: -2px auto 0 auto;
	max-width: 150px;
}

.app-pagination .has-select-date {
	width: 40%;
}

.app-pagination .app-next.has-select-date {
	text-align: right;
}

.app_date input,
.app_date .ui-input-text input {
	text-align: center;
}

.app-pagination .app_date input {
	width: 100%;
	height: 26px;
	box-shadow: 0 1px 1px #b2b2b2, inset 0 -1px 2px #f9f9f9, 0 0 0 1px #9b9b9b;
	background-image: linear-gradient(90deg, #ededed 0%, #ededed 0.24%, #fff 70.17%, #fff 100%);
	padding-top: 1px;
	padding-bottom: 1px;
	padding-left: 5px;
}

div.app_date em.app-icon.icon-calendar {
	float: left;
	margin-left: 1%;
	margin-top: -27px;
	position: relative;
	z-index: 2;
}

.app-legend {
	margin: 1em 0;
}

.app-legend-div {
	font-size: 0.75em;
	overflow: hidden;
	float: left;
	text-align: center;
	width: 7em;
	max-width: 25%;
}

.app-legend-div-color {
	border: 1px solid lightgray;
}

/* V3.7.6 */
.app-flex-menu.app-slide.with-caption .app-flex,
caption .app-flex,
.app-book-flex .app-flex {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
	padding: 5px 3px;
    height: 35px;
	margin-top: 5px;
	font-size: 15px;
    /* text-transform: uppercase; */
	font-weight: 700;
	letter-spacing: 3px;
}

caption .app-flex {
	align-items: center;
}

.app-list caption {
	padding: 0;
	caption-side: top;
	width: calc(100% + 1px);
}

.app-flex-menu.app-slide.with-caption .app-flex a,
caption .app-flex a,
.app-book-flex .app-flex a {
	box-shadow: none;
	outline: none;
}

.app-flex-menu.app-slide.with-caption .app-flex .app-title,
caption .month-name,
caption .week-range,
.app-book-flex .month-name,
.app-book-flex .week-range {
	width:80%;
	text-align: center;
	font-size: 1rem;
}

.app-flex-menu.app-slide.with-caption .app-flex .app-nextprev,
caption .app-next,
caption .app-previous,
.app-book-flex .app-next,
.app-book-flex .app-previous {
	width: 10%;
	padding: 0 2px;
}

.app-flex-menu.app-slide.with-caption .app-flex .app-nxt,
caption .app-next,
.app-book-flex .app-next {
	text-align: right;
}

.app-flex-menu.app-slide.with-caption .app-flex .app-prv,
caption .app-previous,
.app-book-flex .app-previous {
	text-align: left;
}

caption:not(.app-caption-start):not(.app-caption-start_end) div {
	/* font-size: smaller; */
}

/* Book in Table View -------------------------------------------------------- */

.app-wrap table th {
	text-align: center;
	vertical-align: middle;
}

.app-wrap table tr {
	font-size: 0.8em;
}

.app-book-col {
	min-width: 90px;
}

.app-book .ui-widget {
	font-size: 0.9em;
}

.app-wrap table th.app-book-day,
.app-wrap table th.app-book-time,
.app-wrap table th.app-book-date,
.app-wrap table th.app-book-date_time,
.app-wrap table th.app-book-server_time {
	text-align: left;
}

.app-wrap table .app-book-date_time.default-hidden {
	display: none;
}

.app-wrap table td.app-book-seats_total,
.app-wrap table td.app-book-seats_left,
.app-wrap table td.app-book-seats_total_left {
	text-align: center;
}

aside table.app-book tr {
	font-size: 0.7em;
}

.app-mobile .app-book-date_time {
	font-size: 10px;
}

/* Confirmation Form -------------------------------------------------------- */

.widget_appointments_shortcode .app-conf-wrapper legend {
	font-size: smaller;
}

.app-conf-wrapper label {
	display: block;
	padding: 3px;
}

.app-conf-wrapper:not(.above-input) input[type="text"].app-non-mobile,
.app-conf-wrapper:not(.above-input) textarea.app-non-mobile,
.app-conf-wrapper:not(.above-input) select.app-non-mobile {
	width: 67%;
	margin: 0;
}

.app-conf-wrapper label span.app-conf-title {
	margin-right: 3%;
	width: 30%;
	display: block;
	float: left;
	text-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);
}

.app-conf-wrapper.above-input .app-conf-fields-gr2 label span.app-conf-title,
.app-edit-wrapper.above-input label span.app-conf-title,
.app-edit-wrapper.app-mobile label span.app-conf-title {
	width: 100%;
	float: none;
}

.app-conf-text:not(.has-checkbox) {
	float: left;
	width: 67%;
}

span.app-conf-text.has-checkbox {
	display: flex;
	align-items: baseline;
}

.app-conf-wrapper button.ui-multiselect {
	width: 67% !important;
	vertical-align: bottom;
}

.app-conf-wrapper.above-input button.ui-multiselect,
.app-conf-wrapper.app-mobile button.ui-multiselect {
	width: 100% !important;
	vertical-align: bottom;
}

.app-conf-wrapper.app-mobile div.app-conf-fields-gr2 label span,
.app-conf-wrapper.app-mobile div.app-conf-coupon label span,
.app-conf-wrapper.app-mobile div.app-conf-extra label span {
	width: 100%;
	float: none;
}

.app-wrap h3,
.app-conf-wrapper legend.app-conf-title {
	font-size: 0.8em;
	font-weight: 500;
	text-transform: uppercase;
	width: auto;
	border: 0
}

.app-conf-wrapper.app-mobile legend.app-conf-title {
	font-size: 0.6em;
}

.app-conf-wrapper input[type="text"],
.app-conf-wrapper select,
.app-conf-wrapper textarea,
input.app_select_date,
.app-conf-wrapper canvas {
	padding: 0.2em 0.8em 0.2em 0.2em;
}

.app-conf-wrapper canvas {
	width: 100%;
	height: 120px;
}

input.app_select_date {
	font-size: 0.8em;
	font-weight: normal;
}

.app-conf-wrapper select {
	margin-top: 0;
}

.app-conf-wrapper .app_billing_line input[type="text"].app-non-mobile,
.app-conf-wrapper .app_billing_line select.app-non-mobile,
.app-conf-wrapper.above-input input[type="text"],
.app-conf-wrapper.above-input select:not(.app_select_workers_conf),
.app-conf-wrapper.above-input textarea,
.app-conf-wrapper.app-mobile input[type="text"],
.app-conf-wrapper.app-mobile select {
	width: 100%
}

.app-conf-wrapper sup {
	font-weight: bold;
	color: red
}

.app-conf-wrapper .app-conf-details sup {
	color: #007acc
}

.app-non-mobile .app-conf-button {
	font-weight: bold;
	width: 48.5%;
	max-width: 400px;
}

.app-conf-cancel-button {
	float: right;
}

.app-non-mobile:not(.app-edit-wrapper) .app-conf-cancel-button {
	max-width: 30%;
}

button.app-conf-cancel-button {
	font-size: 0.95em;
	font-weight: normal;
}

.app-conf-wrapper fieldset {
	padding: 20px 20px 0 20px;
}

.app-conf-wrapper fieldset div {
	margin: 0 0 10px 0;
}

.app-conf-wrapper .app-conf-seats label:first-child:not(:last-child) {
	margin-bottom: 10px;
}

.app-conf-wrapper .app-conf-seats label:last-child:not(:first-child) {
	padding-top: 0;
}

.app-conf-wrapper fieldset div:empty {
	margin: 0;
}

.app-conf-wrapper fieldset div:not(.ui-select) {}

.app-conf-wrapper.app-mobile fieldset .app-conf-fields-gr2 div {
	overflow: visible;
}

.app-conf-wrapper.app-mobile fieldset .ui-state-error {
	border: 1px solid #f1a899;
	background: #fddfdf;
	color: #5f3f3f;
}

.app-conf-wrapper label:after,
.app-clearfix:before,
.app-clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden;
}

.app-conf-wrapper label:after,
.app-clearfix:after {
	clear: both;
}

.app-conf-start .app_conf_date a {
	box-shadow: none;
	text-decoration: none;
}

.app-conf-buttons {
	padding: 3px;
}

.app-conf-button.ui-button {
	height: unset;
}

.app-non-mobile .app-conf-buttons {
	display: flex;
	justify-content: space-between;
}

.app-payment-field span {
	width: 100%;
	display: block;
}

@media screen and (max-width: 703px) {
	.app-payment-field label {
		display: inline;
	}
}

.app-payment-field .app-payment-gateway-item a {
	box-shadow: none;
	text-decoration: none;
	outline: none;
	font-weight: 500;
	color: inherit;
}

.app-payment-field .app-payment-gateway-item a img {
	height: 48px;
	display: inline;
}

.app-payment-gateway-item {
	/* float: left; */
	display: flex;
	width: 25%;
	cursor: pointer;
	text-align: left;
	overflow: hidden !important
}

.widget_appointments_shortcode .app-payment-gateway-item {
	width: 50%;
}

.app_2column .app-payment-gateway-item {
	width: 50%;
}

.app-payment-gateway-item span {
	font-size: 0.8rem;
	/* padding-left: 15px */
}

.app-payment-gateway-item input[type="radio"] {
	min-width: 20px;
    height: 48px;
    margin-right: 5px;
}

.app-payment-gateway-item :hover {
	text-decoration: none
}

.app-final-note {
	font-weight: bold
}

.app-conf-wrapper.app-mobile div.app_billing_line label span {
	width: 100%;
}

.app_billing_line_inner span:not(.app-mobile) {
	margin-right: 3%;
	display: block;
	width: 100%
}

.app-cc-label:not(.app-mobile) {
	float: left;
	width: 30%
}

.app_expiry_security .app-cc-label:not(.app-mobile) {
	width: auto
}

.app_billing_line input.app_cc_cvv {
	width: 30%;
}

.app_billing_line.app_expiry_security {
	display: flex
}

.app_billing_line_inner {
	width: 50%;
	display: flex;
	flex-wrap: wrap
}

.app_billing_line label span {
	font-weight: 700;
}

.stripe-element,
.StripeElement {
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #ccc;
    background-color: #fff;
	max-height: 2.5rem;
}

.stripe-element {
	padding: 6px 12px;
	outline: none;
}

.app-stripe-form {
	position: relative;
}

#stripe_processing {
	position: absolute;
	font-weight: 500;
    right: 0;
}

.app_billing_line .stripe-element .cardholder_name {
	border: none;
	box-shadow: none;
	font-size: 1rem;
	outline: none;
	height: auto;
	width: 100%;
	background: none;
	padding: unset;
}

div.app-conf-dialog, .app-warning .app-conf-dialog-content {
	font-size: 1rem;
}

div.app-conf-dialog-content {
	font-size: .9rem;
}

div.app-conf-dialog.ui-dialog div.ui-dialog-buttonpane button {
	margin: 0;
}

div.app-conf-dialog.ui-dialog div.ui-dialog-buttonpane span.ui-button-text {
	padding: 0;
}

div.app-cancel-dialog.ui-dialog div.ui-dialog-buttonpane span.ui-button-text {
	font-size: .9rem;
}

.app-cancel-dialog {
	font-size: 1rem;
}

.app-cancel-dialog.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
	width: 100%;
}

.app-cancel-dialog.ui-dialog .ui-dialog-buttonpane {
	padding: .3em;
	display: flex;
}

.app-conf-dialog.app-shadow.ui-dialog.ui-widget {
	border-radius: 10px 10px 10px 10px;
	box-shadow: 0 0 25px 5px rgba(200, 200, 200, 0.6);
}

.app-mobile.ui-dialog .ui-dialog-titlebar {
	font-size: .7rem;
}

.app-mobile.ui-dialog .ui-dialog-content {
	font-size: .6rem;
}

/* Compat Popup Maker and themes which make html font-size too small */

.app-cancel-dialog,
.ui-dialog.app-conf-dialog {
	z-index: 3999999999 !important;
	font-size: 90%;
}

.app-conf-details dl,
.app-conf-seats dl {
	margin: 6px 0 0 15px;
	padding-left: 30%;
	font-size: 11px;
}

.app-mobile .app-conf-fields-gr-auto .app-conf-details dl,
.app-mobile .app-conf-fields-gr-auto .app-conf-seats dl {
	padding-left: 0;
}

.app-conf-details dl .app-next-day-note {
	font-size: .6rem;
}

.app-conf-details dd,
.app-conf-seats dd {
	margin: 0;
}

.app-conf-details a.app-remove-cart-item,
.app-booking-info a.app-remove-cart-item {
	display: inline-flex;
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: 0;
	color: #dd3333;
}

.app-conf-details a.app-remove-cart-item:hover,
.app-booking-info a.app-remove-cart-item:hover {
	color: #686868;
}

.app-conf-details a.app-remove-cart-item.removed,
.app-booking-info a.app-remove-cart-item.removed {
	color: black;
}

.app-conf-details .app-icon:before,
.app-booking-info .app-icon:before {
	margin-left: 0;
	text-align: left;
}

.app-conf-wrapper button.ui-multiselect {
	line-height: 1.5;
}

.app-conf-wrapper.app-mobile label span {
	font-size: 14px;
}

div.app-conf-fields-gr.app-conf-fields-gr1,
div.app-conf-fields-gr.app-conf-fields-gr2 {
	margin: 0;
}

div.app-conf-fields-gr.app-conf-fields-gr2.app_2column {
	padding-right: 3px;
}

div.app-conf-start div.app-conf-start-wrap {
	margin: 0;
	float: left;
}

div.app-conf-start div.app-conf-start-wrap ul {
	margin: 0;
	list-style: none;
}

.app-conf-wrapper .app_countdown_dropdown_title.app-title {
	text-align: center;
	font-size: small;
	/* margin-bottom: 0; */
}

.app-conf-wrapper:not(.app-mobile) .app-conf-continue .app_countdown-wrapper:not(.app_2column) {
	width: 100%;
}

.app-cont-button-wrapper {
	vertical-align: middle;
	display: table-cell;
	padding-top: 25px;
}

.app-cont-button-wrapper button {
	display: block;
	vertical-align: middle;
	font-size: 1rem;
}

.app-udf-checkbox {
	margin-right: 5px;
}

span.app-udf-checkbox-text {
	line-height: 1.2em;
	display: inline-block;
	float: right;
	width: 90%;
	margin-top: 5px;
}

.app-conf-final-note {
	font-size: .9em;
}

.app-required-note {
	font-size: .75em;
	text-align: right;
	padding-right: 5px;
	float: right;
}

.app-payment-field span.app-payment-title {
	width: 30%;
	float: left;
	margin-right: 3%;
	text-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);
	padding-left: 3px;
}

.app-payment-field.full_width span.app-payment-title {
	width: 15%;
	margin-right: 1.5%;
}

.app-payment-inner {
	float: right;
	width: 67%;
	display: flex;
	flex-wrap: wrap;
}

.app-payment-field.full_width .app-payment-inner {
	width: 83.5%;
}

.widget_appointments_shortcode .app-payment-field .app-payment-inner,
.widget_appointments_shortcode .app-payment-field span.app-payment-title {
	width: 100%;
	margin: 0;
}

div.app-conf-wrapper input::-webkit-input-placeholder {
	font-size: .9em
}

div.app-conf-wrapper input::-moz-placeholder {
	font-size: .9em
}

div.app-conf-wrapper input:-ms-input-placeholder {
	font-size: .9em
}

div.app-conf-wrapper input:-moz-placeholder {
	font-size: .9em
}

.app-conf-wrapper fieldset .app-conf-continue {
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.app-conf-wrapper.app-mobile fieldset .app-conf-continue {
	justify-content: center;
}

div.app-conf-wrapper fieldset div.app-conf-continue.has-button {
	justify-content: space-around;
}

div.app-conf-wrapper .app-conf-continue .app_2column {
	padding-right: 0;
}

button.app-cont-btn {
	font-size: .9em;
	float: left;
}

#app_confirm_email_username {
	display: none !important;
}

.app-conf-wrapper div.app-conf-price label span.app_old_price {
	text-decoration: line-through;
	width: 30%;
	max-width: 100px;
}

.app-conf-wrapper div.app-conf-price label span.app_new_price,
.app-conf-wrapper div.app-conf-amount label span.app-conf-text {
	font-weight: bold;
	width: auto;
}

.app-compact-book-wrapper-gr1 button.ui-multiselect {
	width: 100% !important;
}


/* User -------------------------------------------------------- */

.notpossible.app_select_wh,
table.app-wh th,
table.app-wh td.app-weekly-hours-mins {
	cursor: pointer;
}

table.app-wh-annual td.wh_dummy {
	cursor: not-allowed;
}

table.app-wh-annual {
	width: 100%
}

div.app-wrap-admin.app-has-inline-cell td.app-weekly-hours-mins {
	font-size: 1.3em;
}


/* Menus -------------------------------------------------------- */

.app_locations,
.app_services,
.app_workers,
.app_users:not(.app_users_admin),
.app-pagination,
.app_seats,
.app_durations,
.app_recurring,
.app-wrap {
	margin-bottom: 10px;
	height: auto;
}

.app_seats.has-person-types {
	display: none;
}

hr.person-type-break {
    width: 100%;
    background-color: transparent;
    height: 0;
    margin: 0;
}

.app_select_repeat_unit {
	width: 65%;
}

div.app_recurring fieldset {
	border: none;
	margin: 0;
	padding: 0;
	position: relative;
	display: flex;
    justify-content: space-between;
	align-items: baseline;
}

div.app_recurring .app_left {
	margin-right: 5px;
}

div.app_recurring .app_repeat_unit {
	min-width: 100px;
}

div.app_recurring .app_repeat {
	min-width: 40px;
}

div.app_recurring .flex-grow-max {
	flex-grow: 2;
}

div.app_recurring .flex-grow-mid {
	flex-grow: 1.3;
}

div.app_recurring .flex-grow-min {
	flex-grow: 0.3;
	margin: 0 1.5%;
}

div.app_repeat .ui-multiselect-checkboxes,
div.app_repeat_unit .ui-multiselect-checkboxes {
	font-size: 14px;
}

div.app-flex-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	transition: height 2s;
}

div.app-flex-menu.app-slide {
	display: flex;
	margin-bottom: 20px;
}

.app-flex-menu.app-slide.with-caption .app-flex {
	width: 100%;
	align-items: center;
	font-size: 100%;
}

.app-flex-menu.app-slide.with-caption .app-flex .app-title {
	margin: 0;
	font-size: 100%;
}

.app-flex-menu .app-flex-item {
	max-width: 400px;
	padding-right: 20px;
	min-width: 180px;
}

.app-flex-menu .app-flex-item.app-item-last-in-line {
	padding-right: 0;
}

.app-flex-menu .app_seats {
	min-width: 100px;
}

.app-flex-menu .app-flex-item.app-no-flex-grow {
	flex-grow: 0;
}

@media screen and (min-width: 768px){
	.app-flex-menu .app-flex-item.app_1_basis {
		flex-basis: 50%;
		max-width: unset;
	}

	.app-flex-menu .app-flex-item.app_2_basis {
		flex-basis: 25%;
	}
	.app-flex-menu .app_recurring.app-flex-item.app_2_basis {
		flex-basis: 40%;
	}

	.app-flex-menu .app-flex-item.app_3_basis {
		flex-basis: 33.33333%;
	}

	.app-flex-menu .app-flex-item.app_4_basis {
		flex-basis: 20%;
	}
	.app-flex-menu .app_recurring.app-flex-item.app_4_basis {
		flex-basis: 40%;
	}

	.app-flex-menu .app-flex-item.app_5_basis {
		flex-basis: 20%;
	}
	.app-flex-menu .app_recurring.app-flex-item.app_5_basis {
		flex-basis: 40%;
	}

	.app-flex-menu .app-flex-item.app_6_basis {
		flex-basis: 16.66667%;
	}
	.app-flex-menu .app_recurring.app-flex-item.app_6_basis {
		flex-basis: 33.33333%;
	}
}

@media screen and (max-width: 768px){
	.app-flex-menu .app-flex-item {
		flex-basis: 100%;
		padding-right: 0;
	}
	.app-flex-menu .app-flex-item.app_2_basis {
		flex-basis: 50%;
	}
}

@media screen and (max-width: 420px){
	.app-flex-menu .app-flex-item.app_2_basis {
		flex-basis: 100%;
		padding-right: 0;
	}
}

.widget_appointments_shortcode .app-flex-menu .app-flex-item {
	flex-basis: 100%;
	padding-right: 0;
}

/* FEE-------------------------------------------------------- */

.app-edit-wrapper {
	font-size: smaller;
}

.app-edit-wrapper select[disabled],
.app-edit-wrapper input[readonly],
select.app-edit-time option:disabled {
	color: #ff0000;
	font-weight: bold;
}

.app-conf-start input.app-edit-date,
.app-conf-start select.app-edit-time {
	width: 30%
}

select.app_select_services.app_edit {
	width: 60%;
}

.app-fee.ui-dialog {
	font-size: 0.9rem;
}

.ui-dialog .app-fee-wrapper.ui-dialog-content {
	padding: 0;
}

.app-fee-wrapper .app-conf-start label {
    margin-bottom: 10px;
}

.app-fee-wrapper .app-conf-fields-gr1 select,
.app-fee-wrapper .app-conf-wrapper .app-conf-fields-gr1 input {
	width: 67%;
	margin: 0;
}


/* Book Now -------------------------------------------------------- */

div.app-book-now {
	text-align: center;
}

.app-book-now-wrapper {
	margin-top: 10px;
}

.app-book-now-wrapper div.app-book-now {
	text-align: left;
}

.app-book-now-button {
	word-break: break-word;
}

/* FEBM -------------------------------------------------------- */

.app-transactions .app-tr a,
#app-dashboard-wrap a,
#wpbody-content.app-fem a {
	box-shadow: none;
}

#wpbody-content.app-fem a img {
	display: inline;
}

#wpbody-content.app-fem table {
	table-layout: fixed;
}

/* Flex -------------------------------------------------------- */

.app_compact {
	height: 100%;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
    justify-content: space-between;
}

.app-compact-title {
	text-align: center;
}

/* clear fix */
.app_compact:after,
.app_compact:before,
.app-conf-wrapper:before,
.app-legend:before,
.app-pagination:before {
	content: '';
	display: block;
	clear: both;
}

.app-compact-day {
	width: 12.1%;
	min-width: 90px;
	max-width: 150px;
	min-height: 130px;
	/* margin: 0 1.4% 1.4% 0; */
}

.app-compact-day.app-non-mobile {
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.14);
}

.app-compact-day.app-non-mobile:not(.yesterday_or_before):hover {
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.3);
}

.app-compact-day.app-mobile {
	border: 1px lightgrey solid;
}

.app-compact-day-button-holder {
	padding: 10px;
}

.app-compact-day.app_hor {
	width: 100%;
	max-width: 1200px;
	min-height: 80px;
}

.app_compact .app-compact-day-button-holder.app_hor {
	width: 100%;
	max-width: 1200px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.app-compact-day-title {
	font-size: 0.8em;
	display: flex;
	justify-content: center;
	flex-wrap: wrap
}

.app-compact-day-title span {
	margin-right: 2%;
}

.app_hor .app-compact-day-title .app_weekday,
.app_hor .app-compact-day-title .app_date {
	font-size: 0.9em
}

.app-compact-day-button-holder.app_hor div {
	width: 12.88%;
	min-width: 98px;
}

.app-compact-day.app_hor div.app-compact-day-title {
	margin: 10px 0 5px 0;
	min-width: 100px;
}

.app_compact_fitColumnsTitleTop .app-compact-day.app_hor div.app-compact-day-title {
	width: 100%;
}

.app-compact-day button,
.app-compact-day .app-book-now,
.app-compact-day .app-compact-day-title {
	width: 100%;
}

.app-compact-day .app-compact-day-title {
	margin-top: 10px;
	text-align: center;
	padding: 0 5px;
}

.app-compact-day .app-compact-day-title span.app_weekday,
.app-compact-day .app-compact-day-title span.app_date {
	display: block;
	width: 100%;
}

.app-compact-day .app-book-now {
	margin-bottom: 5px;
}

.app-compact-day.app_hor .app-book-now {
	margin-right: 5px;
}

.app-compact-day .app-book-now span.ui-button-text {
	font-size: 0.8em;
}

span.app_compact_full,
span.app_book_table_full {
	text-align: center;
	font-size: 0.8em;
	display: block;
}

.app-compact-day.yesterday_or_before {
	opacity: 0.3;
}

/* WooCommerce -------------------------------------------------------- */
.woocommerce-product-details__short-description .app-wrap .app-list {
    display: block;
}

.woocommerce-product-details__short-description .app-monthly-wrapper,
.woocommerce-product-details__short-description .app-timetable-wrapper {
    width: 100%;
	margin: 0;
}

.woocommerce-product-details__short-description .app-timetable-title {
	padding-top: 5px;
}

.app-wc-page .product form.variations_form,
.app-wc-page .product form.cart,
.app-wc-page.single-product .product .product_meta .sku_wrapper {
	display: none;
}

.cart_item .product-name dl.variation dt[class^="variation-Booking"] {
  display: none;
}

.app-wc-page .blockUI::before,
.app-page.woocommerce-js .blockUI::before {
	content: "";
}

/* Optional styles */
.app-wc-page.woocommerce #content div.product div.summary,
.app-wc-page.woocommerce div.product div.summary {
	/* float: none; */
	/* width: 100% */
}

.app-page.woocommerce-account .woocommerce-MyAccount-navigation,
.app-page.woocommerce-account .woocommerce-MyAccount-content {
	/* float:none; */
	/* width: 100%; */
}

.app-page.woocommerce-account .woocommerce-MyAccount-navigation ul {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* justify-content: space-between; */
	/* list-style: none; */
}

.woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--wp-base a:before {
	content: "\e803";
}

/* Flexslider -------------------------------------------------------- */

@font-face {
	font-family: 'flexslider-icon';
	src: url('fonts/flexslider-icon.eot');
	src: url('fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('fonts/flexslider-icon.woff') format('woff'), url('fonts/flexslider-icon.ttf') format('truetype'), url('fonts/flexslider-icon.svg#flexslider-icon') format('svg');
	font-weight: normal;
	font-style: normal;
}

.flex-container a:hover,
.flex-slider a:hover {
	outline: none;
}
.app-slides,
.app-slides > li,
.flex-control-nav,
.flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.flex-pauseplay span {
	text-transform: capitalize;
}

.app-flexslider .app-slides > li {
	display: none;
	-webkit-backface-visibility: hidden;
}
.app-flexslider .app-slides:after {
	content: "\0020";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
html[xmlns] .app-flexslider .app-slides {
	display: block;
}
* html .app-flexslider .app-slides {
	height: 1%;
}
.no-js .app-flexslider .app-slides > li:first-child {
	display: block;
}

.app-flexslider {
	margin: 0 0 10px;
	padding: 0;
	background: #fff;
	position: relative;
	flex-basis: 100%;
	zoom: 1;
	/* overflow: hidden; */
	overflow-y: visible;
    overflow-x: clip;
}
.app-flexslider .app-slides img {
	width: 100%;
	display: block;
	cursor: pointer;
	height: auto;
	-moz-user-select: none;
	transition: all .2s ease-in-out;
}
.app-flexslider .app-slides .current img {
	opacity: 1;
}
.app-flexslider .app-slides li:hover img,
.app-flexslider .app-slides img:hover {
	transform: scale(1.05);
	opacity: 1;
}
.app-flexslider .app-slides li:hover {
    cursor: pointer;
}
.flex-viewport {
	max-height: 2000px;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}
.loading .flex-viewport {
	max-height: 300px;
}
@-moz-document url-prefix() {
  .loading .flex-viewport {
    max-height: none;
  }
}
.carousel li {
	margin-right: 5px;
}
.flex-direction-nav {
	height: 0;
	list-style-type: none;
}
.flex-direction-nav a {
	text-decoration: none;
	display: block;
	width: 40px;
	height: 40px;
	margin: -20px 0 0;
	position: absolute;
	top: 50%;
	z-index: 10;
	/* overflow: hidden; */
	opacity: 0;
	cursor: pointer;
	color: rgba(0, 0, 0, 0.8);
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	box-shadow: none;
}
.flex-direction-nav a:before {
	font-family: "flexslider-icon";
	font-size: 40px;
	display: inline-block;
	content: '\f001';
	color: rgba(0, 0, 0, 0.8);
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
}
.flex-direction-nav a.flex-next:before {
	content: '\f002';
}
.flex-direction-nav .flex-prev {
	left: -50px;
}
.flex-direction-nav .flex-next {
	right: -50px;
	text-align: right;
}
.app-flexslider:hover .flex-direction-nav .flex-prev {
	opacity: 0.7;
	left: 10px;
}
.app-flexslider:hover .flex-direction-nav .flex-prev:hover {
	opacity: 1;
}
.app-flexslider:hover .flex-direction-nav .flex-next {
	opacity: 0.7;
	right: 10px;
}
.app-flexslider:hover .flex-direction-nav .flex-next:hover {
	opacity: 1;
}
.app-nextprev .flex-disabled,
.flex-direction-nav .flex-disabled {
	opacity: 0!important;
	filter: alpha(opacity=0);
	cursor: default;
	z-index: -1;
}
.flex-pauseplay a {
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: 5px;
	left: 10px;
	opacity: 0.8;
	z-index: 10;
	overflow: hidden;
	cursor: pointer;
	color: #000;
}
.flex-pauseplay a:before {
	font-family: "flexslider-icon";
	font-size: 20px;
	display: inline-block;
	content: '\f004';
}
.flex-pauseplay a:hover {
	opacity: 1;
}
.flex-pauseplay a.flex-play:before {
	content: '\f003';
}
.flex-control-nav {
	width: 100%;
	position: absolute;
	bottom: -40px;
	text-align: center;
	display: none;
}
.flex-control-nav li {
	margin: 0 6px;
	display: inline-block;
}
.flex-control-paging li a {
	width: 11px;
	height: 11px;
	display: block;
	background: #666;
	background: rgba(0, 0, 0, 0.5);
	cursor: pointer;
	text-indent: -9999px;
	-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
	-o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.flex-control-paging li a:hover {
	background: #333;
	background: rgba(0, 0, 0, 0.7);
}
.flex-control-paging li a.flex-active {
	background: #000;
	background: rgba(0, 0, 0, 0.9);
	cursor: default;
}
.flex-control-thumbs {
	margin: 5px 0 0;
	position: static;
	overflow: hidden;
}
.flex-control-thumbs li {
	width: 25%;
	float: left;
	margin: 0;
}
.flex-control-thumbs img {
	width: 100%;
	height: auto;
	display: block;
	opacity: .7;
	cursor: pointer;
	transition: all 1s ease;
}
.flex-control-thumbs img:hover {
	opacity: 1;
}
.flex-control-thumbs .flex-active {
	opacity: 1;
	cursor: default;
}
.app-flexslider .app-slides .flex-caption {
	width: 100%;
	padding: 2% 5%;
	margin: 0;
	left: 0;
	bottom: 0;
	top: 80%;
	background: rgba(0,0,0,.35);
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0,0,0,.3);
	font-size: 14px;
	line-height: 18px;
	position: absolute;
	transition: top 0.5s;
	transition-delay: 0.5s;
	z-index: 2;
	box-sizing: border-box;
}
.app-flexslider .app-slides .current .flex-caption {
	background: rgba(0,0,0,.8);
}
.current p.flex-caption {
	font-weight: bolder;
}
.app-flexslider .current img:hover{
	border: none;
}
.app-flexslider .app-slides .flex-caption:hover {
	top: 40%;
}
.flex-caption .flex-lsw-name {
	display: block;
	text-align: center;
}
.flex-caption .flex-desc {
	font-size: 12px;
	line-height: 16px;
}
.flex-desc {
	display: none;
	transition: all 0.5s;
	opacity: 0;
}
.flex-caption:hover .flex-desc {
	display: inline;
	opacity: 1;
}
ul.app-slides li{
  position: relative;
}
.app-flex-menu.invisible{
	opacity: 0;
}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px;
  }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px;
  }
}

.app-flex-menu.app-slide ul {
    list-style: none;
	padding: 0;
	margin: 0;
}

.app-gradient {
    background: linear-gradient( 180deg, transparent 0%, rgba(245,245,245,0.8) 62.5%, #f5f5f5 100% );
    position: absolute;
    top: 30%;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 70%;
}

.app-slides .current .app-gradient,
.app-slides li:hover .app-gradient {
	background: none;
}

/* Event Bookings -------------------------------------------------------- */
td.app_day.past {
    opacity: 0.5;
}

.app-map {
	margin-bottom: 20px;
}

.app-list table.app-events-calendar td:hover {
	opacity: 1;
}

.app-events-calendar .ui-state-default {
	border-radius: 4px;
}

.app-events-calendar th.today {
	font-weight: 700;
}

.app-monthly-wrapper .app-events-calendar td {
	height: 160px;
}

.app-events-calendar .app-event-items-wrap {
    width: 100%;
    height: 100%;
    float: left;
    position: relative;
    background: #fff;
}

.app-events-calendar .app-event-items {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 118px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.app-events-calendar .app-event-items.app-inline {
  height: 100%;
}

.app-events-calendar .app-event-items .app-event-item {
  width: calc(100% - 2px);
  margin: 0;
  padding: 0;
  margin-left: 1px;
  height: 25px;
  overflow: hidden;
  position: absolute;
  top: 0;
}

.app-events-calendar .app-event-items.app-inline .app-event-item {
	height: auto;
}

.app-event-items .app-event-item.app-event-expired {
  opacity: 0.5;
}

.app-event-items .app-event-item[data-pos="2"] {
  top: 29px;
}

.app-event-items .app-event-item[data-pos="3"] {
  top: 58px;
}

.app-event-items .app-event-item[data-pos="4"] {
  top: 87px;
}

.app-event-items .app-event-item.app-event-item-start {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  width: calc(100% - 9px);
  margin-left: 8px;
}
.app-event-items .app-event-item.app-event-item-start.app-event-item-end {
  width: calc(100% - 16px);
  margin-left: 8px;
  margin-right: 8px;
}
.app-event-items .app-event-item.app-event-item-end {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  width: calc(100% - 9px);
  margin-right: 8px;
}
.app-event-daynum {
	font-size: 16px;
	font-weight: 700;
	color: #4d576c;
    position: absolute;
    top: 0.3em;
    left: 0.3em;
    text-align: left;
    z-index: 0;
    width: 2em;
    height: 2em;
    text-align: center;
    line-height: 2em;
}
.event-more-count {
	font-size: 10px;
	font-weight: 500;
	color: #4d576c;
    position: absolute;
    top: 1.2em;
    right: 0.3em;
    text-align: right;
    z-index: 0;
    height: 2em;
    line-height: 2em;
}

.app-event-title, .app-inline .app-event-time {
	font-size: 10px;
	font-weight: 700;
	float: left;
    text-align: left;
    padding: 0 10px;
    line-height: 25px;
    text-transform: uppercase;
    height: inherit;
}

.app-event-title span {
	display: table-cell;
    line-height: 25px;
	font-size: 0.7em;
    padding: 0;
    margin: 0;
}

.app-event-item.app-event-item-end p {
    display: flex;
	justify-content: right;
    width: calc(100% - 18px);
}

.app-inline .app-event-title {
	height: auto;
	line-height: 20px;
}

.app-inline .app-event-time {
	font-weight: 300;
	line-height: 12px;
}

.app-monthly-wrapper table.app-events-calendar td p {
    margin: 0;
}

.app-long-bookings td.has_appointment,
.app-event-items li:hover {
	cursor: pointer;
}

.qtip-content .app-event-tt {
	width: 320px;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 860px) {
	.qtip-content .app-event-tt {
		width: 240px;
	}
}

.qtip-content .app-event-tt.tt-small {
	width: 240px;
}

.qtip-content .app-event-tt-text {
	padding: 0;
}

.app-event-tt i {
	font-size: 20px;
    margin-right: 10px;
    width: 20px;
    text-align: center;
}

.app-event-tt-title {
	font-size: 20px;
	line-height: 1.3;
	color: #52565e;
	margin: 10px 0;
}

.app-event-tt-desc {
	margin: 10px 0;
	font-size: 14px;
	line-height: 20px;
	color: #9599a2;
}

.app-event-tt-time, .app-event-tt-loc {
	font-size: 14px;
	line-height: 1.3;
	color: #9599a2;
    text-align: left;
    padding-top: 20px;
	padding-bottom: 20px;
    margin: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.app-event-tt.landscape {
	display: flex;
}

.app-event-tt:hover{
	cursor:pointer;
}

@media screen and (max-width: 703px) {
	table.app-events-calendar th {
		font-size: 12px;
	}
	.app-event-title span {
		line-height: 12px;
		font-size: 8px;
	}
	.app-monthly-wrapper table.app-events-calendar td p {
		margin: 0;
	}
	.app-list table.app-events-calendar {
		font-size: 0.8em;
	}
	.app-events-calendar .app-event-items .app-event-item {
		height: 10px;
	}
	.app-monthly-wrapper .app-events-calendar td {
		height: 95px;
	}
	.app-events-calendar .app-event-items {
		height: 95px;
	}
	.app-events-calendar .app-event-items .app-event-item {
		top: 35px;
	}
	.app-event-items .app-event-item[data-pos="2"] {
		top: 50px;
	}
	.app-event-items .app-event-item[data-pos="3"] {
		top: 65px;
	}
	.app-event-items .app-event-item[data-pos="4"] {
		top: 80px;
	}
}

.app-account-page select {
	/* margin: initial; */
	/* padding: initial; */
}

.app-account-page .app-crowded select,
.app-account-page .app-crowded input:not([type="checkbox"]) {
	line-height: initial;
}

a.app-gcal-test {
	display: inline-block;
}

/* Multi Vendor -------------------------------------------------------- */
#pass-strength-result {
	background-color: #eee;
	border-color: #ddd;
	border-style: solid;
	border-width: 1px;
	display: none;
	margin: 5px 5px 5px 0;
	padding: 5px;
	text-align: center;
	width: 150px;
}

#pass-strength-result {
	width: 35%;
}

#pass-strength-result.error,
#pass-strength-result.bad {
	background-color: #ffb78c;
	border-color: #ff853c !important;
	display: block;
}

#pass-strength-result.good {
	background-color: #ffec8b;
	border-color: #fc0 !important;
	display: block;
}

#pass-strength-result.short {
	background-color: #ffa0a0;
	border-color: #f04040 !important;
	display: block;
}

#pass-strength-result.strong {
	background-color: #c3ff88;
	border-color: #8dff1c !important;
	display: block;
}

.standard-form#signup_form div div.error {
	background: #faa;
	color: #a00;
	margin: 0 0 10px;
	padding: 6px;
	width: 90%;
}

#app-signup #app_confirm_email_username {
	display: none;
}
#app-signup sup {
	color: red;
}
#app-signup label {
	width: 100%;
	display: inline-block;
	margin-bottom: 15px
}
#app-signup select,
#app-signup input[type="text"],
#app-signup input[type="password"] {
	border: 1px solid #dedede;
	height: 40px;
    box-shadow: none;
	font-size: 13px;
	display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    background-image: none;
    border: 1px solid #ccc;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
#app-signup #signup_submit {
	width: 100%;
	padding: 12px 30px 12px 30px;
	font-weight: 700;
	-o-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-size: 15px;
	line-height: 24px;
}

#app-signup div.submit {
	margin-top: 25px;
}
#app-signup-error {
    padding: 10px;
    margin-bottom: 15px;
	border-radius: 5px;
}
#app-signup-error p {
    font-weight: 600;
}
.app-register-page .ui-multiselect-checkboxes input {
    margin-right: 5px;
}

/* Timezones -------------------------------------------------------- */
.app-timezone-note {
    font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2rem;
    margin-top: 5px;
}

/* Waiting Room -------------------------------------------------------- */
.app-meeting-container .app-title {
	text-align: center;
}

.app-meeting-line .app-conf-title {
	font-weight: 600;
    width: 15%;
    display: inline-block;	
}

@media screen and (max-width: 600px) {
	.app-meeting-line .app-conf-title {
    	width: unset;
	}
}

.app-meeting-details {
	margin-top: 10px;
	margin-bottom: 10px;
}

.app-online-user {
	padding-right: 10px;
}

/* GeoDirectory -------------------------------------------------------- */
.geodir-page .app-wrap:not(.app-monthly-daily) .app-list {
    display: block;
}

.geodir-page .app-monthly-wrapper,
.geodir-page .app-timetable-wrapper {
	width: 100%;
	margin-left: 0;
}

.gd-fieldset-details.app-services-field {
	display: flex;
	margin-bottom: 16px;
	align-items: center;
}

.gd-fieldset-details.app-services-field label {
	flex: 0 0 auto;
	width: 16.66667%;
}

.gd-fieldset-details.app-services-field span.select2 {
	flex: 0 0 auto;
	width: 83.33333%;
}

/* Ultimate Member -------------------------------------------------------- */
.app-um-account #app-navbar.app-dash-navbar,
.app-um-account .app-graph-box,
.app-um-account #um_account_submit_bookings {
	display: none;
}

.app-um-account #app-open-navbar button,
.app-um-account #app-open-navbar-service button {
	padding: 0;
	background-color: unset;
	border: 1px solid grey;
}

.app-um-account .app-tr .dashicons-edit {
	display: none;
}

.app-um-account .inline-edit-row a.cancel,
.app-um-account a.add-new-service,
.app-um-account a.add-new-booking,
.app-um-account a.add-new-event {
	border-bottom: 1px solid !important;
}

.app-um-account .app-list-table .inline-edit-row fieldset label span.title,
.app-um-account table.commissions {
	font-size: 90%;
}

.app-um-profile .um .app-compact-book-wrapper * {
	box-sizing: border-box;
}

.app-um-profile .app-compact-book-wrapper select {
	/* background-size: unset; */
	height: 40px;
}

.app-um-profile .app-compact-book-wrapper legend {
	font-weight: 500;
	margin-bottom: 0;
}

/* UsersWP -------------------------------------------------------- */

.app-userswp-account #app-open-navbar button,
.app-userswp-account #app-open-navbar-service button {
	padding: 0;
	background-color: unset;
	border: 1px solid grey;
}

.app-userswp-account .app-tr .dashicons-edit {
	display: none;
}

.app-userswp-account .app-list-table .inline-edit-row fieldset label span.title,
.app-userswp-account table.commissions {
	font-size: 90%;
}

/* Flex Step -------------------------------------------------------- */

.app-invisible {
	visibility: hidden;
}

.app-conf-wrap-v2 .app-notcurrent {
	opacity: 0.7;
}

[id^=app_book_] {
	box-sizing: border-box;
}

.app_ms.ui-widget-content .ui-state-hover {
    background-color: transparent;
}

body:not(.app-account-page):not(.app-manage):not(.app-bp-bookings):not([class*="page_app_business"]) .ui-widget-content .ui-multiselect-header {
    display: none;
}

.ui-multiselect-menu .ui-state-hover,
.ui-multiselect-menu .ui-widget-content .ui-state-hover,
.ui-multiselect-menu .ui-widget-header .ui-state-hover,
.ui-multiselect-menu .ui-state-focus, 
.ui-multiselect-menu .ui-widget-content .ui-state-focus,
.ui-multiselect-menu .ui-widget-header .ui-state-focus {
	background-image: none;
}

.app-step-wrapper .invisible {
	visibility: hidden;
}

.app-step-wrapper {
    background-color: #fff;
    box-shadow: 0px 10px 40px -3px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .2);
    border-radius: 2px;
    display: flex;
    border-bottom: 1px solid #eee;
}

.app-reverse .app-step-wrapper {
	flex-direction: row-reverse;
}

[id^=app_book_] .app-step,
.app-step {
	display: none;
}

.app-step:not(.initial) {
	border-right: 1px solid #eee;
}

.app-step.active {
	display: flex;
	flex-direction: column;
	width: 70%;
	position: relative;
}

.login-not-met .app-step,
.app-step.initial {
	width: 100%;
	padding-right: 0;
}

.app-step-wrapper .app-title.step-title {
	font-size: 1.2rem;
	margin: 0;
	padding: 20px 0 10px 0;
	border-bottom: 1px solid #eee;
}

.app-step-wrapper .app-step .app-title.step-title {
	display: flex;
    justify-content: space-between;
}

.app-reverse .app-step-wrapper .app-step .app-title.step-title {
	flex-direction: row-reverse;
	padding-right: 30px;
}

.app-step-wrapper .app-title .step-select-title {
	padding-left: 30px;
}

.app-step-wrapper .app-title .step-countdown {
	padding-right: 30px;
	font-size: 1rem;
	font-weight: 500;
}

.app-compact-book-wrapper,
.app-compact-book-wrapper-gr2 {
	position: relative;
}

.step-countdown {
    display: flex;
    justify-content: flex-end;
    padding-right: 30px;
	position: absolute;
    z-index: 2;
    top: 6px;
    right: calc(30% + 5px);
	right: max(305px, calc(30% + 5px));
	font-size: 0.85rem;
	transition: all .3s;
	cursor: pointer;
}

.app-reverse .step-countdown {
	left: max(330px, calc(30% + 30px));
	right: unset;
}

.step-countdown.at-corner {
	right: 5px;
}

.app-reverse .step-countdown.at-corner {
	left: 35px;
	right: unset;
}
.step-countdown .appCountdown-row {
    display: flex;
    gap: 10px;
}

.step-countdown .appCountdown-section {
    display: flex;
	flex-direction: column;
	width: 100%;
}

.app-step-wrapper .app-title .step-center-title {
	position: absolute;
    left: calc(50% - 40px);
	font-size: 1.3rem;
}

.app-step:not(.initial) .step-center-title {
	display: none;
}

.app-step .app-step-content {
	padding: 20px 0 20px 0;
	flex: 1;
	position: relative;
}

.app-step .app-step-content:not(.has-flexslider) {
	padding: 0 30px 25px 30px;
}

.app-conf-wrap-v2 .app-step .app-step-content:not(.has-flexslider) {
	padding-bottom: 10px;
}

.app-step[data-type="calendar"] .app-step-content {
	padding-top: 35px;
}

.app-step[data-type="pax"] .app-step-content {
	display: flex;
	gap: 20px;
}

.app-step-content .app-person-select {
	flex: 1 0 25%;
}

.app-step-content .app_services,
.app-step-content .app_workers,
.app-step-content .app_locations,
.app-step-content .app_recurring,
.app-step-content .app_seats,
.app-step-content .app_durations {
	max-width: 400px;
    margin: 0 auto 0 auto;
}

.app-step-content .app-flex .app-title,
.app-step-content .app_services .app-title,
.app-step-content .app_workers .app-title,
.app-step-content .app_locations .app-title,
.app-step-content .app_recurring .app-title,
.app-step-content .app_seats_dropdown_title,
.app-step-content .app_durations_dropdown_title {
	visibility: hidden;
    padding-top: 0;
}

.app-step-content .app-flex .week-range .app-title {
	visibility: visible;
}

.app-step-content hr.person-type-break {
	display: none;
}

.app-step-content button.ui-multiselect {
	background: transparent;
	border: 1px solid hsla(0,0%,7%,.8);
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}

.app-step-content button.ui-multiselect:hover {
	color: unset;
	border-color: unset;
}

.app-step-content .app-person-select .app_seats_dropdown_title {
	visibility: visible;
 }
 
.app-step-content .app-person-select .app-title {
	padding: 10px 0 5px 0;
	font-size: 1rem;
	font-weight: 500;
 }
 
.app-step-content .app-list.has-caption .app-timetable-wrapper {
	margin-top: 36px;
}

.app-step .app-step-footer {
	border-top: 1px solid #eee;
	padding: 5px 15px 5px 15px;
	display: flex;
    justify-content: space-between;
	font-size: 1rem;
}

.app-step-footer a.app-step-back,
.app-step-footer a.app-step-forward {
    color: unset;
    text-decoration: none;
	box-shadow: none;
    font-weight: 500;
    padding: 10px;
}

.app-step-footer a.app-step-back:hover,
.app-step-footer a.app-step-forward:hover {
	background-color: #fafafa;
}

.app-step-footer .app-step-progress {
	display: flex;
    align-items: center;
    gap: 10px;
}

.app-step-footer .app-step-progress .dot {
	border-radius: 0px;
    width: 10px;
    height: 10px;
    background-color: #eee;
}

.app-step-footer .app-step-progress .dot.active {
	background-color: #1d7bff;
}

.app-step-wrapper .app-flex {
	display: flex;
	justify-content: space-between;
    flex-wrap: nowrap;
    padding: 5px 0;
    height: 35px;
    margin-top: 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
	width: 100%;
    align-items: center;
    font-size: 100%;
}

.app-step-wrapper .has-flexslider .app-flex {
	top: calc(50% - 10px);
	position: absolute;
	height: 0;
}

.app-step-wrapper .has-flexslider .app-flex .app-icon:before {
	font-size: x-large;
	margin: 0;
}

.app-step-wrapper .app-flexslider {
	padding: 0 30px;
}

.app-step-wrapper .app-monthly-container .app-flex .app-title {
	display: none;
}

.app-step-wrapper .app-flex .app-prv {
	text-align: left;
}

.app-step-wrapper .app-flex .app-nxt {
	text-align: right;
}

.app-step-wrapper .app-flex .app-nextprev {
	width: 10%;
    padding: 0 2px;
    z-index: 1;
}

.app-step-wrapper .app-flex .app-nextprev a {
	box-shadow: none;
}

.app-step-wrapper .app-flexslider ul {
    list-style: none;
    padding: 10px 0 0 0;
    margin: 0;
}

.app-step-wrapper .app-flexslider .app-slides li:hover img,
.app-step-wrapper .app-flexslider .app-slides img:hover {
	transform: unset;
}

.app-step-wrapper .app-slides li {
	transition: all .3s;
}

.app-step-wrapper .app-slides li:hover {
	transform: translate(0, -10px);
	transition: all .3s;
}

.app-booking-info {
	width: 30%;
	min-width: 300px;
	background-color: #fcfcfc;
	display: flex;
    flex-direction: column;
    position: relative;
}

.app-booking-info label {
	line-height: 1.5;
}

.app-booking-info .app-headline label {
	line-height: 2.2;
}

.app-booking-info .app-title {
	text-align: right;
	display: flex;
    flex-direction: row-reverse;
}

.app-reverse .app-booking-info .app-title {
	flex-direction: row;
}

.app-booking-info .app-title span {
	padding-right: 30px;
}

.app-reverse .app-booking-info .app-title span {
	padding-left: 30px;
}

.login-not-met .app-booking-info,
.app-booking-info.initial {
	display: none;
}

.app-booking-info .app-content {
	padding: 0 30px 0 30px;
}

.app-booking-info .app-content {
	flex: 1;
}

.app-booking-info .app-row {
	margin-top: 0.5rem;
}

.app-booking-info .app-row:empty {
	margin: 0;
}

.app-booking-info label {
    display: flex;
    justify-content: space-between;
	align-items: baseline;
	gap: 5px;
	font-size: 1rem;
}

.app-booking-info .app-conf-text {
	color: #090a22;
	/* color: #1762aa; */
	font-weight: 500;
    text-align: right;
	width: unset;
}

.app-booking-info .amount .app-conf-text {
	color: #1762aa;
	font-weight: 600;
}

.app-booking-info .line {
	background-color: #eee;
    height: 1px;
	flex: 1;
	display: none;
}

.app-booking-info .service .app-conf-title,
.app-booking-info .service .line,
.app-booking-info .start .app-conf-title,
.app-booking-info .start .line {
	display: none;
}

.app-booking-info .app-headline {
	display: flex;
	position: relative;
	margin-top: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
}

.app-booking-info .app-headline-sub {
	min-width: 75%;
	display: flex;
    flex-direction: column;
}

.app-booking-info .app-headline .service,
.app-booking-info .app-headline .start {
	min-width: calc(75% - 5px);
	margin-right: 5px;
	line-height: 1.7;
	margin-top: 0;
}

.app-booking-info .app-headline .image {
	width: 25%;
	margin-top: 0;
}

.app-row.image:empty {
    display: none;
}

.app-cover {
  height: 4rem;
  background: transparent no-repeat center;
  background-size: cover;
}

.app-booking-info .app-conf-title {
    color: #7d849e;
}

.app-booking-info .service .app-conf-text {
	text-align: left;
	font-size: 1.1rem;
    font-weight: 700;
    color: #090a22;
	color: #1762aa;
}

.app-booking-info .start .app-conf-text {
	text-align: left;
	font-size: 1.05rem;
    font-weight: 700;
    color: #1d7bff;
}

.app-booking-info .app_old_price {
	text-decoration: line-through;
	font-weight: 100;
	opacity: 0.7;
	margin-left: auto;
    margin-right: 20px;
}

.app-booking-info .app_new_price {
	font-weight: 600;
	color: #1762aa;
}

.app-booking-info dl,
.app-booking-info dt,
.app-booking-info dd {
	text-align: right;
	color: #090a22;
	/* color: #1762aa; */
	font-weight: 500;
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
}

.app-booking-info dd {
	font-size: 0.85rem;
	display: flex;
    justify-content: flex-end;
}

.app-booking-info dd em {
	/* display: none; */
}

.app-booking-info .app-conf-details dl,
.app-booking-info .app-conf-seats dl {
    padding-left: 0;
}

.app-booking-info .app-footer {
	width: 100%;
	padding: 0 30px 0 30px;
}

.app-booking-info .app-row .amount {
	margin-top: 0;
}

.app-booking-info .amount {
	font-weight: 700;
	padding-top: 10px;
    border-top: 1px solid #eee;
}

.app-booking-info .amount:empty {
    border: none;
}

.app-booking-info .amount label {
    padding: 5px 0 15px 0;
	font-size: 1.1rem;
}

.app-step-content.app-checkout-content {
    display: flex;
    flex-direction: column;
	padding-bottom: 10px;
}

.app-checkout-content .app-client-info,
.app-checkout-content .app-lop {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 15px;
	justify-content: space-between;
	position: relative;
}

.app-checkout-content .app-subtitle {
	flex: 1 0 100%;
	position: relative;
	margin-top: 20px;
	white-space: nowrap;
	font-weight: 600;
	font-size: 1rem;
}

.app-checkout-content .app-cinfo,
.app-checkout-content .app-lop-field {
	flex: 1 0 calc(50% - 8px);
	position: relative;
	white-space: nowrap;
}

.app-checkout-content .app-client-info input[type="text"],
.app-checkout-content .app-client-info input[type="password"],
.app-checkout-content .app-client-info textarea,
.app-checkout-content .app-client-info select,
.app-checkout-content .app-client-info button.ui-multiselect,
.app-checkout-content .app-lop button.ui-multiselect,
.app-checkout-content .app-extras-field button.ui-multiselect,
.app-checkout-content .app-worker-field button.ui-multiselect,
.app-checkout-content .app-client-info span.has-checkbox,
.app-checkout-content .app-coupon-field input[type="text"],
.app-checkout-content .app-lop-field input[type="text"] { 
	background-color: #fff;
	border: 1px solid hsla(0,0%,7%,.8);
	border-radius: 4px;
	box-sizing: border-box;
	color: #2b2d2f;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1rem;
	margin: 0;
	min-height: 0;
	padding: 1rem;
	width: 100%;
	height: 3.5em;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
}

.app-checkout-content .app-coupon-field input[type="text"] {
	padding-left: .5rem;
}

.app-checkout-content .has-textarea,
.app-checkout-content .has-function {
	max-height: 3.5rem;
}

.app-checkout-content .app-client-info .is-active input[type="text"],
.app-checkout-content .app-client-info .is-active input[type="password"],
.app-checkout-content .app-client-info .is-active textarea,
.app-checkout-content .app-client-info .is-active select,
.app-checkout-content .app-client-info .is-active button.ui-multiselect,
.app-checkout-content .app-lop .is-active button.ui-multiselect,
.app-checkout-content .app-extras-field.is-active button.ui-multiselect,
.app-checkout-content .app-worker-field.is-active button.ui-multiselect,
.app-checkout-content .app-client-info .is-active span.has-checkbox,
.app-checkout-content .app-coupon-field.is-active input[type="text"],
.app-checkout-content .app-lop-field.is-active input[type="text"] {
	padding: 1.5rem .5rem .5rem;
}

.app-password-input {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

.app-password-input input[type="password"] {
	padding-right: 2.5rem;
}

/* Hide the Edge "reveal password" native button */
.app-password-input input::-ms-reveal {
	display: none;
}

.app-show-password-input {
	position: absolute;
	right: 0.7rem;
	top: 1rem;
	cursor: pointer;
	height: 1.5rem;
	width: 1.5rem;
	background-repeat: no-repeat;
}

.app-show-password-input.closed {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1792 1792" fill="currentColor"><path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/></svg>');
}

.app-show-password-input.opened {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1792 1792" fill="currentColor"><path d="M555 1335l78-141q-87-63-136-159t-49-203q0-121 61-225-229 117-381 353 167 258 427 375zm389-759q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm363-191q0 7-1 9-106 189-316 567t-315 566l-49 89q-10 16-28 16-12 0-134-70-16-10-16-28 0-12 44-87-143-65-263.5-173t-208.5-245q-20-31-20-69t20-69q153-235 380-371t496-136q89 0 180 17l54-97q10-16 28-16 5 0 18 6t31 15.5 33 18.5 31.5 18.5 19.5 11.5q16 10 16 27zm37 447q0 139-79 253.5t-209 164.5l280-502q8 45 8 84zm448 128q0 35-20 69-39 64-109 145-150 172-347.5 267t-419.5 95l74-132q212-18 392.5-137t301.5-307q-115-179-282-294l63-112q95 64 182.5 153t144.5 184q20 34 20 69z"/></svg>');
}

.app-checkout-content .is-active span.has-checkbox {
	display: flex;
	align-items: center;
	border: 1px solid hsla(0,0%,7%,.8);
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
}

.app-checkout-content .is-active span.has-checkbox input[type="checkbox"],
.app-checkout-content .is-active span.has-checkbox .app-udf-checkbox-text {
    flex: 0 0 20px;
    height: 20px;
}

.app-checkout-content .app-client-info label,
.app-checkout-content .app-coupon-field label,
.app-checkout-content .app-extras-field label,
.app-checkout-content .app-worker-field label,
.app-checkout-content .app-lop-field label {
	color: inherit;
	color: hsla(0,0%,7%,.5);
	cursor: text;
	font-family: inherit;
	font-size: inherit;
	font-size: 1rem;
	font-style: inherit;
	font-weight: inherit;
	left: .5625rem;
	letter-spacing: inherit;
	line-height: inherit;
	line-height: 1.25;
	margin: 0;
	max-width: calc(100% - 32px);
	overflow: hidden;
	position: absolute;
	text-decoration: inherit;
	text-overflow: ellipsis;
	text-transform: inherit;
	top: 0;
	transform: translateY(1rem);
	transform-origin: top left;
	transition: all .2s ease;
	pointer-events: none;
	z-index: 1;
}

.app-checkout-content .is-active label,
.app-checkout-content .app-coupon-field.is-active label,
.app-checkout-content .app-extras-field.is-active label,
.app-checkout-content .app-worker-field.is-active label {
	transform: translateY(.5rem) scale(.875);
}

.app-checkout-content .app-payment-field,
.app-checkout-content .app-conf-coupon,
.app-checkout-content .app-conf-extra,
.app-checkout-content .app-conf-worker {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
	flex-wrap: wrap;
	gap: 15px;
}

.app-checkout-content .app-conf-worker .single-worker {
	display: none;
}

.app-checkout-content .app-coupon-field,
.app-checkout-content .app-extras-field,
.app-checkout-content .app-worker-field {
    display: flex;
	flex-wrap: wrap;
    flex: 1 0 100%;
    justify-content: space-between;
	position: relative;
}

.app-checkout-content .app-coupon-field.coupon-valid label {
	color: #2dc937;
	font-weight: 500;
}

.app-checkout-content .app-coupon-field.coupon-invalid label {
	color: #cc3232;
	font-weight: 500;
}

.app-checkout-content .app-gateway-items {
    display: flex;
	flex-wrap: wrap;
    flex: 1 0 100%;
    justify-content: space-evenly;
    border: 1px solid hsla(0, 0%, 7%, .8);
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    padding: 20px 0 10px 0;
}

.app-checkout-content .app-payment-field .app-payment-gateway-item {
	display: flex;
	width: 140px;
	justify-content: center;
}

.app-checkout-content .app-payment-gateway-item input[type="radio"] {
    min-width: 20px;
    margin-right: 5px;
    height: 48px;
}

.app-checkout-field,
.app-login-action,
.app-register-action {
    display: flex;
    justify-content: center;
    padding: 10px 0;
	margin-top: 10px;
	align-items: baseline;
}

.app-login-action,
.app-register-action {
	flex-direction: column;
	align-items: center;
}

.login-not-met .app-checkout-field {
	display: none;
}

.app-checkout-field.has-cart {
	justify-content: space-between;
}

.app-checkout-field button,
.app-login-action button,
.app-register-action button {
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 1.5px;
	padding: 0.7rem 2rem;
	text-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);
}

.app-checkout-field button.app-cont-btn,
.app-checkout-field button.app-empty-cart {
	font-size: 0.9rem;
	font-weight: 300;
	letter-spacing: 1px;
	padding: 0.5rem 0.7rem;
	height: 80%;
}

.app-checkout-field button:not(.app-disabled-button):hover,
.app-checkout-field button:not(.app-disabled-button).ui-state-hover {
	opacity: 0.8;
}

.app-checkout-field button .ui-icon-check {
    display: none;
}

.app-checkout-content .app_billing_line {
    margin-top: 10px;
}

.app-checkout-content .app_billing_line.app-demo {
    font-size: 0.9rem;
}

.app-checkout-content .app_billing_line label {
    font-size: 1rem;
    font-weight: 500;
	width: 100%;
}

.app-checkout-content .app-credit-balance {
	margin-top: 10px;
	flex: 1 0 100%;
	font-size: 0.8rem;
    font-weight: 500;
	text-align: center;
}

.app-checkout-content .app-credit-balance li {
	list-style: none;
}

.app-checkout-content .app-terms-field {
	margin: 15px 0 0 0;
}

.app-checkout-content .app-terms-field label {
    display: flex;
    border: 1px solid hsla(0, 0%, 7%, .8);
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    padding: 1rem .5rem 1rem .5rem;
	min-height: 3.5rem;
	gap: 5px;
    align-items: center;
}

.app-checkout-content .app-terms-field .app-terms-check {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	margin-right: 5px;
}

.app-checkout-content sup {
	display: none;
}

.app-checkout-content .app-terms-field input[type="checkbox"] {
    margin: 0 10px 0 0;
    flex: 0 0 25px;
    height: 25px;
}

.app-checkout-content .app-terms-field .app-open-terms {
	padding-left: .1rem;
	text-decoration: none;
}

.app-checkout-content button.ui-multiselect {
    justify-content: unset;
    text-align: unset;
	font-weight: unset;
}

/* Login & Register -------------------------------------------------------- */

.app-login-fields,
.app-register-fields {
	border: none;
	padding: 0;
	margin: 0;
}

.app-social-buttons {
	display: flex;
	justify-content: space-evenly;
	gap: 20px;
	align-items: center;
}

.app-open-register,
.app-open-login {
	font-weight: 600;
	font-size: 1rem;
}

#app-google-button .gsi-material-button {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-appearance: none;
  background-color: WHITE;
  background-image: none;
  border: 1px solid #747775;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1f1f1f;
  cursor: pointer;
  font-family: 'Roboto', arial, sans-serif;
  font-size: 14px;
  height: 40px;
  letter-spacing: 0.25px;
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
  -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
  transition: background-color .218s, border-color .218s, box-shadow .218s;
  vertical-align: middle;
  white-space: nowrap;
  width: 40px;
  max-width: 400px;
  min-width: min-content;
}

#app-google-button .gsi-material-button .gsi-material-button-icon {
  height: 20px;
  margin-right: 12px;
  min-width: 20px;
  width: 20px;
  margin: 0;
  padding: 9px;
}

#app-google-button .gsi-material-button .gsi-material-button-content-wrapper {
  -webkit-align-items: center;
  align-items: center;
  /* display: flex; */
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

#app-google-button .gsi-material-button .gsi-material-button-contents {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  font-family: 'Roboto', arial, sans-serif;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

#app-google-button .gsi-material-button .gsi-material-button-state {
  -webkit-transition: opacity .218s;
  transition: opacity .218s;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}

#app-google-button .gsi-material-button:disabled {
  cursor: default;
  background-color: #ffffff61;
  border-color: #1f1f1f1f;
}

#app-google-button .gsi-material-button:disabled .gsi-material-button-contents {
  opacity: 38%;
}

#app-google-button .gsi-material-button:disabled .gsi-material-button-icon {
  opacity: 38%;
}

#app-google-button .gsi-material-button:not(:disabled):active .gsi-material-button-state, 
#app-google-button .gsi-material-button:not(:disabled):focus .gsi-material-button-state {
  background-color: #303030;
  opacity: 12%;
}

#app-google-button .gsi-material-button:not(:disabled):hover {
  -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

#app-google-button .gsi-material-button:not(:disabled):hover .gsi-material-button-state {
  background-color: #303030;
  opacity: 8%;
}


/* Containers -------------------------------------------------------- */

.app-compact-book-wrapper{
	container-type: inline-size;
	container-name: step;
}

@container step (max-width: 700px) {
	.app-step-wrapper,
	.app-reverse .app-step-wrapper {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.app-step-wrapper .app-step.active,
	.app-step-wrapper .app-booking-info {
		width: 100%;
	}
	.app-reverse .app-step-wrapper .app-step .app-title.step-title {
		flex-direction: row;
 	}
	.app-booking-info .app-title,
	.app-reverse .app-booking-info .app-title {
		flex-direction: row;
	}
	.app-booking-info .app-title span,
	.app-reverse .app-booking-info .app-title span {
		padding-left: 30px;
	}
	.step-countdown,
	.app-reverse .step-countdown {
		right: 5px;
		left: unset;
	}
}

.app-monthly-container {
  container-type: inline-size;
  container-name: monthly;
}

.app-checkout-content {
  container-type: inline-size;
  container-name: app-checkout;	
}

@container app-checkout (max-width: 450px) {
	.app-checkout-content .app-cinfo,
	.app-checkout-content .app-lop-field {
		flex: 1 0 100%;
	}
}

@container monthly (max-width: 650px) {
	.app-monthly-wrapper,
	.app-timetable-wrapper {
		width: 100%;
		margin-left: 0;
	}

	.app-wrap:not(.app-monthly-daily) .app-list {
		display: block;
	}
}

.app-weekly-container {
  container-type: inline-size;
  container-name: weekly;
}

@container weekly (max-width: 650px) {
	.app-wrap,
	.app-list,
	.app-schedule-wrapper {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
	}

	.app-wrap,
	.app-list {
		display: block;
	}
}
