@charset "utf-8";

@font-face{
    font-family:"Arial Pro Black";
    src: url("../webfonts/89402b5a-a35c-4fe2-9353-8c2000b63161.woff2") format("woff2"),
	url("../webfonts/1b948d41-a728-4eb6-bd0e-01270af82cd9.woff") format("woff");
}

html { 
	margin: 0px;
	min-height: 100%;
	width: 100%;
	overflow-x: hidden;
}
 
:focus {
	 outline:0; 
	 -moz-outline:0; 
} 

img {
	vertical-align: baseline;
}

span,div {
	zoom: 1;
}			   

input::-webkit-outer-spin-button, 
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

a {
	zoom: 1;
	color: inherit;
}
	
a img {
	border-width: 0px;
}	   

a:hover  {
	color: inherit;
}

form {
	margin: 0px;
	padding: 0px;
}
	
sup { 
	vertical-align: baseline;
	position: relative;
	top: -0.5em;
	font-size: 70%;
}

body {	 
	position: relative;
	margin: 0;
	padding: 0px;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 20px;
	background-color: black;
	color: white;
	height: 100%;
	width: 100%;
	overflow-x: hidden;
}	 

.show-on-mobile { display: none !important; }

.smalltext { font-size: 80%; }

.bigtext { font-size: 125%; } 

