/* ================= general ============ */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  background: 0;
  
}
a, a:hover, a:focus {
  color: inherit;
  text-decoration: none;
}
ol, ul {
	list-style: none;
}

body {	
	background-color: #FFFFFF;	
	
}

html {
	scroll-behavior: smooth;
}


@media (min-width: 1200px){
  body {	
	background-color: #BABABA;		
	}
}

/* ============== layout: spacing ============= */

.spacebefore-extra-small{margin-top: 1em;}
.spacebefore-small{margin-top: 2em;}
.spacebefore-medium{margin-top: 3em;}
.spacebefore-large{margin-top: 6em;}
.spacebefore-extra-large{margin-top: 8em;}

.spaceafter-extra-small{margin-bottom: 1em;}
.spaceafter-small{margin-bottom: 2em;}
.spaceafter-medium{margin-bottom: 3em;}
.spaceafter-large{margin-bottom: 6em;}
.spaceafter-extra-large{margin-bottom: 8em;}

/* ============== typography ============== */

h1 {font-size: 2rem; font-weight: bold;}
h2 {font-size: 1.5rem; font-weight: bold;}
h3 {font-size: 1.25rem; font-weight: bold;}
h4 {font-size: 1rem; font-weight: bold;}
h5 {font-size: 1rem; font-style: italic;}

body {font-size: 0.95rem; line-height: 1.5; font-family: "Meiryo", Arial, sans-serif;	 overflow-wrap: break-word; }
#breadcrumb {font-size: 0.66rem; font-style: italic;}
.topMenu ul li a{font-weight: bold;}
.topMenu ul li ul li a{font-weight: normal;}
.mobileStageTileHeadline{font-size: 1.1rem; font-weight: bold;}
.mobileStageTileText{font-size: 0.9rem;}
.calendarHeadline{font-size: 0.75rem;}
.calendarEntry{font-size: 0.66rem; font-weight: bold;}
.stageRightHeadline{font-size: 0.8rem; font-weight: bold;}
.stageRightSubline{font-size: 0.7rem; line-height: 1.3;}
.stageLeftHeadline{font-size: 0.9rem; font-weight: bold;}
.stageLeftText{font-size: 0.9rem; line-height: 1.2;}
.newsOuterWrapper{font-size: 0.9rem;}
.newsHeadline{font-weight: bold;}
.newsDate{font-weight: bold;}
.mdjTileHeadline{font-weight: bold;}
.mdjTileText{font-size: 0.75rem;}
.mdjTileContent a{font-size: 0.75rem;}
.sponsorsHeadline{font-weight: bold; }
.testimonialsComment{font-size: 1.5rem; line-height: 1.7; font-weight: bold;}


/* ============== layout: grids ============== */
.headerGrid { 
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0.5em, 1fr) minmax(300px, 999px) minmax(0.5em, 1fr);
	grid-template-columns: minmax(0.5em, 1fr) minmax(300px, 999px) minmax(0.5em, 1fr);	
}

.pagelayout,
footer{
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0.5em, 1fr) minmax(300px, 999px) minmax(0.5em, 1fr);
	grid-template-columns: minmax(0.5em, 1fr) minmax(300px, 999px) minmax(0.5em, 1fr);		
}


@media (min-width: 1200px){  
  .pagelayout{	
	-ms-grid-columns: minmax(0.5em, 1fr) 154px 669px 125px 51px minmax(0.5em, 1fr);
	grid-template-columns: minmax(0.5em, 1fr) 154px 669px 125px 51px minmax(0.5em, 1fr);	
  }
  
  footer{
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0.5em, 1fr) 154px 544px 125px 125px 51px minmax(0.5em, 1fr);
	grid-template-columns: minmax(0.5em, 1fr) 154px 544px 125px 125px 51px minmax(0.5em, 1fr);	
  }
}

/* ============= layout: content =========== */


.level2menu,
.greycolumn,
.pageright{ 
	background: white;
	display: none;
}

.homecontent,
.level2content{	
		-ms-grid-column: 2;	
		grid-column: 2;
		background: white;
	}

.homecontent ul,
.level2content ul{
  list-style: disc;
  margin-left: 1.5em;
    
}





@media (min-width: 1200px){	

	.level2menu,
	.greycolumn,
	.pageright{ display: block;}

	.level2menu{
		-ms-grid-column: 2;	
		grid-column: 2;
		background: #646464;
	}
	
	.pageleft{
		-ms-grid-column: 2;	
		-ms-grid-column-span: 2;
		-ms-grid-row: 1;	
		grid-column: 2 / 4;
		grid-row: 1;
		background: white;
	}

	.homecontent{
		-ms-grid-column: 2;	
		-ms-grid-column-span: 2;
		grid-column: 2 / -2;
		-ms-grid-row: 1;			
		grid-row: 1;
		background: none;
		z-index: 3;
	}

	.level2content{	
		-ms-grid-column: 3;	
		grid-column: 3;
		padding: 3em 2em;
		position: relative;
        z-index: 3;
	}
	
	.level2content.useCompletePage{
		-ms-grid-column: 3;	
		-ms-grid-column-span: 2;
		grid-column: 3 / 5;
	}

	.greycolumn{
		-ms-grid-column: 4;	
		grid-column: 4;
		-ms-grid-row: 1;			
		grid-row: 1;
		background: #EEE;
		z-index: 2;
	}

	.pageright{
		-ms-grid-column: 5;	
		grid-column: 5;
		-ms-grid-row: 1;			
		grid-row: 1;
		z-index: 2;
	}
    #level2_mood_image{
      float: right;
      margin-right: -208px;
    }
}




