#facility-booking {
    margin:0
}

#check_availability {
	background: #405974;
	margin: -1em 2px 0;
	padding: 0.5em;
}
	#check_availability a {
		color: #f0f5f9;
		display: block;
		text-align: right;
	}

ol {
	list-style: none;
	padding: 0;
	margin: 0;
	clear: left;
}
	ol li {
		float: left;
	}

a.pdf {
    background: url(/media/img/pdf.gif) no-repeat center left;
    display: block;
    line-height: 17px;
    padding-left: 20px;
}
	
ul {
    margin-top:0
}

div.what-now p {
    margin:1em 0;
}
div.what-now li {
    margin:0 0 1em;
}

.section {
	color: #405974;
	margin: 0 0 1em 0;
}
    .section fieldset {
        border:none;
        padding:.5em;
        border-bottom: 1px solid #758596;
    }
	.section h2 {
    	background:transparent;
	    color: #758596;
		font-size: 1.2em;
		font-weight:normal;
		padding: 0 0 1em;
		text-transform:none;
	}
	.section p.note {
		padding: 0;
		margin: -1em 0 1.5em 0;
		background: #fff;
	}
	.section input.button {
		background: #798a9d;
		color: #fff;
		cursor:pointer;
		border: 1px solid #475c73;
	}
	.section .field, .section.dl {
		float: left;
		width: 100%;
		padding: 0;
		margin: 0 0 1em;
		font-weight: normal;
	}
	.section .field .error {
	    color:red;
	    margin-left:10em;
	}
	.section .field .error input {
	    border:1px solid red;
	}
	.section dt {
		clear:both;
		padding:0 0 .5em 0;
	}
	.section dd {
		padding:0 0 .5em 0;
	}
	.section dd em {
	    display:inline;
	}
		.section .field label, .section dt {
			float: left;
			width: 10em;
			font-weight: bold;
		}
		.section .field label .required {
		    font-weight:normal;
		}

#booking__details fieldset {
	background: #f0f5f9;
}
#booking__details input.button {
	float:right;
}


#booking__howmany ol,
#booking__catering-choice ol {
	width: 100%;
	margin: 0;
}
	#booking__howmany ol li {
		width: 23.5%;
		margin: 0 1% 0 0;
	}
    #booking__catering-choice ol li {
		width: 47.75%;
		margin: 0 1% 0 0;
    }
		#booking__howmany ol li input,
        #booking__catering-choice ol li input {
			width: 100%;
			background: #405974;
			color: #fff;
			cursor:pointer;
			border: 1px solid #57758e;
		}
		#booking__howmany ol li input.selected,
        #booking__catering-choice ol li input.selected {
			width: 100%;
			background: #fff;
			color: #405974;
			border: 1px solid #9aadc1;
			font-weight:bold;
		}

		.section .field label, .section dt {
			float: left;
			width: 10em;
			font-weight: bold;
		}

#booking__details fieldset {
	background: #f0f5f9;
}


#booking__howmany ol {
	width: 100%;
	margin: 0;
}
	#booking__howmany ol li {
		width: 23.5%;
		margin: 0 1% 0 0;
	}
		#booking__howmany ol li input {
			width: 100%;
			background: #405974;
			color: #fff;
			cursor:pointer;
			border: 1px solid #57758e;
		}
		#booking__howmany ol li input.selected {
			width: 100%;
			background: #fff;
			color: #405974;
			border: 1px solid #9aadc1;
			font-weight:bold;
		}

ol.rooms li, ol.layouts li {
	font-size:75%;
	margin: 0 1% 0 0;
	text-align:center;
	padding:1%;
	width: 16.5%;
}
ol.rooms li.selected, ol.layouts li.selected {
	background:#cfcfcf;
	font-weight:bold;
}

