/* Basis: Liste ohne Abstände, Bilder ohne Lücken */
.ce_gallery.fullwidthgallery ul,
.ce_gallery.fullwidthgallery li,
.ce_gallery.fullwidthgallery figure {
    margin: 0;
    padding: 0;
}

.ce_gallery.fullwidthgallery ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.ce_gallery.fullwidthgallery li,
.ce_gallery.fullwidthgallery figure,
.ce_gallery.fullwidthgallery .image_container {
    width: 100%;
}

.ce_gallery.fullwidthgallery img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
}

/* Mobile: untereinander (ist mit obigem 100% schon gegeben) */

/* Desktop: nebeneinander wie Filmstreifen */
@media (min-width: 768px) {
    .ce_gallery.fullwidthgallery ul {
        /* falls dein Theme ein Grid via .cols_3 etc. erzwingt, übergehen wir das */
        display: flex !important;
    }
    .ce_gallery.fullwidthgallery li {
        flex: 1 0 auto; /* alle Items gleich breit, keine Lücken */
        width: auto;
    }
}

/* -------- Full-Bleed: bis an den Bildschirmrand -------- */
.ce_gallery.fullwidthgallery {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;

    /* iOS Safe-Area */
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

@supports (width: 100px) {
.ce_gallery
.fullwidthgallery {
    width: 100px;
    margin-left: -50px;
    margin-right: -50px;
    }
}

/* Notbremse gegen abgeschnittene Ränder durch übergeordnete Container */
.c-section, .mod_article, .container {
    overflow: visible;
}

/* Falls irgendwo horizontales Scrollen provoziert wird */
html, body { overflow-x: hidden; }


#footer .rs-columns {
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}



#footer .rs-column.-large-col-3-1 {
  width: auto;
}


/* 1) Gutter im Footer neutralisieren (wie zuvor) */
#footer .rs-column  { padding-left: 0; padding-right: 0; }

/* 2) Erste Spalte (dein rechter Text) wieder rechtsbündig + Linie */

/* 
#footer .rs-columns > .rs-column:first-child {
  text-align: right;
}
*/

/* 3) Letzte Spalte (linker Text) linksbündig + Abstand zur Linie */
#footer .rs-columns > .rs-column:last-child {
  text-align: right;
  flex-direction: column;
}

/* Optional: Mobile untereinander, Linie ausblenden */
@media (max-width: 767px) {
  #footer .rs-columns {
    align-items: center;
    flex-direction: column;
  }
  
 #footer .rs-columns > .rs-column,
 #footer .rs-columns > .rs-column:first-child,
 #footer .rs-columns > .rs-column:last-child {
    text-align: center;
  }
}

.roundimage img {
  width: 100%;
  aspect-ratio: 1 / 1;  /* sorgt für gleiches Verhältnis Breite:Höhe */
  border-radius: 50%;
  object-fit: cover;
}

/* Styling Masonry-Gallery */

.msry_theme_standard.ce_masonry_gallery{
    padding:0
}
.msry_theme_standard .masonry_gallery{
    padding:0;
    border-radius:0;
    box-shadow:none;
    width:calc(33.33336% - 10px)
    
}
@media screen and (max-width: 768px){
    .msry_theme_standard .masonry_gallery{
        width:calc(50% - 10px)
    }
}
@media screen and (max-width: 480px){
    .msry_theme_standard .masonry_gallery{
        width:100%
    }
}
.msry_theme_standard .masonry_gallery a{
    display:block
}
.msry_theme_standard .masonry_gallery a:hover{
    opacity:0.75
}

.msry_theme_standard .masonry_gallery {
    margin-bottom: 10px;
    padding: 5px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .01), 0 1px 5px rgba(0, 0, 0, .1);
}




/* Galerie im Polaroid-Stil */ 
.polaroid-gallery .image_container,
.polaroid {                         /* auch für Einzelbilder */
  background: #fff;
  padding: 10px 10px 32px 10px;     /* unten mehr Platz = Polaroid-Rand */
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
  border-radius: 4px;
  display: inline-block;            /* verhindert, dass figcaption den Rand sprengt */
  text-align: center;
}

/* Bild responsiv */
.polaroid-gallery .image_container img,
.polaroid img {
  display: block;
  width: 100%;
  height: auto;
}

