/* The animation code */
/*
@keyframes bgColor {
  0%   {background-color: rgb(200, 210, 215);}
  25%  {background-color: rgb(210, 220, 230);}
  50%  {background-color: rgb(153, 204, 197);}
  75%  {background-color: rgb(240, 230, 225);}
  100% {background-color: rgb(200, 210, 215);}
}
*/

@import url('fonts.css');

:root {
  font-size: 1.15em;
  font-size: 1.05em;
  --paddingV: 1.75vw;
  --paddingH: 3.5vw;
  --paddingTop: 4em;

  --numColumns: 20;
  --numColumnGap: calc(var(--numColumns) + 1);
  --gridWidth: calc(100vw - var(--paddingH) * var(--numColumnGap));
  --columnWidth: calc(var(--gridWidth) / var(--numColumns));

  --numColumnsBody: 22;
  --numColumnGapBody: calc(var(--numColumnsBody) - 1);
  --gridWidthBody: calc(100vw - var(--paddingH) * var(--numColumnGapBody));
  --columnWidthBody: calc(var(--gridWidth) / var(--numColumnsBody));

  --headerMinHeight: calc(1.5vw * 3.5);
/*   --headerMinHeight: calc(1vw * 4); */
  --paddingH_1_2: calc(.5 * var(--paddingH));
  
  --border: 1px solid black;

  /***** WIDTHS *****/

  --left-half: calc(10 * var(--columnWidth) + 9 * var(--paddingH));
  --two-thirds: calc(13 * var(--columnWidth) + 14 * var(--paddingH));
  --one-third: calc(7 * (var(--columnWidth) + var(--paddingH)));
  --sides: var(--one-third);
  --center: calc(6 * var(--columnWidth) + 6 * var(--paddingH));
  
  --max-width: 40rem;

  /***** HEIGHTS *****/
  --themeHeight: 100vw;

  
  /***** FONT SIZES *****/
  --h1: 1.8em;
  --h2: 1.4em;
  --h3: 1.2em;  
  --h4: 1em;
  
  --figcaption: .8em;
  
  /*****  COLORS  *****/
/*
  --orange: rgb(255, 150, 110);
  --blue: rgb(0, 182, 204);
  --green: rgb(10, 200, 134);
  --purple: rgb(126, 142, 242);
  --red: rgb(255, 106, 103);
  --yellow: rgb(246, 241, 123);
  --beige: rgb(246, 240, 233);
  --beige: #faf8f6;
  --petrol: rgb(153, 204, 197);
  --blue-grey: rgb(210, 220, 230);
  --blue-grey: #e0e6ee;
  --pink: rgb(252, 150, 171);
*/
  
  --purple: #A291E4;
  --purple: rgb(180,150,255);
  --yellow: #f9f686;
  --red: #ff6a67;
  --beige: #faf8f6;
  --beige: #f9f7f5;
  --blue-grey: #e0e6ee;
  --blue: #01b6cc;
  --green: #0ac886;
  --petrol: #99cbc5;
  /* --orange: #EEB57C; */
  --pink: rgb(255,140,210);
  --orange: rgb(255, 150, 110);
  --orange2: var(--orange);
  --yellow2: rgb(246,241,123);
  --yellow2: rgb(255 251 148);
  --teal: rgb(20,212,198);
  --green2: rgb(36,203,151);
  --salmon: rgb(239,170,176);
  --anthracite: rgb(128,128,128);
  --dove: rgb(210,226,233);

  /* NEW COLORS */

  --yellow2: rgb(248, 241, 150);
  --yellow2: rgb(254, 251, 163);
  --yellow2: rgb(254, 252, 162);
  /* --pink: rgba(248, 90, 200, .75); */
  --green: rgba(11, 190, 144, .88);
  --green: rgb(74, 214, 170);
  /* --purple: rgba(116, 53, 243, .64); */
  --mint: rgba(50, 164, 171, .32);
  /* --orange: rgba(254, 119, 69, .54);
  --orange: rgba(254, 119, 69, .62); */
  --orange: rgb(255, 160, 128);
  /* --red: rgba(249, 8, 32, .58); */
  --cappuccino: rgb(247, 225, 220);
  --cappuccino: rgb(248, 230, 223);
  --blue: rgb(143, 209, 255);

  
  /***** BUTTONS *****/
  --buttonSize: 44px;
  
  --fonts: Aeroport,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

@media screen and (min-width: 600px) {
  :root {
    font-size: 1.2em;
    --paddingH: 2vw;
  }
}

@media screen and (min-width: 1024px) {
  :root {
    /***** FONT SIZES *****/
    --h1: 2.2em;
    --h2: 1.6em;
    --h3: 1.4em;  
    --h4: 1.2em;
  }
}

.blue {
  --color: var(--blue);
}
.purple {
  --color: var(--purple);
}
.green {
  --color: var(--green);
}
.beige {
  --color: var(--beige);
}

.background-color {
  background-color: var(--color);
}

.grayscale {
  filter: grayscale(1) opacity(.4);
/*   opacity: .6; */
  transition-property: -moz-filter, -ms-filter, -o-filter, -webkit-filter, filter;
  transition-duration: .2s;
}

.fade {
  opacity: 0;
  z-index: -1;
  transition-property: opacity;
  transition-duration: .2s;
}

.overflow-hidden {
  overflow: hidden;
}


:nth-child(1) { --nth-child: 1 }
:nth-child(2) { --nth-child: 2 }
:nth-child(3) { --nth-child: 3 }
:nth-child(4) { --nth-child: 4 }
:nth-child(5) { --nth-child: 5 }

/*
input::placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder { 
  color: black;
  opacity: 1;
}
*/

/* :-webkit-any(input[placeholder], ::-moz-placeholder, input:-moz-placeholder, ::placeholder),  */
:is(input[placeholder], ::-moz-placeholder, input:-moz-placeholder, ::placeholder) { 
  text-overflow: ellipsis; 
/*   white-space: nowrap !important; */
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  text-overflow: ellipsis !important; 
  white-space: nowrap !important;
}
::-moz-placeholder { /* Firefox 19+ */
/*   color: pink; */
}
:-ms-input-placeholder { /* IE 10+ */
/*   color: pink; */
}
:-moz-placeholder { /* Firefox 18- */
/*   color: pink; */
}

::selection {
  background-color: var(--purple);
  /* TODO: use --background-color */
  /* color: var(--beige); */
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration-thickness: from-font !important;
  text-decoration-skip-ink: auto !important;
  text-underline-position: from-font !important;
}

*:hover, 
*:focus {
  outline: none;
}

a:hover,
a:focus {
  font-style: italic;
  text-decoration-thickness: from-font !important;
  text-decoration-skip-ink: auto !important;
  text-underline-position: from-font !important;
  /* text-underline-offset: from-font !important; */
  text-underline-offset: .025em !important;
  text-decoration-skip-ink: none !important;
}

a:focus {
  text-decoration: underline !important;
}

html, body {
  height: 100%;
}
/*
body {
  display: flex;
  flex-direction: column;
}
*/

strong {
  font-weight: 600;
}

.absolute-bottom {
  position: absolute;
  bottom: 0;
}

main {
/*   flex: 1 0 auto; */
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

main a:hover {
  text-decoration-thickness: .11em !important;
}

main article {
  grid-template-columns: inherit;
  column-gap: inherit;  
  height: 100%;
}

main.project article {
  height: auto;
}

main article section {
  grid-template-columns: inherit;
  column-gap: inherit;  
}

main article section:only-child {
  height: 100%;  
}

@media screen and (min-width: 1024px) {
  main article section {
    display: grid;
  }  
  main.fotoprojekt-rita-thomas article header {
    height: 0 !important;
  }
  
  main.fotoprojekt-rita-thomas article aside.info > *:first-child {
    top: calc(var(--paddingH) + var(--headerMinHeight) + 19.5vh);
  }
}

main:not(.collection) main.column {
  padding-top: var(--paddingH);
}

main:not(.collection) main.column:last-child {
  padding-right: var(--paddingH);  
}

main:not(.collection, .about-us, .besuch) section:not(.full-width) .column {
/*   padding-top: var(--paddingH) !important; */
  padding-top: var(--paddingH);
}

@media screen and (min-width: 1024px) {
  /* main:not(.collection, .insight) section:not(.full-width) .column:last-child { */
  main:not(.collection) section:not(.full-width) .column:last-child {
    padding-right: var(--paddingH) !important;  
  }  
}

/*
main:is(.default, .newsletter, .research) article section .column {
  grid-column: 1 / 11;
}
*/

/*
main:is(.default, .newsletter, .research) article section .column:last-child {
  grid-column: 11 / 21;
}
*/

body.color main.default article section .column:last-child {
/*   grid-column: 11 / 22; */
/*   padding: var(--paddingH); */
/*   background-color: var(--beige); */
}

body.color main.projects .column[style^="background-color"] {
  padding: var(--paddingH);
}

body.color main:-webkit-any(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
  padding: var(--paddingH);
}

body.color main:matches(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
  padding: var(--paddingH);
}

body.color main:is(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
  padding: var(--paddingH);
}

@media screen and (max-width: 1024px) {
  body.color main.projects .column[style^="background-color"],
  body.color main:-webkit-any(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
    width: 100vw;
    margin-left: calc(-1 * var(--paddingH));
  } 

  body.color main:matches(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
    width: 100vw;
    margin-left: calc(-1 * var(--paddingH));
  } 

  body.color main:is(.default, .insight, .event, .publication, .project, .search) article .column[style^="background-color"] {
    width: 100vw;
    margin-left: calc(-1 * var(--paddingH));
  } 
  
}

/*
main .column {
  grid-column-end: span calc(7 * var(--span) - var(--span) + 3 - var(--span));
  grid-column-end: span calc(var(--span) * 2 - 2);
}
*/

main .column {
  grid-column-start: 1;
  grid-column-end: span calc(var(--span));
}

main .column h2 {
  max-width: 15em;
  max-width: var(--max-width);  
}

main.about-us section:not(.full-width) .column h2 {
  max-width: 17.5em;
}

main.about-us section.full-width .column h2 {
  padding: var(--paddingH);
}

main .column p {
  max-width: 35em;
  max-width: var(--max-width);  
  font-size: .94em;
}

main.project main p {
  max-width: var(--max-width);  
}

main.event div.simple ul,
main.project main div.simple ul,
main.project main div.lines ul,
main .column div.arrows ul {
  max-width: 30em;
  max-width: var(--max-width);  
}

main.project main div.simple ul,
main.project main div.lines ul,
main .column div.arrows ul li {
  margin-bottom: .5em;
}

div.aside {
  margin-top: 10.5vh;
}

.padding ul li {
  margin-bottom: 1em;
}

@media screen and (min-width: 1024px) {
  section.column-top .column:last-child {
    padding-top: calc(var(--paddingH) + var(--h1) + 10.5vh) !important;
  }
}

main:not(.about-us):not(.insight, .project) .column[data-span="14"] p:first-child {
  margin-top: calc(2.2rem + 10.5vh);
}

main:not(.about-us) .column[data-span="7"]:first-child {
  padding-right: var(--paddingH);
}

main:not(.about-us) .column[data-span="7"] :-webkit-any(div, blockquote).aside {
  margin-top: calc(2.5em + 10.5vh);
}
main:not(.about-us) .column[data-span="7"] :matches(div, blockquote).aside {
  margin-top: calc(2.5em + 10.5vh);
}
main:not(.about-us) .column[data-span="7"] :is(div, blockquote).aside {
  margin-top: calc(2.5em + 10.5vh);
}
section.support .column[data-span="7"] > *:first-child {
  margin-top: calc(2.5em + 10.5vh);
}

main:not(.about-us) section#f6de761f-5fc5-4f1b-9aac-ea7d3124524d h2 + div.arrows {
/*   margin-top: calc(2.2rem + 10vh);   */
  margin-top: calc(2em * 1.2 + 1em);
}

main .column[data-span="14"] {
  grid-column-end: span calc(var(--span) - 1);
}

@media screen and (min-width: 1024px) {
  main:not(.project) .column[data-span="14"] p,
  main:not(.project):not(.home) .column[data-span="14"] ul {
    font-size: 1.125em;
  }

  main:not(.project) .column form[role=search] p {
    font-size: 1em;
  }

  main:not(.projects) .column[data-span="10"] p,
  main:not(.projects) .column[data-span="10"] ul {
    font-size: 1.125em;  
  }

  main.publication .column[data-span="10"]:first-child p {
    font-size: 1em;
  }
}

/*
main:not(.projects) .column[data-span="10"] + .column[data-span="10"] {
  font-size: 1.1em;  
}
*/


main .column + .column {
  grid-column-start: calc(21 - var(--span));
  grid-column-end: span calc(var(--span) + 1);
}

main .column + .column[data-span="14"] {
  grid-column-start: calc(21 - var(--span) + 1);  
  grid-column-end: span var(--span);
}

/*
main .column[data-span="4"] {
  grid-column-end: span 7;
}

main .column[data-span="8"] {
  grid-column-end: span calc(var(--span) * 2 - 3);
}

main .column[data-span="4"] + .column[data-span="8"] {
  grid-column-start: calc(7 + var(--span) / 2);  
  grid-column-start: var(--span);  
}
*/

/*
main .column + .column {
  grid-column-end: span calc(7 * var(--span) - var(--span) + 2);
  grid-column-start: calc(var(--span) * 2 - 1);
  grid-column-end: span calc(var(--span) * 2 - 2);
}

main .column + .column:last-child {
  grid-column-end: span calc(var(--span) * 2 - 1);
}
*/

footer {
  grid-column: 1 / 22;
  margin-top: 2em;
/*   margin-left: calc(-1 * var(--paddingH)); */
  padding: var(--paddingH);
/*   background-color: var(--orange); */
  line-height: 1.1em;
  align-self: end;
  font-size: .9em;
  z-index: 1;
}

/* The element to apply the animation to */
body {
  width: 100vw;
  height: 100vh;
/*
  background-color: rgb(210, 220, 230);
  animation-name: bgColor;
  animation-duration: 30s;
  animation-iteration-count: infinite; 
*/
/*   animation: bgColor 30s infinite; */
  font-family: var(--fonts);
  font-size: 1.15em;
  font-weight: 300;
/*   display: grid; */
/*   padding: 0 var(--paddingH); */
/*   grid-template-columns: repeat(var(--numColumns), var(--columnWidth)); */
/*   grid-template-columns: repeat(var(--numColumnsBody), var(--columnWidthBody)); */
  grid-template-rows: 1fr auto;
  column-gap: var(--paddingH);  
  overscroll-behavior: none;
}

body:not(.color),
body:not(.color) .column {
  background-color: transparent !important;
}

body:not(.color) main.home section:not(.background) .column {
  border-top: var(--border);
  /* border-left: var(--border); */
}

body:not(.color) main.home section:not(.background) .column:nth-child(even) {
  border-left: var(--border);
}

@media screen and (min-width: 600px) {
  body {
    --font-size: clamp(.8rem, 1.2vw, 4rem);
    --font-size: clamp(.8rem, calc(.8rem + .2vw), 4rem);
    display: grid;    
    font-size: clamp(.8rem, 1.25vw, 4rem);
    font-size: var(--font-size);
  }
}

.visually-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.focusable.visually-hidden:focus {
/*   position: relative; */
  left: 0;
  right: 0;
  width: 100vw;
  height: 2em;
  overflow: auto;
  z-index: 999;
  text-align: center;
}

.focusable.visually-hidden:focus ~ nav.main {
  margin-top: 2em;
}

/*
.full-width,
.full-width-2,
.full-width-3 {
  --marginH: var(--paddingH);
  margin-left: calc(-1 * var(--marginH));
  width: 100vw;
}
*/

.full-width {
  --marginH: var(--paddingH);
/*   margin: calc(var(--paddingH) * 2); */
/*   margin: var(--paddingH); */
/*   margin-top: var(--paddingH); */
  margin-left: calc(-1 * var(--marginH));
  width: 100vw;
}

.full-width img {
  display: block;
}

.full-width picture,
.full-width figure {
  position: relative;
}

.full-width figcaption {
  width: calc(var(--one-third) - var(--paddingH));
  padding: var(--paddingH);
  /* height: 0; */
  margin: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}


@media screen and (min-width: 600px) {
  .full-width-2 {
/*     --marginH: calc(var(--columnWidth) + 2 * var(--paddingH)); */
  }
  
  .full-width-3 {
/*     --marginH: calc(4 * var(--columnWidth) + 5 * var(--paddingH)); */
  }  

  figure.full-width-3 {
    width: calc(13 * (var(--paddingH) + var(--columnWidth)));
  }


}


blockquote.full-width,
blockquote.full-width-2,
blockquote.full-width-3 {
  padding: var(--marginH);
}

ul.slightbox-container:not(.packery-grid),
ul.gallery,
.main-carousel.gallery:not(.flickity-enabled) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1em;
}

