@charset 'utf-8';

/* KRUSTALLEN */

/* ¡Renormasaniset */
*, ::before, ::after {background-repeat: no-repeat; box-sizing: border-box;} html {-webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; -ms-hyphenate-limit-chars: 8 4 4; hyphenate-limit-chars: 8 4 4; -webkit-hyphenate-limit-lines: 3; -ms-hyphenate-limit-lines: 4; hyphenate-limit-lines: 4; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; overflow-y: scroll;} body {background-color: transparent;} a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,input,kbd,label,legend,li,main,mark,menu,nav,object,ol,option,output,p,pre,q,ruby,s,samp,section,select,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,tt,u,ul,var,video {margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;} input {overflow: visible;} button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;} [type="checkbox"], [type="radio"] {padding: 0;} [type="search"] {-webkit-appearance: textfield; outline-offset: -2px;} textarea {overflow: auto; resize: vertical;} ::placeholder {color: inherit; opacity: 0.5;} :-webkit-search-decoration {-webkit-appearance: none;} [hidden] {display: none;} audio, video {display: inline-block;} a {background-color: transparent; text-decoration:none } a, area, button, input, label, select, summary, textarea, [tabindex] {-ms-touch-action: manipulation; touch-action: manipulation;} ol,ul{list-style:none} blockquote,q{quotes:none} blockquote:after,blockquote:before,q:after,q:before{content:'';content:none} table{border-collapse:collapse;border-spacing:0} b,strong{font-weight:bold} em,i{font-style:italic} h1,h2,h3,h4,h5,h6{font-weight:400} button, input, select, textarea {font-family: inherit; font-size: inherit; line-height: inherit;} abbr[title]{text-decoration: underline; text-decoration: underline dotted; cursor:help;} img {border-style: none; -moz-user-select: text; -webkit-user-select: text; user-select: text; -moz-user-drag: none; -webkit-user-drag: none; user-drag: none;} svg {fill: currentColor;} svg:not(:root) {overflow: hidden;}
/* Renormasaniset! */

:root {
--l: 135,35,95;     /* Voll */
--ml: 215,182,202;   /* Mittel */
--hl: 235,218,228;  /* Hell */
--pad: 2em;         /* Global Padding */
--pad2: calc(var(--pad) / 2);         /* Half Padding */
--bpad: .325em .45em .15em .45em; /* Button Padding */
--beige: 144,120,66;
--hbeige: 241,236,222;
scroll-behavior: smooth;
}

body {
color: rgb(var(--beige));
position: relative;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 'Lucida Grande', Leelawadee, Tahoma, Verdana, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 18px;
line-height: 1.5em;
min-height: 100vh;
display: flex;
flex-flow: column nowrap;
}

a,
a svg *,
a img,
input[type='submit'] {
transition: all 250ms ease-in;
}

::selection {
background: rgb(var(--l));
color: white;
}

.incognito {
display: none !important;
}

article p,
div.text > ul:not(.obj),
div.text > ol:not(.obj) {
margin: 0 0 .5em 0;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}

div.text > *:not(.obj) > li {
position: relative;
margin: 0 0 .35em 1em;
}

div.text > *:not(.obj) > li:before {
position: absolute;
left: -1em;
display: block;
width: 1em;
color: rgb(var(--l));
}

div.text > ul:not(.obj) > li:before {
content: '»';
}

div.text > ol:not(.obj) {
counter-reset: liste;
list-style-type: none;
}

div.text > ol:not(.obj) > li:before {
counter-increment: liste;
content: counter(liste) ".";
}

header > div,
main > div,
footer > div {
max-width: 1280px;
margin: 0 auto;
}

.full header > div,
.full main > div,
.full footer > div {
max-width: calc(100% - 18em);
}

header {
background: rgb(var(--hbeige));
padding: var(--pad) var(--pad) 0 var(--pad);
}

header > div {
position: relative;
display: flex;
flex-flow: row wrap;
gap: 1em;
}

