http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/jquery.scrollex.min.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/jquery.scrollex.min.js 
b/src/homepage/_site/assets/js/jquery.scrollex.min.js
new file mode 100644
index 0000000..c511a5c
--- /dev/null
+++ b/src/homepage/_site/assets/js/jquery.scrollex.min.js
@@ -0,0 +1,2 @@
+/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | 
MIT licensed */
+!function(t){function e(t,e,n){return"string"==typeof 
t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var
 n=t(window),i=1,o={};n.on("scroll",function(){var 
e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var
 s=t(this);if(0==this.length)return s;if(this.length>1){for(var 
r=0;r<this.length;r++)t(this[r]).scrollex(l);return 
s}if(s.data("_scrollexId"))return s;var 
a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return
 t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return 
n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>
 =e};break;case"top-only":h=function(t,e,n,i,o){return 
i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return 
n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return 
n>=i&&o>=t}}return c=function(t){var 
i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var
 e=t(this);if(0==this.length)return e;if(this.length>1){for(var 
n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.
 data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete 
o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/jquery.scrolly.min.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/jquery.scrolly.min.js 
b/src/homepage/_site/assets/js/jquery.scrolly.min.js
new file mode 100644
index 0000000..5d08850
--- /dev/null
+++ b/src/homepage/_site/assets/js/jquery.scrolly.min.js
@@ -0,0 +1,2 @@
+/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
+(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return 
n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case
 r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var 
t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var
 o,a,f,l,c=e(this);if(this[t]==0)return 
c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return 
c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return 
c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var
 
t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/lightbox.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/lightbox.js 
b/src/homepage/_site/assets/js/lightbox.js
new file mode 100644
index 0000000..352bb86
--- /dev/null
+++ b/src/homepage/_site/assets/js/lightbox.js
@@ -0,0 +1,453 @@
+/*!
+ * Lightbox v2.8.2
+ * by Lokesh Dhakar
+ *
+ * More info:
+ * http://lokeshdhakar.com/projects/lightbox2/
+ *
+ * Copyright 2007, 2015 Lokesh Dhakar
+ * Released under the MIT license
+ * https://github.com/lokesh/lightbox2/blob/master/LICENSE
+ */
+
+// Uses Node, AMD or browser globals to create a module.
+(function (root, factory) {
+    if (typeof define === 'function' && define.amd) {
+        // AMD. Register as an anonymous module.
+        define(['jquery'], factory);
+    } else if (typeof exports === 'object') {
+        // Node. Does not work with strict CommonJS, but
+        // only CommonJS-like environments that support module.exports,
+        // like Node.
+        module.exports = factory(require('jquery'));
+    } else {
+        // Browser globals (root is window)
+        root.lightbox = factory(root.jQuery);
+    }
+}(this, function ($) {
+
+  function Lightbox(options) {
+    this.album = [];
+    this.currentImageIndex = void 0;
+    this.init();
+
+    // options
+    this.options = $.extend({}, this.constructor.defaults);
+    this.option(options);
+  }
+
+  // Descriptions of all options available on the demo site:
+  // http://lokeshdhakar.com/projects/lightbox2/index.html#options
+  Lightbox.defaults = {
+    albumLabel: 'Image %1 of %2',
+    alwaysShowNavOnTouchDevices: false,
+    fadeDuration: 500,
+    fitImagesInViewport: true,
+    // maxWidth: 800,
+    // maxHeight: 600,
+    positionFromTop: 50,
+    resizeDuration: 700,
+    showImageNumberLabel: true,
+    wrapAround: false,
+    disableScrolling: false
+  };
+
+  Lightbox.prototype.option = function(options) {
+    $.extend(this.options, options);
+  };
+
+  Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) {
+    return this.options.albumLabel.replace(/%1/g, 
currentImageNum).replace(/%2/g, totalImages);
+  };
+
+  Lightbox.prototype.init = function() {
+    this.enable();
+    this.build();
+  };
+
+  // Loop through anchors and areamaps looking for either data-lightbox 
attributes or rel attributes
+  // that contain 'lightbox'. When these are clicked, start lightbox.
+  Lightbox.prototype.enable = function() {
+    var self = this;
+    $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], 
a[data-lightbox], area[data-lightbox]', function(event) {
+      self.start($(event.currentTarget));
+      return false;
+    });
+  };
+
+  // Build html for the lightbox and the overlay.
+  // Attach event handlers to the new DOM elements. click click click
+  Lightbox.prototype.build = function() {
+    var self = this;
+    $('<div id="lightboxOverlay" class="lightboxOverlay"></div><div 
id="lightbox" class="lightbox"><div class="lb-outerContainer"><div 
class="lb-container"><img class="lb-image" 
src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
 /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" 
href="" ></a></div><div class="lb-loader"><a 
class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div 
class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span 
class="lb-number"></span></div><div class="lb-closeContainer"><a 
class="lb-close"></a></div></div></div></div>').appendTo($('body'));
+
+    // Cache jQuery objects
+    this.$lightbox       = $('#lightbox');
+    this.$overlay        = $('#lightboxOverlay');
+    this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
+    this.$container      = this.$lightbox.find('.lb-container');
+
+    // Store css values for future lookup
+    this.containerTopPadding = parseInt(this.$container.css('padding-top'), 
10);
+    this.containerRightPadding = 
parseInt(this.$container.css('padding-right'), 10);
+    this.containerBottomPadding = 
parseInt(this.$container.css('padding-bottom'), 10);
+    this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 
10);
+
+    // Attach event handlers to the newly minted DOM elements
+    this.$overlay.hide().on('click', function() {
+      self.end();
+      return false;
+    });
+
+    this.$lightbox.hide().on('click', function(event) {
+      if ($(event.target).attr('id') === 'lightbox') {
+        self.end();
+      }
+      return false;
+    });
+
+    this.$outerContainer.on('click', function(event) {
+      if ($(event.target).attr('id') === 'lightbox') {
+        self.end();
+      }
+      return false;
+    });
+
+    this.$lightbox.find('.lb-prev').on('click', function() {
+      if (self.currentImageIndex === 0) {
+        self.changeImage(self.album.length - 1);
+      } else {
+        self.changeImage(self.currentImageIndex - 1);
+      }
+      return false;
+    });
+
+    this.$lightbox.find('.lb-next').on('click', function() {
+      if (self.currentImageIndex === self.album.length - 1) {
+        self.changeImage(0);
+      } else {
+        self.changeImage(self.currentImageIndex + 1);
+      }
+      return false;
+    });
+
+    this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
+      self.end();
+      return false;
+    });
+  };
+
+  // Show overlay and lightbox. If the image is part of a set, add siblings to 
album array.
+  Lightbox.prototype.start = function($link) {
+    var self    = this;
+    var $window = $(window);
+
+    $window.on('resize', $.proxy(this.sizeOverlay, this));
+
+    $('select, object, embed').css({
+      visibility: 'hidden'
+    });
+
+    this.sizeOverlay();
+
+    this.album = [];
+    var imageNumber = 0;
+
+    function addToAlbum($link) {
+      self.album.push({
+        link: $link.attr('href'),
+        title: $link.attr('data-title') || $link.attr('title')
+      });
+    }
+
+    // Support both data-lightbox attribute and rel attribute implementations
+    var dataLightboxValue = $link.attr('data-lightbox');
+    var $links;
+
+    if (dataLightboxValue) {
+      $links = $($link.prop('tagName') + '[data-lightbox="' + 
dataLightboxValue + '"]');
+      for (var i = 0; i < $links.length; i = ++i) {
+        addToAlbum($($links[i]));
+        if ($links[i] === $link[0]) {
+          imageNumber = i;
+        }
+      }
+    } else {
+      if ($link.attr('rel') === 'lightbox') {
+        // If image is not part of a set
+        addToAlbum($link);
+      } else {
+        // If image is part of a set
+        $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + 
'"]');
+        for (var j = 0; j < $links.length; j = ++j) {
+          addToAlbum($($links[j]));
+          if ($links[j] === $link[0]) {
+            imageNumber = j;
+          }
+        }
+      }
+    }
+
+    // Position Lightbox
+    var top  = $window.scrollTop() + this.options.positionFromTop;
+    var left = $window.scrollLeft();
+    this.$lightbox.css({
+      top: top + 'px',
+      left: left + 'px'
+    }).fadeIn(this.options.fadeDuration);
+
+    // Disable scrolling of the page while open
+    if (this.options.disableScrolling) {
+      $('body').addClass('lb-disable-scrolling');
+    }
+
+    this.changeImage(imageNumber);
+  };
+
+  // Hide most UI elements in preparation for the animated resizing of the 
lightbox.
+  Lightbox.prototype.changeImage = function(imageNumber) {
+    var self = this;
+
+    this.disableKeyboardNav();
+    var $image = this.$lightbox.find('.lb-image');
+
+    this.$overlay.fadeIn(this.options.fadeDuration);
+
+    $('.lb-loader').fadeIn('slow');
+    this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, 
.lb-dataContainer, .lb-numbers, .lb-caption').hide();
+
+    this.$outerContainer.addClass('animating');
+
+    // When image to show is preloaded, we send the width and height to 
sizeContainer()
+    var preloader = new Image();
+    preloader.onload = function() {
+      var $preloader;
+      var imageHeight;
+      var imageWidth;
+      var maxImageHeight;
+      var maxImageWidth;
+      var windowHeight;
+      var windowWidth;
+
+      $image.attr('src', self.album[imageNumber].link);
+
+      $preloader = $(preloader);
+
+      $image.width(preloader.width);
+      $image.height(preloader.height);
+
+      if (self.options.fitImagesInViewport) {
+        // Fit image inside the viewport.
+        // Take into account the border around the image and an additional 
10px gutter on each side.
+
+        windowWidth    = $(window).width();
+        windowHeight   = $(window).height();
+        maxImageWidth  = windowWidth - self.containerLeftPadding - 
self.containerRightPadding - 20;
+        maxImageHeight = windowHeight - self.containerTopPadding - 
self.containerBottomPadding - 120;
+
+        // Check if image size is larger then maxWidth|maxHeight in settings
+        if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
+          maxImageWidth = self.options.maxWidth;
+        }
+        if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) {
+          maxImageHeight = self.options.maxHeight;
+        }
+
+        // Is there a fitting issue?
+        if ((preloader.width > maxImageWidth) || (preloader.height > 
maxImageHeight)) {
+          if ((preloader.width / maxImageWidth) > (preloader.height / 
maxImageHeight)) {
+            imageWidth  = maxImageWidth;
+            imageHeight = parseInt(preloader.height / (preloader.width / 
imageWidth), 10);
+            $image.width(imageWidth);
+            $image.height(imageHeight);
+          } else {
+            imageHeight = maxImageHeight;
+            imageWidth = parseInt(preloader.width / (preloader.height / 
imageHeight), 10);
+            $image.width(imageWidth);
+            $image.height(imageHeight);
+          }
+        }
+      }
+      self.sizeContainer($image.width(), $image.height());
+    };
+
+    preloader.src          = this.album[imageNumber].link;
+    this.currentImageIndex = imageNumber;
+  };
+
+  // Stretch overlay to fit the viewport
+  Lightbox.prototype.sizeOverlay = function() {
+    this.$overlay
+      .width($(document).width())
+      .height($(document).height());
+  };
+
+  // Animate the size of the lightbox to fit the image we are showing
+  Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
+    var self = this;
+
+    var oldWidth  = this.$outerContainer.outerWidth();
+    var oldHeight = this.$outerContainer.outerHeight();
+    var newWidth  = imageWidth + this.containerLeftPadding + 
this.containerRightPadding;
+    var newHeight = imageHeight + this.containerTopPadding + 
this.containerBottomPadding;
+
+    function postResize() {
+      self.$lightbox.find('.lb-dataContainer').width(newWidth);
+      self.$lightbox.find('.lb-prevLink').height(newHeight);
+      self.$lightbox.find('.lb-nextLink').height(newHeight);
+      self.showImage();
+    }
+
+    if (oldWidth !== newWidth || oldHeight !== newHeight) {
+      this.$outerContainer.animate({
+        width: newWidth,
+        height: newHeight
+      }, this.options.resizeDuration, 'swing', function() {
+        postResize();
+      });
+    } else {
+      postResize();
+    }
+  };
+
+  // Display the image and its details and begin preload neighboring images.
+  Lightbox.prototype.showImage = function() {
+    this.$lightbox.find('.lb-loader').stop(true).hide();
+    this.$lightbox.find('.lb-image').fadeIn('slow');
+
+    this.updateNav();
+    this.updateDetails();
+    this.preloadNeighboringImages();
+    this.enableKeyboardNav();
+  };
+
+  // Display previous and next navigation if appropriate.
+  Lightbox.prototype.updateNav = function() {
+    // Check to see if the browser supports touch events. If so, we take the 
conservative approach
+    // and assume that mouse hover events are not supported and always show 
prev/next navigation
+    // arrows in image sets.
+    var alwaysShowNav = false;
+    try {
+      document.createEvent('TouchEvent');
+      alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : 
false;
+    } catch (e) {}
+
+    this.$lightbox.find('.lb-nav').show();
+
+    if (this.album.length > 1) {
+      if (this.options.wrapAround) {
+        if (alwaysShowNav) {
+          this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
+        }
+        this.$lightbox.find('.lb-prev, .lb-next').show();
+      } else {
+        if (this.currentImageIndex > 0) {
+          this.$lightbox.find('.lb-prev').show();
+          if (alwaysShowNav) {
+            this.$lightbox.find('.lb-prev').css('opacity', '1');
+          }
+        }
+        if (this.currentImageIndex < this.album.length - 1) {
+          this.$lightbox.find('.lb-next').show();
+          if (alwaysShowNav) {
+            this.$lightbox.find('.lb-next').css('opacity', '1');
+          }
+        }
+      }
+    }
+  };
+
+  // Display caption, image number, and closing button.
+  Lightbox.prototype.updateDetails = function() {
+    var self = this;
+
+    // Enable anchor clicks in the injected caption html.
+    // Thanks Nate Wright for the fix. @https://github.com/NateWr
+    if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
+      this.album[this.currentImageIndex].title !== '') {
+      this.$lightbox.find('.lb-caption')
+        .html(this.album[this.currentImageIndex].title)
+        .fadeIn('fast')
+        .find('a').on('click', function(event) {
+          if ($(this).attr('target') !== undefined) {
+            window.open($(this).attr('href'), $(this).attr('target'));
+          } else {
+            location.href = $(this).attr('href');
+          }
+        });
+    }
+
+    if (this.album.length > 1 && this.options.showImageNumberLabel) {
+      var labelText = this.imageCountLabel(this.currentImageIndex + 1, 
this.album.length);
+      this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
+    } else {
+      this.$lightbox.find('.lb-number').hide();
+    }
+
+    this.$outerContainer.removeClass('animating');
+
+    
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, 
function() {
+      return self.sizeOverlay();
+    });
+  };
+
+  // Preload previous and next images in set.
+  Lightbox.prototype.preloadNeighboringImages = function() {
+    if (this.album.length > this.currentImageIndex + 1) {
+      var preloadNext = new Image();
+      preloadNext.src = this.album[this.currentImageIndex + 1].link;
+    }
+    if (this.currentImageIndex > 0) {
+      var preloadPrev = new Image();
+      preloadPrev.src = this.album[this.currentImageIndex - 1].link;
+    }
+  };
+
+  Lightbox.prototype.enableKeyboardNav = function() {
+    $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
+  };
+
+  Lightbox.prototype.disableKeyboardNav = function() {
+    $(document).off('.keyboard');
+  };
+
+  Lightbox.prototype.keyboardAction = function(event) {
+    var KEYCODE_ESC        = 27;
+    var KEYCODE_LEFTARROW  = 37;
+    var KEYCODE_RIGHTARROW = 39;
+
+    var keycode = event.keyCode;
+    var key     = String.fromCharCode(keycode).toLowerCase();
+    if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
+      this.end();
+    } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
+      if (this.currentImageIndex !== 0) {
+        this.changeImage(this.currentImageIndex - 1);
+      } else if (this.options.wrapAround && this.album.length > 1) {
+        this.changeImage(this.album.length - 1);
+      }
+    } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
+      if (this.currentImageIndex !== this.album.length - 1) {
+        this.changeImage(this.currentImageIndex + 1);
+      } else if (this.options.wrapAround && this.album.length > 1) {
+        this.changeImage(0);
+      }
+    }
+  };
+
+  // Closing time. :-(
+  Lightbox.prototype.end = function() {
+    this.disableKeyboardNav();
+    $(window).off('resize', this.sizeOverlay);
+    this.$lightbox.fadeOut(this.options.fadeDuration);
+    this.$overlay.fadeOut(this.options.fadeDuration);
+    $('select, object, embed').css({
+      visibility: 'visible'
+    });
+    if (this.options.disableScrolling) {
+      $('body').removeClass('lb-disable-scrolling');
+    }
+  };
+
+  return new Lightbox();
+}));

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/main.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/main.js 
b/src/homepage/_site/assets/js/main.js
new file mode 100644
index 0000000..83b8f82
--- /dev/null
+++ b/src/homepage/_site/assets/js/main.js
@@ -0,0 +1,139 @@
+/*
+       Stellar by HTML5 UP
+       html5up.net | @ajlkn
+       Free for personal and commercial use under the CCA 3.0 license 
(html5up.net/license)
+*/
+
+(function($) {
+
+       skel.breakpoints({
+               xlarge: '(max-width: 1680px)',
+               large: '(max-width: 1280px)',
+               medium: '(max-width: 980px)',
+               small: '(max-width: 736px)',
+               xsmall: '(max-width: 480px)',
+               xxsmall: '(max-width: 360px)'
+       });
+
+       $(function() {
+
+               var     $window = $(window),
+                       $body = $('body'),
+                       $main = $('#main');
+
+               // Disable animations/transitions until the page has loaded.
+                       $body.addClass('is-loading');
+
+                       $window.on('load', function() {
+                               window.setTimeout(function() {
+                                       $body.removeClass('is-loading');
+                               }, 100);
+                       });
+
+               // Fix: Placeholder polyfill.
+                       $('form').placeholder();
+
+               // Prioritize "important" elements on medium.
+                       skel.on('+medium -medium', function() {
+                               $.prioritize(
+                                       '.important\\28 medium\\29',
+                                       skel.breakpoint('medium').active
+                               );
+                       });
+
+               // Nav.
+                       var $nav = $('#nav');
+
+                       if ($nav.length > 0) {
+
+                               // Shrink effect.
+                                       $main
+                                               .scrollex({
+                                                       mode: 'top',
+                                                       enter: function() {
+                                                               
$nav.addClass('alt');
+                                                       },
+                                                       leave: function() {
+                                                               
$nav.removeClass('alt');
+                                                       },
+                                               });
+
+                               // Links.
+                                       var $nav_a = $nav.find('a');
+
+                                       $nav_a
+                                               .scrolly({
+                                                       speed: 1000,
+                                                       offset: function() { 
return $nav.height(); }
+                                               })
+                                               .on('click', function() {
+
+                                                       var $this = $(this);
+
+                                                       // External link? Bail.
+                                                               if 
($this.attr('href').charAt(0) != '#')
+                                                                       return;
+
+                                                       // Deactivate all links.
+                                                               $nav_a
+                                                                       
.removeClass('active')
+                                                                       
.removeClass('active-locked');
+
+                                                       // Activate link *and* 
lock it (so Scrollex doesn't try to activate other links as we're scrolling to 
this one's section).
+                                                               $this
+                                                                       
.addClass('active')
+                                                                       
.addClass('active-locked');
+
+                                               })
+                                               .each(function() {
+
+                                                       var     $this = $(this),
+                                                               id = 
$this.attr('href'),
+                                                               $section = 
$(id);
+
+                                                       // No section for this 
link? Bail.
+                                                               if 
($section.length < 1)
+                                                                       return;
+
+                                                       // Scrollex.
+                                                               
$section.scrollex({
+                                                                       mode: 
'middle',
+                                                                       
initialize: function() {
+
+                                                                               
// Deactivate section.
+                                                                               
        if (skel.canUse('transition'))
+                                                                               
                $section.addClass('inactive');
+
+                                                                       },
+                                                                       enter: 
function() {
+
+                                                                               
// Activate section.
+                                                                               
        $section.removeClass('inactive');
+
+                                                                               
// No locked links? Deactivate all links and activate this section's one.
+                                                                               
        if ($nav_a.filter('.active-locked').length == 0) {
+
+                                                                               
                $nav_a.removeClass('active');
+                                                                               
                $this.addClass('active');
+
+                                                                               
        }
+
+                                                                               
// Otherwise, if this section's link is the one that's locked, unlock it.
+                                                                               
        else if ($this.hasClass('active-locked'))
+                                                                               
                $this.removeClass('active-locked');
+
+                                                                       }
+                                                               });
+
+                                               });
+
+                       }
+
+               // Scrolly.
+                       $('.scrolly').scrolly({
+                               speed: 1000
+                       });
+
+       });
+
+})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/skel.min.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/skel.min.js 
b/src/homepage/_site/assets/js/skel.min.js
new file mode 100644
index 0000000..6ca4bf1
--- /dev/null
+++ b/src/homepage/_site/assets/js/skel.min.js
@@ -0,0 +1,2 @@
+/* skel.js v3.0.1 | (c) skel.io | MIT licensed */
+var skel=function(){"use strict";var 
t={breakpointIds:null,events:{},isInit:!1,obj:{attachments:{},breakpoints:{},head:null,states:{}},sd:"/",state:null,stateHandlers:{},stateId:"",vars:{},DOMReady:null,indexOf:null,isArray:null,iterate:null,matchesMedia:null,extend:function(e,n){t.iterate(n,function(i){t.isArray(n[i])?(t.isArray(e[i])||(e[i]=[]),t.extend(e[i],n[i])):"object"==typeof
 n[i]?("object"!=typeof 
e[i]&&(e[i]={}),t.extend(e[i],n[i])):e[i]=n[i]})},newStyle:function(t){var 
e=document.createElement("style");return 
e.type="text/css",e.innerHTML=t,e},_canUse:null,canUse:function(e){t._canUse||(t._canUse=document.createElement("div"));var
 n=t._canUse.style,i=e.charAt(0).toUpperCase()+e.slice(1);return e in 
n||"Moz"+i in n||"Webkit"+i in n||"O"+i in n||"ms"+i in n},on:function(e,n){var 
i=e.split(/[\s]+/);return t.iterate(i,function(e){var 
a=i[e];if(t.isInit){if("init"==a)return void n();if("change"==a)n();else{var 
r=a.charAt(0);if("+"==r||"!"==r){var o=a.substring(1);if(o in t.obj
 .breakpoints)if("+"==r&&t.obj.breakpoints[o].active)n();else 
if("!"==r&&!t.obj.breakpoints[o].active)return void 
n()}}}t.events[a]||(t.events[a]=[]),t.events[a].push(n)}),t},trigger:function(e){return
 
t.events[e]&&0!=t.events[e].length?(t.iterate(t.events[e],function(n){t.events[e][n]()}),t):void
 0},breakpoint:function(e){return 
t.obj.breakpoints[e]},breakpoints:function(e){function 
n(t,e){this.name=this.id=t,this.media=e,this.active=!1,this.wasActive=!1}return 
n.prototype.matches=function(){return 
t.matchesMedia(this.media)},n.prototype.sync=function(){this.wasActive=this.active,this.active=this.matches()},t.iterate(e,function(i){t.obj.breakpoints[i]=new
 
n(i,e[i])}),window.setTimeout(function(){t.poll()},0),t},addStateHandler:function(e,n){t.stateHandlers[e]=n},callStateHandler:function(e){var
 
n=t.stateHandlers[e]();t.iterate(n,function(e){t.state.attachments.push(n[e])})},changeState:function(e){t.iterate(t.obj.breakpoints,function(e){t.obj.breakpoints[e].sync()}),t.vars.lastState
 
Id=t.stateId,t.stateId=e,t.breakpointIds=t.stateId===t.sd?[]:t.stateId.substring(1).split(t.sd),t.obj.states[t.stateId]?t.state=t.obj.states[t.stateId]:(t.obj.states[t.stateId]={attachments:[]},t.state=t.obj.states[t.stateId],t.iterate(t.stateHandlers,t.callStateHandler)),t.detachAll(t.state.attachments),t.attachAll(t.state.attachments),t.vars.stateId=t.stateId,t.vars.state=t.state,t.trigger("change"),t.iterate(t.obj.breakpoints,function(e){t.obj.breakpoints[e].active?t.obj.breakpoints[e].wasActive||t.trigger("+"+e):t.obj.breakpoints[e].wasActive&&t.trigger("-"+e)})},generateStateConfig:function(e,n){var
 i={};return 
t.extend(i,e),t.iterate(t.breakpointIds,function(e){t.extend(i,n[t.breakpointIds[e]])}),i},getStateId:function(){var
 e="";return t.iterate(t.obj.breakpoints,function(n){var 
i=t.obj.breakpoints[n];i.matches()&&(e+=t.sd+i.id)}),e},poll:function(){var 
e="";e=t.getStateId(),""===e&&(e=t.sd),e!==t.stateId&&t.changeState(e)},_attach:null,attach:function(e){var
 n=t.obj.head,i=e
 .element;return 
i.parentNode&&i.parentNode.tagName?!1:(t._attach||(t._attach=n.firstChild),n.insertBefore(i,t._attach.nextSibling),e.permanent&&(t._attach=i),!0)},attachAll:function(e){var
 
n=[];t.iterate(e,function(t){n[e[t].priority]||(n[e[t].priority]=[]),n[e[t].priority].push(e[t])}),n.reverse(),t.iterate(n,function(e){t.iterate(n[e],function(i){t.attach(n[e][i])})})},detach:function(t){var
 e=t.element;return 
t.permanent||!e.parentNode||e.parentNode&&!e.parentNode.tagName?!1:(e.parentNode.removeChild(e),!0)},detachAll:function(e){var
 
n={};t.iterate(e,function(t){n[e[t].id]=!0}),t.iterate(t.obj.attachments,function(e){e
 in n||t.detach(t.obj.attachments[e])})},attachment:function(e){return e in 
t.obj.attachments?t.obj.attachments[e]:null},newAttachment:function(e,n,i,a){return
 
t.obj.attachments[e]={id:e,element:n,priority:i,permanent:a}},init:function(){t.initMethods(),t.initVars(),t.initEvents(),t.obj.head=document.getElementsByTagName("head")[0],t.isInit=!0,t.trigger("init")},ini
 
tEvents:function(){t.on("resize",function(){t.poll()}),t.on("orientationChange",function(){t.poll()}),t.DOMReady(function(){t.trigger("ready")}),window.onload&&t.on("load",window.onload),window.onload=function(){t.trigger("load")},window.onresize&&t.on("resize",window.onresize),window.onresize=function(){t.trigger("resize")},window.onorientationchange&&t.on("orientationChange",window.onorientationchange),window.onorientationchange=function(){t.trigger("orientationChange")}},initMethods:function(){document.addEventListener?!function(e,n){t.DOMReady=n()}("domready",function(){function
 t(t){for(r=1;t=n.shift();)t()}var 
e,n=[],i=document,a="DOMContentLoaded",r=/^loaded|^c/.test(i.readyState);return 
i.addEventListener(a,e=function(){i.removeEventListener(a,e),t()}),function(t){r?t():n.push(t)}}):!function(e,n){t.DOMReady=n()}("domready",function(t){function
 e(t){for(h=1;t=i.shift();)t()}var 
n,i=[],a=!1,r=document,o=r.documentElement,s=o.doScroll,c="DOMContentLoaded",d="addEventListener",
 
u="onreadystatechange",l="readyState",f=s?/^loaded|^c/:/^loaded|c/,h=f.test(r[l]);return
 
r[d]&&r[d](c,n=function(){r.removeEventListener(c,n,a),e()},a),s&&r.attachEvent(u,n=function(){/^c/.test(r[l])&&(r.detachEvent(u,n),e())}),t=s?function(e){self!=top?h?e():i.push(e):function(){try{o.doScroll("left")}catch(n){return
 
setTimeout(function(){t(e)},50)}e()}()}:function(t){h?t():i.push(t)}}),Array.prototype.indexOf?t.indexOf=function(t,e){return
 t.indexOf(e)}:t.indexOf=function(t,e){if("string"==typeof t)return 
t.indexOf(e);var n,i,a=e?e:0;if(!this)throw new 
TypeError;if(i=this.length,0===i||a>=i)return-1;for(0>a&&(a=i-Math.abs(a)),n=a;i>n;n++)if(this[n]===t)return
 n;return-1},Array.isArray?t.isArray=function(t){return 
Array.isArray(t)}:t.isArray=function(t){return"[object 
Array]"===Object.prototype.toString.call(t)},Object.keys?t.iterate=function(t,e){if(!t)return[];var
 
n,i=Object.keys(t);for(n=0;i[n]&&e(i[n],t[i[n]])!==!1;n++);}:t.iterate=function(t,e){if(!t)return[];var
 n;for(n in t)
 
if(Object.prototype.hasOwnProperty.call(t,n)&&e(n,t[n])===!1)break},window.matchMedia?t.matchesMedia=function(t){return""==t?!0:window.matchMedia(t).matches}:window.styleMedia||window.media?t.matchesMedia=function(t){if(""==t)return!0;var
 e=window.styleMedia||window.media;return 
e.matchMedium(t||"all")}:window.getComputedStyle?t.matchesMedia=function(t){if(""==t)return!0;var
 
e=document.createElement("style"),n=document.getElementsByTagName("script")[0],i=null;e.type="text/css",e.id="matchmediajs-test",n.parentNode.insertBefore(e,n),i="getComputedStyle"in
 window&&window.getComputedStyle(e,null)||e.currentStyle;var a="@media "+t+"{ 
#matchmediajs-test { width: 1px; } }";return 
e.styleSheet?e.styleSheet.cssText=a:e.textContent=a,"1px"===i.width}:t.matchesMedia=function(t){if(""==t)return!0;var
 
e,n,i,a,r={"min-width":null,"max-width":null},o=!1;for(i=t.split(/\s+and\s+/),e=0;e<i.length;e++)n=i[e],"("==n.charAt(0)&&(n=n.substring(1,n.length-1),a=n.split(/:\s+/),2==a.length&&(r[a[0].replac
 e(/^\s+|\s+$/g,"")]=parseInt(a[1]),o=!0));if(!o)return!1;var 
s=document.documentElement.clientWidth,c=document.documentElement.clientHeight;return
 
null!==r["min-width"]&&s<r["min-width"]||null!==r["max-width"]&&s>r["max-width"]||null!==r["min-height"]&&c<r["min-height"]||null!==r["max-height"]&&c>r["max-height"]?!1:!0},navigator.userAgent.match(/MSIE
 ([0-9]+)/)&&RegExp.$1<9&&(t.newStyle=function(t){var 
e=document.createElement("span");return e.innerHTML='&nbsp;<style 
type="text/css">'+t+"</style>",e})},initVars:function(){var 
e,n,i,a=navigator.userAgent;e="other",n=0,i=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE
 ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],t.iterate(i,function(t,i){return 
a.match(i[1])?(e=i[0],n=parseFloat(RegExp.$1),!1):void 0})
 ,t.vars.browser=e,t.vars.browserVersion=n,e="other",n=0,i=[["ios",/([0-9_]+) 
like Mac OS X/,function(t){return 
t.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS 
X/,function(t){return 0}],["wp",/Windows Phone 
([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac 
OS X ([0-9_]+)/,function(t){return 
t.replace("_",".").replace("_","")}],["windows",/Windows NT 
([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null]],t.iterate(i,function(t,i){return
 a.match(i[1])?(e=i[0],n=parseFloat(i[2]?i[2](RegExp.$1):RegExp.$1),!1):void 
0}),t.vars.os=e,t.vars.osVersion=n,t.vars.IEVersion="ie"==t.vars.browser?t.vars.browserVersion:99,t.vars.touch="wp"==t.vars.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in
 
window),t.vars.mobile="wp"==t.vars.os||"android"==t.vars.os||"ios"==t.vars.os||"bb"==t.vars.os}};return
 t.init(),t}();!function(t,e){"function"==typeof 
define&&define.amd?define([],e):"object"==typeof exports?m
 odule.exports=e():t.skel=e()}(this,function(){return skel});

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/js/util.js
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/js/util.js 
b/src/homepage/_site/assets/js/util.js
new file mode 100644
index 0000000..ecf7b37
--- /dev/null
+++ b/src/homepage/_site/assets/js/util.js
@@ -0,0 +1,587 @@
+(function($) {
+
+       /**
+        * Generate an indented list of links from a nav. Meant for use with 
panel().
+        * @return {jQuery} jQuery object.
+        */
+       $.fn.navList = function() {
+
+               var     $this = $(this);
+                       $a = $this.find('a'),
+                       b = [];
+
+               $a.each(function() {
+
+                       var     $this = $(this),
+                               indent = Math.max(0, $this.parents('li').length 
- 1),
+                               href = $this.attr('href'),
+                               target = $this.attr('target');
+
+                       b.push(
+                               '<a ' +
+                                       'class="link depth-' + indent + '"' +
+                                       ( (typeof target !== 'undefined' && 
target != '') ? ' target="' + target + '"' : '') +
+                                       ( (typeof href !== 'undefined' && href 
!= '') ? ' href="' + href + '"' : '') +
+                               '>' +
+                                       '<span class="indent-' + indent + 
'"></span>' +
+                                       $this.text() +
+                               '</a>'
+                       );
+
+               });
+
+               return b.join('');
+
+       };
+
+       /**
+        * Panel-ify an element.
+        * @param {object} userConfig User config.
+        * @return {jQuery} jQuery object.
+        */
+       $.fn.panel = function(userConfig) {
+
+               // No elements?
+                       if (this.length == 0)
+                               return $this;
+
+               // Multiple elements?
+                       if (this.length > 1) {
+
+                               for (var i=0; i < this.length; i++)
+                                       $(this[i]).panel(userConfig);
+
+                               return $this;
+
+                       }
+
+               // Vars.
+                       var     $this = $(this),
+                               $body = $('body'),
+                               $window = $(window),
+                               id = $this.attr('id'),
+                               config;
+
+               // Config.
+                       config = $.extend({
+
+                               // Delay.
+                                       delay: 0,
+
+                               // Hide panel on link click.
+                                       hideOnClick: false,
+
+                               // Hide panel on escape keypress.
+                                       hideOnEscape: false,
+
+                               // Hide panel on swipe.
+                                       hideOnSwipe: false,
+
+                               // Reset scroll position on hide.
+                                       resetScroll: false,
+
+                               // Reset forms on hide.
+                                       resetForms: false,
+
+                               // Side of viewport the panel will appear.
+                                       side: null,
+
+                               // Target element for "class".
+                                       target: $this,
+
+                               // Class to toggle.
+                                       visibleClass: 'visible'
+
+                       }, userConfig);
+
+                       // Expand "target" if it's not a jQuery object already.
+                               if (typeof config.target != 'jQuery')
+                                       config.target = $(config.target);
+
+               // Panel.
+
+                       // Methods.
+                               $this._hide = function(event) {
+
+                                       // Already hidden? Bail.
+                                               if 
(!config.target.hasClass(config.visibleClass))
+                                                       return;
+
+                                       // If an event was provided, cancel it.
+                                               if (event) {
+
+                                                       event.preventDefault();
+                                                       event.stopPropagation();
+
+                                               }
+
+                                       // Hide.
+                                               
config.target.removeClass(config.visibleClass);
+
+                                       // Post-hide stuff.
+                                               window.setTimeout(function() {
+
+                                                       // Reset scroll 
position.
+                                                               if 
(config.resetScroll)
+                                                                       
$this.scrollTop(0);
+
+                                                       // Reset forms.
+                                                               if 
(config.resetForms)
+                                                                       
$this.find('form').each(function() {
+                                                                               
this.reset();
+                                                                       });
+
+                                               }, config.delay);
+
+                               };
+
+                       // Vendor fixes.
+                               $this
+                                       .css('-ms-overflow-style', 
'-ms-autohiding-scrollbar')
+                                       .css('-webkit-overflow-scrolling', 
'touch');
+
+                       // Hide on click.
+                               if (config.hideOnClick) {
+
+                                       $this.find('a')
+                                               
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
+
+                                       $this
+                                               .on('click', 'a', 
function(event) {
+
+                                                       var $a = $(this),
+                                                               href = 
$a.attr('href'),
+                                                               target = 
$a.attr('target');
+
+                                                       if (!href || href == 
'#' || href == '' || href == '#' + id)
+                                                               return;
+
+                                                       // Cancel original 
event.
+                                                               
event.preventDefault();
+                                                               
event.stopPropagation();
+
+                                                       // Hide panel.
+                                                               $this._hide();
+
+                                                       // Redirect to href.
+                                                               
window.setTimeout(function() {
+
+                                                                       if 
(target == '_blank')
+                                                                               
window.open(href);
+                                                                       else
+                                                                               
window.location.href = href;
+
+                                                               }, config.delay 
+ 10);
+
+                                               });
+
+                               }
+
+                       // Event: Touch stuff.
+                               $this.on('touchstart', function(event) {
+
+                                       $this.touchPosX = 
event.originalEvent.touches[0].pageX;
+                                       $this.touchPosY = 
event.originalEvent.touches[0].pageY;
+
+                               })
+
+                               $this.on('touchmove', function(event) {
+
+                                       if ($this.touchPosX === null
+                                       ||      $this.touchPosY === null)
+                                               return;
+
+                                       var     diffX = $this.touchPosX - 
event.originalEvent.touches[0].pageX,
+                                               diffY = $this.touchPosY - 
event.originalEvent.touches[0].pageY,
+                                               th = $this.outerHeight(),
+                                               ts = ($this.get(0).scrollHeight 
- $this.scrollTop());
+
+                                       // Hide on swipe?
+                                               if (config.hideOnSwipe) {
+
+                                                       var result = false,
+                                                               boundary = 20,
+                                                               delta = 50;
+
+                                                       switch (config.side) {
+
+                                                               case 'left':
+                                                                       result 
= (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
+                                                                       break;
+
+                                                               case 'right':
+                                                                       result 
= (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
+                                                                       break;
+
+                                                               case 'top':
+                                                                       result 
= (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
+                                                                       break;
+
+                                                               case 'bottom':
+                                                                       result 
= (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
+                                                                       break;
+
+                                                               default:
+                                                                       break;
+
+                                                       }
+
+                                                       if (result) {
+
+                                                               $this.touchPosX 
= null;
+                                                               $this.touchPosY 
= null;
+                                                               $this._hide();
+
+                                                               return false;
+
+                                                       }
+
+                                               }
+
+                                       // Prevent vertical scrolling past the 
top or bottom.
+                                               if (($this.scrollTop() < 0 && 
diffY < 0)
+                                               || (ts > (th - 2) && ts < (th + 
2) && diffY > 0)) {
+
+                                                       event.preventDefault();
+                                                       event.stopPropagation();
+
+                                               }
+
+                               });
+
+                       // Event: Prevent certain events inside the panel from 
bubbling.
+                               $this.on('click touchend touchstart touchmove', 
function(event) {
+                                       event.stopPropagation();
+                               });
+
+                       // Event: Hide panel if a child anchor tag pointing to 
its ID is clicked.
+                               $this.on('click', 'a[href="#' + id + '"]', 
function(event) {
+
+                                       event.preventDefault();
+                                       event.stopPropagation();
+
+                                       
config.target.removeClass(config.visibleClass);
+
+                               });
+
+               // Body.
+
+                       // Event: Hide panel on body click/tap.
+                               $body.on('click touchend', function(event) {
+                                       $this._hide(event);
+                               });
+
+                       // Event: Toggle.
+                               $body.on('click', 'a[href="#' + id + '"]', 
function(event) {
+
+                                       event.preventDefault();
+                                       event.stopPropagation();
+
+                                       
config.target.toggleClass(config.visibleClass);
+
+                               });
+
+               // Window.
+
+                       // Event: Hide on ESC.
+                               if (config.hideOnEscape)
+                                       $window.on('keydown', function(event) {
+
+                                               if (event.keyCode == 27)
+                                                       $this._hide(event);
+
+                                       });
+
+               return $this;
+
+       };
+
+       /**
+        * Apply "placeholder" attribute polyfill to one or more forms.
+        * @return {jQuery} jQuery object.
+        */
+       $.fn.placeholder = function() {
+
+               // Browser natively supports placeholders? Bail.
+                       if (typeof 
(document.createElement('input')).placeholder != 'undefined')
+                               return $(this);
+
+               // No elements?
+                       if (this.length == 0)
+                               return $this;
+
+               // Multiple elements?
+                       if (this.length > 1) {
+
+                               for (var i=0; i < this.length; i++)
+                                       $(this[i]).placeholder();
+
+                               return $this;
+
+                       }
+
+               // Vars.
+                       var $this = $(this);
+
+               // Text, TextArea.
+                       $this.find('input[type=text],textarea')
+                               .each(function() {
+
+                                       var i = $(this);
+
+                                       if (i.val() == ''
+                                       ||  i.val() == i.attr('placeholder'))
+                                               i
+                                                       
.addClass('polyfill-placeholder')
+                                                       
.val(i.attr('placeholder'));
+
+                               })
+                               .on('blur', function() {
+
+                                       var i = $(this);
+
+                                       if 
(i.attr('name').match(/-polyfill-field$/))
+                                               return;
+
+                                       if (i.val() == '')
+                                               i
+                                                       
.addClass('polyfill-placeholder')
+                                                       
.val(i.attr('placeholder'));
+
+                               })
+                               .on('focus', function() {
+
+                                       var i = $(this);
+
+                                       if 
(i.attr('name').match(/-polyfill-field$/))
+                                               return;
+
+                                       if (i.val() == i.attr('placeholder'))
+                                               i
+                                                       
.removeClass('polyfill-placeholder')
+                                                       .val('');
+
+                               });
+
+               // Password.
+                       $this.find('input[type=password]')
+                               .each(function() {
+
+                                       var i = $(this);
+                                       var x = $(
+                                                               $('<div>')
+                                                                       
.append(i.clone())
+                                                                       
.remove()
+                                                                       .html()
+                                                                       
.replace(/type="password"/i, 'type="text"')
+                                                                       
.replace(/type=password/i, 'type=text')
+                                       );
+
+                                       if (i.attr('id') != '')
+                                               x.attr('id', i.attr('id') + 
'-polyfill-field');
+
+                                       if (i.attr('name') != '')
+                                               x.attr('name', i.attr('name') + 
'-polyfill-field');
+
+                                       x.addClass('polyfill-placeholder')
+                                               
.val(x.attr('placeholder')).insertAfter(i);
+
+                                       if (i.val() == '')
+                                               i.hide();
+                                       else
+                                               x.hide();
+
+                                       i
+                                               .on('blur', function(event) {
+
+                                                       event.preventDefault();
+
+                                                       var x = 
i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
+
+                                                       if (i.val() == '') {
+
+                                                               i.hide();
+                                                               x.show();
+
+                                                       }
+
+                                               });
+
+                                       x
+                                               .on('focus', function(event) {
+
+                                                       event.preventDefault();
+
+                                                       var i = 
x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + 
']');
+
+                                                       x.hide();
+
+                                                       i
+                                                               .show()
+                                                               .focus();
+
+                                               })
+                                               .on('keypress', function(event) 
{
+
+                                                       event.preventDefault();
+                                                       x.val('');
+
+                                               });
+
+                               });
+
+               // Events.
+                       $this
+                               .on('submit', function() {
+
+                                       
$this.find('input[type=text],input[type=password],textarea')
+                                               .each(function(event) {
+
+                                                       var i = $(this);
+
+                                                       if 
(i.attr('name').match(/-polyfill-field$/))
+                                                               i.attr('name', 
'');
+
+                                                       if (i.val() == 
i.attr('placeholder')) {
+
+                                                               
i.removeClass('polyfill-placeholder');
+                                                               i.val('');
+
+                                                       }
+
+                                               });
+
+                               })
+                               .on('reset', function(event) {
+
+                                       event.preventDefault();
+
+                                       $this.find('select')
+                                               .val($('option:first').val());
+
+                                       $this.find('input,textarea')
+                                               .each(function() {
+
+                                                       var i = $(this),
+                                                               x;
+
+                                                       
i.removeClass('polyfill-placeholder');
+
+                                                       switch (this.type) {
+
+                                                               case 'submit':
+                                                               case 'reset':
+                                                                       break;
+
+                                                               case 'password':
+                                                                       
i.val(i.attr('defaultValue'));
+
+                                                                       x = 
i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
+
+                                                                       if 
(i.val() == '') {
+                                                                               
i.hide();
+                                                                               
x.show();
+                                                                       }
+                                                                       else {
+                                                                               
i.show();
+                                                                               
x.hide();
+                                                                       }
+
+                                                                       break;
+
+                                                               case 'checkbox':
+                                                               case 'radio':
+                                                                       
i.attr('checked', i.attr('defaultValue'));
+                                                                       break;
+
+                                                               case 'text':
+                                                               case 'textarea':
+                                                                       
i.val(i.attr('defaultValue'));
+
+                                                                       if 
(i.val() == '') {
+                                                                               
i.addClass('polyfill-placeholder');
+                                                                               
i.val(i.attr('placeholder'));
+                                                                       }
+
+                                                                       break;
+
+                                                               default:
+                                                                       
i.val(i.attr('defaultValue'));
+                                                                       break;
+
+                                                       }
+                                               });
+
+                               });
+
+               return $this;
+
+       };
+
+       /**
+        * Moves elements to/from the first positions of their respective 
parents.
+        * @param {jQuery} $elements Elements (or selector) to move.
+        * @param {bool} condition If true, moves elements to the top. 
Otherwise, moves elements back to their original locations.
+        */
+       $.prioritize = function($elements, condition) {
+
+               var key = '__prioritize';
+
+               // Expand $elements if it's not already a jQuery object.
+                       if (typeof $elements != 'jQuery')
+                               $elements = $($elements);
+
+               // Step through elements.
+                       $elements.each(function() {
+
+                               var     $e = $(this), $p,
+                                       $parent = $e.parent();
+
+                               // No parent? Bail.
+                                       if ($parent.length == 0)
+                                               return;
+
+                               // Not moved? Move it.
+                                       if (!$e.data(key)) {
+
+                                               // Condition is false? Bail.
+                                                       if (!condition)
+                                                               return;
+
+                                               // Get placeholder (which will 
serve as our point of reference for when this element needs to move back).
+                                                       $p = $e.prev();
+
+                                                       // Couldn't find 
anything? Means this element's already at the top, so bail.
+                                                               if ($p.length 
== 0)
+                                                                       return;
+
+                                               // Move element to top of 
parent.
+                                                       $e.prependTo($parent);
+
+                                               // Mark element as moved.
+                                                       $e.data(key, $p);
+
+                                       }
+
+                               // Moved already?
+                                       else {
+
+                                               // Condition is true? Bail.
+                                                       if (condition)
+                                                               return;
+
+                                               $p = $e.data(key);
+
+                                               // Move element back to its 
original location (using our placeholder).
+                                                       $e.insertAfter($p);
+
+                                               // Unmark element as moved.
+                                                       $e.removeData(key);
+
+                                       }
+
+                       });
+
+       };
+
+})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/assets/main.css
----------------------------------------------------------------------
diff --git a/src/homepage/_site/assets/main.css 
b/src/homepage/_site/assets/main.css
new file mode 100644
index 0000000..a19f9f9
--- /dev/null
+++ b/src/homepage/_site/assets/main.css
@@ -0,0 +1,452 @@
+/**
+ * Reset some basic elements
+ */
+body, h1, h2, h3, h4, h5, h6,
+p, blockquote, pre, hr,
+dl, dd, ol, ul, figure {
+  margin: 0;
+  padding: 0; }
+
+/**
+ * Basic styling
+ */
+body {
+  font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
+  color: #111;
+  background-color: #fdfdfd;
+  -webkit-text-size-adjust: 100%;
+  -webkit-font-feature-settings: "kern" 1;
+  -moz-font-feature-settings: "kern" 1;
+  -o-font-feature-settings: "kern" 1;
+  font-feature-settings: "kern" 1;
+  font-kerning: normal; }
+
+/**
+ * Set `margin-bottom` to maintain vertical rhythm
+ */
+h1, h2, h3, h4, h5, h6,
+p, blockquote, pre,
+ul, ol, dl, figure,
+.highlight {
+  margin-bottom: 15px; }
+
+/**
+ * Images
+ */
+img {
+  max-width: 100%;
+  vertical-align: middle; }
+
+/**
+ * Figures
+ */
+figure > img {
+  display: block; }
+
+figcaption {
+  font-size: 14px; }
+
+/**
+ * Lists
+ */
+ul, ol {
+  margin-left: 30px; }
+
+li > ul,
+li > ol {
+  margin-bottom: 0; }
+
+/**
+ * Headings
+ */
+h1, h2, h3, h4, h5, h6 {
+  font-weight: 400; }
+
+/**
+ * Links
+ */
+a {
+  color: #2a7ae2;
+  text-decoration: none; }
+  a:visited {
+    color: #1756a9; }
+  a:hover {
+    color: #111;
+    text-decoration: underline; }
+
+/**
+ * Blockquotes
+ */
+blockquote {
+  color: #828282;
+  border-left: 4px solid #e8e8e8;
+  padding-left: 15px;
+  font-size: 18px;
+  letter-spacing: -1px;
+  font-style: italic; }
+  blockquote > :last-child {
+    margin-bottom: 0; }
+
+/**
+ * Code formatting
+ */
+pre,
+code {
+  font-size: 15px;
+  border: 1px solid #e8e8e8;
+  border-radius: 3px;
+  background-color: #eef; }
+
+code {
+  padding: 1px 5px; }
+
+pre {
+  padding: 8px 12px;
+  overflow-x: auto; }
+  pre > code {
+    border: 0;
+    padding-right: 0;
+    padding-left: 0; }
+
+/**
+ * Wrapper
+ */
+.wrapper {
+  max-width: -webkit-calc(800px - (30px * 2));
+  max-width: calc(800px - (30px * 2));
+  margin-right: auto;
+  margin-left: auto;
+  padding-right: 30px;
+  padding-left: 30px; }
+  @media screen and (max-width: 800px) {
+    .wrapper {
+      max-width: -webkit-calc(800px - (30px));
+      max-width: calc(800px - (30px));
+      padding-right: 15px;
+      padding-left: 15px; } }
+
+/**
+ * Clearfix
+ */
+.wrapper:after, .footer-col-wrapper:after {
+  content: "";
+  display: table;
+  clear: both; }
+
+/**
+ * Icons
+ */
+.icon > svg {
+  display: inline-block;
+  vertical-align: middle; }
+  .icon > svg path {
+    fill: #828282; }
+
+/**
+ * Site header
+ */
+.site-header {
+  border-top: 5px solid #424242;
+  border-bottom: 1px solid #e8e8e8;
+  min-height: 56px;
+  position: relative; }
+
+.site-title {
+  font-size: 26px;
+  font-weight: 300;
+  line-height: 56px;
+  letter-spacing: -1px;
+  margin-bottom: 0;
+  float: left; }
+  .site-title, .site-title:visited {
+    color: #424242; }
+
+.site-nav {
+  float: right;
+  line-height: 56px; }
+  .site-nav .menu-icon {
+    display: none; }
+  .site-nav .page-link {
+    color: #111;
+    line-height: 1.5; }
+    .site-nav .page-link:not(:last-child) {
+      margin-right: 20px; }
+  @media screen and (max-width: 600px) {
+    .site-nav {
+      position: absolute;
+      top: 9px;
+      right: 15px;
+      background-color: #fdfdfd;
+      border: 1px solid #e8e8e8;
+      border-radius: 5px;
+      text-align: right; }
+      .site-nav .menu-icon {
+        display: block;
+        float: right;
+        width: 36px;
+        height: 26px;
+        line-height: 0;
+        padding-top: 10px;
+        text-align: center; }
+        .site-nav .menu-icon > svg path {
+          fill: #424242; }
+      .site-nav .trigger {
+        clear: both;
+        display: none; }
+      .site-nav:hover .trigger {
+        display: block;
+        padding-bottom: 5px; }
+      .site-nav .page-link {
+        display: block;
+        padding: 5px 10px;
+        margin-left: 20px; }
+        .site-nav .page-link:not(:last-child) {
+          margin-right: 0; } }
+
+/**
+ * Site footer
+ */
+.site-footer {
+  border-top: 1px solid #e8e8e8;
+  padding: 30px 0; }
+
+.footer-heading {
+  font-size: 18px;
+  margin-bottom: 15px; }
+
+.contact-list,
+.social-media-list {
+  list-style: none;
+  margin-left: 0; }
+
+.footer-col-wrapper {
+  font-size: 15px;
+  color: #828282;
+  margin-left: -15px; }
+
+.footer-col {
+  float: left;
+  margin-bottom: 15px;
+  padding-left: 15px; }
+
+.footer-col-1 {
+  width: -webkit-calc(35% - (30px / 2));
+  width: calc(35% - (30px / 2)); }
+
+.footer-col-2 {
+  width: -webkit-calc(20% - (30px / 2));
+  width: calc(20% - (30px / 2)); }
+
+.footer-col-3 {
+  width: -webkit-calc(45% - (30px / 2));
+  width: calc(45% - (30px / 2)); }
+
+@media screen and (max-width: 800px) {
+  .footer-col-1,
+  .footer-col-2 {
+    width: -webkit-calc(50% - (30px / 2));
+    width: calc(50% - (30px / 2)); }
+
+  .footer-col-3 {
+    width: -webkit-calc(100% - (30px / 2));
+    width: calc(100% - (30px / 2)); } }
+@media screen and (max-width: 600px) {
+  .footer-col {
+    float: none;
+    width: -webkit-calc(100% - (30px / 2));
+    width: calc(100% - (30px / 2)); } }
+/**
+ * Page content
+ */
+.page-content {
+  padding: 30px 0; }
+
+.page-heading {
+  font-size: 20px; }
+
+.post-list {
+  margin-left: 0;
+  list-style: none; }
+  .post-list > li {
+    margin-bottom: 30px; }
+
+.post-meta {
+  font-size: 14px;
+  color: #828282; }
+
+.post-link {
+  display: block;
+  font-size: 24px; }
+
+/**
+ * Posts
+ */
+.post-header {
+  margin-bottom: 30px; }
+
+.post-title {
+  font-size: 42px;
+  letter-spacing: -1px;
+  line-height: 1; }
+  @media screen and (max-width: 800px) {
+    .post-title {
+      font-size: 36px; } }
+
+.post-content {
+  margin-bottom: 30px; }
+  .post-content h2 {
+    font-size: 32px; }
+    @media screen and (max-width: 800px) {
+      .post-content h2 {
+        font-size: 28px; } }
+  .post-content h3 {
+    font-size: 26px; }
+    @media screen and (max-width: 800px) {
+      .post-content h3 {
+        font-size: 22px; } }
+  .post-content h4 {
+    font-size: 20px; }
+    @media screen and (max-width: 800px) {
+      .post-content h4 {
+        font-size: 18px; } }
+
+/**
+ * Syntax highlighting styles
+ */
+.highlight {
+  background: #fff; }
+  .highlighter-rouge .highlight {
+    background: #eef; }
+  .highlight .c {
+    color: #998;
+    font-style: italic; }
+  .highlight .err {
+    color: #a61717;
+    background-color: #e3d2d2; }
+  .highlight .k {
+    font-weight: bold; }
+  .highlight .o {
+    font-weight: bold; }
+  .highlight .cm {
+    color: #998;
+    font-style: italic; }
+  .highlight .cp {
+    color: #999;
+    font-weight: bold; }
+  .highlight .c1 {
+    color: #998;
+    font-style: italic; }
+  .highlight .cs {
+    color: #999;
+    font-weight: bold;
+    font-style: italic; }
+  .highlight .gd {
+    color: #000;
+    background-color: #fdd; }
+  .highlight .gd .x {
+    color: #000;
+    background-color: #faa; }
+  .highlight .ge {
+    font-style: italic; }
+  .highlight .gr {
+    color: #a00; }
+  .highlight .gh {
+    color: #999; }
+  .highlight .gi {
+    color: #000;
+    background-color: #dfd; }
+  .highlight .gi .x {
+    color: #000;
+    background-color: #afa; }
+  .highlight .go {
+    color: #888; }
+  .highlight .gp {
+    color: #555; }
+  .highlight .gs {
+    font-weight: bold; }
+  .highlight .gu {
+    color: #aaa; }
+  .highlight .gt {
+    color: #a00; }
+  .highlight .kc {
+    font-weight: bold; }
+  .highlight .kd {
+    font-weight: bold; }
+  .highlight .kp {
+    font-weight: bold; }
+  .highlight .kr {
+    font-weight: bold; }
+  .highlight .kt {
+    color: #458;
+    font-weight: bold; }
+  .highlight .m {
+    color: #099; }
+  .highlight .s {
+    color: #d14; }
+  .highlight .na {
+    color: #008080; }
+  .highlight .nb {
+    color: #0086B3; }
+  .highlight .nc {
+    color: #458;
+    font-weight: bold; }
+  .highlight .no {
+    color: #008080; }
+  .highlight .ni {
+    color: #800080; }
+  .highlight .ne {
+    color: #900;
+    font-weight: bold; }
+  .highlight .nf {
+    color: #900;
+    font-weight: bold; }
+  .highlight .nn {
+    color: #555; }
+  .highlight .nt {
+    color: #000080; }
+  .highlight .nv {
+    color: #008080; }
+  .highlight .ow {
+    font-weight: bold; }
+  .highlight .w {
+    color: #bbb; }
+  .highlight .mf {
+    color: #099; }
+  .highlight .mh {
+    color: #099; }
+  .highlight .mi {
+    color: #099; }
+  .highlight .mo {
+    color: #099; }
+  .highlight .sb {
+    color: #d14; }
+  .highlight .sc {
+    color: #d14; }
+  .highlight .sd {
+    color: #d14; }
+  .highlight .s2 {
+    color: #d14; }
+  .highlight .se {
+    color: #d14; }
+  .highlight .sh {
+    color: #d14; }
+  .highlight .si {
+    color: #d14; }
+  .highlight .sx {
+    color: #d14; }
+  .highlight .sr {
+    color: #009926; }
+  .highlight .s1 {
+    color: #d14; }
+  .highlight .ss {
+    color: #990073; }
+  .highlight .bp {
+    color: #999; }
+  .highlight .vc {
+    color: #008080; }
+  .highlight .vg {
+    color: #008080; }
+  .highlight .vi {
+    color: #008080; }
+  .highlight .il {
+    color: #099; }

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/css/font-awesome.min.css
----------------------------------------------------------------------
diff --git a/src/homepage/_site/css/font-awesome.min.css 
b/src/homepage/_site/css/font-awesome.min.css
new file mode 100644
index 0000000..965cef6
--- /dev/null
+++ b/src/homepage/_site/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT 
License)
+ 
*/@font-face{font-family:'FontAwesome';src:url('../../assets/fonts/fontawesome-webfont.eot?v=4.6.3');src:url('../../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3')
 
format('embedded-opentype'),url('../../assets/fonts/fontawesome-webfont.woff2?v=4.6.3')
 format('woff2'),url('../../assets/fonts/fontawesome-webfont.woff?v=4.6.3') 
format('woff'),url('../../assets/fonts/fontawesome-webfont.ttf?v=4.6.3') 
format('truetype'),url('../../assets/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular')
 
format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal
 normal normal 14px/1 
FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.f
 
a-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em
 .25em .15em;border:solid .08em 
#eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin
 2s infinite linear;animation:fa-spin 2s infinite 
linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite 
steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes
 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Micros
 
oft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,
 mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 
1);transform:scale(-1, 
1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,
 mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, 
-1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root 
.fa-rotate-270,:root .fa-flip-horizontal,:root 
.fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2e
 
m;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:befor
 
e{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}
 
.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.f
 
a-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f06
 
9"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:befo
 
re{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{conten
 
t:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before
 
{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{co
 
ntent:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc
 
"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh
 
-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguish
 
er:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f1
 
4e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-t
 
humbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:
 
"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"
 
\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{c
 
ontent:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before
 
,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:bef
 
ore{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{conten
 
t:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.
 
fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:befor
 
e{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{
 
content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:
 
before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.f
 
a-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-in
 
terpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,
 0, 0, 
0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;h
 eight:auto;margin:0;overflow:visible;clip:auto}

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/css/ie8.css
----------------------------------------------------------------------
diff --git a/src/homepage/_site/css/ie8.css b/src/homepage/_site/css/ie8.css
new file mode 100644
index 0000000..ea64923
--- /dev/null
+++ b/src/homepage/_site/css/ie8.css
@@ -0,0 +1,66 @@
+/*
+       Stellar by HTML5 UP
+       html5up.net | @ajlkn
+       Free for personal and commercial use under the CCA 3.0 license 
(html5up.net/license)
+*/
+
+/* Type */
+
+       body {
+               color: #ffffff;
+       }
+
+/* Button */
+
+       .button {
+               position: relative;
+               border: solid 1px !important;
+       }
+
+               .button.special {
+                       border: none !important;
+               }
+
+/* Icon */
+
+       .icon.major {
+               -ms-behavior: url("assets/js/ie/PIE.htc");
+       }
+
+               .icon.major:before {
+                       font-size: 4em;
+                       border: 0;
+               }
+
+/* Spotlight */
+
+       .spotlight .image {
+               position: relative;
+               -ms-behavior: url("assets/js/ie/PIE.htc");
+       }
+
+               .spotlight .image img {
+                       position: relative;
+                       -ms-behavior: url("assets/js/ie/PIE.htc");
+               }
+
+/* Features */
+
+       .features li {
+               width: 29%;
+       }
+
+/* Footer */
+
+       #footer > * {
+               width: 50%;
+               margin-left: 0;
+       }
+
+/* Main */
+
+       #main > .main > .image.main:first-child {
+               margin-top: 0;
+               margin-left: 0;
+               width: 100%;
+       }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/css/ie9.css
----------------------------------------------------------------------
diff --git a/src/homepage/_site/css/ie9.css b/src/homepage/_site/css/ie9.css
new file mode 100644
index 0000000..94ebce7
--- /dev/null
+++ b/src/homepage/_site/css/ie9.css
@@ -0,0 +1,62 @@
+/*
+       Stellar by HTML5 UP
+       html5up.net | @ajlkn
+       Free for personal and commercial use under the CCA 3.0 license 
(html5up.net/license)
+*/
+
+/* Spotlight */
+
+       .spotlight:after {
+               content: '';
+               display: block;
+               clear: both;
+       }
+
+       .spotlight .content {
+               float: left;
+               width: 60%;
+       }
+
+       .spotlight .image {
+               float: left;
+       }
+
+/* Features */
+
+       .features:after {
+               content: '';
+               display: block;
+               clear: both;
+       }
+
+       .features li {
+               float: left;
+       }
+
+/* Statistics */
+
+       .statistics {
+               display: inline-block;
+               width: auto;
+       }
+
+               .statistics:after {
+                       content: '';
+                       display: block;
+                       clear: both;
+               }
+
+               .statistics li {
+                       float: left;
+                       padding: 1.5em 2.5em;
+               }
+
+/* Footer */
+
+       #footer > * {
+               float: left;
+       }
+
+       #footer .copyright {
+               clear: both;
+       }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/css/images/background.jpg
----------------------------------------------------------------------
diff --git a/src/homepage/_site/css/images/background.jpg 
b/src/homepage/_site/css/images/background.jpg
new file mode 100644
index 0000000..3445b00
Binary files /dev/null and b/src/homepage/_site/css/images/background.jpg differ

http://git-wip-us.apache.org/repos/asf/james-project/blob/91fdf04a/src/homepage/_site/css/images/overlay.png
----------------------------------------------------------------------
diff --git a/src/homepage/_site/css/images/overlay.png 
b/src/homepage/_site/css/images/overlay.png
new file mode 100644
index 0000000..a561943
Binary files /dev/null and b/src/homepage/_site/css/images/overlay.png differ


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to