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 1rem;
	outline: none;
	background-color: #FFF;
	border-radius: 0px;
	font-size: 16px;
	color: var(--color-primary-black);
	transition: all 0.2s;
	font-family: 'Roboto Light';
}
textarea { resize: none; height: 40px; }
textarea:focus { height: 250px; }
select { background-image: url(../images/chevron-down-grey.svg); background-repeat: no-repeat; background-position: 99% center; background-size: auto 60%; }
button[type=submit], input[type=submit] { font-family: 'XXII Neue Norm Bold'; font-size: 2rem; padding: 0.6rem 2rem; background-color: var(--color-primary-green); color: #FFF; }

select.notvalid, input.notvalid, textarea.notvalid { border: 1px solid var(--color-secondary-red); background-color: rgba(229, 45, 51, 0.1); }
select option { color: var(--color-primary-black); }
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; }

input[type="checkbox"].notvalid + label:before { background-color: rgba(229, 45, 51, 0.1); border: 1px solid var(--color-secondary-red); }
input[type="checkbox"] { visibility: hidden; width: 3px; height: 3px; }
input[type="checkbox"] + label { cursor: pointer; position: relative; font-size: 0.8rem; padding-left: 30px; display: inline-block; }
input[type="checkbox"] + label:before { border: 1px solid #CCC; content: ''; position: absolute; display: block; width: 22px; height: 22px;
	margin: 0px 0px 40px 0px; padding: 0; vertical-align: middle; background-color: #FFF; top: -3px; left: 0px;
}
input[type="checkbox"] + label a { font-family: 'Roboto Bold'; color: var(--color-primary-green); }
input[type="checkbox"]:checked + label:before {
	background-image: url(../images/Check-128.png); background-repeat: no-repeat;
	background-size: 16px 16px; background-position: center center; width: 22px; height: 22px;
	background-color: var(--color-primary-green); text-align: center;
}

.form-container { display: flex; flex-wrap: wrap; justify-content: space-between; }
.form-container .header { text-transform: uppercase; }
.form-container .col1 { width: 100%; margin-bottom: 1%; }
.form-container .col2 { width: 49%; margin-bottom: 1%; }
.form-container .label { font-size: 0.8rem; padding-left: 0.2rem; color: var(--color-primary-black); }
.form-container .input { display: flex; justify-content: space-between; }
.form-container .input>input.zip { width: 150px; margin-right: 5px; }
.form-container .input>input.city { flex: 1 auto; }
.form-container .submit { padding: 1rem 0rem; }
