/*
Theme Name: Aachen Kardiologie
Description: WordPress theme for Aachen Kardiologie
Version: 1.0.4
Author:
Author URI: https://aachen-kardiologie.de
*/
/* Basic reset and typography */
/* merriweather-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 300;
    src: url('./assets/fonts/merriweather-v33-latin-300.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 300;
    src: url('./assets/fonts/merriweather-v33-latin-300italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 400;
    src: url('./assets/fonts/merriweather-v33-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 400;
    src: url('./assets/fonts/merriweather-v33-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 500;
    src: url('./assets/fonts/merriweather-v33-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-500italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 500;
    src: url('./assets/fonts/merriweather-v33-latin-500italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 600;
    src: url('./assets/fonts/merriweather-v33-latin-600.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-600italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 600;
    src: url('./assets/fonts/merriweather-v33-latin-600italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 700;
    src: url('./assets/fonts/merriweather-v33-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 700;
    src: url('./assets/fonts/merriweather-v33-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-800 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 800;
    src: url('./assets/fonts/merriweather-v33-latin-800.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-800italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 800;
    src: url('./assets/fonts/merriweather-v33-latin-800italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-900 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 900;
    src: url('./assets/fonts/merriweather-v33-latin-900.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-900italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 900;
    src: url('./assets/fonts/merriweather-v33-latin-900italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-200 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 200;
    src: url('./assets/fonts/mulish-v17-latin-200.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-200italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 200;
    src: url('./assets/fonts/mulish-v17-latin-200italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 300;
    src: url('./assets/fonts/mulish-v17-latin-300.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 300;
    src: url('./assets/fonts/mulish-v17-latin-300italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 400;
    src: url('./assets/fonts/mulish-v17-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 400;
    src: url('./assets/fonts/mulish-v17-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 500;
    src: url('./assets/fonts/mulish-v17-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-500italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 500;
    src: url('./assets/fonts/mulish-v17-latin-500italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 600;
    src: url('./assets/fonts/mulish-v17-latin-600.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-600italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 600;
    src: url('./assets/fonts/mulish-v17-latin-600italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 700;
    src: url('./assets/fonts/mulish-v17-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 700;
    src: url('./assets/fonts/mulish-v17-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-800 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 800;
    src: url('./assets/fonts/mulish-v17-latin-800.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-800italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 800;
    src: url('./assets/fonts/mulish-v17-latin-800italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-900 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 900;
    src: url('./assets/fonts/mulish-v17-latin-900.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* mulish-900italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Mulish';
    font-style: italic;
    font-weight: 900;
    src: url('./assets/fonts/mulish-v17-latin-900italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* Breakpoints */
