/************************************************************
	- SLICED BREAD - RESPONSIVE BOOKING WIDGET 
************************************************************/

/********** MAIN STRUCTURE **********/

#booknow_widget {
	font-family: 'Helvetica', sans-serif;
	font-size: 16px;
	width: 260px;
	padding: 12px;
	height: auto !important;
	max-height: 850px;
	overflow: hidden;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	border: 1px solid #FFC843;
	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	box-sizing: border-box;
	text-align: center;
	background: #FFFFFF;
}

#booknow_widget form.booking_form {
	text-align: center;
	width: 100%;
	margin: 0 auto;
}

#booknow_widget select {
	display: inline-block;
	border: 1px solid #cecece;
	background: #F2F2F2;
}

#booknow_widget label {
	clear: both;
	font-size: 10px;
}


#booknow_widget input.numbers {
    display: inline-block;
    border: 1px solid #CECECE;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: none repeat scroll 0% 0% #F2F2F2;
    text-align: center;
}
#booknow_widget input.error {
	background-color: #ffe2e2;
	border: 1px solid red;
}

#month_select {
	width: 100%;
	max-height: 2em;
	margin: 12px 0 12px 0;
	text-align: center;
}

a.arrow_l {
	font-weight: bolder;
	color: #FFC843;
	float: left;
	margin: 0 8px 0 0;
	width: 24px;
	font-size: 36px;
	vertical-align: top;
	text-decoration: none;
	display: block;
}

a.arrow_l:hover {
	color: #000000;
}

a.display_month {
	float: left;
	background: #FFFFFF;
	color: #FFFFFF;
	width: 155px;
	padding: 6px;
	margin-top: 4px;
	color: #000000;
	border: 1px solid #cecece;
	text-decoration: none;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	text-align: center;
	cursor: pointer;
	display: block;
}

a.arrow_r {
	float: left;
	margin: 0 0 0 6px;
	width: 10%;
	font-weight: bolder;
	text-decoration: none;
	font-size: 36px;
	color: #FFC843;
	display: block;
	vertical-align: top;
}

a.arrow_r:hover {
	color: #000000;
}

a.display_month:hover {
	background: #CECECE;
	color: #FFFFFF;
}

#booknow_widget .calendar {
	width: 100%;
	padding-top: 12px;
	padding-bottom: 12px;
}

input.booknow {
	display: block;
	clear: both;
	text-align: left;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.2em;
	background: #FFC843;
	padding: 2.5%;
	color: #4E4E4E;
	border: 0;
	text-decoration: none;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	cursor: pointer;
	margin: 0 auto;
}

input.booknow:hover {
	background: #4E4E4E;
	color: #FFFFFF;
}

/********** WIDGET TABLE **********/

#booknow_widget table a {
	color: #000000;
}

#booknow_widget table {
	display: table;
	padding: 0;
	margin: 0;
	width: 100%;
	clear: both;
}

#booknow_widget table, #calendar {
	clear: both;
}

#booknow_widget table td {
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	text-align: center;
	font-size: 11px;
	width: 32px;
	height: 32px;
}

#booknow_widget table tr.days {
	font-weight: bold;
	height: 2.5em;
	font-size: 11px;
}


/********** LINKS **********/

#booknow_widget table tr td a {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	text-align: center;
	display: block;
	text-decoration: none;
	vertical-align: bottom;
	padding: 8px;
	font-size: 11px;
	background: #EEEEEE;
}

#booknow_widget table tr td a:hover {
	background: #4E4E4E;
	color: #FFFFFF;
}

/********* ADDITIONAL ***********/

p.error {
	text-align: center;
	background-color: #ffe2e2 !important;
	border: 1px solid red !important;
	color: red;
	padding: 2%;
}

a.datebox {
	color: blue;
}

#booknow_widget table tr td a.dateboxselected {
	background-color: #4E4E4E;
	color: white;
}

#booknow_widget:after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
}

div.errorbox {
    background-color: #ffe2e2;
    color: red;
    padding: 5px;
    display: inline-block;
    margin: 5px;
}

