/* HTML5 ✰ Boilerplate
 * ==|== normalize ==========================================================
 */

@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=3d862c16-2bdf-4414-95be-82589bafe824&fontids=1475512");
    @font-face{
        font-family:"Avenir LT W04_45 Book1475512";
		src:url("../fonts/fe2d00d9-aadd-40f7-a144-22a6f695aa8f.woff2") format("woff2"), url("../fonts/c3795fc9-e264-4795-9a19-b57086aa6f7b.woff") format("woff");
}

article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
audio:not([controls]){display:none;}
[hidden]{display:none;}
html{font-size:100%;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
body{margin:0;font-size:13px;line-height:1.231;}
body,button,input,select,textarea{font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;color:#222;}
::-moz-selection{background:#fe57a1;color:#fff;text-shadow:none;}
::selection{background:#fe57a1;color:#fff;text-shadow:none;}
a{color:#00e;}
a:visited{color:#551a8b;}
a:hover{color:#06e;}
a:focus{outline:thin dotted;}
a:hover,a:active{outline:0;}
abbr[title]{border-bottom:1px dotted;}
b,strong{font-weight:bold;}
em, i{ color: inherit; }
blockquote{margin:1em 40px;}
dfn{font-style:italic;}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}
ins{background:#ff9;color:#000;text-decoration:none;}
mark{background:#ff0;color:#000;font-style:italic;font-weight:bold;}
pre,code,kbd,samp{font-family:monospace,monospace;_font-family:'courier new',monospace;font-size:1em;}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
q{quotes:none;}
q:before,q:after{content:"";content:none;}
small{font-size:85%;}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
ul,ol{margin:1em 0;padding:0 0 0 40px;}
dd{margin:0 0 0 40px;}
nav ul,nav ol{list-style:none;list-style-image:none;margin:0;padding:0;}
img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;}
svg:not(:root){overflow:hidden;}
figure{margin:0;}
form{margin:0;}
fieldset{border:0;margin:0;padding:0;}
label{cursor:pointer;}
legend{border:0;*margin-left:-7px;padding:0;}
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
button,input{line-height:normal;*overflow:visible;}
table button,table input{*overflow:auto;}
button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
textarea{overflow:auto;vertical-align:top;resize:vertical;}
input:valid,textarea:valid{}
input:invalid,textarea:invalid{background-color:#f0dddd;}
table{border-collapse:collapse;border-spacing:0;}
td{vertical-align:top;}
/* ==|== non-semantic helper classes ======================================== */
.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;}
.ir br{display:none;}
.hidden{display:none !important;visibility:hidden;}
.vh{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}
.vh.focusable:active,.vh.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto;}
.invisible{visibility:hidden;}
.clearfix:before,.clearfix:after{content:"";display:table;}
.clearfix:after{clear:both;}
.clearfix{zoom:1;}
/* ==|== print styles ======================================================= */
@media print{*{background:transparent !important;color:black !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important;}
a,a:visited{text-decoration:underline;}
a[href]:after{content:" (" attr(href) ")";}
abbr[title]:after{content:" (" attr(title) ")";}
.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";}
pre,blockquote{border:1px solid #999;page-break-inside:avoid;}
thead{display:table-header-group;}
tr,img{page-break-inside:avoid;}
img{max-width:100% !important;}
@page{margin:0.5cm;}
p,h2,h3{orphans:3;widows:3;}
h2,h3{page-break-after:avoid;}
}


/* ==|== primary styles =====================================================
	Author: Robert Weber
	
	Gradient: #fbeb04 > #049fdd
	========================================================================== */

html {
	overflow-x: hidden;
	position: relative;
}

a:visited, a:link, a {
	color: #333;
	text-decoration: underline;
}

a:active, a:hover {
	color: #33b3ef;
	text-decoration: none;
}

#page {
	color: #333;
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	margin: 40px 0 100px 40px;
	padding: 0 40px;
	width: 868px;
	overflow: hidden;
	font-size: 15px;
	line-height: 1.266666667em;
}

#page em {
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-style: normal;
}

.rgba #page {
	background-color: rgba(255, 255, 255, .95);
}

.no-rgba #page {
	background-color: #fff;
}

h1[role="banner"] {
	position: fixed;
	width: 492px;
	height: 367px;
	left: 266px;
	bottom: -10px;
	z-index: -1;
}
h1 p{ margin:0 !important;}
h1 img{ 
	width: auto;
	height: 110px;
	margin: 0 !important;
}

.badge{
    position: fixed;
	z-index: 100;    
    left: 1200px;
    top: 25vh;
	transform: rotate(-15deg);	
	text-transform: uppercase;
	background: #EF3F2C;
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-size: 1.6em;	
	color: white;
	line-height: 1em;
	width: 330px !important;
}
.badge p{ margin: 5px 8px !important; }
.badge a{
	color: #FFF;
}

@media screen and (max-width: 1600px) { .badge{ left:auto; right: 5%; } }
@media screen and (max-width: 1400px) { .badge{ left:980px; right: auto; } }
@media screen and (max-width: 1300px) { 
	.badge{ 
		font-size: 1.3vw;
		width: 18vw !important;
	} 
}
@media screen and (max-width: 1199px) { .badge{ display:none; } }

#content {
	position: relative;
	width: 568px;
	float: left;
	padding-bottom: 7.5em;
}

#content iframe{
	margin-bottom: 35px;
	float: left;
	width: 569px;
	height: 320px;
}

#content h1 {
	color: #212121;
	font: normal normal 32px/1.125 "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-weight: bold;
	padding: 1.125em 0 2.8125em;
	margin: 0;
}

