/****************************************************************************************
	[FORMS]
*****************************************************************************************/

/* [GLOBAL RULES]
-------------------------------------------------------*/
/* Form elements must have font family explicitly set */
input, textarea, select, button {} 
textarea {overflow: auto;}
button, input[type="submit"], input[type="image"] {cursor: pointer;}
button {
	overflow: visible;
	width: auto;
}

/* [STANDARD FORM]
-------------------------------------------------------*/
/* Visible Legend */
legend.form-hdr {
	font-size: 1.5em;
	font-weight: bold;
	padding: 0 0 .6em 0;
}
/* Row */
.form-row {
	float: left;
	padding-bottom: .5em;
	width: 100%;
}
	/* Labels */
	.form-row label,
	.form-row .form-lbl {
		width: 10em;
		float: left;
		font-weight: bold;
		margin: 0 1.5em 0 0;
		display: block;
	}
	.form-row.lbl-wide label,
	.form-row.lbl-wide .form-lbl {
		float: none;
		width: auto;
		margin-bottom: .5em;
	}
	/* Inputs */
	.txt-input, textarea {
		background-color: #fff;
		border: 1px solid #999;
		color: #919191;
		padding: .45em;
		width: 22em;
	}
	.txt-input.sml {width: 6em;}
	.txt-input.med {width: 12em;}
	textarea {height: 8.3em;}
	textarea.lrge {
		width: 40em;
		height: 16.6em;
	}
	input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
		border-color: #ccc;
		box-shadow: 0 1px 2px #ccc;
		-moz-box-shadow: 0 1px 2px #ccc; 
		-webkit-box-shadow: 0 1px 2px #ccc; 
	}
	input[type="radio"] {margin-top: 0;}
	/* Column [used for multiple inputs] */
	.form-column {margin-left: 11.5em;}
	.form-row.lbl-wide .form-column {margin-left: 0;}
		.form-column label,
		.form-row.inline label {
			width: auto;
			float: none;
			margin: 0;
			display: inline;
			color: #888;
			font-weight: normal;
		}
		.form-column ul {margin: 0;}
			.form-column li {
				background: none;
				margin-bottom: .16em;
				padding: 0;
			}
			.form-column .horizontal li {
				display: inline;
				margin-right: 2em;
			}
				.form-row li label, .form-row li input,
				.form-row.inline label, .form-row.inline input {vertical-align: middle;}
			
/* Submit */
.submit {
	clear: both;
	margin: .5em 0 1.5em;
	padding-left: 11.5em;
}
	.submit a {margin-left: 1em;}
	
/* [OTHER FORMS]
-------------------------------------------------------*/
/* Header Search */
header .search {
	display: inline;
	margin-right: 1px;
}
	.search input[type="text"] {
		margin-right: -29px;
		padding-right: 29px;
		width: 160px;
	}
	.search input[type="submit"] {
		background: url("../images/template/btn-gradient-sprite.png") no-repeat -192px 0;
		border: none;
		text-indent: -10em;
		width: 24px;
		height: 24px;
		overflow: hidden;
	}
	.search input[type="submit"]:hover,
	.search input[type="submit"]:focus {background-position: -216px 0; }
	
/* Event Booking Details */
#book-now-btn {clear: both;}
#booking-details {
	border-top: 1px solid #ddd;
	display: none;
	margin-bottom: 2em;
	padding-top: 1em;
}
	#booking-details .form-row label, 
	#booking-details .form-row .form-lbl {
		margin-right: 1em; 
		width: 11em;
	}
	#booking-details .form-row .txt-input:focus {color: #323232;}
	#booking-details .form-row span a {
		font-size: .9em;
		margin-left: .8em;
		text-decoration: underline;	
	}
	#booking-details .submit {padding: 1em 0 0;}
	#booking-details fieldset {
		border-bottom: 1px solid #ddd;
		margin-bottom: 1em;
		padding-bottom: 1em;	
	}
	#booking-details legend {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 1em;
	}
	#booking-details ul {margin: .5em 0 0;}
		#booking-details ul li {
			background: none;
			margin-bottom: .2em;
			overflow: hidden;
			padding: 0;
		}
			#booking-details ul li input {
				float: left;
				margin-left: 0;
				margin-right: .5em;
				vertical-align: middle;
			}
	
