#overlay { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, 0.3); z-index: 1; opacity: 0; visibility: hidden;
  transition: all 400ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s; max-width: 100vw;}

#overlay.visible { visibility: visible; opacity: 1;}

@media only screen and (min-width: 992px) {
  #overlay { visibility: hidden; opacity: 0;}
}

.header { margin: 0 auto 60px;}

.header-image { object-fit: cover;}

@media only screen and (max-width: 575px) {
  .header-image{ padding: 0;}
}

.breadcrumb { margin: auto 0; min-height: 60px;}

.breadcrumb-wrapper { padding-top: 18px; padding-bottom: 18px;}

.breadcrumb-previous,
.breadcrumb-current { padding: 0;}

.breadcrumb-previous { margin-right: 5px;}

.breadcrumb-current { margin-left: 5px;}

.breadcrumb .article-nav { margin-top: 15px;}

.breadcrumb-links a, .breadcrumb-wrapper .article-nav span { border-bottom: none; font-size: var(--desktop-copy-small-font-size);}

@media only screen and (min-width: 768px) { 
  .breadcrumb .article-nav { margin-top: 0; }
}

.horizontal-break { height: 1px; width: 100%; background-color: var(--ci-blau-10); margin: 48px 0;}

.teaser { padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid var(--ci-blau-10); gap: 25px;}

.teaser:first-of-type { padding-top: 32px; border-top: 1px solid var(--ci-blau-10);}

.teaser:last-of-type { border-bottom: none; padding-bottom: 0; margin-bottom: 0;}

.teaser-image img { width: 100%; display: block;}

.teaser-title-wrapper { margin-bottom: 16px;}

.teaser-title { margin-right: 10px;}

.teaser-date { color: var(--ci-blau-75); margin-top: 0.5em; text-align: right;}

.side-wrapper { gap: 64px;}

@media (max-width:991px) {
  .side-wrapper { margin-top: 50px; }
}

.sidebar { padding: 24px; background-color: var(--ci-blau-5);}

.link-icon::after { content: ""; display: inline-block;	width: 1ex; height: 0.7em; background-image: url('/img/frame-8.svg'); background-repeat: no-repeat;
  background-position: center; margin-left: 0.3em; vertical-align: baseline; background-size: auto;}

.sidebar h2 { margin-bottom: 24px;}

.sidebar .link-blue { border-bottom: none;}

.sidebar ul { padding-left: 0;}

.sidebar ul ul { padding-left: 2em;}

.event { gap: 20px; padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid var(--ci-blau-10);}

.event:last-of-type { border-bottom: none; padding-bottom: 0;}

.firm { gap: 20px; padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid var(--ci-blau-10);}

.firm:last-of-type { border-bottom: none; padding-bottom: 0; margin-bottom: 0;}

.firm:hover, .firm:hover h3 { color: var(--ci-grn);}

.partners h2 { margin-bottom: 50px;}

.partners-image { margin-bottom: 30px;}

.partners-image img { max-width: 100%; margin: 0 auto; max-height: 80px; display: block;}

.article-date { color: var(--ci-blau-75);}

.image-wrapper img { margin-bottom: 16px; width: 100%;}

.image-wrapper .copy-small { margin-bottom: 32px;}

.contact-box, .link-box, .link-box-additional { background-color: var(--ci-blau-5); padding: 24px 32px; margin: 32px auto;}

.contact-box h3, .link-box h3, .link-box-additional h3 { margin-bottom: 8px;}

.link-box ul:last-of-type, .link-box-additional ul:last-of-type { margin: 0;}

.article-list h2,
.article-list h3 { margin-bottom: 24px;}

.article-list-element { margin-bottom: 20px;}
.article-list-element:last-of-type { margin-bottom: 0;}

.article-list-element a { margin-right: 12px;}

.article-list-element .copy-small { color: var(--ci-blau-75);}

.article-nav { margin-top: 48px;}

.article-link { border-bottom: none;}

.article-nav .copy-small { line-height: 20px;}

.article-prev { margin-right: 24px;}

.manufacturers-info { margin-bottom: 48px;}

.manufacturers-info p { margin-bottom: 8px;}

