/*
 * Created by Digital Dreamer [www.dreamer.de]
 */


/* ================================================================================================================== */
/* Preparations and imports */

/* Fonts */

@font-face { font-family: 'hypo-icons'; font-weight: normal; font-style: normal; src: url('../fonts/hypo-icons.woff') format('woff'); }
@font-face { font-family: 'fontawesome-webfont'; font-style: normal; font-weight: 400; src: url("../fonts/fontawesome-webfont.woff2") format("woff2"), url("../fonts/fontawesome-webfont.woff") format("woff"); }
 

/* CSS reset */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

/* Generic adjustments */

*, *:before, *:after {
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
img {
	display: inline-block;
	max-width: 100%; height: auto;
}
a.block {
	display: block;
}
input {
	font-size: inherit; font-family: inherit; font-weight: inherit;
}

/* Colors */

a, a:hover {
	color: #999;
}


/* ================================================================================================================== */
/* Page basics */


html {
	overflow-y: scroll;
}
body {
	color: #000; font: 200 1em/1.5 'serifa',serif; letter-spacing: 0.08em;
	background-color: #fff;
}

/*
.container {
	max-width: 1280px; padding: 3.125%; margin: 0 auto;
	background: #fff;
}
*/

/* New (responsive) font size */

:root {
	font-size: 1.33vw;
}
@media (max-width: 1052px) {
	:root {
		font-size: 14px;
	}
}
@media (min-width: 1278px) {
	:root {
		font-size: 17px;
	}
}


.container {
	width: 80em; max-width: 100%; padding: 3.125% 4em; margin: 0 auto;
}

a.block {
	color: #000; text-decoration: none;
}


/* ================================================================================================================== */
/* Building blocks */


/* Main content */

.main {
	float: left;
	width: 71%;
}
.main section {
	margin-bottom: 3em;
}
.home_main_content {
	font-size: 1.2em;
}

/* Columns within main */

.col_main {
	float: right;
	width: 59.155%; /* 42/71% */
	text-align: left;
}
.col_aside {
	float: left;
	width: 35.211%; /* 25/71% */
	text-align: left;
}

/* Sidebar */

.sidebar {
	float: right;
	width: 25%;
}
.sidebar section {
	margin-bottom: 2em;
}
.sidebar section:last-child {
	margin-bottom: 0;
}
.sidebar_logo {
	max-width: 240px; margin-top: 2em;
}


.form {
	max-width: 240px;
}
.form_label {
	display: block;
	margin-bottom: 0.25em;
}
.form_input {
	border: 1px solid #999; padding: 4px;
	width: 100%; margin-bottom: 0.25em;
	background: #fff;
}
.sidebar_form_button {
	border: 1px solid #999;
	width: 100%;
	background: #e0e0e0;
	font: 700 1em/1.33 'brandon-grotesque',sans-serif; text-transform: uppercase;
}

/* Collected element clears */

section:after, aside:after, nav:after, a.block:after, .main:after, .sidebar:after, .main:after,
.main_container:after, .container:after,
.footer:after {
	display: block; content: ' '; clear: both; width: 100%; height: 0; font-size: 0; line-height: 0;
}





/* Columns */

.main {
	-out-text-align: center;
}
.col_main, .col_aside {
	text-align: left;
}




/* Headers */

.main header {
	border-top: 6px solid #000; border-bottom: 1px solid #000; margin-bottom: 3em; padding: 1.33em;
	font: 500px 1.125em/1.33 'brandon-grotesque',sans-serif; text-align: center;
}
.page_title {
	font-size: 2em; line-height: 1.125;
}
.main header p {
	margin-top: 0.75em; margin-bottom: 0;
}


/* ================================================================================================================== */
/* Header */

/* Logo */

.logo a {
	display: block;
	width: 317px; margin: 0 auto;
}
.logo img {
	display: block;
}
.logo:after {
	content: ''; display: block;
	width: 212px; height: 6px; margin: 34px auto 22px;
	background: #000;
}


/* ================================================================================================================== */
/* Navigation */

/* Generic */

nav a {
	color: #000; text-decoration: none;
}
nav .current_page_item>a, nav .current_page_ancestor>a, nav .current_language, nav a:hover {
	color: #999;
}

/* Main Navigation */

.nav>ul {
	text-align: justify;
}
.nav>ul:after {
	content: '';
	display: inline-block;
	width: 100%;
}
.nav>ul>li {
	position: relative;
	display: inline-block;
	height: 40px;
	text-align: left;
}
.nav>ul>li>a {
	display: inline-block;
	height: 40px; line-height: 40px;
}
.nav .children {
	position: absolute; top: 40px; left: -9916px; z-index: 2000;
	min-width: 100%; padding: 4px 0;
	background: #fff;
}
.nav li.dropdown_open .children {
	left: -16px;
}
.nav li.dropdown_open {
	position: relative;
}
.nav li.dropdown_open>a::after {
	display: block; content: '';
	position: absolute; top: 0; left: -16px; right: -16px; z-index: -1;
	height: 100%;
}



.nav .children a {
	display: block;
	padding: 4px 16px;
}
.nav a {
	white-space: nowrap;
}

.mobile_nav {
	display: none;
}



/* ================================================================================================================== */
/* Footer */

.footer {
	border-top: 6px solid #000; margin-top: 2em;
}
.footernav {
	float: left;
	margin-right: 40px;
}
.footernav ul {
	margin-top: 12px;
}
.footernav li {
	float: left; margin-right: 24px;
}

.poweredby {
	padding-left: 3.2em;
}
.poweredby_line {
	margin-bottom: 0.667em;
	font: 500 1em/1.33 'brandon-grotesque',sans-serif;
}


/* ================================================================================================================== */
/* Main Content */

.gallery {
	overflow: hidden;
	margin-left: -3.34%;
}
.gallery li {
	float: left;
	width: 100%; padding: 0 0 3.23% 3.23%;
}
.gallery li.gallery_item_small {
	/* width: 21.77%; */
	width: 25%;
}
.gallery img {
	width: 100%; height: auto;
}
.gallery figcaption {
	display: none;
}

.mfp-container {
	font: 500 14px/14px 'brandon-grotesque',sans-serif;
}


/* ================================================================================================================== */
/* Sidebar */

/* Subnav */

.subnav {
	margin-bottom: 1.5em;
}
.subnav li {
	margin-bottom: 1.5em;
}

/* Lines */

.sidebar_openinghours {
	padding-top: 1em; border-top: 1px solid #000;
}
.xsidebar_link:not(.sidebar_link_inverted) {
	padding-top: 1em; border-top: 1px solid #000;
}
.sidebar_access {
	padding-top: 1em; border-top: 6px solid #000;
}
.sidebar_link_notopline {
	border-top: none !important;
}


/* Links */

.sidebar_link a {
	position: relative; display: block;
	padding-left: 3.2em;
	color: #000; text-transform: uppercase; text-decoration: none;
}
.sidebar_link a:before {
	position: absolute; left: 1.5em;
	content: '\e605';
	font: 0.8em/1.875 'hypo-icons';
}
.sidebar_link_inverted {
	margin-top: 1em;
}
.sidebar_link_inverted a {
	padding-top: 0.75em; padding-bottom: 0.75em;
	background: #000;
	color: #fff;
}
.sidebar_link_inverted a:before {
	left: 1.5em;
}


/* Search */

.searchform {
	position: relative;
	margin: 2em 0;
}
.searchform input {
	display: block;
	width: 100%; height: 40px; padding: 0 0.2em; border: 0; border-top: 4px solid #000; border-bottom: 1px solid #000; border-radius: 0;
	background: transparent; box-shadow: none;
	line-height: 40px;
}
.searchform button {
	position: absolute; top: 12px; right: 0;
	border: 0; padding: 0;
	background: #fff;
}
.searchform button span {
	display: none;
}
.searchform button:before {
	content: '\e600';
	font: 1.25em/1.25 'hypo-icons';
}
.searchform label {
	position: absolute; top: 0; left: 3.2em; z-index: -1;
	line-height: 43px;
}
.searchform input:focus + label,
.searchform input:valid + label {
	display: none;
}

/* Slideshow */

.rslides{position:relative;list-style:none;overflow:hidden;width:100%;margin:0;padding:0}
.rslides li{-webkit-backface-visibility:hidden;position:absolute;display:none;width:100%;left:0;top:0}
.rslides li:first-child{position:relative;display:block;float:left}
.rslides img{display:block;height:auto;float:left;width:100%;border:0}


/* ================================================================================================================== */
/* Homepage */

/* Home teaser */

.home_teaser {
	display: table;
	width: 100%; margin-bottom: 2em;
	color: #fff; font-size: 1.5em; font-size: 2vw; text-decoration: none;
}

.home_teaser:hover {
	color: #fff;
}
.home_teaser>div {
	display: table-cell;
	vertical-align: middle; text-align: center;
}
.home_teaser_image {
}
.home_teaser_text {
	width: 50%; padding: 1em 2em;
	line-height: 1.2;
}
/* Special mehr Abstand für "Gut wahr schön" */
.special-title-morespace {
	line-height: 1.5;
}
.home_teaser img {
	display: block;
}
.home_teaser h2 {
	margin-bottom: 0;
	font-size: 2.75em;
}
.home_teaser_subtitle {
	margin: 0.2em 0 2em;
}
.home_teaser_slash::before {
	display: block; content: '/';
	margin: 0.5em 0 1em;
	font-size: 1.2em; font-weight: 700; text-align: center;
}
.date_dash {
	display: block;
	margin-top: -0.167em;
	text-align: center;
}




/* Blink! */

.home_teaser_advice_prominent {
  -webkit-animation: blink 2.5s linear infinite;
  animation: blink 2.5s linear infinite;
}
@-webkit-keyframes blink { 80% { opacity: 1 } 90% { opacity: 0.1 } }
@keyframes blink { 80% { opacity: 1 } 90% { opacity: 0.1 } }


/* Small Teaser */

.home_smallteaser_text {
	padding: 16px 0; border-top: 1px solid #000; border-bottom: 4px solid #000;
	font-size: 1.2em; letter-spacing: 0.08em;
}
.home_smallteaser_text strong {
	text-transform: none; letter-spacing: 0.08em;
}
.home_smallteaser_text p {
	margin: 0;
}

/* Video */

.video16by9 {
	position: relative;
	width: 100%; height: 0; padding-bottom: 56.25%;
}
.video16by9 iframe {
	position: absolute; top: 0; left: 0;
	display: block;
	width: 100%; height: 100%;
}

/* Event Box */

.home_eventbox {
	padding: 12px;
	background: #999;
	color: #fff;
}
.home_eventbox h3 {
	padding-bottom: 12px; border-bottom: 1px solid #fff; margin-bottom: 12px;
	letter-spacing: 0.08em;
}
.home_eventbox_item {
	font-size: 0.875em;
}
.home_eventbox p {
	margin: 0;
}
.home_eventbox strong {
	text-transform: none; letter-spacing: 0.08em;
}
.home_eventbox a {
	color: #fff;
}
.home_eventbox_date {
	font-style: italic; font-size: 1.125em;
}


/* ================================================================================================================== */
/* Special content */

/* Content-Aside images/gallery (offset for line-height) */

.col_aside>figure, .col_aside .gallery {
	padding-top: 0.375em;
}

/* Poster grid */

.poster_grid {
	overflow: hidden;
	margin-left: -6.89%;
}
.poster_grid li {
	float: left;
	width: 26.88%; margin: 0 0 2em 6.45%;
}

/* Poster overlay */

.poster {
	position: relative;
	overflow: hidden;
}
.poster figcaption {
	display: block;
	position: absolute; top: 0; bottom: 0; z-index: 2;
	background: #333;
	line-height: 24px; color: #fff;
	opacity: 0;
	transition: opacity 0.25s;
}
.poster:hover figcaption {
	opacity: 1;
}
.poster_caption_wrap-outer {
	display: table-cell;
	width: 168px; height: 251px; padding: 16px;
	vertical-align: middle;
}
.poster_caption_container {
	display: inline-block;
}
.poster_title {
	font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase;
}

/* Date formatting */

.date_overview_intro {
	margin-left: 40.845%;
	margin-left: 0;
}

.date_item {
	overflow: hidden;
	margin-bottom: 1em;
}
.date_item .col_aside {
	margin-bottom: 1em;
}
.date_item_dates {
	margin-bottom: 1em;
}
.date_item_date {
	font-style: italic;
}
.date_item_title {
	margin-top: 0; border-bottom: 1px solid #000;
	text-align: right;
}
.date_item_title, .date_item p {
	margin: 0;
}

/* Preview formatting */

.preview_date, .preview_title, .preview_subtitle {
	margin: 0;
}
.preview_text {
	margin-top: 1em;
}

/* Slabtext */

.letterSpacer {
	display: -moz-inline-box; display:inline-block; white-space: nowrap;
}

/* Calendar */

.minical_calendar {
	width: 100%; border-collapse: collapse;
	line-height: 2em;
}
.minical_calendar th, .minical_calendar td {
	text-align: center;
}
.minical_calendar th {
	border-bottom: 1px solid #000;
}
.minical_calendar td {
	border-top: 1px solid #000;
}
.minical_weekdays th {
	color: #999; font-size: 0.75em;
}
.minical_day {
	width: 14.286%;
	cursor: pointer;
}
.minical_switch {
	float: left;
	width: 20%;
	text-align: center;
	cursor: pointer;
}
.minical_switch:before {
	content: '\e604';
	font: 0.8em/1.875 'hypo-icons';
}
.minical_switch_next {
	float: right;
}
.minical_switch_next:before {
	content: '\e605';
}
.minical_day span {
	display: block; position: relative;
}
.minical_day_hasevent_singleday span:after {
	display: block; content: ''; position: absolute; bottom: 2px; left: 40%; right: 40%;
	height: 2px;
	background: #000;
}
.minical_datetype_2 span:after {
	background: #999;
}
.minical_datetype_0 span:after,
.minical_datetype_5 span:after,
.minical_datetype_3 span:after,
.minical_datetype_4 span:after,
.minical_datetype_6 span:after,
.minical_datetype_13 span:after {
	background: #000;
}	
.minical_day_hasevent_multiday {
	background: #ccd2e9;
}
.minical_day_selected {
	background: #000;
	color: #fff;
}
#calendar_details {
	display: none;
	padding-top: 10px; 
}
.calendar_details_item {
	border-top: 1px solid #000; padding-top: 10px; margin-top: 10px;
}
#calendar_details a {
	color: #000; text-decoration: none;
}
#calendar_details a:hover {
	color: #999;
}
.sidebar_calendar {
	padding: 10px; border: 1px solid #000;
}

