/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

body {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  padding-bottom: 0;
  color: #5a5a5a;
}

p {
  font-size: 18px;
}

p.kleiner {
    font-size: 17px;
}

.abstand-oben {
    margin-top: 30px;
}

img.mittig {
    display: block; 
    margin-left: auto;
    margin-right: auto;
}

.image-container-mini {
    position: relative;
    width: 100%;
    padding-bottom: 72.29%;
    overflow: hidden;
}

.alert {
    padding-top: 6px;
    padding-bottom: 6px;
}

.image-container-mini img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#rotary-logo {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  font-size: 21px;
  color: #00236C;
}

#kopf {
  background: url(hintergrund-2026.jpg);
  background-size: 100% 100%;
  padding-top: 80px;
  padding-bottom: 20px;
  margin-bottom: 50px;
}

#kopf-xs {
  background: url(hintergrund-xs-2026.jpg);
  background-size: 100% 100%;
  padding-top: 60px;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.sponsorenlogo {
  vertical-align: middle;
    padding: 10px;
}

b {
  color: #00236C;
  font-weight: 400;
}

.datum {
  font-weight: 800;
  font-size: 85%;
  color: #888;
  margin-left: 0 !important; /* Sicherstellen, dass kein altes margin-left mehr stört */
  white-space: nowrap; /* Verhindert Umbrüche innerhalb einzelner Datum-Spans z.B. bei "19:00 Uhr" */
  /* margin-left: 15px; */
}

.mitabstand {
  margin-bottom: 20px;
}

h3 {
  line-height: 1.3;
}

h4.programm {
    display: flex;
    flex-wrap: wrap; /* Erlaubt das Umbrechen in die nächste Zeile */
    align-items: baseline; /* Richtet die Schriftzeilen unten bündig aus */
    /* Nur horizontaler Abstand zwischen den Elementen (keine vertikale Leerzeile) */
    column-gap: 15px;
    row-gap: 4px; /* Sehr kleiner vertikaler Zeilenabstand beim Umbruch */
    margin-top: 10px;
    margin-bottom: 10px;
}


/* CUSTOMIZE GLIGHTBOX
-------------------------------------------------- */

/* Container für das Vorschaubild relativ positionieren */
.glightbox-thumbnail-wrapper {
    position: relative;
    display: block;
    overflow: hidden;
}

.glightbox-thumbnail-wrapper img {
    width: 100%;
    height: auto;
}

/* --- MOBILANSICHT (Standard bis 767px) --- */
/* Auf dem Mobilgerät steht die Bildunterschrift dauerhaft UNTER dem Bild */
.glightbox-caption-text {
    display: block;
    padding: 5px 0;
    font-size: 13px;
    color: #666;
    text-align: center;
    margin-bottom: -15px;
    padding-bottom: 30px;
}

/* ==========================================
   1. MOBILANSICHT (Standard für Smartphones)
   ========================================== */
.glightbox-thumbnail-wrapper span {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;

    padding: 6px 2px;
    font-size: 11px;
    line-height: 1.3;
    color: #666;
    text-align: center;
    background: transparent;
}





/* CUSTOMIZE THE NAVBAR
-------------------------------------------------- */

/* Special class on .container surrounding .navbar, used for positioning it into place. */
.navbar-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
}

/* Flip around the padding for proper display in narrow viewports */
.navbar-wrapper > .container {
  padding-right: 0;
  padding-left: 0;
}
.navbar-wrapper .navbar {
  padding-right: 15px;
  padding-left: 15px;
}
.navbar-wrapper .navbar .container {
  width: auto;
}


/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  height: 250px;
  margin-bottom: 60px;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  z-index: 10;
}

.carousel-caption img {
  display: block;
  margin: 0 auto;
  margin-top: 100px;
  padding-top: 100px;
}

/* Declare heights because of positioning of img element */
.carousel .item {
  height: 450px;
  background-color: #777;
}

.carousel-inner > .item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  width: 900px;
  height: 250px;
}


/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 20px;
  text-align: center;
}
.marketing h2 {
  font-weight: normal;
}
.marketing .col-lg-4 p {
  margin-right: 10px;
  margin-left: 10px;
}


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 40px 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
.featurette-heading {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -1px;
  margin-bottom: 30px;
}


/* RESPONSIVE CSS
-------------------------------------------------- */

