/* BEGINN IMAGESLIDER */

.img-slider-container{
    margin-bottom: 2em;
}

.gal{
display: flex;
justify-content: center;
margin: 1.5em auto;
padding-top: 3em;
}

.csslider {
-moz-perspective: 1300px;
-ms-perspective: 1300px;
-webkit-perspective: 1300px;
perspective: 1300px;
display: inline-block;
text-align: left;
color: white;
position: relative;
margin-bottom: 22px;
}
.csslider > input {
display: none;
}
.csslider > input:nth-of-type(10):checked ~ ul li:first-of-type {
margin-left: -900%;
}
.csslider > input:nth-of-type(9):checked ~ ul li:first-of-type {
margin-left: -800%;
}
.csslider > input:nth-of-type(8):checked ~ ul li:first-of-type {
margin-left: -700%;
}
.csslider > input:nth-of-type(7):checked ~ ul li:first-of-type {
margin-left: -600%;
}
.csslider > input:nth-of-type(6):checked ~ ul li:first-of-type {
margin-left: -500%;
}
.csslider > input:nth-of-type(5):checked ~ ul li:first-of-type {
margin-left: -400%;
}
.csslider > input:nth-of-type(4):checked ~ ul li:first-of-type {
margin-left: -300%;
}
.csslider > input:nth-of-type(3):checked ~ ul li:first-of-type {
margin-left: -200%;
}
.csslider > input:nth-of-type(2):checked ~ ul li:first-of-type {
margin-left: -100%;
}
.csslider > input:nth-of-type(1):checked ~ ul li:first-of-type {
margin-left: 0%;
}
.csslider > ul {
position: relative;
max-width: 800px;   /* war 320 px -- Fensterbreite für Arrows */
/*  height: auto; */
/*
width: 600px;
height: 400px;
*/
z-index: 1;
font-size: 0;
line-height: 0;
/*  background-color: #3a3a3a;*/

/*border: 10px solid #3a3a3a;*/

margin: 0 auto;
padding: 0;
overflow: hidden;
white-space: nowrap;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.csslider > ul > li {
position: relative;
display: inline-block;
width: 100%;  /* Fensterbreite LinksRechts-Bilder unsichtbar */
/*  height: 100%; */
overflow: hidden;
font-size: 15px;
font-size: initial;
line-height: normal;
transition: all 0.5s ease-out;

/*
-moz-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
-o-transition: all 0.5s ease-out;
-webkit-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
*/

-moz-background-size: cover;
-o-background-size: cover;
-webkit-background-size: cover;
background-size: cover;
vertical-align: top;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
white-space: normal;
/*  background: gray; */
}
.csslider > ul > li.scrollable {
overflow-y: scroll;
}

.csslider figure{
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
}

.csslider figure img {
max-width: 100%;
height: auto;
display: block;
margin: 0 auto;
border-radius: 1em;
}


.csslider figcaption{
position: absolute; /*dadurch innerhalb des Bildes*/
font-size: 1.1em;
background: white;
color: #555;
}

.csslider > .navigation {
position: absolute;
bottom: -8px;
left: 50%;
z-index: 10;
margin-bottom: -24px;
font-size: 0;
line-height: 0;
text-align: center;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.csslider > .navigation > div {
margin-left: -100%;
}
.csslider > .navigation label {
position: relative;
display: inline-block;
cursor: pointer;
border-radius: 50%;
margin: 0 4px;
padding: 4px;
background: #3a3a3a;
}
.csslider > .navigation label:hover:after {
opacity: 1;
}
.csslider > .navigation label:after {
content: '';
position: absolute;
left: 50%;
top: 50%;
margin-left: -6px;
margin-top: -6px;
background: #0089af;
border-radius: 50%;
padding: 6px;
opacity: 0;
}


.csslider.inside .navigation {
bottom: 10px;
margin-bottom: 10px;
}
.csslider.inside .navigation label {
border: 1px solid #7e7e7e; /*grau*/
}
.csslider > input:nth-of-type(1):checked ~ .navigation label:nth-of-type(1):after,
.csslider > input:nth-of-type(2):checked ~ .navigation label:nth-of-type(2):after,
.csslider > input:nth-of-type(3):checked ~ .navigation label:nth-of-type(3):after,
.csslider > input:nth-of-type(4):checked ~ .navigation label:nth-of-type(4):after,
.csslider > input:nth-of-type(5):checked ~ .navigation label:nth-of-type(5):after,
.csslider > input:nth-of-type(6):checked ~ .navigation label:nth-of-type(6):after,
.csslider > input:nth-of-type(7):checked ~ .navigation label:nth-of-type(7):after,
.csslider > input:nth-of-type(8):checked ~ .navigation label:nth-of-type(8):after,
.csslider > input:nth-of-type(9):checked ~ .navigation label:nth-of-type(9):after,
.csslider > input:nth-of-type(10):checked ~ .navigation label:nth-of-type(10):after,
.csslider > input:nth-of-type(11):checked ~ .navigation label:nth-of-type(11):after {
opacity: 1;
}

/* ARROWS*/


.csslider > .arrows {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}


/* NEUE ARROWS-REGELN */
.csslider > .arrows {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;              /* rechts bündig */
  width: auto;           /* spannt sich über das Bild */
  display: flex;
  align-items: center;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0;            /* kein extra Abstand mehr */
  pointer-events: none;  /* Klicks gehen nur auf Labels */
  z-index: 2;
}

.csslider > .arrows label {
  display: none;                        /* wird per Logik ein-/ausgeblendet */
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,0.3);
  position: relative;
  cursor: pointer;
  pointer-events: all;
 /* box-shadow: inset 2px -2px 0 1px white; */
 /* transition: 0.15s; */
  box-shadow: none;          /* Schatten entfernen */
}

/* Pfeil mit border erzeugen */
.csslider > .arrows label:after {
  content: '';
  position: absolute;
  top: 43%;
  left: 50%;
  width: 10px;               /* Größe des Pfeils */
  height: 10px;
  border: solid white;       /* Farbe des Pfeils */
  border-width: 0 5px 5px 0;
  padding: 4px;
  transform: translate(-50%, -50%) rotate(45deg); /* Standard Richtung nach rechts */
}

/* Hover-Effekt optional */
.csslider > .arrows label:hover:after {
  border-color: #0089af;
}

/* ========== LINKER PFEIL (Prev) ========== */
.csslider.infinity > input:first-of-type:checked ~ .arrows label:last-of-type,
.csslider > input:nth-of-type(1):checked ~ .arrows label:nth-of-type(0),
.csslider > input:nth-of-type(2):checked ~ .arrows label:nth-of-type(1),
.csslider > input:nth-of-type(3):checked ~ .arrows label:nth-of-type(2),
.csslider > input:nth-of-type(4):checked ~ .arrows label:nth-of-type(3),
.csslider > input:nth-of-type(5):checked ~ .arrows label:nth-of-type(4),
.csslider > input:nth-of-type(6):checked ~ .arrows label:nth-of-type(5),
.csslider > input:nth-of-type(7):checked ~ .arrows label:nth-of-type(6),
.csslider > input:nth-of-type(8):checked ~ .arrows label:nth-of-type(7),
.csslider > input:nth-of-type(9):checked ~ .arrows label:nth-of-type(8),
.csslider > input:nth-of-type(10):checked ~ .arrows label:nth-of-type(9),
.csslider > input:nth-of-type(11):checked ~ .arrows label:nth-of-type(10) {

  display: block;
  transform: rotate(90deg); /* Pfeil nach links */
  margin-left: 0;
}

/* ========== RECHTER PFEIL (Next) ========== */
.csslider.infinity > input:last-of-type:checked ~ .arrows label:first-of-type,
.csslider > input:nth-of-type(1):checked ~ .arrows label:nth-of-type(2),
.csslider > input:nth-of-type(2):checked ~ .arrows label:nth-of-type(3),
.csslider > input:nth-of-type(3):checked ~ .arrows label:nth-of-type(4),
.csslider > input:nth-of-type(4):checked ~ .arrows label:nth-of-type(5),
.csslider > input:nth-of-type(5):checked ~ .arrows label:nth-of-type(6),
.csslider > input:nth-of-type(6):checked ~ .arrows label:nth-of-type(7),
.csslider > input:nth-of-type(7):checked ~ .arrows label:nth-of-type(8),
.csslider > input:nth-of-type(8):checked ~ .arrows label:nth-of-type(9),
.csslider > input:nth-of-type(9):checked ~ .arrows label:nth-of-type(10),
.csslider > input:nth-of-type(10):checked ~ .arrows label:nth-of-type(11),
.csslider > input:nth-of-type(11):checked ~ .arrows label:nth-of-type(12) {
  display: block;
  transform: rotate(-90deg); /* Pfeil nach rechts */
  margin-left: auto;
}

.csslider > .arrows label:nth-of-type(even) {
  margin-left: auto; /* diese Labels kleben rechts */
}


/* Responsive Anpassung für Mobilgeräte */
@media screen and (max-width: 200px) {
  .csslider > ul {
    max-width: 100%;   /* volle Breite */
  }

  .csslider figure img {
    width: 100%;       /* Bild skaliert mit Display */
    border-radius: 0.5em;
  }

  .csslider figcaption {
    font-size: 0.9em;  
    padding: 0.4em 0.6em;
  }

  .csslider > .arrows {
    width: 95%;   
    height: 50px;   /* etwas höher für mehr Fläche */
  }

  .csslider > .arrows label {
    top: 25%;            
    padding: 20px;       /* größerer Klickbereich */
    box-shadow: inset 4px -4px 0 2px white; /* stärkere Pfeilwirkung */
  }

  .csslider > .arrows label:hover {
    box-shadow: inset 5px -5px 0 3px #0089af; /* Hover-Effekt bleibt sichtbar */
  }

  .csslider > .navigation {
    bottom: 8px;    
  }

  .csslider > .navigation label {
    padding: 6px;   /* größere Punkte */
  }
}