/* Social icons */

.social {
	overflow: hidden;
}
.social_icon {
	display: block;
	float: left; overflow: hidden;
	width: 3em; height: 3em; margin-right: 0.75em;
	background-color: #000;
	color: #fff; text-decoration: none;
}
.social_icon:before {
	display: block;
	width: 2em; height: 2em;
	font-size: 1.5em;
	line-height: 2em;
	font-family: 'fontawesome-webfont';
	text-align: center;
}
.social_icon:hover {
	background-color: #999;
	color: #fff;
}
.social_icon_facebook:before { content: '\f09a'; }
.social_icon_instagram:before { content: '\f16d'; }
.social_icon_twitter:before { content: '\f099'; }
.social_icon_youtube:before { content: '\f167'; }

@media screen and (min-width: 1023px) {
	.social {
		position: fixed; top: 50%; right: 0;
		transform: translate( 0, -50% );
	}
	.social_icon {
		float: none;
		margin: 0 0 0.75em;
	}
}


/* Iframes */

iframe {
	max-width: 100%;
}
.iframe {
	margin-bottom: 1em;
}
.iframe_prop {
	position: relative;
	width: 100%; height: 0; padding-bottom: 56.25%;
}
.iframe_prop iframe {
	position: absolute; top: 0; left: 0;
	width: 100%; height: 100%;
}
.iframe_prop .iframe_fallback {
	display: none;
}