/*
.main-carousel.gallery.flickity-enabled {
  height: 140vw;
  display: block;
}
*/

/*
.main-carousel.gallery.flickity-enabled .carousel-cell,
.main-carousel.gallery.flickity-enabled figure,
.main-carousel.gallery.flickity-enabled img {
  height: 60vh;
  height: 140vw;
  width: 100vw;
}
*/

.main-carousel.gallery.flickity-enabled .carousel-cell {
/*   height: 60vh; */
/*   height: 140vw; */
/*   width: 100vw; */
  width: 100%;
  height: 100%;
}

/*
.main-carousel.gallery:not(.flickity-enabled) figcaption {
  display: none;
}
*/

ul.slightbox-container li,
ul.gallery li,
.main-carousel.gallery:not(.flickity-enabled) .carousel-cell {
/*   margin: .25em 0 !important; */
  flex-basis: 100%;
}

ul.gallery[data-column-count="2"] li,
.main-carousel.gallery:not(.flickity-enabled)[data-column-count="2"] .carousel-cell {
  flex-basis: calc(100% / 2 - var(--paddingH_1_2));  
}

.main-carousel.gallery.flickity-enabled:not(.is-fullscreen) .carousel-cell :-webkit-any(figure, picture) {
  height: 100%;
}
.main-carousel.gallery.flickity-enabled:not(.is-fullscreen) .carousel-cell :matches(figure, picture) {
  height: 100%;
}
.main-carousel.gallery.flickity-enabled:not(.is-fullscreen) .carousel-cell :is(figure, picture) {
  height: 100%;
}

.main-carousel.gallery.flickity-enabled .carousel-cell img {
  width: 100%;
/*   height: auto; */
}

@media screen and (min-width: 1024px) {
  ul.slightbox-container li,
  ul.gallery li,
  .main-carousel.gallery:not(.flickity-enabled) .carousel-cell {
    margin: .25em 0 !important;
  }

  .main-carousel.gallery.image-stack {
    height: 100%;
    margin-bottom: 0;
  }

  .main-carousel.gallery.image-stack .carousel-cell {
    height: calc(50% - var(--paddingH_1_2));;
    margin: 0 !important;
  }

  .main-carousel.gallery.image-stack .carousel-cell:first-child {
    margin-bottom: var(--paddingH) !important;
  }

  .main-carousel.gallery.image-stack figcaption {
    width: 100%;
  }

  ul.gallery[data-column-count="3"] li,
  .main-carousel.gallery:not(.flickity-enabled)[data-column-count="3"] .carousel-cell {
    flex-basis: calc(100% / 3 - var(--paddingH_1_2));  
  }
  
  ul.gallery[data-column-count="4"] li,
  .main-carousel.gallery:not(.flickity-enabled)[data-column-count="4"] .carousel-cell {
    flex-basis: calc(100% / 4 - var(--paddingH_1_2));  
  }

  .gallery.center {
    transform: translateX(calc(-1 * 3 * (var(--columnWidth) + var(--paddingH))));
  }

}


.gallery.cover figcaption {
  width: 100%;
  height: 5em;
}

.gallery.cover.no-caption figcaption {
  display: none;
}

figcaption p {
  margin-top: 0 !important;
}

/*
.focusable.visually-hidden:after {
  content: "\f063";
  font-family: 'Line Awesome Free';
  font-weight: 900;
  line-height: 1em;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1000;
}
*/

div.simple ul {
  margin-top: 1em;
}

div.simple ul li {
  margin-bottom: .25em;
}

.linktree div.simple ul li {
  margin-bottom: 0;
}

/***** HEADER *****/

body > main {
  grid-template-columns: repeat(var(--numColumns), var(--columnWidth));
  column-gap: var(--paddingH);  
  padding-left: var(--paddingH);  
  padding-right: var(--paddingH);  
  width: 100vw;
}

body > main:not(.project):not(.collection):not(.besuch) section:not(.full-width):last-child .column,
main.event main.column,
main.publications > article {
  padding-bottom: 1em;
}

@media screen and (min-width: 1024px) {
  body > main:not(.project):not(.collection):not(.besuch) section:not(.full-width):last-child .column,
  main.event main.column,
  main.publications > article {
    padding-bottom: 2.5em;
  }  
}

body > header {
/*   display: grid; */
  grid-template-columns: repeat(var(--numColumns), var(--columnWidth));
/*   grid-template-rows: auto 1fr auto; */
  column-gap: var(--paddingH);  
  position: relative;
  font-size: 1.1em;
  line-height: 1.15;
  line-height: 1.25;
/*
  font-size: 1.5vw;
  line-height: 1.55vw;
*/
  z-index: 999;
  
  position: fixed;
  
  top: 0;
  left: 0;
  right: 0;
  padding: 
    /* calc(.25 * var(--paddingH))  /* calc(.625 * var(--paddingH)) */
    0;
  padding-bottom: calc(.25 * var(--paddingH));
  padding-bottom: 0;
  padding: 0 var(--paddingH);
  padding-bottom: calc(.1 * var(--paddingH));
  background-color: white;
  min-height: var(--headerMinHeight);
  border-bottom: var(--border);
  max-width: 100vw;
}

body.color {
  background-color: var(--bgColor);
}

body.color > header {
  border-bottom: none;
}

body.color > main {
  color: var(--bgColor_contrast);
}

@media screen and (min-width: 1024px) {
  body > header {
    display: grid;
    padding-bottom: calc(.3 * var(--paddingH));
  }
}

body > footer {
  padding-top: calc(1.5 * var(--paddingH));
}

body > footer .logo,
body > footer h2,
body > footer h3,
body > footer p {
  font-size: 1em !important;
  line-height: 1.2em !important;
/*   letter-spacing: normal !important; */
}
/*

body:not(.collection):not(.events):not(.contact):not(.project) > footer {
  margin-top: var(--paddingTop);
}
*/

body > footer {
  margin-top: 0;
}

body.collection > footer {
  margin-top: 0;
}

body.collection article section:last-child {
/*
  background-color: white;
  padding-bottom: var(--paddingTop);
*/
}

@media screen and (max-width: 1024px) {
  body > main,
  main.collection {
    margin-top: 3em;
    padding-top: 0;
  }
}

/***** PREHEADER *****/

#preheader {
/*
  max-height: 5em;
  visibility: visible;
  opacity: 1;
*/
  height: 2.5em;
}

#preheader .opening, #preheader .opening dl > * {
  display: inline-block;
}

#preheader .opening dd + dt {
  margin-top: 0;
  margin-left: 1em;
}

body > header.scroll #preheader {
/*   display: none; */
/*
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  padding: 0;
  margin: 0;
*/
/*
  -webkit-transition: max-height 1s;
  transition: max-height 1s;
*/
}

/*
header.anim {
  background-color: unset;
  border-bottom: 1px solid transparent;
}
*/

header.opener #preheader,
header.opener nav.main > *:not(#logo) {
  display: none;
}

@media screen and (min-width: 1024px) {
  body > header > *:not(progress) {
    padding-left: var(--paddingH);
    padding-right: var(--paddingH);
  }  
}

body > header progress {
  align-self: end;
  width: 100vw !important;
/*   grid-column: 1/11; */
  margin-top: calc(.5 * var(--paddingH));
  height: 1px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  color: black; /* var(--purple); */
  background: transparent;
  display: none;
  transition: ease;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin-top: 0;
}

@media screen and (min-width: 1024px) {
  body > header progress {
    display: block;
  }
}

header progress::-webkit-progress-bar { background: transparent; }
header progress::-webkit-progress-value { background-color: black; /* var(--purple); */ }
header progress::-moz-progress-bar { background: black; /* var(--purple); */ }

@media screen and (min-width: 1024px) {
  header:hover nav.main,
  header:focus-within nav.main {
    height: auto;
  }
  
  header:hover nav.main ul.sub li,
  header:focus-within nav.main ul.sub li {
    display: block;
  }
  
  header:hover nav.main li.additional,
  header:focus-within nav.main li.additional {
    display: flex !important;
  }
  
  header:hover nav.main div ul.sub > li,
  header:focus-within nav.main div ul.sub > li {
    display: block !important;
  }  
}


/*
ul#nav li:hover ul.sub li {
  transition: ease;
  display: block
}
*/

/***** MAIN NAVIGATION *****/

nav.main {
/*   display: grid; */
  width: 100vw;
  grid-template-columns: inherit;
  grid-column-gap: inherit;
  padding-left: var(--paddingH);
  padding-right: var(--paddingH);
  padding-left: 0;
  padding-right: 0;
  white-space: nowrap;
  padding-top: calc(.5 * var(--paddingH));
  padding-bottom: calc(.5 * var(--paddingH));
/*   line-height: 1.1em; */
  max-height: 100vh;
  overflow-y: scroll;
  overscroll-behavior: contain;
}

button.icon-menu[aria-expanded=true] + ul#nav,
nav.main.expanded {
/*   height: 100vh; */
/*   overflow-y: scroll; */
/*   padding-top: env(safe-area-inset-top); */
  padding-bottom: env(safe-area-inset-bottom);
}

nav.main ul.sub {
  white-space: normal;
}

nav.main button.icon-menu[aria-expanded=false] ~ ul#nav > li {
  display: none;
}

nav.main button.icon-menu[aria-expanded=true] ~ ul#nav > li,
nav.main.expanded ul.sub li {
/*   display: inline-block; */
  display: block;
  margin-right: 2em;
  white-space: normal;
}

nav.main button.icon-menu[aria-expanded=true] ~ ul#nav {
  margin-top: 1.5em;
}

body.overflow-hidden nav.main button.icon-menu[aria-expanded=true] ~ ul#nav {
  margin-top: 4em;
}

@media screen and (min-width: 1024px) {
  nav.main {
    display: grid;
    padding-top: calc(.625 * var(--paddingH));
    padding-bottom: calc(.625 * var(--paddingH));
    padding-bottom: inherit;
/*     line-height: inherit; */
/*
    height: auto;
    overflow-y: auto;
*/
  }  
  
  nav.main ul.sub {
    white-space: nowrap;
  }
  
  nav.main button.icon-menu[aria-expanded=false] ~ ul#nav > li:not(.additional) {
    display: block;
  }

}


nav.main ul#nav {
  --columnStart: 1;
  --numColumsnNav: 1; /* calc(var(--numColumns)); */
/*   display: grid;   */
  grid-column-start: var(--columnStart);
/*   grid-column: 4 / 10; */
  grid-template-columns: repeat(var(--numColumsnNav), calc(var(--gridWidth) / var(--numColumsnNav)));
  column-gap: var(--paddingH);  
/*   display: none; */
  padding-bottom: env(safe-area-inset-top);
  line-height: 1.8;
}

@media screen and (min-width: 1024px) {
  nav.main ul#nav {
    display: grid;
    line-height: inherit;
  }
}

nav.main ul#nav li {
  grid-column: span 3;
}

@media screen and (min-width: 1024px) {
  button.icon-menu {
    display: none;
  }
  
  nav.main ul#nav {
    --columnStart: 5;
    --numColumsnNav: 20; /* calc(var(--numColumns)); */  
  }
  
  nav.main ul#nav li {
    grid-column: span 3;
  }

}

.language_switcher li, .social li {
  display: inline-block !important;
}

.language_switcher li:first-child::after {
  content: " / ";
}

.social {
  margin-top: 2.5em;
  margin-top: 2.2em;
  font-size: 1.2em;
  margin-left: -.25em;
}

.social li {
  margin-left: .25em;
}

ul.sub + ul.social {
  margin-top: .5em;
  display: none;
}

ul.sub + ul.social li {
  margin-left: 0;
  /* margin-right: .25em; */
}

ul.social li a {
  width: 1em;
  height: 1em;
  display: inline-block;
  line-height: 1;
}

/*
nav.main > div:last-child {
  display: none;
}
*/

@media screen and (min-width: 1024px) {
  header:hover nav.main ul.sub + ul.social,
  header:focus-within nav.main ul.sub + ul.social {
    display: block;
  }


  nav.main > div:last-child {
/*     display: block; */
    grid-column: var(--numColumns);
    justify-self: end;
    text-align: right;
  }
  
  nav.main > div:last-child .sub > li {
  /*   margin-top: 1.2em; */
  }
  
}


nav.main #logo {
  grid-column: 1 / 21;
  font-size: .94em;
  line-height: inherit;
}

nav.main #logo ul.sub li {
  display: none;
}

nav.main.expanded #logo {
  margin-bottom: 1em;
}

nav.main.expanded #logo ul.sub li {
  min-height: 44px;
}

@media screen and (max-width: 1024px) {
  body.overflow-hidden nav.main #logo {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    padding-top: calc(0.5 * var(--paddingH));
    padding-left: var(--paddingH);
    height: 3em;
    z-index: 1;
  }
}

@media screen and (min-width: 1024px) {
  nav.main #logo {
    grid-column: 1 / 3;  
  }

  nav.main ul.sub > li:first-child {
    margin-top: .5em;
  }

  nav.main ul.sub > li.active,
  nav.main ul.sub > li[aria-current] {
    margin-top: 0;
  }
}




header:hover nav.main ul.sub > li[aria-current]:first-child,
header:focus-within nav.main ul.sub > li[aria-current]:first-child {
  margin-top: .5em;  
}

header:hover nav.main ul.sub > li.active:first-child,
header:focus-within nav.main ul.sub > li.active:first-child {
  margin-top: .5em;  
}

nav.main ul.sub li {
  display: none;
}

@media screen and (min-width: 1024px) {
  nav.main ul.sub li {
    display: none;
  }  
}


nav.main a, nav.main li a {
  text-decoration: none;
  color: inherit;
}

nav.main ul:not(.sub) li.active > a,
nav.main ul:not(.sub) li[aria-current] > a {
  text-decoration: underline;
}

nav.main ul.sub li.active > a,
nav.main ul.sub li[aria-current] > a {
  text-decoration: none;
}

nav.main a:hover {
  text-decoration: underline;
}

/*
nav.main a:hover::before {
  content: "·";
}
*/
@media screen and (min-width: 1024px) {
  nav.main ul.sub li.active,
  nav.main ul.sub li[aria-current] {
    display: block;
  } 
}

nav.main ul#nav > li {
  text-transform: uppercase;
  font-size: .94em;
  letter-spacing: .04em;
  margin-bottom: 1.2em;  
}

nav.main ul#nav > li.additional {
  margin-bottom: .2em; 
}

@media screen and (max-width: 1024px) {

  nav.main ul#nav > li {
    font-size: inherit;
/*     text-transform: none; */
/*     font-size: 1.6em; */
/*     letter-spacing: -.025em; */
  }

  nav.main ul.sub {
/*     font-size: 1.3rem; */
  }
}

nav.main ul.sub li {
  text-transform: none;
  font-size: 1em;
  letter-spacing: normal;
/*   line-height: 2em; */
/*   min-height: 44px; */
}

@media screen and (max-width: 1024px) {
  nav.main ul#nav > li > button.nav,
  nav.main ul#nav > li > a {
    font-size: 1.1em !important;
  }  
}



nav.main ul#nav li a {
/*   min-height: 44px; */
  display: inline-block;
/*   line-height: 2em; */
}

