/* General Styles */
body {
    font-family: 'open_sanslight', sans-serif;
    margin: 0;
    padding: 0;
}

::selection, ::-moz-selection {
    background: #006ab3;
    color: #fff;
}

a {
    color: #006ab3;
    
}



/* Heading Styles */
h1, h2, h3, h4 {
    font-family: 'open_sansregular', sans-serif;
    line-height: 150%;
    color: #000;
}

h1 {
    font-size: 1.5em;
    padding-bottom: 15px;
}

h2 {
    font-size: 1.25em;
    padding-bottom: 30px;
}

h3 {
    font-size: 1.125em;
    padding-bottom: 15px;
    color: #fff;
}

h4 {
    font-size: 1em;
    font-family: 'open_sansregular', sans-serif;
}

h5.accordion-header {
    font-size: 1.125em;
    padding: 15px 0 5px 0;
}



h5.accordion-header {
    color: #2E3092;
}



strong, b {
    font-family: 'open_sansregular', sans-serif;
}

/* Paragraph Styles */
p {
    line-height: 150%;
}

.text-small, .alert-danger {
    font-size: 15px;
}

.text-big {
    font-size: 1.5em;
}

.content {
    font-size: 1em;
}

.content a {
    color: #2E3092;
        
}

.content a:hover {
    color: #2DA449;
}

.content table {
      font-size: 15px;
   border-bottom: 1px solid  #e6f4ea; 
}

 .content table td {
  
    padding: 15px;
}


.sidebar {
    font-size: 0.8em;
}
/* List Styles */
ol {
    list-style: none;
    padding-left: 10px;
}

ol li {
    padding-left: 15px; 
    text-indent: -30px;
    padding-bottom: 6px;
}

ol li a {
    margin: 0;
    padding: 0;
} 

ol li::before {
    content: '\f285';
    font-family: 'bootstrap-icons';
    color: #2E3092;
    vertical-align: -2px;
    text-decoration: none !important;
    padding-right: 15px;
}

ol.footer-list li::before {
    color: #fff;
}





/* ======================== COMMON NAVBAR STYLES ======================== */

/* Entfernen des Pfeils nur für das Dropdown mit einer bestimmten Klasse */
.navbar .nav-item.dropdown.no-arrow .nav-link.dropdown-toggle::after {
    display: none;
}

.container-nav {
    position: relative;
}

.navbar {
    margin: 0;
    padding: 0;
    background-color: #2E3092; 
}

.navbar-brand {
    width: 120px;
    background-color: rgba(255, 255, 255, 1); /* Weißer Hintergrund für das Logo */
    z-index: 100;
   
    padding: spx 10px; /* Abstand um das Logo */
    border-radius: 0; /* Keine abgerundeten Ecken */
}

.navbar-brand img {
    width: 100%; /* Logo passt sich der Breite an */
    height: auto;
}

/* ======================== LINKS ======================== */


.navbar .nav-item .nav-link {
    text-transform: uppercase;
	color: #fff;
    padding: 0 !important;
    margin:0;

}
.navbar .nav-item .nav-link:hover {
	color: #fff;
}

.navbar .nav-item .nav-link:active {
	color: #fff;
}

.menu-active {
    font-family: 'open_sansregular', sans-serif;
}


/* ======================== MOBILE NAVBAR STYLES ======================== */

@media (max-width: 991px) {

    /* Navbar-Hintergrund und Padding für mobile Geräte */
    .navbar {
        background-color: #2E3092;
        padding: 0; /* Entfernt das Padding der Navbar */
        position: relative;
    }

    /* Navbar-Logo in der mobilen Ansicht, oben bündig ohne Abstand */
    .navbar-brand {
        position: relative;
        display: inline-flex;
        align-items: center;
        padding: 0; /* Entfernt Padding um das Logo */
        margin: 0; /* Entfernt zusätzlichen Außenabstand */
    }

    /* Toggle-Icon fixiert oben rechts */
    .navbar-toggler {
       color: #fff;
        border: none;
    }
    
     .navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}
    
    

    
    

    /* Navigationselemente in der mobilen Ansicht, zentriert */
    .navbar-collapse {
        background-color: #2E3092;
        padding: 0 0; /* Nur vertikales Padding */
        text-align: center; /* Zentriert den Text */
    }

    /* Navigation zentrieren und Trennlinien über die gesamte Breite */
    .navbar-nav {
        display: flex;
        flex-direction: column;
        align-items: stretch; /* Elemente nehmen volle Breite ein */
        width: 100%; /* Stellt sicher, dass Trennlinien volle Breite haben */
    }

    /* Menü-Links zentrieren und volle Breite einnehmen */
    .navbar-nav .nav-link {
        color: #fff;
        padding: 0.5rem 1rem;
        display: block;
        text-align: center;
        width: 100%;
    }

      /* Weiße Trennlinie über die gesamte Breite */
    .navbar-nav .nav-item {
        padding: 5px;
    }
    
    
    /* Weiße Trennlinie über die gesamte Breite */
    .navbar-nav .nav-item:not(:last-child) {
        border-bottom: 1px solid #ffffff; /* Dünne weiße Linie */
        width: 100%; /* Volle Breite für die Linie */
    }

    /* Dropdown-Menü */
    
   
    .dropdown-menu {
        background-color: #2E3092;
        width: 100%; /* Dropdown-Menü nimmt volle Breite ein */
        border: none;
        
    }

    /* Dropdown-Elemente */
    .navbar-nav .nav-item .dropdown-item {
        color: white;
        padding: 10px 20px;
        text-align: center;
    }

    /* Hover-Effekt für Dropdown-Elemente */
    .navbar-nav .nav-item .dropdown-item:hover {
        background-color: #28a745;

    }
    


    
    
}








