/*
 * zzform
 * Cascading Style Sheets (CSS)
 *
 * Part of »Zugzwang Project«
 * https://www.zugzwang.org/modules/zzform
 *
 * @author Gustaf Mossakowski <gustaf@koenige.org>
 * @copyright Copyright © 2004-2022, 2024-2026 Gustaf Mossakowski
 * @license http://opensource.org/licenses/lgpl-3.0.html LGPL-3.0
 */


/* put zzform above some standard elements */
#zzform				{ z-index: 3; empty-cells: show; }


/* general styles */
#zzform table		{ border-collapse: collapse; }
#zzform img			{ border: none; }
#zzform code ul		{ margin: 0; list-style: square; }
#zzform code li		{ margin: 0; }
#zzform td, #zzform th
					{ padding: 0 .5rem; vertical-align: top; }
#zzform th			{ width: auto; text-align: left; }
#zzform td p		{ margin-top: .25em; margin-bottom: .25em; }
#zzform .nobr		{ white-space: nowrap; }
div.text #zzform, #zzform div.text
					{ padding: 1rem; }
#zzform td h1, #zzform td h2, #zzform td h3, #zzform td h4, #zzform td h5,
	#zzform td h6	{ margin: 0 0 .5em; }
#zzform .hidden 	{ display: none; }
@media screen and (max-width: 960px) {
	#zzform .data td	{ max-width: 840px; overflow: hidden; }
	#zzform .data .hidden960
						{ display: none; }
	#zzform .data tbody .block960, #zzform .data tbody .block960a
						{ display: block; }
	#zzform .data thead th.block960
						{ display: block; }
	#zzform .data thead th.block960a
						{ display: inline; border: none; }
	#zzform .data thead th.block960a:after
						{ content: " " }
	#zzform .data tfoot tr.sum td.block960a
					{ border-bottom: none; display: none; }
}
@media screen and (max-width: 800px) {
	#zzform .data td	{ max-width: 670px; overflow: hidden; }
	#zzform .data .hidden800
						{ display: none; }
	#zzform .data tbody .block800, #zzform .data tbody .block800a
						{ display: block; }
	#zzform .data thead th.block800
						{ display: block; }
	#zzform .data thead th.block800a
						{ display: inline; border: none; }
	#zzform .data thead th.block800a:after
						{ content: " " }
	#zzform .data tfoot tr.sum td.block800a
					{ border-bottom: none; display: none; }
}
@media screen and (max-width: 640px) {
	#zzform .data td	{ max-width: 510px; overflow: hidden; }
	#zzform .data .hidden640
						{ display: none; }
	#zzform .data tbody .block640, #zzform .data tbody .block640a
						{ display: block; }
	#zzform .data thead th.block640
						{ display: block; }
	#zzform .data thead th.block640a
						{ display: inline; border: none; }
	#zzform .data thead th.block640a:after
						{ content: " " }
	#zzform .data tfoot tr.sum td.block640a
					{ border-bottom: none; display: none; }
}
@media screen and (max-width: 480px) {
	#zzform .data td	{ max-width: 350px; }
	#zzform .data .hidden480
						{ display: none; }
	#zzform .data tbody .block480, #zzform .data tbody .block480a
						{ display: block; }
	#zzform .data thead th.block480
						{ display: block; }
	#zzform .data thead th.block480a
						{ display: inline; border: none; }
	#zzform .data thead th.block480a:after
						{ content: " " }
	#zzform .data tfoot tr.sum td.block480a
					{ border-bottom: none; display: none; }
}
@media screen and (max-width: 320px) {
	#zzform .data td	{ max-width: 190px; }
	#zzform .data .hidden320
						{ display: none; }
	#zzform .data tbody .block320, #zzform .data tbody .block320a
						{ display: block; }
	#zzform .data thead th.block320
						{ display: block; }
	#zzform .data thead th.block320a
						{ display: inline; border: none; }
	#zzform .data thead th.block320a:after
						{ content: " " }
	#zzform .data tfoot tr.sum td.block320a
					{ border-bottom: none; display: none; }
}	
/* get rid of wrong ligatures in Firefox */
#zzform input, #zzform textarea 
					{ text-rendering:optimizeSpeed; } 