@media screen and (min-width: 1024px) {
  nav.main ul#nav > li {
    margin-bottom: unset;  
  }
  
  nav.main ul.sub li {
    min-height:inherit;
    line-height: inherit;
  }
  
  nav.main ul#nav li a {
    min-height:inherit;
    margin-bottom: unset;
    line-height: inherit;
  }  
}

/***** SEARCH *****/

main.search {
  padding-top: var(--paddingTop);
/*   padding-bottom: 4em; */
}


@media screen and (max-width: 1024px) {
  main.search {
    --paddingTop: calc(10vh + 4em);
  }
}



nav.main button#search_btn[aria-expanded=true] ~ #search_div {
  display: flex !important;
}

nav.main button#search_btn[aria-expanded=true] ~ ul#nav {
  display: none !important;
}

#search_div {
  z-index: 0;
  grid-column: 5 / 20;
  background-color: white;
/*   position: absolute; */
  padding-left: 0;
  padding-right: 0;
/*   padding-top: .9vw; /* .5vw; */ 
/*   padding-top: inherit; /* calc(.5 * var(--paddingH)); * */
  font-size: 1.6em;
  margin-top: -.1em;
  width: calc(14 * (var(--columnWidth) + var(--paddingH)));
  width: 100%;
}

#search_div form {
  width: 100%;
  display: flex;
  align-items: center;
}

#search_div form > *:not(label) {
  min-width: 0;
  flex-shrink: 0;
}

#search_div input[type=search] {
  flex-shrink: 1;
}

@media screen and (max-width: 1024px) {
  #search_div {
/*
    top: 0;
    left: calc((var(--columnWidth) + var(--paddingH)) * 3.75);
*/
    padding: var(--paddingH) 0;
    height: 20vh;
    align-items: flex-end;
    font-size: 1em;
    margin-bottom: 1em;
    width: calc(100vw - 2 * var(--paddingH));
    margin-top: 4em;
  }
    
  main.recherche form[role=search] {
    font-size: 1em;    
  }
  
  form[role=search],
  #search_div form {
/*     flex-direction: row; */
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
  }

  form[role=search] > input#meta,  
  #search_div form > input#search {
    width: 100%;
    margin-bottom: var(--paddingH);
  }
}

#search_btn,
.icon-menu {
  --buttonSizeSVG: 24px;
  border: none;
  font-family: inherit;
  font-size: inherit;
  font-size: 1.2em;
  font-weight: inherit;
  line-height: 1.1em;
  background: none;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  width: var(--buttonSize);
  height: var(--buttonSize);
}

#search_btn.close {
  width: calc(1.4 * var(--buttonSize));
  height: calc(1.4 * var(--buttonSize));
}

#search_btn svg,
.icon-menu svg {
  min-height: var(--buttonSizeSVG);
  min-width: var(--buttonSizeSVG);
}

@media screen and (min-width: 1024px) {
  #search_btn:focus-within,
  .icon-menu:focus-within {
    background: black;
    border-radius: 2em;
  }
  
  body.color #search_btn:focus-within,
  body.color .icon-menu:focus-within {
    background: var(--purple);
  }
  
  body:not(.color) #search_btn:focus-within svg,
  body:not(.color) .icon-menu:focus-within svg {
    fill: white;
  }
}



@media screen and (max-width: 1024px) {
  #search_btn,
  .icon-menu {
    display: grid;
  }

  #search_btn svg,
  .icon-menu svg {
    padding: 0;
  }  
}

@media screen and (min-width: 1024px) {
  #search_btn,
  .icon-menu {
    --buttonSizeSVG: var(--buttonSize);
  }
  
  #search_btn.close svg {
    font-size: 2.2em;
    /* width: calc(2 * var(--buttonSize));
    height: calc(2 * var(--buttonSize)); */
    /* padding: 6px; */
  }  

  /* #search_btn.close svg {
    width: 1.25em;
    height: 1.25em;
  } */

  #search_div {
    align-items: flex-start;
  }
}
#search_btn:hover {
  text-decoration: underline;
}

nav.languages {
  text-transform: uppercase;
  font-size: .95em;
}

/***** BASICS *****/

img,
figure img {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  body:not(.linktree) main:not(.collection) img,
  body:not(.linktree) main:not(.collection) figure img {
    width: 100% !important;
  }
}

main {
/*   grid-column: 5 / 17; */
  padding-top: var(--paddingTop);
  font-size: 1.1em;
/*   width: 100vw; */
}

header:hover ~ main {
/*   margin-top: 9em; */
}

h1 {
/*   font-family: Ambiant; */
/*   padding-top: var(--paddingH); */
}

main:-webkit-any(.collection, .insights, .contact, .besuch, .about-us) h1 {
  padding-top: var(--paddingH);  
}

main:matches(.collection, .insights, .contact, .besuch, .about-us) h1 {
  padding-top: var(--paddingH);  
}

main:is(.collection, .insights, .contact, .besuch, .about-us) h1 {
  padding-top: var(--paddingH);  
}

h1 {
/* main.search h2 { */
  font-size: var(--h1);
  letter-spacing: -.03em;
  line-height: 1.1em;
}

main h1, 
main h2, 
main h3,
main h4 {
  font-weight: 300;
/*   font-family: Ambiant !important; */
/*
  font-weight: 400 !important;
  letter-spacing: 0 !important;
*/
  margin-bottom: .5em;
}

h2 {
  font-size: var(--h2);
/*   font-size: 1.8em; */
  line-height: 1.1;
  margin-bottom: .5em;
  letter-spacing: -.01em;
}

h3 {
  font-size: var(--h3) !important;  
  line-height: 1.25;
  letter-spacing: -.01em;
}

h4 {
  font-size: .9em;  
  font-size: var(--h4);
  line-height: 1.25;
  letter-spacing: -.02em;
  font-weight: 300;
/*   text-transform: uppercase; */
}

blockquote {
  font-size: var(--h4);
  margin-bottom: .83rem;
  max-width: var(--max-width);  
}

ul {
  list-style-type: none;
}

dl {}

dt {
/*   font-size: .9em; */
/*
  font-weight: 700;
  font-weight: 400;
*/
/*   text-transform: uppercase; */
/*   letter-spacing: .02em; */
/*   color: var(--purple); */
}

dd + dt {
  margin-top: 1.5em;
}


p {
  font-weight: 300;
  line-height: 1.3em;
  letter-spacing: -.005em;
}

p + p {
  text-indent: 2em;
}

.no-indent + p,
.no-indent p,
p.no-indent {
  text-indent: 0;
}

figure + p {
  margin-top: 1em;
}

h1 + * {
  margin-top: 10.5vh;
}

:-webkit-any(p, div.arrows, figure, .main-carousel) + :-webkit-any(h2, h3) {
  margin-top: 2.2em;
}

:matches(p, div.arrows, figure, .main-carousel) + :matches(h2, h3) {
  margin-top: 2.2em;
}

:is(p, div.arrows, figure, .main-carousel) + :is(h2, h3) {
  margin-top: 2.2em;
}

body:not(.collection, .home) h1 + .main-carousel.flickity-enabled {
  margin-top: calc(10.5vh - var(--paddingH));
  margin-top: 10.5vh;
}

#transport_content p + p {
  text-indent: 0;
}

/*
p + *:not(p) {
  margin-bottom: 1em;  
}
*/

p {
  margin-bottom: 1em;  
}

@media screen and (min-width: 600px) {
  p {
    line-height: 1.4em;    
  }
}

em {
  font-style: italic;
}

h1, 
h2 {
/*   font-weight: 400; */
}

h1 {
  margin-bottom: .5em;
}

h2 {
  font-weight: 300;  
}

h3 {
  font-size: 1.2em;
/*   font-weight: 400; */
}

nav li {
  display: block;
}

iframe.osm {
  filter: saturate(3) grayscale() contrast(1.17);
}

a {
  color: inherit;
}

sub { font-variant-position: sub; }

sup { 
  font-size: inherit;
  vertical-align: inherit;
  font-feature-settings: "sups";
}

sup a {
  text-decoration: none;
}

.hidden {
  display: none !important;
}

