You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/10/09 23:37:23 UTC

[43/63] [abbrv] [partial] usergrid git commit: Generated website contents.

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/js/jquery.icheck.js
----------------------------------------------------------------------
diff --git a/content/js/jquery.icheck.js b/content/js/jquery.icheck.js
new file mode 100644
index 0000000..c92faa0
--- /dev/null
+++ b/content/js/jquery.icheck.js
@@ -0,0 +1,397 @@
+/*!
+ * iCheck v0.8, http://git.io/uhUPMA
+ * =================================
+ * Powerful jQuery plugin for checkboxes and radio buttons customization
+ *
+ * (c) 2013 Damir Foy, http://damirfoy.com
+ * MIT Licensed
+ */
+
+(function($, _iCheck, _checkbox, _radio, _checked, _disabled, _type, _click, _touch, _add, _remove, _cursor) {
+
+  // Create a plugin
+  $.fn[_iCheck] = function(options, fire) {
+
+    // Cached vars
+    var user = navigator.userAgent,
+      ios = /ipad|iphone|ipod/i.test(user),
+      handle = ':' + _checkbox + ', :' + _radio;
+
+    // Check if we should operate with some method
+    if (/^(check|uncheck|toggle|disable|enable|update|destroy)$/.test(options)) {
+
+      // Find checkboxes and radio buttons
+      return this.each(function() {
+        var self = $(this),
+          tree = self.is(handle) ? self : self.find(handle);
+
+        tree.each(function() {
+          self = $(this);
+
+          if (options == 'destroy') {
+            tidy(self, 'ifDestroyed');
+          } else {
+            operate(self, true, options);
+          };
+
+          // Fire method's callback
+          if ($.isFunction(fire)) {
+            fire();
+          };
+        });
+      });
+
+    // Customization
+    } else if (typeof options == 'object' || !options) {
+
+      //  Check if any options were passed
+      var settings = $.extend({
+          checkedClass: _checked,
+          disabledClass: _disabled,
+          labelHover: true
+        }, options),
+
+        selector = settings.handle,
+        hoverClass = settings.hoverClass || 'hover',
+        focusClass = settings.focusClass || 'focus',
+        activeClass = settings.activeClass || 'active',
+        labelHover = !!settings.labelHover,
+        labelHoverClass = settings.labelHoverClass || 'hover',
+
+        // Setup clickable area
+        area = ('' + settings.increaseArea).replace('%', '') | 0;
+
+      // Selector limit
+      if (selector == _checkbox || selector == _radio) {
+        handle = ':' + selector;
+      };
+
+      // Clickable area limit
+      if (area < -50) {
+        area = -50;
+      };
+
+      // Walk around the selector
+      return this.each(function() {
+        var self = $(this),
+          tree = self.is(handle) ? self : self.find(handle);
+
+        tree.each(function() {
+          self = $(this);
+
+          // If already customized
+          tidy(self);
+
+          var node = this,
+            id = node.id,
+
+            // Layer styles
+            offset = -area + '%',
+            size = 100 + (area * 2) + '%',
+            layer = {
+              position: 'absolute',
+              top: offset,
+              left: offset,
+              display: 'block',
+              width: size,
+              height: size,
+              margin: 0,
+              padding: 0,
+              background: '#fff',
+              border: 0,
+              opacity: 0
+            },
+
+            // Choose how to hide input
+            hide = ios || /android|blackberry|windows phone|opera mini/i.test(user) ? {
+              position: 'absolute',
+              visibility: 'hidden'
+            } : area ? layer : {
+              position: 'absolute',
+              opacity: 0
+            },
+
+            // Get proper class
+            className = node[_type] == _checkbox ? settings.checkboxClass || 'i' + _checkbox : settings.radioClass || 'i' + _radio,
+
+            // Find assigned labels
+            label = $('label[for="' + id + '"]').add(self.closest('label')),
+
+            // Wrap input
+            parent = self.wrap('<div class="' + className + '"/>').trigger('ifCreated').parent().append(settings.insert),
+
+            // Layer addition
+            helper = $('<ins class="' + _iCheck + '-helper"/>').css(layer).appendTo(parent);
+
+          // Finalize customization
+          self.data(_iCheck, {o: settings, s: self.attr('style')}).css(hide);
+          !!settings.inheritClass && parent[_add](node.className);
+          !!settings.inheritID && id && parent.attr('id', _iCheck + '-' + id);
+          parent.css('position') == 'static' && parent.css('position', 'relative');
+          operate(self, true, 'update');
+
+          // Label events
+          if (label.length) {
+            label.on(_click + '.i mouseenter.i mouseleave.i ' + _touch, function(event) {
+              var type = event[_type],
+                item = $(this);
+
+              // Do nothing if input is disabled
+              if (!node[_disabled]) {
+
+                // Click
+                if (type == _click) {
+                  operate(self, false, true);
+
+                // Hover state
+                } else if (labelHover) {
+                  if (/ve|nd/.test(type)) {
+                    // mouseleave|touchend
+                    parent[_remove](hoverClass);
+                    item[_remove](labelHoverClass);
+                  } else {
+                    parent[_add](hoverClass);
+                    item[_add](labelHoverClass);
+                  };
+                };
+
+                if (ios) {
+                  event.stopPropagation();
+                } else {
+                  return false;
+                };
+              };
+            });
+          };
+
+          // Input events
+          self.on(_click + '.i focus.i blur.i keyup.i keydown.i keypress.i', function(event) {
+            var type = event[_type],
+              key = event.keyCode;
+
+            // Click
+            if (type == _click) {
+              return false;
+
+            // Keydown
+            } else if (type == 'keydown' && key == 32) {
+              if (!(node[_type] == _radio && node[_checked])) {
+                if (node[_checked]) {
+                  off(self, _checked);
+                } else {
+                  on(self, _checked);
+                };
+              };
+
+              return false;
+
+            // Keyup
+            } else if (type == 'keyup' && node[_type] == _radio) {
+              !node[_checked] && on(self, _checked);
+
+            // Focus/blur
+            } else if (/us|ur/.test(type)) {
+              parent[type == 'blur' ? _remove : _add](focusClass);
+            };
+          });
+
+          // Helper events
+          helper.on(_click + ' mousedown mouseup mouseover mouseout ' + _touch, function(event) {
+            var type = event[_type],
+
+              // mousedown|mouseup
+              toggle = /wn|up/.test(type) ? activeClass : hoverClass;
+
+            // Do nothing if input is disabled
+            if (!node[_disabled]) {
+
+              // Click
+              if (type == _click) {
+                operate(self, false, true);
+
+              // Active and hover states
+              } else {
+
+                // State is on
+                if (/wn|er|in/.test(type)) {
+                  // mousedown|mouseover|touchbegin
+                  parent[_add](toggle);
+
+                // State is off
+                } else {
+                  parent[_remove](toggle + ' ' + activeClass);
+                };
+
+                // Label hover
+                if (label.length && labelHover && toggle == hoverClass) {
+
+                  // mouseout|touchend
+                  label[/ut|nd/.test(type) ? _remove : _add](labelHoverClass);
+                };
+              };
+
+              if (ios) {
+                event.stopPropagation();
+              } else {
+                return false;
+              };
+            };
+          });
+        });
+      });
+    } else {
+      return this;
+    };
+  };
+
+  // Do something with inputs
+  function operate(input, direct, method) {
+    var node = input[0];
+
+      // disable|enable
+      state = /ble/.test(method) ? _disabled : _checked,
+      active = method == 'update' ? {checked: node[_checked], disabled: node[_disabled]} : node[state];
+
+    // Check and disable
+    if (/^ch|di/.test(method) && !active) {
+      on(input, state);
+
+    // Uncheck and enable
+    } else if (/^un|en/.test(method) && active) {
+      off(input, state);
+
+    // Update
+    } else if (method == 'update') {
+
+      // Both checked and disabled states
+      for (var state in active) {
+        if (active[state]) {
+          on(input, state, true);
+        } else {
+          off(input, state, true);
+        };
+      };
+
+    } else if (!direct || method == 'toggle') {
+
+      // Helper or label was clicked
+      if (!direct) {
+        input.trigger('ifClicked');
+      };
+
+      // Toggle checked state
+      if (active) {
+        if (node[_type] !== _radio) {
+          off(input, state);
+        };
+      } else {
+        on(input, state);
+      };
+    };
+  };
+
+  // Set checked or disabled state
+  function on(input, state, keep) {
+    var node = input[0],
+      parent = input.parent(),
+      label = input.parent().siblings(),
+      remove = state == _disabled ? 'enabled' : 'un' + _checked,
+      regular = option(input, remove + capitalize(node[_type])),
+      specific = option(input, state + capitalize(node[_type]));
+
+    // Prevent unnecessary actions
+    if (node[state] !== true && !keep) {
+
+      // Toggle state
+      node[state] = true;
+
+      // Trigger callbacks
+      input.trigger('ifChanged').trigger('if' + capitalize(state));
+
+      // Toggle assigned radio buttons
+      if (state == _checked && node[_type] == _radio && node.name) {
+        var form = input.closest('form'),
+          stack = 'input[name="' + node.name + '"]';
+
+        stack = form.length ? form.find(stack) : $(stack);
+
+        stack.each(function() {
+          if (this !== node && $(this).data(_iCheck)) {
+            off($(this), state);
+          };
+        });
+      };
+    };
+
+    // Add proper cursor
+    if (node[_disabled] && !!option(input, _cursor, true)) {
+      parent.find('.' + _iCheck + '-helper').css(_cursor, 'default');
+    };
+
+    // Add state class
+    parent[_add](specific || option(input, state));
+    label[_add](specific || option(input, state));
+
+    // Remove regular state class
+    parent[_remove](regular || option(input, remove) || '');
+    label[_remove](regular || option(input, remove) || '');
+  };
+
+  // Remove checked or disabled state
+  function off(input, state, keep) {
+    var node = input[0],
+      parent = input.parent(),
+      label = input.parent().siblings(),
+      callback = state == _disabled ? 'enabled' : 'un' + _checked,
+      regular = option(input, callback + capitalize(node[_type])),
+      specific = option(input, state + capitalize(node[_type]));
+
+    // Prevent unnecessary actions
+    if (node[state] !== false && !keep) {
+
+      // Toggle state
+      node[state] = false;
+
+      // Trigger callbacks
+      input.trigger('ifChanged').trigger('if' + capitalize(callback));
+    };
+
+    // Add proper cursor
+    if (!node[_disabled] && !!option(input, _cursor, true)) {
+      parent.find('.' + _iCheck + '-helper').css(_cursor, 'pointer');
+    };
+
+    // Remove state class
+    parent[_remove](specific || option(input, state) || '');
+    label[_remove](specific || option(input, state) || '');
+
+    // Add regular state class
+    parent[_add](regular || option(input, callback));
+    label[_add](regular || option(input, callback));
+  };
+
+  // Remove all traces of iCheck
+  function tidy(input, callback) {
+    if (input.data(_iCheck)) {
+
+      // Remove everything except input
+      input.parent().html(input.attr('style', input.data(_iCheck).s || '').trigger(callback || ''));
+
+      // Unbind events
+      input.off('.i').unwrap();
+      $('label[for="' + input[0].id + '"]').add(input.closest('label')).off('.i');
+    };
+  };
+
+  // Get some option
+  function option(input, state, regular) {
+    if (input.data(_iCheck)) {
+      return input.data(_iCheck).o[state + (regular ? '' : 'Class')];
+    };
+  };
+
+  // Capitalize some string
+  function capitalize(string) {
+    return string.charAt(0).toUpperCase() + string.slice(1);
+  };
+})(jQuery, 'iCheck', 'checkbox', 'radio', 'checked', 'disabled', 'type', 'click', 'touchbegin.i touchend.i', 'addClass', 'removeClass', 'cursor');

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/js/respond.min.js
----------------------------------------------------------------------
diff --git a/content/js/respond.min.js b/content/js/respond.min.js
new file mode 100644
index 0000000..8353e99
--- /dev/null
+++ b/content/js/respond.min.js
@@ -0,0 +1,6 @@
+/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
+/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
+window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document);
+
+/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs  */
+(function(a){"use strict";function x(){u(!0)}var b={};if(a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,!b.mediaQueriesSupported){var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var b=m.shift();v(b.href,function(c){p(c,b.href,b.media),h[b.href]=!0,a.setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/
 (url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(b){var h="clientWidth",k=d[h],m="CSS1Compat"===c.c
 ompatMode&&k||c.body[h]||k,n={},o=l[l.length-1],p=(new Date).getTime();if(b&&q&&i>p-q)return a.clearTimeout(r),r=a.setTimeout(u,i),void 0;q=p;for(var v in e)if(e.hasOwnProperty(v)){var w=e[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?t||s():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?t||s():1)),w.hasquery&&(z&&A||!(z||m>=x)||!(A||y>=m))||(n[w.media]||(n[w.media]=[]),n[w.media].push(f[w.rules]))}for(var C in g)g.hasOwnProperty(C)&&g[C]&&g[C].parentNode===j&&j.removeChild(g[C]);for(var D in n)if(n.hasOwnProperty(D)){var E=c.createElement("style"),F=n[D].join("\n");E.type="text/css",E.media=D,j.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(c.createTextNode(F)),g.push(E)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new
  a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)}})(this);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/js/usergrid-site.js
----------------------------------------------------------------------
diff --git a/content/js/usergrid-site.js b/content/js/usergrid-site.js
new file mode 100644
index 0000000..1a513fa
--- /dev/null
+++ b/content/js/usergrid-site.js
@@ -0,0 +1,50 @@
+var start = 40;
+var end = 210;
+
+function setHeaderForScroll(scrollTop) {
+  if ( ($( window ).width() > 768) && ($('header.secondary').length == 0) ) {
+
+    if(scrollTop > start) {
+        opacity = (Math.floor(scrollTop) - start)/end;
+        //console.log(opacity);
+        percent = Math.min(opacity, 1)
+        red = Math.floor(36 + (52-36) * percent);
+        green = Math.floor(129 - (129-73) * percent);
+        blue = Math.floor(166 - (166-94) * percent);
+        blur = Math.floor(2 * percent);
+    } else {
+        opacity = 0;
+        red = 36;
+        green = 129;
+        blue = 166;
+        blur = 0;
+    }
+    $("#home-logo").css("opacity", opacity);
+    $("header").css("box-shadow", "0px 1px "+blur+"px rgb("+red+','+green+','+blue+")");
+  } else {
+    $("#home-logo").css("opacity", 1);
+    $("header").css("box-shadow", "0px 1px 2px rgb(52,73,94)");
+  }
+}
+
+$(document).ready(function() {
+
+    $('table').addClass('table');
+
+    // Detect initial scroll on page load
+    setHeaderForScroll($("body").scrollTop());
+
+    //reduce the opacity of the banner if the page is scrolled.
+    $(window).scroll(function () {
+      setHeaderForScroll($("body").scrollTop());
+    });
+
+    // $(".navbar-toggle").bind("click", function(){
+    //     if($(".collapse").hasClass("collapse"))
+    //         $("#home-logo").css("opacity", 100);
+    //     else
+    //         $("#home-logo").css("opacity", 0);
+    // });
+  
+
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/static/github-btn.html
----------------------------------------------------------------------
diff --git a/content/static/github-btn.html b/content/static/github-btn.html
new file mode 100644
index 0000000..76a7c55
--- /dev/null
+++ b/content/static/github-btn.html
@@ -0,0 +1,2 @@
+
+<html><body><style type="text/css">body{padding:0;margin:0;font:bold 11px/14px "Helvetica Neue",Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;overflow:hidden}.github-btn{height:20px;overflow:hidden}.gh-btn,.gh-count,.gh-ico{float:left}.gh-btn,.gh-count{padding:2px 5px 2px 4px;color:#555;text-decoration:none;text-shadow:0 1px 0 #fff;white-space:nowrap;cursor:pointer;border-radius:3px}.gh-btn{background-color:#e6e6e6;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fafafa),to(#eaeaea));background-image:-webkit-linear-gradient(#fafafa,#eaeaea);background-image:-moz-linear-gradient(top,#fafafa,#eaeaea);background-image:-ms-linear-gradient(#fafafa,#eaeaea);background-image:-o-linear-gradient(#fafafa,#eaeaea);background-image:linear-gradient(#fafafa,#eaeaea);background-repeat:no-repeat;border:1px solid #d4d4d4;border-bottom-color:#bcbcbc}.gh-btn:hover,.gh-btn:focus,.gh-btn:active{color:#fff;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,.25);border-color:#518
 cc6 #518cc6 #2a65a0;background-color:#3072b3}.gh-btn:hover,.gh-btn:focus{background-image:-webkit-gradient(linear,0 0,0 100%,from(#599bdc),to(#3072b3));background-image:-webkit-linear-gradient(#599bdc,#3072b3);background-image:-moz-linear-gradient(top,#599bdc,#3072b3);background-image:-ms-linear-gradient(#599bdc,#3072b3);background-image:-o-linear-gradient(#599bdc,#3072b3);background-image:linear-gradient(#599bdc,#3072b3)}.gh-btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 5px rgba(0,0,0,.10);-moz-box-shadow:inset 0 2px 5px rgba(0,0,0,.10);box-shadow:inset 0 2px 5px rgba(0,0,0,.10)}.gh-ico{width:14px;height:15px;margin-top:-1px;margin-right:4px;vertical-align:middle;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:0 0}.gh-btn:hover .gh-ico,.gh-btn:focus .gh-ico,.gh-btn:active .gh-ico{background-position:-25px 0}.gh-count{position:relative;display:none;margin-left:4px;background-color:#fafafa;border:1px solid #d4d4d4}.gh-count:hover,.gh-count:focus{color:#4183c4}.gh-count:before,.gh-count:after{content:' ';position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.gh-count:before{top:50%;left:-3px;margin-top:-4px;
 border-width:4px 4px 4px 0;border-right-color:#fafafa}.gh-count:after{top:50%;left:-4px;z-index:-1;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#d4d4d4}.github-btn-large{height:30px}.github-btn-large .gh-btn,.github-btn-large .gh-count{padding:3px 10px 3px 8px;font-size:16px;line-height:22px;border-radius:4px}.github-btn-large .gh-ico{width:22px;height:23px;background-position:0 -20px}.github-btn-large .gh-btn:hover .gh-ico,.github-btn-large .gh-btn:focus .gh-ico,.github-btn-large .gh-btn:active .gh-ico{background-position:-25px -20px}.github-btn-large .gh-count{margin-left:6px}.github-btn-large .gh-count:before{left:-5px;margin-top:-6px;border-width:6px 6px 6px 0}.github-btn-large .gh-count:after{left:-6px;margin-top:-7px;border-width:7px 7px 7px 0}@media(-moz-min-device-pixel-ratio:2),(-o-min-device-pixel-ratio:2/1),(-webkit-min-device-pixel-ratio:2),(min-device-pixel-ratio:2){.gh-ico{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABaCAQAA
 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);background-size:50px 45px}}</style> <span class=github-btn id=github-btn> <a class=gh-btn id=gh-btn href="#" target=_blank> <span 
 class=gh-ico></span> <span class=gh-text id=gh-text></span> </a> <a class=gh-count id=gh-count href="#" target=_blank></a> </span> <script type="text/javascript">var params=function(){var d=[],c;var a=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");for(var b=0;b<a.length;b++){c=a[b].split("=");d.push(c[0]);d[c[0]]=c[1]}return d}();var user=params.user,repo=params.repo,type=params.type,count=params.count,size=params.size,head=document.getElementsByTagName("head")[0],button=document.getElementById("gh-btn"),mainButton=document.getElementById("github-btn"),text=document.getElementById("gh-text"),counter=document.getElementById("gh-count");function addCommas(a){return String(a).replace(/(\d)(?=(\d{3})+$)/g,"$1,")}function jsonp(b){var a=document.createElement("script");a.src=b+"?callback=callback";head.insertBefore(a,head.firstChild)}function callback(a){if(type=="watch"){counter.innerHTML=addCommas(a.data.watchers)}else{if(type=="fork"){counter.innerHTML=addC
 ommas(a.data.forks)}else{if(type=="follow"){counter.innerHTML=addCommas(a.data.followers)}}}if(count=="true"){counter.style.display="block"}}button.href="https://github.com/"+user+"/"+repo+"/";if(type=="watch"){mainButton.className+=" github-watchers";text.innerHTML="Star";counter.href="https://github.com/"+user+"/"+repo+"/stargazers"}else{if(type=="fork"){mainButton.className+=" github-forks";text.innerHTML="Fork";counter.href="https://github.com/"+user+"/"+repo+"/network"}else{if(type=="follow"){mainButton.className+=" github-me";text.innerHTML="Follow @"+user;button.href="https://github.com/"+user;counter.href="https://github.com/"+user+"/followers"}}}if(size=="large"){mainButton.className+=" github-btn-large"}if(type=="follow"){jsonp("https://api.github.com/users/"+user)}else{jsonp("https://api.github.com/repos/"+user+"/"+repo)};</script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/config.js
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/config.js b/content/v101-portal-demo/config.js
new file mode 100644
index 0000000..82c5a0f
--- /dev/null
+++ b/content/v101-portal-demo/config.js
@@ -0,0 +1,129 @@
+/*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/
+
+var Usergrid = Usergrid || {};
+
+Usergrid.showNotifcations = true;
+
+
+// used only if hostname does not match a real server name
+Usergrid.overrideUrl = 'http://localhost:8080/';
+
+Usergrid.options = {
+  client: {
+    requiresDeveloperKey: false,
+    buildCurl: true,
+    logging: true
+      // apiKey:'123456'
+  },
+  showAutoRefresh: true,
+  autoUpdateTimer: 61, //seconds
+  menuItems: [{
+      path: '#!/org-overview',
+      active: true,
+      pic: '&#128362;',
+      title: 'Org Administration'
+    }, {
+      path: '#!/app-overview/summary',
+      pic: '&#59214;',
+      title: 'App Overview'
+    }, {
+      path: '#!/users',
+      pic: '&#128100;',
+      title: 'Users'
+    }, {
+      path: '#!/groups',
+      pic: '&#128101;',
+      title: 'Groups'
+    }, {
+      path: '#!/roles',
+      pic: '&#59170;',
+      title: 'Roles'
+    }, {
+      path: '#!/data',
+      pic: '&#128248;',
+      title: 'Data'
+    }, {
+      path: '#!/activities',
+      pic: '&#59194;',
+      title: 'Activities'
+    }, {
+      path: '#!/push/getStarted',
+      pic: '&#59200;',
+      title: 'Push',
+      items: [{
+        path: '#!/push/getStarted',
+        pic: '&#59176;',
+        title: 'Get Started'
+      }, {
+        path: '#!/push/configuration',
+        pic: '&#9874;',
+        title: 'Configure'
+      }, {
+        path: '#!/push/history',
+        pic: '&#9991;',
+        title: 'History'
+      }, {
+        path: '#!/push/sendNotification',
+        pic: '&#59200;',
+        title: 'Send'
+      }]
+    },
+
+
+    {
+      path: '#!/shell',
+      pic: '&#9000;',
+      title: 'Shell'
+    }
+  ]
+};
+
+Usergrid.regex = {
+  appNameRegex: new RegExp("^[0-9a-zA-Z.-]{3,25}$"),
+  usernameRegex: new RegExp("^[0-9a-zA-Z@\.\_-]{4,25}$"),
+  nameRegex: new RegExp(
+    "^([0-9a-zA-Z@#$%^&!?;:.,'\"~*-:+_\[\\](){}/\\ |]{3,60})+$"),
+  roleNameRegex: new RegExp("^([0-9a-zA-Z./-]{3,25})+$"),
+  emailRegex: new RegExp(
+    "^(([0-9a-zA-Z]+[_\+.-]?)+@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$"
+  ),
+  passwordRegex: /(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,
+  pathRegex: new RegExp("^/[a-zA-Z0-9\.\*_\$\{\}~-]+(\/[a-zA-Z0-9\.\*_\$\{\}~-]+)*$"),
+  titleRegex: new RegExp("[a-zA-Z0-9.!-?]+[\/]?"),
+  urlRegex: new RegExp(
+    "^(http?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$"),
+  zipRegex: new RegExp("^[0-9]{5}(?:-[0-9]{4})?$"),
+  countryRegex: new RegExp("^[A-Za-z ]{3,100}$"),
+  stateRegex: new RegExp("^[A-Za-z ]{2,100}$"),
+  collectionNameRegex: new RegExp("^[0-9a-zA-Z_.]{3,25}$"),
+  appNameRegexDescription: "This field only allows : A-Z, a-z, 0-9, dot, and dash and must be between 3-25 characters.",
+  usernameRegexDescription: "This field only allows : A-Z, a-z, 0-9, dot, underscore and dash. Must be between 4 and 15 characters.",
+  nameRegexDescription: "Please enter a valid name. Must be betwee 3 and 60 characters.",
+  roleNameRegexDescription: "Role only allows : /, a-z, 0-9, dot, and dash. Must be between 3 and 25 characters.",
+  emailRegexDescription: "Please enter a valid email.",
+  passwordRegexDescription: "Password must contain at least 1 upper and lower case letter, one number or special character and be at least 8 characters.",
+  pathRegexDescription: "Path must begin with a slash, path only allows: /, a-z, 0-9, dot, and dash, paths of the format:  /path/ or /path//path are not allowed",
+  titleRegexDescription: "Please enter a valid title.",
+  urlRegexDescription: "Please enter a valid url",
+  zipRegexDescription: "Please enter a valid zip code.",
+  countryRegexDescription: "Sorry only alphabetical characters or spaces are allowed. Must be between 3-100 characters.",
+  stateRegexDescription: "Sorry only alphabetical characters or spaces are allowed. Must be between 2-100 characters.",
+  collectionNameRegexDescription: "Collection name only allows : a-z A-Z 0-9. Must be between 3-25 characters."
+};

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/css/entypo/entypo.eot
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/css/entypo/entypo.eot b/content/v101-portal-demo/css/entypo/entypo.eot
new file mode 100644
index 0000000..d9d7326
Binary files /dev/null and b/content/v101-portal-demo/css/entypo/entypo.eot differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/css/entypo/entypo.svg
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/css/entypo/entypo.svg b/content/v101-portal-demo/css/entypo/entypo.svg
new file mode 100644
index 0000000..e1a95c3
--- /dev/null
+++ b/content/v101-portal-demo/css/entypo/entypo.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" > <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
+<defs >
+<font id="entypo" horiz-adv-x="508" ><font-face
+    font-family="Entypo"
+    units-per-em="1000"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="750"
+    descent="-250"
+    alphabetic="0" />
+<missing-glyph horiz-adv-x="500" />
+</font>
+</defs>
+</svg>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/css/entypo/entypo.ttf
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/css/entypo/entypo.ttf b/content/v101-portal-demo/css/entypo/entypo.ttf
new file mode 100644
index 0000000..fc305d2
Binary files /dev/null and b/content/v101-portal-demo/css/entypo/entypo.ttf differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/css/entypo/entypo.woff
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/css/entypo/entypo.woff b/content/v101-portal-demo/css/entypo/entypo.woff
new file mode 100644
index 0000000..e744a79
Binary files /dev/null and b/content/v101-portal-demo/css/entypo/entypo.woff differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ada7b36b/content/v101-portal-demo/css/main.css
----------------------------------------------------------------------
diff --git a/content/v101-portal-demo/css/main.css b/content/v101-portal-demo/css/main.css
new file mode 100644
index 0000000..cc4d078
--- /dev/null
+++ b/content/v101-portal-demo/css/main.css
@@ -0,0 +1,1990 @@
+/**
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
+    display: none;
+}
+
+html{
+    min-height: 100%;
+    position:relative;
+    margin: 0 auto;
+    background: #fff;
+    min-width: 1100px;
+}
+
+body {
+    padding: 0;
+    background-color: #fff;
+    font-family: 'marquette-light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    height: 100%;
+    max-height: 100%;
+    overflow-x:hidden;
+}
+
+a {
+    cursor: pointer;
+}
+
+@font-face {
+    font-family: 'entypo';
+    src: url('entypo/entypo.eot');
+    src: url('entypo/entypo.eot?#iefix') format('embedded-opentype'), url('entypo/entypo.woff') format('woff'), url('entypo/entypo.ttf') format('truetype'), url('entypo/entypo.svg#entypo') format('svg');
+    font-weight: normal;
+    font-style: normal;
+}
+
+.bold {
+    font-family: 'marquette-medium';
+}
+
+/*--------------------- structural setup*/
+.main-content {
+    background-color: white;
+    margin: 0 0 0 200px;
+}
+
+.page-holder {
+    /*position:relative;*/
+}
+
+.side-menu {
+    position: absolute;
+    top: 60px;
+    left: 0;
+    bottom: 0;
+    width: 200px;
+    float: left;
+    background-color: #eee;
+}
+
+footer {
+    padding-top: 20px;
+    clear: both;
+}
+
+
+/*zero out... for bootstrap nonsense*/
+.zero-out {
+    padding: 0;
+    text-shadow: none;
+    background-color: transparent;
+    background-image: none;
+    border: none;
+    box-shadow: none;
+    outline: none;
+}
+
+.modal-body {
+    overflow-y: visible;
+}
+
+.demo-holder {
+    margin: 0 -20px 0 -20px;
+    position:relative;
+}
+
+.alert-holder {
+    position: fixed;
+    right: 0;
+    margin: 20px 20px 0 0;
+    z-index: 10500;
+    width: 302px;
+}
+
+.alert,
+.alert.alert-demo {
+    padding: 9px 35px 5px 14px;
+    margin-bottom: 3px;
+    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+    background-color: #eee;
+    border: 1px solid #eee;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    -webkit-transition: all 1s ease;
+    -moz-transition: all 1s ease;
+    transition: all 1s ease;
+    height: 0;
+    overflow: hidden;
+    line-height: 0;
+    float: right;
+}
+
+.alert.alert-demo {
+    float: none;
+}
+
+.alert {
+    width: 0;
+}
+
+.alert.alert-success {
+    background-color: rgba(155, 198, 144, 0.31);
+    color: #1f6719;
+    border-left: 2px solid #1f6719;
+}
+
+.alert.alert-warning {
+    background-color: rgba(239,172,37,0.2);
+    color: rgb(239,172,37);
+    border-left: 2px solid rgb(239,172,37);
+    /*border: 1px solid rgb(239,172,37);*/
+}
+
+.alert.alert-info {
+    background-color: rgba(27,151,209,0.2);
+    color: rgb(27,151,209);
+    border-left: 2px solid rgb(27,151,209);
+    /*border: 1px solid rgb(27,151,209);*/
+}
+
+.alert.alert-error {
+    background-color: rgba(255,3,3,0.2);
+    color: rgb(255,3,3);
+    border-left: 2px solid rgb(255,3,3);
+    /*border: 1px solid rgb(255,3,3);*/
+}
+
+.alert.alert-animate.alert-demo {
+    height: 20px;
+    line-height: normal;
+    opacity: 1;
+    width: 100%;
+    -moz-box-shadow:    inset 0 2px 13px #b8b8b8;
+    -webkit-box-shadow: inset 0 2px 13px #b8b8b8;
+    box-shadow:         inset 0 2px 13px #b8b8b8;
+    /*overflow: visible;*/
+}
+
+.alert.alert-animate {
+    height: auto;
+    line-height: normal;
+    opacity: .9;
+    width: 300px;
+    /*overflow: visible;*/
+}
+
+
+
+@-webkit-keyframes alert-out
+{
+    from {
+        /*-webkit-transform: translateY(100%);*/
+        opacity: 1;
+    }
+    to {
+        -webkit-transform: translateY(500px);
+        opacity: 0;
+    }
+}
+
+@keyframes alert-out
+{
+    from {
+        /*transform: scale(1,1);*/
+        opacity: 1;
+    }
+    to {
+        transform: translateY(500px);
+        opacity: 0;
+    }
+}
+
+.fade-out {
+    -webkit-animation-name: alert-out;
+    -webkit-animation-duration: 1s;
+    -webkit-animation-timing-function: step-stop;
+    -webkit-animation-direction: normal;
+    -webkit-animation-iteration-count: 1;
+    /*-webkit-transform: scale(0,0);*/
+    animation-name: alert-out;
+    animation-duration: 1s;
+    animation-timing-function: step-stop;
+    animation-direction: normal;
+    animation-iteration-count: 1;
+    /*transform: scale(0,0);*/
+    opacity: .9;
+}
+
+.margin-35 {
+    margin-top: 35px;
+}
+
+.modal-footer {
+    background-color: transparent;
+}
+
+
+/*------------------ balloons*/
+
+.baloon {
+    margin: 20px;
+    padding: 20px 30px;
+    position: fixed;
+    bottom: 0;
+    top: auto;
+    border-style: solid;
+    border-radius: 2px;
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
+    /*text-shadow: 0 -1px 0px rgba(255, 255, 255, 0.50);*/
+}
+
+.baloon:after {
+    content: "";
+    position: absolute;
+    width: 10px;
+    height: 10px;
+
+    -webkit-transform: rotate(45deg);
+    -moz-transform: rotate(45deg);
+    -o-transform: rotate(45deg);
+    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865473, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865473, SizingMethod='auto expand')";
+}
+
+
+.north.baloon:after {
+    top: -6px;
+    left: 30px;
+    border-top-style: solid;
+    border-left-style: solid;
+    box-shadow: -2px -2px 3px -1px rgba(0, 0, 0, 0.5)
+}
+
+.south.baloon:after {
+    bottom: -6px;
+    left: 30px;
+    border-bottom-style: solid;
+    border-right-style: solid;
+    box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.5)
+}
+
+
+.left.baloon:after {
+    top: 10px;
+    left: -6px;
+    border-bottom-style: solid;
+    border-left-style: solid;
+    box-shadow: -2px 2px 3px -1px rgba(0, 0, 0, 0.5)
+}
+
+
+.right.baloon:after {
+    bottom: 10px;
+    right: -6px;
+    border-top-style: solid;
+    border-right-style: solid;
+    box-shadow: 2px -2px 3px -1px rgba(0, 0, 0, 0.5)
+}
+
+.baloon, .baloon:after {
+    font-family: sans-serif;
+    font-weight: bold;
+    border-color: #f7f7f7;
+    border-width: 1px;
+    background-color: #3ac62f;
+    color: #fff;
+}
+
+
+/*----------------- app switcher*/
+
+#globalNav {
+    float: right;
+    margin: 15px 8px 0 9px;
+    list-style: none;
+    width: 114px;
+}
+
+#globalNav ul {
+    list-style: none;
+}
+
+#globalNavDetail > div {
+    display: none;
+    color: graytext;
+    background-image: none;
+    background-repeat: no-repeat;
+    background-position: 0 0;
+    min-height: 64px;
+}
+
+#globalNavDetail #globalNavDetailApiPlatform {
+    background-image: url('../img/appswitcher/apiPlatform_lg.png');
+}
+
+#globalNavDetail #globalNavDetailAppServices {
+    background-image: url('../img/appswitcher/appServices_lg.png');
+}
+
+#globalNavDetail #globalNavDetailApigeeHome {
+    margin-top: -10px;
+    background-image: url('../img/appswitcher/home_lg.png');
+}
+
+#globalNavDetail #globalNavDetailApiConsoles {
+    background-image: url('../img/appswitcher/console_lg.png');
+}
+
+#globalNavDetail #globalNavDetailApigeeHome .globalNavDetailApigeeLogo {
+    margin-top: 10px;
+    background-image: url('../img/appswitcher/logo_color.png');
+    width: 116px;
+    height: 40px;
+}
+
+#globalNavDetail > div .globalNavDetailDescription {
+    margin-top: 10px;
+    line-height: 17px;
+    font-style: oblique;
+}
+
+#globalNavDetail > div .globalNavDetailSubtitle {
+    font-size: 10px;
+    text-transform: uppercase;
+}
+
+#globalNavDetail > div .globalNavDetailTitle {
+    margin-top: 5px;
+    font-size: 20px;
+}
+
+#globalNavDetail > div .globalNavDetailDescription {
+    margin-top: 10px;
+    line-height: 17px;
+    font-style: oblique;
+}
+
+.navbar.navbar-static-top .dropdownContainingSubmenu .dropdown-menu a {
+    color: #494949;
+    padding: 13px 10px;
+}
+
+.navbar.navbar-static-top .dropdownContainingSubmenu .dropdown-menu .active a {
+
+    color: #ffffff;
+    background-color: #bb2d16;
+}
+
+
+
+.navbar.navbar-static-top .dropdown-menu a {
+    display: block;
+    padding: 3px 15px;
+    clear: both;
+    font-weight: normal;
+    line-height: 18px;
+    color: #333333;
+    white-space: nowrap;
+}
+
+
+#globalNav .dropdown-toggle {
+    border-radius: 3px;
+    padding: 3px 6px 3px 6px;
+    margin: 0;
+}
+
+.dropdown-toggle{
+    background-color: #bb2d16;
+    padding: 3px;
+}
+
+
+
+/*----end structural */
+
+.demo-holder {
+
+}
+
+.demo-holder .alert.alert-demo {
+    background-color: rgba(196, 196, 196, 0.10);
+    color: rgb(119, 119, 119);
+    padding: 12px 35px 7px 14px;
+}
+
+.demo-holder-content {
+    position: absolute;
+    right: 50px;
+}
+
+.demo-text {
+    position: absolute;
+    right: 223px;
+    left: 0;
+    padding: 0 0 0 10px;
+}
+
+.b {
+    display: block;
+}
+
+.toggle,
+.toggle-form {
+    position: absolute;
+    top: 10px;
+    right: 173px;
+    width: 50px;
+    height: 23px;
+    border-radius: 100px;
+    background-color: #ddd;
+    /*margin: -20px -40px;*/
+    overflow: hidden;
+    box-shadow: inset 0 0 2px 1px rgba(0,0,0,.05);
+
+}
+
+
+.form-horizontal.configs .control-label {
+    width: 250px;
+    padding: 0 10px 0 0;
+}
+
+
+.toggle-form {
+    position: relative;
+    right: auto;
+    top: auto;
+    display: inline-block;
+}
+
+.toggle-form-label {
+    display: inline-block;
+}
+
+input[type="checkbox"].check {
+    position: absolute;
+    display: block;
+    cursor: pointer;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    opacity: 0;
+    z-index: 6;
+}
+
+.check:checked ~ .track {
+    box-shadow: inset 0 0 0 20px #00adee;
+}
+
+.toggle-form .check:checked ~ .track {
+    box-shadow: inset 0 0 0 20px #82ce85;
+}
+
+.check:checked ~ .switch {
+    right: 2px;
+    left: 27px;
+    transition: .4s ease;
+    transition-property: left, right;
+    transition-delay: .05s, 0s;
+}
+
+.switch {
+    position: absolute;
+    left: 2px;
+    top: 2px;
+    bottom: 2px;
+    right: 27px;
+    background-color: #fff;
+    border-radius: 36px;
+    z-index: 1;
+    transition: .4s ease;
+    transition-property: left, right;
+    transition-delay: 0s, .05s;
+    box-shadow: 0 1px 2px rgba(0,0,0,.2);
+}
+
+.track {
+    position: absolute;
+    left: 0;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    transition: .4s ease;
+    box-shadow: inset 0 0 0 2px rgba(0,0,0,.05);
+    border-radius: 40px;
+}
+
+
+/*li {*/
+/*line-height: 26px;*/
+/*}*/
+
+
+/*------------------------ icons*/
+top-selector .pictogram,
+.add-app .pictogram {
+    margin: 0 3px 0 0;
+}
+
+i.pictogram {
+    font-family: "entypo";
+    display: inline-block;
+    width: 23px;
+    margin: 0 5px 0 0;
+    font-size: 2.5em;
+    height: 17px;
+    line-height: 0.35;
+    overflow:hidden;
+    vertical-align: middle;
+    padding: 5px 0 0 0;
+    font-style: normal;
+    font-weight: 100;
+    -webkit-font-smoothing: antialiased;
+}
+
+i.pictogram.sub {
+    margin: 0 0 0 10px;
+    font-size: 2.1em;
+}
+
+i.pictogram.title {
+    margin: 0 0 0 0;
+    font-size: 2.1em;
+}
+
+i.pictogram.chart {
+    margin: 0 0 0 3px;
+    font-size: 2.1em;
+    line-height: .4em;
+    height: .5em;
+    width: 100%;
+}
+
+i.pictogram.apichart {
+    margin: 0 0 0 11px;
+    font-size: 2.1em;
+    line-height: .4em;
+    height: .5em;
+    width: 100%;
+}
+
+[class^="ma-icon-"], [class*=" ma-icon-"] {
+    display: inline-block;
+    width: 23px;
+    height: 20px;
+    margin: 1px 3px 0 0;
+    line-height: 20px;
+    vertical-align: text-top;
+    background-image: url("../img/nav-sprites.png");
+    background-position: 14px 14px;
+    background-repeat: no-repeat;
+}
+
+[class^="sdk-icon-"], [class*=" sdk-icon-"] {
+    display: inline-block;
+    width: 25px;
+    height: 29px;
+    margin: -3px 3px 0 0;
+    line-height: 32px;
+    vertical-align: text-top;
+    background-image: url("../img/sdk-sprites.png");
+    background-position: 14px 14px;
+    background-repeat: no-repeat;
+    cursor: pointer;
+    overflow:hidden;
+}
+
+[class^="sdk-icon-large-"], [class*=" sdk-icon-large-"] {
+    display: inline-block;
+    width: 86px;
+    height: 86px;
+    margin: -3px 3px 0 0;
+    line-height: 32px;
+    vertical-align: text-top;
+    background-image: url("../img/sdk-sprites-large.png");
+    background-position: 14px 14px;
+    background-repeat: no-repeat;
+    border:1px solid #aaa;
+    -moz-box-shadow:    3px 3px 0px -1px #ccc;
+    -webkit-box-shadow: 3px 3px 0px -1px #ccc;
+    box-shadow:         3px 3px 0px -1px #ccc;
+}
+
+.sdk-icon-ios {
+    background-position: -10px -4px;
+}
+
+.sdk-icon-android {
+    background-position: -48px -3px;
+}
+
+.sdk-icon-js {
+    background-position: -86px -4px;
+}
+
+.sdk-icon-node {
+    background-position: -120px -3px;
+}
+
+.sdk-icon-ruby {
+    background-position: -163px -3px;
+}
+
+.sdk-icon-net {
+    background-position: -199px -4px;
+}
+
+.sdk-icon-perl {
+    background-position: -231px -4px;
+}
+
+.sdk-icon-large-ios {
+    background-position: -6px -3px;
+}
+
+.sdk-icon-large-android {
+    background-position: -113px 0;
+}
+
+.sdk-icon-large-js {
+    background-position: -219px 0;
+}
+
+.sdk-icon-large-node {
+    background-position: -323px -3px;
+}
+
+.sdk-icon-large-ruby {
+    background-position: -431px 0;
+}
+
+.sdk-icon-large-net {
+    background-position: -537px -3px;
+}
+
+.sdk-icon-large-perl {
+    background-position: -630px -3px;
+}
+
+/*---------------------------- orange apigee header*/
+
+body > header > .navbar {
+    background-color: #00adee;
+}
+
+/*apigee logo*/
+body > header .navbar:first-child > a {
+    height: 22px;
+    line-height: 22px;
+    padding: 10px 20px 20px 13px;
+}
+
+.navbar.navbar-static-top a {
+    text-shadow: none;
+    color: #fff;
+}
+
+.navbar-text {
+    color: #fff;
+    margin: 4px;
+}
+
+.navbar-text .dropdown-menu a {
+    color: #343434;
+}
+
+.navbar-text.pull-left {
+    margin-left:90px;
+}
+
+/*---------------------------secondary header (org/app nav + sdks)*/
+
+.top-nav {
+    background-color: #fff;
+    /*border-right: 3px solid #e6e6e6;*/
+    /*border-left: 3px solid #e6e6e6;*/
+}
+
+ul.org-nav li {
+    background-color: #fff;
+    /* border-bottom: 3px solid #e6e6e6;*/
+}
+ul.app-nav li {
+    background-color: #fff;
+    /* border-bottom: 3px solid #e6e6e6;*/
+}
+.top-nav .btn-group {
+    margin: 9px 0 5px 5px;
+}
+
+.nav .org-selector .caret,
+.nav .org-selector:focus .caret,
+.nav .org-selector:active .caret,
+.nav .org-selector:hover .caret,
+.nav .app-selector .caret,
+.nav .app-selector:focus .caret,
+.nav .app-selector:active .caret,
+.nav .app-selector:hover .caret{
+    border-top-color: #5f5f5f;
+    border-bottom-color: transparent;
+    margin-top: 8px;
+    position: absolute;
+    right: 10px;
+}
+
+.org-options {
+    margin: 5px 2px -8px -5px;
+    border-top: 3px solid #e6e6e6;
+    overflow: hidden;
+}
+
+.navbar.secondary {
+    margin: 0 -20px 0 -21px;
+    border-bottom: 3px solid #e6e6e6;
+}
+
+.navbar.secondary > .container-fluid {
+    margin: 0 -20px 0 -18px;
+}
+
+.navbar.secondary .nav {
+    margin: 0 0 0 0;
+}
+
+.top-nav,
+.navbar.secondary > .container-fluid .nav-collapse.collapse.span9 {
+    margin: 0;
+}
+
+.top-nav > li,
+.top-nav > li > div {
+    width: 100%;
+}
+
+.span9.button-area {
+    margin-left: 0;
+}
+
+.navbar .nav a.btn-create i {
+    margin: 1px 0 0 0;
+    /*line-height: 0.2;*/
+}
+
+.navbar .nav a.btn-create,
+.navbar .nav a.btn-create:hover{
+    text-align: left;
+    font-weight: normal;
+    color: #00adee;
+    padding: 0 0 0 10px;
+    margin: 4px 0 0 3px;
+    display: block;
+    width: 140px;
+    height: 30px;
+    line-height: 30px;
+    background-color: #f3f3f3
+}
+
+
+.navbar .nav a.btn-create:hover {
+    color: #00adee;
+}
+
+.navbar .nav a.btn-create:active {
+    box-shadow: none;
+}
+
+.sdks > ul > li.title label {
+    color: #5f5f5f;
+    font-size: 15px;
+    display: inline-block;
+    padding: 16px 0 0 0;
+    line-height: 6px;
+    cursor: default;
+}
+
+.sdks > ul > li.title a {
+    color: #5f5f5f;
+    font-size: 15px;
+    display: inline-block;
+    padding: 16px 0 0 0;
+    line-height: 6px;
+}
+
+.sdks > ul {
+    list-style: none;
+    margin: 0;
+    height: 32px;
+    overflow: hidden;
+}
+
+.sdks > ul > li {
+    display: inline;
+    margin: 0 10px 0 0;
+    line-height: 11px;
+}
+
+.side-menu .dropdown-menu,
+.navbar.secondary,
+.navbar.secondary .btn-group > .btn,
+.navbar.secondary .btn-group > .dropdown-menu,
+.side-menu .btn-group > .btn {
+    text-transform: uppercase;
+    font-family: 'marquette-regular', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    color: #5f5f5f;
+    font-size: 14px;
+    -webkit-font-smoothing: antialiased;
+}
+
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus,
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
+    text-decoration: none;
+    color: #ffffff;
+    background-color: #5f5f5f;
+    background-image: -moz-linear-gradient(top, #5f5f5f, #787878);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5f5f5f), to(#787878));
+    background-image: -webkit-linear-gradient(top, #5f5f5f, #787878);
+    background-image: -o-linear-gradient(top, #5f5f5f, #787878);
+    background-image: linear-gradient(to bottom, #5f5f5f, #787878);
+    background-repeat: repeat-x;
+}
+
+.top-selector,
+.top-selector:hover,
+.top-selector:active,
+.top-selector:focus,
+.btn-group.open .btn.dropdown-toggle.top-selector{
+    color: #5f5f5f;
+    padding: 0;
+    text-shadow: none;
+    background-color: transparent;
+    background-image: none;
+    border: none;
+    box-shadow: none;
+    outline: none;
+    width: 100%;
+    text-align: left;
+}
+
+/*---------------------------- dialogs */
+.dialog-body{
+    padding:20px;
+}
+
+/*---------------------------- global headers */
+
+h1.title {
+    font-size: 1.3em;
+    font-family: 'marquette-medium', "Helvetica Neue", sans-serif;
+    color: #686868;
+}
+
+h1.title {
+    line-height: 17px;
+    display:inline-block;
+    padding: 0 10px 0 0;
+}
+
+
+h2.title {
+    text-transform: uppercase;
+    font-size: 1.2em;
+    border-top: 2px solid #eee;
+    color: #828282;
+}
+
+h2.title.chart {
+    margin: 10px 0 20px 10px;
+    z-index: 101;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+}
+
+h3.title {
+    text-transform: uppercase;
+    font-size: 1.1em;
+}
+
+/*---------------------------- left hand menu/nav */
+
+.sidebar-nav .nav-list {
+    padding: 0;
+}
+
+.sidebar-nav .nav-list > li > a, .nav-list .nav-header {
+    margin-right: 0;
+}
+
+.sidebar-nav .nav-list.trans{
+    max-height: 100000px;
+    -webkit-transition: all .5s ease;
+    -moz-transition: all .5s ease;
+    transition: all .5s ease;
+    display: block;
+    opacity: 0;
+}
+
+
+
+.sidebar-nav .nav-list li a {
+    padding: 10px 0 10px 25px;
+    color: #5f5f5f;
+    text-shadow: none;
+    background-color: #eee;
+    font-size: 14px;
+    text-transform: uppercase;
+    position:relative;
+
+}
+
+.sidebar-nav .nav-list li a.org-overview {
+    background-color: #fff;
+    font-family: 'marquette-light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+.sidebar-nav .nav-list li a.org-overview:hover {
+    color: #5f5f5f;
+}
+
+.sidebar-nav .nav-list:first-child > li {
+    margin: 0 0 0 0;
+    height: 39px;
+    overflow: hidden;
+}
+
+.sidebar-nav .nav-list:first-child > li.active {
+    /*background-color: #0088cc;*/
+    height: auto;
+    overflow: visible;
+
+}
+
+.sidebar-nav .nav-list:first-child > li > ul > li > a {
+    color: #5f5f5f;
+}
+
+.sidebar-nav .nav-list:first-child > li.active > a,
+.sidebar-nav .nav-list:first-child > li > a:hover,
+.sidebar-nav .nav-list:first-child > li > a:focus {
+    color: #ffffff;
+    text-shadow: none;
+    background-color: #00adee;
+    margin: 0 0 0 -15px;
+
+}
+
+.sidebar-nav .nav-list:first-child  li.active > ul > li > a {
+    background-color: #fff;
+}
+
+.sidebar-nav .nav-list li.option > ul {
+    overflow: hidden;
+    opacity: 0;
+    height: auto;
+    display: block;
+    -webkit-transition: all .5s ease;
+    -moz-transition: all .5s ease;
+    transition: all .5s ease;
+    max-height: 100000px;
+}
+
+.sidebar-nav .nav-list li.option.active > ul {
+    opacity: 1;
+}
+
+.sidebar-nav .nav-list li.active > ul > li a {
+    border-bottom: 1px solid #eee;
+    color: #747474;
+    text-transform: none;
+    font-weight: 300;
+    padding: 10px 0 10px 22px;
+}
+
+.sidebar-nav .nav-list li.active > ul > li.active > a,
+.sidebar-nav .nav-list li.active > ul > li > a:hover,
+.sidebar-nav .nav-list li.active > ul > li > a:focus {
+    color: #00adee;
+    background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NkEzQ0Y1MUI0MjIxMUUyODZGN0I5RUE1NjAwQ0I0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NkEzQ0Y1MkI0MjIxMUUyODZGN0I5RUE1NjAwQ0I0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZU
 lEPSJ4bXAuaWlkOjU2QTNDRjRGQjQyMjExRTI4NkY3QjlFQTU2MDBDQjQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2QTNDRjUwQjQyMjExRTI4NkY3QjlFQTU2MDBDQjQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+poqUzgAAAG1JREFUeNpilC5YwIADqLNgEWQG4kYg9mNCk1AE4sNAXA3iIEuGAPF5ILaECYAkeYB4DhCvBmJ+ZGNAkt+B+CkQ/0W3nAkqWA/EblBFKJIwsA+IDYF4BzZJEHgNxJ5AXAbEv1hwBEA3EK8BCDAAwgoRW2zTv6EAAAAASUVORK5CYII=) no-repeat;
+    background-position: 206px 16px;
+    font-family: 'marquette-medium', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    border-bottom: 1px solid #eee;
+    text-shadow: none;
+    -webkit-font-smoothing: antialiased;
+
+}
+
+.sidebar-nav .nav-list li.option ul {
+    list-style: none;
+    /*margin-right: -15px;*/
+    /*margin-left: -15px;*/
+}
+
+.new-tag {
+    border-radius: 3px;
+    display: inline-block;
+    font-family: "marquette-medium";
+    font-size: .6em;
+    background-color: rgba(26, 26, 26, 0.50);
+    color: #fff;
+    padding: 3px;
+    height: 8px;
+    line-height: 8px;
+    position: absolute;
+    right: 5px;
+    top: 13px;
+}
+
+.sidebar-nav .nav-list li:active a {
+    background-color: rgba(255,255,255,.5);
+}
+
+/*---------------------------- org overview*/
+
+
+
+/*---------------------------- setup sdk*/
+.app-creds dt {
+    font-family: "marquette-medium"
+}
+
+.intro-container {
+    position:relative;
+    height: auto;
+    -webkit-transition: all .5s ease-out;
+    -moz-transition: all .5s ease-out;
+    transition: all .5s ease-out;
+    overflow: hidden;
+}
+
+.sdk-intro {
+    position: absolute;
+    border:1px solid #aaa;
+    background-color: #f4f4f4;
+    -moz-box-shadow:    inset 0 0 10px #ccc;
+    -webkit-box-shadow: inset 0 0 10px #ccc;
+    box-shadow:         inset 0 4px 10px #ccc;
+    opacity: .4;
+    top:0;
+    left:6px;
+    right:1px;
+    bottom:0;
+    height: auto;
+    overflow:hidden;
+}
+
+.sdk-intro-content {
+    position: absolute;
+    padding: 10px 40px 10px 10px;
+    top:0;
+    left:6px;
+    right:-20px;
+    bottom:0;
+    height: auto;
+    overflow: auto;
+}
+
+.sdk-intro-content .btn.normal {
+    margin: 19px 10px 0 0;
+}
+
+.keys-creds h2 {
+    margin-bottom: -2px;
+}
+
+
+/*---------------------------- user pages */
+
+
+
+.user-list {
+    padding: 0;
+    margin: 0;
+    list-style: none;
+    min-height: 450px;
+    float:left;
+    width:100%;
+}
+
+.user-list li {
+    padding: 10px;
+    border-bottom: 1px solid #c5c5c5;
+    cursor:pointer;
+}
+
+.user-list li .label {
+    margin: 0 0 0 22px;
+}
+
+.user-list li:nth-child(2n){
+    /*background-color: #f7f7f7;*/
+}
+
+.user-list li input{
+    margin: 0 10px 0 0;
+}
+
+.user-list li.selected {
+    background-color: #eee;
+}
+
+#user-panel{
+    margin-top: 20px;
+}
+
+.user-col {
+    border-right: 1px solid #c5c5c5;
+    -moz-box-shadow:    inset -27px 1px 6px -27px #b8b8b8;
+    -webkit-box-shadow: inset -27px 1px 6px -27px #b8b8b8;
+    box-shadow:         inset -27px 1px 6px -27px #b8b8b8;
+}
+
+.user-profile-picture{
+    width:40px;
+    height:40px;
+}
+
+.content-page > .well {
+    padding: 10px;
+    height: 40px;
+}
+.table-header td {
+    font-weight: 800;
+    color: black;
+}
+
+.user-header-title{
+    font-size: 13px;
+    font-family: 'marquette-regular', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+.tabbable > .tab-content {
+    overflow: visible;
+}
+
+.button-strip {
+    float: right;
+    margin-bottom: 10px;
+}
+a.notifications-links {
+    color: #1b97d1;
+}
+.notifications-header{
+    height: 50px; background-color: #eee; padding: 10px; border-bottom: 1px solid #aaa; position:relative; overflow: hidden;
+}
+
+.users-row td.details,
+.groups-row td.details,
+.roles-row td.details,
+.notifications-row td.details {
+    line-height: 25px !important;
+    border-right: 1px solid #e5e5e5;
+}
+.nav-tabs > li {
+    cursor: pointer;
+}
+
+/*------------------------------- login page*/
+
+.login-content {
+    position: absolute;
+    top: 91px;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    background-color: #fff;
+    padding: 9% 0 0 32%;
+}
+
+.login-content form {
+    margin: 0;
+}
+
+.login-content form h1 {
+    padding: 10px 0 5px 20px;
+}
+
+.login-holder {
+    width: 450px;
+    border: 1px solid #e5e5e5;
+}
+
+.login-holder .form-actions {
+    padding-left: 30px;
+    margin-bottom: 0;
+}
+
+.login-holder .form-actions .submit {
+    padding: 0 30px 0 0;
+}
+
+.login-content .extra-actions {
+    margin-top:10px;
+    padding-left: 30px;
+    margin-bottom: 0;
+}
+
+.login-content .extra-actions .submit {
+    padding: 0 30px 0 0;
+}
+.login-content .extra-actions .submit a {
+    margin-left:3px;
+    margin-right:3px;
+}
+
+.signUp-content {
+    position: absolute;
+    top: 91px;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    background-color: #fff;
+    padding: 9% 0 0 32%;
+}
+
+.signUp-content form {
+    margin: 0;
+}
+
+.signUp-content form h1 {
+    padding: 10px 0 5px 20px;
+}
+
+.signUp-holder {
+    width: 450px;
+    border: 1px solid #e5e5e5;
+}
+
+.signUp-holder .form-actions {
+    margin-bottom: 0;
+}
+
+.signUp-holder .form-actions .submit {
+    padding: 0 30px 0 0;
+}
+
+
+/*-------------------------------- data / collections page*/
+
+.table.collection-list {
+    border: 1px solid #eee;
+    /*min-height: 500px;*/
+}
+
+.formatted-json,
+.formatted-json ul {
+    list-style: none;
+}
+
+.formatted-json .key {
+    font-family: "marquette-medium";
+
+}
+
+.formatted-json li {
+    border-bottom: 1px solid #eee;
+    margin: 3px 0 3px 0;
+}
+
+/*---------------------------- media queries
+/* Large desktop */
+/*@media (min-width: 1200px) {*/
+
+/*}*/
+
+/* Portrait tablet to landscape and desktop */
+/*@media (min-width: 768px) and (max-width: 979px) {*/
+/*.main-content {*/
+/*margin: 0;*/
+/*}*/
+
+/*.container-fluid {*/
+/*padding: 0;*/
+/*}*/
+/*}*/
+
+/* Landscape phone to portrait tablet */
+/*@media (max-width: 767px) {*/
+
+/*}*/
+
+/* Landscape phones and down */
+/*@media (max-width: 480px) {*/
+
+/*}*/
+
+/*@media (min-width: 768px) and (max-width: 979px), (max-width: 480px), (max-width: 767px) {*/
+
+/*.side-menu {*/
+/*position: absolute;*/
+/*top: 51px;*/
+/*left: -200px;*/
+/*}*/
+
+/*.side-menu .nav-collapse .nav.nav-list {*/
+/*position: absolute;*/
+/*top: 51px;*/
+/*left: -200px;*/
+/*}*/
+
+/*.side-menu .nav-collapse.in .nav.nav-list {*/
+/*position: absolute;*/
+/*top: 51px;*/
+/*left: 200px;*/
+/*}*/
+
+/*.side-menu .nav-collapse.collapse {*/
+/*overflow: visible;*/
+/*}*/
+
+/*.main-content {*/
+/*margin: 0;*/
+/*border: none;*/
+/*}*/
+
+/*.side-menu ul.nav li {*/
+/*display: inline-block;*/
+/*}*/
+
+/*.navbar.secondary,*/
+/*.navbar-static-top,*/
+/*.navbar.secondary > .container-fluid {*/
+/*margin: 0;*/
+/*}*/
+
+/*.page-filters {*/
+/*padding: 10px 0 0 0;*/
+/*}*/
+
+/*ul.info-details.fixed {*/
+/*width: 100%;*/
+/*}*/
+
+/*.navbar .nav a.btn-create,*/
+/*.navbar .nav a.btn-create:hover {*/
+/*margin: 5px;*/
+/*}*/
+
+/*.navbar.secondary > .container-fluid {*/
+/*border: none*/
+/*}*/
+/*}*/
+
+/*------------------------ USERGRID OVERRIDES and styles*/
+
+iframe[seamless] {
+    background-color: transparent;
+    border: 0px none transparent;
+    padding: 0px;
+    overflow: visible;
+    overflow-x: hidden;
+    width: 100%;
+    /*min-height: 1500px;*/
+}
+
+.gravatar20 {
+    padding: 7px 0 0 10px !important;
+    margin: 0px;
+    width: 30px;
+}
+
+#shell-panel * {
+    font-family: monospace;
+}
+#shell-panel .boxContent {
+    font-family: monospace;
+    font-size: 14px;
+    min-height: 400px;
+}
+#shell-panel input {
+    font-family: monospace;
+    overflow: auto;
+    width: 90%;
+    margin-top:10px;
+}
+#shell-panel hr {
+    margin: 2px;
+    border-color: #e1e1e1;
+}
+
+form input.has-error{
+    -webkit-animation: pulse-red 1s alternate infinite;
+    -moz-animation: pulse-red 1s alternate infinite;
+    /*color: rgba(255, 67, 0, 1);*/
+    border: 1px solid rgba(255, 3, 3, 0.60);
+}
+
+.validator-error-message{
+    /*background-color: rgba(255, 3, 3, 0.20);*/
+    color: rgb(255, 3, 3);
+}
+
+
+
+@-webkit-keyframes pulse-red {
+    0% {
+        box-shadow: inset 0px 0px 5px 2px rgba(255, 3, 3, 0.1),
+        0px 0px 5px 2px rgba(255, 3, 3, 0.3);
+    }
+    100% {
+        box-shadow: inset 0px 0px 5px 2px rgba(255, 3, 3, 0.3),
+        0px 0px 5px 2px rgba(255, 3, 3, .1);
+    }
+}
+
+@-moz-keyframes pulse-red {
+    0% {
+        box-shadow: inset 0px 0px 5px 2px rgba(255, 3, 3, 0.1),
+        0px 0px 5px 2px rgba(255, 3, 3, .3);
+    }
+    100% {
+        box-shadow: inset 0px 0px 5px 2px rgba(255, 3, 3, 0.3),
+        0px 0px 5px 2px rgba(255, 3, 3, .1);
+    }
+}
+
+.modal-instructions{
+    padding-top:5px;
+    padding-bottom:5px;
+}
+
+.dropdown-menu{
+    width:100%;
+}
+
+.modal{
+    width:560px !important;
+}
+.dropdown-backdrop {
+    position: static;
+}
+
+/*----------------------------- monitoring global*/
+
+.title.with-icons a {
+    display: inline-block;
+    text-transform: lowercase;
+    font-size: .8em;
+    margin: 0 5px 0 0;
+}
+
+
+
+/*---------------------------- page filters */
+
+
+.span9.tab-content {
+    margin: 0;
+}
+
+.span9.tab-content .content-page{
+    padding: 0 0 0 30px;
+}
+
+.button-toolbar,
+.menu-toolbar {
+    /*text-align: center;*/
+    padding: 10px 0;
+    margin: 0;
+    /*border-bottom: 1px solid #DFDFDF;*/
+    width: 100%;
+}
+
+.menu-toolbar {
+    padding: 0 0 20px 0;
+    /*margin: -21px 0 10px -28px;*/
+}
+
+.menu-toolbar > ul.inline {
+    border-bottom: 1px solid #c5c5c5;
+    margin: 0;
+}
+
+
+
+.btn.btn-primary,
+.btn.btn-primary:hover,
+.modal-footer .btn,
+.modal-footer .btn:hover,
+.btn.normal,
+.btn.normal:hover,
+.btn-group .filter-selector{
+    /*-moz-box-shadow:    3px 3px 0px -1px #ccc;*/
+    /*-webkit-box-shadow: 3px 3px 0px -1px #ccc;*/
+    /*box-shadow:         3px 3px 0px -1px #ccc;*/
+}
+
+
+
+.btn.btn-primary,
+.modal-footer .btn,
+.btn.normal,
+.btn-group .filter-title,
+.btn-group .filter-title:active,
+.btn-group .filter-title:focus,
+.btn-group.open .btn.dropdown-toggle.filter-title,
+.btn-group > .filter-title.btn:first-child,
+.btn-group .filter-selector,
+.btn-group .filter-selector:hover,
+.btn-group .filter-selector:active,
+.btn-group .filter-selector:focus,
+.btn-group.open .btn.dropdown-toggle.filter-selector,
+.btn-group > .filter-selector.btn:first-child {
+    color: #fff;
+    padding: 3px 9px;
+    text-shadow: none;
+    background-color: #494949;
+    background-image: none;
+    border: 1px solid #c5c5c5;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    border-bottom-left-radius: 0;
+    -webkit-border-top-left-radius: 0;
+    border-top-left-radius: 0;
+    box-shadow: none;
+}
+
+ul.inline > li.tab {
+    margin: 0;
+    padding: 0;
+}
+
+li.tab .btn.btn-primary {
+    background-color: #eee;
+    border: none;
+    color:#494949;
+    box-shadow: none;
+    margin: 0 -1px -1px -1px;
+    padding: 3px 19px 3px 16px;
+    border-bottom: 1px solid #c5c5c5;
+}
+
+ul.inline > li.tab.selected {
+    margin: 0 0 -1px 0;
+    border-bottom: 1px solid #fff;
+}
+
+li.tab.selected .btn.btn-primary.toolbar {
+    color: #494949;
+    border-left: 1px solid #c5c5c5;
+    border-right: 1px solid #c5c5c5;
+    border-top: 1px solid #c5c5c5;
+    border-bottom: none;
+    background-color: #fff;
+
+}
+
+li.tab.selected .btn-content {
+    text-decoration:none;
+    color: #494949;
+}
+
+.btn.btn-primary.toolbar,
+.btn-group.compare .filter-selector.btn:first-child{
+    color:#494949;
+    background-color: #f1f1f1;
+}
+
+li.selected .btn.btn-primary.toolbar {
+    color: #fff;
+    border: 1px solid #00adee;
+    background-color: #00adee;
+}
+
+/*.action {*/
+/*background-color: #494949;*/
+/*}*/
+
+.btn.cancel,
+.btn.cancel:hover,
+.btn.normal.white,
+.btn.normal.white:hover{
+    background-color: #fff;
+    color: #5f5f5f;
+}
+
+.btn-group.compare .filter-selector.btn:first-child {
+    /*margin: 7px 9px 0 0;*/
+    /*background-color: #999;*/
+}
+
+
+.btn.btn-primary:hover,
+.modal-footer .btn:hover,
+.btn.normal:hover,
+.btn-group .filter-title:hover,
+.btn.btn-primary:active,
+.modal-footer .btn:active,
+.btn-group .filter-selector:active,
+.btn-group.selected > .filter-selector.btn:first-child,
+.btn-group.selected .filter-selector {
+    color: #fff;
+    border: 1px solid #00adee;
+    background-color: #00adee;
+}
+
+.btn-group.compare {
+    /*margin: 4px -1px 4px 6px;*/
+    /*transition: all .1s ease;*/
+
+}
+
+
+
+.btn-group.compare:active,
+.btn-group.compare.selected {
+    /*margin: 6px -5px 0 10px;*/
+}
+
+.btn-group .filter-selector .caret {
+    margin: 8px 0 0 10px;
+    border-top: 4px solid #fff;
+    border-right: 4px solid transparent;
+    border-left: 4px solid transparent;
+}
+
+
+.btn-group.header-button {
+    margin: 4px 0 0 0;
+    text-transform: none;
+}
+
+.btn.select-all {
+    /*margin: 0 10px 0 0;*/
+}
+
+.page-filters {
+    padding: 0;
+    margin: 10px 0 10px 0;
+}
+
+.dropdown-menu {
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    z-index: 102;
+}
+
+.modal {
+    position: fixed;
+    top: 10%;
+    left: 50%;
+
+    width: 560px;
+    margin-left: -280px;
+    background-color: #ffffff;
+    border: 1px solid #999;
+    border: 1px solid rgba(0, 0, 0, 0.3);
+    *border: 1px solid #999;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+    -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+    -webkit-background-clip: padding-box;
+    -moz-background-clip: padding-box;
+    background-clip: padding-box;
+    outline: none;
+}
+
+.modal.fade {
+    z-index: -200;
+}
+
+.modal.fade.in {
+    z-index: 1050;
+}
+
+.auto-update-container {
+    padding: 10px 0 0 0;
+}
+
+.auto-updates{
+    margin: 0 10px 0 0;
+}
+
+.super-help{
+    font-size:9pt;
+    vertical-align: super;
+}
+
+/* Bootstrap help tooltips */
+.help_tooltip{
+		font-size:9pt;
+		text-transform: none;
+}
+
+/** Begin help toggle buttons **/
+
+/*  -----   button has fixed width so when 'enable / disable' toggles, button shape does not shift   -----   */
+.helpButton {
+    font-family: 'Helvetica', Arial, sans-serif;
+    font-size: 13px;
+    font-weight: 300;
+    padding: 5px 8px;
+    text-align: center;
+    vertical-align: middle;
+    color: #fff;
+    border: 1px solid #fff;
+    -webkit-border-radius: 3px;
+       -moz-border-radius: 3px;
+            border-radius: 3px;
+    background-color: #00adee;
+    width: 110px;
+    outline:none;
+}
+
+.helpButton:hover {
+    cursor: pointer;
+    background-color: #fff;
+    color: #333;
+    /*transition*/
+  -webkit-transition:background-color .1s;
+     -moz-transition:background-color .1s;
+       -o-transition:background-color .1s;
+          transition:background-color .1s;
+
+}
+
+.helpButtonClicked {
+    background-color: #fff;
+    color: #333;
+    outline:none;
+}
+
+/** End help toggle buttons **/
+
+/** Begin introjs **/
+
+.introjs-overlay {
+  background: none;
+  filter: none;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
+  filter: alpha(opacity=20);
+  background-color: #fff;
+  opacity: 0.2;
+}
+
+.introjs-helperLayer {
+  border: 1px solid rgba(0,0,0,.1);
+  border-radius: 0;
+  box-shadow: none;
+  border: 1px solid rgba(0,0,0,.25);
+}
+
+.introjs-helperNumberLayer {
+  top: -12px;
+  left: -12px;
+  font-family: "Open Sans", Arial, sans-serif;
+  font-weight: normal;
+  border: none;
+  filter: none; /* IE6-9 */
+  filter: none; /* IE10 text shadows */
+  box-shadow: none;
+}
+
+.introjs-arrow {
+  border: 10px solid white;
+}
+
+.introjs-arrow.top {
+  top: -20px;
+  border-bottom-color: #6dbce3;
+}
+
+.introjs-arrow.right {
+  right: -20px;
+  top: 20px;
+  border-left-color: #6dbce3;
+}
+
+.introjs-arrow.bottom {
+  bottom: -20px;
+  border-top-color: #6dbce3;
+}
+
+.introjs-arrow.left {
+  left: -20px;
+  top: 20px;
+  border-right-color: #6dbce3;
+}
+
+/*  -----   for layered tooltip to acheive a border effect around triangle   -----   */
+.introjs-arrow:before {
+  border: 10px solid white;
+  content:'';
+  position: absolute;
+}
+.introjs-arrow.top:before {
+  top: -8px;
+  left: -10px;
+  border-top-color:transparent;
+  border-right-color:transparent;
+  border-bottom-color: #F0F8FC;
+  border-left-color:transparent;
+}
+.introjs-arrow.right:before {
+  right: -7px;
+  top: -10px;
+  border-top-color:transparent;
+  border-right-color:transparent;
+  border-bottom-color:transparent;
+  border-left-color: #F0F8FC;
+}
+.introjs-arrow.bottom:before {
+  bottom: -9px;
+  left: -10px;
+  border-top-color: #F0F8FC;
+  border-right-color:transparent;
+  border-bottom-color:transparent;
+  border-left-color:transparent;
+}
+.introjs-arrow.left:before {
+  left: -7px;
+  top: -10px;
+  border-top-color:transparent;
+  border-right-color: #F0F8FC;
+  border-bottom-color:transparent;
+  border-left-color:transparent;
+}
+
+/*  -----   body of tooltip   -----   */
+
+.introjs-tooltip {
+  background-color: #F0F8FC;
+  border-radius: 0;
+  border: 1px solid #6dbce3;
+  box-shadow: 0 1px 7px rgba(0,0,0,.3);
+}
+
+/*  -----   button styles   -----   */
+
+.introjs-button {
+  font-family: "Open Sans", Arial, sans-serif;
+  text-shadow: none;
+  font: 12px/normal sans-serif;
+  color: #1f77a3;
+  background-color: #F0F8FC;
+  background-image: none;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
+  border: 1px solid #d4d4d4;
+}
+
+.introjs-button:hover {
+  font-family: "Open Sans", Arial, sans-serif;
+}
+
+.introjs-button:focus,
+.introjs-button:active {
+   text-decoration: none;
+   outline: 0;
+}
+
+.introjs-skipbutton {
+  color: #1f77a3;
+  text-decoration: none;
+  font-family: "Open Sans", Arial, sans-serif;
+  margin-right: 32px;
+  border: 1px solid #6dbce3;
+}
+
+.introjs-nextbutton {
+  text-decoration: none;
+  font-family: "Open Sans", Arial, sans-serif;
+  text-align: left;
+  width: 40px;
+  border-color: #6dbce3;
+  margin-left: 3px;
+}
+
+.introjs-prevbutton {
+  border-right: none;
+  text-decoration: none;
+  font-family: "Open Sans", Arial, sans-serif;
+  text-align: right;
+  width: 40px;
+  border-color: #6dbce3;
+}
+
+.introjs-nextbutton,
+.introjs-nextbutton:focus,
+.introjs-nextbutton:active,
+.introjs-nextbutton:hover {
+  background-image: url("../img/introjs_arrow_step_next.png");
+  background-position: 45px 5px;
+  background-repeat: no-repeat;
+  text-align: left;
+  border: 1px solid #6dbce3;
+}
+
+.introjs-prevbutton,
+.introjs-prevbutton:focus,
+.introjs-prevbutton:active,
+.introjs-prevbutton:hover {
+  background-image: url("../img/introjs_arrow_step_prev.png");
+  background-position: 2px 5px;
+  background-repeat: no-repeat;
+  text-align: right;
+  border: 1px solid #6dbce3;
+}
+
+.introjs-nextbutton.introjs-disabled,
+.introjs-nextbutton.introjs-disabled:active,
+.introjs-nextbutton.introjs-disabled:hover,
+.introjs-nextbutton.introjs-disabled:focus {
+  background-image: url("../img/introjs_arrow_step_next_disabled.png");
+  background-position: 48px 5px;
+  background-repeat: no-repeat;
+  text-align: left;
+  border: 1px solid #d4d4d4;
+}
+
+.introjs-prevbutton.introjs-disabled,
+.introjs-prevbutton.introjs-disabled:active,
+.introjs-prevbutton.introjs-disabled:hover,
+.introjs-prevbutton.introjs-disabled:focus {
+  background-image: url("../img/introjs_arrow_step_prev_disabled.png");
+  background-position: 2px 5px;
+  background-repeat: no-repeat;
+  text-align: right;
+  border: 1px solid #d4d4d4;
+}
+
+.introjs-disabled, .introjs-disabled:hover, .introjs-disabled:focus {
+  color: gray;
+  background-color: #F0F8FC;
+}
+
+.introjs-tooltiptext {
+  font-size: 13px;
+  line-height: 19px;
+}
+
+.introjstooltipheader {
+  font-size: 13px;
+  line-height: 19px;
+  font-family: marquette-medium,'Helvetica Neue',Helvetica,Arial,sans-serif;
+}
+
+.introjs-tooltip {
+    min-width: 210px;
+    max-width: 450px;
+}
+/** End introjs **/