This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 8d1ca9c  Refactoring the reference app into a separate module
     new 20af649  Merge branch 'master' of 
[email protected]:apache/sling-whiteboard.git
8d1ca9c is described below

commit 8d1ca9ce402189d42c2736ea9a211b38e84d066a
Author: Dan Klco <[email protected]>
AuthorDate: Fri Mar 16 15:02:32 2018 -0400

    Refactoring the reference app into a separate module
---
 cms/builder/src/main/provisioning/cms.txt          |   1 +
 cms/pom.xml                                        |   1 +
 cms/reference/${frontend.target}/gulpfile.js       | 102 ++++++
 cms/reference/${frontend.target}/package.json      |  31 ++
 .../src/fonts/OpenSans-Bold-webfont.woff           | Bin 0 -> 22432 bytes
 .../src/fonts/OpenSans-Light-webfont.woff          | Bin 0 -> 22248 bytes
 .../src/fonts/OpenSans-Regular-webfont.woff        | Bin 0 -> 22660 bytes
 .../src/fonts/OpenSans-Semibold-webfont.woff       | Bin 0 -> 22908 bytes
 .../src/img/android-chrome-192x192.png             | Bin 0 -> 3262 bytes
 .../src/img/android-chrome-512x512.png             | Bin 0 -> 7552 bytes
 .../src/img/apple-touch-icon.png                   | Bin 0 -> 3224 bytes
 .../${frontend.target}/src/img/asf-logo.svg        | 227 ++++++++++++
 .../${frontend.target}/src/img/browserconfig.xml   |  27 ++
 .../${frontend.target}/src/img/favicon-16x16.png   | Bin 0 -> 497 bytes
 .../${frontend.target}/src/img/favicon-32x32.png   | Bin 0 -> 800 bytes
 .../${frontend.target}/src/img/favicon.ico         | Bin 0 -> 15086 bytes
 .../${frontend.target}/src/img/gradient.jpg        | Bin 0 -> 24313 bytes
 .../${frontend.target}/src/img/mstile-150x150.png  | Bin 0 -> 2473 bytes
 .../src/img/safari-pinned-tab.svg                  |  19 +
 .../${frontend.target}/src/img/sling-logo.png      | Bin 0 -> 2957 bytes
 .../${frontend.target}/src/img/sling-logo.svg      |  19 +
 cms/reference/${frontend.target}/src/js/scripts.js | 390 +++++++++++++++++++++
 .../${frontend.target}/src/scss/_fonts.scss        |  43 +++
 .../${frontend.target}/src/scss/_grid.scss         | 125 +++++++
 .../${frontend.target}/src/scss/form.scss          |  62 ++++
 .../${frontend.target}/src/scss/index.scss         | 121 +++++++
 .../${frontend.target}/src/scss/styles.scss        | 166 +++++++++
 cms/{ui => reference}/pom.xml                      |  55 +--
 .../components/general/breadcrumb/breadcrumb.jsp   |   0
 .../reference/components/general/childlist.json    |   0
 .../components/general/childlist/childlist.jsp     |   0
 .../components/general/childlist/edit.json         |   0
 .../components/general/columncontrol.json          |   0
 .../general/columncontrol/columncontrol.jsp        |   0
 .../components/general/columncontrol/config.json   |   0
 .../components/general/columncontrol/edit.json     |   0
 .../components/general/columncontrol/options.jsp   |   0
 .../apps/reference/components/general/cta.json}    |   2 +-
 .../reference/components/general/cta}/config.json  |   6 +-
 .../apps/reference/components/general/cta/cta.jsp} |   8 +-
 .../reference/components/general/cta/edit.json     |  50 +++
 .../reference/components/general/cta}/options.jsp  |   8 +-
 .../apps/reference/components/general/iframe.json  |   5 +
 .../components/general/iframe}/config.json         |  12 +-
 .../reference/components/general/iframe/edit.json  |  44 +++
 .../components/general/iframe/iframe.jsp}          |  19 +-
 .../components/general/iframe}/options.jsp         |   8 +-
 .../apps/reference/components/general/image.json   |   5 +
 .../components/general/image}/config.json          |   6 +-
 .../reference/components/general/image/edit.json   |  34 ++
 .../reference/components/general/image/image.jsp}  |   6 +-
 .../components/general/image}/options.jsp          |   8 +-
 .../apps/reference/components/general/list.json    |   0
 .../reference/components/general/list/config.json  |   0
 .../reference/components/general/list/edit.json    |   0
 .../reference/components/general/list/init.jsp     |   0
 .../reference/components/general/list/item.jsp     |   0
 .../reference/components/general/list/list.jsp     |   0
 .../components/general/list/listItemOptions.jsp    |   0
 .../components/general/list/pagination.jsp         |   0
 .../reference/components/general/rss/rss.xml.jsp   |  56 +++
 .../apps/reference/components/general/search.json  |   0
 .../components/general/search/config.json          |   0
 .../reference/components/general/search/edit.json  |   0
 .../components/general/search/pagination.jsp       |   0
 .../reference/components/general/search/result.jsp |   0
 .../reference/components/general/search/search.jsp |   0
 .../components/general/sitemap/sitemap.xml.jsp     |  35 ++
 .../reference/components/general/stylewrapper.json |   0
 .../components/general/stylewrapper/config.json    |   0
 .../components/general/stylewrapper/edit.json      |   0
 .../components/general/stylewrapper/options.jsp    |   0
 .../general/stylewrapper/stylewrapper.jsp          |   0
 .../reference/components/general/suffixheader.json |   0
 .../components/general/suffixheader/edit.json      |   0
 .../general/suffixheader/suffixheader.jsp          |   0
 .../reference/components/general/tags/tags.jsp     |   0
 .../apps/reference/components/pages/base.json      |   0
 .../apps/reference/components/pages/base/base.jsp  |   0
 .../apps/reference/components/pages/base/body.jsp  |   5 +-
 .../reference/components/pages/base/content.jsp    |   0
 .../apps/reference/components/pages/base/edit.json |   0
 .../apps/reference/components/pages/base/head.jsp  |   2 +-
 .../apps/reference/components/pages/post.json      |   6 +
 .../reference/components/pages/post}/content.jsp   |   2 +
 .../reference/components/pages/post}/edit.json     |   7 +
 .../resources/jcr_root/apps/reference/i18n.json    |   0
 .../src/main/resources/jcr_root/content.json       |   3 +
 .../reference/img/SupportApache-small.png          | Bin 0 -> 96596 bytes
 .../etc/clientlibs/reference/img/apache.png        | Bin 0 -> 12022 bytes
 .../etc/clientlibs/reference/img/favicon.ico       | Bin 0 -> 1150 bytes
 .../etc/clientlibs/reference/img/sling.svg         |  19 +
 .../jcr_root/etc/clientlibs/reference/site.css     | 339 ++++++++++++++++++
 cms/ui/pom.xml                                     |   1 -
 .../reference/components/general/listitem.json     |   5 -
 95 files changed, 1989 insertions(+), 101 deletions(-)

diff --git a/cms/builder/src/main/provisioning/cms.txt 
b/cms/builder/src/main/provisioning/cms.txt
index 6031049..0be8443 100644
--- a/cms/builder/src/main/provisioning/cms.txt
+++ b/cms/builder/src/main/provisioning/cms.txt
@@ -26,4 +26,5 @@
     org.apache.sling/org.apache.sling.resourcemerger/1.3.6
     org.apache.sling/org.apache.sling.cms.core/1.0.0-SNAPSHOT
     org.apache.sling/org.apache.sling.cms.ui/1.0.0-SNAPSHOT
+    org.apache.sling/org.apache.sling.cms.reference/1.0.0-SNAPSHOT
     
\ No newline at end of file
diff --git a/cms/pom.xml b/cms/pom.xml
index 49cfde1..198337a 100644
--- a/cms/pom.xml
+++ b/cms/pom.xml
@@ -39,6 +39,7 @@
        <modules>
                <module>core</module>
                <module>ui</module>
+               <module>reference</module>
                <module>builder</module>
        </modules>
        
diff --git a/cms/reference/${frontend.target}/gulpfile.js 
b/cms/reference/${frontend.target}/gulpfile.js
new file mode 100644
index 0000000..1d91383
--- /dev/null
+++ b/cms/reference/${frontend.target}/gulpfile.js
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+const gulp        = require('gulp');
+const sass        = require('gulp-sass');
+const header      = require('gulp-header');
+const cleanCSS   = require('gulp-clean-css');
+var concatCss = require('gulp-concat-css');
+var concat = require('gulp-concat');
+var rename = require('gulp-rename');
+var uglify = require('gulp-uglify');
+let sourcemaps = require('gulp-sourcemaps');
+var merge = require('merge-stream');
+var order = require("gulp-order");
+
+const apache2License = [
+'/*',
+' * 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.',
+' */',
+''
+].join('\n');
+
+var scssStream = gulp.src('./src/scss/*.scss')
+       .pipe(sass().on('error', sass.logError))
+       .pipe(concat('scss-files.scss'))
+    .pipe(sourcemaps.init())
+    .pipe(cleanCSS())
+    .pipe(header(apache2License));
+
+var cssStream = gulp.src('./node_modules/summernote/dist/summernote-lite.css');
+
+gulp.task('styles', function() {
+        var mergedStream = merge(cssStream, scssStream)
+       .pipe(concat('styles.min.css'))
+        .pipe(gulp.dest('./dist/jcr_root/etc/clientlibs/sling-cms/css'))
+               .pipe(rename('bundle.css'))
+               .pipe(gulp.dest('./dist/jcr_root/content/starter/css'));
+        return mergedStream;
+});
+
+var vendorJSStream = gulp.src([
+       './node_modules/jquery/dist/jquery.min.js',
+       './node_modules/handlebars/dist/handlebars.min.js',
+       './node_modules/summernote/dist/summernote-lite.js']);
+
+var jsStream = gulp.src([
+               './src/js/scripts.js'
+       ])
+       .pipe(uglify())
+    .pipe(header(apache2License));
+
+gulp.task('js', function() {
+       var mergedStream = merge(jsStream, vendorJSStream)
+               .pipe(order([
+                       'node_modules/jquery/**/*.js',
+                       'node_modules/handlebars/**/*.js',
+                       'node_modules/summernote/**/*.js',
+                       'src/js/*.js',
+               ]))
+               .pipe(concat('scripts.min.js'))
+               .pipe(gulp.dest('./dist/jcr_root/etc/clientlibs/sling-cms/js'));
+});
+
+gulp.task('assets', function() {
+       gulp.src('./src/{fonts,img}/**/*')
+               .pipe(gulp.dest('./dist/jcr_root/etc/clientlibs/sling-cms'))
+               .pipe(gulp.dest('./dist/jcr_root/content/starter'));
+       gulp.src('./src/img/sling-logo.svg')
+       .pipe(gulp.dest('./dist/jcr_root/content/starter'))
+       .pipe(gulp.dest('./dist/jcr_root/content/starter'));
+       gulp.src('./node_modules/summernote/dist/font/*')
+               
.pipe(gulp.dest('./dist/jcr_root/etc/clientlibs/sling-cms/css/font'));
+});
+
+
+gulp.task('default', ['styles', 'js', 'assets'], function() {});
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/package.json 
b/cms/reference/${frontend.target}/package.json
new file mode 100644
index 0000000..5f51579
--- /dev/null
+++ b/cms/reference/${frontend.target}/package.json
@@ -0,0 +1,31 @@
+{
+  "name": "apache-sling-cms-front-end",
+  "version": "1.0.0",
+  "description": "Scripts to power the front-end of Apache Sling's CMS 
example.",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/npm/npm.git";
+  },
+  "dependencies": {
+       "jquery": "^3.3.1",
+       "handlebars": "^4.0.11",
+       "summernote": "^0.8.9"
+  },
+  "devDependencies": {
+    "gulp": "^3.9.1",
+    "gulp-concat": "^2.6.1",
+    "gulp-rename": "^1.2.2",
+    "gulp-uglify": "^3.0.0",
+    "gulp-concat-css": "^3.0.0",
+    "gulp-header": "^1.8.9",
+    "gulp-clean-css": "^3.9.2",
+    "gulp-sass": "^3.1.0",
+    "gulp-sourcemaps": "^2.6.4",
+    "merge-stream": "^1.0.1",
+    "gulp-order": "^1.1.1"
+  },
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "license": "Apache-2.0"
+}
\ No newline at end of file
diff --git 
a/cms/reference/${frontend.target}/src/fonts/OpenSans-Bold-webfont.woff 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Bold-webfont.woff
new file mode 100644
index 0000000..1205787
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Bold-webfont.woff differ
diff --git 
a/cms/reference/${frontend.target}/src/fonts/OpenSans-Light-webfont.woff 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Light-webfont.woff
new file mode 100644
index 0000000..e786074
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Light-webfont.woff differ
diff --git 
a/cms/reference/${frontend.target}/src/fonts/OpenSans-Regular-webfont.woff 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Regular-webfont.woff
new file mode 100644
index 0000000..e231183
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Regular-webfont.woff 
differ
diff --git 
a/cms/reference/${frontend.target}/src/fonts/OpenSans-Semibold-webfont.woff 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Semibold-webfont.woff
new file mode 100644
index 0000000..28d6ade
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/fonts/OpenSans-Semibold-webfont.woff 
differ
diff --git 
a/cms/reference/${frontend.target}/src/img/android-chrome-192x192.png 
b/cms/reference/${frontend.target}/src/img/android-chrome-192x192.png
new file mode 100644
index 0000000..9449505
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/android-chrome-192x192.png differ
diff --git 
a/cms/reference/${frontend.target}/src/img/android-chrome-512x512.png 
b/cms/reference/${frontend.target}/src/img/android-chrome-512x512.png
new file mode 100644
index 0000000..195ebe0
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/android-chrome-512x512.png differ
diff --git a/cms/reference/${frontend.target}/src/img/apple-touch-icon.png 
b/cms/reference/${frontend.target}/src/img/apple-touch-icon.png
new file mode 100644
index 0000000..df261e9
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/apple-touch-icon.png differ
diff --git a/cms/reference/${frontend.target}/src/img/asf-logo.svg 
b/cms/reference/${frontend.target}/src/img/asf-logo.svg
new file mode 100644
index 0000000..9e453dc
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/img/asf-logo.svg
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    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 svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; x="0px" y="0px"
+        viewBox="0 0 7127.6 2890" enable-background="new 0 0 7127.6 2890" 
xml:space="preserve">
+<path fill="#6D6E71" 
d="M7104.7,847.8c15.3,15.3,22.9,33.7,22.9,55.2c0,21.5-7.6,39.9-22.9,55.4c-15.3,15.4-33.8,23.1-55.6,23.1
+       
c-21.8,0-40.2-7.6-55.4-22.9c-15.1-15.3-22.7-33.7-22.7-55.2c0-21.5,7.6-39.9,22.9-55.4c15.3-15.4,33.7-23.1,55.4-23.1
+       C7070.9,824.9,7089.4,832.5,7104.7,847.8z 
M7098.1,951.9c13.3-13.6,20-29.8,20-48.7s-6.6-35-19.8-48.5
+       
c-13.2-13.4-29.4-20.1-48.6-20.1c-19.2,0-35.4,6.7-48.7,20.2c-13.3,13.5-19.9,29.7-19.9,48.7c0,19,6.6,35.2,19.7,48.6
+       c13.1,13.4,29.3,20.1,48.5,20.1S7084.7,965.4,7098.1,951.9z 
M7087.1,888.1c0,14-6.1,22.8-18.4,26.4l22.5,30.5h-18.2l-20.3-28.3
+       
h-18.6v28.3h-14.7v-84.6h31.8c12.8,0,22,2.2,27.6,6.6C7084.4,871.4,7087.1,878.4,7087.1,888.1z
 M7068.2,900c3-2.4,4.4-6.5,4.4-12