video {
  width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

address > * {
  display: block;
  margin-bottom: .5em;
}

address h3 {
  font-weight: 300;
}

address a {
  text-decoration: none;
}

address a:hover {
  text-decoration: underline;
}

/***** INTERNAL LINKS *****/

li:-webkit-any(.project, .result) {
  position: relative;
}
li:matches(.project, .result) {
  position: relative;
}
li:is(.project, .result) {
  position: relative;
}

@media screen and (max-width: 1024px) {
  li.project:not(:first-child) {
    margin-top: 2em;
  }
}

li:-webkit-any(.project, .result) a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
li:matches(.project, .result) a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
li:is(.project, .result) a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/***** EXTERNAL LINKS *****/


/*
a[target="_blank"]:not(.funding_logo):hover::before,
a[target="_blank"]:not(.funding_logo):focus::before {
  display: inline;
  margin-left: .15em;
  content: '\f35d';
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-style: normal;
  vertical-align: -.05em;
  line-height: 1;
}
*/

a[target="_blank"]:not(.funding_logo)::after {
/*   display: inline; */
  /* margin-left: .15em; */
  content: '\00A0\f35d';
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-style: normal;
  vertical-align: -.05em;
  line-height: 1;
  text-decoration: none !important;
  display: inline-block;
  text-indent: 0;
}

figure > a[target="_blank"]::after {
  content: '' !important;
}

a.tel:hover::before,
a.email:hover::before {
  display: inline;
  margin-left: .15em;
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-style: normal;
  vertical-align: -.05em;
  line-height: 1;
}

a.tel:hover::before {
/*   content: '\f095'; */
}

a.email:hover::before {
/*   content: '\f0e0'; */
}

article .la {
  vertical-align: -.005em;  
}

i:-webkit-any(.la, .las)::before {
  font-style: normal;  
}
i:matches(.la, .las)::before {
  font-style: normal;  
}
i:is(.la, .las)::before {
  font-style: normal;  
}

article .la::before {
  vertical-align: -.1em;  
  font-style: normal;
}

:-webkit-any(#map, aside.funding, .social) a[target="_blank"]::after {
  content: none !important;
}

:matches(#map, aside.funding, .social) a[target="_blank"]::after {
  content: none !important;
}

:is(#map, aside.funding, .social) a[target="_blank"]::after {
  content: none !important;
}

/*
:-webkit-any(#map, aside.funding, .social) a[target="_blank"]:hover::before,
:-webkit-any(#map, aside.funding, .social) a[target="_blank"]:focus::before {
  content: none !important;
}

:matches(#map, aside.funding, .social) a[target="_blank"]:hover::before,
:matches(#map, aside.funding, .social) a[target="_blank"]:focus::before {
  content: none !important;
}


:is(#map, aside.funding, .social) a[target="_blank"]:hover::before,
:is(#map, aside.funding, .social) a[target="_blank"]:focus::before {
  content: none !important;
}
*/

/*
#map a[target="_blank"]:hover::before,
aside.funding a[target="_blank"]:hover::before,
.social a[target="_blank"]:hover::before {
  content: none !important;
}
*/


/***** HOME *****/

main.home {
  grid-column: 1 / 21;
  margin-top: 0;
  padding-top: 0;
  margin-left: calc(-1 * var(--paddingH));
  width: 100vw;
  grid-template-columns: inherit;
  grid-column-gap: inherit;
}

main.home ~ footer,
main.contact ~ footer {
  margin-top: 0;
  z-index: 666;
}

main.home section {
  background-color: white;
  width: 100vw;
}

body:not(.color) main.home section:not(.background) {
  background-color: white !important;
}

@media screen and (min-width: 1024px) {
  main.home section:not(.background) {
    display: grid;
    grid-template-columns: repeat(var(--numColumns), var(--columnWidth));
    column-gap: inherit;
    padding-left: var(--paddingH);
    /* padding-right: var(--paddingH); */
  }
}


main.home section h2 {
  grid-column: 1 / 3;
}

main.home .carousel-cell.full img {
/*   width: auto; */
  max-height: 80%;
  max-width: 80%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  top: 49%;
  object-fit: contain !important;
}

@media screen and (min-width: 1024px) {
  main.home .carousel-cell.full img {
    max-width: 65vw;
    max-height: 70vh;
  }
}

main.home .flickity-enabled .carousel-cell.meta.is-selected figcaption {
  display: block !important;
  position: absolute;
  bottom: var(--paddingH);
  bottom: calc(2 * var(--paddingH));
  left: var(--paddingH);
  bottom: 0;
}

@media screen and (min-width: 1024px) {
  main.home .flickity-enabled .carousel-cell.meta.is-selected figcaption {
    max-width: 17.5%;
  }
}

main.home .column p {
  font-size: 1.125em;
}

main.home section p + p {
  text-indent: 0;
}

main.home section:not(.background) .column {
  padding: var(--paddingH);
}

main.home ul.events article div.flyer {
  margin-top: 1em;
}

@media screen and (min-width: 1024px) {
  main.home section:not(.background) .column:nth-child(odd) {
    margin-left: calc(-1 * var(--paddingH));
  }

  main.home section:not(.background) .column[data-span="7"]:first-child {
    width: calc(7 * var(--columnWidth) + 8 * var(--paddingH));
  }

  main.home section:not(.background) .column[data-span="7"]:first-child,
  main.home section:not(.background) .column[data-span="7"]:first-child + .column[data-span="14"]:last-child {
    grid-row: 1 / 3;
  }

  main.home section:not(.background) .column[data-span="7"]:first-child ~ .column[data-span="14"]:nth-child(odd) {
    margin-left: 0;
  }

  main.home section:not(.background) .column[data-span="14"]:first-child,
  main.home section:not(.background) .column[data-span="14"] + .column[data-span="7"] + .column[data-span="14"]:last-child {
    width: calc(13 * var(--columnWidth) + 14 * var(--paddingH));
    grid-column-start: 1;
  }

  main.home section:not(.background) .column[data-span="14"] + .column[data-span="7"]:not(:last-child) {
    grid-row: 1 / 3;
  }

  main.home section:not(.background) .column[data-span="14"] + .column[data-span="7"] + .column[data-span="14"]:last-child {
    grid-row: 2;
  }

  main.home section.events .column:first-child div.blocks {
    min-height: 22.5em;
  }

  main.home ul.events article.event {
    position: unset;
  }
  
  main.home ul.events article div.flyer {
    position: absolute;
    top: 50%;
    transform: translate(calc(66vw - 50%), -50%);
    /* width: 90%; */
    max-width: 22.5em;
    /* max-width: 40vw; */
    margin-top: 0;
  }

  main.home ul.events li:not(:first-child) div.flyer {
    display: none;
  }

  /* main.home ul.events article li:first-child div.flyer {
    display: block;
  } */

  main.home ul.events li:hover div.flyer {
    display: block !important;
  }

  main.home ul.events div.landscape img {
    transform: scale(1.3);
  }

  /* main.home ul.events div.portrait img {
    transform: scale(.8);
  } */

  main.home ul.events li:hover ~ li .event div.flyer {
    display: none;
  }
  
  main.home ul.events:hover li:first-child div.flyer {
    display: none;
  }

}

/* body:not(.collection) main.home .flickity-enabled .carousel-cell.full.is-selected figcaption {
  display: block !important;
  position: absolute;
  bottom: var(--paddingH);
  bottom: calc(2 * var(--paddingH));
  left: var(--paddingH);
} */



section.background {
  padding: 0;
  margin-top: var(--headerMinHeight);
  height: calc(100vh - var(--headerMinHeight));
}

section.background > h2, 
section.background > p, {
  display: none;
}

section.background > h2 {
  margin-bottom: 10em;
}

section.background > p {
  align-self: end;
  grid-column: 1 / 4;
}

/*
body.scroll section.background {
  padding: 0 var(--paddingH);
  padding-top: calc(var(--headerMinHeight) * 3);
}
*/
/*

body.scroll section.background > * {
  display: block;
  position: sticky;
  top: calc(var(--headerMinHeight) * 1.5);
}
*/

section.background figure:not(.carousel-cell) {
  --height: calc(100vh - var(--headerMinHeight));
  --width: 100vw;
  width: var(--width);
  max-width: var(--width);
  height: var(--height);
  max-height: 100vh;
  margin-top: var(--headerMinHeight);
/*   height: 100vh; */
  flex-shrink: 0;
  position: fixed;
/*   z-index:-1; */
}

section.background + section {
  /* margin-top: calc(100vh + var(--headerMinHeight)); */
  background-color: white;
  /* padding-top: 4em; */
/*   height: 15em; */
}

/*
body.scroll section.background + section {
  margin-top: var(--headerMinHeight);
}
*/

header.scroll ~ section.background + section {
/*   margin-top: var(--headerMinHeight); */
}

main.home section.background + section h2 {
  grid-column: 3 / 9;
}

section.background figcaption {
/*
  position: absolute;
  bottom: 40%;
  left: 104%;
*/
/*   width: 50%; */
}


body.home:not(.scroll) section.background .flickity-enabled.is-draggable .flickity-viewport {
  cursor: url('LineAwesome/svg/arrow-down-solid-2x-w.svg') 32 32, s-resize !important; 
}

body.home div.blocks {
  position: relative;
}

body.home div.blocks > h2:not(.events):not(.publications) > a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/***** FLICKITY CSS *****/

/*
main:not(.home) .flickity-enabled.is-fullscreen figcaption {
  color: white;
  color: black;
  margin-top: 1em;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
*/

path.arrowOutline {
  fill: white;
}

main:not(.home) .flickity-enabled div.flickity-counter {
  display: none;
  font-size: 1.76em !important;
}

main:not(.home) .flickity-enabled.is-fullscreen div.flickity-counter {
  display: block;
}

main:not(.home) .flickity-enabled.is-fullscreen figcaption {
  position: absolute;
  margin-bottom: 0;
  bottom: var(--paddingH);
  left: var(--paddingH);
  right: var(--paddingH);

}

@media screen and (min-width: 1024px) {
  main:not(.home) .flickity-enabled.is-fullscreen figcaption {
    max-width: 25%;
    max-width: 17.5%;
  }
}

main:not(.home) .flickity-enabled.is-fullscreen figcaption div.counter {
  top: var(--paddingH);
  left: var(--paddingH);
  font-size: var(--h1);
}

main:not(.home) .flickity-enabled.is-fullscreen div.flickity-counter {
  position: absolute;
  top: var(--paddingH);
  left: var(--paddingH);
  line-height: 1;
}

@media screen and (min-width: 1024px) {
  main:not(.home) .flickity-enabled.is-fullscreen div.flickity-counter,
  main:not(.home) .flickity-enabled.is-fullscreen figcaption > * {
    right: auto;
  }
  main:not(.home) .flickity-enabled.is-fullscreen figcaption dl.meta {
    /* max-width: 25%;
    max-width: 17.5%; */
  }
  
  main:not(.home) .flickity-enabled.is-fullscreen div.flickity-counter,
  main:not(.home) .flickity-enabled.is-fullscreen figcaption div.counter {
    top: auto;
    bottom: var(--paddingH);
    left: auto;
    right: var(--paddingH);
  }
}

main:not(.home) .flickity-enabled.is-fullscreen figcaption div.counter {
  align-self: flex-end;
}

main:not(.home) .flickity-enabled.is-fullscreen {
  height: 100%;
  background: rgba(255,255,255,1);
/*   background: var(--purple); */
  padding-bottom: 0;
}

main:not(.home) .flickity-enabled.is-fullscreen .carousel-cell {
/*   height: calc(100vh - 50px) !important; */
  height: 100vh;
  width: 100vw !important;
  display: grid;
  place-items: center;
}

main:not(.home) .flickity-enabled.is-fullscreen figure {
  height: 100%;
  width: max-content;
  width: 100%;
  max-width: 80vw;
  display: grid;
  grid-template-rows: 100%;
  place-items: center;
/*   padding-top: 50px; */
}

main:not(.home) .flickity-enabled.is-fullscreen picture {
  width: 100%;
  display: grid;
  place-items: center;
  transform: translateY(-2%);
}

main:not(.home) .flickity-enabled.is-fullscreen img {
  display: block;
/*   width: auto !important; */
  max-height: 80vh;
  max-width: 80vw;
  object-fit: contain;
}

@media screen and (min-width: 1024px) {
  main:not(.home) .flickity-enabled.is-fullscreen figure {
    max-width: 65%;
  } 
  
  main:not(.home) .flickity-enabled.is-fullscreen img {
    max-width: 65vw;
    max-height: 70vh;
  }
  
  .flickity-prev-next-button {
    top: 47.5% !important;
  }
}


.flickity-enabled.is-fullscreen .flickity-button {
  display: none;
}

@media screen and (min-width: 1024px) {
  .flickity-enabled.is-fullscreen .flickity-button {
      display: block;
  } 
}

.flickity-fullscreen-button {
    /* right: var(--buttonSize) !important; */
    width: var(--buttonSize) !important;
    height: var(--buttonSize) !important;
    border-radius: 0 !important;
    background: transparent !important;
    top: 0 !important;
    right: 0 !important;
}

.flickity-fullscreen-button svg {
  padding: 3px;
}

@media screen and (max-width: 1024px) {
  .flickity-fullscreen-button {
    /* top: calc(100% + 8px) !important; */
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
  }
}

.flickity-fullscreen-button .flickity-button-icon {
    /* width: 32px !important;
    height: 32px !important; */
    left: 0 !important;
    top: 0 !important;
}

.is-fullscreen .flickity-fullscreen-button {
    top: 10px !important;
    left: auto !important;
    right: 15px !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 0 !important;
}

.is-fullscreen .flickity-fullscreen-button .flickity-button-icon {
    width: 50px !important;
    height: 50px !important;
    left: 0 !important;
    top: 0 !important;
}

/* .flickity-fullscreen-button:-webkit-any(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 1px;
}
.flickity-fullscreen-button:matches(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 1px;
}
.flickity-fullscreen-button:is(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 1px;
}  */

.flickity-prev-next-button {
/*
  width: 75px !important;
  height: 75px !important;
*/
  border-radius: 0 !important;
  background: transparent !important;
  color: black !important;
}

.flickity-prev-next-button.next {
    right: 0 !important;
}

.flickity-prev-next-button.previous {
/*     left: 0 !important; */
    left: auto !important;
    right: calc(var(--buttonSize) * 1.25) !important;
}

@media screen and (max-width: 1024px) {
  .flickity-prev-next-button {
    top: calc(100% + 22px) !important;
  }
}

@media screen and (min-width: 1024px) {
  .flickity-prev-next-button {
    width: 75px !important;
    height: 75px !important;
  }
  
  .flickity-prev-next-button.previous {
      left: 0 !important;
  }

  .is-fullscreen .flickity-prev-next-button.next {
    right: 15px !important;
  }
  
  .is-fullscreen .flickity-prev-next-button.previous {
      left: 15px !important;
  }
}

/* .flickity-prev-next-button:-webkit-any(:hover, :focus), */
.flickity-prev-next-button:-webkit-any(:hover, :focus) {
  color: black !important;
  background: transparent !important;  
}
.flickity-prev-next-button:matches(:hover, :focus) {
  color: black !important;
  background: transparent !important;  
}
.flickity-prev-next-button:is(:hover, :focus) {
  color: black !important;
  background: transparent !important;  
}

/* .flickity-prev-next-button:-webkit-any(:hover, :focus) .flickity-button-icon path, */
/* .flickity-prev-next-button:-webkit-any(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 2px;
}
.flickity-prev-next-button:matches(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 2px;
}
.flickity-prev-next-button:is(:hover, :focus) .flickity-button-icon path {
  stroke: black;
  stroke-width: 2px;
} */

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

body:not(.collection, .home) .main-carousel.flickity-enabled  {
  grid-column: 1 / 21;
/*   width: <?= $block->width()->or('100%') ?>; */
  width: 100%;
  margin: var(--paddingH) 0;
  height: calc(100vw - 2 * var(--paddingH));
  margin-bottom: calc(var(--buttonSize) * 1.5);
}

@media screen and (max-width: 1024px) {
  body:not(.collection, .home) .main-carousel.flickity-enabled {
    width: 100% !important;
  }
}

.main-carousel.gallery.flickity-enabled  {
  grid-column: 1 / 21;
/*   width: <?= $block->width()->or('100%') ?>; */
  width: 100%;
  margin: var(--paddingH) 0;
  height: calc(100vw - 2 * var(--paddingH));
  margin-bottom: calc(var(--buttonSize) * 1.5);
}

@media screen and (min-width: 1024px) {
  body:not(.collection, .home) .main-carousel.flickity-enabled  {
    height: 20em;
    margin-bottom: var(--paddingH);
  }

  body:not(.collection, .home) .main-carousel.flickity-enabled.show-caption {
    height: 25em;
  }
}

body:not(.collection) .flickity-enabled .carousel-cell {
  width: 80%; /* full width */
  width: 100%; /* full width */
  height: 100%;
/*     height: 20em; /* height of carousel */
  margin-right: 10px;
/*
  visibility: hidden;
  opacity: 0;
  transition: visibility .5s, opacity .5s;
*/
}

/*
.carousel-cell.is-selected {
  visibility: visible;
  opacity: 1;
  transition: visibility .5s, opacity .5s;
}
*/

.flickity-enabled.is-fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  z-index: 1000;
}

.flickity-enabled.is-fullscreen .flickity-enabled .carousel-cell {
  height: 100% !important;
}

body:not(.collection) .flickity-enabled .carousel-cell figure {
  height: 100%;
}

body:not(.collection) .flickity-enabled .carousel-cell figure img {
  height: 100%;
  object-fit: contain;
}

.main-carousel.gallery.flickity-enabled .carousel-cell figure img {
  height: 100%;
  object-fit: contain;
}

body:not(.collection):not(.home) .flickity-enabled .carousel-cell.is-selected figcaption {
  display: block !important;
}

body:not(.collection) .flickity-enabled .carousel-cell figcaption {
  display: none;
}

.flickity-enabled.show-caption:not(.is-fullscreen) {
  --lines: calc(4em * 1.2);
  --captionHeight: calc(var(--lines) + var(--paddingH_1_2));
}

.flickity-enabled.show-caption:not(.is-fullscreen)[data-caption-lines="1"] {
  --lines: calc(1em * 1.2);
}

.flickity-enabled.show-caption:not(.is-fullscreen)[data-caption-lines="2"] {
  --lines: calc(2em * 1.2);
}

.flickity-enabled.show-caption:not(.is-fullscreen)[data-caption-lines="3"] {
  --lines: calc(3em * 1.2);
}

.flickity-enabled.show-caption:not(.is-fullscreen)[data-caption-lines="4"] {
  --lines: calc(4em * 1.2);
}

.flickity-enabled.show-caption:not(.is-fullscreen)[data-caption-lines="5"] {
  --lines: calc(5em * 1.2);
}

.flickity-enabled.show-caption:not(.is-fullscreen) img,
.flickity-enabled.show-caption:not(.is-fullscreen) video {
  height: calc(100% - var(--captionHeight)) !important;
}

.flickity-enabled.show-caption:not(.is-fullscreen) figcaption {
  height: var(--lines);
  overflow: hidden;
  margin-top: var(--paddingH_1_2);
  max-width: 20em;
}

.flickity-enabled.show-caption:not(.is-fullscreen) video + figcaption {
  position: absolute;
  top: calc(100% - var(--captionHeight));
}

/*
body:not(.collection) .flickity-enabled.is-fullscreen .carousel-cell figcaption {
  display: block;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%);
  bottom: 0;
  background-color: white;
}
*/

@media screen and (min-width: 1024px) {
  .main-carousel.gallery::after {
    content: '';
    display: none; /* hide :after */
  }  
}


.main-carousel::after {
  content: 'flickity';
  display: none; /* hide :after */
}  

.main-carousel.gallery.no-slideshow


@media screen and (min-width: 600px) {
    body:not(.collection) .flickity-enabled .main-carousel {
      grid-column: 1 / 12;
    }
}


/***** LATEST MODULE *****/

body.home.color > header,
body.home.color > footer {
  border: none !important;
}

body.home.scroll > header {
  border-bottom: var(--border) !important;
}

section.background figure {
  height: 100%;
}

section.background figure img {
  height: 100%;
  display: block;
}

body.scroll section.background {
/*   padding-bottom: var(--paddingH); */
}

/*
body.scroll section.background figure {
  transition: max-height .1s ease, max-width .1s ease, margin .1s ease;
  width: 100%;
  grid-column: 4 / 8;
}
*/


body.scroll section.background + section {
  margin-top: var(--headerMinHeight);
  margin-top: 0;
}

section.latest {
  padding: 0 var(--paddingH);
  padding: 0;
}

section.background h2,
section.latest h2,
article.info strong {
  font-size: 1.33em;
  line-height: 1em;
/*   font-weight: 600; */
  font-weight: 300;
  letter-spacing: -.01em;
}

section.background h2 a {
  font-size: inherit;
}

section.latest h3 {
  font-size: 1.33em;
  font-size: 1em;
  line-height: 1em;
  font-weight: 300;
  margin-bottom: .25em;
}

article.projects ul.latest li {
  margin-bottom: 1.5em;
}

section.latest > article:not(.info):not(.projects) {
  padding: var(--paddingH);  
}

/*
main.home section.background {
  background-color: var(--yellow);
}
*/

main.home section.latest {
/*
  --two-thirds: calc(6.5 * var(--columnWidth) + 7 * var(--paddingH));
  --one-third: calc(3.5 * var(--columnWidth) + 4.5 * var(--paddingH));
  --one-third: calc(3.5 * var(--columnWidth) + 4 * var(--paddingH));
  --sides: var(--one-third);
  --center: calc(3 * var(--columnWidth) + 2 * var(--paddingH));
  --center: calc(3 * var(--columnWidth) + 3 * var(--paddingH));
*/
  --two-thirds: calc(13 * var(--columnWidth) + 14 * var(--paddingH));
  --one-third: calc(7 * var(--columnWidth) + 7 * var(--paddingH));
  --sides: var(--one-third);
  --center: calc(6 * var(--columnWidth) + 6 * var(--paddingH));
/*   display: grid; */
  grid-template-columns: var(--sides) var(--center) var(--sides);
  grid-template-columns: auto;

  grid-column: unset;
  grid-column-gap: unset;
  padding-bottom: 0;
  padding-top: 0;
}

@media screen and (min-width: 600px) {
  section.background,
  section.latest {
    font-size: 1.4em;
  
  }

  main.home section.latest {
    display: grid;
  }
}

article.publications {
  grid-column: 1 / 8 !important;
  background-color: var(--blue-grey);
}

article.events {
  grid-column: 8 / 11 !important;
  background-color: var(--green);
}

article.projects, 
article.info {
/*   display: grid; */
  grid-template-columns: inherit;
/*   margin-left: calc(-1 * var(--paddingH)); */
  width: 100vw;
}

@media screen and (min-width: 600px) {
  article.projects,
  article.info {
    display: grid;
  }
}

article.info h2 {
  display: none !important;
}

article.info ul.latest {
/*   display: grid; */
  grid-template-columns: inherit;
  grid-auto-flow: row;
  place-items: stretch;
  margin-top: 0;
}

@media screen and (min-width: 600px) {
  article.info ul.latest {
    display: grid;
  }
  article.publications {
    width: var(--two-thirds);
  }

  article.events {
    width: var(--one-third);
  }
}

article.info ul.latest li {
  display: inline-block;
  background-color: var(--red);  
  width: 100%;
  padding: var(--paddingH);
  grid-column: 1 / 3;
}

article.info ul.latest li:first-child {
  background-color: var(--petrol);  
/*   width: var(--two-thirds); */
  grid-column: 1 / 3;
}

article.info ul.latest li:nth-child(2) {
  background-color: var(--purple);  
  grid-column: 3 / 4;
  grid-row: 1 / 3;
/*   padding-left: var(--paddingH_1_2); */
}

article.projects {
  background-color: var(--beige);
}

