form.vh {
	margin: 0 0 1em;
}

form.vh label:after { 
	content: ":"; 
}

form.vh label.long:after {
	content: "";
}

form.vh fieldset {
  border: none;
}

form.vh label { 
	width: 200px; /* label width *//* label margin = (input left margin) - (label width) */
	margin-right: 10px; /* label margin */
	float: left;
	text-align: right;
	padding-top: 0.2em;
	font-weight: bold;
}

form.vh legend {
	font-weight: bold;
}

form.vh label.long, form.vh p.label {
	margin-left: 120px; /* subjective */
	width: 390px; /* (textarea width) + (label width) + (label margin) - (left margin) */
	float: none;
	display: block;
	text-align: left;
}

form.vh label span,
form.vh b {
  font-size: 1.2em;
  position: relative;
  top: 5px;
  color: #900; /* color of required asterisk */
}

form.vh input, form.vh textarea, form.vh select {
       border: 1px solid #C6C7C9;
       margin-left: 210px; /* (label width) + (label margin) */
       width: 250px; /* subjective */
}

form.vh textarea { 
	width: 250px; /* subjective, recommend: (3/2)(input width) */
}

form.vh p.desc {
	margin-left: 210px; /* (label width) + (label margin) */
}

form.vh .checks {
	margin-left: 200px; /* (label width) + 2(label margin) */
}

form.vh .checks label {
       float: left;
}

form.vh .checks input {
        float: left;
}
form.vh {
	margin: 0 0 1em;
}

/*	The following makes Internet Explorer 6.x play nicely. 
	These fix the double float margin bug. */

* html form.vh .checks input { 
	margin-left: 105px;  /* (1/2)((label width) + (label margin)) */
}

* html form.vh .checks label { 
	margin-left: 210px; /* (label width) + (label margin) */
	height: 1em; 
}

form.vh input, form.vh textarea, form.vh select {
	display: block;
	margin-bottom: -0.5em;
}

form.vh br { 
	clear: both;
} 

form.vh input[type="radio"], form.vh input[type="checkbox"], 
form.vh input[type="hidden"] { 
	width: auto; 
	height: 0.8em; 
	border: 0;
}

form.vh input[type="hidden"] {
	display: none;
}

form.vh p.desc {
	display: block;
	margin-top: -0.4em;
	margin-bottom: 1em;
	font-style: italic;
	font-size: 0.9em;
}


input.submit {
  float: left;
  width: 125px!important;
}

/*
	I found my own IE CSS display bug. I call it the "IE sucks, so it redraws the top border all over the fieldset like a jerk bug."
*/
* html form.vh input, * html form.vh textarea, * html form.vh select,
* html form.vh .checks input, * html form.vh .checks label, 
* html form.vh p.desc {
	margin-top: 0;
	margin-bottom: 0;
}
* html form.vh fieldset br {
	line-height: 0.5em;
	font-size: 0.5em;
}

