:root { 
    --blk: #1c1c1c; 
    --wht: #f4f4f4;
    --highl: #FE4D44;
    --lgray: #a8a8a8;
    --transp: rgba(244, 244, 244, 0);

    /* Typography tokens */
    --font-body: "Roboto Condensed", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --font-display: "Satoshi-Variable", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    
    --text-color: var(--blk);
    --text-base: 16px;
    
    /* Type scale */
    --fs-body: 1.4rem;
    --lh-body: 2rem;
    
    --fs-h1: 4rem;
    --lh-h1: 5rem;
    
    --fs-h2: clamp(2rem, 2.8vw, 4rem);
    --lh-h2: 5rem;
    
    --tracking-tight: -0.1rem;
    
    /* Layers */
    --z-sticky: 10;          /* sticky headers, fixed nav */
    --z-dropdown: 20;        /* menus, selects, popovers */
    --z-tooltip: 30;         /* tooltips, hover cards */
    
    --z-backdrop: 40;        /* modal backdrop */
    --z-modal: 50;           /* modal itself */
    
    --z-toast: 60;           /* toast notifications */
    --z-overlay: 70;         /* global loading mask, drag layer */
    
}
/******** Base *********/
html {
  font-size: var(--text-base);
}
body {
  margin: 0;
  height: 100%;
  background-color: var(--wht);

  font-family: var(--font-body);
  color: var(--text-color);
  font-weight: 500;
}
*, *::before, *::after {
  box-sizing: border-box;
}
/******** Typography *********/
h1, h2, h3, .menu li {
    font-family: var(--font-display);
}
h1 {
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-tight);
    margin: 1.5rem 0 0 calc(var(--fs-h1) * -0.07);
}
h2 {
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);;
    font-weight: 600;
    letter-spacing: var(--tracking-tight);
    margin: -2rem 0 0 calc(var(--fs-h1) * -0.04);
}
h2.m-top-0 {
    margin-top: 2rem;
}
h3 {
    font-size: 1.8rem;
    text-transform: uppercase;
}
p ~ h2, ul ~ h2, table ~ h2 {
    margin-top: 1.5rem;
}
p {
    margin: 0;
}
p, li, td, a {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    font-size: var(--fs-body);
    line-height: var(--lh-body);
}
@media screen and (max-width: 800px) {
    h1 {
        font-size: 2.5rem;
        line-height: 2rem;
    }
    .article-list.grid-view h2 {
        font-size: 1.3rem;
        word-wrap: break-word;
    }
}
@media screen and (max-width: 1200px) {
        .article-list.grid-view h2 {
            hyphens: auto;
            overflow-wrap: break-word;
        }
}
/* Links */
a {
    color: var(--highl);
    text-decoration: none;
}
a:hover {
    color: var(--wht);
    background-color: var(--highl);
}
/* Lists */
.content li {
    line-height: 2rem;
    margin: 1rem 0 1.5rem;
    padding: 0 0 1rem 1rem;
    border-bottom: 1px solid var(--lgray);
    list-style-position: inside;
}
.content ul li {
    display: flex;
    align-items: flex-start;
}
.content ul li::before {
  content: "•";
  padding-right: 1.5rem;
  color: var(--highl);
  font-size: 1.8rem;
}
ol {
    list-style: none;
    counter-reset: item;
    padding-left: 2.5rem;
}
ol li {
    display: flex;
    align-items: flex-start;
    counter-increment: item;
}
ol li::before {
    padding-right: 1.5rem;
    content: counter(item, decimal-leading-zero) ". ";
    margin-right: 0.5em;
    font-weight: bold;
    color: var(--lgray);
}
/* Tables */
table {
    border: 0;
    width: 100%;
}
tr {
    border-bottom: 1px solid var(--lgray);
    margin-top: 1rem;
    margin-bottom: 1rem;
}
td {
    vertical-align: top;
    padding: 2rem 1rem 1.8rem;
    line-height: 1.8rem;
}
@media screen and (max-width: 800px) {
    .page-awards tr {
        display: flex;
        flex-direction: column;
    }
    .page-awards tr td {
        padding: 1rem;
    }
}
/* Buttons */
button {
    width: fit-content;
    padding: 0;
    border: 3px solid var(--blk);
}
button a {
    display: inline-block;
    margin: 0;
    padding: 0.1rem 1rem;
    color: var(--blk);
}
button a:hover {
    color: var(--highl);
    background-color: var(--wht);
}
.btn-active {
    background-color: var(--blk);
    color: var(--wht);
}
.btn-right {
    margin-top: 2rem;
    display: flex;
    justify-content: flex-end;
}
@media screen and (max-width: 800px) {
    div.grow {
        display: flex;
        justify-content: center;
    }
    div.grow button {
        align-self: center;
        min-width: 60%;
        min-height: 3.5rem;
    }
}
a.read-more {
    float: inline-end;
    display: inline-block;
    margin-inline-start: 1rem;
    margin-block-start: 0.25rem;
    padding: 0.4rem 1rem;
    border: 2px solid var(--blk);
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}
a.read-more:hover {
    background-color: var(--wht);
    color: var(--highl);
}
/* Images 
figure {
    position: relative;
}
figure a {
    position: absolute;
    width: 100%;
    height: 100%;
}*/
figure {
    margin: 0 40px 1rem;
    margin: 0;
}
figure a:hover {
    background-color: var(--wht);
}
@media screen and (max-width: 800px) {
    .content ul {
        padding-left: 0;
    }
    figure {
        margin: 0.5rem 0;
    }
}
/*.tpl-1 .content .article ul li > a */
.content .article ul li > a {
    white-space: nowrap;
    margin-left: 0.5rem;
}
@media screen and (max-width: 800px) {
    .content .article ul li > a {
        white-space: normal;
    }    
}

