*{
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
}

body
{
    margin: 0px;
    font-size: 14px;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #111111;
    /*  background-color: #FF487B; */
    /*  background-color: #91EAFF; */
    background-color: #EAE1D3;
    background-image: url(gfx/pat1.gif);
    background-attachment: fixed;
}
html {-webkit-text-size-adjust: none;}

a:hover { text-decoration: underline; }
a {text-decoration: none; color: #111111;}

.hidden { display: none; }

.clearfix
{
	float: none;
	clear: both;
}

.btn
{
	padding: 1px 3px 1px 3px;
	font-family: Georgia, "Times New Roman", Times, serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: .7em;
/*		font-family: sans-serif;
	font-style: italic; */
	color: #fff;
	background-color: #111111;
	border: none;
	cursor: pointer;
}
.btn:hover
{
	background-color: #3eb97f;
	text-decoration: none !important;
}


/* 
CONTAINER
-------------------------------------------------- */ 
#site{
	background-color: #ffffff;
	position: relative;
}

.top_msg{
    display: block;
    padding: 1.5em 1em; 
    background-color:#000000; 
    color:#ffffff ;
    text-decoration: none;
    border-top: 3px solid #111111;
    transition: all 0.3s;    
}
.top_msg:hover {
    background-color:#3eb97f; 
    text-decoration: none;
}

.top_msg .title{
    margin-top: 0;
}
.top_msg > :first-child {
    margin-top: 0;
}
.top_msg > :last-child {
    margin-bottom: 0;
}

.col {float:left; }

.burger-btn {
    font-size: 24px;
    width: 1em;
    height: 1em;
    display: inline-block;
}
.burger-btn > .bar {
    display: block;
    height: 0.2em;
    margin: 0.2em 0 0 0;
    background-color: #111;
}

#navi
{
	padding: .7em 0;
	margin: .5em 0; 
	font-size: 1.1em;
	text-transform: uppercase;
	background-color: #111;
	color: #fff;
	font-weight: normal;
	/* letter-spacing: 0.3em; */
	line-height: 1.5em;
	vertical-align: top;
	text-align: center;
	list-style: none;
	display: none;
	border-top: 3px solid #111;
}
#navi.active {
    display: block;
}
#navi li {
    display: block;
    padding: 0;
    margin: 0;
}
#navi li.social-link{
    display: inline-block;
}
#navi a
{
	padding: .4em .2em;
	display: block;
	color: inherit;
}
#navi a:hover, #navi .ac a, .navi2 a.ac
{
	color: #3eb97f;
	text-decoration: none;
}
.btn_socialNet {padding: 0; background-color: transparent; background-repeat: no-repeat; background-position: 0 0; }
.btn_socialNet span {font-size: 1.1em;} 


.va_daten .btn_socialNet, .va_daten .btn_link {width: auto;  margin-right: .7em; padding: 4px 4px 2px 0; display: inline-block; background-color: #eee; border-radius: 2px;}
.va_daten .btn_link {border-radius: .8em 2px 2px .8em; line-height: 1;}

.va_daten .sharingLinks {margin: .35em 0 .7em 0; font: .8em sans-serif;}

#kopf h1{display:none;}
#kopf  {
	background-image: url(gfx/kopf_logo.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	position: relative;
}
#kopf .btn_home {
    display: block; 
    position: absolute;
    top:0;
    left: 25%;
    width: 50%;
    height: 3em; 
    margin: 0 auto;
}
#kopf .responsive-menu-btn {
    display: block; 
    position: absolute;
    top: 5px;
    right: 0;
}


.head
{
	padding: .5em 1.1em .5em 1.1em;
	color: #ffffff;
	background-color: #3eb97f;
	margin: 0;
}
h2.head, h3.head {
	font-size: 1.3em;
	font-weight: normal;
}
.col_left > .head:first-child {
    margin-top: 2px;
}


#teaser {display: none;}

.top-banner {
    border-top: 3px solid #111111;
    padding-top: .4em;
}
.top-banner img{
    width: 100%;
}

#cont .col_left, #cont .col_right, #teaser {
	border-top: 3px solid #111111;
}

