:root {
    --h1: clamp(14pt, 2vw, 16pt);
    --h2: clamp(12pt, 1.5vw, 14pt);
    --h3: clamp(12pt, 1.5vw, 14pt);
    --p: clamp(10pt, 1vw, 12pt);
    --s: clamp(0.7rem, 0.8vw, 0.9rem);
}

/* Fonts */
html {
    font-family: "Manrope", sans-serif;
    font-size: var(--p);
    font-weight: 400;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

h1 {
    font-size: var(--h1);
    font-variant: small-caps;
    font-weight: 400;
    text-align: left;
    letter-spacing: +0.05em;
    margin: 1rem 0 0 0;
    color: var(--Text);
    padding: 0rem !important;
}

main h1::after
{
    content:' ';
    display:block;
    border:var(--hr-h) solid var(--hr-c);
}

h2 {
    font-size: var(--h2);
    font-weight: 300;
    margin: 1rem 0 0 0;
}

h3 {
    font-size: var(--h3);
    font-weight: 200;
    margin: 1rem 0 0;
}

p {
    font-size: var(--p);
}

a {
    text-decoration: none;
    color: var(--p);
}

a:hover {
    text-decoration: underline;
}

/* Header */
.LogoText h1 {
    font-variant: normal;
    font-weight: 100;
    text-align: center;
    text-transform: none;
    letter-spacing: 0.06em;
    margin: 0;
    line-height: 1.2;
    color: inherit;
}

.LogoText h2 {
    font-weight: 100;
    text-transform: none;
    margin: 0;
    line-height: 1.4;
}

.LogoText h3 {
    font-size: var(--p);
    font-weight: 100;
    text-transform: none;
    margin: 0;
    line-height: 1.4;
}

.LogoText p {
    font-weight: 100;
    text-transform: none;
    margin: 0;
    line-height: 2;
}

.LogoText h2,
.LogoText h3 {
    display: inline;
}

/* Leistungen */
.LeistungenKarte p,
.LeistungenKarte ul {
    text-align: left !important;
    margin: 0 0 0 4px;
}

.LeistungenKarte h2 {
    display: flex;
    flex-wrap: wrap;
    text-align: left;
    padding: 0;
    margin: 5px 0 5px 4px;
}



.Box p {
    text-align: justify;
}

.highlight a {
    font-weight: bold;
}

.FooterInhalt {
    color: var(--Blau);
}

.FooterInhalt a {
    color: var(--Blau);
}

.FooterInhalt a:hover {
    color: var(--Rot);
}