div.errorbox ul {
	margin-left: 22px;
	padding-left: 0px;
}

div.errorbox div.errorinfobox {
	background-color: paleGreen;
    color: green;
    padding: 5px;
    margin: 5px;
}

#booknow_widget a.selecttime {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	text-align: center;
	display: block;
	padding: 10px;
	text-decoration: none;
	vertical-align: bottom;
}

#booknow_widget a.selecttime:hover {
	background: #4e4e4e;
	color: white;
}


table.bookingoverview th {
	text-align: left;
}

#booknow_widget table.bookingoverview td {

}

#booknow_widget select#typedropdown {
    width: 90px;
    font-size: 11px;
    padding: 4px;
    border-radius: 6px;
}

div.bookinginfobox {
	font-size: 12pt;
	font-weight: bold;
	font-color: #999;
	text-align: center;
	padding: 5px;
}

div.timeslot {
	width: 140px;
	display: inline-block;
	padding: 3px;
}

/************ STAGE 2 *************/

#booknow_widget div.booking_info {
	width: 100%;
	font-size: 14px;
	text-align: left;
}

#booknow_widget p.venue_info {
	display: block;
	float: left;
	font-weight: bold;
	clear: both;
	margin: 0;
	padding: 12px 0 0 0;
	width: 50px;

}

#booknow_widget p.venue_info_desc {
	display: block;
	float: left;
	margin: 0;
	padding: 12px 0 0 12px;
}

#booknow_widget div.booking_time {
	clear: both;
	width: 100%;
	padding: 12px 0 12px 0;
}

/* button should be same as book now (minimised font-size/padding) */

#booknow_widget div.booking_time button {
	display: inline-block;
	text-align: left;
	text-transform: uppercase;
	font-size: 14px;
	background: #FFC843;
	margin-top: 12px;
	padding: 8px;
	color: #000000;
	border: 0;
	font-weight: bold;
	border-collapse: collapse;
	text-decoration: none;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	cursor: pointer;
	clear: both;
}

#booknow_widget div.booking_time button:hover {
	background: #4E4E4E;
	color: #FFFFFF;
}

#booknow_widget div.prev_next a {
	display: inline-block;
	clear: both;
	text-decoration:none;
	color: #222222;
	font-weight: bold;
	clear: both;
	padding: 12px 28px 12px 28px;
	font-size: 14px;
}

#booknow_widget div.prev_next a:hover {
	color: #000000;
}

/************ STAGE 3 *************/

#booknow_widget div.contact_details  {
	clear: both;
	display: block;
	padding: 12px 0 12px 0;
}

#booknow_widget .contact_details form {
	clear: both;
	display: block;
}
#booknow_widget .contact_details input.error {
	background-color: #ffe2e2;
	border: 1px solid red;
	
}

#booknow_widget .contact_details input {
	clear: both;
	display: block;
	margin: 0 auto;
	margin-top: 9px;
	margin-bottom: 9px;
	width: 200px;
	padding: 12px;
	background: #F2F2F2;
	color: #000000;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	border: 0;
}

#booknow_widget .contact_details textarea {
	clear: both;
	display: block;
	margin: 0 auto;
	margin-top: 9px;
	margin-bottom: 9px;
	width: 200px;
	background: #F2F2F2;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	border: 0;
	padding: 12px;
}

#booknow_widget div.contact_details button, #booknow_widget div.contact_details input[type='submit'] {
	display: inline-block;
	text-align: left;
	text-transform: uppercase;
	font-size: 12px;
	background: #FFC843;
	margin-top: 10px;
	width: auto;
	padding: 8px;
	color: #000000;
	border: 0;
	font-weight: bold;
	border-collapse: collapse;
	text-decoration: none;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	cursor: pointer;
	clear: both;
}

#booknow_widget div.contact_details button:hover, #booknow_widget div.contact_details input[type='submit']:hover {
	background: #4E4E4E;
	color: #FFFFFF;
}

img.poweredby {
	width: 230px;
	height: 27px;
	margin: auto;
	padding-top: 5px;
}