a.block-link {
	display: block;
}

div.two-column-grid {
	display:               grid;
	grid-gap:              1em;
	grid-template-columns: 1fr 1fr;
	margin-bottom:         1ex;
}

div.two-column-grid > div {
	background-color: whitesmoke;
	border-radius:    4px;
	padding:          3px;
}

div.two-column-grid h3 {
	margin: 3px;

}

div.display-box {
	position: relative;
	border:   1px solid darkgray;
}

div.display-box div.display-box-title {
	background-color: #f0f0f0;
	padding:          5px;
	border-bottom:    1px solid lightgrey;
	font-size:        120%;
	font-weight:      bold;

}

div.display-box div.display-box-actions {
	position: absolute;
	top:      0;
	right:    2px;
}

div.display-box div.display-box-actions img.icon {
	max-height: 1.5em;
}

div#info-boxes {
	float:     right;
	min-width: 10em;
	max-width: 10%;
}

div#info-boxes div.portlet.boxed {
	min-width:     10em;
	border:        1px solid darkgray;
	border-radius: 5px;
}

div#info-boxes div.portlet.boxed div.title {
	font-weight:      bold;
	position:         relative;
	padding:          2px 1ex;
	text-align:       left;
	color:            white;
	border-radius:    5px 5px 0 0;
	background-color: #ae0a2c;
}

div#info-boxes div.portlet.boxed div.content {
	padding: 2px;
}

div#info-boxes div.portlet.boxed div.content dl {
	margin-bottom: inherit;
}

div.grid-list-2 {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: auto auto;
	max-width:             60em;
	margin-bottom:         1ex;
}

div.grid-list-2-min-1 {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: min-content auto;
	max-width:             60em;
	margin-bottom:         1ex;
}

div#event-type-list {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: 1em min-content auto min-content;
	max-width:             60em;
	margin-bottom:         1ex;
}

div#event-type-list div.title {
	font-weight: bold;
	white-space: nowrap;
}

div#event-type-list div.actions a.action img.icon {
	height: 1em;
}

div#roles-list {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: max-content auto min-content min-content;
	max-width:             60em;
	margin-bottom:         1ex;
}

div#roles-list div.head {
	font-weight: bold;
}

div#roles-list div.actions a.action img.icon {
	height: 1em;
}

div#local-roles div#roles div.title {
	font-weight: bold;
}

div#local-roles div#roles div.title img.icon {
	max-height: 1em;
	max-width:  1em;

}

div#local-roles div#roles ul.principals img.icon {
	max-height:     1em;
	max-width:      1em;
	vertical-align: baseline;
}

div#location-type-list {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: min-content auto min-content;
	max-width:             60em;
	margin-bottom:         1ex;
}

div#location-type-list div.title {
	font-weight: bold;
	white-space: nowrap;
}

div#location-type-list div.actions a.action img.icon {
	height: 1em;
}

div#historic-dates-list {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: min-content min-content auto min-content;
	max-width:             60em;
	margin-bottom:         1ex;
}

div#historic-dates-list div.title {
	white-space: nowrap;
}

div#historic-dates-list div.date {
	white-space: nowrap;
}

div#historic-dates-list div.actions {
}

div#historic-dates-list div.description {
}

div#historic-dates-list div.actions a.action img.icon {
	max-height: 1em;
}

div#welcome-text {
	position: relative;
}

a#new-link {
	display:  block;
	position: absolute;
	right:    0;
	bottom:   -3em;
}

div#overview-date-list div.date-entry {
	margin-bottom: 1em;
}

div#overview-date-list div.date-entry div.month-header {
	font-size:     150%;
	font-weight:   bold;
	padding:       2px;
	border-bottom: 2px solid darkgray;
}

div#overview-date-list div.date-entry div.event-list {
	margin-top:            1ex;
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: repeat(auto-fill, minmax(30em, 1fr));
}

div#overview-date-list div.date-entry div.event-list div.event {
	position:              relative;
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: 2fr 1fr min-content;
	grid-template-rows:    min-content min-content auto min-content;
	grid-template-areas:
			'date time type'
			'title title title'
			'description description description'
			'location location location';
	border:                1px solid darkgray;
	border-radius:         5px;
	padding:               3px;
	color:                 inherit;
	text-decoration:       inherit;
	background-color:      #f0f0f0;
}

