@font-face {
  font-family: 'Abel';
  src: url('/fonts/Abel-Regular.woff2') format('woff2'),
    url('/fonts/Abel-Regular.woff') format('woff'),
    url('/fonts/Abel-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

h1, h2, h2 a:link, h2 a:visited, h3 {
  font-family: 'Abel' !important;
}

h4 {
  font-family: 'Abel' !important;
}

.hornav, .hornav ul ul, .hornav ul ul a {
  font-family: 'Abel' !important;
}

body {
  line-height: 1.3;
  font-family: 'Abel' !important;
  hyphens: auto !important;
}

.mobilemenu {
  display: none;
}

joomla-hidden-mail a {
  text-decoration: none;
  color: #000 !important;
}

/*-------------Vertical Menu-------------*/
.sm-parent {
  display: flex;
}

.mobilemenu .menu-icon3 {
  margin: 0 !important;
}

.sm-filter-cont {
  display: none;
}

.sm-close .menu-icon3 span {
  background: #fff !important;
}

.sm-open-111 .sm-pusher:after {
  opacity: 0.6 !important;
}

.off-menu_111.sm-tree .opened svg {
  transform: unset !important;
}

.off-menu_111.sm-tree .level1.opened>.sm-arrow>svg {
  transform: rotateZ(90deg) !important;
}

.off-menu_111.sm-tree .level2.opened svg {
  transform: rotateZ(90deg) !important;
}

.off-menu_111 dl.level3 dt {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.sm-level>.level1 {
  height: 100dvh;
}

.level2.off-nav-190.notparent a {
  color: #da1271 !important;
}

.sm-bottom {
  display: block !important;
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 1.5em !important;
  border: unset !important;
}

.sm-bottom img {
  height: 2em;
  width: 2em;
  transition: all 200ms ease-in-out;
}

.sm-bottom img:hover {
  opacity: 0.3;
}

.vert-kontakt {
  display: flex;
  justify-content: center;
  gap: 1em;
}

/*
.sm-open-111 .cc-revoke {
  display: none;
}*/
/*--------------Convertforms-------------*/
#cf_1, .convertforms .cf-label {
  --input-size: 0.9em !important;
  --label-size: 0.9em;
}

.convertforms .cf-btn {
  font-size: inherit !important;
  text-transform: uppercase;
  border: 2px solid #000 !important;
  transition: all 0.2s ease-in-out;
}

.convertforms .cf-btn:hover {
  opacity: 1 !important;
  color: #000;
  background: #fff;
}

.convertforms .pflichtfeld {
  font-size: 0.9em;
}

.convertforms .cf-content-wrap, .convertforms .cf-form-wrap {
  padding: 0 !important;
}

/*-------------------GDPR-----------------*/
div.cc-window.cc-floating {
  padding: 0 !important;
}

.cc-floating.cc-theme-edgeless .cc-message {
  margin: 0 !important;
  padding: 1.5em;
}

.cc-window.cc-floating.cc-type-opt-in.cc-theme-edgeless a {
  color: #ffffff !important;
  text-decoration: none !important;
  margin: unset !important;
  opacity: 1 !important;
}

.cc-btn {
  padding: 1em !important;
  margin: 0 !important;
}

.cc-btn.cc-deny:hover, .cc-btn.cc-deny:focus {
  border-color: rgb(51, 51, 51) !important;
}

.cc-window.cc-floating.cc-type-opt-in.cc-theme-edgeless a {
  color: #ffffff !important;
}

.cc-compliance.cc-highlight a.cc-btn.cc-allow {
  color: #000000 !important;
}

.cc-revoke.cc-left {
  left: -20px !important;
  right: auto;
  transform: rotate(90deg);
  bottom: 70px !important;
  text-decoration: none !important;
  border: 1px solid #fff;
}

.cc-revoke:hover {
  transform: rotate(90deg) !important;
}

.cc-revoke img {
  width: 50px;
  height: 100px;
}

.powr-social-feed:before {
  content: 'Sie müssen Cookies akzeptieren und die Seite neu laden, um diesen Inhalt anzuzeigen';
  left: 0;
  right: 0;
  position: absolute;
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: 0;
  background-color: #dfdfdf;
}

.powr-social-feed.powrLoaded:before {
  display: none;
}

/*----------------Header--------------*/
#container_header-sticky-wrapper {
  position: sticky;
}

.container_header:after {
  display: none;
}

.container_header {
  padding-top: 0px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.04), 0 4px 4px rgba(0, 0, 0, 0.05), 0 4px 8px rgba(0, 0, 0, 0.05);
}