#zzform textarea	{ font-family: monospace; }
@media screen and (max-width: 640px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 520px; }
}
@media screen and (max-width: 600px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 480px; }
}
@media screen and (max-width: 560px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 440px; }
}
@media screen and (max-width: 520px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 400px; }
}
@media screen and (max-width: 480px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 360px; }
}
@media screen and (max-width: 440px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 320px; }
}
@media screen and (max-width: 400px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 280px; }
}
@media screen and (max-width: 360px) {
	#zzform #record textarea, #zzform #record select, #zzform #record input
					{ max-width: 240px; }
}

/* both record and list view */
#zzform td.number, #zzform #record .subtable td.number 
					{ text-align: right; }
#zzform #record .subtable td p, #zzform #record .subtable th p,
#zzform table td	{ padding: .2rem; }
#zzform #record .subtable td p.preview, #zzform #record .subtable th p.preview
					{ padding: 0; }
#zzform table td small { font-size: 90%; }


/* record view */
#zzform .idrow		{ display: none; }
#zzform td.reedit	{ text-align: right; }
#zzform #record table
					{ margin: 0 0 1em 0; }
#zzform #record th, #zzform #record td
					{ line-height: 1.5em; padding: .25rem .5rem; }
#zzform #record tbody tr:first-child td
					{ border-top: none; }
#zzform #record table table
					{ margin: 0 0 .5em; border-collapse: collapse; }
#zzform #record table .detailrecord table
					{ float: left; }
#zzform #record table table th
					{ font-weight: normal; }
#zzform #record tfoot th, #zzform #record tfoot td
					{ padding: .5rem; border: none; } 
#zzform #record tbody tr:first-child td
					{ border-top: none; }
#zzform p.desc, #zzform .explanation
					{ margin: 0; padding: 0; font-weight: normal; 
					font-size: 90%; clear: both; max-width: 35em; }
#zzform p.explanation, #zzform small.explanation
					{ line-height: 1.25; }
#zzform small.explanation
					{ display: block; }
#zzform #record .upload td, #zzform #record .upload th
					{ padding-top: 0; }
#zzform #record .upload th
					{ padding-left: 0; }
#zzform #record .upload
					{ padding-bottom: 0; margin-bottom: 0; }
#zzform form .hidden_in_form
					{ display: none; }

@media screen and (max-width: 640px) {
	#zzform p.desc, #zzform .explanation 
					{ font-style: italic; }
	#zzform #record th, #zzform #record td
					{ display: block; }
	#zzform #record .horizontal th
					{ display: none; }
	#zzform #record th.hidden, #zzform #record td.hidden,
	#zzform #record .horizontal th.hidden, #zzform #record .horizontal td.hidden
					{ display: none; }
	#zzform #record th
					{ font-weight: bold; padding-bottom: 0; }
	#zzform #record td
					{ padding-top: 0; }
	#zzform #record tfoot th
					{ display: none; }
	#zzform #record .dummy_column
					{ display: none; }
}

/* record view, rating field */
#zzform .zz_rating input
				{ position: absolute; width: 100%; height: 100%; cursor: pointer;
				opacity: 0; inset: 0; margin: 0; }
#zzform #record .zz_rating label
				{ position: relative; transition: color 0.15s; font-size: 1.75rem; }
#zzform #record .zz_rating span
				{ height: 1.75rem; width: 1.75rem; display: inline-block; text-align: center; }

/* options */
#zzform optgroup	{ font-style: normal; font-weight: bold; }
/* hierarchical options */
#zzform option.level0 { font-weight: bold; }
#zzform option.level3 { font-style: italic; }

