/* form */
.form {
	position: relative;
}
.form p {
	margin: 5px 0;
}
.form label {
	display: block;
	margin: 2px 0;
}
.form :first-child {
	margin-top: 0;
}
.form .field {
	margin: 0 0 15px;
}
.form :last-child {
	margin-bottom: 0;
}
.form input[type=text], 
.form input[type=password],
.form input[type=email],
.form input[type=url],
.form input[type=month],
.form input[type=week],
.form input[type=time],
.form input[type=date],
.form input[type=datetime],
.form input[type=datetime-local],
.form input[type=number],
.form input[type=search],
.form input[type=tel],
.form input[type=color]
.form input[type="file"],
.form select,
.form textarea {
	border: 1px solid #ddd;
	display: inline-block;
	padding: 8px 10px;
	max-width: 100%;
}
.form textarea {
	height: 10em;
	max-height: 20em;
	resize: vertical;
}

.form-success input, .field.success .input, .field.success textarea, 
.field.success .textarea, .field.success .radio span, .field.success .checkbox span, .field.success .picker {
border-color: #58c026;
color: #58c026;
background: #c0eeaa;

}

.form > .grid select,
.form > .grid textarea,
.form > .grid input:not([type]),
.form > .grid input[type="text"],
.form > .grid input[type="password"],
.form > .grid input[type="datetime"],
.form > .grid input[type="datetime-local"],
.form > .grid input[type="date"],
.form > .grid input[type="month"],
.form > .grid input[type="time"],
.form > .grid input[type="week"],
.form > .grid input[type="number"],
.form > .grid input[type="email"],
.form > .grid input[type="url"],
.form > .grid input[type="search"],
.form > .grid input[type="tel"],
.form > .grid input[type="color"] {
	width: 100%;
}

/* form:focus theme */
.form select:focus,
.form textarea:focus,
.form input:not([type]):focus,
.form input[type="text"]:focus,
.form input[type="password"]:focus,
.form input[type="datetime"]:focus,
.form input[type="datetime-local"]:focus,
.form input[type="date"]:focus,
.form input[type="month"]:focus,
.form input[type="time"]:focus,
.form input[type="week"]:focus,
.form input[type="number"]:focus,
.form input[type="email"]:focus,
.form input[type="url"]:focus,
.form input[type="search"]:focus,
.form input[type="tel"]:focus,
.form input[type="color"]:focus {
	background: #f5fbfe;
	border-color: #99baca;
	outline: 0;
	outline: thin dotted \9; /* IE6-9 */
}

/* disabled */
.form input[type="text"][disabled],
.form input[type="password"][disabled],
.form input[type="email"][disabled],
.form input[type="url"][disabled],
.form input[type="date"][disabled],
.form input[type="month"][disabled],
.form input[type="time"][disabled],
.form input[type="datetime"][disabled],
.form input[type="datetime-local"][disabled],
.form input[type="week"][disabled],
.form input[type="number"][disabled],
.form input[type="search"][disabled],
.form input[type="tel"][disabled],
.form input[type="color"][disabled],
.form select[disabled],
.form textarea[disabled] {
	cursor: not-allowed;
	background: #f5f5f5;
}
.form input[readonly],
.form select[readonly],
.form textarea[readonly] {
	cursor: not-allowed;
	background: #f5f5f5;
	border-color: #ccc;
}

/* form-horizontal */
.form-horizontal .field label {
	display: inline-block;
	margin-right: 10px;
	text-align: right;
	vertical-align: middle;
	width: 190px;
}
.form-danger {
	border-color: #dc8d99!important;
	background: #fff7f8!important;
	color: #c91032!important;
}

/* form style */
.form-rounded select,
.form-rounded textarea,
.form-rounded input:not([type]),
.form-rounded input[type="text"],
.form-rounded input[type="password"],
.form-rounded input[type="datetime"],
.form-rounded input[type="datetime-local"],
.form-rounded input[type="date"],
.form-rounded input[type="month"],
.form-rounded input[type="time"],
.form-rounded input[type="week"],
.form-rounded input[type="number"],
.form-rounded input[type="email"],
.form-rounded input[type="url"],
.form-rounded input[type="search"],
.form-rounded input[type="tel"],
.form-rounded input[type="color"] {
	border-radius: 1000em;
}
.form-thick select,
.form-thick textarea,
.form-thick input:not([type]),
.form-thick input[type="text"],
.form-thick input[type="password"],
.form-thick input[type="datetime"],
.form-thick input[type="datetime-local"],
.form-thick input[type="date"],
.form-thick input[type="month"],
.form-thick input[type="time"],
.form-thick input[type="week"],
.form-thick input[type="number"],
.form-thick input[type="email"],
.form-thick input[type="url"],
.form-thick input[type="search"],
.form-thick input[type="tel"],
.form-thick input[type="color"] {
	border: solid 4px #ddd;
}
.form-underline select,
.form-underline textarea,
.form-underline input:not([type]),
.form-underline input[type="text"],
.form-underline input[type="password"],
.form-underline input[type="datetime"],
.form-underline input[type="datetime-local"],
.form-underline input[type="date"],
.form-underline input[type="month"],
.form-underline input[type="time"],
.form-underline input[type="week"],
.form-underline input[type="number"],
.form-underline input[type="email"],
.form-underline input[type="url"],
.form-underline input[type="search"],
.form-underline input[type="tel"],
.form-underline input[type="color"] {
	border: none;
	border-bottom: solid .1em #ddd;
}
/* form-desc */
.form-desc {
	color: #bbb;
	font-size: 85%;
	margin-top: 4px;
}
/* form-group */
.form-group:after { 
	content: "";
	display: table;
	clear: both;
}
.form-group > input,
.form-group > select,
.form-group > textarea,
.form-group > .btn {
	margin-right: 5px;
	position: relative;
}
.form-group  :last-child {
	margin-right: 0;
}
/* required */
.form .req,
.form .required {
	color: #d70a16;
}
/* input group */
.input-group {
	display: table;
}
.input-group + .input-group {
	margin-top: 20px;
}
.input-group input {
	width: 100%;
}
.input-group input,
.input-group .input-append,
.input-group .input-prepend,
.input-group .btn-append {
	display: table-cell!important;
}
.input-group .btn-append,
.input-group .input-append,
.input-group .input-prepend {
	width: 1%;
	vertical-align: middle;
}
.input-group .input-append,
.input-group .input-prepend {
	background: #f8f8f8;
	border: 1px solid #ddd;
	padding: 8px 12px;
	white-space: nowrap;
}
.input-group .input-prepend {
	border-right: 0;
}
.input-group .input-append {
	border-left: 0;
	position: relative;
	z-index: 1;
}
.input-group .btn-append .btn {
	border-radius: 0 2px 2px 0;
	border-left: 0;
	display: block;
	height: auto;
}