:root {
  --headerheight: 120px;
}

#header_main {
  justify-content: space-between;
  padding: 0 2em;
  height: var(--headerheight);
}

/*--------------Logo-------------*/
#logo.logo {
  flex: unset !important;
  padding: unset !important;
}

#logo img {
  max-width: 200px;
}

/*------------Hornav-------------*/
#hornav-nav.hornav {
  flex: unset;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
}

#hornav-nav ul {
  background: #fff !important;
}

#hornav-nav li {
  box-shadow: unset !important;
}

/*1st layer*/
#hornav-nav>ul.menu>li {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: unset;
}

#hornav-nav>ul.menu>li>a, .hornav>ul.menu>li>span {
  font-size: 1em;
  line-height: 1;
  padding: 0 1em !important;
  color: #000 !important;
  width: max-content;
  text-transform: uppercase;
  transition: all 200ms ease-in-out;
}

#hornav-nav>ul.menu>li>a:hover, .hornav>ul.menu>li:hover>span {
  color: #999 !important;
}

/*2nd layer*/
#hornav-nav>ul.menu>li>ul.mod-menu__sub {
  border-radius: 0;
  top: var(--headerheight);
  left: 0;
  min-width: 660px;
  width: 100%;
  transform: unset !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.04), 0 4px 4px rgba(0, 0, 0, 0.05), 0 4px 8px rgba(0, 0, 0, 0.05);
  padding: 1em !important;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li {
  margin-bottom: 1em;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li.deeper.parent {
  margin-bottom: unset;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li>span {
  font-weight: bold;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li>a {
  line-height: 1;
  font-weight: bold;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li:last-of-type>a {
  margin-bottom: 1em;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li>a:hover {
  color: #999 !important
}

#hornav-nav li.nav-item.item-190 {
  background: #f5cbe1;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li.nav-item.item-190>a {
  background: #da1271;
  color: #fff !important;
  font-weight: bold;
  width: 64px;
  transition: all 200ms ease-in-out;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub>li.nav-item.item-190>a:hover {
  width: 100%;
}

/*3rd layer*/
#hornav-nav>ul.menu>li>ul.mod-menu__sub ul.mod-menu__sub {
  position: relative;
  left: unset;
  margin: 0 !important;
  padding: 0 !important;
  transform: unset !important;
  border-radius: 0 !important;
  box-shadow: unset !important;
}

#hornav-nav>ul.menu>li:hover>ul.mod-menu__sub ul.mod-menu__sub {
  opacity: 1 !important;
  visibility: visible !important;
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub ul.mod-menu__sub>li>a {
  line-height: 1
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub ul.mod-menu__sub>li>a:hover {
  color: #999 !important
}

#hornav-nav>ul.menu>li>ul.mod-menu__sub ul.mod-menu__sub>li:last-of-type>a {
  margin-bottom: 1em;
}

/*---------------Kontakt oben-------------*/
.kontaktoben>*>div {
  display: flex;
  gap: 0.5em;
}

.kontaktoben img {
  width: 1.8em;
  transition: all 200ms ease-in-out;
}

.kontaktoben img:hover {
  opacity: 0.3;
}

/*-------------------Showcase--------------*/
.showcaseoverlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}

#mod-custom121 {
  position: absolute;
  top: 2em;
  right: 2em;
  width: fit-content;
  overflow: hidden;
  pointer-events: all;
  transition: all 330ms ease-in-out;
}

#mod-custom121 .circle-text-container {
  position: relative;
  width: 200px;
  height: 200px;
}

#mod-custom121 .circle-text-container img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 140px;
  height: 140px;
  display: block;
  border-radius: 100%;
  margin: auto;
}

/* SVG kreisförmiger Text
#mod-custom121 .circle-text-container svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: rotateText 17s linear infinite;
  pointer-events: none;
}

@keyframes rotateText {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

#mod-custom121 .circle-text-container text {
  font-size: 0.8em;
  letter-spacing: 5px;
  fill: #fff;
}*/
.uk-scope ul.uk-slideshow-items {
  height: calc(100dvh - var(--headerheight));
}