header h1 {
flex: 0 272px;
max-width: calc(100% - 72px);
margin-left: calc(-384px * .3175);
transition: margin-left 250ms ease-out;
}

header h1 svg .icon polygon:first-child {
fill: rgb(var(--ml));
}

header h1 svg {
fill: rgb(var(--l));
}

header h1 a:hover svg .icon polygon:first-child {fill: rgb(var(--l));}
header h1 a:hover svg .icon polygon:last-child {fill: rgb(var(--ml));}

header a.menu {
flex: 0 1 3em;
margin: auto 0 auto auto;
height: 3em;
fill: rgba(var(--l),.25);
background: transparent;
}

header a.menu:hover {
fill: white;
background: rgba(var(--l),.25);
}

header a.menu svg {
fill: inherit;
}

header a.menu span {
display: none;
}

header nav {
flex: 1 0 100%;
padding: .5em 0 0 0;
}

main nav {
margin: 0 0 var(--pad) 0;
}

header nav a,
main nav:not(.referenz) a {
font-weight: bold;
text-transform: uppercase;
letter-spacing: .075em;
color: rgb(var(--l));
}

header nav ul ul a,
main nav:not(.referenz) a {
font-size: .875em;
line-height: 1.1em;
}

header nav ul,
main nav ul {
display: flex;
flex-flow: row wrap;
gap: 1em;
}

header nav ul.main > li:last-child {
margin-left: auto;
}

header nav ul li a,
main nav:not(.referenz) ul li a {
display: block;
padding-bottom: .35em;
border-bottom: .25em solid transparent;
}

header nav ul li a:hover,
main nav:not(.referenz) ul li a:hover {
color: rgb(var(--ml));
border-bottom-color: rgb(var(--ml));
}

header nav ul li.aktiv a,
main nav:not(.referenz) ul li.aktiv a {
border-bottom-color: rgb(var(--l));
}

header nav ul.main ul,
header nav > svg,
header nav > a {
display: none;
}

/* Burgermenü */
header nav:target {
display: flex;
flex-flow: row wrap;
gap: .5em;
align-content: flex-start;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100vw;
height: 100vh;
padding: var(--pad);
fill: white;
background: rgba(var(--l),.98);
overflow-y: scroll;
z-index: 1000;
}

header nav:target > svg {
flex: 0 1 384px;
max-width: calc(100% - 72px);
display: block;
fill: white;
}

header nav:target > svg .icon polygon:last-child {
fill: rgba(255,255,255,.5);
}

header nav:target ul.main {
flex-flow: column wrap;
width: 100%;
margin-top: var(--pad);
}

header nav:target ul.main ul {
display: flex;
flex-flow: column wrap;
}

header nav:target > a.menu {
display: block;
fill: white;
}

header nav:target > a.menu:hover {
fill: rgb(var(--l));
background: rgba(255,255,255,.8);
}

header nav:target li a {
display: flex;
color: white;
border-bottom: none;
padding: .25em 0 .15em 0;
}

header nav:target > ul.main > li:not(:last-child) {
padding: 0 0 .5em 0;
border-bottom: .1em solid white;
}

header nav:target ul.main ul {
display: flex;
flex-flow: row wrap;
}

header nav:target ul.main > li:last-child {
margin-left: 0;
}

header nav:target ul.main ul a {
color: rgba(var(--hl),.8);
}

header nav:target ul.main ul a:hover {
color: rgb(var(--ml));
}

header nav:target ul.main ul li.aktiv a {
color: rgb(var(--l));
background: white;
padding: var(--bpad);
}

header div.banner {
display: flex;
flex-flow: row wrap;
gap: .5em var(--pad);
color: white;
background: rgb(var(--ml));
padding: .75em;
width: 100%;
margin: 1em 0 2em 0;
}

header div.banner h2 {
font-weight: bold;
margin: 0;
width: 100%;
}

header div.banner img {
display: block;
width: calc(100% / 3);
height: auto;
margin: .25em 0 auto 0;
}

header div.banner div.text {
flex: 1 1 0;
columns: auto 20em;
column-gap: 1em;
}

