input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: $color__text-input;
	border: 1px solid $color__border-input;

	&:focus {
		color: $color__text-input-focus;
	}
}

select {
	border: 1px solid $color__border-input;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"] {
	padding: 3px;
}

textarea {
	padding-left: 3px;
	width: 100%;
}

/* Default search. */
.search-form { 
	position: relative;
	overflow: hidden;
	border: 1px solid $color__border-input;
	background: white;
	label {
		display: block;
		width: 100%;
		padding: 15px 60px 15px 15px;
	}
	.search-field {
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
		border: 0;
		border-radius: 0;
		font-size: 1rem;
		color: white;
	}
	.search-field:focus {
		outline: none;
		color: white;
	}
	.search-submit {
		display: block;
		height: 100%;
		width: 56px;
		background: none;
		border: 0;
		border-radius: 0;
		border-left: 1px solid $color__border-input;
		color: white;
		text-align: center;
		position: absolute;
		top: 0;
		right: 0;
	}
	.search-submit .genericon { 
		font-size: 24px; 
		position: relative;
		top: -1px;
		left: -3px;
	}
	.search-submit:hover { 
		cursor: pointer; 
		color: $color__link-hover;
	}
}

/* Primary search. */
#primary-search {
	padding: 2rem 5%;
	.search-form {
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		border-top: 2px solid white;
		border-bottom: 2px solid white;
		label {
			border: 0;
			background: transparent;
			padding-bottom: 0;
			padding-bottom: 1em;
			padding-left: 0;

		}
		.search-field {
			color: white;
			font-size: 16px;
			font-size: 1rem;
			background: transparent;
		}
		.search-submit {
			color: white;
			border: 0;
			padding: 0;
			width: 40px;
			&:hover,
			&:focus {
				color: white;
			}
		}
		.search-submit .genericon {
			font-size: 16px;
			font-size: 1rem;
		}
		.search-submit:hover .genericon,
		.search-submit:focus .genericon {
			color: $color__link-hover;
		}
	}
}

@media screen and (min-width: $breakpoint-medium) {
	/* Primary search. */
	#primary-search {
		padding: 2.5rem 5%;
		.search-form {
			.search-field {
				font-size: 24px;
				font-size: 1.5rem;
			}
			.search-submit {
				width: 60px;
			}
			.search-submit .genericon {
				font-size: 24px;
				font-size: 1.5rem;
			}
		}
	}
}