*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
nav ul,
nav li {
  list-style: none;
  padding: 0;
  margin: 0;
}
nav a {
  display: block;
  text-decoration: none;
}
nav a:hover,
nav a:visited {
  text-decoration: none;
}
.menu-bar {
/* Hauptüberschriften bzw. Gruppen im Normal und im Burger-Menü
font-weight: bold;
*/    
	background: #EFEFEF;
	display: flex;
  
		
	
  
  
}
.menu-link {
/* 
	MENÜPUNKTE
	Hintergrund im Normal-Modus
	Der Teil, der aufklappt ;-)
	Keine Farbe vergeben, damit kundenspezifische Farbe verwendet wird
	Auswirkung auf ALLE Links und den Überschriften um Hauptmenue (Header)
	
*/
  white-space: nowrap;
  padding: 5px;   
  /* font-size: clamp(0.5em, calc(0.75em + 0.5vw), 0.9em); */
  
  /* font-size: clamp(1em, calc(1.5em + 0.5vw), 2em); */
  padding-top:5px;
  padding-bottom:5px;
  border-bottom-color:#505050;
  border-bottom-width:1px;
  border-bottom-style:solid;  
  transition: background 0.2s, color 0.2s;
  position: relative;   
  text-align:left;
  z-index: 20;
}
.menu-link[aria-haspopup="true"] {
  /*OBERSTE EBENE - Menügruppen in der Burger- UND in der Normal-Ansicht*/    
  background:EFEFEF;
  
  border-bottom-color:#EFEFEF;
  border-bottom-width:1px;
  border-bottom-style:solid;
  padding-right: 40px;
      
  border-right-color:#FFF;
  border-right-width:1px;
  border-right-style:solid;  
  font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
  
}
.menu-link[aria-haspopup="true"]:after {
  content: "";
  background-image: url("images/horizontales_menue/pfeil_rechts.svg");
  background-size: 14px;
  width: 14px;
  height: 14px;  
  font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
    
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);

}
.mega-menu-header {
 /* 
	Überschrift des gewählten Submenues
	= Gruppeneintrag im Normalen Menü (nicht Burger)
  */  
  font-size: 12px;    
  text-transform: uppercase;
  /*
  background:#EFEFEF;  
  color: #333333;
  */
  background:#404040;  
  color: #fff;
  
  
}
.mega-menu {	
  
  padding:20px;  
  background: #fff;  
  z-index: 100;
  
}
.mega-menu--multiLevel {
  flex-direction: column;
}