article.projects ul.latest {
/*
  grid-column: 6 / 11;
  display: block;
  margin-left: var(--paddingH);
  width: var(--two-thirds);
*/
  padding: 0 var(--paddingH);
  grid-column: 2 / 4;
  display: block;
  width: 100%;
}

@media screen and (min-width: 600px) {
  article.info ul.latest li {
    width: var(--two-thirds);
  }
  
  article.info ul.latest li:nth-child(2) {
    width: var(--one-third);
  }
  
  article.projects ul.latest {
    padding: 0 var(--paddingH_1_2);
  }
}

article.projects ul.latest li {
  width: 100%;
}

section.latest > article.projects h2 {
/*
  grid-column: 1 / 5 !important;
  margin-left: var(--paddingH);
*/
/*   width: var(--one-third); */
  grid-column: 1 / 2 !important;
  padding: var(--paddingH);
}

ul.latest {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100% !important;
  grid-column: 1 / 9;
  margin-top: 1em;
}

/*
ul.latest li {
  flex: 0 0 auto;
  width: calc(2.25 * ( var(--columnWidth) + var(--paddingH) ));
}
*/

ul.latest a {
  text-decoration: none;
}

article.info ul.latest a {
  text-decoration: underline;
}

/*
article.info ul.latest a:hover {
  text-decoration: none;
}
*/

ul.latest a:hover h3 {
  text-decoration: underline;
}

@media screen and (min-width: 600px) {
  ul.latest h3 {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    hyphens: none;
  }
}


/***** MAP *****/

#map {
/*
  width: 100%;
  height: 40vw;
*/
}

/***** PUBLICATION *****/

main.publication div.doc-subtitle {
  font-size: var(--h4);
}

@media screen and (min-width: 1024px) {
  main.publication article header {
    position: sticky;
    top: calc(var(--headerMinHeight) + var(--paddingH));
/*     top: var(--headerMinHeight); */
    margin-bottom: 10.5vh;
    width: var(--left-half);
  }  
}

main.publication article header h1 {
  margin-bottom: .25em;
}

main.publication article header h1 + div.doc-subtitle {
    margin-top: 0;
    font-size: var(--h4);
    line-height: 1.2;
}

.publication .column:first-child p + p {
  text-indent: 0;
}

.publication .column[data-span="14"] h2 + p {
  clear: both;
}

@media screen and (min-width: 1024px) {
  main.publication article header h1 {
    width: calc(var(--one-third) * 1.25);
  }

  .publication .meta {
/*     margin-top: 10.5em; */
/*
    position:sticky;
    top: 100vh;
    bottom: 0;
    transform: translateY(-50%);
*/
  }  
}

.publication .shop {
  margin: 1em 0;
}

.publication .shop li {
  margin-bottom: .5em;
}

.publication .shop li p {
  margin-bottom: 0;
}

.publication .reading {
  margin-bottom: 2em;
}

main.publication p + p {
  text-indent: 0;
}
  
/***** ABOUT US *****/

/* main.about-us, */
main.about-us article,
main.about-us section {
  grid-column: 1 / 21;
/*   display: grid; */
  grid-template-columns: inherit;
  grid-column-gap: inherit;
  padding: 0;
}

@media screen and (min-width: 1024px) {
  main.about-us,
  main.about-us article,
  main.about-us section {
    display: grid;
  }

  main.about-us figure.padding {
    padding-top: var(--paddingH);
  }
  
  main.about-us section.intro {
    height: calc(100vh - var(--headerMinHeight));
  }
  
  figure.intro {
    height: calc(100vh - var(--headerMinHeight) - var(--paddingH)) !important;
  }
  
  figure.margin {
    margin-bottom: 1em;
  }
  
  main.about-us section.intro .column[data-span="7"] .blocks {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
  
  main.about-us section.intro .column[data-span="7"] .blocks blockquote {
    margin-bottom: 0;
  }

  main.about-us section.intro .column[data-span="14"] .blocks {
    height: 100%;
  }
  
  main.about-us section.intro .column[data-span="14"] .blocks figure,
  main.about-us section.intro .column[data-span="14"] .blocks img {
    height: 100%;
    object-fit: cover;
  }
}

main.about-us {
  padding-top: var(--paddingTop); 
}




main.about-us section {
  margin-bottom: 1%;
}

main.about-us h1 {
  grid-column: 1 / 11;
/*   margin-bottom: 45%; */
}

/*
main.about-us .blocks blockquote {
  grid-column: 2 / 6;
  align-self: flex-end;
}
*/

main.about-us .blocks > p {
  grid-column-start: 4;
}

main.about-us figcaption {
  font-size: .8em;
}

/*
main.about-us figure {
  position: sticky;
  top: 0;
}
*/

main.about-us blockquote {
  font-size: var(--h2);
  line-height: 1.2;
  letter-spacing: -.02em;
}

main.about-us section.indent {
/*   grid-column: 5 / 14; */
}

/*
main.about-us section:nth-child(2) .blocks p {
  margin-top: 10%;
}

main.about-us section:nth-child(5) .blocks figure img {
  width: 120%;
  margin-top: 120%;
  margin-top: 90%;
}

main.about-us section:nth-child(6) .blocks figure img {
  margin-top: -10%;
}

main.about-us section:nth-child(6) .blocks blockquote {
  margin-top: 45%;
}
*/

section.full-width:last-child {
/*
  margin-top: 10%;
  margin-top: 3%;
  margin-bottom: 6%;
*/
  margin-bottom: 0;
}

main.about-us .column {
/*
  --columnStart: 2; 
  grid-column-start: var(--columnStart); 
*/
  margin-bottom: 1em;
}

section.full-width:last-child .column {
  margin-bottom: 0;
}

main.about-us .blocks {
/*
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
*/
}

/*
main.about-us .column[data-span] {
  --columnSpan = attr(data-span);
  grid-column-end: span calc(attr(data-span) - var(--columnStart));
}
*/

main.about-us .column[data-span="6"] {
  grid-column-end: span calc(6 - var(--columnStart));
}

main.about-us .column[data-span="6"] + .column[data-span="6"] {
  grid-column-start: 6;
}

main.about-us .column[data-span="4"] {
  grid-column-end: span calc(8 - var(--columnStart));
}

main.about-us .column[data-span="8"] {
  grid-column-end: span calc(16 - var(--columnStart) - 1);
}

main.about-us .column[data-span="8"]:last-child {
  grid-column-start: 5;
}

main.about-us .column[data-span="12"] {
  grid-column-end: span calc(12 - var(--columnStart) * 2);
}


/***** SAMMLUNG *****/


main.unsere-bestaende .intro .column:last-child .blocks {
  padding-top: calc(1.5 * var(--paddingH));
  padding-right: var(--paddingH);
  height: 100%;
}

main.unsere-bestaende .intro .column:last-child .blocks,
main.unsere-bestaende .intro .column:last-child .blocks figure {
  height: 100%;
}

.intro img {
  height: 100% !important;
}


main.collection,
main.collection article,
main.collection section {
  grid-column: 1 / 21;
/*   display: grid; */
  grid-template-columns: repeat(var(--numColumns), var(--columnWidth));
  grid-column-gap: inherit;
/*   padding: 0; */
}

@media screen and (min-width: 1024px) {
/*   main.collection, */
  main.collection article,
  main.collection section {
    display: grid;
  }
  
  main.collection p {
    font-size: 1.1em;
  }

  main.collection {
    padding: 0 var(--paddingH);
    padding-top: var(--paddingTop); 
    padding-top: var(--headerMinHeight); 
  }
}


main.collection section:last-child {
/*   margin-bottom: -20rem; */
}
/*

main h1 {
  padding-top: var(--paddingH);  
}
*/

main.collection h1 {
  grid-column: 1 / 21;
/*   margin-top: calc(var(--paddingTop) * .45 - var(--headerMinHeight)); */
  margin-bottom: 1em;
}

@media screen and (min-width: 1024px) {
  main.collection h1 {
    margin-bottom: 2em;  
  }
}

main.collection h2 {
  margin: 1em 0 2em;
}

main.collection .blank .column:first-child {
  margin-bottom: calc(80vh - var(--headerMinHeight));
  position: sticky;
  top: var(--headerMinHeight);
}

main.collection .blank h2 {
/*   margin-bottom: 8em; */
/*
  position: sticky;
  top: var(--paddingTop);
*/
/*   margin-bottom: 1em; */
}

main.collection .blank ul {
  columns: 2;
}

main.collection .blank ul p {
  display: inline;
}

main.collection .blank li {
  margin-bottom: 1em;
}

main.collection .blank li:before {
  content: "\f061";
  font-family: "Line Awesome Free";
  font-weight: 900;
  margin-right: .5em;
  display: inline-block;
}

main.collection .count {
/*   height: calc(100vh - var(--headerMinHeight)); */
  min-height: calc(100vh * 2 / 3);
/*   background-color: var(--purple); */
}

main.collection .count ul {
  font-size: 1.3em;  
  line-height: 1.25em;
  letter-spacing: -.01em;
}

main.collection h1 + section {
  margin-top: 0;
}

main.collection .packery {
/*   background: white; */
/*   margin-top: var(--paddingTop); */
  margin-left: calc(-1 * var(--paddingH));
  width: 100vw;
  padding: var(--paddingH);
/*   padding-top: 0; */
}

main.collection .packery + section {
  z-index: 666;
}

main.collection .numbers {
  height: calc(90vh - var(--headerMinHeight));
  padding-top: var(--paddingTop);
}

main.collection .numbers ul {
  padding: 2em 0; 
  column-count: 4;
  list-style-type: '→';
/*   list-style-position: outside; */
}

main.collection .numbers ul li {
  -webkit-column-break-inside: avoid;
  break-inside: avoid-column;
  padding-left: 1em;
  max-width: 90%;
  margin-bottom: .5em;
  display: inline-grid;
  page-break-inside: avoid;
}

/* for Chrome and Edge */
@supports (break-inside: avoid-column) {
  main.collection .numbers ul li  {
    display: block;
  }
}

main.collection .numbers ul li:before {
  content: '→';
  font-family: 'Ambiant';
  font-feature-settings: 'ss04' 1;
  margin-right: 0.25em;
    margin-left: -1em;
}

main.collection .themes {
/*
  margin-left: calc(-1 * var(--paddingH));
  padding-left: var(--paddingH);
*/
/*   background-color: var(--beige); */
  position: relative;
  width: 100vw;
/*
  background-color: white;
  border-top: var(--border);
  border-bottom: var(--border);
*/
}

@media screen and (min-width: 1024px) {
  main.collection .themes {
    margin-left: calc(-1 * var(--paddingH));
    padding-left: var(--paddingH);
  }
}

@media screen and (min-width: 600px) {
  main.collection .themes {
    width: 100vw;
  }
}

main.collection section.themes h2 {
  margin-top: 0;
  padding-top: 1em;
}

main.collection .column {
  --columnStart: 1; 
  grid-column-start: var(--columnStart); 
/*   margin-bottom: 1em; */
}

main .column + .column[data-span="1"] {
  grid-column-start: calc(7 * (3 - var(--span)));
}

main.collection .column[data-span="6"] {
  grid-column-end: span calc(11 - var(--columnStart));
}

main.collection .blank .column[data-span="6"],
main.collection .column[data-span="3"] + .column[data-span="6"] {
  --columnStart: 3;   
  grid-column-end: span 6;
}

main.collection .column[data-span="6"]:last-child {
  grid-column-start: 11;
  grid-column-end: span 11;
}

main.collection .column[data-span="3"] + .column[data-span="6"] + .column[data-span="3"] {
  grid-column-start: 9;
}

main.collection .column[data-span="2"] {
  grid-column-end: span 2;  
}

main.collection .column[data-span="2"] + .column[data-span="4"] {
  grid-column-start: 2;
}

main.collection .column[data-span="2"] + .column[data-span="4"] + .column[data-span="4"] {
  grid-column-start: 6;
}

main.collection .column[data-span="3"] {
  grid-column-end: span 5;  
}

main.collection .column[data-span="3"] + .column[data-span="3"] {
  grid-column-start: calc(5 * 1 + 1);
}

main.collection .column[data-span="3"] + .column[data-span="3"] + .column[data-span="3"] {
  grid-column-start: calc(5 * 2 + 1);
}

main.collection .column[data-span="3"] + .column[data-span="3"] + .column[data-span="3"] + .column[data-span="3"] {
  grid-column-start: calc(5 * 3 + 1);
}

main.collection .column[data-span="4"] {
  grid-column-end: span 7;
}

main.collection .column[data-span="8"] {
  grid-column-end: span calc(12 - var(--columnStart) - 1);
}

main.collection .column[data-span="4"] + .column[data-span="8"] {
  grid-column-end: span calc(16 - var(--columnStart) - 1);
}

main.collection .column[data-span="8"] + .column[data-span="4"] {
  grid-column-start: 14;
  grid-column-end: span 7;
  
}

main.collection .column[data-span="8"]:last-child {
  grid-column-start: 8;
}

main.collection .column[data-span="12"] {
  grid-column-end: span calc(22 - var(--columnStart) * 2);
  grid-column-end: span var(--numColumns);
}

main.collection figure ul {
  position: relative;
}

main.collection figure ul li {
  margin: 0;
}

main.collection figure ul li img {
  display: none;  
}

main.collection figure ul li img.show {
  display: block;
}

/*
main.collection figure ul li a {
  position: relative;
}
*/

main.collection .themes button[data-href] {
  /* border: none;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; */
  display: inline-block;
  border-radius: 0 !important;
  width: 2em;
  height: 1.5em;
  vertical-align: middle;
  /* vertical-align: -0.1em; */
  /* margin-right: .3em; */
}

main.collection .themes button[data-href]:not(.color):not(:hover):not(:focus) {
  background: transparent;
  border: var(--border) !important;
}

main.collection .themes button[data-href]::before {
  /* content: ' ';
  display: inline-block;
  white-space: normal;
  border: var(--border);
  border-radius: 0 !important;
  background: transparent;
  width: 1.25em;
  height: 0.9em;
  vertical-align: -0.1em;
  margin-right: 0.3em; */
}

main.collection .themes button.color[data-href] + span,
main.collection .themes button[data-href]:hover + span,
main.collection .themes button[data-href]:focus + span,
main.collection .themes button[data-href] + span:hover {
  text-decoration: underline;
  text-decoration-thickness: from-font;
  cursor: default;
  /* text-decoration-thickness: .11em !important; */
}

main.collection .themes button[data-href]:-webkit-any(.color) {
  border-color: transparent;
  outline: none;
}
main.collection .themes button[data-href]:matches(.color) {
  border-color: transparent;
  outline: none;
}
main.collection .themes button[data-href]:is(.color) {
  border-color: transparent;
  outline: none;
}

/* 
main.collection .themes button.color[data-href="dissonanzen.jpg"]::before,
main.collection .themes button[data-href="dissonanzen.jpg"]:hover::before,
main.collection .themes button[data-href="dissonanzen.jpg"]:focus::before {
  background-color: var(--green);
}

main.collection .themes button.color[data-href="dissonanzen_kiste.jpg"]::before,
main.collection .themes button[data-href="dissonanzen_kiste.jpg"]:hover::before,
main.collection .themes button[data-href="dissonanzen_kiste.jpg"]:focus::before {
  background-color: var(--purple);
}

main.collection .themes button.color[data-href="hexenbrief_kiste.jpg"]::before,
main.collection .themes button[data-href="hexenbrief_kiste.jpg"]:hover::before,
main.collection .themes button[data-href="hexenbrief_kiste.jpg"]:focus::before,
main.collection .themes button.color[data-href="platten_pink.jpg"]::before,
main.collection .themes button[data-href="platten_pink.jpg"]:hover::before,
main.collection .themes button[data-href="platten_pink.jpg"]:focus::before {
  background-color: var(--pink);
}

main.collection .themes button.color[data-href="platte_blau.jpg"]::before,
main.collection .themes button[data-href="platte_blau.jpg"]:hover::before,
main.collection .themes button[data-href="platte_blau.jpg"]:focus::before {
  background-color: var(--blue);
}

main.collection .themes button.color[data-href="frauenhandbuch.jpg"]::before,
main.collection .themes button[data-href="frauenhandbuch.jpg"]:hover::before,
main.collection .themes button[data-href="frauenhandbuch.jpg"]:focus::before {
  background-color: var(--yellow);
}

main.collection .themes button.color[data-href="zeitschrift.jpg"]::before,
main.collection .themes button[data-href="zeitschrift.jpg"]:hover::before,
main.collection .themes button[data-href="zeitschrift.jpg"]:focus::before {
  background-color: var(--red);
}

main.collection .themes button.color[data-href="hilde_radusch_tagebuch.png"]::before,
main.collection .themes button[data-href="hilde_radusch_tagebuch.png"]:hover::before,
main.collection .themes button[data-href="hilde_radusch_tagebuch.png"]:focus::before {
  background-color: rgb(5,5,5);
} */

main.collection .themes .blocks {
  position: sticky;
  top: var(--headerMinHeight);
}

@media screen and (min-width: 600px) {
  main.collection .themes .column:first-child {  
    margin-bottom: 5em;
  }  
}

main.collection .themes .column:last-child {
  margin-bottom: 0;
}

main.collection section.themes figcaption {
  width: calc(100vw - 2 * var(--paddingH));
}

main.collection section.themes div.column:first-child button {
  display: none;
}

main.collection section.themes :-webkit-any(img, video) {
  position: relative;
  --imgWidth: calc(100vw * 13 / 20);
/*   --imgWidth: 50vw; */
  --imgWidth: calc(13 * (var(--columnWidth) + var(--paddingH)));
  width: 100vw;
  height: var(--themeHeight);
  object-fit: cover;
}

main.collection section.themes :matches(img, video) {
  position: relative;
  --imgWidth: calc(100vw * 13 / 20);
/*   --imgWidth: 50vw; */
  --imgWidth: calc(13 * (var(--columnWidth) + var(--paddingH)));
  width: 100vw;
  height: var(--themeHeight);
  object-fit: cover;
}

/* main.collection section.themes :-webkit-any(img, video), */
main.collection section.themes :is(img, video) {
  position: relative;
  --imgWidth: calc(100vw * 13 / 20);
/*   --imgWidth: 50vw; */
  --imgWidth: calc(13 * (var(--columnWidth) + var(--paddingH)));
  width: 100vw;
  height: var(--themeHeight);
  object-fit: cover;
}

@media screen and (min-width: 1024px) {
  main.collection section.themes div.column:first-child button {
    display: inline-block;
  }

  main.collection section.themes :-webkit-any(img, video) {
    --imgWidth: calc(10 * (var(--columnWidth) + var(--paddingH)));
    width: calc(var(--imgWidth) - var(--paddingH) / 2 );
    width: var(--imgWidth);
/*     width: 50vw; */
/*     width: 100%; */
    height: calc(100vh - var(--headerMinHeight));
/*     height: 100%; */
  }  

  main.collection section.themes :matches(img, video) {
    --imgWidth: calc(10 * (var(--columnWidth) + var(--paddingH)));
    width: calc(var(--imgWidth) - var(--paddingH) / 2 );
    width: var(--imgWidth);
/*     width: 100%; */
    height: calc(100vh - var(--headerMinHeight));
/*     height: 100%; */
  }  
  
/*   main.collection section.themes :-webkit-any(img, video), */
  main.collection section.themes :is(img, video) {
    --imgWidth: calc(10 * (var(--columnWidth) + var(--paddingH)));
    width: calc(var(--imgWidth) - var(--paddingH) / 2 );
    width: var(--imgWidth);
/*     width: 100%; */
    height: calc(100vh - var(--headerMinHeight));
/*     height: 100%; */
  }  
}

main.collection section.bgWhite {
  background-color: white;
}

main.collection section.themes .iframe {
  display: grid;
  place-items: center;
}

main.collection section.themes .iframe iframe {
  --imgWidth: inherit;
  width: calc(var(--imgWidth) - 25%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*
main.collection ul.packery-grid:hover li.packery-grid-item {
  opacity: .2;
}
  
main.collection li.packery-grid-item:hover {
  opacity: 1 !important;
}
*/

/*
main.collection li.packery-grid-item {
  filter: grayscale(1);
}

main.collection li.packery-grid-item:hover {
  filter: none;
}
*/



/***** CONTACT *****/

main.besuch figure + h2 {
  margin-top: var(--paddingH);
}

main.besuch .vcard,
main.besuch .opening {
  font-size: var(--h4);
}

main.besuch .social {
  margin-top: 0;
  margin-bottom: 2em;
  font-size: var(--h2);
  /* margin-left: 0; */
}

main.besuch .social li {
  margin-left: 0;
  min-width: 44px;
  min-height: 44px;
}

main.besuch .social a {
  text-decoration: none;
}

/*
main.besuch section:first-child {
  padding-bottom: var(--paddingH);
}
*/

main.besuch section.transport .column:last-child {
  border-top: var(--border);
}

body.color main.besuch section.transport .column:last-child {
  border-top: none;
}

main.besuch section.transport .column:last-child {
  padding: var(--paddingH) !important;
}

section.transport h3 {
  margin-top: 1.4em;
}

section.transport p + p {
  text-indent: 0;
}

section.transport .column p:last-child {
  margin-bottom: 0;
}

header.contact,
header.contact #search_div,
header.contact #search
{
/*   background-color: var(--yellow); */
}

main.contact,
main.contact article,
main.contact section
/*   :not(#contact):not(#map)  */
{
  grid-column: 1 / 21;
/*   display: grid; */
  grid-template-columns: inherit;
  grid-column-gap: inherit;  
}

@media screen and (min-width: 600px) {
  main.contact,
  main.contact article,
  main.contact section {
    display: grid;
  }
}

main.contact h1 {
  grid-column: 1 / 21;
/*   margin-bottom: 2em; */
/*   height: 2em; */
/*
  position: sticky;
  top: 2em;
*/
  margin-bottom: 1.2em;
}

main.contact h2 {
  margin-bottom: 2em;
  font-size: 2em;
}


main.contact .column {
  --columnStart: 3; 
  grid-column-start: var(--columnStart); 
}

main.contact #contact {
/*   grid-column: 1 / 21; */
  width: 100vw;
  height: 100vh;
/*   margin-left: calc( -1 * var(--paddingH)); */
  position: fixed;
  top: 0;
  left: 0;
  padding: var(--paddingTop) var(--paddingH) 0;
/*   background-color: var(--yellow); */
/*   display: grid; */
  grid-template-columns: inherit;
  grid-column-gap: inherit;
  padding-bottom: 40vh;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  hyphens: none;
}

@media screen and (min-width: 600px) {
  main.contact #contact {
    display: grid;
  }
}

main.contact #contact h3 {
  font-weight: 300;
  line-height: 1em;
  margin-bottom: .5em;
}


