:root {
    --font-size-small: 1.5rem;
    --font-size-regular: 1.75rem;
    --font-size-big: 2rem;
    --letter-spacing: 0.1em;
    --footer-logo-height: 5em;
}

/* ===== Digitalo ===== */
@font-face {
    font-family: 'Digitalo';
    src: url('../fonts/digitalo/digitalo.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

/* ===== IBM Plex Sans ===== */
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('../fonts/IBM_Plex_Sans/IBMPlexSans-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}

body {
    font-family: IBM Plex Sans, sans-serif;
    font-weight: 400; /* Regular */
    min-width: 345px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: IBM Plex Sans;
}

h1 {
    font-weight: 700; /* SemiBold */
}

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

.btn,
.cta > div > p > a > button {
    padding: calc(var(--border-radius)/4) var(--border-radius) ;
    padding-right: var(--border-radius);
    border-radius: var(--border-radius);
    font-weight: bold;
}
#submit,
.cta > div > p > a > button {
    background: linear-gradient(90deg, var(--brand-primary) 40%, var(--brand-light) 100%);
}


#first-line-left {
    background: url('../images/intro.jpeg') center/contain no-repeat;
    background-size: cover;
}
#first-line-right {
    background:
            url('../images/slogan.svg') var(--gap) calc(100% - var(--gap))/auto 55% no-repeat,
            linear-gradient(90deg, var(--brand-primary) 40%, var(--brand-light) 100%);
}

#services-row > * > p,
#contact-row > * > p {
    font-size: var(--font-size-small);
}

nav#mainMenuContainer > div > div > ul > li > a {
    font-size: var(--font-size-regular);
    text-decoration: none;
    letter-spacing: var(--letter-spacing);
    text-transform: uppercase;
}
    nav#mainMenuContainer > div > div > ul > li > a:hover {
        text-decoration: underline;
    }


    /*
    section {
       padding: 2em;
     }
    .nav > li > a {
       !* color: #575656; *!
        text-decoration: none;
     }

    .nav > li > a:hover {
       !* color: #2b2b2b; *!
     }

     h2 {
         font-size: 1.5em;
         font-weight: bold;
         text-decoration: underline;
     }


    footer {
      clear: both;
    }

    #currentSection {
      opacity: 1;
      transition: all 0.5s;
    }
    #currentSection.hide {
      opacity: 0;
    }
    */

#backgroundgroup-top {
    position: relative;
}

#backgroundgroup-top::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1031;
    background-image: url('../images/Pattern.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-attachment: scroll;
    background-position: right;
    pointer-events: none;
}

/* Das background-image von #backgroundgroup-top kannst du jetzt entfernen */
#backgroundgroup-top {
    position: relative;
    /* background-image: entfernt, liegt jetzt im ::after */
}

#backgroundgroup-bottom {
    position: relative;
}
#backgroundgroup-bottom img {
    position: relative;
    z-index: 2;
}

#backgroundgroup-bottom::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: url('../images/Pattern.svg');
    transform: rotate(180deg);
    background-repeat: no-repeat;
    background-size: contain;
    background-attachment: scroll;
    background-position: right;
    pointer-events: none;
}
    footer > div > .row > .col > img {
        max-height: var(--footer-logo-height);
    }
    footer > div > .row > .col > span {
        font-size: var(--font-size-regular);
        letter-spacing: var(--letter-spacing);
    }

#slogan,
#above_content {
    position: relative;
    z-index: 0; /* Liegt unter dem ::after, aber Inhalt bleibt klickbar */
}