/* Header */
.logo {
    
    display: none;
}
.logo a {
    color: var(--blk);
    font-family: var(--font-display);
    font-size: var(--fs-h1);
    font-weight: 900;
}
.logo a:hover {
    background-color: var(--wht);
}
/* Menu layout */
/* Base menus */
nav {
    /*min-height: 12rem;
    max-height: 12rem;*/
}
.menu {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}

.menu li {
    line-height: normal;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-bottom: 0;
    border-bottom: none;
    text-transform: uppercase;
}

/* Main menu */
.mmenu > li {
  display: flex;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.1rem;
  margin: 0 .5rem;
  padding: 0 1rem;
  padding: .5rem;
}
.mmenu > li div,
.mmenu > li div a {
  font-weight: 900;  
  font-size: clamp(16px, 4vw, 5rem);
  white-space: nowrap;
}
.mmenu > li:hover,
.mmenu > li.active {
  color: var(--wht);
  background-color: var(--blk);
  cursor: pointer;
}
/*language*/
li.lang ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
li.lang ul li:nth-child(2) {
    /*margin-top: -.5rem;*/
    margin-top: -.4rem;
}
.mmenu > li.lang:hover,
li.lang ul li a {
    color: var(--blk);
    /*background-color: var(--wht);*/
    background-color: transparent;
}
li.lang ul li a:hover,
li.lang ul li a.active {
    text-decoration: underline;
    text-underline-offset: 0.05rem;   
}
.mmenu > li:hover div,
.mmenu > li.active div,
.mmenu > li:hover div a,
.mmenu > li.active div a {
  color: #f4f4f4;
  background-color: #1c1c1c;
  cursor: pointer;
  text-decoration: none;
}
/* Submenu */
.menu-item .smenu {
	/*display: none;*/
}
/*.menu-item:hover .smenu {
	display: flex;
	position: absolute;
	right: 0;
	top: 3.5rem;
	
}*/ /*margin-right: 2.5rem;*/
.smenu {
  justify-content: flex-end;
  text-align: right;
}