#zzform input.sub-add { float: left; clear: left; margin-top: 0; }
#zzform input.sub-remove-horizontal, #zzform input.sub-remove-vertical
					{ float: left; margin: 0 0 .5em; }
#zzform .option th	{ font-weight: normal; text-align: right; }
@media screen and (max-width: 480px) {
	#zzform .option th	{ text-align: left; }
}
#zzform .zz_radio_list
					{ list-style: none; padding: 0; margin: 0; }
#zzform .zz_radio_list li
					{ list-style: none; padding: 0; margin: 0; }
body #zzform .separator hr
					{ width: 100%; margin: 0.25em 0; height: 3px;
					max-width: none; }
#zzform .left_separator
					{ border-left: 3px #FFF solid; }
#zzform #record td.separator
					{ padding: .25rem 0; }
#zzform #record td.separator h3
					{ padding: 0 .5rem; }

/* record view, detail records */
#zzform #record .detailrecord
					{ clear: both; }
#zzform #record .subtable table
					{ float: left; }
#zzform #record .subtable
					{ margin: 0; }
#zzform #record .subtable table
					{ margin-bottom: .4em; }
#zzform #record .subtable th
					{ padding: 0 .5rem .25rem 0; width: 12%; }
#zzform #record .subtable td
					{ padding: 0 0 .25rem 0; text-align: left; }
#zzform #record .subtable .horizontal
					{ width: auto; }
#zzform #record .subtable .horizontal th
					{ width: auto; font-weight: bold; padding-right: .75rem; }
#zzform #record .subtable .horizontal td
					{ width: auto; padding-right: .5rem; }
#zzform #record .hide_td table
					{ display: none; }
#zzform #record .toggle_td table 
					{ display: table; }
#zzform #record tfoot td
					{ font-weight: bold; }
#zzform #record .subrecord_spacer
					{ margin: 0 0 .5em 0; }

@media screen and (max-width: 480px) {
	#zzform #record .subtable th
						{ width: auto; padding-bottom: 0; }
	#zzform #record .subtable td
						{ padding-top: 0; }

	#zzform #record .subtable .horizontal th
					{ float: left; font-weight: normal; padding-right: .25rem; }
	#zzform #record .subtable .horizontal th:before { content: " / "; }
	#zzform #record .subtable .horizontal th.firstrow:before { content: ""; }
}

#zzform #record .zz-set
					{ list-style: none; margin: 0; padding: 0; }
#zzform #record .zz-set li
					{ margin: 0 0 .25rem 0; padding: 0; }
#zzform #record .zz-set li ul.zz-group
					{ margin: 0 0 .5em; padding: 0; }
#zzform #record .zz-set li li
					{ list-style: none; }
#zzform #record .zz-set p
					{ margin: 0 0 .5rem 1.75rem; }
#zzform #record .zz-set li input + p
					{ margin-top: -1.15rem; }


/* record view, key_value table */
#zzform #record .zz-key-value th
					{ padding: .25rem .5rem 0 0; }
#zzform #record .zz-key-value td
					{ padding: .25rem .5rem 0 0; }


/* progress bar */
#zzform_upload_progress_bar
					{ width: 300px; }

/* filter */
#zzform .zzfilter	{ margin: 1.5em 0 0; line-height: 1; overflow: hidden; }
#zzform .zzfilter dl { margin: 0 0 .5em; padding: 0; }
#zzform .zzfilter dt { float: left; clear: left; }
#zzform .zzfilter dd { margin: 0 0 .5em; padding: 0; float: left;
					border-right: 1px dotted black; white-space: nowrap; }
#zzform .zzfilter dd.filter_all
					{ border-right: none; /* for old browsers */ }
#zzform .zzfilter dd:last-child
					{ border-right: none; }
#zzform .zzfilter a, #zzform .zzfilter strong
					{ padding: 0 .5rem; text-decoration: none; }
#zzform .zzfilter_dropdown
					{ cursor: pointer; }


