/************************************ Start: Fake Headings ************************************/
.h1:has(+*) { padding-bottom: 15px; }
.h2:has(+*), .h3:has(+*) { padding-bottom: 5px; }
.h1 { font-weight: 600; font-size: 43px; line-height: 54px; }
.h2 { font-weight: 600; font-size: 36px; line-height: 45px; }
.h3 { font-weight: 400; font-size: 32px; line-height: 40px; }
@media screen and (max-width: 959px) {
    .h1 { font-size: 33px; line-height: 41px; }
    .h2 { font-size: 29px; line-height: 36px; }
    .h3 { font-weight: 600; font-size: 25px; line-height: 31px; }
}
/************************************ Ende: Fake Headings ************************************/

/************************************ Start: Pretitle ************************************/
.pretitle { position: relative; display: block; font-weight: 300; font-size: 20px; line-height: 27px; text-transform: uppercase; padding-bottom: 18px; }
.pretitle:before { content: ""; position: absolute; z-index: 1; bottom: 0; left: 0; max-width: 60px; width: 100%; height: 4px; background: var(--tertiary); }
@media screen and (max-width: 959px) {
    .pretitle { font-weight: 600; font-size: 18px; line-height: 25px; padding-bottom: 16px; }
    .pretitle:before { height: 3px; }
}
/************************************ Ende: Pretitle ************************************/

/************************************ Start: Lead ************************************/
.lead { font-size: 20px; line-height: 30px; }
@media screen and (max-width: 959px) { .lead { font-size: 19px; line-height: 29px; } }
/************************************ Ende: Lead ************************************/

/************************************ Start: Small Text ************************************/
.small-text { font-size: 15px; line-height: 23px; }
@media screen and (max-width: 959px) { .small-text { font-size: 14px; line-height: 21px; } }
/************************************ Ende: Small Text ************************************/

/************************************ Start: Tel + Mail ************************************/
.tel,
.mail { display: flex; align-items: center; gap: 6px; }
.tel:before,
.mail:before { content: ""; width: 33px; height: 33px; border-radius: 50%; background-color: var(--primary); background-position: center center; background-repeat: no-repeat; transition: var(--transition); }
.tel:before { background-image: url("/pages/img/links/tel/icon.svg"); background-size: 19px 19px; }
.mail:before { background-image: url("/pages/img/links/mail/icon.svg"); background-size: 21px 13px; }
.tel:hover:before,
.mail:hover:before { background-color: var(--tertiary); }
/************************************ Ende: Tel + Mail ************************************/

/************************************ Start: Tel + Mail Spacing Fix ************************************/
p:has(.tel,.mail) { display: flex; flex-direction: column; gap: 10px; }
p:has(.tel,.mail) br { display: none; }
/************************************ Ende: Tel + Mail Spacing Fix ************************************/