:root {
  --lb-dim: var(--ak-grund, #f4f2ed);
  --lb-text: #1f1d1b;
  --lb-text-groesse: .8em;
  --lb-text-breite: 30em;
  --lb-abstand: 1em;
  --lb-knopf: 48px;
  --lb-knopf-deckung: 1;
  --lb-knopf-strich: 1.5px;
  --lb-aussen-deckung: 1;
}

.lb {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 10;
  font-family: "Space Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: auto;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-animation: lb-ein .18s ease-out;
  animation: lb-ein .18s ease-out;
}
@media (min-width: 600px)  { .lb { font-size: 16px; } }
@media (min-width: 1000px) { .lb { font-size: 17.5px; } }
@media (min-width: 1500px) { .lb { font-size: 18.5px; } }
@-webkit-keyframes lb-ein { from { opacity: 0; } to { opacity: 1; } }
@keyframes lb-ein { from { opacity: 0; } to { opacity: 1; } }
.lb-dim {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: #f4f2ed;
  background: var(--lb-dim);
}
.lb-fig { position: absolute; margin: 0; }
.lb-fig img { display: block; margin: 0 auto; }
.lb-cap {
  display: block;
  max-width: 30em;
  max-width: var(--lb-text-breite);
  margin: 1em auto 0;
  margin-top: var(--lb-abstand);
  font-size: .8em;
  font-size: var(--lb-text-groesse);
  line-height: 1.45;
  color: #1f1d1b;
  color: var(--lb-text);
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.lb-cap span { display: block; }
.lb-cap span:empty { display: none; }
.lb-c1 { font-weight: 600; }
.lb-c3 { margin-top: .3em; }
.kurz .lb-c2, .kurz .lb-c3 { display: none; }

.lb-knopf {
  position: absolute;
  width: 48px;
  height: 48px;
  width: var(--lb-knopf);
  height: var(--lb-knopf);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: #1f1d1b;
  color: var(--lb-text);
  opacity: 1;
  opacity: var(--lb-knopf-deckung);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-transition: opacity .15s;
  transition: opacity .15s;
}
.lb-knopf svg { display: block; width: 100%; height: 100%; overflow: visible; }
.lb-knopf path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
  stroke-width: var(--lb-knopf-strich);
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.lb-knopf:hover { opacity: 1; }
.lb-knopf:focus { outline: 1px solid #1f1d1b; outline: 1px solid var(--lb-text); outline-offset: -4px; }
.lb-knopf:focus:not(:focus-visible) { outline: none; }
.zeiger .lb-knopf:focus { outline: none; }

.lb-zu  { top: 8px; right: 8px; }

.lb-zur, .lb-vor, .lb-zaehler { display: none; }
.lb-mehrere .lb-zur, .lb-mehrere .lb-vor, .lb-mehrere .lb-zaehler { display: block; }
.lb-zur { top: 50%; left: 8px; }
.lb-vor { top: 50%; right: 8px; }
.lb-zaehler {
  position: absolute;
  left: 50%;
  width: 80px;
  margin-left: -40px;
  margin-top: 1em;
  font-size: .75em;
  line-height: 1.45;
  letter-spacing: .06em;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: #1f1d1b;
  color: var(--lb-text);
  opacity: 1;
  opacity: var(--lb-knopf-deckung);
}
.lb-schmal .lb-zur, .lb-schmal .lb-vor { top: auto; bottom: 8px; }
.lb-schmal .lb-zur { left: auto; right: 50%; margin-right: 40px; }
.lb-schmal .lb-vor { right: auto; left: 50%; margin-left: 40px; }
.lb-schmal .lb-zaehler {
  bottom: 8px;
  margin-top: 0;
  height: 48px;
  line-height: 48px;
  height: var(--lb-knopf);
  line-height: var(--lb-knopf);
}

.lb-werke {
  position: absolute;
  top: 8px;
  left: 8px;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.lb-werke .lb-knopf {
  position: relative;
  -webkit-box-flex: 0; -ms-flex: none; flex: none;
  opacity: 1;
  opacity: var(--lb-aussen-deckung);
}
.lb-werke .lb-knopf:hover { opacity: 1; }
.lb-werk-zahl {
  font-size: .75em;
  letter-spacing: .06em;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: #1f1d1b;
  color: var(--lb-text);
  opacity: 1;
  opacity: var(--lb-aussen-deckung);
}

@media (prefers-reduced-motion: reduce) {
  .lb { -webkit-animation: none; animation: none; }
  .lb-knopf { -webkit-transition: none; transition: none; }
}

.lb-offen body { overflow: hidden; }
.lb-offen, .lb-offen body { overscroll-behavior: none; }