.produktslider-container {
  display: flex;
  gap: 2em;
}

.produktslider-container .bild {
  -webkit-transform: translateX(-2000px);
  transform: translateX(-2000px);
  opacity: 0;
  transition: .3s ease-in-out;
}

li.uk-slide-active .produktslider-container .bild {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.produktslider-container .beschreibung {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.produktslider-container .bild img {
  max-width: 350px;
  margin-bottom: 1em;
}

.produktslider-container .beschreibung strong {
  font-size: 2em;
}

.produktslider-container .beschreibung p {
  text-align: left;
  margin: 0;
  font-size: 1.5em;
  color: #fff !important;
}

.uk-button.uk-button-primary {
  text-transform: uppercase;
  padding: 0.25em 0.5em;
  transition: all 0.2s ease-in-out;
  font-size: inherit !important;
  color: #000 !important;
  background: #fff !important;
  border: 2px solid #fff !important;
}

/*---------------Main Content--------------*/
.itemid-101 #container_main {
  display: none;
}

.page-header h1 {
  text-transform: uppercase;
  font-weight: bold;
}

.uk-scope {
  color: #000 !important;
  font-size: 1em !important;
}

.uk-scope h3 {
  font-size: 1.2em !important;
  color: #000 !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
}

/*------------FAQ------------*/
.uk-scope .faq a.uk-accordion-title {
  color: #000;
  font-size: 1.2em;
  position: relative;
  padding-right: 25px;
}

.uk-scope .faq a.uk-accordion-title:hover {
  color: #999;
}

.uk-scope .faq li {
  padding: 0.5em;
  border: 1px solid #ddd;
  background: #f5f5f5;
}

.uk-scope .faq p {
  margin: 0;
}

.uk-scope .faq li.uk-open a.uk-accordion-title {
  color: #000 !important;
}

.uk-scope .faq li.uk-open a.uk-accordion-title::before {
  opacity: 1 !important;
}

.uk-scope .faq a.uk-accordion-title::before {
  width: 0.6em !important;
  height: 0.6em !important;
  background-image: url(/images/icons/arrow-down.svg) !important;
  background-size: 1em;
  transition: all 0.2s ease-out;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.uk-scope .faq a.uk-accordion-title:hover::before {
  opacity: 0.5;
}

.uk-scope .faq .uk-open a.uk-accordion-title::before {
  transform: translateY(-50%) scale(-1);
}

.uk-scope .faq .uk-margin a {
  color: #000;
  text-decoration: underline;
}

.uk-scope .faq .uk-margin a:hover {
  color: #999;
}

/*------------Produkte-------------*/
.produkt-grid {
  border: 1px solid #ddd;
  padding: 0.5em;
  margin-bottom: 1em;
  overflow: hidden;
}

.artikel-titel h2 {
  font-size: 1.5em;
  margin-bottom: 0.5em;
}

.produkt-grid .item.bild {
  max-width: 400px;
  margin: auto;
}

.produkt-grid .item.produktdetails {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  z-index: 1;
}

.produkt-grid .item.preis {
  font-weight: bold;
  font-size: 1.4em;
}

.produkt-grid .mwst {
  font-size: 14px;
}

.produkt-grid button.produktanfrage {
  width: 100%;
  text-transform: uppercase;
  margin-top: 0.5em;
  padding: 0.25em 0.5em;
  transition: all 0.2s ease-in-out;
  border: 2px solid #000;
}

.produkt-grid button.produktanfrage:hover {
  background: #fff;
  color: #000;
}

.produkt-grid .item.produktdetails {
  background: #fff;
  margin-top: 1em;
}

.glightbox-clean .gslide-media {
  -webkit-box-shadow: unset !important;
  box-shadow: unset !important;
}

.item.video {
  max-width: 400px;
  margin: auto;
}

/*-----Accordion--------------*/
.accordion-container {
  border: 1px solid #ddd;
  max-width: 800px;
  margin-bottom: 20px;
  background: #f5f5f5;
}

.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*cursor: pointer;*/
  padding: 0.25em 0.5em;
}

.accordion-header h3 {
  margin: 0;
  font-size: 0.8em;
}

.accordion-icon {
  display: none;
  font-size: 1.5em;
  transition: transform 0.3s ease;
}

.accordion-content {
  /*Akkordeon: max-height: 0;  transition: max-height 0.4s ease;*/
  overflow: hidden;
  background: #f5f5f5;
  padding: 0.5em;
  font-size: 0.8em;
}

.accordion-content p {
  margin: 15px 0;
}

.accordion-content ul {
  margin: 0;
  list-style-type: "✔ ";
}

.accordion-content li {
  line-height: 1.3;
}

.accordion-content.open {
  padding-bottom: 15px;
}

/*--------------------Base 1---------------*/
#container_base1_modules .wrapper960 {
  width: 100%;
}

