/* page layout */
body.page-template-agenda-beratung {
	--siaHeaderHeight : 119px;
	padding-top: var(--siaHeaderHeight);
	padding-bottom: 100px;
}

@media (max-width: 1300px) { body.page-template-agenda-beratung { --siaHeaderHeight:111px; } }
@media (max-width: 1023px) { body.page-template-agenda-beratung { --siaHeaderHeight:105px; } body.page-template-agenda-beratung.-scrolled { --siaHeaderHeight:64px; } }
@media (max-width: 767px) {  
	body.page-template-agenda-beratung { --siaHeaderHeight:160px; } 
	body.page-template-agenda-beratung.-scrolled { --siaHeaderHeight:64px; }
	body.page-template-agenda-beratung.dcwiStyles .o-header { padding-bottom:0; }
}


body.page-template-agenda-beratung 	.o-header { background-color: var(--colorPrimary) !important; }

body.page-template-agenda-beratung h1.o-subPage__title { display:none; }

body.page-template-agenda-beratung div.content {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	padding: var(--sidePadding) 77px;
}

body.page-template-agenda-beratung.modal-open {
	overflow: hidden;
}

@media(max-width: 1200px)
{
	body.page-template-agenda-beratung div.content {
		padding: var(--sidePadding);		
	}
}

/* agenda */

.espazium-agenda-wrapper,
.espazium-agenda-header,
.espazium-agenda-section,
.espazium-agenda-tile-wrapper,
.espazium-agenda-section-header,
.espazium-agenda-day-wrapper {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}
.espazium-agenda-wrapper {
	transition: padding var(--transitionDuration) ease;
}
@media(min-width:421px)
{
	.espazium-agenda-wrapper.sidebar-open { padding-left:400px; }
}

.espazium-agenda-wrapper img {
	width: 100%;
	height: auto !important;
}

body.modal-open .espazium-agenda-wrapper .espazium-agenda-section {
	display: none;
}
body.modal-open .espazium-agenda-wrapper h3.agenda-label {
	visibility: hidden;
	pointer-events: none;
}

.espazium-agenda-wrapper .agenda-hidden { display:none; }

/* MODAL */
.espazium-agenda-modal {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	background-color: var(--colorText);
	color: var(--colorPrimary);
	margin-bottom: var(--sidePadding);
	padding: var(--sidePadding);
	padding-right: 0;
}


.espazium-agenda-modal .ps__thumb-x,
.espazium-agenda-modal .ps__thumb-y {
	background-color: var(--colorPrimary) !important;
}


.espazium-agenda-modal-header,
.espazium-agenda-modal-content {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}

.espazium-agenda-modal-content {
	overflow-x: hidden;
	overflow-y: auto;
	padding-right: 10px;
}

.espazium-agenda-modal-content img { filter:grayscale(100%); }

.espazium-agenda-modal-content a {
	color: var(--colorPrimary) !important;
}


.espazium-agenda-modal-content blockquote {
	margin:0;
}

.espazium-agenda-modal-content .espazium-agenda-modal-block {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	margin-bottom: var(--sidePadding);
}

.espazium-agenda-modal-header {
	/*padding-right: 100px;*/
	min-height: 80px;
	margin-bottom: var(--sidePadding);
}

.espazium-agenda-modal-header h2,
.espazium-agenda-modal-header p {
	/*font-family: 'Neue Helvetica W05', sans-serif;*/
	width: calc(50% - var(--sidePadding) * 0.5);
	-webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow: hidden;
  text-overflow: ellipsis;
	/*word-wrap: break-word;*/
}

.espazium-agenda-modal-content-wrapper {
	display: grid;
	gap: var(--sidePadding);
	grid-template-columns: 1fr 1fr;
}

@media(max-width:700px)
{
	.espazium-agenda-modal-header h2,
	.espazium-agenda-modal-header p {
		width: calc(100% - 90px);
	}

	.espazium-agenda-modal-content-wrapper {
		grid-template-columns: 1fr;
	}

	.espazium-agenda-modal-header h2 {
		width: 100%;
		padding-right: 100px;
	}
}

