/* Targeted responsive fixes discovered during browser QA. */
.banner-main-sec.post-event-hero {
    display: block !important;
    width: 100% !important;
}

.banner-main-sec.post-event-hero > .d-table-cell {
    display: flex !important;
    width: 100% !important;
    min-height: inherit;
    align-items: center;
}

.banner-main-sec h1,
.banner-main-sec h2,
.banner-main-sec p {
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .banner-main-sec .banner-inner-sec {
        display: block !important;
        width: 100%;
        max-width: 100%;
    }
}

html,
body {
    max-width: 100%;
    overflow-x: clip !important;
}
/* QA fixes: card flow and long German headings */
.banner-main-sec h1,
.conference-sec h2 {
    hyphens: manual;
    overflow-wrap: normal;
    word-break: normal;
}

#aufzeichnung .tabs-content {
    height: auto;
}

#aufzeichnung .lead-form-placeholder {
    height: 100%;
}

#aufzeichnung .lead-appointment-placeholder {
    height: auto;
}

@media (max-width: 991.98px) {
    #aufzeichnung .lead-form-placeholder {
        height: auto;
    }

    #terminvereinbarung {
        margin-top: 1rem;
    }
}

@media (max-width: 767.98px) {
    .banner-main-sec.post-event-hero {
        min-height: 650px;
    }

    .banner-main-sec h1 {
        font-size: clamp(2.5rem, 12vw, 3.15rem) !important;
        letter-spacing: -0.04em;
        line-height: 0.98 !important;
    }

    .banner-main-sec .banner-inner-sec {
        padding: 3.75rem 0 4.5rem;
    }

    .conference-sec h2,
    .generic-title h2,
    .blog-main-sec h2 {
        font-size: clamp(2rem, 10vw, 2.65rem) !important;
        line-height: 1.02 !important;
    }
}

/* Post-event elements remain in source but are hidden until the fair has ended. */
[data-post-event][hidden] {
    display: none !important;
}