main.contact #contact > div {
/*   grid-column: 1 / 21; */
  font-size: 1.6em;
  line-height: 1.2em;
  display: inherit;
  grid-template-columns: inherit;
  grid-column-gap: inherit;
}

main.contact #contact > div > * {
  --columnStart: 5;
  --columnSpan: 6;
  grid-column-end: span var(--columnSpan); 
}

main.contact #contact > div > *:first-child {
  grid-column-start: var(--columnStart);
}

main.contact #contact > div > *:nth-child(2) {
  grid-column-start: calc(var(--columnStart) + var(--columnSpan));
}

main.contact #contact .social {
  margin-top: .75em;
}

main.contact #contact .social li {
  margin-left: 0;
}

main.contact #directions {
  margin-top: clamp(23em, 40vh, 25em);
  margin-top: clamp(25em, 45vh, 30em);
  padding-top: 3em;
  border-top: var(--border);
}

main.contact #directions .column:nth-child(1) {
  grid-column: 1 / 10;
/*   margin-left: var(--paddingH); */
}

main.contact #directions .column:nth-child(2) {
  grid-column: 11 / 20;
}

main.contact #transport_head {
  padding-top: 5em;
}

main.contact #transport_content {
  padding-bottom: 4em;
  grid-column: 1 / 21;
}

main.contact section[id^=transport],
main.contact #directions,
main.contact #directions + section:not(#map) {
  background-color: white;
  width: 100vw;
  margin-left: calc(-1 * var(--paddingH));
  padding-left: var(--paddingH);
}

main.contact section[id^=transport],
main.contact #directions,
main.contact #map
{
  position: relative;
/*   top: 25em; */
}

main.contact section[id^=transport] {
  grid-column-end: span calc(6 - var(--columnStart));
}

main.contact .column[data-span="6"] {
  --columnSpan: 6;
  grid-column-end: span calc(var(--columnSpan) - var(--columnStart));
}

main.contact .column[data-span="6"]:last-child {
  grid-column-start: var(--columnSpan);
}

main.contact .column[data-span="3"] {
  --columnSpan: 4;
  grid-column-start: var(--columnStart);
  grid-column-end: span var(--columnSpan);
}

main.contact .column[data-span="3"]:nth-child(2),
main.contact .column[data-span="3"]:nth-child(3),
main.contact .column[data-span="3"]:nth-child(4) {
  grid-column-start: calc(var(--columnStart) + var(--columnSpan) * ( var(--nth-child) - 1 ));
}

main.contact .column[data-span="12"] {
  grid-column-end: span 20;
}

main.contact #map {
  grid-column: 1 / 21;
  width: 100vw;
  height: 60vh;
  margin-left: calc(-1 * var(--paddingH));
}



/***** RESEARCH *****/

main.research {
  grid-column: 1 / 21;
/*   display: grid; */
  grid-template-columns: inherit;
  grid-column-gap: inherit;
}

@media screen and (min-width: 600px) {
  main.research {
    display: grid;
  }
}

main.research h1 {
  grid-column: 1 / 21;
  margin-bottom: 4em;
/*
  position: sticky;
  top: 2em;
*/
}

main.research > div {
  grid-column: 1 / 21;
}

@media screen and (min-width: 600px) {
  main.research > div {
    columns: 2;
    column-gap: var(--paddingH);
    column-fill: balance;
  }
}

main.research > div p {
  display: inline-block;
  width: 100%;
}

main.research form,
section.research form {
  font-size: 1.6em;
  grid-column: 1 / 21;
  margin-bottom: 1.5em;
}

main.research form input[type=search],
section.research form input[type=search] {
  width: 100%;
}

@media screen and (min-width: 600px) {
  main.research form,
  section.research form {
    display: flex;
    flex: row nowrap;
  /*   justify-content: space-between; */
    align-items: baseline;

  }

  main.research form input[type=search],
  section.research form input[type=search] {
    width: 35%;
  }  
}

main.research form > *,
section.research form > * {
  margin-bottom: 0;
}

@media screen and (min-width: 600px) {
  main.research form > *,
  section.research form > * {
    margin-right: .7em;
  }  
}

main.research form select,
section.research form select {
  display: inline-block;
}

section.research .column:last-child p:first-child {
  margin-top: 1.25em;
}


@media screen and (min-width: 1024px) {
  section.research .column:last-child p:first-child {
    margin-top: 12.3em;
  }
  
}

/***** VIDEO *****/

figure.video-embed {
  width: 100%;
  height: 0;
  padding-bottom: calc(100% / 16 * 9);
  position: relative;
  margin-bottom: 1em;
}

figure.video-embed iframe {
  aspect-ratio: 16 / 9;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

figure.video-embed figcaption {
  position: absolute;
  top: calc(100% + 1em);
}

figure.video-embed.caption {
  margin-bottom: calc(2em + var(--figcaption));
}

/***** FontAwesome *****/

main .fa, main .las {
  font-size: .8em !important;
}

a i.las {
  display: inline-block !important;
}

/***** TABLE *****/

table {
  margin: 1em 0;
}

table, th, td {
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  padding: 0;
  text-align: left;
}

tr {
  vertical-align: top;
  border-top: var(--border);
}

tr:first-child {
  border-top: 0;
}

main.newsletter tr:not(.heading):hover,
main.newsletter tr:not(.heading):focus-within { 
  background: var(--purple); 
}

@media screen and (max-width: 1024px) {
  #mc_embed_signup div.clear {
    margin-top: .5em;
  }
}

@media screen and (min-width: 1024px) {
  #mc_embed_signup .signup {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
}



tr:not(.heading):hover,
tr:not(.heading):focus-within { 
  background: white; 
}

th {
  font-size: var(--h2);
  font-weight: inherit;
}

td {
  display: flex;
  padding: .25em 0;
  padding-right: var(--paddingH) !important;
}

td a {
  text-decoration: none;
}

td:not(.link) a::before {
  content: none !important;
}

td.link a {
  text-decoration: underline;
}

@media screen and (min-width: 1024px) {
  
  td {
    display: table-cell;
    padding: unset;
  }
    
  th:first-child {
    width: calc( (var(--columnWidth) + var(--paddingH)) * 4 );
  }
  
  th:nth-child(2) {
    width: calc( (var(--columnWidth) + var(--paddingH)) * 6 );
  }
  
  th:last-child {
    width: calc( var(--columnWidth) * 10 + var(--paddingH) * 9 );    
  }
  
  td p {
    padding: 1em 0; 
    min-height: 4.7em;  
    margin: 0;    
  }

  ul.newsletter-issues li a,
  td a { 
    display: block; 
/*      border: 1px solid black; */
    padding: 1em 0; 
    min-height: 4.7em;
  }
  
}

details summary {
  cursor: pointer;
  position: relative;
  padding-right: 1em;
}


details summary::-webkit-details-marker,
details summary::marker {
  display: none;
  content: '';
}

section.faq h2 {
  margin-top: 1.6em;
}

main.insight details,
main.publication details,
section.faq details {
  padding: .9em 0;
}

section.faq details:hover,
section.faq details:focus-within {
/*   background-color: white; */
}

main.publication details + details,
main.insight details + details,
section.faq details + details {
  border-top: var(--border) !important;
/*   min-height: 4.7em; */
}

section.faq summary {
  font-size: var(--h3);
}

main.publication summary {
  font-size: var(--h4);
}

main.publication details[open] summary + *,
main.insight details[open] summary + *,
section.faq details[open] summary + * {
  margin-top: 1em;
}

details:not(.fn) summary::after {
  content: "\f067";
  font-family: "Line Awesome Free";
  font-weight: 900;
/*   float: right; */
/*   padding-left: .25em; */
  text-decoration: none !important;
  display: inline-block;
  vertical-align: -.05em;
  line-height: inherit;
  position: absolute;
  right: 0;
  top: .25em;
}

section.press details:not(.fn) summary::after {
  top: auto;
}

section.press details + p {
  margin: 2em 0 0;
}

details.single summary::after {
  padding-left: .25em;
  text-decoration: none !important;
  display: inline-block;
  vertical-align: text-top;
  line-height: inherit;
  position: relative;
}

section.faq details summary::after {
  line-height: 1.4;
}

details[open] summary::after {
    content: "\f068";
}

.press details {
  display: table;
/*   margin: 1em 0; */
}

.press details + details summary {
  padding-top: .7em;
}

.press details:not([open]) {
  border-bottom: var(--border);
}

.press details:not([open]) + details summary {
  padding-top: 1.5em;
}

.press details summary {
  font-size: var(--h2);
  font-weight: inherit;
}

.press details ul {
  width: 100%;
}

.press details li {
/*   display: table-row; */
  border-top: var(--border) !important;
  min-height: 4.7em;
/*   transition: background-color 1s; */
}

.press details li:first-child {
  border-top: 0;
}

.press details li:hover,
.press details li:focus-within { 
  background: white; 
/*   transition: background-color 1s; */
  transition-delay: .1s;
}

.press details span {
  display: block;
}

.press details span:first-child {
  padding-top: 1em;
}

.press details span:last-child {
  padding: 1em 0;
}

.press details a {
  text-decoration: none;
}