/* ======================== NON-MOBILE DROPDOWN STYLES ======================== */

/* Dropdown-Menü sichtbar machen, wenn mit der Maus darüber gefahren wird oder geklickt wird */
@media (min-width: 992px) {

    /* Dropdown-Menü verstecken */
    .navbar-nav .nav-item.dropdown .dropdown-menu {
        display: none; /* Startet unsichtbar */
        position: absolute;
        top: 100%; /* Dropdown direkt unter der Navbar */
        left: 50%;
        transform: translateX(-50%) translateY(20px); /* Leichte Anfangsverschiebung nach unten */
        width: auto;
        background-color: #2E3092; /* Blauer Hintergrund */
        border: none;
        padding: 0;
        border-radius: 0px;
        min-width: 200px;
        opacity: 0; /* Startet unsichtbar */
        visibility: hidden; /* Startet unsichtbar */
        transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.2s linear; /* Sanftere Übergänge */
    }

    /* Dropdown beim Hover anzeigen */
    .navbar-nav .nav-item.dropdown:hover .dropdown-menu,
    .navbar-nav .nav-item.dropdown.show .dropdown-menu {
        display: block; /* Dropdown sichtbar */
        opacity: 1; /* Sichtbar */
        visibility: visible; /* Sichtbar */
        transform: translateX(-50%) translateY(0); /* Endposition ohne Verschiebung */

    }

    /* Schriftfarbe der Dropdown-Elemente auf weiß ändern */
    .navbar-nav .nav-item.dropdown .dropdown-item {
        color: white;
        text-align: center;
        padding: 10px 20px;
        transition: background-color 0.3s ease, transform 0.3s ease; /* Sanfter Farbwechsel beim Hover und ggf. Transformation */
    }

    /* Hover-Effekt für Dropdown-Elemente auf grün ändern */
    .navbar-nav .nav-item.dropdown .dropdown-item:hover {
        background-color: #28a745; /* Grüner Hintergrund beim Hover */
    }

    /* Zentrierung des Dropdown-Menüs unterhalb des Menüpunktes */
    .navbar-nav .nav-item.dropdown {
        position: relative;
     
    }

    /* Sicherstellen, dass der Dropdown-Menü beim Klick auch sichtbar bleibt */
    .navbar-nav .nav-item.dropdown.show .dropdown-menu {
        display: block; /* Beim Klick sichtbar machen */
        opacity: 1; /* Sichtbar */
        visibility: visible; /* Sichtbar */
    }

    /* Verringern des Abstands zwischen den Menü-Items */
    ul.navbar-nav li.nav-item {
        padding: 0; /* Verkleinerter Abstand: oben/unten 9px, rechts/links 15px */
    }
}


/* ======================== NAVBAR BRAND STYLES ======================== */

/* Medienabfrage für 992px und größere Bildschirme */
@media (min-width: 992px) {

    .navbar, .navbar-nav .nav-item.dropdown .dropdown-menu {
        font-size: 14px;
    }

    .navbar-brand {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1000;
        width: 175px;
        transition: all 0.9s ease-in-out;
    }

    .navbar-brand.shrink {
        width: 125px;
    }

    .navbar-brand img {
        padding: 8px;
        transition: all 0.9s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    }

    .navbar-brand.shrink img {
        padding: 3px;
    }
    
      /* Verringern des Abstands zwischen den Menü-Items */
    ul.navbar-nav li.nav-item {
        padding: 9px 15px 12px 15px; /* Vergrößerter Abstand: oben/unten 9px, rechts/links 30px */
    }
}

