@CHARSET "UTF-8";

form {
	margin-bottom:0.7em;
	padding-bottom:1em;
	padding-top:3px;
}

form table.layouter { /* Basic form table */
	width: 100%;
	border-bottom:1px solid gray;
}
form table.filter { /* Filter table */
	width: auto;
	border: 0 !important;
}


form p { /* Form notes and warnings */
	margin-top:8px;
	margin-bottom:5px;
}
form ul {
	list-style: square;
	margin-top:-4px;
	margin-bottom:5px;
}
form ul li {
	margin-left: 2em;
}


/* Labels column */
	form table.layouter th {
		padding-top:5px;
		padding-bottom:2px;
		width:8em;
		text-align:right; /* Labels column alignment */
		padding-right:13px;
		font-weight:bold;
	}
	form .filter th { /* Submit cell */
		padding: 2px 15px 2px 0;
		text-align: right;
		font-weight: bold;
		vertical-align: bottom !important;
		width: auto !important;
	}
	/* Header column width */
	form table.expanded th { width:12em; }
	form table.wide th { width:31%; }
	form tabe.collapsed th { width: 7em; }

/* Fields column */
	form table.layouter td { /* Spacing between rows */
	 	padding-bottom:4px;
		padding-top:4px;
		padding-left:5px;
		padding-right:5px; /* Table padding */
	}
	form table.filter td {
		padding: 2px 15px 2px 0;
		vertical-align: middle !important;
	}
	form table.filter select, form table.filter .txt {
		margin-left: 5px;
	}
form .layouter td, form .layouter th {
	vertical-align:top;
	border-top:1px solid gray;
}

form .layouter label {
	vertical-align:baseline;
}


/* Fields not required */
form .layouter .notReq th, form .layouter .notReq label {
	color:gray;
	font-weight:normal;
}

/* No border */
form .layouter tr.noBorder td, form .layouter tr.noBorder th {
	padding-top:1px;
	border-top: 0;
}

/* Images in label column */
form .layouter th img {
	vertical-align:middle;
	margin-right:6px;
	float: left;
	margin-left:4px; /* Align to left */
}

/* Description under fields */
form .layouter td p {
	padding-top:2px;
	margin-bottom:4px;
}


/* Errors */
form .layouter tr.error {
	background:#ffeff3;
}
form .layouter tr p.error {
	color:red;
	clear:both;
	margin-left:0;
	font-size:90%;
}
form .overLabelApplied {
	color: gray;
}

/* Send panel */
form .sendPanel {
	border-top:1px solid #e0e0e0;
	padding-top:10px;
}

form tr.sendPanel td, form tr.sendPanel th {
	background:red;
}

/* Sectioning */
form h3, form h4 {
	margin:1em 0 0.5em;
}
form .filter h3 {
	margin: 0;
}

/* Columns */
.col2 {
	float: left;
	width: 45%;
}

.col4 {
	float: left;
	width: 25%;
}
.col6 {
	float: left;
	width: 16.66666%;
}

.colReset {
	float: left;
	width: 100%;
	clear: both;
}

/* Fieldset framing */
fieldset.frame {
	border:1px solid red;
	padding-top:3px;
	padding-bottom:2px;
	background:silver;
	margin-bottom:5px;
}

fieldset.frame legend {
	font-weight:bold;
	margin:0 0 0 10px;
	font-size:110%;
	padding-bottom:5px;
}
fieldset.frame table.layouter, fieldset.frame h4,
fieldset.frame h3, fieldset.frame p,
fieldset.frame div.sendPanel {
	margin-left:10px;
	margin-right:10px;
	width: auto; /* can be solved in some designs */
}


/* Form fields */
form .layouter textarea, form .wide {
	width:99.5%;
}
form .txt,
form select,
form textarea {
	border-left: 1px solid #a4a4a4;
	border-top: 1px solid #a4a4a4;
	border-right: 1px solid #e3e3e3;
	border-bottom: 1px solid #e3e3e3;
	background: #f6f6f6;
}
textarea {
	font-family:Arial, sans-serif;
	font-size:100%;
}
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="text"],
input[type="password"],
input[type="number"] {
	font-family: Arial, sans-serif;
}
form .button, form button, form a.button:hover {
	font-weight: bold;
	color: white;
	cursor:pointer;
	text-decoration:none;
	padding-top:2px;
	padding-bottom:2px;
	text-align:center;
	font-size:100%;
	font-family: Arial, sans-serif;
	background: black;
	border:0;
}
form a.button {
	padding-left: 12px;
	padding-right: 12px;
}
/* Disabled button */
form .disabled {
	background:rgb(220,220,220);
	}
/* Focus */
input:focus,
textarea:focus{
	background:#f8fecc !important;
}

input[type="submit"]:focus {
	background: black !important;
}

/* Forms with block layout */
form label.caption {
	display:block;
	padding:4px 0;
}

/* Dynamic fields */
form .fieldLine {
	margin-bottom:3px;
}
form .dynamicFormAdd, form .dynamicFormDelete {
	background: transparent;
	color: red;
}
form .patternField {
	display:none;
}

form.inline-form {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	display: inline;
}

form.inline-form button {
	font-family: Arial, sans-serif;
	text-decoration: none;
	font-weight: bold;
	color: black;
	background: none;
	border: 0;
	border-bottom: 1px dotted black;
	cursor: pointer;
	padding: 0;
}

.clear-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 2px;
	border: 0;
}

.clear-filter:hover {
	background-color: transparent;
}

.clear-filter svg {
	width: 16px;
	height: 16px;
}

.input-group {
	display: flex;
	gap: 4px;
	flex-direction: column;
	align-items: baseline;
}

.grouped-inputs {
	display: flex;
	margin-bottom: 16px;
	gap: 8px;
}

:root {
	--ss-main-height: 24px;
	--ss-spacing-s: 2px;
	--ss-border-color: #bbb;
	--ss-border-radius: 1px;
	--ss-primary-color: #444;
	--ss-bg-color: #f6f6f6;
	--ss-font-color: #000;
}