a.espazium-agenda-modal-x {
	position: absolute !important;
	top: -12px;
	right: 10px;
	width: 70px;
	height: 70px;
	transition: opacity 150ms ease-out 0ms !important;
}

a.espazium-agenda-modal-x:hover,
a.espazium-agenda-modal-x:focus {
	opacity: 0.5;
}

a.espazium-agenda-modal-x::before,
a.espazium-agenda-modal-x::after {
	transform-origin: 50% 50%;
	background-color: var(--colorPrimary);
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: 100%;
	height: 2px;
}

a.espazium-agenda-modal-x::before { transform: translate3d(-50%, -50%, 0) rotate(45deg); }
a.espazium-agenda-modal-x::after { transform: translate3d(-50%, -50%, 0) rotate(-45deg); }

.espazium-agenda-modal-header h2 {
	margin: 0 !important;
	font-weight: 500 !important;
}
.espazium-agenda-modal-header p {
	margin: 0 !important;
}


/* SPINNER */
.agenda-spinner,
.agenda-spinner:after {
  border-radius: 50%;
  width: 100px;
  height: 100px;
}
.agenda-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  border-right: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  border-left: 2px solid var(--colorPrimary);
  animation: agendaSpinner 1.1s infinite linear;
}

@keyframes agendaSpinner {
  0% 		{	transform: translate3d(-50%, -50%, 0) rotate(0deg); }
  100% 	{ transform: translate3d(-50%, -50%, 0) rotate(360deg); }
}


/* HEADERS */

.espazium-agenda-header,
.espazium-agenda-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	background-color: var(--colorPrimary);
	border-bottom: 2px var(--colorText) solid;
	padding-bottom: 5px;
}

.espazium-agenda-section-header:not([data-date="current"]) {
	border-bottom: none;
}

.espazium-agenda-header {
	position: -webkit-sticky;
	position: sticky;
	top: calc( var(--siaHeaderHeight) + var(--sidePadding) );
	transition: top var(--transitionDuration) ease-in-out;
	z-index: 3;
}

.espazium-agenda-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--siaHeaderHeight);
	transition: height var(--transitionDuration) ease-in-out;
	transform: translateY(-100%);
	background-color: var(--colorPrimary);
	pointer-events: none;
}


.espazium-agenda-header h3,
.espazium-agenda-header button,
.espazium-agenda-section-header h3 {
	font-size: 2.27rem !important;
	font-weight: normal !important;
	margin-bottom:0 !important;
	color: var(--colorText);
}


@media(max-width:900px)
{
	.espazium-agenda-modal-header h2,
	.espazium-agenda-header h3,
	.espazium-agenda-header button,
	.espazium-agenda-section-header h3 { font-size:1.8rem !important; }
}


.espazium-agenda-header button.agenda-scroll-top,
.espazium-agenda-header button.agenda-filter {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-top: var(--sidePadding);
	transform: translate3d(-50%, 0px, 0px);
	background-color: var(--colorPrimary);
	border-radius: 1000px;
	padding: 0.55em 0.8em 0.35em;
	border: 2px #fff solid;
	cursor: pointer;
	transition: color 200ms ease-out, background-color 200ms ease-out 0ms;
	align-items: center;
	display: none;
}
body:not(.modal-open) .espazium-agenda-header.not-current:not(.show-filter) button.agenda-scroll-top { display: flex; }

.espazium-agenda-header button.agenda-filter {
	margin-top: 0;
	transform: translate3d(-50%, -50%, 0px);
}

.espazium-agenda-header button.agenda-filter span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 50vw;
}
.espazium-agenda-header.show-filter button.agenda-filter { display: flex; }


.espazium-agenda-header button:hover {
	color: var(--colorPrimary);
	background-color: var(--colorText);
}
.espazium-agenda-header button:hover svg path {
	fill: var(--colorPrimary);
}

.espazium-agenda-header button * {
	position: relative;
	float: left;
}

.espazium-agenda-header button svg {
	height: 1em;
	width: auto !important;
	margin: 0 0.1em 0 0.4em;
}
.espazium-agenda-header button svg path {
	transition: fill 200ms ease-out 0ms;
}