.smenu li {
  /*font-size: 2.8vw;*/
  font-weight: 500;
  margin: .5rem;
  padding: .5rem;
  white-space: nowrap;
}
a.menu-link:hover,
.smenu li:hover,
.smenu li.active a {
  text-decoration: underline;
  text-underline-offset: .5rem;
  text-decoration-thickness: 3px;
  cursor: pointer;
}
a.menu-link {
    color: var(--blk);
    text-decoration: none;
}
li a.menu-link {
    font-size: 2.8vw;
    font-size: clamp(16px, 2.8vw, 4.5rem) ;
}
a.menu-link:hover {
    color: var(--blk);
    background-color: var(--wht);
    background-color: rgba(255,255,255,0);
    text-decoration: underline;
}
/* Hamburger */
.navShell{ 
	position: relative; 
	margin-left: auto;
	/*width: fit-content;*/
	/*border-bottom: 1px solid var(--lgray);*/
}
.navToggle{
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.siteNav{
  inset: 0;
  z-index: 50;
  /*padding: 96px 24px 24px;
  background: #fff;*/
}
/* Top-level link + arrow layout */
.mmenu > li > div.toplink{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Arrow button base */
.arr{
  border: 0;
  background: transparent;
  color: var(--blk);
  padding: 0;
  line-height: 1;
  cursor: pointer;
  font-size: 1.5rem;
  display: none;
}

/* Mobile: show arrows */
@media screen and (max-width: 800px){
  .arr{ display: inline-block; }
}
.hamburger {
  /* tweak these to match UI density */
  --size: 85px;           /* hit area */
  --stroke: 10px;          /* line thickness */
  --gap: 7px;             /* spacing between lines */
  --speed: 220ms;

  inline-size: var(--size);
  block-size: var(--size);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  position: relative;
  z-index: 200;
  display: none;
}

.hamburger__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.hamburger__lines {
  position: relative;
  inline-size: calc(var(--size) * 0.62);
  block-size: calc((var(--stroke) * 3) + (var(--gap) * 2));
  display: block;
}

.hamburger__lines::before,
.hamburger__lines::after {
  content: "";
  position: absolute;
  left: 0;
  inline-size: 100%;
  block-size: var(--stroke);
  background: var(--blk);
  transform-origin: center;
  transition:
    transform var(--speed) cubic-bezier(.2,.9,.2,1),
    top var(--speed) cubic-bezier(.2,.9,.2,1),
    bottom var(--speed) cubic-bezier(.2,.9,.2,1),
    opacity 140ms linear;
}

/* middle line is the element itself */
.hamburger__lines {
  background: linear-gradient(var(--blk), var(--blk)) center / 100% var(--stroke) no-repeat;
  transition: background-size 160ms ease;
}

/* top line */
.hamburger__lines::before {
  top: 0;
}

/* bottom line */
.hamburger__lines::after {
  bottom: 0;
}

/* Hover/active polish */
.hamburger:hover .hamburger__lines::before,
.hamburger:hover .hamburger__lines::after {
  transform: scaleX(1.03);
}

.hamburger:active {
  transform: translateY(0.5px);
}

/* Checked = turn into an X */
.hamburger__input:checked + .hamburger__lines {
  /* hide middle stroke */
  background-size: 0% var(--stroke);
}

.hamburger__input:checked + .hamburger__lines::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.hamburger__input:checked + .hamburger__lines::after{
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

/* Accessible focus ring */
.hamburger:has(.hamburger__input:focus-visible) {
  outline: 3px solid color-mix(in srgb, var(--blk) 30%, transparent);
  outline-offset: 4px;
  border-radius: 12px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hamburger__lines,
  .hamburger__lines::before,
  .hamburger__lines::after{
    transition: none !important;
  }
}
/************ Animations *************/
.is-fixed {
    position: fixed;
    top: 0;
    z-index: 100;
    background-color: var(--wht);
}
.menu-item .smenu{
  display: flex;            
  position: absolute;
  right: 0;
  top: 3.5rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


/* JS adds/removes this */
.menu-item.is-open .smenu {
  visibility: visible;
  pointer-events: auto;
}
@media screen and (max-width: 800px) {
    #header {
        justify-content: space-between;
    }
    .site-nav, .siteNav {
        position: fixed;
        inset: 0;
        z-index: 150; /* below hamburger if hamburger is higher */
        /*padding: 96px 24px 24px;      space for header/hamburger */
        background: rgba(255, 255, 255, .93);
        overflow: auto;
        /*display: none;*/ 
    }
    .hamburger {
        display: inline-grid;
        position: relative;
        z-index: 200;
    }
    .logo {
        line-height: 8rem;
        display: block;
        line-height: 3rem;
        margin-top: 1rem;
    }
    /* hamburger manu functionality css/gsap */
    .navToggle:checked ~ .siteNav{
      display: block;
    }
    html.js .siteNav{
      display: block;
      /*transform: translateY(-100%);*/
      opacity: 0;
      pointer-events: none;
    }
    html.js .siteNav.is-open{
      pointer-events: auto;
    }
    
    /* mobile menu style */
    nav {
        overflow: visible;
        max-height: none;
    }
    .mmenu {
        flex-direction: column;
        align-items: center;
        margin-top: 6rem;
    }
    .mmenu > li {
        margin: 2rem 0 0;
        flex-direction: column;
        align-items: center;
    }
    .mmenu > li div a {
        font-size: 3rem;
    }
    .mmenu > li:hover, .mmenu > li.active {
        background-color: inherit;
    }
    .mmenu > li:hover div, 
    .mmenu > li.active div, 
    .mmenu > li:hover div a, 
    .mmenu > li.active div a {
        /*color: var(--blk);
        background-color: inherit;*/
        color: var(--wht);
        background-color: var(--blk);
    }
    .mmenu > li:hover ul, 
    .mmenu > li.active ul {
        height: auto;
        opacity: 1;
        visibility: visible;
    }
    .mmenu > li > div.toplink{
        padding: .5rem;
    }
    /*.menu-item:hover .smenu {
        position: static;
    }
    .menu-item .smenu {
        flex-direction: column;
        position: static;
        align-items: center;
        height: 0;
    }*/
	/*.menu-item:hover .smenu {
		display: flex;
		position: static;
	}*/
	.menu-item .smenu {
		flex-direction: column;
		position: static;
		align-items: center;
		height: auto;
		overflow: hidden;
	}
    li a.menu-link {
        font-size: 2rem;
    }
}
@media screen and (max-width: 800px) {
  html.js .menu-item:hover .smenu {
    display: none;
  }

  html.js .menu-item.is-open:hover .smenu,
  html.js .menu-item.is-open .smenu {
    display: flex;
  }
}
@media screen and (min-width: 801px) {
  /*nav {
    height: 8.5rem;
    min-height: 8.5rem;
    max-height: 8.5rem;
  }*/

  .menu-item .smenu {
    top: 3.5rem;
  }

  li a.menu-link {
    font-size: 2rem;
  }
}

.navShell { position: relative; }

@media screen and (min-width: 801px) {
  nav {
    height: 100%; /* deckt jetzt navShell komplett ab, inkl. Submenu-Zone */
  }
}

.page-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    /*align-items: flex-end;*/
}
.page {
    flex: 1;
    /*margin: 0 2rem;*/
    padding: 0 2rem;
    width: 100%;
    max-width: 2000px;
}
.content {
    display: flex;
}
.content .article:first-child {
    margin-right: 40px;
}
.article {
    width: 65%;
    text-align: justify;
    hyphens: auto;
}
.article li,
.article td {
    text-align: left;
    hyphens: manual;
}
.article p {
    margin-bottom: 1rem;
}
.media {
    width: 35%;
    width: 45%;
    margin-top: .45rem;
}
.main-image img {
    width: 100%;
}
.page-container,
.page,
.content {
    width: 100%;
}
.site-nav,
.page-container,
.page,
.content,
.article,
.media {
	min-width: 0;
}
@media screen and (max-width: 800px) {
    .page {
        padding: 0 0.5rem;
    }
    .content {
        flex-direction: column-reverse;
    }
    .content > div {
        width: 100%;
    }
}
footer {
    min-height: 4rem;
    width: 100%;
    background-color: var(--blk);
    color: var(--wht);
    padding: 1rem 2rem;
    font-weight: 400;
    display: flex;
    justify-content: space-between;
}
footer a {
    color: var(--wht);
    padding: .2rem;
}
footer ul {
    list-style-type: none;
    padding-left: 0;
}
footer .f-hl {
    text-transform: uppercase;
    font-weight: 600;
}
footer .scroll-to-top {
    display: none;
}
#scrollTopBtn {
    /*display: none;*/
    /*position: fixed;*/
    bottom: 20px;
    right: 20px;
    width: 5rem;
    height: 5rem;
    border: none;
    background-color: #333;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    z-index: 9;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s ease;
}

#scrollTopBtn:hover {
    background-color: #555;
}
@media screen and (max-width: 800px) {
    .f-menu {
        display: none;
    }
    footer .scroll-to-top {
        display: flex;
    }
    #scrollTopBtn.show {
        display: block;
    }
}
/*modules*/
.content.reversed .article {
    margin-left: 40px;
    order: 2;
}
.content.reversed .media {
    order: 1;
}
.media.mediasmall {
    width: 32.5%;
}
@media screen and (max-width: 800px) {
    .content.reversed .article {
        margin-left: 0;
        order: 1;
    }
    .content.reversed .media {
        order: 2;
    }
    .media.mediasmall {
        width: 100%;
    }
}
.article-list {
    display: flex;
    flex-direction: column;
    
    min-height: 15rem;
}
.article-list-item {
    display: flex;
    margin-bottom: 1rem;
    min-height: 16rem;
}
.article-list-item h2 {
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 2.5rem;
    text-transform: none;
    letter-spacing: -.1rem;
    margin-top: 0;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}
