/* ----- WEBFORM FOUNDATION ----- */
.webform{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	font-size:small;
}

form {
	margin:0;
	padding:0;
}

form ul{
	margin:0;
	padding:0;
	list-style-type:none;
	width:100%;
	font-size:100%;
}

form li{
	margin:0;
	padding:4px 5px 2px 9px;
	position:relative;
	clear:both;
}

form li:after, .buttons:after{
	content:"."; 
	display:block;
	height:0; 
	clear:both; 
	visibility:hidden;
}

form li, .buttons{display: inline-block;}
* html form li, * html .buttons{height: 1%;}
form li, .buttons{display: block;}

* html form li div{
	display:inline-block;
}

form li div, form li span{
	margin:0 4px 0 0;
	padding:0 0 8px 0;
	color:#444;
}

form li span{
	float:left;
}

form li div.address{
	padding-bottom:0;
}

form li div.left{
	display:inline;
	float:left;
	width:47%;
}

form li div.right{
	display:inline;
	float:right;
	width:47%;
}

.clear{
	clear:both !important;
}

/* ----- INFO ----- */
.info{
	display:inline-block; 
	clear:both;
	margin:0 0 1em 0;
	padding-top: 2em;
}

.info[class]{
	display:block;
}

.info h2{
	font-weight:normal;
	font-size:160%;
	margin:0 0 3px 0;
	clear:left;
}

.info p{
	font-size:95%;
	line-height:135%;
	margin:0 0 12px 0;
}

/* ----- SECTIONS ----- */
form hr{
	display:none;
}

form li.section{
	margin-top: 10px;
	margin-bottom: 5px;
	padding-left:9px;
	border-bottom: 1px dotted #ccc;
}

form ul li.first{
	border-top:none !important;
	margin-top:0px !important;
	padding-top:0px !important;
}

form .section h3{
	font-weight:normal;
	font-size: 1.2em;
	margin:0 0 2px 0;
	padding: 0px;
}

form .section p {
	font-size:85%;
	margin:0 0 5px 0;
}

/* ----- FIELDS AND LABELS ----- */

label.desc{
	line-height:150%;
	padding:0 0 1px 0;
	border:none;
	color:#222;
	display:block;
	font-size:95%;
	font-weight:bold;
}

label.choice{
	font-size:100%;
	display:block;
	line-height:1.4em;
	margin:-1.55em 0 0 25px;
	padding:4px 0 5px 0;
	color:#222;
	width:90%;
}

form li div label, form li span label{
	margin:0;
	padding-top:3px;
	clear:both;
	font-size:9px;
	line-height:9px;
	color:#444;
	display:block;
}

input.text, input.file, textarea.textarea, select.select{
	margin:0;
	font-size:100%;
	color:#333;
}

input.text, input.file{
	padding:2px 0 2px 2px;
}

input.currency{
	text-align:right;
}

input.checkbox, input.radio{
	display:block;
	line-height:1.4em;
	margin:6px 0 0 3px;
	width:13px;
	height:13px;
}

textarea.textarea{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
}

select.select{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	margin:1px 0;
	padding:1px 0 0 0;
}

select.select[class]{
	margin:0;
	padding:1px 0 1px 0;
}
*:first-child+html select.select[class]{
	margin:1px 0;
}

.safari select.select{
	margin-bottom:1px;
	font-size:120% !important;
}

span.symbol{
	font-size:115%;
	line-height:130%;
}

form li .datepicker{
	float:left;
	margin:.1em 5px 0 0;
	padding:0;
	width: 16px;
	height: 16px;
	cursor:pointer !important;
}

/* ----- BUTTONS ----- */
input.btTxt{
	padding:0 7px;
	width:auto;
	overflow:visible;
}

.buttons{
	clear:both;
	margin-top:10px;
	padding: 10px;
	background-color: #ddd;
}

.buttons input{
	font-size:120%;
	margin-right: 5px;
}

/* ----- TEXT DIRECTION ----- */

.rtl .info h2, .rtl .info p, .rtl label.desc, .rtl label.choice, 
.rtl div label, .rtl span label, .rtl input.text, 
.rtl textarea.textarea, .rtl select.select, .rtl p.instruct, 
.rtl .section h3, .rtl .section p, .rtl input.btTxt{
	direction:rtl;
}

/* ----- SIZES ----- */
.third{
	width:32% !important;
}

.half{
	width:48% !important;
}

.full{
	width:100% !important;
}

input.small, select.small{
	width:25%;
}

input.medium, select.medium{
	width:50%;
}

select.large, textarea.textarea{
	width: 100%;
}

