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();
      }
    });
  });
});

Appointment canceled

Sorry to hear that you have requested for cancel the appointment.
We have sent an email notification for cancel appointment. So please click on the button to cancel the appointment.

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