/*
 * CSS File of Material icons.
 * CSS code based on:
 * https://google.github.io/material-design-icons/#icon-font-for-the-web
 */






/* Use the font */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(/assets/MaterialIcons-Regular-7b028519390bc082e91dfcd15f2d1f721817b4850aa2f797a11f042303c0778b.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       url(/assets/MaterialIcons-Regular-ffbf7634155ff1a09749c731fd8869aa160e23844ea61ea2377a709063f44198.woff2) format('woff2'),
       url(/assets/MaterialIcons-Regular-85b431750ef70f23a0ba5c9aeaa557288604f8e8bbc2d315f5406b2df860af6b.woff) format('woff'),
       url(/assets/MaterialIcons-Regular-11fa64eebbe7a9a6558703e526afef944c776e4b93c86d58cf88dca148015c32.ttf) format('truetype');
}

/* Base class */
.material-icons,
.mi {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-transform: none;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

/* Rules for sizing the icon. */
.material-icons.md-18, .mi.md-18 { font-size: 18px; }
.material-icons.md-24, .mi.md-24 { font-size: 24px; }
.material-icons.md-36, .mi.md-36 { font-size: 36px; }
.material-icons.md-48, .mi.md-48 { font-size: 48px; }

/* Rules for using icons as black on a light background. */
.material-icons.md-dark, .mi.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive, .mi.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* Rules for using icons as white on a dark background. */
.material-icons.md-light, .mi.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive, .mi.md-inactive { color: rgba(255, 255, 255, 0.3); }

/* Rules to rotate items */
.material-icons.r90, .mi.r90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.material-icons.r180, .mi.r180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.material-icons.r270, .mi.r270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.material-icons.flip-horizontal, .mi.flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.material-icons.flip-vertical, .mi.flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
/* Autor: Tamás Korodi
 * Ein allgemeines Stylesheet, damit HTML-Elemente schöner ausschauen
 */

html {
	font-size: 11pt;
}

body {
	font-family: Cantarell, sans-serif;
	margin: 0.0em;
	line-height: 150%;
}

header {
	transition: 1.0s;
}

header nav {
	font-size: 1.2rem;
	text-align: left;
}


header nav {
	display: flex;
	flex-flow: row wrap;
}

header nav a {
	padding: 0.7em;
	font-weight: bold;
	word-wrap: none;
}

summary {
	font-size: 1.2rem;
	outline: none;
	transition: color 0.2s;
	margin: 1em;
}
summary:hover {
	color: #ffe;
	cursor: pointer;
}

/* Hyperlinks */
a {
	text-decoration: none;
	transition: color 0.5s, background-color 0.5s;
}

/* Tabellen */
table {
	border-collapse: collapse;
	margin: 1em auto;
	line-height: 120%;
}

th, td {
	padding: 0.3em;
	text-align: left;
	overflow-wrap: break-word;
}

/* Formularelemente */

fieldset {
/*
    border: 1px solid #ba7;
*/
    border: none;
    margin: 1em 0em;
    padding: 1em;
}

fieldset, header nav, .panel {
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);
}

fieldset fieldset {
	border: none;
	margin: 0.5em 0em;
	padding: 0em;
	box-shadow: none;
}

fieldset fieldset fieldset {
	padding: 0.5em 0.0em;
}

fieldset fieldset fieldset:not(:last-of-type) {
	border-bottom: 1px dashed #c66;
}


legend {
	text-align: center;
	font-weight: bold;
	font-variant: small-caps;
	font-size: larger;
}

fieldset fieldset legend {
	margin-bottom: 1em;
}

label {
	display: inline-block;
	font-weight: bold;
	cursor: pointer;
}

fieldset > label
{
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	display: block;
	transition: background-color 0.3s;
}

label > i {
	margin-left: 0.5em;
	margin-bottom: 0.5em;
	line-height: 90%;
	display: block;
	font-weight: normal;
	font-size: smaller;
	font-style: italic;
}

button, input[type="submit"], input[type="button"], .button {
	display: inline-block;
	font-weight: normal;
	font-size: 0.8rem;
	text-transform: uppercase;
	padding: 0.6em 1em;
	cursor: pointer;
	border-radius: 2px;
	letter-spacing: .5px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);
	border: none;
	margin: 1em;
	line-height: 22px;
	user-select: none;
	font-family: Cantarell, sans-serif;
}

.button i {
	float: left;
}

button, input, select, textarea {
	border: 1px solid #d96;
	padding: 0.2em;
	margin: 0.5em;
	vertical-align: top;

/*
	appearance: none;
*/
	transition: background-color 0.3s, border-color 0.3s;
}

.aligned input[type="number"] {width: 4em;}

.aligned input, .aligned select {
	justify-self: start;
	align-self: center;
}


button, input[type="submit"], input[type="button"], .button {
	transition: background-color 0.3s, border-color 0.3s;
}

button:hover, input[type="submit"]:hover, input[type="button"]:hover, .button:hover {
	border: none;
}



textarea {display: block; width: 90%}