.manufacturers-wrapper { margin-bottom: 64px;}

.manufacturers-element:not(:last-child) { padding-bottom: 45px; margin-bottom: 45px; border-bottom: 1px solid var(--ci-blau-5);}

.manufacturers-element:last-of-type { padding-bottom: 0; margin-bottom: 0; border-bottom: none;}

.manufacturers-element h3,
.manufacturers-element p { margin-bottom: 16px;}

.manufacturers-content { padding-left: 24px;}

@media only screen and (max-width: 767px) { 
  .manufacturers-content { padding-left: 12px;}
}

@media only screen and (max-width: 767px) {
  .manufacturers-content h3 { padding-right: 62px; margin-bottom: 32px;}
}

.manufacturers-links { gap: 16px; margin-bottom: 16px;}

.manufacturers-socials a { border-bottom: none; margin-right: 16px;}

.manufacturers-socials a:last-of-type { margin-right: 0;}

.manufacturers-logo img { width: 100%; max-width: 166px;}

@media (max-width: 767px) {
    .manufacturers-logo { position: absolute; width: 62px; height: 62px; right: 0; top: 0;}
}

.manufacturers-element .article-list { margin-top: 25px; padding-left: 48px;}

@media only screen and (max-width: 767px) {
  .manufacturers-element .article-list { padding-left: 36px;}
}

.manufacturers-element .article-list-element { margin-bottom: 8px;}

.manufacturers-checkbox { width: 24px;}

.manufacturers-checkbox label { margin-top: 3px; width: 24px; height: 24px;}

.contact-form form { background-color: var(--ci-blau-5); padding: 32px 24px;}

.form-recipient { margin-bottom: 8px;}

.form-recipient:last-of-type { margin-bottom: 0;}


.form-recipient a, div.form-recipient:not(:has(a)) { border-bottom: none; color: var(--ci-blau); background-color: var(--ci-blau-10); border-radius: 16px; 
  padding: 4px 32px 4px 12px; display: inline-block; position: relative; clear: left; float: left;}

div.form-recipient:not(:has(a))::after {
	background: url("/img/icon-remove.svg") center no-repeat;
	/* border: red thin solid; */
	content: '';
	top: 0;
	right: 8px;
	bottom: 0;
	position: absolute;
	width: 20px;
  cursor: pointer;
}

@media only screen and (min-width:992px) and (max-width:1199px) {
  .form-recipient a, div.form-recipient:not(:has(a)) { font-size: 14px; }
}

.form-recipient img { margin-bottom: 3px;}

.form-section { margin-bottom: 48px;}

.form-section:last-of-type { margin-bottom: 0;}

.form-section input[type=checkbox] + label { margin-bottom: 16px;}

.form-section input[type=checkbox]:last-of-type + label { margin-bottom: 0;}

.form-section-personal input { margin-bottom: 12px;}

.form-section-personal-wrapper { gap: 24px;}

@media only screen and (max-width: 991px) { 
  .form-section-personal-wrapper { gap: 0;}
}

.form-section-personal-left,
.form-section-personal-right { flex: 1;}

@media only screen and (max-width: 991px) {
  .form-section-personal-left { margin-bottom: 12px;}
}

.form-section-function input[type=text] { width: auto;}

.form-section-policy .copy-small { margin-top: 8px;}

/*.captcha img {
  margin-bottom: 8px;
}

@media only screen and (min-width: 992px) {
  .captcha {
    padding-right: 24px;
  }
}

.captcha-text p {
  margin-bottom: 16px;
}

@media only screen and (max-width: 991px) {
  .captcha-text {
    margin-bottom: 24px;
  }
}
*/
.footer { background-color: var(--ci-blau); height: auto; padding: 48px 0 24px 0; margin-top: 64px;}

.footer p,
.footer h3,
.footer a { color: var(--white);}

.footer a { border-bottom: none; margin-bottom: 12px;}

.footer a:hover { color: var(--ci-grn); border-color: var(--ci-grn);}

.footer-logo { width: 166px; height: 32px; margin-bottom: 24px;}

.footer-logo-link { border: none;}

.footer-address { margin-bottom: 30px;}

