legend {
	font-size: larger; font-weight: bold; text-shadow: 1px 1px 1px #808080;
}
fieldset, .result {
	margin: 1em 0; border-radius: 0.325em;
	border-width: 1px 2px 2px 1px; border-style: outset; border-color: #a0a0a0;
	background-image: linear-gradient(to bottom right, #e0e0e0, #a0c0a0);
}
.result {
	padding: 0.5em 1em;
}

label {
	display: block; margin-bottom: 1.625em;
}
label.inl {
	display: inline-block;
}
label span:first-child {
	display: block;
}
label small {
	font-style: italic; color: #206060; text-shadow: -1px -1px 1px #e0e0e0;
}
input[type=text], input[type=tel], input[type=email], select, textarea {
	display: inline-block; width: 95%; padding: 0.5em;
	font-size: 1em; font-family: var(--ff-text), sans-serif;
	background-color: #e0e0e0; color: #202020; border: 1px inset #a0a0a0;
}
input[type=text]:focus, input[type=tel]:focus, input[type=email]:focus, select:focus, textarea:focus {
	background-image: linear-gradient(to bottom, #a0a0a0, #e0e0e0 10%, #fff, #e0e0e0 90%, #a0a0a0);
}
input[type=checkbox] {
	width: 1.5em; height: 1.5em; vertical-align: middle;
}

option:checked { font-weight: bold; border: 1px solid #202020; }

::placeholder, ::-moz-placeholder, ::-webkit-input-placeholder {
	font-family: var(--ff-text), serif; font-style: italic; color: #202080; opacity: 0.9;
}
::-ms-input-placeholder {
	font-family: var(--ff-text), serif; font-style: italic; color: #202080; opacity: 0.9;
}

@keyframes pulse {
	0% { outline: 2px inset transparent; }
	100% { outline: 2px inset #20e0a0; }
}
:required {
	animation: pulse 2s ease-in infinite alternate;
}
output {
	display: inline-block; padding: 0.2em; vertical-align: baseline;
	font-size: 1em; line-height: 1; font-weight: bold;
	font-family: var(--ff-text), sans-serif;
	background-color: #a0e0e0; color: #206060;
}

input[type=button] {
	display: inline-block; padding: 0.5em 0.875em; border-radius: 0.375em;
	font-family: var(--ff-text), sans-serif; font-size: larger;
	color: #e0e0e0; background-color: #208020;
	box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.5);
}

.fieldError {
	/*
	background-color: #e02020 !important;
	*/
	background-image: linear-gradient(to bottom, #e04020, transparent 15%, transparent 85%, #e04020) !important;
}
#errorlist {
	color: #c02020;
}
pre, .extra {
	background-color: rgba(128,128,128,0.2); margin: 0;
	font-family: var(--ff-text), sans-serif;
}
.sep {
	border-width: 1px 0; border-style: solid; border-color: currentColor;
}

#print-instruction { display: block; }
#print-instruction code {
	padding-inline: 0.5em; background-color: rgba(0,0,0,0.125);
	text-shadow: 1px 1px 3px #202020; box-shadow: inset 1px 1px 1px 0 rgba(32,32,32,0.375);
}
#print-logo { display: none; }
@media print {
	#phead, #pfoot { display: none !important; }
	.segment { padding-block: 1em; }
	#print-instruction { display: none; }
	#print-logo { display: block; margin-top: 1.5cm; }
	#print-logo p { font-weight: bold; font-size: 1.375rem; line-height: 1.125; }
	#print-logo small { font-size: 0.875em; }
	#print-logo sup { font-size: 0.625em; }
	#pmain, #pname, #pname > *, #content .segment {
		color: #000; background-color: #fff !important;
	}
}