.actions {
	margin: 0px;
	padding: 0px;
	display: block;
	text-align: center;
}



/* Listen */
ul, ol {
	padding-left: 2em;
}


dt {
	font-weight: bold;
	font-variant: small-caps;
	font-size: 110%;
}

dd {
	margin-left: 2em;
}


/* Ausrichtung für Definitionlisten und Formularelemente */
@media (min-width: 40em) {

.aligned {
	display: grid;
	margin: 0em;
	padding: 0em 1em;
	grid-template-columns: minmax(auto, 10em) minmax(10em, 1fr);
	gap: 0.5em 1.5em;
}

.aligned > dt, .aligned > label {
	text-align: right;
	grid-column: 1;
	justify-self: end;
	word-wrap: break-word;
}


.aligned > label::after {
	content: ":"
}

.aligned > dd, .aligned > input, .aligned > select {
	text-align: left;
	margin: 0em;
	grid-column: 2;
}

.aligned > textarea {
	grid-column: span 2;
}
}



/* Überschriften */
h1, h2, h3, legend {
	font-variant: small-caps;
	text-align: center;
}
/* Zitate */
q {
	color: #833;
}

/* Abschnitte */
aside {
	background-color: #ec9;
	margin: 1em;
	padding: 1em;
	min-width: 30em;
	width: 30%;
	float: right;
}

aside h1, aside h2, aside h3 {
	margin-top: 0em;
}


header {
	margin-bottom: 1em;
	margin-top: 0em;
	margin-left: 0em;
	margin-right: 0em;
}

footer {
	clear: both;
	text-align: right;
	font-size: small;
	padding: 0.5em;
}


/* Fehlermeldungen */

.alert, .error {
	color: #EC8;
	background-color: #C33;
	padding: 1em;
	margin: 0em 1em;}

.validation_error ul {
	margin: 0px;
	font-style: italic;
	font-size: smaller;
}

.notice {
	color: white;
	background-color: #484;
	border: 2px solid #080;
	padding: 1em;
	margin: 0em 1em;}

.message {
	padding: 1em;
	font-weight: bold;
	text-align: center;
	padding: 1em;
	margin: 1em auto;
	max-width: 30em;
}

.field_with_errors {
	background-color: #C33;
}

/* Sonstiges */
hr {
	border-top-width: 0px;
	border-bottom: 1px dashed #c66;
}

.outstanding {
	background-color: var(--bg-color-2);
	font-weight: bold;
	border: 2px solid;
	padding: 1em;
	margin: 1em auto;
	max-width: 30em;
}

/* Überblick */
.overview {
	font-size: 120%;
	line-height: 170%;
	columns: 3 12em;
	column-gap: 3em;
	margin: 2em 0em;
}

.overview ul {
	margin: 0em;
	list-style-type: none;
	break-inside: avoid-column;
}

.overview dt {
	break-after: avoid-column;
}

.overview dd {
	font-size: 90%;
	font-style: italic;
	color: #300;
}

/* Flexlayout */
.flexlayout {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: center;
}

/*
fieldset .flexlayout, .panel .flexlayout {
	justify-content: flex-start;
}
*/


.flexlayout h2, .flexlayout p {
	width: 100%;
}

.flexlayout > section, .flexlayout > fieldset {
	margin: 0em 2em;
	border: none;
}

.mobilemenu {
	display: none;
}

@media (max-width: 40em) {
	.mobilemenu {
		position: fixed;
		width: auto;
		height: auto;
		top: 0px;
		left: 0px;
		margin: 0px;
		display: inline-block;
	}

	header {
		position: fixed;
		top: 0em;
		left: 5em;
		right: 0px;
		visibility: hidden;
		opacity: 0%;
		margin: 0em;
		z-index: 1;
	}

	header nav {
		background-color: #ffe;
		display: block;
	}

	header nav a {
		display: block;
	}
}


/* Für die mobile Version */
@media (max-width: 40em) {
	.breadcrumb {display: none}
/*
	footer {display: none}
*/
	.flexlayout {display: block}
	.flexlayout h3 {margin-top: 0px}
	dt {margin-top: 1em;}
	.aligned label {display: block}
	.aligned input[type=text] {display: block}
	.flexlayout section, .flexlayout fieldset {margin: 0em}
}

.breadcrumb {
	font-weight: bold;
	font-variant: small-caps;
}

.tabs {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;}

.tabs a {
	word-wrap: none;
	margin: 0px;
	padding: 0.5em;
	display: block;
	background-color: #ea8;
}

.panel {
	padding: 1.0em;
}

.inline-details {
	display: inline-block;
}

.inline-details > summary {
	margin: inherit;
	font: inherit;
}

/* Für Tabellen sortieren und nummerieren */

table.indexed_table {
	counter-reset: row-num;
}
table.indexed_table tbody tr {
	counter-increment: row-num;
}
table.indexed_table tr td:first-child::before {
	content: counter(row-num) ". ";
}

th[data-sort]:hover {
	cursor: pointer;
	background-color: var(--bg-color-3);
	color: var(--text-color-3);
}