@media all and (min-width: 1280px) {
  .nav {
    margin-top: 5px;	
    /* background: #fff;	*/
  }
  .nav > nav {
	  /* Definiert die Breite im Normal-Modus des aufgeklappten Menüs */

    max-width: 100%;
    margin: 0 auto;		
	
  }
  .menu [aria-haspopup="true"] ~ ul {
    display: none;
  }
  .menu-bar {	
    position: relative;
	/* margin-top: -5px;	  	 */
	min-width:300px;	
	
  }
  .menu-bar > li > [aria-haspopup="true"]:after {
    background-image: url("images/horizontales_menue/pfeil_runter.svg");				
  }
  .menu-bar > li > [aria-haspopup="true"]:hover:after {
    background-image: url("images/horizontales_menue/pfeil_runter.svg");
  }
  .menu-bar > li > [aria-haspopup="true"]:focus ~ ul {
	/* Menüeinträge im normalen Menü */
    display: flex;
    transform-origin: top;
    animation: dropdown 0.4s ease-out;	
	background:#fff;
	/* Schatten */
		-webkit-box-shadow: 5px 10px 50px grey;
		-moz-box-shadow: 5px 10px 50px grey;
		box-shadow: 5px 10px 40px grey;
	/* oberer Rand für 3D Effekt */
	border-style:solid;
	border-color:#EFEFEF;
	border-width:0;
	border-top-width:10px;	
	
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul:hover {
    display: flex;
	
  }
  .menu-bar > li:focus-within > [aria-haspopup="true"] ~ ul {
    display: flex;
	
  }
  .menu-bar > li > [aria-haspopup="true"]:focus,
  .menu-bar > li:focus-within > [aria-haspopup="true"],
  .menu-bar > li:hover > a {
	  /* Hover und wenn angeklickt - auf dem eigentlichen Menu-Top-Bereich (nicht die Elemente)*/
    border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	
		
	background: #404040; 
	color:#ffffff;
	text-decoration:none;
    /* text-transform: uppercase; */
	
  }
  .menu-bar > li > [aria-haspopup="true"]:focus:after,
  .menu-bar > li:focus-within > [aria-haspopup="true"]:after,
  .menu-bar > li:hover > a:after {
    background-image: url("images/horizontales_menue/pfeil_hoch.svg");
	
  }
  .mega-menu {
	/* Menue im normal-Modus, nach dem Anklicken der Gruppen (der aufklappende Teil) */
	border-style:solid;
	border-color:#efefef;
	border-width:1px;
	background:#fff;	
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
	font-size:12px;
	
	
  }
  .mega-menu:hover {
    display: flex;
  }
  .mega-menu a:hover {
	/* Hover im Normal-Modus 
	 hier keine Angaben, damit das Kundenspezifische CSS der Links genommen wird ;-) 
    
	background: #EFEFEF;
    color: #000; 
	*/
  }
  .menu-link {
  
  font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
}
  .mega-menu--multiLevel > li {
    
	width: 33.33333333%;
	
  }
  .mega-menu--multiLevel > li > [aria-haspopup="true"] ~ ul {
    left: 33.33333333%;
    width: 33.33333333%;
  }
  .mega-menu--multiLevel > li > [aria-haspopup="true"] ~ ul ul {
    width: 100%;
    left: 100%;
  }
  .mega-menu--multiLevel li:hover > [aria-haspopup="true"] ~ ul {
    display: block;
    transform-origin: left;
    animation: flyout 0.2s ease-out;
  }
  .mega-menu--multiLevel li:focus-within > [aria-haspopup="true"] ~ ul {
    display: block;
  }
  .mega-menu--multiLevel li:hover > [aria-haspopup="true"],
  .mega-menu--multiLevel li:focus-within > [aria-haspopup="true"],
  .mega-menu--multiLevel li:hover > a,
  .mega-menu--multiLevel li:focus-within > a {
    background: #505050;
    color: #EFEFEF;
  }
  .mega-menu--multiLevel [aria-haspopup="true"] ~ ul,
  .mega-menu--multiLevel [aria-haspopup="true"] {
    border-left: 1px solid #f0f0f0;
  }
  .mega-menu--multiLevel [aria-haspopup="true"] ~ ul:hover,
  .mega-menu--multiLevel [aria-haspopup="true"]:hover {
    display: block;
  }
  .mega-menu--multiLevel [aria-haspopup="true"] ~ ul {
    position: absolute;
    top: 0;
    height: 100%;
  }
  .mega-menu--flat > * {
    flex: 1;
  }
  .mobile-menu-trigger,
  .mobile-menu-header, 
  .mobile-menu-back-item {
   display: none;
  }
}

@media all and (max-width: 1280px) {
 	

	
  .nav {
    padding: 10px;
  }
  .mobile-menu-trigger,
  .mobile-menu-header,
  .mobile-menu-back-item {
	
	display: block;
  }
  .mobile-menu-trigger {
	  /*   Burger - Button 
	  font-size: clamp(1.1em, calc(1.1em + 1vw), 1.2em);
	  
	  */
	display:flex;
	margin-top: -10px;
	
	margin-left: 0;
	margin-right:auto;
    background: #E0E0E0;  
       
	padding: 12px;	
	text-align:center;
    
	width:50px;
	
  }
  .mobile-menu-trigger:hover {
    background: #909090;
	
	
  }
  .mobile-menu-header {
    order: -1;
    background: #404040;
    
  }
  .mobile-menu-header a {
    padding: 20px 5px;
    color: #fff;
    visibility: visible;
  }
  .menu-bar {	   
	/* Gruppen (1.Auswahl) im Burger - Menü */
    flex-direction: column;
    position: fixed;
    top: 0;
    left: -100%;
    height: 100vh;
	
    width: 100%;    
    max-width: 100%; 
    overflow-x: hidden;
    transition: left 0.3s;
    box-shadow: 1px 0px 2px 0px rgba(0, 0, 0, 0.25); 			
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
	
	background:#FFF;
	border-color:#404040;
	border-style:solid;
	border-width: 1px; 
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul {
	  
	/* ausgeklapptes menue bei mobiler ansicht */
	/* erste Ebene • Die Gruppen */
    display: flex;
    flex-direction: column;
    background: #fff;
    position: absolute;
    left: 100%;
    top: 30px;
    height:100vh; 
	
    width: 100%;
    transition: left 0.3s;	
	padding:2px;	
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
	
	
	
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul > li > [aria-haspopup="true"] {
    
	/* font-size: clamp(0.85em, calc(0.85em + 1vw), 1.1em); */
	/* Schrift der Menüeinträge im Burger-Menü nach dem Anklicken der Gruppen */
    
	font-size: clamp(0.75em, calc(0.9em + 0.5vw), 1.1em);
		
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul > li > [aria-haspopup="true"] ~ ul a {
    padding-left: 40px;
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul > li > [aria-haspopup="true"] ~ ul > li > [aria-haspopup="true"] ~ ul a {
    padding-left: 80px;
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"] {
    /* color: #000; */
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"]:after {
    content: "+";
    background: none;    
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
	
    font-weight: normal;
    height: 20px;
    line-height: 1;
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"] ~ ul {
    max-height: 0px;
    transform-origin: top;
    transform: scaleY(0);
    transition: max-height 0.1s;
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
	
  }
  .mega-menu-content {
    padding: 20px 25px;
  }
  .mobile-menu-back-item {
	font-size:14px;
    margin-top:20px;
	margin-bottom:100px;  
    order: -1;
  }
  .mobile-menu-back-item a {
	 /*  HB des Zurueck-Menues */    
	background: #aa0000;
    color: #fff;
    max-height: calc(1.4em + 40px);
    margin-top: calc(0px - (1.4em + 40px)); 	
    pointer-events: none;
	
  }
  .mobile-menu-back-item a:before {
    content: "";
    width: 14px;
    height: 12px;
    background-image: url("images/horizontales_menue/pfeil_links.svg");
    background-size: 14px;
    margin-right: 10px;
    display: inline-block;
  }
  .mobile-menu-trigger:focus ~ ul {
    /* Schrift der Menüeinträge im Burger-Menü nach dem Anklicken der Gruppen */
    left: 0;	
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
	
	
	
  }
  .menu-bar:hover,
  .menu-bar:focus-within {
    left: 0;
  }
  .menu-bar > li > [aria-haspopup="true"]:focus ~ ul {
    left: 0;
	/* font-size: 8px; */
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul {	  	 
	
    margin-top: calc(1.4em + 40px);	
	
  }
  .mega-menu-header{
	  /* Bereichsüberschrift in der mobilen Ansicht */
	  /*  Menuebereich im Burger-Modus*/
	font-size: 12px;
	
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul:hover,
  .menu-bar > li > [aria-haspopup="true"] ~ ul:focus-within {
	/* Schrift der Menüeinträge im Burger-Menü nach dem Anklicken der Gruppen */
    left: 0;	
	font-size: clamp(0.7em, calc(0.85em + 0.5vw), 1.1em);
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"]:focus ~ ul {	      
	max-height: 500px;
	
    animation: dropdown 0.3s forwards;
	
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul li:focus-within > [aria-haspopup="true"] ~ ul {
    
	max-height: 500px;
    transform: scaleY(1);
  }
  .menu-bar > li:focus-within ~ .mobile-menu-header a {
  /*  visibility: hidden;*/
  /* Hauptüberschrift VerMa Veranstaltungsmanagement MENÜ , sobald man in einem Untermenü ist*/
  
  }
}


@media all and (max-width: 1280px) and (hover: none) {
  
  .mobile-menu-trigger:hover ~ ul {
    left: 0;

  }
  .menu-bar > li > [aria-haspopup="true"]:hover ~ ul {
    left: 0;
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul:hover {
    left: 0;
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"]:hover ~ ul {
    max-height: 500px;
    animation: dropdown 0.3s forwards;
  }
  .menu-bar > li > [aria-haspopup="true"] ~ ul [aria-haspopup="true"] ~ ul:hover {
    max-height: 500px;
    transform: scaleY(1);
  }
  .menu-bar > li:hover ~ .mobile-menu-header a {
    /* visibility: hidden; */
  }
}

@keyframes dropdown {
  0% {
    opacity: 0;
    transform: scaleY(0);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes flyout {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  100% {
    opacity: 1;
    transform: scaleX(1);
  }
}



  
  

@media all and (min-width: 1280px) {
  
  .menu-bar {	
    position: relative;
	margin-top: 25px;	
	
  }
}