.footer-mail a { border-bottom: 1px solid var(--white);}

.footer-icon { margin-right: 12px;}

.footer-social { margin-top: 35px;}

.footer-social-text { margin-right: 24px;}

@media only screen and (max-width: 991px) { 
  .footer-menu-1, .footer-menu-2 { margin-bottom: 50px;}
}

.footer-menu-2 .footer-link,
.footer-menu-3 .footer-link { margin-bottom: 12px;}

.footer-title { margin-bottom: 17px;}

.subfooter { margin-top: 50px;}

form h2 { margin-bottom: 16px;}

form h3 { margin-bottom: 16px;}

form p { margin-bottom: 10px;}

input[type=text],
input[type=number],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select.form-select { border: 1px solid var(--ci-blau-30); background: white; height: 56px; width: 100%; padding: 16px; font-family: var(--desktop-copy-font-family);}

select.form-select { -webkit-appearance: auto; -moz-appearance: auto; appearance: auto;}

.input-group > .btn { border: 1px solid var(--ci-blau-30); height: 56px; padding: 16px; font-family: var(--desktop-copy-font-family);}

label { font-family: var(--desktop-copy-font-family); margin-bottom: 4px;}

textarea { min-height: 8em;}

input[type=checkbox] { display: none;}

:root { --checkbox-label-indent: 36px; --checkbox-size: 24px;}

input[type=checkbox] + label{ position: relative; padding-left: var(--checkbox-label-indent);}

.checkbox-label-indent { margin-left: var(--checkbox-label-indent);}

input[type=checkbox] + label:before { content: ''; position: absolute; width: var(--checkbox-size); height: var(--checkbox-size); background-color: var(--white);
  border: 1px solid var(--ci-blau-30); cursor: pointer; left: 0;}

input[type=checkbox]:checked + label:before { background-image: url("/img/checkmark.svg");}

input[type=submit], button[type=submit] { font-family: var(--desktop-copy-font-family); border: 0; padding: 16px; background: var(--ci-grn); color: var(--white);
  font-weight: bold; font-size: 20px;}

@media screen and (min-width:992px) and (max-width:1999px) {
  input[type=submit] { padding: 16px;}
}

/**
   Suche
 */
.search-wrapper { position: fixed; top: 0; right: 0; background-color: var(--ci-blau); color: var(--white); z-index: 13; padding: 15px; visibility: hidden; height: 0;
  max-width: 100vw;}

@media only screen and (min-width: 992px) {
  .search-wrapper { padding: 40px 48px;}
}

.search-wrapper.open { visibility: visible; height: 100%;}

.search-wrapper h2, .search-wrapper .searchtitle { color: var(--white); margin-bottom: 53px;}

.search-wrapper input[type=text] { margin-bottom: 48px;}

.search-wrapper label { margin-bottom: 12px;}

.search-wrapper input[type=submit] { top: 0; right: 0; background-image: url("/img/search-desktop.svg"); background-repeat: no-repeat; background-position: center;
  background-color: var(--ci-grn); width: 56px; height: 56px; font-size: 0; padding: 0;}

.search-wrapper input[type=submit]:hover { background-color: var(--ci-blau-50);}

.search-mobile { background-image: url("/img/search-mobile.svg");}

.search-close { display: block; width: 48px; height: 48px; position: absolute; top: 15px; right: 15px; background-image: url("/img/search-close.svg"); border: none;}

@media only screen and (min-width: 992px) {
  .search-close { top: 38px; right: 38px;}
}

.btn-outline-primary {color: var(--ci-grn); border-color: var(--ci-grn);}

.btn-primary:hover, input[type=submit]:hover { color: #fff; background-color: var(--ci-blau-50); border-color: var(--ci-blau-50);}

.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
  background-color: var(--ci-grn); border-color: var(--ci-grn);}

.btn-outline-primary:hover { color: #fff; background-color: var(--ci-blau-50); border-color: var(--ci-blau-50);}

a:hover { color: var(--ci-blau);}

.btn { border-radius: 0;}

.form-control { border-radius: 0;}

.input-group > .btn:hover { color: #fff; background-color: var(--ci-blau-50);}