div#overview-date-list div.date-entry div.event-list div.event.highlight {
	background-color: #b2e8fa;
}

div#overview-date-list div.date-entry div.event-list div.event:hover {
	cursor:           pointer;
	border-color:     #2e6da4;
	background-color: #c0edff;
}

div#overview-date-list div.date-entry div.event-list div.event div.date {
	font-style: italic;
	grid-area:  date;
}

div#overview-date-list div.date-entry div.event-list div.event div.time {
	font-style: italic;
	grid-area:  time;
}

div#overview-date-list div.date-entry div.event-list div.event div.type {
	text-align: right;
	grid-area:  type;
}

div#overview-date-list div.date-entry div.event-list div.event div.title {
	font-size:   130%;
	font-weight: bold;
	grid-area:   title;
}

div#overview-date-list div.date-entry div.event-list div.event div.description {
	grid-area:  description;
	min-height: 4em;
}

div#overview-date-list div.date-entry div.event-list div.event div.location {
	margin-top:            1ex;
	grid-area:             location;
	display:               grid;
	grid-template-columns: auto min-content;

}

div#overview-date-list div.date-entry div.event-list div.event div.location div.buttons {
	vertical-align: bottom;
}

div#overview-date-list div.date-entry div.event-list div.event div.location div.flags {
	white-space: nowrap;
	transform:   rotate(-20deg)
}

div#overview-date-list div.date-entry div.event-list div.event div.location div.flags div.flag.register {
	font-weight: bold;
	color:       orange;
}

div#overview-date-list div.date-entry div.event-list div.event div.location div.flags div.flag.registered {
	font-weight: bold;
	color:       green;
}

div.overview-event-participation {
	display:               grid;
	grid-template-columns: min-content min-content min-content min-content min-content;
}

div.overview-event-participation img {
	max-height: 2em;
	padding:    0 2px;
}

div.overview-event-participation div.number {
	font-size:   1.5em;
	font-weight: bold;
	white-space: nowrap;
	padding:     0 3px;
}


div.overview-event-participation a img.arrow {
	margin-top:     1ex;
	max-height:     1em;
	vertical-align: bottom;
}


div#overview-date-list div.date-entry div.event-list div.event div.status {
	position:    absolute;
	text-align:  center;
	bottom:      0;
	right:       1ex;
	font-weight: bold;
	font-size:   150%;
}

div#overview-date-list div.date-entry div.event-list div.event div.status.draft {
	color: red;
}

div#overview-date-list div.date-entry div.event-list div.event div.status.review {
	color: orange;
}

div#overview-date-list div.date-entry div.event-list div.event div.event-type-list {
	white-space: nowrap;
}

div#overview-date-list div.date-entry div.event-list div.event div.event-type-list div.event-type {
	position:      relative;
	display:       inline-block;
	border:        1px solid darkgray;
	border-radius: 5px;
	width:         1em;
	height:        1em;
}

div#overview-date-list div.date-entry div.event-list div.event div.event-type-list div.event-type div.popup {
	display:          none;
	position:         absolute;
	min-width:        16em;
	max-height:       10em;
	overflow:         auto;
	bottom:           2em;
	border:           1px solid darkgray;
	border-radius:    5px;
	padding:          5px;
	background-color: #f0f0f0;
	text-align:       initial;
}

div#overview-date-list div.date-entry div.event-list div.event div.event-type-list div.event-type:hover div.popup {
	display: block;
}

div#calender-navigation {
	display:               grid;
	grid-template-columns: 1fr 1fr 1fr;
}

div#calender-navigation div#current {
	text-align: center;
}

div#calender-navigation div#next {
	text-align: right;
}

div#calendar-month {
	display:               grid;
	grid-gap:              1px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

div#calendar-month div.weekday {
	background-color: #a0a0a0;
	padding:          3px;
/ color: white;
	font-weight:      bold;
	font-size:        120%;

}

div#calendar-month div.day {
	display:               grid;
	grid-template-columns: auto min-content;
	grid-template-rows:    min-content auto;
	grid-template-areas:
			'annotations number'
	        'events events';
	min-height:            12em;
	background-color:      #f0f0f0;
}

div#calendar-month div.day.weekend {
	background-color: #e0e0e0;
}

div#calendar-month div.day.holiday {
	background-color: #ffe0e0;
}

div#calendar-month div.day.today {
	background-color: #e0e0ff;
}

