/*
 * ---------------------------
 * --------- General ---------
 * ---------------------------
 */
form {
}
input[type="text"],
input[type="password"],
textarea,
select {
	border: 1px solid #d4d4d4;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	color: #000;
}
input[type="text"],
input[type="password"],
textarea {
	padding: 5px 10px;
}
input,
select {
	height: 35px;
}
input {
	line-height: 35px;
}
textarea {
	height: 70px;
}
.form-group {
	font-size: 0;
}
.form-group:not(:last-child) {
	margin-bottom: 15px;
}
.form-label-wrapper {
	margin-bottom: 2px;
}
.form-label {
	font-size: 12px;
}
.form-element-error:empty,
.form-element-success:empty {
	display: none;
}
.form-element-error,
.form-element-success {
	margin-top: 3px;
	font-weight: 700;
	font-size: 11px;
}
.form-element-error {
	color: #de3838;
}
.form-element-success {
	color: #20bd45;
}
.form-element-error .help-inline,
.form-element-success .help-inline {
	display: block;
}
input.has-error,
select.has-error,
textarea.has-error {
	border-color: #de3838;
}
/*
 * ---------------------------
 * --------- Inline ----------
 * ---------------------------
 */
.form-inline .form-label-wrapper,
.form-inline .form-element-wrapper,
.form-inline .form-group-checkbox .form-checkbox-spacing {
	display: inline-block;
	vertical-align: middle;
}
.form-inline .form-element-error:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
}
.form-inline .form-label-wrapper,
.form-inline .form-element-error:before,
.form-inline .form-group-checkbox .form-checkbox-spacing {
	width: 30%;
	max-width: 200px;
}
.form-inline .form-element-wrapper {
	width: 55%;
	max-width: 350px;
}
.form-element-wrapper .form-element {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}
/*
 * ---------------------------
 * ------- Horizontal --------
 * ---------------------------
 */
.form-block .form-group {
	max-width: 350px;
}
.form-block .form-label-wrapper {
	display: block;
	margin-bottom: 3px;
}
/*
 * ---------------------------
 * -------- Row-based --------
 * ---------------------------
 */
.form-row {
	font-size: 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
.form-row > .form-column {
	-webkit-box-flex: 1;
	-moz-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
/*
 * ----------------------------
 * ----- Checkbox & Radio -----
 * ----------------------------
 */
.form-group-checkbox .form-element-wrapper,
.form-group-radio .form-element-wrapper {
	width: auto;
}
.form-group-checkbox .form-element,
.form-group-radio .form-element {
	width: 17px;
	height: 17px;
}
.form-group-checkbox .form-element,
.form-group-radio .form-element {
	margin-right: 4px;
}
.form-group-checkbox .form-label-wrapper,
.form-group-checkbox .form-element-wrapper {
	display: inline-block;
	vertical-align: middle;
}
.form-group-checkbox .form-label-wrapper {
	margin-bottom: 0;
}
.form-group-checkbox .form-label-wrapper label,
.form-group-radio .form-element-wrapper .form-label {
	cursor: pointer;
}
.form-group-radio .form-element-wrapper .form-label:not(:last-child) {
	margin-right: 15px;
}
/*
 * ---------------------------
 * --------- Buttons ---------
 * ---------------------------
 */
.form-buttons {
	margin-top: 20px;
}