.list-img {
    width: 33%;
}
.list-img img {
    width: 100%;
    
    max-height: 15rem;
    object-fit: cover;
}
.list-txt {
    width: 70%;
    line-height: 1.75rem;
    display: flex;
    flex-direction: column;
    margin: 0 40px;
}
.list-prev-txt {
    font-size: 1.4rem;
    line-height: 2rem;
    display: flow-root;
}
.list-txt button {
    align-self: flex-end;
    margin-top: 0.5rem;
}
.article-list a.gridview-link {
    display: none;
}
@media screen and (max-width: 800px) {
    .article-list-item {
        flex-direction: column;
    }
    .list-img {
        width: 100%;
    }
    .list-txt {
        width: 100%;
        margin: 0;
    }
}
/* Content Chunk Elements */
.work-preview {
    margin-top: 3rem;
}
.gallery-head,
.work-preview-head {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}
.hp-gallery-btn-foot,
.work-preview-btn-foot {
    display: none;
}
@media screen and (max-width: 800px) {
    .hp-gallery-btn-foot,
    .work-preview-btn-foot {
        display: block;
    }
    .hp-gallery-btn-head,
    .work-preview-btn-head {
        display: none;
    }
}
.hp-presenter {
    display: flex;
}
.hp-presenter .presenter-element {
    max-width: 33%;
    padding: 1rem;
    text-align: justify;
    hyphens: auto;
}
.presenter-element figure.main-image {
    /*height: 17rem;
    overflow: hidden;*/
    aspect-ratio: 16 / 9;
    margin-bottom: 1rem;
}
.presenter-body figure img {
    /*aspect-ratio: 1 / 1;
    max-height: initial;*/
    /*object-fit: cover;
    display: block; 
    object-position: bottom;*/
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.presenter-foot {
    margin-top: 1rem;
}
@media screen and (max-width: 800px) {
    .hp-presenter {
        flex-direction: column;
    }
    .hp-presenter .presenter-element {
        max-width: 100%;
    }
    .hp-presenter .mobile-shorten {
        display: none;
    }
}
/* article grid mode */
.article-list.grid-view {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 1rem;
}
.article-list.grid-view .article-list-item {
    flex-direction: column;
    width: 19%;
}
.article-list.grid-view .list-img {
    width: 100%;
    height: 15rem;
    background-color: rgba(0,0,0,0.6);
}
.article-list.grid-view .list-img figure {
    margin: 0;
}
.article-list.grid-view .list-img img {
    height: 15rem;
}
.article-list.grid-view .list-txt {
    margin: 0;
    width: 100%;
}
.article-list.grid-view h2 {
    font-size: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
}
.article-list.grid-view .list-prev-txt {
    display: none;
}
.article-list.grid-view button { 
    display: none;
}
.article-list.grid-view a.gridview-link {
    
}
/* article lists overview */
/*.content-list .article {
    width: 100%;
}*/
@media screen and (max-width: 800px) {
    .article-list.grid-view .article-list-item {
        flex-direction: column;
        width: 47%;
    }
}

.neighbors {
    display: flex;
    justify-content: space-between;
}
.grid-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.grid-list .article-list-item {
    position: relative;
    /*width: 33.333%;*/
    width: calc((100% - 40px) / 3);
    overflow: hidden;
    margin: 0;
}
.grid-list .article-list-item.grid-6 {
    width: calc((100% - 40px) / 6);
    width: calc((100% - 100px) / 6);
    /*height: 300px;*/
    aspect-ratio: 1 / 1;
    aspect-ratio: 1 / 1.5;
    min-height: 0;
}
.grid-list .list-img,
.grid-list .list-txt {
    position: absolute;
    width: 100%;
    height:100%;
}
.grid-list .list-img figure {
    position: relative;
}
.grid-list .list-img figure a {
    position: absolute;
    width: 100%;
    height: 100%;
}
.grid-list .list-img img {
    aspect-ratio: 1 / 1;
    max-height: initial;
}
.grid-list .article-list-item.grid-6 .list-img img {
    aspect-ratio: 1 / 1.5;
}
.grid-list .list-txt {
    margin: .3rem;
    color: #fff;
    display: flex;
    justify-content: flex-end;
    
}
.grid-list .article-list-item h3 {
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 2.5rem;
    letter-spacing: -.1rem;
    text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.8);
    text-shadow: 
    -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
    /*opacity: .9;*/
    background-color: rgba(255, 255, 255, 0.1);
    margin: 0.2rem;
    text-transform: uppercase;
}
/*.grid-list .article-list-item:hover h3 {
    -webkit-text-stroke: 1px black;
    text-stroke: 1px black;
}*/
.grid-list a {
    position: absolute;
    width: 100%;
    height: 100%;
}
.grid-list a:hover {
    background-color: initial;
}
@media screen and (max-width: 800px) {
    .grid-list {
        gap: 0;
        gap: 20px;
    }
    .grid-list .article-list-item {
        width: 100%;
    }
    .grid-list .list-txt {
        margin:0;
    }
    .grid-list .article-list-item h3 {
        
    }
    .grid-list .article-list-item.grid-6 {
        width: 47%;
    }
}
@media screen and (max-width: 800px) {
    .work-preview .grid-list .article-list-item.grid-6 {
        height: 184px;
        min-height: 0;
    }
}