#content nav.languages {
	position: absolute;
	width: 269px;
	top: 2.4em;
	left: 598px;
	text-transform: uppercase;
}

#content nav.languages li {
	display: inline-block;
}

#content nav.languages li:after {
	content: "|";
}

#content nav.languages li:last-child:after {
	content: "";
}

#content nav.languages li a {
	text-decoration: none;
}

#content nav.languages li.active a {
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-weight: bold;
}

#content div {
	float: left;
	width: 269px;
}

.start #content div h4 {
	margin: 0;
}

#content div h4,
.start #content div h4:first-of-type,
#content div p {
	margin: 0 0 1.266666667em;
}

#content div .info {
	margin: 1.866666667em 0 0 0 !important;
	padding: .6em 0 0;
	border-top: 1px solid #000;
}

.partner #content div p + h4 {
	padding-top: 1.266666667em;
}

#content div ul {
	margin: 0 0 1.266666667em;
	padding: 0;
	list-style-type: none;
}

#content div ul li:before {
	content: "— ";
}

#content div p + ul {
	margin-top: -1.266666667em;
}

#content img{
	display: block;
	margin: 0 0 1.866666667em;
	max-width:100% !important;
}

/*#content div em {
	font-style: normal;
	text-decoration: underline;
}
*/

#content h1 + nav + section + div,
#content h1 + nav + div,
#content h1 + div,
#content .berlin {
	margin-right: 30px;
}

#content h1 + nav + section {
	margin-bottom: 30px;
}

.archive #content ul {
	list-style-type: none;
	padding: 0;
}

/*.archive #content ul,
.archive #content p {
	margin: 1.266666667em 0;	
}*/

.archive #content h3 {
	font: normal normal 32px/1.125 "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-weight: bold;
	border-top: 1px solid #333;
	margin: .59375em 0;
	padding-top: .59375em;
}

.program table {
	width: 568px;
	margin-bottom: 1em;
}

.program table caption {
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-weight: bold;
	text-align: left;
	padding-bottom: 1em;
}

.program table tbody {
	font-size: 28px;
	line-height: 1.125em;
}

.program table th {
	vertical-align: top;
}

.program table th,
.program table th + td {
	width: 65px;
	padding-right: 25px;
}

.program table th,
.program table td b,
.program table td a {
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;	
	font-weight: normal;
	text-align: left;
	text-decoration: none;
}

.program table .day time,
.program table .day b,
.program table .day a {
	display: block;
	border-top: 1px solid black;
	padding-top: .3125em;
	margin-top: .75em;
}

