.menu { z-index: 510; width:inherit; }
.pagefull .menu { width:100%; }
.menu ul { padding:0;  }
.menu, .menu ul, .menu ul li, .menu ul li a, .menu .menu-button {
    margin:0; border:0; list-style:none; line-height:1; display:block; position:relative;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.menu:after, .menu > ul:after { content:"."; display:block; clear:both; visibility:hidden; line-height:0; height:0; }
.menu .menu-button { display:none; }
.menu.hor > ul > li { float:left; display:inline-block; }
.menu.hor > ul > li > a { border-right: 1px solid rgba(0, 0, 0, 0.2); }
.menu.hor > ul > li:last-of-type > a { border-right: 0px; }
.menu.hor ul > li:hover > a, .menu ul > li > a:hover, .menu ul > li.current > a { background: rgba(0, 0, 0, 0.05); }
.menu.hor > ul > li.has-sub > a { padding-right:45px; }
.menu.hor > ul > li.has-sub > a::after { content:""; position:absolute; width:0; height:0; right:17px; border:6px solid transparent; margin-top:-6px;}
_:-ms-lang(x), .menu.hor > ul > li.has-sub > a::after { margin-top:6px; }
@-moz-document url-prefix() { .menu.hor > ul > li.has-sub > a::after { margin-top:0px; } }
.menu.hor ul ul li.has-sub > a::after, .menu.hor ul ul ul li.has-sub > a::after { content:""; position:absolute; width:0; height:0; right:17px; border:6px solid transparent; margin-top:0px;  }

.menu.hor ul ul { position:absolute; left:-9999px; top:60px; padding:6px 6px 0; z-index:510; opacity:0;
    -webkit-transition: top 0.2s ease, opacity 0.2s ease-in; -moz-transition: top 0.2s ease, opacity 0.2s ease-in; -ms-transition: top 0.2s ease, opacity 0.2s ease-in; -o-transition: top 0.2s ease, opacity 0.2s ease-in; transition: top 0.2s ease, opacity 0.2s ease-in; }
.menu.hor > ul > li > ul { top:120px; border-radius:0; }
.menu.hor > ul > li:hover > ul { top:52px; left:0px; opacity:1; }
.menu.hor ul ul ul { padding-top:0; padding-left:6px; }
.menu.hor ul ul > li:hover > ul { left:200px; top:0; opacity:1; }
.menu.hor ul ul li a { width:200px; padding:11px 25px; }
.menu.hor ul ul li:first-child > a { border-top-left-radius:3px; border-top-right-radius:3px; }
.menu.hor ul ul li:last-child > a { border-bottom-left-radius:3px; border-bottom-right-radius:3px; }
.menu.hor > ul > li > ul::after { position:absolute; display:block; }

.menu.hor.align-center > ul { float:none; text-align:center; }
.menu.hor.align-center > ul > li { float:none; }
.menu.hor.align-center ul ul a { text-align:left; }

.menu.hor.align-right > ul { float:right; text-align:right; }
.menu.hor.align-right > ul > li:last-of-type > a { border-right:0px; }
.menu.hor.align-right > ul > li > ul::after { left: auto; right: 20px; }
.menu.hor.align-right > ul > li:hover > ul { left:auto; right:0; }
.menu.hor.align-right ul ul ul { padding-right:6px; }
.menu.hor.align-right ul ul > li:hover > ul { left:auto; right:100%; opacity:1; }
.menu.hor.align-right ul ul li.has-sub > a::after { border-left-color:transparent; border-right-color:#777777; right:auto; left:17px; }

.menu.hor .sticky { position:fixed; left:0; width:100%; border-radius:0; border-bottom:1px solid #cccccc; }

/* Vertikales Menue */
.menu.ver { z-index: 500; }
.menu.ver > ul > li { float:none; display:block; width:100%; }
.menu.ver ul ul, .menu.ver ul li:hover > ul, .menu.ver > ul > li > ul, .menu.ver ul ul ul, .menu.ver ul ul li:hover > ul {
    left:0; right:auto; top:auto; opacity:1; width:100%; padding:0; position:relative; text-align:left; }
.menu.ver li.has-sub > a { padding-right:45px; }
.menu.ver li.has-sub > a::after { content:""; position:absolute; width:0; height:0; right:17px; border:4px solid transparent;  }
.menu.ver ul ul li, .menu.ver ul ul li a { width:100%; }
.menu.ver > ul > li.has-sub.active > a::after, .menu.ver > ul > li.has-sub:hover > a { border:0px; }
.menu.ver > ul > li > ul::after, .menu.ver ul ul ul::after { border:0px; }
.menu.ver ul ul li:first-child > a, .menu.ver ul ul li:last-child > a { border-radius: 0; }

/* Anzeigemodus */
.menu[menue_level_show="0"] > ul > li ul,
.menu[menue_level_show="1"] > ul > li ul,
.menu.ver[menue_level_show="2"] > ul li:not(.current) ul { display:none; }
.menu[menue_level_show="0"] > ul > li.has-sub > a::after,
.menu[menue_level_show="3"] > ul > li.has-sub > a::after,
.menu[menue_level_show="3"] > ul > li > ul > li.has-sub > a::after { border: 0px; }
.menu[menue_level_show="1"] > ul li.has-sub:hover > ul { display:block; }

/* Anzeigestufen */
.menu[menue_level="1"] > ul > li ul,
.menu[menue_level="2"] > ul > li > ul > li ul,
.menu[menue_level="3"] > ul > li > ul > li > ul > li ul { display:none; }
.menu[menue_level="1"] > ul > li.has-sub > a::after { border: 0px; }
.menu[menue_level="1"] > ul > li:hover > ul { opacity:0; }
.menu[menue_level="2"] > ul > li > ul > li.has-sub > a::after { border: 0px; }
.menu[menue_level="2"] ul ul > li:hover > ul { opacity:0; }
.menu.ver[menue_level="2"] ul ul > li:hover > ul { display:none; }

/* Responsive Design */
@media all and (max-width: 800px), only screen and (max-width: 980px) {
  .menu > ul.responsive { display:none; }
  .menu > ul.responsive > li.has-sub > a::after, .menu ul ul li.has-sub > a::after { display: block; }
  .menu > ul.responsive > li.has-sub li > a::before { content:"-"; }
  .menu > ul.open { display:block; border-top:2px solid rgba(0, 0, 0, 0.2); }
  .menu.hor > ul { top:0; }
  .menu.hor > ul.responsive > li, .menu.align-right > ul.responsive > li { float:none; display:block;  }
  .menu.align-right > ul { float:none; }
  .menu.align-center > ul { text-align:left; }
  .menu.hor.align-center ul ul a { text-align:center; width:100%; }
  .menu > ul > li > a {  }
  .menu > ul > li:hover > a, .menu > ul > li.active > a { background: rgba(0, 0, 0, 0.1); }
  .menu .menu-button { display:block; text-transform:uppercase; cursor:pointer; padding-right:60px; border-bottom:1px solid rgba(0, 0, 0, 0.2); }
  .menu ul ul,
  .menu ul li:hover > ul,
  .menu > ul > li > ul,
  .menu ul ul ul,
  .menu ul ul li:hover > ul,
  .menu.align-right ul ul,
  .menu.align-right ul li:hover > ul,
  .menu.align-right > ul > li > ul,
  .menu.align-right ul ul ul,
  .menu.align-right ul ul li:hover > ul { left:0; right:auto; top:auto; opacity:1; width:100%; padding:0; position:relative; text-align:left; }
  .menu ul ul li { width:100%; }
  .menu ul ul li a { width:100%; border-top:1px solid rgba(0, 0, 0, 0.1); box-shadow:none; padding-left:35px; }
  .menu ul ul ul li a { padding-left:45px; }
  .menu ul ul li:first-child > a, .menu ul ul li:last-child > a { border-radius: 0; }
  .menu .menu-button::after { display:block; content:''; position:absolute; height:3px; width:22px; right:25px; top:calc(50% - 6px); }
  .menu .menu-button::before { display:block; content:''; position:absolute; height:3px; width:22px; right:25px; top:calc(50% + 5px); }
  .menu > ul > li > ul::after, .menu ul ul ul::after { border:0px; }
}
