Een unieke locatie voor uw feest of evenement

Welkom op een plek waar sfeer, gastvrijheid en prachtige settings samenkomen. Of u nu een bedrijfsevenement, trouwfeest of een bijzonder familiefeest organiseert, onze locatie in het groene en rustige dorp Halle-Zoersel biedt alles voor een onvergetelijke ervaring. Met moderne faciliteiten, culinaire hoogstandjes en een unieke, natuurlijke omgeving zorgen we dat elk detail perfect aansluit op uw wensen. Ontdek de mogelijkheden en laat ons uw speciale momenten tot leven brengen in deze idyllische setting.

Welkom bij Domein Martinus.

Shot van de groene tuin van Domein Martinus
Vergaderzaal met groot scherm en twee flipcharts
Een teambuilding waar teams met karton voorwerpen in elkaar steken

Een locatie voor al uw bedrijfsevenementen

A place to meet & create

Maak van uw bedrijfsevenement een succes op onze veelzijdige locatie. Of het nu gaat om een inspirerende teambuilding, een stijlvol personeelsfeest of een professionele vergadering, wij bieden de perfecte setting. Onze moderne zalen en hoogwaardige voorzieningen creëren de ideale omgeving voor uw bijeenkomst. Ontdek wat wij voor uw bedrijf kunnen betekenen!

Ontdek onze locatie

Een locatie voor al uw feesten

A place to celebrate

Vier uw speciale momenten op een locatie die alles biedt voor een onvergetelijk feest. Of het nu gaat om een trouwfeest, een jubileum of een communie, wij zorgen voor een prachtige setting, culinaire verfijning en persoonlijke service. Laat ons helpen om van uw feest een dag te maken om nooit te vergeten!

Plan uw droomfeest
-1
Trouw buiten in de tuin
Live band die aan het optreden is
Vleesgerechtje dat versierd wordt door een chef
Visgerechtje met verschillende garnituren
Kreeft

Eten dat uw evenement onvergetelijk maakt

A culinary passion

Ons team zet smaak en kwaliteit centraal bij elk evenement. Of u kiest voor een uitgebreid feestdiner of onze cateringdiensten, we bereiden gerechten die indruk maken. Met oog voor detail en een passie voor culinaire perfectie zorgen we voor een eetervaring die uw gasten nog lang zal bijblijven. Laat ons eten het hoogtepunt van uw feest maken!

Ontdek onze gerechten

Overnachten na een schitterend feest

A place to Stay over

Sluit uw feest in alle rust af met een comfortabele overnachting op onze locatie. Onze moderne kamers bieden de perfecte plek om na te genieten van een geslaagde avond. Start de volgende ochtend ontspannen met een heerlijk ontbijt en laad volledig op. Of u nu een trouwfeest, familiefeest of bedrijfsevenement organiseert, wij zorgen dat uw gasten zich helemaal thuis voelen. Maak uw ervaring compleet met een overnachting bij ons!

Ontdek ons hotel
Slaapkamer met opgemaakte bedden
Badkamer met walk in douche
Uitgebreid ontbijtbuffet
Een prachtig kasteel in Frankrijk genaamd Chateau la Colombie
Zwembad met ligstoelen
Deur van het kasteel met kleurrijke bloemen ernaast

Een kasteel in Frankrijk voor uw feest of evenement

& more

Ontdek onze prachtige chateau in Frankrijk, waar luxe en charme samenkomen. Ideaal voor romantische bruiloften, sfeervolle familiefeesten of inspirerende bedrijfsuitjes. Geniet van een onvergetelijke ervaring in een unieke setting, inclusief de mogelijkheid om te overnachten. Laat uw gasten betoverd worden door de rust, het landschap en de gastvrijheid van deze exclusieve locatie. Uw evenement krijgt hier een magisch tintje!

Ontdek onze locatie

A place to meet & create

Een locatie voor al uw bedrijfsevenementen

Maak van uw bedrijfsevenement een succes op onze veelzijdige locatie. Of het nu gaat om een inspirerende teambuilding, een stijlvol personeelsfeest of een professionele vergadering, wij bieden de perfecte setting. Onze moderne zalen en hoogwaardige voorzieningen creëren de ideale omgeving voor uw bijeenkomst. Ontdek wat wij voor uw bedrijf kunnen betekenen!

Ontdek onze locatie

A place to celebrate

Een locatie voor al uw feesten

Vier uw speciale momenten op een locatie die alles biedt voor een onvergetelijk feest. Of het nu gaat om een trouwfeest, een jubileum of een communie, wij zorgen voor een prachtige setting, culinaire verfijning en persoonlijke service. Laat ons helpen om van uw feest een dag te maken om nooit te vergeten!

Plan uw droomfeest

A culinary passion

Eten dat uw evenement onvergetelijk maakt

