document.addEventListener('DOMContentLoaded', function () {
  const triggerDiv = document.querySelector('.menu-trigger');
  const expandableDiv = document.querySelector('.nav');
  const moveLeftElements = document.getElementsByClassName('move-left');
  const textElements = document.getElementsByClassName('fade');
  const navPointElements = document.querySelectorAll('.nav-point');
  const menuCloseDelay = expandableDiv.getAttribute('data-delay') || 0;
  let isOpen = false;

  // Function to calculate dynamic viewport height
  function updateViewportHeight() {
    const dynamicHeight = window.innerHeight;
    expandableDiv.style.height = `${dynamicHeight}px`;
  }

  // Initialize
  updateViewportHeight();
  
  window.addEventListener('resize', updateViewportHeight);

  // Initialize elements
  for (let element of moveLeftElements) {
    element.style.transform = 'translateX(-50px)';
  }

  for (let text of textElements) {
    text.style.opacity = '0';
  }

  // Function to close the menu
  function closeMenu() {
    setTimeout(() => {
      expandableDiv.style.height = '0px';
    }, menuCloseDelay);

    for (let element of moveLeftElements) {
      const delay = element.getAttribute('data-delay') || 0;
      setTimeout(() => {
        element.style.transform = 'translateX(-50px)';
      }, delay);
    }

    for (let text of textElements) {
      const delay = text.getAttribute('data-delay') || 0;
      setTimeout(() => {
        text.style.opacity = '0';
      }, delay);
    }

    document.body.classList.remove('no-scroll');
    isOpen = false;
  }

  // Toggle menu
  triggerDiv.addEventListener('click', () => {
    if (isOpen) {
      closeMenu();
    } else {
      updateViewportHeight(); // Update height on toggle open
      for (let element of moveLeftElements) {
        const delay = element.getAttribute('data-delay') || 0;
        setTimeout(() => {
          element.style.transform = 'translateX(0)';
        }, delay);
      }

      for (let text of textElements) {
        const delay = text.getAttribute('data-delay') || 0;
        setTimeout(() => {
          text.style.opacity = '1';
        }, delay);
      }

      document.body.classList.add('no-scroll');
      isOpen = true;
    }
  });

  // Close menu when a nav-point is clicked
  navPointElements.forEach((navPoint) => {
    navPoint.addEventListener('click', () => {
      if (isOpen) {
        closeMenu();
      }
    });
  });
});

Termin-Stornierungsbestätigung

Anfrage
Produkt - Fotografie

Anfrage für
Produkt - Video

Anfrage für
Event - Video

Anfrage für
Event - Fotografie

Anfrage
Businessporträt mit
Hintergrundwechsel

Anfrage für
 neutrale Businessporträts

Anfrage
Business On-Site

Equipmentliste

Kameras (Set-Ready)

• 1x RED EPIC X 5K (120 FPS)
• 1x Sony FX3
• 1x Sony A7III
• 1x Canon 500D

Licht-Equipment

• 1x Profoto B10
• 1x Profoto B10X
• 1x Profoto D2 500 Air
• 1x Nanlite Forza 200

Softboxen & Lichtformer

• 1x Profoto Blitzschirm Deep White
• 1x Strip Softbox
• 1x Lantern Softbox
• 1x Mini White Blitzschirm

Blitz-Auslöser

• 1x Profoto Air TTL Remote

Objektive

• 1x Sony 50mm f/1.8 (Festbrennweite)
• 1x Sigma 24-70mm f/2.8
• 1x Canon 24-70mm f/2.8 L

Stative

• 5x Lichtstative
• 2x Manfrotto Autopoles
• 1x Manfrotto Kamerastativ
• RED-Schulterstativ
• Easyrig (bis 10 kg Traglast)

Spezielle Licht-Effekte

• 1x Bafongcine Optical Snoot (Bowens Mount)

DRUCKER

• Hochwertige Drucker bis A3 für Bilder in hoher Qualität