header div.banner a {
color: white;
border-bottom-color: rgba(255,255,255,.4);
}

header div.banner a:hover {
color: rgba(255,255,255,.8);
border-bottom-color: white;
}

main {
padding: var(--pad);
}

main hr {
border: 0;
height: 1px;
background: rgb(var(--l));
margin: .5em 0;
}

main h2 {
font-size: 1.2em;
line-height: 1.2em;
font-weight: bold;
color: rgb(var(--l));
margin: 0 0 .5em 0;
}

main * + h2 {
margin-top: 2em;
}

main h3 {
position: relative;
font-weight: bold;
color: rgb(var(--l));
margin: 1em 0 .25em 0;
}

main aside h3:first-child {
margin-top: .5em;
}

main h3:target::before {
content: '→';
position: absolute;
left: -1em;
}

main .downloads h3 {
border-bottom: .1em solid rgba(var(--ml),.5);
margin-bottom: .5em;
}

main ul + h3 {
margin-top: 2em;
}

main h4 {
font-style: italic;
font-weight: normal;
color: rgb(var(--l));
margin: 1em 0 .25em 0;
}

main h5 {
font-style: italic;
font-weight: normal;
margin: 1em 0 0 0;
}

div.text a {
color: black;
border-bottom: .1em solid rgb(var(--ml));
}

div.text a:hover {
color: rgb(var(--l));
border-bottom-color: transparent;
}

code {
color: white;
background: magenta;
padding: .2em .2em .1em .2em;
box-decoration-break: clone;
}

a.knopf {
display: inline-block;
vertical-align: top;
color: rgb(var(--l));
background: rgb(var(--hl));
padding: var(--bpad);
}

a.knopf:hover {
color: white;
background: rgb(var(--ml));
}

article.default {
display: flex;
flex-flow: row-reverse wrap;
gap: var(--pad);
}

article.default nav.referenz {
width: 100%;
}

article.default div.text,
article.default.referenz ul.galerie:not(.is-fullscreen) {
flex: 1 1 50%;
max-width: 36em;
margin: 0 auto;
}

article.default div.text:first-child:last-child {
margin: 0 auto 0 0;
}

article.default aside,
article.default.referenz div.text {
flex: 1;
margin: 0 0 auto 0;
}

ul.downloads li {
margin: 0 0 .25em 0;
}

ul.downloads li a {
display: flex;
flex-flow: row wrap;
gap: 0 .5em;
color: rgb(var(--l));
background: rgb(var(--hl));
padding: .35em .25em .1em .25em;
}

ul.downloads li a:hover {
color: white;
background: rgb(var(--ml));
}

ul.downloads li a svg {
flex: 0 0 1.25em;
transform: translate(.15em,.2em);
margin-bottom: auto;
}

ul.downloads li a > span {
flex: 1;
display: flex;
flex-flow: row wrap;
gap: 0 .5em;
}

span.ext {
font-size: .8em;
font-weight: bold;
text-transform: uppercase;
letter-spacing: .075em;
margin-left: auto;
break-after: avoid;
}

ul.grid {
display: grid;
gap: 2em 1em;
grid-template-columns: repeat(auto-fit, minmax(16em, 1fr));
}

ul.grid.quad {
grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
}

ul.grid li {
scroll-margin-top: var(--pad);
}

ul.grid li a {
display: block;
}

ul.grid li img {
display: block;
max-width: 100%;
box-shadow: none;
}

ul.grid.referenzen li img {
aspect-ratio: 4 / 3;
object-fit: cover;
object-position: 50%;
}

ul.grid li a:hover img {
filter: saturate(1.5);
box-shadow: 0 0 .5em rgba(0,0,0,.4);
}

ul.grid li h3,
ul.grid li h4,
ul.grid.personen li p,
figcaption {
font-size: .875em;
line-height: 1.4em;
color: black;
font-weight: normal;
font-style: normal;
margin: .75em 0 0 0;
}

ul.grid li a:hover h3 {
color: rgb(var(--l));
}