/* ======================== NAVBAR BRAND STYLES FOR LARGE SCREENS ======================== */

@media (min-width: 1200px) {

    .navbar, .navbar-nav .nav-item.dropdown .dropdown-menu {
        font-size: 16px;
    }

    .navbar-brand {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1000;
        width: 210px;
        transition: all 0.9s ease-in-out;
    }

    .navbar-brand.shrink {
        width: 150px;
    }

    .navbar-brand img {
        padding: 8px;
        transition: all 0.9s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    }

    .navbar-brand.shrink img {
        padding: 3px;
    }

    /* Verringern des Abstands zwischen den Menü-Items */
    ul.navbar-nav li.nav-item {
        padding: 9px 20px 12px 20px; /* Vergrößerter Abstand: oben/unten 9px, rechts/links 30px */
    }
}














.carousel-caption {
    color: #000;
}
.carousel-caption a {
    color: #2E3092;
    text-decoration: none;
}


.carousel-caption a::before {
    content: '\f285';
    font-family: 'bootstrap-icons';
    margin-right: 10px;
    color: #2E3092;
    vertical-align: middle;
}


.logos {

    min-height:200px;
}

/* Button Styles */
.btn-primary {
    color: #fff;
    background: #2E3092;
    border: none;
    border-radius: 0;
    margin: 30px 0 0 0;
    padding: 5px 10px;
}

a.btn-primary {
    color: #fff;
}

a.btn-primary:before {
    content: '\f285';
    font-family: 'bootstrap-icons';
    margin-right: 7px;
    color: #fff;
    display: inline-block;
    text-decoration: none;
    vertical-align: middle;
}

a.btn-primary:hover {
    color: #fff;
    background: #2DA449;
    border: none;
}

a.btn-primary:hover:before {
    color: #fff;
}

.btn-link, .btn-link a {
    color: #fff;
}

/* Accordion Styles */
.accordion-item {
    background-color: white;
    border: 1px solid #e6e7f2;
}

.accordion-item, .accordion-button {
    border-radius: 0 !important;
}

.accordion-button:focus {
    outline: none;
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    background: none;
    color: #2E3092;
    border-radius: 0;
}

.accordion-header, .accordion-button {
    font-family: 'open_sansregular', sans-serif;
    font-size: 1em;
    color: #2E3092;
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232E3092'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232DA449'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}


.highlight_img img {
    width: 50px;
    padding: 15px 0;
}
/* Additional Styles */
.news {
    height: h-100;
    padding: 15px;
 
}

.news p {
    line-height: 125%;
}

.news a:before {
    margin-right: 5px;
}

hr {
    border: 0;
    height: 1px;
    background: #2DA449;
    margin: 30px 0;
}

.date {
    font-family: 'open_sansbold', sans-serif;
}

.logo-verband {
    padding: 5px 10px 15px 10px;
}

@media (min-width: 1200px) {
.img-nebenspalte {
    padding-right: 90px;

}
}
@media (min-width: 768px) {
    .logo-verband {
    padding: 15px 30px 30px 30px;
}
}

@media (min-width: 992px) {
    .logo-verband {
    padding: 45px 15px 30px 15px;
}
}

@media (min-width: 1200px) {
    .logo-verband {
    padding: 45px 30px 30px 30px;
}
}
.bg-green {
    background-color: #2DA449;
}

.bg-lightgreen {
    background-color: #e6f4ea;
}

.bg-white {
    background-color: #fff;
}

footer {
    font-size: 1em;
    color: #fff;
}

footer a {
    text-decoration: underline;
    color: #ffffff;
}

footer .small {
    font-size: 0.75em;
    color: #fff;
}

footer_social_icon ul {
    list-style: none;
 
    display: flex;
}

footer_social_icon ul li {
    margin: 0 15px;
    font-size: 1.5em;
}

footer_social_icon ul li:last-child {
    margin-right: 0;
}

footer_social_icon ul li a {
    color: #fff;
}

/* List Styles */


footer ol li::before {
    color: #fff;
}


/* Icon Styles */
.nav-icons {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    border-left: 1px solid #fff;
}

.nav-icons li {
    margin: 0 30px;
}

.nav-icons li:last-child {
    margin-right: 0;
}

.nav-icons li a {
    color: #fff;
    font-size: 1.25em;
}

.nav-arrow {
    margin-left: 5px;
}

/* Keyframes */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Navi Sidebar Archiv */


/* List Styles */
.sidebar a  {

    text-decoration: none;
 
}
.sidebar ul  {
    font-family: 'open_sansregular', sans-serif;
  list-style-type: none;
  margin: 0;
  padding: 0 0 15px 0;
 
}


