text: /*! UIkit 2.27.2 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  (function (UI) {
  
      "use strict";
  
      UI.component('smoothScroll', {
  
          boot: function () {
  
              // init code
              UI.$html.on('click.smooth-scroll.uikit', '[data-uk-smooth-scroll]', function (e) {
                  var ele = UI.$(this);
  
                  if (!ele.data('smoothScroll')) {
                      var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr('data-uk-smooth-scroll')));
                      ele.trigger('click');
                  }
  
                  return false;
              });
          },
  
          init: function () {
  
              var $this = this;
  
              this.on('click', function (e) {
                  e.preventDefault();
                  scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$('body'), $this.options);
              });
          }
      });
  
      function scrollToElement(ele, options) {
  
          options = UI.$.extend({
              duration: 1000,
              transition: 'easeOutExpo',
              offset: 0,
              complete: function () {
              }
          }, options);
  
          // get / set parameters
          var target = ele.offset().top - options.offset,
              docheight = UI.$doc.height(),
              winheight = window.innerHeight;
  
          if ((target + winheight) > docheight) {
              target = docheight - winheight;
          }
  
          // animate to target, fire callback when done
          UI.$('html,body').stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete);
      }
  
      UI.Utils.scrollToElement = scrollToElement;
  
      if (!UI.$.easing.easeOutExpo) {
          UI.$.easing.easeOutExpo = function (x, t, b, c, d) {
              return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;
          };
      }
  
  })(UIkit);
  