.checkspam {
	font-weight:bold;
	font-size:110%;
	background:rgba(255,255,0,0.4);
	padding:10px 20px;
	box-sizing:border-box;
}

.simcal-calendar > p.simcal-align-right,
.legend {
	display:none;
}
.calendar_wrapper {
    display: none;
    z-index:5;
    position:relative;
}
ul.wbk-timeslot-list:before {
    content: 'Available Slots (you may reserve up to 3 at a time):';
    display: block;
    font-size:14px;
}
.reservation-column {
	box-sizing:border-box;
	width:48%;
	float:left;
	min-height:530px;
	transition:all 0.25s ease;
	position:relative;
}

.legend,.instruction {
    border: 1px solid #888;
    padding: 10px;
    font-size: 14px;
    margin-top: 40px;
    background: #eee;
}
.date_selection_instruction {
	margin-top:10px;
}

.reservation-form {
	margin-right: 1%;
}

.picker {
	width:100%;
}
.picker--opened {
	height:450px;
	min-width:405px;
}
.picker--opened .picker__holder {
	max-height:unset;
	max-width:unset;
}
.picker--opened .picker__frame {
	margin-top:-100px !important;
}

.wbk-timeslot-list {
	min-height:130px;
	overflow:visible !important;
	
}
.wbk-timeslot-list > li {
    width: 33.3% !important;
    height: 80px;
    margin-bottom:10px !important;
    position: relative;
    overflow: visible;
}

.wbk-button[data-method="arrival"] {
	display:none;
}

.wbk-details-sub-title {
    text-align: center !important;
    font-size: 17px !important;
    color: #383838 !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

div#wbk-to-checkout {
    position: absolute;
    bottom: 30px;
    top: unset !important;
    padding: 10px;
    background-color: red !important;
}
div#wbk-to-checkout:hover {
    background-color: black !important;
}


.view-all {
	width:100%;
}

input#wbk-book_appointment,
input.wpk-button {
    border-radius: 0 !important;
}

.simcal-day {
	opacity:0;
	transition:opacity 0.5s ease;
}

.simcal-day,
.simcal-day ul,
.simcal-day .simcal-no-events {position:relative}

li.simcal-event {
    background: rgba(0,0,0,1);
    color: white;
    text-decoration: none !important;
    text-align: center;
    line-height: 1.1;
    margin-top: 2px !important;
    padding:1px !important;
}

ul[booked=true] .availability {
	text-align:center;
	display:block;
	background:black;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	bottom:0;
	box-sizing:border-box;
	color:white;
	padding:5px 0;
}
ul[booked=false] .availability,
span[booked=false] .availability {
	text-align:center;
    text-align: center;
    display: block;
    line-height: 1;
    padding-top: 2px;
    color:rgb(190,190,190);
}
/* 
data-available["1-available"] ul:after {
    content: '1 Available';
    text-align: center;
    display: block;
    line-height: 1;
    padding-top: 2px;
    color:rgb(190,190,190);
}
 */
ul[booked=false],
.simcal-no-events {
	font-size:.68em;
    color:rgb(190,190,190);
}
/* 
data-available["3-available"] .simcal-no-events:after {
    content: '3 Available';
    text-align: center;
    display: block;
    line-height: 1;
    padding-top: 2px;
}
 */

div#wbk-booking-done p {
    font-size: 18px;
    margin: 0;
    line-height: 1.3;
    text-align: left;
    margin-bottom: 5px;
}
div#wbk-booking-done p[class*="col"] {
    display: block;
    width: 33%;
    float: left;
    border-top: 1px solid #ccc;
    font-size: 15px;
    padding: 10px 5px;
    box-sizing: border-box;
}
.simcal-past ul[booked=false] .availability,
.simcal-past span[booked=false] .availability{
	display:none;
}
div#wbk-booking-done p.col_1 {display:none;}

div#wbk-booking-done p.paynow, div#wbk-booking-done p.col_2,div#wbk-booking-done p.colspan_3 {
    clear: both;
}
div#wbk-booking-done p.colspan_3 {width:78%}

