input[type=text], input[type=password], input[type=email], input[type=tel], input[type=file], select, textarea, button, button[type=submit], input[type=submit] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	border: 1px solid #CCC;
	/* line-height: 2.4rem; */
	padding: 0.7rem 1rem;
	outline: none;
	background-color: #FFF;
	border-radius: 0px;
	font-size: 16px;
	color: var(--body-color);
	transition: all 0.2s;
	font-family: var(--body-font-family);
}
textarea { resize: none; height: 40px; }
textarea:focus { height: 250px; }
select { background-image: url(../images/icons/chevron-down-grey.svg); background-repeat: no-repeat; background-position: 99% center; background-size: auto 60%; }
button[type=submit], input[type=submit] { padding: 0.6rem 2rem; width: auto; background-color: var(--color-primary-cidemos); color: #FFF; }

select.notvalid, input.notvalid, textarea.notvalid { border: 1px solid red; background-color: rgba(229, 45, 51, 0.1); }
select option { }
select.novalue { color: #BBB; opacity: 1; }
::placeholder { color: #BBB; opacity: 1; }
:-ms-input-placeholder { color: #BBB; opacity: 1; }
::-ms-input-placeholder { color: #BBB; opacity: 1; }

.form-grid { display: flex; flex-wrap: wrap; justify-content: space-between; }
.form-grid>.field { padding: 0px 0px 5px 0px; }
.form-grid>.field.submit { text-align: right; }
.form-grid.cols1>.field { width: 100%; }
.form-grid.cols2>.field { width: 49%; }
.form-grid .field label { font-size: 0.9rem; }
.form-grid a { text-decoration: none; color: var(--color-primary-cidemos); font-weight: bold; }

.rating { display: flex; padding: 0.5rem 0; line-height: 32px; }
.rating>.step { float: left; width: 50px; margin: 8px 2px 8px 0px; height: 16px; border: 1px solid var(--color-primary-cidemos); background: #FFF; cursor: pointer; transition: all 0.4s; }
.rating>.step.selected { background-color: var(--color-primary-cidemos); }
.rating>.value { padding-left: 30px; font-size: 22px; color: var(--color-primary-cidemos); font-weight: bold; }
