/* The main form.
*/
form {
  font-size:15px;
  background:#fff;
  margin:8px;
  width:544px;
}
form.wider {
  width:630px;
}
form.widest {
  width:752px;
}
form.short {
  width:300px;
}
form .centershort {
  width:140px;
  margin-right:auto;
  margin-left:auto;
}

form fieldset.fail {
  padding-left:40px;
  padding-right:40px;
  padding-top:8px;
}
form fieldset.pass {
  padding-left:40px;
  padding-right:40px;
  padding-top:8px;
}
form fieldset.progress {
  padding-left:40px;
  padding-right:40px;
  padding-top:8px;
}
form fieldset.warning {
  padding-left:40px;
  padding-right:40px;
  padding-top:8px;
}

/* Form labels.
*/
form label {
  display:inline-block;
  float:none;
  width:160px;
  text-align:right;
  margin-right:15px;
}
form label.aligntop{
  vertical-align: top;
}
form label.alignmiddle{
  vertical-align: middle;
}
form label.alignleft{
  text-align:left;
  margin-left:6px;
}
form.short label {
  width:98px;
  margin-right:8px;
}
form label.short {
  width:68px;
  margin-right:8px;
}

form fieldset.fail label {
  text-align:center;
  width:100%;
  line-height:20px;
}
form fieldset.pass label {
  text-align:center;
  width:100%;
  line-height:20px;
}
form fieldset.progress label {
  text-align:center;
  width:100%;
  line-height:20px;
}
form fieldset.warning label {
  text-align:center;
  width:100%;
  line-height:20px;
}
form label.subheading {
  text-align:center;
  width:100%;
  font-style:italic;
  font-weight:bold;
}

/* Form legends and fieldsets.
*/
form legend {
  font-size:15px;
  margin-bottom:6px;
  padding-right:4px;
  padding-left:4px;
  padding-bottom:2px;
}
form legend.nopad {
  margin:0;
  padding:0;
}
form legend span {
  width:160px;
  text-align:right;
}
form fieldset {
  padding:0 8px 8px;
  margin-bottom:6px;
}
form fieldset div fieldset {
  margin-right:30px;
}
form fieldset.hidden {
  display:none;
}
form fieldset div {
  margin:2px 0;
  clear:both;
}

/* Form input.
*/
form input {
  padding:2px;
  font-size:14px;
  font-weight:bold;
}
form.short input {
  width:80px;
}
form.login input {
  width:168px;
}
form.wider input {
  width:380px;
}
form.widest input {
  width:500px;
}
form input.short {
  width:100px;
}
form input.shortest {
  width:40px;
}
form input.mediumshort {
  width:160px;
}
form input.medium {
  width:200px;
}
form input.long {
  width:300px;
}

form input.center {
  text-align:center;
}

/* Form selects.
*/
form.short select {
  max-width: 160px;
}

/* Form checkboxes.
*/
form input[type='checkbox'] {
  border: 0px;
  background-color:transparent;
}
form input[type='checkbox']:hover {
  border: 0px;
  background-color:transparent;
}

/* Form input for a username and password.
*/
form.login label {
  width:80px;
}
form #username {
  width:240px;
}
form #password {
  width:240px;
}

/* Form text areas.
*/
form textarea {
  padding:2px;
  font-size:14px;
  font-weight:bold;

  resize:none;
  width:500px;
  height:224px;
}
form textarea.medium {
  width:380px;
}
form textarea.short {
  width:160px;
  height:60px;
}

/* Form radio buttons.
*/
form .radio {
  position:relative;
}
form .radio input {
  width:13px;
}
form .radio fieldset {
  border:none;
  width:auto;
  padding:1px 0 0 176px;
}
form .radio legend {
  font-size:15px;
}
form .radio legend span {
  position:absolute;
  left:0;
  top:4px;
  width:160px;
  display:block;
}
form .radio label, .radio input {
  vertical-align:middle;
  display:inline;
  float:none;
  width:auto;
  background:none;
  border:none;
}
form .radio div {
  float:left;
  white-space:nowrap;
  clear:none;
  margin:0; padding:0;
}
form input[type='radio'] {
  border: 0px;
  background-color:transparent;
}
form input[type='radio']:hover {
  border: 0px;
  background-color:transparent;
}

/* Form combobox optgroups.
*/
form optgroup {
  border-top: 1px dotted #ccc;
  margin-top: 10px;
}

/* Form buttons.
*/
form .button {
  margin-left:auto;
  margin-right:auto;
  width:180px;
  height:40px;
  font-size:15px;
  border:0;
  display:block;
  cursor:pointer;
}
form .button:disabled {
  cursor:default;
}
form .button img {
  width:32px;
  height:32px;
  vertical-align:middle;
  padding:0px 6px 0px 0px;
}
form .buttonnarrow {
  width:120px;
  height:40px;
  margin-right:10px;
  margin-left:10px;
  display:inline;
}

/* The DD-MM-YYYY in forms.
*/
form .ddmmyyyy {
  font-size:12px;
  vertical-align:middle;
}

/* The spacer in forms.
*/
form .spacer {
  height:8px;
}