.form {padding: 10px 0 0 0; position:relative; line-height:1.4em; width: 600px; }
.form form{ margin: 0 0 0 0; position:relative; }

/*fieldset / legend */
.form fieldset { border: solid #4D4D4D; border-width: 1px; padding: 15px 0 15px 0; margin: 30px 0 0 0; position:relative; }
.form legend {margin:0; padding:0; position: relative }
.form legend > span { color:#1E1E1E; font-size: 1.5em; font-weight:normal; display:block; position:absolute; width: 590px; top:-25px; left:-1px; margin: 0; padding: 0 5px; background:#4D4D4D; line-height:25px; }
*+html .form legend { position:static; }

/*inputs*/
.form input[type="radio"] { margin: 2px 0 0 0; vertical-align:top; }
.form input[type="checkbox"] { padding:0; margin: 3px 0 0 0; vertical-align:top; }
*+html .form input[type="radio"] { margin-top: -3px; }
*+html .form input[type="checkbox"] { margin-top: -3px; }

.form input[type="text"],.form input[type="password"],.form select,.form textarea { height: 16px; font-size:1.1em; padding: 2px 3px; margin: 0 0 0 0; vertical-align:middle; border: 1px solid #CFCFCF; background:#F3F3F3 !important; }
.form select { height: 25px; }
.form textarea { padding: 3px; height: 88px; background:#F4F9FA; width:310px; }
.form input:focus, .form textarea:focus, .form select:focus { background:#fff !important; }

/*layout*/
.form .item { padding: 3px 0; margin:0 0 0 20px; overflow:hidden; width: 560px; }
.form .item label,.form .group .title { display:block; float:left; margin: 0 0 0 0; padding: 0 0 3px 0; text-align:right; padding-right: 15px; width: 220px; /*change*/ }
.form .item input[type="text"],.form .input input[type="password"] { float:left; width: 310px; /*change*/ }
.form .item select { width: 318px; }

.form .group { }
.form .group ul{ float:left; width:300px; border-left:1px solid #eee; margin:0 0 10px 20px;padding:0; }
.form .group ul li{ padding:3px 3px 3px 10px; list-style:none; }

.form .submit { text-align:right; padding: 10px 0 0 0; }
.form input[type="submit"] { font-size: 1.1em; background:#0b6db8; padding: 5px 7px; color: #fff; }

/* errors */
.form .error { margin-bottom: 4px; margin-top:4px; background:#f7f0f0; }
.form .error-message { font-weight:normal; color: #b40404; padding: 0 0 0 215px; }
.form .error label { color:#b40404; font-weight:bold; }
.form p { margin-left:20px; margin-right:20px; }

/*form specific*/

/*BUTTONS*/
.form .buttons { text-align:right; padding:5px 0; margin:0; }
button {cursor:pointer;vertical-align:middle;display:block;display:inline-block;position:relative;overflow:visible;background:transparent;}
a.button, button > span {cursor:pointer;display:block;display:inline-block;vertical-align:middle;text-decoration:none;position:relative;padding:0 0 0 17px;text-indent:0;background:#ccc;}
a.button span, button > span span { display:block; white-space:nowrap; line-height:25px; padding: 0 17px 0 0; color:#fff; font-size:1em; font-weight:bold;}
/*hover*/
button:hover > span, a.button:hover {background:#eee!important; }
button:hover > span span, a.button:hover span {}
