/* NORMALIZE AND RESET */
form.formtastic, form.formtastic ul, form.formtastic ol, form.formtastic li, form.formtastic fieldset, form.formtastic legend, form.formtastic input, form.formtastic textarea, form.formtastic select, form.formtastic p { margin:0; padding:0; }
form.formtastic fieldset { border:0; }
form.formtastic em, form.formtastic strong { font-style:normal; font-weight:normal; }
form.formtastic ol, form.formtastic ul { list-style:none; }
form.formtastic abbr, form.formtastic acronym { border:0; font-variant:normal; }
form.formtastic input, form.formtastic textarea, form.formtastic select { font-family:inherit; font-size:inherit; font-weight:inherit; }
form.formtastic input, form.formtastic textarea, form.formtastic select { font-size:100%; }
form.formtastic legend { color:#000; }

/* FIELDSETS & LISTS */
form.formtastic fieldset { }
form.formtastic fieldset.inputs { }
form.formtastic fieldset.buttons { padding-left:20%; }
form.formtastic fieldset ol { }

/* clearfixing the fieldsets */
form.formtastic fieldset { display: inline-block; }
form.formtastic fieldset:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
html[xmlns] form.formtastic fieldset { display: block; }
* html form.formtastic fieldset { height: 1%; }

/* INPUT LIs */
form.formtastic fieldset ol li { margin-bottom:1.5em; }

/* clearfixing the li's */
form.formtastic fieldset ol li { display: inline-block; }
form.formtastic fieldset ol li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
html[xmlns] form.formtastic fieldset ol li { display: block; }
* html form.formtastic fieldset ol li { height: 1%; }

form.formtastic fieldset ol li.required { }
form.formtastic fieldset ol li.optional { }
form.formtastic fieldset ol li.error { }

/* LABELS */
form.formtastic fieldset ol li label { display:block; width:20%; float:left; padding-top:.2em; }
form.formtastic fieldset ol li li label { line-height:100%; padding-top:0; }
form.formtastic fieldset ol li li label input { line-height:100%; vertical-align:middle; margin-top:-0.1em;}

/* NESTED FIELDSETS AND LEGENDS */
form.formtastic fieldset ol li fieldset { position:relative; }
form.formtastic fieldset ol li fieldset legend { position:absolute; width:20%; padding-top:0.1em; }
form.formtastic fieldset ol li fieldset legend span { position:absolute; }
form.formtastic fieldset ol li fieldset ol { float:left; width:74%; margin:0; padding:0 0 0 20%; }
form.formtastic fieldset ol li fieldset ol li { padding:0; border:0; }

/* INLINE HINTS */
form.formtastic fieldset ol li p.inline-hints { color:#666; margin:0.5em 0 0 20%; }

/* INLINE ERRORS */
form.formtastic fieldset ol li p.inline-errors { color:#cc0000; margin:0.5em 0 0 20%; }
form.formtastic fieldset ol li ul.errors { color:#cc0000; margin:0.5em 0 0 20%; list-style:square; }
form.formtastic fieldset ol li ul.errors li { padding:0; border:none; display:list-item; }

/* CHECKBOX OVERRIDES */
form.formtastic fieldset ol li.boolean label { padding-left:20%; width:auto; }
form.formtastic fieldset ol li.boolean label input { margin:0 0.5em 0 0.2em; }

/* RADIO OVERRIDES */
form.formtastic fieldset ol li.radio { }
form.formtastic fieldset ol li.radio fieldset ol { margin-bottom:-0.6em; }
form.formtastic fieldset ol li.radio fieldset ol li { margin:0.1em 0 0.5em 0; }
form.formtastic fieldset ol li.radio fieldset ol li label { float:none; width:100%; }
form.formtastic fieldset ol li.radio fieldset ol li label input { margin-right:0.2em; }

/* PRETTY BUTTONS */
.buttons button{
  margin:2px 7px 2px 0;
  background-color:#f5f5f5;
  border:1px solid #dedede;
  border-top:1px solid #eee;
  border-left:1px solid #eee;
  font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
  font-size:100%;
  line-height:130%;
  text-decoration:none;
  font-weight:bold;
  color:#565656;
  cursor:pointer;
  padding:3px 7px 4px 4px; /* Links */
}
.buttons button{
  width:auto;
  overflow:visible;
  padding:2px 7px 1px 4px; /* IE6 */
}
.buttons button[type]{
  padding:3px 7px 3px 4px; /* Firefox */
  line-height:17px; /* Safari */
}
*:first-child+html button[type]{
  padding:2px 7px 1px 4px; /* IE7 */
}
.buttons button img {
  margin:0 2px -3px 0 !important;
  padding:0;
  border:none;
  width:16px;
  height:16px;
}

button:hover {
  background-color:#dff4ff;
  border:1px solid #c2e1ef;
  color:#336699;
}

button.positive {
  color:#529214;
}
button.positive:hover{
  background-color:#E6EFC2;
  border:1px solid #C6D880;
  color:#529214;
}

button.negative{
  color:#d12f19;
}
button.negative:hover{
  background:#fbe3e4;
  border:1px solid #fbc2c4;
  color:#d12f19;
}

/* CUSTOMIZATION */
form.formtastic fieldset ol li.error input {
  border: 2px solid #C00;
}

form.formtastic fieldset ol li p.inline-hints {
  color: #777;
  margin: 0 0 4px 0;
  margin-left: 20%;
  font-size: 12px;
}

form.formtastic fieldset ol li p.inline-errors {
  color: #C00;
  display: block;
  margin: 4px 0 0 0;
  margin-left: 20%;
}
form.formtastic input {
  width:300px;
}
form.formtastic textarea {
  width:300px;
  height:100px;
}