div#wbk-booking-done p.col_4 {
    width: 20.5%;
	text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
div#wbk-booking-done p.col_2, div#wbk-booking-done p.col_3 {
    width: 39%;
}

div#wbk-booking-done p.colspan_3, div#wbk-booking-done p.colspan_3 + p.col_4 {
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 25px;
}

div#wbk-booking-done p.customer {
    margin-top: 12px;
    margin-bottom: 0;
    border-top: 2px solid #888;
    padding-top: 10px;
    border-bottom: 2px solid #888;
    padding-bottom: 10px;
}

div#wbk-booking-done p.head {
    background: #ddd;
    margin-bottom: 0;
    padding: 10px 5px;
}
div#wbk-booking-done p.paynow a.view-all {
    width: 100%;
}

.wbk-button {border-radius:0 !important}

.wbk-slot-time {
    line-height: 1.2 !important;
    padding: 5px;
}

.wbk-slot-booked {
    background: black !important;
}
.wbk-slot-inner {
	border-radius:0 !important;
	height:100%;
	box-sizing:border-box;
	position:relative;
}
input.wbk-slot-button {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 7px 0;
}

.simcal-event-bubble.qtip,
.simcal-event-details,
.simcal-events-dots {
	display:none !important;
}

.simcal-events,
span.simcal-event-title {
    display: block !important;
}

span.block {
    display: block;
    margin-bottom: 10px;
}

a.paynow {
    margin-top: 22px;
}

p.paynow {
    padding: 20px;
    background: rgb(255,255,160);
    font-weight: bold;
}

span.block.clipboard {
    width: 320px;
    margin: auto;
	opacity:0;
	transition:opacity 0.5s ease;
}

.clipboard.processed {
	opacity:1;
}

.clipboard a.button {
    padding: 10px 10px;
    border: 1px solid rgb(157, 23, 15);
    border-radius: 0 05px 5px 0;
    background: rgb(157, 23, 15);
    color: white;
    font-weight: 100;
    font-size: 0;
    height: 50px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
}
.clipboard a.button > i.fas {
    margin-right: 10px;
    margin-left: 10px;
    font-size: 24px;
}
.clipboard a.button > i.fa-clipboard-check {
    color:yellow;
}
.clipboard a.button:hover {
	background:black;
}
input#cvc_registration_num {
    text-align: center;
    padding: 10px;
    font-size: 20px;
    border: 1px solid rgb(157, 23, 15);
    display: inline-block;
    border-radius: 5px 0 0 5px;
}


#wbk-booking-done .wbk-loading:after {
	content: 'May take several seconds. Please do not leave or refresh this page .';
	text-align:center;
	display:block;
	margin-top:50px;
	padding-top:25px;
}

p.intro.red {
    background: red;
    color: white;
    padding: 20px;
    border-radius: 5px;
}
td.advance-notice>div {
	background:666;
}
td.advance-notice>div:after {
    content: 'Notice Needed';
    font-size: 12px;
    font-weight: bold;
    background: #666;
    color: white;
    display: block;
    padding-top:5px;
    line-height:1.2;
}
td.closed-venue span.simcal-no-events,
td.advance-notice span.simcal-no-events {
    display: none;
}
td.closed-venue>div {
	background:black;
}
td.closed-venue>div:after {
    content: 'CLOSED';
    font-size: 12px;
    font-weight: bold;
    background: black;
    color: white;
    display: block;
    padding-top:10px;
}
td.simcal-day {
	cursor: pointer;
}
td.simcal-past,
td.fully-booked,
td.closed-venue,
td.advance-notice,
td.simcal-day-void {
	cursor: not-allowed;
}

@media only screen and (max-width: 1024px) {
	.reservation-column {
		width:100%;
		min-height: 150px;
	}
	.reservation-form {margin-right:0;}

}

.simcal-default-calendar-light .simcal-nav-button {
    color: rgba(255,255,255,1) !important;
}