/* Map Search */
#map-search {
	 background-color: #f0f0f0;
	 margin-bottom: 2em;
	 padding: 10px 15px;
}
	#map-search * {vertical-align: middle;}
	#map-search label {font-weight: bold;}
	#map-search .txt-input {
		margin-right: 1.5em;
		padding: .25em .45em;
	}
	
/* [CMS FORMS BUILDER MODULE]
-------------------------------------------------------*/
/* Horizontal List for Multiple Answers */
.form-row .horizontal li {
	display: inline; 
	padding: 0 .75em 0 0;
}
/* Input Notes */
.form-column p {
	margin: .36em 0 0 0;
	font-size: .91em;	
	color: #888;
	line-height: 1.3;
}
/* Additional Info Next to Inputs */
#form-builder .form-row em {
	margin-left: .3em;
	color: #888;
	font-style: normal;
}
#form-builder .form-row li label {margin-left: .3em;}
/* WYSIWYG for Sections */
#form-builder .wysiwyg {
	float: left;
	padding-bottom: 1.23em;
	width: 100%;
}
	#form-builder .wysiwyg p, #form-builder .wysiwyg ul, #form-builder .wysiwyg ol {margin-bottom: .6em;}

/* ---jQuery Date Picker--- */
/* Date Picker Icon */
.dp-choose-date img {margin-left: .3em; vertical-align: middle;}
/* Calendar */
#dp-popup {position: absolute; z-index: 199;}
.dp-popup {position: relative; background-color: #006a65; padding: 2px; line-height: 1.2; color: #fff; box-shadow: #333 2px 2px 4px; -moz-box-shadow: #333 2px 2px 4px; -webkit-box-shadow: #333 2px 2px 4px;}
/* Month and Year Title */
.dp-popup h4 {text-align: center; padding: .16em 0 .3em; color: #fff; font-weight: bold; font-size: 100%; margin: 0;}
/* Prev and Next Links */
#dp-close {padding: 4px 0; text-align: center; display: block;}
.dp-popup .dp-nav-prev, .dp-popup .dp-nav-next {position: absolute; top: 2px; width: 100px;}
.dp-popup .dp-nav-prev {left: 4px;}
.dp-popup .dp-nav-next {right: 4px;}
	.dp-popup a:link, .dp-popup a:visited {color: #fff; padding: 3px 2px;}
	.dp-popup .dp-nav-prev a {float: left;}
	.dp-popup .dp-nav-next a {float: right;}
/* Calendar Table */
.jCalendar {margin: 0;}
.jCalendar th {background-color: #333; color: #fff; padding: .25em .41em; text-align: center; border: 1px solid #fff;}
.jCalendar td {padding: .25em .41em; text-align: center; vertical-align: middle; background-color: #ccc; border: 1px solid #fff; cursor: pointer; color: #484848;}
.jCalendar .other-month {background-color: #ddd; color: #999;}
.jCalendar .today {background-color: #666; color: #fff;}
.jCalendar .selected {background-color: #fff; color: #000;}
.jCalendar td:hover, .jCalendar td:focus, .jCalendar .dp-hover {background-color: #fff; color: #000;}
.jCalendar .disabled, .jCalendar .disabled:hover, .jCalendar .disabled:focus {background: #bbb; color: #888; cursor: default;}
/* Today's Date */
div.dp-popup .dp-nav-today {padding: 4px 0 2px; text-align: center;}
		
/* [VALIDATION]
-------------------------------------------------------*/
/* Mandatory Field Indicators */
.form-row label img, .form-lbl img, .req {margin: 0 .2em .3em .2em;}
/* Highlight Error Inputs */
.txt-input.validation-error,
textarea.validation-error,
select.validation-error {
	background-color: #f7d9d9;
	border-color: #ae0000;
	color: #ae0000;
}
/* Character Count */
.char-count em {
	font-style: normal;
	font-weight: bold;
	margin-right: .2em;
}
/* Error Handling */
#form-builder .validation-error label,
#form-builder .validation-error .form-lbl
 {
	background-color: #F7D9D9;
	color: #BF0000;
}
#form-builder .validation-error .txt-input,
#form-builder .validation-error textarea,
#form-builder .validation-error select {
	background-color: #f7d9d9;
	border-color: #ae0000;
	color: #ae0000;
}