FORM.standard DIV.field {
	margin: 0 0 .5em 0;
}

FORM.standard DIV.field LABEL:not(.checkbox-label) {	
	display: block;
	font-size: .7em;
	margin-bottom: .25em;
}

FORM.standard DIV.field INPUT[type=text],
FORM.standard DIV.field INPUT[type=password],
FORM.standard DIV.field INPUT[type=number],
FORM.standard DIV.field SELECT,
FORM.standard DIV.field TEXTAREA {	
	display: block;	
	width: 100%;
	padding: 5px;
	font-size: 1em;
	color: black;
	background: white;
	border: solid 1px var(--blue);
}
FORM.standard DIV.field TEXTAREA {
	height: 6em;
}

FORM.standard DIV.field FIELDSET LABEL.checkbox-label {	
	font-size: 1em;
	display: block;
}
FORM.standard DIV.field.checkbox {	
	margin-left: 1.5em;
	text-indent: -1.5em;
}
FORM.standard DIV.field.checkbox LEGEND {
	text-indent: 0em;
	margin-left: -2em;
}
FORM.standard DIV.field.checkbox INPUT {
	vertical-align: 1px;
}
FORM.standard DIV.field FIELDSET INPUT {
	margin-right: .5em;
	vertical-align: middle;
	margin-top: -.1em;
}

FORM.standard DIV.field.required > LABEL {
	font-weight: bold;
}
FORM.standard DIV.field.required > LABEL::after {
	content: ' *';
}

FORM.standard DIV.field DIV.error {
	font-size: .5em;
	color: #f00;	
	padding: 2px 2px 2px 10px;
}
FORM.standard DIV.field DIV.error:before {
	content: '* ';
}
FORM.standard DIV.field:not(.checkbox).error {
	color: #f00;	
}
FORM.standard DIV.field:not(.checkbox).error INPUT {
	border-color: red;	
}
FORM.standard DIV.field.checkbox.error:before  {
	content: '';
	position: absolute;
	margin-top: 0px;
	margin-left: 1px;
	width: 1em;
	height: 1em;
	border: solid 2px red;
	z-index: -1;
}

FORM.standard DIV.form_rc {
	text-align: center;
    margin: 1em 0 -1em;
    font-size: .75em;	
}
FORM.standard DIV.form_rc SPAN {
	font-weight: 500;	
	color: white;
	background-color: gray;
	padding: .5em;
	display: block;
}
FORM.standard DIV.form_rc SPAN.rc5,
FORM.standard DIV.form_rc SPAN.warn {
	background-color: orange;
}
FORM.standard DIV.form_rc SPAN.rc10,
FORM.standard DIV.form_rc SPAN.err,
FORM.standard DIV.form_rc SPAN.error {
	background-color: red;
}
FORM.standard DIV.form_rc SPAN.rc1,
FORM.standard DIV.form_rc SPAN.done,
FORM.standard DIV.form_rc SPAN.ok {
	background-color: green;
}
FORM.standard DIV.field.files {
    position: relative;
}
FORM.standard DIV.field.files INPUT[type=file] {
	display: none;	
}
FORM.standard DIV.field .file_list {
	min-height: 3em;
}
FORM.standard DIV.field .file_list DIV.file {
	position: relative;
	border-bottom: solid 1px transparent;
}
FORM.standard DIV.field .file_list A.del_button {
	color: red;
	text-decoration: none;
	position: absolute;
	right: 0;
}
FORM.standard DIV.field .file_list SPAN.size {
	font-size: .5em;
	margin-left: 1em;
}
FORM.standard DIV.field .file_list DIV.file:hover {
	border-bottom: dashed 1px silver;
}
FORM.standard DIV.file_button  {
	text-align: right;
}
FORM.standard DIV.buttons {
	margin-top: 2em;
	text-align: center;
}
FORM.standard DIV.buttons INPUT:not(:first-child) {
	margin-left: 1em;
}
FORM.standard FIELDSET {
	padding: .5em 0 1em 3em;
	line-height: 1.5;
	margin-left: -2em;
}

FORM.standard DIV.field.loading:before {
	content: '';
	width: 16px;
	height: 16px;
	right: 200px;
	bottom: 37%;
	transform: translateY(-50%);
	position: absolute;
	animation: rotate 2s linear infinite;
	border-radius: 100%;
	border: solid 3px silver;
	border-top: solid 3px #00aeef;
}

FORM.standard INPUT[readonly],
FORM.standard INPUT[disabled]:not(.button) {
	color: gray !important;
	background-color: #fafafa !important;
}
FORM.standard INPUT[disabled].button {
	color: silver;
	background-color: gray;
}

DIV.autocomplete-suggestions {
	background: white;
	border: solid 1px silver;
}
DIV.autocomplete-suggestions DIV.autocomplete-suggestion {
	padding: 1px 4px;
	cursor: pointer;
}

FORM.standard DIV.field.color LABEL {
	display: inline-block;
	margin-right: 1em;
}
FORM.standard DIV.field.color INPUT {
	display: inline-block;
	width: 3em;
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	} to {
		transform: rotate(360deg);
	}
}
