input.textfield { position:absolute; left:120px; top:auto; margin:0; font:12px Verdana, Arial, Helvetica, sans-serif; border:1px solid #ccc; background-color:#fff; color:#000; width:278px; }
textarea.textareafield, select.selectfield { position:absolute; margin:0; left:120px; top:auto; font:12px Verdana, Arial, Helvetica, sans-serif; border:1px solid #ccc; background-color:#fff; color:#000; width:278px; overflow:auto; /* non va bene per input. */ }
input.radiofield, input.checkfield { position:absolute; left:120px; margin:0; top:2px; font:12px Verdana, Arial, Helvetica, sans-serif; border:none; width:1em; height:1em; vertical-align:middle; background-color:inherit; color:#000; } 

input.textfield:hover, input.textfield:focus, textarea.textareafield:hover, textarea.textareafield:focus, select.selectfield:hover, select.selectfield:focus
{ border:1px solid #666; background-color:#f1f1f1; color:#000;  }

input.textfield_err, textarea.textareafield_err, select.selectfield_err { border:1px solid #ff0000; background-color:#fff; 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:80px; height:20px; background-color:#c1d000; color:#000; border:none; }
input.image_submit { position:absolute; top:15px; right:20px; }
input.image_account_submit { position:absolute; top:0px; right:0px; }

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

label.default { position:absolute; left:0; top:auto; width:auto; color:#aa0000; }
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; }

form#fm_newsletter { width:350px; padding-top:20px; }
form#fm_contatti { /*float:right; width:280px;*/ width:400px; padding-top:20px; }
form#fm_search { position:absolute; top:2px; right:120px; width:260px; }

form#fm_search div.form_row { height:20px; }
form#fm_search label { top:2px; font-size:11px; color:#fff; }
form#fm_search input.textfield { left:40px; width:198px; }
form#fm_search input.image_submit { right:0; top:2px; }

form#fm_datafilter #catalogue_ID { left:55px; width:80%; }

form#fm_search_order div.form_row { margin-top:2px; height:20px; }
form#fm_search_order label { color:#000; }

/*
form#fm_contatti div.form_row { height:3.5em; }
form#fm_contatti label { display:block; position:static }
form#fm_contatti label#fm_contatti_privacy_lbl { position:absolute; } 
form#fm_contatti input { display:block; position:static }
form#fm_contatti input#fm_contatti_privacy { position:absolute; }
form#fm_contatti textarea { display:block; position:static }
*/

div.fm_output_messages { display:none; margin:10px 0 10px 0; }

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

div.form_confirm { position:absolute; top:15px; right:20px; }
img#butt_no_filter { position:absolute; top:auto; right:10px; }

div.link_privacy { position:absolute; top:2px; left:145px; /*width:120px;*/ width:auto; }

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; }