/* - - - - - - - - - - - - - - - - - - - - -

Title : Wufoo Form Foundation
Author : Infinity Box Inc.
URL : http://wufoo.com

Last Updated : November 13, 2007

- - - - - - - - - - - - - - - - - - - - - */

.wufoo li{
	width:100%;
}
form ul{
	margin:0;
	padding:0;
	list-style-type:none;
	width:100%;
	font-size:100%;
}
form li{
	margin:0;
	padding: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;
	padding:0;
}
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;
	border-bottom:1px dotted #ccc;
	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.desc{
	line-height:150%;
	padding:0 0 1px 0;
	border:none;
	color:#222;
	display:block;
	font-size:95%;
	font-weight:bold;
}
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{
	font-family: Arial, Helvetica, sans-serif;
	margin:0;
	font-size:100%;
	color:#333;
}
input.text, textarea.textarea, .firefox select.select{
	border:1px solid #e2e2e2;
}
input.text, input.file, textarea{
	padding:5px;
}
select.select, .firefox select.select { padding:15px 16px; }
select.select option, .firefox select.select option { padding:0 0 0 20px; }

#provinces p a { display:block; width:603px; height:42px; padding: 16px 0 0 20px; border:1px solid #aeaeae; font-size:2em; text-decoration:none; color:#333; margin:3px 0 3px 3px; background:white url(/images/icons/province_arrow_out.gif) 565px 20px no-repeat; }

#provinces p a:hover { background:white url(/images/icons/province_arrow_over.gif) 565px 20px no-repeat; }

#provinces p a.error { border:1px solid red; }

ul#provincesDropdown { 	float:left; width:623px;
						margin-left:3px; border-left:1px solid #e0dfdf; border-right:1px solid #e0dfdf; border-bottom:1px solid #e0dfdf; display:inline; }

ul#provincesDropdown li { float:left; display:block; }

ul#provincesDropdown li a { display:block; width: 583px; height:32px; font-size:2em; text-decoration:none; padding:10px 20px; color:#333; }

ul#provincesDropdown li a:hover {background:#F6F6F6; }

label.choice{
	font-size:100%;
	display:block;
	line-height:1.5em;
	margin:-1.65em 0 0 25px;
	padding:.44em 0 .5em 0;
	color:#222;
	width:90%;
}
input.checkbox, input.radio{
	display:block;
	line-height:1.5em;
	margin:.6em 0 0 3px;
	width:13px;
	height:13px;
}

/*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;
}
.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, textarea.medium{
	width:583px;
}
select.medium{
	width:625px;
}
input.large, select.large, textarea.large{
	width:872px;
}

textarea.small{
	height:5.5em;
}
textarea.medium{
	height:10em;
}
textarea.large{
	height:20em;
}

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

#errorDiv{
	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;
}
#successDiv{
	width:99%;
	margin:0 auto;
	background:#fff;
	border:1px dotted green;
	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;
}
#successMsgLbl{
	margin:7px 0 5px 0;
	padding:0;
	font-size:125%;
	color:green;
}
#errorMsg{
	margin:0 0 .8em 0;
	font-size:100%;
}
#successMsg{
	margin:0 0 .8em 0;
	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 div.error input.text, form div.error textarea.textarea{
	border: 1px solid red !important;
}
form li.error label{
	color:#DF0000 !important;
}
form p.error{
	float:left;
	color:red;
	background:#FFDFDF;
	font-weight:bold;
	margin:5px 0;
	padding:2px 3px;
	clear:both;
}
form li.error p.error{
	display:block;
}
.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;
}
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%;
}