.reserved-slot:after {
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	content:'\f058';
	display:block;
	font-size:18px;
	width:18px;
	height:18px;
	color:yellow;
	position:absolute;
	bottom:13px;
	left:5px;
}
.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav.simcal-current, 
.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav.simcal-prev-wrapper {
    border-right: 0;
    overflow: hidden;
    white-space: nowrap;
}
.simcal-default-calendar .simcal-current h3 {
    margin: 0;
    padding: 0;
    text-indent: 0px;
}

div.simcal-calendar {
	transition: all 0.5s ease;
}

.simcal-ajax-loader {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    background: rgba(255,255,255,0.5);
    border-radius: 20px;
}
.simcal-ajax-loader>i  {
    font-size: 48px;
    left: 50%;
    line-height: 1;
    margin: -36px 0 0 -36px;
    position: absolute;
	top:50% !important;
}


.simcal-day .simcal-no-events:before {
    content: '';
    display: inline-block;
    z-index: 100;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    color: #666;
    font-weight: bold;
}
div#wbk-date-container > div {
	display:none !important
}
.wbk-day-title {
    text-align: center !important;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400 !important;
    font-size: 1.6em !important;
    color: white !important;
    background: black !important;
    padding: 11px;
}
.calendar_wrapper h4 {
    text-align: center;
    color: white;
    background: black;
    padding: 18px;
    margin-top: 14px;
}
p.blocks_avail,p.advance_notice {
	text-align:center;
}
p.advance_notice {
	font-weight:bold;
	font-style:italic;
	text-transform:uppercase;
}
.wbk-loading {
	display:none !important;
	opacity:0!important;
	visibility:hidden!important;
}
.wbk-loading:before {
	display:none!important;
	opacity:0!important;
	visibility:hidden!important;
	content:''!important;
	margin-left:-100000px!important;
}
#wbk-booking-done .wbk-loading:after {
    content: 'May take several seconds. Please do not leave or refresh this page .';
    text-align: center;
    display: block;
    margin-top: 50px;
    padding-top: 25px;
}
img[src*="loading.svg"] {
	display:none !important;
	opacity:0!important;
	visibility:hidden!important;
}
span.wbk-acceptance-error {
    background: red;
    color: white !important;
    padding: 5px;
    margin-left: 15px;
    text-transform: uppercase;
    animation: pulse 1s infinite;
}
span.wbk-acceptance-error[style*="inline"] {
    display: inline-block !important;
}
span.wbk-acceptance-error:before {
    content: '\f060';
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.wbk-input-error {
    border-left: 15px solid red !important;
    border-right: 15px solid red !important;
}
.wbk-input, .wbk-text, .wbk-textarea, .wbk-select, .StripeElement {
    border-radius: 5px !important;
}

b.totalcost {
    font-size: 25px;
    font-weight: normal;
    display: inline-block;
    background: white;
    padding: 10px;
    border: 1px solid #888;
    border-radius: 5px;
	float: right;
    margin-top: -15px;
}
b.totalcost strong {
	opacity:0;
	transition:all 0.5s ease;
}

.wbk-frontend-row {
	position:relative;
}
div#wbk-booking-form-container:after {
    content: 'Please fill all required fields';
    display: none;
    text-align: center;
    width: 100%;
    background: #ddd;
    position: absolute;
    bottom: 0;
    height: 75px;
    box-shadow: inset 0 0 0 1px black;
    line-height: 75px;
    
}
div#wbk-booking-form-container.ready:after {
    display: block;
}

div#wbk-booking-form-container.validated:after {
    content: '';
    display: none;
}

.cvc-spinner[data-purpose="longwait"]:after {
    content: 'May take several seconds. Please do not leave or refresh this page .';
    text-align: center;
    font-weight: bold;
    display: block;
    margin-top: 50px;
    padding-top: 25px;
    top: 50%;
    position: absolute;
    width: 100%;
}

#wbk-slots-container.wbk-frontend-row {
	position:relative;
	overflow:hidden !important;
	display:block !important;
	opacity:1;
	transition:all 0.5s ease;
}
#wbk-slots-container.wbk-frontend-row.hidden {
	height:0 !important;
	opacity:0 !important;
}
span.totalprice {
	opacity:0;
	transition: all 0.25s ease;
}