.googlemaps>*>*>div {
  line-height: 0;
}

.googlemaps iframe {
  width: 100%;
  max-height: 450px;
}

/*--------------------Base 2---------------*/
#container_base2_modules .wrapper960 {
  width: 90% !important;
}

.base-2a .module_surround {
  padding: 0 !important;
  padding-top: 2em !important;
}

.base-2a p {
  display: flex;
  gap: 0.5em;
  margin-bottom: 0.5em;
  color: #fff;
  align-items: center;
}

/*--------------------Footer---------------*/
.itemid-101 #container_footer {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  background: unset;
  pointer-events: none;
}

.itemid-101 #container_footer .footermenu {
  pointer-events: all;
}

.container_footer .wrapper960 {
  width: 95% !important;
  padding: 1.2em !important;
}

.footermenu ul {
  line-height: 1;
}

.footermenu a {
  padding: 0 !important;
  font-size: 0.8em;
  color: #fff !important;
}

.footermenu a:hover {
  color: #bbb !important
}

.footermenu a:hover img {
  opacity: 0.7;
}

.footermenu ul li a:after, .footermenu ul li span:after {
  content: " | ";
  font-size: 1em;
  margin: 0 0.5em;
  color: #fff !important;
}

.footermenu ul li a:hover {
  text-decoration: none;
}

.footermenu img {
  width: 1.2em;
}

/*-----Back 2 Top.-----*/
.back-to-top {
  background: #fff !important;
  border-radius: 100% !important;
  box-shadow: 0px 0px 5px #868681;
  right: 1em;
  bottom: 0.75em;
  width: 45px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}

.back-to-top svg {
  fill: #000;
}

/*---------------Mobile Footer--------------*/
.mobilefooter {
  display: none;
  text-align: center;
  background-color: #cf1;
  width: 100%;
}

.mobilefooter p {
  margin-bottom: 0px;
}

/*------------Medien---------------*/
@media only screen and (max-width: 1200px) {
  body {
    font-size: 20px !important;
  }

  :root {
    --headerheight: 90px;
  }

  #logo img {
    max-width: 150px;
  }
}

@media only screen and (max-width: 1024px) {
  .produktslider-container {
    flex-direction: column;
    align-items: center;
    gap: 1em;
  }

  .produktslider-container .beschreibung {
    display: block;
  }

  .produktslider-container .beschreibung p {
    text-align: center
  }

  #mod-custom121 {
    scale: 0.8;
    top: 0em;
    right: 0em;
  }
}

@media only screen and (max-width: 959px) {
  .kontaktoben {
    display: none;
  }

  .mobilemenu {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 18px !important;
  }

  .itemid-101 #container_footer {
    display: none;
  }

  .sm-container>#off-menu_111 {
    max-width: 60dvw !important;
  }

  #mod-custom121 {
    scale: 0.6;
    top: -2em;
    right: -2em;
  }

  .produktslider-container .bild img {
    max-width: 200px;
  }

  .item.video, .item.bild {
    max-width: 300px !important;
  }

  .produktslider-container .beschreibung strong {
    font-size: 1.5em;
  }
}

@media only screen and (max-width: 690px) {
  .item.video, .item.bild {
    max-width: 250px !important;
  }
}

@media only screen and (max-width: 576px) {
  .sm-container>#off-menu_111 {
    max-width: 85vw !important;
  }

  .base-2a img {
    height: 1.5em;
  }

  .base-2a p {
    gap: unset;
  }
}

@media only screen and (max-width: 425px) {
  #logo img {
    max-width: 120px;
  }
}