/* Hauptnavigation */
/* jquery.responsive-nav.js 1.0.39 by @viljamis / Source: https://github.com/samikeijonen/responsive-nav.js/tree/dropdowns */
#a5-mainnav {
    background-color: rgb(0,118,185);
    color: rgb(255,255,255);
    margin-top: 0;
}

@media screen and (min-width: 960px) {
  #a5-mainnav {
    background-color: rgb(255,255,255);
    color: rgb(59,59,59);
    margin-top: 1px;
    position: relative;
    top: auto;
    left: auto;
    height: auto;
  }
}

html.js-nav-active {
  height: 100%;
  overflow: hidden;
}

.js #nav.opened {
  max-height: 100vh !important;
  margin-top: -4.5em;
  height: 100vh;
  padding: 4.5rem 0.9375rem 0 0.9375rem;
  background-color: rgb(0,118,185);
  color: rgb(255,255,255);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .js #nav.opened {
    margin-top: -1em;
  }
}

/* basics */
.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
}
.nav-collapse li {
  margin: 0;
  width: 100%;
  display: block;
}
.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
}
.nav-collapse.opened {
  max-height: 9999px;
  z-index: 98;
  float: none !important;
}
.nav-toggle {
  background-color: rgb(255,255,255);
  border: 0;
  color: rgb(0,118,185);
  font-size: 1em;
  padding: 0;
  position: absolute;
  right: .75rem;
  top: .75rem;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  z-index: 99;
}
/*
@media screen and (min-width: 768px) {
  .nav-toggle {
    right: 1.75rem;
    top: 3.5rem;
  }
}
*/
.nav-toggle:hover, .nav-toggle:focus {
  background-color: rgb(255,255,255);
  outline: 2px rgb(0,118,185) solid;
  color: rgb(0,118,185);
}
.nav-toggle[aria-expanded="true"] {
  background-color: rgb(0,118,185);	
  color: rgb(255,255,255);
  /*
  width: 100%;
  text-align: right;
  border: 2px solid rgb(0,118,185);
  top: 0;
  right: 0;
  */
}
.nav-toggle[aria-expanded="true"]:hover, 
.nav-toggle[aria-expanded="true"]:focus {
  background-color: rgb(0,118,185);
  color: rgb(255,255,255);
  outline: 2px rgb(255,255,255) solid;
}
.nav-toggle img {
  margin: .5rem;
  width: 1.5rem;
}

@media screen and (min-width: 960px) {
  .js .nav-collapse {
    position: relative;
  }
  .js .nav-collapse.closed {
    max-height: none;
  }
  .nav-toggle {
    display: none;
  }
}

