/* 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;
}

.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

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

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

/* BUVKO visual adaptation */
:root {
  --hamBg: #006699;
  --white2: #e6f4c1;
  --green2: #a6ce3b;
  --green3: #006699;
  --yellow: #b6e757;
  --green-light: #b6e757;
  --green-light-transparent: rgba(182, 231, 87, 0.9);
  --dark-light-transparent: rgba(0, 102, 153, 0.9);
  --buvko-blue: #006699;
  --buvko-medium-blue: #0055fe;
  --buvko-green: #a6ce3b;
  --buvko-light-green: #b6e757;
  --buvko-pale-green: #e6f4c1;
  --buvko-soft-blue: #d7ecfb;
}

body {
  color: #00364d;
  background-color: #fff;
}

a {
  color: var(--buvko-blue);
}

a:hover {
  color: var(--buvko-medium-blue);
}

.header-area {
  border-top: 14px solid transparent;
  border-image: repeating-linear-gradient(
      90deg,
      var(--buvko-green) 0 12.5%,
      #b2c732 12.5% 25%,
      #d7e1e8 25% 37.5%,
      var(--buvko-blue) 37.5% 50%
    )
    1;
  background: #fff;
}

.menu-left a img,
.mobile-logo a img {
  width: 14.75rem;
  max-height: 5.625rem;
  object-fit: contain;
}

.mobile-logo a img {
  width: 10.625rem;
}

.menu ul li a,
.home-menu a {
  color: var(--buvko-blue) !important;
}

.menu ul li a:hover,
.home-menu ul li:hover > a,
.home-menu ul li.current-page-ancestor > a,
.home-menu ul li.current-menu-ancestor > a,
.home-menu ul li.current-menu-parent > a,
.home-menu ul li.current_page_parent > a,
.home-menu ul li.current_page_ancestor > a,
.home-menu ul li.current-menu-item > a,
#menu ul li.current-page-ancestor > a,
#menu ul li.current-menu-ancestor > a,
#menu ul li.current-menu-parent > a,
#menu ul li.current_page_parent > a,
#menu ul li.current_page_ancestor > a,
#menu ul li.current-menu-item > a {
  color: var(--buvko-green) !important;
}

.home-menu {
  border-top-color: var(--buvko-blue);
  background: linear-gradient(180deg, #fff 0%, rgba(230, 244, 193, 0.5) 100%);
}

.home-menu a:after {
  background-color: var(--buvko-green) !important;
}

.banner-text {
  background: var(--dark-light-transparent);
  border-left: 0.5rem solid var(--buvko-light-green);
}

.banner-text h1,
.title h3,
.article-text h1,
.article-text h2,
.article-text h3 {
  color: var(--buvko-blue);
}

.banner-text h1,
.banner-text * {
  color: #fff !important;
}

.article-bg,
.current-area,
.maincontent .vc_row-has-fill {
  background-color: var(--buvko-pale-green);
}

.article-text .green-light,
.current-inner-card,
.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 {
  background-color: var(--buvko-light-green) !important;
  border-color: var(--buvko-light-green) !important;
  color: #00364d !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;
  border-color: var(--buvko-blue) !important;
  color: var(--buvko-blue) !important;
}

.vc_tta-accordion .vc_tta-panel,
.home-menu ul ul,
.article-menu ul li a:hover {
  border-color: var(--buvko-green) !important;
}

.demands-list,
.demands-list h5,
.article-text a,
.post-card-content a,
.current-card h3 {
  color: var(--buvko-blue);
}

.demands-list h5:before,
.fragen-inner {
  background-color: var(--buvko-green);
}

.footer-area {
  background-image: linear-gradient(135deg, var(--buvko-blue) 0%, #0076a8 52%, var(--buvko-green) 100%);
}

.footer-bttm {
  border-top-color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 767px) {
  .header-area {
    border-top-width: 10px;
  }

  .banner-area .background-image + .banner-text {
    margin: 1rem;
  }

  .banner-text {
    border-left-width: 0.375rem;
  }
}

.buvko-hero,
.buvko-section {
  max-width: 74rem;
  margin-left: auto;
  margin-right: auto;
}

.buvko-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(18rem, 1.15fr);
  gap: 2.5rem;
  align-items: center;
  padding: 3.5rem 0 4rem;
}

.buvko-hero h1 {
  margin: 0 0 0.75rem;
  color: var(--buvko-blue);
  font-size: var(--xxl);
  line-height: 1.08;
}

.buvko-kicker,
.buvko-lead {
  color: var(--buvko-blue);
  font-weight: 700;
}

.buvko-lead {
  font-size: var(--md);
}

.buvko-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.buvko-anchor-nav a {
  display: inline-block;
  padding: 0.65rem 1rem;
  background: var(--buvko-light-green);
  color: #00364d;
  font-weight: 700;
  text-decoration: none;
}

.buvko-anchor-nav a:hover {
  background: var(--buvko-blue);
  color: #fff;
}

.buvko-hero-media {
  display: grid;
  gap: 1rem;
}

.buvko-logo-illustration {
  max-height: 15rem;
  width: 100%;
  object-fit: contain;
  background: #fff;
}

.buvko-title-image,
.buvko-content-image {
  width: 100%;
  height: auto;
}

.buvko-section {
  padding: 3rem 0;
  border-top: 0.125rem solid rgba(0, 102, 153, 0.18);
}

.buvko-section h1,
.buvko-section h2,
.buvko-section h3 {
  color: var(--buvko-blue);
}

.buvko-section h2 {
  margin-bottom: 1.25rem;
}

.buvko-program-grid,
.buvko-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.buvko-program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.buvko-program article,
.buvko-highlight {
  background: var(--buvko-pale-green);
  padding: 1.5rem;
}

.buvko-program ul,
.buvko-two-columns ul {
  padding-left: 0;
}

.buvko-program li,
.buvko-two-columns li {
  list-style: none;
  margin-bottom: 0.75rem;
}

.buvko-program time {
  display: inline-block;
  min-width: 3.25rem;
  color: var(--buvko-blue);
  font-weight: 700;
}

.buvko-partners {
  background: linear-gradient(180deg, rgba(230, 244, 193, 0.6), rgba(215, 236, 251, 0.6));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (max-width: 991px) {
  .buvko-hero,
  .buvko-program-grid,
  .buvko-two-columns {
    grid-template-columns: 1fr;
  }
}