+       
c0-5.5-1.5-9.4-4.5-11.6c-3-2.2-8.4-3.2-16-3.2h-18v30.5h17.5C7059.7,903.6,7065.3,902.4,7068.2,900z"/>
+<path fill="#6D6E71" 
d="M1803.6,499.8v155.4h-20V499.8h-56.8v-19.2h133.9v19.2H1803.6z"/>
+<path fill="#6D6E71" 
d="M2082.2,655.2v-76.9h-105.2v76.9h-20V480.5h20v78.9h105.2v-78.9h20v174.7H2082.2z"/>
+<path fill="#6D6E71" 
d="M2241.4,499.8v57.4h88.1v19.2h-88.1v59.8h101.8v19h-121.8V480.5H2340v19.2H2241.4z"/>
+<path fill="#D22128" 
d="M1574.5,1852.4l417.3-997.6h80.1l417.3,997.6h-105.4l-129.3-311.9h-448.2l-127.9,311.9H1574.5z
 M2032.6,970
+       l-205.1,493.2h404.7L2032.6,970z"/>
+<path fill="#D22128" 
d="M2596.9,1852.4V854.8H3010c171.4,0,295.1,158.8,295.1,313.3c0,163-115.2,316.1-286.6,316.1h-324.6v368.1
+       H2596.9z 
M2693.9,1397.1h318.9c118,0,193.9-108.2,193.9-229c0-125.1-92.7-226.2-202.3-226.2h-310.5V1397.1z"/>
+<path fill="#D22128" 
d="M3250.5,1852.4l417.3-997.6h80.1l417.3,997.6h-105.4l-129.3-311.9h-448.2l-127.9,311.9H3250.5z
 M3708.6,970
+       l-205.1,493.2h404.7L3708.6,970z"/>
+<path fill="#D22128" 
d="M4637.3,849.1c177,0,306.3,89.9,368.1,217.8l-78.7,47.8c-63.2-132.1-186.9-177-295.1-177
+       
c-238.9,0-369.5,213.6-369.5,414.5c0,220.6,161.6,420.1,373.7,420.1c112.4,0,244.5-56.2,307.7-185.5l81.5,42.1
+       
c-64.6,148.9-241.7,231.8-394.8,231.8c-274,0-466.5-261.3-466.5-514.2C4163.8,1106.3,4336.6,849.1,4637.3,849.1z"/>
+<path fill="#D22128" 
d="M5949.1,854.8v997.6h-98.4v-466.5h-591.5v466.5h-96.9V854.8h96.9v444h591.5v-444H5949.1z"/>
+<path fill="#D22128" 
d="M6844.6,1765.2v87.1h-670.2V854.8H6832v87.1h-560.6v359.7h489v82.9h-489v380.8H6844.6z"/>
+<path fill="#6D6E71" 
d="M1667.6,2063.6c11.8,3.5,22.2,8.3,31,14.2l-10.3,22.6c-9-6-18.6-10.4-28.9-13.4c-10.2-2.9-20-4.4-29.2-4.4
+       
c-13.6,0-24.5,2.4-32.6,7.3c-8.1,4.9-12.2,11.8-12.2,20.7c0,7.6,2.3,14,6.8,19c4.5,5,10.2,8.9,17,11.7c6.8,2.8,16.1,6,28,9.6
+       
c14.4,4.6,26,8.9,34.7,12.9c8.8,4,16.3,9.9,22.5,17.8c6.2,7.8,9.3,18.2,9.3,31c0,11.7-3.2,21.8-9.5,30.6
+       
c-6.3,8.7-15.3,15.5-26.8,20.3c-11.6,4.8-24.9,7.2-40,7.2c-15.1,0-29.7-2.9-43.9-8.7c-14.2-5.8-26.4-13.6-36.6-23.4l10.7-21.6
+       
c9.6,9.4,20.7,16.7,33.3,21.9c12.6,5.2,24.8,7.8,36.8,7.8c15.3,0,27.3-3,36.1-8.9c8.8-5.9,13.2-13.9,13.2-23.9
+       
c0-7.8-2.3-14.3-6.9-19.4c-4.6-5.1-10.3-9-17.1-11.9c-6.8-2.8-16.1-6-28-9.6c-14.2-4.2-25.7-8.3-34.6-12.2
+       
c-8.9-3.9-16.4-9.7-22.5-17.5c-6.1-7.7-9.2-17.9-9.2-30.6c0-10.9,3-20.4,9-28.6c6-8.2,14.6-14.6,25.6-19.1
+       
c11.1-4.5,23.8-6.8,38.2-6.8C1643.8,2058.3,1655.7,2060.1,1667.6,2063.6z"/>
+<path fill="#6D6E71" 
d="M1980.1,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
+       
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
+       
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
+       C1944.8,2058.6,1963.2,2063.3,1980.1,2072.8z 
M1881.9,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7
+       
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
+       
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
+       
c-13-7.4-27.2-11.2-42.6-11.2C1909.4,2081.5,1895.1,2085.2,1881.9,2092.7z"/>
+<path fill="#6D6E71" 
d="M2186.5,2082.4v74h98.4v23.2h-98.4v90.2h-24.1v-210.6h133.8v23.2H2186.5z"/>
+<path fill="#6D6E71" 
d="M2491.6,2082.4v187.4h-24.1v-187.4h-68.4v-23.2h161.4v23.2H2491.6z"/>
+<path fill="#6D6E71" 
d="M2871.8,2269.8l-56.8-177.4l-57.6,177.4h-24.5l-70.5-210.6h25.9l57.9,182.7l57.1-182.4l24.1-0.3l57.7,182.7
+       l57.1-182.7h25l-70.6,210.6H2871.8z"/>
+<path fill="#6D6E71" 
d="M3087.3,2216.6l-23.5,53.2h-25.6l94.4-210.6h25l94.1,210.6h-26.1l-23.5-53.2H3087.3z
 M3144.5,2086.6
+       l-46.9,106.8h94.4L3144.5,2086.6z"/>
+<path fill="#6D6E71" 
d="M3461.1,2202.7c-6,0.4-10.7,0.6-14.1,0.6h-56v66.5H3367v-210.6h80c26.2,0,46.6,6.2,61.2,18.5
+       
c14.5,12.3,21.8,29.8,21.8,52.3c0,17.2-4.1,31.7-12.2,43.3c-8.1,11.6-19.8,20-35,25l49.2,71.5h-27.3L3461.1,2202.7z
 M3491.3,2167.6
+       
c10.3-8.4,15.5-20.8,15.5-37c0-15.9-5.2-27.9-15.5-36c-10.3-8.1-25.1-12.2-44.3-12.2h-56v97.8h56
+       C3466.2,2180.2,3481,2176,3491.3,2167.6z"/>
+<path fill="#6D6E71" 
d="M3688.3,2082.4v69.2h106.2v23.2h-106.2v72.1h122.8v22.9h-146.9v-210.6h142.9v23.2H3688.3z"/>
+<path fill="#6D6E71" 
d="M4147,2082.4v74h98.4v23.2H4147v90.2h-24.1v-210.6h133.8v23.2H4147z"/>
+<path fill="#6D6E71" 
d="M4523.3,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
+       
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
+       
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
+       C4488.1,2058.6,4506.5,2063.3,4523.3,2072.8z 
M4425.2,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7
+       
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
+       
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
+       
c-13-7.4-27.2-11.2-42.6-11.2C4452.6,2081.5,4438.3,2085.2,4425.2,2092.7z"/>
+<path fill="#6D6E71" 
d="M4854.7,2247.7c-15.7,15.5-37.3,23.3-64.8,23.3c-27.7,0-49.4-7.8-65.1-23.3c-15.7-15.5-23.6-37-23.6-64.6
+       
v-124h24.1v124c0,20.3,5.8,36.1,17.3,47.5c11.6,11.4,27.3,17.1,47.3,17.1c20.1,0,35.8-5.7,47.1-17c11.4-11.3,17-27.2,17-47.7v-124
+       h24.1v124C4878.2,2210.7,4870.4,2232.2,4854.7,2247.7z"/>
+<path fill="#6D6E71" 
d="M5169.5,2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3,169.3v-169.3h23.8v210.6H5169.5z"/>
+<path fill="#6D6E71" 
d="M5478.4,2073.1c16.4,9.3,29.4,21.9,38.9,37.9c9.6,16,14.3,33.9,14.3,53.5s-4.8,37.6-14.3,53.6
+       
c-9.5,16.1-22.6,28.7-39.3,37.9c-16.6,9.2-35.2,13.8-55.5,13.8h-84.3v-210.6h85.2C5443.7,2059.2,5462,2063.8,5478.4,2073.1z
+        
M5362.3,2246.9h61.4c15.5,0,29.6-3.5,42.3-10.6c12.7-7.1,22.8-16.9,30.2-29.5c7.4-12.5,11.1-26.5,11.1-42
+       
c0-15.5-3.8-29.4-11.3-41.9c-7.5-12.5-17.7-22.3-30.6-29.6c-12.8-7.2-27-10.9-42.6-10.9h-60.5V2246.9z"/>
+<path fill="#6D6E71" 
d="M5668.6,2216.6l-23.5,53.2h-25.6l94.4-210.6h25l94.1,210.6H5807l-23.5-53.2H5668.6z
 M5725.8,2086.6