@media screen and (min-width: 1024px) {
  .press details li a {
    display: flex;
    justify-content: space-between;
  }

  .press details span {
    /* display: table-cell; */
    min-height: 4.7em;  
    margin: 0;    
    padding: 1em 0; 
    padding-right: var(--paddingH) !important;
  }

  .press details span:first-child {
    width: calc( (var(--columnWidth) + var(--paddingH)) * 4 );
  }
    
  .press details span:nth-child(2) {
    width: calc( (var(--columnWidth) + var(--paddingH)) * 6 );
  }
    
  .press details span:last-child {
    width: calc( var(--columnWidth) * 10 + var(--paddingH) * 9 );    
    text-decoration: underline;
  }  
}

.press details a[target="_blank"]::after {
  content: none !important;
}

.press details a[target="_blank"] span:last-child::after {
  margin-left: .15em;
  content: '\f35d';
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-style: normal;
  vertical-align: -.05em;
  line-height: 1;
  text-decoration: none !important;
  display: inline-block;
  text-indent: 0;
}
  
/***** PROJECTS *****/

/* main.projects, */
main.projects section {
/*   grid-column: 1 / 21; */
/*   display: grid; */
/*
  grid-template-columns: inherit;
  grid-column-gap: inherit;
*/
}

main.projects > article {
  height: auto;
  min-height: 40vh;
}

@media screen and (min-width: 1024px) {
  main.projects,
  main.projects section {
/*     display: grid; */
  }
}

main.projects section {
  padding: 0;
  padding-bottom: 4em;
  grid-template-rows: min-content;
}

/*
main.projects section > h1,
main.projects section > h2 {
  grid-column: 1 / 5;
}
*/

main.projects h1 {
  padding-top: var(--paddingH);
}

main.projects h2 {
  margin-bottom: .25em;
}

main.projects ul#archive {
  
}

/*
main.projects #projects {
  grid-column: 3 / 9;
}
*/

/*
body.projects section > ul {
  grid-column: 3 / 9;  
}
*/

/*
main.projects .project {
  margin-top: 2em;
}
*/

/*
main.projects .project:first-child {
  margin-top: 3em;
}
*/

main.project > article {
  min-height: 80vh;
}

main.project main {
  padding-bottom: 8em;
}

/***** EVENTS *****/

main.home ul.events .tags,
main.events .tags,
main.project small:not(.footnote),
main.insights small:not(.footnote),
main.insight small:not(.footnote) {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .85em;
}

main.home ul.events .tags,
main.events .tags {
  margin-top: 1em;
}

.event > a {
  text-decoration: none;
}

.event > a:hover h3 {
  text-decoration: underline;
}

.event .date,
.event .time,
.event .venue {
  /* display: inline-block; */
  display: block;
  margin-right: 1em;
}

.event .time {
  display: block;
}

.event .venue {
  margin-bottom: .25em;
}

.event .venue {
  margin-bottom: 0;
}

div.event > div {
  font-size: 1.125em;    
  line-height: 1.2 !important;
}

ul.event_details li + li {
  margin-top: 1.5em;
}

main.event small {
  line-height: 1.4;
  display: block;
  width: 65%;
  margin-bottom: 1em;
}

ul.events > li:not(:last-child),
body.events ul.events > li:last-child {
  /* margin-bottom: var(--paddingH); */
  padding-bottom: var(--paddingH); 
}

ul.events > li:not(:first-child) article.event {
  padding-top: var(--paddingH);
}

ul.events li {

  border-bottom: var(--border);
}

ul.events li:last-child {
  border-bottom: none;
}

article.event {
  margin-bottom: .5em;
  position: relative;
}

main.home article.event h3 a::before {
  /* content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; */
}

@media screen and (max-width: 600px) {
  main.event main.column img {
    width: 100% !important;
  } 
}

/***** GALLERY *****/

main.project {
/*   margin-top: 8em; */
}

main.project main,
main.project article {
  padding-top: 0;
}

main.project article header {
  grid-column: 1 / 21;
/*   margin-bottom: 3em; */
}


main.project article main {
/*
  grid-column: 4 / 11;
  grid-column: 3 / 9;
*/
  grid-column: 1 / 21;
/*   display: grid; */
  grid-template-columns: inherit;
  grid-column-gap: inherit;
  padding-top: var(--paddingH);
}

body.color main.project article main {
}

@media screen and (min-width: 1024px) {
  main.project article header {
    grid-column: 1 / 21;
    grid-column: 1 / 8;
/*     grid-column: 1 / 11; */
/*     margin-bottom: 3em; */
    display: flex;
    justify-content: space-between;
    position: sticky;
    top: 4em;
  }
  
  main.project article header > * {
/*     padding-top: var(--paddingH);   */
  }


  main.project article main {
/*     display: grid; */
    grid-column: 4 / 11;
    grid-column: 3 / 9;
    grid-column: 8 / 21;
/*     grid-column: 11 / 21; */
    grid-row-start: 1;
    grid-row-start: 2;
    grid-row-end: 3;
    padding-top: 0;
  }
  
  body.color main.project article main {
    grid-column: 11 / 22;  
    grid-column: 8 / 22;  
    padding-right: var(--paddingH);  
  }
  
  body.color main.project article main[style] {
    padding: var(--paddingH);   
/*     padding-top: 0;    */
  }
}

main.project article main > * {
  grid-column: 1 / 21;
}

main.project article main figure {
  grid-column: 1 / 21;
/*   margin-top: 1em; */
}

main.project article main > figure:first-child {
/*   grid-column: 3 / 8; */
/*   width: 65%; */
  margin-bottom: 1em;
/*   margin-left: auto; */
}

main.project article main > figure.padding-top:first-child {
  padding-top: var(--paddingH);
}

main.project article main p {
  grid-column: 1 / 21;
}

@media screen and (min-width: 1024px) {
  main.project article main > :-webkit-any(*, p, figure) {
    grid-column: 1 / 12;
  }

  main.project article main > :matches(*, p, figure) {
    grid-column: 1 / 12;
  }

/*   main.project article main > :-webkit-any(*, p, figure), */
  main.project article main > :is(*, p, figure) {
    grid-column: 1 / 12;
  }
}

main.project article main > div:not(.simple) ul {
  grid-column: 1 / 8;
  column-count: 1;
  margin-bottom: 1em;
}

@media screen and (min-width: 600px) {
  main.project article main > div:not(.simple) ul {
    column-count: 2;
  }
}

@media screen and (min-width: 900px) {
  main.project article main > div:not(.simple) ul {
    column-count: 3;
  }
}

/*
main.project article main > ul li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-column;
}
*/

main.project article main > ul li {
  -webkit-column-break-inside: avoid;
  break-inside: avoid-column;
  display: inline-grid;
  page-break-inside: avoid;
}

/* for Chrome and Edge */
@supports (break-inside: avoid-column) {
  main.project article main > ul li {
    display: block;
  }
}

main.project article main .interviews ul li a[target=_blank]::after {
  content: "\f008";
  font-family: "Line Awesome Free";
  padding-left: .25em;
  text-decoration: none !important;
  display: inline-block;
  vertical-align: -.05em;
  text-indent: 0;
}

main.project article aside {
  grid-column: 1 / 21;
/*   display: none; */
}

main.project article aside img {
  margin-top: 1em;
  margin-right: 1em;
}

@media screen and (min-width: 600px) {
  main.project article aside {
    grid-column: 1 / 8;
/*     grid-column: 1 / 11; */
  }  
}

main.project small {
  font-size: .9em;
}

main.project .funding_logo,
main.impressum .funding_logo {
  text-decoration: none;
}

body.color .funding_logo {
  background: var(--bgColor);
  display: inline-block;
}

body.color .funding_logo img {
  mix-blend-mode: multiply;
}

.funding_logo img {
  --width: 0;
  --height: 0;
  --ideal-area: 20000;
  --area: calc(var(--width) * var(--height));
  --ratio: calc(var(--ideal-area) / var(--area));
  --guess01: calc(calc(var(--ratio) + calc( var(--ratio) / var(--ratio))) / 2);
  --guess02: calc(calc(var(--guess01) + calc( var(--ratio) / var(--guess01))) / 2);
  --guess03: calc(calc(var(--guess02) + calc( var(--ratio) / var(--guess02))) / 2);
  --guess04: calc(calc(var(--guess03) + calc( var(--ratio) / var(--guess03))) / 2);
  --guess05: calc(calc(var(--guess04) + calc( var(--ratio) / var(--guess04))) / 2);
  --guess06: calc(calc(var(--guess05) + calc( var(--ratio) / var(--guess05))) / 2);
  --guess07: calc(calc(var(--guess06) + calc( var(--ratio) / var(--guess06))) / 2);
  --guess08: calc(calc(var(--guess07) + calc( var(--ratio) / var(--guess07))) / 2);
  max-width: calc(var(--width) * var(--guess08) / 2 * 1px);
  filter: grayscale();
  padding-right: 5%;
  margin-top: .5em;
  margin-bottom: .5em;
}

.funding_logo img:last-child {
  margin-bottom: 0;
}

main.impressum .funding_logo img {
  --ideal-area: 40000;
}

.funding_logo:hover img,
.funding_logo:focus img {
  filter: none !important;
  mix-blend-mode: normal !important;
}

main:not(.collection) figure ul {
/*   display: flex; */
/*   justify-content: space-between; */
  column-count: 5;
  column-gap: 0;
}

main:not(.collection) figure ul li {
  margin: 0 .5em;
/*   align-self: flex-end; */
}

main:not(.collection) figure ul li:first-child {
  margin-left: 0;
}

main:not(.collection) figure ul li:last-child {
  margin-right: 0;
}

main:not(.collection) figure ul li img {
/*   height: 100%; */
}

/***** PRESSE *****/

main.press ul li {
  margin-bottom: 2em;
}

main.press ul li a {
  display: block;
/*   font-size: 1.3em; */
/*   font-weight: 400; */
/*   width: max-content; */
}

main.press details summary {
  font-weight: 300;
  font-size: 1.6em;
  line-height: 1.2em;
  margin: .5em 0;
  letter-spacing: -.01em;
  display: inline-block;
}

main.press details[open] {
  margin-bottom: 1.5em;  
}

main.press details summary::-webkit-details-marker {
  display: none;
}

main.press details summary:hover { 
  text-decoration: underline;
  cursor: default;
}

main.press details summary::before {
  font-family: "Line Awesome Free";
  content: "\f105";
  font-weight: 900;
  margin-right: .25em;
  display: inline-block;
}

main.press details[open] summary::before {
  content: "\f107";
}

/***** EINSICHTEN *****/

body.insights {
/*   background-color: var(--beige); */
}

main.insights {
/*   grid-column: 2 / 10; */
  grid-column: 1 / 21;
}

/*
main.insights > h1,
main.insights > aside {
  display: inline-block;
}
*/

main.insights > h1 {
  margin-right: .5em;
}

main.insights > aside {
/*   margin: 0 2vw; */
  margin-top: 0;
  margin-bottom: 2em;
  font-size: 1.6em;
  font-size: var(--h4);
  text-transform: uppercase;
  letter-spacing: .05em;
}

main.insights > aside select {
/*   margin-left: 0; */
}

main.insights .select {
  display: inline-block;
  margin-left: .5em;
}

main.insights .select::before {
  width: 0.8em;
  height: 0.5em;
}

main.insights select#filter {
  margin-left: -1.5em;
  padding-left: 1.5em;
  border: none;
  background: transparent;
  overflow-y: visible;
}

main.insights article a:hover h2 {
  text-decoration: underline;
}

main.insights > ul {
  --numColumnsInsights: 1;  
}

@media screen and (min-width: 600px) {
  main.insights > ul {
    --numColumnsInsights: 2;  
  }  
}

@media screen and (min-width: 900px) {
  main.insights > ul {
    --numColumnsInsights: 3;  
  }  
}

@media screen and (min-width: 1200px) {
  main.insights > ul {
    --numColumnsInsights: 4;  
  }  
}

main.insights > ul {
/*
  display: flex;
  flex-flow: column wrap;
*/
  --columnGap: 2vw;
/*   --columnGap: 3.5vw; */
/*   --numColumnsInsights: 4; */
/*   --column: calc(20vw - var(--columnGap)); */
  --columnWidthInsights: calc(100vw / var(--numColumnsInsights));
  --columnGapInsights: calc(var(--columnGap) * (var(--numColumnsInsights) + 1));
  --column: calc(var(--columnWidthInsights) - var(--columnGapInsights));

  -webkit-columns: var(--column) var(--numColumnsInsights);
  -moz-columns: var(--column) var(--numColumnsInsights);
  columns: var(--column) var(--numColumnsInsights);
  -webkit-column-gap: var(--columnGap);
  -moz-column-gap: var(--columnGap);
  column-gap: var(--columnGap);
  -webkit-column-fill: balance;
  -moz-column-fill: balance;
  column-fill: balance;

/*   margin: 0 var(--columnGap); */

  width: 100%;
/*   width: calc(100% - var(--columnGap) * 2); */
  list-style: none;
}

/*
main.insights > ul > li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-column;
  padding-bottom: 2em; 
}
*/

main.insights > ul > li {
  -webkit-column-break-inside: avoid;
  break-inside: avoid-column;
  display: inline-grid;
  page-break-inside: avoid;
  padding-bottom: 2em;
}

/* for Chrome and Edge */
@supports (break-inside: avoid-column) {
  main.insights > ul > li {
    display: block;
  }
}

/*
main.insights > ul > li:after {
  content: "*";
  display: block;
  text-align: center;
  margin: 0 auto;
}
*/

main.insights > ul a {
  color: inherit;
  text-decoration: none;
  display: block;
/*   padding: 1vw; */
}

main.insights > ul a:hover {
/*   background-color: var(--purple); */
}

main.insights > ul li.objekte {
  display: none;
}

main.insights > ul > li h2 {
/*   font-size: 1.25em; */
  margin-bottom: .45em;
}

main.insights > ul > li figure {
  position: relative;
}

main.insights > ul > li figcaption {
  position: absolute;
  top: 100%;
}

main.insights > ul > li figure + h2 {
  margin-top: .5em;
}

main.insights > ul > li dl.meta {
  font-size: .7em;
  line-height: 1.3em;
/*   display: block; */
/*   display: none; */
/*   margin-top: -.5em; */
}

picture.cover,
.cover picture {
/*   width: 40%; */
/*   float: right; */
  margin-bottom: var(--paddingH);
/*   margin-left: 20%; */
}

section.cover div.blocks,
section.cover div.blocks figure,
section.cover div.blocks figure img {
  height: 100%;
  object-fit: cover;
}

.main-carousel.gallery.cover figure,
.main-carousel.gallery.cover figure img,
ul.gallery.cover figure,
ul.gallery.cover figure img {
  height: 100%;
  object-fit: cover;
}

.main-carousel.gallery.cover figure,
ul.gallery.cover figure {
  display: flex;
  flex-direction: column;
}

.main-carousel.gallery.cover picture,
ul.gallery.cover picture {
  height: 100%;
  display: block;
}

.main-carousel.gallery,
ul.gallery {
  margin-bottom: 1em;
}

main.about-us ul.gallery {
  margin-bottom: 0;
}

main.about-us section.cover {
  margin-bottom: 2em;
}

@media screen and (min-width: 1024px) {
  main.about-us section.cover div.column {
    height: 70vh;
  }  
}

button.meta {
  position: absolute;
  top: auto;
  bottom: 1em;
  left: .5em;
  right: auto;
  min-height: 32px;
  min-width: 32px;
  background: none;
  border: none;
/*   visibility: hidden; */
  opacity: 0;
}

button.meta i {
  font-size: 1.8rem;
/*   line-height: 1.8rem; */
  border-radius: .9rem;
  vertical-align: inherit;
}

button.meta i::before {
  background-color: white;
  border-radius: .9rem;
  vertical-align: inherit;
}

*:hover > button.meta,
button.meta:focus {
/*   display: block; */
/*   visibility: visible; */
  opacity: 1;
}

button.meta[aria-expanded="true"] {
  opacity: 1;
}

figcaption {
  font-size: var(--figcaption);
  width: 90%;
  line-height: 1.2;
  margin-bottom: var(--paddingH_1_2);
}