input.large {
	width: 98%;
}

textarea.small{
	height:5.5em;
}

textarea.medium{
	height:10em;
}

textarea.large{
	height:20em;
	width: 100%
}

/* ----- ERRORS ----- */

#errorLi{
	margin:0 auto;
	background:#fff;
	border:1px dotted red;
	margin-bottom: 10px;
	text-align:center;
	padding-top:4px;
	padding-left:0px;
	padding-right:0px;
}

#errorMsgLbl{
	margin:7px 0 5px 0;
	padding:0;
	font-size:125%;
	color:#DF0000;
}

#errorMsg{
	margin:.5em 0 .5em 0;
	color:#000;
	font-size:100%;
}

#errorMsg strong{
	background-color: #FFDFDF;
	padding:2px 3px;
	color:red;
}

form li.error{
	display:block !important;
	background-color: #FFDFDF !important;
	margin:3px 0;
}

/*
form li.error label{
 color:#DF0000 !important;
}
*/

form p.error{
	color:red;
	font-weight:bold;
	font-size:10px;
	margin:5px 0 3px 0;
	clear:both;
}

.leftLabel p.error, .rightLabel p.error{
	margin-left:30%;
	padding-left:15px;
}

.noI .leftLabel p.error, .noI .rightLabel p.error{
	margin-left:35%;
	padding-left:15px;
}

/* ----- REQUIRED ----- */

form .req{
	float:none;
	color:red !important;
	font-weight:bold;
	margin:0;
}

/* ----- INSTRUCTIONS ----- */

form li.focused{
	background-color:#fff7c0;
}

form .instruct{
	position:absolute;
	top:0;
	left:100%;
	z-index:1000;
	width:42%;
	margin:0 0 0 8px;
	padding:8px 10px 9px 10px;
	border:1px solid #e6e6e6;
	background:#f5f5f5;
	line-height:130%;
	font-size:80%;
	color:#444;
	visibility:hidden;
}

form .instruct small{
	font-size:105%;
}

form li.focused .instruct, form li:hover .instruct{
	visibility:visible;
}

/* ----- ALT INSTRUCTIONS ----- */

li.altInstruct .instruct, li.leftHalf .instruct, li.rightHalf .instruct{
	visibility:visible;
	position:static;
	margin:-2px 0 0 0;
	padding:0 0 7px 0;
	background:none;
	border:none;
	width:100%;
	font-size:9px;
	clear:left;
}

/* ----- LABEL LAYOUT ----- */

.leftLabel li, .rightLabel li, li.leftLabel, li.rightLabel{
	width:74% !important;
	padding-top:9px;
}

.leftLabel .small, .rightLabel .small{
	width:17%;
}

.leftLabel .medium, .rightLabel .medium{
	width:35%;
}

.leftLabel .large, .leftLabel textarea.textarea,
.rightLabel .large, .rightLabel textarea.textarea,
.leftLabel .address, .rightLabel .address{
	width:64%;
}

* html .leftLabel .small, * html .rightLabel .small{
	width:23%;
}
* html .leftLabel .medium, * html .rightLabel .medium{
	width:55%;
}
* html .leftLabel .large, * html .leftLabel textarea.textarea,
* html .rightLabel .large, * html .rightLabel textarea.textarea{
	width:97%;
}

.leftLabel label.desc, .rightLabel label.desc{
	float:left;
	width:30%;
	margin:2px 15px 0 0;
}

.rightLabel label.desc{
	text-align:right;
}

.leftLabel .address, .rightLabel .address{
	float:left;
}

.leftLabel p.instruct, .rightLabel p.instruct{
	width:27%;
	margin-left:5px;
}

.leftLabel .altInstruct .instruct, .rightLabel .altInstruct .instruct{
	margin-left:30% !important;
	padding-left:15px;
	width:65%;
}

.leftLabel .buttons, .rightLabel .buttons{
	margin-left:15px;
}

.leftLabel .buttons input, .rightLabel .buttons input{
	margin-left:30%;
}

/* ----- NO INSTRUCTIONS ----- */

.noI .instruct{
	display:none !important;
}
.noI form li, .noI form li.buttons{
	width:97% !important;
}
.noI form li.section{
	padding-left:9px !important;
}

/* ----- NO INSTRUCTIONS LABEL LAYOUT ----- */

.noI .leftLabel .large, .noI .leftLabel textarea.textarea,
.noI .rightLabel .large, .noI .rightLabel textarea.textarea,
.noI .leftLabel .address, .noI .rightLabel .address{
	width:60%;
}