ul.grid.personen li {
overflow: hidden;
}

ul.grid.personen li p {
opacity: 0;
max-height: 0;
transition: max-height 500ms ease-out;
}

ul.grid.personen li:target p {
opacity: 1;
max-height: 150vh;
}

ul.grid.personen li:target h4 {
font-weight: bold;
}

nav.referenz ul {
justify-content: space-between;
}

nav.referenz li > span {
display: inline-block;
vertical-align: top;
padding: var(--bpad);
color: rgb(var(--l));
}

nav.referenz li a span,
nav.referenz li span span {
display: none;
}

.aus {
opacity: .333;
}

ul.galerie {
margin: 0 0 var(--pad) 0;
}

/* 
article.referenz div.text {
display: flex;
flex-flow: row wrap;
gap: 0 var(--pad);
}
 */

article.referenz div.text h2,
article.referenz div.text p.ort {
flex: 1 1 100%;
max-width: 100%;
}

article.referenz div.text > * {
flex: 1;
min-width: 14em;
max-width: 36em;
}

article.referenz h3 {
display: inline;
vertical-align: baseline;
font-weight: bold;
}

article.referenz h3 + p {
display: inline;
vertical-align: baseline;
}

article.referenz h3 + p:after {
content: '';
display: block;
width: 100%;
height: .5em;
}

p.ort {
color: rgb(var(--l));
padding: 0 0 .25em 0;
border-bottom: .1em solid rgb(var(--l));
margin: 0 0 .75em 0;
}

p.ort svg {
display: inline-block;
height: 1em;
margin: 0 .2em 0 0;
overflow: visible;
transform: translateY(.15em);
}

img.crefo {
max-width: 10em;
}

figure {
width: 100%;
}

figure img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
max-height: 80vh;
object-fit: contain;
background: rgb(var(--hl));
}



/* Formular */
.uniform__potty {
position: absolute;
left: -9999px;
}

.uniform-errors,
.success {
color: white;
background: rgba(var(--ml),.8);
padding: var(--pad2);
margin: 0 0 var(--pad2) 0;
}

form {
background: rgb(var(--hl));
padding: var(--pad2);
}

form fieldset + fieldset {
margin: var(--pad) 0 0 0;
}

form fieldset {
display: flex;
flex-flow: row wrap;
gap: var(--pad2);
}

#special-div {
	font-size: .8em;
}
	
#special-header {
    font-weight: bold;
    text-transform: uppercase;	
}
	
form label {
position: relative;
flex: 1;
min-width: calc(50% - (var(--pad2) / 2));
}

form label.voll {
flex: 0 0 100%;
}

form label > * {
width: 100%;
}

form fieldset.submit > * {
flex: 0 0 100%;
}

form label span,
fieldset p {
display: block;
font-size: .8em;
line-height: 1.3em;
margin: 0 0 .5em 0;
}

form input[type='text'],
form input[type='email'],
form input[type='date'] {
line-height: 1;
padding: var(--bpad);
border-bottom: .1em solid rgb(var(--l));
}

form label.error span {
color: red;
}

form label.error input[type='text'],
form label.error input[type='email'],
form label.error input[type='date'] {
border-bottom-color: red;
}

form label.select:after {
content: '↓';
color: rgb(var(--l));
font-size: 1.5em;
line-height: 0;
display: block;
position: absolute;
bottom: .55em;
right: .05em;
pointer-events: none;
}

form select {
display: block;
line-height: 1;
background: white;
padding: var(--bpad);
padding-right: 1.5em;
border-bottom: .1em solid rgb(var(--l));
appearance: none;
border-radius: 0;
}

input[type='submit'] {
color: white;
font-weight: bold;
padding: var(--bpad);
background: rgb(var(--l));
cursor: pointer;
}

input[type='submit']:hover {
background: rgb(var(--ml));
}

aside:has(p.success) form {
display: none;
}



footer {
background: rgb(var(--hbeige));
padding: var(--pad);
margin-top: auto;
}

footer nav ul {
display: flex;
flex-flow: row wrap;
gap: .5em 1em;
justify-content: flex-end;
}

