body .grundschule {
  display: none;
}
body.schule .grundschule {
  display: block;
}
body.schule .not-grundschule {
  display: none;
}

/* Mobile first layout SmartMenus Core CSS
   You need this once per page no matter how many menu trees or different themes you use.
-------------------------------------------------------------------------------------------*/
.sm {
  box-sizing: border-box;
  position: relative;
  z-index: 999;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sm, .sm ul, .sm li {
  list-style: none;
  padding: 0;
  line-height: normal;
  direction: ltr;
  text-align: left;
}

.sm li,
.sm a {
  position: relative;
}

.sm *,
.sm *::before,
.sm *::after {
  box-sizing: inherit;
}

.main-nav {
  background: #fff;
}

.main-menu-btn {
  white-space: nowrap;
  cursor: pointer;
  background: #C3D200;
  width: 156px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.main-menu-btn-icon {
  color: #121212;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  font-size: 20px;
}
.main-menu-btn-icon.hover, .main-menu-btn-icon.open {
  display: none;
}
@media (min-width: 800px) {
  .main-menu-btn-icon {
    font-size: 32px;
  }
}

.wrapper-topmenu {
  background: #fff;
}

@media screen and (min-width: 800px) and (max-width: 1968px) {
  #main-menu {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.wrapper-topmenu {
  position: absolute;
  top: 0;
  z-index: 99999;
  left: 0;
  right: 0;
  background: transparent;
}

#main-menu {
  width: 100%;
  padding: 0;
}
#main-menu > li.has-mega-menu {
  padding-left: 24px;
  padding-right: 41px;
}
#main-menu > li.has-mega-menu {
  background-color: unset;
  margin-top: 0;
}
#main-menu > li.mobile-only {
  margin-top: 0;
}
#main-menu .custom-nav .bg-hover {
  margin-bottom: 2px;
}
#main-menu .custom-nav .bg-hover:hover, #main-menu .custom-nav .bg-hover:focus {
  background-color: #C3D200;
}
#main-menu .custom-nav > div > div {
  height: 64px;
}
#main-menu .custom-nav i {
  font-size: 24px;
  margin-bottom: 6px;
}
#main-menu .custom-nav a {
  font-size: 12px;
  font-weight: 700;
}
@media (min-width: 800px) {
  #main-menu .custom-nav {
    margin-bottom: 83px;
  }
  #main-menu .custom-nav > div > div {
    height: 120px;
  }
  #main-menu .custom-nav i {
    font-size: 32px;
    margin-bottom: 10px;
  }
  #main-menu .custom-nav a {
    font-size: 20px;
  }
  #main-menu > li.has-mega-menu {
    padding-left: 100px;
    padding-right: 163px;
  }
}
@media (max-width: 799px) {
  #main-menu .custom-nav {
    width: 100%;
    max-width: 420.65px;
    position: fixed;
    bottom: 0;
    box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.25);
    padding-bottom: 16px;
    z-index: 1;
  }
  #main-menu .custom-nav .menu-border {
    top: 2px;
  }
}

.main-menu-btn-text {
  color: #121212;
  text-align: center;
  text-indent: 0;
  display: block;
}

.main-menu-btn .main-menu-btn-icon-container {
  margin-right: 12px;
}
.main-menu-btn .open-text {
  display: none;
}
.main-menu-btn.active .default, .main-menu-btn.active .default-text {
  display: none;
}
.main-menu-btn.active .open, .main-menu-btn.active .open-text {
  display: inline-block;
}

@media (min-width: 800px) {
  .main-menu-btn {
    padding: 12px 36px;
    width: 194px;
  }
  .main-menu-btn .main-menu-btn-text {
    text-align: left;
  }
  .main-menu-btn:hover {
    background: #505243;
  }
  .main-menu-btn:hover .main-menu-btn-icon, .main-menu-btn:hover .main-menu-btn-icon:before, .main-menu-btn:hover .main-menu-btn-icon:after {
    color: #fff;
  }
  .main-menu-btn:hover .main-menu-btn-icon:after {
    right: 0;
  }
  .main-menu-btn:hover .main-menu-btn-icon.default {
    display: none;
  }
  .main-menu-btn:hover .main-menu-btn-text {
    color: #fff;
  }
  .main-menu-btn:not(.active):hover .default {
    display: none;
  }
  .main-menu-btn:not(.active):hover .hover {
    display: inline-block;
  }
  .main-nav #main-menu {
    left: unset;
    right: 100%;
  }
  .main-nav #main-menu.menuactive {
    right: 0;
    left: unset !important;
    width: 395.783px;
  }
}
.sm-clean {
  background: #C3D200;
  border-radius: 0 0 0 0;
  background: #C3D200;
  padding-bottom: 100px;
  overflow: auto;
  height: calc(100vh - 60px);
  color: #343E3B;
}
.sm-clean a, .sm-clean a:hover, .sm-clean a:focus, .sm-clean a:active {
  color: #121212;
  font-weight: normal;
  line-height: 1.2;
  text-decoration: none;
}
.sm-clean a.current, .sm-clean a.active {
  color: #121212;
}
.sm-clean > li:first-child {
  border-top: 0;
}
.sm-clean ul a, .sm-clean ul a:hover, .sm-clean ul a:focus, .sm-clean ul a:active {
  font-size: 18px;
}
.sm-clean ul ul a,
.sm-clean ul ul a:hover,
.sm-clean ul ul a:focus,
.sm-clean ul ul a:active {
  border-left: 1.5rem solid transparent;
}
.sm-clean ul ul ul a,
.sm-clean ul ul ul a:hover,
.sm-clean ul ul ul a:focus,
.sm-clean ul ul ul a:active {
  border-left: 2.25rem solid transparent;
}
.sm-clean ul ul ul ul a,
.sm-clean ul ul ul ul a:hover,
.sm-clean ul ul ul ul a:focus,
.sm-clean ul ul ul ul a:active {
  border-left: 3rem solid transparent;
}
.sm-clean ul ul ul ul ul a,
.sm-clean ul ul ul ul ul a:hover,
.sm-clean ul ul ul ul ul a:focus,
.sm-clean ul ul ul ul ul a:active {
  border-left: 3.75rem solid transparent;
}
.sm-clean a:hover, .sm-clean a:focus {
  color: #343E3B;
}

/*# sourceMappingURL=sm-clean.css.map */
