/* Landed by HTML5 UP html5up.net | @ajlkn Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) */ (function($) { var $window = $(window), $body = $('body'); // Breakpoints. breakpoints({ xlarge: [ '1281px', '1680px' ], large: [ '981px', '1280px' ], medium: [ '737px', '980px' ], small: [ '481px', '736px' ], xsmall: [ null, '480px' ] }); // Play initial animations on page load. $window.on('load', function() { window.setTimeout(function() { $body.removeClass('is-preload'); }, 100); }); // Touch mode. if (browser.mobile) $body.addClass('is-touch'); // Scrolly links. $('.scrolly').scrolly({ speed: 2000 }); // Dropdowns. $('#nav > ul').dropotron({ alignment: 'right', hideDelay: 350 }); // Nav. // Title Bar. $( '
' + '' + '' + $('#logo').html() + '' + '
' ) .appendTo($body); // Panel. $( '' ) .appendTo($body) .panel({ delay: 500, hideOnClick: true, hideOnSwipe: true, resetScroll: true, resetForms: true, side: 'left', target: $body, visibleClass: 'navPanel-visible' }); // Parallax. // Disabled on IE (choppy scrolling) and mobile platforms (poor performance). if (browser.name == 'ie' || browser.mobile) { $.fn._parallax = function() { return $(this); }; } else { $.fn._parallax = function() { $(this).each(function() { var $this = $(this), on, off; on = function() { $this .css('background-position', 'center 0px'); $window .on('scroll._parallax', function() { var pos = parseInt($window.scrollTop()) - parseInt($this.position().top); $this.css('background-position', 'center ' + (pos * -0.15) + 'px'); }); }; off = function() { $this .css('background-position', ''); $window .off('scroll._parallax'); }; breakpoints.on('<=medium', off); breakpoints.on('>medium', on); }); return $(this); }; $window .on('load resize', function() { $window.trigger('scroll'); }); } // Spotlights. var $spotlights = $('.spotlight'); $spotlights ._parallax() .each(function() { var $this = $(this), on, off; on = function() { var top, bottom, mode; // Use main 's src as this spotlight's background. $this.css('background-image', 'url("' + $this.find('.image.main > img').attr('src') + '")'); // Side-specific scrollex tweaks. if ($this.hasClass('top')) { mode = 'top'; top = '-20%'; bottom = 0; } else if ($this.hasClass('bottom')) { mode = 'bottom-only'; top = 0; bottom = '20%'; } else { mode = 'middle'; top = 0; bottom = 0; } // Add scrollex. $this.scrollex({ mode: mode, top: top, bottom: bottom, initialize: function(t) { $this.addClass('inactive'); }, terminate: function(t) { $this.removeClass('inactive'); }, enter: function(t) { $this.removeClass('inactive'); }, // Uncomment the line below to "rewind" when this spotlight scrolls out of view. //leave: function(t) { $this.addClass('inactive'); }, }); }; off = function() { // Clear spotlight's background. $this.css('background-image', ''); // Remove scrollex. $this.unscrollex(); }; breakpoints.on('<=medium', off); breakpoints.on('>medium', on); }); // Wrappers. var $wrappers = $('.wrapper'); $wrappers .each(function() { var $this = $(this), on, off; on = function() { $this.scrollex({ top: 250, bottom: 0, initialize: function(t) { $this.addClass('inactive'); }, terminate: function(t) { $this.removeClass('inactive'); }, enter: function(t) { $this.removeClass('inactive'); }, // Uncomment the line below to "rewind" when this wrapper scrolls out of view. //leave: function(t) { $this.addClass('inactive'); }, }); }; off = function() { $this.unscrollex(); }; breakpoints.on('<=medium', off); breakpoints.on('>medium', on); }); // Banner. var $banner = $('#banner'); $banner ._parallax(); })(jQuery);