Ons team zet smaak en kwaliteit centraal bij elk evenement. Of u kiest voor een uitgebreid feestdiner of onze cateringdiensten, we bereiden gerechten die indruk maken. Met oog voor detail en een passie voor culinaire perfectie zorgen we voor een eetervaring die uw gasten nog lang zal bijblijven. Laat ons eten het hoogtepunt van uw feest maken!

Ontdek onze gerechten

A place to Stay over

Overnachten na een schitterend feest

Sluit uw feest in alle rust af met een comfortabele overnachting op onze locatie. Onze moderne kamers bieden de perfecte plek om na te genieten van een geslaagde avond. Start de volgende ochtend ontspannen met een heerlijk ontbijt en laad volledig op. Of u nu een trouwfeest, familiefeest of bedrijfsevenement organiseert, wij zorgen dat uw gasten zich helemaal thuis voelen. Maak uw ervaring compleet met een overnachting bij ons!

Ontdek ons hotel

and More

Een kasteel in Frankrijk voor uw feest of evenement

Ontdek onze prachtige chateau in Frankrijk, waar luxe en charme samenkomen. Ideaal voor romantische bruiloften, sfeervolle familiefeesten of inspirerende bedrijfsuitjes. Geniet van een onvergetelijke ervaring in een unieke setting, inclusief de mogelijkheid om te overnachten. Laat uw gasten betoverd worden door de rust, het landschap en de gastvrijheid van deze exclusieve locatie. Uw evenement krijgt hier een magisch tintje!

Ontdek Chateau la Colombie
function initScrollAnimations() {
  if (window.innerWidth <= 991) return; // Disable for smaller screens

  const images = document.querySelectorAll('.image-block');
  const textBlocks = document.querySelectorAll('.text-block-background');

  function handleScroll() {
    images.forEach((image, index) => {
      const rect = image.getBoundingClientRect();
      const windowHeight = window.innerHeight;

      if (rect.top < windowHeight && rect.bottom > 0) {
        const elementHeight = rect.height;
        const totalDistance = windowHeight + elementHeight;
        const currentPosition = rect.top + elementHeight;
        let progress = currentPosition / totalDistance;

        progress = Math.max(0, Math.min(1, progress));

        if (textBlocks[index]) {
          const translateX = progress <= 0.5 
            ? progress * 200
            : 200 - (progress * 200);

          const clampedTranslateX = Math.max(0, Math.min(100, translateX));
          textBlocks[index].style.transform = `translateX(${clampedTranslateX}px)`;
        }
      }
    });
  }

  let ticking = false;
  function onScroll() {
    if (!ticking) {
      requestAnimationFrame(() => {
        handleScroll();
        ticking = false;
      });
      ticking = true;
    }
  }

  window.addEventListener('scroll', onScroll);
  handleScroll(); // Run on init
}

// Ensure only one event listener is added on resize
function onResize() {
  window.removeEventListener('scroll', initScrollAnimations);
  initScrollAnimations();
}

document.addEventListener('DOMContentLoaded', initScrollAnimations);
window.addEventListener('resize', onResize);
document.addEventListener('DOMContentLoaded', function() {
  const images = document.querySelectorAll('.image-block');
  const textBlocks = document.querySelectorAll('.text-block-background');
  
  function handleScroll() {
    images.forEach((image, index) => {
      const rect = image.getBoundingClientRect();
      const windowHeight = window.innerHeight;
      
      if (rect.top < windowHeight && rect.bottom > 0) {
        const viewportCenter = windowHeight / 2;
        const elementTop = rect.top;
        const elementHeight = rect.height;
        
        // Bereken het scroll percentage van het gehele element
        const totalDistance = windowHeight + elementHeight;
        const currentPosition = elementTop + elementHeight;
        let progress = currentPosition / totalDistance;
        
        // Normaliseer de progress tussen 0 en 1
        progress = Math.max(0, Math.min(1, progress));
        
        // Bereken opacity voor de afbeelding
        const elementCenter = rect.top + (rect.height / 2);
        const opacityProgress = (elementCenter - viewportCenter) / (windowHeight / 2);
        const newOpacity = Math.max(0, 1 - Math.abs(opacityProgress));
        image.style.opacity = newOpacity;
        
        // Bereken overlap beweging
        if (textBlocks[index]) {
          // Eerst naar rechts bewegen (0-0.5), dan naar links (0.5-1)
          const translateX = progress <= 0.5 
            ? progress * 200  // 0 -> 100
            : 200 - (progress * 200);  // 100 -> 0
          
          textBlocks[index].style.transform = `translateX(${Math.max(0, Math.min(100, translateX))}px)`;
        }
      }
    });
  }
  
  // Scroll event listener met throttling
  let ticking = false;
  window.addEventListener('scroll', () => {
    if (!ticking) {
      window.requestAnimationFrame(() => {
        handleScroll();
        ticking = false;
      });
      ticking = true;
    }
  });
  
  // Initial check
  handleScroll();
});