div#calendar-month div.day div.annotations {
	grid-area: annotations;
	padding:   3px;
}

div#calendar-month div.day div.annotations div.holiday {
	color: darkred;
}

div#calendar-month div.day div.annotations div.historic {
	color: darkgreen;
}

div#calendar-month div.day div.number {
	grid-area:   number;
	padding:     3px;
	font-size:   150%;
	font-weight: bold;
	text-align:  right;
}

div#calendar-month div.day.holiday div.number {
	color: red
}

div#calendar-month div.day.today div.number {
	color: blue
}


div#calendar-month div.day div.events {
	grid-area: events;
}

div#calendar-month div.day div.events div.calendar-month-event {
	display:               grid;
	grid-gap:              0 3px;
	grid-template-columns: min-content auto min-content;
	margin:                0 2px;
}


div#calendar-month div.day div.events div.calendar-month-event div.event-type {
	position:      relative;
	display:       inline-block;
	border:        1px solid darkgray;
	border-radius: 5px;
	width:         1em;
	height:        1em;
}

div#calendar-month div.day div.events div.calendar-month-event div.event-type div.popup {
	display:          none;
	position:         absolute;
	min-width:        16em;
	max-height:       10em;
	overflow:         auto;
	bottom:           2em;
	border:           1px solid darkgray;
	border-radius:    5px;
	padding:          5px;
	background-color: #f0f0f0;
	text-align:       initial;
}

div#calendar-month div.day div.events div.calendar-month-event div.event-type:hover div.popup {
	display: block;
}

form.deform {
	max-width: 60em;
}

div#event-infos span#date,
div#event-infos span#time {
	font-weight: bold;
	font-size:   110%;
}

div#event-infos.canceled span#date,
div#event-infos.canceled span#time {
	text-decoration: line-through;
}

div#event-infos.planed span#date,
div#event-infos.planed span#time {
	font-weight: initial;
	font-style:  italic;
}


div#event-infos div#description {
	margin-top:  1em;
	font-weight: bold;
}

div#event-associations div#event-association-list div.association div.title {
	font-size:     120%;
	font-weight:   bold;
	border-bottom: 1px solid darkgray;
}

div#event-associations div#event-association-list div#registration div#date-list {
	display:               grid;
	width:                 min-content;
	grid-gap:              1px 1em;
	grid-template-columns: auto auto;
}

div#event-associations div#event-association-list div#registration div#date-list div.date {
	white-space: nowrap;
	font-style:  italic;
}

div#event-associations div#event-association-list div#registration div#date-list a {
	display:     block;
	white-space: nowrap;

}

div#event-overview div#event-infos span#canceled {
	color: darkred;
}

div#event-overview div#event-infos span#planed {
	color: orange;
}

div#event-overview div.registration div.date {
	font-size:     120%;
	font-weight:   bold;
	border-bottom: 1px solid darkgray;
}

div#event-overview div#event-location-vote {
	max-width: 60em;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions {
	display:               grid;
	grid-gap:              1px;
	grid-template-columns: min-content auto auto;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div {
	padding: 1px 3px;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div.even {
	background-color: #f0f0f0;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div.odd {
	background-color: #f8f8f8;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div.title {
	font-weight: bold;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div.vote {
	white-space: nowrap;
}

div#event-overview div#event-location-vote div#event-location-vote-suggestions div.vote img {
	max-height: 1em;
}

div#event-type-legend-portlet dl dt {
	position: relative;
}

div#event-type-legend-portlet div.content p {
	margin-bottom: 2px;
}

div#event-type-legend-portlet dl dt span.indicator {
	position:      absolute;
	display:       block;
	right:         2px;
	top:           2px;
	width:         1em;
	height:        1em;
	border:        1px solid darkgray;
	border-radius: 5px;

}

div#event-type-legend-portlet div.highlight {
	background-color: #b2e8fa;
}


div#event-date-list-portlet div.date {
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: auto min-content;
}

div#event-date-list-portlet div.date div {
	white-space: nowrap;
}

div#event-date-list-portlet div.actual {
	font-weight: bold;
}

div#registration-panel div.participation {
	display:               grid;
	grid-gap:              3px;
	grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
}


div#registration-participant-view div.display-box div.display-box-content {
	margin: 3px;
}