+       l-46.9,106.8h94.4L5725.8,2086.6z"/>
+<path fill="#6D6E71" 
d="M5991,2082.4v187.4H5967v-187.4h-68.4v-23.2h161.4v23.2H5991z"/>
+<path fill="#6D6E71" d="M6175.9,2269.8v-210.6h24.1v210.6H6175.9z"/>
+<path fill="#6D6E71" 
d="M6493.7,2072.8c16.8,9.4,30.2,22.3,40,38.4c9.8,16.2,14.8,33.9,14.8,53.3c0,19.5-4.9,37.4-14.8,53.6
+       
c-9.8,16.3-23.2,29.1-40,38.6c-16.8,9.5-35.3,14.3-55.2,14.3c-20.3,0-38.8-4.7-55.7-14.3c-16.8-9.5-30.2-22.4-40-38.6
+       
c-9.8-16.3-14.8-34.1-14.8-53.6c0-19.5,4.9-37.3,14.8-53.5c9.8-16.2,23.2-29,40-38.3c16.8-9.4,35.4-14,55.7-14
+       C6458.5,2058.6,6476.9,2063.3,6493.7,2072.8z 
M6395.6,2092.7c-13.1,7.4-23.6,17.5-31.4,30.1c-7.8,12.6-11.8,26.5-11.8,41.7
+       
c0,15.3,3.9,29.3,11.8,42c7.8,12.7,18.3,22.8,31.4,30.2c13.1,7.4,27.4,11.1,42.9,11.1c15.5,0,29.7-3.7,42.7-11.1
+       
c13-7.4,23.3-17.4,31.1-30.2c7.7-12.7,11.6-26.7,11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30
+       c-13-7.4-27.2-11.2-42.6-11.2C6423,2081.5,6408.8,2085.2,6395.6,2092.7z"/>
+<path fill="#6D6E71" 
d="M6826.5,2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3,169.3v-169.3h23.8v210.6H6826.5z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4516.6152" 
y1="-2338.7222" x2="-4108.4111" y2="-1861.3982" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0" style="stop-color:#F69923"/>
+       <stop  offset="0.3123" style="stop-color:#F79A23"/>
+       <stop  offset="0.8383" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" 
d="M1230.1,13.7c-45.3,26.8-120.6,102.5-210.5,212.3l82.6,155.9c58-82.9,116.9-157.5,176.3-221.2
+       
c4.6-5.1,7-7.5,7-7.5c-2.3,2.5-4.6,5-7,7.5c-19.2,21.2-77.5,89.2-165.5,224.4c84.7-4.2,214.9-21.6,321.1-39.7
+       c31.6-177-31-258-31-258S1323.4-41.4,1230.1,13.7z"/>
+<path fill="none" 
d="M1090.2,903.1c0.6-0.1,1.2-0.2,1.8-0.3l-11.9,1.3c-0.7,0.3-1.4,0.7-2.1,1
+       C1082.1,904.4,1086.2,903.7,1090.2,903.1z"/>
+<path fill="none" 
d="M1005.9,1182.3c-6.7,1.5-13.7,2.7-20.7,3.7C992.3,1185,999.2,1183.8,1005.9,1182.3z"/>
+<path fill="none" 
d="M432.9,1808.8c0.9-2.3,1.8-4.7,2.6-7c18.2-48,36.2-94.7,54-140.1c20-51,39.8-100.4,59.3-148.3
+       
c20.6-50.4,40.9-99.2,60.9-146.3c21-49.4,41.7-97,62-142.8c16.5-37.3,32.8-73.4,48.9-108.3c5.4-11.7,10.7-23.2,16-34.6
+       
c10.5-22.7,21-44.8,31.3-66.5c9.5-20,19-39.6,28.3-58.8c3.1-6.4,6.2-12.8,9.3-19.1c0.5-1,1-2,1.5-3.1l-10.2,1.1l-8-15.9
+       
c-0.8,1.6-1.6,3.1-2.4,4.6c-14.5,28.8-28.9,57.9-43.1,87.2c-8.2,16.9-16.4,34-24.6,51c-22.6,47.4-44.8,95.2-66.6,143.3
+       
c-22.1,48.6-43.7,97.5-64.9,146.5c-20.8,48.1-41.3,96.2-61.2,144.2c-20,48-39.5,95.7-58.5,143.2c-19.9,49.5-39.2,98.7-58,147.2
+       
c-4.2,10.9-8.5,21.9-12.7,32.8c-15,39.2-29.7,77.8-44,116l12.7,25.1l11.4-1.2c0.4-1.1,0.8-2.3,1.3-3.4
+       C396.7,1905.4,414.9,1856.4,432.9,1808.8z"/>
+<path fill="none" 
d="M980,1186.8L980,1186.8c0.1,0,0.1,0,0.1-0.1C980.1,1186.8,980.1,1186.8,980,1186.8z"/>
+<path fill="#BE202E" 
d="M952.6,1323c-10.6,1.9-21.4,3.8-32.5,5.7c-0.1,0-0.1,0.1-0.2,0.1c5.6-0.8,11.2-1.7,16.6-2.6
+       C942,1325.2,947.3,1324.1,952.6,1323z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M952.6,1323c-10.6,1.9-21.4,3.8-32.5,5.7c-0.1,0-0.1,0.1-0.2,0.1c5.6-0.8,11.2-1.7,16.6-2.6
+       C942,1325.2,947.3,1324.1,952.6,1323z"/>
+<path fill="#BE202E" 
d="M980.3,1186.7C980.2,1186.7,980.2,1186.7,980.3,1186.7c-0.1,0.1-0.2,0.1-0.2,0.1c1.8-0.2,3.5-0.5,5.2-0.8
+       
c7-1,13.9-2.2,20.7-3.7C997.5,1183.8,989,1185.2,980.3,1186.7L980.3,1186.7L980.3,1186.7z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980.3,1186.7C980.2,1186.7,980.2,1186.7,980.3,1186.7c-0.1,0.1-0.2,0.1-0.2,0.1
+       
c1.8-0.2,3.5-0.5,5.2-0.8c7-1,13.9-2.2,20.7-3.7C997.5,1183.8,989,1185.2,980.3,1186.7L980.3,1186.7L980.3,1186.7z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-7537.7339" 
y1="-2391.4075" x2="-4625.4141" y2="-2391.4075" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" 
d="M858.6,784.7c25.1-46.9,50.5-92.8,76.2-137.4c26.7-46.4,53.7-91.3,80.9-134.7
+       
c1.6-2.6,3.2-5.2,4.8-7.7c27-42.7,54.2-83.7,81.6-122.9L1019.5,226c-6.2,7.6-12.5,15.3-18.8,23.2c-23.8,29.7-48.6,61.6-73.9,95.5
+       
c-28.6,38.2-58,78.9-87.8,121.7c-27.6,39.5-55.5,80.9-83.5,123.7c-23.8,36.5-47.7,74-71.4,112.5c-0.9,1.4-1.8,2.9-2.6,4.3
+       l107.5,212.3C811.8,873.6,835.1,828.7,858.6,784.7z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-7186.1777" 
y1="-2099.3059" x2="-5450.7183" y2="-2099.3059" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0" style="stop-color:#282662"/>
+       <stop  offset="9.548390e-02" style="stop-color:#662E8D"/>
+       <stop  offset="0.7882" style="stop-color:#9F2064"/>
+       <stop  offset="0.9487" style="stop-color:#CD2032"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" 
d="M369,1981c-14.2,39.1-28.5,78.9-42.9,119.6c-0.2,0.6-0.4,1.2-0.6,1.8c-2,5.7-4.1,11.5-6.1,17.2
+       
c-9.7,27.4-18,52.1-37.3,108.2c31.7,14.5,57.1,52.5,81.1,95.6c-2.6-44.7-21-86.6-56.2-119.1c156.1,7,290.6-32.4,360.1-146.6
+       
c6.2-10.2,11.9-20.9,17-32.2c-31.6,40.1-70.8,57.1-144.5,53c-0.2,0.1-0.3,0.1-0.5,0.2c0.2-0.1,0.3-0.1,0.5-0.2
+       
c108.6-48.6,163.1-95.3,211.2-172.6c11.4-18.3,22.5-38.4,33.8-60.6c-94.9,97.5-205,125.3-320.9,104.2l-86.9,9.5
+       C374.4,1966.3,371.7,1973.6,369,1981z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2418.5454" x2="-4461.8428" y2="-2418.5454" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" 
d="M409.6,1786.3c18.8-48.5,38.1-97.7,58-147.2c19-47.4,38.5-95.2,58.5-143.2
+       
c20-48,40.4-96.1,61.2-144.2c21.2-49,42.9-97.8,64.9-146.5c21.8-48.1,44-95.9,66.6-143.3c8.1-17.1,16.3-34.1,24.6-51
+       
c14.2-29.3,28.6-58.4,43.1-87.2c0.8-1.6,1.6-3.1,2.4-4.6L681.4,706.8c-1.8,2.9-3.5,5.8-5.3,8.6c-25.1,40.9-50,82.7-74.4,125.4
+       
c-24.7,43.1-49,87.1-72.7,131.7c-20,37.6-39.6,75.6-58.6,113.9c-3.8,7.8-7.6,15.5-11.3,23.2c-23.4,48.2-44.6,94.8-63.7,139.5
+       
c-21.7,50.7-40.7,99.2-57.5,145.1c-11,30.2-21,59.4-30.1,87.4c-7.5,24-14.7,47.9-21.5,71.8c-16,56.3-29.9,112.4-41.2,168.3
+       
L353,1935.1c14.3-38.1,28.9-76.8,44-116C401.1,1808.2,405.4,1797.3,409.6,1786.3z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-7161.7642" 
y1="-2379.1431" x2="-5631.2524" y2="-2379.1431" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0" style="stop-color:#282662"/>
+       <stop  offset="9.548390e-02" style="stop-color:#662E8D"/>
+       <stop  offset="0.7882" style="stop-color:#9F2064"/>
+       <stop  offset="0.9487" style="stop-color:#CD2032"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" 
d="M243.5,1729.4c-13.6,68.2-23.2,136.2-28,203.8c-0.2,2.4-0.4,4.7-0.5,7.1
+       
c-33.7-54-124-106.8-123.8-106.2c64.6,93.7,113.7,186.7,120.9,278c-34.6,7.1-82-3.2-136.8-23.3c57.1,52.5,100,67,116.7,70.9
+       
c-52.5,3.3-107.1,39.3-162.1,80.8c80.5-32.8,145.5-45.8,192.1-35.3C148.1,2414.2,74.1,2645,0,2890c22.7-6.7,36.2-21.9,43.9-42.6
+       
c13.2-44.4,100.8-335.6,238-718.2c3.9-10.9,7.8-21.8,11.8-32.9c1.1-3,2.2-6.1,3.3-9.2c14.5-40.1,29.5-81.1,45.1-122.9
+       
c3.5-9.5,7.1-19,10.7-28.6c0.1-0.2,0.1-0.4,0.2-0.6l-107.9-213.2C244.6,1724.4,244,1726.9,243.5,1729.4z"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2117.1309" x2="-4461.8428" y2="-2117.1309" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_6_)" 
d="M805.6,937c-3.1,6.3-6.2,12.7-9.3,19.1c-9.3,19.2-18.8,38.8-28.3,58.8
+       
c-10.3,21.7-20.7,43.9-31.3,66.5c-5.3,11.4-10.6,22.9-16,34.6c-16.1,35-32.4,71.1-48.9,108.3c-20.3,45.8-41,93.4-62,142.8
+       
c-20,47.1-40.3,95.9-60.9,146.3c-19.5,47.9-39.3,97.3-59.3,148.3c-17.8,45.4-35.9,92.1-54,140.1c-0.9,2.3-1.8,4.7-2.6,7
+       
c-18,47.6-36.2,96.6-54.6,146.8c-0.4,1.1-0.8,2.3-1.3,3.4l86.9-9.5c-1.7-0.3-3.5-0.5-5.2-0.9c103.9-13,242.1-90.6,331.4-186.5
+       
c41.1-44.2,78.5-96.3,113-157.3c25.7-45.4,49.8-95.8,72.8-151.5c20.1-48.7,39.4-101.4,58-158.6c-23.9,12.6-51.2,21.8-81.4,28.2
+       
c-5.3,1.1-10.7,2.2-16.1,3.1c-5.5,1-11,1.8-16.6,2.6l0,0l0,0c0.1,0,0.1-0.1,0.2-0.1c96.9-37.3,158-109.2,202.4-197.4
+       
c-25.5,17.4-66.9,40.1-116.6,51.1c-6.7,1.5-13.7,2.7-20.7,3.7c-1.7,0.3-3.5,0.6-5.2,0.8l0,0l0,0c0.1,0,0.1,0,0.1-0.1
+       
c0,0,0.1,0,0.1,0l0,0c33.6-14.1,62-29.8,86.6-48.4c5.3-4,10.4-8.1,15.3-12.3c7.5-6.5,14.7-13.3,21.5-20.5c4.4-4.6,8.6-9.3,12.7-14.2
+       
c9.6-11.5,18.7-23.9,27.1-37.3c2.6-4.1,5.1-8.3,7.6-12.6c3.2-6.2,6.3-12.3,9.3-18.3c13.5-27.2,24.4-51.5,33-72.8
+       
c4.3-10.6,8.1-20.5,11.3-29.7c1.3-3.7,2.5-7.2,3.7-10.6c3.4-10.2,6.2-19.3,8.4-27.3c3.3-12,5.3-21.5,6.4-28.4l0,0l0,0
+       
c-3.3,2.6-7.1,5.2-11.3,7.7c-29.3,17.5-79.5,33.4-119.9,40.8l79.8-8.8l-79.8,8.8c-0.6,0.1-1.2,0.2-1.8,0.3c-4,0.7-8.1,1.3-12.2,2
+       c0.7-0.3,1.4-0.7,2.1-1l-273,29.9C806.6,935,806.1,936,805.6,937z"/>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-7554.8232" 
y1="-2132.0981" x2="-4642.5034" y2="-2132.0981" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_7_)" 
d="M1112.9,385.1c-24.3,37.3-50.8,79.6-79.4,127.5c-1.5,2.5-3,5.1-4.5,7.6
+       
c-24.6,41.5-50.8,87.1-78.3,137c-23.8,43.1-48.5,89.3-74.3,139c-22.4,43.3-45.6,89.2-69.4,137.8l273-29.9
+       
c79.5-36.6,115.1-69.7,149.6-117.6c9.2-13.2,18.4-27,27.5-41.3c28-43.8,55.6-92,80.1-139.9c23.7-46.3,44.7-92.2,60.7-133.5
+       
c10.2-26.3,18.4-50.8,24.1-72.3c5-19,8.9-36.9,11.9-54.1C1327.9,363.5,1197.6,380.9,1112.9,385.1z"/>
+<path fill="#BE202E" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2027.484" x2="-4461.8433" y2="-2027.484" gradientTransform="matrix(0.4226 
-0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_8_)" 
d="M936.5,1326.1c-5.5,1-11,1.8-16.6,2.6l0,0C925.5,1328,931,1327.1,936.5,1326.1z"/>
+<path fill="#BE202E" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-7374.1626" 
y1="-2037.7417" x2="-4461.8433" y2="-2037.7417" 
gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_9_)" 
d="M980,1186.8c1.8-0.2,3.5-0.5,5.2-0.8C983.5,1186.3,981.8,1186.6,980,1186.8L980,1186.8z"/>
+<path fill="#BE202E" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7L980.2,1186.7
+       C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+<path opacity="0.35" fill="#BE202E" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7
+       L980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-5738.0635" 
y1="-2039.799" x2="-5094.3457" y2="-2039.799" gradientTransform="matrix(0.4226 
-0.9063 0.9063 0.4226 5117.8774 -2859.9343)">
+       <stop  offset="0.3233" style="stop-color:#9E2064"/>
+       <stop  offset="0.6302" style="stop-color:#C92037"/>
+       <stop  offset="0.7514" style="stop-color:#CD2335"/>
+       <stop  offset="1" style="stop-color:#E97826"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" 
d="M980.2,1186.7C980.2,1186.7,980.2,1186.7,980.2,1186.7L980.2,1186.7L980.2,1186.7L980.2,1186.7
+       C980.2,1186.7,980.2,1186.7,980.2,1186.7z"/>
+</svg>
diff --git a/cms/reference/${frontend.target}/src/img/browserconfig.xml 
b/cms/reference/${frontend.target}/src/img/browserconfig.xml
new file mode 100644
index 0000000..44908da
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/img/browserconfig.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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.
+-->
+<browserconfig>
+    <msapplication>
+        <tile>
+            <square150x150logo 
src="/etc/clientlibs/sling-cms/img/mstile-150x150.png"/>
+            <TileColor>#ffffff</TileColor>
+        </tile>
+    </msapplication>
+</browserconfig>
diff --git a/cms/reference/${frontend.target}/src/img/favicon-16x16.png 
b/cms/reference/${frontend.target}/src/img/favicon-16x16.png
new file mode 100644
index 0000000..3f2e70f
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/favicon-16x16.png differ
diff --git a/cms/reference/${frontend.target}/src/img/favicon-32x32.png 
b/cms/reference/${frontend.target}/src/img/favicon-32x32.png
new file mode 100644
index 0000000..4be0b97
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/favicon-32x32.png differ
diff --git a/cms/reference/${frontend.target}/src/img/favicon.ico 
b/cms/reference/${frontend.target}/src/img/favicon.ico
new file mode 100644
index 0000000..ce0c6b4
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/favicon.ico differ
diff --git a/cms/reference/${frontend.target}/src/img/gradient.jpg 
b/cms/reference/${frontend.target}/src/img/gradient.jpg
new file mode 100644
index 0000000..5ca3d76
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/gradient.jpg differ
diff --git a/cms/reference/${frontend.target}/src/img/mstile-150x150.png 
b/cms/reference/${frontend.target}/src/img/mstile-150x150.png
new file mode 100644
index 0000000..7564a96
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/mstile-150x150.png differ
diff --git a/cms/reference/${frontend.target}/src/img/safari-pinned-tab.svg 
b/cms/reference/${frontend.target}/src/img/safari-pinned-tab.svg
new file mode 100644
index 0000000..2ada06c
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/img/safari-pinned-tab.svg
@@ -0,0 +1,19 @@
+<!--
+  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.
+-->
+<svg version="1" xmlns="http://www.w3.org/2000/svg"; width="1024" height="1024" 
viewBox="0 0 768.000000 768.000000"><path d="M63 146.1c-30.2 6.1-50.8 22.8-59.4 
48.1C1.1 201.7.8 203.9.5 216c-.7 28.6 10.1 50.8 31.7 65.7 6.6 4.5 24.7 13.9 
40.1 20.7 9.4 4.1 25.2 13.3 31 18.1 6.8 5.5 11.2 12.1 13.7 20.5 6.6 22.4-1.4 
42.1-21 52-8.8 4.5-15.7 5.8-27.4 
5.5-5.7-.1-10.7-.5-11.2-.8-.5-.3-2.6-.8-4.8-1.1-8.7-1.4-25.4-8.2-34.8-14.3-1.5-.9-2.9-1.5-3-1.3-.3.4-11.1
 27.4-13.3 33.2-1.1 2.8 23.9 14 36.4 16.3  [...]
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/img/sling-logo.png 
b/cms/reference/${frontend.target}/src/img/sling-logo.png
new file mode 100644
index 0000000..69163d9
Binary files /dev/null and 
b/cms/reference/${frontend.target}/src/img/sling-logo.png differ
diff --git a/cms/reference/${frontend.target}/src/img/sling-logo.svg 
b/cms/reference/${frontend.target}/src/img/sling-logo.svg
new file mode 100644
index 0000000..ac3c0e7
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/img/sling-logo.svg
@@ -0,0 +1,19 @@
+<!--
+  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.
+-->
+<svg id="Sling_Logo" data-name="Sling Logo" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="0 0 768 
392"><defs><linearGradient id="linear-gradient" x1="-8576.57" y1="2068.26" 
x2="-8523.42" y2="2006.11" gradientTransform="matrix(-1, -0.01, -0.01, 1, 
-8384.13, -1821.1)" gradientUnits="userSpaceOnUse"><stop offset="0" 
stop-color="#f69923"/><stop offset="0.31" stop-color="#f79a23"/><stop 
offset="0.84" stop-color="#e97826"/></linearGradient><linearGradie [...]
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/js/scripts.js 
b/cms/reference/${frontend.target}/src/js/scripts.js
new file mode 100644
index 0000000..9637b9c
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/js/scripts.js
@@ -0,0 +1,390 @@
+/*
+ * 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 Sling = {};
+Sling.CMS = {
+               ext: {},
+               decorate: function($ctx){
+                       for (var key in Sling.CMS.ext) {
+                               if(typeof Sling.CMS.ext[key].decorate == 
'function'){
+                                       console.log('Invoking decorate for 
'+key);
+                                       Sling.CMS.ext[key].decorate($ctx);
+                               }
+                       }
+               },
+               init: function(){
+                       for (var key in Sling.CMS.ext) {
+                               if(typeof Sling.CMS.ext[key].init == 
'function'){
+                                       console.log('Invoking init for '+key);
+                                       Sling.CMS.ext[key].init();
+                               }
+                       }
+                       Sling.CMS.decorate($(document));
+               },
+               ui: {
+                       alert: function(level, message){
+                               $alert = $('<div class="Alert 
Alert-'+level+'">'+message+'</div>');
+                               $('.main').prepend($alert);
+                               setTimeout(function(){
+                                       $alert.remove();
+                               }, 10000);
+                               window.scrollTo(0, 0);
+                       },
+                       confirmMessage: function(title, message, cb){
+                               var $modal = $('<div class="Modal"><div 
class="Modal-Content"><div class="Modal-Header">'+title+'</div><div 
class="Modal-Body">'+message+'</div><div class="Modal-Footer"><button 
type="button" class="Modal-Close">OK</button></div></div>');
+                               $('body').append($modal);
+                               $modal.css('display','block');
+                               Sling.CMS.decorate($modal);
+                               $modal.find('.Modal-Close').click(function(){
+                                       $modal.css('display','none').remove();
+                                       cb();
+                               });
+                               return $modal;
+                       },
+                       fetchModal: function(title, link, path, complete){
+                               var $modal = $('<div class="Modal"><div 
class="Modal-Content"><div class="Modal-Header">'+title+'<button type="button" 
class="Modal-Close Pull-Right">x</button></div><div 
class="Modal-Body"></div></div>');
+                               $('body').append($modal);
+                               $modal.find('.Modal-Body').load(link + " " 
+path,function(){
+                                       $modal.css('display','block');
+                                       Sling.CMS.decorate($modal);
+                                       
$modal.find('.Modal-Close').click(function(){
+                                               
$modal.css('display','none').remove();
+                                               return false;
+                                       });
+                                       complete();
+                               });
+                               return $modal;
+                       }
+               },
+               utils: {
+                       form2Obj: function ($form){
+                           var data = {};
+                           $.map($form.serializeArray(), function(n, i){
+                               data[n['name']] = n['value'];
+                           });
+                           return data;
+                       }
+               }
+       }
+
+       //support links which fetch HTML and display a modal
+       Sling.CMS.ext['fetch-modal'] = {
+               decorate : function($ctx){
+                       $ctx.find('a.Fetch-Modal').click(function(){
+                               var $link = $(this);
+                               $link.attr('disabled', 'disabled');
+                               
Sling.CMS.ui.fetchModal($link.attr('data-title'), 
encodeURI($link.attr('href')), $link.attr('data-path'), function(){
+                                       $link.removeAttr('disabled');
+                               });
+                               return false;
+                       });
+               }
+       }
+
+       Sling.CMS.ext['ajaxform'] = {
+               decorate: function($ctx){
+                       $ctx.find('.Form-Ajax').submit(function(){
+                               
+                               $form = $(this);
+                               var jcrcontent = false;
+                               $form.find('input').each(function(idx,inp){
+                                       if(inp.name.indexOf('jcr:content') != 
-1){
+                                               jcrcontent = true;
+                                       }
+                               });
+                               if($form.data('addDate') && 
$form.find('input[name="jcr:content/jcr:lastModified"]').length == 0){
+                                       if(jcrcontent){
+                                               $form.append('<input 
type="hidden" name="jcr:content/jcr:lastModified" />');
+                                               $form.append('<input 
type="hidden" name="jcr:content/jcr:lastModifiedBy" />');
+                                               $form.append('<input 
type="hidden" name="jcr:content/jcr:created" />');
+                                               $form.append('<input 
type="hidden" name="jcr:content/jcr:createdBy" />');
+                                       } else {
+                                               $form.append('<input 
type="hidden" name="jcr:lastModified" />');
+                                               $form.append('<input 
type="hidden" name="jcr:lastModifiedBy" />');
+                                               $form.append('<input 
type="hidden" name="jcr:created" />');
+                                               $form.append('<input 
type="hidden" name="jcr:createdBy" />');
+                                       }
+                               }
+                               $.ajax({
+                                       url: $form.attr('action'),
+                                       type: 'POST',
+                                       data: new FormData(this),
+                                       processData: false,
+                                       contentType: false,
+                                       dataType: 'json',
+                                       success: function(res,msg){
+                                               if(window.self !== window.top){
+                                                       
window.top.Sling.CMS.ui.confirmMessage(msg, res.title,function(){
+                                                               
window.top.location.reload();
+                                                       });
+                                               } else {
+                                                       
Sling.CMS.ui.confirmMessage(msg, res.title,function(){
+                                                               
location.reload();
+                                                       });
+                                               }
+                                       },
+                                       error: function(xhr, msg, err){
+                                               if(window.self !== window.top){
+                                                       
window.top.Sling.CMS.ui.confirmMessage(msg, err,function(){
+                                                       });
+                                               } else {
+                                                       
Sling.CMS.ui.confirmMessage(msg, err,function(){
+                                                       });
+                                               }
+                                       }
+                               });
+                               return false;
+                       });
+               }
+       };
+
+       Sling.CMS.ext['content-filter'] = {
+               decorate: function($ctx) {
+                       var filterContent = function(){
+                               var term = $('.content-filter 
input[type=text]').val().toLowerCase();
+                               $('.sortable tbody tr').each(function(idx,el){
+                                       
if($(el).text().toLowerCase().indexOf(term) !== -1){
+                                               $(el).show();
+                                       } else {
+                                               $(el).hide();
+                                       }
+                               });
+                       }
+                       $('.content-filter').submit(function(){
+                               filterContent();
+                               return false;
+                       });
+                       $('.content-filter 
input[type=text]').keyup(filterContent).change(filterContent);
+               }
+       };
+       
+       Sling.CMS.ext['content-sort'] = {
+               decorate: function($ctx) {
+                       $ctx.find('.sortable').each(function(){
+                               var $table = $(this);
+                               
$table.find('.sortable__header').click(function() {
+                                       var idx = 
Array.from(this.parentNode.children).indexOf(this);
+                                       var $h = $(this);
+                                       var sortStatus = 1;
+                                       if($h.data('sort-status')){
+                                               sortStatus = 
parseInt($h.data('sort-status'),10);
+                                       }
+                                       var name = $h.data('attribute');
+                                   var list = 
$table.find(".sortable__row").get();
+                                   list.sort(function(rowa, rowb) {
+                                               var vala = null;
+                                               var $ela = 
$($(rowa).find('td')[idx]);
+                                               if($ela.data('sort-value')){
+                                                       vala = 
$ela.data('sort-value');
+                                               } else {
+                                                       vala = 
$.trim($ela.text()).toLowerCase();
+                                               }
+                                               var valb = null;
+                                               var $elb = 
$($(rowb).find('td')[idx]);
+                                               if($elb.data('sort-value')){
+                                                       valb = 
$elb.data('sort-value');
+                                               } else {
+                                                       valb = 
$.trim($elb.text()).toLowerCase();
+                                               }
+                                               $h.data('sort-status', 
sortStatus * -1);
+                                       return vala.localeCompare(valb) * 
sortStatus;
+                                   });
+                                   for (var i = 0; i < list.length; i++) {
+                                       list[i].parentNode.appendChild(list[i]);
+                                   }
+                               });
+                       });
+               }
+       }
+
+       Sling.CMS.ext['fetch-json'] = {
+               decorate: function($ctx) {
+                       $ctx.find('.fetch-json').each(function(){
+                               $ctr = $(this);
+                               $.getJSON($ctr.data('url'),function(res){
+                                       var source   = 
$('#'+$ctr.data('template')).html();
+                                       var template = 
Handlebars.compile(source);
+                                       $ctr.append(template(res));
+                                       Sling.CMS.decorate($ctr);
+                               });
+                       });
+               }
+       }
+
+       Sling.CMS.ext['includeconfig'] = {
+               decorate: function($ctx){
+                       $ctx.find('.Sling-CMS__include-config').each(function(){
+                               var $ctr = $(this);
+                               var load = function(){
+                                       var config = 
$($ctr.data('source')).find('option:selected').data('config');
+                                       
+                                       if(config){
+                                               $ctr.load(config + 
$ctr.parents('form').attr('action'), function(){
+                                                       
Sling.CMS.decorate($ctr.children());
+                                               });
+                                       }
+                               };
+                               $($ctr.data('source')).change(load);
+                               load();
+                       });
+               }
+       };
+
+       Sling.CMS.ext['namehint'] = {
+               decorate: function($ctx){
+                       $ctx.find('.namehint').each(function(){
+                               var $nh = $(this);
+                               
$nh.parents('.Form-Ajax').find('select[name="sling:resourceType"]').change(function(){
+                                       var resourceType = 
$(this).val().split("\/");
+                                       
$nh.val(resourceType[resourceType.length - 1]);
+                               });
+                       });
+               }
+       };
+       
+       Sling.CMS.ext['pageproperties'] = {
+               decorate: function($ctx){
+                       
$ctx.find('.Sling-CMS__page-properties').each(function(){
+                               var $ctr = $(this);
+                               $($ctr.data('source')).change(function(){
+                                       var config = $(this).val();
+                                       $ctr.load($ctr.data('path')+config, 
function(){
+                                               var source   = 
$('#content-template').html();
+                                               var template = 
Handlebars.compile(source);
+                                               var updateContent = function(){
+                                                       var data = 
Sling.CMS.utils.form2Obj($ctr.parents('form'));
+                                                       
$('input[name=":content"]').val(template(data));
+                                               }
+                                               
$ctr.find('input,textarea,select').change(updateContent);
+                                               
$ctr.parents('form').submit(updateContent);
+                                               
Sling.CMS.decorate($ctr.children());
+                                       });
+                               });
+                       });
+               }
+       }
+
+       Sling.CMS.ext['repeating'] = {
+               decorate: function($ctx){
+                       $ctx.find('.repeating').each(function(){
+                               var $rep = $(this);
+                               $rep.find('.repeating__add').click(function(){
+                                       var $div = 
$('<div/>').html($rep.find('.repeating__template').html());
+                                       Sling.CMS.decorate($div);
+                                       $('.repeating__container').append($div);
+                                       return false;
+                               });
+                       });
+                       $ctx.find('.repeating__remove').click(function(){
+                               var $rem = $(this);
+                               $rem.parents('.repeating__item').remove();
+                               return false;
+                       });
+               }
+       };
+       
+       Sling.CMS.ext['richtext'] = {
+               decorate: function($ctx){
+                       $ctx.find('.richtext').summernote({
+                               toolbar: [
+                                       ['style', ['bold', 'italic', 
'clear','strikethrough', 'superscript', 'subscript']],
+                                   ['insert', ['picture', 'link', 'table', 
'hr']],
+                                   ['para', ['style','ul', 'ol', 'paragraph']],
+                                   ['misc', ['codeview', 'undo','redo','help']]
+                               ],
+                               dialogsInBody: true,
+                               height: 200,
+                           onCreateLink: function (url) {
+                               return url;
+                           },
+                           callbacks: {
+                                       onDialogShown: function(e){
+                                               
$('.note-link-url').attr('list','richtext-pages');
+                                               
$('.note-image-url').attr('list','richtext-images');
+                                       }
+                           }
+                       }).on('summernote.dialog.shown', function(e) {
+                         console.log('Dialog shown!');
+                       }).on('summernote.keydown', function(we, e) {
+                                 console.log('Key is downed:', e.keyCode);
+                       });
+;
+               }
+       }
+
+       Sling.CMS.ext['taxonomy'] = {
+               decorate: function($ctx){
+                       $ctx.find('.taxonomy').each(function(){
+                               var $rep = $(this);
+                               $rep.find('.taxonomy__add').click(function(){
+                                       var $span = 
$('<span/>').html($rep.find('.taxonomy__template').html());
+                                       var val = $ctx.find('.taxonomy__field 
input').val();
+                                       var found = false;
+                                       $rep.find('.taxonomy__item 
input').each(function(idx, el){
+                                               if($(el).val() === val){
+                                                       found = true;
+                                               }
+                                       });
+                                       if(found){
+                                               return false;
+                                       }
+                                       $span.find('input').val(val);
+                                       var title = 
$ctx.find('option[value="'+val+'"]').text();
+                                       
+                                       if(title !== ''){
+                                               
$span.find('.taxonomy__title').text(title);
+                                               Sling.CMS.decorate($span);
+                                               
$('.taxonomy__container').append($span);
+                                       }
+                                       return false;
+                               });
+                       });
+                       $ctx.find('.taxonomy__item').click(function(){
+                               $(this).remove();
+                               return false;
+                       });
+               }
+       };
+       
+       Sling.CMS.ext['toggle-hidden'] = {
+               decorate: function($ctx){
+                       $ctx.find('.Toggle-Hidden').click(function(){
+                               $($(this).data('target')).toggleClass('Hide');
+                       });
+               }
+       }
+       
+       Sling.CMS.ext['toggle-value'] = {
+               decorate: function($ctx) {
+                       $ctx.find('.toggle-value').each(function(){
+                               var $tog = $(this);
+                               
$('input[name="'+$tog.data('toggle-source')+'"], 
select[name="'+$tog.data('toggle-source')+'"]').change(function(){
+                                       if($(this).val() !== 
$tog.data('toggle-value')){
+                                               $tog.addClass('hide');
+                                       } else {
+                                               $tog.removeClass('hide');
+                                       }
+                               });
+                       })
+               }
+       }
+
+       $(document).ready(function() {
+               Sling.CMS.init();
+       });
diff --git a/cms/reference/${frontend.target}/src/scss/_fonts.scss 
b/cms/reference/${frontend.target}/src/scss/_fonts.scss
new file mode 100644
index 0000000..1b7cb9c
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/scss/_fonts.scss
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+@font-face {
+    font-family: 'Open Sans';
+    src: url('../fonts/OpenSans-Light-webfont.woff') format('woff');
+    font-weight: 300;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: 'Open Sans';
+    src: url('../fonts/OpenSans-Regular-webfont.woff') format('woff');
+    font-weight: 400;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: 'Open Sans';
+    src: url('../fonts/OpenSans-Semibold-webfont.woff') format('woff');
+    font-weight: 600;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: 'Open Sans';
+    src: url('../fonts/OpenSans-Bold-webfont.woff') format('woff');
+    font-weight: 700;
+    font-style: normal;
+}
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/scss/_grid.scss 
b/cms/reference/${frontend.target}/src/scss/_grid.scss
new file mode 100644
index 0000000..267360e
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/scss/_grid.scss
@@ -0,0 +1,125 @@
+/*
+ * 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.
+ */
+@mixin Cell ($size) {
+    // Specific sizing for cells in 5% increments.
+    .Cell {
+        @for $i from 1 through 20 {
+          &.#{$size}-#{$i*5} {
+            flex: 0 0 #{$i*5}#{'%'};
+          }
+        }
+    }
+}
+
+@mixin Fit ($size) {
+    // Proportionally space cells rather than wrapping
+    &.Fit-#{$size} {
+        >.Cell {
+            -webkit-box-flex: 1;
+            -webkit-flex: 1;
+            -ms-flex: 1;
+            flex: 1;
+        }
+    }
+}
+
+// Default grid behavior
+.Grid {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+
+    // Add gutters to a grid
+    &.Gutter {
+        margin: 0 -1rem 0 -1rem;
+        
+        >.Cell {
+            padding: 0 1rem 0 1rem;
+        }
+    }
+
+    // Grid Vertical Alignment
+    &.Align-Top {
+        align-items: flex-start;
+    }
+    &.Align-Bottom {
+        align-items: flex-end;
+    }
+    &.Align-Center {
+        align-items: center;
+    }
+
+    // Default cell behavior
+    .Cell {
+        // Cell sizing, full-width by default for responsive
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 100%;
+        -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+
+        // Per Cell Alignment
+        &.Align-Top {
+            align-self: flex-start;
+        }
+        &.Align-Bottom {
+            align-self: flex-end;
+        }
+        &.Align-Center {
+            align-self: center;
+        }
+    }
+
+    $display-size: "Mobile";
+    @include Fit($display-size);
+    @include Cell($display-size);    
+}
+
+// Small devices (Landscape phones, 544px)
+@media (min-width: 34em) {
+    .Grid {
+        $display-size: "Small";
+        @include Fit($display-size);
+        @include Cell($display-size);
+    }
+}
+
+// Medium devices (Tablets, 768px)
+@media (min-width: 48em) { 
+    .Grid {
+        $display-size: "Medium";
+        @include Fit($display-size);
+        @include Cell($display-size);
+    }
+}
+
+// Large devices (Desktops, 992px)
+@media (min-width: 62em) { 
+    .Grid {
+        $display-size: "Large";
+        @include Cell($display-size);
+        @include Fit($display-size);
+    }
+}
+
+// Extra large devices (Large desktops, 1200px)
+@media (min-width: 75em) { 
+    .Grid {
+        $display-size: "Extra";
+        @include Cell($display-size);
+        @include Fit($display-size);
+    }
+}
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/scss/form.scss 
b/cms/reference/${frontend.target}/src/scss/form.scss
new file mode 100644
index 0000000..0225541
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/scss/form.scss
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+button {
+       display: inline-block;
+       padding: 8px 12px;
+       color: white;
+       background-color: #00678c;
+       border: 0;
+}
+
+
+input[type="submit"]:hover,
+input[type="reset"]:hover,
+input[type="button"]:hover,
+button:hover {
+       background-color: gray;
+}
+
+input,
+select,
+textarea {
+       border: 1px solid gray;
+       box-shadow: inset 0 .5px .5px gray;
+       border-radius: 1px;
+       vertical-align: middle;
+       padding: 0.5em 0.6em;
+       margin-bottom: 1em;
+       width: 100%;
+}
+
+input[type="checkbox"] {
+    border: 0;
+    box-shadow: none;
+    width: 20px;
+}
+
+
+textarea {
+       height: 200px;
+}
+
+.error {
+       color:red;
+}
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/scss/index.scss 
b/cms/reference/${frontend.target}/src/scss/index.scss
new file mode 100644
index 0000000..45788f8
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/scss/index.scss
@@ -0,0 +1,121 @@
+/*
+ * 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.
+ */
+@import 'fonts';
+@import 'grid';
+
+* {
+    box-sizing: border-box;
+}
+
+body {
+    margin: 0;
+    font-family: 'Open Sans', Helvetica, Arial;
+    font-weight: 300;
+    color: rgb(128,128,128);
+    position: relative;
+}
+
+h1 {
+    font-weight: 300;
+    font-size: 2.4em;
+    color: rgb(96,96,96);
+}
+
+h2 {
+    font-weight: 400;
+    font-size: 2em;
+    color: rgb(96,96,96);
+}
+
+p {
+    line-height: 1.8em;
+}
+
+a {
+    color: rgb(0,103,140);
+    text-decoration: none;
+
+    &:hover {
+        text-decoration: underline;
+    }
+
+    img {
+        border: none;
+    }
+}
+
+.Home-Grid {
+    min-height: 100%;
+
+    .Gradient {
+        flex: 0 0 100%;
+        height: 16px;
+        background: url('../img/gradient.jpg') no-repeat;
+        background-size: cover;
+
+        @media (min-width: 48em) {
+            flex: 0 0 16px;
+            height: auto;
+        }
+    }
+
+    .Logos {
+        padding: 10% 20% 2% 20%;
+
+        @media (min-width: 48em) {
+            padding: 6%;
+        }
+    }
+
+    #sling-logo {
+        display: block;
+        margin-bottom: 32px;
+        margin-right: -8%; // Account for the TM offset
+
+        @media (min-width: 48em) {
+            margin-bottom: 180px;
+        }
+    }
+
+    #asf-logo {
+        display: block;
+    }
+
+    .Main-Content {
+        padding: 0 16px;
+
+        @media (min-width: 48em) {
+            padding: 0 16px 0 0;
+        }
+
+        @media (min-width: 62em) {
+            padding: 0;
+        }
+    }
+
+    ul {
+        margin: 0;
+        padding: 0;
+        list-style: none;
+        line-height: 1.8em;
+        margin-bottom: 1em;
+    }
+
+    #Logout {
+        display: none;
+    }
+}
\ No newline at end of file
diff --git a/cms/reference/${frontend.target}/src/scss/styles.scss 
b/cms/reference/${frontend.target}/src/scss/styles.scss
new file mode 100644
index 0000000..53cbc83
--- /dev/null
+++ b/cms/reference/${frontend.target}/src/scss/styles.scss
@@ -0,0 +1,166 @@
+/*
+ * 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.
+ */ 
+ 
+ 
+ a.Button {
+    display: inline-block;
+    padding: 8px 12px;
+    color: white;
+    background-color: #00678c;
+    border: 0;
+    margin: .1em;
+    text-decoration: none;
+}
+
+ul.Breadcrumb  {
+       margin-top: 2em;
+       margin-bottom: .2em;
+}
+
+.Breadcrumb li {
+    display: inline-block;
+}
+
+.Breadcrumb li:after {
+       content: ">";
+}
+
+.Breadcrumb li:last-child:after {
+       content: "";
+}
+
+ .Checkbox-Label {
+       width:100%;
+       display:block;
+ }
+
+.Cell-Pad {
+       padding: 1em;
+}
+
+.Editor-Page  {
+       background-color: white;
+}
+
+.Editor-Page form {
+       padding: 1em;
+}
+
+.Field-Group {
+    margin: 1em 0;
+}
+
+.Hide {
+       display:none;
+}
+
+.Modal {
+    display: none; 
+    position: fixed; 
+    z-index: 1000; 
+    left: 0;
+    top: 0;
+    width: 100%; 
+    height: 100%; 
+    overflow: auto; 
+    background-color: rgb(0,0,0); 
+    background-color: rgba(0,0,0,0.3); 
+}
+
+.Modal-Body {
+       padding: 2em 0;
+}
+
+.Modal-Content {
+    background-color: white;
+    margin: 20% auto; 
+    padding: 2em;
+    border: 1px solid gray;
+    width: 75%; 
+}
+
+.Modal-Header {
+       font-weight: bold;
+       font-size: large;
+}
+
+.Nav-Header {
+       font-weight: bold;
+       padding: .2em 0;
+}
+
+.Nav-Item {
+       border-bottom: 1px solid silver;
+       padding: .2em;
+}
+
+.Nav-Item:last-child {
+       border-bottom: none;
+}
+
+.Nav-Item a {
+       display: inline-block;
+       width: 100%;
+}
+
+.Nav-Item a:hover {
+       text-decoration: none;
+}
+
+.Nav-Item:hover, .Nav-Item.Active {
+       background-color: lightgray;
+}
+
+.note-group-select-from-files {
+  display: none;
+}
+
+.Pull-Right {
+       float:right;
+}
+
+table {
+       table-layout: fixed;
+       width: 100%;
+       white-space: nowrap;
+    border-spacing: 0;
+    border-collapse: separate;
+}
+
+table td, table th {
+       padding: .2em;
+       white-space: nowrap;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+
+td.Cell-Actions {
+       white-space: normal;
+       overflow: auto;
+}
+
+thead {
+       text-align: left;
+       background-color: gray;
+       color: white;
+}
+
+tbody tr:hover {
+       background-color: lightgray;
+}
\ No newline at end of file
diff --git a/cms/ui/pom.xml b/cms/reference/pom.xml
similarity index 59%
copy from cms/ui/pom.xml
copy to cms/reference/pom.xml
index 63e8022..050f96e 100644
--- a/cms/ui/pom.xml
+++ b/cms/reference/pom.xml
@@ -17,13 +17,9 @@
                <groupId>org.apache.sling</groupId>
                <version>1.0.0-SNAPSHOT</version>
        </parent>
-       <artifactId>org.apache.sling.cms.ui</artifactId>
+       <artifactId>org.apache.sling.cms.reference</artifactId>
        <packaging>bundle</packaging>
-       <name>Apache Sling - CMS UI</name>
-
-       <properties>
-               <frontend.target>target/frontend</frontend.target>
-       </properties>
+       <name>Apache Sling - CMS Reference Application</name>
 
        <build>
                <plugins>
@@ -47,62 +43,17 @@
                                        </execution>
                                </executions>
                        </plugin>
-
-                       <plugin>
-                               <groupId>com.github.eirslett</groupId>
-                               <artifactId>frontend-maven-plugin</artifactId>
-                               <version>1.4</version>
-                               <configuration>
-                                       
<installDirectory>${frontend.target}</installDirectory>
-                                       
<workingDirectory>${frontend.target}</workingDirectory>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <id>install node and npm</id>
-                                               <goals>
-                                                       
<goal>install-node-and-npm</goal>
-                                               </goals>
-                                               <configuration>
-                                                       
<nodeVersion>v6.11.0</nodeVersion>
-                                                       
<npmVersion>3.10.10</npmVersion>
-                                               </configuration>
-                                       </execution>
-                                       <execution>
-                                               <id>npm install</id>
-                                               <goals>
-                                                       <goal>npm</goal>
-                                               </goals>
-                                               <configuration>
-                                                       
<arguments>install</arguments>
-                                               </configuration>
-                                       </execution>
-                                       <execution>
-                                               <id>gulp build</id>
-                                               <goals>
-                                                       <goal>gulp</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-
                        <plugin>
                                <groupId>org.apache.felix</groupId>
                                <artifactId>maven-bundle-plugin</artifactId>
                                <extensions>true</extensions>
                                <configuration>
                                        <instructions>
-                                               
<Sling-Nodetypes>SLING-INF/nodetypes/nodetypes.cnd</Sling-Nodetypes>
                                                <Sling-Initial-Content>
                                                        jcr_root,
                                                        
jcr_root/apps/reference;overwrite:=true;uninstall:=true;path:=/apps/reference,
-                                                       
jcr_root/etc/clientlibs;overwrite=true;ignoreImportProviders:=xml;path:=/etc/clientlibs,
-                                                       
jcr_root/etc/fileeditors;overwrite:=false;uninstall:=true;path:=/etc/fileeditors,
-                                                       
jcr_root/etc/taxonomy;overwrite:=false;uninstall:=true;path:=/etc/taxonomy,
-                                                       
jcr_root/libs/sling/servlet/errorhandler;overwriteProperties:=true;overwrite:=true;uninstall:=true;path:=/libs/sling/servlet/errorhandler,
-                                                       
jcr_root/libs/sling-cms;overwrite:=true;uninstall:=true;path:=/libs/sling-cms,
-                                                       
jcr_root/etc/clientlibs/sling-cms;overwrite:=true;uninstall:=true;path:=/etc/clientlibs/sling-cms
+                                                       
jcr_root/etc/clientlibs/reference;overwrite=true;ignoreImportProviders:=xml;path:=/etc/clientlibs/reference
                                                </Sling-Initial-Content>
-                               
<Include-Resource>{maven-resources},${basedir}/target/frontend/dist</Include-Resource>
                                        </instructions>
                                </configuration>
                        </plugin>
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
similarity index 100%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist/childlist.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist/childlist.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist/childlist.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist/childlist.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/childlist/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/columncontrol.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/columncontrol.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/columncontrol.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/columncontrol.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
similarity index 100%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/options.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/options.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/options.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/options.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta.json
similarity index 67%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta.json
index 44a79da..b11e6a1 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/childlist.json
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta.json
@@ -1,5 +1,5 @@
 {
        "jcr:primaryType": "sling:Component",
     "componentType": "General",
-    "jcr:title": "Child List"
+    "jcr:title": "Call to Action"
 }
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/config.json
similarity index 79%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/config.json
index 7910776..f4a138e 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/config.json
@@ -1,11 +1,11 @@
  {
        "jcr:primaryType": "nt:unstructured",
        "sling:resourceType" : "sling-cms/components/general/container",
-       "styles": {
+       "ctaClasses": {
                "jcr:primaryType": "nt:unstructured",
                "sling:resourceType" : 
"sling-cms/components/editor/fields/repeating",
-               "label": "Style Options",
-               "name": "styles",
+               "label": "CTA Classes",
+               "name": "ctaClasses",
                "type": "text",
                "required": true
        }
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/cta.jsp
similarity index 77%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/cta.jsp
index cf61b42..25f57b6 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/cta.jsp
@@ -16,5 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */ --%>
- <%@include file="/libs/sling-cms/global.jsp"%>
-<sling:include path="container" 
resourceType="sling-cms/components/general/container" />
\ No newline at end of file
+<%@include file="/libs/sling-cms/global.jsp"%>
+<c:if test="${not empty properties.href}">
+       <a href="${properties.href }" class="${properties.ctaClass}" ${target}>
+               <sling:encode value="${properties.text}" mode="HTML" />
+       </a>
+</c:if>
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/edit.json
new file mode 100644
index 0000000..e3b4890
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/edit.json
@@ -0,0 +1,50 @@
+ {
+       "jcr:primaryType": "nt:unstructured",
+       "sling:resourceType": "sling-cms/components/editor/slingform",
+       "button": "Save CTA",
+       "fields": {
+               "jcr:primaryType": "nt:unstructured",
+               "sling:resourceType": "sling-cms/components/general/container",
+               "ctaClass": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                       "label": "CTA Class",
+                       "name": "ctaClass",
+                       "required": true,
+                       "optionsScript": 
"/apps/reference/components/general/cta/options.jsp"
+               },
+               "text": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                       "label": "Text",
+                       "name": "text",
+                       "required": true
+               },
+               "href": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/path",
+                       "basePath": "/content",
+                       "type": "sling:Page",
+                       "label": "CTA Link",
+                       "name": "href",
+                       "titleProperty": "jcr:content/jcr:title"
+               },
+               "target": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                       "label": "Open In New Window?",
+                       "name": "target",
+                       "options": {
+                               "jcr:primaryType": "nt:unstructured",
+                               "yes": {
+                                       "label": "Yes",
+                                       "value": " target=\"_blank\""
+                               },
+                               "no": {
+                                       "label": "No",
+                                       "value": ""
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/options.jsp
similarity index 77%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/options.jsp
index de9a85d..141ec71 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/cta/options.jsp
@@ -18,9 +18,9 @@
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
 <sling:adaptTo var="pageMgr" 
adaptable="${slingRequest.requestPathInfo.suffixResource}" 
adaptTo="org.apache.sling.cms.core.models.PageManager" />
-<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/stylewrapper']}"
 />
-<c:forEach var="style" items="${configRsrc.valueMap.styles}">
-       <option ${slingRequest.requestPathInfo.suffixResource.valueMap.style == 
sling:encode(fn:split(style,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(style,'=')[1],'HTML_ATTR')}">
-               ${sling:encode(fn:split(style,'=')[0],'HTML')}
+<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/cta']}"
 />
+<c:forEach var="ctaClass" items="${configRsrc.valueMap.ctaClasses}">
+       <option ${slingRequest.requestPathInfo.suffixResource.valueMap.ctaClass 
== sling:encode(fn:split(ctaClass,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(ctaClass,'=')[1],'HTML_ATTR')}">
+               ${sling:encode(fn:split(ctaClass,'=')[0],'HTML')}
        </option>
 </c:forEach>
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe.json
new file mode 100644
index 0000000..da17676
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe.json
@@ -0,0 +1,5 @@
+{
+    "jcr:primaryType" : "sling:Component",
+    "jcr:title": "IFrame",
+    "componentType": "General"
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/config.json
similarity index 72%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/config.json
index 3032090..c1bc419 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/columncontrol/config.json
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/config.json
@@ -1,19 +1,19 @@
  {
        "jcr:primaryType": "nt:unstructured",
        "sling:resourceType" : "sling-cms/components/general/container",
-       "columns": {
+       "wrapperClasses": {
                "jcr:primaryType": "nt:unstructured",
                "sling:resourceType" : 
"sling-cms/components/editor/fields/repeating",
-               "label": "Columns",
-               "name": "columns",
+               "label": "Wrapper Classes",
+               "name": "wrapperClasses",
                "type": "text",
                "required": true
        },
-       "containerclass": {
+       "iframeClass": {
                "jcr:primaryType": "nt:unstructured",
                "sling:resourceType" : 
"sling-cms/components/editor/fields/text",
-               "label": "Container Class",
-               "name": "containerclass",
+               "label": "IFrame Class",
+               "name": "iframeClass",
                "required": true
        }
 }
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/edit.json
new file mode 100644
index 0000000..ab1062c
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/edit.json
@@ -0,0 +1,44 @@
+ {
+       "jcr:primaryType": "nt:unstructured",
+       "sling:resourceType": "sling-cms/components/editor/slingform",
+       "button": "Save IFrame",
+       "fields": {
+               "jcr:primaryType": "nt:unstructured",
+               "sling:resourceType": "sling-cms/components/general/container",
+               "src": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/path",
+                       "basePath": "/content",
+                       "type": "sling:File",
+                       "label": "Frame Source",
+                       "name": "src",
+                       "titleProperty": "jcr:content/jcr:title",
+                       "required": true
+               },
+               "layout": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                       "label": "Wrapper Class",
+                       "name": "wrapperClass",
+                       "required": true,
+                       "optionsScript": 
"/apps/reference/components/general/iframe/options.jsp"
+               },
+               "allowFullscreen": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                       "label": "Allow Fullscreen",
+                       "name": "allowFullscreen",
+                       "options": {
+                               "jcr:primaryType": "nt:unstructured",
+                               "yes": {
+                                       "label": "Yes",
+                                       "value": " 
allowfullscreen=\"allowfullscreen\""
+                               },
+                               "no": {
+                                       "label": "No",
+                                       "value": " 
allowfullscreen=\"allowfullscreen\""
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/iframe.jsp
similarity index 61%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/iframe.jsp
index 3c165e2..0e22143 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/iframe.jsp
@@ -16,16 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */ --%>
- <%@include file="/libs/sling-cms/global.jsp"%>
-<sling:call script="init.jsp" />
-<c:if test="${list != null}">
-       <${tag} class="list ${clazz}">
-               <c:forEach var="it" items="${list.items}">
-                       <c:set var="item" value="${it}" scope="request" />
-                       <sling:call script="item.jsp" />
-               </c:forEach>
-               <c:if test="${includePagination}">
-                       <sling:call script="pagination.jsp" />
-               </c:if>
-       </${tag}>
+<%@include file="/libs/sling-cms/global.jsp"%>
+<c:if test="${not empty properties.src}">
+       <sling:adaptTo var="pageMgr" adaptable="${resource}" 
adaptTo="org.apache.sling.cms.core.models.PageManager" />
+       <c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/iframe']}"
 />
+       div class="${properties.wrapperClass}">
+               <iframe src="${properties.src}" 
class="${configRsrc.valueMap.iframeClass}" frameborder="0" 
${properties.allowFullscreen}></iframe>
+       </div>
 </c:if>
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/options.jsp
similarity index 76%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/options.jsp
index de9a85d..e90ed7e 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/iframe/options.jsp
@@ -18,9 +18,9 @@
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
 <sling:adaptTo var="pageMgr" 
adaptable="${slingRequest.requestPathInfo.suffixResource}" 
adaptTo="org.apache.sling.cms.core.models.PageManager" />
-<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/stylewrapper']}"
 />
-<c:forEach var="style" items="${configRsrc.valueMap.styles}">
-       <option ${slingRequest.requestPathInfo.suffixResource.valueMap.style == 
sling:encode(fn:split(style,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(style,'=')[1],'HTML_ATTR')}">
-               ${sling:encode(fn:split(style,'=')[0],'HTML')}
+<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/iframe']}"
 />
+<c:forEach var="wrapperClass" items="${configRsrc.valueMap.wrapperClasses}">
+       <option 
${slingRequest.requestPathInfo.suffixResource.valueMap.wrapperClass == 
sling:encode(fn:split(wrapperClass,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(wrapperClass,'=')[1],'HTML_ATTR')}">
+               ${sling:encode(fn:split(wrapperClass,'=')[0],'HTML')}
        </option>
 </c:forEach>
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image.json
new file mode 100644
index 0000000..d836ede
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image.json
@@ -0,0 +1,5 @@
+{
+    "jcr:primaryType" : "sling:Component",
+    "jcr:title": "Image",
+    "componentType": "General"
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/config.json
similarity index 77%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/config.json
index 7910776..186deb4 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/config.json
@@ -1,11 +1,11 @@
  {
        "jcr:primaryType": "nt:unstructured",
        "sling:resourceType" : "sling-cms/components/general/container",
-       "styles": {
+       "imageClasses": {
                "jcr:primaryType": "nt:unstructured",
                "sling:resourceType" : 
"sling-cms/components/editor/fields/repeating",
-               "label": "Style Options",
-               "name": "styles",
+               "label": "Image Classes",
+               "name": "imageClasses",
                "type": "text",
                "required": true
        }
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/edit.json
new file mode 100644
index 0000000..442856f
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/edit.json
@@ -0,0 +1,34 @@
+ {
+       "jcr:primaryType": "nt:unstructured",
+       "sling:resourceType": "sling-cms/components/editor/slingform",
+       "button": "Save Image",
+       "fields": {
+               "jcr:primaryType": "nt:unstructured",
+               "sling:resourceType": "sling-cms/components/general/container",
+               "src": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/path",
+                       "basePath": "/content",
+                       "type": "sling:File",
+                       "label": "Image Source",
+                       "name": "src",
+                       "titleProperty": "jcr:content/jcr:title",
+                       "required": true
+               },
+               "alt": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                       "label": "Alt Text",
+                       "name": "alt",
+                       "required": true
+               },
+               "imageClass": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                       "label": "Image Class",
+                       "name": "imageClass",
+                       "required": true,
+                       "optionsScript": 
"/apps/reference/components/general/image/options.jsp"
+               }
+       }
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/image.jsp
similarity index 81%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/image.jsp
index cf61b42..363ad86 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/image.jsp
@@ -16,5 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */ --%>
- <%@include file="/libs/sling-cms/global.jsp"%>
-<sling:include path="container" 
resourceType="sling-cms/components/general/container" />
\ No newline at end of file
+<%@include file="/libs/sling-cms/global.jsp"%>
+<c:if test="${not empty properties.src}">
+       <img src="${properties.src}" alt="${properties.alt}" 
class="${properties.imageClass}" />
+</c:if>
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/options.jsp
similarity index 77%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/options.jsp
index de9a85d..29eae99 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/image/options.jsp
@@ -18,9 +18,9 @@
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
 <sling:adaptTo var="pageMgr" 
adaptable="${slingRequest.requestPathInfo.suffixResource}" 
adaptTo="org.apache.sling.cms.core.models.PageManager" />
-<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/stylewrapper']}"
 />
-<c:forEach var="style" items="${configRsrc.valueMap.styles}">
-       <option ${slingRequest.requestPathInfo.suffixResource.valueMap.style == 
sling:encode(fn:split(style,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(style,'=')[1],'HTML_ATTR')}">
-               ${sling:encode(fn:split(style,'=')[0],'HTML')}
+<c:set var="configRsrc" 
value="${pageMgr.page.template.componentConfigs['reference/components/general/image']}"
 />
+<c:forEach var="imageClass" items="${configRsrc.valueMap.imageClasses}">
+       <option 
${slingRequest.requestPathInfo.suffixResource.valueMap.imageClass == 
sling:encode(fn:split(imageClass,'=')[1],'HTML_ATTR') ? 'selected' : ''} 
value="${sling:encode(fn:split(imageClass,'=')[1],'HTML_ATTR')}">
+               ${sling:encode(fn:split(imageClass,'=')[0],'HTML')}
        </option>
 </c:forEach>
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/config.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/config.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/config.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/init.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/init.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/init.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/init.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/item.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/item.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/item.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/item.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/list.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/listItemOptions.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/listItemOptions.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/listItemOptions.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/listItemOptions.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/pagination.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/pagination.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/list/pagination.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/list/pagination.jsp
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/rss/rss.xml.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/rss/rss.xml.jsp
new file mode 100644
index 0000000..daa07ca
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/rss/rss.xml.jsp
@@ -0,0 +1,56 @@
+<%-- /*
+ * 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.
+ */ --%><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"; 
xmlns:content="http://purl.org/rss/1.0/modules/content/";>
+<%@ page language="java" contentType="text/xml; charset=UTF-8" 
pageEncoding="UTF-8"%>
+<%@include file="/libs/sling-cms/global.jsp"%>
+<c:set var="site" 
value="${sling:adaptTo(resource,'org.apache.sling.cms.core.models.SiteManager').site}"
 />
+       <channel>
+               <title>${site.title}</title>
+               <description>${site.description}</description>
+               <link>${site.url}</link>
+               <atom:link href="${site.url}/feed.xml" rel="self" 
type="application/rss+xml" />
+               <c:set var="query" value="SELECT * FROM [sling:Page] WHERE 
ISDESCENDANTNODE([${site.path}/posts]) AND [jcr:content/published]=true ORDER 
BY [jcr:content/publishDate] DESC" />
+               <c:forEach var="postRsrc" 
items="${sling:findResources(resourceResolver,query,'JCR-SQL2')}" end="9">
+                       <item>
+                               <c:set var="post" 
value="${sling:adaptTo(postRsrc,'org.apache.sling.cms.core.models.PageManager').page}"
 />
+                               <title><sling:encode value="${post.title}" 
mode="XML" /></title>
+                               <description><sling:encode 
value="${post.properties['jcr:description']}" mode="XML" /></description>
+                               <content:encoded>
+                                       <![CDATA[
+                                               <img 
src="${site.url}${fn:replace(post.properties['sling:thumbnail'],site.path,'')}" 
title="${sling:encode(post.properties.summary,'XML_ATTR')}" />
+                                               <sling:encode 
value="${post.properties.snippet}" mode="XML" />
+                                       ]]>
+                               </content:encoded>
+                               <c:if test="${not empty 
post.properties['sling:thumbnail']}">
+                                       <c:choose>
+                                               <c:when 
test="${fn:indexOf(post.properties['sling:thumbnail'],'.png') != -1}">
+                                                       <enclosure length="0" 
type="image/png" 
url="${fn:replace(site.url,'https','http')}${fn:replace(post.properties['sling:thumbnail'],site.path,'')}"
 />
+                                               </c:when>
+                                               <c:otherwise>
+                                                       <enclosure length="0" 
type="image/jpeg" 
url="${fn:replace(site.url,'https','http')}${fn:replace(post.properties['sling:thumbnail'],site.path,'')}"
 />
+                                               </c:otherwise>
+                                       </c:choose>
+                               </c:if>
+                               <fmt:parseDate 
value="${post.properties.publishDate}" var="publishDate" pattern="yyyy-MM-dd" />
+                               <pubDate><fmt:formatDate value="${publishDate}" 
pattern="EEE, dd MMM yyyy HH:mm:ss Z" /></pubDate>
+                               <link>${site.url}${post.publishedPath}</link>
+                               <guid 
isPermaLink="true">${site.url}${post.publishedPath}</guid>
+                       </item>
+               </c:forEach>
+       </channel>
+</rss>
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/config.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/config.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/config.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/pagination.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/pagination.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/pagination.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/pagination.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/result.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/result.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/result.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/result.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/search.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/search.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/search/search.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/search/search.jsp
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/sitemap/sitemap.xml.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/sitemap/sitemap.xml.jsp
new file mode 100644
index 0000000..cfbf909
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/sitemap/sitemap.xml.jsp
@@ -0,0 +1,35 @@
+<%-- /*
+ * 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.
+ */ --%><?xml version="1.0" encoding="UTF-8"?>
+<%@ page language="java" contentType="text/xml; charset=UTF-8" 
pageEncoding="UTF-8"%>
+<%@include file="/libs/sling-cms/global.jsp"%>
+<c:set var="site" 
value="${sling:adaptTo(resource,'org.apache.sling.cms.core.models.SiteManager').site}"
 />
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";>
+       <c:set var="query" value="SELECT * FROM [sling:Page] WHERE 
ISDESCENDANTNODE([${site.path}]) AND [jcr:content/published]=true AND 
([jcr:content/hideInSitemap] IS NULL OR [jcr:content/hideInSitemap] <> true)" />
+       <c:forEach var="pageRsrc" 
items="${sling:findResources(resourceResolver,query,'JCR-SQL2')}">
+               <c:set var="page" 
value="${sling:adaptTo(pageRsrc,'org.apache.sling.cms.core.models.PageManager').page}"
 />
+               <url>
+                       <loc>${site.url}${page.publishedPath}</loc>
+                       <changefreq>monthly</changefreq>
+               </url>
+       </c:forEach>
+       <url>
+               <loc>${site.url}/</loc>
+               <changefreq>always</changefreq>
+       </url>
+</urlset>
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/config.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/options.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/stylewrapper.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/stylewrapper.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/stylewrapper.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/stylewrapper/stylewrapper.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/edit.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/suffixheader.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/suffixheader.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/suffixheader.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/suffixheader/suffixheader.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base.json 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base.json
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/base.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/base.jsp
similarity index 100%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/base.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/base.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
similarity index 90%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
index 50653de..2026b02 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
@@ -32,7 +32,10 @@
                </div>
        </div>
        <div class="menu">
-               <sling:include 
path="/content/sling-apache-org/index/jcr:content/menu" 
resourceType="sling-cms/components/general/richtext" />
+               <sling:include 
path="/content/sling-apache-org/index/jcr:content/menu" 
resourceType="sling-cms/components/general/container" />
+               <a href="http://apache.org/foundation/contributing.html";>
+            <img border="0" alt="Support the Apache Software Foundation!" 
src="/etc/clientlibs/reference/img/SupportApache-small.png" width="115px">
+        </a>
        </div>
        <div class="main">
                <div class="pagenav">
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
similarity index 100%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
similarity index 100%
copy from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
copy to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
similarity index 94%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
index d5bda7b..f0d68e6 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/head.jsp
@@ -22,7 +22,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <title>Apache Sling :: ${resource.valueMap['jcr:title']}</title>
-    <link rel="icon" href="/etc/clientlibs/reference/favicon.ico"/>
+    <link rel="icon" href="/etc/clientlibs/reference/img/favicon.ico"/>
     <link rel="stylesheet" href="/etc/clientlibs/reference/site.css"/>
     <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/>
     <script 
src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js'></script>
diff --git 
a/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post.json
new file mode 100644
index 0000000..4252b49
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post.json
@@ -0,0 +1,6 @@
+{
+    "jcr:primaryType" : "sling:Component",
+    "jcr:title": "Reference - Blog Post Page",
+    "sling:resourceSuperType": "reference/components/pages/base",
+    "componentType": "Page"
+}
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/content.jsp
similarity index 79%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/content.jsp
index cf61b42..ad9ce76 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/content.jsp
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/content.jsp
@@ -17,4 +17,6 @@
  * under the License.
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
+ <fmt:parseDate value="${item.valueMap['jcr:content/publishDate']}" 
var="publishDate" pattern="yyyy-MM-dd" />
+<em itemprop="datePublished"><fmt:formatDate value="${publishDate}" 
pattern="MMM d, yyyy" /></em><br/>
 <sling:include path="container" 
resourceType="sling-cms/components/general/container" />
\ No newline at end of file
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/edit.json
similarity index 92%
rename from 
cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
rename to 
cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/edit.json
index 91e6f65..4673f6e 100644
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/pages/base/edit.json
+++ 
b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/post/edit.json
@@ -63,6 +63,13 @@
                        "name": "published@TypeHint",
                        "value": "Boolean"
                },
+               "publishDate": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                       "label": "Published Date",
+                       "name": "publishDate",
+                       "type": "date"
+               },
                "hideInSitemap": {
                        "jcr:primaryType": "nt:unstructured",
                        "sling:resourceType": 
"sling-cms/components/editor/fields/select",
diff --git a/cms/ui/src/main/resources/jcr_root/apps/reference/i18n.json 
b/cms/reference/src/main/resources/jcr_root/apps/reference/i18n.json
similarity index 100%
rename from cms/ui/src/main/resources/jcr_root/apps/reference/i18n.json
rename to cms/reference/src/main/resources/jcr_root/apps/reference/i18n.json
diff --git a/cms/reference/src/main/resources/jcr_root/content.json 
b/cms/reference/src/main/resources/jcr_root/content.json
new file mode 100644
index 0000000..e064ab5
--- /dev/null
+++ b/cms/reference/src/main/resources/jcr_root/content.json
@@ -0,0 +1,3 @@
+{
+    "jcr:primaryType": "sling:Folder"
+}
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/SupportApache-small.png
 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/SupportApache-small.png
new file mode 100644
index 0000000..4a23e05
Binary files /dev/null and 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/SupportApache-small.png
 differ
diff --git 
a/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/apache.png
 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/apache.png
new file mode 100644
index 0000000..fc3f667
Binary files /dev/null and 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/apache.png
 differ
diff --git 
a/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/favicon.ico
 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/favicon.ico
new file mode 100644
index 0000000..a36e242
Binary files /dev/null and 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/favicon.ico
 differ
diff --git 
a/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/sling.svg
 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/sling.svg
new file mode 100644
index 0000000..ac3c0e7
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/img/sling.svg
@@ -0,0 +1,19 @@
+<!--
+  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.
+-->
+<svg id="Sling_Logo" data-name="Sling Logo" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="0 0 768 
392"><defs><linearGradient id="linear-gradient" x1="-8576.57" y1="2068.26" 
x2="-8523.42" y2="2006.11" gradientTransform="matrix(-1, -0.01, -0.01, 1, 
-8384.13, -1821.1)" gradientUnits="userSpaceOnUse"><stop offset="0" 
stop-color="#f69923"/><stop offset="0.31" stop-color="#f79a23"/><stop 
offset="0.84" stop-color="#e97826"/></linearGradient><linearGradie [...]
\ No newline at end of file
diff --git 
a/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/site.css 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/site.css
new file mode 100644
index 0000000..5f6e7b2
--- /dev/null
+++ 
b/cms/reference/src/main/resources/jcr_root/etc/clientlibs/reference/site.css
@@ -0,0 +1,339 @@
+/*
+ * 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.
+ */
+body {
+    background-color: #ffffff;
+    color: #3b3b3b;
+    font-family: Tahoma, Arial, sans-serif;
+    font-size: 10pt;
+    line-height: 140%
+}
+
+h1,h2,h3,h4,h5,h6 {
+    font-weight: normal;
+    color: #000000;
+    line-height: 100%;
+}
+
+.tocHeading {
+       font-size:120%;
+       font-weight:bold;
+}
+
+h1 {
+    font-size: 200%;
+    font-weight: bold;
+    border-bottom: solid #EEE 1px;
+    border-top: solid #EEE 1px;
+    padding-top:.2em;
+    padding-bottom:.2em;
+}
+
+h2 {
+    font-size: 200%;
+    margin-top: 1em;
+    font-weight: normal;
+    border-top: solid #e0e0e0 1px;
+    padding-top: 0.45em;
+}
+
+h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited 
{
+       color:black;
+       text-decoration:none;
+}
+
+h3 {
+    font-size: 150%
+}
+
+h4 {
+    font-size: 140%
+}
+
+h5 {
+    font-size: 130%
+}
+
+h6 {
+    font-size: 120%
+}
+
+a {
+    color: #1980af
+}
+
+a:visited {
+    color: #1980af
+}
+
+a:hover {
+    color: #1faae9
+}
+
+img {
+    max-width: 100%;
+    border: solid 1px #EEE;
+    margin-top: 0.5em;
+    margin-bottom: 0.5em;
+    padding: 0.5em
+}
+
+.title {
+    position: absolute;
+    left: 1px;
+    right: 1px;
+    top: 25px;
+    height: 81px;
+    background:
+        url(https://sling.apache.org/site/media.data/gradient.png)
+        repeat-x;
+    background-position: bottom;
+}
+
+.title img {
+    width: auto;
+    border: none;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    padding: 0px;    
+}
+
+.logo {
+    position: absolute;
+    width: 15em;
+    height: 81px;
+    text-align: center;
+}
+
+.logo img {
+    height: 63px;
+}
+
+.header {
+    text-align: right;
+    margin-right: 20pt;
+}
+
+.menu {
+    border-top: 10px solid #f9bb00;
+    position: absolute;
+    top: 107px;
+    left: 1px;
+    width: 15em;
+    bottom: 0px;
+    padding: 0px;
+    background-color: #fcfcfc
+}
+
+.menu ul,.menu p {
+    background-color: #fdf5d9;
+    list-style: none;
+    padding-left: 4em;
+    margin-top: 0px;
+    padding-top: 2em;
+    padding-bottom: 2em;
+    margin-left: 0px;
+    color: #4a4a43
+}
+
+.menu p {
+    font-size: 90%;
+    margin: 0px;
+    padding: 1px;
+    padding-left: 1em;
+    padding-bottom: 1em;
+}
+
+.menu a {
+    text-decoration: none;
+    color: #4a4a43
+}
+
+.main {
+    position: absolute;
+    border-top: 10px solid #cde0ea;
+    top: 107px;
+    left: 15em;
+    right: 1px;
+    margin-left: 2px;
+    padding-right: 4em;
+    padding-left: 1em;
+    padding-top: 1em;
+}
+
+.preformatted {
+    color: black;
+    background-color: #eeeeee;
+    border: solid 1px black;
+    padding: 0.5em
+}
+
+.preformattedContent pre {
+    margin: 0em
+}
+
+table {
+    border-collapse: collapse;
+    margin: 5px;
+}
+
+th {
+    background-color: #FDF5D9;
+    border: 1px solid #DDD;
+    padding: 3px 4px;
+    text-align: left;
+    font-weight:bold;
+    font-size:90%;
+    padding: 3px 4px;
+}
+
+td {
+    border: 1px solid #DDD;
+    padding: 3px 4px;
+}
+
+.note
+{
+/*
+    background-color: #FFFFCE;
+    border: 1px solid #F0C000;
+*/
+    border: 1px solid #f0c000;
+       background: #ffffce url('icons/warning.gif') no-repeat 5px 5px;
+       text-align: left;
+       margin-top: 5px;
+       margin-bottom: 5px;
+       padding: 5px 5px 5px 28px;
+}
+
+.warning
+{
+/*
+    background-color: #FFCCCC;
+    border: 1px solid #CC0000;
+*/
+    border: 1px solid #f0c000;
+       background: #ffffce url('icons/forbidden.gif') no-repeat 5px 5px;
+       text-align: left;
+       margin-top: 5px;
+       margin-bottom: 5px;
+       padding: 5px 5px 5px 28px;
+}
+
+.info
+{
+/*
+    background-color: #D8E4F1;
+    border: 1px solid #3C78B5;
+*/
+    border: 1px solid #3c78b5;
+       background: #D8E4F1 url('icons/information.gif') no-repeat 5px 5px;
+       text-align: left;
+       margin-top: 5px;
+       margin-bottom: 5px;
+       padding: 5px 5px 5px 28px;
+}
+
+.tip
+{
+/*
+    background-color: #DDFFDD;
+    border: 1px solid #009900;
+*/
+       border: 1px solid #090;
+       background: #dfd url('/res/icons/check.gif') no-repeat 5px 5px;
+       text-align: left;
+       margin-top: 5px;
+       margin-bottom: 5px;
+       padding: 5px 5px 5px 28px;
+}
+
+/** Last modification information at the botton of each page */
+.timestamp {
+    margin-top: 30px;
+    font-size: 80%;
+    text-align: right;
+}
+
+.footer {
+    font-size: 80%;
+    font-style: italic;
+    margin-top: 10px;
+    text-align: left;
+}
+
+blockquote {
+    font-style: italic;
+    margin: 0;
+    padding-left: 1em;
+    border-left: 1px solid black;
+}
+
+pre {
+    color: black;
+    background-color: #f0f0f0;
+    border: solid 1px #f5f5f5;
+    margin-top: 0.5em;
+    margin-bottom: 0.5em;
+    padding: 0.5em;
+    width: 100%;
+}
+
+.draft {
+       font-size:150%;
+       font-weight:bold;
+    color:blue;
+    text-align:center;
+}
+
+.footer {
+    padding-top: 1em; 
+}
+
+.badge {
+    border-radius: 2px;
+    background-color: #EEE;
+    text-align: center;
+    padding-left: 3px;
+    padding-right: 3px;
+       margin-left: 3px;
+}
+
+.pagenav {
+    overflow:hidden
+    font-size: 70%;
+    clear:both;
+    padding-bottom:1em;
+}
+
+.breadcrumbs {
+    float:left;
+}
+
+.tags {
+    float:right;
+}
+
+.tags a {
+    background-color: #EEE;
+       padding: 0.2em;
+    margin-left: 0.2em;
+       text-decoration: none;
+}
+
+.allTagsLink {
+    padding-right:0.5em;
+}
\ No newline at end of file
diff --git a/cms/ui/pom.xml b/cms/ui/pom.xml
index 63e8022..e06e4a6 100644
--- a/cms/ui/pom.xml
+++ b/cms/ui/pom.xml
@@ -94,7 +94,6 @@
                                                
<Sling-Nodetypes>SLING-INF/nodetypes/nodetypes.cnd</Sling-Nodetypes>
                                                <Sling-Initial-Content>
                                                        jcr_root,
-                                                       
jcr_root/apps/reference;overwrite:=true;uninstall:=true;path:=/apps/reference,
                                                        
jcr_root/etc/clientlibs;overwrite=true;ignoreImportProviders:=xml;path:=/etc/clientlibs,
                                                        
jcr_root/etc/fileeditors;overwrite:=false;uninstall:=true;path:=/etc/fileeditors,
                                                        
jcr_root/etc/taxonomy;overwrite:=false;uninstall:=true;path:=/etc/taxonomy,
diff --git 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/listitem.json
 
b/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/listitem.json
deleted file mode 100644
index 63dd0b4..0000000
--- 
a/cms/ui/src/main/resources/jcr_root/apps/reference/components/general/listitem.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-       "jcr:primaryType": "sling:Component",
-    "componentType": "ListItems",
-    "jcr:title": "List Item"
-}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to