th[data-sort].sorting-asc, th[data-sort].sorting-desc {
	background-color: var(--bg-color-1);
}

th[data-sort].sorting-asc::after {
	content: " ↓"}
th[data-sort].sorting-desc::after {
	content: " ↑"}
:root {
  --bg-color-1: #AB7F41;
  --bg-color-2: #C5995B;
  --bg-color-3: #DEB274;
  --bg-color-4: #F8CC8E;
  --bg-color-5: #FFE5A7;
  --bg-color-6: #FFFFC1;
  --bg-color-7: #FFFFDA;
  --bg-color-8: #FFFFF3;

  --text-color-1: #110000;
  --text-color-2: #2B0909;
  --text-color-3: #442222;
  --text-color-4: #5E3C3C;
  --text-color-5: #775555;

  --link-color-1: #5F1B00;
  --link-color-2: #85411E;
  --link-color-3: #AB6744;
  --link-color-4: #D18D6A;
  --link-color-5: #F8B491;

  --meta-color-1: #0C126A;
  --meta-color-2: #262C84;
  --meta-color-3: #3F459D;
  --meta-color-4: #595FB7;
  --meta-color-5: #7278D0;
}

body {
	background-color: var(--bg-color-5);
	color: var(--text-color-2);
}

header nav {
	background-color: var(--bg-color-2);
}

header nav a {
	color: var(--link-color-1);
}

header nav a:hover {
	color: var(--link-color-2);
	background-color: var(--bg-color-3);
}

th {
	background-color: var(--bg-color-2);
}

tr:nth-of-type(even) td {
	background-color: var(--bg-color-3);
}

tr:nth-of-type(odd) td {
	background-color: var(--bg-color-4);
}

.panel, fieldset {
	background-color: var(--bg-color-4);
}

.panel :target, fieldset :target, .panel dt:target + dd, fieldset dt:target + dd {
	background-color: var(--bg-color-1);
}

dt {
	color: var(--text-color-1)
}

dd {
	color: var(--text-color-2)
}

label > i {
	color: var(--text-color-3)
}

/* Links */

a {
	color: var(--link-color-1)
}

a:hover, a:focus {
	color: var(--link-color-3)
}

/* Inputs */

input, select, textarea {
	background-color: var(--bg-color-5);
}

input:focus, select:focus, textarea:focus {
	background-color: var(--bg-color-6);
}

input:hover, select:hover, textarea:hover {
	background-color: var(--bg-color-7);
}

/* Buttons */

button, input[type="submit"], input[type="button"], .actions a, a.button {
	background-color: var(--link-color-3);
	color: white;
}

button:hover, input[type="submit"]:hover, input[type="button"]:hover, .actions a:hover, .button:hover {
	background-color: var(--link-color-4);
}
/*
  Place all the styles related to the matching controller here.
  They will automatically be included in application.css.
*/

#event_general_information {
	max-width: 25em;
}

#event_registrations {
	max-width: 50em;
}


#event_registrations ul {
	list-style-type: none;
	padding-left: 0em;
	columns: 3 12em;
}

#events .overview dl {
	min-height: 10em;
}

#events_table td {
	max-width: 20em;
	word-wrap: break-word;
}

#registrations_table td {
	max-width: 15em;
	word-wrap: break-word;
}

.aligned > .hint {
	margin-top: -0.5em;
	grid-column: span 2;
	text-align: right;
}
#groups .overview {
	columns: 2 30em;
	column-gap: 5em;
}

#group input, #group select {
	margin: 0em;
}

#group_memberlist ul {
	columns: 4 12em;
	column-gap: 1em;
	list-style-type: none;
}
#import_errors {
	width: 60em;
	height: 30em;
	overflow: scroll;
	background-color: #555;
	color: gray";
}
#mailinglists .overview {
	columns: 2 30em;
	column-gap: 5em;
}

#mailinglists dt {
	font-variant: normal;
}


#mailinglist_subscriptions ul
{
	columns: 2 30em;
	column-gap: 1em;
	list-style-type: none;
}

/*
  Place all the styles related to the matching controller here.
  They will automatically be included in application.css.
*/
/*
  Place all the styles related to the matching controller here.
  They will automatically be included in application.css.
*/


#people .overview {
	columns: 5 30em;
}

#people .overview dt {
	margin-top: 3em;
}

#people .overview ul {
	list-style-type: none;
	columns: 3 10em;
}



#person_registrations ul {
	list-style-type: none;
	columns: 3 15em;
}

#person_groups_automatic {
	max-width: 50em;
}

#person nav a {word-wrap: none}

#people_table td {
	max-width: 15em;
	word-wrap: break-word;
}
/*
@media (max-width: 50em) {#person_flex nav {float: none;}}
*/


/*
@media (max-width: 50em) {#person_flex nav {float: none;}}
*/
.login {
	text-align: center;
}

.login fieldset {
	display: inline-block;
	text-align: initial;
}

.login label, .login .actions {
	display: block;
	margin-top: 0.5em;
	margin-bottom: 0em;
}


.login .actions {
	text-align: center;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *




 */