.responsive_oembed {
	margin-bottom: 1em;
}
.responsive_oembed_video {
	position: relative;
	width: 100%; height: 0; padding-bottom: 56.25%;
}
.responsive_oembed>iframe {
	margin-left: auto !important; margin-right: auto !important; /* override inline styles */
}
.responsive_oembed_video>iframe {
	position: absolute; top: 0; left: 0;
	width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important;
}


/* ================================================================================================================== */
/* Responsive adjustments */



/* Ipad, really small desktops */

@media (max-width: 1023px) {
	.home_teaser {
		font-size: 2vmin;
	}
}

/*
@media (max-width: 1023px), (max-height: 800px) {

	body {
		font-size: 14px !important;
	}
	.home_teaser {
		width: 33%;
	}
	.home_teaser_image img {
		max-height: 300px;
	}
	.container {
		max-width: 800px;
	}
	.nav {
		letter-spacing: 0.04em;
	}
	.nav .children, .subnav {
		font-size: 0.857em;
	}
	footer {
		font-size: 0.833em;
	}
	.home_teaser {
		font-size: 12px;
	}
	.home_teaser h2 {
		font-size: 2.4em;
	}
	.home_teaser a {
		height: 300px;
	}
	.home_teaser p {
		margin: 1em 0;
	}
	.logo a {
		width: 237px;
	}
	.logo:after {
		width: 159px; height: 4px; margin: 24px auto 13px;
	}
	.nav>ul>li>a {
		height: 30px; line-height: 30px;
	}

}
*/