/* Galleries */
.gallery ul {
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px
}
.gallery li {
    /*width: 33.333%;*/
    /*width: calc((100% - 40px) / 3);*/
    width: calc((100% - 60px) / 4);
    width: calc((100% - 100px) / 6);
    width: calc((100% - 100px) / 3);
}
.gallery figure {
    /*margin: 10px;*/
}
.gallery figure img {
    width: 100%;
    display: block;
    aspect-ratio: 1 / .75;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width: 800px) {
    .gallery li {
        width: 47%;
    }
}
.gallery-captions .gallery {
    width: 100%;
}
.gallery-captions .gallery li {
    width: calc((100% - 41px) / 3);
}
.gallery-captions .grid-list a {
    position: static;
}
.gallery-captions .gallery figure {
    
}
.gallery-captions .gallery a figcaption {
    color: var(--blk);
    padding: .5rem;
    background-color: rgba(255,255,255,.8);
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    max-height: 50%;
    overflow: hidden;
    text-align: center;
}
@media screen and (max-width: 800px) {
    .gallery-captions .gallery li {
        width: 100%;
    }
}

/* Lightbox */
.gslide-description {
    display: none;
}
/* Swiper */

.swiper figure img {
    width: 100%;
}
.pageSwiper {
    --swiper-navigation-color: rgba(255, 255, 255, 0.8);
}
/* Sticky Sidebar*/
@media (min-width: 801px) {
    .tpl-4 .main-image,
    .main-image,
    .pageSwiper {
        position: sticky;
        top: 14rem;
    }
}
/* Filters */
.settings {
    display: flex;
    justify-content: space-between;
}
.settings h3 {
    margin: 1.6rem 0;
}
.filters {
    display: flex;
    align-items: baseline;
}
.filters .filter-list {
    display: flex; 
    flex-wrap: wrap;
    margin: 1rem;
}
.filters .filter-list a {
    color: var(--blk);
    font-weight: 300;
    white-space: nowrap;
}
.filters .filter-list a:hover {
    color: var(--blk);
    background-color: var(--transp);
}
.filters .filter-list a:hover .filter-tag span.ftt,
.filters .filter-list a.is-active .filter-tag span.ftt {
    text-decoration: underline;
}
.filters .filter-list a:hover .filter-tag span,
.filters .filter-list a.is-active .filter-tag span {
    text-decoration: none;
}
.filter-tag {
    margin: 0;
    padding: 0.5rem;
}
.filter-tag span {
    padding-right: .25rem;
}
.filters .filter-list a:hover .filter-tag.filter-reset {
    color: var(--highl);
    text-decoration: none;
}
.view-modes {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    min-width: 315px;
}
.view-mode-switch {
    display: flex;
    align-items: center;
    margin: 0 1rem;
    gap: 0 1rem;
}
.view-mode-switch button {
    padding: 0.4rem;
}
@media screen and (max-width: 800px) {
    .settings {
        flex-wrap: wrap;
    }

}