div#registration-participant-view div#registration-displays {
	display:               grid;
	grid-gap:              1em;
	grid-template-columns: repeat(auto-fit, minmax(30em, 1fr));
}

div#registration-participant-view div#event-registration-form p {
	padding: 3px;
}


div#registration-participant-view div#event-registration-form-list {
	display:               grid;
	grid-gap:              1ex 1px;
	grid-template-columns: auto auto min-content;
}

div#registration-participant-view div#event-registration-form-list img.icon {
	height: 1em;
}

div#registration-participant-view div#event-registration-form-list div.actions {
	white-space: nowrap;
}

div#registration-participant-view div#registration-participant-list table {
	background-color: black;
	border-collapse:  separate;
	border-spacing:   1px;
	min-width:        60em;
}

div#registration-participant-view div#registration-participant-list table tr th {
	padding: 0 2px;
}

div#registration-participant-view div#registration-participant-list table tr td {
	padding: 0 2px;
}

div#registration-participant-view div#registration-participant-list table tr td.actions img.icon {
	max-height: 1em;
}

div#registration-participant-view div#registration-participant-list table tr {
	background-color: #e0e0e0;
}

div#registration-participant-view div#registration-participant-list table tr.even {
	background-color: #f8f8f8;
}

div#registration-participant-view div#registration-participant-list table tr.odd {
	background-color: #f0f0f0;
}

div#event-register-confirm form {
	max-width: 60em;
}

div#event-registration-panel div.date-entry div.participation {
	display:               grid;
	grid-gap:              3px;
	grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
}

div#event-register-confirm form div.checkboxes {
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: min-content auto;
}

div#event-register-confirm form div.actions {
	margin-top: 1em;
}


div#event-registration-participants-portlet div.content div.date {
	font-weight:   bold;
	font-style:    italic;
	border-bottom: 1px solid darkgray;
}


div#locations-view div.location-type {
	display:               grid;
	grid-gap:              1em;
	grid-template-columns: repeat(auto-fit, minmax(42em, 1fr));
	margin-top:            1em;
}

div#locations-view div.location-list {
	break-inside: avoid;
}

div#locations-view div.location-list div.title {
	position:      relative;
	border-bottom: solid 1px darkgray;
	font-size:     130%;
	font-weight:   bold;
}

div#locations-view div.location-list div.title div.actions {
	position:    absolute;
	right:       2px;
	bottom:      2px;
	font-size:   70%;
	white-space: nowrap;
}

div#locations-view div.location-list div.title div.actions a {
	display: inline;
}

div#locations-view div.location-list span.location {
	display: block;
}

div#locations-view div.location-list span.location a.name.status-draft {
	text-decoration: line-through;
}

div#locations-view div.location-list span.location a.name.status-review {
	text-decoration: underline;
}

div#locations-view div.location-list span.location span.event-type {
	display: inline-block;
	height:  1ex;
	width:   1ex;
	border:  1px solid black;
}

div#locations-view div.location-list div.locations.large-set {
	columns: auto 20em;
}


div#locations-view div#suggestions div#suggestion-list {
	margin-top:            1em;
	display:               grid;
	grid-template-columns: repeat(auto-fit, minmax(40em, 1fr));
	grid-gap:              1ex;
}

div#locations-view div#suggestions div.suggestion {
	display:               grid;
	grid-gap:              2px;
	grid-template-areas:
		'title title votes'
		'comment comment comment'
		'address attributes vote';
	grid-template-columns: auto auto min-content;
	grid-template-rows:    min-content auto min-content;
	margin-bottom:         1em;
	break-inside:          avoid;
	border:                1px solid darkgray;
	border-radius:         5px;
	padding:               3px;
	background-color:      #f0f0f0;
}

div#locations-view div#suggestions div.suggestion div.location-name {
	grid-area:   title;
	font-weight: bold;
}

div#locations-view div#suggestions div.suggestion div.location-name a.action-link {
	font-weight:  initial;
	font-size:    80%;
	float:        right;
	margin-right: 1ex;
}

div#locations-view div#suggestions div.suggestion div.location-vote {
	grid-area:  vote;
	text-align: center;
}

div#locations-view div#suggestions div.suggestion div.location-votes {
	grid-area:             votes;
	display:               grid;
	grid-template-columns: 1fr 1fr;
}

div#locations-view div#suggestions div.suggestion div.location-vote div.login-notice {
	font-weight: bold;
	white-space: nowrap;
}

