/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */

.carousel {
  margin-right: auto;
  margin-left: auto;
}

/*Breite Flickity Carousel + Abstand zwischen Titelleiste und Flickity Carousel*/
@media(min-width: 1301px) {
.carousel {
  width: calc(100% - 75px - 75px);   /*Seitenbreite - Abstand zurm Seitenrand lins - Abstand zum Seitenrand rechts*/
  margin-top: 50px;   /*Abstand Flickity Carousel nach oben*/
  }
}
@media (min-width: 801px) and (max-width: 1300px) {
.carousel {
  width: 100%;
  margin-top: 20px;   /*Abstand Flickity Carousel nach oben*/
  }
}

@media (max-width: 801px) {
.carousel {
  width: 100%;
  margin-top: 30px;   /*Abstand Flickity Carousel nach oben*/
  }
}

.carousel-cell {
  height: 100%;
  background: #f5f4f4;
  counter-increment: gallery-cell;
}
@media (min-width: 1301px) {
.carousel-cell {
  margin-right: 75px;   /*Abstand zwischen den Bildern*/
 }
}
@media (max-width: 1300px) {
.carousel-cell {
  margin-right: 40px;   /*Abstand zwischen den Bildern*/
 }
}

.carousel-cell.is-selected {
  -webkit-filter: none;
  filter: none;
  opacity: 1;
}


/*Höhe Flickity Carousel + Breite der einzelnen Eelemente in Abhängigkeit von der Bildschirmgröße*/

@media (min-width: 1801px) {
.carousel {
  height: calc( 100vh - 90px - 0px - 75px - 60px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 35%;  /*minimale Breits Fotos*/
  max-width: 75%; /*maximale Breits Fotos*/
  width: calc(( 100vh - 90px - 0px - 75px - 60px  ) / 2 * 3);   /*Breite Fotos 3:2 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
}

@media (min-width: 1301px) and (max-width: 1800px) {
.carousel {
  height: calc( 100vh - 90px - 0px - 50px - 50px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 35%;   /*minimale Breits Fotos*/
  width: calc(( 100vh - 90px - 0px - 50px - 50px ) / 2 * 3);   /*Breite Fotos 3:2 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  max-width: 75%;   /*maximale Breits Fotos*/
  }
}

@media (min-width: 1201px) and (max-width: 1300px) {
.carousel {
  height: calc( 100vh - 80px - 0px - 20px - 40px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 40%;   /*minimale Breits Fotos*/
  width: calc(( 100vh - 80px - 0px - 20px - 40px ) / 2 * 3;)   /*Breite Fotos 3:2 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  max-width: 75%;   /*maximale Breits Fotos*/
  }
}

@media (orientation: landscape) and (min-width: 801px) and (max-width: 1200px) {
.carousel {
  height: calc(100vh - 80px - 0px - 20px - 40px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 40%;   /*minimale Breits Fotos*/
  max-width: 70%;   /*maximale Breits Fotos*/
  width: calc(( 100vh - 80px - 0px - 20px - 40px ) / 2 * 3);   /*Breite Fotos 3:2 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
}
@media (orientation: landscape) and (max-width: 800px) {
.carousel {
  height: calc( 100vh - 80px - 0px - 10px - 35px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 40%;   /*minimale Breits Fotos*/
  max-width: 65%;   /*maximale Breits Fotos*/
  width: calc(( 100vh - 60px - 0px - 10px - 35px ) / 2 * 3 );   /*Breite Fotos 3:2 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeliste - Abstand Flickity Fotos unten*/
  }
}

@media (orientation: portrait) and (min-width: 801px) and (max-width: 1200px) {
.carousel {
  height: calc(100vh - 80px - 0px - 30px - 40px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 50%;   /*minimale Breits Fotos*/
  max-width: 70%;   /*maximale Breits Fotos*/
  width: calc(( 100vh - 80px - 0px - 30px - 40px ) / 3 * 2);   /*Breite Fotos 3:2 -  GGrundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
}
@media (orientation: portrait) and (min-width: 561px) and (max-width: 800px) {
.carousel {
  height: calc( 100vh - 60px - 0px - 30px - 35px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  }
.carousel-cell  {
  min-width: 60%;   /*minimale Breits Fotos*/
  max-width: 80%;   /*maximale Breits Fotos*/
  width: calc(( 100vh - 60px - 0px - 30px - 35px ) / 3 * 2 );   /*Breite Fotos 2:3 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeliste - Abstand Flickity Fotos unten*/
  }
}
@media (orientation: portrait) and (max-width: 560px) {
.carousel {
  height: calc( 100vh - 60px - 30px - 40px - 40px );   /*Höhe Fotos:  Grundlage Bildhöhe = Browserfernster - Höhe Titeleiste - Höhe Titel (nur kleiner Bildschirm) - Abstand Titel von  Titeleiste - Abstand Flickity Fotos unten*/
  margin-bottom: 20px;   /*Abstand Flickity Carousel nach oben*/
  }
.carousel-cell  {
  min-width: 40%;   /*minimale Breits Fotos*/
  max-width: 60%;   /*maximale Breits Fotos*/
  width: calc(( 100vh - 60px - 30px - 40px - 40px  ) / 3 * 2 );   /*Breite Fotos 2:3 -  Grundlage Bildhöhe = Browserfernster - Höhe Titeliste - Abstand Flickity Fotos unten*/
  }
}


.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: transparent;
  border: none;
  color: #fff;
}

.flickity-button:hover {
  background: transparent;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots {
  bottom: 1px;
}

.flickity-page-dots .dot {
  display: inline-block;
  background-image: url('../bilder/line.jpg');
  background-repeat: no-repeat;
  background-position-x: center; 
  background-position-y: center; 
  background-attachment: contain;
  height: 40px;
  width: 40px;
  margin: 2px;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}





