.elementor-74 .elementor-element.elementor-element-9867f59{--display:flex;--min-height:100vh;--flex-direction:column-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-9867f59:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://magischewinterwandeling.nl/wp-content/uploads/2025/09/envato-labs-image-edit-1.png");background-position:center center;background-size:cover;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-top .elementor-shape-fill, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#FFFFFFD9;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-top svg, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-top svg{height:50px;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-top, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-top{z-index:2;pointer-events:none;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-bottom .elementor-shape-fill, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:#FFFFFFD9;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-bottom svg, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-bottom svg{height:50px;}.elementor-74 .elementor-element.elementor-element-9867f59 > .elementor-shape-bottom, .elementor-74 .elementor-element.elementor-element-9867f59 > .e-con-inner > .elementor-shape-bottom{z-index:2;pointer-events:none;}.elementor-74 .elementor-element.elementor-element-9867f59.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-74 .elementor-element.elementor-element-95d27f2.elementor-element{--align-self:flex-end;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-95d27f2{right:-100px;}body.rtl .elementor-74 .elementor-element.elementor-element-95d27f2{left:-100px;}.elementor-74 .elementor-element.elementor-element-95d27f2{bottom:-40px;}.elementor-74 .elementor-element.elementor-element-95d27f2 img{width:65%;}.elementor-74 .elementor-element.elementor-element-016d35c > .elementor-widget-container{--e-transform-scale:1;margin:0px 0px 170px 0px;padding:0px 0px 0px 0px;border-radius:100px 100px 100px 100px;}.elementor-74 .elementor-element.elementor-element-016d35c.elementor-element{--align-self:center;}.elementor-74 .elementor-element.elementor-element-016d35c{text-align:center;}.elementor-74 .elementor-element.elementor-element-016d35c img{width:100%;max-width:100%;height:500px;}.elementor-74 .elementor-element.elementor-element-ae5eedd.elementor-element{--align-self:flex-start;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-ae5eedd{left:-1px;}body.rtl .elementor-74 .elementor-element.elementor-element-ae5eedd{right:-1px;}.elementor-74 .elementor-element.elementor-element-ae5eedd{bottom:-78px;z-index:0;text-align:start;}.elementor-74 .elementor-element.elementor-element-ae5eedd img{width:70%;}.elementor-74 .elementor-element.elementor-element-6f0fca9{--display:flex;--min-height:600px;--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--overlay-opacity:0.46;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-6f0fca9::before, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .elementor-background-video-container::before, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .e-con-inner > .elementor-background-video-container::before, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .elementor-background-slideshow::before, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );background-image:url("https://magischewinterwandeling.nl/wp-content/uploads/2025/09/envato-labs-image-edit.png");--background-overlay:'';background-position:center right;background-size:cover;}.elementor-74 .elementor-element.elementor-element-6f0fca9::before{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-74 .elementor-element.elementor-element-6f0fca9 > .elementor-shape-top svg, .elementor-74 .elementor-element.elementor-element-6f0fca9 > .e-con-inner > .elementor-shape-top svg{height:42px;}.elementor-74 .elementor-element.elementor-element-1973fe0{--display:flex;--min-height:0px;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-918957c{--display:flex;--min-height:284px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-74 .elementor-element.elementor-element-918957c:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-918957c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://magischewinterwandeling.nl/wp-content/uploads/2025/09/Title-Board.png");background-position:center center;background-repeat:no-repeat;background-size:auto;}.elementor-74 .elementor-element.elementor-element-918957c.e-con{--align-self:center;}.elementor-74 .elementor-element.elementor-element-aba65d3{text-align:center;}.elementor-74 .elementor-element.elementor-element-aba65d3 .elementor-heading-title{font-family:"Comfortaa", Sans-serif;font-size:24px;font-weight:600;color:#FFFFFF;}.elementor-74 .elementor-element.elementor-element-f4401a1{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Comfortaa", Sans-serif;font-size:14px;font-weight:600;color:#FFFFFF;}.elementor-74 .elementor-element.elementor-element-f4401a1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-74 .elementor-element.elementor-element-85902c6{--grid-columns:2;--grid-row-gap:10px;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--grid-column-gap:15px;}.elementor-74 .elementor-element.elementor-element-85902c6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-74 .elementor-element.elementor-element-85902c6.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-74 .elementor-element.elementor-element-85902c6 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-74 .elementor-element.elementor-element-85902c6 .e-loop-item > .elementor-section, .elementor-74 .elementor-element.elementor-element-85902c6 .e-loop-item > .elementor-section > .elementor-container, .elementor-74 .elementor-element.elementor-element-85902c6 .e-loop-item > .e-con, .elementor-74 .elementor-element.elementor-element-85902c6 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){body:not(.rtl) .elementor-74 .elementor-element.elementor-element-95d27f2{right:-211px;}body.rtl .elementor-74 .elementor-element.elementor-element-95d27f2{left:-211px;}.elementor-74 .elementor-element.elementor-element-95d27f2 img{width:46%;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-ae5eedd{left:-42px;}body.rtl .elementor-74 .elementor-element.elementor-element-ae5eedd{right:-42px;}.elementor-74 .elementor-element.elementor-element-ae5eedd{bottom:-76px;}.elementor-74 .elementor-element.elementor-element-ae5eedd img{width:50%;}.elementor-74 .elementor-element.elementor-element-1973fe0{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-918957c:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-918957c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-size:contain;}.elementor-74 .elementor-element.elementor-element-aba65d3 > .elementor-widget-container{padding:0px 0px 0px 10px;}.elementor-74 .elementor-element.elementor-element-85902c6{--grid-columns:1;}}@media(max-width:767px){.elementor-74 .elementor-element.elementor-element-9867f59{--min-height:18vh;--padding-top:20px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-95d27f2{right:-100px;}body.rtl .elementor-74 .elementor-element.elementor-element-95d27f2{left:-100px;}.elementor-74 .elementor-element.elementor-element-95d27f2{bottom:-12px;}.elementor-74 .elementor-element.elementor-element-95d27f2 img{width:62%;}.elementor-74 .elementor-element.elementor-element-016d35c img{width:100%;max-width:1000px;height:313px;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-ae5eedd{left:-28px;}body.rtl .elementor-74 .elementor-element.elementor-element-ae5eedd{right:-28px;}.elementor-74 .elementor-element.elementor-element-ae5eedd{bottom:-39px;text-align:start;}.elementor-74 .elementor-element.elementor-element-ae5eedd img{width:65%;}.elementor-74 .elementor-element.elementor-element-6f0fca9{--padding-top:0px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-1973fe0{--content-width:100%;}.elementor-74 .elementor-element.elementor-element-918957c{--width:100%;--min-height:0px;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-74 .elementor-element.elementor-element-918957c:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-918957c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:contain;}.elementor-74 .elementor-element.elementor-element-aba65d3 > .elementor-widget-container{margin:20px 0px 0px 0px;padding:10px 10px 0px 10px;}.elementor-74 .elementor-element.elementor-element-aba65d3 .elementor-heading-title{font-size:26px;}.elementor-74 .elementor-element.elementor-element-f4401a1 > .elementor-widget-container{padding:0px 10px 10px 10px;}.elementor-74 .elementor-element.elementor-element-f4401a1{font-size:10px;}.elementor-74 .elementor-element.elementor-element-85902c6{--grid-columns:1;--grid-row-gap:0px;width:100%;max-width:100%;--grid-column-gap:0px;}.elementor-74 .elementor-element.elementor-element-85902c6 > .elementor-widget-container{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-74 .elementor-element.elementor-element-918957c{--width:60%;}}@media(max-width:1024px) and (min-width:768px){.elementor-74 .elementor-element.elementor-element-918957c{--width:584px;}}/* Start custom CSS for container, class: .elementor-element-9867f59 */<style>
  #snow-canvas {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: 9999;
  }
