h2 {
background-color: #dedede;
border-bottom: 1px solid #d4d4d4;
border-top: 1px solid #d4d4d4;
border-radius: 5px;
box-shadow: 3px 3px 3px #ccc;
color: #fff;
font-size: 1.1em;
margin: 12px;
padding: 0.3em 1em;
text-shadow: #9FBEB9 1px 1px 1px;
text-transform: uppercase;
}

fieldset {
background-color: #f1f1f1;
border: none;
border-radius: 2px;
overflow: hidden;
padding: 0.5em 1em;
clear:both;
}

.fields {
background-color: #fff;
border: 1px solid #eaeaea;
margin: .75em;
padding: .75em;
}

.fields .row {margin: 0.5em 0;}

label {
cursor: pointer;
display: inline-block;
padding: 3px 6px;
text-align: right;
width: 4.6875em;
vertical-align: top;
}

.required {color: red;}

input,select,button {font: inherit;}

.field-small {width: 4.6875em;}

.field-medium {width: 9.375em;}

.field-large {width: 15.625em;}

select {padding-right: 1em;}

textarea {
font: inherit;
padding: 2px;
max-height:9.375em;
min-height:4.6875em;
max-width:31.25em;
min-width:21.25em;
}

.textarea-large {min-width:100%;}

.instructions {
font-size: .75em;
padding-left: 167px;
font-style: italic;
margin: .5em 0 1.2em;
}

/* :::: Radio Buttons :::: */
.radios {
background-color: transparent;
position: relative;
margin-bottom: 0;
}

.radios .row {
margin: 0 0 0 150px;
}

.radios legend {
left: 0;
padding: 0 6px;
position: absolute;
text-align: right;
top: 2px;
width: 148px;
*width: 143px; /* a hack for IE7 */
}

.radios label {
padding-left: 2px;
margin-right: 5px;
vertical-align: middle;
width: auto;
}

/* :::: Checkboxes :::: */
.checkboxes label {
text-align: left;
width: 475px;
}

button * {vertical-align: middle;}