footer nav ul a {
color: rgb(var(--l));
border-bottom: .1em solid transparent;
}

footer nav ul a:hover {
border-bottom-color: rgb(var(--ml));
}

footer ul.logos {
display: flex;
flex-flow: row wrap;
gap: 2em;
margin: 2em 0 0 0;
}

footer ul.logos li img {
height: 48px;
}









/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%;touch-action:pan-y}.flickity-slider{position:absolute;width:100%;height:100%;left:0}.flickity-rtl .flickity-slider{left:unset;right:0}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:grabbing}.flickity-cell{position:absolute;left:0}.flickity-rtl .flickity-cell{left:unset;right:0}.flickity-button{position:absolute;background:hsl(0 0% 100% / 75%);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:0 !important;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.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%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;text-align:center;display:flex;justify-content:center;flex-wrap:wrap}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dot{display:block;width:10px;height:10px;padding:0;margin:0 8px;background:hsl(0 0% 20% / 25%);border-radius:50%;cursor:pointer;appearance:none;border:none;text-indent:-9999px;overflow:hidden}.flickity-rtl .flickity-page-dot{text-indent:9999px}.flickity-page-dot:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-page-dot.is-selected{background:hsl(0 0% 20% / 100%)}

/* Flickity fullscreen v1.0.1
------------------------- */