@media screen and (min-width: 1024px) {
  figcaption {
    width: calc(100% / 3 * 2);  
  }
}

.themes figcaption {
  margin-bottom: 0;
}

main:not(.home) figcaption dl.meta {
  font-size: 1em;
}

figcaption p {
  margin-bottom: 0;
}

dl.meta,
figcaption div.meta {
  font-size: .7em;
}

dl.meta dt, dl.meta dd {
  display: inline-block;
  display: inline;
}

dl.meta dd + dt {
  margin: 0;
}

dl.meta a {
  white-space: nowrap;
}

main.insights figure, .insights img {
  width: 100%;
/*
  width: 95%;
  width: 93%;
*/
/*
  margin: 0 auto;
*/
}

main.insights figure {
  margin-bottom: .5em;
}

.insights figure img {
/*
  max-height: calc(var(--column) * 1.5);
  object-fit: contain;
*/
}

main.insights .tags {
  list-style: none;
  text-transform: uppercase;
  font-size: .9em;
  letter-spacing: 0.02em;
}

/***** COOKIE BANNER *****/

.cookie-modal {
  display: grid;
  place-items: center;
  overflow-y: scroll;
  display: flex;
  place-items: flex-end;
}

.cookie-modal h1 + * {
  margin-top: 1em;
}
  
.cookie-modal__content {
  margin: 0 !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  overflow-y: scroll;
  overscroll-behavior: contain;
}

@media screen and (max-width: 600px) {
 
  .cookie-modal__options,
  .cookie-modal__buttons {
    flex-direction: column !important;
  }  
  
  .cookie-modal__options > * {
    width: auto !important;
  }
}

.cookie-modal__button {
  font-family: inherit;
  font-size: inherit;
}

#cookie_banner-wrapper {
  --wrapperColor: var(--purple);
  position: fixed;
  /* top: auto; */
  left: var(--paddingH);
  /* right: auto; */
  bottom: var(--paddingH);
  background-color: var(--wrapperColor);
  width: calc(100vw - 2 * var(--paddingH));
  padding: var(--paddingH);  
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  z-index: 999;
}

@media screen and (min-width: 600px) {
  #cookie_banner-wrapper {
    width: 25vw;
  }
}

#cookie_banner-wrapper button {
  border: 1px solid black;
  background-color: transparent;
  border-radius: 1em;
  padding-left: .5em;
  padding-right: 0.6em;
  margin: 0 auto;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.5em;
}

#cookie_banner-wrapper button:hover {
  color: var(--wrapperColor);
  background-color: black;
}

button.edit-cookie {
  font-family: inherit;
  font-size: 1em;
  font-weight: inherit;
  line-height: 2;
  border: var(--border);
  background-color: transparent;
  border-radius: 1em;
  padding-left: .5em;
  padding-right: .4em;
  margin-bottom: 1em;
}

button.edit-cookie:hover,
button.edit-cookie:focus {
  background-color: var(--petrol);
  /* background-color: black;
  color: white; */
}

.third-party {
  /* display: grid;
  place-items: center; */
  padding: var(--paddingH);
  width: 100%;
  /* width: calc(100% + 3 * var(--paddingH)); */
  /* height: 100%; */
  /* margin-left: calc(-1 * var(--paddingH)); */
  margin-bottom: 1em;
  border: var(--border);
}

.transport .third-party {
  border-bottom: none;
  border-left: none;
}

body.color .third-party {
  background-color: var(--red);
  border: none;
}

.third-party .edit-cookie {
  margin-bottom: 0;
}

.third-party > *:not(.edit-cookie) {
  width: 70%;
}

.transport .third-party {
  width: calc(100% + 2 * var(--paddingH));
  height: 100%;
  margin-left: calc(-1 * var(--paddingH));
  margin-bottom: 0;
}

/***** FILES *****/

.file-wrapper {
  display: block;
}

.file-wrapper + *:not(.file-wrapper) {
  margin-top: 1em;
}

.file-wrapper i::before {
  margin-right: .25em;
}

/***** LISTS *****/

.arrows ul {
  list-style-type: '→';
  margin-left: 1em;
}

.arrows ul ::marker {
  margin-right: .25em;
}

.arrows ul li {
  padding-left: .25em;
}

.arrows ul li::before {
  content: '→';
  margin-right: .25em;
  margin-left: -1.25em;
}

.lines ul,
ul.lines.search_results {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 1em;
}

.lines ul li,
ul.lines.search_results li {
  padding: var(--paddingH) 0;
  padding: 1em 0;
  border-top: var(--border);
  padding-right: calc(100% - var(--max-width));
/*   max-width: var(--max-width); */
}

.lines ul li:first-child,
ul.lines.search_results li:first-child {
  border-top: none;
  padding-top: 0;
}

.lines ul li > *,
ul.lines.search_results li > * {
  max-width: var(--max-width);  
}

ul.lines.search_results li p {
  margin-bottom: 0;
}

h2 + .lines {
  margin-top: var(--paddingH);
}

.filling-empty-space-childs {
	height: 0;
	padding-bottom: 0 !important;
}
	
/***** ??? *****/

main.search .column .sticky {
  position: sticky;
  top: calc(var(--paddingTop) + var(--paddingH) + var(--h1) + 10.5vh) !important;
}

/***** a11y *****/

button#contrast {
  border: none;
  background: transparent;
  font-size: 1.2em;
  --buttonSize: 32px;
}

button#search_btn {
  border: none;
  background: transparent;
  font-size: 1.2em;
  --buttonSize: 36px;
}

ul#nav li.additional button {
  margin-right: -.25em;
}
ul#nav li.additional button svg {
  padding: 4px;
}

ul#nav li.additional:focus-within button {
  background: black;
  border-radius: 1em;
  line-height: 1;
  display: inline-grid;
  place-items: center;
}

body:not(.color) ul#nav li.additional:focus-within button svg {
  fill: white;
}

body.color ul#nav li.additional:focus-within button {
  background: var(--purple);
}


/***** FOOTNOTES *****/

article sup {
	font-size: 1em;
	font-feature-settings: 'sups' 1;
	vertical-align: baseline;
	margin-left: .05em;
}

details.fn,
button.fn {
  border: none;
  background: transparent;
  font-family: inherit;
	font-size: 1em;
	font-weight: inherit;
	font-feature-settings: 'sups' 1;
	vertical-align: baseline;
	margin-left: .05em;
}

/* button.fn:hover, */
button.fn:focus {
  background: black;
  border-radius: 1em;
  color: white;
  color: var(--bgColor);
  height: 1em;
  width: 1em;
}

body.color button.fn:focus {
  background: var(--purple);
}

/* button.fn[aria-expanded=true] {
  border: var(--border);
  border-radius: 1em;
  background: transparent;
  color: black;
  height: 1em;
  width: 1em;
} */

article sup:hover {
	cursor: pointer;
}

article .footnote {
	display: none;
	font-size: .75em;
	line-height: 1.25em;
	line-height: 1.4em;
	color: rgba(0,0,0,.6);
	margin: .5em 0;
	padding: 0 var(--textIndent);
	text-indent: 0;
}

article sup.fnOpen + .footnote, 
article .fnOpen + sup + .footnote,
article button.fnOpen + .footnote, 
article .fnOpen + button + .footnote {
	display: block;
}

article .footnote span {
	display: block;
}

article .footnote span + span {
	margin-top: .25em;
}

article footer {
  background-color: transparent;
}


/***** COLORS *****/

  body.home.color.scroll > header {
    border-bottom: none !important;
  }
  
/*
body > header {
  border-bottom: var(--border) !important;
}

main.home section.background,
article.publications,
article.events,
article.info ul.latest li,
article.projects,
main.home section.background {
  background-color: transparent !important;
  border-bottom: var(--border) !important;
}

article.events,
article.info ul.latest li:nth-child(2) {
  border-left: var(--border) !important;
}

main.collection .themes {
  background-color: white;
  border-top: var(--border);
  border-bottom: var(--border);
}
*/

@media screen and (min-width: 1024px) {
  #bc93bf20-021e-4d3a-94df-364b0d361b67 ul.slightbox-container {
    transform: translateX(calc(-1 * 3 * (var(--columnWidth) + var(--paddingH))));  
  }  
  
  main.about-us section video {
/*
    width: 60% !important;
    margin: 0 0 10% auto;
    float: right;
*/
  }
  
  main.about-us section .flickity-enabled video {
    height: 100%;
    width: auto;
/*     margin: 0 auto; */
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
}

/***** BUTTONS *****/

button svg {
  min-width: var(--buttonSize);
  min-height: var(--buttonSize);
  width: 1em;
  height: 1em;
  font-size: inherit;
  padding: 6px;
}

.social a:hover,
.social a:hover i,
.social a:hover i::before {
  text-decoration: none !important;
}


/***** LINKTREE *****/

.linktree {
  background-color: var(--purple) !important;
}

.linktree main {
  width: 90vw;
  max-width: 600px;
  margin: 2em auto;    
  text-align: center;
  grid-column: 1 / 11;
  hyphens: none;
}

.linktree h2 {
  font-size: 1.125em;
  margin-top: 3.2em !important;
}

.linktree a {
  color: black;
  text-decoration: none;
}

.linktree img {
  --size: 4.6em;
  height: var(--size);
  width: var(--size);
  background-color: red;
  border-radius: calc(var(--size) / 2);
  margin-bottom: 1em;
}

.linktree div + div ul:not(.social) {
  margin-top: 3.4em !important;
}

.linktree ul:not(.social) {
  margin-top: 3em;
}

/* .linktree ul:not(.social) a {
  --btnHeight: 3em;
  display: block;
  min-height: var(--btnHeight);
  border: 1px solid black;
  border-radius: calc(var(--btnHeight) / 2);
  margin: 1em 0;
  padding: .5em;
  line-height: calc(var(--btnHeight) * .6);
  background-color: white;
} */

.linktree ul:not(.social) li a:-webkit-any(:hover, :focus)::after {
  /* margin: calc(1em - 2px) -2px; */
  /* border-width: 3px; */
  /* font-weight: 700; */
  color: black;
  background-color: black;
  background-color: var(--yellow2);
  mix-blend-mode: multiply;
  /* color: white; */
}
.linktree ul:not(.social) li a:matches(:hover, :focus)::after {
  /* margin: calc(1em - 2px) -2px; */
  /* border-width: 3px; */
  /* font-weight: 700; */
  color: black;
  background-color: black;
  background-color: var(--yellow2);
  mix-blend-mode: multiply;
  /* color: white; */
}
.linktree ul:not(.social) li a:is(:hover, :focus)::after {
  /* margin: calc(1em - 2px) -2px; */
  /* border-width: 3px; */
  /* font-weight: 700; */
  color: black;
  background-color: black;
  background-color: var(--yellow2);
  mix-blend-mode: multiply;
  /* color: white; */
}

.linktree ul:not(.social) li:-webkit-any(:hover, :focus-within) {
  background-color: white;
}
.linktree ul:not(.social) li:matches(:hover, :focus-within) {
  background-color: white;
}
.linktree ul:not(.social) li:is(:hover, :focus-within) {
  background-color: white;
}

/* .linktree ul:not(.social) li, */
.linktree ul:not(.social) li {
  /* width: 90%; */
  padding: 1em 0;
  min-height: 44px; 
  min-height: 3.2em;
  font-size: inherit;
  line-height: 1.2;
  /* border: var(--border); */
  background-color: transparent;
  /* border-radius: 1em; */
  /* border: 2px solid white; */
  position: relative;
  display: block;
  border-top: var(--border);
}

.linktree ul:not(.social) li a {
  z-index: 1;
}

.linktree ul:not(.social) li a::after {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 0;
}


.linktree ul:not(.social) li:last-child {
  border-bottom: var(--border);
}

.linktree a[download] {
   padding: 1em 0;
   min-height: 44px; 
   min-height: 3.2em;
   font-size: inherit;
   line-height: 1.2;
   background-color: transparent;
   position: relative;
   display: block;
   border-bottom: var(--border); 
}

.linktree a[download]:hover,
.linktree a[download]:focus {
  background-color: var(--yellow2);
}

/* .linktree *:not(a[download]) + a[download] {
  border-top: none;
} */

.linktree h2 ~ div ul:not(.social) {
  margin-top: 1.2em;
}

/* .linktree ul:not(.social) li a::first-line {
  text-decoration: strike-through;
} */

.linktree main {
  padding-bottom: calc(3 * var(--paddingH));
}

ul.social li {
  min-width: 32px;
  min-height: 32px;
  display: inline-grid !important;
  place-items: center;
}

ul.social li:focus-within {
  background: black;
  border-radius: 1em;
}

body.color ul.social li:focus-within {
  background: var(--purple);
}

/* ul.social li:matches(:focus-within) {
  background: black;
  border-radius: 1em;
}

ul.social li:is(:focus-within) {
  background: black;
  border-radius: 1em;
} */

body:not(.color) ul.social li:focus-within svg {
  fill: white;
}

/* ul.social li:matches(:focus-within) svg {
  fill: white;
}

ul.social li:is(:focus-within) svg {
  fill: white;
} */

.linktree ul.social li {
  min-width: 44px;
  min-height: 44px;
  display: inline-grid !important;
  place-items: center;
}

.linktree ul.social li:-webkit-any(:hover, :focus-within) {
  /* background: white; */
  background: var(--yellow2);
  border-radius: 1em;
}
.linktree ul.social li:matches(:hover, :focus-within) {
  /* background: white; */
  background: var(--yellow2);
  border-radius: 1em;
}
.linktree ul.social li:is(:hover, :focus-within) {
  /* background: white; */
  background: var(--yellow2);
  border-radius: 1em;
}

.linktree ul.social li a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.linktree ul.social li a svg {
  width: 28px;
  height: 28px;
}

/*
a i,
button i,
input[type=submit] {
  transition: text-shadow .5s box-shadow .5s;  
}

a:hover i,
a:focus i,
button:hover i,
button:focus i {
 text-shadow: 0 0 .4em var(--purple), 0 0 .4em var(--purple), 0 0 .4em var(--purple), 0 0 .4em var(--purple), 0 0 .4em var(--purple), 0 0 .4em var(--purple);  
  transition: text-shadow .5s;
}

input[type=submit]:hover,
input[type=submit]:focus {
 box-shadow: 0 0 .6em var(--orange);  
}
*/

/***** ICONS *****/

.la, .lab, .lad, .lal, .lar, .las {
  display: inline !important;
}

/***** TARGET *****/

@keyframes Target /* Style an anchor when it has been navigated */
		{	
			from { outline-offset: -.25em; outline-color: var(--purple); outline-width: .1em; }
			to { outline-offset: 2em; outline-color: transparent; outline-width: 1em; }
		}

#main-content:target	h1 {	
  outline-width: .2em;
	outline-style: solid;
	outline-color: var(--purple) 
}

/* @media screen and (prefers-reduced-motion: no-preference) { */
#main-content:target	h1 {	
  outline-width: 0;
  animation: Target 1s ease-out 2;
}
/* } */


/***** STICKER *****/

svg#sticker {
  position: fixed;
  width: 6.5em;
  height: 6.5em;
  z-index: 1;
  right: 5vw;
  top: calc(10vh + var(--headerMinHeight));
}

svg#sticker circle {
  fill: var(--purple);
}

@media screen and (min-width: 1024px) {
  svg#sticker {
    width: 9em;
    height: 9em;
    top: calc(5vh + var(--headerMinHeight));
  }
}

/***** EXCEPTIONS *****/

.main-carousel[id="4d647de8-1f8e-4330-9ddf-e1f3b3db7f4d"] {
  margin-top: 0 !important;
}

/***** NOSCRIPT *****/

body.noscript .lozad > img {
  display: none !important;
}

body.noscript #search {
  display: none;
}

@media screen and (max-width: 1024px) {
  body.noscript section.background {
    height: 75vh;
    overflow: scroll;
    overscroll-behavior: contain;
  }
}

@media screen and (min-width: 1024px) {
  body.noscript section.background {
    overflow: hidden;
  }
}