/* nur Mobilgeräte */
@media (max-width: 767px) {

    .image-container-mini {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .glightbox-thumbnail-wrapper img {
        margin-bottom: 0;
        padding-bottom: 0 !important;
    }

    /* Schrift vergrößern */
    .navbar-nav li a {
        font-size: 18px !important;
    }

    /* Dropdown-Menü auf Mobilgeräten vollständig ausblenden */
    .navbar-nav .dropdown-menu {
        display: none !important;
    }

    /* Schriftgröße im Mobilmenü anpassen */
    .navbar-nav li a,
    .dropdown-menu > li > a {
        font-size: 18px !important; /* Passt die Schriftgröße an */
        padding-top: 12px;
        padding-bottom: 12px;
    }

    /* 2. Dropdown-Untermenü in der Mobilansicht immer geöffnet anzeigen */
    .navbar-nav .dropdown-menu {
        display: block !important;
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
    }

    /* Einrückung für Unterpunkte, damit die Hierarchie klar bleibt */
    .navbar-nav .dropdown-menu > li > a {
        padding-left: 30px;
        color: #9d9d9d; /* Textfarbe an navbar-inverse anpassen */
    }

    .navbar-nav .dropdown-menu > li > a:hover,
    .navbar-nav .dropdown-menu > li > a:focus {
        color: #fff;
        background-color: transparent;
    }

}


/* Alles größer als Mobilgerät */
@media (min-width: 768px) {
  .carousel {
    height: 450px;
    margin-bottom: 60px;
  }
  .carousel-inner > .item > img {
    height: 450px;
  }

    .glightbox-thumbnail-wrapper {
        margin-bottom: 15px;
    }

    /* GLightbox: Bildunterschrift als MOUSEOVER-Overlay über das Bild legen */
    .glightbox-caption-text {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0.75); /* Dunkler, halbtransparenter Hintergrund */
        color: #ffffff;                  /* Weiße Schrift */
        padding: 8px;
        font-size: 13px;
        text-align: center;

        /* Standardmäßig unsichtbar (für Mouseover) */
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .glightbox-thumbnail-wrapper span {
        position: absolute !important;
        bottom: 0;
        left: 0;
        right: 0;

        background: rgba(0, 0, 0, 0.75);
        color: #ffffff;
        padding: 8px;
        font-size: 12px;

        /* Standardmäßig unsichtbar */
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .glightbox-thumbnail-wrapper span.glightbox-hover {
        bottom: 15px;
    }

    /* Bei Mouseover / Hover auf Desktop einblenden */
    .glightbox-thumbnail-wrapper:hover span,
    a:hover .glightbox-thumbnail-wrapper span {
        opacity: 1 !important;
        visibility: visible !important;
    }


  /* Navbar positioning foo */
  .navbar-wrapper {
    margin-top: 20px;
  }
  .navbar-wrapper .container {
    padding-right: 15px;
    padding-left: 15px;
  }
  .navbar-wrapper .navbar {
    padding-right: 0;
    padding-left: 0;
  }

  /* The navbar becomes detached from the top, so we round the corners */
  .navbar-wrapper .navbar {
    border-radius: 4px;
  }


    /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 20px;
    font-size: 21px;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 992px) {
  .featurette-heading {
    margin-top: 20px;
  }
  .carousel {
    height: 450px;
    margin-bottom: 60px;
  }
  .carousel-inner > .item > img {
    height: 450px;
  }
}

.haupttext {
}

.sponsoren {
  text-align: center;
  border-left: 1px solid #e5e5e5;
}

.sponsorenseite img {
  xmargin-top: 20px;
  xmargin-bottom: 20px;
}

.sponsoren img {
  margin-top: 10px;
  margin-bottom: 10px;
}

.sponsoren p {
  margin-top: 3px;
  margin-bottom: 3px;
}

.tombola-sponsoren img {
    margin-top: 10px;
    margin-bottom: 10px;
}


/* Sidebar modules for boxing content */
.sidebar-module {
  padding: 15px;
  margin: 0 -15px 15px;
}
.sidebar-module-inset {
  padding: 15px;
  background-color: #f5f5f5;
  border-radius: 4px;
}
.sidebar-module-inset p:last-child,
.sidebar-module-inset ul:last-child,
.sidebar-module-inset ol:last-child {
  margin-bottom: 0;
}
/*
 * Footer
 */

.blog-footer {
  margin-top: 30px;
  padding: 30px 0;
  color: #999;
  text-align: center;
  background-color: #f9f9f9;
  border-top: 1px solid #e5e5e5;
}
.blog-footer p:last-child {
  margin-bottom: 0;
}


/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts-g/roboto-v18-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Roboto Light'), local('Roboto-Light'),
       url('/fonts-g/roboto-v18-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('/fonts-g/roboto-v18-latin-300italic.eot'); /* IE9 Compat Modes */
  src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
       url('/fonts-g/roboto-v18-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-300italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-300italic.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts-g/roboto-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Roboto'), local('Roboto-Regular'),
       url('/fonts-g/roboto-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('/fonts-g/roboto-v18-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Roboto Italic'), local('Roboto-Italic'),
       url('/fonts-g/roboto-v18-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-italic.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-500italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  src: url('/fonts-g/roboto-v18-latin-500italic.eot'); /* IE9 Compat Modes */
  src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'),
       url('/fonts-g/roboto-v18-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-500italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-500italic.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts-g/roboto-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('/fonts-g/roboto-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('/fonts-g/roboto-v18-latin-500.eot'); /* IE9 Compat Modes */
  src: local('Roboto Medium'), local('Roboto-Medium'),
       url('/fonts-g/roboto-v18-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-500.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('/fonts-g/roboto-v18-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
       url('/fonts-g/roboto-v18-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts-g/roboto-v18-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts-g/roboto-v18-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts-g/roboto-v18-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts-g/roboto-v18-latin-700italic.svg#Roboto') format('svg'); /* Legacy iOS */
}

.bildunterschrift {
    font-size: 14px;
    font-weight: 400;
    margin-top: -4px;
    margin-bottom: 14px;
}

.besuch {
    font-size: 24px;
    font-weight: 700;
}

.vorspann-besuch {
    font-size: 18px;
    margin-bottom: 0;
}