/*!
 * Mmenu Light
 * mmenujs.com/mmenu-light
 * Version 3.2.2
 * Copyright (c) Fred Heusschen
 * www.frebsite.nl
 *
 * License: CC-BY-4.0
 * http://creativecommons.org/licenses/by/4.0/
 */

#mobile_menu {
  display:block;
}

#menu_closer {
  cursor:pointer;
  width:30px;
  height:30px;
  background: var(--toggle_menu_closer_bg, #eee);
  color: var(--toggle_menu_closer_color, #555);
  position:relative;
  margin-left:auto;
  font-size:20px;
  line-height:30px;
  text-align:center;
  border-radius:4px;
}

body.mm-ocd-opened {
  overflow-y: hidden;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}
.mm-ocd {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 100%;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  background: rgba(0, 0, 0, 0);
  -webkit-transition-property: bottom, background-color;
  -o-transition-property: bottom, background-color;
  transition-property: bottom, background-color;
  -webkit-transition-duration: 0s, 0.3s;
  -o-transition-duration: 0s, 0.3s;
  transition-duration: 0s, 0.3s;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0.45s, 0.15s;
  -o-transition-delay: 0.45s, 0.15s;
  transition-delay: 0.45s, 0.15s;
}
.mm-ocd--open {
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.mm-ocd__content {
  padding: 10px 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width:100%;
  min-width:200px;
  max-width:440px;
  background:#fafafa;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}
.mm-ocd--left .mm-ocd__content {
  left: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.mm-ocd--right .mm-ocd__content {
  right: 0;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.mm-ocd--open .mm-ocd__content {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.mm-ocd__backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width:calc(100% - 80%);
  min-width:calc(100% - 440px);
  max-width:calc(100% - 200px);
  background: rgba(3, 2, 1, 0);
}
.mm-ocd--left .mm-ocd__backdrop {
  right: 0;
}
.mm-ocd--right .mm-ocd__backdrop {
  left: 0;
}
.mm-spn,
.mm-spn a,
.mm-spn li,
.mm-spn span,
.mm-spn ul {
  display: block;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.mm-spn li .fa-solid,
.mm-spn li .fa-regular {
  margin: 0 8px 0 0;
}
.mm-spn {
  width: 100%;
  height: 100%;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
.mm-spn ul {
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  left: 100%;
  bottom: 0;
  z-index: 2;
  width:130%;
  padding-right:30%;
  line-height:18px;
  overflow: visible;
  overflow-y: auto;
  background: inherit;
  -webkit-transition: left 0.3s ease 0s;
  -o-transition: left 0.3s ease 0s;
  transition: left 0.3s ease 0s;
  cursor: default;
}

.mm-spn > ul {
  left: 0;
}
.mm-spn ul.mm-spn--open {
  left: 0;
}
.mm-spn ul.mm-spn--parent {
  left:-30%;
  overflow: visible;
}
.mm-spn li {
  position: relative;
  background: inherit;
  cursor: pointer;
}

.mm-spn li:after {
  content:'';
  display: block;
  margin-left:0px;
  border-top: 1px solid #d9d9d9;
}
.mm-spn a,
.mm-spn span {
  position: relative;
  z-index: 1;
  padding:12px 15px 12px 2px;
}
.mm-spn a {
  background: inherit;
  color: #fff;
  text-decoration: none;
}
.mm-spn a:not(:last-child) {
  pointer-events: none !important;
}
.mm-spn a:not(:last-child):after {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  border-right:0px solid;
  opacity: 0.15;
}
.mm-spn span {
  background: 0 0;
}
.mm-spn.mm-spn--navbar {
  cursor: pointer;
}
.mm-spn.mm-spn--navbar:before {
  content:'';
  display: block;
  position: absolute;
  top:60px;
  left:20px;
  width: 10px;
  height: 10px;
  margin-top: 2px;
  border-top: 2px solid;
  border-left: 2px solid;
  -webkit-transform: rotate(-45deg) translate(50%, -50%);
  -ms-transform: rotate(-45deg) translate(50%, -50%);
  transform: rotate(-45deg) translate(50%, -50%);
  opacity:0.8;
  z-index:2;
}
.mm-spn.mm-spn--navbar.mm-spn--main {
  cursor: default;
}
.mm-spn.mm-spn--navbar.mm-spn--main:before {
  content: none;
  display: none;
}

.mm-spn.mm-spn--navbar.mm-spn--main:after {
  padding-left:20px;
}
.mm-spn.mm-spn--navbar ul {
  top:90px;
}
.mm-spn.mm-spn--navbar ul:before {
  content:'';
  display: block;
  position: fixed;
  top: inherit;
  z-index: 2;
  width: 100%;
  border-top: 1px solid #d9d9d9;
}
.mm-spn.mm-spn--light {
  color: #444;
  background:#fafafa;
  font-weight:400;
}
.mm-spn.mm-spn--dark {
  color: #ddd;
  background: #333;
  font-weight:400;
}
.mm-spn.mm-spn--vertical {
  overflow-y: auto;
}
.mm-spn.mm-spn--vertical ul {
  width: 100%;
  padding-right: 0;
  position: static;
}
.mm-spn.mm-spn--vertical ul ul {
  display: none;
}

.mm-spn.mm-spn--vertical ul.mm-spn--open {
  display: block;
}
.mm-spn.mm-spn--vertical li.mm-spn--open:before {
  -webkit-transform: rotate(135deg) translate(-50%, 0);
  -ms-transform: rotate(135deg) translate(-50%, 0);
  transform: rotate(135deg) translate(-50%, 0);
}
.mm-spn.mm-spn--vertical ul ul li:last-child:after {
  content: none;
  display: none;
}

.mm-spn--open .active1 > a,
.mm-spn--open .activeparent1 > a {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
}
.mm-spn--open .active2 > a,
.mm-spn--open .activeparent2 > a {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
}
.mm-spn--open .active3 > a,
.mm-spn--open .activeparent3 > a {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
}
.mm-spn--open .active4 > a,
.mm-spn--open .activeparent4 > a {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
}
.mm-spn--open .active5 > a,
.mm-spn--open .activeparent5 > a {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
}
.mm-spn--open li.level_manu > a > strong {
  color: var(--mobilemenu_color_selected, #222);
  font-weight:400 !important;
} 
.admin_mode .mm-ocd {
  top:36px !important;
}

.mm-ocd .level1 > a,
.mm-ocd .level1 > span.nolink {
  text-transform:uppercase;
  font-weight:400;
  font-size:12px;
}

.mm-ocd span.counts {
  display: inline;
  padding: 0 0 0 5px;
  font-size: 12px;
  line-height: 12px;
  font-weight:400;
}
.mm-ocd .sub_cats_arrow {
  display:none;
}
.mm-ocd .overview {
  font-weight: 400;
  font-size: 12px;
  line-height:16px;
  text-transform: uppercase;
}





/* mentis */

.mm-spn.mm-spn--navbar ul::before {
  border-top: none !important;
}

.mm-spn.mm-spn--navbar:after { 
  text-align: left !important;
  background: #009640 !important;
  border-radius: 0 !important;
  color: #fff;
  padding-left: 15px !important;
  top: 45px !important;
}

.mm-spn li {
  position: relative;
  cursor: pointer;
}

.mm-spn li::before {
  display: none;
}





.mm-spn a, .mm-spn span {
  position: relative;
  z-index: 1;
  padding: 12px 15px 12px 15px !important;
}


/* mentis - Mobile Menü an Desktop-Kategoriebaum angleichen */

.mm-spn.mm-spn--vertical li:before {
  display: none;
}

.mm-spn.mm-spn--vertical li:after {
  border-top: none;
}

/* Level 1 */
.mm-spn.mm-spn--vertical li.level1 > a {
  background: #005993;
  color: #fff;
  font-size: 16px;
  padding: 12px 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 3px;
}

.mm-spn.mm-spn--vertical li.level1 > a:hover {
  background: #003A60;
}

.mm-spn.mm-spn--vertical li.active1 > a,
.mm-spn.mm-spn--vertical li.activeparent1 > a {
  background: #003A60;
  color: #fff;
}

/* Level 2 */
.mm-spn.mm-spn--vertical li.level2 > a {
  background: #ccc;
  color: #000;
  margin-left: 10px;
  margin-top: 3px;
  font-size: 16px;
  text-transform: none;
  letter-spacing: normal;
}

.mm-spn.mm-spn--vertical li.level2 > a:hover {
  background: #8e8e8e;
  color: #fff;
}

.mm-spn.mm-spn--vertical li.active2 > a,
.mm-spn.mm-spn--vertical li.activeparent2 > a {
  background: #8e8e8e;
  color: #fff;
}

/* Level 3 */
.mm-spn.mm-spn--vertical li.level3 > a {
  background: #ccc;
  color: #000;
  margin-left: 20px;
  font-size: 14px;
  text-transform: none;
  letter-spacing: normal;
}

.mm-spn.mm-spn--vertical li.level3 > a:hover {
  background: #8e8e8e;
  color: #fff;
}

.mm-spn.mm-spn--vertical li.active3 > a,
.mm-spn.mm-spn--vertical li.activeparent3 > a {
  background: #8e8e8e;
  color: #fff;
}

/* Selected */
.mm-spn.mm-spn--vertical li.Selected > a {
  color: #fff;
  font-weight: normal;
}

.mm-spn.mm-spn--vertical li.Selected li.level2 > a {
  color: #000;
  text-transform: uppercase;
  margin-top: 3px;
}


/* mentis - Sprachen und Website-Link im Mobile Menü */
.mm-ocd .col_languages {
  padding: 40px 0 10px;
  text-align: center;
  display: block;
}

.mm-ocd .col_languages .lang-flags {
  display: flex;
  justify-content: center;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.mm-ocd .col_languages .lang-flags__item {
  display: inline-block;
}

.mm-ocd .col_languages .lang-flags__link {
  display: block;
  padding: 4px;
  border-radius: 3px;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.mm-ocd .col_languages .lang-flags__link:hover,
.mm-ocd .col_languages .lang-flags__link.is-active {
  opacity: 1;
}

.mm-ocd .col_cms {
  text-align: center;
  padding: 10px 0 20px;
  display: none;
}
.mm-ocd .col_cms a::before {
  position: relative;
}
.mm-ocd .col_cms a {
  color: #eeeeee;
  text-decoration: none;
  font-size: 14px;
}

.mm-ocd .col_cms a:hover {
  color: #d6d6d6;
}

.mm-ocd .col_cms a .fa {
  margin-right: 6px;
}