@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Merriweather:wght@400;700&family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@400;600;700&family=Playfair+Display:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&family=Roboto+Slab:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap');
.ihnc-carousel{position:relative;width:100%;max-width:100%;margin-inline:auto;overflow:hidden;border-radius:var(--ihnc-radius,8px);box-shadow:0 4px 18px rgb(0 0 0 / 10%);background:#171717;isolation:isolate}
.ihnc-track{position:relative;width:100%;min-height:var(--ihnc-height,554px)}
.ihnc-slide{position:absolute;inset:0;min-height:var(--ihnc-height,554px);opacity:0;visibility:hidden;transition:opacity .45s ease;overflow:hidden}
.ihnc-slide[hidden]{display:none!important}
.ihnc-slide.is-active{position:relative;opacity:1;visibility:visible}
.ihnc-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:var(--ihnc-height,554px);object-fit:cover;object-position:center}
.ihnc-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(22px,4vw,42px);color:var(--ihnc-title-color,#fff);background:linear-gradient(to top,rgb(0 0 0 / var(--ihnc-overlay,.58)) 0%,rgb(0 0 0 / calc(var(--ihnc-overlay,.58)*.55)) 42%,transparent 100%)}
.ihnc-position-top .ihnc-overlay{justify-content:flex-start;background:linear-gradient(to bottom,rgb(0 0 0 / var(--ihnc-overlay,.58)) 0%,rgb(0 0 0 / calc(var(--ihnc-overlay,.58)*.45)) 42%,transparent 100%)}
.ihnc-position-center .ihnc-overlay{justify-content:center;background:rgb(0 0 0 / calc(var(--ihnc-overlay,.58)*.55))}
.ihnc-headline{max-width:900px;margin:0 0 10px;color:var(--ihnc-title-color,#fff);font-family:var(--ihnc-title-font,Lora),Georgia,serif;font-size:clamp(24px,var(--ihnc-title-size,38px),64px);font-weight:600;line-height:1.18;overflow-wrap:anywhere;text-shadow:0 2px 8px rgb(0 0 0 / 30%)}
.ihnc-headline a{color:inherit;text-decoration:none}
.ihnc-headline a:hover{color:inherit;text-decoration:underline;text-underline-offset:4px}
.ihnc-description{max-width:720px;margin:0;color:#fff;font-size:clamp(14px,1.4vw,18px);line-height:1.55;text-shadow:0 1px 5px rgb(0 0 0 / 35%)}
.ihnc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ihnc-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:4px;background:var(--ihnc-button-bg,#004b78);color:var(--ihnc-button-text,#fff)!important;font-weight:600;text-decoration:none!important;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.ihnc-button:hover,.ihnc-button:focus-visible{background:var(--ihnc-button-hover,#e73916);color:var(--ihnc-button-text,#fff)!important;transform:translateY(-1px)}
.ihnc-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;padding:10px;background:#fff}
.ihnc-controls button{cursor:pointer;padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#222}
.ihnc-carousel button:focus-visible,.ihnc-carousel a:focus-visible{outline:3px solid #e73916;outline-offset:3px}
.ihnc-empty{padding:16px;border:1px dashed #bbb}
@media(max-width:1024px){.ihnc-carousel{--ihnc-height:440px}.ihnc-overlay{padding:28px}.ihnc-headline{font-size:clamp(24px,4vw,var(--ihnc-title-size,38px))}}
@media(max-width:767px){.ihnc-carousel{--ihnc-height:clamp(320px,95vw,440px)}.ihnc-overlay{padding:18px}.ihnc-headline{font-size:clamp(22px,6vw,32px)}.ihnc-description{font-size:14px}.ihnc-actions{gap:8px}.ihnc-button{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.ihnc-slide,.ihnc-button{transition:none}}

/* Minimal Imprint-blue pagination dots only */
.ihnc-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 20px;
    padding: 8px 0 0;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.ihnc-dot {
    display: block;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #004b78 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.ihnc-dot.is-active, .ihnc-dot[aria-current="true"] {
    background: #004b78 !important;
    border-color: #004b78 !important;
    transform: scale(1.15);
}
.ihnc-dot:hover, .ihnc-dot:focus-visible {
    background: #004b78 !important;
    border-color: #004b78 !important;
}
.ihnc-dot:focus-visible {
    outline: 2px solid #004b78 !important;
    outline-offset: 3px;
}
.ihnc-controls { display: none !important; }

/* Per-slide headline and Read More hover settings */
.ihnc-headline a { transition: color .2s ease, text-decoration-color .2s ease; }
.ihnc-headline a:hover,
.ihnc-headline a:focus-visible {
    color: var(--ihnc-title-hover-color, var(--ihnc-title-color, #fff)) !important;
}
.ihnc-button {
    font-size: var(--ihnc-button-font-size, 14px) !important;
    padding: var(--ihnc-button-padding-y, 12px) var(--ihnc-button-padding-x, 20px) !important;
    background-color: var(--ihnc-button-bg, #004b78) !important;
    color: var(--ihnc-button-text, #fff) !important;
    text-decoration: none !important;
}
.ihnc-button:hover,
.ihnc-button:focus-visible {
    background-color: var(--ihnc-button-hover, #004b78) !important;
    color: var(--ihnc-button-text-hover, var(--ihnc-button-text, #fff)) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* v1.6.0: dots overlay the image; no separate black pagination strip */
.ihnc-carousel {
    position: relative;
    background: transparent !important;
}
.ihnc-track {
    position: relative;
    z-index: 1;
}
.ihnc-slide {
    border-radius: inherit;
}
.ihnc-dots {
    position: absolute !important;
    z-index: 5;
    left: 0;
    right: 0;
    bottom: 10px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 14px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto;
}
.ihnc-dot {
    appearance: none;
    display: block;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #004b78 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.ihnc-dot.is-active,
.ihnc-dot[aria-current="true"] {
    background: #004b78 !important;
    border-color: #004b78 !important;
    transform: scale(1.15);
}
.ihnc-dot:hover,
.ihnc-dot:focus-visible {
    background: #004b78 !important;
    border-color: #004b78 !important;
}
.ihnc-dot:focus-visible {
    outline: 2px solid #004b78 !important;
    outline-offset: 3px;
}
.ihnc-headline a {
    text-decoration: none !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: color .2s ease, text-decoration-color .2s ease;
}
.ihnc-headline a:hover,
.ihnc-headline a:focus-visible {
    color: var(--ihnc-title-hover-color, var(--ihnc-title-color, #fff)) !important;
    text-decoration: underline !important;
}
.ihnc-controls { display: none !important; }

/* v1.8.0: smooth horizontal right-to-left slide transition */
.ihnc-carousel {
    overflow: hidden;
    position: relative;
    background: transparent !important;
}
.ihnc-track {
    display: flex !important;
    width: 100%;
    min-height: var(--ihnc-height,554px);
    transform: translate3d(0,0,0);
    transition: transform 700ms cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}
.ihnc-slide,
.ihnc-slide.is-active {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    min-height: var(--ihnc-height,554px);
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden;
}
.ihnc-slide[hidden] { display: block !important; }
.ihnc-image { height: 100%; min-height: var(--ihnc-height,554px); }
@media (prefers-reduced-motion: reduce) {
    .ihnc-track { transition: none !important; }
}

/* v1.9.0: unobtrusive overlay arrows in Imprint brand colors */
.ihnc-arrow {
    position: absolute !important;
    z-index: 8;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 52px !important;
    min-width: 42px;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #ffffff !important;
    box-shadow: none !important;
    opacity: .9;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.ihnc-arrow span {
    display: block;
    color: #ffffff !important;
    font-family: Arial, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-2px);
}
.ihnc-arrow-prev { left: 12px; }
.ihnc-arrow-next { right: 12px; }
.ihnc-arrow:hover,
.ihnc-arrow:focus-visible {
    background: #004b78 !important;
    border-color: #004b78 !important;
    color: #ffffff !important;
    opacity: 1;
}
.ihnc-arrow:hover span,
.ihnc-arrow:focus-visible span {
    color: #ffffff !important;
}
.ihnc-arrow:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px;
}
@media (max-width: 767px) {
    .ihnc-arrow {
        width: 34px !important;
        height: 44px !important;
        min-width: 34px;
    }
    .ihnc-arrow span { font-size: 34px; }
    .ihnc-arrow-prev { left: 7px; }
    .ihnc-arrow-next { right: 7px; }
}
