/
StockEducator.Pro
…demystifies markets by teaching what others don’t
—so you can trade and invest with confidence.
Peculiar Methods Create Alpha
filler
StockEducator.Pro Lessons
Browse available StockEducator.Pro orientation and market-context lessons.
StockEducator.Pro
…demystifies markets by teaching what others don’t—so you can trade and invest with confidence.
Peculiar Methods Create Alpha
jQuery(function ($) {
var $hero = $(‘.hero-slider’);
if (!$hero.length) return;
// if already initialized, start clean
if ($hero.hasClass(‘slick-initialized’)) {
$hero.slick(‘unslick’);
}
$hero.slick({
mobileFirst: true,
infinite: false,
arrows: true,
dots: false,
centerMode: false, // critical: prevents “half thumbs”
variableWidth: false, // keep consistent slide math
slidesToScroll: 1,
slidesToShow: 2, // phones show two (matches your “looks right” note)
responsive: [
{ breakpoint: 640, settings: { slidesToShow: 3 } },
{ breakpoint: 900, settings: { slidesToShow: 4 } }, // your common desktop
{ breakpoint: 1200, settings: { slidesToShow: 5 } } // very wide screens
]
});
});
(function ($) {
// Throttle with rAF so we don’t spam layout on resize
const raf = (fn => {
let id = null;
return () => { cancelAnimationFrame(id); id = requestAnimationFrame(fn); };
});
function syncHeroSlider() {
// Pick the first hero text block you have on the cover
const $heroText = $(‘.sep-hero, .hero__inner, .home-hero, .hero-stack’).first();
const $wrap = $(‘.hero-slider-wrap, .sep-hero-slider’).first(); // wrapper around the slider
const $slider = $wrap.find(‘.hero-slider, .content-rail’).first(); // the actual Slick slider
if (!$heroText.length || !$wrap.length || !$slider.length) return;
// Measure the text block and clamp the slider wrapper to the same width
const w = Math.round($heroText.outerWidth());
$wrap.css({ maxWidth: w + ‘px’, marginLeft: ‘auto’, marginRight: ‘auto’ });
// Ask Slick to recompute widths/offsets
if ($slider.hasClass(‘slick-initialized’)) {
$slider.slick(‘setPosition’);
}
}
const syncRAF = raf(syncHeroSlider);
// Run after DOM, after images paint, and on breakpoint changes
$(syncHeroSlider);
$(window).on(‘load’, syncHeroSlider);
$(window).on(‘resize orientationchange’, syncRAF);
// Some themes lazy-load fonts/images; a late pass helps
setTimeout(syncHeroSlider, 400);
})(jQuery);