.filter-toggle {
    display: none;
}
@media screen and (max-width: 800px) {

    .settings {
        flex-direction: column;
    }

    .filters {
        flex-direction: column;
    }

    .filter-toggle {
        display: block;
        width: 100%;
        padding: .8rem 1rem;
        text-align: left;
        background: #f5f5f5;
        border: 1px solid #ccc;
        border-bottom: 0;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .filter-toggle::after {
        content: "▼";
        transition: transform 0.3s ease;
    }
    .filter-toggle.open::after {
        transform: rotate(180deg);
    }
    .filters .filter-list {
        display: none;
        flex-direction: column;
        margin: 0;
    }

    .filter-list.open {
        display: flex;
    }

    .filter-list a {
        display: block;
        border-bottom: 1px solid #eee;
    }

    .view-modes {
        margin-top: 1rem;
        min-width: auto;
    }
}


/* Image Effects */
.main-image img,
.article-list-item img,
.gallery figure img,
.swiper figure img {
    filter: grayscale(1) contrast(1.5);
}
.main-image:hover img,
.article-list-item:hover img,
.gallery figure:hover img,
.swiper figure:hover img {
    filter: contrast(1.5);
}
/* filter exceptions */
/*.id-11 .main-image img,
.id-11 .gallery figure img,
.id-170 .main-image img,
.id-170 .gallery figure img,
.id-8 .gallery figure img,
.id-127 .gallery figure img,
.id-1 .gallery figure img,
.id-106 .gallery figure img {
    filter: grayscale(0) contrast(1);
    filter: grayscale(1) contrast(1.1) brightness(1.1);
}
.id-11 .gallery figure img:hover,
.id-170 .gallery figure img:hover,
.id-8 .gallery figure img:hover,
.id-127 .gallery figure img:hover,
.id-1 .gallery figure img:hover,
.id-106 .gallery figure img:hover {
    filter: grayscale(0) contrast(1) brightness(115%);
    filter: grayscale(0) contrast(1) brightness(1);
}*/

#toggleColor {
    padding: 4px;
    cursor: pointer;
}

