#contact-form ul
{
	margin:0;
	padding:0;
	width:100%;
	position: relative;
	zoom: 1;
	float: left;
}

fieldset {
    padding: 0.5em 1em 1em;
}

fieldset.hoverable:hover 
{
    background: #94C5E3;
}

form div.left {
    width: 20.5em;
	float:left;
}

form div.right {
	float: left;
}

form label {
    display: block;
}

form label.small
{
	color:#444;
    float: left;
	display: inline;
	font-size:9px;
	line-height:9px;
	margin:0;
	padding-top:3px;
}


.form_description
{
	border-bottom:1px dotted #ccc;
	clear:both;
	display:inline-block;
	margin:0 0 1em 0;
}



/**** Inputs and Labels ****/
label.description
{
	border:none;
	color:#222;
	display:block;
	font-size:95%;
	font-weight:700;
	line-height:150%;
	padding:0 0 1px;
}

input.text
{
    width: 40em;
	border-bottom:1px solid #ddd;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-top:1px solid #7c7c7c;
	color:#333;
	padding:2px 0;
}

input#contact-first-name {
    width: 19.58em;
    margin-right: 0.83em;
}
input#contact-last-name {
    width: 19.58em;
}

textarea
{
    width: 40em;
    height: 10em;
	border-bottom:1px solid #ddd;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-top:1px solid #7c7c7c;
	color:#333;
}

select.select
{
	color:#333;
	font-size:100%;
	margin:1px 0;
	padding:1px 0 0;
	border-bottom:1px solid #ddd;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-top:1px solid #7c7c7c;
}

label.choice
{
	color:#444;
	display:block;
	font-size:100%;
	line-height:1.4em;
	margin:-1.55em 0 0 25px;
	padding:4px 0 5px;
	width:90%;
}

button {
    padding: .5em .75em;
    border: 0 none;
    background: #d0d0d0;
    color: #000000;
}

button:hover {
    background: #808080;
    color: #ffffff;
}

/**** Errors ****/
label.error {
    background-color: #E4969F;
    display: none !important;
}

input.text.error {
    background: #E4969F url(/images/icons/error.png) right center no-repeat scroll;
}
textarea.error {
    background: #E4969F url(/images/icons/error.png) right top no-repeat scroll;
}

form p.error
{
	clear:both;
	color:red;
	font-size:10px;
	font-weight:700;
	margin:0 0 5px;
}

form .required
{
	color:red;
	float:none;
	font-weight:700;
}

/**** Guidelines and Error Highlight ****/
form li.highlighted
{
	background-color:#fff7c0;
}

form .guidelines
{
	background:#f5f5f5;
	border:1px solid #e6e6e6;
	color:#444;
	font-size:80%;
	left:100%;
	line-height:130%;
	margin:0 0 0 8px;
	padding:8px 10px 9px;
	position:absolute;
	top:0;
	visibility:hidden;
	width:42%;
	z-index:1000;
}

form .guidelines small
{
	font-size:105%;
}

form li.highlighted .guidelines
{
	visibility:visible;
}

form li:hover .guidelines
{
	visibility:visible;
}