</style>

<div id="snow-root"></div>

<script>
(function(){
  let canvas, ctx, flakes = [];
  let animId = null;

  function configByWidth(w){
    if (w < 600)   return { count: 20,  sizeMin: 6,  sizeMax: 12, speedMin: 0.3, speedMax: 1.0, driftMax: 0.4, glow: false };
    if (w < 1024)  return { count: 50,  sizeMin: 8,  sizeMax: 16, speedMin: 0.3, speedMax: 1.3, driftMax: 0.5, glow: true  };
    return             { count: 120, sizeMin: 10, sizeMax: 20, speedMin: 0.4, speedMax: 1.6, driftMax: 0.6, glow: true  };
  }

  function rand(a,b){ return Math.random() * (b - a) + a; }

  function ensureCanvas(){
    canvas = document.getElementById('snow-canvas');
    if (!canvas) {
      canvas = document.createElement('canvas');
      canvas.id = 'snow-canvas';
      (document.getElementById('snow-root') || document.body).appendChild(canvas);
    }
    ctx = canvas.getContext('2d');
  }

  function resizeCanvas(){
    canvas.width = window.innerWidth;
    canvas.height = window.innerHeight;
  }

  function makeFlakes(cfg){
    flakes = [];
    for (let i=0; i<cfg.count; i++){
      flakes.push({
        x: Math.random()*canvas.width,
        y: Math.random()*canvas.height,
        size: rand(cfg.sizeMin, cfg.sizeMax),
        speed: rand(cfg.speedMin, cfg.speedMax),
        drift: rand(-cfg.driftMax, cfg.driftMax),
        opacity: rand(0.35, 0.85),
        shape: ["❄","✶","✻","✼","✦","•"][ (Math.random()*6)|0 ]
      });
    }
  }

  function draw(cfg){
    ctx.clearRect(0,0,canvas.width,canvas.height);
    if (cfg.glow){
      ctx.shadowColor = 'rgba(255,255,255,0.8)';
      ctx.shadowBlur = 8;
    } else {
      ctx.shadowBlur = 0;
    }
    for (const f of flakes){
      ctx.globalAlpha = f.opacity;
      ctx.fillStyle = '#fff';
      ctx.font = `${f.size}px Arial`;
      ctx.fillText(f.shape, f.x, f.y);
    }
  }

  function update(){
    for (const f of flakes){
      f.y += f.speed;
      f.x += f.drift;
      if (f.y > canvas.height){ f.y = -10; f.x = Math.random()*canvas.width; }
      if (f.x > canvas.width)  f.x = 0;
      if (f.x < 0)             f.x = canvas.width;
    }
  }

  function loop(cfg){
    update();
    draw(cfg);
    animId = requestAnimationFrame(()=>loop(cfg));
  }

  function start(){
    ensureCanvas();
    resizeCanvas();
    const cfg = configByWidth(window.innerWidth);
    makeFlakes(cfg);
    if (animId) cancelAnimationFrame(animId);
    loop(cfg);
  }

  // Debounced rebuild on resize/orientation change
  let rAF, lastW = window.innerWidth;
  function onResize(){
    resizeCanvas();
    // Rebuild only if breakpoint actually changed (to save work)
    const nowW = window.innerWidth;
    const lastBp = lastW < 600 ? 0 : (lastW < 1024 ? 1 : 2);
    const nowBp  = nowW  < 600 ? 0 : (nowW  < 1024 ? 1 : 2);
    lastW = nowW;
    if (lastBp !== nowBp){
      if (rAF) cancelAnimationFrame(rAF);
      rAF = requestAnimationFrame(start);
    }
  }

  // Pause animation when tab is hidden (perf)
  document.addEventListener('visibilitychange', ()=>{
    if (document.hidden && animId){ cancelAnimationFrame(animId); animId = null; }
    else if (!document.hidden){ start(); }
  });

  if (document.readyState === 'loading'){
    document.addEventListener('DOMContentLoaded', start);
  } else {
    start();
  }
  window.addEventListener('resize', onResize);
})();
</script>/* End custom CSS */