button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
	transition: border 0.25s ease-out, color 0.25s ease-out;
	color: var(--accent-color);
	min-height: 22px;
	min-height: 2rem;
	padding: 0 0.7em;
	border: 1px solid #C0C0C0;
	border-radius: 3px;
	background: transparent;

	.no-touch &:hover {
		border: 1px solid var(--accent-color);
	}
	
	.no-touch &:focus,
	.touch &:focus,
	.no-touch &:active,
	.touch &:active {
		color: var(--accent-color-secondary);
		border-color: var(--accent-color-secondary);
	}
}

textarea {
	transition: border 0.25s ease-out, color 0.25s ease-out, background 0.25s ease-out;
	color: #C0C0C0;
	width: 100%;
	padding: 0.3em;
	border: 1px solid #C0C0C0;
	border-radius: 3px;
	background: rgba(255,255,255,0);
}

input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='url'] {
	transition: border 0.25s ease-out, color 0.25s ease-out, background 0.25s ease-out;
	color: #C0C0C0;
	width: 100%;
	min-height: 22px;
	min-height: 2rem;
	padding: 0.3em;
	border: 1px solid #C0C0C0;
	border-radius: 3px;
	background: rgba(255,255,255,0);
}

input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='url'],
textarea {
	.no-touch &:hover {
		color: var(--text-color-secondary);
		border-color: var(--text-color-secondary);
	}
	
	.no-touch &:focus,
	.touch &:focus {
		color: var(--text-color);
		border-color: var(--accent-color);
		outline: none;
	}
}

input[type='search'] {
	-webkit-appearance: none; /* Override Normalize.css. Allows styling on iOS. */
	box-sizing: border-box; /* Override Normalize.css. */
}