.program table .day:first-child time,
.program table .day:first-child b,
.program table .day:first-child a {
	margin-top: 0;
}

.archive_trailer img{float: left; margin:30px 0 0 0;}
.archive_trailer p{float: left; margin:10px 0 0 0;}

aside {
	width: 269px;
	margin: 15.6em 0 0 30px;
	float: left;
}

#content h4,
footer h6,
aside h5 {
	font-weight: bold;
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-size: 1em;
	margin: 0 0 1.125em;	
}

aside h5 {
  margin: 0;
}

aside nav h5,
aside .support h5,
aside .archive h5 {
  margin: 0 0 1.125em
}
aside .support figure, aside .support p, aside .support hr{
    float: left;
}
aside .support p, aside .support hr{
    width: 100%;
}
aside .support figure img{
    margin-right: 10px;
    max-width: 100%;
}

aside nav ol,
aside .archive ul {
	margin: -0.5em 0 1.125em;
	padding: 0 0 .333333333em;
	border-bottom: 1px solid #333;
	list-style-type: none;
	font-size: 24px;
	line-height: 1.416666667em;
}

.no-fontface aside nav ol li,
aside .archive ul li {
	padding-left: 24px;
}

.fontface aside nav ol li a:before {
	content: "↗";
	display: inline-block;
	width: 1em;
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	color: inherit;
}

aside .submenu a:active, aside .submenu a:hover, aside .submenu li.active a,
aside nav ol li a:visited, aside nav ol li a:link, aside nav ol li a,
aside .archive ul li a:visited, aside .archive ul li a:link, aside .archive ul li a {
	color: #33b3ef;
	text-decoration: none;
}

aside .submenu li{ margin-bottom: 1em; }

aside nav ol li a:active, aside nav ol li a:hover, aside nav ol li.active a,
aside .archive ul li a:active, aside .archive ul li a:hover {
	color: #000;
}

aside nav ol li a:active:before, aside nav ol li a:hover:before, aside nav ol li.active a:before {
	content: "→";
}

aside .submenu a, aside .submenu a:link, aside .submenu a:visited {
	text-decoration: none;
}

aside p {
	margin: 0 0 1.125em;
}

aside p img {
  display: block;
  margin-top: 1em;
}

aside p img[src$="facebook_32.png"] {
	display: inline-block;
	vertical-align: bottom;
	margin: 0 5px 0 0;
}

footer {
	clear: both;
	padding-bottom: 7.5em;
	overflow: hidden;
	font-size: 15px;
}

footer .imprint {
	float: left;
	width: 568px;
	margin-right: 30px;
}
.imprint p{ margin: 0; }
.imprint a{ margin-right: 0.5em; }

footer .coop {
	float: left;
	width: 269px;	
}

footer .imprint,
footer .coop {
	border-top: 1px solid #333;
	padding-top: 1em;	
}

footer .imprint dt {
	float: left;
	clear: both;
}

footer .imprint dt:after {
	content: ":";
	margin-right: .25em;
}

footer .imprint dd {
	float: left;
	margin: 0;
}

.MR{ margin-right:30px; }
.mr_full{ margin-right: 299px; }

/* -------------------------------------------------------- */

