.wp-block-button__link {
display: inline-flex;
align-items: center;
justify-content: center;
height: 48px;
gap: 4px;
transition: background-color .2s ease, color .2s ease, border-color .2s ease;
} .is-style-primary .wp-block-button__link {
background: var(--wp--preset--color--custom-primary-brand);
color: var(--wp--preset--color--custom-white);
border: 1px solid var(--wp--preset--color--custom-primary-brand);
}
.is-style-primary .wp-block-button__link:hover {
background: var(--wp--preset--color--custom-secondary-brand);
border-color: var(--wp--preset--color--custom-secondary-brand);
} .is-style-secondary .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--custom-primary-brand);
border: 1px solid var(--wp--preset--color--custom-brand-800);
}
.is-style-secondary .wp-block-button__link:hover {
background: var(--wp--preset--color--custom-light);
} .is-style-tertiary .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--custom-primary-brand);
border: 0;
text-decoration: underline;
}
.is-style-tertiary .wp-block-button__link:hover {
color: var(--wp--preset--color--custom-brand-800);
} .wp-block-button.button-klein .wp-block-button__link {
padding: 8px 16px !important;
height: auto;
} .wp-block-navigation a {
color: var(--wp--preset--color--custom-foreground);
text-decoration: none;
transition: color 0.15s ease-in-out,
text-decoration-color 0.15s ease-in-out,
text-decoration-line 0.15s ease-in-out;
}
.wp-block-navigation a:hover,
.wp-block-navigation a:focus,
.wp-block-navigation a:active {
color: var(--wp--preset--color--custom-primary-brand) !important;
text-decoration: none !important;
}
.wp-block-navigation__submenu-container a:hover {
color: var(--wp--preset--color--custom-primary-brand) !important;
text-decoration: none !important;
}  @media (min-width: 1025px) {
.hide-desktop { display: none !important; }
} @media (min-width: 600px) and (max-width: 1024px) {
.hide-tablet { display: none !important; }
} @media (max-width: 599px) {
.hide-mobile { display: none !important; }
}  @media (max-width: 599px) {
.wp-block-navigation__responsive-container .wp-block-button { 
margin-top: 1rem; 
}
} .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > * {
transition: opacity 0.3s ease;
opacity: 1;
} @media (prefers-reduced-motion: reduce) {
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > * {
transition: none;
}
} @media (max-width: 599px) {
.header-responsive {
display: flex !important;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
gap: 16px;
} .header-responsive .wp-block-navigation__responsive-container-open {
display: inline-flex !important;
order: 2;
margin-left: auto;
} .header-responsive .wp-block-site-logo,
.header-responsive .wp-block-site-title {
order: 1;
flex: 0 1 auto;
} .header-responsive .wp-block-navigation {
flex: 0 0 auto;
order: 2;
} .header-responsive .wp-block-group,
.header-responsive .wp-block-columns {
order: 3;
width: 100%;
}
} @media (max-width: 599px) { .header-responsive .wp-block-site-logo {
display: block !important;
flex: 0 0 auto;
min-width: 80px;
} .header-responsive .wp-block-site-logo img,
.header-responsive .wp-block-site-logo svg {
display: block;
width: auto;
min-width: 60px;
height: auto;
max-height: none;
} .header-responsive .brand {
min-width: 0;
}
} @media (max-width: 1024px) { .wp-block-navigation__responsive-container.is-menu-open {
display: flex;
flex-direction: column;
} .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
order: 1;
} .wp-block-navigation__responsive-container.is-menu-open .wp-block-buttons {
order: 2;
margin-top: 2rem;
justify-content: flex-start;
}
}
@media (max-width: 599px) { .wp-block-buttons .wp-block-button {
width: 100%; }
} footer .wp-block-navigation .wp-block-navigation-item__content {
color: var(--wp--preset--color--custom-white);
text-decoration: none;
transition: text-decoration-color 0.2s ease-in-out,
text-decoration-line 0.2s ease-in-out;
}
footer .wp-block-navigation .wp-block-navigation-item__content:hover,
footer .wp-block-navigation .wp-block-navigation-item__content:focus,
footer .wp-block-navigation .wp-block-navigation-item__content:active {
color: var(--wp--preset--color--custom-white) !important; text-decoration-line: underline;
text-decoration-color: var(--wp--preset--color--custom-white);
text-underline-offset: 0.15em;
text-decoration-thickness: 1.5px;
} footer .wp-block-navigation .wp-block-navigation-item__content:hover {
text-decoration: underline !important;
text-decoration-color: var(--wp--preset--color--custom-white) !important;
} .background {
background-color: var(--wp--preset--color--custom-background-secondary);
} .arrow-link {
--arrow-size: 0.9em; --arrow-gap: 0.5rem;
--shift: 0.25rem;
--brand: var(--wp--preset--color--custom-primary-brand, #b50010);
display: inline-flex;
align-items: center;
gap: var(--arrow-gap);
color: var(--brand);
font-weight: 600;
text-decoration: none !important; } a.arrow-link,
.arrow-link a {
text-decoration: none !important;
-webkit-text-decoration: none;
} .arrow-link::after {
content: "";
width: var(--arrow-size);
height: var(--arrow-size);
background: currentColor;
-webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3l5 5-5 5'/></svg>") center / contain no-repeat;
mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3l5 5-5 5'/></svg>") center / contain no-repeat;
transform: translateX(0);
transition: transform .2s ease, opacity .2s ease;
opacity: .9;
}
.arrow-link:hover::after,
.arrow-link:focus-visible::after {
transform: translateX(var(--shift));
opacity: 1;
} .wp-block-button .arrow-link,
.wp-block-button__link.arrow-link {
background: transparent;
border: 0;
padding: 0;
box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
.arrow-link::after { transition: none; }
} .arrow-link:hover,
.arrow-link:focus-visible,
a.arrow-link:hover,
a.arrow-link:focus {
text-decoration: none !important;
-webkit-text-decoration: none;
} .map-embed {
aspect-ratio: 3 / 2;
width: 100%;
max-width: 100%;
border-radius: 20px;
overflow: hidden; }
.map-embed iframe {
width: 100%;
height: 100%;
border: 0;
display: block;
} @media (max-width: 599px) {
.map-embed {
aspect-ratio: 2 / 3;
}
}   .faq .wp-block-details {
border: 0;
border-bottom: 1px solid var(--wp--preset--color--custom-medium-light, #e9e9e9);
padding-block: 12px;
} .faq .wp-block-details > summary {
list-style: none;
cursor: pointer;
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 1rem;
padding-block: 12px;
font-weight: 600;
color: var(--wp--preset--color--custom-foreground, #260003);
position: relative;
}
.faq .wp-block-details > summary::-webkit-details-marker {
display: none;
} .faq .wp-block-details > summary::after,
.faq .wp-block-details > summary::before {
content: "";
position: absolute;
right: 0;
top: 50%;
translate: 0 -50%;
width: 18px;
height: 2px;
background: currentColor;
border-radius: 1px;
transition: transform .4s ease, opacity .4s ease;
} .faq .wp-block-details > summary::before {
transform: rotate(90deg);
} .faq .wp-block-details[open] > summary::before {
transform: rotate(90deg) scaleX(0);
} .faq .wp-block-details .faq-content {
overflow: clip;
height: 0;
opacity: 0;
transition: height .55s cubic-bezier(.22,1,.36,1), opacity .55s cubic-bezier(.22,1,.36,1);
will-change: height, opacity;
}
.faq .wp-block-details[open] .faq-content {
opacity: 1;
}
.faq .wp-block-details .faq-content > *:first-child {
margin-top: .25rem;
} @media (prefers-reduced-motion: reduce) {
.faq .wp-block-details .faq-content,
.faq .wp-block-details > summary::before,
.faq .wp-block-details > summary::after {
transition: none;
}
}   .wp-block-details > summary {
cursor: pointer;
} .wp-block-details .faq-content,
.wp-block-details .wp-block-details__content {
overflow: clip; will-change: height, opacity;
transition: height .6s cubic-bezier(.22,1,.36,1), opacity .6s cubic-bezier(.22,1,.36,1);
}
.wp-block-details .wp-block-details__content,
.wp-block-details .faq-content {
overflow: clip;
will-change: height, opacity;
transition: height .6s cubic-bezier(.22,1,.36,1), opacity .6s cubic-bezier(.22,1,.36,1);
} .wp-block-details > summary::before,
.wp-block-details > summary::after,
.faq .wp-block-details > summary::before,
.faq .wp-block-details > summary::after {
transition: transform .6s cubic-bezier(.22,1,.36,1), opacity .6s cubic-bezier(.22,1,.36,1);
} .wp-block-details > summary::before {
content: "";
position: absolute;
right: 0; top: 50%;
translate: 0 -50%;
width: 18px; height: 2px;
background: currentColor;
border-radius: 1px;
transform: rotate(90deg) scaleX(1);
} .wp-block-details > summary::after {
content: "";
position: absolute;
right: 0; top: 50%;
translate: 0 -50%;
width: 18px; height: 2px;
background: currentColor;
border-radius: 1px;
} .wp-block-details[open] > summary::before { transform: rotate(90deg) scaleX(0); } .wp-block-details.is-closing > summary::before { transform: rotate(90deg) scaleX(1); } .wp-block-details.faq-hidden {
opacity: 0;
transform: translateY(20px);
transition: opacity .6s ease, transform .6s ease;
}
.wp-block-details.faq-visible {
opacity: 1;
transform: translateY(0);
}   :root {
--reveal-dur: .6s;
--reveal-ease: cubic-bezier(.22,1,.36,1);
--reveal-offset: 20px;
} .reveal,
[data-reveal] {
opacity: 0;
transform: translateY(var(--reveal-offset));
transition: opacity var(--reveal-dur) var(--reveal-ease),
transform var(--reveal-dur) var(--reveal-ease);
will-change: opacity, transform;
} .is-revealed {
opacity: 1;
transform: none;
} .reveal-up     { --reveal-offset: 20px;  transform: translateY(var(--reveal-offset)); }
.reveal-down   { --reveal-offset: -20px; transform: translateY(var(--reveal-offset)); }
.reveal-left   { --reveal-offset: 24px;  transform: translateX(calc(var(--reveal-offset) * -1)); }
.reveal-right  { --reveal-offset: 24px;  transform: translateX(var(--reveal-offset)); } .reveal-scale,
[data-reveal~="scale"] {
transform: scale(.98) translateY(var(--reveal-offset));
} [data-reveal-dur] {
transition-duration: var(--reveal-dur);
} .reveal-group > * { } @media (prefers-reduced-motion: reduce) {
.reveal, [data-reveal] {
transition: none !important;
opacity: 1 !important;
transform: none !important;
}
} .reveal {
opacity: 0;
transform: translateY(18px);
transition: opacity 0.6s cubic-bezier(.22,1,.36,1),
transform 0.6s cubic-bezier(.22,1,.36,1);
will-change: opacity, transform;
}
.reveal.is-revealed {
opacity: 1;
transform: none;
} .no-reveal {
opacity: 1 !important;
transform: none !important;
} @media (prefers-reduced-motion: reduce) {
.reveal {
transition: none !important;
opacity: 1 !important;
transform: none !important;
}
} figure.wp-block-media-text__media > img,
figure.wp-block-post-featured-image > img {
border-radius: 24px !important;
} .sticky-desktop {
position: static;
}  @media (min-width: 768px) {
.sticky-desktop {
position: sticky;
position: -webkit-sticky; top: clamp(16px, 2vw, 40px); z-index: 10; }
}  .wpcf7-form {
font-family: var(--wp--preset--font-family--inter, Inter);
font-size: 1rem;
color: var(--wp--preset--color--custom-dark, #260003);
line-height: 1.5;
}  .wpcf7-form p,
.wpcf7-form .form-row,
.wpcf7-form .form-column {
margin-bottom: 1.75rem; } .wpcf7-form p:last-of-type {
margin-bottom: 1.25rem;
} .wpcf7-form label {
display: block;
margin-bottom: 0.45em;
font-weight: 500;
color: var(--wp--preset--color--custom-foreground, #260003e6);
} .wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
width: 100%;
padding: 0.9em 1.1em; border: 1px solid var(--wp--preset--color--custom-medium-light, #6600091a);
border-radius: 6px;
font-size: 1rem;
font-family: inherit;
color: var(--wp--preset--color--custom-dark, #260003);
background-color: var(--wp--preset--color--custom-white, #fff);
transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
} .wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
outline: none;
border-color: var(--wp--preset--color--custom-primary-brand, #b50010);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--custom-primary-brand) 20%, transparent);
background-color: #fff;
} .wpcf7-form input[type="submit"] {
display: inline-flex;
align-items: center;
justify-content: center;
height: 52px; padding: 0 2em;
border: none;
border-radius: 999px;
background: var(--wp--preset--color--custom-primary-brand, #b50010);
color: var(--wp--preset--color--custom-white, #fff);
font-weight: 600;
font-size: 1.125rem; letter-spacing: 0.01em;
font-family: var(--wp--preset--font-family--inter, Inter);
cursor: pointer;
transition: background-color 0.25s ease, transform 0.2s ease;
}
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:focus {
background: var(--wp--preset--color--custom-secondary-brand, #87000c);
} .wpcf7-not-valid-tip {
color: var(--wp--preset--color--custom-secondary-brand, #87000c);
font-size: 0.875rem;
margin-top: 0.35em;
}
.wpcf7 form .wpcf7-response-output {
margin-top: 1.25rem;
border: 1px solid var(--wp--preset--color--custom-brand-200, #b5001024);
background: var(--wp--preset--color--custom-brand-50, #b500100d);
color: var(--wp--preset--color--custom-foreground, #260003e6);
padding: 0.9rem 1.25rem;
border-radius: 6px;
} .wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"] {
accent-color: var(--wp--preset--color--custom-primary-brand, #b50010);
cursor: pointer;
} .wpcf7-form .wpcf7-list-item {
margin-right: 1em;
} .wpcf7-form .dsgvo-box {
display: flex;
align-items: flex-start;
gap: 0.6em;
font-size: 0.95rem;
line-height: 1.45;
color: var(--wp--preset--color--custom-dark, #260003);
margin-top: 0.5rem;
}
.wpcf7-form .dsgvo-box a {
color: var(--wp--preset--color--custom-primary-brand, #b50010);
text-decoration: underline;
text-decoration-thickness: 1px;
}
.wpcf7-form .dsgvo-box a:hover {
color: var(--wp--preset--color--custom-secondary-brand, #87000c);
}  .wpcf7 form.sent .wpcf7-response-output {
border: 1px solid #067A57; background-color: rgb(234, 242, 235); color: #067A57;
}  .card-link-wrap {
position: relative;
overflow: hidden;
border-radius: 24px;
box-shadow: var(--wp--preset--shadow--shadow-2);
cursor: pointer;
transition: box-shadow .25s ease, transform .25s ease;
will-change: box-shadow, transform;
} .card-link-wrap:hover,
.card-link-wrap:focus-within {
box-shadow: var(--wp--preset--shadow--shadow-3);
transform: translateY(-2px);
} .card-link-wrap .wp-block-post-title.stretched-link a::after {
content: "";
position: absolute;
inset: 0; z-index: 10;
} .card-link-wrap a:not(.wp-block-post-title a) {
position: relative;
z-index: 20;
} .card-link-wrap:focus-within {
outline: 2px solid currentColor;
outline-offset: 4px;
}  .single-post .wp-block-post-content {
--space-h1-top: clamp(56px, 7vw, 72px);
--space-h1-bottom: clamp(24px, 4vw, 24px); --space-h2-top: clamp(36px, 6vw, 48px);
--space-h2-bottom: clamp(12px, 3vw, 16px);
--space-h3-top: clamp(28px, 5vw, 36px);
--space-h3-bottom: clamp(10px, 2.5vw, 14px);
--space-h4-top: clamp(20px, 4vw, 28px);
--space-h4-bottom: clamp(8px, 2vw, 12px);
--space-p-top: 0;
--space-p-bottom: clamp(12px, 2.5vw, 16px);
} .single-post .wp-block-post-content h1 {
margin-block-start: var(--space-h1-top);
margin-block-end: var(--space-h1-bottom);
}
.single-post .wp-block-post-content h2 {
margin-block-start: var(--space-h2-top);
margin-block-end: var(--space-h2-bottom);
}
.single-post .wp-block-post-content h3 {
margin-block-start: var(--space-h3-top);
margin-block-end: var(--space-h3-bottom);
}
.single-post .wp-block-post-content h4 {
margin-block-start: var(--space-h4-top);
margin-block-end: var(--space-h4-bottom);
} .single-post .wp-block-post-content p {
margin-block-start: var(--space-p-top);
margin-block-end: var(--space-p-bottom);
} .wp-block-shortcode {
font-size: 0.875rem;
color: white;
font-weight: normal;
} @media (max-width: 599px) {
.mobile-overlay-link-size { font-size: var(--wp--preset--font-size--h2, 2rem) !important; }
.mobile-overlay-link-spacing { gap: 0.5rem !important; }
}