@charset "UTF-8";
/*
 * rlv_site_package — shared CSS
 */

.clear
{
    clear: both;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

/* ── Font Awesome webfont path override ──────────────────────────── */
:root {
    --fa-font-solid:      url('webfonts/fa-solid-900.woff2') format('woff2');
    --fa-font-regular:    url('webfonts/fa-regular-400.woff2') format('woff2');
    --fa-font-brands:     url('webfonts/fa-brands-400.woff2') format('woff2');
}

/* ── Single News ───────────────────────────────────────────────────*/
.news.news-single .news-img-wrap
{
    /*cursor: pointer;*/
}

/* ── Modal ─────────────────────────────────────────────────────────*/
.modal-backdrop
{
    --bs-backdrop-bg: inherit;
    --bs-backdrop-opacity: inherit;
}

.modal-backdrop.show
{
    background-color: rgba(0, 0, 0, .7);
    -webkit-backdrop-filter: blur(10px) contrast(0.9) brightness(0.9);
    backdrop-filter: blur(3px) contrast(0.9) brightness(0.9);
    transition: -webkit-backdrop-filter 0.2s ease-out;
    transition: backdrop-filter 0.2s ease-out;
    transition: backdrop-filter 0.2s ease-out, -webkit-backdrop-filter 0.2s ease-out;
}

.generalModal .modal-dialog
{
    max-width: max-content !important;
}

.generalModal .modal-dialog .modal-content
{
    border-radius: unset;
    border: none;
    box-shadow: none;
    background-color: transparent;
}

.generalModal .modal-dialog .modal-body
{
    background: #ffffff;
}

.generalModal .modal-dialog img
{
    height:auto;
    min-width: 35vw;
    object-fit: contain;
}

.generalModal .modal-dialog .news-img-caption
{
    margin: 0;
}

@media (max-width: 576px)
{
    .modal-dialog
    {
        margin: 0;
    }

    .generalModal .modal-dialog
    {
        max-width: 100% !important;
    }

    .modal-body
    {
        padding: 0;
    }
}

/* ── Carousel────────────────────────────────────────────────────── */

.news-carousel
{
    margin-top: -62px;
}

.news-carousel header h2
{
    font-weight: 800;
    margin-bottom: 1.5rem;
}

.news-carousel .carousel-indicators
{
    top: 27px;
	margin-left: auto;
    /*left: -147px;*/
    justify-content: unset;
}

.news-carousel .carousel-indicators [data-bs-target]
{
    background-color: #444;
    height: 7px;
    width: 55px
}

.content-carousel
{

}

.content-carousel .carousel-item
{
    height: 390px;
}

.content-carousel .carousel-item .frame-default.frame-type-image,
.content-carousel .carousel-item .image img
{
    height: 390px !important;
    width: auto !important;
    max-width: unset;
}


.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
}

.carousel-control-prev,
.carousel-control-next {
    width: 5%;
}

/* Sonderfall News Carousel, */

/*die Pagination soll ausgeblendet sein, über CSS da sonst das "max-Items" in der Extension nicht greift */
.news-carousel .f3-widget-paginator
{
    display: none;
}


/* ── Navbar ─────────────────────────────────────────────────────── */
.navbar-brand {
    letter-spacing: 0.02em;
}

.nav-link {
    /*font-size: 0.95rem;*/
    transition: opacity 0.2s ease;
}

.nav-link:hover {
    /*opacity: 0.75;*/
}

/* ── Mobile Navigation ──────────────────────────────────────────── */
nav.mobile-navigation,
#mobile-navigation-background
{
    display: none;
}

#mobileNavbar
{
    position: absolute;
    z-index: 1000;
    background: white;
    top: 12px;
    border: 1px solid rgb(71,71,71);
    padding: 15px;
    overflow: scroll;
}

#mobile-navigation-background
{
    /*position: absolute;*/
    top: 0px;
    left: 0px;
    /*right: 0px;*/
    /*bottom: 0px;*/
    background-color: black;
    opacity: 0.8;
    z-index: 900;

    height: 100%;
    width: 100%;
    position: fixed;
    overflow:hidden;
}

#mobileNavbar .nav-link,
#mobileNavbar .nav-link:hover,
#mobileNavbar .nav-link.show
{
    font-size: 1.15rem;
    text-align: left;
}

nav.mobile-navigation .navbar-toggler,
nav.mobile-navigation .navbar-toggler:active,
nav.mobile-navigation .navbar-toggler:focus
{
    border: none;
    outline: none;
    box-shadow: none;

    padding-top: 20px;
    padding-left: 16px;
}

nav.mobile-navigation .dropdown-menu
{
    padding-left: 20px;
}

