/* === NAVIGATION === */

#main-nav-top {
  background: #fff;
  height: 1px;
}

nav.main-nav {
  font-family: "Open Sans", sans-serif;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  z-index: 1030;
  position: sticky;
  position: -webkit-sticky; /* Safari */
  top: 0;
}

nav.main-nav.main-nav-sticky  {
  border-bottom: 1px solid #eee;
}

nav.main-nav:after {
  content: "";
  display: block;
  clear: both;
}

/* Alle Labels und Input Element ausblenden */
nav.main-nav .main-nav-sticky-logo,
nav.main-nav .main-nav-toggle,
nav.main-nav input[id^=navdrop] {
  display: none;
}

nav.main-nav .main-nav-wrapper {
  display: none;
}

nav.main-nav.main-nav-sticky .main-nav-sticky-logo {
  display: inline-block;
}

nav.main-nav.main-nav-sticky .main-nav-sticky-logo a {
  padding-right: 5px;
}

nav.main-nav.main-nav-sticky .main-nav-sticky-logo img {
  height: 27px;
}

nav.main-nav label {
  margin: 0;
  cursor: pointer;
}

nav.main-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav.main-nav ul li {
  margin: 0;
  float: left;
  background-color: #fff;
  position: relative;
}

nav.main-nav li.nav-dd:hover {
  box-shadow: inset 0px 0px 0px 1px #eee;
}

nav.main-nav li.nav-dd:hover > a {
  color: #C90C0F;
}

nav.main-nav ul a,
nav.main-nav ul span {
  color: #595959;
  display: block;
  padding: 0 16px;
  font-size: 17px;
  font-weight: 600;
  line-height: 45px;
  text-decoration: none;
  transition: font-size 0.2s ease-out;
}

nav.main-nav ul li span:hover {
  color: #595959;
}

nav.main-nav.main-nav-sticky > ul > li > a,
nav.main-nav.main-nav-sticky > ul > li > span {
  font-size: 16px;
  padding: 0 8px;
}

nav.main-nav ul li.nav-dd:hover > a:before {
  content: '';
  display: block;
  position: absolute;
  width: calc(100% - 2px);
  height: 10px;
  left: 1px;
  bottom: 0;
  background-color: #FFF;
  z-index: 1032;
}

nav.main-nav ul li ul li {
  padding-left: 0;
  background-image: url(/templates/badspiegel-org/img/arrows/chevron-right.svg);
  background-position: -20px center;
  background-size: 20px;
  background-repeat: no-repeat;
  transition: padding 300ms, background-position 300ms, color 300ms;
}

nav.main-nav ul li ul li:hover {
  padding-left: 20px;
  background-position: 0 center;
}

nav.main-nav ul li ul li:hover > a,
nav.main-nav ul li ul li:hover > span {
  color: #C90C0F;
}

nav.main-nav ul ul {
  display: none;
  position: absolute;
  min-width: 21em;
  top: 44px;
  border: 1px solid #EEE;
  background-color: #FFF;
  padding: 1em;
  z-index: 1031;
}

nav.main-nav ul ul li {
  float: none;
  display: list-item;
  position: relative;
}

nav.main-nav ul ul li a,
nav.main-nav ul ul li span {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  padding: 4px 0;
}

nav.main-nav > ul > li > a:after,
nav.main-nav > ul > li > span:after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .13em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .3em solid transparent;
}

nav.main-nav .main-nav-logo,
nav.main-nav .main-nav-call,
nav.main-nav .main-nav-actions {
  display: none;
}

@media (min-width: 991px) and (max-width: 1210px) {
  nav.main-nav ul a,
  nav.main-nav ul span {
  padding: 0 10px;
  font-size: 14px;
  line-height: 45px;
  }
}

@media (min-width: 1209px) and (max-width: 1320px) {
  nav.main-nav ul a,
  nav.main-nav ul span {
  padding: 0 16px;
  font-size: 16px;
  line-height: 45px;
  }
}

@media all and (min-width: 991px) {
  nav.main-nav ul li:hover > ul {
   display: inherit;
  }
}