@media (max-width: 1023px) {

	.container {
		padding: 4%;
	}
	.mobile_nav {
		display: block;
	}
	.full_nav {
		display: none;
	}
	.full_nav_open {
		display: block;
	}
	.full_nav>ul:after {
		display: none;
	}
	.nav ul li {
		height: auto;
	}
	.full_nav ul li, .nav .children {
		position: static; display: block;
	}
	.full_nav {
		padding: 12px; border: 1px solid #000; margin-bottom: 2em;
	}
	.main, .sidebar {
		float: none;
		width: auto; margin-bottom: 3em;
	}
	.subnav {
		display: none;
	}
	img {
		width: 100%;
	}

}

@media (max-width: 677px) {

	.container {
		padding: 16px;
		width: auto; max-width: 400px;
	}
	.home_teaser, .home_teaser>div {
		display: block;
		width: 100%;
	}
	.home_teaser {
		font-size: inherit;
	}

	h2, header > p {
		padding: 0;
	}
	.main header h2 {
		font-size: 1.33em;
	}
	.main header p {
		margin-top: 0.75em; margin-bottom: 0;
	}

	.page_title {
		font-size: 1.5em;
	}
	.logo a {
		width: 158px;
	}
	.logo:after {
		width: 106px; height: 3px; margin: 15px auto 5px;
	}
	.col_main, .col_aside {
		float: none;
		width: auto; margin-bottom: 3em;
	}
	.date_overview_intro {
		margin-left: 0;
	}
	.date_item_title {
		text-align: left;
	}

	.iframe iframe {
		display: none;
	}
	.iframe_prop .iframe_fallback {
		display: block;
	}
	
}