.flickity-enabled.is-fullscreen{position:fixed;left:0;top:0;width:100%;height:100%;background:hsl(0 0% 0% / 90%);padding-bottom:35px;z-index:1}.flickity-enabled.is-fullscreen .flickity-page-dots{bottom:10px}.flickity-enabled.is-fullscreen .flickity-page-dots .dot{background:#fff}html.is-flickity-fullscreen{overflow:hidden}.flickity-fullscreen-button{display:block;right:10px;top:10px;width:24px;height:24px;border-radius:4px}.flickity-rtl .flickity-fullscreen-button{right:auto;left:10px}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view,.flickity-fullscreen-button-exit{display:none}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit{display:block}.flickity-fullscreen-button .flickity-button-icon{position:absolute;width:16px;height:16px;left:4px;top:4px}





ul.galerie.flickity-enabled.is-fullscreen {
margin: 0;
background: rgba(var(--l),.95);
}

body .flickity-viewport {
height: 100vh;
}

ul.galerie.flickity-enabled.is-fullscreen li {
height: 100vh;
max-height: 100vh;
}

/* Safari-Häck, damit er korrekt zu lange Bilder verkleinert! */
ul.galerie.flickity-enabled.is-fullscreen li:last-of-type::after {
content: '';
display: flex;
height: 200vh;
}

ul.galerie.flickity-enabled li {
width: 100%;
opacity: .2;
transition: opacity 333ms ease-out;
}

ul.galerie.flickity-enabled li.is-selected {
opacity: 1;
}

ul.galerie.flickity-enabled.is-fullscreen figure {
display: flex;
flex-flow: column nowrap;
width: 100%;
height: 100%;
height: 100dvh;
max-height: 100vh;
overflow: hidden;
}

ul.galerie.flickity-enabled.is-fullscreen h3 ,
ul.galerie.flickity-enabled.is-fullscreen figcaption {
  position: relative !important;
}


ul.galerie.flickity-enabled.is-fullscreen figure img {
flex: 1 1 auto;
height: 100%;
object-fit: contain;
object-position: center;
max-height: calc(100vh - 2.6em);
background: transparent;
}

ul.galerie.flickity-enabled.is-fullscreen figure figcaption {
flex: 0 0 auto;
color: white;
text-align: left;
padding: .75em 1em;
margin: 0;
}

body .flickity-button-icon {
fill: rgb(var(--l));
}

body .flickity-fullscreen-button {
padding: .5em;
}

body .flickity-fullscreen-button .flickity-button-icon {
position: static;
width: 100%;
height: 100%;
}

body .flickity-prev-next-button {
top: calc(48% - 22px);
}

body .flickity-fullscreen-button {
right: 12px;
top: 12px;
width: 36px;
height: 36px;
}

body .flickity-page-dots {
width: auto;
right: 0;
bottom: .35em;
}

body .flickity-enabled.is-fullscreen .flickity-page-dots {
right: 1em;
bottom: 1em;
}

body .flickity-page-dot {
background: rgba(var(--l),.25);
margin: 0 0 0 .25em;
}

body .flickity-page-dot.is-selected {
background: rgb(var(--l));
}

body .is-fullscreen .flickity-page-dot {
background: rgba(255,255,255,.25);
}

body .is-fullscreen .flickity-page-dot.is-selected {
background: white;
}

body .flickity-prev-next-button {
transform: translateY(calc(-50% + 18px));
}











/* ############# Screens unter 1600px ############# */
@media only screen and (max-width: 1600px) {

  header h1 {
  margin-left: 0;
  }

  .full header > div,
  .full main > div,
  .full footer > div {
  max-width: 100%;
  }

}







/* ############# Screens unter 960px ############# */
@media only screen and (max-width: 960px) {

  header {
  padding: var(--pad);
  }

  /* Nur noch Burger-Nav */
  header nav,
  main nav:not(.kats) {
  display: none;
  }

  article.default aside,
  article.default.referenz ul.galerie {
  flex: 1 0 100%;
  }
  
  ul.galerie,
  article.default.referenz ul.galerie {
  margin-bottom: var(--pad);
  }

}





/* ############# Screens unter 640px ############# */
@media only screen and (max-width: 640px) {

  :root {
  --pad: 1em;
  }

  header nav:target ul.main ul {
  display: block;
  }

  header nav:target ul.main ul li {
  margin: 0 0 .25em 0;
  }

  header nav:target ul.main ul li a {
  display: inline-block;
  }

}






/* ############# Screens unter 480px ############# */
@media only screen and (max-width: 480px) {

  header div.banner img {
	width: 100%;
	}
	
	form label {
  flex: 0 0 100%;
	}

}



/* Anpassungen PIXELSALON 24.06.26 */

figure.imageBelowText img {
  width: auto;
}


.referenzen.grid.obj {
  gap: 1em;
}

.referenzen.grid.obj.übersicht {
  gap: 0.5em;
  grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
}

.galerie.obj.artikel.flickity-enabled {
  margin-bottom: 0;
  /* tabindex: 0; */
}


.galerie.obj.artikel.flickity-enabled h3,
.galerie.obj.artikel.flickity-enabled figcaption {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 5px;
  opacity: 0;
  transition: 250ms ease-out opacity;
  background: rgba(255,255,255,0.8);
}

.galerie.obj.artikel.flickity-enabled h3 {
  bottom: auto;
  top: 0;
  margin-top: 0;
}

.galerie.obj.artikel.flickity-enabled .flickity-button {
  opacity: 0;
  /* tabindex: 0; */
}

.galerie.obj.artikel.flickity-enabled:hover h3,
.galerie.obj.artikel.flickity-enabled:hover figcaption,
.galerie.obj.artikel.flickity-enabled:hover .flickity-button,
.galerie.obj.artikel.flickity-enabled:focus h3,
.galerie.obj.artikel.flickity-enabled:focus figcaption,
.galerie.obj.artikel.flickity-enabled:focus .flickity-button,
.galerie.obj.artikel.flickity-enabled .flickity-button:focus {
  opacity: 1;
}



body .flickity-page-dots {
  right: 5px;
  bottom: 10px;
}

.flickity-enabled.is-fullscreen figcaption {
  color: rgb(var(--l)) !important;
}

/* ul.referenzen.grid.obj li {
  position: relative;
} */

/* ul.referenzen.grid.obj li a h3 {
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px;
  opacity: 0;
  transition: 125ms ease-out opacity;
  background: rgba(255,255,255,0.8);
}

ul.referenzen.grid.obj li a:hover h3,
ul.referenzen.grid.obj li a:focus h3 {
  opacity: 1;
}  */