/************************************ Start: Fake Headings ************************************/
.h1 { font-weight: 600; font-size: 56px; line-height: 67px; }
.h2 { font-weight: 600; font-size: 46px; line-height: 55px; }
.h3 { font-weight: 300; font-size: 36px; line-height: 43px; }
.h4 { font-weight: 300; font-size: 26px; line-height: 31px; }
@media screen and (max-width: 959px) {
    .h1 { font-size: 35px; line-height: 42px; }
    .h2 { font-size: 26px; line-height: 31px; }
    .h3 { font-size: 23px; line-height: 28px; }
    .h4 { font-size: 19px; line-height: 23px; }
}
/************************************ Ende: Fake Headings ************************************/

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

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

/************************************ Start: Extra Light ************************************/
.extra-light { font-weight: 200; }
/************************************ Ende: Extra Light ************************************/

/************************************ Start: Tel + Mail ************************************/
.block_10000 p:has(.mail,.tel) { display: flex; flex-direction: column; gap: 28px; }
.block_10000 p:has(.mail,.tel) br { display: none; }
.mail,
.tel{ display: flex; }
.mail > a,
.tel > a { position: relative; font-weight: 300; font-size: 26px; line-height: 31px; padding: 0 0 0 49px; }
.mail > a:before,
.tel > a:before,
.mail > a:after,
.tel > a:after { content: ""; position: absolute; z-index: 1; top: 50%; left: 0; transform: translateY(-50%); width: 38px; height: 38px; transition: var(--transition); }
.mail > a:after,
.tel > a:after { opacity: 0; visibility: hidden; }
.mail > a:before { background: center / contain no-repeat url("/pages/img/links/mail/default.svg"); }
.mail > a:after { background: center / contain no-repeat url("/pages/img/links/mail/hover.svg"); }
.tel > a:before { background: center / contain no-repeat url("/pages/img/links/tel/default.svg"); }
.tel > a:after { background: center / contain no-repeat url("/pages/img/links/tel/hover.svg"); }
.mail > a:hover:before,
.tel > a:hover:before { opacity: 0; visibility: hidden; }
.mail > a:hover:after,
.tel > a:hover:after { opacity: 1; visibility: visible; }
@media screen and (max-width: 959px) {
    .block_10000 p:has(.mail,.tel) { gap: 20px; }
    .mail > a,
    .tel > a { font-size: 19px; line-height: 23px; padding: 0 0 0 40px; }
    .mail > a:before,
    .tel > a:before,
    .mail > a:after,
    .tel > a:after { width: 30px; height: 30px; }
}
/************************************ Ende: Tel + Mail ************************************/

/************************************ Start: Linkedin ************************************/
.linkedin { display: flex; }
.linkedin > a { position: relative; padding: 0 0 0 43px; }
.linkedin > a:before,
.linkedin > a:after { content: ""; position: absolute; z-index: 1; top: 50%; left: 0; transform: translateY(-50%); width: 34px; height: 34px; transition: var(--transition); }
.linkedin > a:before { background: center / contain no-repeat url("/pages/img/links/linkedin/default.svg"); }
.linkedin > a:after { background: center / contain no-repeat url("/pages/img/links/linkedin/hover.svg"); opacity: 0; visibility: hidden; }
.linkedin > a:hover:before { opacity: 0; visibility: hidden; }
.linkedin > a:hover:after { opacity: 1; visibility: visible; }
/************************************ Ende: Linkedin ************************************/