* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  
}



body {
  margin: 0;
  padding: 0;
  background-color: hsl(0, 0%, 7%);
}

.grid-gallery {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 50px 20px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  grid-auto-rows: 250px !important;
  grid-auto-flow: dense !important;
  grid-gap: 20px !important;
}

.grid-gallery .grid-item {
  position: relative !important;
  background-color: #efefef !important;
  overflow: hidden !important;
}

.grid-gallery .grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.grid-gallery .grid-item:hover img {
  transform: scale(1.1) !important;
}

.grid-gallery .grid-item a {
  cursor: zoom-in !important;
}

.grid-gallery .grid-item:nth-child(3n - 2) {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}

/* Responsive Anpassungen */
@media (max-width: 768px) {
  .grid-gallery {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    grid-auto-rows: 250px !important;
  }

  .grid-gallery .grid-item:nth-child(3n - 2) {
    grid-column: unset !important;
    grid-row: unset !important;
  }
}


.headline{
  padding-bottom: 5%;
  padding-top: 9%;
  margin-left: 50%;
  margin-right: 50%;
  position: relative;
  align-items: center;
  justify-content: center;
}

h1 {
  position: relative;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: calc(20px + 5vw);
  font-weight: 700;
  color: #ffdddd;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-shadow: 0 0 0.15em #871317;
  user-select: none;
  white-space: nowrap;
  filter: blur(0.007em);
  animation: shake 2.5s linear forwards;
}

h1 span {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  -webkit-clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
          clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
}


h1::before,
h1::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
}

h1::before {
  animation: crack1 2.5s linear forwards;
  -webkit-clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
}

h1::after {
  animation: crack2 2.5s linear forwards;
  -webkit-clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
          clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
}

@keyframes shake {
  5%, 15%, 25%, 35%, 55%, 65%, 75%, 95% {
      filter: blur(0.018em);
      transform: translateY(0.018em) rotate(0deg);
  }

  10%, 30%, 40%, 50%, 70%, 80%, 90% {
      filter: blur(0.01em);
      transform: translateY(-0.018em) rotate(0deg);
  }

  20%, 60% {
      filter: blur(0.03em);
      transform: translate(-0.018em, 0.018em) rotate(0deg);
  }

  45%, 85% {
      filter: blur(0.03em);
      transform: translate(0.018em, -0.018em) rotate(0deg);
  }

  100% {
      filter: blur(0.007em);
      transform: translate(0) rotate(-0.5deg);
  }
}

@keyframes crack1 {
  0%, 95% {
      transform: translate(-50%, -50%);
  }

  100% {
      transform: translate(-51%, -48%);
  }
}

@keyframes crack2 {
  0%, 95% {
      transform: translate(-50%, -50%);
  }

  100% {
      transform: translate(-49%, -53%);
  }




  

}

button {
  background: none;
  border: none;
  font: inherit;
  cursor: pointer;
}

/*-----------------------------------*\
  #CUSTOM CURSOR
\*-----------------------------------*/

.cursor { display: none; }

  /**
   * FOOTER
   */

   .footer .shape {
    top: 25%;
    left: 0;
  }

  .footer .abs-img {
    display: block;
    position: absolute;
    max-width: max-content;
    z-index: -1;
  }

  .footer .abs-img-1 {
    width: 9%;
    top: 12%;
    left: 10%;
  }

  .footer .abs-img-2 {
    width: 14%;
    top: 15%;
    right: 0;
  }

  .footer .abs-img-3 {
    width: 16%;
    left: 0;
    bottom: 10%;
  }

  .footer .abs-img-4 {
    width: 9%;
    right: 15%;
    bottom: 10%;
  }



  /**
   * CUSTOM CURSOR
   */

  .cursor {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 75px;
    height: 75px;
    background-color: var(--white);
    mix-blend-mode: exclusion;
    border-radius: var(--radius-circle);
    transform: translate(-50%, -50%) scale(0.35);
    transition: transform 0.35s;
    pointer-events: none;
    z-index: 6;
  }

  .cursor.hovered { transform: translate(-50%, -50%) scale(1.2); }

  .cursor.disabled { transform: translate(-50%, -50%) scale(0); }