/* ============== colors ============= */
/* colors */
body{color: #1c1c1c;}
a {color:#FF6E00;}
.topMenu {
	background: #D3D3D3;
	background: linear-gradient(to bottom, #FAFAFA 0%,#D3D3D3 90%);
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #DDD;      
}
.topMenu a{color: #707070;}
.topMenu a:hover{color:#FF6E00;}
.topMenu ul li a {color: #707070; } /* top menu level 1 font */
.topMenu ul li:hover > div > a{color: #FF6E00; } /* top menu level 1 font active*/
.topMenu .topMenu_act, .topMenu .topMenu_actifsub a {color: #FF6E00;} /* top menu level 1 font active*/
.topMenu ul li ul { background-color: #444444; border: 1px solid #F9FAFC;} /*top menu level 2*/
.topMenu ul li ul li a{ color: #F8FFFA;} /*top menu level 2*/
.topMenu ul li ul li:hover a {background-color: #545454 ;color: #FF6E00;} /*top menu level 2 hover*/
.topMenu .menu_top_actifsub a {color: #FF6E00;}
.stageRightHeadline{color: #FF6E00;}

.stageWrapper.highlights .stageRight{background: #444444; border-top: 1px solid #444444; border-bottom: 1px solid #444444;}
.stageWrapper.highlights .stageRightRow{background: #444444; border-bottom: 1px solid #8A8A8A;}
.stageWrapper.highlights .stageRightRow.active{background: #545454;}
.stageWrapper.highlights .stageRightSubline{color: #B9B9B9;}
.stageWrapper.highlights .navCircle.inactive{color: #AAA;}
.stageWrapper.highlights .navCircle.active{color: #FFF;}
.calendarWrapper[data-event='highlights'] .calendarHeadline{background: #FF6E00; color: white;}
.calendarWrapper[data-event='highlights'] .calendarEvent{color: #1c1c1c;}
.calendarWrapper[data-event='highlights'] .calendarEntry:hover *{color: #FF6E00; text-decoration: underline;}
.highlights .newsArrow{color: #FF6E00;}
.highlights .testimonialsArrow{color: #FF6E00;}

.menu_left_no a{color: #DDD;}
.menu_left_act > a{color: #FF6E00;}
.level2menu ul li a:hover{background-color: #464646;}

.stageRightNav .active{color: #777;}
.stageRightNav .inactive{color: #AAA;}

.cookieConsentButton.acceptall{	
	color: #FF6E00;
}
.tx-powermail .powermail_fieldset .powermail_field input[type="submit"] {background: #FF6E00;}
.mdjTabs li{background: #ff6e00;}
#cookieConsentBanner{background: #FF6E00;}

/* ============ mobile menu ========== */

.mobileTopBar{
  -ms-grid-column: 1;	
	-ms-grid-column-span: 3;	
	grid-column: 1 / -1;
  height: 30px;
  width: 100%;
  position: fixed;
  top: 0;
  background: #EEE;
  z-index: 100;
}

.pageContent{
	  margin-top: 30px;
  }

.openNav{				
	display: block;
	cursor: pointer;
}
.openNav span{
  font-size: 1.25rem;
  padding: 0.25em;
}
.openNav.isClosed span:before{
	content: "\2630"
}

.openNav.isOpen span:before{
	content: "\d7";
}

.navWrapper{
  position: fixed;
  top: 0;
  left: -350px;
  width: 350px;
  overflow-y: scroll;
  height: 100%;
  scrollbar-width: none; /* Firefox */  
}

.navWrapper::-webkit-scrollbar {
    width: 0px;
    background: transparent; /* Chrome/Safari/Webkit */
}



.pageContent, .navWrapper, .mobileTopBar{
  transition: .75s;
}

.navWrapper.isOpen,
.pageContent.navOpen,
.mobileTopBar.isOpen{
  transform: translateX(350px);
}

.navWrapper.isClosed,
.pageContent.isClosed,
.mobileTopBar.isClosed{
  transform: translateX(0);
}


.mobilemenu a {border-bottom: 1px solid #ddd;}
.mobilemenu {list-style: none; font-size: 1em; text-transform: uppercase;}
.mobilemenu {padding: 0 0 10% 0;}

.mobilemenu_ifsub ul{display: none;}
.mobilemenu_actifsub ul{display: block;}

.mobilemenu  li a {display: block; padding: 4% 5% 4% 5%;}
.mobilemenu  li ul { margin: 0; }
/*.mobilemenu  li ul li a {display: block; padding: 4% 5% 4% 5%;}*/
.mobilemenuSub li a {padding: 4% 5% 4% 15%;}
.mobilemenuSubSub li a {padding: 4% 5% 4% 20%;}
.mobilemenuSubSubSub li a {padding: 4% 5% 4% 25%;}

.mobilemenu{
	background: #f9f9f9 none repeat scroll 0 0;
	box-shadow: -3px 0 9px 0 rgb(187 187 187 / 50%) inset;
	min-height: 100vh;		
}





@media (min-width: 1200px){
  .mobileTopBar{
	position: relative;
	display: -ms-grid;
    display: grid;
	-ms-grid-columns: 1fr 999px 1fr;
	grid-template-columns: 1fr 999px 1fr;
  }
  
  .mobileTopBar .openNav{
	  -ms-grid-column: 2;
	  grid-column: 2;	
	  text-align: left;	  
  }
  
  .pageContent{
	  margin-top: 0;
  }
}

/* ============= banner ============= */

#banner{
  display: block;
  -ms-grid-column: 1;  	
  -ms-grid-column-span: 3;  	
  -ms-grid-row: 1;	
  grid-column: 1 / -1;
  width: 100%;
}

#banner img{
	display: block;
	width: 100%;
}

@media (min-width: 1200px){
  #banner{
	  -ms-grid-column: 2;	
	  -ms-grid-column-span: 1;  
	  grid-column: 2;

	}
}


/* ============== desktop menu ============ */

.topMenu{
  display: none;
  -ms-grid-column: 2;	
  -ms-grid-row: 2;	
   grid-column: 2;
	
}


.topMenu ul {
    list-style: none;    
	display: flex;
	flex-basis: fill;
}

.topMenu ul li a{
    display: block;  
    min-width: 134px;  
	min-width: 167px;
    border-right: 1px solid #BBB;
    text-align: center;
    padding: 3px 10px;      
}

.topMenu ul li:first-child a{
	/*min-width: 124px;*/
	min-width: 154px;
}

.topMenu ul li:nth-child(4) a{
	min-width: 187px;
}

.topMenu ul li:nth-child(6) a{
	min-width: 157px;
}

.topMenu ul li ul {
    display: none;
}

.topMenu ul li:hover > div > a{    
    text-decoration: none;
}

.topMenu li:hover ul{
    display : block;    
    z-index: 9999;
}


  /* == MENU LV 2 == */
.topMenu ul li ul {    
    position: absolute;      
    border-radius: 0px 0px 5px 5px;    
    box-shadow: -5px 10px 10px 5px #888888;
}  
  
  .topMenu ul li ul li{   
    position: relative;
    border: none;
}  

.topMenu ul li ul li a{    
    display: inline block;
    border: none;
    text-align: left;  
    padding: 4px 20px 4px 6px;
    white-space: nowrap;    
}  


.pagelayout .topMenuShadow{	
	background: url("../images/top_menu_shadow_inner2.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	width: 672px;
	height: 32px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: none;
	
}


@media (min-width: 1200px){
  .topMenu,
  .pagelayout .topMenuShadow{	
    display: block;
  }
}



/* ============== breadcrumb ============ */


#breadcrumb{
  -ms-grid-column: 2;	
	grid-column: 2;
	-ms-grid-row: 3;	
  padding: 1em 0;
  display: block;
}

#breadcrumb.onHome{visibility: hidden;}

#breadcrumb ul{
	display: flex;
    align-items: center;
}

@media (min-width: 1200px){
  #breadcrumb{
    display: none;
  }
}




/* ============= leftMenu ============= */
.level2menu{background: #646464;}
.level2menu a {
	display: block; 
	background: #646464;
	padding: 1em;
}
.level2menu ul li:first-child > a{
	border-top: 1px solid #8a8a8a;
	margin-top: 3em;
}
.level2menu ul li ul li:first-child a,
.level2menu ul li ul li ul li:first-child a,
.level2menu ul.leftMenuSub li:first-child a{
	margin: 0;
}
.level2menu ul li a{border-bottom: 1px solid #8a8a8a;}
.level2menu ul li a:hover{text-decoration: underline;}

.level2menu ul.leftMenuSub li a{	
	border: none;
	padding: 0.5em 0.5em 0.5em 1.5em;
}

.level2menu ul.leftMenuSubSub{
	/*border-bottom: 1px solid #8a8a8a;*/
	padding: 0 0 1em 0;
}

.level2menu ul.leftMenuSubSub li a{
	border: none;
	padding: 0 0 0 2em;
}

/*
.leftMenuSub > .menu_left_no .leftMenuSubSub{
	display: none;
}

.leftMenuSub > .menu_left_act .leftMenuSubSub{
	display: block;	
}
*/



.level2menu .menu_left_ifsub a{
	border-bottom: none;
}

.leftMenu > li.menu_left_ifsub {
	border-bottom: 1px solid #8a8a8a;
}

.level2menu{
	transition: 1s;
}

/* =============== footer ============== */

footer * {background: white;}

.footerSpaceLeft{
	-ms-grid-column: 2;	
	grid-column: 2;
	background: #646464;
}

.socialBookmarks{
	-ms-grid-column: 2;		
	grid-column: 2;	
	margin: 2em 0;
}

.socialBookmarks ul{
	display: flex;
}
.socialBookmarks img{
	display: block;
	margin-right: 1em;
	width: 34px;
}


.footerLogoLeft{
	-ms-grid-column: 4;	
	grid-column: 4;
	height: 125px;
	background: url('/fileadmin/global/templates/images/footerFlags.jpg');
}

.footerLogoRight{
	-ms-grid-column: 5;	
	grid-column: 5;
	height: 125px;
	background: url('/fileadmin/global/templates/images/footerLeitung.jpg');
}

.footerSpaceRight{
	-ms-grid-column: 6;	
	grid-column: 6;	
}


.footerBottom{
	-ms-grid-column: 1;	
	-ms-grid-column-span: 3;	
	grid-column: 1 / -1;
	-ms-grid-row: 2;	
	grid-row: 2;
	text-align: center;
	width: 100%;		
    display: flex;
    justify-content: center;
    flex-direction: column;    
	
}

.footerBottom p{	
	padding: 0.5em 1em;
}

.footerBottom a{
  color: inherit; 
  padding: 0.5em 1em;
}

.footerSpaceLeft,
.footerLogoLeft,
.footerLogoRight,
.footerSpaceRight{
	display: none;
}

@media (min-width: 1200px){	
	.footerSpaceLeft,
	.footerLogoLeft,
	.footerLogoRight,
	.footerSpaceRight{
		display: block;
	}
	
	.socialBookmarks{
		-ms-grid-column: 3;		
		grid-column: 3;
		padding: 2em;
		margin: 0;
	}
	
	.homeFooter .footerSpaceLeft{display: none;}
	
	.homeFooter .socialBookmarks{
		-ms-grid-column: 2;		
		-ms-grid-column-span: 2;
		grid-column: 2 / 4;		
	}
	
	.footerBottom{
		-ms-grid-column: 2;	
		-ms-grid-column-span: 5;	
		grid-column: 2 / -2;
        flex-direction: row;
	}
	

}


/* ================= stage ================= */

.stageWrapper{
	display: none;
}

.stageWrapper ul{
	list-style: none;
}

.mobileStageTile{
	border: 1px solid #CCC;
	padding: 0.5em;
	margin: 1em 0 0 0;
	box-shadow: 1px 1px 1px 1px #999;
	-moz-box-shadow: 1px 1px 1px 1px #999;
	-webkit-box-shadow: 1px 1px 1px 1px #999;	
}

.mobileStageTile img{
	display: block;
	width: 100%;
}

.mobileStageTile a{
	color: inherit;
}

.mobileStageTileHeadline{
	padding: 0.5em 0;
}

.mobileStageTileText{
	padding: 0 0 0.5em 0;
}


@media (min-width: 1200px){
  .stageWrapper{	
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 674px 325px;
	grid-template-columns: 674px 325px;
	border-bottom: 1px solid #DDD;
  }
  
  .stageWrapper, .stageLeft, .stageRight{height: 300px;}
  
  .stageLeft{
	  -ms-grid-column: 1;
	  grid-column: 1;
	  position: relative;
  }
   
  .stageLeftSlide{
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
  }
  
  .stageLeftImage{
	  height: 300px;
	  background-repeat: no-repeat;
	  background-size: cover;
	  position: relative;	 	  
  }
  
  .stageLeftTextsWrapper{
	  position: absolute;
	  bottom: 20px;
	  left: 15px;
	  width: 637px;
	  background: white;
	  opacity: 0.85;
	  border: 1px solid #d4d4d4;
	  padding: 5px 0 5px 5px;
  }
  
  .stageLeftText{
	  margin-top: .75em;
  }
  
  .stageRight{
	  -ms-grid-column: 2;
	  grid-column: 2;	
	  display: flex;
	  flex-direction: column;
	  background: white;	  
	  width: 100%;
  } 
  
  .stageRightRows{
	  position: relative;
	  height: 276px;
	  
  }
  
  .stageNavpage{
	  position: absolute;
	  top: 0;
	  left: 0;
	  background: white;
      width: 100%;
  }
  
  .stageRightRow{
	  display: flex;
	  height: 69px;
	  border-bottom: 1px solid #DDD;
	  background: white;
	  cursor: pointer;
	  padding: 5px 10px;
	  align-items: center;
  }
  
  .stageRightRow.active{
	  background: linear-gradient(#D7D7D7, white);
  }
  
  .stageRightRow img{
	  width: 50px;
	  height: 50px;	  
  }
  
  .stageRightTextsWrapper{
	  margin-left: 10px;
	  width: 100%;
  }
  
  .stageRightSubline{max-width: 245px;}
  
  ul.stageRightNav{
	  display: flex;	  
	  margin: 0 0.5em 0 auto;
	  font-size: 1.5rem;
	  line-height: 1;
  }
  .navCircle{cursor: pointer;}
  
  

 
  .mobileStageWrapper{
	  display: none;
  }
}




/* ================= calendar ================= */
.calendarWrapper ul{list-style: none; margin: 0;}


.calendarHeadline{
	display: block;
	margin: 2em 0 1em 0;
	padding: 0.25em 0.25em 0.25em 0.5em;
}

.calendarEntry{
	display: flex;
	justify-content: space-between;
	background: #EEE;
	background: linear-gradient(#D7D7D7,#FFFFFF);
	border: 1px solid #AAA;
	margin: 0.5em 0 0 0;
	padding: 0.25em 1em 0.25em 0.5em;	
}


.calendarEvent{
	align-self: flex-start;
	max-width: 50%;
}

.calendarDates{
	text-align: right;
	align-self: center;
}

@media (min-width: 1200px){

	.introCalendarWrapper{
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 550px 450px;
		grid-template-columns: 55% 45%;
	}

	.introText{
		-ms-grid-column: 1;
		padding: 2em;
	}
	.calendarWrapper{
		-ms-grid-column: 2;		
		padding: 2em 1em 1em 1em;
	}
	
	.calendarHeadline{
		margin: 0;
	}

}


/* ================= news ================= */

.newsOuterWrapper{
	margin: 2em 0;
}

.newsLogo{	
	display: block;
	margin-left: 2em;
}

.newsMobileWrapper{
	display: -ms-grid;
	display: grid;
}

.newsWrapper{
	display: none;	
}
.newsWrapper, .newsMobileWrapper{
	background: white;
	-ms-grid-columns: 50px 889px 50px;
	grid-template-columns: 50px 1fr 50px;
	border-top: 1px solid #AAA;
	border-bottom: 1px solid #AAA;
	-webkit-box-shadow: 0 5px 5px #999;
}

.newsArrow{
	align-self: center;
	-ms-grid-row-align: center;
	cursor: pointer;
	width: 100%;
	background: white;
	font-size: 2.5rem;
	font-weight: bold;
}

.newsLeftArrow{
	margin-right: auto;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
}
.newsRightArrow{
	margin-left: auto;
	-ms-grid-column: 3;
	-ms-grid-row: 1;
}


.newsItems{	
	position: relative;	
	overflow: hidden;	
	-ms-grid-column: 2;
	-ms-grid-row: 1;
	-ms-grid-row-align: center;
	background: white;
}

.newsItem{	
	width: 100%;	
	padding: 1em 1em 0 1em;	
	background: white;
}

.newsMobileWrapper .newsItems{
	display: -ms-grid;	
	-ms-grid-columns: 1fr;
	justify-content: center;
	display: grid;
}
.newsMobileWrapper .newsItem{
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-row: 1;
	grid-column: 1;
	padding: 2em;	
}
.newsMobileWrapper .newsItem.default{z-index: 2;}	
.newsMobileWrapper .newsItem.onTop{z-index: 3;}

.newsMobileWrapper  .newsItem.fromLeft{
	animation: fromLeft ease-in-out 1s forwards;	
	-webkit-animation: fromLeft ease-in-out 1s forwards;	
	-ms-animation: fromLeft ease-in-out 1s forwards;	
	-moz-animation: fromLeft ease-in-out 1s forwards;	
	-o-animation: fromLeft ease-in-out 1s forwards;	
}

.newsMobileWrapper  .newsItem.fromRight{
	animation: fromRight ease-in-out 1s forwards;	
	-webkit-animation: fromRight ease-in-out 1s forwards;	
	-ms-animation: fromRight ease-in-out 1s forwards;	
	-moz-animation: fromRight ease-in-out 1s forwards;	
	-o-animation: fromRight ease-in-out 1s forwards;		
}

.newsMobileWrapper  .newsItem.toLeft{
	animation: toLeft ease-in-out 1s forwards;	
	-webkit-animation: toLeft ease-in-out 1s forwards;	
	-ms-animation: toLeft ease-in-out 1s forwards;	
	-moz-animation: toLeft ease-in-out 1s forwards;	
	-o-animation: toLeft ease-in-out 1s forwards;	
}

.newsMobileWrapper  .newsItem.toRight{
	animation: toRight ease-in-out 1s forwards;	
	-webkit-animation: toRight ease-in-out 1s forwards;	
	-ms-animation: toRight ease-in-out 1s forwards;	
	-moz-animation: toRight ease-in-out 1s forwards;	
	-o-animation: toRight ease-in-out 1s forwards;	
}



@keyframes fromRight{
	from{transform: translateX(100%);}
	to{transform: translateX(0);}
}
@-webkit-keyframes fromRight{
	from{-webkit-transform: translateX(100%);}
	to{-webkit-transform: translateX(0);}
}
@-ms-keyframes fromRight{
	from{-ms-transform: translateX(100%);}
	to{-ms-transform: translateX(0);}
}
@-moz-keyframes fromRight{
	from{-moz-transform: translateX(100%);}
	to{-moz-transform: translateX(0);}
}
@-o-keyframes fromRight{
	from{-o-transform: translateX(100%);}
	to{-o-transform: translateX(0);}
}

@keyframes toLeft{
	from{transform: translateX(0);}
	to{transform: translateX(-100%);}
}
@-webkit-keyframes toLeft{
	from{-webkit-transform: translateX(0);}
	to{-webkit-transform: translateX(-100%);}
}
@-ms-keyframes toLeft{
	from{-ms-transform: translateX(0);}
	to{-ms-transform: translateX(-100%);}
}
@-moz-keyframes toLeft{
	from{-moz-transform: translateX(0);}
	to{-moz-transform: translateX(-100%);}
}
@-o-keyframes toLeft{
	from{-o-transform: translateX(0);}
	to{-o-transform: translateX(-100%);}
}

@keyframes fromLeft{
	from{transform: translateX(-100%);}
	to{transform: translateX(0);}
}
@-webkit-keyframes fromLeft{
	from{-webkit-transform: translateX(-100%);}
	to{-webkit-transform: translateX(0);}
}
@-ms-keyframes fromLeft{
	from{-ms-transform: translateX(-100%);}
	to{-ms-transform: translateX(0);}
}
@-moz-keyframes fromLeft{
	from{-moz-transform: translateX(-100%);}
	to{-moz-transform: translateX(0);}
}
@-o-keyframes fromLeft{
	from{-o-transform: translateX(-100%);}
	to{-o-transform: translateX(0);}
}

@keyframes toRight{
	from{transform: translateX(0);}
	to{transform: translateX(100%);}
}
@-webkit-keyframes toRight{
	from{-webkit-transform: translateX(0);}
	to{-webkit-transform: translateX(100%);}
}
@-ms-keyframes toRight{
	from{-ms-transform: translateX(0);}
	to{-ms-transform: translateX(100%);}
}
@-moz-keyframes toRight{
	from{-moz-transform: translateX(0);}
	to{-moz-transform: translateX(100%);}
}
@-o-keyframes toRight{
	from{-o-transform: translateX(0);}
	to{-o-transform: translateX(100%);}
}



@media (min-width: 1200px){

	.newsMobileWrapper{
		display: none;
	}
	.newsWrapper{
		display: -ms-grid;
		display: grid;
		width: 999px; /* IE11 issue*/
	}
	
	.newsItems{	
		position: relative;
		min-height: 140px;		
		display: flex;
		align-items: center;
	}
	
	.newsItem{	
		width: 33%;		
		position: absolute;
		padding: 0 1em;
		
	}


}


/* ================= tiles ================= */

.mdjTilesWrapper{
	padding: 0 .5em;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	justify-content: space-evenly;
}

.mdjTile{	
	overflow: hidden;
	background: white;
	border: 1px solid #AAA;
	margin: 1em 0 0 0;
	padding: 8px;
	box-shadow: 5px 5px 5px #999;
	width: 48%;
	
}
.mdjTileBackground{
	background-repeat: no-repeat;
	background-size: cover;
    height: 100%;
}
.mdjTileInner{
	padding: 10px;	
    height: 100%;
}

.mdjTileContent{
	padding: 10px;
	background-color: white;
	opacity: 0.85;		
	overflow: hidden;
    height: 100%;
  }

.mdjTileText a{
	display: block;
	margin: 0.5em 0 0 0;
}


@media (min-width: 1200px){
.mdjTilesWrapper{
	padding: 0 1em;	
}
.mdjTile{
	width: 23%;	
}


}


/* ============= sponsors ============ */

.sponsorsOuterWrapper{
	padding: 0 1em;	
    background: white;
    max-width: 822px;
}

.sponsorsHeadline{
	margin-bottom: 1em;
}

.sponsorsWrapper{
	display: flex;		
	flex-wrap: wrap;	
    align-items: center;
}

.sponsorsWrapper a, .sponsorsWrapper img{
	display: block;	    
}

.sponsorsWrapper a{
	margin: 1em 1em 0 0;
    max-width: 24%;
}

.sponsorsWrapper img{
  width: 100%;
}


@media (min-width: 1200px){
	.sponsorsOuterWrapper{		
		padding: 0 2em;
	}		
}


.level2content .sponsorsOuterWrapper{
	padding: 0;
	margin: 6em 0 2em 0;
}

.level2content .sponsorsHeadline{
	margin: 0;
}


/* ============= testimonials ============== */

.testimonialsOuterWrapper{
	display: -ms-grid;
	display: grid;	
	-ms-grid-columns: 50px 505px 50px;
	grid-template-columns: 50px 1fr 50px;
	box-shadow: 0 5px 5px #999;
	border: 1px solid #AAA;
	overflow: hidden;
}

.testimonialsSlide.slidePlaceholder{visibility: hidden; display: none;}

.testimonialsArrow{
	align-self: center;
	cursor: pointer;
	width: 100%;
	background: white;
	font-size: 2.5rem;
	font-weight: bold;
}

.testimonialsLeftArrow{
	margin-left: -10px;
	-ms-grid-column: 1;
	-ms-grid-row-align: center;
}

.testimonialsInnerWrapper{
	-ms-grid-column: 2;
	-ms-grid-row-align: center;
}

.testimonialsRightArrow{
	margin-left: 18px;
	-ms-grid-column: 3;
	-ms-grid-row-align: center;
}

.testimonialsSlides{
	display: -ms-grid;
	display: grid;	
	height: 100%;
}

.testimonialsSlide{
	grid-column: 1;
	-ms-grid-column: 1;
	grid-row: 1;
	-ms-grid-row: 1;
	background: white;
	/*display: flex;
	flex-direction: column;
	justify-content: center;*/
	padding: 2em 0;
}


.testimonialsCompany{
	text-align: right;
	margin-top: 2em;
}
.testimonialsDesc{
	text-align: right;
}


@supports not (display: grid) { 
 
  html,body{
	  overflow-x: hidden;
  }
  body{
	  position: relative;
  }
  .slidePlaceholder{
	  visibility: hidden; 
	  display: block;
	}
  .fadeshow .fadeshowWrapper,
  .sliderWithSlogans{position: relative;}
  .fadeshow .fadeshowWrapper .slide{position: absolute; top: 0; left: 0;}
  .fadeshow .fadeshowWrapper .slide.singleImage{position: relative;}
  .fadeshow .fadeshowNav{position: absolute; bottom: 1em; width: 100%;}
  .fadeshow .fadeshowNav .navCircles{margin: 0 auto;}

  
  
  .slideshow{
	  display: flex;
	  justify-content: space-around;
  }
  .slideshow .sliderArrow{width: auto;}

  
  .slideshow .slides{position: relative;}
  .slideshow .slides .slide{position: absolute; top: 0; margin: 0 auto;}
  
   
  
}


/* ============= tabs ============== */

ul.mdjTabs{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

.mdjTabs li{
	display: block;
	padding: 0.5em 2em;	
	color: white;
	margin: 0.25em 0.25em 0 0;
	opacity: 0.66;
	cursor: pointer;
}

.mdjTabs li:hover,
.mdjTabs li.active{
	opacity: 1;
}

.mdjTabsContent{
	display: none;
	border-color: #949494;
	border-style: dotted;
	border-width: thin;
	padding: 1em;
	margin-top: 0.5em;
}

.mdjTabsContent.active{
	display: block;
}


/* ============= messe calendar ============== */

.messeCalendarTopMenu{
	display: flex;
	justify-content: space-between;
	width: 100%;	
}

.level2content ul.messeCalendarTopMenu{
	list-style: none;
	margin-left: 0;
}

.messeCalendarTopMenu li{	
	width: 33%;
}

.resultHeader{
	display: flex;
}

#messeCalendarResults{margin: 75px 0 0 0; }
#messeCalendarSearch .messeCalendarTopMenu li div {
	padding: 10px 10px 10px 20px;
	color: #505050;
	background: #EEE;
}
#messeCalendarSearch .messeCalendarTopMenu li:first-child {border-right: 2px solid white;}
#messeCalendarSearch .messeCalendarTopMenu li:last-child {border-left: 2px solid white;}
#messeCalendarSearch .messeCalendarTopMenu li ul {display: none; list-style: none; margin: 0 0 0 0; width: 255px; position: absolute; border-top: 2px solid white;}
#messeCalendarSearch .messeCalendarTopMenu li:hover div {background: #EE7103;}
#messeCalendarSearch .messeCalendarTopMenu li:not(.no-hover):hover ul {display: block;}
 
#messeCalendarSearch .messeCalendarTopMenu li ul li .calItem {background: none; padding: 0; margin: 0 0 0 20px; }
#messeCalendarSearch .messeCalendarTopMenu li ul li .calItem:hover {color: #EE7103;}
#messeCalendarSearch .messeCalendarTopMenu li ul li {background: #646464; color: #ddd; padding: 2px 0 3px 0; display: block; width: 100%; float: none; cursor: pointer;}
#messeCalendarSearch .messeCalendarTopMenu li ul li:first-child{border: none; padding: 10px 0 3px 0;}
#messeCalendarSearch .messeCalendarTopMenu li ul li:last-child{border: none; padding: 2px 0 10px 0;}

#messeCalendarSearch{margin: 40px 0 0 0; color: #b9b9b9; }
#messeCalendarHeadline{ color: #ff6e00;}
#javaOK{display: none; margin: 20px 0;}
#javaError{color: red;}
#noResults{display: block; margin: 20px 0 0 0; color: red;}
#messeCalendarSearch .messeCalendarTopMenu ul li div.calItem{color: white;}
.resultHeader .resultCell {background: #EEEEEE; color: #505050; padding: 10px;}
.resultHeadTime{}
.resultLogo {padding: 5px 10px 5px 10px; text-align: center; border-bottom-width: 0;}
.resultLogo img {display: block;}
.resultName {color: #ff6e00; font-weight: bold; border-bottom-width: 0;}
.resultTime {color: #505050;  font-weight: bold; border-bottom-width: 0;}
.resultDesc {color: #505050;  border-bottom-width: 0;}
.resultLocation {color: #505050;  border-bottom-width: 0;}
#messeCalendarSpacer{background: white; display: block; height: 20px;}

.resultHeadLogo{width: 25%;}
.resultHeadName{width: 25%;}
.resultHeadLocation{width: 25%;}
.resultHeadTime{width: 25%;}

.resultRow {display: flex; align-items: center; border-bottom: 1px solid #d9d9d9;} 	    
.resultRow:hover {text-decoration: none;}

.resultCell{padding: 1em;}
.resultNameDesc{width: 42%;}
.resultLocation{width: 25%;}
.resultTime{width: 25%;}
.resultLogo{width: 8%; padding: 0.1em;}

@media (min-width: 600px){
	.resultLogo{padding: 1em;}	
}
/* =================== cookie consent banner =================== */

#cookieConsentBanner{
	position: fixed;
	min-height: 25vh;
	left: 0;
	bottom: 0;
	z-index: 776;	
	width: 100%;
	opacity: 0.97;
}

#cookieConsentBanner a{
  color: white;
}

#cookieConsentBanner.consented{
	display: none;
}

#cookieConsentBanner.consentRequired{
	display: block;
}


.cookieConsentContent{
	margin: 0 auto;
	max-width: 999px;
}

.cookieConsentText{
	padding: 2em;
	color: white;
}

.cookieConsentButtons{
	display: flex; 
	flex-direction: row-reverse;
	padding: 2em;
}

.cookieConsentButton{
	display: block;
	padding: 1em;
	border: 1px solid #CCC;
	border-radius: 20px;
	cursor: pointer;
	margin: 2em;
}

.cookieConsentButton.acceptmin{
	background: none;
	color: white;
	text-decoration: underline;
	font-weight: normal;
	border: none;
}

.cookieConsentButton.acceptall{
	background: white;
	font-weight: bold;	
}

/* ==================== powermail ============== */

.tx-powermail .powermail_fieldset .powermail_field {background: white;}
.tx-powermail .powermail_fieldset .powermail_field select, 
.tx-powermail .powermail_fieldset .powermail_field input[type="text"] {width: 100%;}
.tx-powermail .powermail_fieldset .powermail_field select option {width: 75%;}
.tx-powermail .powermail_fieldset .powermail_field input[type="text"] {border: none;}
.tx-powermail .powermail_fieldset .powermail_field input[type="submit"] {
	padding: 2px 5px; 
	width: 100%;
	color: white;	
	float: none;
	}
.tx-powermail .btn{border: 1px solid grey; background: #EEE; padding: 5px;}

.powermail_confirmation .btn-group {
  display: flex;
  justify-content: space-between;
}


/* ============ unsubscribe =========== */

#mail_addr{
	border-radius: 5px;
	padding: 5px;
	border: 1px solid #333;
}

#form_submit_button{
	background: grey;
	color: white;
	padding: 5px;
	border-radius: 5px;
}



/* ============== colors home ============= */
/* colors */
body{color: #1c1c1c;}
a {color:#FF6E00;}
.topMenu {
	background: #D3D3D3;
	background: linear-gradient(to bottom, #FAFAFA 0%,#D3D3D3 90%);
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #DDD;      
}
.topMenu a{color: #707070;}
.topMenu a:hover{color:#FF6E00;}
.topMenu ul li a {color: #707070; } /* top menu level 1 font */
.topMenu ul li:hover > div > a{color: #FF6E00; } /* top menu level 1 font active*/
.topMenu .topMenu_act, .topMenu .topMenu_actifsub a {color: #FF6E00;} /* top menu level 1 font active*/
.topMenu ul li ul { background-color: #444444; border: 1px solid #F9FAFC;} /*top menu level 2*/
.topMenu ul li ul li a{ color: #F8FFFA;} /*top menu level 2*/
.topMenu ul li ul li:hover a {background-color: #545454 ;color: #FF6E00;} /*top menu level 2 hover*/
.topMenu .menu_top_actifsub a {color: #FF6E00;}
.stageRightHeadline{color: #FF6E00;}

.stageWrapper.highlights .stageRight{background: #444444; border-top: 1px solid #444444; border-bottom: 1px solid #444444;}
.stageWrapper.highlights .stageRightRow{background: #444444; border-bottom: 1px solid #8A8A8A;}
.stageWrapper.highlights .stageRightRow.active{background: #545454;}
.stageWrapper.highlights .stageRightSubline{color: #B9B9B9;}
.stageWrapper.highlights .navCircle.inactive{color: #AAA;}
.stageWrapper.highlights .navCircle.active{color: #FFF;}
.calendarWrapper[data-event='highlights'] .calendarHeadline{background: #FF6E00; color: white;}
.calendarWrapper[data-event='highlights'] .calendarEvent{color: #1c1c1c;}
.calendarWrapper[data-event='highlights'] .calendarEntry:hover *{color: #FF6E00; text-decoration: underline;}
.highlights .newsArrow{color: #FF6E00;}
.highlights .testimonialsArrow{color: #FF6E00;}

.menu_left_no a{color: #DDD;}
.menu_left_act > a{color: #FF6E00;}
.level2menu ul li a:hover{background-color: #464646;}

.stageRightNav .active{color: #777;}
.stageRightNav .inactive{color: #AAA;}

.cookieConsentButton.acceptall{	
	color: #FF6E00;
}
.tx-powermail .powermail_fieldset .powermail_field input[type="submit"] {background: #FF6E00;}
.mdjTabs li{background: #ff6e00;}
#cookieConsentBanner{background: #FF6E00;}

.footerBottom,
.footerBottom p,
.footerBottom a{	
    background: #EEE;	
	color: inherit;
}

.footerSpaceRight{	
	background: #AAA;
}




/* ================ video ================== */
.videoWrapper .video{
	grid-column: 2;
	-ms-grid-column: 2; 		
}

.videoWrapper .video{
	position: relative;
	overflow: hidden;
	width: 100%;	
}	

.videoWrapper .video::after{
	padding-top: 56.25%;
	display: block;
	content: "";
}

.videoWrapper .video iframe{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}