.espazium-coop { max-width:40vw; }

.espazium-coop > * {
	position: relative;
	float: right;
	clear: both;
	text-align: right;
}

.espazium-coop a img {
	position: relative;
	float: left;
	width: 100%;
}

.espazium-coop a {
	margin-top: 3px;
	width: 100px;
	transition: opacity 150ms ease-out 0ms;
}

.espazium-coop a:hover,
.espazium-coop a:focus {
	opacity: 0.8;
}

/* DAY WRAPPER */
.espazium-agenda-day-wrapper {
	display: flex;
	flex-wrap: nowrap;
	gap:var(--sidePadding);
	border-top: 2px var(--colorText) solid;
}
.espazium-agenda-day-wrapper.agenda-hidden-border { border:none; }

.espazium-agenda-day-wrapper .day {
	padding: var(--sidePadding) 0;
	font-size: var(--heading-font-size);
	letter-spacing:0.03em;
	line-height: 0.7;
}


/* TILES */
.espazium-agenda-tile-wrapper {
	display: grid;
	/*gap:var(--sidePadding);*/
	gap:0.8em;
	grid-template-columns: repeat(9, minmax(0, 1fr));
	padding: var(--sidePadding) 0;
	margin-bottom: var(--sidePadding);
}
@media(max-width:2300px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media(max-width:2100px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
@media(max-width:1900px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media(max-width:1600px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media(max-width:1500px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media(max-width:1000px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width:800px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:420px){ .espazium-agenda-tile-wrapper { grid-template-columns: repeat(1, minmax(0, 1fr)); } }


.espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper {
	grid-template-columns: repeat(8, minmax(0, 1fr));
}
@media(max-width:2300px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
@media(max-width:2100px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media(max-width:1900px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media(max-width:1600px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media(max-width:1500px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width:1000px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:800px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(1, minmax(0, 1fr)); } }
@media(max-width:420px){ .espazium-agenda-wrapper.sidebar-open .espazium-agenda-tile-wrapper { grid-template-columns: repeat(1, minmax(0, 1fr)); } }



.espazium-agenda-tile {
	background-color: var(--colorText);
	padding: 15px;
	color: var(--colorPrimary);
}

.espazium-agenda-tile a.espazium-agenda-tile-link {
	position: relative;
	float: left;
	width: 100%;
	color: var(--colorPrimary);
}

.espazium-agenda-tile .title,
.espazium-agenda-tile .thumbnail,
.espazium-agenda-tile .date,
.espazium-agenda-tile .location,
.espazium-agenda-tile .event-type {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}
.espazium-agenda-tile .title,
.espazium-agenda-tile .thumbnail {
	margin-bottom: 10px;
}

.espazium-agenda-tile .title {
	font-weight:500;
	min-height: 60px;
}

.espazium-agenda-tile span.thumbnail {
	height: 130px;
	overflow: hidden;
}

.espazium-agenda-tile img {
	height: 130px;
	object-fit: cover;
	filter: grayscale(100%);
	transform-origin: 50% 50%;
	backface-visibility: hidden;
	transition: transform 200ms ease-out 0ms;
}

.espazium-agenda-tile:hover img {
	transform:scale(1.1);
}

.espazium-agenda-tile .event-type {
	margin-top: 1em;
}

.espazium-agenda-tile .event-type::before {
	background-color: var(--colorPrimary);
	position: absolute;
	content: '';
	top: -42%;
	height: 1px;
	width: 1.2em;
	transform: translateY(50%);
}

.espazium-agenda-tile a.event-actor {
	z-index: 2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	float: right;
	clear: both;
	max-width: 100%;
	color: var(--colorPrimary);
	border: 1px var(--colorPrimary) solid;
	border-radius: 10000px;
	margin-top: 1em;
	padding: 5px 7px 5px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: color 150ms ease-out 0ms, background-color 150ms ease-out 0ms;
}

.espazium-agenda-tile a.event-actor.active,
.espazium-agenda-tile a.event-actor:hover {
	color: var(--colorText);
	background-color: var(--colorPrimary);
}