legend {
	font-size: 2rem;
	font-weight: 500;
}
label {
	display: block;
}
input, select, textarea, select {
	display: block;
	width: 100%;
	max-width: 100%;
	line-height: 1.3;
	margin-bottom: 1rem;
	padding: 0.5rem 1rem;
	font-size: 0.8em;
	border: 1px solid rgba(0,0,0,0.5);
	border-radius: .0em;
	background: linear-gradient(to bottom, #ffffff 0%,#eeeeee 100%);
	height: 2.5rem;
	font-weight: 400;
	letter-spacing: .1rem;
}
input[type=radio],
input[type=checkbox] {
	width: auto;
	height: 1rem;
	margin-right: .5rem;
	display: inline;
}

select {
    /*box-shadow: 0 1px 0 1px rgba(0,0,0,.04);*/
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: 
		url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
		linear-gradient(to bottom, #ffffff 0%,#eeeeee 100%);
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}
/* Hide arrow icon in IE browsers */
select::-ms-expand {
    display: none;
}
/* Hover style */
select:hover {
    border-color: #888;
}
/* Focus style */
select:focus {
    border-color: #aaa;
    /* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222; 
    outline: none;
}

/* Set options to normal weight */
select option {
    font-weight:normal;
}

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir="rtl"] select, :root:lang(ar) .select-css, :root:lang(iw) select {
    background-position: left .7em top 50%, 0 0;
}

/* Disabled styles */
select:disabled, select[aria-disabled=true] {
    color: graytext;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
      linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
}

select:disabled:hover, select[aria-disabled=true] {
    border-color: #aaa;
}

::-webkit-input-placeholder {
	color: rgba(var(--red),.95);
}
::-moz-placeholder {
	color: rgba(var(--red),.95);
}
:-ms-input-placeholder {
	color: rgba(var(--red),.95);
}
:-moz-placeholder {
	color: rgba(var(--red),.95);
}
*:required {
	border-color: rgba(var(--red),.95);
}
.required,
*:required + span {
	color: rgb(var(--red));
}

*[type=submit] {
	background: rgba(40,167,69,0.9) !important;
	border: none;
	color: #fff;
	padding: 1em;
	font-size: 1em;
}
*[type=submit]:Hover {
	color: #fff;
	filter: brightness(110%);
	background: rgba(40,167,69,0.9) !important;
}
*[type=submit]:disabled {
	background: lightgrey !important;	
}