/* styled */
.nav-collapse {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.nav-collapse,
.nav-collapse ul {
  list-style: none;
  width: 100%;
  float: left;
}

@media screen and (min-width: 960px) {
  .nav-collapse {
    width: auto;
    float: right;
  }
}

.nav-collapse > ul {
  border-top: 1px solid rgb(255,255,255);
}

.nav-collapse li {
  float: left;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .nav-collapse li {
    width: 25%;
  }
  .nav-collapse li li {
    width: auto;
  }
}

.nav-collapse a,
.nav-collapse strong.active {
  background-color: rgb(0,118,185);
  border-bottom: 1px solid rgb(255,255,255);
  color: rgb(255,255,255);
  float: left;
  padding: 0.8125em 3.5em 0.8125em .5rem;
  text-decoration: none;
  width: 100%;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
.nav-collapse a.trail {
  /*
  background-color: rgb(255,255,255);
  color: rgb(0,118,185);
  border-bottom-color: rgb(109,154,1);
  */
  font-weight: bold;
}
.nav-collapse ul ul a,
.nav-collapse ul ul strong.active {
  border-bottom: 0px none;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  padding-left: 1.875em;
  text-align: left;
  text-transform: none;
}

@media screen and (min-width: 960px) {
  .nav-collapse a,
  .nav-collapse strong.active {
    background-color: rgb(255,255,255);
    border-bottom: 15px solid rgb(255,255,255);
    color: rgb(59,59,59);
    margin: 0;
    float: left;
    padding: 0.8125em 1.5em;
  }
}
@media screen and (min-width: 1180px) {
  .nav-collapse a,
  .nav-collapse strong.active {
    padding: 0.8125em 3em;
  }
}

/* ---- MULTIPLE LEVELS ---- */
.nav-collapse a:focus,
.nav-collapse a:hover,
.nav-collapse li.focus > a,
.nav-collapse li.focus > strong.active{
  /*
  background-color: rgb(255,255,255);
  color: rgb(0,118,185);
  border-bottom-color: rgb(109,154,1);
  */
  text-decoration: underline;
  outline: none;
}
@media screen and (min-width: 60rem) {
  .nav-collapse a:focus,
  .nav-collapse a:hover,
  .nav-collapse strong.active,
  .nav-collapse li.focus > a,
  .nav-collapse li.focus > strong.active {
    border-bottom-color: rgb(109,154,1);
    color: rgb(0,118,185);
    text-decoration: none;
  }
}
.nav-collapse a.active,
.nav-collapse strong.active {
  font-family: inherit;
  font-weight: 600;
  /*
  color: rgb(0,118,185);
  border-bottom-color: rgb(109,154,1);
  */
}

@media screen and (max-width: 959px) {
	
  .js .nav-collapse {
    visibility: hidden;
  }
  .js .nav-collapse.opened {
    visibility: visible;
  }

  /* Enable active class to let the navigation expand over the calculated max height. */
  .js .nav-collapse.multiple-level-nav.opened.dropdown-active {
    max-height: 9999px !important;
  }

  .js .nav-collapse.multiple-level-nav .sub-menu {
    clip: rect(0 0 0 0);
    max-height: 0;
    position: absolute;
    display: none; /* This way you don't have focus on sub menu items unless you open the sub menu. */
    overflow: hidden;
    zoom: 1;
  }

  .js .nav-collapse.multiple-level-nav .sub-menu.toggled {
    display: block;
    max-height: 9999px;
    position: relative;
  }

  .js .nav-collapse li {
    position: relative;
  }
  .js .nav-collapse .level_1 li.first {
    border-top: 1px solid rgb(255,255,255);
  }
  .js .nav-collapse .dropdown-toggle {
  	background-color: rgb(0,118,185);
    border: 0 none;
    color: rgb(255,255,255);
    content: "";
    height: 2.8rem;
    width: 3rem;
    padding: 0;
    position: absolute;
    margin: 0;
    text-transform: lowercase;
    top: 0;
    right: 0;
  }
  .js .nav-collapse .dropdown-toggle:hover,
  .js .nav-collapse .dropdown-toggle:focus,
  .js .nav-collapse .dropdown-toggle:active  {
    background-color: rgb(0,118,185);
    color: rgb(255,255,255);  
    outline: 2px solid rgb(255,255,255);
    outline-offset: -3px;
  }

  .js .nav-collapse .dropdown-toggle:after {
    content: " ";
    font-size: 1em;
    width: 3rem;
    height: 2.8rem;
    display: inline-block;
    background: url("/files/util/img/icons/pfeil_down.svg") no-repeat center center;
  }
  .js .nav-collapse .dropdown-toggle.toggled:after {
    content: " ";
    background-image: url("/files/util/img/icons/pfeil_up.svg");
  }
  
}
  
.dropdown ul a,
.dropdown ul strong.active {
  background: rgb(0,118,185);
  padding-left: 1.5em;
}

.dropdown ul ul a,
.dropdown ul ul strong.active{
  background: rgb(0,118,185);
  padding-left: 2.5em;
}

@media screen and (min-width: 960px) {
  .dropdown-toggle  {
    display: none;
  }

}

.dropdown ul ul {
  border: 0;
  padding: 0;
}

.dropdown .dropdown.opened .has-dropdown {
  background: rgb(0,118,185);
}

@media screen and (min-width: 960px) {

  .nav-collapse {
	position: relative;
  }

  .js .nav-collapse,
  .js .nav-collapse .dropdown ul {
    max-height: none;
    overflow: visible;
  }
  
  .has-dropdown:after {
    font-size: 1.5em;
    line-height: 0.8;
    float: right;
    content: "";
    width: 0;
    height: 0;
    margin: 1em 0 0 0.5em;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid rgb(255,255,255);
  }
  .dropdown ul .has-dropdown:after {
    content: "";
    width: 0;
    height: 0;
    margin: 0.3em 0 0 0.5em;
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    border-left: 6px solid rgb(255,255,255);
  }
  .nav-collapse .dropdown {
    position: relative;
  }
  .nav-collapse .dropdown li {
    width: 100%;
  }
  .nav-collapse .dropdown ul a,
  .nav-collapse .dropdown ul strong.active {
    text-align: left;
    border: 0;
  }
 
  .nav-collapse li {
    border: 0;
    display: inline-block;
    min-height: 3.125em;
    line-height: 1.5;
    position: relative;
  }
  .nav-collapse a,
  .nav-collapse strong.active {
    display: block;
    /*! color: rgb(0,118,185); */
    /*! border-bottom-color: rgb(109,154,1); */
  }
  .nav-collapse ul ul {
    display: none !important;
    float: left;
    margin: 0;
    position: absolute;
    top: 0;
    left: -999em;
    z-index: 99999;
    text-align: center;
  }
  .nav-collapse li li {
    border: 0;
    display: block;
    height: auto;
  }
  .nav-collapse ul ul ul {
    left: -999em;
    top: 1.25em;
  }
  .nav-collapse ul ul a,
  .nav-collapse ul ul strong.active {
  	background-color: rgb(0,118,185);
  	border-top: 1px solid rgb(0,118,185);
  	color: rgb(255,255,255);
    padding-right: 0;
    text-transform: none;
    white-space: normal;
    width: 20em;
  	border-bottom: 0;
  }
  .nav-collapse ul li:hover > ul,
  .nav-collapse ul li.focus > ul {
    top: 5.45em;
    left: 50%;
    margin-left: -7.49em;
  }
  .nav-collapse ul ul li:hover > ul,
  .nav-collapse ul ul li.focus > ul {
    top: 0;
    left: 0%;
    margin-left: 20em;
  }
  /* beim letzten Navpunkt das Dropdown nach links oeffnen, damit nichts abgeschnitten wird */
  .nav-collapse ul li.last:hover > ul, 
  .nav-collapse ul li.last.focus > ul {
    left: -20em;
    margin-left: 15.05em;
  }
  .nav-collapse ul li.last ul li:hover > ul,
  .nav-collapse ul li.last ul li.focus > ul {
    top: 0;
    left: 0%;
    margin-left: 20em;
  }
  
}

/* Unternavigation */
#snav ul.level_1 {
  border-top: 0.0625rem solid rgb(204,204,204);
}
#snav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#snav li {
  margin: 0;
  padding: 0;
}
#snav li a, 
#snav li strong {
  border-bottom: 0.0625rem solid rgb(204,204,204);
  display: block;
  font-size: 1.3125rem;
  line-height: 1.428571;
  padding: 0.4375rem 0.75rem;
}
@media screen and (max-width: 1023px) {
  #snav li a, 
  #snav li strong {
    font-size: 1rem;
  }
}

#snav .level_2 li a, 
#snav .level_2 li strong {
  padding-left: 1.5rem;
}
#snav li a:link, 
#snav li a:visited {
  text-decoration: none;
}
#snav li a:hover,
#snav li a:focus, 
#snav li a:active {
  text-decoration: none;
  background-color: rgb(235,241,248);
  color: rgb(0,118,185);
}
#snav li a:focus {
  outline: .1875rem solid rgb(0,118,185);
}
#snav li strong {
  background-color: rgb(235,241,248);
  color: rgb(0,118,185);
}