div#locations-view div#suggestions div.suggestion div.comment {
	grid-area:  comment;
	min-height: 2em;
}

div#locations-view div#suggestions div.suggestion div.location-address {
	grid-area: address;
}

div#locations-view div#suggestions div.suggestion div.location-attributes {
	grid-area: attributes;
}

div#locations-view div#suggestions div.suggestion div.location-attributes img {
	height: 3em;
}

div#locations-view div#suggestions div.suggestion div.location-votes div {
	padding:     0 3px;
	color:       white;
	font-weight: bold;
	text-align:  center;
}

div#locations-view div#suggestions div.suggestion div.location-votes div.yes {
	background-color: green;
}

div#locations-view div#suggestions div.suggestion div.location-votes div.no {
	background-color: red;
}

div#locations-view div#suggestions div.suggestion div.location-vote div.voting {
	display:               grid;
	grid-template-columns: 1fr 1fr;
}

div#locations-view div#suggestions div.suggestion div.location-vote img {
	max-height: 3em;
	height:     100%;
	margin:     3px;
}

div#location-overview {
	position: relative;
}

div#location-overview h1 {
	position:      relative;
	border-bottom: 1px solid darkgray;
}

div#location-overview h1 div#location-attributes {
	position: absolute;
	right:    0;
	bottom:   0;
}

div#location-overview h1 div#location-attributes img {
	max-height: 1em;
}


div#location-overview div#location-infos div#description {
	font-weight:   bold;
	margin-bottom: 1ex;
}

div#location-overview div#location-contact {
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: min-content auto auto;
}

div#location-overview div#location-contact img.contact-type-icon {
	height:         1.5em;
	vertical-align: center;
	display:        block;
}

div#location-overview-panel a#title {
	font-size:   120%;
	font-weight: bold;
}

div#location-physical-address-panel {
	display:               grid;
	grid-gap:              1em;
	grid-template-columns: max-content auto;
	margin-top:            1em;
	max-width:             60em;
}

div#location-physical-address-panel div#location-address-text h3 {
	margin-top: 0;
}

div#location-physical-address-panel div#location-address-map {
	text-align: right;
	margin:     0 0 1ex 1ex;
}

div#location-physical-address-panel div#location-address-map iframe {
	width:        100%;
	min-width:    10em;
	max-height:   16em;
	aspect-ratio: 1;
}


table#location-contact-edit {
	border: 1px solid darkgray;
}

table#location-contact-edit td, table#location-contact-edit th {
	padding: 1px 5px;
	border:  1px solid darkgray;
}

table#location-contact-edit img.action-icon {
	height: 1em;
}

div#location-hours {
	display:               grid;
	grid-gap:              0 1em;
	grid-template-columns: min-content auto;
}

div#location-hours div.weekdays {
	white-space: nowrap;
}

div.location-attributes img.icon {
	max-height: 3em;
	max-width:  4em;
}

div#registrations-list {
	margin-top:            1em;
	display:               grid;
	grid-gap:              1em;
	grid-template-columns: repeat(auto-fit, minmax(30em, 1fr));
}

div#registrations-list div.registration a.title {
	display:       block;
	font-size:     130%;
	font-weight:   bold;
	border-bottom: 1px solid darkgray;
}

div#ical-download-portlet div.abo-links img.logo {
	max-height: 2em;
	max-width:  3em;
	margin:     2px;
}

div#ical-download-portlet a.download-link {
}

div#event-emitter-overview div#emitter-infos div#next-date {
	font-weight:           bold;
	display:               grid;
	grid-gap:              0 1ex;
	grid-template-columns: auto auto auto;
	width:                 fit-content;
}

div#event-emitter-overview div#emitter-infos div#generate {
	margin-top: 1ex;
}

div#event-emitter-overview div#further-dates {
	display:               grid;
	grid-gap:              0 1ex;
	grid-template-columns: auto auto;
	width:                 fit-content;
}

div#event-emitter-events-portlet div.event {
	display:               grid;
	grid-template-columns: auto min-content min-content;
}

div#event-emitter-events-portlet div.event span.time {
	white-space: nowrap;
}

div#event-emitter-events-portlet div.event div.icons {
	white-space: nowrap;
	padding:     0 1ex 0 0;
}

