/* - - - - - - - - - - - - - - - - - - - - -

Title : Wufoo Form Foundation
Author : Infinity Box Inc.
URL : http://wufoo.com

Last Updated : November 13, 2007

- - - - - - - - - - - - - - - - - - - - - */
form.wufoo{
	margin-bottom: 10px;
	padding: 0;
}

.wufoo span {
	padding-left: 5px;
	margin-right: 5px;
}

.wufoo span.first {
	padding-left: 0;	
}

.wufoo span input {
	margin-right: 4px;	
}

.wufoo li{
	width:98%;
}

form ul{
	margin:0;
    padding: 0;
	list-style-type:none;
	width:100%;
	font-size:100%;
}

form li{
	margin:0;
	padding:4px 5px 2px 0;
	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;
}

form li span{
	float:left;
}

form li div.address{
	padding-bottom:0;
}

form li div.left{
	display:inline;
	float:left;
	width:47%;
	height: 40px;
}

form li div.right{
	display:inline;
	float:right;
	width:47%;
	height: 40px;
}

.clear{
	clear:both !important;
}

/* ----- INFO ----- */

.info{
	display:inline-block; 
	clear:both;
	border-bottom: 1px dashed #9a8e5f;
	margin:0 0 1em 0;
}
.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{
	border-top:1px dotted #ccc;
	margin-top:9px;
	padding-top:13px;
	padding-bottom:0px;
	padding-left:9px;
	width:97% !important;
}
form ul li.first{
	border-top:none !important;
	margin-top:0px !important;
	padding-top:0px !important;
}
form .section h3{
	font-weight:normal;
	font-size:110%;
	line-height:135%;
	margin:0 0 2px 0;
}
form .section p{
	font-size:85%;
	margin:0 0 10px 0;
}

/* ----- FIELDS AND LABELS ----- */

label {
	line-height: 100%;
	padding: 0 0 1px 0;
	border: none;
	color: #222;
	display: block;
	font-size: 10px;
}

label.desc {
	line-height: 150%;
	padding: 0 0 1px 0;
	border: none;
	color: #222;
	font-size: 11px;
	font-weight: bold;
}

label.required {
	padding-left: 15px;
	background: url(../cafe/media/images/bg_required.gif) no-repeat center left;	
}

label.choice{
	font-size:100%;
	font-weight: normal;
	display:block;
	line-height:1.4em;
	margin:-1.55em 0 0 25px;
	padding:4px 0 5px 0;
	color:#222;
	width:90%;
}

input.text, input.file, textarea.textarea, select.select{
	margin: 0;
	font-size: 13px;
	color: #333;
}

input.text, textarea.textarea, .firefox select.select{
	border-top:1px solid #7c7c7c;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-bottom:1px solid #ddd;
	background:#fff url(../cafe/media/images/fieldbg.gif) repeat-x top;
}

input.text, input.file{
	padding: 2px 0 2px 0;
}

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{
	margin:.1em 5px 0 0;
	padding:0;
	cursor:pointer !important;
}

/* ----- BUTTONS ----- */

input.btTxt{
	padding:0 7px;
	width:auto;
	overflow:visible;
}
.buttons{
	text-align: right;
    border-top: 1px solid #000;
	margin-top: 20px;
	padding-top: 10px;
	clear:both;
	
}
.buttons input{
	margin-right: 0;
}

/* ----- 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%;
}
input.large, select.large, textarea.textarea{
	width: 100%;
}

textarea.small{
	height: 5.5em;
}
textarea.medium{
	height: 10em;
}
textarea.large{
	height: 20em;
}

/* ----- ERRORS ----- */

ul.errors {
	margin: 0;
	padding: 0;	
}

ul.errors li {
	color: #DF0000;
	font-size: 11px;
	margin: 0;
	padding: 0;
}

.status {
	width: 100%;
	margin-bottom: 10px;
}

.status p{
	padding: 5px;
	margin-bottom: 5px;
}

.status ul {
	padding: 0;
	margin: 0;
}

.status li {
	padding: 0 5px 5px 5px;
}

#errorLi{
	width:99%;
	margin:0 auto;
	background:#fff;
	border:1px dotted red;
	margin-bottom:1em;
	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:0 0 .8em 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:-2px 0 5px 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%;
}

/* ----- Recordset TABLE ----- */

table.recordset {
	width: 100%;
	border-collapse: collapse;
	}
	
.recordset th {
	font: bold 11px Geneva, Arial, Helvetica, sans-serif;
	color: #fff;
	background: #8d1b24;
	padding: 5px;	
}
	
.recordset td {
	font: 11px Geneva, Arial, Helvetica, sans-serif;
	padding: 5px;
}

.recordset .label {
	width: 150px;
	padding: 5px 5px 5px 0; 
}


/* ----- Datepicker ----- */

div.datepicker {
	position: absolute;
	text-align: center;
	border: 1px #C4D5E3 solid;
	font-family: arial;
	background: #FFFFFF;
	font-size: 10px;
	padding: 0px;
}

div.datepicker table {
	font-size: 10px;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: 180px;
}

div.datepicker table thead tr th {
	font-size: 12px;
	font-weight: bold;
	background: #e9eff4;
	border-bottom:1px solid #c4d5e3;
	padding: 0px;
	margin: 0px;
}

div.datepicker table tbody tr {
	border: 1px white solid;
	margin: 0px;
	padding: 0px;
}

div.datepicker table tbody tr td {
	border: 1px #eaeaea solid;
	margin: 0px;
	padding: 0px;
	text-align: center;
}

div.datepicker table tbody tr td:hover,
div.datepicker table tbody tr td.outbound:hover,
div.datepicker table tbody tr td.today:hover {
	border: 1px #c4d5e3 solid;
	background: #e9eff4;
	cursor: pointer;
}

div.datepicker table tbody tr td.wday {
	border: 1px #ffffff solid;
	background: #ffffff;
	cursor: text;
}

div.datepicker table tbody tr td.outbound {
	background: #e8e4e4;
}

div.datepicker table tbody tr td.today {
	border: 1px #16518e solid;
	background: #c4d5e3;
}

div.datepicker table tbody tr td.nclick,
div.datepicker table tbody tr td.nclick_outbound {
	cursor:default; 
	color:#aaa;
}

div.datepicker table tbody tr td.nclick_outbound {
	background: #E8E4E4;
}

div.datepicker table tbody tr td.nclick:hover,
div.datepicker table tbody tr td.nclick_outbound:hover {
	border: 1px #eaeaea solid;
	background: #FFF;
}

div.datepicker table tbody tr td.nclick_outbound:hover {
	background:#E8E4E4;
}

div.datepicker table tfoot {
	font-size: 10px;
	background: #e9eff4;
	border-top:1px solid #c4d5e3;
	cursor: pointer;
	text-align: center;
	padding: 0px;
}

p.hint {
	float: left;
	clear: left;
	margin: 0 0 0 150px;
	padding-bottom: 0;
	color: #888;
}