/* list view (table) */
#zzform .recordid	{ display: none; }
#zzform .data td, #zzform .data th
					{ vertical-align: top; }
#zzform .data thead td, #zzform .data thead th 
					{ text-align: left; vertical-align: bottom; }
#zzform .list		{ overflow: auto; max-width: 100%; }
#zzform table.data	{ margin: .5em 0; }
#zzform .data td
					{ padding: 0.25rem .5rem; }
#zzform .data thead td, #zzform .data thead th
					{ padding-bottom: .25rem; border-bottom: 1px solid; }
#zzform .data thead a
					{ text-decoration: none; }
#zzform .editbutton	{ padding: 0 .5rem; }
#zzform th.where	{ padding-top: .5rem; }
#zzform .data tr.group td
					{ border-top: 1px solid; padding-top: 1rem; }
#zzform .data tr.group_sum td
					{ padding-bottom: .5rem; font-weight: bold; }
#zzform td.last 	{ border-bottom: 1px solid; }

#zzform td p, #zzform td ul
					{ margin-top: 0; }
#zzform td p:last-child
					{ margin-bottom: 0; }
#zzform tfoot tr.sum td
					{ font-weight: bold; border-top: 1px solid; 
					border-bottom: 3px double; }
#zzform tfoot tr.multiple td
					{ padding-top: .75rem; }
#zzform tfoot tr.multiple input
					{ vertical-align: top; }
#zzform .data td.hyphenate
					{ hyphens: auto; }

/* list view (table): hierarchies */
#zzform div.level1 { padding-left: 2.5rem; 
					/* background: url line-vertical.gif .5em 0 repeat-y; */
					margin-bottom: -.25em; padding-bottom: .25rem; 
					/* overwrite padding of td */ }
#zzform table td.level1, #zzform #record table td.level1
					{ padding-left: 2.5rem;
					/*background: url line-vertical.gif  1em 0 repeat-y; */ }
/*
#zzform table td.last
					{ background-position: 1em 50%; }
*/
#zzform table td.level2, #zzform #record table td.level2,
#zzform #record table .detailrecord tr.level2 td
					{ padding-left: 5rem; 
					/* background: url line-vertical.gif  1em 0 repeat-y; */ }
#zzform table td.level3, #zzform #record table td.level3,
#zzform #record table .detailrecord .level3 td
					{ padding-left: 7.5rem; }
#zzform table td.level4, #zzform #record table td.level4,
#zzform #record table .detailrecord .level4 td
					{ padding-left: 10rem; }
#zzform table td.level5, #zzform #record table td.level5,
#zzform #record table .detailrecord .level5 td
					{ padding-left: 12.5rem; }
#zzform table td.level6, #zzform #record table td.level6,
#zzform #record table .detailrecord .level6 td
					{ padding-left: 15rem; }
#zzform table td.level7, #zzform #record table td.level7,
#zzform #record table .detailrecord .level7 td
					{ padding-left: 17.5rem; }
#zzform table td.level8, #zzform #record table td.level8,
#zzform #record table .detailrecord .level8 td
					{ padding-left: 20rem; }
#zzform table td.level9, #zzform #record table td.level9,
#zzform #record table .detailrecord .level9 td
					{ padding-left: 22.5rem; }
#zzform table td.level10, #zzform #record table td.level10,
#zzform #record table .detailrecord .level10 td
					{ padding-left: 25rem; }
