html, body {
  /* border-box box model allows us to add padding and border to our elements without increasing their size */
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.grid {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(12, 1fr);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* Media query for screens below 600px */
@media screen and (max-width: 600px) {
  .grid {
    grid-template-columns: 1fr;
  }
  
  .column {
    grid-column: 1 !important;
  }
  
  .full-width,
  .item {
    grid-column: 1;
  }
}

.anchor-menu ul {
  list-style-type: circle;
}
.anchor-menu ul li.active {
  list-style-type: disc;
}
.full-width {
  grid-column: 1/13;
}
.item {
  grid-column: 3/9;
}
ul {
  margin: 1em 0.5em;
}
ul li {
  margin: 0.5em ;
  font-size: 1.05em;
}
ul li a {
  /*text-decoration: underline;
  text-decoration-thickness: 2px;*/
  /*color: rgb(2, 14, 243);*/
}
ul li a:visited {
  /*color: rgb(121, 0, 227);*/
}
ul li a:hover {
  /*text-decoration: underline;
  text-decoration-thickness: 2px;*/
}
img {
  max-width: 100%;
  height: auto;
}
/* BLOCKS */

/* gallery */
figure.clickgallery {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}
.clickgallery ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  padding-bottom: 66.67%; /* Default 3:2 ratio - adjust as needed */
}
.clickgallery ul li {
  width: 100%;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
}
.clickgallery ul li.hidden {
  visibility: hidden;
  opacity: 0;
}
.clickgallery ul li.visible {
  visibility: visible;
  opacity: 1;
}
.clickgallery ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.clickgallery figcaption {
  margin-top: 1rem;
}
/* Gallery click overlay */
.clickgallery ul li:first-child::before {
  content: "klick";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 1.5rem;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.5rem 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}
/* Show overlay on hover for screens above 600px */
@media screen and (min-width: 600px) {
  .clickgallery:hover ul li:first-child::before {
    opacity: 1;
  }
}

/* Always show overlay on small screens */
@media screen and (max-width: 599px) {
  .clickgallery ul li:first-child::before {
    opacity: 1;
  }
}

/* Hide the overlay after first click */
.clickgallery ul li.no-before::before {
  display: none !important;
}

/* pdfview */ 
.pdfview {
  width: 100%;
  aspect-ratio: 16/9;
}
.text-hover-image { 
  cursor: pointer;
}
#backtoimpressum {
  position: fixed;
  bottom: 2ch;
  left: 2ch;
}
#backtoimpressum p {
  margin: 0;
  padding: 0.25em 0;
}