table.calendar {
	border: 1px solid #9aadc1;
	float:left;
	margin:0 1%;
	width:46%
}
table.calendar th {
	border-bottom:1px solid #9aadc1;
}
table.calendar th abbr {
	border:none
}
table.calendar td {
    text-align:center;
}
table.calendar td.past {
    color:#999;
}
table.calendar td input.button {
	border:none;
	background:transparent;
	color:#000;
	cursor:pointer;
	padding:0;
	font:inherit;
	width:100%;
}
table.calendar td input.hover {
    background:#798a9d;
    color:#fff;
}
table.calendar td.selected {
    background: #405974;
}
table.calendar td.selected input {
    color: #fff;
}
table.calendar .weekend {
    background: #f0f5f9;
}
div.month-controls {
	clear:both;
	float:left;
	padding-top:1em;
	width:90%;
}
	div.month-controls .previous {
		float: left;
		background: #798a9d;
		color: #fff;
		cursor:pointer;
		border: 1px solid #475c73;
	}
	div.month-controls .next {
		float: right;
		background: #798a9d;
		color: #fff;
		cursor:pointer;
		border: 1px solid #475c73;
	}







ol.timeframes, ol.periods {
	width: 100%;
	margin: 0;
}
	ol.timeframes li, ol.periods li {
		width: 30%;
		margin: 0;
		text-align:center;
		padding:.5em;
	}
		ol.timeframes li input, ol.periods li input {
			width: 100%;
		}
		ol.periods li div.unavailable {
			width: 100%;
			background: #798a9d;
			padding:1px 0;
			color: #fff;
			font-size:90%;
			border: 1px solid #475c73;
			text-decoration:line-through;
		}
		ol.timeframes li.selected, ol.period li.selected {
		    background:#cfcfcf;
		}
		ol.timeframes li.selected input, ol.periods li.selected input {
			background: #fff;
			color: #405974;
			font-weight:bold;
		}

div.periods {
    background:#cfcfcf;
    clear:both;
    float:left;
    width:490px;
    overflow:auto;
    padding:2%;
}
    div.periods input.button {
        font-size:90%;
    }


div.confirm-details {
    border:3px solid #cfcfcf;
    padding:.5em;
    margin-bottom:1em;
}
div.confirm-details div {
    margin:0 0 1em 100px;
}
div.confirm-details img {
    float:left;
}
div.confirm-details p {
    margin:0;
    padding:0;
}
div.confirm-details strong {
    font-weight:bold
}

div.booking-notes textarea{
    font: 100% sans-serif;
    height: 5em;
    width: 95%;
}

div.booking-button {
    clear:both;
    text-align:center;
    margin:2em 0
}
	div.booking-button input {
		background: #798a9d;
		color: #fff;
		cursor:pointer;
		border: 1px solid #475c73;
		padding:1em;
		margin-bottom:.5em;
	}
	
table.catering {
    border-collapse:collapse;
    font-size:80%;
    margin-bottom:1em;
    width: 100%;
}
table.catering td {
    border:3px double #405974;
    border-right:none;
    padding: .25em 1em;
}
table.catering td.checkbox {
    border-left:none;
    border-right:none;
    padding-right:0;
}
table.catering td.facility {
    border-left:none;
    border-right:none;
}
table.catering td.price {
    border-left:none;
    border-right:3px double #405974;
    padding-left:.25em;
}
table.catering tr.gap td {
    border:none;
}

#dietary-requirements {
    font-family:sans-serif;
    height:6em;
    width:90%;
}

.menu {
    background:#f0f5f9;
    border:1px solid #405974;
    float:right;
    padding:.5em;
    width:35%;
}
.menu h3 {
    font-size:100%;
    margin:0;
}
.menu p {
    margin:.5em 0;
}

table.availability {
    border-collapse:collapse;
    font-size:80%;
    width:100%;
}
table.availability thead th {
    font-size:80%;
    text-align:left;
    white-space:nowrap;
}
table.availability thead th.mins {
    font-size:70%;
}
table.availability td, table.availability th {
    border:1px solid #405974;
    padding: .25em;
    text-align:center;
}
table.availability th.blank {
    border:none;
    text-align:right;
}
span.unavailable, td.unavailable {
    background:#c00;
    border:1px solid #405974;
    color:#900;
}
span.available {
    border:1px solid #405974;
}
p.info {
    font-size:90%;
    margin:.5em 0 1em;
    text-align:center;
}

div.choice {
    text-align:center
}
div.choice p.error {
    color:red;
    text-decoration:blink;
}