@media screen and (max-width: 640px) {
	#zzform table td.level1, #zzform #record table td.level1
						{ padding-left: 1.5rem; }
	#zzform table td.level2, #zzform #record table td.level2,
	#zzform #record table .detailrecord tr.level2 td
						{ padding-left: 3rem; }
	#zzform table td.level3, #zzform #record table td.level3,
	#zzform #record table .detailrecord .level3 td
						{ padding-left: 4.5rem; }
	#zzform table td.level4, #zzform #record table td.level4,
	#zzform #record table .detailrecord .level4 td
						{ padding-left: 6rem; }
	#zzform table td.level5, #zzform #record table td.level5,
	#zzform #record table .detailrecord .level5 td
						{ padding-left: 7.5rem; }
	#zzform table td.level6, #zzform #record table td.level6,
	#zzform #record table .detailrecord .level6 td
						{ padding-left: 9rem; }
	#zzform table td.level7, #zzform #record table td.level7,
	#zzform #record table .detailrecord .level7 td
						{ padding-left: 10.5rem; }
	#zzform table td.level8, #zzform #record table td.level8,
	#zzform #record table .detailrecord .level8 td
						{ padding-left: 12rem; }
	#zzform table td.level9, #zzform #record table td.level9,
	#zzform #record table .detailrecord .level9 td
						{ padding-left: 13.5rem; }
	#zzform table td.level10, #zzform #record table td.level10,
	#zzform #record table .detailrecord .level10 td
						{ padding-left: 15rem; }
}


/* list view (ul) */
#zzform ul.data		{ padding: 0; margin: 1rem 0; overflow: hidden; }
#zzform ul.data li	{ float: left; overflow: hidden; list-style: none;
					margin: 0 1em 1em 0; padding: 0; } 
#zzform ul.data img	{ vertical-align: middle; margin: 0; border: 0; padding: 0; }
#zzform ul.data p	{ margin: 0; font-size: 90%; }
#zzform ul.data nav	{ display: block; }
#zzform ul.data nav li
					{ overflow: auto; height: auto; max-width: none; margin: 0; }


/* list view (add new below list) */
#zzform .add-new	{ overflow: hidden; margin: 1em 0; }
#zzform .add-new p, #zzform .add-new ul, #zzform .add-new li
					{ display: inline; }
#zzform .add-new ul	{ margin: 0; padding: 0; display: inline-block; }
#zzform .add-new li	{ list-style: none; border-left: 1px dotted;
					padding: 0; margin: 0; display: inline-block; }
#zzform .add-new li:first-child
					{ border-left: none; }
#zzform .add-new li a
					{ padding: 0 .5rem ; }


/* list view (page navigation below list) */
#zzform .pages .last
					{ border-bottom: none; }
#zzform .pages		{ margin: 0; padding: 0 0 1rem 0; list-style: none; 
					line-height: 1; overflow: hidden; }
#zzform .pages li	{ margin: 0 0 .5em; float: left; padding: 0; 
					border-left: 1px dotted; }
#zzform .pages li a, #zzform ul.pages li span, #zzform ul.pages li strong 
					{ padding: 0 .5rem; text-decoration: none; }
#zzform .pages li.first
					{ border-left: 0; }
#zzform .pages li.first a, #zzform .pages li.first span,
#zzform .pages li.first strong 
					{ padding-left: 0; }
#zzform .totalrecords
					{ margin-bottom: 0; }


/* list view (maps) */
#zzform .kml_description td, #zzform .kml_description th
					{ padding: .2rem .5rem .2rem 0; }

/* list view (multiple records) */

#zzform ul.data .select_multiple_records
				{ position: absolute; }

/* highlighting */
#zzform .negative	{ color: red; }
/* current record */
#zzform .current_record td, #zzform .current_record p, #zzform .highlight
					{ background-color: yellow; color: black; }
#zzform .current_record p.select_multiple_records
					{ background-color: transparent; }
/* make a choice again */
#zzform #record .reselect th, #zzform #record .reselect td, #zzform #record .reselect
					{ background-color: green; color: white; }
#zzform div.reselect p, #zzform div.reselect ul, #zzform #record .reselect p
					{ color: white; margin: .25em 0; }
#zzform div.reselect
					{ padding: .25rem .5rem; margin: 1em 0; }
/* errors */
#zzform .error, #zzform .subtable .horizontal td.error
					{ padding: .25rem; }
