h2, h3 {
    font-family: 'Helvetica Neue LT Std 55 Roman', sans-serif;
    color: #000000;
    font-size: 32px;
    font-weight: 300;
}

/*Schriftart "Helvetica" einbinden*/
@font-face {
    font-family: 'Helvetica Neue LT Std 55 Roman';
    src: url('Fonts/HelveticaNeueRoman.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* Grundlayout */
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* Body als Flex-Container*/
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'HelveticaNeueRoman', sans-serif;
}

/* Hauptinhalt nimmt restlichen Platz ein */
#content {
    flex: 1;
    max-width: 1400px;
}

#_description {
  margin-top: 0;
}

/* Seitentitel von adoc bleibt erhalten, wird nur nicht dargestellt */
h1:first-of-type {
    display: none;
}

/*Animierter Link mit Pfeil*/
.animated_link a {
    color: #23947f;
    text-decoration: none;
    font-size: 22px;
}

.animated_link .arrow-icon {
    display: inline-block;
    transition: transform 0.4s ease, stroke 0.4s ease;
}

.animated_link a:hover .arrow-icon {
    transform: translateX(15px);
}

.animated_link a:hover .arrow-icon img {
    filter: grayscale(100%) brightness(0.5);
}

.animated_link a:hover {
    color: #333;
}

/*Oberes Bild*/
.top-image {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
}

/*Sektionierung*/
.sect1.content-block .sectionbody {
    display: flex;
    gap: 10px; /*was 40*/
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 10px; /*was 0 40*/
    box-sizing: border-box;
}

.sect1.content-block .text-side {
    flex: 1 1 60%;
    display: block;
}

.sect1.content-block .text-side .sect2 {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 2em;
}

.sect1.content-block .block-image {
    flex: 0 0 400px;
    max-width: 400px;
}

.block-image img {
    width: 100%;
    height: auto;
    display: block;
}

.scroll-hint {
    display: none;
}

/* Container für zweispaltiges Layout bei Partnerprodukt-Seite*/
.sect1.content-block.side-by-side .sectionbody {
    display: flex;
    align-items: flex-start;
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 10px;
    box-sizing: border-box;
    background-color: #0000000D;
}

.sect1.content-block.side-by-side .special-block-image {
    flex: 0 0 300px;
    max-width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.sect1.content-block.side-by-side .special-block-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.sect1.content-block.side-by-side .text-side {
    flex: 1;
    padding-left: 40px; /* Abstand zur Bildspalte */
}

/*Responsive Design für Mobilgeräte*/
@media (max-width: 768px) {
    .sect1.content-block .sectionbody {
        display: block;
        width: 100%;
        height: auto;
    }

    html, body {
        width: 100%;
        min-height: 100vh;
        margin: 0;
        padding: 0;
    }

    .sect1.content-block .text-side,
    .sect1.content-block .block-image {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .sect1.content-block .block-image {
        margin-top: 1em;
    }

    .block-image img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    .sect1.content-block .text-side .sect2 {
        margin-bottom: 1.5em;
    }

    table {
        width: 100%;
        overflow-x: auto;
        display: block;
        box-sizing: border-box;
    }

    .scroll-hint {
        display: block;
    }

    #jsd-widget {
        min-height: 550px;
    }

    .sect1.content-block.side-by-side .sectionbody {
        flex-direction: column;
        text-align: center;
    }

    .sect1.content-block.side-by-side .image-column,
    .sect1.content-block.side-by-side .text-column {
        flex: 1 1 100%;
    }
}
