/* calendar */
table.calendar	{
	height: auto;
	width: 100%;
	-moz-box-sizing: border-box;
    border-collapse: separate;
    border-spacing: 2px;
    display: table;
    table-layout: fixed;
    margin: auto;
}
.date-pagination{
	background-color: #f9f9f9;
	padding: 10px 0;
	text-align: center;
}
.date-pagination b{ padding: 0 10px; }
td.calendar-day{
	font-size:14px;
	position:relative;
}

td.calendar-day:hover{
	background:#eceff5;
}
td.calendar-day-np{
	background:#eee;
}
td.calendar-day-head
{
	background: #f1f1f1;
	font-weight:bold;
	height: 45px;
	text-align:center;
	/*width:14.28%;*/
	padding:5px;
}
div.day-number{
	/*background-color: #999;*/
	padding: 5px;
	color:#000;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
td.calendar-day-off div.day-number:not(.day-number-selected){
	/*background-color: #e8e8e8;*/
}
/* shared */
td.calendar-day, td.calendar-day-np
{
	width:auto;
	padding:35px;
	border: 1px solid #f1f1f1;
}
td.calendar-bottom
{
	padding:15px 0px;
	font-size:14px;
	font-weight:bold;
	border: 1px solid #f1f1f1;
}
.schedule td.calendar-day, .schedule td.calendar-day-np{ height: 60px; }

td.calendar-day-off,td.calendar-day-off:hover
{
	position: relative;
	background: repeating-linear-gradient(
		45deg,
		#f1f1f1,
		#f1f1f1 10px,
		#f9f9f9 10px,
		#f9f9f9 20px
	);
	/*background-color:#eee;*/
}

div.day-number-selected{
	background:#606dbc;
	color:#fff;
}

.calendar-picker{
    display: flex;
    align-items: strech;
}
.calendar-picker input{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	flex: 1;
}
.calendar-picker > span:hover{ cursor: pointer; }
.calendar-picker > span{
    background-color: #eeeeee;
    border: 1px solid #ccc;
	display: flex;
	align-items: center;
    padding: 0 10px;
}
.calendar-picker > span:last-of-type{
	border-radius: 0 3px 3px 0;
	border-left: none;
}
.booking_calendar_overlay{
	background-color: rgba(0, 0, 0, 0.6);
	height: 100%;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
}
.booking-wrapper{
	align-items: center;
	height: 100%;
	display: flex;
	justify-content: center;
	width: 100%;
}
.booking_calendar_area{
	width: 50vw;
	/*height: 70vh;*/
	background-color: white;
	border-radius: 5px;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	/*display: flex;*/
	/*flex-direction: column;*/
	/*overflow: hidden;*/
}
.quick-view .booking_calendar_area{
	height: 80vh;
	width: 90vw;
}
.booking_calendar_area .close{
	cursor: pointer;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.booking_calendar_area header{
	padding: 15px 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 52px;
}
.calendar-body{
	background-color:white;
	/*flex: 1;*/
	padding:0px;
	/*overflow-y: auto;*/
	height: 100%;
}
.calendar-body .back-btn{
	/*border: 2px solid #525252;*/
    padding: 5px 0;
    text-align: center;
    width: calc( 100% - 10px);
    display: block;
    margin: 0 auto 5px;
    color: #525252;
    text-transform: uppercase;
}
.schedule{
	width: 100%;
	overflow: auto;
}

.booking-board{
	max-width: 330px;
	min-width: 250px;
}
.booking-board .calendar{
	display: flex;
	flex-direction: column;
	width: 65px;
}
.booking-board .calendar span{
	color: #fff;
	display: block;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
}
.booking-board .calendar #booking-board-month{ margin-bottom: 2px; }
.booking-board .calendar #booking-board-day{
	background-color: #525252;
	font-size: 1.75rem;
}
.booking-board .board-body{
	background-color: rgba(0, 0, 0, 0.035);
	background-image: url(../images/calendar.png);
	background-position: right center;
	background-repeat: no-repeat;
	margin-left: 3px;
	padding: 10px;
	position: relative;
}
.booking-board .close{
	border: none;
	align-items: center;
	color: #fff;
	border-radius: 20px;
	display: flex;
	height: 22px;
	justify-items: center;
	padding: 0 1px 1.5px 0;
	position: absolute;
	right: -10px;
	top: -10px;
	width: 22px;
}
.booking-board .close i{ margin: 0 auto; }
.board-choose .flex-container{ align-items: center; }
.board-choose h4{ font-size: 1rem; }
.board-choose p{ font-size: 0.75rem; }
.board-choose i{
	background-color: rgba(0, 0, 0, 0.05);
	border: 25px;
	cursor: pointer;
	padding: 5px;
}
.board-details.on-product-page{ display: none; }
.board-details span{
	display: block;
	text-transform: uppercase;
}
.board-details span.caption{
	color: #adadad;
	font-size: .75rem;
}
.board-details span:not(.caption){ font-weight: 700; }

@media (max-width: 767px) {
	.booking_calendar_overlay .booking_calendar_area{
		/*height: 100vh;*/
		width: 95vw;
	}
	.booking_calendar_area header{
		height: 72px;
		padding: 25px 50px;
	}
	.booking_calendar_area header i{
		/*border: 1px solid #525252;*/
		padding: 10px;
	}

	.booking .buttons input, .booking .buttons .btn{
		margin-bottom: 5px;
		width: 100%;
	}
	div.table .align-right{ text-align: left; }
	td.calendar-day-head
	{
		font-weight:400;
		height: 45px;
		text-align:center;
		padding:5px;
		font-size: 12px;
	}
}
