http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/js/prism.js
----------------------------------------------------------------------
diff --git a/docs/site/home/js/prism.js b/docs/site/home/js/prism.js
new file mode 100644
index 0000000..53661dd
--- /dev/null
+++ b/docs/site/home/js/prism.js
@@ -0,0 +1,423 @@
+
+/* 
http://prismjs.com/download.html?themes=prism&languages=clike+gremlin+groovy+jade
 */
+var _self = "undefined" != typeof window ? window : "undefined" != typeof 
WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
+    Prism = function() {
+        var e = /\blang(?:uage)?-(\w+)\b/i,
+            t = 0,
+            n = _self.Prism = {
+                util: {
+                    encode: function(e) {
+                        return e instanceof a ? new a(e.type, 
n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? 
e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, 
"&lt;").replace(/\u00a0/g, " ")
+                    },
+                    type: function(e) {
+                        return 
Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]
+                    },
+                    objId: function(e) {
+                        return e.__id || Object.defineProperty(e, "__id", {
+                            value: ++t
+                        }), e.__id
+                    },
+                    clone: function(e) {
+                        var t = n.util.type(e);
+                        switch (t) {
+                            case "Object":
+                                var a = {};
+                                for (var r in e) e.hasOwnProperty(r) && (a[r] 
= n.util.clone(e[r]));
+                                return a;
+                            case "Array":
+                                return e.map && e.map(function(e) {
+                                    return n.util.clone(e)
+                                })
+                        }
+                        return e
+                    }
+                },
+                languages: {
+                    extend: function(e, t) {
+                        var a = n.util.clone(n.languages[e]);
+                        for (var r in t) a[r] = t[r];
+                        return a
+                    },
+                    insertBefore: function(e, t, a, r) {
+                        r = r || n.languages;
+                        var l = r[e];
+                        if (2 == arguments.length) {
+                            a = arguments[1];
+                            for (var i in a) a.hasOwnProperty(i) && (l[i] = 
a[i]);
+                            return l
+                        }
+                        var o = {};
+                        for (var s in l)
+                            if (l.hasOwnProperty(s)) {
+                                if (s == t)
+                                    for (var i in a) a.hasOwnProperty(i) && 
(o[i] = a[i]);
+                                o[s] = l[s]
+                            }
+                        return n.languages.DFS(n.languages, function(t, n) {
+                            n === r[e] && t != e && (this[t] = o)
+                        }), r[e] = o
+                    },
+                    DFS: function(e, t, a, r) {
+                        r = r || {};
+                        for (var l in e) e.hasOwnProperty(l) && (t.call(e, l, 
e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? 
"Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || 
(r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : 
(r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r)))
+                    }
+                },
+                plugins: {},
+                highlightAll: function(e, t) {
+                    var a = {
+                        callback: t,
+                        selector: 'code[class*="language-"], 
[class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
+                    };
+                    n.hooks.run("before-highlightall", a);
+                    for (var r, l = a.elements || 
document.querySelectorAll(a.selector), i = 0; r = l[i++];) 
n.highlightElement(r, e === !0, a.callback)
+                },
+                highlightElement: function(t, a, r) {
+                    for (var l, i, o = t; o && !e.test(o.className);) o = 
o.parentNode;
+                    o && (l = (o.className.match(e) || [, ""])[1], i = 
n.languages[l]), t.className = t.className.replace(e, "").replace(/\s+/g, " ") 
+ " language-" + l, o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = 
o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l);
+                    var s = t.textContent,
+                        u = {
+                            element: t,
+                            language: l,
+                            grammar: i,
+                            code: s
+                        };
+                    if (!s || !i) return n.hooks.run("complete", u), void 0;
+                    if (n.hooks.run("before-highlight", u), a && _self.Worker) 
{
+                        var c = new Worker(n.filename);
+                        c.onmessage = function(e) {
+                            u.highlightedCode = e.data, 
n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && 
r.call(u.element), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
+                        }, c.postMessage(JSON.stringify({
+                            language: u.language,
+                            code: u.code,
+                            immediateClose: !0
+                        }))
+                    } else u.highlightedCode = n.highlight(u.code, u.grammar, 
u.language), n.hooks.run("before-insert", u), u.element.innerHTML = 
u.highlightedCode, r && r.call(t), n.hooks.run("after-highlight", u), 
n.hooks.run("complete", u)
+                },
+                highlight: function(e, t, r) {
+                    var l = n.tokenize(e, t);
+                    return a.stringify(n.util.encode(l), r)
+                },
+                tokenize: function(e, t) {
+                    var a = n.Token,
+                        r = [e],
+                        l = t.rest;
+                    if (l) {
+                        for (var i in l) t[i] = l[i];
+                        delete t.rest
+                    }
+                    e: for (var i in t)
+                        if (t.hasOwnProperty(i) && t[i]) {
+                            var o = t[i];
+                            o = "Array" === n.util.type(o) ? o : [o];
+                            for (var s = 0; s < o.length; ++s) {
+                                var u = o[s],
+                                    c = u.inside,
+                                    g = !!u.lookbehind,
+                                    h = !!u.greedy,
+                                    f = 0,
+                                    d = u.alias;
+                                u = u.pattern || u;
+                                for (var p = 0; p < r.length; p++) {
+                                    var m = r[p];
+                                    if (r.length > e.length) break e;
+                                    if (!(m instanceof a)) {
+                                        u.lastIndex = 0;
+                                        var y = u.exec(m),
+                                            v = 1;
+                                        if (!y && h && p != r.length - 1) {
+                                            var b = r[p + 1].matchedStr || r[p 
+ 1],
+                                                k = m + b;
+                                            if (p < r.length - 2 && (k += r[p 
+ 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
+                                            var w = y.index + (g ? y[1].length 
: 0);
+                                            if (w >= m.length) continue;
+                                            var _ = y.index + y[0].length,
+                                                P = m.length + b.length;
+                                            if (v = 3, P >= _) {
+                                                if (r[p + 1].greedy) continue;
+                                                v = 2, k = k.slice(0, P)
+                                            }
+                                            m = k
+                                        }
+                                        if (y) {
+                                            g && (f = y[1].length);
+                                            var w = y.index + f,
+                                                y = y[0].slice(f),
+                                                _ = w + y.length,
+                                                S = m.slice(0, w),
+                                                O = m.slice(_),
+                                                j = [p, v];
+                                            S && j.push(S);
+                                            var A = new a(i, c ? n.tokenize(y, 
c) : y, d, y, h);
+                                            j.push(A), O && j.push(O), 
Array.prototype.splice.apply(r, j)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    return r
+                },
+                hooks: {
+                    all: {},
+                    add: function(e, t) {
+                        var a = n.hooks.all;
+                        a[e] = a[e] || [], a[e].push(t)
+                    },
+                    run: function(e, t) {
+                        var a = n.hooks.all[e];
+                        if (a && a.length)
+                            for (var r, l = 0; r = a[l++];) r(t)
+                    }
+                }
+            },
+            a = n.Token = function(e, t, n, a, r) {
+                this.type = e, this.content = t, this.alias = n, 
this.matchedStr = a || null, this.greedy = !!r
+            };
+        if (a.stringify = function(e, t, r) {
+                if ("string" == typeof e) return e;
+                if ("Array" === n.util.type(e)) return e.map(function(n) {
+                    return a.stringify(n, t, e)
+                }).join("");
+                var l = {
+                    type: e.type,
+                    content: a.stringify(e.content, t, r),
+                    tag: "span",
+                    classes: ["token", e.type],
+                    attributes: {},
+                    language: t,
+                    parent: r
+                };
+                if ("comment" == l.type && (l.attributes.spellcheck = "true"), 
e.alias) {
+                    var i = "Array" === n.util.type(e.alias) ? e.alias : 
[e.alias];
+                    Array.prototype.push.apply(l.classes, i)
+                }
+                n.hooks.run("wrap", l);
+                var o = "";
+                for (var s in l.attributes) o += (o ? " " : "") + s + '="' + 
(l.attributes[s] || "") + '"';
+                return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + 
o + ">" + l.content + "</" + l.tag + ">"
+            }, !_self.document) return _self.addEventListener ? 
(_self.addEventListener("message", function(e) {
+            var t = JSON.parse(e.data),
+                a = t.language,
+                r = t.code,
+                l = t.immediateClose;
+            _self.postMessage(n.highlight(r, n.languages[a], a)), l && 
_self.close()
+        }, !1), _self.Prism) : _self.Prism;
+        var r = document.currentScript || 
[].slice.call(document.getElementsByTagName("script")).pop();
+        return r && (n.filename = r.src, document.addEventListener && 
!r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", 
n.highlightAll)), _self.Prism
+    }();
+"undefined" != typeof module && module.exports && (module.exports = Prism), 
"undefined" != typeof global && (global.Prism = Prism);
+Prism.languages.clike = {
+    comment: [{
+        pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
+        lookbehind: !0
+    }, {
+        pattern: /(^|[^\\:])\/\/.*/,
+        lookbehind: !0
+    }],
+    string: {
+        pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
+        greedy: !0
+    },
+    "class-name": {
+        pattern: 
/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
+        lookbehind: !0,
+        inside: {
+            punctuation: /(\.|\\)/
+        }
+    },
+    keyword: 
/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
+    "boolean": /\b(true|false)\b/,
+    "function": /[a-z0-9_]+(?=\()/i,
+    number: /\b-?(?:0x[\da-f]+|\d*\.?\d+v(?:e[+-]?\d+)?)\b/i,
+    operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
+    traversalSource: /\b(g|h)\b/,
+    punctuation: /[{}[\];(),.:]/
+};
+Prism.languages.gremlin = Prism.languages.extend("clike", {
+    keyword: 
/\b(values,|decr|incr|local|global|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
+    number: 
/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
+    "function": /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
+}), Prism.languages.insertBefore("gremlin", "keyword", {
+    regex: {
+        pattern: 
/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
+        lookbehind: !0,
+        greedy: !0
+    }
+}), Prism.languages.insertBefore("gremlin", "class-name", {
+    "template-string": {
+        pattern: /`(?:\\\\|\\?[^\\])*?`/,
+        greedy: !0,
+        inside: {
+            interpolation: {
+                pattern: /\$\{[^}]+\}/,
+                inside: {
+                    "interpolation-punctuation": {
+                        pattern: /^\$\{|\}$/,
+                        alias: "punctuation"
+                    },
+                    rest: Prism.languages.gremlin
+                }
+            },
+            string: /[\s\S]+/
+        }
+    }
+}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {
+    script: {
+        pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
+        lookbehind: !0,
+        inside: Prism.languages.gremlin,
+        alias: "language-gremlin"
+    }
+}), Prism.languages.js = Prism.languages.gremlin;
+! function(e) {
+    e.languages.jade = {
+        comment: {
+            pattern: /(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,
+            lookbehind: !0
+        },
+        "multiline-script": {
+            pattern: /(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t 
]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        filter: {
+            pattern: /(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t 
]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                }
+            }
+        },
+        "multiline-plain-text": {
+            pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t 
]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0
+        },
+        markup: {
+            pattern: /(^[\t ]*)<.+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.markup
+            }
+        },
+        doctype: {
+            pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/,
+            lookbehind: !0
+        },
+        "flow-control": {
+            pattern: /(^[\t 
]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,
+            lookbehind: !0,
+            inside: {
+                each: {
+                    pattern: /^each .+? in\b/,
+                    inside: {
+                        keyword: /\b(?:each|in)\b/,
+                        punctuation: /,/
+                    }
+                },
+                branch: {
+                    pattern: /^(?:if|unless|else|case|when|default|while)\b/,
+                    alias: "keyword"
+                },
+                rest: e.languages.gremlin
+            }
+        },
+        keyword: {
+            pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,
+            lookbehind: !0
+        },
+        mixin: [{
+            pattern: /(^[\t ]*)mixin .+/m,
+            lookbehind: !0,
+            inside: {
+                keyword: /^mixin/,
+                "function": /\w+(?=\s*\(|\s*$)/,
+                punctuation: /[(),.]/
+            }
+        }, {
+            pattern: /(^[\t ]*)\+.+/m,
+            lookbehind: !0,
+            inside: {
+                name: {
+                    pattern: /^\+\w+/,
+                    alias: "function"
+                },
+                rest: e.languages.gremlin
+            }
+        }],
+        script: {
+            pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        "plain-text": {
+            pattern: /(^[\t 
]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,
+            lookbehind: !0
+        },
+        tag: {
+            pattern: /(^[\t 
]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,
+            lookbehind: !0,
+            inside: {
+                attributes: [{
+                    pattern: /&[^(]+\([^)]+\)/,
+                    inside: {
+                        rest: e.languages.gremlin
+                    }
+                }, {
+                    pattern: /\([^)]+\)/,
+                    inside: {
+                        "attr-value": {
+                            pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,
+                            lookbehind: !0,
+                            inside: {
+                                rest: e.languages.gremlin
+                            }
+                        },
+                        "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/,
+                        punctuation: /[!=(),]+/
+                    }
+                }],
+                punctuation: /:/
+            }
+        },
+        code: [{
+            pattern: /(^[\t ]*(?:-|!?=)).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        }],
+        punctuation: /[.\-!=|]+/
+    };
+    for (var t = "(^([\\t 
]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t 
]+.+|\\s*?(?=\\r?\\n|\\r)))+", n = [{
+            filter: "atpl",
+            language: "twig"
+        }, {
+            filter: "coffee",
+            language: "coffeescript"
+        }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", 
"mustache", "plates", {
+            filter: "sass",
+            language: "scss"
+        }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {
+        var s = n[i];
+        s = "string" == typeof s ? {
+            filter: s,
+            language: s
+        } : s, e.languages[s.language] && (a["filter-" + s.filter] = {
+            pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"),
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                },
+                rest: e.languages[s.language]
+            }
+        })
+    }
+    e.languages.insertBefore("jade", "filter", a)
+}(Prism);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/policy.html
----------------------------------------------------------------------
diff --git a/docs/site/home/policy.html b/docs/site/home/policy.html
new file mode 100644
index 0000000..d2999b7
--- /dev/null
+++ b/docs/site/home/policy.html
@@ -0,0 +1,72 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-conference.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache 
TinkerPop&trade;</font></b>
+      <p><font size="5">Provider Listing and Graphic Usage Policies</font></p>
+   </div>
+</div>
+<div class="container-fluid">
+   <div class="container">
+      <a name="provider-listing-policy"></a>
+      <h3>Provider Listing Policy</h3>
+      <p>Graph system and language providers can have the project listed in 
two locations on the Apache TinkerPop homepage.
+         The first location is on the homepage <a 
href="index.html">index.html</a>. The second is on the homepage <a 
href="providers.html">providers.html</a>. The policies
+         for each are provided below. Note that the Apache Software 
Foundation's <a href="http://www.apache.org/foundation/marks/linking";>linking 
policy</a> supercede those
+         stipulated by Apache TinkerPop. All things considered, if your 
project meets the requirements, please email Apache TinkerPop's
+         <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/";>developer
 mailing list</a> requesting that your project be added to a listing.
+      </p>
+      <h4>Index Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a 
Gremlin language variant/compiler, a Gremlin language driver, or a 
TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by 
Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or 
previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>some</em> documentation and that 
documentation must make explicit its usage of Apache TinkerPop and its version 
compatibility requirements.</li>
+      </ul>
+      <h4>Provider Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a 
Gremlin language variant/compiler, or a TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by 
Apache TinkerPop.</li>
+         <li>The project must have a homepage that is not simply a software 
repository page.</li>
+         <li>The project must have a high-resolution logo that can be used by 
Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or 
previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>significant</em> documentation and that 
documentation must make explicit its usage of Apache TinkerPop and its version 
compatibility requirements.</li>
+      </ul>
+   </div>
+   <div class="container">
+      <a name="graphic-usage-policy"></a>
+      <h3>Graphic Usage Policy</h3>
+      <p>Apache TinkerPop has a plethora of graphics that the community can 
use. There are four categories of graphics. These categories and their 
respective policies are presented
+         below. If you are unsure of the category of a particular graphic, 
please ask on our <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/";>developer
 mailing</a>
+         list before using it. Finally, note that the Apache Software 
Foundation's <a href="http://www.apache.org/foundation/marks/";>trademark 
policies</a> supercede those stipulated
+         by Apache TinkerPop.
+      </p>
+      <ul>
+         <li><strong>Character Graphics</strong>: A character graphic can be 
used <em>without permission</em> as long as its being used in an Apache 
TinkerPop related context and it is acknowledged that the graphic is a 
trademark of the Apache Software Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/pipes-character.png" 
style="padding:10px;width:9%;"/> <img src="images/policy/rexster-character.png" 
style="padding:10px;width:9%;"/> <img src="images/policy/gremlin-character.png" 
style="padding:10px;width:9%;"/> <img 
src="images/policy/blueprints-character.png" style="padding:10px;width:9%;"/> 
<img src="images/policy/furnace-character.png" style="padding:10px;width:9%;"/> 
<img src="images/policy/frames-character.png" style="padding:10px;width:9%;"/>
+         <li><strong>Character Dress-Up Graphics</strong>: A character graphic 
can be manipulated ("dressed up") and used <em>without permission</em> as long 
as it's being used in an Apache TinkerPop related context and it is 
acknowledged that the graphic is a trademark of the Apache Software 
Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/gremlin-gremopoly.png" 
style="padding:10px;width:10%;"/> <img 
src="images/policy/gremlin-gremreaper.png" style="padding:10px;width:14%;"/> 
<img src="images/policy/gremlin-chickenwing.png" 
style="padding:10px;width:10%;"/> <img 
src="images/policy/gremlin-no-more-mr-nice-guy.png" 
style="padding:10px;width:10%;"/> <img 
src="images/policy/gremlin-new-sheriff-in-town.png" 
style="padding:10px;width:12%;"/> <img 
src="images/policy/gremlin-gremstefani.png" style="padding:10px;width:10%;"/>
+         <li><strong>Explanatory Diagrams</strong>: Explanatory diagrams can 
be used <em>without permission</em> as long as they are being used in an Apache 
TinkerPop related context, it is acknowledged that they are trademarks of the 
Apache Software Foundation/Apache TinkerPop, and are being used for technical 
explanatory purposes.</li>
+         <img src="images/policy/olap-traversal.png" 
style="padding:10px;width:22%;"/> <img src="images/policy/cyclicpath-step.png" 
style="padding:10px;width:22%;"/> <img src="images/policy/flat-map-lambda.png" 
style="padding:10px;width:15%;"/> <img src="images/policy/adjacency-list.png" 
style="padding:10px;width:22%;"/>
+         <li><strong>Character Scene Graphics</strong>: Character scene 
graphics <u><em>require permission</em></u> before being used. Please ask for 
permission on the Apache TinkerPop <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/";>developer
 mailing list</a>.</li>
+         <img src="images/policy/tinkerpop-reading.png" 
style="padding:10px;width:20%;"/> <img src="images/policy/gremlintron.png" 
style="padding:10px;width:20%;"/> <img src="images/policy/business-gremlin.png" 
style="padding:10px;width:20%;"/> <img 
src="images/policy/tinkerpop3-splash.png" style="padding:10px;width:20%;"/>
+      </ul>
+   </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/providers.html
----------------------------------------------------------------------
diff --git a/docs/site/home/providers.html b/docs/site/home/providers.html
new file mode 100644
index 0000000..05fc6ab
--- /dev/null
+++ b/docs/site/home/providers.html
@@ -0,0 +1,359 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-meeting-room.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache 
TinkerPop&trade;</font></b>
+      <p><font size="5">TinkerPop-Enabled Providers</font></p>
+   </div>
+</div>
+<br/>
+<div class="container-fluid">
+   <div class="container">
+      <div class="row">
+         <div class="col-sm-10 col-md-10">
+            <p><a href="http://tinkerpop.apache.org";>Apache TinkerPop</a> 
grows when 3<sup>rd</sup> party data systems and query languages utilize it. 
While Apache's distribution of TinkerPop
+               does provide production ready implementations and tools, it is 
ultimately the larger ecosystem of providers that ensure TinkerPop's widespread 
adoption.
+               There are two types of providers. The first are those that 
develop a (graph) database, (graph) processor, or (graph) analytics tool and 
want to
+               offer their users TinkerPop-specific graph computing features. 
The other type of provider are language designers that have a (graph) query 
language they
+               wish to have execute on the Gremlin traversal machine and thus, 
against any TinkerPop-enabled graph system.
+            </p>
+         </div>
+         <div class="col-sm-2 col-md-2">
+            <img src="images/peon-head.png" width="100px">
+         </div>
+      </div>
+   </div>
+   <div class="container">
+      <a name="data-system-providers"></a>
+      <h3>Data System Providers</h3>
+      <p>When a data system is TinkerPop-enabled, its users are able to model 
their domain as a graph and analyze that graph using the <a 
href="http://tinkerpop.apache.org/gremlin.html";>Gremlin graph traversal 
language</a>. Furthermore, all
+         TinkerPop-enabled graph systems integrate with one another allowing 
providers to easily expand their system's offerings as well as allowing users 
to choose appropriate graph technology for their
+         application. Sometimes an application is best served by an in-memory, 
transactional graph database. Sometimes a multi-machine distributed graph 
database will do the job. Or perhaps the
+         application requires both a distributed graph database for real-time 
queries and, in parallel, a Big(Graph)Data processor for batch analytics.  
Whatever the application's requirements, there
+         exists a TinkerPop-enabled graph system out there to meet its needs.
+      </p>
+      <div class="row">
+         <div class="col-sm-8 col-md-8">
+            At an abstract level, every data system is ultimately a "graph 
system" because every data system supports the representation of "things" 
(vertices) and their respective relationships
+            to one another (edges).  For instance, a <a 
href="https://en.wikipedia.org/wiki/Relational_database";>relational 
database</a> may have a <em>people</em>-table, where the rows denote person 
vertices and the columns denote properties of those individuals
+            (e.g. their name and age). Moreover, that relational database may 
also have a <em>knows</em>-table, where two columns reference primary keys in 
the <em>people</em>-table and the remaining columns
+            denote properties of those relationships (e.g. creation timestamp, 
strength of friendship, etc.). TinkerPop enables any data system to expose its 
implicit graph structure within the
+            lexicon of vertices and edges. From there, what differentiates 
each TinkerPop-enabled system are the various time/space-tradeoffs that were 
made for representing their "graph" in-memory,
+            on-disk, and across a multi-machine compute cluster. TinkerPop 
users have the luxury of choosing a graph system based on those design choices 
that are important for their application.
+            Moreover, they only need to concern themselves with learning the 
Gremlin traversal language as every TinkerPop-enabled graph system supports 
Gremlin.
+         </div>
+         <div class="col-sm-4 col-md-4">
+            <img src="images/tinkerblocks.png" style="width:100%">
+         </div>
+      </div>
+      <br/>
+      It is (relatively) easy for a data system to become TinkerPop-enabled. 
There are two interface packages that need to be implemented with one of them 
being optional. Once implemented
+      the Gremlin traversal machine can talk to the provider's system and 
thus, so can any of their users' Gremlin traversals as well as any existing 
tools/technologies that have been designed
+      to interact with a TinkerPop-enabled system.
+      <br/>
+      <br/>
+      <ol>
+         <li><strong>The Graph (required)</strong>: These foundational 
interfaces define the semantics of the operations on a graph, vertex, edge, and 
property. Once implemented, the provider's
+            data system can immediately be queried using Gremlin OLTP. 
However, providers may want to leverage a collection of provider-specific 
compiler optimizations called <a 
href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy";>traversal
 strategies</a>
+            which can leverage their system's unique features (e.g. global 
indices, vertex-centric indices, sort orders, sequential scanners, push-down 
predicates, etc.).
+         </li>
+         <br/>
+         <li><strong>The GraphComputer (optional)</strong>: All OLAP-based 
graph processors must implement the primary graph interfaces mentioned above as 
well as a set of parallel-processing
+            message-passing interfaces. However, it is possible for a data 
system to only implement the primary graph interfaces and still provide OLAP 
support to their users by integrating their
+            system with an existing <code>GraphComputer</code> implementation 
such as, for example, <code>SparkGraphComputer</code> or 
<code>GiraphGraphComputer</code> (both are provided in Apache's distribution
+            of TinkerPop).
+         </li>
+      </ol>
+      <p>Finally, there are other tools and technologies that the provider can 
leverage from TinkerPop such as <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server";>Gremlin
 Server</a>, <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console";>Gremlin
 Console</a>, and the like. The purpose of Apache TinkerPop is to
+         make it easy for providers to add graph functionality to their system 
and/or to build a graph system from scratch and immediately have a query 
language, server infrastructure, metrics/reporting
+         integration, cluster-based analytics and more.
+      </p>
+      <ul>
+         <li><strong>Gremlin traversal language</strong>: The primary benefit 
of TinkerPop is the <a href="gremlin.html">Gremlin graph traversal 
language</a>. This language was designed specifically for graph analysis and
+            manipulation and is not complicated with an explicit JOIN syntax.
+         </li>
+         <li><strong>Gremlin traversal machine</strong>: Every Gremlin 
language variant compiles to a language agnostic <a 
href="https://en.wikipedia.org/wiki/Bytecode";>bytecode</a> representation. That 
bytecode is ultimately translated to a machine-specific traversal. It is the 
responsibility of the Gremlin traversal machine to execute that traversal as a
+            real-time <a 
href="https://en.wikipedia.org/wiki/Online_transaction_processing";>OLTP</a> 
query or as an analytic <a 
href="https://en.wikipedia.org/wiki/Online_analytical_processing";>OLAP</a> 
query (or both). Note that the Gremlin traversal machine is not bound to the 
Gremlin language. Any language can take advantage of the the
+            Gremlin traversal machine by simply translating itself to Gremlin 
bytecode. In fact, compilers currently exist for <a 
href="https://github.com/twilmes/sql-gremlin";>SQL</a> and <a 
href="https://github.com/dkuppitz/sparql-gremlin";>SPARQL</a>. However, using 
alternative languages for graph computing leads to significantly more 
complicated queries
+            and typically does not match the expressivity provided by Gremlin.
+         </li>
+         <li><strong>TinkerGraph</strong>: TinkerPop provides a simple, 
non-transactional, in-memory graph system called <a 
href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin";>TinkerGraph</a>.
 TinkerGraph is useful for exploring graphs that can fit
+            in-memory, for doing tutorials and training without the overhead 
of database setup, etc. TinkerGraph boasts both OLTP and OLAP traversal machine 
support.
+         </li>
+         <li><strong>Gremlin Console</strong>: A command line <a 
href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop";>REPL</a>
 is provided called <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console";>Gremlin
 Console</a>. This console is useful when learning TinkerPop as users can load 
provided datasets into a
+            graph system and explore the Gremlin language without the overhead 
of creating a full-blown software project. Furthermore, the Gremlin Console is 
used extensively in production scenarios
+            because it allows system administrators to interact with a local 
or remote graph to gather statistics, manually explore the data to ensure data 
integrity, and other useful tasks.
+         </li>
+         <li><strong>Gremlin Server</strong>: It is typical for a graph 
database to exist on a separate machine from the user's application code. <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server";>Gremlin
 Server</a> bridges the network-divide
+            allowing users to seamlessly submit traversals for remote 
execution over a web-sockets based binary protocol. If provider already has a 
server, they can leverage TinkerPop-specific
+            components as needed (e.g. implement 
<code>RemoteConnection</code>). Gremlin Server also provides an HTTP-based API, 
support for <a href="http://ganglia.info/";>Ganglia</a>/<a 
href="http://graphite.wikidot.com/";>Graphite</a>/<a 
href="http://www.oracle.com/technetwork/articles/java/javamanagement-140525.html";>JMX</a>/more
+            metrics, and a traversal routing framework for intelligent 
data/traversal co-location within a distributed graph database's machine 
cluster.
+         </li>
+         <li><strong>SparkGraphComputer</strong>: <a 
href="http://spark.apache.org/";>Apache Spark</a>&trade; is a Big Data OLAP 
processor that simplifies the creation and execution of distributed data 
analytics.
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer";><code>SparkGraphComputer</code></a>
 turns Spark
+            into a Big(Graph)Data processor via the OLAP component of the 
Gremlin traversal machine. Users do not have to learn Spark's data processing 
language as Gremlin traversals execute
+            over Spark. For graph system providers, they can boast Spark 
integration once a custom <code>InputRDD</code> (or <code>InputFormat</code>) 
is developed.
+         </li>
+         <li><strong>GiraphGraphComputer</strong>: <a 
href="http://giraph.apache.org/";>Apache Giraph</a>&trade; is a Big(Graph)Data 
processor that leverages <a href="http://hadoop.apache.org/";>Apache 
Hadoop</a>&reg; and
+            <a href="http://zookeeper.apache.org/";>Apache ZooKeeper</a>&trade; 
for executing distributed graph algorithms. <a 
href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer";><code>GiraphGraphComputer</code></a>
+            supports Gremlin OLAP and allows users to submit Gremlin 
traversals to Giraph for distributed execution. Providers can immediately 
advertise Giraph integration once a custom <code>InputFormat</code> is 
developed.
+         </li>
+         <li><strong>Hadoop support</strong>: <a 
href="http://hadoop.apache.org/";>Apache Hadoop</a>&reg; has become a staple 
technology for Big Data applications. In TinkerPop, both 
<code>SparkGraphComputer</code> and <code>GiraphGraphComputer</code> can pull 
data
+            from the Hadoop File System (<a 
href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html";>HDFS</a>).
 TinkerPop provides a collection of Input- and OutputFormats for different 
graph serialization standards as well as tooling that makes it easy for users
+            to <a 
href="http://tinkerpop.apache.org/docs/current/reference/#interacting-with-hdfs";>interact
 with HDFS</a> from the Gremlin Console or their application.
+         </li>
+      </ul>
+      <p>Information on how to build implementations of the various interfaces 
that TinkerPop supports can be found in the <a 
href="http://tinkerpop.apache.org/docs/current/dev/provider/";>Provider 
Documentation</a>.
+      <br/>
+      <h4>TinkerPop-Enabled Graph Systems</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to graph systems that 
are TinkerPop-enabled. Please read Apache TinkerPop's <a 
href="policy.html">provider listing policy</a> for adding new projects to the 
listing below.
+      The listing is intended to help users identify TinkerPop-enabled graph 
systems and does not constitute an endorsement by Apache TinkerPop nor the 
Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://blazegraph.com/";><img 
src="images/logos/blazegraph-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://blazegraph.com/";>Blazegraph</a>&trade; is a 
standards-based, high-performance, scalable, open-source graph database. 
Written entirely in Java, the platform supports Apache TinkerPop and RDF/SPARQL 
1.1 family of specifications.  A commercial version includes GPU acceleration.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a 
href="http://datastax.com/products/datastax-enterprise-graph";><img 
src="images/logos/datastax-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://datastax.com/products/datastax-enterprise-graph";>DataStax 
Enterprise Graph</a>&trade;, part of DataStax Enterprise's multi-model 
platform, is a real-time graph database built for cloud applications that need 
to manage complex and highly connected data. Built on the foundation of Apache 
Cassandra and Apache TinkerPop, DataStax Enterprise Graph delivers continuous 
uptime along with predictable performance and scale, while remaining 
operationally simple to manage.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a 
href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/";><img
 src="images/logos/ibmgraph-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/";>IBM
 Graph</a>&trade; is a scalable, easy-to-use, fully-managed graph 
database-as-a-service that is administered through IBM's Bluemix cloud 
platform. IBM Graph is available 24/7 and managed by a team of experts so 
developers can focus on building their application. Based on the Apache 
TinkerPop stack for building high-performance graph applications, IBM Graph 
provides users with a set of simplified HTTP API calls and the Gremlin graph 
traversal language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://cambridge-intelligence.com/keylines/";><img 
src="images/logos/keylines-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://cambridge-intelligence.com/keylines/";>KeyLines</a>&trade; is an 
Apache TinkerPop and Gremlin compatible JavaScript SDK for quickly and easily 
building powerful, custom and scalable graph visualization applications. The 
KeyLines SDK offers a rich library of functionality to help you visualize and 
explore the data in your graph database, including graph layouts, social 
network analysis measures, filtering, temporal graph visualization and 
geospatial graph analysis. It allows the visualization of complex graph data at 
scale.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://linkurio.us/";><img 
src="images/logos/linkurious-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://linkurio.us/";>Linkurious</a>&trade; is a 
browser-based graph visualization software to search, explore and visualize 
connected data. It is compatible with Apache TinkerPop and thus, any 
TinkerPop-enabled graph system. Linkurious provides enterprise-ready security 
(authentication, access rights, audit) and flexibility (API, linkurious.js JS 
graph visualization library) to help software architects successfully deploy 
graph capabilities within their organizations.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://neo4j.com/";><img src="images/logos/neo4j-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://neo4j.com/";>Neo4j</a>&trade; is the most widely 
used open source, transactional graph database with a large active user and 
customer community. Because of its scalability and ease of use, Neo4j is 
applied in a wide variety of use cases from fraud detection, access control to 
recommendation and investigative journalism. Along with the openCypher graph 
query language, Neo4j also supports Apache TinkerPop and currently serves as 
its OLTP reference implementation.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://orientdb.com/";><img 
src="images/logos/orientdb-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://orientdb.com/";>OrientDB</a>&trade; is an open 
source distributed graph database with native support for Apache TinkerPop and 
the Gremlin graph traversal language. OrientDB handles relationships by using 
persistent pointers, rather than expensive join runtime operations. This 
guarantees a fast, constant O(1) time for traversing, no matter the database 
size. Furthermore, OrientDB is not only a graph database, but a multi-model 
database able to manage documents, keys/values, objects, full-text and spatial 
data.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://stardog.com/";><img 
src="images/logos/stardog-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://stardog.com/";>Stardog</a>&trade; is a graph 
database optimized for enterprise data unification. It supports both semantic 
graphs, via RDF, SPARQL, and OWL, as well as property graphs via Apache 
TinkerPop and Gremlin--it's the only graph database that supports both models 
over the same database, simultaneously. Stardog also supports hybrid data 
unification architectures, seamlessly blending data warehouse, system of 
record, and virtual query strategies. Stardog is suited for enterprise data 
silo challenges.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://titan.thinkaurelius.com/";><img 
src="images/logos/titan-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://titan.thinkaurelius.com/";>Titan</a>&trade; is an 
Apache2 licensed scalable, distributed graph database optimized for storing and 
querying graphs containing hundreds of billions of vertices and edges 
distributed across a multi-machine cluster. Titan is a transactional database 
that can support thousands of concurrent users executing complex Gremlin 
traversals in real time. Titan also provides an in-memory, compression-based 
OLAP processor as well as integrates with Apache TinkerPop's Spark/Giraph OLAP 
processors.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tomsawyer.com/products/perspectives/";><img 
src="images/logos/tomsawyer-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tomsawyer.com/products/perspectives/";>Tom Sawyer 
Perspectives</a>&trade; is advanced graphics-based software for building 
enterprise-class data relationship visualization and analysis applications. It 
is a complete Software Development Kit (SDK) with a graphics-based design and 
preview environment. Tom Sawyer Perspectives combines visualization, layout, 
and analysis technology with an elegant platform architecture. Tom Sawyer 
Perspectives enables interaction with graph database systems via Apache 
TinkerPop.
+         </div>
+         <div class="col-sm-6 col-md-6"></div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <a name="query-language-providers"></a>
+      <h3>Query Language Providers</h3>
+      <br/>
+      <div class="row">
+         <div class="col-sm-3 col-md-3">
+            <img src="images/gremlin-quill.png" style="width:100%;">
+         </div>
+         <div class="col-sm-9 col-md-9">
+            With the growth of <a 
href="https://en.wikipedia.org/wiki/NoSQL";>NoSQL</a>, for which graph databases 
are a subclass, many new database query languages have been developed. SQL has
+            always been the industry standard, but now there exists others 
such as <a 
href="http://docs.datastax.com/en/cql/3.1/cql/cql_intro_c.html";>CQL</a>, <a 
href="https://en.wikipedia.org/wiki/Datalog";>Datalog</a>,
+            and <a href="https://en.wikipedia.org/wiki/XQuery";>XQuery</a>. 
Even in the graph database space there is <a 
href="https://en.wikipedia.org/wiki/SPARQL";>SPARQL</a>, <a 
href="http://neo4j.com/developer/cypher-query-language/";>Cypher</a>,
+            <a href="http://graphql.org/";>GraphQL</a>, and of course, Gremlin. 
Much like the <a href="https://en.wikipedia.org/wiki/Java_virtual_machine";>Java 
virtual machine</a> is a host to multiple
+            programming languages including Java, Scala, Groovy, Clojure, 
JavaScript, etc., the Gremlin traversal machine is a host to multiple query 
languages. The Gremlin traversal machine's
+            instruction set ensures <a 
href="https://en.wikipedia.org/wiki/Turing_completeness";>Turing 
Completeness</a> and as such, any query language can compile to execute on the 
Gremlin traversal machine.
+            There are three types of language designers. Below, each type will 
demonstrate the "same traversal" expressed in different languages. Ultimately, 
they all compile to the Gremlin traversal
+            below which computes the average rating for the projects created 
by Gremlin's friends.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-md-4">
+            <pre style="padding:10px"><code 
class="language-gremlin">g.V().has("person","name","gremlin").
+  out("knows").out("created").
+  hasLabel("project").
+  values("stars").mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-8 col-md-9">
+            <br/>
+            <strong>Distinct query language</strong>: Query languages such as 
SQL and SPARQL are significantly different from Gremlin in that they require a 
special purpose compiler in order to
+            generate a traversal. For this reason, <a 
href="https://github.com/twilmes/sql-gremlin";>SQL</a> and <a 
href="https://github.com/dkuppitz/sparql-gremlin";>SPARQL</a> Gremlin compilers
+            currently exist. Note that, within reason, Gremlin compilers do 
not need to concern themselves with an optimal compilation (only a semantically 
correct compilation) as the Gremlin
+            traversal machine will leverage traversal strategies for both 
compile-time and runtime optimizations. Moreover, the language designer can 
rest assured that queries in their language
+            will be able to evaluate as either an OLTP or OLAP query. The 
example on the right is a SPARQL query that determines the average rating for 
Gremlin's friends' projects. It is because
+            of the Gremlin traversal machine, that that SPARQL query can 
immediately execute over Spark (for instance).
+         </div>
+         <div class="col-sm-4 col-md-3">
+            <pre style="padding:10px;"><code class="language-gremlin">SELECT 
AVG(?stars) WHERE {
+  ?a v:label person .
+  ?a v:name "gremlin" .
+  ?a e:knows ?b .
+  ?b e:created ?c .
+  ?c v:label "project" .
+  ?c v:stars ?stars
+}</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-7 col-md-8">
+            <strong>Gremlin language variants</strong>: There are various <a 
href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/";>Gremlin
 language variants</a> such as <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python";>Gremlin-Python</a>.
 These languages
+            generate Gremlin bytecode utilizing the same 
naming/style-conventions as Gremlin-Java. However, where appropriate, they can 
deviate from convention in order to take advantage of the unique expressive 
qualities of the host language. For instance, Gremlin-Python supports index 
slices, attribute access, etc.
+         </div>
+         <div class="col-sm-5 col-md-4">
+            <pre style="padding:10px;"><code 
class="language-gremlin">g.V().has('person','name','gremlin').
+  out('knows').out('created').
+  hasLabel('project').stars.mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-8">
+            <strong>Domain specific languages</strong>: A users's application 
logic typically represents its domain in terms of real-world objects, not 
"vertices" and "edges." While most application developers will become 
comfortable writing their traversals in the vertex/edge-lexicon of Gremlin, it 
may be desirable to create a domain specific language for, perhaps, business 
users. To do so is simple. The language designer extends Traversal and 
interacts with an underlying GraphTraversal exposing "high-level" steps that 
may ultimately be composed of a complex sequence of "low-level" 
vertex/edge-steps. A major boon is that the DSL designer does not have to worry 
about compiler optimization as the "low-level" GraphTraversal representation 
will ultimately be subjected to traversal strategies prior to OLTP or OLAP 
evaluation. The example on the right is a hypothetical SocialDSL that allows 
users to query their graph from the perspective of people, projects, etc. and 
is thus bound to tha
 t graph's particular social data schema.
+         </div>
+         <div class="col-sm-6 col-md-4">
+            <br/>
+            <br/>
+            <pre style="padding:10px;"><code 
class="language-gremlin">SELECT(Average.of(Stars)).
+FROM(Projects)
+WHERE(Created.by(Friends.of("gremlin")))</code></pre>
+         </div>
+      </div>
+      <br/>
+      <h4>TinkerPop-Enabled Query Languages</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to TinkerPop-enabled 
graph query languages. Please read Apache TinkerPop's <a 
href="policy.html">provider listing policy</a> for adding new projects to the 
listing below.
+      The listing is intended to help users identify TinkerPop-enabled 
compilers and languages and does not constitute an endorsement by Apache 
TinkerPop nor the Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console";><img 
src="images/logos/gremlin-groovy-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console";>Gremlin-Groovy</a>
 represents Gremlin inside the Groovy language and can be leveraged by any 
JVM-based project either through gmaven or its JSR-223 ScriptEngine 
implementation. It also serves as the Gremlin Console language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants";><img
 src="images/logos/gremlin-java-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants";>Gremlin-Java</a>
 represents Gremlin inside the Java8 language. Gremlin-Java is considered the 
canonical, reference implementation of Gremlin and is the primary compiler for 
all lambda-free bytecode due to its speed relative to other script-based, JVM 
variants.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python";><img 
src="images/logos/gremlin-python-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python";>Gremlin-Python</a>
 represents Gremlin inside the Python language and can be used by any Python 
virtual machine such as CPython and Jython. Gremlin-Python traversals translate 
to Gremlin bytecode for RemoteConnection execution (e.g. Gremlin Server).
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/mpollmeier/gremlin-scala";><img 
src="images/logos/gremlin-scala-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="https://github.com/mpollmeier/gremlin-scala";>Gremlin-Scala</a> is a 
Gremlin language variant that uses standard Scala functions, provides a 
convenient DSL to create vertices and edges, ensures type safe traversals, and 
incurrs minimal runtime overhead by only allocating instances if absolutely 
necessary.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/clojurewerkz/ogre";><img 
src="images/logos/ogre-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/clojurewerkz/ogre";>Ogre</a> is a 
Gremlin language variant for Clojure. It provides an API that enhances the 
expressivity of Gremlin within Clojure, it doesn't introduce any significant 
amount of performance overhead, and it can work with any TinkerPop-enabled 
graph database or analytic system.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/dkuppitz/sparql-gremlin";><img 
src="images/logos/sparql-gremlin-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a 
href="https://github.com/dkuppitz/sparql-gremlin";>SPARQL-Gremlin</a> is a 
compiler used to transform SPARQL queries into Gremlin bytecode. It is based on 
the Apache Jena SPARQL processor ARQ, which provides access to a syntax tree of 
a SPARQL query.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/twilmes/sql-gremlin";><img 
src="images/logos/sql-gremlin-logo.png" 
style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/twilmes/sql-gremlin";>SQL-Gremlin</a> 
compiles ANSI SQL to Gremlin bytecode and is useful for connecting JDBC 
reporting/business
+            intelligence tools to any TinkerPop-enabled graph system.
+         </div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <hr/>
+      <h4>Related Resources</h4>
+      <br/>
+      <div class="carousel slide" data-ride="carousel" data-type="multi" 
data-interval="7000" id="relatedResources">
+         <div class="carouselGrid-inner">
+            <div class="item active">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a 
href="https://markorodriguez.com/2013/01/09/on-graph-computing/";><img 
src="images/resources/on-graph-computing-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a 
href="https://academy.datastax.com/courses/ds230-getting-started-gremlin/property-graph";><img
 src="images/resources/property-graph-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a 
href="http://neo4j.com/why-graph-databases/";><img 
src="images/resources/why-graph-databases-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a 
href="https://thinkaurelius.com/2012/03/22/understanding-the-world-using-tables-and-graphs/";><img
 src="images/resources/tables-and-graphs-resource.png" width="100%"/></a></div>
+            </div>
+         </div>
+         <a class="left carouselGrid-control" href="#relatedResources" 
data-slide="prev">
+         <span class="icon-prev" aria-hidden="true"></span>
+         <span class="sr-only">Previous</span>
+         </a>
+         <a class="right carouselGrid-control" href="#relatedResources" 
data-slide="next">
+         <span class="icon-next" aria-hidden="true"></span>
+         <span class="sr-only">Next</span>
+         </a>
+      </div>
+      <script>
+         $('.carousel[data-type="multi"] .item').each(function(){
+           var next = $(this).next(); // grabs the next sibling of the 
carouselGrid
+           if (!next.length) { // if ther isn't a next
+             next = $(this).siblings(':first'); // this is the first
+           }
+           next.children(':first-child').clone().appendTo($(this)); // put the 
next ones on the array
+
+           for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE 
CAROUSEL
+             next=next.next();
+             if (!next.length) {
+               next = $(this).siblings(':first');
+             }
+             next.children(':first-child').clone().appendTo($(this));
+           }
+
+         });
+      </script>
+   </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/docs/site/home/template/header-footer.html 
b/docs/site/home/template/header-footer.html
new file mode 100644
index 0000000..90cd3b5
--- /dev/null
+++ b/docs/site/home/template/header-footer.html
@@ -0,0 +1,148 @@
+<!--
+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.
+-->
+<!DOCTYPE html>
+<!--
+       \,,,/
+       (o o)
+  -oOOo-(3)-oOOo-
+-->
+<html lang="en">
+   <head>
+      <meta charset="utf-8">
+      <meta http-equiv="X-UA-Compatible" content="IE=edge">
+      <meta name="viewport" content="width=device-width, initial-scale=1">
+      <title>Apache TinkerPop</title>
+      <meta name="description" content="A Graph Computing Framework">
+      <meta name="author" content="Apache TinkerPop">
+      <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and 
media queries -->
+      <!-- WARNING: Respond.js doesn't work if you view the page via file:// 
-->
+      <!--[if lt IE 9]>
+      <script 
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js";></script>
+      <script 
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+      <![endif]-->
+      <link 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"; 
rel="stylesheet" type="text/css">
+      <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
+      <script src="js/bootstrap-3.3.5.min.js" type="text/javascript"></script>
+      <link href="css/carousel.css" rel="stylesheet" type="text/css">
+      <link href="css/prism.css" rel="stylesheet" type="text/css"/>
+      <link href="css/bootstrap-mods.css" rel="stylesheet" type="text/css"/>
+      <!-- Le fav and touch icons -->
+      <link rel="shortcut icon" href="images/favicon.ico">
+      <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+      <link rel="apple-touch-icon" sizes="72x72" 
href="images/apple-touch-icon-72x72.png">
+      <link rel="apple-touch-icon" sizes="114x114" 
href="images/apple-touch-icon-114x114.png">
+   </head>
+   <body>
+      <script src="js/prism.js"></script>     
+      <!---------------->
+      <!---------------->
+      <!---------------->
+      <!-- NAVIGATION -->
+      <!---------------->
+      <!---------------->
+      <!---------------->      
+      <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
+         <!-- Brand and toggle get grouped for better mobile display -->
+         <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse"
+               data-target="#navbar-collapse-1">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="http://tinkerpop.apache.org";><font 
face="american typewriter"><b>Apache TinkerPop</b></font></a>
+         </div>
+         <div id="navbar-collapse-1" class="collapse navbar-collapse">
+            <ul class="nav navbar-nav">
+               <li><a href="downloads.html">Download</a></li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Documentation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li class="dropdown-header">Latest: 3.2.3 
(17-Oct-2016)</li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current";>TinkerPop 3.2.3</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current/upgrade";>Upgrade 
Information</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/javadocs/current/core/";>Core Javadoc 
API</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/javadocs/current/full/";>Full Javadoc 
API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li class="dropdown-header">Maintenance: 3.1.5 
(17-Oct-2016)</li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/3.1.5/";>TinkerPop 3.1.5</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/javadocs/3.1.5/core/";>Core Javadoc 
API</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/javadocs/3.1.5/full/";>Full Javadoc 
API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/";>Documentation Archives</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/javadocs/";>Javadoc Archives</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a 
href="index.html#publications">Publications</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Tutorials<b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://gremlinbin.com/";><img 
src="images/goutte-blue.png" class="nav-icon"/>Try Gremlin</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="gremlin.html">Introduction to 
Gremlin</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/";>Getting
 Started</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/";>The
 Gremlin Console</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current/recipes/";>Gremlin 
Recipes</a></li>
+                     <li><a 
href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/";>Gremlin
 Language Variants</a></li>
+                     <li><a href="http://sql2gremlin.com/";>SQL2Gremlin</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Community <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a 
href="https://groups.google.com/group/gremlin-users";>User Mailing List</a></li>
+                     <li><a 
href="https://lists.apache.org/[email protected]";>Developer 
Mailing List</a></li>
+                     <li><a 
href="https://issues.apache.org/jira/browse/TINKERPOP/";>Issue Tracker</a></li>
+                     <li><a 
href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing";>Contributing</a></li>
+                     <li><a href="providers.html">Providers</a></li>
+                     <li><a href="index.html#committers">Project 
Committers</a></li>
+                     <li><a href="policy.html">Policies</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="https://github.com/apache/tinkerpop/";><img 
src="images/gremlin-github.png" class="nav-icon"/>GitHub</a></li>
+                     <li><a 
href="https://twitter.com/apachetinkerpop";>Twitter</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Apache Software Foundation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://www.apache.org/";>Apache 
Homepage</a></li>
+                     <li><a 
href="http://www.apache.org/licenses/";>License</a></li>
+                     <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+                     <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+                     <li><a 
href="http://www.apache.org/security/";>Security</a></li>
+                  </ul>
+               </li>
+            </ul>
+         </div>
+      </nav>
+      !!!!!BODY!!!!!
+      <div id="footer">
+         <div class="container">
+            <p class="muted credit">Apache TinkerPop, TinkerPop, Apache, 
Apache feather logo, and Apache TinkerPop project logo are either registered 
trademarks or trademarks of <a href="http://www.apache.org/";>The Apache 
Software Foundation</a> in the United States and other countries.
+            </p>
+         </div>
+      </div>
+   </body>
+</html>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/generate-home.sh b/site/bin/generate-home.sh
deleted file mode 100755
index d17e37a..0000000
--- a/site/bin/generate-home.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-#
-#
-# 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.
-#
-cd `dirname $0`/..
-
-rm -rf ../target/site/home
-mkdir -p ../target/site/
-
-hash rsync 2> /dev/null
-
-if [ $? -eq 0 ]; then
-  rsync -avq home ../target/site --exclude template
-else
-  cp -R home ../target/site
-  rm -rf ../target/site/home/template
-fi
-
-for filename in home/*.html; do
-  sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e 
/!!!!!BODY!!!!!/d > "../target/site/${filename}"
-done
-
-echo "Home page site generated to $(cd ../target/site/home ; pwd)"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/publish-home.sh b/site/bin/publish-home.sh
deleted file mode 100755
index 3e6cc7d..0000000
--- a/site/bin/publish-home.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-#
-#
-# 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.
-#
-
-cd `dirname $0`/..
-
-USERNAME=$1
-
-if [ "${USERNAME}" == "" ]; then
-  echo "Please provide a SVN username."
-  echo -e "\nUsage:\n\t$0 <username>\n"
-  exit 1
-fi
-
-if [ ! -d ../target/site/home ]; then
-  bin/generate-home.sh || exit 1
-  echo
-fi
-
-read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
-echo
-
-SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
-
-cd ..
-rm -rf target/svn
-mkdir -p target/svn
-
-${SVN_CMD} co --depth files https://svn.apache.org/repos/asf/tinkerpop/site 
target/svn
-
-cd target/svn
-
-find ../site/home -mindepth 1 -maxdepth 1 -type d | xargs -n1 basename | xargs 
-r ${SVN_CMD} update
-
-diff -rq ./ ../site/home/ | awk -f ../../bin/publish-docs.awk | sed 's/^\(.\) 
\//\1 /g' > ../publish-home.files
-
-for file in $(cat ../publish-home.files | awk '/^[AU]/ {print $2}')
-do
-  if [ -d "../site/home/${file}" ]; then
-    mkdir -p "${file}" && cp -r "../site/home/${file}"/* "$_"
-  else
-    mkdir -p "`dirname ${file}`" && cp "../site/home/${file}" "$_"
-  fi
-done
-
-cat ../publish-home.files | awk '/^A/ {print $2}' | xargs -r svn add --parents
-cat ../publish-home.files | awk '/^D/ {print $2}' | xargs -r svn delete
-
-CHANGES=$(cat ../publish-home.files | wc -l)
-
-if [ ${CHANGES} -gt 0 ]; then
-  ${SVN_CMD} commit -m "Deploy TinkerPop homepage"
-fi
-

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/css/bootstrap-mods.css
----------------------------------------------------------------------
diff --git a/site/home/css/bootstrap-mods.css b/site/home/css/bootstrap-mods.css
deleted file mode 100644
index 68a6c31..0000000
--- a/site/home/css/bootstrap-mods.css
+++ /dev/null
@@ -1,140 +0,0 @@
-.nav-icon {
-    width: 24px;
-    height: 24px;
-    margin-right: 5px;
-}
-.hero-unit {
-    background-color: #f5f5f5;
-    margin-bottom: 2px;
-    padding: 20px;
-    -webkit-border-radius: 6px;
-    -moz-border-radius: 6px;
-    border-radius: 6px;
-    margin-top: 20px;
-}
-.hero-unit h1 {
-    margin-bottom: 0;
-    font-size: 50px;
-    line-height: 1;
-    letter-spacing: -1px;
-}
-.hero-unit p {
-    font-size: 18px;
-    font-weight: 200;
-    line-height: 27px;
-}
-.carousel-indicators-numbers li {
-    font-size: 12px;
-    text-indent: 0px;
-    margin: -2px 2px;
-    width: 25px;
-    height: 25px;
-    border: none;
-    border-radius: 100%;
-    line-height: 26px;
-    color: #fff;
-    background-color: #999;
-}
-.carousel-indicators-numbers li.active {
-    margin: -2px 2px;
-    width: 25px;
-    height: 25px;
-    background-color: #337ab7;
-}
-.carousel-indicators {
-    bottom: -39px;
-}
-.carousel-inner {
-    margin-bottom: 50px;
-}
-#footer {
-    background-color: #f5f5f5;
-}
-.container .credit {
-    margin: 20px 0;
-}
-.navbar {
-    margin-bottom: 0;
-}
-
-.hovereffect {
-width:100%;
-height:100%;
-float:left;
-overflow:hidden;
-position:relative;
-text-align:center;
-cursor:default;
-border-radius:5px;
-}
-
-.hovereffect .overlay {
-width:100%;
-height:100%;
-position:absolute;
-overflow:hidden;
-top:0;
-left:0;
-opacity:0;
-background-color:rgba(0,0,0,0.5);
--webkit-transition:all .4s ease-in-out;
-transition:all .4s ease-in-out;
-border-radius:5px;
-}
-
-.hovereffect img {
-display:block;
-position:relative;
--webkit-transition:all .4s linear;
-transition:all .4s linear;
-border-radius:5px;
-}
-
-
-.hovereffect a.info {
-text-decoration:none;
-display:inline-block;
-border-radius:5px;
-color:#fff;
-border:1px solid #fff;
-background-color:transparent;
-opacity:0;
-filter:alpha(opacity=0);
--webkit-transition:all .2s ease-in-out;
-transition:all .2s ease-in-out;
-margin:25px 0 0;
-padding:5px 5px;
-}
-
-.hovereffect a.info:hover {
-box-shadow:0 0 5px #fff;
-border-radius:5px;
-}
-
-.hovereffect:hover img {
--ms-transform:scale(1.2);
--webkit-transform:scale(1.2);
-transform:scale(1.2);
-border-radius:5px;
-}
-
-.hovereffect:hover .overlay {
-opacity:1;
-filter:alpha(opacity=100);
-border-radius:5px;
-}
-
-.hovereffect:hover h2,.hovereffect:hover a.info {
-opacity:1;
-filter:alpha(opacity=100);
--ms-transform:translatey(0);
--webkit-transform:translatey(0);
-transform:translatey(0);
-border-radius:5px;
-}
-
-.hovereffect:hover a.info {
--webkit-transition-delay:.2s;
-transition-delay:.2s;
-border-radius:5px;
-}
\ No newline at end of file

Reply via email to