.redtext { color: #df0009; }

.button {
	display: inline-block;
	background-color: #df0009;
	color: white;
	border: 2px solid #df0009;
	text-decoration: none;
	padding: 4px 15px 0px 15px;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 14px;
}

.textfeld {
	font-size: 16px;
	margin-bottom: 6px;
}

/**** HEADER ****/

.header {
	box-sizing: border-box;
	position: fixed;
	z-index: 99;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 70px;
	background-color: black;
	text-align: center;
	box-shadow: 0px 0px 15px 1px #000;
}

.header .logo {
	position: absolute;
	right: 30px;
	top: 12px;
}	

.header .menu-icon {
	position: absolute;
	left: 30px;
	top: 20px;
}

#menu-hide { display: none; }

.header .topmenu {
	margin: 0px;
	margin-top: 20px;
	padding: 0px;
	list-style-type: none;
}

.header .topmenu .entry {
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}

.header .topmenu .entry a { 
	display: inline-block; 
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 17px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none; 
	border: 4px solid black; 
	padding: 5px 3px 0px 5px; 
}

.header .topmenu .entry a:hover { color: #df0009 }
.header .topmenu .entry.sel a { border-color: #df0009; color: white; }

/**** SUBMENU ****/

.submenu-container {
	box-sizing: border-box;
	position: fixed;
	z-index: 97;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 160px;
	background-color: black;
	box-shadow: 0px 0px 15px 1px #000;
	padding-top: 100px;
}

.submenu {
	max-width: 950px;
	margin: auto;
	text-align: center;
}

.submenu .entry {
	display: inline-block; 
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none; 
	border: 4px solid black; 
	padding: 4px 5px 0px 5px; 
	margin-left: 2px;
	margin-right: 2px;
}

.submenu .entry:hover { color: #df0009 }
.submenu .entry.sel { border-color: #df0009; color: white; }

.submenu .entry h1 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	display: inline;
}

/**** BIGMENU ****/

.menu-overlay {
	display: none;
	position: fixed;
	z-index: 98;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.menu-overlay::-webkit-scrollbar { display: none; }

.menu-overlay .inner {
	box-sizing: border-box;
	left: 0px;
	top: 0px;
	width: 100%;
	min-height: 100%;
	padding: 80px 20px 120px 20px;
	background-color: black;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bigmenu {
	margin: 0px;
	padding: 0px;
}

.bigmenu .entry {
	list-style-type: none;
	margin-top: 25px;
	margin-bottom: 5px;
}

.bigmenu .subentry {
	margin-top: 3px;
	margin-bottom: 3px;
}

.bigmenu .entry a {
	display: inline-block;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 30px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-decoration: none; 
	padding: 5px 3px 0px 5px; 
}

.bigmenu .subentry a {
	font-size: 18px;
}

.bigmenu .entry a:hover { color: #df0009 }
.bigmenu .entry.sel a { color: #df0009; }

.bigmenu .social-icons {
	padding-top: 18px;
	padding-bottom: 18px;
	list-style-type: none;
}

.bigmenu .social-icons a {
	margin-left: 4px;
	margin-right: 4px;
}

/**** FOOTER ****/

.footer {
	position: relative;
	background-color: #df0009;
	height: 90px;
}

.footer .logo {
	position: absolute;
	left: 36px;
	top: 14px;
}	

.footer .footermenu {
	position: absolute;
	top: 20px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.3;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}

.footer .footermenu.col1 { left: calc(50% - 468px); }
.footer .footermenu.col2 { left: calc(50% - 268px);}
.footer .footermenu.col3 { left: calc(50% - 105px);}

.footer .footermenu a {
	text-decoration: none;
}

.footer .footermenu a:hover { color: black; }

.footer .footermenu .social-icons {
	padding-top: 4px;
	padding-bottom: 5px;
}

.footer .footermenu .social-icons a { margin-right: 4px; }

.footer .sponsoren {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 400px;
	height: 100%;
	background-color: #a5a5a5;
	clip-path: polygon(65px 0, 100% 0, 100% 100%, 0 100%);
}

.footer .sponsoren .logo-raiffeisen {
	position: absolute;
	right: 44px;
	top: 28px;
}

.footer .sponsoren .logo-stadtwien-kultur {
	position: absolute;
	right: 200px;
	top: 26px;
}

/**** MAIN ****/

.main {
	position: relative;
}

/**** TOPSLIDES ****/

.topslides {
	position: relative;
	margin-top: 110px;
	font-size: 0;
	line-height: 0;
	overflow-x: hidden;
}

.topslides .slide-container {
	position: relative;
	white-space: nowrap;
	min-height: calc(33.333vw - 10px);
	line-height: 0;
}

.topslides .slide-container .slide {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	width: 100%;
	padding-left: 5vw;
	padding-right: 5vw;
	padding-top: 5px;
	padding-bottom: 15px;
}

.topslides .slide-container .slide .overlay {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 10vw;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0.0), rgba(0,0,0,0.9));
}


.topslides .slide-container .slide .headline {
	position: absolute;
	left: 7vw;
	width: 86%;
	bottom: 1.5vw;
	font-size: 2vw;
	line-height: 0.9;
	color: #df0009;
	white-space: normal;
}

.topslides .slide-container .slide .headline h2 {
	font-weight: normal !important;
}

.topslides .slide-container .slide .headline.white {
	color: white;
}


.topslides .slide-container .slide .headline h2 {
	margin: 0;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 4vw;
	text-transform: uppercase;
}

.topslides .prev-slide {
	position: absolute;
	left: 25px;
	top: calc(50% - 14px);
	filter: brightness(500%) saturate(0);
}

.topslides .next-slide {
	position: absolute;
	right: 25px;
	top: calc(50% - 14px);
	filter: brightness(500%) saturate(0);
}

/**** BANNER ****/

.banner {
	display: block;
	width: 100%;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-x;
	padding-top: 2px;
}

.banner .inner {
	max-width: 1050px;
	margin: auto;
}

.banner-trenner {
	display: block;
	width: 100%;
	height: 2px;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-x;
}

/**** STÜCKE-GRID ****/

.stuecke-grid {
	max-width: 980px;
	margin: auto;
	font-size: 0;
	line-height: 0;
	padding-top: 50px;
	padding-bottom: 100px;
}

.stuecke-grid h1 {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 30px;
	line-height: 1;
	margin-top: 5px;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.stuecke-grid .entry {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	width: 33.333%;
	padding: 12px 22px;
	font-size: 14px; 
	line-height: 1.2;
}

.stuecke-grid .entry p {
	margin-top: 8px;
}

.stuecke-grid .entry .image {
	margin-bottom: 10px;
}

.stuecke-grid .entry .pretitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
}

.stuecke-grid .entry .titel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 23px;
	line-height:0.9;
	margin-top: 3px;
	margin-bottom: 0px;
	text-transform: uppercase;
}

.stuecke-grid .entry .subtitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	margin-bottom: 7px;
}

/**** TERMINFILTER ****/

.terminfilter {
	box-sizing: border-box;
	position: fixed;
	z-index: 97;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 280px;
	background-color: black;
	box-shadow: 0px 0px 15px 1px #000;
	padding-top: 100px;
}

.terminfilter .inner {
	max-width: 1190px;
	margin: auto;
}

.terminfilter .filterblock .entry {
	display: inline-block; 
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 18px;
	letter-spacing: 1px;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none; 
	border: 4px solid black; 
	padding: 4px 5px 0px 5px; 
	margin-left: 4px;
	margin-right: 4px;
}

.terminfilter .filterblock .entry:hover { color: #df0009 }
.terminfilter .filterblock .entry.sel { border-color: #df0009; color: white; }

.terminfilter .monate-container {
	white-space: nowrap;
	position: relative;
}

.terminfilter .monate {
	width: 100%;
	overflow-x: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.terminfilter .monate::-webkit-scrollbar { display: none; }

.terminfilter .monate-container .monate-links {
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: black;
	padding-top: 6px;
	padding-bottom: 5px;
	padding-right: 8px;
	display: none;
}

.terminfilter .monate-container .monate-rechts {
	position: absolute;
	right: 0px;
	top: 0px;
	background-color: black;
	padding-top: 6px;
	padding-bottom: 5px;
	padding-left: 8px;
	display: none;
}

.terminfilter .kategorien-container {
	white-space: nowrap;
	position: relative;
}

.terminfilter .kategorien {
	width: 100%;
	overflow-x: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.terminfilter .kategorien::-webkit-scrollbar { display: none; }

.terminfilter .kategorien-container .kategorien-links {
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: black;
	padding-top: 6px;
	padding-bottom: 5px;
	padding-right: 8px;
	display: none;
}

.terminfilter .kategorien-container .kategorien-rechts {
	position: absolute;
	right: 0px;
	top: 0px;
	background-color: black;
	padding-top: 6px;
	padding-bottom: 5px;
	padding-left: 8px;
	display: none;
}

.terminfilter .datumsleiste-container {
	font-size: 0;
	line-height: 0;
	white-space: nowrap;
	margin-top: 10px;
	margin-bottom: 12px;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}

.terminfilter .datumsleiste {
	width: 100%;
	overflow-x: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.terminfilter .datumsleiste::-webkit-scrollbar { display: none; }

.terminfilter .datumsleiste .entry {
	box-sizing: border-box;
	display: inline-block;
	width: 68px;
	font-size: 12px;
	line-height: 1;
	text-decoration: none;
	white-space: normal;
	text-align: center;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-y;
	padding-top: 8px;
	padding-bottom: 10px;
	padding-left: 2px;
	color: #888888;
	cursor: default;
}

.terminfilter .datumsleiste .entry.active { color: white; cursor: pointer; }

.terminfilter .datumsleiste .entry:first-child { background: none; }

.terminfilter .datumsleiste .entry .datum {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 20px;
	margin-top: 5px;
	letter-spacing: -0.5px;
}

.terminfilter .datumsleiste-container .datum-links {
	position: absolute;
	left: 0px;
	top: 18px;
}

.terminfilter .datumsleiste-container .datum-rechts {
	position: absolute;
	right: 0px;
	top: 18px;
}

/**** TERMINLISTE ****/

.terminliste {
	max-width: 850px;
	margin: auto;
	padding-top: 310px;
	padding-bottom: 200px;
	font-size: 0;
	line-height: 0;
}

.terminliste-entry {
	position: relative;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-x;
	padding-top: 2px;
}

.terminliste-entry .col-datum {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	width: 95px;
	font-size: 15px;
	line-height: 1;
	text-align: center;
	padding-top: 18px;
	padding-left: 5px;
}

.terminliste-entry .col-sujet {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	width: 93px;
	padding: 8px 7px;
}

.terminliste-entry .col-info {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 310px);
	min-height: 94px;
	font-size: 14px;
	line-height: 1.05;
	padding: 12px 5px 7px 12px;
}

.terminliste-entry .col-buttons {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 120px;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	padding-top: 20px;
}

.terminliste-entry .col-datum .datum {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 27px;
	line-height: 0.9;
	margin-top: 6px;
}

.terminliste-entry .col-info .titel-container {
	min-height: 56px;
	padding-bottom: 4px;
}

.terminliste-entry .col-info .pretitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
}

.terminliste-entry .col-info .titel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 23px;
	line-height:0.9;
	margin-top: 3px;
	margin-bottom: 0px;
	text-transform: uppercase;
}

.terminliste-entry .col-info .subtitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
}

.terminliste-entry .col-info .premiere {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 18px;
	line-height:0.9;
	margin-top: 3px;
	margin-bottom: 0px;
	text-transform: uppercase;
	color: #df0009;
}

.terminliste-entry .col-info .zusatztext {
	font-size: 11px;
	line-height: 1.2;
}

.terminliste-entry .col-buttons .infobutton {
	display: inline-block;
	width: 80px;
	background-color: black;
	color: #df0009;
	border: 2px solid #df0009;
	text-decoration: none;
	padding-top: 3px;
	padding-bottom: 3px;
	margin-bottom: 8px;
}

.terminliste-entry .col-buttons .ticketbutton {
	display: inline-block;
	width: 80px;
	background-color: #df0009;
	color: white;
	border: 2px solid #df0009;
	text-decoration: none;
	padding-top: 4px;
	padding-bottom: 0px;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
}

.terminliste-entry .overlay {
	position: absolute;
	left: 0px;
	top: 2px;
	width: 100%;
	height: calc(100% - 2px);
	background-color: rgba(0,0,0,0.75);
	display: flex;
	justify-content: center;
	align-items: center;
}

.terminliste-entry .overlay .abgesagt-info {
	background-color: #df0009;
	color: white;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 18px;
	line-height:1;
	padding: 4px 15px 1px 15px;
	rotate: -5deg;
	text-align: center;
	margin-left: 10px;
	margin-right: 10px;
}

/**** PROGRAMM-DETAILS ****/

.programm-details {
	max-width: 940px;
	min-height: 1360px;
	margin: auto;
	font-size: 0;
	line-height: 0;
	padding: 140px 30px 120px 30px;
}

.programm-details .sujet {
	display: inline-block;
	vertical-align: top;
	width: 400px;
}

.programm-details .headline {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 400px);
	padding-left: 32px;
	padding-top: 60px;
}	

.programm-details .headline .pretitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 23px;
	line-height: 1;
	margin-bottom: 1.5px;
}

.programm-details .headline .titel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 42px;
	line-height: 1;
	margin-top: 5px;
	margin-bottom: 0px;
	text-transform: uppercase;
}

.programm-details .headline .titel.small { font-size: 33px; }

.programm-details .headline .subtitel {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 23px;
	line-height: 1;
	margin-bottom: 12px;
}

.programm-details .headline .kurztext {
	margin-top: 40px;
	font-size: 20px;
	line-height: 1.2;
	color: #df0009;
}

.programm-details .langtext {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 400px;
	font-size: 17px;
	line-height: 1.3;
	padding-top: 40px;
}	

.programm-details .langtext.wide { width: calc(100% - 140px); }

.programm-details .langtext p {
	max-width: 680px; 
	margin-bottom: 20px;
}

.programm-details .langtext strong:first-child {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 106%;
	line-height: 1;
}

.programm-details .pressestimmen {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 540px);
	font-size: 14px;
	line-height: 1.3;
	padding-top: 56px;
	padding-left: 32px;
}	

.programm-details .pressestimmen .entry {
	margin-bottom: 30px;
	max-width: 280px;
}

.programm-details .pressestimmen .entry p {
	margin: 0;
	font-style: italic;
}

.programm-details .pressestimmen .entry .quelle {
	white-space: nowrap;
}

.programm-details .termine {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 140px;
	padding-left: 45px;
	height: 100px;
	font-size: 17px;
	line-height: 1.3;
	padding-top: 60px;
	text-align: center;
}

.programm-details .termine h2 {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 106%;
	line-height: 1;
	margin-top: 0;
	margin-bottom: 4px;
}

.programm-details .termine .termin-container {
	margin-bottom: 6px;
}

.programm-details .termine .termin-container .entry {
	position: relative;
	font-size: 15px;
	line-height: 1;
	padding-top: 14px;
	padding-bottom: 12px;
	padding-left: 0px;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-x;
}

.programm-details .termine .termin-container .entry.abgesagt {
	color: #484848;
}

.programm-details .termine .termin-container .entry:first-child {
	background-image: none;
}

.programm-details .termine .termin-container .entry .datum {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 25px;
	line-height: 0.9;
	margin-top: 6px;
}

.programm-details .termine .termin-container .weitere {
	font-size: 13px;
	margin-bottom: 12px;
	padding-top: 10px;
	background-image: url("../img/bg-dotted.png");
	background-size: 4px 4px;
	background-repeat: repeat-x;
}

.programm-details .termine .ticketbutton {
	display: inline-block;
	width: 75px;
	background-color: #df0009;
	color: white;
	border: 2px solid #df0009;
	text-decoration: none;
	padding-top: 4px;
	padding-bottom: 0px;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 14px;
	line-height: 1;
	margin-top: 5px;
}

.programm-details .termine .abgesagt-info {
	display: inline-block;
	background-color: #df0009;
	color: white;
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 10px;
	line-height:1;
	padding: 4px 0px 1px 0px;
	text-align: center;
	margin-top: 5px;
	margin-left: 0px;
	margin-right: 0px;
}

.programm-details .bildergalerie {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 140px); 
	padding-top: 20px;
	padding-bottom: 20px;
}

