form { width: 625px; margin: 0 auto; }

fieldset.req-section { padding: 10px; margin-bottom: 1em; width: 625px; margin-left: auto; margin-right: auto; }
fieldset.req-section * { vertical-align: baseline; }
legend { padding: 0 10px; margin-bottom: .5em; }

input { margin-left: 10px; width: 300px; vertical-align: baseline;}
select { margin-left: 10px; }
textarea { width: 600px; height: 100px; margin-left: 10px; }

.required { font-weight: bold; }
.half { margin-bottom: .5em; }
.third { width: 33%; margin-bottom: .5em; }
.clear { clear: both; }

span.chkOption { display: block; width: auto; margin-left: 20px; }
span.chkOption input { width: auto; }
span.inset { margin-left: 10px; }

label { display: block; padding-bottom: 1em; }
label span { width: 200px; }
label span.full { display: block; width: 100%; padding-bottom: .25em;}
label span .note { padding: 0 5px; font-size: 80%; font-style: italic; font-weight: normal; width: auto; }

label.phone { width: 240px; padding-right: 10px; text-align: right; }
label.phone span { display: inline-block; width: 100px; text-align: left; }
label.phone input { width: 120px; }

label.altdir { margin: 0 0 1em 20px; }
label.altdir span { width: auto; }
label.altdir input { width: auto; margin-top: 5px; }

label.chkGroup { padding-bottom: 0; }

label.other { margin-left: 20px; }

.form-buttons { margin-top: 1em; text-align: center; } 
.form-buttons input { width: 300px; margin: 0 5px; padding: 0; }