div#event-emitter-events-portlet div.event div.icons img {
	max-height:     1em;
	max-width:      1em;
	vertical-align: baseline;
}

div#event-location-vote div#suggestion-list {
	display: grid;
	grid-template-areas:
		'list'
		'map';
}

div#event-location-vote div#suggestion-list div#suggestion-map {
	grid-area:    map;
	width:        100%;
	aspect-ratio: 1;
}

div#event-location-vote div#suggestion-list div#event-location-vote-suggestions {
	grid-area: list;
}

div#event-location-vote-result-portlet div.content.info {
	display:               grid;
	grid-template-columns: auto min-content;
	grid-gap:              0 1ex;
}

div#event-location-vote-result-portlet div.content.info div.info-title {
	font-weight: bold;
}

div#event-location-vote-result-portlet div.content.info div.info-value.int {
	text-align: right;
}

div#event-location-vote-result-portlet div.content.result div.results {
	display:               grid;
	grid-template-columns: auto min-content;
	grid-gap:              0 1ex;
}

div#event-location-vote-result-portlet div.content.result div.info-title {
	font-weight: bold;
}

div#event-location-vote-result-portlet div.content.result div.results div.votes {
	text-align: right;
}

table#visibility-matrix td.input {
	text-align: center;
}

div#event-participation h2 {
	position: relative;
}

div#event-participation h2 div#date-selector {
	position:    absolute;
	right:       0;
	bottom:      0;
	font-size:   50%;
	font-weight: initial;
}

div#event-participation h2 div#date-selector span {
	display: block;
}

div#event-participation h2 div#date-selector a {
	display: none;
}

div#event-participation h2 div#date-selector:hover a {
	display: block;
}

div#event-participation h2 div#date-selector:hover span {
	display: none;
}

div#event-participation div#participation-list {
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
}

div#event-participation div#participation-list a.participant {
	display:          block;
	border:           1px solid darkgray;
	background-color: #f0f0f0;
	padding:          2px 1em;
	white-space:      nowrap;
	text-decoration:  none;
	color:            initial;
}

div#event-participation div#participation-list a.participant.participated {
	border:           1px solid darkgreen;
	background-color: lightgreen;
}

div#event-participation-portlet div#vote-participation {
	display:               grid;
	grid-template-columns: auto min-content;
}

div#event-participation-portlet a.button {
	margin-top: 2px;
}

div#location-evaluations div#location-list {
	display:               grid;
	grid-gap:              1ex;
	grid-template-columns: repeat(auto-fill, minmax(40em, 1fr));
}

div#location-evaluations div#location-list a.location {
	display:         block;
	text-decoration: none;
	color:           inherit;
	border:          1px solid darkgray;
	border-radius:   4px;
	cursor:          pointer;
}

div#location-evaluations div#location-list a.location div.title {
	background-color: #ae0a2c;
	color:            white;
	padding:          3px 1em;
	font-weight:      bold;
	border-bottom:    1px solid darkgray;
	border-radius:    4px 4px 0 0;
}

div#location-evaluations div#location-list a.location div.event {
	display:               grid;
	grid-template-columns: min-content auto;
}

div#location-evaluations div#location-list a.location div.event div.event-title {
	font-weight: bold;
	padding:     1px 1ex;
}

div#location-evaluations div#location-list a.location div.event div.event-date {
	/*display: grid;*/
	/*grid-template-columns: repeat(auto-fit, 10em);*/
}

div#location-evaluations div#location-list a.location div.event div.event-date span {
	padding:     1px 1ex;
	white-space: nowrap;
}

div#location-evaluations div#location-list a.location div.evaluation {
	display:               grid;
	grid-template-columns: 1fr 1fr;
}

div#location-evaluations div#location-list a.location div.evaluation div.evaluation-title {
	background-color: #f0f0f0;
	font-weight:      bold;
	padding:          1px 1ex;
	position:         relative;
}

div#location-evaluations div#location-list a.location div.evaluation div.evaluation-title img {
	position:   absolute;
	right:      1ex;
	top:        4px;
	max-height: 1em;
}

div#location-evaluations div#location-list a.location div.evaluation div.evaluation-answers {
	display:               grid;
	grid-gap:              1px 1ex;
	grid-template-columns: auto auto;
}

div#location-evaluations div#location-list a.location div.evaluation div.evaluation-answers div {
	padding: 1px 1ex;
}