.sidebar ul  li::before {
    content: '\f285';
    font-family: 'bootstrap-icons';
    margin-right: 10px;
    color: #2E3092;
    vertical-align: middle;
}
.sidebar ul ul li {
    font-family: 'open_sanslight', sans-serif;
}

.sidebar ul ul li::before {
    margin-left: 25px;
}

/* Images */
.img-wide {
    display: inline-block;
        padding: 30px 0  15px 0;
}

.img-text {
    padding: 8px 0  15px 15px;
}
figcaption {
    padding-top: 9px;
    font-size: 12px;
    font-style: italic;
    
}

/* Formular */
.form-control {
  border-radius: unset;
  background-color: #fff!important;
  border-color: #2DA449;
}

.form-control:active,
.form-control:focus,
.form-control:focus:active {
  background-color: #e6f4ea!important;
  border-color: #2DA449;
  color: #000;
}
.form-control:focus, .form-control:focus:active {
  border-color: #2DA449; /* default B5 color or set your own color*/
  outline: none !important;
  box-shadow: none !important;

}


.btn-primary {
	color: #fff;
	background-color: #2DA449;
	border-color: #2DA449;
	margin: 45px 0 0 0;
}
.btn-primary:hover {
	color: #fff;
	background-color: #2E3092;
	border-color: #2E3092;
}



.bg-green {
    background-color: #2DA449;
}

.bg-lightgreen {
    background-color: #e6f4ea;
}

.bg-white {
    background-color: #fff;
}




/* Map */
#map {
    width: 100%;
    height: 300px;
    margin-bottom: 15px;
}

@media (min-width: 768px) {
#map {
    height: 500px;
}
    }

.karte ul {
    list-style: none;
    padding: 0;
}
.karte li {
    margin-bottom: 10px;
}

/* CSS für die Mitgliederliste */
#members-list {
    font-size: 15px;
}

#members-list h6 {
    color: #006ab3;
    padding: 0,
    margin: 0;
    font-family: 'open_sansregular', sans-serif;

}

#members-list a {
    color: #006ab3;
}

#no-members-message {
       padding: 0 10px 30px 10px;
    color: #006ab3;

}

@media (min-width: 768px) {
    #no-members-message {
     padding: 0 0 60px 0;

}
}

/* Allgemeine Form-Stile */
form.umkreissuche {
    padding: 0 10px;
    font-size: 15px;
  display: flex;
  flex-direction: column; /* Elemente werden vertikal (untereinander) angeordnet */

  max-width: 400px; /* Optional: maximale Breite des Formulars */

}


@media (min-width: 768px) {
form.umkreissuche {
    padding: 0;
}
    }

/* Stile für Input-Felder und Textareas */
form.umkreissuche input[type="text"], form.umkreissuche input[type="email"], form.umkreissuche input[type="password"], form.umkreissuche textarea {
  width: 100%;
  padding: 5px;
  font-size: 15px;
  background-color: #fff;
  border: 1px solid #2DA449;
  border-radius: 0px;
  box-sizing: border-box;

}
}


form.umkreissuche input:focus, form.umkreissuche textarea:focus, form.umkreissuche select:focus {
  background-color: #fff;
  outline: none;
}

/* Stile für Select-Optionen */
form.umkreissuche select {
  width: 100%;
  padding: 5px;

  font-size: 15px;
  border: 1px solid #2DA449;
  border-radius: 0px;
  box-sizing: border-box;

}

/* Stile für die Option-Elemente im Select */
form.umkreissuche select option {
  padding: 0px;
}

/* Optional: Stile für Buttons */
form.umkreissuche button {
    margin-top: 30px;
  padding: 5px 20px;
  font-size: 16px;
  background-color: #2DA449;
  color: white;
  border: none;
  border-radius: 0px;
  cursor: pointer;
}

/* Hover-Effekt für den Button */
form.umkreissuche button:hover {
  background-color: #2E3092; 
}

.modal {
      display: none; /* Modal standardmäßig ausblenden */
      position: fixed;
      z-index: 1;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* Transparenter Hintergrund */
      z-index: 2000;
      border-radius:none;
}

/* Modal Inhalt */
.modal-content {
      background-color: #fff;
      margin: 15% auto;
      padding: 20px;
      border: 1px solid #888;
      width: 80%;
      max-width: 500px;
}

/* Header */
.modal-header {
      font-size: 1.2rem;
}

/* Footer */
.modal-footer {
      display: flex;
      justify-content: flex-end;
      margin-top: 20px;
}

.modal-footer button {
      padding: 10px 20px;
      margin-left: 10px;
      cursor: pointer;
}

@media (min-width: 992px) {
.karte {
    margin-top: 45px;
}
    }
