/*
  me@aceart.de - 20.06.2023
  WORDING - READ THIS

  Because the wording was unintuitive (and some probably wrong - header should be the upmost parent etc.) when I came here I'll leave it for budget reasons but explain it.

  nav.navbar
  This is everything thats above the content (the upper most parent).
  (master slider currently is also content)

  header / .physio_header
  This is the logo / tel / email / insta
  hidden when scrolled on desktop

  navigation / #navitems
  This is the slightly blue bar under the header with the nav link words like HOME, SEMINARE etc.
  mobile only shown by burger button

  sub-navigation / sub-navitems
  This is the green bar with sub navigation items (self explanatory).
  hidden mobile

*/

.navbar .physio_header {
  height: 95px;
  padding-top: 15px;
  padding-bottom: 15px;
}

/* xs only */
@media screen and (max-width: 767px) {
  .navbar .physio_header {
    height: unset;
  }
}

/* small gray line under fixed header when scrolled to separate it from content */
.navbar.ac-nav-f {
  border-bottom: 1px solid lightgray;
}

/* desktop hide "header" when scrolled */
.navbar.ac-nav-f .hidden-xs .physio_header {
  display: none !important;
}

/* bootstrap 3 adds content padding to .navbar-collapse
but we already use a .container parent so its centered with the fluid layout
so we override/remove that padding */
#navitems.navbar-collapse {
  padding-left: 0px;
  padding-right: 0px;
}

/* make sub navigation stay above everything else */
#sub-navigation {
  z-index: 9999;
}

/* in some header components links should be gray instead standard (theme-color) */
.navbar-nav a,
.navbar .physio_header a {
  color: var(--header-gray);
}

/*
  OLD CSS
  me@aceart.de 16.06.23 - everything about this is bad.
  I leave it as it is for budget reasons.
*/

.navbar {
  margin-bottom: 0px;
  border-bottom: 0px;
  background-color: white;
}

#nav_ebene_1 * {
  border-left: 0px;
}

.nav>li>a {
  padding: 10px 27px;
}

.navbar .col-md-3 {
  width: 25%;
  float: left;
}

.navbar-nav>li>div.sub-nav-container {
  width: 100%;
  background: var(--theme-color);
}

#sub-navigation ul {
  margin: 0px;
  padding: 0px;
}

.navbar-nav>.active>a:hover>.arrow,
.navbar-nav>.active>a:focus>.arrow {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0px;
  top: 0px;

  background-color: var(--theme-color);

  -webkit-mask-image: url(/wp-content/themes/physiogruppe/images/nav_pfeil.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center bottom;

  mask-image: url(/wp-content/themes/physiogruppe/images/nav_pfeil.svg);
  mask-repeat: no-repeat;
  mask-position: center bottom;
}

.navbar #navitems .menu-item-has-children a:after {
  position: absolute;
  content: " ";
  background-image: url(/wp-content/themes/physiogruppe/images/icon_arrow_down.png);
  background-position: 10px center;
  z-index: 1000;
  height: 6px;
  top: 27px;
  width: 10px;
  right: 10px;
}

.navbar #navitems .menu-item-has-children.active a:after {
  background-image: url(/wp-content/themes/physiogruppe/images/icon_arrow_down_white.png);
}

.navbar-nav>li>a {
  padding: 20px 26.5px;
}

nav.navbar ul li a {
  text-transform: uppercase;
  font-size: 14px;
}

#sub-navigation {
  clear: both;
  position: absolute;
  width: 100%;
  background: var(--theme-color);
  left: 0;
}

#sub-navigation .sub-navigation-container {
  max-width: 1170px;
  margin: 0 auto;
}

#nav_head_footer .sub-navi {
  float: left;
  width: 33.33%;
  list-style: none;
  padding: 0;
  margin: 0;
}

#nav_head_footer .sub-navi a,
#nav_head_footer .sub-navi li a {
  text-align: left;
  color: white;
}

#nav_head_footer .sub-navi li a {
  display: block;
  width: 100%;
}

#sub-navigation ul {
  width: 100%;
  padding: 0px;
  margin: 0px;
}

#sub-navigation .sub-navigation-container li .sub-navi li {
  float: left;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  list-style: none;
}

#sub-navigation .sub-navigation-container li .sub-navi li a {
  font-size: 15px;
  display: block;
  line-height: 33px;
}

#sub-navigation .sub-navigation-container .sub-navi {
  float: left;
  width: 25%;
  padding-top: 30px;
  padding-bottom: 30px;
}

#sub-navigation ul {
  margin: 0;
  padding: 0;
}

#sub-navigation ul li a {
  color: white;
}

#sub-navigation .nav>li {
  width: 100%;
  clear: both;
}

.last_minute_event_liste {
  height: 276px;
  overflow: scroll;
}

/* xs only */
@media screen and (max-width: 767px) {
  /* make logo smaller */
  .custom-logo {
    height: 55px;
    width: auto;
  }

  /* fixed sub menu navigation */
  #sub-navigation {
    position: absolute;
    width: 50vw;
    left: 50vw;
    top: 175px;
    z-index: 9999;
    display: inline-block;
    background: transparent;
  }
  #sub-navigation .sub-navigation-container {
    padding-top: 18px;
    padding-bottom: 18px;
  }
  #sub-navigation .sub-navigation-container .sub-navi, #sub-navigation .nav.navbar-nav {
    background-color: transparent;
    width: 100%;
  }
  #sub-navigation .sub-navigation-container li .sub-navi li a {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
  }
  #sub-navigation .sub-navigation-container .sub-navi {
    padding: 0;
  }
  .navbar {
    border: 0;
  }
  .navbar-nav {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
  .navbar-nav, .navbar-nav > * {
    background-color: var(--theme-color);
    color: #ffffff;
  }
  .menu-main-navigation-container li {
    width: 45vw;
  }
  .navbar-nav>li>a, .navbar-nav>li:first-child a {
    color: #ffffff;
    background-image: none;
    margin: 1em 2em;
    padding: 0;
    display: flex;
  }
  .navbar #navitems .menu-item-has-children a:after {
    position: relative;
    top: 0;
    align-self: center;
    flex-grow: 1;
    background-repeat: no-repeat;
    background-position: right center;
    right: -25px;
  }
  .nav>li>a:focus, .nav>li>a:hover {
    background-color: var(--theme-color);
  }

  /* Hide bottom arrow on mobile */
  .navbar-nav>.active>a:hover>.arrow, .navbar-nav>.active>a:focus>.arrow {
    -webkit-mask-position: right;
    mask-position: right;
  }
}