This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

This is the heading

Lorem ipsum dolor sit amet consectetur. Risus aliquam id mauris quis. Laoreet odio facilisi justo risus tincidunt venenatis. In placerat tortor risus enim id venenatis ut lacus quis. Nulla suspendisse iaculis risus vel aenean pharetra dolor iaculis.
I am a button

2020 - Foundation

2020 - Foundation

2020 - Foundation

2020 - Foundation

2020 - Foundation

2020 - Foundation

<script>

	// SOURCE: https://brickslabs.com/how-to-sync-two-nestable-sliders-in-bricks/

  document.addEventListener('DOMContentLoaded', () => {

   // Query all the wrappers
   const wrappers = document.querySelectorAll('.fb-timeline-two');

   // Stop the function if there is no sync slider
   if (wrappers.length < 1) return;

   // Debounce function
   const debounce = (fn, threshold) => {
      var timeout;
      threshold = threshold || 200;
      return function debounced() {
         clearTimeout(timeout);
         var args = arguments;
         var _this = this;

         function delayed() {
            fn.apply(_this, args);
         }
         timeout = setTimeout(delayed, threshold);
      };
   };

   // Init function
   const init = (mainSliderId, thumbSliderId) => {
      const main = bricksData.splideInstances[mainSliderId],
         thumbnail = bricksData.splideInstances[thumbSliderId];

      // Mount the sync slider
      main.sync(thumbnail);

   };

   // Loop into each wrapper
   wrappers.forEach(wrapper => {

      // Set the ID of the main slider
      const mainSlider = wrapper.querySelector('.fb-timeline-two__slider');

      // Check if the main slider class is correctly set
      if (!mainSlider) return console.log('No .slide04__main class found');
      const mainSliderId = mainSlider.dataset.scriptId;

      // Set the ID of the thumb slider
      const thumbSlider = wrapper.querySelector('.fb-timeline-two__dates');

      // Check if the thumb slider class is correctly set
      if (!thumbSlider) return console.log('No .slide04__thumnail class found');
      const thumbSliderId = thumbSlider.dataset.scriptId;

      // Run the function on load
      setTimeout(() => {
         init(mainSliderId, thumbSliderId);
      }, 0);

      // Rerun the function on resize because bricks reinit the sliders on each resize event
      window.addEventListener("resize", debounce(() => {
         init(mainSliderId, thumbSliderId);
      }, 300));
   });
});
  
</script>