#zzform span.error	{ padding: .1rem .2rem; margin: 0 -.2em; }
#zzform div.error	{ margin: 1em 0; padding-left: .75rem; max-width: 40em; }
#zzform div.error p	{ margin-top: 0; }
#zzform div.error p:last-child	{ margin-bottom: 0; }
#zzform div.error ul
					{ margin-bottom: 0; }
#zzform td div.error
					{ margin: 0 0 .5em; }
#zzform .error small { padding: 0 .4rem; display: block; }
#zzform .subrecord_lines .error small
					{ display: inline; }
#zzform td .subrecord_lines div.error
					{ margin-bottom: 0; padding: 0; }


/* debug */
#zzform .debug		{ background: white; border: 1px solid black; 
					overflow: auto; font-size: 75%; color: black; clear: both; }
#zzform .debug h1	{ padding-left: .5rem; }
#zzform .debugtable dl { padding: 0; margin: 0; line-height: 1.5; }
#zzform .debugtable dt { font-weight: bold; }
#zzform .debugtable dd { padding: 0; margin: 0; }
#zzform .zzvariables th	
					{ white-space: nowrap; text-align: left; 
					padding-right: .5rem; vertical-align: top; }

/* moretext for lists */

#zzform .moretext_hidden
					{ max-height: 10em; overflow: hidden; text-overflow: ellipsis; }

/* buttons */
#zzform .zz_field_button
					{ margin-left: .5rem; }

/* textarea */

@media screen and (max-height: 1500px ) {
	#zzform textarea	{ max-height: 1340px; }
}
@media screen and (max-height: 1400px ) {
	#zzform textarea	{ max-height: 1240px; }
}
@media screen and (max-height: 1300px ) {
	#zzform textarea	{ max-height: 1140px; }
}
@media screen and (max-height: 1200px ) {
	#zzform textarea	{ max-height: 1040px; }
}
@media screen and (max-height: 1100px ) {
	#zzform textarea	{ max-height: 940px; }
}
@media screen and (max-height: 1000px ) {
	#zzform textarea	{ max-height: 840px; }
}
@media screen and (max-height: 900px ) {
	#zzform textarea	{ max-height: 740px; }
}
@media screen and (max-height: 800px ) {
	#zzform textarea	{ max-height: 640px; }
}
@media screen and (max-height: 700px ) {
	#zzform textarea	{ max-height: 540px; }
}
@media screen and (max-height: 600px ) {
	#zzform textarea	{ max-height: 440px; }
}
@media screen and (max-height: 500px ) {
	#zzform textarea	{ max-height: 340px; }
}
@media screen and (max-height: 400px ) {
	#zzform textarea	{ max-height: 240px; }
}


/* drag and drop */
#zzform [draggable], #zzform [draggable] a
					{ -moz-user-select: none; -khtml-user-select: none;
					-webkit-user-select: none; user-select: none;
					/* Required to make elements draggable in old WebKit */
					-khtml-user-drag: element; -webkit-user-drag: element; }
#zzform .data li.dragElem
					{ opacity: 0.4; }