div#location-evaluations div#location-list a.location div.evaluation div.evaluation-message {
	padding:    1px 1ex;
	font-style: italic;
}

div#location-evaluation-form-infos-events {
	display:               grid;
	grid-gap:              2px 1em;
	grid-template-columns: auto auto;
	width:                 max-content;
	margin-bottom:         1em;
}

div#location-evaluation-form-infos-events div.title {
	font-weight: bold;
}

div#location-evaluation-portlet div.sub-header {
	background-color: #ffe0e0;
	padding:          3px;
	font-weight:      bold;
	border-top:       1px solid darkgray;
	border-bottom:    1px solid darkgray;
}

div#location-evaluation-portlet img.stars {
	max-height: 1em;
	float:      right;
}

div#event-options div#option-group-list {
	columns: auto 40em;
}

div#event-options div#option-group-list div.event-option-group {
	break-inside: avoid-column;
}

div#event-options div#option-group-list div.event-option-group div.title {
	font-weight:   bold;
	font-size:     110%;
	border-bottom: 1px solid darkgray;
}

div#event-options div#option-group-list div.event-option-group a.option {
	display:         block;
	text-decoration: none;
	color:           inherit;
	margin-bottom:   1em;
}

div#event-options div#option-group-list div.event-option-group a.option div.option-title {
	font-style: italic;
	position:   relative;
}

div#event-options div#option-group-list div.event-option-group a.option div.option-title div.value {
	position:    absolute;
	right:       1em;
	top:         2px;
	font-weight: bold;
	color:       darkgreen;
}

div#event-options div#option-group-list div.event-option-group a.option div.option-title div.value.default {
	color: orange;
}

div#event-options div#option-group-list div.event-option-group a.option p.option-description {
	margin: 0;
}

div#event-option-edit div.actions {
	margin-top: 1em;
}

div.notification-banner {
	position:              relative;
	border-color:          darkgreen;
	background-color:      lightgreen;
	display:               grid;
	grid-template-columns: auto min-content;
	grid-template-rows: min-content auto;
	grid-template-areas:
		'title title'
	    'text actions';
}

div.notification-banner a.banner-hide {
	position: absolute;
	top:      1ex;
	right:    1ex;
}

div.notification-banner a.banner-hide img.icon {
	display:    none;
	max-height: 1em;
	max-width:  1em;
}

div.notification-banner:hover a.banner-hide img.icon {
	display: inherit;
}

div.notification-banner div.title {
	font-weight: bold;
	font-size:   120%;
	grid-area:   title;
}

div.notification-banner div.text {
	grid-area: text;
}

div.notification-banner div.actions {
	position:       relative;
	grid-area:      actions;
	display:        flex;
	flex-direction: column-reverse;
}

div.notification-banner div.actions a.link {
	margin-top: auto;
	padding:    3px 6px;
}

div#location-attribute-group-list {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(32em, 1fr));
	grid-gap:              1em;
}

div#location-attribute-group-list div.location-attribute-group div.title {
	font-size:   180%;
	font-weight: bold;

}

div#location-attribute-group-list div.location-attribute-group div.description {
	margin-bottom: 1ex;
}

div#location-attribute-group-list div.location-attribute-group div.attribute {
	display:               grid;
	grid-template-columns: auto 4em;
	grid-gap:              1ex;
}

div#location-attribute-group-list div.location-attribute-group div.attribute img {
	max-width:  4em;
	max-height: 3em;
}

div#scheduling div.schedule {
	display:    grid;
	grid-template-areas:
		'title statement'
		'description description';
	margin-top: 1em;
	max-width:  60em;
}

div#scheduling div.schedule.personal {
	background-color: #b7d9fa;
}


div#scheduling div.schedule a.title {
	grid-area:   title;
	font-weight: bold;
}

div#scheduling div.schedule div.statement {
	grid-area:      statement;
	text-align:     right;
	vertical-align: text-bottom;
}

div#scheduling div.schedule p.description {
	grid-area:   description;
	border-top:  1px solid darkgray;
	padding-top: 1ex;
}

div#schedule-view table#result {
	margin-bottom: 1ex;
}

div#schedule-view table#result th,
div#schedule-view table#result td {
	border: 1px solid darkgray;
}

div#schedule-view table#result thead tr th {
	background-color: whitesmoke;
	padding:          3px;
	text-align:       center;
}

