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

Title : Contact Form Stylesheet
Author : Rick Whittington
URL : http://www.rickwhittington.com

Last Updated : April 11, 2008

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

form.rwc{
	margin: 20px 20px 0 0;
}

#left form.rwc ul {
	margin: 0;
}

.rwc li {
	width: 62%;
}

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;
	color: #333;
}

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;
}

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

label.desc {
	line-height: 150%;
	padding: 0 0 1px 0;
	border: none;
	color: #333;
	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, textarea.textarea, {
	border-top: 1px solid #7c7c7c;
	border-left: 1px solid #c3c3c3;
	border-right: 1px solid #c3c3c3;
	border-bottom: 1px solid #ddd;
	background: #fff;
}

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

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;
}

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

/* ----- 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: 10em;*/
	width: 180px;
}

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

#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 #c9c8bf;
background:#deddd3;
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%;
}

#right form.rwc ul {
	border: 0;
	list-style: none;
	padding-right: 10px;
}

#right form.rwc ul li {
	list-style: none;
	background: none;
}

#right form.rwc ul li input.large,
#right form.rwc .rail {
	width: 170px !important;
}

#right .rail_form ul, #right .rail_form li {list-style: none; background: none; margin: 0; padding: 0; border: none;}
#right .rail_form input.text,#right .rail_form textarea {width: 200px;}