@media (max-width: 990.99px) {

  /* Navigationsleiste */
  nav.main-nav .main-nav-sticky-logo,
  nav.main-nav.main-nav-sticky .main-nav-sticky-logo,
  nav.main-nav .main-nav-sticky-icons,
  nav.main-nav.main-nav-sticky .main-nav-sticky-icons,
  #main-nav-top {
    display: none;
  }

  nav.main-nav {
    position: fixed;
    top: 35px;
    left: 0;
    width: 100VW;
    background-color: white;
    border-bottom: 3px solid #C90C0F;
  }

  nav.main-nav.fixed-header {
    top: 0;
  }

  /* Hamburger Menü */
  #main-nav-toggle {
    display: inline-block;
    width: 45px;
    height: 40px;
    position: relative;
    cursor: pointer;
    margin: 12px 0 12px 15px;
  }

  nav.main-nav .main-nav-wrapper {
    display: inline-block;
    width: calc(100% - 90px);
    margin: 12px 0;
  }

  /* Hamburger Menü Linien */
  nav.main-nav > label .nav-icon {
    position: absolute;
    left: 10px;
    height: 3px;
    width: 25px;
    background: #595959;
    border-radius: 2px;
    display: block;
    transition: 0.4s;
    transform-origin: center;
  }

  /* Positionierung der Linien */
  nav.main-nav > label .nav-icon:nth-child(1) { top: 13px; }
  nav.main-nav > label .nav-icon:nth-child(2) { top: 20px; }
  nav.main-nav > label .nav-icon:nth-child(3) { top: 27px; }

  /* Animation der Linien */
  #navdrop-x:checked + .main-nav-toggle .nav-icon:nth-child(1) {
    transform: translateY(7px) rotate(-45deg);
  }

  #navdrop-x:checked + .main-nav-toggle .nav-icon:nth-child(2) {
    opacity: 0;
  }

  #navdrop-x:checked + .main-nav-toggle .nav-icon:nth-child(3) {
    transform: translateY(-7px) rotate(45deg);
  }

  /* Logo */
  nav.main-nav .main-nav-logo {
    display: block;
    float: left;
  }

  nav.main-nav .main-nav-logo img {
    display: block;
    height: 32px;
    margin-top: 5px;
    margin-left: 2px;
  }

  nav.main-nav .main-nav-actions {
    display: block;
    float: right;
    margin-top: 3px;
  }

  /* Clearfix wegen float: right */
  nav.main-nav .main-nav-wrapper:after {
    content: "";
    display: block;
    clear: both;
  }

  nav.main-nav ul .main-nav-toggle+a,
  nav.main-nav ul .main-nav-toggle+span,
  nav.main-nav .main-nav-menu {
    display: none;
    height: 0;
  }

  nav.main-nav .main-nav-menu {
    overflow: scroll;
    height: calc(100vh - 69px);
  }

  nav.main-nav .main-nav-toggle {
    display: block;
    padding: 0 26px;
    color: #595959;
    font-size: 18px;
    font-weight: normal;
    line-height: 45px;
    text-decoration: none;
    border: none;
  }

  [id^="navdrop"]:checked ~ ul {
    display: block;
  }

  nav.main-nav ul li label > span {
    float: right;
  }

  nav.main-nav ul li {
    display: block;
    width: 100%;
    border-top: 1px solid #eeeeee;
  }

  nav.main-nav ul li ul li {
    padding-left: 0;
    background-image: none;
  }

  nav.main-nav ul li ul li:hover {
    padding-left: 0;
    background-position: 0 center;
  }

  nav.main-nav ul li ul li:hover > a,
  nav.main-nav ul li ul li:hover > span {
	color: #595959;
  }

  nav.main-nav ul ul a,
  nav.main-nav ul ul span {
    padding: 0 40px;
  }

  nav.main-nav ul ul {
    float: none;
    position: static;
    color: #595959;
    padding: 0;
  }

  nav.main-nav ul ul li {
    display: block;
    width: 100%;
    border: none;
  }

  nav.main-nav ul ul li a,
  nav.main-nav ul ul li span {
    padding-left: 43px;
    font-size: 16px;
    line-height: 32px;
    font-weight: normal;
    background-color: #fcfcfc;
  }

  nav.main-nav .main-nav-call {
    display: block;
    padding-top:10px;
    text-align: center;
  }

  nav.main-nav .main-nav-call a {
    margin: 0 25px;
    color: white;
  }

  #page-header .actions {
    position: static;
    -webkit-transform: none;
    transform: none;
  }
}