div#schedule-view table#result thead tr th.time {
	font-weight: normal;
}

div#schedule-view table#result tbody tr th {
	padding: 3px;
}

div#schedule-view table#result tbody tr th.user {
	position: relative;
}

div#schedule-view table#result tbody tr th.user img.note-icon {
	float:      right;
	max-width:  1em;
	max-height: 1em;
	margin:     2px;
}

div#schedule-view table#result tbody tr th.user div.note {
	position:         absolute;
	top:              5ex;
	left:             1ex;
	display:          none;
	font-size:        80%;
	width:            20em;
	background-color: lightgray;
	padding:          1ex;
	border:           1px solid darkgray;
	border-radius:    4px;
	z-index:          1;
}

div#schedule-view table#result tbody tr:hover th.user div.note {
	display: block;
}

div#schedule-view table#result tbody tr.my-vote {
	background-color: #b4d8f8;
}

div#schedule-view table#result tbody tr td {
	padding:    3px;
	text-align: center;
}

div#schedule-view table#result tbody tr td.no {
	background-color: lightsalmon;
}

div#schedule-view table#result tbody tr td.not_like {
	background-color: lightyellow;
}

div#schedule-view table#result tbody tr td.ok {
	background-color: lightgreen;
}

div#schedule-view table#result tbody tr td.great {
	background-color: lightblue;
}

div#schedule-view table#result thead tr th.date {
	text-align: center;
}

div#schedule-view table#result tbody tr.summary th {
	background-color: whitesmoke;
}

div#schedule-view table#result tbody tr.summary td.looser {
	background-color: #ffcaca;
}

div#schedule-view table#result tbody tr.summary td.winner {
	background-color: lightgreen;
}

div#schedule-view div#dates {
	display:               grid;
	grid-template-columns: max-content auto;
	grid-gap:              1px 0;
}

div#schedule-view div#dates div.times {
	display:               grid;
	grid-template-columns: auto min-content;
	grid-gap:              1px 0;
	padding-left:          1px;
}

div#schedule-view div#dates div.date,
div#schedule-view div#dates div.times div {
	background-color: whitesmoke;
	padding:          0 2px;
}

div#schedule-view div#dates div.times select {
	margin-left: 1em;
}

div#schedule-view form#vote {
	max-width: 60em;
}

div#schedule-view form#vote fieldset {
	margin-bottom: 1ex;
}

div#schedule-view a#login-message {
	display:          block;
	width:            max-content;
	background-color: lightyellow;
	border:           1px solid orange;
	border-radius:    3px;
	padding:          1em;
	font-size:        150%;
	font-weight:      bold;
	color:            orangered;
}

div#associations-view {
}

div#associations-view div.association-panel div.title {
	font-size:   130%;
	font-weight: bold;
}

div#supply-list-container {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
	grid-gap:              1em;
}

div#supply-list-container div.supplies-overview-panel {
	display:            grid;
	grid-template-rows: min-content min-content auto min-content;
	border:             1px solid darkgray;
	border-radius:      4px;
	background-color:   #f0f0f0;
}

div#supply-list-container div.supplies-overview-panel div {
	padding: 3px;
}

div#supply-list-container div.supplies-overview-panel div.title {
	background-color: darkgray;
	color:            white;
	font-weight:      bold;
}
div#supply-list-container div.supplies-overview-panel div.items {
	min-height: 10em;
	max-height: 40em;
	overflow:   auto;
}

div#supply-list-container div.supplies-overview-panel div.items div.item {
	display:               grid;
	grid-template-columns: auto min-content;
	grid-gap:              1ex;
	border-bottom:         1px solid darkgray;
	padding:               0;
}

div#supply-list-container div.supplies-overview-panel div.items div.item a.supply-item {
	text-decoration: none;
	color:           inherit;
}

div#supply-list-container div.supplies-overview-panel div.items div.item img {
	margin-top: 5px;
	max-height: 1em;
	max-width:  1em;

}

div#supply-list-container div.supplies-overview-panel div.add a {
	width: 100%;
}


/*@media screen and (min-width: 2880px) {*/
/*	div#locations-view div#suggestions div#suggestion-list {*/
/*		columns:     60em auto;*/
/*		column-fill: balance;*/
/*	}*/

/*	div#locations-view div#suggestions div.suggestion {*/
/*		max-width: inherit;*/
/*	}*/
/*}*/