@media (min-width: 1280px) {
	.container {
		padding-top: 40px; padding-bottom: 40px;
	}
	.home_teaser {
		font-size: 25px;
	}
}


/* Special tweaks */

/* Keith Haring [2015-04-10] */
@media (min-width: 1150px) {
	.page_d393bbc0e0a010ff2da69448e3bf0569:before,
	.page_d393bbc0e0a010ff2da69448e3bf0569:after {
		display: block; content: '';
		position: fixed; top: 0; bottom: 0; left: 0; z-index: -1;
		width: 50%;
		background: #fff url(../img/specials/bg_haring.gif) no-repeat center; background-size: cover;
	}
	.page_d393bbc0e0a010ff2da69448e3bf0569:after {
		left: auto; right: 0;
	}
}

/* Samurai */

.inpagetranslate {
	position: relative;
}
.inpagetranslate-trigger {
	float: right; margin: 0 0 0.5rem 0.5rem;
	padding: 0.25em 0.5em; border-radius: 0.2em;
	background-color: #e50520;
	color: #fff;
	cursor: pointer;
}
.inpagetranslate-active .inpagetranslate-trigger {
	background-color: #eee;
}
.inpagetranslate-alt {
	display: none;
}
.inpagetranslate-active .inpagetranslate-orig {
	display: none;
}
.inpagetranslate-active .inpagetranslate-alt {
	display: block;
}


/* Sammlung für Farbabhängige Dinge */

.home_eventbox a:hover, .sidebar_link_inverted a:hover {
	color: #fff;
}


/* Non breaking things */

.nobreak {
	white-space: nobreak;
}



/* Messages */

.confirm_message {
	position: relative; z-index: 20000;
	padding: 1.5rem; border-bottom: 2px solid #999;
	background-color: #fafafa;
	font-size: 0.85em;
}
/*
.confirm_message::after {
	content: ''; display: block; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: -1;
	background: rgba(255,255,255,0.85);
}
*/
.confirm_message_content {
	max-width: 50rem; margin: 0 auto;
}
.confirm_message button {
	display: inline-block;
	border: 0; padding: 0.75rem 2.5rem;
	background-color: #444; color: #fff;
	font-weight: 500; font-family: 'brandon-grotesque',sans-serif; text-transform: uppercase;
	cursor: pointer;
}
.confirm_message button:hover {
	background-color: #000;
}
.confirm_message button:active {
	position: relative; top: 2px;
}


/* Specials */

.home_teaser--10046 {
	color: #ffed00;
}
.home_teaser--10046 h2 {
	font-weight: 500;
}
.home_teaser--10046 .home_teaser_slash {
	display: none;
}
.home_teaser--10046 .home_teaser_subtitle {
	font-size: 1.4em;
}