* html .noI .leftLabel .small, * html .noI .rightLabel .small{
	width:23%;
}
* html .noI .leftLabel .medium, * html .noI .rightLabel .medium{
	width:55%;
}
* html .noI .leftLabel .large, * html .noI .leftLabel textarea.textarea,
* html .noI .rightLabel .large, * html .noI .rightLabel textarea.textarea{
	width:97%;
}

.noI .leftLabel label.desc, .noI .rightLabel label.desc{
	width:35%;
}
.noI .leftLabel .buttons input, .noI .rightLabel .buttons input{
	margin-left:35%;
}

/* ----- FIELD FLOATING ----- */

form li.leftHalf, form li.rightHalf{
	width:46% !important;
}

li.leftHalf{
	clear:left;
	float:left;
}

li.rightHalf{
	clear:none;
	float:right;
}

li.leftHalf .medium, li.rightHalf .medium,
li.leftHalf .small, li.rightHalf .small{
	width:100%;
}

/*
 * BEGIN: autocomplete styles */
div.autocomplete {
  position:absolute;
  background-color: #ccc;
  margin:0px;
  padding:0px;
  z-index:110;
  color:#2121ff;
  font-size: small;
}

div.autocomplete ul {
  list-style-type:none;
  margin:0px;
  padding:0px;
  background-color: #fff;
  border:1px solid #c4c4c5;
}

div.autocomplete ul li.selected { background-color: #b5d5ff;}
div.autocomplete ul li {
  list-style-type:none;
  display:block;
  margin:0;
  padding:2px;
  cursor:pointer;
}

.formgrid {
	border: 3px solid #bbb;
  	padding: .6em;
  	font-weight: normal;
  	background: #f9f9f9;
}

/* ----- CALENDAR ----- */

div.calendar { position: relative; z-index:3000;}.calendar table {cursor:pointer;font-size: 11px;color: #000;border:1px solid #ccc;background: #fff;font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;}.calendar .button { text-align: center;    padding:2px 0 3px 0;}.calendar thead .title { font-weight: bold;      text-align: center;background: #fff;color: #000;font-size:12px;padding: 3px 0;}.calendar thead .headrow { background: #dedede;color: #333;font-weight:bold;}.calendar thead .daynames { background: #f5f5f5;color:#333;}.calendar thead .name { padding: 2px;text-align: center;color: #000;border-bottom:1px solid #dedede;}.calendar thead .weekend { color: #666;background:#dedede;}.calendar thead .hilite { background-color: #444;color: #fff;padding: 1px;}.calendar thead .active { background-color: #d12f19;color:#fff;}.calendar tbody .day { width:2em;color: #222;text-align: right;padding: 1px;border: 1px solid #fff;}.calendar tbody .day.othermonth {font-size: 80%;color: #bbb;}.calendar tbody .day.othermonth.oweekend {color: #fbb;}.calendar table .wn {padding: 2px 2px 2px 2px;border-right: 1px solid #000;background: #666;}.calendar tbody .rowhilite td, .calendar tbody .rowhilite td.wn{background: #ddd;}.calendar tbody td.hilite { background:#444 !important;color:#fff !important;}.calendar tbody td.active { color:#529214;background: #529214 !important;}.calendar tbody td.selected { font-weight: bold;border: 1px solid #888;padding: 1px;background: #f5f5f5 !important;color: #222 !important;}.calendar tbody td.weekend { color: #666;}.calendar tbody td.today {  font-weight: bold;color: #529214;background:#D9EFC2;}.calendar tbody .disabled { color: #999; }.calendar tbody .emptycell { visibility: hidden;}.calendar tbody .emptyrow { display: none;}.calendar tfoot .footrow { text-align: center;background: #556;color: #fff;}.calendar tfoot .ttip { background: #222;color: #fff;font-size:10px;border-top: 1px solid #dedede;padding: 3px;}.calendar tfoot .hilite { background: #aaf;border: 1px solid #04f;color: #000;padding: 1px;}.calendar tfoot .active { background: #77c;padding: 2px 0px 0px 2px;}.calendar .combo {position: absolute;display: none;top: 0px;left: 0px;width: 4em;border: 1px solid #ccc;background: #f5f5f5;color: #222;font-size: 90%;z-index: 100;}.calendar .combo .label,.calendar .combo .label-IEfix {text-align: center;padding: 1px;}.calendar .combo .label-IEfix {width: 4em;}.calendar .combo .hilite {background: #444;color:#fff;}.calendar .combo .active {border-top: 1px solid #999;border-bottom: 1px solid #999;background: #dedede;font-weight: bold;}