/* Selections */
::selection {
    color: var(--wht);
    background-color: #FE4D44;
    background-color: var(--highl);
}
nav::selection,
h1::selection,
h2::selection,
h3::selection {
    background-color: var(--blk);
}

/************ Utilities & Functions *************/
/* Sticky Header */
/*#header {
    position: fixed;
    top: 0;
    background-color: var(--wht);
    border-bottom: 1px solid var(--lgray);
    z-index: 100;
}
#content-container, 
#content {
    padding-top: 23rem;
}*/

#header {
    position: static;
    display: flex;
    /*border-bottom: 1px solid var(--lgray);*/
}
#content {
    padding-top: 0;
}
@media screen and (min-width: 801px) {
    #header {
        height: 7.5rem;
    }
}
@media screen and (min-width: 801px) {
  #header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 0 1rem;
    z-index: 100;
    background: var(--wht);
    height: 7.5rem;
    border-bottom: 1px solid var(--lgray);
    background: rgba(244, 244, 244, .97);
  }
  #header > .logo,
  #header > .navShell{
    margin-top: 0;
  }
  #content,
  #content-container {
    padding-top: 7.5rem;
  }
}


/* TEMP */
.design-image-container {
  width: 100%;
  /*max-width: 1200px;  Optional: begrenzt die Container-Breite auf großen Bildschirmen */
  margin: 0 auto; /* Zentriert den Container */
  /*padding: 0 20px;  Optional: Innenabstand links/rechts */
  box-sizing: border-box;
  
}

.design-image-container .full-width-image {
  width: 100%;
  height: auto;
  display: block; /* Entfernt unerwünschten Leerraum unter dem Bild */
  object-fit: cover; /* Nützlich, falls eine feste Höhe gesetzt wird */
}
.design-image-container img {
    filter: grayscale(1) contrast(1.1) brightness(1.1);    
}
.design-image-container img:hover {
    filter: grayscale(0) contrast(1) brightness(1);   
}

