/* DatePicker styles: https://gist.github.com/miwahall/7028640 */
.ui-datepicker {
	background-color: #fff;
	border-radius: 4px;
	display: none;
	margin-top: 0;
	padding: 10px;
}
.ui-datepicker a,
.ui-datepicker a:hover {
	text-decoration: none;
}
.ui-datepicker a:hover,
.ui-datepicker td:hover a {
	color: #2A6496;
	-webkit-transition: color 0.1s ease-in-out;
	   -moz-transition: color 0.1s ease-in-out;
	     -o-transition: color 0.1s ease-in-out;
	        transition: color 0.1s ease-in-out;
}
.ui-datepicker .ui-datepicker-header {
	margin-bottom: 4px;
	text-align: center;
}
.ui-datepicker .ui-datepicker-title {
	font-weight: 700;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	cursor: pointer;
	font-family: Dashicons;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-weight: normal;
	height: 20px;
	line-height: 1;
	margin-top: 2px;
	width: 30px;
}
.ui-datepicker .ui-datepicker-prev {
	float: left;
	text-align: left;
}
.ui-datepicker .ui-datepicker-next {
	float: right;
	text-align: right;
}
.ui-datepicker .ui-datepicker-prev:before,
.ui-datepicker .ui-datepicker-next:before  {
	padding-left: 0 !important
}
.ui-datepicker .ui-datepicker-prev:before {
	content: "\f341";
}
.ui-datepicker .ui-datepicker-next:before {
	content: "\f345";
}
.ui-datepicker .ui-icon {
	display: none;
}
.ui-datepicker .ui-datepicker-calendar {
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
}
.ui-datepicker .ui-datepicker-calendar th,
.ui-datepicker .ui-datepicker-calendar td {
	text-align: center;
	padding: 4px 0;
}
.ui-datepicker .ui-datepicker-calendar td {
	border: 1px solid #eee;
	background: #aaa;
	transition: all 0.2s;
}
td.ui-datepicker-unselectable.ui-state-disabled.pending,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable.pending {
    background: #ddd;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day {
    background: #ccc;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable {
	background: none;
	color: inherit;
}
.ui-datepicker .ui-datepicker-calendar td.booked span {
	opacity: 0.2;
}
.ui-datepicker .ui-datepicker-calendar td:hover {
	background-color: #eee;
	cursor: pointer;
}
.ui-datepicker .ui-datepicker-calendar td a {
	text-decoration: none;
	color: #555;
}
.ui-datepicker .ui-datepicker-current-day {
	background-color: #4289cc;
}
.ui-datepicker .ui-datepicker-current-day a {
	color: #fff
}
.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover {
	background-color: #fff;
	cursor: default;
}
/* Optimised colours */
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td,
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td:hover,
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.fully-available a:hover {
	/* background: #258039; */
	font-weight: bold
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td a {
	color: #fff
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month {
	background: none
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.booked {
	background: #CF3721;
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.booked span.ui-state-default {
	color: #fff;
	opacity: 1;
	text-decoration: line-through;
}

.bfwc-optimise-colours .ui-datepicker td.fully-available,
.bfwc-optimise-colours .ui-datepicker td.fully-available .ui-state-hover {
	background: #258039;
}
.bfwc-optimise-colours .ui-datepicker td.part-available,
.bfwc-optimise-colours .ui-datepicker td.part-available .ui-state-hover {
	background: #F5BE41;
}
.bfwc-optimise-colours .ui-datepicker td.unavailable,
.bfwc-optimise-colours .ui-datepicker td.unavailable .ui-state-hover {
	background: #CF3721;
}
.bfwc-optimise-colours .ui-datepicker td.start-date.ui-state-disabled,
.bfwc-optimise-colours .ui-datepicker td.start-date.ui-state-disabled .ui-state-hover {
	background: #c6e1c6;
}
.bfwc-optimise-colours .ui-datepicker td.fully-available .ui-state-default,
.bfwc-optimise-colours .ui-datepicker td.part-available .ui-state-default,
.bfwc-optimise-colours .ui-datepicker td.unavailable .ui-state-default {
	color: #fff;
}
.bfwc-optimise-colours .ui-datepicker td.ui-datepicker-unselectable.past,
.bfwc-optimise-colours .ui-datepicker td.ui-state-disabled {
	background: #ccc;
}
.bfwc-optimise-colours .ui-datepicker td.ui-datepicker-unselectable.past .ui-state-default,
.bfwc-optimise-colours .ui-datepicker td.ui-state-disabled .ui-state-default {
	color: #555;
	text-decoration: none !important;
	opacity: 0.5 !important
}
.bfwc-optimise-colours .ui-datepicker td .ui-state-hover {
  background: transparent;
}
.bfwc-optimise-colours .ui-datepicker td.ui-datepicker-today .ui-state-default {
  font-weight: bold
}

/* Other styles */
.bfws-booking-details {
	margin: 1em 0;
	display: none;
	background: #fff;
	padding: 10px;
}
.bfws-booking-details table {
	border: 10px;
	border-collapse: collapse;
	background: #fff;
	margin-bottom: 0;
}
.cart #bfws-calendar table tr:nth-child(even) {
    background: inherit;
}
.woocommerce div.product form.cart .bfws-booking-details table td,
.bfws-booking-details table th,
.bfws-booking-details table td {
	padding: 8px 4px;
}
.woocommerce div.product form.cart .bfws-booking-details table td.booking-cost-header {
	text-align: left;
}
.bfws-booking-details table td input {
	max-width: 50px;
}
.booking-form-inner {
	position: relative;
}
.booking-form-inner.updating .loader-background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(255,255,255,0.75);
}
.booking-form-inner .loader {
	display: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.booking-form-inner.updating .loader {
	display: block !important;
	position: absolute;
}
table.pricing-table {
	background-color: #fff;
	border-radius: 0;
	margin-top: 0;
	border: 0;
}
table.pricing-table th,
table.pricing-table td {
	padding: 0.75em 1em;
	border-right: 0;
}
table.pricing-table td.pricing-table-cost {
	text-align: center;
}
/* Double calendar */
#bfws-calendar-wrapper table {
	border-collapse: collapse;
	margin-bottom: 1em;
	border: 1px solid #eee;
}
.bfwc-view-double.woocommerce div.product form.cart table tr {
	background: none;
}
.bfwc-view-double.woocommerce div.product form.cart table td {
	padding: 0.75em 1em;
	border-bottom: 1px solid #eee;
	border-right: 0;
}
.bfwc-view-double.woocommerce div.product form.cart table td.bfws-date-field-wrapper {
	padding: 0;
	border: 1px solid #eee;
}
#bfws-calendar-wrapper input[type=text] {
	width: 100%;
	padding: 0.75em 1em 0.75em 2.5em;
	border: 0;
	cursor: pointer;
	font-weight: bold
}
#bfws-calendar-wrapper .booking-cost-data {
	text-align: right;
	padding: 0.5em;
}
.booking-cost-data-number input[type="number"] {
	display: inline
}
.bfwc-view-double.woocommerce div.product form.cart .button {
	width: 100%;
	float: none;
	display: block;
}
.bfwc-view-double .ui-datepicker {
	max-width: 400px;
	border: 1px solid #ddd;
	border-radius: 0;
	box-shadow: 0 0 3px rgba(0,0,0,0.1);
}
.bfws-date-field-wrapper {
	position: relative;
}
/* https://css.gg/calendar-dates */
.gg-calendar-dates {
  box-sizing: border-box;
  position: absolute;
  display: block;
  /* transform: scale(var(--ggs,1)); */
  width: 18px;
  height: 18px;
  border: 2px solid;
  border-radius: 3px;
	top: 50%;
	left: 1em;
	transform: translateY(-50%);
}
.gg-calendar-dates::after,
.gg-calendar-dates::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  border-radius: 3px;
  height: 2px;
  left: 2px
}
.gg-calendar-dates::before {
  background: currentColor;
  width: 2px;
  box-shadow:
    4px 0 0,8px 0 0,0 4px 0,
    4px 4px 0,8px 4px 0;
  top: 6px
}
.gg-calendar-dates::after {
  width: 10px;
  top: -4px;
  box-shadow: 0 6px 0 0
}
/* Search form */
.bfwc-search-calendar {
	max-width: 400px;
	box-shadow: 0 0 25px 0px rgba(0,0,0,0.1);
}
.bfwc-search-calendar.ui-datepicker .ui-datepicker-title {
    padding: 8px 0
}
.booking-search-form-wrapper table td {
	vertical-align: middle;
}
.booking-search-form-wrapper .gg-calendar-dates {
  left: 2.5em;
}
.booking-search-form-wrapper #bfws-calendar-wrapper input[type=text] {
	padding-left: 3em;
}
.booking-search-form-wrapper #bfwc-submit-search {
	width: 100%
}
.ui-datepicker.bfwc-search-calendar .ui-datepicker-calendar th,
.ui-datepicker.bfwc-search-calendar .ui-datepicker-calendar td {
	padding: 8px
}
.bfwc-optimise-colours .bfwc-search-calendar.ui-datepicker .ui-datepicker-calendar td,
.bfwc-optimise-colours .bfwc-search-calendar.ui-datepicker td.ui-datepicker-unselectable.past,
.bfwc-optimise-colours .bfwc-search-calendar.ui-datepicker td.ui-state-disabled {
	background: #fff;
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td:hover,
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td a:hover {
	/* background: #eee; */
	color: #555
}
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable:hover,
.bfwc-optimise-colours .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable a:hover {
	/* background: #fff; */
}
.bfwc-optimise-colours .bfwc-search-calendar.ui-datepicker .ui-datepicker-calendar td a {
	color: #555
}

/* PEWC */
.pewc-total-field-wrapper {
	display: none;
}
.booking-cost-set .pewc-total-field-wrapper {
	display: block;
}
ul.pewc-product-extra-groups {
	margin: 0;
}