#zzform .data li.over
					{ border-left-color: #FFF; }


/* saved form */
#zzform.saved_state #record
					{ cursor: progress; }
#zzform_save		{ display: none; }


/* sync */
.db_ignore			{ height: 1.2rem; overflow: hidden; }
.db_ignore td		{ color: #CCC; height: 1.2rem; }
.db_ignore .identical_value
					{ display: none; }
.db_ignore input[type=checkbox]
					{ display: none; }


/* zzform-actions.template.txt */
#zzform .zz-actions	{ display: inline-flex; flex-wrap: wrap;
					align-items: center; gap: 0 .5em; }
/* table action column: block-level flex avoids inline strut gap above nav */
#zzform td.editbutton .zz-actions
					{ display: flex; }
#zzform .zz-actions ul
					{ display: flex; flex-wrap: wrap; margin: 0; padding: 0;
					list-style: none; }
#zzform .zz-actions ul + ul::before
					{ content: '||'; margin-inline-end: .5em;
					speak: never; white-space: nowrap; }
/* inline-flex + nowrap: keep middot with the link (no orphaned · on next line) */
#zzform .zz-actions li
					{ display: inline-flex; flex-wrap: nowrap; align-items: center;
					min-width: 0; hyphens: none; }
#zzform .zz-actions li:not(:last-child)::after
					{ content: '·'; margin-inline: 0.35em; speak: never;
					white-space: nowrap; flex-shrink: 0; }
#zzform .zz-actions.zz-actions--icon-only li:not(:last-child)::after
					{ content: ''; }
#zzform .zz-actions a
					{ position: relative; min-width: 0; }
#zzform .zz-actions a .svg-title
					{ position: absolute; width: 1px; height: 1px; padding: 0;
					margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);
					white-space: nowrap; border: 0; }
#zzform .zz-actions a svg
					{ width: 1em; height: 1em; margin-inline-end: .25em;
					vertical-align: -0.125em; }
#zzform .zz-actions.zz-actions--icon-only .zz-action-label
					{ position: absolute; width: 1px; height: 1px; padding: 0;
					margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);
					white-space: nowrap; border: 0; }
#zzform .zz-actions.zz-actions--icon-only a svg
					{ margin-inline-end: 0; }


