Terms & Conditions

Last Updated: 3/16/25

1. Acceptance of Terms

By accessing and using zhartmanphotography.com (the “Website”), you agree to be bound by these Terms & Conditions. If you do not agree, please refrain from using the Website.

2. Services

Zack Hartman Photography provides professional photography services. All bookings and agreements are subject to these Terms & Conditions.

3. Booking & Payments

  • A booking is confirmed only upon receipt of a deposit or full payment, as specified during the booking process.
  • Payments are non-refundable except as outlined in our cancellation policy.

4. Copyright & Usage Rights

  • All photographs remain the intellectual property of Zack Hartman Photography.
  • Clients receive a license for personal or agreed-upon commercial use. Unauthorized reproduction or resale is prohibited.

5. Cancellations & Refunds

If a session is canceled by the client, a cancellation fee may apply. If canceled by Zack Hartman Photography due to unforeseen circumstances, a full refund or rescheduling option will be provided.

6. Liability

While we take every precaution to ensure a successful session, we are not responsible for factors beyond our control, such as weather, venue restrictions, or client delays.

7. Modifications to Terms

We reserve the right to update these Terms & Conditions at any time. Continued use of the Website constitutes acceptance of any modifications.

8. Contact Us

If you have any questions about these Terms & Conditions, please contact us at:
zhartmanphotography@gmail.com

// Wait for the theme-switch button to exist, then attach the click const observer = new MutationObserver(function(mutations, obs) { const wrapper = document.querySelector('.theme-switch .elementor-button'); if (wrapper) { const buttonText = wrapper.querySelector('.elementor-button-text'); const html = document.documentElement; wrapper.addEventListener('click', function(e) { e.preventDefault(); const currentTheme = html.getAttribute('data-theme') || 'light'; const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; html.setAttribute('data-theme', newTheme); if (buttonText) buttonText.textContent = newTheme === 'dark' ? '🌙' : '☀️'; }); console.log('Theme switch JS attached'); obs.disconnect(); // stop observing once attached } }); // Observe the whole document body for changes observer.observe(document.body, { childList: true, subtree: true });