/* img {
  width: 100%;
} */

.mobile-logo img,
.menu-left img {
  height: 100%;
}

/* accordion css*/

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-heading,
.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body {
  background-color: unset !important;
  background: unset !important;
  border: 0 !important;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-heading .vc_tta-controls-icon {
  display: none !important;
}

.vc_tta-accordion .vc_tta-panel-title>a {
  font-size: var(--md);
  font-weight: bold;
  line-height: 1.36;
  color: var(--black) !important;
  padding: 0 !important;

}

.vc_tta-accordion .vc_tta-panel {
  border-top: 0.0625rem solid var(--green2);
  position: relative;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-title > a:not(.vc_control-btn) {
  padding: 1.25rem !important;
  display: block !important;
}

body .vc_tta-accordion .vc_tta-panel .vc_tta-panel-body {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.vc_tta-accordion .vc_tta-panel:before,
.vc_tta-accordion .vc_tta-panel:after {
  content: "";
  position: absolute;
  top: 2.25rem;
  transition: all 0.5s;
  z-index: 0;
}

.vc_tta-accordion .vc_tta-panel:before {
  right: 0;
  width: 2.8125rem;
  height: 2.8125rem;
  margin-top: -1.4375rem;
  background-image: url("../img/arrow-down.svg");
  background-repeat: no-repeat;
  background-repeat: no-repeat;
}

.vc_tta-accordion .vc_tta-panel.vc_active:before {
  transform: rotate(180deg);
}

.vc_tta-accordion .vc_tta-panel:after {
  right: 1.3125rem;
  width: 0.875rem;
  height: 1.625rem;
  margin-top: -0.125rem;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body {
  padding: 0 !important;
  margin-top: 1.6875rem;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body ul {
  margin: 0;
  padding-left: 0.625rem;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body ul li {
  position: relative;
  padding-left: 0.75rem;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body ul li,
.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body p {
  font-size: var(--sm);
  font-weight: normal;
  line-height: 1.5;
  color: var(--black);
  list-style: none;
}

.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body ul li:before {
  position: absolute;
  content: "";
  width: 0.1875rem;
  height: 0.1875rem;
  background: var(--black);
  border-radius: 50%;
  left: 0;
  top: 10px;
}

.article-text {
  max-width: 43.75rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.article-text .green-light ul {
  margin-bottom: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
}

.article-text .green-light ul li {
  margin-right: 10px;
}

.article-text .green-light ul li a {
  font-size: var(--xs);
  font-weight: bold;
  color: var(--black);
  text-decoration: none;
}

#bg-bottom-left {
  background-position: bottom left !important;
  background-repeat: no-repeat !important;
}

.chart-left {
  width: unset;
}

.chart-inner {
  display: unset;
  justify-content: unset;
  flex-wrap: unset;
}

.bg-bottom {
  background-position: left bottom !important;
}

.demands-list {
  list-style: none;
  font-size: var(--xs);
  font-weight: bold;
  color: var(--green3);
  padding-bottom: 2.8125rem;
  display: flex;
  margin: 0 !important;
}

.demands-list h5 {
  font-size: var(--xxl);
  font-weight: bold;
  line-height: 1.18;
  color: var(--green3);
  max-width: 3.4375rem;
  width: 100%;
  text-align: right;
  margin-bottom: 0;
  margin-top: -2.25rem;
  position: relative;
  z-index: 1;
}

.demands-list h5:before {
  position: absolute;
  content: "";
  width: 6.5625rem;
  height: 0.9375rem;
  background-color: var(--green-light);
  left: -3.0625rem;
  top: 2.375rem;
  z-index: -1;
}

.demands-list p {
  padding-left: 0.9375rem;
  margin: 0;
}

.bg-top-left {
  background-position: 51px -175px !important;
}

.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
  border: none !important;
}

.chart-container .chart-holder {
  display: flex;
  flex: 1;
}

.chart-container .chart-holder > * {
  flex: 1;
  max-width: 50%;
}

.chart-container .chart-holder > canvas {
  margin-right: 20px;
}

.button_green,
.vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern,
.header .menu ul li:nth-last-child(2) > a,
#menu .menu-section > ul:first-child li:nth-last-child(2) > a,
body main .wpforms-form input[type=submit],
body main .wpforms-form button[type=submit],
body main .wpforms-form .wpforms-page-next,
body main .wpforms-form .wpforms-page-prev {
  height: auto !important;
  font-size: var(--sm) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: var(--black) !important;
  padding: 0.625rem 1.0625rem !important;
  border: 0.125rem solid var(--green-light) !important;
  background-color: var(--green-light) !important;
  border-radius: 0 !important;
  background-image: none !important;
}

body main .wpforms-form .wpforms-page-prev {
  background-color: var(--white) !important;
  border-color: var(--black) !important;
}

.button_green:hover,
.vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover,
.header .menu ul li:nth-last-child(2):hover > a,
body main .wpforms-form input[type=submit]:hover,
body main .wpforms-form button[type=submit]:hover,
body main .wpforms-form .wpforms-page-next:hover {
  background-color: #fff !important;
  color: var(--black) !important;
}

body main .wpforms-form .wpforms-page-prev:hover {
  border-color: var(--green-light) !important;
}

.vc_general.vc_btn3 {
	text-align: left;
}

.maincontent ul,
.maincontent ol {
	padding-left: 20px;
}

.team-karte {
  display: flex;
  flex-direction: row;
  align-items: center;

  margin-bottom: 35px;
}

.team-karte .team-karte-bild {
  margin-right: 20px;
}

.team-karte .team-karte-bild img {
  display: block;
  width: 200px;
}

.team-karte .team-karte-inhalt > * {
  display: block;
}

.team-karte .team-karte-inhalt > strong {
  font-size: var(--md2);
}

.team-karte .team-karte-inhalt > p {
	white-space: pre-wrap;
}

.team-karte .team-karte-inhalt > a {
  color: #000;
}

.team-karte .team-karte-inhalt > a + .dritter-link {
  margin-top: 10px;
  font-weight: bold;
}

.team-karte .team-karte-inhalt > a.erster-link,
.team-karte .team-karte-inhalt > a.zweiter-link {
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
}

.team-karte .team-karte-inhalt > a.erster-link:before,
.team-karte .team-karte-inhalt > a.zweiter-link:before {
  color: var(--white);
  aspect-ratio: 1;
  height: 24px;
  text-align: center;

  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

  border-radius: 100%;
  background-color: var(--green3);

  font-size: 1em;
  text-rendering: optimizelegibility;

  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.team-karte .team-karte-inhalt > a.erster-link:before {
  content: "\f0e0";
}

.team-karte .team-karte-inhalt > a.zweiter-link:before {
  content: "\f879";
}

.compose-mode .vc_controls>.vc_controls-out-tr {
  right: unset !important;
}

/* Make the parent menu act like a table */
.vc_wp_custommenu.wpb_content_element ul {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;

    position: relative !important;
    top: unset !important;
    left: unset !important;
    right: unset !important;
    bottom: unset !important;
}

/* Make each list item act like a table row */
.vc_wp_custommenu.wpb_content_element ul > li {
    display: table-row !important;
    border-bottom: 1px solid #ccc !important; /* Optional: Adds a separator between rows */
}

.vc_wp_custommenu.wpb_content_element ul ul > li:last-child {
  border-bottom: 0 !important;
}

/* Style the child menus as nested rows */
.vc_wp_custommenu.wpb_content_element ul ul {
    display: table-row-group !important; /* Allows child items to align under their parent */
}

/* Style each link (parent or child) as a cell */
.vc_wp_custommenu.wpb_content_element ul li a {
    border: 0 !important;
    display: table-cell !important;
    padding: 10px !important;
    text-align: left !important; /* Align text to the left */
    vertical-align: top !important;
    width: 25% !important; /* Divide evenly into 4 columns */
    border-right: 1px solid #ccc !important; /* Optional: Adds a vertical separator between columns */
    color: var(--black) !important;
    font-weight: normal !important;

    background: none !important;
}

.vc_wp_custommenu.wpb_content_element ul li a:after {
    content: none !important;
}

.vc_wp_custommenu.wpb_content_element ul li:hover > a {
    background-color: var(--green-light) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

/* Remove the border from the last column */
.vc_wp_custommenu.wpb_content_element ul li a:last-child {
    border-right: none !important;
}

/* Optional: Indent child menu items for hierarchy */
.vc_wp_custommenu.wpb_content_element ul ul.sub-menu li a {
    padding-left: 20px !important; /* Indent child items */
}

.vc-hoverbox-wrapper {
    margin-bottom: 22px;
}

.vc_btn3-inline {
    margin-right: 20px;
}

.wb-child-pages-cards {
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
}

.wb-child-pages-cards > .article-card {
  width: calc(33% - 16px);
}

.wb-child-pages-cards > .article-card > .article-inner-card {
  height: 100%;
}

.single-image-holder {
  position: relative;
}

.single-image-holder .img-source {
  position: absolute;
  right: 0;

  background-color: #fff;
  padding: 5px 10px;

  max-width: 300px;
}

.single-image-holder .img-source span {
  font-size: 80%;
}

/* Hide the search form by default */
.menu-item-search .search-form-container {
    display: none;
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    background: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

/* Style the search field and button */
.menu-item-search .search-form {
    display: flex;
    padding: 10px;
}

.menu-item-search .search-field {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-right: none;
}

.menu-item-search .search-submit {
    padding: 10px;
    background: var(--green-light);
    color: var(--black);
    border: 1px solid var(--green-light);
    cursor: pointer;
}

/* Show the search form when active */
.menu-item-search.active .search-form-container {
    display: block;
}

/* Style the search toggle icon */
.menu-item-search .search-toggle {
    cursor: pointer;
    color: #333;
    font-size: 18px;
}

body.search .maincontent h1 {
    margin-bottom: 25px;
}

body.search .maincontent form {
    margin-bottom: 25px;
}

body.search .maincontent article {
    margin-bottom: 50px;
}

body.search .maincontent article a {
  color: var(--hamBg);
}

.maincontent .menu ul {
  z-index: unset;
}

.wb-media-link {
  position: relative;
  display: block;
  margin-bottom: 20px;
}

.wb-media-link img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.wb-media-link .wb-media-link-text-title {
  overflow: hidden;
  transition: height 0.3s ease;

  position: absolute;
  bottom: 0;
  left: 0;

  width: 100%;
  height: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  background-color: #4f4f4f;
  color: #fff;

  font-size: 30px;
}

.wb-media-link:hover > .wb-media-link-text-title {
  height: 100%;
}

.header > .menu .menu-item-search {
  display: none !important;
}

#menu {
  padding-top: 100px;
  padding-bottom: 100px;
}

#menu ul {
  padding: 0 0.625rem;
}

#menu > section > ul {
  margin-bottom: 3rem;
}

#menu ul li.menu-item-search {
  display: none !important;
}

#menu .menu-section > ul:first-child li.menu-item-search {
  display: block !important;
  margin-top: 1rem !important;
}

#menu .menu-section > ul:first-child .search-toggle {
  display: none !important;
}

#menu ul li.menu-item-search > .search-form-container {
  display: block !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: unset !important;
  box-shadow: unset !important;
}

#menu .menu-toggle {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 100%;
}

#menu ul li.menu-item-open > ul {
  display: block !important;
}

#menu ul li.menu-item-has-children > a {
  padding-right: 30px !important;
}

.not-found-404-page {
  padding-top: 70px;
  padding-bottom: 100px;
}

.not-found-404-page,
.not-found-404-page * {
  text-align: center !important;
}

.not-found-404-page img {
  max-width: 100%;
  width: 350px;
}

.inline {
  display: inline-block !important;
}

.w-103 {
  width: 103px !important;
}

.home-menu ul ul {
  padding: 0;
}

.home-menu a {
  white-space: nowrap;
}

.home-menu ul ul a {
  padding-top: 7px;
  padding-bottom: 7px;
}

.wb-barriere-freiheit-holder {
  position: fixed;
  right: 10px;
  top: 100px;
}

body.admin-bar .wb-barriere-freiheit-holder {
  top: 132px;
}

@media (max-width: 1199px) {
  .demands-list {
    width: calc(100% - 35px);
  }

  .demands-list p {
    padding-left: 1.5rem;
  }
}