/* Beschriftung im unteren weißen Bereich */
.polaroid-gallery figcaption,
.polaroid figcaption,
.polaroid .caption {                 /* falls du eigene Caption-DIVs nutzt */
  margin-top: 10px;
  font-size: 20px;
  line-height: 1.3;
  color: #333;
}

/* Grid/Abstände der Galerie (optional) */
.ce_gallery ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;                         /* Abstand zwischen „Polaroids“ */
  list-style: none;
  padding: 0;
  margin: 0;
}
.ce_gallery li {
  flex: 0 1 30%;                   /* Kachelbreite (anpassen) 412px */
} 


/* Beispiel: Datepicker-Icon im Feld/Trigger überschreiben */
.ui-datepicker-trigger,
.hasDatepicker,
.input-group .datepicker-trigger {
  background-image: url('/files/theme/img/datepicker.png'); /* lokale, https-sichere Kopie */
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px 16px;
  padding-right: 36px; /* Platz für das Icon */
}



/* leaflet Karte */

#mapid{
    height:500px;
    overflow:hidden;
    border-radius:0px;
    z-index: 3;
    -webkit-border-radius:0px;
    -o-border-radius:0px
}

.leaflet-popup-content{
    font-family:'quicksand',sans-serif;
    font-weight:400;
    font-style:normal;
    font-size:16px !important
}
.leaflet-popup-content h3,.leaflet-popup-content .h3{
    color:#007632 !important;
    margin-bottom:10px;
    font-size:24px
}
.mod_iso_addressbook a.add:link,.mod_iso_addressbook a.add:visited{
    padding:10px 30px;
    background-color:#007632;
    text-decoration:none;
    border-radius:4px;
    color:#fff;
    border-width:0;
    margin-top:5px;
    margin-bottom:5px;
    margin-right:10px;
    display:inline-block
}
.mod_iso_addressbook a.add:hover{
    background-color:#222
}
.mod_iso_addressbook .buttons{
    display:-webkit-box;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-flow:row wrap;
    -moz-flex-flow:row wrap;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
    -webkit-box-pack:start;
    -ms-flex-pack:start;
    -webkit-justify-content:flex-start;
    -moz-justify-content:flex-start;
    justify-content:flex-start
}
.mod_iso_addressbook .buttons a.edit:link,.mod_iso_addressbook .buttons a.edit:visited{
    padding:10px 30px;
    background-color:#007632;
    text-decoration:none;
    border-radius:4px;
    color:#fff;
    border-width:0;
    margin-top:5px;
    margin-bottom:5px;
    margin-right:10px;
    display:inline-block
}
.mod_iso_addressbook .buttons a.edit:hover{
    background-color:#222
}
.mod_iso_addressbook .buttons a.delete:link,.mod_iso_addressbook .buttons a.delete:visited{
    padding:10px 30px;
    background-color:#007632;
    text-decoration:none;
    border-radius:4px;
    color:#fff;
    border-width:0;
    margin-top:5px;
    margin-bottom:5px;
    margin-right:10px;
    display:inline-block;
    background-color:#383634
}
.mod_iso_addressbook .buttons a.delete:hover{
    background-color:#222
}
.mod_iso_addressbook .vcard{
    margin-top:40px
}



/** Buttons **/
.button a,
button {
	/* … */
	}

.button a:hover,
.button a:focus,
button:hover,
button:focus {
	/* … */
	}
	
button {
  cursor: pointer;
}

/** Formular **/
label{
	display: block;
}

input,
textarea,
select {
	margin-bottom: 1em;
	padding: 0.5em;
	border: 1px solid #9999999c;
	outline: 0;
	width: 100%;
	border-radius: 2px;
}

input:focus,
textarea:focus,
select:focus {
	border: 1px solid #9f111b;
}

form span.mandatory {
	display: none;
}

.submit {
	margin-top: 0;
}

p.error {
	color: red;
	background: #f1f1f1;
	border: 2px solid red;
	padding: 0.5em;
	margin: 0 0 0.25em 0;
}

.radio_container span {
	margin-right: 2em;
}

.radio_container input {
	width: auto;
	margin-left: 2px;
}

.radio_container label {
	display: inline-block;
}

.checkbox_container input {
	width: auto;
}

.checkbox_container label {
	display: inline-block;
}