.col_right .contentblock{
	padding: .7em 1.1em;
}

.col_right ul{
	padding: 0;
	margin:0;
	list-style-type: none;
}
.col_right ul li
{
	margin: 0 0 0 0;
	padding: 2px 0;
}



/* 
KALENDER
-------------------------------------------------- */ 

.kalender_monat
{
	text-align: center;
	color:#aaa;
	text-align: center;
	font-size: 1em;
	padding: 1.1em 0;
}
.kalender_monat a{color: #111111;}
.kalender_monat a:visited{color: #777777;}
.kalender_monat .kal_monat_kopf{
	/* font-weight: bold; */
	margin: 0 1.1em 1.1em 1.1em;
}
.kalender_monat .kal_woche{height: 2em; margin: 0 auto;}
.kalender_monat .wt{
	width: 14.2%;
	height: 2em;
	float: left;
	text-align: center;
	vertical-align: middle;
}
.kalender_monat .wt_outside { display:none }
.kalender_monat .wt_va {font-weight:bold}
.kalender_monat .wt a {color: #111111;}
.kalender_monat .wt_va a  .wt_active{ background-color: #111111; color: #fff;}

.kalender_monat {display: none;}
.kalender_monat .btn_kal {width: 1.5em; text-align: center; display: block; min-height: 5px;}
.kalender_monat .btn_kal.prev {float: left;}
.kalender_monat .btn_kal.next {float: right;}
.kalender_monat a.btn_kal{color: #aaa;}
.kalender_monat a.btn_kal:hover{color: #111111;}

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

.navi2, .head2 { padding: .5em 1.1em .5em 1.1em; }
.navi2 .navibtn {
    color:#111111; 
    display: block; 
    padding: 0.4em .7em;
}
.navi2 a.navibtn:hover {text-decoration: none; color:#000000; background-color:#eee;}
.navi2 .navibtn.selected {color:#ffffff; background-color:#000000;}
.navi2 .navibtn.selected.default {background-color:#3eb97f;}

.navi2 .separator {padding: 2px 5px;}

#programm_filter, 
.navi2 .separator
    {
        display: none;
    }

#programm_liste.reihen, #history, #archiv {
	padding-top: 5px;
}

#programm_liste .head.monat
{
	margin:  .4em 0px .4em 0px;
}
#programm_liste .head.monat:first-child{margin-top: 0;}

#programm_liste .uebersichtslink
{
	margin: .7em;
	padding: .2em 0px .2em 0px;
}

#programm_liste a:hover { text-decoration: underline; }

#programm_liste .va, 
#programm_liste .more_msg  
{
    padding: .7em 1.1em .5em 1.1em; 
    border-top: 4px solid #eee;
}
#programm_liste .head.monat+.va {border-top: none;}
#programm_liste .more_msg {color: #3eb97f; text-align: center;}
#programm_liste .more_msg a {color: inherit;}

#programm_liste .monat>.va:first-child{border-top: none; }
#programm_liste .va_daten
{
    padding: .2em 0 .3em 0px;
    margin: 0px;
}
#programm_liste .vp_daten{	padding: 0px;	margin: 2px 0px 1px 0px;}

#programm_liste .va.follow_up {border-top: none; padding-top: 0;}
#programm_liste .va.follow_up .va_daten {
    border-top: 4px solid #eee;
    padding-top: .8em;
}


#archiv .ueberschrift_jahr
{
	margin: 0px 0px 7px 0px;
	font-size: 14px;
	border-top: 3px solid #111111;
	border-bottom: 1px solid #111111;
	padding: 7px 10px 7px 15px;
	/* color: #3eb97f; */
}

#programm_liste .datum {
	color: #3eb97f;
	line-height: 1.3em;
}
#programm_liste .datum .wochentag{}
#programm_liste .datum .monat_tag{color: #111;}
#programm_liste .datum * {display: block; }
#programm_liste .va.follow_up .datum * {display: none;}

#programm_liste .va_meta { font-size: .8em; }
#programm_liste .va_meta .term { display: inline-block; margin: .2em 0; padding: 0 .2em; }
#programm_liste .va_meta .term:first-child {padding-left: 0;}
#programm_liste .va_meta .term:not(:first-child)::before {content:' | ';}

#programm_liste .va_location {  /* margin-bottom: 3px; */}
#programm_liste .va_uhrzeit { display: inline; font-weight: bold;}
#programm_liste .va_eintritt {display: inline; padding-left: 5px;}

.va_eintritt .ticket_group {display: block;}

#programm_liste .titel{	font-size: 1em;}
#programm_liste .va_OT{ font-size: .8em; }
#programm_liste .va_titel{	font-weight: bold; font-size: inherit; margin: .2em 0; }
#programm_liste .va_txt{	font-size: .8em;	margin: 5px 0px 5px 0px;}
#programm_liste .vp_titel { font-weight: bold; }
#programm_liste .reihe_link { font-weight: bold; color:#3eb97f}

#programm_liste .va_daten.heute .va_titel{ font-size: 22px; display: block;}
#programm_liste .va_daten.term_21 .va_titel,     /* sehr wichtig */
#programm_liste .va_daten.term_22 .va_titel      /* wichtig */
    { font-size: 1.5em; display: block;}
    
#programm_liste .va_daten.sehr.wichtig .va_titel{ font-size: 2.2em;}


#programm_liste .va_daten{padding-left: 1.1em;}
#programm_liste .va_web {font-size: .8em;}

#programm_liste .reihe_le
{
	padding: 0px 10px 10px 0px;
	border-bottom: 1px solid #3eb97f;
	margin-bottom: 10px;
}
#programm_liste .reihe_le .reihe_titel
{
	padding-left: 1.1em;
	font-size: 1em;
	font-weight: bold;
}
.reihe_txt
{
	padding: .4em .7em .7em 1.1em;
	margin: 0px;
	font-size: .8em;
}


.programmtipp{margin-bottom: 20px;}
.promo_links a{font-size: 10px; text-decoration: underline; padding-left: 3px;}

.btn_tickets, .lbl-tickets
{
    display: block;
    float: right;
    padding: .15em .4em;
    text-align: center;
    margin: 0 0 .4em 1px;
    text-transform: uppercase;
}

.lbl-tickets { background-color: #eee; width: auto; color: #000;}
.lbl-tickets.ausverkauft { background-color: #f00; width: auto; color: #fff;}

#programm_liste .lbl-tickets {
    font-size: .7em;
}

#programm_liste .lbl.ausverkauft
{
    float: right;
    text-transform: uppercase;
}

/* 
PROGRAMM VA
-------------------------------------------------- */ 

.programm_va {margin: 3em 0; border-top: 3px solid #3eb97f;}
.programm_va:first-child {margin-top: 0; border: none;}
.programm_va:only-of-type {margin: 0; }

.programm_va .lbl.ausverkauft {	margin: 5px 0;}
	background-color: #fff;
	padding:  .4em 0 2.9em 0px;
}
.programm_va {}
.programm_kopf .komplettlink{
	font-size: 10px;
	height: 16px;
}
.programm_va .lbl.ausverkauft {margin-top:0;}
.programm_va .va_daten{	padding: 3px 3px 3px 15px;	margin: 0px 0px 0px 0px;}
.programm_va .va_kopf{	margin: 5px 0px 2em 0px;}
.programm_va .vp_daten{	
	padding: 2em 10px 2em 0px;
	border-top: 1px solid #eee;
	clear: both;
}
.programm_va .reihe {text-decoration: underline;}
.programm_va .va_info {margin: 0 0 7px 0;}
.programm_va .va_info > :not(:first-child) {padding-left: 7px;}

figure {
    margin: 0;
}

figure.w33 {
	margin: 2px 15px 5px 0px;
	float: left;
	display: block;
	max-width: 33%;
}
figure figcaption {
    font-size: .8em;
    margin: 2px 0;
}
figure.w33 img {
    width: 100%;
}

.programm_va .va_bild
{
	margin: 10px 15px 10px 0px;
	float: left;
	display: block;
	max-width: 100%;
}
.programm_va .datum 
{
	margin: 0px 0px 5px 0px;
/*
	border-top: 3px solid #3eb97f;
	border-bottom: 1px solid #3eb97f;
*/
	padding: 8px 8px 8px 15px;
	clear: both;
	float: none;
	color: #3eb97f;
}
.programm_va .btn_tickets,
.programm_va .lbl-tickets
{
    font-size: 14px;
}
.programm_va .datum .wochentag{
	font-weight: bold;
}
.programm_va .va_eintritt{
	clear: both;
	float: none;
	margin: 0px 0px 5px 0px;
	padding: 5px 15px;
	border-top: 1px solid #111111;
	border-bottom: 1px solid #111111;
}
.programm_va .va_location {display: block; font-size: 1.5em;}
.programm_va .press-kit {
	margin: 20px 0px 20px 0px;
	padding: 0 0 5px 15px;
	border-top: 1px solid #999;
	color: #999;
}

.btn_like {width: 100%; height: 1.5em; margin: 3px 0;}

.programm_va .titel{font-size: 12px;}
.programm_va .va_titel{ letter-spacing: 0.05em; font-size: 26px; color:#000000; margin: 7px 0;}
.programm_va .va_ot {}
.programm_va .va_ut {}
.programm_va .va_txt { margin: 7px 0px 5px 0px; }

.programm_va .booking_promo .article_cont {margin: 8px 0 0 0;}
.programm_va .vp_titel { font-size: 18px; margin: 1em 0 0 0; letter-spacing: 0.1em;}
.programm_va .booking_promo:first-child .vp_titel {color:#3eb97f; font-size: 22px;}
.programm_va .vp_typ { color:#ffffff; background-color:#000000; padding: 1px 4px;}
.programm_va .vp_ort { padding: 1px 4px; /* border: 1px solid #000000; */ background-color:#3eb97f; color:#fff;}
.programm_va .vp_ut {padding: 5px 0 0 0; font-size: 14px; color: #999;}
.programm_va .vp_ot {padding: 1px 4px; color:#000000;}
	.programm_va .vp_video {
		padding: 0; 
		border: none;
		position: relative;
    	padding-bottom: 56.25%;
    	padding-top: 30px; 
    	margin: 10px 0; 
		max-width: 100%;
    	height: 0; 
    	overflow: hidden;
	}
	.programm_va .vp_video iframe,
	.programm_va .vp_video object, 
	.programm_va .vp_video embed
	{
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 100%;
	}

.programm_va .vp_video p {margin: 3px 0; font-size: 10px;}

.programm_va .vp_web {}
.programm_va .vp_web a, .programm_va .va_web a{color:#000000;}
.programm_va .vp_veroeffentlichung {color:#111111; padding:7px 0; font-weight:bold;}
.programm_va .vp_txt {margin:0; padding: 0px 0px 10px 0px;}

.programm_va .link_icon {margin: 0px 5px 0px 0;}
.programm_va .va_txt, .programm_va .vp_txt {line-height: 1.5em;}

.programm_va #vvk_info {margin: 10px;}


#archiv .ueberschrift_jahr {margin-top: 5px;}
#archiv .veranstaltung {padding: 3px 0 .2em 1.1em;}
#archiv .veranstaltung .datum{width: 60px; float:left;}
#archiv .veranstaltung .titel{width: 380px; float:left;}

.infoblock{	
	padding: 5px 15px 15px 15px;
}
.infoblock ul, .infoblock li{list-style: none;}
.infoblock ul {padding: 0;}
.infoblock a, .va_txt a, .vp_txt a {text-decoration: underline;}

.infoblock p {margin: .4em 0 1.1em 0; line-height: 1.5em;}
.infoblock .team-member {margin: 1em 0;}
.infoblock .col {min-height: 1px;}
	.infoblock .img_col {width: 30%; }
	.infoblock .txt_col {width: 60%; margin-left: 10%;}
.infoblock .txt_col h3{ margin-bottom: 0.5em;}
.infoblock .portrait-link {display: block;} 
.infoblock .portrait-link img {width: 100%;} 

#ticketshop {width: 100%; height: 600px; /* margin-top: 30px; */}
#vvk_kassen{	
	margin: 10px 0 0px 0;
}

#ticket_pflichtangaben {font-size: .7em; font-family: sans-serif; padding-top: 0;}
#hinweis_scheunecafe {text-align: center;}

#banner_scheunecafe {height: 2.5em; background-color: #3eb97f;}
#banner_scheunecafe #btn_scheunecafe, #banner_scheunecafe #tel_scheunecafe{display: block; float:left; width: 50%; }
	#btn_scheunecafe
    {
        height: 2.5em;
        background-repeat: no-repeat;
        background-color: #000;
        background-image: url(gfx/scheunecafe-t1.png);
        background-position: center center;
    }
	#tel_scheunecafe { margin: 0; padding: 7px 0 7px 0; text-align: center;}

#suchform {border: 2px solid #eee; padding: 0; background: #eee;}
#suchform input, #suchform .btn {
		font-size: 12px;
		margin: 0;
		border: 0;
}
#suchform input {padding: 3px 5px; width: 65%;}
#suchform .btn {padding: 3px 5px; width: 35%; background: #999;}
.liste_info .q {/* font-style: italic; */ color: #3eb97f;}

#impressum a { color: #111111; }

.article {border-top: 2px solid #eee;}
.article:first-of-type {border: none;}

.article .article-meta {margin-top: 1em;}
.article .title {color: #3eb97f; margin-top: 0; margin-bottom: 1em; font-weight: bold; }
.article iframe, .article_cont iframe {width: 100%; height: 400px;}

.article { padding-top: 15px;}
.article.compact a { text-decoration: none;}

.geschichte img, 
.article-cont .header_img.align-left
{
    display: block; 
    float:left; 
    margin: 1px 20px 5px 0; 
    max-width: 40%; 
    height: auto;
}
.img_gallery {
    margin: 1em 0;
    background-color: #eee;
}
.img_gallery .gallery_thumbnail {
    display: block; 
    float:left; 
    margin: 0; 
    max-width: 33%; 
    height: auto;
}

div.pp_default .pp_description {margin-top: 11px;}
.pp_expand {display: none !important;}

#cont_lage #karte {height: 250px;}
#cont_lage #wrapper_karte{ padding: 5px 0;}


.blog-header { padding-top: 15px; }

.article.compact .date {
    margin: .3em 0 .5em 0;
}
.article.compact .article-cont .header_img.align-left {
    max-width: 100%;
    margin: 0 0 1em 0;
    float: none;
}


.blog-paging > .prev, 
.blog-paging > .next 
{
    display: block;
    width: 49.5%;
    float: left;
    text-transform: inherit;
    font-size: inherit;
    text-decoration: none;
    padding: .7em 1em;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
}
.blog-paging > .next {
    float: right;
    text-align: right;
}


@media all and (min-width: 572px) {
    #kopf .responsive-menu-btn {
        display: none;
    }
    
    .hidden-sm {
        display: none;
    }
    .d-sm {
        display: initial;
    }
    
    #navi {
        display: block;
        height: 22px;
        font-size: 1em;
        padding: 2px 0 0 0;
        margin: 0;
        background-color: transparent;
        color: inherit;
        text-align: left;
    }
    #navi a
    {
	    display: inline;
	    padding: 0px 5px;
    }
    #navi li {
        display: inline-block;
    }
    #navi li:before{
        content: '•';
    }
    #navi li:first-child:before, 
    #navi li.social-link:before
    {
        content: none;
    }
    #navi .social-link{
        float: right;
    }
    #navi .social-link a
    {
	    padding: 0px;
    }
    #navi .social-link [class^="icon-"]::before {
        margin-right: 0;
    }
    #programm_filter {display: block;} 
    .navi2 .separator { display: inline; }
    .navi2 .navibtn {
    	display: inline; 
        padding: 1px 4px;
    }
    
    
    .article.compact .article-cont .header_img.align-left {
        max-width: 20%;
        margin: 0 1em 0 0;
        float: left;
    }

}
@media all and (max-width: 949px) {
    /* iPhone/Android landscape */
    body {
    	background-color: #fff;
		background-image: none;
	}
	#site {
		width: auto;
		border: 10px solid white;
		margin: 0 auto;
		box-shadow: none;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
	}
    .col {width: 100%; margin-left: 0; margin-right: 0;}
    #kopf  {
    	padding: 52px 0 0 0px;
		background-image: url(gfx/scheunelogo-g.svg);
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 167px 44px;
	}


	#programm_liste .va{padding: 10px 5px 7px 5px;}
	.reihe_txt, .head2 {padding-left: 5px; padding-right: 5px;}
	#programm_liste .col {width: 100%;}
	#programm_liste .va_daten {padding: 0;}
	#programm_liste .datum {}
	#programm_liste .datum * {display: inline; padding-right: 4px;}
	.programm_va .va_titel{ font-size: 20px; }
	#cont .col_right {margin-top: 50px;}
	.col_left .navi2, .infoblock, .programm_va .datum, .programm_va .va_daten, .programm_va .va_eintritt {padding-left: 0; padding-right: 0;}
/*	.col_right .navi2 li {display: inline; padding-right: 8px !important;} */
	.article iframe {width: 100%; height: 300px;}
	.geschichte .head2  {padding-left: 0; padding-right: 0;}
	/* .programm_va .vp_video, .programm_va .vp_video object, .programm_va .vp_video embed {display: none; } */
}
@media all and (max-width: 365px) {
    /* iPhone/Android portrait */
    .hidden-xxs {display: none;}
    /* .programm_va .vp_bild { max-width: 25%; } */
}
@media all and (min-width: 950px) {
	#site{
		width: 845px;
		border: 20px solid #ffffff;
		margin: 22px auto 10px auto;
		box-shadow: 1px 1px 8px rgba(0,0,0,0.1); 
		-webkit-box-shadow: 1px 1px 8px rgba(0,0,0,0.1); 
		-moz-box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
	}
	
	.d-md {display: initial;}
	
	.col_left
	{
		width: 66%;
		margin-right: 2%;
	}
	
	.col_right{	
		width: 32%;
		position: relative;
	}
	
    #kopf .btn_home {
        height: 58px;
        width: 100%;
        position: relative;
        left: 0;
    }
    
    #navi {	
        padding: 28px 0 8px 10px;
        border-top: 0;
    }

    #navi li.hidden-md {
        display: none;
    }
    
    #programm_liste .va_eintritt .ticket_group {display: inline;}
    #programm_liste .va_eintritt .ticket_group::before {content: " / ";} 
    #programm_liste .va_eintritt .ticket_group:first-of-type::before {content: "";} 
	
	#teaser
    {
        padding: 2% 0;
        display: block;
        overflow: hidden;
    }
	#teaser .artikel
    {
        background-color: #000;
		width: 32%;
		height: 0%;
		padding-bottom: 32%;
        margin-left: 2%;
        float: left;
        overflow: hidden;
        position: relative;
    }
	#teaser .artikel:first-child {margin: 0;}
	#teaser .artikel .teaser_box {width: 100%; display: block;}
	#teaser .artikel a:hover {text-decoration: none; }
	#teaser .artikel .teaser_img {
        position: absolute;
        top: 0;
        left: 0;
	    width: 100%; 
	    display: block;
	}
	#teaser .artikel .teaser_cont
    {
        color: #3eb97f;
        background-color: #000;
        padding: .9em 1.1em;
        transition: all 0.3s;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        min-height: 25%;
        box-sizing: border-box;
    }
	#teaser .artikel a:hover .teaser_cont {color: #fff; background-color: #3eb97f;}
	#teaser .artikel .teaser_titel { color: #fff;}
	#programm_liste .datum {
		display: block;
        width: 25%;
		min-height: 30px;
	}
    #programm_liste .va_daten
    {
        padding: .2em 0 .3em 0px;
        margin: 0px;
        width: 75%;
    }
}
@media all and (min-width: 1200px) {
    body {
        font-size: 16px;
    }
	#site{
		width: 90%;
		max-width: 1240px;
	}
	.d-lg { display: initial; }
	
    #navi
    {
        font-size: 1.1em;
    }	
	#navi li.d-lg {
        display: inline-block;
    }

}