:root {
    --tablet: 480px;
    --desktop: 900px;
    --desktop-inner-width: 1200px;
    --desktop-padding-block: 20px;
    --main-padding-block-start: 9em;
    /* --main-padding-block-start: 160px; */
    /* HEADER */
    --desktop-brand-height: 82px;
    --desktop-brand-padding-block-start: 14px;
    --desktop-brand-padding-block-end: 8px;
    --dark: #000;
    --light: #555;
    --red: #bc032c;
    /* COLORS */
    --white: #fff;
    --grey: #f4f5f7;
    --grey-back: #f2f2f2;
    /* TEXT COLORS */
    --text-color: #50504f;
    --text-color-menu: #222;
    --text-sidebar-color: #383838;
    /* MENU BAR // Text Box */
    --grey-dark: #343a40;
    --head: #343a40;
    --grey-light: #f1f3f5;
    /* TEXTBOX */
    /* BODY TYPOGPRAHY */
    --text-size: 18px;
    --line-height: 1.388;
    --paragraph-spacer: calc(var(--text-size) * (2/3));
    --h1-size: 28px;
    --h2-size: 24px;
    --h3-size: 22px;
    --column-gap: 28px;
    /* FONTS */
    --font: "Mulish", Helvetica, Arial, sans-serif;
    --font-brand: "Meriweather", serif;
    /*  LAYOUT */
    --container-max-width: 1160px;
    --container-inline-padding: 20px;
}
@media (max-width: 768px) {
    :root {
        /* --main-padding-block-start: 7.2em; */
    }
}
@media screen and (max-width: 480px) {
    :root {
        --tablet: 480px;
        --desktop: 900px;
    }
}
@media screen and (min-width: 481px) and (max-width: 900px) {
    :root {
        --tablet: 480px;
        --desktop: 900px;
    }
}
html,
body {
    font-family: var(--font);
    line-height: var(--line-height);
    font-size: var(--text-size);
    color: var(--text-color);
    font-weight: 300;
}
/* .u-grid {
    display: grid;
    gap: var(--grid-gutter);
} */
#page {
    display: block;
    padding-block: var(--container-inline-padding);
    max-width: var(--container-max-width);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden;
}
h1 {
    color: var(--red);
    font-size: var(--h1-size);
    /* font-weight: normal; */
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: 0.5em;
}
h2 {
    color: var(--h2-color);
    font-size: var(--h2-size);
}
h3 {
    color: var(--red);
    font-size: var(--h3-size);
}
#main {
    -webkit-padding-before: var(--main-padding-block-start);
    padding-block-start: var(--main-padding-block-start);

    p {
        -webkit-hyphens: auto;
        hyphens: auto;
    }

    :is(ul, ol, p)+:is(h2, h3, p, ol) {
        margin-top: var(--paragraph-spacer);
    }

    :is(h2, h3)+:is(ul, p, ol) {
        margin-top: var(--paragraph-spacer);
    }

    ul,
    ol {
        margin-left: 1em;

        li {
            padding-left: .5em;

            +li {
                margin-top: calc(var(--paragraph-spacer) * 1.3);
            }
        }

        strong {
            display: block;
        }
    }
}
#main a {
    color: var(--red);
    text-decoration: none;
}
#main .nolink.nohover a {
    color: inherit;
    text-decoration: none;
}
#main a:hover {
    text-decoration: underline;
}
#main a[href^="tel:"],
#main a[href^="fax:"] {
    text-decoration: none;
    color: var(--text-color);

    &:hover {
        text-decoration: underline;
        color: var(--red);
    }
}
#footer a {
    text-decoration: none;
}
#page {
    position: relative;
}
#header {
    position: relative;
    z-index: 1;
}
.innerwidth {
    max-width: var(--desktop-inner-width);
    margin: 0 auto;
    padding-inline: var(--container-inline-padding);
    box-sizing: border-box;
    overflow: hidden;
}
@media screen and (max-width: 1200px) {
    .innerwidth {
        max-width: 100%;
    }
}
.featured-image-wrapper {
    max-width: 100%;
    overflow: hidden;
}
.featured-image-wrapper img {
    width: 100%;
    height: auto;
    margin-bottom: 1em;
}
@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }
}
@media (min-width: 769px) {
    .mobile-only {
        display: none !important;
    }
}
.error-404 {
    min-height: 20vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Header styles */
#header {
    position: fixed;
    width: 100%;
    background: var(--white);
    /* HEADER SIZES */
    --text-color-logo-brand-doc: #383838;
    --text-color-logo-brand-name: #50504f;
    --font-large: 28px;
    --font-size: 22px;
    --font-brand-brand-doc: 28px;
    --font-brand-brand-doc-line-height: 34px;
    --font-brand-brand-name: 22px;
    --font-brand-brand-name-line-height: 26px;
    --header-inner-padding-inline-start: 8px;
    /* NAVIGATION */
    --font-navigation: 14px;
    --navigation-padding-inline: 8px;
}
@media screen and (max-width: 1000px) {
    #header {
        --font-navigation: 14px;
    }
}
#header.site-header {
    padding: var(--desktop-brand-padding-block-start) 0 0 0;
    border-bottom: 0.5em solid #fff;
}
/*
*
*
*
Company and Logo
*/
#header .logo__wrap {
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    display: flex;
    align-self: stretch;
    flex-direction: row-reverse;
    flex-grow: 1;
    max-width: 370px;
    overflow: hidden;
}
#header .logo__wrap a {
    width: 100%;
}
/* #header .logo__wrap .logo__wrap__inner {
    text-align: right;
    height: 100%;
} */
#header .logo__wrap img {
    max-width: 100%;
}
@media screen and (max-width: 1100px) {
    #header .logo__wrap a {
        width: 40vw;
        overflow: hidden;
    }
}
.logo__wrap a {
    display: block;
    position: relative;
    height: 100%;
}
.logo__wrap a>img {
    position: relative;
    inset: 0;
    width: 100%;
    height: auto;
}
#header .site-branding {
    display: flex;
    align-items: center;
    padding-left: var(--header-inner-padding-inline-start);
    padding-bottom: .5em;
}
#header .site-branding .site-branding-inner-left {
    margin-block: 1em;
}
#header .site-branding a.brand {
    font-family: 'Merriweather', serif;
    font-weight: 200;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2em;
    text-decoration: none;
}
#header .site-branding a .brand-doc {
    line-height: 1em;
    font-size: var(--font-large);
    color: var(--text-color-logo-brand-doc);
    font-weight: 400;
}
#header .site-branding a .brand-name {
    line-height: 1em;
    font-size: var(--font-size);
    color: var(--text-color-logo-brand-name);
}
@media screen and (max-width: 768px) {
    #header .site-branding a .brand-doc {
        font-size: 28px;
        font-size: 3.5vw;
    }

    #header .site-branding a .brand-name {
        /* font-size: 18px; */
        font-size: 2.8vw;
    }
}
/*
*
*
*
MENU
*/
#header-menu-wrapper {
    position: relative;
}
#header-menu-wrapper .phone-link {
    display: none;
}
#header-menu-wrapper .primary-menu {
    display: flex;
    align-items: left;
    padding: .3em 8px .35em var(--header-inner-padding-inline-start);
    border-top: 1px solid var(--light);
    border-bottom: 1px solid var(--light);
    gap: 1em;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    background-color: var(--grey-back);
}
#header-menu-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#header-menu-wrapper ul>li:last-child {
    margin-left: auto;
}
@media screen and (max-width: 1000px) {
    #header-menu-wrapper ul>li:last-child {
        margin-left: initial;
    }
}
/* MENU LINK STYLES */
#header-menu-wrapper a {
    color: var(--text-color-menu);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: var(--font-navigation);
    letter-spacing: .03em;
}
#header-menu-wrapper a:hover,
#header-menu-wrapper .current-menu-item a {
    color: var(--red);
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
}
#header-menu-wrapper a[href*="/kontakt/"] {
    color: var(--red);
    border: 2px solid var(--red);
    border-radius: 0.25em;
    padding: 4px 8px;
    background-color: white;
}
body.kontakt #header-menu-wrapper a[href*="/kontakt/"],
#header-menu-wrapper a[href*="/kontakt/"]:hover,
#header-menu-wrapper .current-menu-item a[href*="/kontakt/"] {
    background-color: var(--red);
    color: var(--white);
    text-decoration: none;
    border-color: var(--red);
}
@media screen and (max-width: 550px) {
    #header-menu-wrapper a.button.kontakt-button[href*="/kontakt/"] span {
        display: none;
    }
}
/* BURGER */
#burger-and-kontakt {
    display: none;
}
@media screen and (max-width: 1050px) {
    #header-menu-wrapper {
        border-top: 1px solid var(--light);
        border-bottom: 1px solid var(--light);
        padding-block: .9em;
        padding-inline: none;
        box-sizing: border-box;
        margin-inline: var(--container-inline-padding);
        background-color: var(--grey-back);
        position: relative;
        width: auto;
    }

    #header-menu-wrapper .primary-menu {
        interpolate-size: allow-keywords;
        border: none;
        height: 0;
        overflow: hidden;
        transition: height 0.3s ease, visibility 0.3s, -webkit-padding-before 0.3s ease;
        transition: height 0.3s ease, visibility 0.3s, padding-block-start 0.3s ease;
        transition: height 0.3s ease, visibility 0.3s, padding-block-start 0.3s ease, -webkit-padding-before 0.3s ease;
        flex-direction: column;
        /* align-items: center; */
        -webkit-padding-before: 0.3em;
        padding-block-start: 0.3em;
    }

    .menu-open #header-menu-wrapper .primary-menu {
        height: auto;
        -webkit-padding-before: 2.5em;
        padding-block-start: 2.5em;
        -webkit-padding-after: .5em;
        padding-block-end: .5em;
        padding-inline: 0;
    }

    #burger-and-kontakt {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        -webkit-padding-end: .5em;
        padding-inline-end: .5em;
    }

    #menu-trigger {
        display: block;
        z-index: 2;
        border: none;
        outline: none;
        background: none;
    }

    #menu-primary-menu li:has(a[href*="/kontakt/"]) {
        display: none;
    }

    #burgericon {
        width: 60px;
        height: 45px;
        transform: rotate(0deg);
        transition: .5s ease-in-out;
        cursor: pointer;
        scale: 0.5;
    }

    #burgericon span {
        display: block;
        position: absolute;
        height: 9px;
        width: 100%;
        background: var(--text-color);
        border-radius: 9px;
        opacity: 1;
        left: 0;
        transform: rotate(0deg);
        transition: .25s ease-in-out;
    }

    #burgericon span:nth-child(1) {
        top: 0px;
        transform-origin: left center;
    }

    #burgericon span:nth-child(2) {
        top: 18px;
        transform-origin: left center;
    }

    #burgericon span:nth-child(3) {
        top: 36px;
        transform-origin: left center;
    }

    .menu-open #burgericon span:nth-child(1) {
        transform: rotate(45deg);
        top: -3px;
        left: 8px;
    }

    .menu-open #burgericon span:nth-child(2) {
        width: 0%;
        opacity: 0;
    }

    .menu-open #burgericon span:nth-child(3) {
        transform: rotate(-45deg);
        top: 39px;
        left: 8px;
    }
}
/* Parameter: Breite, Seitenverhältnis, Animationsdauer */
:root{
  --ak-logo-width: 340px;
  --ak-logo-ratio: 21/5;      /* ~4.2:1 wie Original */
  --ak-logo-duration: 10s;
}
/* Container: rechts ausrichten, Höhe per aspect-ratio */
.ak-logo{
  position: relative;
  width: var(--ak-logo-width);
  aspect-ratio: var(--ak-logo-ratio);
  margin-left: auto;
  overflow: visible;
}
.ak-logo__link{ display:block; position:relative; width:100%; height:100%; }
/* Ebenen füllen die Fläche */
.ak-logo__herz,
.ak-logo__ekg{
  position:absolute; top:0; right:0; width:100%; height:100%;
}
/* Herz-Animation (soft) */
.ak-logo__herz img{
  position:absolute; top:0; right:0;
  height:100%; width:auto;
  transform-origin: center center;
  animation: heartani var(--ak-logo-duration) ease-in-out infinite;
  z-index:50;
}
/* EKG unten (statisch) */
.ak-logo__ekg--bottom{
  position:absolute; top:0; right:0;
  height:100%; width:auto; z-index:10;
}
/* EKG oben (laufende Maske) */
.ak-logo__ekg--top{
  position:absolute; top:0; right:0;
  height:100%; width:auto; z-index:20;
  -webkit-clip-path: polygon(-1% 0, 0 0, 0 100%, -1% 100%);
          clip-path: polygon(-1% 0, 0 0, 0 100%, -1% 100%);
  animation: ekgani var(--ak-logo-duration) linear infinite;
  filter: drop-shadow(0 0 2px #919191);
}
/* Animationen (unverändert) */
@keyframes heartani{
  35%{ transform: scale(1); }
  45%{ transform: scale(.95); }
  55%{ transform: scale(1.05); }
  60%{ transform: scale(1); }
}
@keyframes ekgani{
  100%{
    -webkit-clip-path: polygon(99% 0, 100% 0, 100% 100%, 99% 100%);
            clip-path: polygon(99% 0, 100% 0, 100% 100%, 99% 100%);
  }
}
/* ...existing code... */
/* .logo__wrap a>img.logo__ekg--top {
    position: absolute;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 1%, black 99%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 1%, black 99%, transparent 100%);
    -webkit-mask-size: 1% 100%;
    mask-size: 1% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
    animation: ekg-mask-move 12s linear forwards infinite;
    -webkit-animation: ekg-mask-move 12s linear forwards infinite;
}

@keyframes ekg-mask-move {
    from {
        -webkit-mask-position: 0% 0%;
        mask-position: 0% 0%;
    }

    to {
        -webkit-mask-position: 100% 0%;
        mask-position: 100% 0%;
    }
}

.logo__wrap a>img.heart {
    position: absolute;
}

.logo__wrap a>img.heart {
    position: absolute;
    left: 0;
    top: 0;
    animation-name: heart-pump;
    animation-delay: -7s;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    animation-duration: 12s;
}

@keyframes heart-pump {
    0% {
        transform: scale(1);
    }

    6% {
        transform: scale(.93);
    }

    14% {
        transform: scale(1.15);
    }

    25% {
        transform: scale(1);
    }

    100% {
        transform: scale(1);
    }
} */
body.home #main {

    h1,
    h2 {
        text-align: center;
    }
}
.body .home-page-header {
    width: 100%;
    overflow: hidden;
    max-height: 400px;
    margin-bottom: 16px;
}
.home-page-content {
	/*
    display: grid;
    grid-template-columns: minmax(0, 1fr) .5fr;
    -moz-column-gap: 28px;
    column-gap: 28px;
	*/
    margin-bottom: 2em;
    align-items: stretch;

    h2 {
        font-size: 1em;
    }
	ul {
		text-wrap:pretty;
	}
}
.home-page-content>div:nth-child(1) {
    grid-column: 1 / 2;
}
.home-page-content>aside {
	float:right;
    align-self: baseline;
    grid-column: 2 / 3;
    background: var(--grey-back);
    padding: 12px 18px;
    border: 1px solid var(--head);
    font-weight: 400;
    color: var(--text-sidebar-color);
	margin-inline-start: 28px;
	max-width: calc(33.333% - 28px);
    h3 {
        text-align: center;
        color: var(--red);
        font-size: 22px;
        font-weight: 600;
    }

    h4 {
        text-align: center;
        border-bottom: 1px solid var(--head);
        text-wrap: balance;
        margin-bottom: .5em;
        padding-bottom: .5em;
    }

    p:has(strong) {
        padding-block: .5em;
    }

    h5 {
        font-size: inherit;
        padding-block: .5em;
    }
}
.home-page-content>div:nth-child(2) {
    grid-column: 1 / 3;
}
@media screen and (max-width: 768px) {
    .home-page-content {
        grid-template-columns: 1fr;
    }

    .home-page-content>div:nth-child(1),
    .home-page-content>aside,
    .home-page-content>div:nth-child(2) {
        grid-column: 1 / 2;
    }

    .home-page-content>aside {
        order: -1;
        margin-block: 0 1em !important;
		float:initial;
		max-width: initial;
		margin-inline-start: initial;
    }

    /* .home-page-content>aside {
        margin-top: 2em;
    } */
}
body.leistungsspektrum section+section {
    margin-top: 2em;
}
body.leistungsspektrum details {
    .details-content {
        padding: 12px 18px;
    }
}
.leistungsspektrum-page-content {
    padding-bottom: 2em;
}
body.leistungsspektrum summary {
    --marker-and-h2: var(--font-large);
    --bottom-pos: 1.25em;
    position: relative;

    h2 {
        -webkit-hyphens: auto;
        hyphens: auto;
        box-sizing: border-box;
        position: absolute;
        bottom: var(--bottom-pos);
        background: var(--white);
        padding: .25em 1em;
        max-width: 75%;
        text-wrap: balance;
        font-weight: 600;
    }

    img {
        width: 100%;
        height: auto;
    }

    list-style:none;

    &:after {
        background: var(--white);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.5em;
        content: '\00A0';
        box-sizing: border-box;
        position: absolute;
        bottom: var(--bottom-pos);
        font-size: 1.5em;
        right: 1em;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: 75%;
        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNTA1MDRmIj48cGF0aCBkPSJNNDgwLTUyOCAyOTYtMzQ0bC01Ni01NiAyNDAtMjQwIDI0MCAyNDAtNTYgNTYtMTg0LTE4NFoiLz48L3N2Zz4=");

    }
}
body.leistungsspektrum details[open] summary:after {
    transform: rotate(180deg);
}
@media screen and (max-width: 800px) {
    body.leistungsspektrum summary {
        display: flex;
        flex-direction: column-reverse;
    }

    body.leistungsspektrum summary h2.details-title {
        position: relative;
        bottom: initial;
        -webkit-padding-start: 0;
        padding-inline-start: 0;
    }

    body.leistungsspektrum summary:after {
        top: 0;
        bottom: initial;
        margin-top: 0.5em;
        right: 0.5em;
    }

    body.leistungsspektrum .details-content {
        margin-top: 0;
    }
}
body.terminablauf h2 {
    color: var(--red);
}
/* 300pxfür team
375
zwischen team 200px */
body.team h1 {
    text-align: center;
}
body.team .inhaber-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 3em;
}
body.team .inhaber-box img {
    width: 100%;
    max-width: 375px;
}
body.team .inhaber-name {
    text-align: center;
    color: var(--red);
    font-size: var(--text-size);
}
body.team #inhaber-cv summary {
    width: 100%;
    outline: none;
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    /* font-size: var(--h2-size); */
    font-size: var(--text-size);
    padding: 5px 0;
    margin: 1em 0;
    list-style: none;
}
body.team #inhaber-cv summary:hover {
    cursor: pointer;
}
body.team #inhaber-cv+div {
    interpolate-size: allow-keywords;
    display: block !important;
    height: 0;
    visibility: hidden;
    overflow: clip;
    transition: height 0.3s ease, visibility 0.3s;
}
body.team #inhaber-cv[open]+div {
    --heightAuto: auto;
    height: var(--heightAuto, 100vh);
    /* height: auto; */
    visibility: visible;
    transition: height 0.3s ease;
}
/* body.team #inhaber-cv summary:after {
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    content: '\00A0';
    box-sizing: border-box;
    bottom: var(--bottom-pos);
    font-size: 1.5em;
    right: 1em;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50%;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMiA3LjQiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS44LjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMSBCdWlsZCAzKSAgLS0+CiAgPHBhdGggZD0iTTYsNy40TDAsMS40LDEuNCwwbDQuNiw0LjZMMTAuNiwwbDEuNCwxLjQtNiw2WiIvPgo8L3N2Zz4=")
} */
/* body.team #inhaber-cv[open] summary:after {
    transform: rotate(180deg);
} */
body.team #inhaber-cv[open] summary,
body.team #inhaber-cv summary:hover {
    border-top: 1px solid var(--grey-dark);
    border-bottom: 1px solid var(--grey-dark);
}
body.team #inhaber-cv+div ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}
body.team #inhaber-cv+div li {
    margin-left: 0;
    padding: 0;
}
body.team #inhaber-cv+div li {
    display: flex;
}
@media screen and (max-width: 680px) {
    body.team #inhaber-cv+div li {
        flex-direction: column;
    }
}
body.team #inhaber-cv+div em {
    font-weight: bold;
    font-weight: 400;
    font-style: normal;
    flex: 0 0 10.6em;
    margin-right: 1em;
}
@media screen and (max-width: 680px) {
    body.team #inhaber-cv+div em {
        flex: initial
    }
}
.person-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.person-box h3 {
    order: 2;
    font-size: var(--text-size);
}
.person-box .person-berufsbezeichnung {
    order: 3;
}
.person-box-grid {
    display: grid;
    justify-self: center;
    grid-template-columns: repeat(2, 300px);
    gap: 2em;
    -moz-column-gap: 200px;
    column-gap: 200px;
    margin-top: 2em;
    margin-bottom: 3em;
    margin: 2em auto 2em auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
@media screen and (max-width: 850px) {
    .person-box-grid {
        grid-template-columns: 1fr;
        max-width: 90%;
    }

}
.person-box img {
    width: 100%;
    max-width: 300px;
}
.kontakt-grid {
    margin-top: 2em;
    display: grid;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
    /* grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); */
    gap: 2em;
}
.kontakt .phonetable {
    td {
        padding-right: .25em;
    }

}
@media (max-width: 768px) {
    .kontakt-grid {
        grid-template-columns: 1fr;
    }

    /* ORDER MOBILE */
    .kontakt-grid>.kontakt {
        order: 1;
    }

    .kontakt-grid>.standort {
        order: 2;
    }

    .kontakt-grid>.sprechzeiten {
        order: 3;
    }

    .kontakt-grid>.local-anfahrt {
        order: 4;
    }
}
body.kontakt h4 {
    color: var(--red);
    display: block;
    margin-bottom: 1em;
}
body.kontakt .last {
    padding-top: 1em;
    display: inline-block;
}
body.kontakt .sprechzeiten dl {
    display: flex;
    max-width: 24em;
}
body.kontakt .sprechzeiten dl span:nth-child(2) {
    display: none;
}
body.kontakt .sprechzeiten dt {
    /* flex: 0 0 17em; */
}
.kontakt-grid>.sprechzeiten dd {
    text-align: right;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    -webkit-padding-start: .25em;
    padding-inline-start: .25em;
    white-space: nowrap;
}
.zerospacer {
    padding-left: 1ch;
}
body.kontakt .standort div {
    margin-top: 1em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1em;
}
body.kontakt .standort>img {
    flex: 0 0 30px;
}
body.kontakt .local-anfahrt img {
    width: 100%;
    height: auto;
    max-width: 24em;
}
body.kontakt .kontakt-google-maps {
    margin-top: 2em;
    width: 100%;
    height: auto;
}
body.kontakt .kontakt-google-maps img {
    width: 100%;
    height: auto;
}
@media (max-width: 460px) {
    .zerospacer {
        padding-left: initial;
    }

    /* body.kontakt .sprechzeiten dl {
        display: block;
    } */

    /* body.kontakt .sprechzeiten :is(dt, dd) {
        display: block;
        margin-right: 1em;
    } */

    body.kontakt .sprechzeiten dl span:nth-child(1) {
        display: none;
    }

    body.kontakt .sprechzeiten dl span:nth-child(2) {
        display: block;
    }
}
/* CSS-only animated accordion using interpolate-size */
.accordion img {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}
.accordion summary {
    position: relative;
    cursor: pointer;
    list-style: none;

    figure {
        width: 100%;

        img {
            width: 100%;
            -o-object-fit: cover;
            object-fit: cover;
        }
    }
}
.accordion summary::-webkit-details-marker {
    display: none;
}
.accordion summary::marker {
    display: none;
}
.accordion details+div {
    interpolate-size: allow-keywords;
    display: block !important;
    margin-block: 1em 2em;
    height: 0;
    visibility: hidden;
    overflow: clip;
    transition: height 0.3s ease, visibility 0.3s;
}
.accordion details[open]+div {
    --heightAuto: auto;
    height: var(--heightAuto, 100vh);
    /* height: auto; */
    visibility: visible;
    transition: height 0.3s ease;
}
/* Popup Styles */
#dn-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    place-items: center;
    display: none
}
#dn-popup a {
    color: var(--red);
}
#dn-popup.is-visible {
    display: flex;
}
#dn-popup::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    padding: 20px;
    z-index: -1;
}
#dn-popup .popup-content {
    margin: 0 auto;
    background: #fff;
    border-radius: 1.5em;
    border: .8em solid var(--red);
    border: 4px solid var(--grey);
}
#dn-popup .popup-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40em;

    max-width: 80vw;
    max-height: 80vh;
    text-align: center;
    padding: 20px;

    *+* {
        -webkit-margin-before: 1em;
        margin-block-start: 1em;
    }

    p {
        text-wrap: balance;
        margin-inline: auto;
    }
}
#dn-popup .popup-text .popup-text-inner {
    overflow-y: auto;
    max-height: 70vh;
}
/* Popup-Rahmen + Rundung */
#dn-popup .popup-content {
    border-width: 4px;
    border-style: solid;
    border-color: #50504f;
    border-radius: 15px;
    /* Radius anpassen */
    overflow: hidden;
    /* Inhalt folgt dem Radius */
    position: relative;
    /* Bezugspunkt für Close-Button */
}
/* Close-Button: Position & Größe */
#dn-popup#dn-popup button.popup-close {
    top: 0.3em;
    right: 0.3em;
    width: 1.6em;
    height: 1.6em;
    border: 2px solid #50504f;
    border-radius: 30%;
    background-size: 100% 100%;
    background-position: 50% 50%;
}
/* Overlay hinter dem Popup: Abdunkeln + Weichzeichnen */
#dn-popup::before {
    pointer-events: none;
    background: rgba(0, 0, 0, 0.28);
    -webkit-backdrop-filter: blur(8px) brightness(0.95) saturate(0.9);
    backdrop-filter: blur(8px) brightness(0.95) saturate(0.9);
}
/* Footer styles */
#footer {
    --text-size: 16px;
    font-size: var(--text-size);
}
#footer .footer-widgets {
    border-top: 1px solid var(--light);
    border-bottom: 1px solid var(--light);
    margin-top: 2em;
    background: var(--grey);
    padding-block: 1em;
    padding-inline: 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media screen and (max-width: 1000px) {
    #footer .footer-widgets {
        flex-direction: column;
        align-items: flex-start;
        gap: 2em;
    }
}
.footer-widgets h4 {
    color: var(--red);
}
#footer .brand {
    font-family: 'Merriweather', serif;
    font-weight: 200;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .4em;
    text-decoration: none;
}
#footer .brand .brand-name {
    line-height: 1em;
    font-size: var(--font-large);
    color: var(--text-color-logo-brand-name);
}
#footer .brand .brand-doc {
    line-height: 1em;
    font-size: var(--h3-size);
    color: var(--text-color-logo-brand-doc);
    font-weight: 400;
}
#footer h4 {
    padding-bottom: .5em;
    font-weight: 600 !important;
}
#footer .last {
    padding-top: .5em;
    display: inline-block;
}
.footer-info {
    padding: .8em 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media screen and (max-width: 768px) {
    .footer-info {
        flex-direction: column;
        align-items: flex-start;
        gap: .5em;
    }

    .footer-info>div:first-child {
        order: 2;
    }
}
.footer-info ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1em;
}
#footer a[href^="tel:"],
#footer a[href^="fax:"] {
    text-decoration: none;
    color: var(--text-color);
}
#footer a[href^="tel:"]:hover,
#footer a[href^="fax:"]:hover {
    color: var(--red);
}
#footer a {
    color: var(--red);
}
#footer a:hover {
    text-decoration: underline;
}
#footer .footer-info a {
    color: var(--text-color);
    text-decoration: none;
}
#footer .footer-info a:hover {
    text-decoration: none;
    color: var(--red);
}
#footer .footer-info li.current-menu-item a {
    color: var(--red);
}
#footer .phonetable td {
    padding-right: .25em;
}
#footer .footer-info li:after {
    content: "|";
    padding-left: 1em;
    display: inline-block;
}
#footer .footer-info li:last-child:after {
    display: none;
}
#footer .sprechzeiten {
    display: flex;
    flex-direction: column;
    font-size: var(--text-size);
}
#footer .sprechzeiten dl {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1em;
    column-gap: 1em;
    /* row-gap: .3em; */
    align-items: start;
}
@media screen and (max-width: 768px) {
    #footer .sprechzeiten {
        flex-direction: column;
    }
}
#main {}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    --font-smoothing: antialiased;
    --webkit-font-smoothing: antialiased;
}
/* Utility classes */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
#dn-popup .popup-content {
    position: relative;
}
#dn-popup button.popup-close {
    position: absolute;
    top: var(--space-xs);
    right: var(--space-xs);
    top: -1.5em;
    right: -1.5em;
    width: 3em;
    height: 3em;
    display: block;
    border-radius: 50%;
    border: 2px solid var(--red);
    background: #fff;
    color: inherit;
    font: inherit;
    cursor: pointer;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M278.6%20256l68.2-68.2c6.2-6.2%206.2-16.4%200-22.6-6.2-6.2-16.4-6.2-22.6%200L256%20233.4l-68.2-68.2c-6.2-6.2-16.4-6.2-22.6%200-3.1%203.1-4.7%207.2-4.7%2011.3%200%204.1%201.6%208.2%204.7%2011.3l68.2%2068.2-68.2%2068.2c-3.1%203.1-4.7%207.2-4.7%2011.3%200%204.1%201.6%208.2%204.7%2011.3%206.2%206.2%2016.4%206.2%2022.6%200l68.2-68.2%2068.2%2068.2c6.2%206.2%2016.4%206.2%2022.6%200%206.2-6.2%206.2-16.4%200-22.6L278.6%20256z%22%2F%3E%3C%2Fsvg%3E');

    &:hover {
        background-color: #ddd;
    }
}