nav.mobile-navigation .nav-icon
{
    width: 25px;
    height: 25px;
    position: relative;
    margin: 0px auto;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

nav.mobile-navigation .nav-icon span
{
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: rgb(92, 99, 106);
    border-radius: 5px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

nav.mobile-navigation .nav-icon span:nth-child(1)
{
    top: 0px;
}

nav.mobile-navigation .nav-icon span:nth-child(2),
nav.mobile-navigation .nav-icon span:nth-child(3)
{
    top: 8px;
}

nav.mobile-navigation .nav-icon span:nth-child(4)
{
    top: 16px;
}

nav.mobile-navigation .nav-icon.open span:nth-child(1)
{
    top: 8px;
    width: 0%;
    left: 50%;
}

nav.mobile-navigation .nav-icon.open span:nth-child(2)
{
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

nav.mobile-navigation .nav-icon.open span:nth-child(3)
{
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

nav.mobile-navigation .nav-icon.open span:nth-child(4)
{
    top: 8px;
    width: 0%;
    left: 50%;
}

nav.mobile-navigation .nav-link.active,
nav.mobile-navigation .dropdown-item.active
{
    font-weight: bold;
    background-color: transparent;
}

/* ── Main content ────────────────────────────────────── */
main img {
    max-width: 100%;
    height: auto;
}

/* ── Footer ──────────────────────────────────────────── */
footer a:hover {
    color: #fff !important;
    transition: color 0.2s ease;
}

/* ── fluid_styled_content tweaks ─────────────────────── */
.ce-bodytext p:last-child {
    margin-bottom: 0;
}

.commercial-banner-container
{
    min-height:150px;
	max-height: 250px;
}

/* -- Top Commercial Banner -- */
.commercial-banner .tx-sf-banners .banner img
{
    width: 100%;
    height: auto;
    max-height:250px;
}

/* -- Right Commercial Banner -- */
.right .tx-sf-banners .banner img
{
    width: 100%;
    height: auto;
}

/* ==========================================================================
   fluid_styled_content – Bildergalerie (ce-gallery)
 ========================================================================== */
.ce-gallery figure { margin: 0; }
.ce-gallery img { display: block; width: 100%; height: auto; }
.ce-gallery figcaption { font-size: .85rem; color: #666; margin-top: .25rem; }

.ce-gallery .ce-row { display: grid; gap: 1rem; grid-template-columns: repeat(1, 1fr); margin: 0 0 1rem; }
.ce-gallery .ce-column { width: auto; padding: 0; }

.ce-gallery[data-ce-columns="2"] .ce-row { grid-template-columns: repeat(2, 1fr); }
.ce-gallery[data-ce-columns="3"] .ce-row { grid-template-columns: repeat(3, 1fr); }
.ce-gallery[data-ce-columns="4"] .ce-row { grid-template-columns: repeat(4, 1fr); }
.ce-gallery[data-ce-columns="5"] .ce-row { grid-template-columns: repeat(5, 1fr); }
.ce-gallery[data-ce-columns="6"] .ce-row { grid-template-columns: repeat(6, 1fr); }
.ce-gallery[data-ce-columns="7"] .ce-row { grid-template-columns: repeat(7, 1fr); }
.ce-gallery[data-ce-columns="8"] .ce-row { grid-template-columns: repeat(8, 1fr); }

/* responsiv: auf Tablet 2 Spalten, auf Mobil 1 Spalte */
@media (max-width: 767px) {
    .ce-gallery[data-ce-columns] .ce-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .ce-gallery[data-ce-columns] .ce-row { grid-template-columns: 1fr; }
}

/* ===== Cookie-Symbol unten links (öffnet Klaro! Cookie-Einstellungen) =====
   Gleicher Stil wie der Nach-oben-Button (#scrollUpBtn): eckig, grün.
   Nur sichtbar, wenn Klaro auf der Seite aktiv ist (#klaro existiert). */
.rlv-cookie-button { display: none; }
body:has(#klaro) .rlv-cookie-button {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 950; /* unter dem Klaro-Fenster (999–1001), über dem Inhalt */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border: solid .35rem #93c8a0;
    border-radius: 0;
    background: #BFE7CD;
    color: #000;
    font-size: 1.35rem;
    text-decoration: none;
    transition: background-color .15s ease;
}
body:has(#klaro) .rlv-cookie-button:hover,
body:has(#klaro) .rlv-cookie-button:focus-visible {
    background: #93c8a0;
    color: #000;
    outline: none;
}
body:has(#klaro) .rlv-cookie-button:focus-visible { box-shadow: 0 0 0 3px #000; }
@media print { .rlv-cookie-button { display: none !important; } }
