input.textfield { font:12px Verdana, Arial, Helvetica, sans-serif; border:1px solid #666; background-color:#fff; color:#000; width:298px; }

textarea.textareafield, select.selectfield { font:12px Verdana, Arial, Helvetica, sans-serif; border:1px solid #666; background-color:#fff; color:#000; width:298px; overflow:auto; /* non va bene per input. */ }

input.radiofield, input.checkfield { font:12px Verdana, Arial, Helvetica, sans-serif; border:none; width:1.2em; height:1.2em; vertical-align:middle; background-color:#fff; color:#000; } 

input.textfield_err, textarea.textareafield_err, select.selectfield_err { border:1px solid #ff0000; background-color:#eaeaea; color:#000; }

input.radiofield_err, input.checkfield_err { border: 1px solid #ff0000; background-color:#fff; color:#000; } 

input.butt_submit { position:absolute; top:0; right:0; width:60px; height:20px; background-color:#7ab5ef; color:#fff; border:none; }

input.hidden_submit { position:absolute; visibility:visible; height:0; width:0; border:none; left:-2000px;  }

label.default { position:absolute; left:0; top:auto; width:100px; }
label { color:#ff0000; }

label.hidden, legend, ul.empty_required { display:none; }

ul.errorlist { padding-left:15px; margin:0; }

ul.errorlist li.errorlist_item { padding:0; list-style-position:outside; color:#ff0000; background-color:inherit; list-style-type:disc; }

div#fm_newsletter_output_messages { display:none; font-size:10px; margin:10px 0 10px 0; }
div#fm_contatti_output_messages { display:none; font-size:10px; margin:10px 0 10px 0; }

div.form_row { position:relative; height:2.5em; }

div.form_confirm { position:absolute; top:0; right:0; }

div.link_privacy { position:absolute; top:0; left:125px; }

div.form_group {}

form { padding:0; margin:0; }

fieldset { border:none; padding:0; margin:0; }

optgroup { font-style:normal; color:#fff; background-color:inherit; }

.asterisco { color:#ff0000; background-color:inherit; font-weight:normal; padding-left:5px; font-size:9px; }