@media print {
	/* black text, 11pt */
	body				{ font-size: 11pt; color: #000; }
	#zzform a:link, #zzform a:visited
						{ color: #000; text-decoration: none; }

	/* hide navigational elements */
	menu, #menu, .noprint
						{ display: none; }
	#zzform .editbutton	{ display: none; }
	#zzform #back-overview
						{ display: none; }
	#zzform .add-new	{ display: none; }
	#zzform .pages		{ display: none; }
	#zzform .zz-actions.zz-actions--icon-only .zz-action-label
					{ position: static; width: auto; height: auto; margin: 0;
					clip: auto; overflow: visible; white-space: normal; }
	#zzform .zzsearch	{ display: none; }
	#zzform .zzfilter dd
						{ border: none; margin: 0; padding: 0; }
	#zzform .zzfilter dd a
						{ display: none; }
	#zzform .zzfilter dd strong
						{ margin: 0 .5em; }


	/* white background */
	body, #zzform .editbutton, #zzform td.recordid, #zzform th.recordid 
						{ background-color: #FFF; }
	#zzform #record table
						{ background-color: #FFF; }
	#zzform #record .subtable th, #zzform #record .subtable td
						{ background-color: #FFF; }
	#zzform #record tfoot th, #zzform #record tfoot td, td.where, th.where 
						{ background-color: #FFF; }
	#zzform tr.even		{ background-color: #FFF; } /* even rows */
	#zzform tr.uneven	{ background-color: #FFF; } /* uneven rows */

	#zzform th.order	{ background-color: #FFF; } /* column ORDER BY */


	/* table formatting */
	tr					{ page-break-inside: avoid; }
	#zzform table.data	{ border-collapse: separate; border-spacing: 0; }
	#zzform table.data thead td, #zzform table.data thead th  
						{ border-bottom: 1pt black solid; }
	#zzform table.data thead
						{ display: table-header-group; }
	#zzform table.data tr.group td
						{ border-top: 1pt black solid; }
	#zzform tfoot td 
						{ border-top: 1pt black solid; 
						border-bottom: 3pt black double; }

	/* below table */
	#zzform .totalrecords
						{ margin-top: 0; clear: left; }
}

/*
 * zzform
 * Cascading Style Sheets (CSS): Sample CSS for colours
 * adjust to your colour scheme as you like it
 *
 * Part of »Zugzwang Project«
 * https://www.zugzwang.org/modules/zzform
 *
 * @author Gustaf Mossakowski <gustaf@koenige.org>
 * @copyright Copyright (c) 2005-2011, 2014, 2016-2017, 2020, 2023-2026 Gustaf Mossakowski
 * @license http://opensource.org/licenses/lgpl-3.0.html LGPL-3.0
 */


#zzform {
	/* general */
	--background-color-body: #FFF;
	--background-color-error: #C00;
	--color-error: white;

	/* record view */
	--background-color-record: #F3F4F4;
	--background-color-record-subtable: var(--background-color-record);
	--background-color-record-foot: #CCC;

	/* list view */
	--background-color-list-even: var(--background-color-record);
	--background-color-list-uneven: #FAFBFB;
	--background-color-list-order-by: var(--background-color-record);
	--background-color-list-where: #EEE;
	--border-color-list: #BBC;
	--border-color-list-foot: #7B939D;
	--border-color-list-pages: #666;
	--color-list-pages: #CCC;
}


/* list view, should be equal to body */
#zzform .editbutton, #zzform td.recordid, #zzform th.recordid 
					{ background-color: var(--background-color-body); }

/* record view */
#zzform #record table
					{ background-color: var(--background-color-record); }
#zzform #record .subtable th, #zzform #record .subtable td
					{ background-color: var(--background-color-record-subtable); }
#zzform #record tfoot th, #zzform #record tfoot td
					{ background-color: var(--background-color-record-foot); }


/* filter */
#zzform .zzfilter dd
					{ border-color: #000; }


/* list view (table) */
#zzform table.data thead td, #zzform table.data thead th,
#zzform table.data tr.group td, #zzform tr.last
					{ border-color: var(--border-color-list); }
#zzform tr.even		{ background-color: var(--background-color-list-even); }
#zzform tr.uneven	{ background-color: var(--background-color-list-uneven); }
#zzform th.order	{ background-color: var(--background-color-list-order-by); }
#zzform td.where, #zzform th.where 
					{ background-color: var(--background-color-list-where); }

#zzform tfoot td	{ border-color: var(--border-color-list-foot); }

/* list view (page navigation below list) */
#zzform ul.pages li	{ border-color: var(--border-color-list-pages); }
#zzform ul.pages li span
					{ color: var(--color-list-pages); }
#zzform ul.pages li a:hover
					{ background-color: #DDD; }


/* separating borders */
#zzform td.left_separator
					{ border-left-color: #A29F8A; }
body #zzform .separator hr
					{ background-color: #FFF; color: #FFF; border: #FFF; }


/* highlighting */
/* search */
#zzform .highlight	{ background-color: yellow; color: black; }
/* current record */
#zzform .current_record td, #zzform .current_record p
					{ background: yellow; color: black; }
/* make a choice again */
#zzform #record .reselect th, #zzform #record .reselect td, #zzform #record .reselect
					{ background-color: green; color: white; }
/* negative values */
#zzform .negative	{ color: red; }
/* errors */
#zzform .error, #zzform .subtable .horizontal td.error,
#zzform #record tr.error td, #zzform #record tr.error th, 
#zzform #record .subtable td.error
					{ background-color: var(--background-color-error); }
#zzform .error, #zzform .subtable .horizontal td.error
					{ color: var(--color-error); }
#zzform .warning	{ background-color: orange; color: black; }
#zzform .notice		{ background-color: yellow; color: black; }


/* Media */
#zzform ul.data li	{ max-width: 126px; height: 225px; }
#zzform ul.data img	{ width: 120px; height: 120px; object-fit: contain; }


/* record view, rating field */
#zzform .zz_rating label
				{ color: grey; }
#zzform .zz_rating label:has(input:focus-visible) span
				{ background: black; }
#zzform .zz_rating label:is(:has(> input:checked), :has(~ label > input:checked)),
#zzform .zz_rating label.ratingselected
				{ color: gold; }
#zzform .zz_rating label:is(:has(> input:hover), :has(~ label > input:hover))
				{ color: goldenrod; }