.programm-details .bildergalerie .slide {
	position: relative;
	height: 500px;
	display: none;
}

.programm-details .bildergalerie .slide .inner {
	display: inline-block;
	position: relative;
	height: 100%;
}

.programm-details .bildergalerie #slide-0 { display: block; }

.programm-details .bildergalerie .slide img {
	width: auto;
	max-height: 100%;
}

.programm-details .bildergalerie .slide .prev-slide {
	position: absolute;
	left: -25px;
	top: calc(50% - 14px);
	filter: brightness(500%) saturate(0);
}

.programm-details .bildergalerie .slide .next-slide {
	position: absolute;
	right: -25px;
	top: calc(50% - 14px);
	filter: brightness(500%) saturate(0);
}

.programm-details .credits { 
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 140px); 
	font-size: 15px;
	line-height: 1.3;
	color: #df0009;
}

/**** TEXTCONTENT ****/

.textcontent {
	max-width: 940px;
	margin: auto;
	font-size: 17px;
	line-height: 1.3;
	padding: 180px 30px 120px 30px;
}

.stuecke-grid .textcontent {
	padding: 130px 30px 0px 30px;
}

.textcontent h1 {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 30px;
	line-height: 1;
	margin-top: 5px;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.textcontent h2 {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 26px;
	line-height: 1;
	margin-top: 70px;
	margin-bottom: 20px;
	text-transform: uppercase;
}

.textcontent h3 {
	font-family: 'Arial Pro Black', sans-serif;
	font-weight: normal !important;
	font-size: 18px;
	line-height: 1;
	margin-top: 50px;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.textcontent h2:first-of-type { margin-top: 20px; }

.textcontent .block-image {
	display: block;
	margin-bottom: 10px;
}

.textcontent .float-image, .textcontent .float-image-left { 
	clear: both;
	float: left;
	max-width: 400px;
	max-height: 400px;
	margin-left: -120px;
	margin-right: 25px;
	margin-bottom: 10px;
}

.textcontent .float-image-right { 
	clear: both;
	float: right;
	max-width: 400px;
	max-height: 400px;
	margin-right: -120px;
	margin-left: 30px;
	margin-bottom: 10px;
}

.textcontent .float-image-left-small {
	clear: both;
	float: left;
	max-width: 280px; 
	max-height: 300px; 
	margin-left: 0px; 
	margin-right: 25px;
	margin-bottom: 10px;
}
 
.textcontent .float-image-right-small { 
	clear: both;
	float: left;
	max-width: 280px; 
	max-height: 300px; 
	margin-right: 0px; 
	margin-left: 30px;
	margin-bottom: 10px;
}


.textcontent iframe {
	max-width: 100%; 
}

/**** PARTNER ****/

.partner {
	text-align: center;
	padding-top: 60px;
}

.partner a {
	display: inline-block;
	vertical-align: middle;
	margin: 30px 30px;
}

/**** PRESSE ****/

.pressegrid {
	font-size: 0;
	line-height: 0;
	margin-right: -35px;
}

.pressegrid .entry {
	display: inline-block;
	vertical-align: top;
	width: 110px;
	text-decoration: none;
	text-align: center;
	margin-right: 35px;
	margin-bottom: 20px;
}

.pressegrid .entry h3 {
	font-size: 12px;
	margin-top: 8px;
	margin-bottom: 0;
}

/**** SMALL SCREENS ****/

@media only screen and (max-width: 1600px) {
	.terminfilter .inner { max-width: 850px; }
}

@media only screen and (max-width: 1220px) {
	.header .logo { right: 20px; top: 8px; }	
	.header .logo img { width: auto; height: 64px; }
	.header .topmenu .entry { margin-left: 4px; margin-right: 4px; }
	.footer .footermenu.col1 { left: 140px; }
	.footer .footermenu.col2 { left: 305px; }
	.footer .footermenu.col3 { left: 425px; }
	.topslides { margin-top: 80px; }
	.textcontent .float-image, .textcontent .float-image-left { max-width: 280px; max-height: 300px; margin-left: 0px; }
	.textcontent .float-image-right { max-width: 280px; max-height: 300px; margin-right: 0px; }
	.programm-details { padding-top: 80px; }
}

@media only screen and (max-width: 960px) {
	.header .topmenu { display: none; }
	.submenu-container { display: none; }
	.footer .logo { left: 21px; }
	.footermenu { display: none; }
	.textcontent  { padding-top: 120px; } 
	.stuecke-grid .textcontent  { padding-top: 60px; }
	.textcontent h2:first-of-type { margin-top: 0px; }
	.terminfilter { display: none; }
	.terminliste { padding-top: 80px; padding-bottom: 120px; }
}

@media only screen and (max-width: 800px) {
	.stuecke-grid .entry { width: 50%; }
	.partner a { transform: scale(60%); margin: -5px; }
	.programm-details .sujet { width: 300px; }
	.programm-details .headline { width: calc(100% - 300px); padding-top: 5px; padding-left: 22px; }
	.programm-details .headline .pretitel { font-size: 18px; }
	.programm-details .headline .titel { font-size: 36px; }
	.programm-details .headline .titel.small { font-size: 28px; }
	.programm-details .headline .subtitel { font-size: 18px; }
	.programm-details .headline .kurztext { font-size: 19px; margin-top: 25px; }
	.programm-details .langtext { display: block; width: 100% !important; padding-top: 25px; }
	.programm-details .pressestimmen { display: block; padding-left: 0px; width: 100%; padding-top: 25px; }
	.programm-details .termine { display: block; width: 100%; height: auto; padding-left: 0px; padding-top: 25px; padding-bottom: 25px; text-align: left; }
	.programm-details .termine .termin-container { overflow-x: hidden; }
	.programm-details .termine .termin-container .entry { display: inline-block; text-align: center; width: 78px; background-repeat: repeat-y; margin-bottom: 10px; position: relative; left: -2px; padding-left: 5px; }
	.programm-details .termine .termin-container .weitere { background: none; }
	.programm-details .termine .ticketbutton { text-align: center; }
	.programm-details .bildergalerie { width: 100%; }
	.programm-details .bildergalerie .slide { height: 350px; }
	.programm-details .bildergalerie .slide img { object-fit: cover; width: 100%; height: 100%; }
	.programm-details .credits { width: 100%; }
}

@media only screen and (max-width: 700px) {
	.topslides .slide-container { height: 200px; }
	.topslides .slide-container .slide { height: 100%; }
	.topslides .slide-container .slide .inner { height: 100%; }
	.topslides .slide-container img { object-fit: cover; width: 100% !important; height: 100% !important; }
	.topslides .slide-container .slide .overlay { height: 120px; background-image: linear-gradient(to bottom, rgba(0,0,0,0.0), rgba(0,0,0,0.9)); }
	.topslides .prev-slide { display: none; }
	.topslides .next-slide { display: none; }
	.topslides .slide-container .slide .headline { font-size: 14px; line-height: 1; bottom: 15px; }
	.topslides .slide-container .slide .headline h2 { font-size: 28px; }
	.banner { border-top-width: 5px; border-bottom-width: 5px; }
	.textcontent .float-image, .textcontent .float-image-left { float: none; display: block; margin-bottom: 30px; margin-right: 0px; }
	.textcontent .float-image-right { float: none; display: block; margin-bottom: 30px; margin-left: 0px; }
	.textcontent .float-image-left-small { float: none; display: block; margin-bottom: 30px; margin-right: 0px; }
	.textcontent .float-image-right-small { float: none; display: block; margin-bottom: 30px; margin-left: 0px; }
}

@media only screen and (max-width: 660px) {
	.programm-details .headline { display: block; width: 100%; padding-left: 0px; padding-top: 25px; }
	.programm-details .langtext { padding-top: 5px; }

}

@media only screen and (max-width: 540px) {
	.menu-overlay .inner { padding: 70px 20px 90px 20px; }
	.bigmenu .entry { margin-top: 17px; }
	.bigmenu .subentry { margin-top: 6px; }
	.bigmenu .entry a { font-size: 21px; letter-spacing: 1.5px; }
	.bigmenu .subentry a { font-size: 14px; }
	.footer .sponsoren { width: 200px; }
	.footer .sponsoren a img { width: 95px; height: auto; }
	.footer .sponsoren .logo-raiffeisen { right: 25px; top: 55px; }
	.footer .sponsoren .logo-stadtwien-kultur { right: 25px; top: 15px; }
	.stuecke-grid .entry { width: 100%; }
	.terminliste-entry .col-info { display: block; padding-top: 100px; width: auto; }
	.terminliste-entry .col-info .titel-container { min-height: 0px; }
	.terminliste-entry .col-datum { position: absolute; left: 10px; top: 2px; }
	.terminliste-entry .col-sujet { position: absolute; left: 110px; top: 2px; }
	.terminliste-entry .col-buttons { position: absolute; right: 0px; top: 2px; }
	.programm-details .bildergalerie .slide .prev-slide { top: calc(50% - 10px); left: -15px; }
	.programm-details .bildergalerie .slide .next-slide { top: calc(50% - 10px); right: -15px; }
	.programm-details .bildergalerie .slide .prev-slide img { width: auto; height: 20px; }
	.programm-details .bildergalerie .slide .next-slide img { width: auto; height: 20px; }
}

@media only screen and (max-width: 480px) {
	.header .logo { right: 13px; }	
	.header .logo img { height: 55px; }
	.header .menu-icon { left: 20px; }
	.topslides { margin-top: 70px; }
	.textcontent { padding: 90px 20px 100px 20px; }
	.stuecke-grid .textcontent  { padding: 40px 20px 0px 20px; }
	.textcontent h1 { font-size: 24px; }
	.textcontent h2 { font-size: 24px; }
	.terminliste { padding-top: 70px; }
	.programm-details .bildergalerie .slide { height: 280px; }
	.programm-details { padding: 90px 20px 100px 20px; }
	.programm-details .sujet { max-width: 100%; }
}