.mobile_nav{
	position: fixed;
	top: 0;
	width: 100%;
	height: 60px;
	background-color: rgba(255, 255, 255, 0.95);
	z-index: 3;
	transition: background-color 0.5s ease-in-out,
				transform 0.5s ease-in-out,
				height 0.2s ease-in-out;
	display: none;
}
.mobile_nav ol{ 
	display: none; 
	transition: opacity 0.2s ease-in-out; 
	opacity: 0;
	margin: 100px 8% 0 8%;
	font-size: 7vw;
}
#hamburger{
	position: absolute;
	right: 4%; top: 0;
	width: auto; height: 60px;
}
.mobile_nav nav.languages {
	position: absolute;
	width: 50%;
	top: 21px;
	left: 8%;
	text-transform: uppercase;
	font-size: 16px;
}
.mobile_nav nav.languages li {
	display: inline-block;
}
.mobile_nav nav.languages li:after {
	content: "|";
}
.mobile_nav nav.languages li:last-child:after {
	content: "";
}
.mobile_nav nav.languages li a {
	text-decoration: none;
}
.mobile_nav nav.languages li.active a {
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	font-weight: bold;
}
.mobile_nav ol li a {
	text-decoration: none;
	color: #33b3ef;
	line-height: 1.6em;
}
.mobile_nav ol li a:before {
	content: "↗";
	display: inline-block;
	width: 1em;
	font-family: "Avenir LT W04_45 Book1475512", Arial, sans-serif;
	color: inherit;
}
.mobile_nav ol .active a { color: #000; }
.mobile_nav ol .active a:before { content: "→"; }

/* -------------------------------------------------------- */

.vcalendar{ width:100% !important; }

@media screen and (max-width: 1023px) { 
	#content nav.languages {
		width: 30%;
		top: 2.4em;
		left: 104%;
	}
	#page {
		margin: 4vw 0 8vw 4%;
		padding: 0 4%;
		width: 84%;
	}
	#content { width: 66%; }
	aside {
		width: 31%;
		margin: 15.6em 0 0 3%;
	}
	#content div { width: 48%; }
	.MR{ margin-right:4%; }
	.mr_full{ margin-right: 52%; }
	#content div .info { width: 100%; }
	#content iframe{
		width: 100%;
		height: 31.1vw;
	}

	footer, #content { padding-bottom: 4em; }
	footer .imprint {
		width: 66%;
		margin-right: 4%;
	}
	footer .coop { width: 30%; }

	.program table th, .program table td {
		width: auto !important;
		padding-right: 10px !important;
	}
}

@media screen and (max-width: 960px) { 
	#content div { width: 100%; }
	.MR, .mr_full{ margin-right:0; }
	aside nav ol, aside .archive ul, .archive #content ul, .program table td, .program table th{
		font-size: 20px;
		line-height: 1.5em;
	}
}

@media screen and (max-width: 768px) { 
	#content nav.languages { left: 106%; }
	#content { width: 55%; }
	aside {
		width: 42%;
		margin: 29.5vw 0 0 3%;
	}
	#content iframe{ height: 26vw; }
	h1 img{ height: 14.2vw; }
	#content h1{ font-size: 4vw; }

	footer .imprint {
		width: 55%;
		margin-right: 3%;
	}
	footer .coop { width: 42%; }

	.program table td, .program table th{ font-size: 15px; }
}

@media screen and (max-width: 600px) { 
	#page{ 
		margin: 80px 0 8vw 4%;
		font-size: 20px;
	}
	.program table td, .program table th{ font-size: 20px; }
	#content nav.languages { display: none; }
	#content { width: 100%; }
	aside {
		width: 100%;
		margin: 1em 0 4em 0;
	}
	.main_nav{ display: none; }
	.submenu{ 
		border-top: 1px solid #333; 
		padding-top: 1em;
	}
	#content iframe{ height: 47.5vw; }
	h1 img{ height: 30vw; }
	#content h1{ font-size: 7vw; }

	footer .imprint {
		width: 100%;
		margin-right: 0;
		line-height: 1.3em;
	}
	footer .coop { 
		width: 100%;
		margin-top: 2em; 
	}
	.mobile_nav{ display: block; }
	aside nav ol, aside .archive ul, .archive #content ul {
		line-height: 1.7em;
	}
}

/* One Page Festival --------------------------------------- */
.OPF h2{
	font-size: 15px !important;
	font-weight: bold !important;
	font-style: normal !important;
	margin: 0 0 1em 0 !important;
	padding: 0 !important;
	/* display: inline; */
}
.OPF figure{
	margin: 2em 0 -1em 0 !important;
}
.OPF .hd2{
	margin-top: 4rem;
}
.OPF_aside img{
	width: 100%;
	height: auto;
}
.OPF_aside figure{
	margin: 0 0 3em 0;
}
/* .OPF_aside p{
	margin: 2em 0 1em 0;
} */
@media screen and (max-width: 600px) { 
	.OPF h2{
		font-size: 20px !important;
	}
}