fieldset {
	background: lighten($base-border-color, 10);
	border: $base-border;
	margin: 0 0 ($base-spacing / 2) 0;
	padding: $base-spacing;
}

input,
label,
select {
	display: block;
	font-family: $form-font-family;
	font-size: $form-font-size;
}

label {
	font-weight: bold;
	margin-bottom: $base-spacing / 4;

	&.required:after {
		content: "*";
	}

	abbr {
		display: none;
	}
}

textarea,
#{$all-text-inputs},
select[multiple=multiple] {
	@include box-sizing(border-box);
	@include transition(border-color);
	background-color: white;
	border-radius: $form-border-radius;
	border: 1px solid $form-border-color;
	box-shadow: $form-box-shadow;
	font-family: $form-font-family;
	font-size: $form-font-size;
	margin-bottom: $base-spacing / 2;
	padding: ($base-spacing / 3) ($base-spacing / 3);
	width: 100%;

	&:hover {
		border-color: $form-border-color-hover;
	}

	&:focus {
		border-color: $form-border-color-focus;
		box-shadow: $form-box-shadow-focus;
		outline: none;
	}
}

textarea {
	resize: vertical;
}

input[type="search"] {
	@include appearance(none);
}

input[type="checkbox"],
input[type="radio"] {
	display: inline;
	margin-right: $base-spacing / 4;
}

input[type="file"] {
	padding-bottom: $base-spacing / 2;
	width: 100%;
}

select {
	margin-bottom: $base-spacing;
	max-width: 100%;
	width: auto;
}
