You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by rl...@apache.org on 2019/07/12 17:51:51 UTC

[celix-site] branch master updated (78a5783 -> 49e4b8a)

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

rlenferink pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git.


    from 78a5783  Fixed typos
     new 05e2fc3  Converted site to Hugo
     new 4bec967  Removed highlighter because Hugo generates highlighted content
     new 8a51e11  Updated publish script to be able to specify git remote
     new 06a26bb  Fixed indentation for publish script
     new 48647db  Updated .gitignore for Hugo
     new d166862  Updated title for home page
     new a5e4c5f  Updated Celix submodule URL to prevent re-authenticating
     new 88a52ec  Disabled de-capitalizing paths
     new e4409e8  Updated script to extract docs from Celix
     new f0c4279  Updated extract_celix_docs script to update Markdown to HTML links
     new 1e44b19  Updated indentation for better formatting and disabled hrefAsBlank
     new 49e4b8a  Merge pull request #7 from rlenferink/master

The 34 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |  20 +-
 .gitmodules                                        |   2 +-
 Gemfile                                            |   4 -
 Gemfile.lock                                       |  65 ----
 README.md                                          |  14 +-
 _config.yml                                        |  17 --
 archetypes/default.md                              |   6 +
 config.toml                                        |  37 +++
 extract_celix_docs.sh                              |  30 +-
 source/_layouts/default.html => layouts/404.html   |  23 +-
 .../celix-md.html => layouts/_default/baseof.html  |  14 +-
 layouts/_default/list.html                         |   3 +
 layouts/_default/single.html                       |   3 +
 .../default.html => layouts/celix-doc/baseof.html  |  19 +-
 layouts/celix-doc/list.html                        |   3 +
 layouts/celix-doc/single.html                      |   3 +
 layouts/index.html                                 | 121 ++++++++
 {source/_includes => layouts/partials}/footer.html |   2 +-
 {source/_includes => layouts/partials}/header.html |  14 +-
 layouts/robots.txt                                 |   6 +
 layouts/shortcodes/tableofcontents.html            |   1 +
 publish.sh                                         |  28 +-
 run.sh                                             |  18 --
 run_incremental.sh                                 |  18 --
 source/404.md                                      |  11 -
 source/_layouts/main-page.html                     |  45 ---
 source/_plugins/remote_file_content.rb             |  60 ----
 source/_plugins/update_celix_markdown.rb           |  84 -----
 source/_plugins/update_links.rb                    |  30 --
 source/assets/highlighter/github-theme.css         |  60 ----
 source/assets/highlighter/js/shAutoloader.js       |  17 --
 source/assets/highlighter/js/shBrushAS3.js         |  59 ----
 source/assets/highlighter/js/shBrushAppleScript.js |  75 -----
 source/assets/highlighter/js/shBrushBash.js        |  59 ----
 source/assets/highlighter/js/shBrushCSharp.js      |  65 ----
 source/assets/highlighter/js/shBrushColdFusion.js  | 100 ------
 source/assets/highlighter/js/shBrushCpp.js         |  97 ------
 source/assets/highlighter/js/shBrushCss.js         |  91 ------
 source/assets/highlighter/js/shBrushDelphi.js      |  55 ----
 source/assets/highlighter/js/shBrushDiff.js        |  41 ---
 source/assets/highlighter/js/shBrushErlang.js      |  52 ----
 source/assets/highlighter/js/shBrushGroovy.js      |  67 ----
 source/assets/highlighter/js/shBrushJScript.js     |  52 ----
 source/assets/highlighter/js/shBrushJava.js        |  57 ----
 source/assets/highlighter/js/shBrushJavaFX.js      |  58 ----
 source/assets/highlighter/js/shBrushPerl.js        |  72 -----
 source/assets/highlighter/js/shBrushPhp.js         |  88 ------
 source/assets/highlighter/js/shBrushPlain.js       |  33 --
 source/assets/highlighter/js/shBrushPowerShell.js  |  74 -----
 source/assets/highlighter/js/shBrushPython.js      |  64 ----
 source/assets/highlighter/js/shBrushRuby.js        |  55 ----
 source/assets/highlighter/js/shBrushSass.js        |  94 ------
 source/assets/highlighter/js/shBrushScala.js       |  51 ----
 source/assets/highlighter/js/shBrushSql.js         |  66 ----
 source/assets/highlighter/js/shBrushVb.js          |  56 ----
 source/assets/highlighter/js/shBrushXml.js         |  69 -----
 source/assets/highlighter/js/shCore.js             |  17 --
 source/assets/highlighter/js/shLegacy.js           |  17 --
 source/assets/highlighter/style/shCore.css         | 226 --------------
 source/assets/highlighter/style/shCoreDefault.css  | 328 --------------------
 source/assets/highlighter/style/shCoreDjango.css   | 331 --------------------
 source/assets/highlighter/style/shCoreEclipse.css  | 339 ---------------------
 source/assets/highlighter/style/shCoreEmacs.css    | 324 --------------------
 .../assets/highlighter/style/shCoreFadeToGrey.css  | 328 --------------------
 source/assets/highlighter/style/shCoreMDUltra.css  | 324 --------------------
 source/assets/highlighter/style/shCoreMidnight.css | 324 --------------------
 source/assets/highlighter/style/shCoreRDark.css    | 324 --------------------
 source/assets/highlighter/style/shCoreStruts.css   | 339 ---------------------
 source/assets/highlighter/style/shThemeDefault.css | 117 -------
 source/assets/highlighter/style/shThemeDjango.css  | 120 --------
 source/assets/highlighter/style/shThemeEclipse.css | 128 --------
 source/assets/highlighter/style/shThemeEmacs.css   | 113 -------
 .../assets/highlighter/style/shThemeFadeToGrey.css | 117 -------
 source/assets/highlighter/style/shThemeMDUltra.css | 113 -------
 .../assets/highlighter/style/shThemeMidnight.css   | 113 -------
 source/assets/highlighter/style/shThemeRDark.css   | 113 -------
 source/assets/highlighter/style/shThemeStruts.css  | 128 --------
 source/contributing/releasing.md                   |  21 +-
 source/contributing/submitting-patches.md          |   5 +-
 source/contributing/volunteers.md                  |   5 +-
 source/contributing/youatcelix.md                  |   1 -
 source/docs/celix/CHANGES.md                       |   3 +-
 source/docs/celix/README.md                        |   9 +-
 source/docs/celix/config_admin/readme.md           |   3 +-
 source/docs/celix/dependency_manager/readme.md     |   6 +-
 source/docs/celix/dependency_manager_cxx/readme.md |   7 +-
 source/docs/celix/deployment_admin/README.md       |   3 +-
 source/docs/celix/device_access/README.md          |   3 +-
 source/docs/celix/documents/building/readme.md     |   5 +-
 .../docs/celix/documents/cmake_commands/readme.md  |   4 +-
 .../getting_started/creating_a_simple_bundle.md    |  12 +-
 .../docs/celix/documents/getting_started/readme.md |  10 +-
 .../getting_started/using_services_with_c.md       |   5 +-
 .../getting_started/using_services_with_cxx.md     |   5 +-
 source/docs/celix/documents/intro/readme.md        |  15 +-
 .../docs/celix/documents/roadmap/api_v3/readme.md  |   6 +-
 .../celix/documents/roadmap/improvement_ideas.md   |   3 +-
 source/docs/celix/documents/roadmap/roadmap.md     |   3 +-
 source/docs/celix/documents/subprojects/readme.md  |  31 +-
 source/docs/celix/etcdlib/README.md                |   3 +-
 source/docs/celix/launcher/README.md               |   3 +-
 source/docs/celix/log_service/README.md            |   3 +-
 source/docs/celix/log_writer/README.md             |   3 +-
 source/docs/celix/pubsub/README.md                 |   3 +-
 source/docs/celix/pubsub/examples/keys/README.md   |   3 +-
 .../celix/pubsub/pubsub_admin_udp_mc/README.md     |   3 +-
 source/docs/celix/remote_services/README.md        |   7 +-
 .../celix/remote_services/discovery_etcd/README.md |   3 +-
 .../remote_services/remote_service_admin/README.md |   3 +-
 .../remote_services/topology_manager/README.md     |   3 +-
 source/docs/celix/remote_shell/README.md           |   3 +-
 source/docs/celix/shell/README.md                  |   3 +-
 source/docs/celix/shell_tui/README.md              |   3 +-
 source/docs/celix/utils/README.md                  |   3 +-
 source/docs/celix/utils/docs/thpool/Design.md      |   3 +-
 source/docs/celix/utils/docs/thpool/FAQ.md         |   3 +-
 source/docs/celix/utils/docs/thpool/README.md      |   3 +-
 .../celix/utils/public/include/memstream/README.md |   3 +-
 source/docs/{index.md => docs.md}                  |   2 -
 source/download.md                                 |   1 -
 source/index.html                                  |  79 -----
 source/robots.txt                                  |   1 -
 source/support/issue-tracking.md                   |   1 -
 source/support/mailing-list.md                     |   8 +-
 {source => static}/.htaccess                       |  36 +--
 {source => static}/assets/css/bootstrap-grid.css   |   0
 .../assets/css/bootstrap-grid.css.map              |   0
 .../assets/css/bootstrap-grid.min.css              |   0
 .../assets/css/bootstrap-grid.min.css.map          |   0
 {source => static}/assets/css/bootstrap-reboot.css |   0
 .../assets/css/bootstrap-reboot.css.map            |   0
 .../assets/css/bootstrap-reboot.min.css            |   0
 .../assets/css/bootstrap-reboot.min.css.map        |   0
 {source => static}/assets/css/bootstrap.css        |   0
 {source => static}/assets/css/bootstrap.css.map    |   0
 {source => static}/assets/css/bootstrap.min.css    |   0
 .../assets/css/bootstrap.min.css.map               |   0
 {source => static}/assets/css/style.css            |   0
 {source => static}/assets/img/apache.png           | Bin
 {source => static}/assets/img/celix-white.svg      |   0
 {source => static}/assets/img/celix.svg            |   0
 {source => static/assets/img}/favicon.ico          | Bin
 .../assets/img/forkme_right_red_aa0000.png         | Bin
 {source => static}/assets/img/icon-primer.svg      |   0
 {source => static}/assets/js/bootstrap.bundle.js   |   0
 .../assets/js/bootstrap.bundle.js.map              |   0
 .../assets/js/bootstrap.bundle.min.js              |   0
 .../assets/js/bootstrap.bundle.min.js.map          |   0
 {source => static}/assets/js/bootstrap.js          |   0
 {source => static}/assets/js/bootstrap.js.map      |   0
 {source => static}/assets/js/bootstrap.min.js      |   0
 {source => static}/assets/js/bootstrap.min.js.map  |   0
 {source => static}/assets/js/jquery.js             |   0
 {source => static}/assets/js/jquery.min.js         |   0
 {source => static}/assets/js/jquery.slim.js        |   0
 {source => static}/assets/js/jquery.slim.min.js    |   0
 156 files changed, 393 insertions(+), 6672 deletions(-)
 delete mode 100644 Gemfile
 delete mode 100644 Gemfile.lock
 delete mode 100644 _config.yml
 create mode 100644 archetypes/default.md
 create mode 100644 config.toml
 copy source/_layouts/default.html => layouts/404.html (54%)
 rename source/_layouts/celix-md.html => layouts/_default/baseof.html (74%)
 create mode 100644 layouts/_default/list.html
 create mode 100644 layouts/_default/single.html
 rename source/_layouts/default.html => layouts/celix-doc/baseof.html (67%)
 create mode 100644 layouts/celix-doc/list.html
 create mode 100644 layouts/celix-doc/single.html
 create mode 100644 layouts/index.html
 rename {source/_includes => layouts/partials}/footer.html (90%)
 rename {source/_includes => layouts/partials}/header.html (80%)
 create mode 100644 layouts/robots.txt
 create mode 100644 layouts/shortcodes/tableofcontents.html
 delete mode 100644 run.sh
 delete mode 100644 run_incremental.sh
 delete mode 100644 source/404.md
 delete mode 100644 source/_layouts/main-page.html
 delete mode 100644 source/_plugins/remote_file_content.rb
 delete mode 100644 source/_plugins/update_celix_markdown.rb
 delete mode 100644 source/_plugins/update_links.rb
 delete mode 100644 source/assets/highlighter/github-theme.css
 delete mode 100644 source/assets/highlighter/js/shAutoloader.js
 delete mode 100644 source/assets/highlighter/js/shBrushAS3.js
 delete mode 100644 source/assets/highlighter/js/shBrushAppleScript.js
 delete mode 100644 source/assets/highlighter/js/shBrushBash.js
 delete mode 100644 source/assets/highlighter/js/shBrushCSharp.js
 delete mode 100644 source/assets/highlighter/js/shBrushColdFusion.js
 delete mode 100644 source/assets/highlighter/js/shBrushCpp.js
 delete mode 100644 source/assets/highlighter/js/shBrushCss.js
 delete mode 100644 source/assets/highlighter/js/shBrushDelphi.js
 delete mode 100644 source/assets/highlighter/js/shBrushDiff.js
 delete mode 100644 source/assets/highlighter/js/shBrushErlang.js
 delete mode 100644 source/assets/highlighter/js/shBrushGroovy.js
 delete mode 100644 source/assets/highlighter/js/shBrushJScript.js
 delete mode 100644 source/assets/highlighter/js/shBrushJava.js
 delete mode 100644 source/assets/highlighter/js/shBrushJavaFX.js
 delete mode 100644 source/assets/highlighter/js/shBrushPerl.js
 delete mode 100644 source/assets/highlighter/js/shBrushPhp.js
 delete mode 100644 source/assets/highlighter/js/shBrushPlain.js
 delete mode 100644 source/assets/highlighter/js/shBrushPowerShell.js
 delete mode 100644 source/assets/highlighter/js/shBrushPython.js
 delete mode 100644 source/assets/highlighter/js/shBrushRuby.js
 delete mode 100644 source/assets/highlighter/js/shBrushSass.js
 delete mode 100644 source/assets/highlighter/js/shBrushScala.js
 delete mode 100644 source/assets/highlighter/js/shBrushSql.js
 delete mode 100644 source/assets/highlighter/js/shBrushVb.js
 delete mode 100644 source/assets/highlighter/js/shBrushXml.js
 delete mode 100644 source/assets/highlighter/js/shCore.js
 delete mode 100644 source/assets/highlighter/js/shLegacy.js
 delete mode 100644 source/assets/highlighter/style/shCore.css
 delete mode 100644 source/assets/highlighter/style/shCoreDefault.css
 delete mode 100644 source/assets/highlighter/style/shCoreDjango.css
 delete mode 100644 source/assets/highlighter/style/shCoreEclipse.css
 delete mode 100644 source/assets/highlighter/style/shCoreEmacs.css
 delete mode 100644 source/assets/highlighter/style/shCoreFadeToGrey.css
 delete mode 100644 source/assets/highlighter/style/shCoreMDUltra.css
 delete mode 100644 source/assets/highlighter/style/shCoreMidnight.css
 delete mode 100644 source/assets/highlighter/style/shCoreRDark.css
 delete mode 100644 source/assets/highlighter/style/shCoreStruts.css
 delete mode 100644 source/assets/highlighter/style/shThemeDefault.css
 delete mode 100644 source/assets/highlighter/style/shThemeDjango.css
 delete mode 100644 source/assets/highlighter/style/shThemeEclipse.css
 delete mode 100644 source/assets/highlighter/style/shThemeEmacs.css
 delete mode 100644 source/assets/highlighter/style/shThemeFadeToGrey.css
 delete mode 100644 source/assets/highlighter/style/shThemeMDUltra.css
 delete mode 100644 source/assets/highlighter/style/shThemeMidnight.css
 delete mode 100644 source/assets/highlighter/style/shThemeRDark.css
 delete mode 100644 source/assets/highlighter/style/shThemeStruts.css
 rename source/docs/{index.md => docs.md} (85%)
 delete mode 100644 source/index.html
 delete mode 100644 source/robots.txt
 rename {source => static}/.htaccess (94%)
 rename {source => static}/assets/css/bootstrap-grid.css (100%)
 rename {source => static}/assets/css/bootstrap-grid.css.map (100%)
 rename {source => static}/assets/css/bootstrap-grid.min.css (100%)
 rename {source => static}/assets/css/bootstrap-grid.min.css.map (100%)
 rename {source => static}/assets/css/bootstrap-reboot.css (100%)
 rename {source => static}/assets/css/bootstrap-reboot.css.map (100%)
 rename {source => static}/assets/css/bootstrap-reboot.min.css (100%)
 rename {source => static}/assets/css/bootstrap-reboot.min.css.map (100%)
 rename {source => static}/assets/css/bootstrap.css (100%)
 rename {source => static}/assets/css/bootstrap.css.map (100%)
 rename {source => static}/assets/css/bootstrap.min.css (100%)
 rename {source => static}/assets/css/bootstrap.min.css.map (100%)
 rename {source => static}/assets/css/style.css (100%)
 rename {source => static}/assets/img/apache.png (100%)
 rename {source => static}/assets/img/celix-white.svg (100%)
 rename {source => static}/assets/img/celix.svg (100%)
 rename {source => static/assets/img}/favicon.ico (100%)
 rename {source => static}/assets/img/forkme_right_red_aa0000.png (100%)
 rename {source => static}/assets/img/icon-primer.svg (100%)
 rename {source => static}/assets/js/bootstrap.bundle.js (100%)
 rename {source => static}/assets/js/bootstrap.bundle.js.map (100%)
 rename {source => static}/assets/js/bootstrap.bundle.min.js (100%)
 rename {source => static}/assets/js/bootstrap.bundle.min.js.map (100%)
 rename {source => static}/assets/js/bootstrap.js (100%)
 rename {source => static}/assets/js/bootstrap.js.map (100%)
 rename {source => static}/assets/js/bootstrap.min.js (100%)
 rename {source => static}/assets/js/bootstrap.min.js.map (100%)
 rename {source => static}/assets/js/jquery.js (100%)
 rename {source => static}/assets/js/jquery.min.js (100%)
 rename {source => static}/assets/js/jquery.slim.js (100%)
 rename {source => static}/assets/js/jquery.slim.min.js (100%)


[celix-site] 27/34: Updated .gitignore for Hugo

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 48647db754c89101039a67249a1f59521d16d94d
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 13:14:47 2019 +0200

    Updated .gitignore for Hugo
---
 .gitignore | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 97dd012..f59683c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-# Generated content
+# Hugo generated
+resources
 target
 
 # IntelliJ generated


[celix-site] 20/34: Updated link to issue tracking page

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 54553f8054f6d68eae3e43b7f652a04700f4164e
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Jan 13 15:14:22 2019 +0100

    Updated link to issue tracking page
---
 source/contributing/youatcelix.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/contributing/youatcelix.md b/source/contributing/youatcelix.md
index ab4e60c..3c06cdf 100644
--- a/source/contributing/youatcelix.md
+++ b/source/contributing/youatcelix.md
@@ -34,7 +34,7 @@ around Celix in public (except a few things, like discussions on persons).
 With reading the developers list you'll get a good idea what we are planning
 and maybe even how you can help.
 
-Another way is to simply look through the [Issue Tracker](https://issues.apache.org/jira/browse/CELIX)
+Another way is to simply look through the [Issue Tracker](/support/issue-tracking.html)
 and work on a patch. It's recommended to first try to understand and then discuss
 what you plan on the mailing list. This way we will find out if we are on
 the same page and of course will learn about you.


[celix-site] 26/34: Fixed indentation for publish script

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 06a26bb1c808a3482153e7942eed1b8f2f6e91a2
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 13:10:37 2019 +0200

    Fixed indentation for publish script
---
 publish.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/publish.sh b/publish.sh
index 62fbb72..51429a8 100644
--- a/publish.sh
+++ b/publish.sh
@@ -21,9 +21,10 @@
 GIT_REMOTE=$1
 if [[ -z "${GIT_REMOTE}" ]]; then
     echo "Git remote is not specified!"
+    echo ""
     echo "Usage:"
     echo "  ./publish.sh <remote>"
-    echo "   e.g."
+    echo "    e.g."
     echo "  ./publish.sh origin"
     exit 1
 fi


[celix-site] 19/34: Updated current-event link to point to correct current-event page

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 53ff944cb7377ace5b41af29d163b3e61879fa54
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 22:44:06 2019 +0100

    Updated current-event link to point to correct current-event page
---
 source/_includes/footer.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/_includes/footer.html b/source/_includes/footer.html
index a0e23fd..a5b8b3c 100644
--- a/source/_includes/footer.html
+++ b/source/_includes/footer.html
@@ -11,7 +11,7 @@
                 </p>
             </div>
             <div class="col-md-4 text-center">
-                <a href="http://www.apachecon.com/" target="_blank">
+                <a href="https://www.apache.org/events/current-event.html" target="_blank">
                     <img src="https://www.apache.org/events/current-event-234x60.png" title="Apache Event" width="234" height="60" border="0">
                 </a>
             </div>


[celix-site] 06/34: CELIX-449: Changed order of pushing master/asf-site branches

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 710a1953ed513b1b7d2e6cbd1f979c48f9c75d28
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 19:28:21 2018 +0100

    CELIX-449: Changed order of pushing master/asf-site branches
---
 publish.sh | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/publish.sh b/publish.sh
index 07f7e39..29b8bb1 100644
--- a/publish.sh
+++ b/publish.sh
@@ -59,7 +59,15 @@ git commit -m "${message}" > /dev/null 2>&1
 # Delete the temporary folder
 rm -rf ${tmp_dir}
 
-# Push latest SITE to server
+# Push the SOURCE to the server
+git push -u origin ${SOURCE} > /dev/null 2>&1
+if [ $? = 0 ]; then
+ echo "Push ${SOURCE} successful"
+else
+ echo "Push ${SOURCE} failed"
+fi
+
+# Push the SITE to the server
 git push -u origin ${SITE} > /dev/null 2>&1
 if [ $? = 0 ]; then
   echo "Push ${SITE} successful"
@@ -69,11 +77,3 @@ fi
 
 # Switch back to SOURCE branch
 git checkout ${SOURCE} > /dev/null 2>&1
-
-# Push the SOURCE to the server
-git push -u origin ${SOURCE} > /dev/null 2>&1
-if [ $? = 0 ]; then
- echo "Push ${SOURCE} successful"
-else
- echo "Push ${SOURCE} failed"
-fi


[celix-site] 14/34: Adding http mirrors as well to download.md

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit df0e8ff7ca2a2bf3970419ed1ce2abc488448ea1
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 18:41:25 2019 +0100

    Adding http mirrors as well to download.md
---
 source/download.md | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/source/download.md b/source/download.md
index 97658c8..1cd8a7f 100644
--- a/source/download.md
+++ b/source/download.md
@@ -14,15 +14,20 @@ mirrors (at the end of the mirrors list) that should be available.
 <form action="[location]" method="get" id="SelectMirror">
     Other mirrors:
     <select name="Preferred">
-        [if-any https] 
+        [if-any https]
         [for https]
         <option value="[https]">[https]</option>
         [end]
-        [end] 
+        [end]
+        [if-any http]
+        [for http]
+        <option value="[http]">[http]</option>
+        [end]
+        [end]
         [if-any ftp]
         [for ftp]<option value="[ftp]">[ftp]</option>
         [end]
-        [end] 
+        [end]
         [if-any backup]
         [for backup]<option value="[backup]">[backup] (backup)</option>
         [end]


[celix-site] 34/34: Merge pull request #7 from rlenferink/master

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 49e4b8a3ccffe589003eb503faa8792d8d92c4d1
Merge: 78a5783 1e44b19
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Fri Jul 12 19:51:46 2019 +0200

    Merge pull request #7 from rlenferink/master
    
    Converted site to Hugo

 .gitignore                                         |  20 +-
 .gitmodules                                        |   2 +-
 Gemfile                                            |   4 -
 Gemfile.lock                                       |  65 ----
 README.md                                          |  14 +-
 _config.yml                                        |  17 --
 archetypes/default.md                              |   6 +
 config.toml                                        |  37 +++
 extract_celix_docs.sh                              |  30 +-
 source/_layouts/default.html => layouts/404.html   |  23 +-
 .../celix-md.html => layouts/_default/baseof.html  |  14 +-
 layouts/_default/list.html                         |   3 +
 layouts/_default/single.html                       |   3 +
 .../default.html => layouts/celix-doc/baseof.html  |  19 +-
 layouts/celix-doc/list.html                        |   3 +
 layouts/celix-doc/single.html                      |   3 +
 layouts/index.html                                 | 121 ++++++++
 {source/_includes => layouts/partials}/footer.html |   2 +-
 {source/_includes => layouts/partials}/header.html |  14 +-
 layouts/robots.txt                                 |   6 +
 layouts/shortcodes/tableofcontents.html            |   1 +
 publish.sh                                         |  28 +-
 run.sh                                             |  18 --
 run_incremental.sh                                 |  18 --
 source/404.md                                      |  11 -
 source/_layouts/main-page.html                     |  45 ---
 source/_plugins/remote_file_content.rb             |  60 ----
 source/_plugins/update_celix_markdown.rb           |  84 -----
 source/_plugins/update_links.rb                    |  30 --
 source/assets/highlighter/github-theme.css         |  60 ----
 source/assets/highlighter/js/shAutoloader.js       |  17 --
 source/assets/highlighter/js/shBrushAS3.js         |  59 ----
 source/assets/highlighter/js/shBrushAppleScript.js |  75 -----
 source/assets/highlighter/js/shBrushBash.js        |  59 ----
 source/assets/highlighter/js/shBrushCSharp.js      |  65 ----
 source/assets/highlighter/js/shBrushColdFusion.js  | 100 ------
 source/assets/highlighter/js/shBrushCpp.js         |  97 ------
 source/assets/highlighter/js/shBrushCss.js         |  91 ------
 source/assets/highlighter/js/shBrushDelphi.js      |  55 ----
 source/assets/highlighter/js/shBrushDiff.js        |  41 ---
 source/assets/highlighter/js/shBrushErlang.js      |  52 ----
 source/assets/highlighter/js/shBrushGroovy.js      |  67 ----
 source/assets/highlighter/js/shBrushJScript.js     |  52 ----
 source/assets/highlighter/js/shBrushJava.js        |  57 ----
 source/assets/highlighter/js/shBrushJavaFX.js      |  58 ----
 source/assets/highlighter/js/shBrushPerl.js        |  72 -----
 source/assets/highlighter/js/shBrushPhp.js         |  88 ------
 source/assets/highlighter/js/shBrushPlain.js       |  33 --
 source/assets/highlighter/js/shBrushPowerShell.js  |  74 -----
 source/assets/highlighter/js/shBrushPython.js      |  64 ----
 source/assets/highlighter/js/shBrushRuby.js        |  55 ----
 source/assets/highlighter/js/shBrushSass.js        |  94 ------
 source/assets/highlighter/js/shBrushScala.js       |  51 ----
 source/assets/highlighter/js/shBrushSql.js         |  66 ----
 source/assets/highlighter/js/shBrushVb.js          |  56 ----
 source/assets/highlighter/js/shBrushXml.js         |  69 -----
 source/assets/highlighter/js/shCore.js             |  17 --
 source/assets/highlighter/js/shLegacy.js           |  17 --
 source/assets/highlighter/style/shCore.css         | 226 --------------
 source/assets/highlighter/style/shCoreDefault.css  | 328 --------------------
 source/assets/highlighter/style/shCoreDjango.css   | 331 --------------------
 source/assets/highlighter/style/shCoreEclipse.css  | 339 ---------------------
 source/assets/highlighter/style/shCoreEmacs.css    | 324 --------------------
 .../assets/highlighter/style/shCoreFadeToGrey.css  | 328 --------------------
 source/assets/highlighter/style/shCoreMDUltra.css  | 324 --------------------
 source/assets/highlighter/style/shCoreMidnight.css | 324 --------------------
 source/assets/highlighter/style/shCoreRDark.css    | 324 --------------------
 source/assets/highlighter/style/shCoreStruts.css   | 339 ---------------------
 source/assets/highlighter/style/shThemeDefault.css | 117 -------
 source/assets/highlighter/style/shThemeDjango.css  | 120 --------
 source/assets/highlighter/style/shThemeEclipse.css | 128 --------
 source/assets/highlighter/style/shThemeEmacs.css   | 113 -------
 .../assets/highlighter/style/shThemeFadeToGrey.css | 117 -------
 source/assets/highlighter/style/shThemeMDUltra.css | 113 -------
 .../assets/highlighter/style/shThemeMidnight.css   | 113 -------
 source/assets/highlighter/style/shThemeRDark.css   | 113 -------
 source/assets/highlighter/style/shThemeStruts.css  | 128 --------
 source/contributing/releasing.md                   |  21 +-
 source/contributing/submitting-patches.md          |   5 +-
 source/contributing/volunteers.md                  |   5 +-
 source/contributing/youatcelix.md                  |   1 -
 source/docs/celix/CHANGES.md                       |   3 +-
 source/docs/celix/README.md                        |   9 +-
 source/docs/celix/config_admin/readme.md           |   3 +-
 source/docs/celix/dependency_manager/readme.md     |   6 +-
 source/docs/celix/dependency_manager_cxx/readme.md |   7 +-
 source/docs/celix/deployment_admin/README.md       |   3 +-
 source/docs/celix/device_access/README.md          |   3 +-
 source/docs/celix/documents/building/readme.md     |   5 +-
 .../docs/celix/documents/cmake_commands/readme.md  |   4 +-
 .../getting_started/creating_a_simple_bundle.md    |  12 +-
 .../docs/celix/documents/getting_started/readme.md |  10 +-
 .../getting_started/using_services_with_c.md       |   5 +-
 .../getting_started/using_services_with_cxx.md     |   5 +-
 source/docs/celix/documents/intro/readme.md        |  15 +-
 .../docs/celix/documents/roadmap/api_v3/readme.md  |   6 +-
 .../celix/documents/roadmap/improvement_ideas.md   |   3 +-
 source/docs/celix/documents/roadmap/roadmap.md     |   3 +-
 source/docs/celix/documents/subprojects/readme.md  |  31 +-
 source/docs/celix/etcdlib/README.md                |   3 +-
 source/docs/celix/launcher/README.md               |   3 +-
 source/docs/celix/log_service/README.md            |   3 +-
 source/docs/celix/log_writer/README.md             |   3 +-
 source/docs/celix/pubsub/README.md                 |   3 +-
 source/docs/celix/pubsub/examples/keys/README.md   |   3 +-
 .../celix/pubsub/pubsub_admin_udp_mc/README.md     |   3 +-
 source/docs/celix/remote_services/README.md        |   7 +-
 .../celix/remote_services/discovery_etcd/README.md |   3 +-
 .../remote_services/remote_service_admin/README.md |   3 +-
 .../remote_services/topology_manager/README.md     |   3 +-
 source/docs/celix/remote_shell/README.md           |   3 +-
 source/docs/celix/shell/README.md                  |   3 +-
 source/docs/celix/shell_tui/README.md              |   3 +-
 source/docs/celix/utils/README.md                  |   3 +-
 source/docs/celix/utils/docs/thpool/Design.md      |   3 +-
 source/docs/celix/utils/docs/thpool/FAQ.md         |   3 +-
 source/docs/celix/utils/docs/thpool/README.md      |   3 +-
 .../celix/utils/public/include/memstream/README.md |   3 +-
 source/docs/{index.md => docs.md}                  |   2 -
 source/download.md                                 |   1 -
 source/index.html                                  |  79 -----
 source/robots.txt                                  |   1 -
 source/support/issue-tracking.md                   |   1 -
 source/support/mailing-list.md                     |   8 +-
 {source => static}/.htaccess                       |  36 +--
 {source => static}/assets/css/bootstrap-grid.css   |   0
 .../assets/css/bootstrap-grid.css.map              |   0
 .../assets/css/bootstrap-grid.min.css              |   0
 .../assets/css/bootstrap-grid.min.css.map          |   0
 {source => static}/assets/css/bootstrap-reboot.css |   0
 .../assets/css/bootstrap-reboot.css.map            |   0
 .../assets/css/bootstrap-reboot.min.css            |   0
 .../assets/css/bootstrap-reboot.min.css.map        |   0
 {source => static}/assets/css/bootstrap.css        |   0
 {source => static}/assets/css/bootstrap.css.map    |   0
 {source => static}/assets/css/bootstrap.min.css    |   0
 .../assets/css/bootstrap.min.css.map               |   0
 {source => static}/assets/css/style.css            |   0
 {source => static}/assets/img/apache.png           | Bin
 {source => static}/assets/img/celix-white.svg      |   0
 {source => static}/assets/img/celix.svg            |   0
 {source => static/assets/img}/favicon.ico          | Bin
 .../assets/img/forkme_right_red_aa0000.png         | Bin
 {source => static}/assets/img/icon-primer.svg      |   0
 {source => static}/assets/js/bootstrap.bundle.js   |   0
 .../assets/js/bootstrap.bundle.js.map              |   0
 .../assets/js/bootstrap.bundle.min.js              |   0
 .../assets/js/bootstrap.bundle.min.js.map          |   0
 {source => static}/assets/js/bootstrap.js          |   0
 {source => static}/assets/js/bootstrap.js.map      |   0
 {source => static}/assets/js/bootstrap.min.js      |   0
 {source => static}/assets/js/bootstrap.min.js.map  |   0
 {source => static}/assets/js/jquery.js             |   0
 {source => static}/assets/js/jquery.min.js         |   0
 {source => static}/assets/js/jquery.slim.js        |   0
 {source => static}/assets/js/jquery.slim.min.js    |   0
 156 files changed, 393 insertions(+), 6672 deletions(-)


[celix-site] 13/34: CELIX-449: Updated .htaccess to point to correct 404 ErrorDocument

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 0c4aeecf53bb70ed494ba09e990607840a7b83af
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Fri Jan 4 15:59:10 2019 +0100

    CELIX-449: Updated .htaccess to point to correct 404 ErrorDocument
---
 source/.htaccess | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/.htaccess b/source/.htaccess
index e76b431..0c3e605 100644
--- a/source/.htaccess
+++ b/source/.htaccess
@@ -15,4 +15,4 @@
 
 DirectoryIndex index.html
 
-ErrorDocument 404 /404
+ErrorDocument 404 /404.html


[celix-site] 31/34: Updated script to extract docs from Celix

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit e4409e8311145b46dc73e87d2c423e9f2ed89881
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 14:36:35 2019 +0200

    Updated script to extract docs from Celix
---
 extract_celix_docs.sh                                                | 5 +++--
 source/docs/celix/CHANGES.md                                         | 1 -
 source/docs/celix/README.md                                          | 1 -
 source/docs/celix/config_admin/readme.md                             | 1 -
 source/docs/celix/dependency_manager/readme.md                       | 1 -
 source/docs/celix/dependency_manager_cxx/readme.md                   | 1 -
 source/docs/celix/deployment_admin/README.md                         | 1 -
 source/docs/celix/device_access/README.md                            | 1 -
 source/docs/celix/documents/building/readme.md                       | 1 -
 source/docs/celix/documents/cmake_commands/readme.md                 | 1 -
 .../docs/celix/documents/getting_started/creating_a_simple_bundle.md | 1 -
 source/docs/celix/documents/getting_started/readme.md                | 1 -
 source/docs/celix/documents/getting_started/using_services_with_c.md | 1 -
 .../docs/celix/documents/getting_started/using_services_with_cxx.md  | 1 -
 source/docs/celix/documents/intro/readme.md                          | 1 -
 source/docs/celix/documents/roadmap/api_v3/readme.md                 | 3 +--
 source/docs/celix/documents/roadmap/improvement_ideas.md             | 1 -
 source/docs/celix/documents/roadmap/roadmap.md                       | 1 -
 source/docs/celix/etcdlib/README.md                                  | 1 -
 source/docs/celix/launcher/README.md                                 | 1 -
 source/docs/celix/log_service/README.md                              | 1 -
 source/docs/celix/log_writer/README.md                               | 1 -
 source/docs/celix/pubsub/README.md                                   | 1 -
 source/docs/celix/pubsub/examples/keys/README.md                     | 1 -
 source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md               | 1 -
 source/docs/celix/remote_services/README.md                          | 1 -
 source/docs/celix/remote_services/discovery_etcd/README.md           | 1 -
 source/docs/celix/remote_services/remote_service_admin/README.md     | 1 -
 source/docs/celix/remote_services/topology_manager/README.md         | 1 -
 source/docs/celix/remote_shell/README.md                             | 1 -
 source/docs/celix/shell/README.md                                    | 1 -
 source/docs/celix/shell_tui/README.md                                | 1 -
 source/docs/celix/utils/README.md                                    | 1 -
 source/docs/celix/utils/docs/thpool/Design.md                        | 1 -
 source/docs/celix/utils/docs/thpool/FAQ.md                           | 1 -
 source/docs/celix/utils/docs/thpool/README.md                        | 1 -
 source/docs/celix/utils/public/include/memstream/README.md           | 1 -
 37 files changed, 4 insertions(+), 39 deletions(-)

diff --git a/extract_celix_docs.sh b/extract_celix_docs.sh
index d7ff47d..542c597 100644
--- a/extract_celix_docs.sh
+++ b/extract_celix_docs.sh
@@ -33,9 +33,10 @@ for FILE_PATH in $(cd ${CELIX_SRC_DIR}; find . -name \*.md); do
     cp -v ${CELIX_SRC_DIR}/${FILE_PATH} ${CELIX_DOC_DIR}/${FILE_DIR}
 
     # Prepend markdown file with Hugo header
-    SECOND_LINE=$(head -n 2 ${FILE_PATH} | tail -n 1)
+    DEST_FILE=${CELIX_DOC_DIR}/${FILE_PATH}
+    SECOND_LINE=$(head -n 2 ${DEST_FILE} | tail -n 1)
 
     if [[ "${SECOND_LINE}" != *"type: celix-doc"* ]]; then
-        sed -i '1s;^;---\ntype: celix-doc\ntitle: ${FILE_NAME}\n---\n\n;' ${FILE_PATH}
+        sed -i "1s;^;---\ntype: celix-doc\ntitle: ${FILE_NAME}\n---\n\n;" ${DEST_FILE}
     fi
 done
diff --git a/source/docs/celix/CHANGES.md b/source/docs/celix/CHANGES.md
index 46fc02d..d372e20 100644
--- a/source/docs/celix/CHANGES.md
+++ b/source/docs/celix/CHANGES.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: CHANGES.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/README.md b/source/docs/celix/README.md
index 50b12ed..575ee6e 100644
--- a/source/docs/celix/README.md
+++ b/source/docs/celix/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/config_admin/readme.md b/source/docs/celix/config_admin/readme.md
index 03af413..bcdbc13 100644
--- a/source/docs/celix/config_admin/readme.md
+++ b/source/docs/celix/config_admin/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/dependency_manager/readme.md b/source/docs/celix/dependency_manager/readme.md
index 0b484a7..7b2a9c8 100644
--- a/source/docs/celix/dependency_manager/readme.md
+++ b/source/docs/celix/dependency_manager/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/dependency_manager_cxx/readme.md b/source/docs/celix/dependency_manager_cxx/readme.md
index ed90b36..9a31719 100644
--- a/source/docs/celix/dependency_manager_cxx/readme.md
+++ b/source/docs/celix/dependency_manager_cxx/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/deployment_admin/README.md b/source/docs/celix/deployment_admin/README.md
index 52f7031..d1e60c4 100644
--- a/source/docs/celix/deployment_admin/README.md
+++ b/source/docs/celix/deployment_admin/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/device_access/README.md b/source/docs/celix/device_access/README.md
index a9840cd..bdd7467 100644
--- a/source/docs/celix/device_access/README.md
+++ b/source/docs/celix/device_access/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/building/readme.md b/source/docs/celix/documents/building/readme.md
index 86cc13e..2a9f2b1 100644
--- a/source/docs/celix/documents/building/readme.md
+++ b/source/docs/celix/documents/building/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/cmake_commands/readme.md b/source/docs/celix/documents/cmake_commands/readme.md
index fe74f70..772ccc6 100644
--- a/source/docs/celix/documents/cmake_commands/readme.md
+++ b/source/docs/celix/documents/cmake_commands/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
index 231dc08..34cbb30 100644
--- a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
+++ b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: creating_a_simple_bundle.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/getting_started/readme.md b/source/docs/celix/documents/getting_started/readme.md
index e53644b..53eb948 100644
--- a/source/docs/celix/documents/getting_started/readme.md
+++ b/source/docs/celix/documents/getting_started/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/getting_started/using_services_with_c.md b/source/docs/celix/documents/getting_started/using_services_with_c.md
index 6ad0fa1..e61b24a 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_c.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_c.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: using_services_with_c.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/getting_started/using_services_with_cxx.md b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
index 96fb3d5..e889263 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_cxx.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: using_services_with_cxx.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/intro/readme.md b/source/docs/celix/documents/intro/readme.md
index eb79672..2696b40 100644
--- a/source/docs/celix/documents/intro/readme.md
+++ b/source/docs/celix/documents/intro/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/roadmap/api_v3/readme.md b/source/docs/celix/documents/roadmap/api_v3/readme.md
index 576e4dd..1bae2d3 100644
--- a/source/docs/celix/documents/roadmap/api_v3/readme.md
+++ b/source/docs/celix/documents/roadmap/api_v3/readme.md
@@ -3,8 +3,7 @@ type: celix-doc
 title: readme.md
 ---
 
-
-<!--
+<!--
 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.
diff --git a/source/docs/celix/documents/roadmap/improvement_ideas.md b/source/docs/celix/documents/roadmap/improvement_ideas.md
index 1cf877c..a411598 100644
--- a/source/docs/celix/documents/roadmap/improvement_ideas.md
+++ b/source/docs/celix/documents/roadmap/improvement_ideas.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: improvement_ideas.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/documents/roadmap/roadmap.md b/source/docs/celix/documents/roadmap/roadmap.md
index a5896e4..30c3ebb 100644
--- a/source/docs/celix/documents/roadmap/roadmap.md
+++ b/source/docs/celix/documents/roadmap/roadmap.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: roadmap.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/etcdlib/README.md b/source/docs/celix/etcdlib/README.md
index 06592b1..8fbe866 100644
--- a/source/docs/celix/etcdlib/README.md
+++ b/source/docs/celix/etcdlib/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/launcher/README.md b/source/docs/celix/launcher/README.md
index 09d5b07..b1812ef 100644
--- a/source/docs/celix/launcher/README.md
+++ b/source/docs/celix/launcher/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/log_service/README.md b/source/docs/celix/log_service/README.md
index ff17d08..f51fae9 100644
--- a/source/docs/celix/log_service/README.md
+++ b/source/docs/celix/log_service/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/log_writer/README.md b/source/docs/celix/log_writer/README.md
index d2e990a..01a69c8 100644
--- a/source/docs/celix/log_writer/README.md
+++ b/source/docs/celix/log_writer/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/pubsub/README.md b/source/docs/celix/pubsub/README.md
index 5cc3cfe..83fa8b4 100644
--- a/source/docs/celix/pubsub/README.md
+++ b/source/docs/celix/pubsub/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/pubsub/examples/keys/README.md b/source/docs/celix/pubsub/examples/keys/README.md
index a35695c..ee1300e 100644
--- a/source/docs/celix/pubsub/examples/keys/README.md
+++ b/source/docs/celix/pubsub/examples/keys/README.md
@@ -4,7 +4,6 @@ title: README.md
 ---
 
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md b/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
index 565ef6f..8fd0ada 100644
--- a/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
+++ b/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/remote_services/README.md b/source/docs/celix/remote_services/README.md
index 5050bd0..bd9ac95 100644
--- a/source/docs/celix/remote_services/README.md
+++ b/source/docs/celix/remote_services/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/remote_services/discovery_etcd/README.md b/source/docs/celix/remote_services/discovery_etcd/README.md
index b5829d2..6ea6f7a 100644
--- a/source/docs/celix/remote_services/discovery_etcd/README.md
+++ b/source/docs/celix/remote_services/discovery_etcd/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/remote_services/remote_service_admin/README.md b/source/docs/celix/remote_services/remote_service_admin/README.md
index 4abc94a..f620015 100644
--- a/source/docs/celix/remote_services/remote_service_admin/README.md
+++ b/source/docs/celix/remote_services/remote_service_admin/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/remote_services/topology_manager/README.md b/source/docs/celix/remote_services/topology_manager/README.md
index bae7405..f75059c 100644
--- a/source/docs/celix/remote_services/topology_manager/README.md
+++ b/source/docs/celix/remote_services/topology_manager/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/remote_shell/README.md b/source/docs/celix/remote_shell/README.md
index fd8cd8b..bf1eb8a 100644
--- a/source/docs/celix/remote_shell/README.md
+++ b/source/docs/celix/remote_shell/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/shell/README.md b/source/docs/celix/shell/README.md
index df6a60f..e680d92 100644
--- a/source/docs/celix/shell/README.md
+++ b/source/docs/celix/shell/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/shell_tui/README.md b/source/docs/celix/shell_tui/README.md
index 164d258..559004c 100644
--- a/source/docs/celix/shell_tui/README.md
+++ b/source/docs/celix/shell_tui/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/utils/README.md b/source/docs/celix/utils/README.md
index b8e58b6..3cec0fc 100644
--- a/source/docs/celix/utils/README.md
+++ b/source/docs/celix/utils/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
diff --git a/source/docs/celix/utils/docs/thpool/Design.md b/source/docs/celix/utils/docs/thpool/Design.md
index 20705ca..2908f86 100644
--- a/source/docs/celix/utils/docs/thpool/Design.md
+++ b/source/docs/celix/utils/docs/thpool/Design.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: Design.md
 ---
 
-
 ## High level
 	
 	Description: Library providing a threading pool where you can add work on the fly. The number
diff --git a/source/docs/celix/utils/docs/thpool/FAQ.md b/source/docs/celix/utils/docs/thpool/FAQ.md
index 7a9c2e6..7ef617d 100644
--- a/source/docs/celix/utils/docs/thpool/FAQ.md
+++ b/source/docs/celix/utils/docs/thpool/FAQ.md
@@ -4,7 +4,6 @@ title: FAQ.md
 ---
 
 
-
 ### Why isn't pthread_exit() used to exit a thread?
 `thread_do` used to use pthread_exit(). However that resulted in
 hard times of testing for memory leaks. The reason is that on pthread_exit()
diff --git a/source/docs/celix/utils/docs/thpool/README.md b/source/docs/celix/utils/docs/thpool/README.md
index d0fe29b..31d86b1 100644
--- a/source/docs/celix/utils/docs/thpool/README.md
+++ b/source/docs/celix/utils/docs/thpool/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 ![Build status](http://178.62.170.124:3000/pithikos/c-thread-pool/badge/?branch=master)
 
 # C Thread Pool
diff --git a/source/docs/celix/utils/public/include/memstream/README.md b/source/docs/celix/utils/public/include/memstream/README.md
index 3e5fcaf..4058c0b 100644
--- a/source/docs/celix/utils/public/include/memstream/README.md
+++ b/source/docs/celix/utils/public/include/memstream/README.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: README.md
 ---
 
-
 fmemopen for Mac OS and iOS
 ===========================
 


[celix-site] 15/34: Improvements for Download page

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 17f29977ab91492bff0d3a23ea3f82814d870f8f
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 18:47:36 2019 +0100

    Improvements for Download page
---
 source/_includes/header.html | 2 +-
 source/download.md           | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/source/_includes/header.html b/source/_includes/header.html
index 3f51749..d65d338 100644
--- a/source/_includes/header.html
+++ b/source/_includes/header.html
@@ -16,7 +16,7 @@
                 {% if page.url == "/" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
                     <a class="nav-link" href="/">Home</a>
                 </li>
-                {% if page.url == "/download.cgi" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                {% if page.url == "/download.cgi" or page.url == "/download.html" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
                     <a class="nav-link" href="/download.cgi">Download</a>
                 </li>
                 {% if page.url contains '/docs/' or page.url contains '/celix/' %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
diff --git a/source/download.md b/source/download.md
index 1cd8a7f..53f4bc6 100644
--- a/source/download.md
+++ b/source/download.md
@@ -40,7 +40,7 @@ You may also consult the [complete list of mirrors](https://www.apache.org/mirro
 
 ## Downloads
 
-- Source: [celix-2.1.0.tar.gz]([preferred]/celix/celix-2.1.0/celix-2.1.0.tar.gz)
+- Source: [celix-2.1.0.tar.gz]([preferred]celix/celix-2.1.0/celix-2.1.0.tar.gz)
 [ [PGP](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.asc) ] [
 [MD5](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.md5) ] [
-[SHA1](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.sha) ]
\ No newline at end of file
+[SHA1](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.sha) ]


[celix-site] 32/34: Updated extract_celix_docs script to update Markdown to HTML links

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit f0c4279e88bd9fbf372dadbe683f6204d1882470
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 14:54:56 2019 +0200

    Updated extract_celix_docs script to update Markdown to HTML links
---
 extract_celix_docs.sh                              |  3 +++
 source/docs/celix/README.md                        |  6 ++---
 source/docs/celix/dependency_manager/readme.md     |  2 +-
 source/docs/celix/dependency_manager_cxx/readme.md |  4 +--
 source/docs/celix/documents/building/readme.md     |  2 +-
 .../getting_started/creating_a_simple_bundle.md    |  8 +++---
 .../docs/celix/documents/getting_started/readme.md |  6 ++---
 .../getting_started/using_services_with_c.md       |  2 +-
 .../getting_started/using_services_with_cxx.md     |  2 +-
 source/docs/celix/documents/intro/readme.md        | 12 ++++-----
 source/docs/celix/documents/subprojects/readme.md  | 29 +++++++++++-----------
 source/docs/celix/remote_services/README.md        |  4 +--
 12 files changed, 41 insertions(+), 39 deletions(-)

diff --git a/extract_celix_docs.sh b/extract_celix_docs.sh
index 542c597..f873f25 100644
--- a/extract_celix_docs.sh
+++ b/extract_celix_docs.sh
@@ -39,4 +39,7 @@ for FILE_PATH in $(cd ${CELIX_SRC_DIR}; find . -name \*.md); do
     if [[ "${SECOND_LINE}" != *"type: celix-doc"* ]]; then
         sed -i "1s;^;---\ntype: celix-doc\ntitle: ${FILE_NAME}\n---\n\n;" ${DEST_FILE}
     fi
+
+    # Replace markdown links with HTML links
+    sed -i "s/.md)/.html)/" ${DEST_FILE}
 done
diff --git a/source/docs/celix/README.md b/source/docs/celix/README.md
index 575ee6e..f3a40be 100644
--- a/source/docs/celix/README.md
+++ b/source/docs/celix/README.md
@@ -24,11 +24,11 @@ limitations under the License.
 Apache Celix is an implementation of the OSGi specification adapted to C and C++ (C++11). It is a provides a framework to develop (dynamic) modular software applications using component and/or service-oriented programming.
 
 ## Building
-For information how to build Apache Celix see [Building Apache Celix](documents/building/readme.md)
+For information how to build Apache Celix see [Building Apache Celix](documents/building/readme.html)
 
 ## Introduction to Apache Celix
-For an introduction into Apache Celix see [Apache Celix Intro](documents/intro/readme.md)
+For an introduction into Apache Celix see [Apache Celix Intro](documents/intro/readme.html)
 
 ## Getting Started with Apache Celix
-For a guide how to start writing your own bundles and services see [Getting Started Guide](documents/getting_started/readme.md)
+For a guide how to start writing your own bundles and services see [Getting Started Guide](documents/getting_started/readme.html)
 
diff --git a/source/docs/celix/dependency_manager/readme.md b/source/docs/celix/dependency_manager/readme.md
index 7b2a9c8..fa1198f 100644
--- a/source/docs/celix/dependency_manager/readme.md
+++ b/source/docs/celix/dependency_manager/readme.md
@@ -148,5 +148,5 @@ their state, provided interfaces and required interfaces.
 For more information examples please see
 
 - [The Dependency Manager API](public/include): The dependency manager header files
-- [Getting Started: Using Service with C](../documents/getting_started/using_services_with_c.md): A introduction how to work with services using the dependency manager
+- [Getting Started: Using Service with C](../documents/getting_started/using_services_with_c.html): A introduction how to work with services using the dependency manager
 - [Dm example](../examples/dm_example): A DM example.  
diff --git a/source/docs/celix/dependency_manager_cxx/readme.md b/source/docs/celix/dependency_manager_cxx/readme.md
index 9a31719..9c09ff6 100644
--- a/source/docs/celix/dependency_manager_cxx/readme.md
+++ b/source/docs/celix/dependency_manager_cxx/readme.md
@@ -32,7 +32,7 @@ The C++ Dependency Manager uses fluent interface to make specifying DM component
 ## C++ and C Dependency Manager
 
 The C++ Dependency Manager is build on top of the C Dependency Manager.
-To get a good overview of the C++ Dependency Manager please read the [Dependency Manager documentation](../dependency_manager/README.md)
+To get a good overview of the C++ Dependency Manager please read the [Dependency Manager documentation](../dependency_manager/README.html)
 
 ## DM Parts
 
@@ -80,4 +80,4 @@ For more information examples please see
 
 - [The C++ Dependency Manager API](include/celix/dm): The c++ dependency manager header files
 - [Dm C++ example](../examples/dm_example_cxx): A DM C++ example.
-- [Getting Started: Using Services with C++](../documents/getting_started/using_services_with_cxx.md): A introduction how to work with services using the C++ dependency manager
+- [Getting Started: Using Services with C++](../documents/getting_started/using_services_with_cxx.html): A introduction how to work with services using the C++ dependency manager
diff --git a/source/docs/celix/documents/building/readme.md b/source/docs/celix/documents/building/readme.md
index 2a9f2b1..3d914e1 100644
--- a/source/docs/celix/documents/building/readme.md
+++ b/source/docs/celix/documents/building/readme.md
@@ -140,4 +140,4 @@ celix
 should give the following output:
 "Error: invalid or non-existing configuration file: 'config.properties'.No such file or directory".
 
-For more info how to build your own projects and/or running the Apache Celix examples see [Getting Started](../getting_started/readme.md).
+For more info how to build your own projects and/or running the Apache Celix examples see [Getting Started](../getting_started/readme.html).
diff --git a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
index 34cbb30..dd5af6b 100644
--- a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
+++ b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
@@ -31,7 +31,7 @@ If there are any uncertainties or question, don't hesitate to ask your questions
 Some experience with a command line interface (xterm) is expected to be able to follow this guide. 
 
 ## Building and Installing
-For Apache Celix see [Building And Installing](../building/readme.md)
+For Apache Celix see [Building And Installing](../building/readme.html)
 
 ## Installing Eclipse CDT
 Download the latest eclipse CDT at [http://www.eclipse.org](http://www.eclipse.org) and install it on your system. For more information on how the install eclipse on your system consult the eclipse documentation. For this getting started guide the luna version of eclipse was used ([linux](http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz) [mac](http://www.eclipse.org/downloads/download.php?file=/technolo [...]
@@ -324,13 +324,13 @@ To run a Celix container just select the target from CLion and press Run.
 ## Next
 
 The get a complete overview of the available Celix CMake commands see:
- - [Apache Celix - Celix CMake Commands](../cmake_commands/readme.md)
+ - [Apache Celix - Celix CMake Commands](../cmake_commands/readme.html)
 
 The idea behind service oriented programming is that functionality is provided and used by abstract service, which hide implementation details.
 For a guide how to provide and use services see
 
-- [Apache Celix - Getting Started Guide: Using Services with C](using_services_with_c.md)
-- [Apache Celix - Getting Started Guide: Using Services with C++](using_services_with_cxx.md)
+- [Apache Celix - Getting Started Guide: Using Services with C](using_services_with_c.html)
+- [Apache Celix - Getting Started Guide: Using Services with C++](using_services_with_cxx.html)
  
 
 
diff --git a/source/docs/celix/documents/getting_started/readme.md b/source/docs/celix/documents/getting_started/readme.md
index 53eb948..b3cfd9e 100644
--- a/source/docs/celix/documents/getting_started/readme.md
+++ b/source/docs/celix/documents/getting_started/readme.md
@@ -23,9 +23,9 @@ limitations under the License.
 # Apache Celix - Getting Started Guide
 
 ## Guides
-There are several guide to help you get started. The first guide is [Getting Started: Creating a simple bundle](creating_a_simple_bundle.md) 
+There are several guide to help you get started. The first guide is [Getting Started: Creating a simple bundle](creating_a_simple_bundle.html) 
 and this should get you started for your first C and/or C++ bundle.
 
 After that you can extend the example by using services with the following guides:
- - [Getting Started: Using Services with C](using_services_with_c.md) 
- - [Getting Started: Using Services with C++](using_services_with_cxx.md). 
+ - [Getting Started: Using Services with C](using_services_with_c.html) 
+ - [Getting Started: Using Services with C++](using_services_with_cxx.html). 
diff --git a/source/docs/celix/documents/getting_started/using_services_with_c.md b/source/docs/celix/documents/getting_started/using_services_with_c.md
index e61b24a..7520154 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_c.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_c.md
@@ -612,4 +612,4 @@ The suspend strategy has the advantage of reducing locks' usage: of course, susp
 
 ## See also
 
-See the [C Dependeny Manager](../../dependency_manager/readme.md) and [C Dependency Manager example](../../examples/dm_example) for more information and a more complex working example.
+See the [C Dependeny Manager](../../dependency_manager/readme.html) and [C Dependency Manager example](../../examples/dm_example) for more information and a more complex working example.
diff --git a/source/docs/celix/documents/getting_started/using_services_with_cxx.md b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
index e889263..4669713 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_cxx.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
@@ -573,4 +573,4 @@ The suspend strategy has the advantage of reducing locks' usage: of course, susp
 
 ## See also
 
-See the [C++ Dependeny Manager](../../dependency_manager_cxx/readme.md) and [C++ Dependency Manager example](../../examples/dm_example_cxx) for more information and a more complex working example.
+See the [C++ Dependeny Manager](../../dependency_manager_cxx/readme.html) and [C++ Dependency Manager example](../../examples/dm_example_cxx) for more information and a more complex working example.
diff --git a/source/docs/celix/documents/intro/readme.md b/source/docs/celix/documents/intro/readme.md
index 2696b40..90a9e04 100644
--- a/source/docs/celix/documents/intro/readme.md
+++ b/source/docs/celix/documents/intro/readme.md
@@ -128,7 +128,7 @@ Consumers can dynamically lookup the services providing a filter to specify what
 ## C services in Apache Celix
 As mentioned OSGi uses Java Interfaces to define a service. Since C does not have Interfaces as compilable unit, this is not possible for Celix.  To be able to define a service which hides implementation details, Celix uses structs with function pointers.
  
-See [Apache Celix - Getting Started Guide](https://github.com/apache/celix/blob/master/documents/getting_started/readme.md) for a more in depth look at services and service usage.
+See [Apache Celix - Getting Started Guide](https://github.com/apache/celix/blob/master/documents/getting_started/readme.html) for a more in depth look at services and service usage.
  
 ## Impact of dynamic services
 Services in Apache Celix are dynamic, meaning that they can come and go at any moment. 
@@ -142,20 +142,20 @@ Apache Celix offers different solutions how to cope with this dynamic behaviour:
 * Bundle Context & Service References  - This (low level) [API](../../framework/public/include/bundle_context.h) exists to be compatible with the OSGi standard. This should not be used in production code, because no locking/syncing mechanisms are available.   
 * Service Listener - This (log level) [API](../../framework/public/include/service_listener.h) can be used to retrieve event when services are being removed or are added. Combined with locking this can be used to safely monitor and use services. 
 * Service Tracker - This [API](../../framework/public/include/service_tracker.h) can be used to register callbacks function when services are being removed or are added. Combined with locking this can be used to safely use services.
-* [Dependency Manager](../../dependency_manager/readme.md) - This library can be used to add service dependency is a declarative way.  A locking or syncing mechanism can be selected to safely use services. Note that this is not part of the OSGi standard.
+* [Dependency Manager](../../dependency_manager/readme.html) - This library can be used to add service dependency is a declarative way.  A locking or syncing mechanism can be selected to safely use services. Note that this is not part of the OSGi standard.
 
 Even though the dependency manager is not part of the OSGi specification, this is the preferred way because it uses a higher abstraction and removes a lot boilerplate code. 
 
 ## C++ Support
 
 One of the reasons why C was chosen as implementation language is that C can act as a common denominator for (service oriented) interoperability between a range of languages.
-C++ support is added with the use of a [C++ Dependency Manager](../../dependency_manager_cxx/readme.md).
+C++ support is added with the use of a [C++ Dependency Manager](../../dependency_manager_cxx/readme.html).
 The Dependency Manager is arguably the most convenient way to interact with services, confers most uses cases and eliminates the necessity to port the rest of the (large) API to C++.
 
 ## Documentation
 
 For more information see:
 
-* [Apache Celix - Building and Installing] (../building/readme.md)
-* [Apache Celix - Getting Started Guide](../getting_started/readme.md)
-* [Apache Celix - CMake Commands](../cmake_commands/readme.md)
+* [Apache Celix - Building and Installing] (../building/readme.html)
+* [Apache Celix - Getting Started Guide](../getting_started/readme.html)
+* [Apache Celix - CMake Commands](../cmake_commands/readme.html)
diff --git a/source/docs/celix/documents/subprojects/readme.md b/source/docs/celix/documents/subprojects/readme.md
index 4488cf6..dcfdd73 100644
--- a/source/docs/celix/documents/subprojects/readme.md
+++ b/source/docs/celix/documents/subprojects/readme.md
@@ -3,7 +3,6 @@ type: celix-doc
 title: readme.md
 ---
 
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -26,24 +25,24 @@ limitations under the License.
 Apache Celix is organized into several subprojects. The following subproject are currently available:
 
 * [Framework](https://github.com/apache/celix/tree/rel/celix-2.1.0/framework) - The Apache Celix framework, an implementation of OSGi adapted to C.
-* [C Dependency Manager](../../dependency_manager/readme.md) - A C component/dependency model for use through an API provided as library.
-* [C++ Dependency Manager](../../dependency_manager_cxx/readme.md) - A C++ component/dependency model for use through an API provided as library.
-* [Device Access](../../device_access/README.md) - An implementation of the OSGi Device Access specification adapted to C.
-* [Etcd library](../../etcdlib/README.md) - A C library that interfaces with ETCD. 
+* [C Dependency Manager](../../dependency_manager/readme.html) - A C component/dependency model for use through an API provided as library.
+* [C++ Dependency Manager](../../dependency_manager_cxx/readme.html) - A C++ component/dependency model for use through an API provided as library.
+* [Device Access](../../device_access/README.html) - An implementation of the OSGi Device Access specification adapted to C.
+* [Etcd library](../../etcdlib/README.html) - A C library that interfaces with ETCD. 
 * [Examples](https://github.com/apache/celix/tree/rel/celix-2.1.0/examples) - A Selection of examples showing how the framework can be used.
-* [Log Service](../../log_service/README.md) - An implementation of the OSGi Log Service adapated to C.
-* [Log Writer](../../log_writer/README.md) - A simple log writer for use in combination with the Log Service.
-* [Remote Service Admin](../../remote_services/README.md) - An implementation of the OSGi Remote Service Admin Service - for several protocols - adapted to C.
+* [Log Service](../../log_service/README.html) - An implementation of the OSGi Log Service adapated to C.
+* [Log Writer](../../log_writer/README.html) - A simple log writer for use in combination with the Log Service.
+* [Remote Service Admin](../../remote_services/README.html) - An implementation of the OSGi Remote Service Admin Service - for several protocols - adapted to C.
     * [Remote Service Admin HTTP](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_http) - A HTTP implementation of the RSA.
     * [Remote Service Admin DFI](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_dfi) - A Dynamic Function Interface (DFI) implementation of the RSA.
     * [Remote Service Admin SHM](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_shm) - A shared memory implementation of the RSA.
-    * [Topology Manager](../../remote_services/topology_manager/README.md) - A (scoped) RSA Topology Manager implementation. 
+    * [Topology Manager](../../remote_services/topology_manager/README.html) - A (scoped) RSA Topology Manager implementation. 
     * [Discovery Configured](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_configured) - A RSA Discovery implementation using static configuration (xml).
-    * [Discovery Etcd](../../remote_services/discovery_etcd/README.md) - A RSA Discovery implementation using etcd.
+    * [Discovery Etcd](../../remote_services/discovery_etcd/README.html) - A RSA Discovery implementation using etcd.
     * [Discovery SHM](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_shm) - A RSA Discovery implementation using shared memory.
-* [Shell](../../shell/README.md) - A OSGi shell implementation.
-* [Shell TUI](../../shell_tui/README.md) - A textual UI for the Celix Shell.
-* [Remote Shell](../../remote_shell/README.md) - A remote (telnet) frontend for the Celix shell.
+* [Shell](../../shell/README.html) - A OSGi shell implementation.
+* [Shell TUI](../../shell_tui/README.html) - A textual UI for the Celix Shell.
+* [Remote Shell](../../remote_shell/README.html) - A remote (telnet) frontend for the Celix shell.
 * [Bonjour Shell](https://github.com/apache/celix/tree/rel/celix-2.1.0/shell_bonjour) - A remote (Bonjour / mDNS) frontend for the Celix shell.
-* [Deployment Admin](../../deployment_admin/README.md) - A deployment admin implementation.
-* [Pubsub](../../pubsub/README.md) - An implementation for a publish-subscribe remote services system, that use dfi library for message serialization.
+* [Deployment Admin](../../deployment_admin/README.html) - A deployment admin implementation.
+* [Pubsub](../../pubsub/README.html) - An implementation for a publish-subscribe remote services system, that use dfi library for message serialization.
diff --git a/source/docs/celix/remote_services/README.md b/source/docs/celix/remote_services/README.md
index bd9ac95..33c9d6c 100644
--- a/source/docs/celix/remote_services/README.md
+++ b/source/docs/celix/remote_services/README.md
@@ -90,7 +90,7 @@ Provides a service discovery with preconfigured discovery endpoints, allowing a
 
 Note that for configured discovery, the "Endpoint Description Extender" XML format defined in the OSGi Remote Service Admin specification (section 122.8 of OSGi Enterprise 5.0.0) is used.
 
-See [etcd discovery](discovery_etcd/README.md)
+See [etcd discovery](discovery_etcd/README.html)
 
 #### etcd discovery 
 
@@ -98,7 +98,7 @@ See [etcd discovery](discovery_etcd/README.md)
 
 Provides a service discovery using etcd distributd key/value store. 
 
-See [etcd discovery](discovery_etcd/README.md)
+See [etcd discovery](discovery_etcd/README.html)
 
 ## Usage
 


[celix-site] 08/34: CELIX-449: Improving mailing list table from HTML to Markdown

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit c75140f8c9c4e46e38a95c5ced9bab4a0519e855
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 11:53:41 2018 +0100

    CELIX-449: Improving mailing list table from HTML to Markdown
---
 source/support/mailing-list.md | 26 +++++---------------------
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/source/support/mailing-list.md b/source/support/mailing-list.md
index d1308db..f41b6fe 100644
--- a/source/support/mailing-list.md
+++ b/source/support/mailing-list.md
@@ -15,30 +15,14 @@ A message sent to a public mailing list cannot be unpublished. Although we might
 the message is mirrored to a lot of other archiving systems which we do not have under control. Therefore almost 100% 
 of all delete requests are denied. Please make sure you **do not send any potential sensitive information to the mailing list**,
 including passwords, server names, ips and so on.
-{:.alert .alert-block .alert-error}
+{:.alert .alert-primary}
 
 ## Lists
 
-<table>
-    <tr>
-        <th>Name</th>
-        <th>Subscribe</th>
-        <th>Unsubscribe</th>
-        <th>Description</th>
-    </tr>
-    <tr>
-        <td><a href="https://lists.apache.org/list.html?dev@celix.apache.org">celix-dev</a></td>
-        <td><a href="mailto:dev-subscribe@celix.apache.org?subject=subscribe&amp;body=subscribe">subscribe</a></td>
-        <td><a href="mailto:dev-unsubscribe@celix.apache.org?subject=unsubscribe&amp;body=unsubscribe">unsubscribe</a></td>
-        <td>Contact other developers interested in expanding and improving Celix</td>
-    </tr>
-    <tr>
-        <td><a href="https://lists.apache.org/list.html?commits@celix.apache.org">celix-commits</a></td>
-        <td><a href="mailto:commits-subscribe@celix.apache.org?subject=subscribe&amp;body=subscribe">subscribe</a></td>
-        <td><a href="mailto:commits-unsubscribe@celix.apache.org?subject=unsubscribe&amp;body=unsubscribe">unsubscribe</a></td>
-        <td>Receive notifications of changes to the Celix source code repository.</td>
-    </tr>
-</table>
+| Name | Subscribe | Unsubscribe | Description |
+|----|---------|-----------|-----------|
+|[celix-dev](https://lists.apache.org/list.html?dev@celix.apache.org) | [subscribe](mailto:dev-subscribe@celix.apache.org?subject=subscribe&amp;body=subscribe) | [unsubscribe](mailto:dev-unsubscribe@celix.apache.org?subject=unsubscribe&amp;body=unsubscribe) | Contact other developers interested in expanding and improving Celix |
+|[celix-commits](https://lists.apache.org/list.html?commits@celix.apache.org) | [subscribe](mailto:commits-subscribe@celix.apache.org?subject=subscribe&amp;body=subscribe) | [unsubscribe](mailto:commits-unsubscribe@celix.apache.org?subject=unsubscribe&amp;body=unsubscribe) | Receive notifications of changes to the Celix source code repository |
 
 ## Archives
 


[celix-site] 33/34: Updated indentation for better formatting and disabled hrefAsBlank

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 1e44b19fd08ac4878e860785e7b147d34608b885
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Tue Jul 9 20:39:34 2019 +0200

    Updated indentation for better formatting and disabled hrefAsBlank
---
 config.toml                                                            | 2 +-
 source/docs/celix/dependency_manager/readme.md                         | 1 +
 source/docs/celix/documents/cmake_commands/readme.md                   | 1 +
 .../docs/celix/documents/getting_started/creating_a_simple_bundle.md   | 3 ++-
 source/docs/celix/documents/getting_started/readme.md                  | 1 +
 source/docs/celix/documents/roadmap/api_v3/readme.md                   | 1 +
 6 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/config.toml b/config.toml
index 903d7cd..bb152b0 100644
--- a/config.toml
+++ b/config.toml
@@ -23,7 +23,7 @@ pygmentsStyle = "emacs"
 enableGitInfo = true
 
 [blackfriday]
-hrefTargetBlank = true
+# hrefTargetBlank = true # We don't want everything opened in a new window
 fractions = false
 
 [frontmatter]
diff --git a/source/docs/celix/dependency_manager/readme.md b/source/docs/celix/dependency_manager/readme.md
index fa1198f..71d2e0a 100644
--- a/source/docs/celix/dependency_manager/readme.md
+++ b/source/docs/celix/dependency_manager/readme.md
@@ -54,6 +54,7 @@ The Dependency Manager consist out of four main parts: `DM (Dependency Manager)
 ### DM Activator
 
 The `DM Activator` implements a "normal" Celix bundle activator and depends on four functions which needs to be implemented by the user of the Depedency Manager:
+
  - `dm_create` : Should be used to allocated and initialize a dm activator structure. If needed this structure can be used to store object during the lifecycle of the bundle.
  - `dm_init` : Should be used to interact with the `Dependency Manager`. Here a user can components, service dependencies and provided services. 
  - `dm_destroy` : Should be used to deinitialize and deallocate objects created in the `dm_create` function.
diff --git a/source/docs/celix/documents/cmake_commands/readme.md b/source/docs/celix/documents/cmake_commands/readme.md
index 772ccc6..5e94ccc 100644
--- a/source/docs/celix/documents/cmake_commands/readme.md
+++ b/source/docs/celix/documents/cmake_commands/readme.md
@@ -28,6 +28,7 @@ For Apache Celix several cmake command are added to be able to work with Apache
 
 ## add_celix_bundle
 Add a Celix bundle to the project.  There are three variants:
+
 - With SOURCES the bundle will be created using a list of sources files as input for the bundle activator library.
 - With ACTIVATOR the bundle will be created using the library target or absolute path to existing library as activator library.
 - With no SOURCES or ACTIVATOR a bundle without a activator will be created.
diff --git a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
index dd5af6b..faacad7 100644
--- a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
+++ b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
@@ -324,7 +324,8 @@ To run a Celix container just select the target from CLion and press Run.
 ## Next
 
 The get a complete overview of the available Celix CMake commands see:
- - [Apache Celix - Celix CMake Commands](../cmake_commands/readme.html)
+
+- [Apache Celix - Celix CMake Commands](../cmake_commands/readme.html)
 
 The idea behind service oriented programming is that functionality is provided and used by abstract service, which hide implementation details.
 For a guide how to provide and use services see
diff --git a/source/docs/celix/documents/getting_started/readme.md b/source/docs/celix/documents/getting_started/readme.md
index b3cfd9e..93cf78c 100644
--- a/source/docs/celix/documents/getting_started/readme.md
+++ b/source/docs/celix/documents/getting_started/readme.md
@@ -27,5 +27,6 @@ There are several guide to help you get started. The first guide is [Getting Sta
 and this should get you started for your first C and/or C++ bundle.
 
 After that you can extend the example by using services with the following guides:
+
  - [Getting Started: Using Services with C](using_services_with_c.html) 
  - [Getting Started: Using Services with C++](using_services_with_cxx.html). 
diff --git a/source/docs/celix/documents/roadmap/api_v3/readme.md b/source/docs/celix/documents/roadmap/api_v3/readme.md
index 1bae2d3..7160cdc 100644
--- a/source/docs/celix/documents/roadmap/api_v3/readme.md
+++ b/source/docs/celix/documents/roadmap/api_v3/readme.md
@@ -137,6 +137,7 @@ can provide/require services to share/use functionality (bounded)
 and can import / export libraries so share types / routines (bounded)
 
 There are two types of modules
+
  - Library Modules
  - Bundled Modules (aka Bundles)
 


[celix-site] 01/34: CELIX-449: Redesign of website using Jekyll as static website generator

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit ee097a9174b161e956203063cf42519ce2e7413a
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 13:51:12 2018 +0100

    CELIX-449: Redesign of website using Jekyll as static website generator
    
    The bootstrap theme is used
---
 .gitignore                                         |    12 +
 .gitmodules                                        |     4 +
 Gemfile                                            |     4 +
 Gemfile.lock                                       |    65 +
 LICENSE                                            |   202 +
 NOTICE                                             |    67 +
 README.md                                          |    56 +
 _config.yml                                        |    17 +
 celix-src                                          |     1 +
 extract_celix_docs.sh                              |    31 +
 publish.sh                                         |    79 +
 run.sh                                             |    18 +
 run_incremental.sh                                 |    18 +
 source/.htaccess                                   |    18 +
 source/404.md                                      |    11 +
 source/_includes/footer.html                       |    15 +
 source/_includes/header.html                       |    62 +
 source/_layouts/celix-md.html                      |    55 +
 source/_layouts/default.html                       |    58 +
 source/_layouts/main-page.html                     |    45 +
 source/_plugins/remote_file_content.rb             |    60 +
 source/_plugins/update_celix_markdown.rb           |    84 +
 source/_plugins/update_links.rb                    |    30 +
 source/assets/css/bootstrap-grid.css               |  3719 +++++++
 source/assets/css/bootstrap-grid.css.map           |     1 +
 source/assets/css/bootstrap-grid.min.css           |     7 +
 source/assets/css/bootstrap-grid.min.css.map       |     1 +
 source/assets/css/bootstrap-reboot.css             |   319 +
 source/assets/css/bootstrap-reboot.css.map         |     1 +
 source/assets/css/bootstrap-reboot.min.css         |     8 +
 source/assets/css/bootstrap-reboot.min.css.map     |     1 +
 source/assets/css/bootstrap.css                    |  9887 ++++++++++++++++++
 source/assets/css/bootstrap.css.map                |     1 +
 source/assets/css/bootstrap.min.css                |     7 +
 source/assets/css/bootstrap.min.css.map            |     1 +
 source/assets/css/style.css                        |   156 +
 source/assets/highlighter/github-theme.css         |    60 +
 source/assets/highlighter/js/shAutoloader.js       |    17 +
 source/assets/highlighter/js/shBrushAS3.js         |    59 +
 source/assets/highlighter/js/shBrushAppleScript.js |    75 +
 source/assets/highlighter/js/shBrushBash.js        |    59 +
 source/assets/highlighter/js/shBrushCSharp.js      |    65 +
 source/assets/highlighter/js/shBrushColdFusion.js  |   100 +
 source/assets/highlighter/js/shBrushCpp.js         |    97 +
 source/assets/highlighter/js/shBrushCss.js         |    91 +
 source/assets/highlighter/js/shBrushDelphi.js      |    55 +
 source/assets/highlighter/js/shBrushDiff.js        |    41 +
 source/assets/highlighter/js/shBrushErlang.js      |    52 +
 source/assets/highlighter/js/shBrushGroovy.js      |    67 +
 source/assets/highlighter/js/shBrushJScript.js     |    52 +
 source/assets/highlighter/js/shBrushJava.js        |    57 +
 source/assets/highlighter/js/shBrushJavaFX.js      |    58 +
 source/assets/highlighter/js/shBrushPerl.js        |    72 +
 source/assets/highlighter/js/shBrushPhp.js         |    88 +
 source/assets/highlighter/js/shBrushPlain.js       |    33 +
 source/assets/highlighter/js/shBrushPowerShell.js  |    74 +
 source/assets/highlighter/js/shBrushPython.js      |    64 +
 source/assets/highlighter/js/shBrushRuby.js        |    55 +
 source/assets/highlighter/js/shBrushSass.js        |    94 +
 source/assets/highlighter/js/shBrushScala.js       |    51 +
 source/assets/highlighter/js/shBrushSql.js         |    66 +
 source/assets/highlighter/js/shBrushVb.js          |    56 +
 source/assets/highlighter/js/shBrushXml.js         |    69 +
 source/assets/highlighter/js/shCore.js             |    17 +
 source/assets/highlighter/js/shLegacy.js           |    17 +
 source/assets/highlighter/style/shCore.css         |   226 +
 source/assets/highlighter/style/shCoreDefault.css  |   328 +
 source/assets/highlighter/style/shCoreDjango.css   |   331 +
 source/assets/highlighter/style/shCoreEclipse.css  |   339 +
 source/assets/highlighter/style/shCoreEmacs.css    |   324 +
 .../assets/highlighter/style/shCoreFadeToGrey.css  |   328 +
 source/assets/highlighter/style/shCoreMDUltra.css  |   324 +
 source/assets/highlighter/style/shCoreMidnight.css |   324 +
 source/assets/highlighter/style/shCoreRDark.css    |   324 +
 source/assets/highlighter/style/shCoreStruts.css   |   339 +
 source/assets/highlighter/style/shThemeDefault.css |   117 +
 source/assets/highlighter/style/shThemeDjango.css  |   120 +
 source/assets/highlighter/style/shThemeEclipse.css |   128 +
 source/assets/highlighter/style/shThemeEmacs.css   |   113 +
 .../assets/highlighter/style/shThemeFadeToGrey.css |   117 +
 source/assets/highlighter/style/shThemeMDUltra.css |   113 +
 .../assets/highlighter/style/shThemeMidnight.css   |   113 +
 source/assets/highlighter/style/shThemeRDark.css   |   113 +
 source/assets/highlighter/style/shThemeStruts.css  |   128 +
 source/assets/img/apache.png                       |   Bin 0 -> 32413 bytes
 source/assets/img/celix-white.svg                  |   121 +
 source/assets/img/celix.svg                        |    77 +
 source/assets/img/forkme_right_red_aa0000.png      |   Bin 0 -> 7927 bytes
 source/assets/img/icon-primer.svg                  |    12 +
 source/assets/js/bootstrap.bundle.js               |  6818 ++++++++++++
 source/assets/js/bootstrap.bundle.js.map           |     1 +
 source/assets/js/bootstrap.bundle.min.js           |     7 +
 source/assets/js/bootstrap.bundle.min.js.map       |     1 +
 source/assets/js/bootstrap.js                      |  4249 ++++++++
 source/assets/js/bootstrap.js.map                  |     1 +
 source/assets/js/bootstrap.min.js                  |     7 +
 source/assets/js/bootstrap.min.js.map              |     1 +
 source/assets/js/jquery.js                         | 10364 +++++++++++++++++++
 source/assets/js/jquery.min.js                     |     2 +
 source/assets/js/jquery.slim.js                    |  8269 +++++++++++++++
 source/assets/js/jquery.slim.min.js                |     2 +
 source/contributing/releasing.md                   |   281 +
 source/contributing/submitting-patches.md          |   115 +
 source/contributing/volunteers.md                  |    36 +
 source/contributing/youatcelix.md                  |    48 +
 source/docs/celix/CHANGES.md                       |   258 +
 source/docs/celix/README.md                        |    35 +
 source/docs/celix/config_admin/readme.md           |    60 +
 source/docs/celix/dependency_manager/readme.md     |   153 +
 source/docs/celix/dependency_manager_cxx/readme.md |    84 +
 source/docs/celix/deployment_admin/README.md       |    37 +
 source/docs/celix/device_access/README.md          |    33 +
 source/docs/celix/documents/building/readme.md     |   144 +
 .../docs/celix/documents/cmake_commands/readme.md  |   313 +
 .../getting_started/creating_a_simple_bundle.md    |   339 +
 .../docs/celix/documents/getting_started/readme.md |    32 +
 .../getting_started/using_services_with_c.md       |   616 ++
 .../getting_started/using_services_with_cxx.md     |   577 ++
 source/docs/celix/documents/intro/readme.md        |   162 +
 .../docs/celix/documents/roadmap/api_v3/readme.md  |   289 +
 .../celix/documents/roadmap/improvement_ideas.md   |    60 +
 source/docs/celix/documents/roadmap/roadmap.md     |   129 +
 source/docs/celix/documents/subprojects/readme.md  |    49 +
 source/docs/celix/etcdlib/README.md                |    94 +
 source/docs/celix/launcher/README.md               |    40 +
 source/docs/celix/log_service/README.md            |    35 +
 source/docs/celix/log_writer/README.md             |    30 +
 source/docs/celix/pubsub/README.md                 |    90 +
 source/docs/celix/pubsub/examples/keys/README.md   |    42 +
 .../celix/pubsub/pubsub_admin_udp_mc/README.md     |    85 +
 source/docs/celix/remote_services/README.md        |   172 +
 .../celix/remote_services/discovery_etcd/README.md |    35 +
 .../remote_services/remote_service_admin/README.md |    34 +
 .../remote_services/topology_manager/README.md     |    29 +
 source/docs/celix/remote_shell/README.md           |    33 +
 source/docs/celix/shell/README.md                  |    51 +
 source/docs/celix/shell_tui/README.md              |    35 +
 source/docs/celix/utils/README.md                  |    35 +
 source/docs/celix/utils/docs/thpool/Design.md      |    58 +
 source/docs/celix/utils/docs/thpool/FAQ.md         |    39 +
 source/docs/celix/utils/docs/thpool/README.md      |    68 +
 .../celix/utils/public/include/memstream/README.md |    55 +
 source/docs/index.md                               |    24 +
 source/download.cgi                                |     6 +
 source/download.md                                 |    41 +
 source/favicon.ico                                 |   Bin 0 -> 1150 bytes
 source/index.html                                  |    80 +
 source/robots.txt                                  |     1 +
 source/support/issue-tracking.md                   |    20 +
 source/support/mailing-list.md                     |    47 +
 150 files changed, 56192 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3eace51
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+# Jekyll generated
+target
+.jekyll-metadata
+
+# IntelliJ generated
+*.iml
+.idea
+.java-version
+
+# Bundler generated
+.bundle
+vendor/
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..fd7cf23
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,4 @@
+[submodule "celix-src"]
+    path = celix-src
+    url = git@github.com:apache/celix.git
+    ignore = all
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..0bd62a9
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,4 @@
+source "https://rubygems.org"
+
+gem "jekyll"
+gem "json"
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..48b700c
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,65 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
+    colorator (1.1.0)
+    concurrent-ruby (1.1.4)
+    em-websocket (0.5.1)
+      eventmachine (>= 0.12.9)
+      http_parser.rb (~> 0.6.0)
+    eventmachine (1.2.7)
+    ffi (1.9.25)
+    forwardable-extended (2.6.0)
+    http_parser.rb (0.6.0)
+    i18n (0.9.5)
+      concurrent-ruby (~> 1.0)
+    jekyll (3.8.5)
+      addressable (~> 2.4)
+      colorator (~> 1.0)
+      em-websocket (~> 0.5)
+      i18n (~> 0.7)
+      jekyll-sass-converter (~> 1.0)
+      jekyll-watch (~> 2.0)
+      kramdown (~> 1.14)
+      liquid (~> 4.0)
+      mercenary (~> 0.3.3)
+      pathutil (~> 0.9)
+      rouge (>= 1.7, < 4)
+      safe_yaml (~> 1.0)
+    jekyll-sass-converter (1.5.2)
+      sass (~> 3.4)
+    jekyll-watch (2.1.2)
+      listen (~> 3.0)
+    json (2.1.0)
+    kramdown (1.17.0)
+    liquid (4.0.1)
+    listen (3.1.5)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+      ruby_dep (~> 1.2)
+    mercenary (0.3.6)
+    pathutil (0.16.2)
+      forwardable-extended (~> 2.6)
+    public_suffix (3.0.3)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.10.0)
+      ffi (~> 1.0)
+    rouge (3.3.0)
+    ruby_dep (1.5.0)
+    safe_yaml (1.0.4)
+    sass (3.7.2)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  jekyll
+  json
+
+BUNDLED WITH
+   1.16.1
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..ea021bd
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,67 @@
+                           Apache Celix
+              Copyright 2018 The Apache Software Foundation
+
+================================================================================
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+The following external dependencies are used:
+1. Bootstrap (Twitter) - MIT licensed
+2. jQuery - MIT licensed
+
+================================================================================
+1. Bootstrap - MIT
+
+- https://getbootstrap.com/docs/4.1/about/license/
+- https://github.com/twbs/bootstrap/blob/master/LICENSE
+
+The MIT License (MIT)
+
+Copyright (c) 2011-2018 Twitter, Inc.
+Copyright (c) 2011-2018 The Bootstrap Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+================================================================================
+2. jQuery - MIT
+
+- https://jquery.org/license/
+- https://github.com/jquery/jquery/blob/master/LICENSE.txt
+
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+================================================================================
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4b356eb
--- /dev/null
+++ b/README.md
@@ -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.
+-->
+# Apache Celix website
+The updated Celix website is still under construction and not live yet.
+
+This is source code for the website of [Apache Celix](https://celix.apache.org/), hosted at:
+
+    https://celix.apache.org/
+
+## Repository structure
+This repository uses 2 branches for serving the website.
+- The `master` branch, which contains all the sources for the website.
+- The `asf-site` branch, which contains the generated website being used for the Celix website.
+
+When contributing patches, apply them to the `master` branch. Jenkins will then regenerate the website
+and commit the changes to the `asf-site` branch.
+
+## Content Management System
+The Celix website uses Jekyll as static website generator. 
+See [Jekyll](https://jekyllrb.com/) for more info and for details how to install Jekyll.
+
+## Generate the website
+
+### Copy documentation dir from celix repo
+
+ - Run `git submodule init` and `git submodule update` to retrieve the Celix sources.
+ - Run `./extract_celix_docs.sh` to copy the markdown files from the Celix main repository to the site repository.
+
+### Create doxygen documentation
+
+TODO
+
+### Generate the static website
+
+To generate the static website, execute `run.sh` to generate and serve the website on `localhost:4000`.
+
+During development, it may be useful to run an incremental build. For this to work, execute `run_incremental.sh` to 
+continuously generate and serve the website on `localhost:4000`.
+
+## Publish the website
+
+Jenkins is used for generating the website and committing the generated site to the `asf-site` branch.
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..d1bd067
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,17 @@
+name:           Apache Celix
+source:         source
+destination:    target/content
+encoding:       UTF-8
+highlighter:    rouge
+markdown:       kramdown
+markdown_ext:   md
+kramdown:
+  input:              GFM
+  syntax_highlighter: rouge
+
+# Allows directly edit pages on GitHub
+celix_repository_url: https://github.com/apache/celix
+celix_repository_source_branch: develop
+
+repository_url: https://github.com/apache/celix-site
+repository_source_branch: master
diff --git a/celix-src b/celix-src
new file mode 160000
index 0000000..353ac0d
--- /dev/null
+++ b/celix-src
@@ -0,0 +1 @@
+Subproject commit 353ac0d2e0f819f8f59d4cdf8ea1dfd701201d74
diff --git a/extract_celix_docs.sh b/extract_celix_docs.sh
new file mode 100644
index 0000000..6f4fc1e
--- /dev/null
+++ b/extract_celix_docs.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# A script to extract all markdown files from the Celix main repository
+# and copies them to the path specified in ${site_doc_dir}
+
+celix_src_dir=celix-src
+site_doc_dir=source/docs/celix
+
+rm -rf ${site_doc_dir}/*
+
+for file in `cd ${celix_src_dir}; find . -name \*.md`
+do
+    file_dir="`dirname ${file}`"
+    mkdir -p ${site_doc_dir}/${file_dir}
+    cp -v ${celix_src_dir}/${file} ${site_doc_dir}/${file_dir}
+done
diff --git a/publish.sh b/publish.sh
new file mode 100644
index 0000000..d11e82e
--- /dev/null
+++ b/publish.sh
@@ -0,0 +1,79 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# A script to build the Celix site (based on jekyll)
+
+# specify source and site branches
+SOURCE="master"
+SITE="asf-site"
+
+# Make sure the SOURCE branch is active
+git checkout ${SOURCE} > /dev/null 2>&1
+
+# Get the latest commit SHA in SOURCE branch
+last_SHA=( $(git log -n 1 --pretty=format:"%H") )
+
+# use last commit sha as temp folder name
+tmp_dir=`mktemp -d`
+out_dir=${tmp_dir}/content
+mkdir -p ${out_dir}
+
+# Build the Jekyll site  to our temporary folder
+bundle exec jekyll build -d ${out_dir} > /dev/null 2>&1
+if [ $? = 0 ]; then
+  echo "Jekyll build successful"
+else
+  echo "Jekyll build failed"
+  exit 1
+fi
+
+# Switch to the SITE branch
+git checkout ${SITE} > /dev/null 2>&1
+
+# Remove the current contents of the SITE branch and replace them with the contents of the temp folder
+current_dir=${PWD}
+rm -rf ${current_dir}/*
+git rm -r --cached content/* > /dev/null 2>&1
+mkdir -p ${current_dir}/content
+cp -r ${tmp_dir}/* ${current_dir}/content
+
+# Commit the changes to the SITE branch
+message="Updated site from ${SOURCE} (${last_SHA})"
+git add -A
+git commit -m "${message}" > /dev/null 2>&1
+
+# Delete the temporary folder
+rm -rf ${tmp_dir}
+
+# Push latest SITE to server
+git push -u origin ${SITE} > /dev/null 2>&1
+if [ $? = 0 ]; then
+  echo "Push ${SITE} successful"
+else
+  echo "Push ${SITE} failed"
+fi
+
+# Switch back to SOURCE branch
+git checkout ${SOURCE} > /dev/null 2>&1
+
+# Push the SOURCE to the server
+git push -u origin ${SOURCE} > /dev/null 2>&1
+if [ $? = 0 ]; then
+ echo "Push ${SOURCE} successful"
+else
+ echo "Push ${SOURCE} failed"
+fi
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..8311795
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bundle exec jekyll serve -w --trace --host 0.0.0.0
diff --git a/run_incremental.sh b/run_incremental.sh
new file mode 100644
index 0000000..d6eeb98
--- /dev/null
+++ b/run_incremental.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bundle exec jekyll serve --watch --trace --host=0.0.0.0 --force_polling --incremental
diff --git a/source/.htaccess b/source/.htaccess
new file mode 100644
index 0000000..e76b431
--- /dev/null
+++ b/source/.htaccess
@@ -0,0 +1,18 @@
+# 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.
+
+DirectoryIndex index.html
+
+ErrorDocument 404 /404
diff --git a/source/404.md b/source/404.md
new file mode 100644
index 0000000..95879e2
--- /dev/null
+++ b/source/404.md
@@ -0,0 +1,11 @@
+---
+layout: default
+title: 404 Page Not Found
+---
+
+# 404 Page Not Found
+
+The page was moved or never existed. Use menu above to navigate or go to [home page](/). 
+If you noticed any site problem, typos, etc on any page, please correct 
+using "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
+For example, some redirects are configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
diff --git a/source/_includes/footer.html b/source/_includes/footer.html
new file mode 100644
index 0000000..5061b2c
--- /dev/null
+++ b/source/_includes/footer.html
@@ -0,0 +1,15 @@
+<!-- Footer -->
+<footer class="py-3 bg-secondary">
+    <div class="container">
+        <p class="m-0 text-center text-white">
+            Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+            <br>
+            Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
+        </p>
+    </div>
+</footer>
+
+<!-- Bootstrap core JavaScript -->
+<script src="/assets/js/jquery.min.js"></script>
+<script src="/assets/js/bootstrap.bundle.min.js"></script>
diff --git a/source/_includes/header.html b/source/_includes/header.html
new file mode 100644
index 0000000..d54041a
--- /dev/null
+++ b/source/_includes/header.html
@@ -0,0 +1,62 @@
+<a href="{{ site.celix_repository_url }}" class="github-ribbon">
+    <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
+</a>
+
+<!-- Navigation -->
+<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
+    <div class="container">
+        <a class="navbar-brand" href="/">
+            <img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo">
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="collapse navbar-collapse" id="navbarResponsive">
+            <ul class="navbar-nav ml-auto">
+                {% if page.url == "/" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/">Home</a>
+                </li>
+                {% if page.url == "/download.cgi" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/download.cgi">Download</a>
+                </li>
+                {% if page.url contains '/docs/' or page.url contains '/celix/' %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/docs/">Docs</a>
+                </li>
+                {% if page.url contains '/contributing/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                    <a class="nav-link dropdown-toggle" href="#" id="ddCommunity" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        Community
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddCommunity">
+                        <a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a>
+                        <a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a>
+                        <a class="dropdown-item" href="/contributing/releasing.html">Releasing</a>
+                        <a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a>
+                        <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
+                    </div>
+                </li>
+                {% if page.url contains '/support/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                    <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        Support
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddSupport">
+                        <a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a>
+                        <a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a>
+                    </div>
+                </li>
+                <li class="nav-item dropdown">
+                    <a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        ASF
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddFoundation">
+                        <a class="dropdown-item" href="https://www.apache.org/">ASF Home</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a>
+                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
+                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
diff --git a/source/_layouts/celix-md.html b/source/_layouts/celix-md.html
new file mode 100644
index 0000000..c1122d6
--- /dev/null
+++ b/source/_layouts/celix-md.html
@@ -0,0 +1,55 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }} / Apache Celix</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+</head>
+<body class="light-grey">
+
+{% include header.html %}
+
+<div class="section">
+    <div class="container">
+        <div class="row py-4">
+            <div class="col-sm-12 card">
+                <div class="card-body pt-5">
+                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
+                    <a href="/docs/" title="back to documentation"><< back to documentation</a>
+
+                    {{ content }}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_layouts/default.html b/source/_layouts/default.html
new file mode 100644
index 0000000..39f20fb
--- /dev/null
+++ b/source/_layouts/default.html
@@ -0,0 +1,58 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }} / Apache Celix</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+</head>
+<body class="light-grey">
+
+{% include header.html %}
+
+<div class="section">
+    <div class="container">
+        <div class="row py-4">
+            <div class="col-sm-12 card">
+                <div class="card-body pt-5">
+                    <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
+
+                    {% if page.parent %}
+                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}"><< back to {{ page.parent.title }}</a>
+                    {% endif %}
+
+                    {{ content }}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_layouts/main-page.html b/source/_layouts/main-page.html
new file mode 100644
index 0000000..de44efe
--- /dev/null
+++ b/source/_layouts/main-page.html
@@ -0,0 +1,45 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }}</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+
+    <!-- Font awesome icon set -->
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
+</head>
+<body>
+
+{% include header.html %}
+
+{{ content }}
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_plugins/remote_file_content.rb b/source/_plugins/remote_file_content.rb
new file mode 100644
index 0000000..dd772e6
--- /dev/null
+++ b/source/_plugins/remote_file_content.rb
@@ -0,0 +1,60 @@
+# 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.
+
+require 'net/http'
+require 'uri'
+
+module Jekyll
+
+  class RemoteFileContent < Liquid::Tag
+
+    def initialize(tag_name, markup, tokens)
+      url = markup
+
+      puts 'Fetching content of url: ' + url
+
+      if url =~ URI::regexp
+        @content = removeComments(rewriteLinks(fetchContent(url)))
+      else
+        raise 'Invalid URL passed to RemoteFileContent'
+      end
+
+      super
+    end
+
+    def render(context)
+      if @content
+        @content
+      else
+        raise 'Something went wrong in RemoteFileContent'
+      end
+    end
+
+    def fetchContent(url)
+      Net::HTTP.get(URI.parse(URI.encode(url.strip))).force_encoding("UTF-8").encode("UTF-8")
+    end
+
+    def rewriteLinks(c)
+      c = c.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
+    end
+
+    def removeComments(c)
+      c = c.sub(/\<\!\-([\s\S]*?)\-\>/, '')
+    end
+
+  end
+end
+
+Liquid::Template.register_tag('remote_file_content', Jekyll::RemoteFileContent)
\ No newline at end of file
diff --git a/source/_plugins/update_celix_markdown.rb b/source/_plugins/update_celix_markdown.rb
new file mode 100644
index 0000000..8747724
--- /dev/null
+++ b/source/_plugins/update_celix_markdown.rb
@@ -0,0 +1,84 @@
+# 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.
+
+module Jekyll
+
+  class CelixPage < Page
+    def initialize(site, base, dir, name)
+      @site = site
+      @base = base
+      @dir = dir
+      @name = name
+
+      full_path = "source/" + dir
+      if !full_path.end_with?("/") then
+        full_path += "/"
+      end
+      full_path += name
+
+      file_contents = File.read(full_path, :encoding => 'utf-8')
+
+      if !file_contents.start_with?("---") then
+        hdr  = "---\n"
+        hdr += "layout: celix-md\n"
+        hdr += "title: " + name + "\n"
+        hdr += "---\n\n\n"
+
+        edited_file_contents = hdr + file_contents
+        out_file = File.new(full_path, "w")
+        out_file.puts(edited_file_contents)
+        out_file.close
+      end
+
+      self.process(@name)
+      self.read_yaml(File.join(base, '_layouts'), 'celix-md.html')
+
+      self.data['title'] = name
+
+      super
+    end
+  end
+
+  class CelixPageGenerator < Generator
+    safe true
+
+    @@celix_doc_dir = "docs/celix"
+
+    def generate(site)
+      if site.layouts.key? 'celix-md'
+        celix_dir = site.source + "/" + @@celix_doc_dir
+        celix_markdown = File.join(celix_dir + "/**", "*.md")
+
+        Dir.glob(celix_markdown).select{ |e|
+          markdown_file = e
+
+          spl = markdown_file.rpartition('/')
+          file_name = spl.last()
+          splDir = spl.first().rpartition('source/' + @@celix_doc_dir)
+          file_dir = splDir.last()
+
+          if file_dir.start_with?("/") then
+            file_dir = file_dir[1, file_dir.length - 1]
+          end
+
+          file_dir = @@celix_doc_dir + "/" + file_dir
+
+          site.pages << CelixPage.new(site, site.source, file_dir, file_name)
+        }
+      end
+    end
+  end
+
+end
diff --git a/source/_plugins/update_links.rb b/source/_plugins/update_links.rb
new file mode 100644
index 0000000..ec211cd
--- /dev/null
+++ b/source/_plugins/update_links.rb
@@ -0,0 +1,30 @@
+# 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.
+
+module UpdateLinks
+  class Generator < Jekyll::Generator
+
+    def generate(site)
+      site.pages.each { |p| rewriteLinks(site, p) }
+    end
+
+    def rewriteLinks(site, page)
+      if page
+        page.content = page.content.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
+      end
+    end
+
+  end
+end
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-grid.css b/source/assets/css/bootstrap-grid.css
new file mode 100644
index 0000000..1a34c60
--- /dev/null
+++ b/source/assets/css/bootstrap-grid.css
@@ -0,0 +1,3719 @@
+/*!
+ * Bootstrap Grid v4.2.1 (https://getbootstrap.com/)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+html {
+  box-sizing: border-box;
+  -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: inherit;
+}
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container {
+    max-width: 1140px;
+  }
+}
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  max-width: 100%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+  flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+  flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+  flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+  flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+  flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+  flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+  flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+  flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+  flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+  flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+  flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+  order: -1;
+}
+
+.order-last {
+  -ms-flex-order: 13;
+  order: 13;
+}
+
+.order-0 {
+  -ms-flex-order: 0;
+  order: 0;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+  order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+  order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+  order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+  order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+  order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+  order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+  order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+  order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+  order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+  order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+  order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+  order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-sm-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-sm-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-md-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-md-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-lg-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-lg-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-xl-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-xl-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.d-none {
+  display: none !important;
+}
+
+.d-inline {
+  display: inline !important;
+}
+
+.d-inline-block {
+  display: inline-block !important;
+}
+
+.d-block {
+  display: block !important;
+}
+
+.d-table {
+  display: table !important;
+}
+
+.d-table-row {
+  display: table-row !important;
+}
+
+.d-table-cell {
+  display: table-cell !important;
+}
+
+.d-flex {
+  display: -ms-flexbox !important;
+  display: flex !important;
+}
+
+.d-inline-flex {
+  display: -ms-inline-flexbox !important;
+  display: inline-flex !important;
+}
+
+@media (min-width: 576px) {
+  .d-sm-none {
+    display: none !important;
+  }
+  .d-sm-inline {
+    display: inline !important;
+  }
+  .d-sm-inline-block {
+    display: inline-block !important;
+  }
+  .d-sm-block {
+    display: block !important;
+  }
+  .d-sm-table {
+    display: table !important;
+  }
+  .d-sm-table-row {
+    display: table-row !important;
+  }
+  .d-sm-table-cell {
+    display: table-cell !important;
+  }
+  .d-sm-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .d-md-none {
+    display: none !important;
+  }
+  .d-md-inline {
+    display: inline !important;
+  }
+  .d-md-inline-block {
+    display: inline-block !important;
+  }
+  .d-md-block {
+    display: block !important;
+  }
+  .d-md-table {
+    display: table !important;
+  }
+  .d-md-table-row {
+    display: table-row !important;
+  }
+  .d-md-table-cell {
+    display: table-cell !important;
+  }
+  .d-md-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-md-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .d-lg-none {
+    display: none !important;
+  }
+  .d-lg-inline {
+    display: inline !important;
+  }
+  .d-lg-inline-block {
+    display: inline-block !important;
+  }
+  .d-lg-block {
+    display: block !important;
+  }
+  .d-lg-table {
+    display: table !important;
+  }
+  .d-lg-table-row {
+    display: table-row !important;
+  }
+  .d-lg-table-cell {
+    display: table-cell !important;
+  }
+  .d-lg-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .d-xl-none {
+    display: none !important;
+  }
+  .d-xl-inline {
+    display: inline !important;
+  }
+  .d-xl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xl-block {
+    display: block !important;
+  }
+  .d-xl-table {
+    display: table !important;
+  }
+  .d-xl-table-row {
+    display: table-row !important;
+  }
+  .d-xl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xl-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media print {
+  .d-print-none {
+    display: none !important;
+  }
+  .d-print-inline {
+    display: inline !important;
+  }
+  .d-print-inline-block {
+    display: inline-block !important;
+  }
+  .d-print-block {
+    display: block !important;
+  }
+  .d-print-table {
+    display: table !important;
+  }
+  .d-print-table-row {
+    display: table-row !important;
+  }
+  .d-print-table-cell {
+    display: table-cell !important;
+  }
+  .d-print-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-print-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+.flex-row {
+  -ms-flex-direction: row !important;
+  flex-direction: row !important;
+}
+
+.flex-column {
+  -ms-flex-direction: column !important;
+  flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  -ms-flex-direction: row-reverse !important;
+  flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  -ms-flex-direction: column-reverse !important;
+  flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+  -ms-flex-wrap: wrap !important;
+  flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  -ms-flex-wrap: nowrap !important;
+  flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  -ms-flex-wrap: wrap-reverse !important;
+  flex-wrap: wrap-reverse !important;
+}
+
+.flex-fill {
+  -ms-flex: 1 1 auto !important;
+  flex: 1 1 auto !important;
+}
+
+.flex-grow-0 {
+  -ms-flex-positive: 0 !important;
+  flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+  -ms-flex-positive: 1 !important;
+  flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+  -ms-flex-negative: 0 !important;
+  flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+  -ms-flex-negative: 1 !important;
+  flex-shrink: 1 !important;
+}
+
+.justify-content-start {
+  -ms-flex-pack: start !important;
+  justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  -ms-flex-pack: end !important;
+  justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  -ms-flex-pack: center !important;
+  justify-content: center !important;
+}
+
+.justify-content-between {
+  -ms-flex-pack: justify !important;
+  justify-content: space-between !important;
+}
+
+.justify-content-around {
+  -ms-flex-pack: distribute !important;
+  justify-content: space-around !important;
+}
+
+.align-items-start {
+  -ms-flex-align: start !important;
+  align-items: flex-start !important;
+}
+
+.align-items-end {
+  -ms-flex-align: end !important;
+  align-items: flex-end !important;
+}
+
+.align-items-center {
+  -ms-flex-align: center !important;
+  align-items: center !important;
+}
+
+.align-items-baseline {
+  -ms-flex-align: baseline !important;
+  align-items: baseline !important;
+}
+
+.align-items-stretch {
+  -ms-flex-align: stretch !important;
+  align-items: stretch !important;
+}
+
+.align-content-start {
+  -ms-flex-line-pack: start !important;
+  align-content: flex-start !important;
+}
+
+.align-content-end {
+  -ms-flex-line-pack: end !important;
+  align-content: flex-end !important;
+}
+
+.align-content-center {
+  -ms-flex-line-pack: center !important;
+  align-content: center !important;
+}
+
+.align-content-between {
+  -ms-flex-line-pack: justify !important;
+  align-content: space-between !important;
+}
+
+.align-content-around {
+  -ms-flex-line-pack: distribute !important;
+  align-content: space-around !important;
+}
+
+.align-content-stretch {
+  -ms-flex-line-pack: stretch !important;
+  align-content: stretch !important;
+}
+
+.align-self-auto {
+  -ms-flex-item-align: auto !important;
+  align-self: auto !important;
+}
+
+.align-self-start {
+  -ms-flex-item-align: start !important;
+  align-self: flex-start !important;
+}
+
+.align-self-end {
+  -ms-flex-item-align: end !important;
+  align-self: flex-end !important;
+}
+
+.align-self-center {
+  -ms-flex-item-align: center !important;
+  align-self: center !important;
+}
+
+.align-self-baseline {
+  -ms-flex-item-align: baseline !important;
+  align-self: baseline !important;
+}
+
+.align-self-stretch {
+  -ms-flex-item-align: stretch !important;
+  align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-sm-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-sm-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-sm-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-sm-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-sm-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-sm-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-sm-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-sm-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-sm-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-sm-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-md-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-md-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-md-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-md-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-md-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-md-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-md-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-md-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-md-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-md-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-md-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-md-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-md-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-md-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-md-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-lg-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-lg-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-lg-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-lg-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-lg-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-lg-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-lg-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-lg-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-lg-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-lg-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-xl-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-xl-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-xl-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-xl-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-xl-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-xl-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-xl-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-xl-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-xl-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-xl-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-xl-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+.m-0 {
+  margin: 0 !important;
+}
+
+.mt-0,
+.my-0 {
+  margin-top: 0 !important;
+}
+
+.mr-0,
+.mx-0 {
+  margin-right: 0 !important;
+}
+
+.mb-0,
+.my-0 {
+  margin-bottom: 0 !important;
+}
+
+.ml-0,
+.mx-0 {
+  margin-left: 0 !important;
+}
+
+.m-1 {
+  margin: 0.25rem !important;
+}
+
+.mt-1,
+.my-1 {
+  margin-top: 0.25rem !important;
+}
+
+.mr-1,
+.mx-1 {
+  margin-right: 0.25rem !important;
+}
+
+.mb-1,
+.my-1 {
+  margin-bottom: 0.25rem !important;
+}
+
+.ml-1,
+.mx-1 {
+  margin-left: 0.25rem !important;
+}
+
+.m-2 {
+  margin: 0.5rem !important;
+}
+
+.mt-2,
+.my-2 {
+  margin-top: 0.5rem !important;
+}
+
+.mr-2,
+.mx-2 {
+  margin-right: 0.5rem !important;
+}
+
+.mb-2,
+.my-2 {
+  margin-bottom: 0.5rem !important;
+}
+
+.ml-2,
+.mx-2 {
+  margin-left: 0.5rem !important;
+}
+
+.m-3 {
+  margin: 1rem !important;
+}
+
+.mt-3,
+.my-3 {
+  margin-top: 1rem !important;
+}
+
+.mr-3,
+.mx-3 {
+  margin-right: 1rem !important;
+}
+
+.mb-3,
+.my-3 {
+  margin-bottom: 1rem !important;
+}
+
+.ml-3,
+.mx-3 {
+  margin-left: 1rem !important;
+}
+
+.m-4 {
+  margin: 1.5rem !important;
+}
+
+.mt-4,
+.my-4 {
+  margin-top: 1.5rem !important;
+}
+
+.mr-4,
+.mx-4 {
+  margin-right: 1.5rem !important;
+}
+
+.mb-4,
+.my-4 {
+  margin-bottom: 1.5rem !important;
+}
+
+.ml-4,
+.mx-4 {
+  margin-left: 1.5rem !important;
+}
+
+.m-5 {
+  margin: 3rem !important;
+}
+
+.mt-5,
+.my-5 {
+  margin-top: 3rem !important;
+}
+
+.mr-5,
+.mx-5 {
+  margin-right: 3rem !important;
+}
+
+.mb-5,
+.my-5 {
+  margin-bottom: 3rem !important;
+}
+
+.ml-5,
+.mx-5 {
+  margin-left: 3rem !important;
+}
+
+.p-0 {
+  padding: 0 !important;
+}
+
+.pt-0,
+.py-0 {
+  padding-top: 0 !important;
+}
+
+.pr-0,
+.px-0 {
+  padding-right: 0 !important;
+}
+
+.pb-0,
+.py-0 {
+  padding-bottom: 0 !important;
+}
+
+.pl-0,
+.px-0 {
+  padding-left: 0 !important;
+}
+
+.p-1 {
+  padding: 0.25rem !important;
+}
+
+.pt-1,
+.py-1 {
+  padding-top: 0.25rem !important;
+}
+
+.pr-1,
+.px-1 {
+  padding-right: 0.25rem !important;
+}
+
+.pb-1,
+.py-1 {
+  padding-bottom: 0.25rem !important;
+}
+
+.pl-1,
+.px-1 {
+  padding-left: 0.25rem !important;
+}
+
+.p-2 {
+  padding: 0.5rem !important;
+}
+
+.pt-2,
+.py-2 {
+  padding-top: 0.5rem !important;
+}
+
+.pr-2,
+.px-2 {
+  padding-right: 0.5rem !important;
+}
+
+.pb-2,
+.py-2 {
+  padding-bottom: 0.5rem !important;
+}
+
+.pl-2,
+.px-2 {
+  padding-left: 0.5rem !important;
+}
+
+.p-3 {
+  padding: 1rem !important;
+}
+
+.pt-3,
+.py-3 {
+  padding-top: 1rem !important;
+}
+
+.pr-3,
+.px-3 {
+  padding-right: 1rem !important;
+}
+
+.pb-3,
+.py-3 {
+  padding-bottom: 1rem !important;
+}
+
+.pl-3,
+.px-3 {
+  padding-left: 1rem !important;
+}
+
+.p-4 {
+  padding: 1.5rem !important;
+}
+
+.pt-4,
+.py-4 {
+  padding-top: 1.5rem !important;
+}
+
+.pr-4,
+.px-4 {
+  padding-right: 1.5rem !important;
+}
+
+.pb-4,
+.py-4 {
+  padding-bottom: 1.5rem !important;
+}
+
+.pl-4,
+.px-4 {
+  padding-left: 1.5rem !important;
+}
+
+.p-5 {
+  padding: 3rem !important;
+}
+
+.pt-5,
+.py-5 {
+  padding-top: 3rem !important;
+}
+
+.pr-5,
+.px-5 {
+  padding-right: 3rem !important;
+}
+
+.pb-5,
+.py-5 {
+  padding-bottom: 3rem !important;
+}
+
+.pl-5,
+.px-5 {
+  padding-left: 3rem !important;
+}
+
+.m-n1 {
+  margin: -0.25rem !important;
+}
+
+.mt-n1,
+.my-n1 {
+  margin-top: -0.25rem !important;
+}
+
+.mr-n1,
+.mx-n1 {
+  margin-right: -0.25rem !important;
+}
+
+.mb-n1,
+.my-n1 {
+  margin-bottom: -0.25rem !important;
+}
+
+.ml-n1,
+.mx-n1 {
+  margin-left: -0.25rem !important;
+}
+
+.m-n2 {
+  margin: -0.5rem !important;
+}
+
+.mt-n2,
+.my-n2 {
+  margin-top: -0.5rem !important;
+}
+
+.mr-n2,
+.mx-n2 {
+  margin-right: -0.5rem !important;
+}
+
+.mb-n2,
+.my-n2 {
+  margin-bottom: -0.5rem !important;
+}
+
+.ml-n2,
+.mx-n2 {
+  margin-left: -0.5rem !important;
+}
+
+.m-n3 {
+  margin: -1rem !important;
+}
+
+.mt-n3,
+.my-n3 {
+  margin-top: -1rem !important;
+}
+
+.mr-n3,
+.mx-n3 {
+  margin-right: -1rem !important;
+}
+
+.mb-n3,
+.my-n3 {
+  margin-bottom: -1rem !important;
+}
+
+.ml-n3,
+.mx-n3 {
+  margin-left: -1rem !important;
+}
+
+.m-n4 {
+  margin: -1.5rem !important;
+}
+
+.mt-n4,
+.my-n4 {
+  margin-top: -1.5rem !important;
+}
+
+.mr-n4,
+.mx-n4 {
+  margin-right: -1.5rem !important;
+}
+
+.mb-n4,
+.my-n4 {
+  margin-bottom: -1.5rem !important;
+}
+
+.ml-n4,
+.mx-n4 {
+  margin-left: -1.5rem !important;
+}
+
+.m-n5 {
+  margin: -3rem !important;
+}
+
+.mt-n5,
+.my-n5 {
+  margin-top: -3rem !important;
+}
+
+.mr-n5,
+.mx-n5 {
+  margin-right: -3rem !important;
+}
+
+.mb-n5,
+.my-n5 {
+  margin-bottom: -3rem !important;
+}
+
+.ml-n5,
+.mx-n5 {
+  margin-left: -3rem !important;
+}
+
+.m-auto {
+  margin: auto !important;
+}
+
+.mt-auto,
+.my-auto {
+  margin-top: auto !important;
+}
+
+.mr-auto,
+.mx-auto {
+  margin-right: auto !important;
+}
+
+.mb-auto,
+.my-auto {
+  margin-bottom: auto !important;
+}
+
+.ml-auto,
+.mx-auto {
+  margin-left: auto !important;
+}
+
+@media (min-width: 576px) {
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .mt-sm-0,
+  .my-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mr-sm-0,
+  .mx-sm-0 {
+    margin-right: 0 !important;
+  }
+  .mb-sm-0,
+  .my-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-sm-0,
+  .mx-sm-0 {
+    margin-left: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-sm-1,
+  .my-sm-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-sm-1,
+  .mx-sm-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-sm-1,
+  .my-sm-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-sm-1,
+  .mx-sm-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-sm-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-sm-2,
+  .my-sm-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-sm-2,
+  .mx-sm-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-sm-2,
+  .my-sm-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-sm-2,
+  .mx-sm-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-sm-3 {
+    margin: 1rem !important;
+  }
+  .mt-sm-3,
+  .my-sm-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-sm-3,
+  .mx-sm-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-sm-3,
+  .my-sm-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-sm-3,
+  .mx-sm-3 {
+    margin-left: 1rem !important;
+  }
+  .m-sm-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-sm-4,
+  .my-sm-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-sm-4,
+  .mx-sm-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-sm-4,
+  .my-sm-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-sm-4,
+  .mx-sm-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-sm-5 {
+    margin: 3rem !important;
+  }
+  .mt-sm-5,
+  .my-sm-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-sm-5,
+  .mx-sm-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-sm-5,
+  .my-sm-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-sm-5,
+  .mx-sm-5 {
+    margin-left: 3rem !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .pt-sm-0,
+  .py-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pr-sm-0,
+  .px-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pb-sm-0,
+  .py-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-sm-0,
+  .px-sm-0 {
+    padding-left: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-sm-1,
+  .py-sm-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-sm-1,
+  .px-sm-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-sm-1,
+  .py-sm-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-sm-1,
+  .px-sm-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-sm-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-sm-2,
+  .py-sm-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-sm-2,
+  .px-sm-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-sm-2,
+  .py-sm-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-sm-2,
+  .px-sm-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-sm-3 {
+    padding: 1rem !important;
+  }
+  .pt-sm-3,
+  .py-sm-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-sm-3,
+  .px-sm-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-sm-3,
+  .py-sm-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-sm-3,
+  .px-sm-3 {
+    padding-left: 1rem !important;
+  }
+  .p-sm-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-sm-4,
+  .py-sm-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-sm-4,
+  .px-sm-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-sm-4,
+  .py-sm-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-sm-4,
+  .px-sm-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-sm-5 {
+    padding: 3rem !important;
+  }
+  .pt-sm-5,
+  .py-sm-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-sm-5,
+  .px-sm-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-sm-5,
+  .py-sm-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-sm-5,
+  .px-sm-5 {
+    padding-left: 3rem !important;
+  }
+  .m-sm-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-sm-n1,
+  .my-sm-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-sm-n1,
+  .mx-sm-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-sm-n1,
+  .my-sm-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-sm-n1,
+  .mx-sm-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-sm-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-sm-n2,
+  .my-sm-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-sm-n2,
+  .mx-sm-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-sm-n2,
+  .my-sm-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-sm-n2,
+  .mx-sm-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-sm-n3 {
+    margin: -1rem !important;
+  }
+  .mt-sm-n3,
+  .my-sm-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-sm-n3,
+  .mx-sm-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-sm-n3,
+  .my-sm-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-sm-n3,
+  .mx-sm-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-sm-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-sm-n4,
+  .my-sm-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-sm-n4,
+  .mx-sm-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-sm-n4,
+  .my-sm-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-sm-n4,
+  .mx-sm-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-sm-n5 {
+    margin: -3rem !important;
+  }
+  .mt-sm-n5,
+  .my-sm-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-sm-n5,
+  .mx-sm-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-sm-n5,
+  .my-sm-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-sm-n5,
+  .mx-sm-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mt-sm-auto,
+  .my-sm-auto {
+    margin-top: auto !important;
+  }
+  .mr-sm-auto,
+  .mx-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-auto,
+  .my-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-sm-auto,
+  .mx-sm-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .mt-md-0,
+  .my-md-0 {
+    margin-top: 0 !important;
+  }
+  .mr-md-0,
+  .mx-md-0 {
+    margin-right: 0 !important;
+  }
+  .mb-md-0,
+  .my-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-md-0,
+  .mx-md-0 {
+    margin-left: 0 !important;
+  }
+  .m-md-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-md-1,
+  .my-md-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-md-1,
+  .mx-md-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-md-1,
+  .my-md-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-md-1,
+  .mx-md-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-md-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-md-2,
+  .my-md-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-md-2,
+  .mx-md-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-md-2,
+  .my-md-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-md-2,
+  .mx-md-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-md-3 {
+    margin: 1rem !important;
+  }
+  .mt-md-3,
+  .my-md-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-md-3,
+  .mx-md-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-md-3,
+  .my-md-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-md-3,
+  .mx-md-3 {
+    margin-left: 1rem !important;
+  }
+  .m-md-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-md-4,
+  .my-md-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-md-4,
+  .mx-md-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-md-4,
+  .my-md-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-md-4,
+  .mx-md-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-md-5 {
+    margin: 3rem !important;
+  }
+  .mt-md-5,
+  .my-md-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-md-5,
+  .mx-md-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-md-5,
+  .my-md-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-md-5,
+  .mx-md-5 {
+    margin-left: 3rem !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .pt-md-0,
+  .py-md-0 {
+    padding-top: 0 !important;
+  }
+  .pr-md-0,
+  .px-md-0 {
+    padding-right: 0 !important;
+  }
+  .pb-md-0,
+  .py-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-md-0,
+  .px-md-0 {
+    padding-left: 0 !important;
+  }
+  .p-md-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-md-1,
+  .py-md-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-md-1,
+  .px-md-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-md-1,
+  .py-md-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-md-1,
+  .px-md-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-md-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-md-2,
+  .py-md-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-md-2,
+  .px-md-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-md-2,
+  .py-md-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-md-2,
+  .px-md-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-md-3 {
+    padding: 1rem !important;
+  }
+  .pt-md-3,
+  .py-md-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-md-3,
+  .px-md-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-md-3,
+  .py-md-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-md-3,
+  .px-md-3 {
+    padding-left: 1rem !important;
+  }
+  .p-md-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-md-4,
+  .py-md-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-md-4,
+  .px-md-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-md-4,
+  .py-md-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-md-4,
+  .px-md-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-md-5 {
+    padding: 3rem !important;
+  }
+  .pt-md-5,
+  .py-md-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-md-5,
+  .px-md-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-md-5,
+  .py-md-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-md-5,
+  .px-md-5 {
+    padding-left: 3rem !important;
+  }
+  .m-md-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-md-n1,
+  .my-md-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-md-n1,
+  .mx-md-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-md-n1,
+  .my-md-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-md-n1,
+  .mx-md-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-md-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-md-n2,
+  .my-md-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-md-n2,
+  .mx-md-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-md-n2,
+  .my-md-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-md-n2,
+  .mx-md-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-md-n3 {
+    margin: -1rem !important;
+  }
+  .mt-md-n3,
+  .my-md-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-md-n3,
+  .mx-md-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-md-n3,
+  .my-md-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-md-n3,
+  .mx-md-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-md-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-md-n4,
+  .my-md-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-md-n4,
+  .mx-md-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-md-n4,
+  .my-md-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-md-n4,
+  .mx-md-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-md-n5 {
+    margin: -3rem !important;
+  }
+  .mt-md-n5,
+  .my-md-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-md-n5,
+  .mx-md-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-md-n5,
+  .my-md-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-md-n5,
+  .mx-md-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mt-md-auto,
+  .my-md-auto {
+    margin-top: auto !important;
+  }
+  .mr-md-auto,
+  .mx-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-auto,
+  .my-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-md-auto,
+  .mx-md-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .mt-lg-0,
+  .my-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mr-lg-0,
+  .mx-lg-0 {
+    margin-right: 0 !important;
+  }
+  .mb-lg-0,
+  .my-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-lg-0,
+  .mx-lg-0 {
+    margin-left: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-lg-1,
+  .my-lg-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-lg-1,
+  .mx-lg-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-lg-1,
+  .my-lg-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-lg-1,
+  .mx-lg-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-lg-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-lg-2,
+  .my-lg-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-lg-2,
+  .mx-lg-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-lg-2,
+  .my-lg-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-lg-2,
+  .mx-lg-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-lg-3 {
+    margin: 1rem !important;
+  }
+  .mt-lg-3,
+  .my-lg-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-lg-3,
+  .mx-lg-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-lg-3,
+  .my-lg-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-lg-3,
+  .mx-lg-3 {
+    margin-left: 1rem !important;
+  }
+  .m-lg-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-lg-4,
+  .my-lg-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-lg-4,
+  .mx-lg-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-lg-4,
+  .my-lg-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-lg-4,
+  .mx-lg-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-lg-5 {
+    margin: 3rem !important;
+  }
+  .mt-lg-5,
+  .my-lg-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-lg-5,
+  .mx-lg-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-lg-5,
+  .my-lg-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-lg-5,
+  .mx-lg-5 {
+    margin-left: 3rem !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .pt-lg-0,
+  .py-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pr-lg-0,
+  .px-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pb-lg-0,
+  .py-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-lg-0,
+  .px-lg-0 {
+    padding-left: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-lg-1,
+  .py-lg-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-lg-1,
+  .px-lg-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-lg-1,
+  .py-lg-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-lg-1,
+  .px-lg-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-lg-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-lg-2,
+  .py-lg-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-lg-2,
+  .px-lg-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-lg-2,
+  .py-lg-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-lg-2,
+  .px-lg-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-lg-3 {
+    padding: 1rem !important;
+  }
+  .pt-lg-3,
+  .py-lg-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-lg-3,
+  .px-lg-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-lg-3,
+  .py-lg-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-lg-3,
+  .px-lg-3 {
+    padding-left: 1rem !important;
+  }
+  .p-lg-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-lg-4,
+  .py-lg-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-lg-4,
+  .px-lg-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-lg-4,
+  .py-lg-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-lg-4,
+  .px-lg-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-lg-5 {
+    padding: 3rem !important;
+  }
+  .pt-lg-5,
+  .py-lg-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-lg-5,
+  .px-lg-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-lg-5,
+  .py-lg-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-lg-5,
+  .px-lg-5 {
+    padding-left: 3rem !important;
+  }
+  .m-lg-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-lg-n1,
+  .my-lg-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-lg-n1,
+  .mx-lg-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-lg-n1,
+  .my-lg-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-lg-n1,
+  .mx-lg-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-lg-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-lg-n2,
+  .my-lg-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-lg-n2,
+  .mx-lg-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-lg-n2,
+  .my-lg-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-lg-n2,
+  .mx-lg-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-lg-n3 {
+    margin: -1rem !important;
+  }
+  .mt-lg-n3,
+  .my-lg-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-lg-n3,
+  .mx-lg-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-lg-n3,
+  .my-lg-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-lg-n3,
+  .mx-lg-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-lg-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-lg-n4,
+  .my-lg-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-lg-n4,
+  .mx-lg-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-lg-n4,
+  .my-lg-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-lg-n4,
+  .mx-lg-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-lg-n5 {
+    margin: -3rem !important;
+  }
+  .mt-lg-n5,
+  .my-lg-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-lg-n5,
+  .mx-lg-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-lg-n5,
+  .my-lg-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-lg-n5,
+  .mx-lg-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-lg-auto {
+    margin: auto !important;
+  }
+  .mt-lg-auto,
+  .my-lg-auto {
+    margin-top: auto !important;
+  }
+  .mr-lg-auto,
+  .mx-lg-auto {
+    margin-right: auto !important;
+  }
+  .mb-lg-auto,
+  .my-lg-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-lg-auto,
+  .mx-lg-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .m-xl-0 {
+    margin: 0 !important;
+  }
+  .mt-xl-0,
+  .my-xl-0 {
+    margin-top: 0 !important;
+  }
+  .mr-xl-0,
+  .mx-xl-0 {
+    margin-right: 0 !important;
+  }
+  .mb-xl-0,
+  .my-xl-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-xl-0,
+  .mx-xl-0 {
+    margin-left: 0 !important;
+  }
+  .m-xl-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-xl-1,
+  .my-xl-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-xl-1,
+  .mx-xl-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-xl-1,
+  .my-xl-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-xl-1,
+  .mx-xl-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-xl-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-xl-2,
+  .my-xl-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-xl-2,
+  .mx-xl-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-xl-2,
+  .my-xl-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-xl-2,
+  .mx-xl-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-xl-3 {
+    margin: 1rem !important;
+  }
+  .mt-xl-3,
+  .my-xl-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-xl-3,
+  .mx-xl-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-xl-3,
+  .my-xl-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-xl-3,
+  .mx-xl-3 {
+    margin-left: 1rem !important;
+  }
+  .m-xl-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-xl-4,
+  .my-xl-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-xl-4,
+  .mx-xl-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-xl-4,
+  .my-xl-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-xl-4,
+  .mx-xl-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-xl-5 {
+    margin: 3rem !important;
+  }
+  .mt-xl-5,
+  .my-xl-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-xl-5,
+  .mx-xl-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-xl-5,
+  .my-xl-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-xl-5,
+  .mx-xl-5 {
+    margin-left: 3rem !important;
+  }
+  .p-xl-0 {
+    padding: 0 !important;
+  }
+  .pt-xl-0,
+  .py-xl-0 {
+    padding-top: 0 !important;
+  }
+  .pr-xl-0,
+  .px-xl-0 {
+    padding-right: 0 !important;
+  }
+  .pb-xl-0,
+  .py-xl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-xl-0,
+  .px-xl-0 {
+    padding-left: 0 !important;
+  }
+  .p-xl-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-xl-1,
+  .py-xl-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-xl-1,
+  .px-xl-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-xl-1,
+  .py-xl-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-xl-1,
+  .px-xl-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-xl-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-xl-2,
+  .py-xl-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-xl-2,
+  .px-xl-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-xl-2,
+  .py-xl-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-xl-2,
+  .px-xl-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-xl-3 {
+    padding: 1rem !important;
+  }
+  .pt-xl-3,
+  .py-xl-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-xl-3,
+  .px-xl-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-xl-3,
+  .py-xl-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-xl-3,
+  .px-xl-3 {
+    padding-left: 1rem !important;
+  }
+  .p-xl-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-xl-4,
+  .py-xl-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-xl-4,
+  .px-xl-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-xl-4,
+  .py-xl-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-xl-4,
+  .px-xl-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-xl-5 {
+    padding: 3rem !important;
+  }
+  .pt-xl-5,
+  .py-xl-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-xl-5,
+  .px-xl-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-xl-5,
+  .py-xl-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-xl-5,
+  .px-xl-5 {
+    padding-left: 3rem !important;
+  }
+  .m-xl-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-xl-n1,
+  .my-xl-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-xl-n1,
+  .mx-xl-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-xl-n1,
+  .my-xl-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-xl-n1,
+  .mx-xl-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-xl-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-xl-n2,
+  .my-xl-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-xl-n2,
+  .mx-xl-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-xl-n2,
+  .my-xl-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-xl-n2,
+  .mx-xl-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-xl-n3 {
+    margin: -1rem !important;
+  }
+  .mt-xl-n3,
+  .my-xl-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-xl-n3,
+  .mx-xl-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-xl-n3,
+  .my-xl-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-xl-n3,
+  .mx-xl-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-xl-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-xl-n4,
+  .my-xl-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-xl-n4,
+  .mx-xl-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-xl-n4,
+  .my-xl-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-xl-n4,
+  .mx-xl-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-xl-n5 {
+    margin: -3rem !important;
+  }
+  .mt-xl-n5,
+  .my-xl-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-xl-n5,
+  .mx-xl-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-xl-n5,
+  .my-xl-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-xl-n5,
+  .mx-xl-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-xl-auto {
+    margin: auto !important;
+  }
+  .mt-xl-auto,
+  .my-xl-auto {
+    margin-top: auto !important;
+  }
+  .mr-xl-auto,
+  .mx-xl-auto {
+    margin-right: auto !important;
+  }
+  .mb-xl-auto,
+  .my-xl-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-xl-auto,
+  .mx-xl-auto {
+    margin-left: auto !important;
+  }
+}
+/*# sourceMappingURL=bootstrap-grid.css.map */
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-grid.css.map b/source/assets/css/bootstrap-grid.css.map
new file mode 100644
index 0000000..7d2e3f5
--- /dev/null
+++ b/source/assets/css/bootstrap-grid.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","bootstrap-grid.css","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;EACE,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,oBAAmB;CACpB;;ACXC;ECAA,YAAW;EACX,oBAA0B;EAC1B,mBAAyB;EA [...]
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-grid.min.css b/source/assets/css/bootstrap-grid.min.css
new file mode 100644
index 0000000..b3e6881
--- /dev/null
+++ b/source/assets/css/bootstrap-grid.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap Grid v4.2.1 (https://getbootstrap.com/)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;marg [...]
+/*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-grid.min.css.map b/source/assets/css/bootstrap-grid.min.css.map
new file mode 100644
index 0000000..47d7cdd
--- /dev/null
+++ b/source/assets/css/bootstrap-grid.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;AAOA,KACE,WAAA,WACA,mBAAA,UAGF,ECCA,QADA,SDGE,WAAA,QEVA,WCAA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFvDF,WCYI,UAAA,O [...]
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-reboot.css b/source/assets/css/bootstrap-reboot.css
new file mode 100644
index 0000000..4b93d71
--- /dev/null
+++ b/source/assets/css/bootstrap-reboot.css
@@ -0,0 +1,319 @@
+/*!
+ * Bootstrap Reboot v4.2.1 (https://getbootstrap.com/)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+  outline: 0 !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+  text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+  text-decoration-skip-ink: none;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+  outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg {
+  overflow: hidden;
+  vertical-align: middle;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #6c757d;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: 0.5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+  cursor: pointer;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+/*# sourceMappingURL=bootstrap-reboot.css.map */
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-reboot.css.map b/source/assets/css/bootstrap-reboot.css.map
new file mode 100644
index 0000000..4d217e8
--- /dev/null
+++ b/source/assets/css/bootstrap-reboot.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;GAMG;ACYH;;;EAGE,uBAAsB;CACvB;;AAED;EACE,wBAAuB;EACvB,kBAAiB;EACjB,+BAA8B;EAC9B,8CCXa;CDYd;;AAKD;EACE,eAAc;CACf;;AASD;EACE,UAAS;EACT,mMCsOiN;EDrOjN,gBC0OgC;EDzOhC,iBC+O+B;ED9O/B,iBCmP+B;EDlP/B,eCnCgB;EDoChB,iBAAgB;EAChB,uBC9Ca;CD+Cd;;AEnBD;EF2BE,sBAAqB;CACtB;;AAQD;EACE,wBAAuB;EACvB,UAAS;E [...]
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-reboot.min.css b/source/assets/css/bootstrap-reboot.min.css
new file mode 100644
index 0000000..0668a8c
--- /dev/null
+++ b/source/assets/css/bootstrap-reboot.min.css
@@ -0,0 +1,8 @@
+/*!
+ * Bootstrap Reboot v4.2.1 (https://getbootstrap.com/)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color [...]
+/*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-reboot.min.css.map b/source/assets/css/bootstrap-reboot.min.css.map
new file mode 100644
index 0000000..69bdfff
--- /dev/null
+++ b/source/assets/css/bootstrap-reboot.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACkBA,ECTA,QADA,SDaE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBACA,UAAA,KA [...]
\ No newline at end of file
diff --git a/source/assets/css/bootstrap.css b/source/assets/css/bootstrap.css
new file mode 100644
index 0000000..f1980e8
--- /dev/null
+++ b/source/assets/css/bootstrap.css
@@ -0,0 +1,9887 @@
+/*!
+ * Bootstrap v4.2.1 (https://getbootstrap.com/)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+:root {
+  --blue: #007bff;
+  --indigo: #6610f2;
+  --purple: #6f42c1;
+  --pink: #e83e8c;
+  --red: #dc3545;
+  --orange: #fd7e14;
+  --yellow: #ffc107;
+  --green: #28a745;
+  --teal: #20c997;
+  --cyan: #17a2b8;
+  --white: #fff;
+  --gray: #6c757d;
+  --gray-dark: #343a40;
+  --primary: #007bff;
+  --secondary: #6c757d;
+  --success: #28a745;
+  --info: #17a2b8;
+  --warning: #ffc107;
+  --danger: #dc3545;
+  --light: #f8f9fa;
+  --dark: #343a40;
+  --breakpoint-xs: 0;
+  --breakpoint-sm: 576px;
+  --breakpoint-md: 768px;
+  --breakpoint-lg: 992px;
+  --breakpoint-xl: 1200px;
+  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+  outline: 0 !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+  text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+  text-decoration-skip-ink: none;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+  outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg {
+  overflow: hidden;
+  vertical-align: middle;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #6c757d;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: 0.5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+  cursor: pointer;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+  margin-bottom: 0.5rem;
+  font-family: inherit;
+  font-weight: 500;
+  line-height: 1.2;
+  color: inherit;
+}
+
+h1, .h1 {
+  font-size: 2.5rem;
+}
+
+h2, .h2 {
+  font-size: 2rem;
+}
+
+h3, .h3 {
+  font-size: 1.75rem;
+}
+
+h4, .h4 {
+  font-size: 1.5rem;
+}
+
+h5, .h5 {
+  font-size: 1.25rem;
+}
+
+h6, .h6 {
+  font-size: 1rem;
+}
+
+.lead {
+  font-size: 1.25rem;
+  font-weight: 300;
+}
+
+.display-1 {
+  font-size: 6rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-2 {
+  font-size: 5.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-3 {
+  font-size: 4.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-4 {
+  font-size: 3.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+hr {
+  margin-top: 1rem;
+  margin-bottom: 1rem;
+  border: 0;
+  border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+small,
+.small {
+  font-size: 80%;
+  font-weight: 400;
+}
+
+mark,
+.mark {
+  padding: 0.2em;
+  background-color: #fcf8e3;
+}
+
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline-item {
+  display: inline-block;
+}
+
+.list-inline-item:not(:last-child) {
+  margin-right: 0.5rem;
+}
+
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+
+.blockquote {
+  margin-bottom: 1rem;
+  font-size: 1.25rem;
+}
+
+.blockquote-footer {
+  display: block;
+  font-size: 80%;
+  color: #6c757d;
+}
+
+.blockquote-footer::before {
+  content: "\2014\00A0";
+}
+
+.img-fluid {
+  max-width: 100%;
+  height: auto;
+}
+
+.img-thumbnail {
+  padding: 0.25rem;
+  background-color: #fff;
+  border: 1px solid #dee2e6;
+  border-radius: 0.25rem;
+  max-width: 100%;
+  height: auto;
+}
+
+.figure {
+  display: inline-block;
+}
+
+.figure-img {
+  margin-bottom: 0.5rem;
+  line-height: 1;
+}
+
+.figure-caption {
+  font-size: 90%;
+  color: #6c757d;
+}
+
+code {
+  font-size: 87.5%;
+  color: #e83e8c;
+  word-break: break-word;
+}
+
+a > code {
+  color: inherit;
+}
+
+kbd {
+  padding: 0.2rem 0.4rem;
+  font-size: 87.5%;
+  color: #fff;
+  background-color: #212529;
+  border-radius: 0.2rem;
+}
+
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  font-weight: 700;
+}
+
+pre {
+  display: block;
+  font-size: 87.5%;
+  color: #212529;
+}
+
+pre code {
+  font-size: inherit;
+  color: inherit;
+  word-break: normal;
+}
+
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container {
+    max-width: 1140px;
+  }
+}
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  max-width: 100%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+  flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+  flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+  flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+  flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+  flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+  flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+  flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+  flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+  flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+  flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+  flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+  order: -1;
+}
+
+.order-last {
+  -ms-flex-order: 13;
+  order: 13;
+}
+
+.order-0 {
+  -ms-flex-order: 0;
+  order: 0;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+  order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+  order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+  order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+  order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+  order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+  order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+  order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+  order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+  order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+  order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+  order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+  order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-sm-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-sm-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-md-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-md-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-lg-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-lg-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-xl-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-xl-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.table {
+  width: 100%;
+  margin-bottom: 1rem;
+  background-color: transparent;
+}
+
+.table th,
+.table td {
+  padding: 0.75rem;
+  vertical-align: top;
+  border-top: 1px solid #dee2e6;
+}
+
+.table thead th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.table tbody + tbody {
+  border-top: 2px solid #dee2e6;
+}
+
+.table .table {
+  background-color: #fff;
+}
+
+.table-sm th,
+.table-sm td {
+  padding: 0.3rem;
+}
+
+.table-bordered {
+  border: 1px solid #dee2e6;
+}
+
+.table-bordered th,
+.table-bordered td {
+  border: 1px solid #dee2e6;
+}
+
+.table-bordered thead th,
+.table-bordered thead td {
+  border-bottom-width: 2px;
+}
+
+.table-borderless th,
+.table-borderless td,
+.table-borderless thead th,
+.table-borderless tbody + tbody {
+  border: 0;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+.table-hover tbody tr:hover {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-primary,
+.table-primary > th,
+.table-primary > td {
+  background-color: #b8daff;
+}
+
+.table-primary th,
+.table-primary td,
+.table-primary thead th,
+.table-primary tbody + tbody {
+  border-color: #7abaff;
+}
+
+.table-hover .table-primary:hover {
+  background-color: #9fcdff;
+}
+
+.table-hover .table-primary:hover > td,
+.table-hover .table-primary:hover > th {
+  background-color: #9fcdff;
+}
+
+.table-secondary,
+.table-secondary > th,
+.table-secondary > td {
+  background-color: #d6d8db;
+}
+
+.table-secondary th,
+.table-secondary td,
+.table-secondary thead th,
+.table-secondary tbody + tbody {
+  border-color: #b3b7bb;
+}
+
+.table-hover .table-secondary:hover {
+  background-color: #c8cbcf;
+}
+
+.table-hover .table-secondary:hover > td,
+.table-hover .table-secondary:hover > th {
+  background-color: #c8cbcf;
+}
+
+.table-success,
+.table-success > th,
+.table-success > td {
+  background-color: #c3e6cb;
+}
+
+.table-success th,
+.table-success td,
+.table-success thead th,
+.table-success tbody + tbody {
+  border-color: #8fd19e;
+}
+
+.table-hover .table-success:hover {
+  background-color: #b1dfbb;
+}
+
+.table-hover .table-success:hover > td,
+.table-hover .table-success:hover > th {
+  background-color: #b1dfbb;
+}
+
+.table-info,
+.table-info > th,
+.table-info > td {
+  background-color: #bee5eb;
+}
+
+.table-info th,
+.table-info td,
+.table-info thead th,
+.table-info tbody + tbody {
+  border-color: #86cfda;
+}
+
+.table-hover .table-info:hover {
+  background-color: #abdde5;
+}
+
+.table-hover .table-info:hover > td,
+.table-hover .table-info:hover > th {
+  background-color: #abdde5;
+}
+
+.table-warning,
+.table-warning > th,
+.table-warning > td {
+  background-color: #ffeeba;
+}
+
+.table-warning th,
+.table-warning td,
+.table-warning thead th,
+.table-warning tbody + tbody {
+  border-color: #ffdf7e;
+}
+
+.table-hover .table-warning:hover {
+  background-color: #ffe8a1;
+}
+
+.table-hover .table-warning:hover > td,
+.table-hover .table-warning:hover > th {
+  background-color: #ffe8a1;
+}
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+  background-color: #f5c6cb;
+}
+
+.table-danger th,
+.table-danger td,
+.table-danger thead th,
+.table-danger tbody + tbody {
+  border-color: #ed969e;
+}
+
+.table-hover .table-danger:hover {
+  background-color: #f1b0b7;
+}
+
+.table-hover .table-danger:hover > td,
+.table-hover .table-danger:hover > th {
+  background-color: #f1b0b7;
+}
+
+.table-light,
+.table-light > th,
+.table-light > td {
+  background-color: #fdfdfe;
+}
+
+.table-light th,
+.table-light td,
+.table-light thead th,
+.table-light tbody + tbody {
+  border-color: #fbfcfc;
+}
+
+.table-hover .table-light:hover {
+  background-color: #ececf6;
+}
+
+.table-hover .table-light:hover > td,
+.table-hover .table-light:hover > th {
+  background-color: #ececf6;
+}
+
+.table-dark,
+.table-dark > th,
+.table-dark > td {
+  background-color: #c6c8ca;
+}
+
+.table-dark th,
+.table-dark td,
+.table-dark thead th,
+.table-dark tbody + tbody {
+  border-color: #95999c;
+}
+
+.table-hover .table-dark:hover {
+  background-color: #b9bbbe;
+}
+
+.table-hover .table-dark:hover > td,
+.table-hover .table-dark:hover > th {
+  background-color: #b9bbbe;
+}
+
+.table-active,
+.table-active > th,
+.table-active > td {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover > td,
+.table-hover .table-active:hover > th {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table .thead-dark th {
+  color: #fff;
+  background-color: #212529;
+  border-color: #32383e;
+}
+
+.table .thead-light th {
+  color: #495057;
+  background-color: #e9ecef;
+  border-color: #dee2e6;
+}
+
+.table-dark {
+  color: #fff;
+  background-color: #212529;
+}
+
+.table-dark th,
+.table-dark td,
+.table-dark thead th {
+  border-color: #32383e;
+}
+
+.table-dark.table-bordered {
+  border: 0;
+}
+
+.table-dark.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(255, 255, 255, 0.05);
+}
+
+.table-dark.table-hover tbody tr:hover {
+  background-color: rgba(255, 255, 255, 0.075);
+}
+
+@media (max-width: 575.98px) {
+  .table-responsive-sm {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-sm > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 767.98px) {
+  .table-responsive-md {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-md > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 991.98px) {
+  .table-responsive-lg {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-lg > .table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 1199.98px) {
+  .table-responsive-xl {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-xl > .table-bordered {
+    border: 0;
+  }
+}
+
+.table-responsive {
+  display: block;
+  width: 100%;
+  overflow-x: auto;
+  -webkit-overflow-scrolling: touch;
+  -ms-overflow-style: -ms-autohiding-scrollbar;
+}
+
+.table-responsive > .table-bordered {
+  border: 0;
+}
+
+.form-control {
+  display: block;
+  width: 100%;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .form-control {
+    transition: none;
+  }
+}
+
+.form-control::-ms-expand {
+  background-color: transparent;
+  border: 0;
+}
+
+.form-control:focus {
+  color: #495057;
+  background-color: #fff;
+  border-color: #80bdff;
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.form-control::-webkit-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::-moz-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control:-ms-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::-ms-input-placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control::placeholder {
+  color: #6c757d;
+  opacity: 1;
+}
+
+.form-control:disabled, .form-control[readonly] {
+  background-color: #e9ecef;
+  opacity: 1;
+}
+
+select.form-control:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.form-control-file,
+.form-control-range {
+  display: block;
+  width: 100%;
+}
+
+.col-form-label {
+  padding-top: calc(0.375rem + 1px);
+  padding-bottom: calc(0.375rem + 1px);
+  margin-bottom: 0;
+  font-size: inherit;
+  line-height: 1.5;
+}
+
+.col-form-label-lg {
+  padding-top: calc(0.5rem + 1px);
+  padding-bottom: calc(0.5rem + 1px);
+  font-size: 1.25rem;
+  line-height: 1.5;
+}
+
+.col-form-label-sm {
+  padding-top: calc(0.25rem + 1px);
+  padding-bottom: calc(0.25rem + 1px);
+  font-size: 0.875rem;
+  line-height: 1.5;
+}
+
+.form-control-plaintext {
+  display: block;
+  width: 100%;
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  margin-bottom: 0;
+  line-height: 1.5;
+  color: #212529;
+  background-color: transparent;
+  border: solid transparent;
+  border-width: 1px 0;
+}
+
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.form-control-sm {
+  height: calc(1.8125rem + 2px);
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.form-control-lg {
+  height: calc(2.875rem + 2px);
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+select.form-control[size], select.form-control[multiple] {
+  height: auto;
+}
+
+textarea.form-control {
+  height: auto;
+}
+
+.form-group {
+  margin-bottom: 1rem;
+}
+
+.form-text {
+  display: block;
+  margin-top: 0.25rem;
+}
+
+.form-row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -5px;
+  margin-left: -5px;
+}
+
+.form-row > .col,
+.form-row > [class*="col-"] {
+  padding-right: 5px;
+  padding-left: 5px;
+}
+
+.form-check {
+  position: relative;
+  display: block;
+  padding-left: 1.25rem;
+}
+
+.form-check-input {
+  position: absolute;
+  margin-top: 0.3rem;
+  margin-left: -1.25rem;
+}
+
+.form-check-input:disabled ~ .form-check-label {
+  color: #6c757d;
+}
+
+.form-check-label {
+  margin-bottom: 0;
+}
+
+.form-check-inline {
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -ms-flex-align: center;
+  align-items: center;
+  padding-left: 0;
+  margin-right: 0.75rem;
+}
+
+.form-check-inline .form-check-input {
+  position: static;
+  margin-top: 0;
+  margin-right: 0.3125rem;
+  margin-left: 0;
+}
+
+.valid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #28a745;
+}
+
+.valid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: .1rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  color: #fff;
+  background-color: rgba(40, 167, 69, 0.9);
+  border-radius: 0.25rem;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+  border-color: #28a745;
+  padding-right: 2.25rem;
+  background-repeat: no-repeat;
+  background-position: center right calc(2.25rem / 4);
+  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+}
+
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .form-control:valid ~ .valid-feedback,
+.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
+.form-control.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+  padding-right: 2.25rem;
+  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4);
+}
+
+.was-validated .custom-select:valid, .custom-select.is-valid {
+  border-color: #28a745;
+  padding-right: 3.4375rem;
+  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") no-repeat center right 1.75rem/1.125rem 1.125rem;
+}
+
+.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .custom-select:valid ~ .valid-feedback,
+.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
+.custom-select.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control-file:valid ~ .valid-feedback,
+.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
+.form-control-file.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+  color: #28a745;
+}
+
+.was-validated .form-check-input:valid ~ .valid-feedback,
+.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
+.form-check-input.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
+  color: #28a745;
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
+  border-color: #28a745;
+}
+
+.was-validated .custom-control-input:valid ~ .valid-feedback,
+.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
+.custom-control-input.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
+  border-color: #34ce57;
+  background-color: #34ce57;
+}
+
+.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #28a745;
+}
+
+.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
+  border-color: #28a745;
+}
+
+.was-validated .custom-file-input:valid ~ .valid-feedback,
+.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
+.custom-file-input.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.invalid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #dc3545;
+}
+
+.invalid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: 0.25rem 0.5rem;
+  margin-top: .1rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  color: #fff;
+  background-color: rgba(220, 53, 69, 0.9);
+  border-radius: 0.25rem;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+  border-color: #dc3545;
+  padding-right: 2.25rem;
+  background-repeat: no-repeat;
+  background-position: center right calc(2.25rem / 4);
+  background-size: calc(2.25rem / 2) calc(2.25rem / 2);
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
+}
+
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-control:invalid ~ .invalid-feedback,
+.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
+.form-control.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+  padding-right: 2.25rem;
+  background-position: top calc(2.25rem / 4) right calc(2.25rem / 4);
+}
+
+.was-validated .custom-select:invalid, .custom-select.is-invalid {
+  border-color: #dc3545;
+  padding-right: 3.4375rem;
+  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") no-rep [...]
+}
+
+.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .custom-select:invalid ~ .invalid-feedback,
+.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
+.custom-select.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .form-control-file:invalid ~ .invalid-feedback,
+.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
+.form-control-file.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+  color: #dc3545;
+}
+
+.was-validated .form-check-input:invalid ~ .invalid-feedback,
+.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
+.form-check-input.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
+  color: #dc3545;
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-control-input:invalid ~ .invalid-feedback,
+.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
+.custom-control-input.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
+  border-color: #e4606d;
+  background-color: #e4606d;
+}
+
+.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid ~ .invalid-feedback,
+.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
+.custom-file-input.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.form-inline {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-flow: row wrap;
+  flex-flow: row wrap;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.form-inline .form-check {
+  width: 100%;
+}
+
+@media (min-width: 576px) {
+  .form-inline label {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-group {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    -ms-flex-flow: row wrap;
+    flex-flow: row wrap;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .form-inline .form-control-plaintext {
+    display: inline-block;
+  }
+  .form-inline .input-group,
+  .form-inline .custom-select {
+    width: auto;
+  }
+  .form-inline .form-check {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: auto;
+    padding-left: 0;
+  }
+  .form-inline .form-check-input {
+    position: relative;
+    margin-top: 0;
+    margin-right: 0.25rem;
+    margin-left: 0;
+  }
+  .form-inline .custom-control {
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+  }
+  .form-inline .custom-control-label {
+    margin-bottom: 0;
+  }
+}
+
+.btn {
+  display: inline-block;
+  font-weight: 400;
+  color: #212529;
+  text-align: center;
+  vertical-align: middle;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  background-color: transparent;
+  border: 1px solid transparent;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  line-height: 1.5;
+  border-radius: 0.25rem;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .btn {
+    transition: none;
+  }
+}
+
+.btn:hover {
+  color: #212529;
+  text-decoration: none;
+}
+
+.btn:focus, .btn.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.btn.disabled, .btn:disabled {
+  opacity: 0.65;
+}
+
+.btn:not(:disabled):not(.disabled) {
+  cursor: pointer;
+}
+
+a.btn.disabled,
+fieldset:disabled a.btn {
+  pointer-events: none;
+}
+
+.btn-primary {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:hover {
+  color: #fff;
+  background-color: #0069d9;
+  border-color: #0062cc;
+}
+
+.btn-primary:focus, .btn-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+}
+
+.btn-primary.disabled, .btn-primary:disabled {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
+.show > .btn-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #0062cc;
+  border-color: #005cbf;
+}
+
+.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-primary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+}
+
+.btn-secondary {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-secondary:hover {
+  color: #fff;
+  background-color: #5a6268;
+  border-color: #545b62;
+}
+
+.btn-secondary:focus, .btn-secondary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+}
+
+.btn-secondary.disabled, .btn-secondary:disabled {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
+.show > .btn-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #545b62;
+  border-color: #4e555b;
+}
+
+.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-secondary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+}
+
+.btn-success {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:hover {
+  color: #fff;
+  background-color: #218838;
+  border-color: #1e7e34;
+}
+
+.btn-success:focus, .btn-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
+}
+
+.btn-success.disabled, .btn-success:disabled {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
+.show > .btn-success.dropdown-toggle {
+  color: #fff;
+  background-color: #1e7e34;
+  border-color: #1c7430;
+}
+
+.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
+.show > .btn-success.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
+}
+
+.btn-info {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:hover {
+  color: #fff;
+  background-color: #138496;
+  border-color: #117a8b;
+}
+
+.btn-info:focus, .btn-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
+}
+
+.btn-info.disabled, .btn-info:disabled {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
+.show > .btn-info.dropdown-toggle {
+  color: #fff;
+  background-color: #117a8b;
+  border-color: #10707f;
+}
+
+.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
+.show > .btn-info.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
+}
+
+.btn-warning {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:hover {
+  color: #212529;
+  background-color: #e0a800;
+  border-color: #d39e00;
+}
+
+.btn-warning:focus, .btn-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
+}
+
+.btn-warning.disabled, .btn-warning:disabled {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
+.show > .btn-warning.dropdown-toggle {
+  color: #212529;
+  background-color: #d39e00;
+  border-color: #c69500;
+}
+
+.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
+.show > .btn-warning.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
+}
+
+.btn-danger {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:hover {
+  color: #fff;
+  background-color: #c82333;
+  border-color: #bd2130;
+}
+
+.btn-danger:focus, .btn-danger.focus {
+  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
+}
+
+.btn-danger.disabled, .btn-danger:disabled {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
+.show > .btn-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #bd2130;
+  border-color: #b21f2d;
+}
+
+.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
+.show > .btn-danger.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
+}
+
+.btn-light {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:hover {
+  color: #212529;
+  background-color: #e2e6ea;
+  border-color: #dae0e5;
+}
+
+.btn-light:focus, .btn-light.focus {
+  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+}
+
+.btn-light.disabled, .btn-light:disabled {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
+.show > .btn-light.dropdown-toggle {
+  color: #212529;
+  background-color: #dae0e5;
+  border-color: #d3d9df;
+}
+
+.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
+.show > .btn-light.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+}
+
+.btn-dark {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:hover {
+  color: #fff;
+  background-color: #23272b;
+  border-color: #1d2124;
+}
+
+.btn-dark:focus, .btn-dark.focus {
+  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+}
+
+.btn-dark.disabled, .btn-dark:disabled {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
+.show > .btn-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #1d2124;
+  border-color: #171a1d;
+}
+
+.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
+.show > .btn-dark.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+}
+
+.btn-outline-primary {
+  color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:hover {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:focus, .btn-outline-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-primary.disabled, .btn-outline-primary:disabled {
+  color: #007bff;
+  background-color: transparent;
+}
+
+.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
+.show > .btn-outline-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-primary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-secondary {
+  color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:hover {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:focus, .btn-outline-secondary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+}
+
+.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+  color: #6c757d;
+  background-color: transparent;
+}
+
+.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
+.show > .btn-outline-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #6c757d;
+}
+
+.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-secondary.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+}
+
+.btn-outline-success {
+  color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:hover {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:focus, .btn-outline-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-success.disabled, .btn-outline-success:disabled {
+  color: #28a745;
+  background-color: transparent;
+}
+
+.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
+.show > .btn-outline-success.dropdown-toggle {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-success.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-info {
+  color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:hover {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:focus, .btn-outline-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-info.disabled, .btn-outline-info:disabled {
+  color: #17a2b8;
+  background-color: transparent;
+}
+
+.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
+.show > .btn-outline-info.dropdown-toggle {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-info.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-warning {
+  color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:hover {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:focus, .btn-outline-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-warning.disabled, .btn-outline-warning:disabled {
+  color: #ffc107;
+  background-color: transparent;
+}
+
+.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
+.show > .btn-outline-warning.dropdown-toggle {
+  color: #212529;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-warning.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-danger {
+  color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:hover {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:focus, .btn-outline-danger.focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-danger.disabled, .btn-outline-danger:disabled {
+  color: #dc3545;
+  background-color: transparent;
+}
+
+.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
+.show > .btn-outline-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-danger.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-light {
+  color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:hover {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:focus, .btn-outline-light.focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-light.disabled, .btn-outline-light:disabled {
+  color: #f8f9fa;
+  background-color: transparent;
+}
+
+.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
+.show > .btn-outline-light.dropdown-toggle {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-light.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-dark {
+  color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:hover {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:focus, .btn-outline-dark.focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-outline-dark.disabled, .btn-outline-dark:disabled {
+  color: #343a40;
+  background-color: transparent;
+}
+
+.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
+.show > .btn-outline-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
+.show > .btn-outline-dark.dropdown-toggle:focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-link {
+  font-weight: 400;
+  color: #007bff;
+}
+
+.btn-link:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+.btn-link:focus, .btn-link.focus {
+  text-decoration: underline;
+  box-shadow: none;
+}
+
+.btn-link:disabled, .btn-link.disabled {
+  color: #6c757d;
+  pointer-events: none;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.btn-block {
+  display: block;
+  width: 100%;
+}
+
+.btn-block + .btn-block {
+  margin-top: 0.5rem;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+
+.fade {
+  transition: opacity 0.15s linear;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .fade {
+    transition: none;
+  }
+}
+
+.fade:not(.show) {
+  opacity: 0;
+}
+
+.collapse:not(.show) {
+  display: none;
+}
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .collapsing {
+    transition: none;
+  }
+}
+
+.dropup,
+.dropright,
+.dropdown,
+.dropleft {
+  position: relative;
+}
+
+.dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0;
+  border-left: 0.3em solid transparent;
+}
+
+.dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 10rem;
+  padding: 0.5rem 0;
+  margin: 0.125rem 0 0;
+  font-size: 1rem;
+  color: #212529;
+  text-align: left;
+  list-style: none;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 0.25rem;
+}
+
+.dropdown-menu-right {
+  right: 0;
+  left: auto;
+}
+
+@media (min-width: 576px) {
+  .dropdown-menu-sm-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 768px) {
+  .dropdown-menu-md-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 992px) {
+  .dropdown-menu-lg-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+@media (min-width: 1200px) {
+  .dropdown-menu-xl-right {
+    right: 0;
+    left: auto;
+  }
+}
+
+.dropdown-menu-left {
+  right: auto;
+  left: 0;
+}
+
+@media (min-width: 576px) {
+  .dropdown-menu-sm-left {
+    right: auto;
+    left: 0;
+  }
+}
+
+@media (min-width: 768px) {
+  .dropdown-menu-md-left {
+    right: auto;
+    left: 0;
+  }
+}
+
+@media (min-width: 992px) {
+  .dropdown-menu-lg-left {
+    right: auto;
+    left: 0;
+  }
+}
+
+@media (min-width: 1200px) {
+  .dropdown-menu-xl-left {
+    right: auto;
+    left: 0;
+  }
+}
+
+.dropup .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-top: 0;
+  margin-bottom: 0.125rem;
+}
+
+.dropup .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0.3em solid;
+  border-left: 0.3em solid transparent;
+}
+
+.dropup .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropright .dropdown-menu {
+  top: 0;
+  right: auto;
+  left: 100%;
+  margin-top: 0;
+  margin-left: 0.125rem;
+}
+
+.dropright .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0;
+  border-bottom: 0.3em solid transparent;
+  border-left: 0.3em solid;
+}
+
+.dropright .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropright .dropdown-toggle::after {
+  vertical-align: 0;
+}
+
+.dropleft .dropdown-menu {
+  top: 0;
+  right: 100%;
+  left: auto;
+  margin-top: 0;
+  margin-right: 0.125rem;
+}
+
+.dropleft .dropdown-toggle::after {
+  display: inline-block;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+}
+
+.dropleft .dropdown-toggle::after {
+  display: none;
+}
+
+.dropleft .dropdown-toggle::before {
+  display: inline-block;
+  margin-right: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0.3em solid;
+  border-bottom: 0.3em solid transparent;
+}
+
+.dropleft .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropleft .dropdown-toggle::before {
+  vertical-align: 0;
+}
+
+.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
+  right: auto;
+  bottom: auto;
+}
+
+.dropdown-divider {
+  height: 0;
+  margin: 0.5rem 0;
+  overflow: hidden;
+  border-top: 1px solid #e9ecef;
+}
+
+.dropdown-item {
+  display: block;
+  width: 100%;
+  padding: 0.25rem 1.5rem;
+  clear: both;
+  font-weight: 400;
+  color: #212529;
+  text-align: inherit;
+  white-space: nowrap;
+  background-color: transparent;
+  border: 0;
+}
+
+.dropdown-item:first-child {
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.dropdown-item:last-child {
+  border-bottom-right-radius: calc(0.25rem - 1px);
+  border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.dropdown-item:hover, .dropdown-item:focus {
+  color: #16181b;
+  text-decoration: none;
+  background-color: #f8f9fa;
+}
+
+.dropdown-item.active, .dropdown-item:active {
+  color: #fff;
+  text-decoration: none;
+  background-color: #007bff;
+}
+
+.dropdown-item.disabled, .dropdown-item:disabled {
+  color: #6c757d;
+  pointer-events: none;
+  background-color: transparent;
+}
+
+.dropdown-menu.show {
+  display: block;
+}
+
+.dropdown-header {
+  display: block;
+  padding: 0.5rem 1.5rem;
+  margin-bottom: 0;
+  font-size: 0.875rem;
+  color: #6c757d;
+  white-space: nowrap;
+}
+
+.dropdown-item-text {
+  display: block;
+  padding: 0.25rem 1.5rem;
+  color: #212529;
+}
+
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+  z-index: 1;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 1;
+}
+
+.btn-toolbar {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-pack: start;
+  justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) {
+  margin-left: -1px;
+}
+
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+  padding-right: 0.5625rem;
+  padding-left: 0.5625rem;
+}
+
+.dropdown-toggle-split::after,
+.dropup .dropdown-toggle-split::after,
+.dropright .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+
+.dropleft .dropdown-toggle-split::before {
+  margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -ms-flex-align: start;
+  align-items: flex-start;
+  -ms-flex-pack: center;
+  justify-content: center;
+}
+
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+  width: 100%;
+}
+
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+  margin-top: -1px;
+}
+
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group-toggle > .btn,
+.btn-group-toggle > .btn-group > .btn {
+  margin-bottom: 0;
+}
+
+.btn-group-toggle > .btn input[type="radio"],
+.btn-group-toggle > .btn input[type="checkbox"],
+.btn-group-toggle > .btn-group > .btn input[type="radio"],
+.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
+
+.input-group {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  width: 100%;
+}
+
+.input-group > .form-control,
+.input-group > .form-control-plaintext,
+.input-group > .custom-select,
+.input-group > .custom-file {
+  position: relative;
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  width: 1%;
+  margin-bottom: 0;
+}
+
+.input-group > .form-control + .form-control,
+.input-group > .form-control + .custom-select,
+.input-group > .form-control + .custom-file,
+.input-group > .form-control-plaintext + .form-control,
+.input-group > .form-control-plaintext + .custom-select,
+.input-group > .form-control-plaintext + .custom-file,
+.input-group > .custom-select + .form-control,
+.input-group > .custom-select + .custom-select,
+.input-group > .custom-select + .custom-file,
+.input-group > .custom-file + .form-control,
+.input-group > .custom-file + .custom-select,
+.input-group > .custom-file + .custom-file {
+  margin-left: -1px;
+}
+
+.input-group > .form-control:focus,
+.input-group > .custom-select:focus,
+.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
+  z-index: 3;
+}
+
+.input-group > .custom-file .custom-file-input:focus {
+  z-index: 4;
+}
+
+.input-group > .form-control:not(:last-child),
+.input-group > .custom-select:not(:last-child) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .form-control:not(:first-child),
+.input-group > .custom-select:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.input-group > .custom-file {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.input-group > .custom-file:not(:last-child) .custom-file-label,
+.input-group > .custom-file:not(:last-child) .custom-file-label::after {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .custom-file:not(:first-child) .custom-file-label {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.input-group-prepend,
+.input-group-append {
+  display: -ms-flexbox;
+  display: flex;
+}
+
+.input-group-prepend .btn,
+.input-group-append .btn {
+  position: relative;
+  z-index: 2;
+}
+
+.input-group-prepend .btn:focus,
+.input-group-append .btn:focus {
+  z-index: 3;
+}
+
+.input-group-prepend .btn + .btn,
+.input-group-prepend .btn + .input-group-text,
+.input-group-prepend .input-group-text + .input-group-text,
+.input-group-prepend .input-group-text + .btn,
+.input-group-append .btn + .btn,
+.input-group-append .btn + .input-group-text,
+.input-group-append .input-group-text + .input-group-text,
+.input-group-append .input-group-text + .btn {
+  margin-left: -1px;
+}
+
+.input-group-prepend {
+  margin-right: -1px;
+}
+
+.input-group-append {
+  margin-left: -1px;
+}
+
+.input-group-text {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 0.375rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  text-align: center;
+  white-space: nowrap;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.input-group-text input[type="radio"],
+.input-group-text input[type="checkbox"] {
+  margin-top: 0;
+}
+
+.input-group-lg > .form-control:not(textarea),
+.input-group-lg > .custom-select {
+  height: calc(2.875rem + 2px);
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .custom-select,
+.input-group-lg > .input-group-prepend > .input-group-text,
+.input-group-lg > .input-group-append > .input-group-text,
+.input-group-lg > .input-group-prepend > .btn,
+.input-group-lg > .input-group-append > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+.input-group-sm > .form-control:not(textarea),
+.input-group-sm > .custom-select {
+  height: calc(1.8125rem + 2px);
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .custom-select,
+.input-group-sm > .input-group-prepend > .input-group-text,
+.input-group-sm > .input-group-append > .input-group-text,
+.input-group-sm > .input-group-prepend > .btn,
+.input-group-sm > .input-group-append > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.input-group-lg > .custom-select,
+.input-group-sm > .custom-select {
+  padding-right: 1.75rem;
+}
+
+.input-group > .input-group-prepend > .btn,
+.input-group > .input-group-prepend > .input-group-text,
+.input-group > .input-group-append:not(:last-child) > .btn,
+.input-group > .input-group-append:not(:last-child) > .input-group-text,
+.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group > .input-group-append > .btn,
+.input-group > .input-group-append > .input-group-text,
+.input-group > .input-group-prepend:not(:first-child) > .btn,
+.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
+.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
+.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.custom-control {
+  position: relative;
+  display: block;
+  min-height: 1.5rem;
+  padding-left: 1.5rem;
+}
+
+.custom-control-inline {
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  margin-right: 1rem;
+}
+
+.custom-control-input {
+  position: absolute;
+  z-index: -1;
+  opacity: 0;
+}
+
+.custom-control-input:checked ~ .custom-control-label::before {
+  color: #fff;
+  border-color: #007bff;
+  background-color: #007bff;
+}
+
+.custom-control-input:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #80bdff;
+}
+
+.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
+  color: #fff;
+  background-color: #b3d7ff;
+  border-color: #b3d7ff;
+}
+
+.custom-control-input:disabled ~ .custom-control-label {
+  color: #6c757d;
+}
+
+.custom-control-input:disabled ~ .custom-control-label::before {
+  background-color: #e9ecef;
+}
+
+.custom-control-label {
+  position: relative;
+  margin-bottom: 0;
+  vertical-align: top;
+}
+
+.custom-control-label::before {
+  position: absolute;
+  top: 0.25rem;
+  left: -1.5rem;
+  display: block;
+  width: 1rem;
+  height: 1rem;
+  pointer-events: none;
+  content: "";
+  background-color: #fff;
+  border: #adb5bd solid 1px;
+}
+
+.custom-control-label::after {
+  position: absolute;
+  top: 0.25rem;
+  left: -1.5rem;
+  display: block;
+  width: 1rem;
+  height: 1rem;
+  content: "";
+  background-repeat: no-repeat;
+  background-position: center center;
+  background-size: 50% 50%;
+}
+
+.custom-checkbox .custom-control-label::before {
+  border-radius: 0.25rem;
+}
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
+  border-color: #007bff;
+  background-color: #007bff;
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
+}
+
+.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-radio .custom-control-label::before {
+  border-radius: 50%;
+}
+
+.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+
+.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-switch {
+  padding-left: 2.25rem;
+}
+
+.custom-switch .custom-control-label::before {
+  left: -2.25rem;
+  width: 1.75rem;
+  pointer-events: all;
+  border-radius: 0.5rem;
+}
+
+.custom-switch .custom-control-label::after {
+  top: calc(0.25rem + 2px);
+  left: calc(-2.25rem + 2px);
+  width: calc(1rem - 4px);
+  height: calc(1rem - 4px);
+  background-color: #adb5bd;
+  border-radius: 0.5rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
+  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .custom-switch .custom-control-label::after {
+    transition: none;
+  }
+}
+
+.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
+  background-color: #fff;
+  -webkit-transform: translateX(0.75rem);
+  transform: translateX(0.75rem);
+}
+
+.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(0, 123, 255, 0.5);
+}
+
+.custom-select {
+  display: inline-block;
+  width: 100%;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  vertical-align: middle;
+  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
+  background-color: #fff;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+.custom-select:focus {
+  border-color: #80bdff;
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5);
+}
+
+.custom-select:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.custom-select[multiple], .custom-select[size]:not([size="1"]) {
+  height: auto;
+  padding-right: 0.75rem;
+  background-image: none;
+}
+
+.custom-select:disabled {
+  color: #6c757d;
+  background-color: #e9ecef;
+}
+
+.custom-select::-ms-expand {
+  opacity: 0;
+}
+
+.custom-select-sm {
+  height: calc(1.8125rem + 2px);
+  padding-top: 0.25rem;
+  padding-bottom: 0.25rem;
+  padding-left: 0.5rem;
+  font-size: 0.875rem;
+}
+
+.custom-select-lg {
+  height: calc(2.875rem + 2px);
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+  padding-left: 1rem;
+  font-size: 1.25rem;
+}
+
+.custom-file {
+  position: relative;
+  display: inline-block;
+  width: 100%;
+  height: calc(2.25rem + 2px);
+  margin-bottom: 0;
+}
+
+.custom-file-input {
+  position: relative;
+  z-index: 2;
+  width: 100%;
+  height: calc(2.25rem + 2px);
+  margin: 0;
+  opacity: 0;
+}
+
+.custom-file-input:focus ~ .custom-file-label {
+  border-color: #80bdff;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-file-input:disabled ~ .custom-file-label {
+  background-color: #e9ecef;
+}
+
+.custom-file-input:lang(en) ~ .custom-file-label::after {
+  content: "Browse";
+}
+
+.custom-file-input ~ .custom-file-label[data-browse]::after {
+  content: attr(data-browse);
+}
+
+.custom-file-label {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 0.75rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.custom-file-label::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 3;
+  display: block;
+  height: 2.25rem;
+  padding: 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  content: "Browse";
+  background-color: #e9ecef;
+  border-left: inherit;
+  border-radius: 0 0.25rem 0.25rem 0;
+}
+
+.custom-range {
+  width: 100%;
+  height: calc(1rem + 0.4rem);
+  padding: 0;
+  background-color: transparent;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+.custom-range:focus {
+  outline: none;
+}
+
+.custom-range:focus::-webkit-slider-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range:focus::-moz-range-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range:focus::-ms-thumb {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range::-moz-focus-outer {
+  border: 0;
+}
+
+.custom-range::-webkit-slider-thumb {
+  width: 1rem;
+  height: 1rem;
+  margin-top: -0.25rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -webkit-appearance: none;
+  appearance: none;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .custom-range::-webkit-slider-thumb {
+    transition: none;
+  }
+}
+
+.custom-range::-webkit-slider-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-webkit-slider-runnable-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+
+.custom-range::-moz-range-thumb {
+  width: 1rem;
+  height: 1rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .custom-range::-moz-range-thumb {
+    transition: none;
+  }
+}
+
+.custom-range::-moz-range-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-moz-range-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: #dee2e6;
+  border-color: transparent;
+  border-radius: 1rem;
+}
+
+.custom-range::-ms-thumb {
+  width: 1rem;
+  height: 1rem;
+  margin-top: 0;
+  margin-right: 0.2rem;
+  margin-left: 0.2rem;
+  background-color: #007bff;
+  border: 0;
+  border-radius: 1rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  appearance: none;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .custom-range::-ms-thumb {
+    transition: none;
+  }
+}
+
+.custom-range::-ms-thumb:active {
+  background-color: #b3d7ff;
+}
+
+.custom-range::-ms-track {
+  width: 100%;
+  height: 0.5rem;
+  color: transparent;
+  cursor: pointer;
+  background-color: transparent;
+  border-color: transparent;
+  border-width: 0.5rem;
+}
+
+.custom-range::-ms-fill-lower {
+  background-color: #dee2e6;
+  border-radius: 1rem;
+}
+
+.custom-range::-ms-fill-upper {
+  margin-right: 15px;
+  background-color: #dee2e6;
+  border-radius: 1rem;
+}
+
+.custom-range:disabled::-webkit-slider-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-range:disabled::-webkit-slider-runnable-track {
+  cursor: default;
+}
+
+.custom-range:disabled::-moz-range-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-range:disabled::-moz-range-track {
+  cursor: default;
+}
+
+.custom-range:disabled::-ms-thumb {
+  background-color: #adb5bd;
+}
+
+.custom-control-label::before,
+.custom-file-label,
+.custom-select {
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .custom-control-label::before,
+  .custom-file-label,
+  .custom-select {
+    transition: none;
+  }
+}
+
+.nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.nav-link {
+  display: block;
+  padding: 0.5rem 1rem;
+}
+
+.nav-link:hover, .nav-link:focus {
+  text-decoration: none;
+}
+
+.nav-link.disabled {
+  color: #6c757d;
+  pointer-events: none;
+  cursor: default;
+}
+
+.nav-tabs {
+  border-bottom: 1px solid #dee2e6;
+}
+
+.nav-tabs .nav-item {
+  margin-bottom: -1px;
+}
+
+.nav-tabs .nav-link {
+  border: 1px solid transparent;
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+}
+
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+  border-color: #e9ecef #e9ecef #dee2e6;
+}
+
+.nav-tabs .nav-link.disabled {
+  color: #6c757d;
+  background-color: transparent;
+  border-color: transparent;
+}
+
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+  color: #495057;
+  background-color: #fff;
+  border-color: #dee2e6 #dee2e6 #fff;
+}
+
+.nav-tabs .dropdown-menu {
+  margin-top: -1px;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+  border-radius: 0.25rem;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+  color: #fff;
+  background-color: #007bff;
+}
+
+.nav-fill .nav-item {
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+  text-align: center;
+}
+
+.nav-justified .nav-item {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  text-align: center;
+}
+
+.tab-content > .tab-pane {
+  display: none;
+}
+
+.tab-content > .active {
+  display: block;
+}
+
+.navbar {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  padding: 0.5rem 1rem;
+}
+
+.navbar > .container,
+.navbar > .container-fluid {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-align: center;
+  align-items: center;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+}
+
+.navbar-brand {
+  display: inline-block;
+  padding-top: 0.3125rem;
+  padding-bottom: 0.3125rem;
+  margin-right: 1rem;
+  font-size: 1.25rem;
+  line-height: inherit;
+  white-space: nowrap;
+}
+
+.navbar-brand:hover, .navbar-brand:focus {
+  text-decoration: none;
+}
+
+.navbar-nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.navbar-nav .nav-link {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-nav .dropdown-menu {
+  position: static;
+  float: none;
+}
+
+.navbar-text {
+  display: inline-block;
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+  -ms-flex-preferred-size: 100%;
+  flex-basis: 100%;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.navbar-toggler {
+  padding: 0.25rem 0.75rem;
+  font-size: 1.25rem;
+  line-height: 1;
+  background-color: transparent;
+  border: 1px solid transparent;
+  border-radius: 0.25rem;
+}
+
+.navbar-toggler:hover, .navbar-toggler:focus {
+  text-decoration: none;
+}
+
+.navbar-toggler:not(:disabled):not(.disabled) {
+  cursor: pointer;
+}
+
+.navbar-toggler-icon {
+  display: inline-block;
+  width: 1.5em;
+  height: 1.5em;
+  vertical-align: middle;
+  content: "";
+  background: no-repeat center center;
+  background-size: 100% 100%;
+}
+
+@media (max-width: 575.98px) {
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 576px) {
+  .navbar-expand-sm {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-sm .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-sm .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-sm .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-sm .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-sm .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 767.98px) {
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 768px) {
+  .navbar-expand-md {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-md .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-md .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-md .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-md .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-md .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 991.98px) {
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 992px) {
+  .navbar-expand-lg {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-lg .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-lg .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-lg .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-lg .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-lg .navbar-toggler {
+    display: none;
+  }
+}
+
+@media (max-width: 1199.98px) {
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 1200px) {
+  .navbar-expand-xl {
+    -ms-flex-flow: row nowrap;
+    flex-flow: row nowrap;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .navbar-expand-xl .navbar-nav {
+    -ms-flex-direction: row;
+    flex-direction: row;
+  }
+  .navbar-expand-xl .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-xl .navbar-nav .nav-link {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+  }
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid {
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+  }
+  .navbar-expand-xl .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+  }
+  .navbar-expand-xl .navbar-toggler {
+    display: none;
+  }
+}
+
+.navbar-expand {
+  -ms-flex-flow: row nowrap;
+  flex-flow: row nowrap;
+  -ms-flex-pack: start;
+  justify-content: flex-start;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-expand .navbar-nav {
+  -ms-flex-direction: row;
+  flex-direction: row;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu {
+  position: absolute;
+}
+
+.navbar-expand .navbar-nav .nav-link {
+  padding-right: 0.5rem;
+  padding-left: 0.5rem;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
+  -ms-flex-wrap: nowrap;
+  flex-wrap: nowrap;
+}
+
+.navbar-expand .navbar-collapse {
+  display: -ms-flexbox !important;
+  display: flex !important;
+  -ms-flex-preferred-size: auto;
+  flex-basis: auto;
+}
+
+.navbar-expand .navbar-toggler {
+  display: none;
+}
+
+.navbar-light .navbar-brand {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+  color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+  color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+  color: rgba(0, 0, 0, 0.5);
+  border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.navbar-light .navbar-text {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-text a {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-dark .navbar-brand {
+  color: #fff;
+}
+
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+  color: #fff;
+}
+
+.navbar-dark .navbar-nav .nav-link {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+  color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-dark .navbar-nav .nav-link.disabled {
+  color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .active > .nav-link,
+.navbar-dark .navbar-nav .nav-link.show,
+.navbar-dark .navbar-nav .nav-link.active {
+  color: #fff;
+}
+
+.navbar-dark .navbar-toggler {
+  color: rgba(255, 255, 255, 0.5);
+  border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-dark .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.navbar-dark .navbar-text {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-text a {
+  color: #fff;
+}
+
+.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
... 47269 lines suppressed ...


[celix-site] 28/34: Updated title for home page

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit d1668621a6149762d4c78ae62e7bdcddbe5b0467
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 13:33:47 2019 +0200

    Updated title for home page
---
 layouts/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/layouts/index.html b/layouts/index.html
index b21192a..b07d2e4 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -22,7 +22,7 @@ limitations under the License.
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <title>{{ site.Title }}</title>
+    <title>Welcome to {{ site.Title }}</title>
 
     {{ $favicon := "assets/img/favicon.ico" }}
     <link rel="icon" href="{{ $favicon | relURL }}">


[celix-site] 09/34: CELIX-449: Adding alt attribute to img tag to retrieve valid HTML markup

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 369aa6b4b40ca570d2c014edfba021eaa853b969
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 12:01:14 2018 +0100

    CELIX-449: Adding alt attribute to img tag to retrieve valid HTML markup
---
 source/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/index.html b/source/index.html
index d95514b..21c4bd4 100644
--- a/source/index.html
+++ b/source/index.html
@@ -12,7 +12,7 @@ title: Welcome to Apache Celix
       </div>
 
       <div class="row my-4">
-        <img class="text-center mx-auto img-home" src="/assets/img/celix.svg">
+        <img class="text-center mx-auto img-home" src="/assets/img/celix.svg" alt="Celix Logo">
       </div>
 
       <div class="col-sm-12 mb-4">


[celix-site] 11/34: CELIX-449: Using unix line-endings

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit ff548656cd237163337459353ef2d2ea2fef2db3
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 12:43:14 2018 +0100

    CELIX-449: Using unix line-endings
---
 NOTICE                                   | 134 ++++----
 README.md                                | 112 +++---
 _config.yml                              |  34 +-
 source/404.md                            |  22 +-
 source/_includes/footer.html             |  30 +-
 source/_includes/header.html             | 124 +++----
 source/_layouts/celix-md.html            | 110 +++---
 source/_layouts/default.html             | 116 +++----
 source/_layouts/main-page.html           |  90 ++---
 source/_plugins/update_celix_markdown.rb | 168 ++++-----
 source/_plugins/update_links.rb          |  58 ++--
 source/contributing/releasing.md         | 562 +++++++++++++++----------------
 source/download.md                       |  80 ++---
 source/robots.txt                        |   2 +-
 source/support/issue-tracking.md         |  40 +--
 15 files changed, 841 insertions(+), 841 deletions(-)

diff --git a/NOTICE b/NOTICE
index ea021bd..c7ea979 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,67 +1,67 @@
-                           Apache Celix
-              Copyright 2018 The Apache Software Foundation
-
-================================================================================
-
-This product includes software developed at
-The Apache Software Foundation (https://www.apache.org/).
-
-The following external dependencies are used:
-1. Bootstrap (Twitter) - MIT licensed
-2. jQuery - MIT licensed
-
-================================================================================
-1. Bootstrap - MIT
-
-- https://getbootstrap.com/docs/4.1/about/license/
-- https://github.com/twbs/bootstrap/blob/master/LICENSE
-
-The MIT License (MIT)
-
-Copyright (c) 2011-2018 Twitter, Inc.
-Copyright (c) 2011-2018 The Bootstrap Authors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-================================================================================
-2. jQuery - MIT
-
-- https://jquery.org/license/
-- https://github.com/jquery/jquery/blob/master/LICENSE.txt
-
-Copyright JS Foundation and other contributors, https://js.foundation/
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-================================================================================
+                           Apache Celix
+              Copyright 2018 The Apache Software Foundation
+
+================================================================================
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+The following external dependencies are used:
+1. Bootstrap (Twitter) - MIT licensed
+2. jQuery - MIT licensed
+
+================================================================================
+1. Bootstrap - MIT
+
+- https://getbootstrap.com/docs/4.1/about/license/
+- https://github.com/twbs/bootstrap/blob/master/LICENSE
+
+The MIT License (MIT)
+
+Copyright (c) 2011-2018 Twitter, Inc.
+Copyright (c) 2011-2018 The Bootstrap Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+================================================================================
+2. jQuery - MIT
+
+- https://jquery.org/license/
+- https://github.com/jquery/jquery/blob/master/LICENSE.txt
+
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+================================================================================
diff --git a/README.md b/README.md
index 4b356eb..7dd51b6 100644
--- a/README.md
+++ b/README.md
@@ -1,56 +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.
--->
-# Apache Celix website
-The updated Celix website is still under construction and not live yet.
-
-This is source code for the website of [Apache Celix](https://celix.apache.org/), hosted at:
-
-    https://celix.apache.org/
-
-## Repository structure
-This repository uses 2 branches for serving the website.
-- The `master` branch, which contains all the sources for the website.
-- The `asf-site` branch, which contains the generated website being used for the Celix website.
-
-When contributing patches, apply them to the `master` branch. Jenkins will then regenerate the website
-and commit the changes to the `asf-site` branch.
-
-## Content Management System
-The Celix website uses Jekyll as static website generator. 
-See [Jekyll](https://jekyllrb.com/) for more info and for details how to install Jekyll.
-
-## Generate the website
-
-### Copy documentation dir from celix repo
-
- - Run `git submodule init` and `git submodule update` to retrieve the Celix sources.
- - Run `./extract_celix_docs.sh` to copy the markdown files from the Celix main repository to the site repository.
-
-### Create doxygen documentation
-
-TODO
-
-### Generate the static website
-
-To generate the static website, execute `run.sh` to generate and serve the website on `localhost:4000`.
-
-During development, it may be useful to run an incremental build. For this to work, execute `run_incremental.sh` to 
-continuously generate and serve the website on `localhost:4000`.
-
-## Publish the website
-
-Jenkins is used for generating the website and committing the generated site to the `asf-site` branch.
+<!--                                                                                                                                                                                                    
+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.
+-->
+# Apache Celix website
+The updated Celix website is still under construction and not live yet.
+
+This is source code for the website of [Apache Celix](https://celix.apache.org/), hosted at:
+
+    https://celix.apache.org/
+
+## Repository structure
+This repository uses 2 branches for serving the website.
+- The `master` branch, which contains all the sources for the website.
+- The `asf-site` branch, which contains the generated website being used for the Celix website.
+
+When contributing patches, apply them to the `master` branch. Jenkins will then regenerate the website
+and commit the changes to the `asf-site` branch.
+
+## Content Management System
+The Celix website uses Jekyll as static website generator. 
+See [Jekyll](https://jekyllrb.com/) for more info and for details how to install Jekyll.
+
+## Generate the website
+
+### Copy documentation dir from celix repo
+
+ - Run `git submodule init` and `git submodule update` to retrieve the Celix sources.
+ - Run `./extract_celix_docs.sh` to copy the markdown files from the Celix main repository to the site repository.
+
+### Create doxygen documentation
+
+TODO
+
+### Generate the static website
+
+To generate the static website, execute `run.sh` to generate and serve the website on `localhost:4000`.
+
+During development, it may be useful to run an incremental build. For this to work, execute `run_incremental.sh` to 
+continuously generate and serve the website on `localhost:4000`.
+
+## Publish the website
+
+Jenkins is used for generating the website and committing the generated site to the `asf-site` branch.
diff --git a/_config.yml b/_config.yml
index d1bd067..e4e419f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,17 +1,17 @@
-name:           Apache Celix
-source:         source
-destination:    target/content
-encoding:       UTF-8
-highlighter:    rouge
-markdown:       kramdown
-markdown_ext:   md
-kramdown:
-  input:              GFM
-  syntax_highlighter: rouge
-
-# Allows directly edit pages on GitHub
-celix_repository_url: https://github.com/apache/celix
-celix_repository_source_branch: develop
-
-repository_url: https://github.com/apache/celix-site
-repository_source_branch: master
+name:           Apache Celix
+source:         source
+destination:    target/content
+encoding:       UTF-8
+highlighter:    rouge
+markdown:       kramdown
+markdown_ext:   md
+kramdown:
+  input:              GFM
+  syntax_highlighter: rouge
+
+# Allows directly edit pages on GitHub
+celix_repository_url: https://github.com/apache/celix
+celix_repository_source_branch: develop
+
+repository_url: https://github.com/apache/celix-site
+repository_source_branch: master
diff --git a/source/404.md b/source/404.md
index 95879e2..32b7b86 100644
--- a/source/404.md
+++ b/source/404.md
@@ -1,11 +1,11 @@
----
-layout: default
-title: 404 Page Not Found
----
-
-# 404 Page Not Found
-
-The page was moved or never existed. Use menu above to navigate or go to [home page](/). 
-If you noticed any site problem, typos, etc on any page, please correct 
-using "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
-For example, some redirects are configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
+---
+layout: default
+title: 404 Page Not Found
+---
+
+# 404 Page Not Found
+
+The page was moved or never existed. Use menu above to navigate or go to [home page](/). 
+If you noticed any site problem, typos, etc on any page, please correct 
+using "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
+For example, some redirects are configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
diff --git a/source/_includes/footer.html b/source/_includes/footer.html
index 5061b2c..62c37ec 100644
--- a/source/_includes/footer.html
+++ b/source/_includes/footer.html
@@ -1,15 +1,15 @@
-<!-- Footer -->
-<footer class="py-3 bg-secondary">
-    <div class="container">
-        <p class="m-0 text-center text-white">
-            Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
-            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
-            <br>
-            Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
-        </p>
-    </div>
-</footer>
-
-<!-- Bootstrap core JavaScript -->
-<script src="/assets/js/jquery.min.js"></script>
-<script src="/assets/js/bootstrap.bundle.min.js"></script>
+<!-- Footer -->
+<footer class="py-3 bg-secondary">
+    <div class="container">
+        <p class="m-0 text-center text-white">
+            Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+            <br>
+            Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
+        </p>
+    </div>
+</footer>
+
+<!-- Bootstrap core JavaScript -->
+<script src="/assets/js/jquery.min.js"></script>
+<script src="/assets/js/bootstrap.bundle.min.js"></script>
diff --git a/source/_includes/header.html b/source/_includes/header.html
index d54041a..3f51749 100644
--- a/source/_includes/header.html
+++ b/source/_includes/header.html
@@ -1,62 +1,62 @@
-<a href="{{ site.celix_repository_url }}" class="github-ribbon">
-    <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
-</a>
-
-<!-- Navigation -->
-<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
-    <div class="container">
-        <a class="navbar-brand" href="/">
-            <img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo">
-        </a>
-        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
-            <span class="navbar-toggler-icon"></span>
-        </button>
-        <div class="collapse navbar-collapse" id="navbarResponsive">
-            <ul class="navbar-nav ml-auto">
-                {% if page.url == "/" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
-                    <a class="nav-link" href="/">Home</a>
-                </li>
-                {% if page.url == "/download.cgi" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
-                    <a class="nav-link" href="/download.cgi">Download</a>
-                </li>
-                {% if page.url contains '/docs/' or page.url contains '/celix/' %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
-                    <a class="nav-link" href="/docs/">Docs</a>
-                </li>
-                {% if page.url contains '/contributing/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
-                    <a class="nav-link dropdown-toggle" href="#" id="ddCommunity" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                        Community
-                    </a>
-                    <div class="dropdown-menu" aria-labelledby="ddCommunity">
-                        <a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a>
-                        <a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a>
-                        <a class="dropdown-item" href="/contributing/releasing.html">Releasing</a>
-                        <a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a>
-                        <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
-                    </div>
-                </li>
-                {% if page.url contains '/support/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
-                    <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                        Support
-                    </a>
-                    <div class="dropdown-menu" aria-labelledby="ddSupport">
-                        <a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a>
-                        <a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a>
-                    </div>
-                </li>
-                <li class="nav-item dropdown">
-                    <a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                        ASF
-                    </a>
-                    <div class="dropdown-menu" aria-labelledby="ddFoundation">
-                        <a class="dropdown-item" href="https://www.apache.org/">ASF Home</a>
-                        <a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a>
-                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
-                        <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
-                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
-                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
-                    </div>
-                </li>
-            </ul>
-        </div>
-    </div>
-</nav>
+<a href="{{ site.celix_repository_url }}" class="github-ribbon">
+    <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
+</a>
+
+<!-- Navigation -->
+<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
+    <div class="container">
+        <a class="navbar-brand" href="/">
+            <img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo">
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="collapse navbar-collapse" id="navbarResponsive">
+            <ul class="navbar-nav ml-auto">
+                {% if page.url == "/" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/">Home</a>
+                </li>
+                {% if page.url == "/download.cgi" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/download.cgi">Download</a>
+                </li>
+                {% if page.url contains '/docs/' or page.url contains '/celix/' %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                    <a class="nav-link" href="/docs/">Docs</a>
+                </li>
+                {% if page.url contains '/contributing/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                    <a class="nav-link dropdown-toggle" href="#" id="ddCommunity" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        Community
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddCommunity">
+                        <a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a>
+                        <a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a>
+                        <a class="dropdown-item" href="/contributing/releasing.html">Releasing</a>
+                        <a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a>
+                        <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
+                    </div>
+                </li>
+                {% if page.url contains '/support/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                    <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        Support
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddSupport">
+                        <a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a>
+                        <a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a>
+                    </div>
+                </li>
+                <li class="nav-item dropdown">
+                    <a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        ASF
+                    </a>
+                    <div class="dropdown-menu" aria-labelledby="ddFoundation">
+                        <a class="dropdown-item" href="https://www.apache.org/">ASF Home</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a>
+                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
+                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
diff --git a/source/_layouts/celix-md.html b/source/_layouts/celix-md.html
index b76936f..a1f9a11 100644
--- a/source/_layouts/celix-md.html
+++ b/source/_layouts/celix-md.html
@@ -1,55 +1,55 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <title>{{ page.title }} / Apache Celix</title>
-
-    <!-- Bootstrap core CSS -->
-    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
-
-    <!-- Custom style -->
-    <link href="/assets/css/style.css" rel="stylesheet">
-</head>
-<body class="light-grey">
-
-{% include header.html %}
-
-<div class="section">
-    <div class="container">
-        <div class="row py-4">
-            <div class="col-sm-12 card">
-                <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'docs/celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
-                    <a href="/docs/" title="back to documentation">&lt;&lt; back to documentation</a>
-
-                    {{ content }}
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-
-{% include footer.html %}
-
-</body>
-</html>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }} / Apache Celix</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+</head>
+<body class="light-grey">
+
+{% include header.html %}
+
+<div class="section">
+    <div class="container">
+        <div class="row py-4">
+            <div class="col-sm-12 card">
+                <div class="card-body pt-5">
+                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'docs/celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
+                    <a href="/docs/" title="back to documentation">&lt;&lt; back to documentation</a>
+
+                    {{ content }}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_layouts/default.html b/source/_layouts/default.html
index d374b7f..24fdb3f 100644
--- a/source/_layouts/default.html
+++ b/source/_layouts/default.html
@@ -1,58 +1,58 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <title>{{ page.title }} / Apache Celix</title>
-
-    <!-- Bootstrap core CSS -->
-    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
-
-    <!-- Custom style -->
-    <link href="/assets/css/style.css" rel="stylesheet">
-</head>
-<body class="light-grey">
-
-{% include header.html %}
-
-<div class="section">
-    <div class="container">
-        <div class="row py-4">
-            <div class="col-sm-12 card">
-                <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
-
-                    {% if page.parent %}
-                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}">&lt;&lt; back to {{ page.parent.title }}</a>
-                    {% endif %}
-
-                    {{ content }}
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-
-{% include footer.html %}
-
-</body>
-</html>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }} / Apache Celix</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+</head>
+<body class="light-grey">
+
+{% include header.html %}
+
+<div class="section">
+    <div class="container">
+        <div class="row py-4">
+            <div class="col-sm-12 card">
+                <div class="card-body pt-5">
+                    <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
+
+                    {% if page.parent %}
+                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}">&lt;&lt; back to {{ page.parent.title }}</a>
+                    {% endif %}
+
+                    {{ content }}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_layouts/main-page.html b/source/_layouts/main-page.html
index de44efe..59e8e41 100644
--- a/source/_layouts/main-page.html
+++ b/source/_layouts/main-page.html
@@ -1,45 +1,45 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <title>{{ page.title }}</title>
-
-    <!-- Bootstrap core CSS -->
-    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
-
-    <!-- Custom style -->
-    <link href="/assets/css/style.css" rel="stylesheet">
-
-    <!-- Font awesome icon set -->
-    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
-</head>
-<body>
-
-{% include header.html %}
-
-{{ content }}
-
-{% include footer.html %}
-
-</body>
-</html>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ page.title }}</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+
+    <!-- Font awesome icon set -->
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
+</head>
+<body>
+
+{% include header.html %}
+
+{{ content }}
+
+{% include footer.html %}
+
+</body>
+</html>
diff --git a/source/_plugins/update_celix_markdown.rb b/source/_plugins/update_celix_markdown.rb
index 8747724..8a08f4c 100644
--- a/source/_plugins/update_celix_markdown.rb
+++ b/source/_plugins/update_celix_markdown.rb
@@ -1,84 +1,84 @@
-# 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.
-
-module Jekyll
-
-  class CelixPage < Page
-    def initialize(site, base, dir, name)
-      @site = site
-      @base = base
-      @dir = dir
-      @name = name
-
-      full_path = "source/" + dir
-      if !full_path.end_with?("/") then
-        full_path += "/"
-      end
-      full_path += name
-
-      file_contents = File.read(full_path, :encoding => 'utf-8')
-
-      if !file_contents.start_with?("---") then
-        hdr  = "---\n"
-        hdr += "layout: celix-md\n"
-        hdr += "title: " + name + "\n"
-        hdr += "---\n\n\n"
-
-        edited_file_contents = hdr + file_contents
-        out_file = File.new(full_path, "w")
-        out_file.puts(edited_file_contents)
-        out_file.close
-      end
-
-      self.process(@name)
-      self.read_yaml(File.join(base, '_layouts'), 'celix-md.html')
-
-      self.data['title'] = name
-
-      super
-    end
-  end
-
-  class CelixPageGenerator < Generator
-    safe true
-
-    @@celix_doc_dir = "docs/celix"
-
-    def generate(site)
-      if site.layouts.key? 'celix-md'
-        celix_dir = site.source + "/" + @@celix_doc_dir
-        celix_markdown = File.join(celix_dir + "/**", "*.md")
-
-        Dir.glob(celix_markdown).select{ |e|
-          markdown_file = e
-
-          spl = markdown_file.rpartition('/')
-          file_name = spl.last()
-          splDir = spl.first().rpartition('source/' + @@celix_doc_dir)
-          file_dir = splDir.last()
-
-          if file_dir.start_with?("/") then
-            file_dir = file_dir[1, file_dir.length - 1]
-          end
-
-          file_dir = @@celix_doc_dir + "/" + file_dir
-
-          site.pages << CelixPage.new(site, site.source, file_dir, file_name)
-        }
-      end
-    end
-  end
-
-end
+# 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.
+
+module Jekyll
+
+  class CelixPage < Page
+    def initialize(site, base, dir, name)
+      @site = site
+      @base = base
+      @dir = dir
+      @name = name
+
+      full_path = "source/" + dir
+      if !full_path.end_with?("/") then
+        full_path += "/"
+      end
+      full_path += name
+
+      file_contents = File.read(full_path, :encoding => 'utf-8')
+
+      if !file_contents.start_with?("---") then
+        hdr  = "---\n"
+        hdr += "layout: celix-md\n"
+        hdr += "title: " + name + "\n"
+        hdr += "---\n\n\n"
+
+        edited_file_contents = hdr + file_contents
+        out_file = File.new(full_path, "w")
+        out_file.puts(edited_file_contents)
+        out_file.close
+      end
+
+      self.process(@name)
+      self.read_yaml(File.join(base, '_layouts'), 'celix-md.html')
+
+      self.data['title'] = name
+
+      super
+    end
+  end
+
+  class CelixPageGenerator < Generator
+    safe true
+
+    @@celix_doc_dir = "docs/celix"
+
+    def generate(site)
+      if site.layouts.key? 'celix-md'
+        celix_dir = site.source + "/" + @@celix_doc_dir
+        celix_markdown = File.join(celix_dir + "/**", "*.md")
+
+        Dir.glob(celix_markdown).select{ |e|
+          markdown_file = e
+
+          spl = markdown_file.rpartition('/')
+          file_name = spl.last()
+          splDir = spl.first().rpartition('source/' + @@celix_doc_dir)
+          file_dir = splDir.last()
+
+          if file_dir.start_with?("/") then
+            file_dir = file_dir[1, file_dir.length - 1]
+          end
+
+          file_dir = @@celix_doc_dir + "/" + file_dir
+
+          site.pages << CelixPage.new(site, site.source, file_dir, file_name)
+        }
+      end
+    end
+  end
+
+end
diff --git a/source/_plugins/update_links.rb b/source/_plugins/update_links.rb
index ec211cd..8145f55 100644
--- a/source/_plugins/update_links.rb
+++ b/source/_plugins/update_links.rb
@@ -1,30 +1,30 @@
-# 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.
-
-module UpdateLinks
-  class Generator < Jekyll::Generator
-
-    def generate(site)
-      site.pages.each { |p| rewriteLinks(site, p) }
-    end
-
-    def rewriteLinks(site, page)
-      if page
-        page.content = page.content.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
-      end
-    end
-
-  end
+# 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.
+
+module UpdateLinks
+  class Generator < Jekyll::Generator
+
+    def generate(site)
+      site.pages.each { |p| rewriteLinks(site, p) }
+    end
+
+    def rewriteLinks(site, page)
+      if page
+        page.content = page.content.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
+      end
+    end
+
+  end
 end
\ No newline at end of file
diff --git a/source/contributing/releasing.md b/source/contributing/releasing.md
index bfcf758..b2489b1 100644
--- a/source/contributing/releasing.md
+++ b/source/contributing/releasing.md
@@ -1,281 +1,281 @@
----
-layout: default
-title: Releasing Process
----
-
-# Releasing Apache Celix
-{:.no_toc}
-
-Note: This information is only of use to Apache Celix Release Managers!
-
-Steps to follow:
-
-* Will be replaced with the ToC, excluding a header
-{:toc}
-
-Interesting links:
-
-* [Apache Release Guide](http://www.apache.org/dev/release.html)
-* [Apache Release Signing](http://www.apache.org/dev/release-signing.html)
-* [Apache RAT](http://creadur.apache.org/rat/apache-rat/index.html)
-* [Apache OpenPGP HowTo](http://www.apache.org/dev/openpgp.html)
-
-## Create signing KEYS
-
-Each Release Manager must have his own signing keys. Information about and instruction for the generation 
-of these keys can be found on the [Signing Releases page](http://www.apache.org/dev/release-signing.html#generate) 
-and [How To OpenPGP](http://www.apache.org/dev/openpgp.html#generate-key). Be sure to follow the information 
-provided on that site and its references.
-
-The generated key can be uploaded to the [MIT PGP Public Key Server](http://pgp.mit.edu/).
-
-Next, the public key signature must be added to the KEYS file. Again, read the [Signing Releases page](http://www.apache.org/dev/release-signing.html#keys-policy) 
-for more information. This updated file needs to be uploaded to GIT, be sure to upload it to:
-
-* [Apache Celix release development area KEYS](https://dist.apache.org/repos/dist/dev/celix/KEYS)
-* [Apache Celix release distribution area KEYS](https://dist.apache.org/repos/dist/release/celix/KEYS)
-
-## Update release related files
-
-For every release the related files must be updated. The following files are relevant:
-
-* CHANGES
-  - Add a list of fixed issues which can be created using JIRA.
-* RELEASE_NOTES
-  - Add additional notes regarding this release, eg known short comings.
-* BUILDING
-  - Even though the BUILDING file doesn't have any specific release information, it should be verified before making a release.
-* NOTICE
-  - If needed, add any new license related information to this file.
-
-Besides this information, the version needs to be bumped. Even though every bundle has its own version, a release is made with one 
-overall version. This version is defined in the top-level CMakeLists.txt file. Update the following pieces:
-
-```C
-set(CELIX_MAJOR "X")
-set(CELIX_MINOR "Y")
-set(CELIX_MICRO "Z")
-```
-
-Note: The DEFAULT_VERSION property is used as default version for new bundles and as such does not need to be updated when making a release.
-{:.alert .alert-block .alert-error}
-
-## Compile and test
-
-Before creating a branch, be sure that the source compiles and tests run successfully. If there are any known shortcomings, 
-make sure they are listed in the RELEASE_NOTES. Details for compiling and testing are available in the BUILDING file.
-
-```bash
-# Create a directory as sibling of the celix release directory
-$ mkdir celix-build
-$ cd celix-build
-
-# Run CMake to generate the makefiles. Enable all BUILD options.
-$ ccmake ../celix
-$ make
-$ make deploy
-$ make test
-```
-
-Also verify that the provides examples work as expected. If needed ask other committers to test parts.
-
-```bash
-# Go to the deploy directory to see all examples
-$ cd deploy
-
-# Test the different examples, eg
-$ cd hello_world
-$ sh run.sh
-
-# Depending on the example the output might be different. Most examples provide a shell to inspect the framework.
-# To list the commands use the "help" command.
--> help
-```
-
-After verifying the build, run Apache RAT to check for any licensing problems. If Apache RAT is configured in the CMake build the "rat" target can be used to run the check.
-
-```bash
-# From the celix-build directory
-# Run CMake to set the APACHE_RAT library (path to the JAR file).
-$ ccmake ../celix
-# Run RAT
-$ make rat
-```
-
-Apache RAT should not raise any concers, if there are, check the source files for a license header. If it is a false positive update 
-the rat-excludes.txt file in the root of the project. Be sure it is a false positive! If in doubt, ask the mailing list! Third party 
-licenses may need to be mentioned in the NOTICE file.
-
-## Create GIT tag
-
-After changing all files a tag for the new release must be made. Before doing so, make sure all changed files are committed.
-
-The tag should be named like this: celix-X.Y.Z
-
-To make a tag use the following command:
-
-```bash
-# To sign a tag using your GPG key, it is necessary to configure git with the key you want to use
-# Configure git by issuing the following command, where E43F742E needs to be replaced with your key id
-$ git config --global user.signingkey E43F742E
-
-# Next thing to do is creating the tag
-$ git tag -s rel/celix-X.Y.Z -m 'Celix release X.Y.Z'
-
-# Next thing to do is pushing the tag to the remote
-$ git push origin rel/celix-X.Y.Z
-```
-
-## Create, sign and publish artifacts
-
-Since Celix only releases source artifacts, creating the artifact is simple and straightforward
-
-```bash
-# Create symbolic link so the archive has a directory with version information
-$ ln -s celix celix-X.Y.Z
-
-# Create GZip archive
-$ tar -hczf celix-X.Y.Z.tar.gz celix-X.Y.Z
-
-# The create symbolic link can be removed
-$ celix celix-X.Y.Z
-```
-
-After creating the artifact, the file has to be signed. More information about signing can be found at 
-[Release signing](http://www.apache.org/dev/release-signing.html).
-
-```bash
-# Generate MD5 checksum
-$ md5 celix-X.Y.Z.tar.gz > celix-X.Y.Z.tar.gz.md5
-
-# Generate SHA512 checksum
-$ gpg --print-md SHA512 celix-X.Y.Z.tar.gz > celix-X.Y.Z.tar.gz.sha
-
-# Generate ASCII signature
-$ gpg --armor --output celix-X.Y.Z.tar.gz.asc --detach-sig celix-X.Y.Z.tar.gz
-```
-
-Copy the archive of the source to the [Apache Celix release development area](https://dist.apache.org/repos/dist/dev/celix/KEYS) (using SVN).
-
-See the [Apache Release Guide](http://www.apache.org/dev/release.html#host-rc) for more information.
-
-## Run the vote
-
-Before a release is official a vote has to be held. More information on voting can be found on [Apache Voting Process](http://www.apache.org/foundation/voting.html).
-
-The first vote has to be done on the public [mailing list](/support/mailing-list.html) of the project. The following template must be used for this vote:
-
-```text
-To: dev@celix.apache.org
-Subject: [VOTE] Release Celix version X.Y.Z
-
-This is the release vote for Apache Celix, version X.Y.Z.
-
-It fixes the following issues:
-
-Source files:
-https://dist.apache.org/repos/dist/dev/celix/celix-X.Y.Z/
-
-The commit ID to be voted upon:
-COMMIT ID
-
-https://github.com/apache/celix/tree/COMMITID
-
-Celix's keys can be found at:
-https://dist.apache.org/repos/dist/dev/celix/KEYS
-
-Information for voting on a release can be found at:
-http://www.apache.org/dev/release.html#approving-a-release
-
-Please vote to approve this release:
-
-[ ] +1 Approve the release
-[ ] -1 Disapprove the release (please provide specific comments)
-
-Note that an Apache release needs to be a Majority Approval (requires
-at-least 3 binding +1 votes and more +1 votes than -1 votes).
-
-If this release is approved I will promote it to an official release
-(e.g. move from dist/dev to dist/release and tagging the release in git)
-
-This vote will be open for at least 72 hours.
-```
-
-After this first vote the results must be posted to the "dev" list, see below for more information.
-
-Note: Be sure to use the \[VOTE\] tag, this is used by the automated vote tracking system to keep track of outstanding vote threads.
-{:.alert .alert-block .alert-error}
-
-## Post the vote results
-As mentioned before, after each vote the results must be posted to the corresponding list. This "Result" vote contains the number 
-of votes made, including whether a vote is binding or not. For a successful vote the following template can be used.
-
-```text
-To: dev@celix.apache.org
-Subject: [RESULT][VOTE] Release Celix version X.Y.Z
-
-The vote has passed with the following result:
-
-+1 Name of Approvers (binding)
-+1 Name of Approvers (not binding)
-...
-
-The released artifact will be moved to the release area for mirroring. The
-release branch will be merged with master and a 2.1.0 tag will be created.
-
-After the mirroring period the news & downloads of the website will be
-updated and the release will be announced.
-
-Thanks for voting.
-```
-
-Note: Be sure to post the vote result with the same topic as the original message. Also prepend the subject 
-with \[RESULT\]. This is, again, needed to be able to keep track of vote threads.
-{:.alert .alert-block .alert-error}
-
-## Roll out release artifacts
-
-If the vote is passed successfully the release can be moved from the "dev" area to "release". The automated 
-svnpubsub will move the artifact to the correct server for mirroring. Mirroring typically can take up to 24 hours.
-
-Besides uploading the new release, the old release should be archived. Since archiving is already automated, 
-it is only needed to delete the previous version from the release area. See the 
-[Apache Release Guide](http://www.apache.org/dev/release.html#when-to-archive) for more information.
-
-See the [Apache Release Guide](http://www.apache.org/dev/release.html#upload-ci) for more information.
-
-After these 24 hours the release can be announced.
-
-## Announce the release
-
-Update website's News and Download sections to include the new release.
-
-On the "Download" page, the old release can be replaced with the new one, there is no need to keep a link to archived versions. 
-The "News" section can simply be extended with an additional entry.
-
-Additionally it is a good idea to post a message to "announce@apache.org".
-
-The following template must be used:
-
-```text
-To: announce@apache.org, dev@celix.apache.org
-Subject: [ANNOUNCE] Apache Celix X.Y.Z released
-
-The Apache Celix team is pleased to announce the release of Celix X.Y.Z.
-
-Celix is an implementation of the OSGi specification adapted to C. It will follow the API as close as possible, but since the OSGi specification is written primarily for Java, there will be differences. An important aspect of the implementation is interoperability between Java and C. This interoperability is achieved by porting and implementing the Remote Services specification in Celix.
-
-This new release focuses on .... {add additional information for this release}
-
-The release is available here:
-http://celix.apache.org/download.cgi
-
-The full change log is available here:
-
-We welcome your help and feedback. For more information on how to report problems, and to get involved, visit the project website at http://celix.apache.org/
-
-The Apache Celix Team
-```
-
-Note: the email must be sent from an @apache.org address
-{:.alert .alert-block .alert-error}
+---
+layout: default
+title: Releasing Process
+---
+
+# Releasing Apache Celix
+{:.no_toc}
+
+Note: This information is only of use to Apache Celix Release Managers!
+
+Steps to follow:
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+Interesting links:
+
+* [Apache Release Guide](http://www.apache.org/dev/release.html)
+* [Apache Release Signing](http://www.apache.org/dev/release-signing.html)
+* [Apache RAT](http://creadur.apache.org/rat/apache-rat/index.html)
+* [Apache OpenPGP HowTo](http://www.apache.org/dev/openpgp.html)
+
+## Create signing KEYS
+
+Each Release Manager must have his own signing keys. Information about and instruction for the generation 
+of these keys can be found on the [Signing Releases page](http://www.apache.org/dev/release-signing.html#generate) 
+and [How To OpenPGP](http://www.apache.org/dev/openpgp.html#generate-key). Be sure to follow the information 
+provided on that site and its references.
+
+The generated key can be uploaded to the [MIT PGP Public Key Server](http://pgp.mit.edu/).
+
+Next, the public key signature must be added to the KEYS file. Again, read the [Signing Releases page](http://www.apache.org/dev/release-signing.html#keys-policy) 
+for more information. This updated file needs to be uploaded to GIT, be sure to upload it to:
+
+* [Apache Celix release development area KEYS](https://dist.apache.org/repos/dist/dev/celix/KEYS)
+* [Apache Celix release distribution area KEYS](https://dist.apache.org/repos/dist/release/celix/KEYS)
+
+## Update release related files
+
+For every release the related files must be updated. The following files are relevant:
+
+* CHANGES
+  - Add a list of fixed issues which can be created using JIRA.
+* RELEASE_NOTES
+  - Add additional notes regarding this release, eg known short comings.
+* BUILDING
+  - Even though the BUILDING file doesn't have any specific release information, it should be verified before making a release.
+* NOTICE
+  - If needed, add any new license related information to this file.
+
+Besides this information, the version needs to be bumped. Even though every bundle has its own version, a release is made with one 
+overall version. This version is defined in the top-level CMakeLists.txt file. Update the following pieces:
+
+```C
+set(CELIX_MAJOR "X")
+set(CELIX_MINOR "Y")
+set(CELIX_MICRO "Z")
+```
+
+Note: The DEFAULT_VERSION property is used as default version for new bundles and as such does not need to be updated when making a release.
+{:.alert .alert-block .alert-error}
+
+## Compile and test
+
+Before creating a branch, be sure that the source compiles and tests run successfully. If there are any known shortcomings, 
+make sure they are listed in the RELEASE_NOTES. Details for compiling and testing are available in the BUILDING file.
+
+```bash
+# Create a directory as sibling of the celix release directory
+$ mkdir celix-build
+$ cd celix-build
+
+# Run CMake to generate the makefiles. Enable all BUILD options.
+$ ccmake ../celix
+$ make
+$ make deploy
+$ make test
+```
+
+Also verify that the provides examples work as expected. If needed ask other committers to test parts.
+
+```bash
+# Go to the deploy directory to see all examples
+$ cd deploy
+
+# Test the different examples, eg
+$ cd hello_world
+$ sh run.sh
+
+# Depending on the example the output might be different. Most examples provide a shell to inspect the framework.
+# To list the commands use the "help" command.
+-> help
+```
+
+After verifying the build, run Apache RAT to check for any licensing problems. If Apache RAT is configured in the CMake build the "rat" target can be used to run the check.
+
+```bash
+# From the celix-build directory
+# Run CMake to set the APACHE_RAT library (path to the JAR file).
+$ ccmake ../celix
+# Run RAT
+$ make rat
+```
+
+Apache RAT should not raise any concers, if there are, check the source files for a license header. If it is a false positive update 
+the rat-excludes.txt file in the root of the project. Be sure it is a false positive! If in doubt, ask the mailing list! Third party 
+licenses may need to be mentioned in the NOTICE file.
+
+## Create GIT tag
+
+After changing all files a tag for the new release must be made. Before doing so, make sure all changed files are committed.
+
+The tag should be named like this: celix-X.Y.Z
+
+To make a tag use the following command:
+
+```bash
+# To sign a tag using your GPG key, it is necessary to configure git with the key you want to use
+# Configure git by issuing the following command, where E43F742E needs to be replaced with your key id
+$ git config --global user.signingkey E43F742E
+
+# Next thing to do is creating the tag
+$ git tag -s rel/celix-X.Y.Z -m 'Celix release X.Y.Z'
+
+# Next thing to do is pushing the tag to the remote
+$ git push origin rel/celix-X.Y.Z
+```
+
+## Create, sign and publish artifacts
+
+Since Celix only releases source artifacts, creating the artifact is simple and straightforward
+
+```bash
+# Create symbolic link so the archive has a directory with version information
+$ ln -s celix celix-X.Y.Z
+
+# Create GZip archive
+$ tar -hczf celix-X.Y.Z.tar.gz celix-X.Y.Z
+
+# The create symbolic link can be removed
+$ celix celix-X.Y.Z
+```
+
+After creating the artifact, the file has to be signed. More information about signing can be found at 
+[Release signing](http://www.apache.org/dev/release-signing.html).
+
+```bash
+# Generate MD5 checksum
+$ md5 celix-X.Y.Z.tar.gz > celix-X.Y.Z.tar.gz.md5
+
+# Generate SHA512 checksum
+$ gpg --print-md SHA512 celix-X.Y.Z.tar.gz > celix-X.Y.Z.tar.gz.sha
+
+# Generate ASCII signature
+$ gpg --armor --output celix-X.Y.Z.tar.gz.asc --detach-sig celix-X.Y.Z.tar.gz
+```
+
+Copy the archive of the source to the [Apache Celix release development area](https://dist.apache.org/repos/dist/dev/celix/KEYS) (using SVN).
+
+See the [Apache Release Guide](http://www.apache.org/dev/release.html#host-rc) for more information.
+
+## Run the vote
+
+Before a release is official a vote has to be held. More information on voting can be found on [Apache Voting Process](http://www.apache.org/foundation/voting.html).
+
+The first vote has to be done on the public [mailing list](/support/mailing-list.html) of the project. The following template must be used for this vote:
+
+```text
+To: dev@celix.apache.org
+Subject: [VOTE] Release Celix version X.Y.Z
+
+This is the release vote for Apache Celix, version X.Y.Z.
+
+It fixes the following issues:
+
+Source files:
+https://dist.apache.org/repos/dist/dev/celix/celix-X.Y.Z/
+
+The commit ID to be voted upon:
+COMMIT ID
+
+https://github.com/apache/celix/tree/COMMITID
+
+Celix's keys can be found at:
+https://dist.apache.org/repos/dist/dev/celix/KEYS
+
+Information for voting on a release can be found at:
+http://www.apache.org/dev/release.html#approving-a-release
+
+Please vote to approve this release:
+
+[ ] +1 Approve the release
+[ ] -1 Disapprove the release (please provide specific comments)
+
+Note that an Apache release needs to be a Majority Approval (requires
+at-least 3 binding +1 votes and more +1 votes than -1 votes).
+
+If this release is approved I will promote it to an official release
+(e.g. move from dist/dev to dist/release and tagging the release in git)
+
+This vote will be open for at least 72 hours.
+```
+
+After this first vote the results must be posted to the "dev" list, see below for more information.
+
+Note: Be sure to use the \[VOTE\] tag, this is used by the automated vote tracking system to keep track of outstanding vote threads.
+{:.alert .alert-block .alert-error}
+
+## Post the vote results
+As mentioned before, after each vote the results must be posted to the corresponding list. This "Result" vote contains the number 
+of votes made, including whether a vote is binding or not. For a successful vote the following template can be used.
+
+```text
+To: dev@celix.apache.org
+Subject: [RESULT][VOTE] Release Celix version X.Y.Z
+
+The vote has passed with the following result:
+
++1 Name of Approvers (binding)
++1 Name of Approvers (not binding)
+...
+
+The released artifact will be moved to the release area for mirroring. The
+release branch will be merged with master and a 2.1.0 tag will be created.
+
+After the mirroring period the news & downloads of the website will be
+updated and the release will be announced.
+
+Thanks for voting.
+```
+
+Note: Be sure to post the vote result with the same topic as the original message. Also prepend the subject 
+with \[RESULT\]. This is, again, needed to be able to keep track of vote threads.
+{:.alert .alert-block .alert-error}
+
+## Roll out release artifacts
+
+If the vote is passed successfully the release can be moved from the "dev" area to "release". The automated 
+svnpubsub will move the artifact to the correct server for mirroring. Mirroring typically can take up to 24 hours.
+
+Besides uploading the new release, the old release should be archived. Since archiving is already automated, 
+it is only needed to delete the previous version from the release area. See the 
+[Apache Release Guide](http://www.apache.org/dev/release.html#when-to-archive) for more information.
+
+See the [Apache Release Guide](http://www.apache.org/dev/release.html#upload-ci) for more information.
+
+After these 24 hours the release can be announced.
+
+## Announce the release
+
+Update website's News and Download sections to include the new release.
+
+On the "Download" page, the old release can be replaced with the new one, there is no need to keep a link to archived versions. 
+The "News" section can simply be extended with an additional entry.
+
+Additionally it is a good idea to post a message to "announce@apache.org".
+
+The following template must be used:
+
+```text
+To: announce@apache.org, dev@celix.apache.org
+Subject: [ANNOUNCE] Apache Celix X.Y.Z released
+
+The Apache Celix team is pleased to announce the release of Celix X.Y.Z.
+
+Celix is an implementation of the OSGi specification adapted to C. It will follow the API as close as possible, but since the OSGi specification is written primarily for Java, there will be differences. An important aspect of the implementation is interoperability between Java and C. This interoperability is achieved by porting and implementing the Remote Services specification in Celix.
+
+This new release focuses on .... {add additional information for this release}
+
+The release is available here:
+http://celix.apache.org/download.cgi
+
+The full change log is available here:
+
+We welcome your help and feedback. For more information on how to report problems, and to get involved, visit the project website at http://celix.apache.org/
+
+The Apache Celix Team
+```
+
+Note: the email must be sent from an @apache.org address
+{:.alert .alert-block .alert-error}
diff --git a/source/download.md b/source/download.md
index 0e9c4b2..97658c8 100644
--- a/source/download.md
+++ b/source/download.md
@@ -1,41 +1,41 @@
----
-layout: default
-title: Download
----
-
-# Download a Release of Apache Celix
-
-Apache Celix only releases source distributions, information about building and running van be found inside the release tarball.
-
-## Mirrors
-
-The currently selected mirror is **[preferred]**. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are *backup* 
-mirrors (at the end of the mirrors list) that should be available. 
-<form action="[location]" method="get" id="SelectMirror">
-    Other mirrors:
-    <select name="Preferred">
-        [if-any https] 
-        [for https]
-        <option value="[https]">[https]</option>
-        [end]
-        [end] 
-        [if-any ftp]
-        [for ftp]<option value="[ftp]">[ftp]</option>
-        [end]
-        [end] 
-        [if-any backup]
-        [for backup]<option value="[backup]">[backup] (backup)</option>
-        [end]
-        [end]
-    </select>
-    <input type="submit" value="Change" />
-</form>
-
-You may also consult the [complete list of mirrors](https://www.apache.org/mirrors/).
-
-## Downloads
-
-- Source: [celix-2.1.0.tar.gz]([preferred]/celix/celix-2.1.0/celix-2.1.0.tar.gz)
-[ [PGP](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.asc) ] [
-[MD5](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.md5) ] [
+---
+layout: default
+title: Download
+---
+
+# Download a Release of Apache Celix
+
+Apache Celix only releases source distributions, information about building and running van be found inside the release tarball.
+
+## Mirrors
+
+The currently selected mirror is **[preferred]**. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are *backup* 
+mirrors (at the end of the mirrors list) that should be available. 
+<form action="[location]" method="get" id="SelectMirror">
+    Other mirrors:
+    <select name="Preferred">
+        [if-any https] 
+        [for https]
+        <option value="[https]">[https]</option>
+        [end]
+        [end] 
+        [if-any ftp]
+        [for ftp]<option value="[ftp]">[ftp]</option>
+        [end]
+        [end] 
+        [if-any backup]
+        [for backup]<option value="[backup]">[backup] (backup)</option>
+        [end]
+        [end]
+    </select>
+    <input type="submit" value="Change" />
+</form>
+
+You may also consult the [complete list of mirrors](https://www.apache.org/mirrors/).
+
+## Downloads
+
+- Source: [celix-2.1.0.tar.gz]([preferred]/celix/celix-2.1.0/celix-2.1.0.tar.gz)
+[ [PGP](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.asc) ] [
+[MD5](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.md5) ] [
 [SHA1](https://www.apache.org/dist/celix/celix-2.1.0/celix-2.1.0.tar.gz.sha) ]
\ No newline at end of file
diff --git a/source/robots.txt b/source/robots.txt
index 8c827cd..7d329b1 100644
--- a/source/robots.txt
+++ b/source/robots.txt
@@ -1 +1 @@
-User-agent: *
+User-agent: *
diff --git a/source/support/issue-tracking.md b/source/support/issue-tracking.md
index c2dc078..d768351 100644
--- a/source/support/issue-tracking.md
+++ b/source/support/issue-tracking.md
@@ -1,20 +1,20 @@
----
-layout: default
-title: Issue Tracking
----
-
-# Issue Tracking
-
-Celix uses Jira for bug reports, feature requests, enhancements and tasks of all kind.
-
-Anyone can use Jira to report bugs. But before doing so, please make sure that:
-
-* the bug isn't already reported,
-* the problem is actually a bug (the [mailing list](mailing-list.html) can be used for support),
-* you attach enough information to replicate the bug (preferably a unit test)
-
-If you have fixed a bug, the patch can be attached to a bug report.
-
-The Celix Jira Issue Tracker can be found at:
-
-[https://issues.apache.org/jira/browse/CELIX](https://issues.apache.org/jira/browse/CELIX)
+---
+layout: default
+title: Issue Tracking
+---
+
+# Issue Tracking
+
+Celix uses Jira for bug reports, feature requests, enhancements and tasks of all kind.
+
+Anyone can use Jira to report bugs. But before doing so, please make sure that:
+
+* the bug isn't already reported,
+* the problem is actually a bug (the [mailing list](mailing-list.html) can be used for support),
+* you attach enough information to replicate the bug (preferably a unit test)
+
+If you have fixed a bug, the patch can be attached to a bug report.
+
+The Celix Jira Issue Tracker can be found at:
+
+[https://issues.apache.org/jira/browse/CELIX](https://issues.apache.org/jira/browse/CELIX)


[celix-site] 07/34: CELIX-449: Escaping '<' character to achieve valid HTML markup

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 97ec1160242f021e884977a9877f39e25a3ebf9a
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 11:52:44 2018 +0100

    CELIX-449: Escaping '<' character to achieve valid HTML markup
---
 source/_layouts/celix-md.html | 2 +-
 source/_layouts/default.html  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/source/_layouts/celix-md.html b/source/_layouts/celix-md.html
index c1122d6..8335e7e 100644
--- a/source/_layouts/celix-md.html
+++ b/source/_layouts/celix-md.html
@@ -40,7 +40,7 @@ limitations under the License.
             <div class="col-sm-12 card">
                 <div class="card-body pt-5">
                     <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
-                    <a href="/docs/" title="back to documentation"><< back to documentation</a>
+                    <a href="/docs/" title="back to documentation">&lt;&lt; back to documentation</a>
 
                     {{ content }}
                 </div>
diff --git a/source/_layouts/default.html b/source/_layouts/default.html
index 39f20fb..d374b7f 100644
--- a/source/_layouts/default.html
+++ b/source/_layouts/default.html
@@ -42,7 +42,7 @@ limitations under the License.
                     <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
 
                     {% if page.parent %}
-                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}"><< back to {{ page.parent.title }}</a>
+                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}">&lt;&lt; back to {{ page.parent.title }}</a>
                     {% endif %}
 
                     {{ content }}


[celix-site] 10/34: CELIX-449: Replacing 'docs/' part as well when using celix-md layout

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit ca067bc90a46ab33b639a254d1d9eb3c28ff2002
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 12:34:59 2018 +0100

    CELIX-449: Replacing 'docs/' part as well when using celix-md layout
---
 source/_layouts/celix-md.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/_layouts/celix-md.html b/source/_layouts/celix-md.html
index 8335e7e..b76936f 100644
--- a/source/_layouts/celix-md.html
+++ b/source/_layouts/celix-md.html
@@ -39,7 +39,7 @@ limitations under the License.
         <div class="row py-4">
             <div class="col-sm-12 card">
                 <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
+                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'docs/celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
                     <a href="/docs/" title="back to documentation">&lt;&lt; back to documentation</a>
 
                     {{ content }}


[celix-site] 18/34: Removing bad character from cmake_commands

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 7372d2cf13d5d47b78ede91ed129e680f4a2bd60
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 22:37:38 2019 +0100

    Removing bad character from cmake_commands
---
 source/docs/celix/documents/cmake_commands/readme.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/docs/celix/documents/cmake_commands/readme.md b/source/docs/celix/documents/cmake_commands/readme.md
index a949bdc..1837f55 100644
--- a/source/docs/celix/documents/cmake_commands/readme.md
+++ b/source/docs/celix/documents/cmake_commands/readme.md
@@ -4,7 +4,7 @@ title: readme.md
 ---
 
 
-<!--
+<!--
 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.


[celix-site] 23/34: Converted site to Hugo

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 05e2fc3ea247fbc50725d463fd5f3deb737f9df8
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 12:43:59 2019 +0200

    Converted site to Hugo
---
 .gitignore                                         |  19 ++--
 Gemfile                                            |   4 -
 Gemfile.lock                                       |  65 -----------
 README.md                                          |  14 +--
 _config.yml                                        |  17 ---
 archetypes/default.md                              |   6 +
 config.toml                                        |  36 ++++++
 extract_celix_docs.sh                              |  26 +++--
 source/_layouts/default.html => layouts/404.html   |  23 ++--
 .../celix-md.html => layouts/_default/baseof.html  |  14 ++-
 layouts/_default/list.html                         |   3 +
 layouts/_default/single.html                       |   3 +
 .../default.html => layouts/celix-doc/baseof.html  |  19 ++--
 layouts/celix-doc/list.html                        |   3 +
 layouts/celix-doc/single.html                      |   3 +
 layouts/index.html                                 | 121 +++++++++++++++++++++
 {source/_includes => layouts/partials}/footer.html |   2 +-
 {source/_includes => layouts/partials}/header.html |  14 +--
 layouts/robots.txt                                 |   6 +
 layouts/shortcodes/tableofcontents.html            |   1 +
 publish.sh                                         |  12 +-
 run.sh                                             |  18 ---
 run_incremental.sh                                 |  18 ---
 source/404.md                                      |  11 --
 source/_layouts/main-page.html                     |  45 --------
 source/_plugins/remote_file_content.rb             |  60 ----------
 source/_plugins/update_celix_markdown.rb           |  84 --------------
 source/_plugins/update_links.rb                    |  30 -----
 source/contributing/releasing.md                   |  21 ++--
 source/contributing/submitting-patches.md          |   5 +-
 source/contributing/volunteers.md                  |   5 +-
 source/contributing/youatcelix.md                  |   1 -
 source/docs/celix/CHANGES.md                       |   2 +-
 source/docs/celix/README.md                        |   2 +-
 source/docs/celix/config_admin/readme.md           |   2 +-
 source/docs/celix/dependency_manager/readme.md     |   2 +-
 source/docs/celix/dependency_manager_cxx/readme.md |   2 +-
 source/docs/celix/deployment_admin/README.md       |   2 +-
 source/docs/celix/device_access/README.md          |   2 +-
 source/docs/celix/documents/building/readme.md     |   2 +-
 .../docs/celix/documents/cmake_commands/readme.md  |   2 +-
 .../getting_started/creating_a_simple_bundle.md    |   2 +-
 .../docs/celix/documents/getting_started/readme.md |   2 +-
 .../getting_started/using_services_with_c.md       |   2 +-
 .../getting_started/using_services_with_cxx.md     |   2 +-
 source/docs/celix/documents/intro/readme.md        |   2 +-
 .../docs/celix/documents/roadmap/api_v3/readme.md  |   2 +-
 .../celix/documents/roadmap/improvement_ideas.md   |   2 +-
 source/docs/celix/documents/roadmap/roadmap.md     |   2 +-
 source/docs/celix/documents/subprojects/readme.md  |   2 +-
 source/docs/celix/etcdlib/README.md                |   2 +-
 source/docs/celix/launcher/README.md               |   2 +-
 source/docs/celix/log_service/README.md            |   2 +-
 source/docs/celix/log_writer/README.md             |   2 +-
 source/docs/celix/pubsub/README.md                 |   2 +-
 source/docs/celix/pubsub/examples/keys/README.md   |   2 +-
 .../celix/pubsub/pubsub_admin_udp_mc/README.md     |   2 +-
 source/docs/celix/remote_services/README.md        |   2 +-
 .../celix/remote_services/discovery_etcd/README.md |   2 +-
 .../remote_services/remote_service_admin/README.md |   2 +-
 .../remote_services/topology_manager/README.md     |   2 +-
 source/docs/celix/remote_shell/README.md           |   2 +-
 source/docs/celix/shell/README.md                  |   2 +-
 source/docs/celix/shell_tui/README.md              |   2 +-
 source/docs/celix/utils/README.md                  |   2 +-
 source/docs/celix/utils/docs/thpool/Design.md      |   2 +-
 source/docs/celix/utils/docs/thpool/FAQ.md         |   2 +-
 source/docs/celix/utils/docs/thpool/README.md      |   2 +-
 .../celix/utils/public/include/memstream/README.md |   2 +-
 source/docs/{index.md => docs.md}                  |   2 -
 source/download.md                                 |   1 -
 source/index.html                                  |  79 --------------
 source/robots.txt                                  |   1 -
 source/support/issue-tracking.md                   |   1 -
 source/support/mailing-list.md                     |   8 +-
 {source => static}/.htaccess                       |  36 +++---
 {source => static}/assets/css/bootstrap-grid.css   |   0
 .../assets/css/bootstrap-grid.css.map              |   0
 .../assets/css/bootstrap-grid.min.css              |   0
 .../assets/css/bootstrap-grid.min.css.map          |   0
 {source => static}/assets/css/bootstrap-reboot.css |   0
 .../assets/css/bootstrap-reboot.css.map            |   0
 .../assets/css/bootstrap-reboot.min.css            |   0
 .../assets/css/bootstrap-reboot.min.css.map        |   0
 {source => static}/assets/css/bootstrap.css        |   0
 {source => static}/assets/css/bootstrap.css.map    |   0
 {source => static}/assets/css/bootstrap.min.css    |   0
 .../assets/css/bootstrap.min.css.map               |   0
 {source => static}/assets/css/style.css            |   0
 {source => static}/assets/img/apache.png           | Bin
 {source => static}/assets/img/celix-white.svg      |   0
 {source => static}/assets/img/celix.svg            |   0
 {source => static/assets/img}/favicon.ico          | Bin
 .../assets/img/forkme_right_red_aa0000.png         | Bin
 {source => static}/assets/img/icon-primer.svg      |   0
 {source => static}/assets/js/bootstrap.bundle.js   |   0
 .../assets/js/bootstrap.bundle.js.map              |   0
 .../assets/js/bootstrap.bundle.min.js              |   0
 .../assets/js/bootstrap.bundle.min.js.map          |   0
 {source => static}/assets/js/bootstrap.js          |   0
 {source => static}/assets/js/bootstrap.js.map      |   0
 {source => static}/assets/js/bootstrap.min.js      |   0
 {source => static}/assets/js/bootstrap.min.js.map  |   0
 {source => static}/assets/js/jquery.js             |   0
 {source => static}/assets/js/jquery.min.js         |   0
 {source => static}/assets/js/jquery.slim.js        |   0
 {source => static}/assets/js/jquery.slim.min.js    |   0
 107 files changed, 328 insertions(+), 583 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3eace51..97dd012 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,7 @@
-# Jekyll generated
-target
-.jekyll-metadata
-
-# IntelliJ generated
-*.iml
-.idea
-.java-version
-
-# Bundler generated
-.bundle
-vendor/
+# Generated content
+target
+
+# IntelliJ generated
+*.iml
+.idea
+.java-version
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 0bd62a9..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,4 +0,0 @@
-source "https://rubygems.org"
-
-gem "jekyll"
-gem "json"
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index 48b700c..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,65 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    colorator (1.1.0)
-    concurrent-ruby (1.1.4)
-    em-websocket (0.5.1)
-      eventmachine (>= 0.12.9)
-      http_parser.rb (~> 0.6.0)
-    eventmachine (1.2.7)
-    ffi (1.9.25)
-    forwardable-extended (2.6.0)
-    http_parser.rb (0.6.0)
-    i18n (0.9.5)
-      concurrent-ruby (~> 1.0)
-    jekyll (3.8.5)
-      addressable (~> 2.4)
-      colorator (~> 1.0)
-      em-websocket (~> 0.5)
-      i18n (~> 0.7)
-      jekyll-sass-converter (~> 1.0)
-      jekyll-watch (~> 2.0)
-      kramdown (~> 1.14)
-      liquid (~> 4.0)
-      mercenary (~> 0.3.3)
-      pathutil (~> 0.9)
-      rouge (>= 1.7, < 4)
-      safe_yaml (~> 1.0)
-    jekyll-sass-converter (1.5.2)
-      sass (~> 3.4)
-    jekyll-watch (2.1.2)
-      listen (~> 3.0)
-    json (2.1.0)
-    kramdown (1.17.0)
-    liquid (4.0.1)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
-    mercenary (0.3.6)
-    pathutil (0.16.2)
-      forwardable-extended (~> 2.6)
-    public_suffix (3.0.3)
-    rb-fsevent (0.10.3)
-    rb-inotify (0.10.0)
-      ffi (~> 1.0)
-    rouge (3.3.0)
-    ruby_dep (1.5.0)
-    safe_yaml (1.0.4)
-    sass (3.7.2)
-      sass-listen (~> 4.0.0)
-    sass-listen (4.0.0)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  jekyll
-  json
-
-BUNDLED WITH
-   1.16.1
diff --git a/README.md b/README.md
index 7dd51b6..c778073 100644
--- a/README.md
+++ b/README.md
@@ -15,9 +15,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 # Apache Celix website
-The updated Celix website is still under construction and not live yet.
-
-This is source code for the website of [Apache Celix](https://celix.apache.org/), hosted at:
+This is the source code for the website of [Apache Celix](https://celix.apache.org/), hosted at:
 
     https://celix.apache.org/
 
@@ -30,8 +28,8 @@ When contributing patches, apply them to the `master` branch. Jenkins will then
 and commit the changes to the `asf-site` branch.
 
 ## Content Management System
-The Celix website uses Jekyll as static website generator. 
-See [Jekyll](https://jekyllrb.com/) for more info and for details how to install Jekyll.
+The Celix website uses Hugo as static website generator. 
+See [Hugo](https://gohugo.io/) for more info and for details how to install Hugo.
 
 ## Generate the website
 
@@ -46,10 +44,10 @@ TODO
 
 ### Generate the static website
 
-To generate the static website, execute `run.sh` to generate and serve the website on `localhost:4000`.
+To generate the static website, execute `hugo` to generate and serve the website on `localhost:1313`.
 
-During development, it may be useful to run an incremental build. For this to work, execute `run_incremental.sh` to 
-continuously generate and serve the website on `localhost:4000`.
+During development, it may be useful to run an incremental build. For this to work, execute `hugo server -D` to 
+continuously generate and serve the website on `localhost:1313`.
 
 ## Publish the website
 
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index e4e419f..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name:           Apache Celix
-source:         source
-destination:    target/content
-encoding:       UTF-8
-highlighter:    rouge
-markdown:       kramdown
-markdown_ext:   md
-kramdown:
-  input:              GFM
-  syntax_highlighter: rouge
-
-# Allows directly edit pages on GitHub
-celix_repository_url: https://github.com/apache/celix
-celix_repository_source_branch: develop
-
-repository_url: https://github.com/apache/celix-site
-repository_source_branch: master
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..1203824
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,36 @@
+baseURL = "http://celix.apache.org"
+title = "Apache Celix"
+languageCode = "en"
+
+contentDir = "source"
+publishDir = "target/content"
+
+uglyURLs = true
+enableRobotsTXT = true
+disableBrowserError = true
+timeout = 3000
+
+disableKinds = ["taxonomy", "taxonomyTerm"]
+ignoreFiles = [ ] # No files to ignore
+
+# Highlighting config. See https://help.farbox.com/pygments.html
+pygmentsCodeFences = true
+pygmentsUseClasses = false
+pygmentsStyle = "emacs"
+
+# Enable Git variables like commit, lastmod
+enableGitInfo = true
+
+[blackfriday]
+hrefTargetBlank = true
+fractions = false
+
+[frontmatter]
+date = ["date", ":filename", "publishDate", "lastmod"]
+
+[params]
+repositoryUrl = "https://github.com/apache/celix"
+repositorySourceBranch = "develop"
+
+siteRepositoryUrl = "https://github.com/apache/celix-site"
+siteRepositorySourceBranch = "master"
diff --git a/extract_celix_docs.sh b/extract_celix_docs.sh
index 6f4fc1e..d7ff47d 100644
--- a/extract_celix_docs.sh
+++ b/extract_celix_docs.sh
@@ -18,14 +18,24 @@
 # A script to extract all markdown files from the Celix main repository
 # and copies them to the path specified in ${site_doc_dir}
 
-celix_src_dir=celix-src
-site_doc_dir=source/docs/celix
+CELIX_SRC_DIR=celix-src
+CELIX_DOC_DIR=source/docs/celix
 
-rm -rf ${site_doc_dir}/*
+rm -rf ${CELIX_DOC_DIR}/*
 
-for file in `cd ${celix_src_dir}; find . -name \*.md`
-do
-    file_dir="`dirname ${file}`"
-    mkdir -p ${site_doc_dir}/${file_dir}
-    cp -v ${celix_src_dir}/${file} ${site_doc_dir}/${file_dir}
+for FILE_PATH in $(cd ${CELIX_SRC_DIR}; find . -name \*.md); do
+    # Retrieve file information
+    FILE_DIR="$(dirname ${FILE_PATH})"
+    FILE_NAME="$(basename ${FILE_PATH})"
+
+    # Copy markdown file to site destination
+    mkdir -p ${CELIX_DOC_DIR}/${FILE_DIR}
+    cp -v ${CELIX_SRC_DIR}/${FILE_PATH} ${CELIX_DOC_DIR}/${FILE_DIR}
+
+    # Prepend markdown file with Hugo header
+    SECOND_LINE=$(head -n 2 ${FILE_PATH} | tail -n 1)
+
+    if [[ "${SECOND_LINE}" != *"type: celix-doc"* ]]; then
+        sed -i '1s;^;---\ntype: celix-doc\ntitle: ${FILE_NAME}\n---\n\n;' ${FILE_PATH}
+    fi
 done
diff --git a/source/_layouts/default.html b/layouts/404.html
similarity index 54%
copy from source/_layouts/default.html
copy to layouts/404.html
index 24fdb3f..a94e8c3 100644
--- a/source/_layouts/default.html
+++ b/layouts/404.html
@@ -22,7 +22,10 @@ limitations under the License.
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <title>{{ page.title }} / Apache Celix</title>
+    <title>404 Page Not Found / {{ site.Title }}</title>
+
+    {{ $favicon := "assets/img/favicon.ico" }}
+    <link rel="icon" href="{{ $favicon | relURL }}">
 
     <!-- Bootstrap core CSS -->
     <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
@@ -32,27 +35,31 @@ limitations under the License.
 </head>
 <body class="light-grey">
 
-{% include header.html %}
+{{ partial "header.html" . }}
+{{ $configURL := printf "%s/blob/%s/config.toml" .Site.Params.siteRepositoryUrl .Site.Params.siteRepositorySourceBranch | safeURL }}
 
 <div class="section">
     <div class="container">
         <div class="row py-4">
             <div class="col-sm-12 card">
                 <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
+                    <a class="edit-on-gh" href="{{ .Site.Params.siteRepositoryUrl }}/edit/{{ .Site.Params.siteRepositorySourceBranch }}/layouts/404.html" title="Edit this page on GitHub">Edit on GitHub</a>
 
-                    {% if page.parent %}
-                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}">&lt;&lt; back to {{ page.parent.title }}</a>
-                    {% endif %}
+                    <h1>404 Page Not Found</h1>
 
-                    {{ content }}
+                    <p>
+                        The page was moved or never existed. Use the menu above to navigate or go to <a href="{{ .Site.Home.RelPermalink }}">home page</a>.
+                        If you noticed any site problem, typos, etc on any page, please correct
+                        using the "Edit on GitHub" button or check on <a href="{{ .Site.Params.siteRepositoryUrl }}">{{ .Site.Params.siteRepositoryUrl }}</a>.
+                        For example, the general site config is stored in the <a href="{{ $configURL }}"><code class="highlighter-rouge">config.toml</code></a>.
+                    </p>
                 </div>
             </div>
         </div>
     </div>
 </div>
 
-{% include footer.html %}
+{{ partial "footer.html" . }}
 
 </body>
 </html>
diff --git a/source/_layouts/celix-md.html b/layouts/_default/baseof.html
similarity index 74%
rename from source/_layouts/celix-md.html
rename to layouts/_default/baseof.html
index a1f9a11..9d30c84 100644
--- a/source/_layouts/celix-md.html
+++ b/layouts/_default/baseof.html
@@ -22,7 +22,10 @@ limitations under the License.
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <title>{{ page.title }} / Apache Celix</title>
+    <title>{{ if .Title }}{{ .Title }} / {{ end }}{{ site.Title }}</title>
+
+    {{ $favicon := "assets/img/favicon.ico" }}
+    <link rel="icon" href="{{ $favicon | relURL }}">
 
     <!-- Bootstrap core CSS -->
     <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
@@ -32,24 +35,23 @@ limitations under the License.
 </head>
 <body class="light-grey">
 
-{% include header.html %}
+{{ partial "header.html" . }}
 
 <div class="section">
     <div class="container">
         <div class="row py-4">
             <div class="col-sm-12 card">
                 <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.celix_repository_url }}/edit/{{ site.celix_repository_source_branch }}/{{ page.path | replace_first:'docs/celix/','' }}" title="Edit this page on GitHub">Edit on GitHub</a>
-                    <a href="/docs/" title="back to documentation">&lt;&lt; back to documentation</a>
+                    <a class="edit-on-gh" href="{{ .Site.Params.siteRepositoryUrl }}/edit/{{ .Site.Params.siteRepositorySourceBranch }}/source/{{ .Page.File.Path }}" title="Edit this page on GitHub">Edit on GitHub</a>
 
-                    {{ content }}
+                    {{ block "main" . }}{{ end }}
                 </div>
             </div>
         </div>
     </div>
 </div>
 
-{% include footer.html %}
+{{ partial "footer.html" . }}
 
 </body>
 </html>
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/source/_layouts/default.html b/layouts/celix-doc/baseof.html
similarity index 67%
rename from source/_layouts/default.html
rename to layouts/celix-doc/baseof.html
index 24fdb3f..e29b09b 100644
--- a/source/_layouts/default.html
+++ b/layouts/celix-doc/baseof.html
@@ -22,7 +22,10 @@ limitations under the License.
     <meta name="description" content="">
     <meta name="author" content="">
 
-    <title>{{ page.title }} / Apache Celix</title>
+    <title>{{ if .Title }}{{ .Title }} / {{ end }}{{ site.Title }}</title>
+
+    {{ $favicon := "assets/img/favicon.ico" }}
+    <link rel="icon" href="{{ $favicon | relURL }}">
 
     <!-- Bootstrap core CSS -->
     <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
@@ -32,27 +35,25 @@ limitations under the License.
 </head>
 <body class="light-grey">
 
-{% include header.html %}
+{{ partial "header.html" . }}
 
 <div class="section">
     <div class="container">
         <div class="row py-4">
             <div class="col-sm-12 card">
                 <div class="card-body pt-5">
-                    <a class="edit-on-gh" href="{{ site.repository_url }}/edit/{{ site.repository_source_branch }}/source/{{ page.path }}" title="Edit this page on GitHub">Edit on GitHub</a>
-
-                    {% if page.parent %}
-                    <a href="{{ page.parent.url }}" title="back to {{ page.parent.title }}">&lt;&lt; back to {{ page.parent.title }}</a>
-                    {% endif %}
+                    {{ $page := replaceRE "TODO" "" .Page.File.Path }} <!-- TODO: .*(docs\/celix\/) -->
+                    <a class="edit-on-gh" href="{{ .Site.Params.repositoryUrl }}/edit/{{ .Site.Params.repositorySourceBranch }}/{{ $page }}" title="Edit this page on GitHub">Edit on GitHub</a>
+                    <a href="/docs/docs.html" title="back to documentation">&lt;&lt; back to documentation</a>
 
-                    {{ content }}
+                    {{ block "main" . }}{{ end }}
                 </div>
             </div>
         </div>
     </div>
 </div>
 
-{% include footer.html %}
+{{ partial "footer.html" . }}
 
 </body>
 </html>
diff --git a/layouts/celix-doc/list.html b/layouts/celix-doc/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/celix-doc/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/celix-doc/single.html b/layouts/celix-doc/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/celix-doc/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/index.html b/layouts/index.html
new file mode 100644
index 0000000..b21192a
--- /dev/null
+++ b/layouts/index.html
@@ -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.
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>{{ site.Title }}</title>
+
+    {{ $favicon := "assets/img/favicon.ico" }}
+    <link rel="icon" href="{{ $favicon | relURL }}">
+
+    <!-- Bootstrap core CSS -->
+    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom style -->
+    <link href="/assets/css/style.css" rel="stylesheet">
+
+    <!-- Font awesome icon set -->
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
+</head>
+<body>
+
+{{ partial "header.html" . }}
+
+<!-- Page Intro -->
+<div class="section">
+    <div class="container my-5">
+        <div class="section no-pad-bot" id="index-banner">
+            <div class="col-sm-12">
+                <h1 class="text-center">Welcome to Apache Celix</h1>
+            </div>
+
+            <div class="row my-4">
+                <img class="text-center mx-auto img-home" src="/assets/img/celix.svg" alt="Celix Logo">
+            </div>
+
+            <div class="col-sm-12 mb-4">
+                <h2 class="text-center">An implementation of the OSGi specification adapted to C and C++</h2>
+            </div>
+
+            <div class="col-sm-12 text-center mx-auto">
+                <a href="/download.cgi" class="btn btn-primary btn-lg mb-1">
+                    <i class="fas fa-download"></i> DOWNLOAD
+                </a>
+                &nbsp;
+                <a href="/docs/docs.html" class="btn btn-primary btn-lg mb-1">
+                    <i class="fas fa-book-open"></i> GETTING STARTED
+                </a>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="section light-grey">
+    <div class="container py-3">
+
+        <div class="row my-4">
+            <div class="col-sm-12 card">
+                <div class="card-body">
+                    <h4 class="card-title">Welcome to Apache Celix</h4>
+                    <p class="card-text">
+                        Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a framework to
+                        develop (dynamic) modular software applications using component and/or service-oriented programming.
+                    </p>
+
+                    <p class="card-text">
+                        Apache Celix is primarily developed in C and adds an additional abstraction, in the form of a library, to
+                        support for C++.
+                    </p>
+
+                    <p class="card-text">
+                        Modularity in Apache Celix is achieved by supporting - run-time installed - bundles. <code>Bundles</code>
+                        are zip files and can contain software modules in the form of shared libraries. <code>Modules</code> can
+                        provide and request dynamic services, for and from other modules, by interacting with a provided bundle
+                        context. <code>Services</code> in Apache Celix are "plain old" structs with function pointers or "plain
+                        old C++ Objects" (POCO).
+                    </p>
+                </div>
+            </div>
+        </div>
+
+        <div class="row my-4">
+            <div class="col-sm-12 card">
+                <div class="card-body">
+                    <h4 class="card-title">News</h4>
+                    <p class="card-text">
+                        <strong>30-Jan-2018</strong> - After a successful vote Celix 2.1.0 is released.<br>
+                        <strong>26-Oct-2016</strong> - After a successful vote Celix 2.0.0 is released.<br>
+                        <strong>16-Jul-2014</strong> - After a successful graduation vote Apache Celix has graduated to a top-level project.<br>
+                        <strong>25-Feb-2014</strong> - After a successful vote Celix 1.0.0.incubating is released. The release is now available via the <a href="/download.cgi">download</a> section.<br>
+                        <strong>16-Dec-2012</strong> - After a successful vote Celix 0.0.1-incubating is released.<br>
+                    </p>
+                </div>
+            </div>
+        </div>
+
+    </div>
+</div>
+
+{{ partial "footer.html" . }}
+
+</body>
+</html>
diff --git a/source/_includes/footer.html b/layouts/partials/footer.html
similarity index 90%
rename from source/_includes/footer.html
rename to layouts/partials/footer.html
index a5b8b3c..cc59f88 100644
--- a/source/_includes/footer.html
+++ b/layouts/partials/footer.html
@@ -4,7 +4,7 @@
         <div class="row">
             <div class="col-md-8 text-center">
                 <p class="m-0 text-white">
-                    Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
+                    Copyright &copy; {{ now.Year }} The Apache Software Foundation, Licensed under
                     the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
                     <br>
                     Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
diff --git a/source/_includes/header.html b/layouts/partials/header.html
similarity index 80%
rename from source/_includes/header.html
rename to layouts/partials/header.html
index d65d338..f47aa96 100644
--- a/source/_includes/header.html
+++ b/layouts/partials/header.html
@@ -1,4 +1,4 @@
-<a href="{{ site.celix_repository_url }}" class="github-ribbon">
+<a href="{{ .Site.Params.repositoryUrl }}" class="github-ribbon">
     <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
 </a>
 
@@ -13,16 +13,16 @@
         </button>
         <div class="collapse navbar-collapse" id="navbarResponsive">
             <ul class="navbar-nav ml-auto">
-                {% if page.url == "/" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                {{ if eq .Kind "home" }}<li class="nav-item active">{{ else }}<li class="nav-item">{{ end }}
                     <a class="nav-link" href="/">Home</a>
                 </li>
-                {% if page.url == "/download.cgi" or page.url == "/download.html" %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
+                {{ if hasPrefix .Page.File.Path "download" }}<li class="nav-item active">{{ else }}<li class="nav-item">{{ end }}
                     <a class="nav-link" href="/download.cgi">Download</a>
                 </li>
-                {% if page.url contains '/docs/' or page.url contains '/celix/' %}<li class="nav-item active">{% else %}<li class="nav-item">{% endif %}
-                    <a class="nav-link" href="/docs/">Docs</a>
+                {{ if hasPrefix .Page.File.Path "docs" }}<li class="nav-item active">{{ else }}<li class="nav-item">{{ end }}
+                    <a class="nav-link" href="/docs/docs.html">Docs</a>
                 </li>
-                {% if page.url contains '/contributing/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                {{ if hasPrefix .Page.File.Path "contributing" }}<li class="nav-item dropdown active">{{ else }}<li class="nav-item dropdown">{{ end }}
                     <a class="nav-link dropdown-toggle" href="#" id="ddCommunity" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                         Community
                     </a>
@@ -34,7 +34,7 @@
                         <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
                     </div>
                 </li>
-                {% if page.url contains '/support/' %}<li class="nav-item dropdown active">{% else %}<li class="nav-item dropdown">{% endif %}
+                {{ if hasPrefix .Page.File.Path "support" }}<li class="nav-item dropdown active">{{ else }}<li class="nav-item dropdown">{{ end }}
                     <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                         Support
                     </a>
diff --git a/layouts/robots.txt b/layouts/robots.txt
new file mode 100644
index 0000000..1ce9645
--- /dev/null
+++ b/layouts/robots.txt
@@ -0,0 +1,6 @@
+User-agent: *
+
+Disallow: /404/
+Disallow: 404.html
+
+SITEMAP: {{ "sitemap.xml" | absLangURL }}
diff --git a/layouts/shortcodes/tableofcontents.html b/layouts/shortcodes/tableofcontents.html
new file mode 100644
index 0000000..aca3785
--- /dev/null
+++ b/layouts/shortcodes/tableofcontents.html
@@ -0,0 +1 @@
+{{ .Page.TableOfContents }}
\ No newline at end of file
diff --git a/publish.sh b/publish.sh
index 29b8bb1..37e1414 100644
--- a/publish.sh
+++ b/publish.sh
@@ -15,7 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# A script to build the Celix site (based on jekyll)
+# A script to build the Celix site (based on Hugo)
 
 # specify source and site branches
 SOURCE="master"
@@ -27,17 +27,17 @@ git checkout ${SOURCE} > /dev/null 2>&1
 # Get the latest commit SHA in SOURCE branch
 last_SHA=( $(git log -n 1 --pretty=format:"%H") )
 
-# use last commit sha as temp folder name
+# Create a temporary folder
 tmp_dir=`mktemp -d`
 out_dir=${tmp_dir}/content
 mkdir -p ${out_dir}
 
-# Build the Jekyll site  to our temporary folder
-bundle exec jekyll build -d ${out_dir} > /dev/null 2>&1
+# Build the site to our temporary folder
+hugo --destination ${out_dir} > /dev/null 2>&1
 if [ $? = 0 ]; then
-  echo "Jekyll build successful"
+  echo "Hugo build successful"
 else
-  echo "Jekyll build failed"
+  echo "Hugo build failed"
   exit 1
 fi
 
diff --git a/run.sh b/run.sh
deleted file mode 100644
index 8311795..0000000
--- a/run.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-bundle exec jekyll serve -w --trace --host 0.0.0.0
diff --git a/run_incremental.sh b/run_incremental.sh
deleted file mode 100644
index d6eeb98..0000000
--- a/run_incremental.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-bundle exec jekyll serve --watch --trace --host=0.0.0.0 --force_polling --incremental
diff --git a/source/404.md b/source/404.md
deleted file mode 100644
index 5ac02da..0000000
--- a/source/404.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: 404 Page Not Found
----
-
-# 404 Page Not Found
-
-The page was moved or never existed. Use the menu above to navigate or go to [home page](/). 
-If you noticed any site problem, typos, etc on any page, please correct 
-using the "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
-For example, redirects can be configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
diff --git a/source/_layouts/main-page.html b/source/_layouts/main-page.html
deleted file mode 100644
index 59e8e41..0000000
--- a/source/_layouts/main-page.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <title>{{ page.title }}</title>
-
-    <!-- Bootstrap core CSS -->
-    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
-
-    <!-- Custom style -->
-    <link href="/assets/css/style.css" rel="stylesheet">
-
-    <!-- Font awesome icon set -->
-    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
-</head>
-<body>
-
-{% include header.html %}
-
-{{ content }}
-
-{% include footer.html %}
-
-</body>
-</html>
diff --git a/source/_plugins/remote_file_content.rb b/source/_plugins/remote_file_content.rb
deleted file mode 100644
index dd772e6..0000000
--- a/source/_plugins/remote_file_content.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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.
-
-require 'net/http'
-require 'uri'
-
-module Jekyll
-
-  class RemoteFileContent < Liquid::Tag
-
-    def initialize(tag_name, markup, tokens)
-      url = markup
-
-      puts 'Fetching content of url: ' + url
-
-      if url =~ URI::regexp
-        @content = removeComments(rewriteLinks(fetchContent(url)))
-      else
-        raise 'Invalid URL passed to RemoteFileContent'
-      end
-
-      super
-    end
-
-    def render(context)
-      if @content
-        @content
-      else
-        raise 'Something went wrong in RemoteFileContent'
-      end
-    end
-
-    def fetchContent(url)
-      Net::HTTP.get(URI.parse(URI.encode(url.strip))).force_encoding("UTF-8").encode("UTF-8")
-    end
-
-    def rewriteLinks(c)
-      c = c.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
-    end
-
-    def removeComments(c)
-      c = c.sub(/\<\!\-([\s\S]*?)\-\>/, '')
-    end
-
-  end
-end
-
-Liquid::Template.register_tag('remote_file_content', Jekyll::RemoteFileContent)
\ No newline at end of file
diff --git a/source/_plugins/update_celix_markdown.rb b/source/_plugins/update_celix_markdown.rb
deleted file mode 100644
index 8a08f4c..0000000
--- a/source/_plugins/update_celix_markdown.rb
+++ /dev/null
@@ -1,84 +0,0 @@
-# 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.
-
-module Jekyll
-
-  class CelixPage < Page
-    def initialize(site, base, dir, name)
-      @site = site
-      @base = base
-      @dir = dir
-      @name = name
-
-      full_path = "source/" + dir
-      if !full_path.end_with?("/") then
-        full_path += "/"
-      end
-      full_path += name
-
-      file_contents = File.read(full_path, :encoding => 'utf-8')
-
-      if !file_contents.start_with?("---") then
-        hdr  = "---\n"
-        hdr += "layout: celix-md\n"
-        hdr += "title: " + name + "\n"
-        hdr += "---\n\n\n"
-
-        edited_file_contents = hdr + file_contents
-        out_file = File.new(full_path, "w")
-        out_file.puts(edited_file_contents)
-        out_file.close
-      end
-
-      self.process(@name)
-      self.read_yaml(File.join(base, '_layouts'), 'celix-md.html')
-
-      self.data['title'] = name
-
-      super
-    end
-  end
-
-  class CelixPageGenerator < Generator
-    safe true
-
-    @@celix_doc_dir = "docs/celix"
-
-    def generate(site)
-      if site.layouts.key? 'celix-md'
-        celix_dir = site.source + "/" + @@celix_doc_dir
-        celix_markdown = File.join(celix_dir + "/**", "*.md")
-
-        Dir.glob(celix_markdown).select{ |e|
-          markdown_file = e
-
-          spl = markdown_file.rpartition('/')
-          file_name = spl.last()
-          splDir = spl.first().rpartition('source/' + @@celix_doc_dir)
-          file_dir = splDir.last()
-
-          if file_dir.start_with?("/") then
-            file_dir = file_dir[1, file_dir.length - 1]
-          end
-
-          file_dir = @@celix_doc_dir + "/" + file_dir
-
-          site.pages << CelixPage.new(site, site.source, file_dir, file_name)
-        }
-      end
-    end
-  end
-
-end
diff --git a/source/_plugins/update_links.rb b/source/_plugins/update_links.rb
deleted file mode 100644
index 8145f55..0000000
--- a/source/_plugins/update_links.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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.
-
-module UpdateLinks
-  class Generator < Jekyll::Generator
-
-    def generate(site)
-      site.pages.each { |p| rewriteLinks(site, p) }
-    end
-
-    def rewriteLinks(site, page)
-      if page
-        page.content = page.content.gsub(/(\[[^\]]*\]\([^:\)]*)\.md\)/, '\1.html)')
-      end
-    end
-
-  end
-end
\ No newline at end of file
diff --git a/source/contributing/releasing.md b/source/contributing/releasing.md
index 5290900..072c24f 100644
--- a/source/contributing/releasing.md
+++ b/source/contributing/releasing.md
@@ -1,17 +1,14 @@
 ---
-layout: default
 title: Releasing Process
 ---
 
 # Releasing Apache Celix
-{:.no_toc}
 
 Note: This information is only of use to Apache Celix Release Managers!
 
 Steps to follow:
 
-* Will be replaced with the ToC, excluding a header
-{:toc}
+{{% tableofcontents %}}
 
 Interesting links:
 
@@ -57,8 +54,8 @@ set(CELIX_MINOR "Y")
 set(CELIX_MICRO "Z")
 ```
 
-Note: The DEFAULT_VERSION property is used as default version for new bundles and as such does not need to be updated when making a release.
-{:.alert .alert-primary}
+<p class="alert alert-primary">Note: The DEFAULT_VERSION property is used as default version for new bundles and as 
+such does not need to be updated when making a release.</p>
 
 ## Compile and test
 
@@ -203,8 +200,8 @@ This vote will be open for at least 72 hours.
 
 After this first vote the results must be posted to the "dev" list, see below for more information.
 
-Note: Be sure to use the \[VOTE\] tag, this is used by the automated vote tracking system to keep track of outstanding vote threads.
-{:.alert .alert-primary}
+<p class="alert alert-primary">Note: Be sure to use the [VOTE] tag, this is used by the automated vote tracking 
+system to keep track of outstanding vote threads.</p>
 
 ## Post the vote results
 As mentioned before, after each vote the results must be posted to the corresponding list. This "Result" vote contains the number 
@@ -229,9 +226,8 @@ updated and the release will be announced.
 Thanks for voting.
 ```
 
-Note: Be sure to post the vote result with the same topic as the original message. Also prepend the subject 
-with \[RESULT\]. This is, again, needed to be able to keep track of vote threads.
-{:.alert .alert-primary}
+<p class="alert alert-primary">Note: Be sure to post the vote result with the same topic as the original message. Also 
+prepend the subject with [RESULT]. This is, again, needed to be able to keep track of vote threads.</p>
 
 ## Roll out release artifacts
 
@@ -277,5 +273,4 @@ We welcome your help and feedback. For more information on how to report problem
 The Apache Celix Team
 ```
 
-Note: the email must be sent from an @apache.org address
-{:.alert .alert-primary}
+<p class="alert alert-primary">Note: the email must be sent from an @apache.org address</p>
diff --git a/source/contributing/submitting-patches.md b/source/contributing/submitting-patches.md
index ed31a35..49f5da0 100644
--- a/source/contributing/submitting-patches.md
+++ b/source/contributing/submitting-patches.md
@@ -1,13 +1,10 @@
 ---
-layout: default
 title: Submitting patches
 ---
 
 # Submitting patches
-{:.no_toc}
 
-* Will be replaced with the ToC, excluding a header
-{:toc}
+{{% tableofcontents %}}
 
 ## Contributing with GitHub
 
diff --git a/source/contributing/volunteers.md b/source/contributing/volunteers.md
index bce6c76..fff1642 100644
--- a/source/contributing/volunteers.md
+++ b/source/contributing/volunteers.md
@@ -1,13 +1,10 @@
 ---
-layout: default
 title: Volunteers
 ---
 
 # Volunteers
-{:.no_toc}
 
-* Will be replaced with the ToC, excluding a header
-{:toc}
+{{% tableofcontents %}}
 
 The project consists of a diverse group of volunteers who share common values regarding collaborative,
 community-based open source development.
diff --git a/source/contributing/youatcelix.md b/source/contributing/youatcelix.md
index 3c06cdf..3269bf7 100644
--- a/source/contributing/youatcelix.md
+++ b/source/contributing/youatcelix.md
@@ -1,5 +1,4 @@
 ---
-layout: default
 title: You at Celix
 ---
 
diff --git a/source/docs/celix/CHANGES.md b/source/docs/celix/CHANGES.md
index 1833739..46fc02d 100644
--- a/source/docs/celix/CHANGES.md
+++ b/source/docs/celix/CHANGES.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: CHANGES.md
 ---
 
diff --git a/source/docs/celix/README.md b/source/docs/celix/README.md
index 790d971..50b12ed 100644
--- a/source/docs/celix/README.md
+++ b/source/docs/celix/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/config_admin/readme.md b/source/docs/celix/config_admin/readme.md
index f6615c9..03af413 100644
--- a/source/docs/celix/config_admin/readme.md
+++ b/source/docs/celix/config_admin/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/dependency_manager/readme.md b/source/docs/celix/dependency_manager/readme.md
index 3f97edc..0b484a7 100644
--- a/source/docs/celix/dependency_manager/readme.md
+++ b/source/docs/celix/dependency_manager/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/dependency_manager_cxx/readme.md b/source/docs/celix/dependency_manager_cxx/readme.md
index f6cfd50..ed90b36 100644
--- a/source/docs/celix/dependency_manager_cxx/readme.md
+++ b/source/docs/celix/dependency_manager_cxx/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/deployment_admin/README.md b/source/docs/celix/deployment_admin/README.md
index ee3e022..52f7031 100644
--- a/source/docs/celix/deployment_admin/README.md
+++ b/source/docs/celix/deployment_admin/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/device_access/README.md b/source/docs/celix/device_access/README.md
index 62c9804..a9840cd 100644
--- a/source/docs/celix/device_access/README.md
+++ b/source/docs/celix/device_access/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/documents/building/readme.md b/source/docs/celix/documents/building/readme.md
index 544147f..86cc13e 100644
--- a/source/docs/celix/documents/building/readme.md
+++ b/source/docs/celix/documents/building/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/documents/cmake_commands/readme.md b/source/docs/celix/documents/cmake_commands/readme.md
index 1837f55..fe74f70 100644
--- a/source/docs/celix/documents/cmake_commands/readme.md
+++ b/source/docs/celix/documents/cmake_commands/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
index 655a1b3..231dc08 100644
--- a/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
+++ b/source/docs/celix/documents/getting_started/creating_a_simple_bundle.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: creating_a_simple_bundle.md
 ---
 
diff --git a/source/docs/celix/documents/getting_started/readme.md b/source/docs/celix/documents/getting_started/readme.md
index 29e7a93..e53644b 100644
--- a/source/docs/celix/documents/getting_started/readme.md
+++ b/source/docs/celix/documents/getting_started/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/documents/getting_started/using_services_with_c.md b/source/docs/celix/documents/getting_started/using_services_with_c.md
index d8ffaf8..6ad0fa1 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_c.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_c.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: using_services_with_c.md
 ---
 
diff --git a/source/docs/celix/documents/getting_started/using_services_with_cxx.md b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
index f9f6e77..96fb3d5 100644
--- a/source/docs/celix/documents/getting_started/using_services_with_cxx.md
+++ b/source/docs/celix/documents/getting_started/using_services_with_cxx.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: using_services_with_cxx.md
 ---
 
diff --git a/source/docs/celix/documents/intro/readme.md b/source/docs/celix/documents/intro/readme.md
index 5ab5c42..eb79672 100644
--- a/source/docs/celix/documents/intro/readme.md
+++ b/source/docs/celix/documents/intro/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/documents/roadmap/api_v3/readme.md b/source/docs/celix/documents/roadmap/api_v3/readme.md
index 3cd4c11..576e4dd 100644
--- a/source/docs/celix/documents/roadmap/api_v3/readme.md
+++ b/source/docs/celix/documents/roadmap/api_v3/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/documents/roadmap/improvement_ideas.md b/source/docs/celix/documents/roadmap/improvement_ideas.md
index ac11056..1cf877c 100644
--- a/source/docs/celix/documents/roadmap/improvement_ideas.md
+++ b/source/docs/celix/documents/roadmap/improvement_ideas.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: improvement_ideas.md
 ---
 
diff --git a/source/docs/celix/documents/roadmap/roadmap.md b/source/docs/celix/documents/roadmap/roadmap.md
index 62f1c8a..a5896e4 100644
--- a/source/docs/celix/documents/roadmap/roadmap.md
+++ b/source/docs/celix/documents/roadmap/roadmap.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: roadmap.md
 ---
 
diff --git a/source/docs/celix/documents/subprojects/readme.md b/source/docs/celix/documents/subprojects/readme.md
index a51ac7d..4488cf6 100644
--- a/source/docs/celix/documents/subprojects/readme.md
+++ b/source/docs/celix/documents/subprojects/readme.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: readme.md
 ---
 
diff --git a/source/docs/celix/etcdlib/README.md b/source/docs/celix/etcdlib/README.md
index 9a5549d..06592b1 100644
--- a/source/docs/celix/etcdlib/README.md
+++ b/source/docs/celix/etcdlib/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/launcher/README.md b/source/docs/celix/launcher/README.md
index 46570cd..09d5b07 100644
--- a/source/docs/celix/launcher/README.md
+++ b/source/docs/celix/launcher/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/log_service/README.md b/source/docs/celix/log_service/README.md
index c2510e6..ff17d08 100644
--- a/source/docs/celix/log_service/README.md
+++ b/source/docs/celix/log_service/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/log_writer/README.md b/source/docs/celix/log_writer/README.md
index c1efa9c..d2e990a 100644
--- a/source/docs/celix/log_writer/README.md
+++ b/source/docs/celix/log_writer/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/pubsub/README.md b/source/docs/celix/pubsub/README.md
index c516640..5cc3cfe 100644
--- a/source/docs/celix/pubsub/README.md
+++ b/source/docs/celix/pubsub/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/pubsub/examples/keys/README.md b/source/docs/celix/pubsub/examples/keys/README.md
index 6741b73..a35695c 100644
--- a/source/docs/celix/pubsub/examples/keys/README.md
+++ b/source/docs/celix/pubsub/examples/keys/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md b/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
index 3cfd84a..565ef6f 100644
--- a/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
+++ b/source/docs/celix/pubsub/pubsub_admin_udp_mc/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/remote_services/README.md b/source/docs/celix/remote_services/README.md
index d3be604..5050bd0 100644
--- a/source/docs/celix/remote_services/README.md
+++ b/source/docs/celix/remote_services/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/remote_services/discovery_etcd/README.md b/source/docs/celix/remote_services/discovery_etcd/README.md
index 376797c..b5829d2 100644
--- a/source/docs/celix/remote_services/discovery_etcd/README.md
+++ b/source/docs/celix/remote_services/discovery_etcd/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/remote_services/remote_service_admin/README.md b/source/docs/celix/remote_services/remote_service_admin/README.md
index 2d536a6..4abc94a 100644
--- a/source/docs/celix/remote_services/remote_service_admin/README.md
+++ b/source/docs/celix/remote_services/remote_service_admin/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/remote_services/topology_manager/README.md b/source/docs/celix/remote_services/topology_manager/README.md
index 332944d..bae7405 100644
--- a/source/docs/celix/remote_services/topology_manager/README.md
+++ b/source/docs/celix/remote_services/topology_manager/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/remote_shell/README.md b/source/docs/celix/remote_shell/README.md
index b21b761..fd8cd8b 100644
--- a/source/docs/celix/remote_shell/README.md
+++ b/source/docs/celix/remote_shell/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/shell/README.md b/source/docs/celix/shell/README.md
index 5718e91..df6a60f 100644
--- a/source/docs/celix/shell/README.md
+++ b/source/docs/celix/shell/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/shell_tui/README.md b/source/docs/celix/shell_tui/README.md
index cb3703b..164d258 100644
--- a/source/docs/celix/shell_tui/README.md
+++ b/source/docs/celix/shell_tui/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/utils/README.md b/source/docs/celix/utils/README.md
index a13be7e..b8e58b6 100644
--- a/source/docs/celix/utils/README.md
+++ b/source/docs/celix/utils/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/utils/docs/thpool/Design.md b/source/docs/celix/utils/docs/thpool/Design.md
index 8444b68..20705ca 100644
--- a/source/docs/celix/utils/docs/thpool/Design.md
+++ b/source/docs/celix/utils/docs/thpool/Design.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: Design.md
 ---
 
diff --git a/source/docs/celix/utils/docs/thpool/FAQ.md b/source/docs/celix/utils/docs/thpool/FAQ.md
index fb7f221..7a9c2e6 100644
--- a/source/docs/celix/utils/docs/thpool/FAQ.md
+++ b/source/docs/celix/utils/docs/thpool/FAQ.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: FAQ.md
 ---
 
diff --git a/source/docs/celix/utils/docs/thpool/README.md b/source/docs/celix/utils/docs/thpool/README.md
index 2016970..d0fe29b 100644
--- a/source/docs/celix/utils/docs/thpool/README.md
+++ b/source/docs/celix/utils/docs/thpool/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/celix/utils/public/include/memstream/README.md b/source/docs/celix/utils/public/include/memstream/README.md
index 0c83ce9..3e5fcaf 100644
--- a/source/docs/celix/utils/public/include/memstream/README.md
+++ b/source/docs/celix/utils/public/include/memstream/README.md
@@ -1,5 +1,5 @@
 ---
-layout: celix-md
+type: celix-doc
 title: README.md
 ---
 
diff --git a/source/docs/index.md b/source/docs/docs.md
similarity index 85%
rename from source/docs/index.md
rename to source/docs/docs.md
index 340dbed..e1b1d83 100644
--- a/source/docs/index.md
+++ b/source/docs/docs.md
@@ -1,10 +1,8 @@
 ---
-layout: default
 title: Documentation
 ---
 
 # Documentation
-[Edit on GitHub]({{ site.repository_url }}/edit/master/source/{{ page.path }}){: .edit-on-gh title="Edit this page on GitHub"}
 
 Get started with Celix by going through the appropriate content.
 
diff --git a/source/download.md b/source/download.md
index 53f4bc6..2fa9225 100644
--- a/source/download.md
+++ b/source/download.md
@@ -1,5 +1,4 @@
 ---
-layout: default
 title: Download
 ---
 
diff --git a/source/index.html b/source/index.html
deleted file mode 100644
index c97f834..0000000
--- a/source/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-layout: main-page
-title: Welcome to Apache Celix
----
-
-<!-- Page Intro -->
-<div class="section">
-  <div class="container my-5">
-    <div class="section no-pad-bot" id="index-banner">
-      <div class="col-sm-12">
-        <h1 class="text-center">Welcome to Apache Celix</h1>
-      </div>
-
-      <div class="row my-4">
-        <img class="text-center mx-auto img-home" src="/assets/img/celix.svg" alt="Celix Logo">
-      </div>
-
-      <div class="col-sm-12 mb-4">
-        <h2 class="text-center">An implementation of the OSGi specification adapted to C and C++</h2>
-      </div>
-
-      <div class="col-sm-12 text-center mx-auto">
-        <a href="/download.cgi" class="btn btn-primary btn-lg mb-1">
-          <i class="fas fa-download"></i> DOWNLOAD
-        </a>
-        &nbsp;
-        <a href="/docs/" class="btn btn-primary btn-lg mb-1">
-          <i class="fas fa-book-open"></i> GETTING STARTED
-        </a>
-      </div>
-    </div>
-  </div>
-</div>
-
-<div class="section light-grey">
-  <div class="container py-3">
-
-    <div class="row my-4">
-      <div class="col-sm-12 card">
-        <div class="card-body">
-          <h4 class="card-title">Welcome to Apache Celix</h4>
-          <p class="card-text">
-            Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a framework to 
-            develop (dynamic) modular software applications using component and/or service-oriented programming.
-          </p>
-
-          <p class="card-text">
-            Apache Celix is primarily developed in C and adds an additional abstraction, in the form of a library, to
-            support for C++.
-          </p>
-
-          <p class="card-text">
-            Modularity in Apache Celix is achieved by supporting - run-time installed - bundles. <code>Bundles</code>
-            are zip files and can contain software modules in the form of shared libraries. <code>Modules</code> can
-            provide and request dynamic services, for and from other modules, by interacting with a provided bundle
-            context. <code>Services</code> in Apache Celix are "plain old" structs with function pointers or "plain
-            old C++ Objects" (POCO).
-          </p>
-        </div>
-      </div>
-    </div>
-
-    <div class="row my-4">
-      <div class="col-sm-12 card">
-        <div class="card-body">
-          <h4 class="card-title">News</h4>
-          <p class="card-text">
-            <strong>30-Jan-2018</strong> - After a successful vote Celix 2.1.0 is released.<br>
-            <strong>26-Oct-2016</strong> - After a successful vote Celix 2.0.0 is released.<br>
-            <strong>16-Jul-2014</strong> - After a successful graduation vote Apache Celix has graduated to a top-level project.<br>
-            <strong>25-Feb-2014</strong> - After a successful vote Celix 1.0.0.incubating is released. The release is now available via the <a href="/download.cgi">download</a> section.<br>
-            <strong>16-Dec-2012</strong> - After a successful vote Celix 0.0.1-incubating is released.<br>
-          </p>
-        </div>
-      </div>
-    </div>
-
-  </div>
-</div>
diff --git a/source/robots.txt b/source/robots.txt
deleted file mode 100644
index 7d329b1..0000000
--- a/source/robots.txt
+++ /dev/null
@@ -1 +0,0 @@
-User-agent: *
diff --git a/source/support/issue-tracking.md b/source/support/issue-tracking.md
index d768351..6f8e65f 100644
--- a/source/support/issue-tracking.md
+++ b/source/support/issue-tracking.md
@@ -1,5 +1,4 @@
 ---
-layout: default
 title: Issue Tracking
 ---
 
diff --git a/source/support/mailing-list.md b/source/support/mailing-list.md
index f41b6fe..6796be1 100644
--- a/source/support/mailing-list.md
+++ b/source/support/mailing-list.md
@@ -1,5 +1,4 @@
 ---
-layout: default
 title: Mailing Lists
 ---
 
@@ -11,11 +10,10 @@ lists are the primary means of communication for people working on Apache projec
 
 **HEADS UP!**
 
-A message sent to a public mailing list cannot be unpublished. Although we might be able to modify our own mail archives, 
+<p class="alert alert-primary">A message sent to a public mailing list cannot be unpublished. Although we might be able to modify our own mail archives, 
 the message is mirrored to a lot of other archiving systems which we do not have under control. Therefore almost 100% 
-of all delete requests are denied. Please make sure you **do not send any potential sensitive information to the mailing list**,
-including passwords, server names, ips and so on.
-{:.alert .alert-primary}
+of all delete requests are denied. Please make sure you <strong>do not send any potential sensitive information to the mailing list</strong>,
+including passwords, server names, ips and so on.</p>
 
 ## Lists
 
diff --git a/source/.htaccess b/static/.htaccess
similarity index 94%
rename from source/.htaccess
rename to static/.htaccess
index 0c3e605..2d86f59 100644
--- a/source/.htaccess
+++ b/static/.htaccess
@@ -1,18 +1,18 @@
-# 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.
-
-DirectoryIndex index.html
-
-ErrorDocument 404 /404.html
+# 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.
+
+DirectoryIndex index.html
+
+ErrorDocument 404 /404.html
\ No newline at end of file
diff --git a/source/assets/css/bootstrap-grid.css b/static/assets/css/bootstrap-grid.css
similarity index 100%
rename from source/assets/css/bootstrap-grid.css
rename to static/assets/css/bootstrap-grid.css
diff --git a/source/assets/css/bootstrap-grid.css.map b/static/assets/css/bootstrap-grid.css.map
similarity index 100%
rename from source/assets/css/bootstrap-grid.css.map
rename to static/assets/css/bootstrap-grid.css.map
diff --git a/source/assets/css/bootstrap-grid.min.css b/static/assets/css/bootstrap-grid.min.css
similarity index 100%
rename from source/assets/css/bootstrap-grid.min.css
rename to static/assets/css/bootstrap-grid.min.css
diff --git a/source/assets/css/bootstrap-grid.min.css.map b/static/assets/css/bootstrap-grid.min.css.map
similarity index 100%
rename from source/assets/css/bootstrap-grid.min.css.map
rename to static/assets/css/bootstrap-grid.min.css.map
diff --git a/source/assets/css/bootstrap-reboot.css b/static/assets/css/bootstrap-reboot.css
similarity index 100%
rename from source/assets/css/bootstrap-reboot.css
rename to static/assets/css/bootstrap-reboot.css
diff --git a/source/assets/css/bootstrap-reboot.css.map b/static/assets/css/bootstrap-reboot.css.map
similarity index 100%
rename from source/assets/css/bootstrap-reboot.css.map
rename to static/assets/css/bootstrap-reboot.css.map
diff --git a/source/assets/css/bootstrap-reboot.min.css b/static/assets/css/bootstrap-reboot.min.css
similarity index 100%
rename from source/assets/css/bootstrap-reboot.min.css
rename to static/assets/css/bootstrap-reboot.min.css
diff --git a/source/assets/css/bootstrap-reboot.min.css.map b/static/assets/css/bootstrap-reboot.min.css.map
similarity index 100%
rename from source/assets/css/bootstrap-reboot.min.css.map
rename to static/assets/css/bootstrap-reboot.min.css.map
diff --git a/source/assets/css/bootstrap.css b/static/assets/css/bootstrap.css
similarity index 100%
rename from source/assets/css/bootstrap.css
rename to static/assets/css/bootstrap.css
diff --git a/source/assets/css/bootstrap.css.map b/static/assets/css/bootstrap.css.map
similarity index 100%
rename from source/assets/css/bootstrap.css.map
rename to static/assets/css/bootstrap.css.map
diff --git a/source/assets/css/bootstrap.min.css b/static/assets/css/bootstrap.min.css
similarity index 100%
rename from source/assets/css/bootstrap.min.css
rename to static/assets/css/bootstrap.min.css
diff --git a/source/assets/css/bootstrap.min.css.map b/static/assets/css/bootstrap.min.css.map
similarity index 100%
rename from source/assets/css/bootstrap.min.css.map
rename to static/assets/css/bootstrap.min.css.map
diff --git a/source/assets/css/style.css b/static/assets/css/style.css
similarity index 100%
rename from source/assets/css/style.css
rename to static/assets/css/style.css
diff --git a/source/assets/img/apache.png b/static/assets/img/apache.png
similarity index 100%
rename from source/assets/img/apache.png
rename to static/assets/img/apache.png
diff --git a/source/assets/img/celix-white.svg b/static/assets/img/celix-white.svg
similarity index 100%
rename from source/assets/img/celix-white.svg
rename to static/assets/img/celix-white.svg
diff --git a/source/assets/img/celix.svg b/static/assets/img/celix.svg
similarity index 100%
rename from source/assets/img/celix.svg
rename to static/assets/img/celix.svg
diff --git a/source/favicon.ico b/static/assets/img/favicon.ico
similarity index 100%
rename from source/favicon.ico
rename to static/assets/img/favicon.ico
diff --git a/source/assets/img/forkme_right_red_aa0000.png b/static/assets/img/forkme_right_red_aa0000.png
similarity index 100%
rename from source/assets/img/forkme_right_red_aa0000.png
rename to static/assets/img/forkme_right_red_aa0000.png
diff --git a/source/assets/img/icon-primer.svg b/static/assets/img/icon-primer.svg
similarity index 100%
rename from source/assets/img/icon-primer.svg
rename to static/assets/img/icon-primer.svg
diff --git a/source/assets/js/bootstrap.bundle.js b/static/assets/js/bootstrap.bundle.js
similarity index 100%
rename from source/assets/js/bootstrap.bundle.js
rename to static/assets/js/bootstrap.bundle.js
diff --git a/source/assets/js/bootstrap.bundle.js.map b/static/assets/js/bootstrap.bundle.js.map
similarity index 100%
rename from source/assets/js/bootstrap.bundle.js.map
rename to static/assets/js/bootstrap.bundle.js.map
diff --git a/source/assets/js/bootstrap.bundle.min.js b/static/assets/js/bootstrap.bundle.min.js
similarity index 100%
rename from source/assets/js/bootstrap.bundle.min.js
rename to static/assets/js/bootstrap.bundle.min.js
diff --git a/source/assets/js/bootstrap.bundle.min.js.map b/static/assets/js/bootstrap.bundle.min.js.map
similarity index 100%
rename from source/assets/js/bootstrap.bundle.min.js.map
rename to static/assets/js/bootstrap.bundle.min.js.map
diff --git a/source/assets/js/bootstrap.js b/static/assets/js/bootstrap.js
similarity index 100%
rename from source/assets/js/bootstrap.js
rename to static/assets/js/bootstrap.js
diff --git a/source/assets/js/bootstrap.js.map b/static/assets/js/bootstrap.js.map
similarity index 100%
rename from source/assets/js/bootstrap.js.map
rename to static/assets/js/bootstrap.js.map
diff --git a/source/assets/js/bootstrap.min.js b/static/assets/js/bootstrap.min.js
similarity index 100%
rename from source/assets/js/bootstrap.min.js
rename to static/assets/js/bootstrap.min.js
diff --git a/source/assets/js/bootstrap.min.js.map b/static/assets/js/bootstrap.min.js.map
similarity index 100%
rename from source/assets/js/bootstrap.min.js.map
rename to static/assets/js/bootstrap.min.js.map
diff --git a/source/assets/js/jquery.js b/static/assets/js/jquery.js
similarity index 100%
rename from source/assets/js/jquery.js
rename to static/assets/js/jquery.js
diff --git a/source/assets/js/jquery.min.js b/static/assets/js/jquery.min.js
similarity index 100%
rename from source/assets/js/jquery.min.js
rename to static/assets/js/jquery.min.js
diff --git a/source/assets/js/jquery.slim.js b/static/assets/js/jquery.slim.js
similarity index 100%
rename from source/assets/js/jquery.slim.js
rename to static/assets/js/jquery.slim.js
diff --git a/source/assets/js/jquery.slim.min.js b/static/assets/js/jquery.slim.min.js
similarity index 100%
rename from source/assets/js/jquery.slim.min.js
rename to static/assets/js/jquery.slim.min.js


[celix-site] 04/34: CELIX-449: Updated image on homepage

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit a0ea163c0eb34cf450133294e081c4326ca8bcef
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 18:06:23 2018 +0100

    CELIX-449: Updated image on homepage
---
 source/assets/css/style.css | 8 ++++++++
 source/index.html           | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/source/assets/css/style.css b/source/assets/css/style.css
index 1abac29..fc551c9 100644
--- a/source/assets/css/style.css
+++ b/source/assets/css/style.css
@@ -142,6 +142,14 @@ a.edit-on-gh {
   color: #fff;
 }
 
+.img-home {
+  display: inline;
+  max-width: 100%;
+  height: auto;
+  padding-left: 10px;
+  padding-right: 10px;
+}
+
 .card {
   height: 100%;
 }
diff --git a/source/index.html b/source/index.html
index f0ff1af..d95514b 100644
--- a/source/index.html
+++ b/source/index.html
@@ -12,7 +12,7 @@ title: Welcome to Apache Celix
       </div>
 
       <div class="row my-4">
-        <img class="text-center mx-auto" src="/assets/img/celix.svg">
+        <img class="text-center mx-auto img-home" src="/assets/img/celix.svg">
       </div>
 
       <div class="col-sm-12 mb-4">


[celix-site] 30/34: Disabled de-capitalizing paths

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 88a52ecc09f34655c709c34cd4457e68c782b87a
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 14:23:58 2019 +0200

    Disabled de-capitalizing paths
---
 config.toml | 73 +++++++++++++++++++++++++++++++------------------------------
 1 file changed, 37 insertions(+), 36 deletions(-)

diff --git a/config.toml b/config.toml
index 1203824..903d7cd 100644
--- a/config.toml
+++ b/config.toml
@@ -1,36 +1,37 @@
-baseURL = "http://celix.apache.org"
-title = "Apache Celix"
-languageCode = "en"
-
-contentDir = "source"
-publishDir = "target/content"
-
-uglyURLs = true
-enableRobotsTXT = true
-disableBrowserError = true
-timeout = 3000
-
-disableKinds = ["taxonomy", "taxonomyTerm"]
-ignoreFiles = [ ] # No files to ignore
-
-# Highlighting config. See https://help.farbox.com/pygments.html
-pygmentsCodeFences = true
-pygmentsUseClasses = false
-pygmentsStyle = "emacs"
-
-# Enable Git variables like commit, lastmod
-enableGitInfo = true
-
-[blackfriday]
-hrefTargetBlank = true
-fractions = false
-
-[frontmatter]
-date = ["date", ":filename", "publishDate", "lastmod"]
-
-[params]
-repositoryUrl = "https://github.com/apache/celix"
-repositorySourceBranch = "develop"
-
-siteRepositoryUrl = "https://github.com/apache/celix-site"
-siteRepositorySourceBranch = "master"
+baseURL = "http://celix.apache.org"
+title = "Apache Celix"
+languageCode = "en"
+
+contentDir = "source"
+publishDir = "target/content"
+
+disablePathToLower = true
+uglyURLs = true
+enableRobotsTXT = true
+disableBrowserError = true
+timeout = 3000
+
+disableKinds = ["taxonomy", "taxonomyTerm"]
+ignoreFiles = [ ] # No files to ignore
+
+# Highlighting config. See https://help.farbox.com/pygments.html
+pygmentsCodeFences = true
+pygmentsUseClasses = false
+pygmentsStyle = "emacs"
+
+# Enable Git variables like commit, lastmod
+enableGitInfo = true
+
+[blackfriday]
+hrefTargetBlank = true
+fractions = false
+
+[frontmatter]
+date = ["date", ":filename", "publishDate", "lastmod"]
+
+[params]
+repositoryUrl = "https://github.com/apache/celix"
+repositorySourceBranch = "develop"
+
+siteRepositoryUrl = "https://github.com/apache/celix-site"
+siteRepositorySourceBranch = "master"


[celix-site] 24/34: Removed highlighter because Hugo generates highlighted content

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 4bec9672094a6454a16616359bd04bfcbf2541a6
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 12:47:37 2019 +0200

    Removed highlighter because Hugo generates highlighted content
---
 source/assets/highlighter/github-theme.css         |  60 ----
 source/assets/highlighter/js/shAutoloader.js       |  17 --
 source/assets/highlighter/js/shBrushAS3.js         |  59 ----
 source/assets/highlighter/js/shBrushAppleScript.js |  75 -----
 source/assets/highlighter/js/shBrushBash.js        |  59 ----
 source/assets/highlighter/js/shBrushCSharp.js      |  65 ----
 source/assets/highlighter/js/shBrushColdFusion.js  | 100 ------
 source/assets/highlighter/js/shBrushCpp.js         |  97 ------
 source/assets/highlighter/js/shBrushCss.js         |  91 ------
 source/assets/highlighter/js/shBrushDelphi.js      |  55 ----
 source/assets/highlighter/js/shBrushDiff.js        |  41 ---
 source/assets/highlighter/js/shBrushErlang.js      |  52 ----
 source/assets/highlighter/js/shBrushGroovy.js      |  67 ----
 source/assets/highlighter/js/shBrushJScript.js     |  52 ----
 source/assets/highlighter/js/shBrushJava.js        |  57 ----
 source/assets/highlighter/js/shBrushJavaFX.js      |  58 ----
 source/assets/highlighter/js/shBrushPerl.js        |  72 -----
 source/assets/highlighter/js/shBrushPhp.js         |  88 ------
 source/assets/highlighter/js/shBrushPlain.js       |  33 --
 source/assets/highlighter/js/shBrushPowerShell.js  |  74 -----
 source/assets/highlighter/js/shBrushPython.js      |  64 ----
 source/assets/highlighter/js/shBrushRuby.js        |  55 ----
 source/assets/highlighter/js/shBrushSass.js        |  94 ------
 source/assets/highlighter/js/shBrushScala.js       |  51 ----
 source/assets/highlighter/js/shBrushSql.js         |  66 ----
 source/assets/highlighter/js/shBrushVb.js          |  56 ----
 source/assets/highlighter/js/shBrushXml.js         |  69 -----
 source/assets/highlighter/js/shCore.js             |  17 --
 source/assets/highlighter/js/shLegacy.js           |  17 --
 source/assets/highlighter/style/shCore.css         | 226 --------------
 source/assets/highlighter/style/shCoreDefault.css  | 328 --------------------
 source/assets/highlighter/style/shCoreDjango.css   | 331 --------------------
 source/assets/highlighter/style/shCoreEclipse.css  | 339 ---------------------
 source/assets/highlighter/style/shCoreEmacs.css    | 324 --------------------
 .../assets/highlighter/style/shCoreFadeToGrey.css  | 328 --------------------
 source/assets/highlighter/style/shCoreMDUltra.css  | 324 --------------------
 source/assets/highlighter/style/shCoreMidnight.css | 324 --------------------
 source/assets/highlighter/style/shCoreRDark.css    | 324 --------------------
 source/assets/highlighter/style/shCoreStruts.css   | 339 ---------------------
 source/assets/highlighter/style/shThemeDefault.css | 117 -------
 source/assets/highlighter/style/shThemeDjango.css  | 120 --------
 source/assets/highlighter/style/shThemeEclipse.css | 128 --------
 source/assets/highlighter/style/shThemeEmacs.css   | 113 -------
 .../assets/highlighter/style/shThemeFadeToGrey.css | 117 -------
 source/assets/highlighter/style/shThemeMDUltra.css | 113 -------
 .../assets/highlighter/style/shThemeMidnight.css   | 113 -------
 source/assets/highlighter/style/shThemeRDark.css   | 113 -------
 source/assets/highlighter/style/shThemeStruts.css  | 128 --------
 48 files changed, 6010 deletions(-)

diff --git a/source/assets/highlighter/github-theme.css b/source/assets/highlighter/github-theme.css
deleted file mode 100644
index 2774b76..0000000
--- a/source/assets/highlighter/github-theme.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.highlight  { background: #ffffff; }
-.highlight .c { color: #999988; font-style: italic } /* Comment */
-.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
-.highlight .k { font-weight: bold } /* Keyword */
-.highlight .o { font-weight: bold } /* Operator */
-.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
-.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
-.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
-.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #aa0000 } /* Generic.Error */
-.highlight .gh { color: #999999 } /* Generic.Heading */
-.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
-.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
-.highlight .go { color: #888888 } /* Generic.Output */
-.highlight .gp { color: #555555 } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
-.highlight .gt { color: #aa0000 } /* Generic.Traceback */
-.highlight .kc { font-weight: bold } /* Keyword.Constant */
-.highlight .kd { font-weight: bold } /* Keyword.Declaration */
-.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #009999 } /* Literal.Number */
-.highlight .s { color: #d14 } /* Literal.String */
-.highlight .na { color: #008080 } /* Name.Attribute */
-.highlight .nb { color: #0086B3 } /* Name.Builtin */
-.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
-.highlight .no { color: #008080 } /* Name.Constant */
-.highlight .ni { color: #800080 } /* Name.Entity */
-.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
-.highlight .nn { color: #555555 } /* Name.Namespace */
-.highlight .nt { color: #000080 } /* Name.Tag */
-.highlight .nv { color: #008080 } /* Name.Variable */
-.highlight .ow { font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #009999 } /* Literal.Number.Float */
-.highlight .mh { color: #009999 } /* Literal.Number.Hex */
-.highlight .mi { color: #009999 } /* Literal.Number.Integer */
-.highlight .mo { color: #009999 } /* Literal.Number.Oct */
-.highlight .sb { color: #d14 } /* Literal.String.Backtick */
-.highlight .sc { color: #d14 } /* Literal.String.Char */
-.highlight .sd { color: #d14 } /* Literal.String.Doc */
-.highlight .s2 { color: #d14 } /* Literal.String.Double */
-.highlight .se { color: #d14 } /* Literal.String.Escape */
-.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
-.highlight .si { color: #d14 } /* Literal.String.Interpol */
-.highlight .sx { color: #d14 } /* Literal.String.Other */
-.highlight .sr { color: #009926 } /* Literal.String.Regex */
-.highlight .s1 { color: #d14 } /* Literal.String.Single */
-.highlight .ss { color: #990073 } /* Literal.String.Symbol */
-.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #008080 } /* Name.Variable.Class */
-.highlight .vg { color: #008080 } /* Name.Variable.Global */
-.highlight .vi { color: #008080 } /* Name.Variable.Instance */
-.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
diff --git a/source/assets/highlighter/js/shAutoloader.js b/source/assets/highlighter/js/shAutoloader.js
deleted file mode 100644
index 4e29bdd..0000000
--- a/source/assets/highlighter/js/shAutoloader.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d<c.9;d++)i[c[d]]=a}2 o(c){1 a=r.H("J"),d=3;a.K=c;a.M="L/t";a.G="t";a.u=a.v=2(){6(!d&&(!8.7||8.7=="F"||8.7=="z")){d=q;e[c]=q;a [...]
diff --git a/source/assets/highlighter/js/shBrushAS3.js b/source/assets/highlighter/js/shBrushAS3.js
deleted file mode 100644
index 8aa3ed2..0000000
--- a/source/assets/highlighter/js/shBrushAS3.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Created by Peter Atoria @ http://iAtoria.com
-	
-		var inits 	 =  'class interface function package';
-	
-		var keywords =	'-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' + 
-						'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' + 
-						'extends false final finally flash_proxy for get if implements import in include Infinity ' + 
-						'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' + 
-						'Null Number Object object_proxy override parseFloat parseInt private protected public ' + 
-						'return set static String super switch this throw true try typeof uint undefined unescape ' + 
-						'use void while with'
-						;
-	
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },		// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },		// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },		// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// single quoted strings
-			{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,				css: 'value' },			// numbers
-			{ regex: new RegExp(this.getKeywords(inits), 'gm'),			css: 'color3' },		// initializations
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' },		// keywords
-			{ regex: new RegExp('var', 'gm'),							css: 'variable' },		// variable
-			{ regex: new RegExp('trace', 'gm'),							css: 'color1' }			// trace
-			];
-	
-		this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['actionscript3', 'as3'];
-
-	SyntaxHighlighter.brushes.AS3 = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushAppleScript.js b/source/assets/highlighter/js/shBrushAppleScript.js
deleted file mode 100644
index d40bbd7..0000000
--- a/source/assets/highlighter/js/shBrushAppleScript.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// AppleScript brush by David Chambers
-		// http://davidchambersdesign.com/
-		var keywords   = 'after before beginning continue copy each end every from return get global in local named of set some that the then times to where whose with without';
-		var ordinals   = 'first second third fourth fifth sixth seventh eighth ninth tenth last front back middle';
-		var specials   = 'activate add alias AppleScript ask attachment boolean class constant delete duplicate empty exists false id integer list make message modal modified new no paragraph pi properties quit real record remove rest result reveal reverse run running save string true word yes';
-
-		this.regexList = [
-
-			{ regex: /(--|#).*$/gm,
-			    css: 'comments' },
-
-			{ regex: /\(\*(?:[\s\S]*?\(\*[\s\S]*?\*\))*[\s\S]*?\*\)/gm, // support nested comments
-			    css: 'comments' },
-
-			{ regex: /"[\s\S]*?"/gm,
-			    css: 'string' },
-
-			{ regex: /(?:,|:|¬|'s\b|\(|\)|\{|\}|«|\b\w*»)/g,
-			    css: 'color1' },
-
-			{ regex: /(-)?(\d)+(\.(\d)?)?(E\+(\d)+)?/g, // numbers
-			    css: 'color1' },
-
-			{ regex: /(?:&(amp;|gt;|lt;)?|=|� |>|<|≥|>=|≤|<=|\*|\+|-|\/|÷|\^)/g,
-			    css: 'color2' },
-
-			{ regex: /\b(?:and|as|div|mod|not|or|return(?!\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else| [...]
-			    css: 'keyword' },
-
-			{ regex: /\b\d+(st|nd|rd|th)\b/g, // ordinals
-			    css: 'keyword' },
-
-			{ regex: /\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\b/g,
-			    css: 'color3' },
-
-			{ regex: /\b(?:adding folder items to|after receiving|choose( ((remote )?application|color|folder|from list|URL))?|clipboard info|set the clipboard to|(the )?clipboard|entire contents|display(ing| (alert|dialog|mode))?|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|quoted form|return(ed)?|second(?! item)(s)?|list (disks|folder)|text item(s| delimiters)?|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?wind [...]
-			    css: 'color3' },
-
-			{ regex: new RegExp(this.getKeywords(specials), 'gm'), css: 'color3' },
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' },
-			{ regex: new RegExp(this.getKeywords(ordinals), 'gm'), css: 'keyword' }
-		];
-	};
-
-	Brush.prototype = new SyntaxHighlighter.Highlighter();
-	Brush.aliases = ['applescript'];
-
-	SyntaxHighlighter.brushes.AppleScript = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushBash.js b/source/assets/highlighter/js/shBrushBash.js
deleted file mode 100644
index 8c29696..0000000
--- a/source/assets/highlighter/js/shBrushBash.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'if fi then elif else for do done until while break continue case function return in eq ne ge le';
-		var commands =  'alias apropos awk basename bash bc bg builtin bzip2 cal cat cd cfdisk chgrp chmod chown chroot' +
-						'cksum clear cmp comm command cp cron crontab csplit cut date dc dd ddrescue declare df ' +
-						'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' +
-						'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' +
-						'free fsck ftp gawk getopts grep groups gzip hash head history hostname id ifconfig ' +
-						'import install join kill less let ln local locate logname logout look lpc lpr lprint ' +
-						'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' +
-						'mv netstat nice nl nohup nslookup open op passwd paste pathchk ping popd pr printcap ' +
-						'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' +
-						'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' +
-						'sleep sort source split ssh strace su sudo sum symlink sync tail tar tee test time ' +
-						'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' +
-						'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' +
-						'vi watch wc whereis which who whoami Wget xargs yes'
-						;
-
-		this.regexList = [
-			{ regex: /^#!.*$/gm,											css: 'preprocessor bold' },
-			{ regex: /\/[\w-\/]+/gm,										css: 'plain' },
-			{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments,		css: 'comments' },		// one line comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,			css: 'string' },		// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,			css: 'string' },		// single quoted strings
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),			css: 'keyword' },		// keywords
-			{ regex: new RegExp(this.getKeywords(commands), 'gm'),			css: 'functions' }		// commands
-			];
-	}
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['bash', 'shell'];
-
-	SyntaxHighlighter.brushes.Bash = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushCSharp.js b/source/assets/highlighter/js/shBrushCSharp.js
deleted file mode 100644
index 079214e..0000000
--- a/source/assets/highlighter/js/shBrushCSharp.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'abstract as base bool break byte case catch char checked class const ' +
-						'continue decimal default delegate do double else enum event explicit ' +
-						'extern false finally fixed float for foreach get goto if implicit in int ' +
-						'interface internal is lock long namespace new null object operator out ' +
-						'override params private protected public readonly ref return sbyte sealed set ' +
-						'short sizeof stackalloc static string struct switch this throw true try ' +
-						'typeof uint ulong unchecked unsafe ushort using virtual void while';
-
-		function fixComments(match, regexInfo)
-		{
-			var css = (match[0].indexOf("///") == 0)
-				? 'color1'
-				: 'comments'
-				;
-			
-			return [new SyntaxHighlighter.Match(match[0], match.index, css)];
-		}
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	func : fixComments },		// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },			// multiline comments
-			{ regex: /@"(?:[^"]|"")*"/g,								css: 'string' },			// @-quoted strings
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// strings
-			{ regex: /^\s*#.*/gm,										css: 'preprocessor' },		// preprocessor tags like #region and #endregion
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' },			// c# keyword
-			{ regex: /\bpartial(?=\s+(?:class|interface|struct)\b)/g,	css: 'keyword' },			// contextual keyword: 'partial'
-			{ regex: /\byield(?=\s+(?:return|break)\b)/g,				css: 'keyword' }			// contextual keyword: 'yield'
-			];
-		
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['c#', 'c-sharp', 'csharp'];
-
-	SyntaxHighlighter.brushes.CSharp = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
-
diff --git a/source/assets/highlighter/js/shBrushColdFusion.js b/source/assets/highlighter/js/shBrushColdFusion.js
deleted file mode 100644
index 627dbb9..0000000
--- a/source/assets/highlighter/js/shBrushColdFusion.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Jen
-		// http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus
-	
-		var funcs	=	'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' + 
-						'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' + 
-						'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' + 
-						'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' + 
-						'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' + 
-						'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' + 
-						'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' + 
-						'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' + 
-						'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' + 
-						'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' + 
-						'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' + 
-						'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' + 
-						'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' + 
-						'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' + 
-						'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' + 
-						'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' + 
-						'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' + 
-						'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' + 
-						'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' + 
-						'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' + 
-						'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' + 
-						'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' + 
-						'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' + 
-						'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' + 
-						'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' + 
-						'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' + 
-						'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' + 
-						'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' + 
-						'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' + 
-						'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' + 
-						'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' + 
-						'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' + 
-						'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' + 
-						'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' + 
-						'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' + 
-						'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' + 
-						'XmlValidate Year YesNoFormat';
-
-		var keywords =	'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' + 
-						'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' + 
-						'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' + 
-						'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' + 
-						'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' + 
-						'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' + 
-						'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' + 
-						'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' + 
-						'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' + 
-						'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' + 
-						'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' + 
-						'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' + 
-						'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' + 
-						'cfwindow cfxml cfzip cfzipparam';
-
-		var operators =	'all and any between cross in join like not null or outer some';
-
-		this.regexList = [
-			{ regex: new RegExp('--(.*)$', 'gm'),						css: 'comments' },  // one line and multiline comments
-			{ regex: SyntaxHighlighter.regexLib.xmlComments,			css: 'comments' },    // single quoted strings
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },    // double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },    // single quoted strings
-			{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),		css: 'functions' }, // functions
-			{ regex: new RegExp(this.getKeywords(operators), 'gmi'),	css: 'color1' },    // operators and such
-			{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),		css: 'keyword' }    // keyword
-			];
-	}
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['coldfusion','cf'];
-	
-	SyntaxHighlighter.brushes.ColdFusion = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushCpp.js b/source/assets/highlighter/js/shBrushCpp.js
deleted file mode 100644
index 9f70d3a..0000000
--- a/source/assets/highlighter/js/shBrushCpp.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Copyright 2006 Shin, YoungJin
-	
-		var datatypes =	'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' +
-						'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' +
-						'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' +
-						'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' +
-						'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' +
-						'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' +
-						'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' +
-						'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' +
-						'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' +
-						'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' +
-						'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' +
-						'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' +
-						'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' +
-						'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' +
-						'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' +
-						'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' +
-						'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' +
-						'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' +
-						'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' +
-						'__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' +
-						'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' +
-						'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' +
-						'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' +
-						'va_list wchar_t wctrans_t wctype_t wint_t signed';
-
-		var keywords =	'break case catch class const __finally __exception __try ' +
-						'const_cast continue private public protected __declspec ' +
-						'default delete deprecated dllexport dllimport do dynamic_cast ' +
-						'else enum explicit extern if for friend goto inline ' +
-						'mutable naked namespace new noinline noreturn nothrow ' +
-						'register reinterpret_cast return selectany ' +
-						'sizeof static static_cast struct switch template this ' +
-						'thread throw true false try typedef typeid typename union ' +
-						'using uuid virtual void volatile whcar_t while';
-					
-		var functions =	'assert isalnum isalpha iscntrl isdigit isgraph islower isprint' +
-						'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' +
-						'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' +
-						'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' +
-						'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' +
-						'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' +
-						'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' +
-						'fwrite getc getchar gets perror printf putc putchar puts remove ' +
-						'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' +
-						'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' +
-						'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' +
-						'mbtowc qsort rand realloc srand strtod strtol strtoul system ' +
-						'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' +
-						'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' +
-						'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' +
-						'clock ctime difftime gmtime localtime mktime strftime time';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },			// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },			// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// strings
-			{ regex: /^ *#.*/gm,										css: 'preprocessor' },
-			{ regex: new RegExp(this.getKeywords(datatypes), 'gm'),		css: 'color1 bold' },
-			{ regex: new RegExp(this.getKeywords(functions), 'gm'),		css: 'functions bold' },
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword bold' }
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['cpp', 'c'];
-
-	SyntaxHighlighter.brushes.Cpp = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushCss.js b/source/assets/highlighter/js/shBrushCss.js
deleted file mode 100644
index 4297a9a..0000000
--- a/source/assets/highlighter/js/shBrushCss.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		function getKeywordsCSS(str)
-		{
-			return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
-		};
-	
-		function getValuesCSS(str)
-		{
-			return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
-		};
-
-		var keywords =	'ascent azimuth background-attachment background-color background-image background-position ' +
-						'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
-						'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
-						'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
-						'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
-						'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
-						'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
-						'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
-						'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
-						'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
-						'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
-						'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
-						'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
-						'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
-
-		var values =	'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
-						'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
-						'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+
-						'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
-						'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
-						'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
-						'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
-						'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
-						'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
-						'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
-						'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
-						'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
-						'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
-						'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
-
-		var fonts =		'[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
-	
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },	// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },	// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },	// single quoted strings
-			{ regex: /\#[a-fA-F0-9]{3,6}/g,								css: 'value' },		// html colors
-			{ regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g,				css: 'value' },		// sizes
-			{ regex: /!important/g,										css: 'color3' },	// !important
-			{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'),		css: 'keyword' },	// keywords
-			{ regex: new RegExp(getValuesCSS(values), 'g'),				css: 'value' },		// values
-			{ regex: new RegExp(this.getKeywords(fonts), 'g'),			css: 'color1' }		// fonts
-			];
-
-		this.forHtmlScript({ 
-			left: /(&lt;|<)\s*style.*?(&gt;|>)/gi, 
-			right: /(&lt;|<)\/\s*style\s*(&gt;|>)/gi 
-			});
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['css'];
-
-	SyntaxHighlighter.brushes.CSS = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushDelphi.js b/source/assets/highlighter/js/shBrushDelphi.js
deleted file mode 100644
index e1060d4..0000000
--- a/source/assets/highlighter/js/shBrushDelphi.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +
-						'case char class comp const constructor currency destructor div do double ' +
-						'downto else end except exports extended false file finalization finally ' +
-						'for function goto if implementation in inherited int64 initialization ' +
-						'integer interface is label library longint longword mod nil not object ' +
-						'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' +
-						'pint64 pointer private procedure program property pshortstring pstring ' +
-						'pvariant pwidechar pwidestring protected public published raise real real48 ' +
-						'record repeat set shl shortint shortstring shr single smallint string then ' +
-						'threadvar to true try type unit until uses val var varirnt while widechar ' +
-						'widestring with word write writeln xor';
-
-		this.regexList = [
-			{ regex: /\(\*[\s\S]*?\*\)/gm,								css: 'comments' },  	// multiline comments (* *)
-			{ regex: /{(?!\$)[\s\S]*?}/gm,								css: 'comments' },  	// multiline comments { }
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },  	// one line
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// strings
-			{ regex: /\{\$[a-zA-Z]+ .+\}/g,								css: 'color1' },		// compiler Directives and Region tags
-			{ regex: /\b[\d\.]+\b/g,									css: 'value' },			// numbers 12345
-			{ regex: /\$[a-zA-Z0-9]+\b/g,								css: 'value' },			// numbers $F5D3
-			{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),		css: 'keyword' }		// keyword
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['delphi', 'pascal', 'pas'];
-
-	SyntaxHighlighter.brushes.Delphi = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushDiff.js b/source/assets/highlighter/js/shBrushDiff.js
deleted file mode 100644
index e9b14fc..0000000
--- a/source/assets/highlighter/js/shBrushDiff.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		this.regexList = [
-			{ regex: /^\+\+\+.*$/gm,		css: 'color2' },
-			{ regex: /^\-\-\-.*$/gm,		css: 'color2' },
-			{ regex: /^\s.*$/gm,			css: 'color1' },
-			{ regex: /^@@.*@@$/gm,			css: 'variable' },
-			{ regex: /^\+[^\+]{1}.*$/gm,	css: 'string' },
-			{ regex: /^\-[^\-]{1}.*$/gm,	css: 'comments' }
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['diff', 'patch'];
-
-	SyntaxHighlighter.brushes.Diff = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushErlang.js b/source/assets/highlighter/js/shBrushErlang.js
deleted file mode 100644
index 6ba7d9d..0000000
--- a/source/assets/highlighter/js/shBrushErlang.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Jean-Lou Dupont
-		// http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html  
-
-		// According to: http://erlang.org/doc/reference_manual/introduction.html#1.5
-		var keywords = 'after and andalso band begin bnot bor bsl bsr bxor '+
-			'case catch cond div end fun if let not of or orelse '+
-			'query receive rem try when xor'+
-			// additional
-			' module export import define';
-
-		this.regexList = [
-			{ regex: new RegExp("[A-Z][A-Za-z0-9_]+", 'g'), 			css: 'constants' },
-			{ regex: new RegExp("\\%.+", 'gm'), 						css: 'comments' },
-			{ regex: new RegExp("\\?[A-Za-z0-9_]+", 'g'), 				css: 'preprocessor' },
-			{ regex: new RegExp("[a-z0-9_]+:[a-z0-9_]+", 'g'), 			css: 'functions' },
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },
-			{ regex: new RegExp(this.getKeywords(keywords),	'gm'),		css: 'keyword' }
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['erl', 'erlang'];
-
-	SyntaxHighlighter.brushes.Erland = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushGroovy.js b/source/assets/highlighter/js/shBrushGroovy.js
deleted file mode 100644
index 6ec5c18..0000000
--- a/source/assets/highlighter/js/shBrushGroovy.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Andres Almiray
-		// http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter
-
-		var keywords =	'as assert break case catch class continue def default do else extends finally ' +
-						'if in implements import instanceof interface new package property return switch ' +
-						'throw throws try while public protected private static';
-		var types    =  'void boolean byte char short int long float double';
-		var constants = 'null';
-		var methods   = 'allProperties count get size '+
-						'collect each eachProperty eachPropertyName eachWithIndex find findAll ' +
-						'findIndexOf grep inject max min reverseEach sort ' +
-						'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' +
-						'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' +
-						'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' +
-						'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' +
-						'transformChar transformLine withOutputStream withPrintWriter withStream ' +
-						'withStreams withWriter withWriterAppend write writeLine '+
-						'dump inspect invokeMethod print println step times upto use waitForOrKill '+
-						'getText';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,				css: 'comments' },		// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,					css: 'comments' },		// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,					css: 'string' },		// strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,					css: 'string' },		// strings
-			{ regex: /""".*"""/g,													css: 'string' },		// GStrings
-			{ regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'),	css: 'value' },			// numbers
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),					css: 'keyword' },		// goovy keyword
-			{ regex: new RegExp(this.getKeywords(types), 'gm'),						css: 'color1' },		// goovy/java type
-			{ regex: new RegExp(this.getKeywords(constants), 'gm'),					css: 'constants' },		// constants
-			{ regex: new RegExp(this.getKeywords(methods), 'gm'),					css: 'functions' }		// methods
-			];
-
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	}
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['groovy'];
-
-	SyntaxHighlighter.brushes.Groovy = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushJScript.js b/source/assets/highlighter/js/shBrushJScript.js
deleted file mode 100644
index ff98dab..0000000
--- a/source/assets/highlighter/js/shBrushJScript.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'break case catch continue ' +
-						'default delete do else false  ' +
-						'for function if in instanceof ' +
-						'new null return super switch ' +
-						'this throw true try typeof var while with'
-						;
-
-		var r = SyntaxHighlighter.regexLib;
-		
-		this.regexList = [
-			{ regex: r.multiLineDoubleQuotedString,					css: 'string' },			// double quoted strings
-			{ regex: r.multiLineSingleQuotedString,					css: 'string' },			// single quoted strings
-			{ regex: r.singleLineCComments,							css: 'comments' },			// one line comments
-			{ regex: r.multiLineCComments,							css: 'comments' },			// multiline comments
-			{ regex: /\s*#.*/gm,									css: 'preprocessor' },		// preprocessor tags like #region and #endregion
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }			// keywords
-			];
-	
-		this.forHtmlScript(r.scriptScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['js', 'jscript', 'javascript'];
-
-	SyntaxHighlighter.brushes.JScript = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushJava.js b/source/assets/highlighter/js/shBrushJava.js
deleted file mode 100644
index d692fd6..0000000
--- a/source/assets/highlighter/js/shBrushJava.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'abstract assert boolean break byte case catch char class const ' +
-						'continue default do double else enum extends ' +
-						'false final finally float for goto if implements import ' +
-						'instanceof int interface long native new null ' +
-						'package private protected public return ' +
-						'short static strictfp super switch synchronized this throw throws true ' +
-						'transient try void volatile while';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },		// one line comments
-			{ regex: /\/\*([^\*][\s\S]*)?\*\//gm,						css: 'comments' },	 	// multiline comments
-			{ regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm,					css: 'preprocessor' },	// documentation comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },		// strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// strings
-			{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,				css: 'value' },			// numbers
-			{ regex: /(?!\@interface\b)\@[\$\w]+\b/g,					css: 'color1' },		// annotation @anno
-			{ regex: /\@interface\b/g,									css: 'color2' },		// @interface keyword
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }		// java keyword
-			];
-
-		this.forHtmlScript({
-			left	: /(&lt;|<)%[@!=]?/g, 
-			right	: /%(&gt;|>)/g 
-		});
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['java'];
-
-	SyntaxHighlighter.brushes.Java = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushJavaFX.js b/source/assets/highlighter/js/shBrushJavaFX.js
deleted file mode 100644
index 1a150a6..0000000
--- a/source/assets/highlighter/js/shBrushJavaFX.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Patrick Webster
-		// http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html
-		var datatypes =	'Boolean Byte Character Double Duration '
-						+ 'Float Integer Long Number Short String Void'
-						;
-
-		var keywords = 'abstract after and as assert at before bind bound break catch class '
-						+ 'continue def delete else exclusive extends false finally first for from '
-						+ 'function if import in indexof init insert instanceof into inverse last '
-						+ 'lazy mixin mod nativearray new not null on or override package postinit '
-						+ 'protected public public-init public-read replace return reverse sizeof '
-						+ 'step super then this throw true try tween typeof var where while with '
-						+ 'attribute let private readonly static trigger'
-						;
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },
-			{ regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' },	// numbers
-			{ regex: new RegExp(this.getKeywords(datatypes), 'gm'),		css: 'variable' },	// datatypes
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }
-		];
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['jfx', 'javafx'];
-
-	SyntaxHighlighter.brushes.JavaFX = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushPerl.js b/source/assets/highlighter/js/shBrushPerl.js
deleted file mode 100644
index d94a2e0..0000000
--- a/source/assets/highlighter/js/shBrushPerl.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by David Simmons-Duffin and Marty Kube
-	
-		var funcs = 
-			'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + 
-			'chroot close closedir connect cos crypt defined delete each endgrent ' + 
-			'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + 
-			'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + 
-			'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + 
-			'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + 
-			'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + 
-			'getservbyname getservbyport getservent getsockname getsockopt glob ' + 
-			'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + 
-			'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + 
-			'oct open opendir ord pack pipe pop pos print printf prototype push ' + 
-			'quotemeta rand read readdir readline readlink readpipe recv rename ' + 
-			'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + 
-			'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + 
-			'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + 
-			'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + 
-			'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + 
-			'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + 
-			'undef unlink unpack unshift utime values vec wait waitpid warn write';
-    
-		var keywords =  
-			'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' +
-			'for foreach goto if import last local my next no our package redo ref ' + 
-			'require return sub tie tied unless untie until use wantarray while';
-    
-		this.regexList = [
-			{ regex: new RegExp('#[^!].*$', 'gm'),					css: 'comments' },
-			{ regex: new RegExp('^\\s*#!.*$', 'gm'),				css: 'preprocessor' }, // shebang
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,	css: 'string' },
-			{ regex: new RegExp('(\\$|@|%)\\w+', 'g'),				css: 'variable' },
-			{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),	css: 'functions' },
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }
-		    ];
-
-		this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
-	}
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases		= ['perl', 'Perl', 'pl'];
-
-	SyntaxHighlighter.brushes.Perl = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushPhp.js b/source/assets/highlighter/js/shBrushPhp.js
deleted file mode 100644
index 95e6e43..0000000
--- a/source/assets/highlighter/js/shBrushPhp.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var funcs	=	'abs acos acosh addcslashes addslashes ' +
-						'array_change_key_case array_chunk array_combine array_count_values array_diff '+
-						'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+
-						'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+
-						'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+
-						'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+
-						'array_push array_rand array_reduce array_reverse array_search array_shift '+
-						'array_slice array_splice array_sum array_udiff array_udiff_assoc '+
-						'array_udiff_uassoc array_uintersect array_uintersect_assoc '+
-						'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+
-						'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+
-						'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+
-						'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+
-						'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+
-						'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+
-						'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+
-						'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+
-						'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+
-						'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+
-						'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+
-						'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+
-						'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+
-						'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+
-						'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+
-						'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+
-						'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+
-						'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+
-						'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+
-						'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir '+
-						'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+
-						'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+
-						'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+
-						'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+
-						'strtoupper strtr strval substr substr_compare';
-
-		var keywords =	'abstract and array as break case catch cfunction class clone const continue declare default die do ' +
-						'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach ' +
-						'function include include_once global goto if implements interface instanceof namespace new ' +
-						'old_function or private protected public return require require_once static switch ' +
-						'throw try use var while xor ';
-		
-		var constants	= '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },			// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },			// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// single quoted strings
-			{ regex: /\$\w+/g,											css: 'variable' },			// variables
-			{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),		css: 'functions' },			// common functions
-			{ regex: new RegExp(this.getKeywords(constants), 'gmi'),	css: 'constants' },			// constants
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }			// keyword
-			];
-
-		this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['php'];
-
-	SyntaxHighlighter.brushes.Php = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushPlain.js b/source/assets/highlighter/js/shBrushPlain.js
deleted file mode 100644
index 9f7d9e9..0000000
--- a/source/assets/highlighter/js/shBrushPlain.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['text', 'plain'];
-
-	SyntaxHighlighter.brushes.Plain = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushPowerShell.js b/source/assets/highlighter/js/shBrushPowerShell.js
deleted file mode 100644
index 0be1752..0000000
--- a/source/assets/highlighter/js/shBrushPowerShell.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributes by B.v.Zanten, Getronics
-		// http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro
-
-		var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin Clear(-Content)? Clear-Item ' +
-					'Clear-ItemProperty Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ' +
-					'ConvertTo-Html ConvertTo-SecureString Copy(-Item)? Copy-ItemProperty Export-Alias ' +
-					'Export-Clixml Export-Console Export-Csv ForEach(-Object)? Format-Custom Format-List ' +
-					'Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command ' +
-					'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy ' +
-					'Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member ' +
-					'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service ' +
-					'Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object ' +
-					'Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item ' +
-					'Join-Path Measure-Command Measure-Object Move(-Item)? Move-ItemProperty New-Alias ' +
-					'New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan ' +
-					'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location ' +
-					'Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin ' +
-					'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service ' +
-					'Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content ' +
-					'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug ' +
-					'Set-Service Set-TraceSource Set(-Variable)? Sort-Object Split-Path Start-Service ' +
-					'Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service ' +
-					'Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where(-Object)? ' +
-					'Write-Debug Write-Error Write(-Host)? Write-Output Write-Progress Write-Verbose Write-Warning';
-		var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc fl ' +
-					'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' +
-					'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr ' +
-					'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort sp ' +
-					'spps spsv sv tee cat cd cp h history kill lp ls ' +
-					'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir ' +
-					'erase rd ren type % \\?';
-
-		this.regexList = [
-			{ regex: /#.*$/gm,										css: 'comments' },  // one line comments
-			{ regex: /\$[a-zA-Z0-9]+\b/g,							css: 'value'   },   // variables $Computer1
-			{ regex: /\-[a-zA-Z]+\b/g,								css: 'keyword' },   // Operators    -not  -and  -eq
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },    // strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,	css: 'string' },    // strings
-			{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),	css: 'keyword' },
-			{ regex: new RegExp(this.getKeywords(alias), 'gmi'),	css: 'keyword' }
-		];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['powershell', 'ps'];
-
-	SyntaxHighlighter.brushes.PowerShell = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushPython.js b/source/assets/highlighter/js/shBrushPython.js
deleted file mode 100644
index ce77462..0000000
--- a/source/assets/highlighter/js/shBrushPython.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Gheorghe Milas and Ahmad Sherif
-	
-		var keywords =  'and assert break class continue def del elif else ' +
-						'except exec finally for from global if import in is ' +
-						'lambda not or pass print raise return try yield while';
-
-		var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' +
-					'chr classmethod cmp coerce compile complex delattr dict dir ' +
-					'divmod enumerate eval execfile file filter float format frozenset ' +
-					'getattr globals hasattr hash help hex id input int intern ' +
-					'isinstance issubclass iter len list locals long map max min next ' +
-					'object oct open ord pow print property range raw_input reduce ' +
-					'reload repr reversed round set setattr slice sorted staticmethod ' +
-					'str sum super tuple type type unichr unicode vars xrange zip';
-
-		var special =  'None True False self cls class_';
-
-		this.regexList = [
-				{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' },
-				{ regex: /^\s*@\w+/gm, 										css: 'decorator' },
-				{ regex: /(['\"]{3})([^\1])*?\1/gm, 						css: 'comments' },
-				{ regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, 					css: 'string' },
-				{ regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, 				css: 'string' },
-				{ regex: /\+|\-|\*|\/|\%|=|==/gm, 							css: 'keyword' },
-				{ regex: /\b\d+\.?\w*/g, 									css: 'value' },
-				{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),		css: 'functions' },
-				{ regex: new RegExp(this.getKeywords(keywords), 'gm'), 		css: 'keyword' },
-				{ regex: new RegExp(this.getKeywords(special), 'gm'), 		css: 'color1' }
-				];
-			
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['py', 'python'];
-
-	SyntaxHighlighter.brushes.Python = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushRuby.js b/source/assets/highlighter/js/shBrushRuby.js
deleted file mode 100644
index ff82130..0000000
--- a/source/assets/highlighter/js/shBrushRuby.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Erik Peterson.
-	
-		var keywords =	'alias and BEGIN begin break case class def define_method defined do each else elsif ' +
-						'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +
-						'self super then throw true undef unless until when while yield';
-
-		var builtins =	'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +
-						'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +
-						'ThreadGroup Thread Time TrueClass';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments,	css: 'comments' },		// one line comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },		// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// single quoted strings
-			{ regex: /\b[A-Z0-9_]+\b/g,									css: 'constants' },		// constants
-			{ regex: /:[a-z][A-Za-z0-9_]*/g,							css: 'color2' },		// symbols
-			{ regex: /(\$|@@|@)\w+/g,									css: 'variable bold' },	// $global, @instance, and @@class variables
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' },		// keywords
-			{ regex: new RegExp(this.getKeywords(builtins), 'gm'),		css: 'color1' }			// builtins
-			];
-
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['ruby', 'rails', 'ror', 'rb'];
-
-	SyntaxHighlighter.brushes.Ruby = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushSass.js b/source/assets/highlighter/js/shBrushSass.js
deleted file mode 100644
index aa04da0..0000000
--- a/source/assets/highlighter/js/shBrushSass.js
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		function getKeywordsCSS(str)
-		{
-			return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
-		};
-	
-		function getValuesCSS(str)
-		{
-			return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
-		};
-
-		var keywords =	'ascent azimuth background-attachment background-color background-image background-position ' +
-						'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
-						'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
-						'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
-						'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
-						'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
-						'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
-						'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
-						'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
-						'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
-						'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
-						'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
-						'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
-						'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
-		
-		var values =	'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
-						'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
-						'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double '+
-						'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
-						'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
-						'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
-						'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
-						'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
-						'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
-						'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
-						'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
-						'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
-						'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
-						'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
-		
-		var fonts =		'[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
-		
-		var statements		= '!important !default';
-		var preprocessor	= '@import @extend @debug @warn @if @for @while @mixin @include';
-		
-		var r = SyntaxHighlighter.regexLib;
-		
-		this.regexList = [
-			{ regex: r.multiLineCComments,								css: 'comments' },		// multiline comments
-			{ regex: r.singleLineCComments,								css: 'comments' },		// singleline comments
-			{ regex: r.doubleQuotedString,								css: 'string' },		// double quoted strings
-			{ regex: r.singleQuotedString,								css: 'string' },		// single quoted strings
-			{ regex: /\#[a-fA-F0-9]{3,6}/g,								css: 'value' },			// html colors
-			{ regex: /\b(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)\b/g,			css: 'value' },			// sizes
-			{ regex: /\$\w+/g,											css: 'variable' },		// variables
-			{ regex: new RegExp(this.getKeywords(statements), 'g'),		css: 'color3' },		// statements
-			{ regex: new RegExp(this.getKeywords(preprocessor), 'g'),	css: 'preprocessor' },	// preprocessor
-			{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'),		css: 'keyword' },		// keywords
-			{ regex: new RegExp(getValuesCSS(values), 'g'),				css: 'value' },			// values
-			{ regex: new RegExp(this.getKeywords(fonts), 'g'),			css: 'color1' }			// fonts
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['sass', 'scss'];
-
-	SyntaxHighlighter.brushes.Sass = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushScala.js b/source/assets/highlighter/js/shBrushScala.js
deleted file mode 100644
index 4b0b6f0..0000000
--- a/source/assets/highlighter/js/shBrushScala.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		// Contributed by Yegor Jbanov and David Bernard.
-	
-		var keywords =	'val sealed case def true trait implicit forSome import match object null finally super ' +
-						'override try lazy for var catch throw type extends class while with new final yield abstract ' +
-						'else do if return protected private this package false';
-
-		var keyops =	'[_:=><%#@]+';
-
-		this.regexList = [
-			{ regex: SyntaxHighlighter.regexLib.singleLineCComments,			css: 'comments' },	// one line comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineCComments,				css: 'comments' },	// multiline comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString,	css: 'string' },	// multi-line strings
-			{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString,    css: 'string' },	// double-quoted string
-			{ regex: SyntaxHighlighter.regexLib.singleQuotedString,				css: 'string' },	// strings
-			{ regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi,								css: 'value' },		// numbers
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),				css: 'keyword' },	// keywords
-			{ regex: new RegExp(keyops, 'gm'),									css: 'keyword' }	// scala keyword
-			];
-	}
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['scala'];
-
-	SyntaxHighlighter.brushes.Scala = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushSql.js b/source/assets/highlighter/js/shBrushSql.js
deleted file mode 100644
index 5c2cd88..0000000
--- a/source/assets/highlighter/js/shBrushSql.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var funcs	=	'abs avg case cast coalesce convert count current_timestamp ' +
-						'current_user day isnull left lower month nullif replace right ' +
-						'session_user space substring sum system_user upper user year';
-
-		var keywords =	'absolute action add after alter as asc at authorization begin bigint ' +
-						'binary bit by cascade char character check checkpoint close collate ' +
-						'column commit committed connect connection constraint contains continue ' +
-						'create cube current current_date current_time cursor database date ' +
-						'deallocate dec decimal declare default delete desc distinct double drop ' +
-						'dynamic else end end-exec escape except exec execute false fetch first ' +
-						'float for force foreign forward free from full function global goto grant ' +
-						'group grouping having hour ignore index inner insensitive insert instead ' +
-						'int integer intersect into is isolation key last level load local max min ' +
-						'minute modify move name national nchar next no numeric of off on only ' +
-						'open option order out output partial password precision prepare primary ' +
-						'prior privileges procedure public read real references relative repeatable ' +
-						'restrict return returns revoke rollback rollup rows rule schema scroll ' +
-						'second section select sequence serializable set size smallint static ' +
-						'statistics table temp temporary then time timestamp to top transaction ' +
-						'translation trigger true truncate uncommitted union unique update values ' +
-						'varchar varying view when where with work';
-
-		var operators =	'all and any between cross in join like not null or outer some';
-
-		this.regexList = [
-			{ regex: /--(.*)$/gm,												css: 'comments' },			// one line and multiline comments
-			{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString,	css: 'string' },			// double quoted strings
-			{ regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString,	css: 'string' },			// single quoted strings
-			{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),				css: 'color2' },			// functions
-			{ regex: new RegExp(this.getKeywords(operators), 'gmi'),			css: 'color1' },			// operators and such
-			{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),				css: 'keyword' }			// keyword
-			];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['sql'];
-
-	SyntaxHighlighter.brushes.Sql = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
-
diff --git a/source/assets/highlighter/js/shBrushVb.js b/source/assets/highlighter/js/shBrushVb.js
deleted file mode 100644
index be845dc..0000000
--- a/source/assets/highlighter/js/shBrushVb.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		var keywords =	'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' +
-						'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' +
-						'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' +
-						'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' +
-						'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' +
-						'Function Get GetType GoSub GoTo Handles If Implements Imports In ' +
-						'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' +
-						'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' +
-						'NotInheritable NotOverridable Object On Option Optional Or OrElse ' +
-						'Overloads Overridable Overrides ParamArray Preserve Private Property ' +
-						'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' +
-						'Return Select Set Shadows Shared Short Single Static Step Stop String ' +
-						'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' +
-						'Variant When While With WithEvents WriteOnly Xor';
-
-		this.regexList = [
-			{ regex: /'.*$/gm,										css: 'comments' },			// one line comments
-			{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },			// strings
-			{ regex: /^\s*#.*$/gm,									css: 'preprocessor' },		// preprocessor tags like #region and #endregion
-			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }			// vb keyword
-			];
-
-		this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['vb', 'vbnet'];
-
-	SyntaxHighlighter.brushes.Vb = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shBrushXml.js b/source/assets/highlighter/js/shBrushXml.js
deleted file mode 100644
index 69d9fd0..0000000
--- a/source/assets/highlighter/js/shBrushXml.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-;(function()
-{
-	// CommonJS
-	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
-
-	function Brush()
-	{
-		function process(match, regexInfo)
-		{
-			var constructor = SyntaxHighlighter.Match,
-				code = match[0],
-				tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
-				result = []
-				;
-		
-			if (match.attributes != null) 
-			{
-				var attributes,
-					regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
-										'\\s*=\\s*' +
-										'(?<value> ".*?"|\'.*?\'|\\w+)',
-										'xg');
-
-				while ((attributes = regex.exec(code)) != null) 
-				{
-					result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
-					result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
-				}
-			}
-
-			if (tag != null)
-				result.push(
-					new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
-				);
-
-			return result;
-		}
-	
-		this.regexList = [
-			{ regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),			css: 'color2' },	// <![ ... [ ... ]]>
-			{ regex: SyntaxHighlighter.regexLib.xmlComments,												css: 'comments' },	// <!-- ... -->
-			{ regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
-		];
-	};
-
-	Brush.prototype	= new SyntaxHighlighter.Highlighter();
-	Brush.aliases	= ['xml', 'xhtml', 'xslt', 'html'];
-
-	SyntaxHighlighter.brushes.Xml = Brush;
-
-	// CommonJS
-	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
-})();
diff --git a/source/assets/highlighter/js/shCore.js b/source/assets/highlighter/js/shCore.js
deleted file mode 100644
index b47b645..0000000
--- a/source/assets/highlighter/js/shCore.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f} [...]
diff --git a/source/assets/highlighter/js/shLegacy.js b/source/assets/highlighter/js/shLegacy.js
deleted file mode 100644
index 6d9fd4d..0000000
--- a/source/assets/highlighter/js/shLegacy.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2 a!=1?a.E():1}c=c.I(":");3 g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R c)e[c[j]]="r";k=f(d(k,5.C));l=f(d( [...]
diff --git a/source/assets/highlighter/style/shCore.css b/source/assets/highlighter/style/shCore.css
deleted file mode 100644
index 34f6864..0000000
--- a/source/assets/highlighter/style/shCore.css
+++ /dev/null
@@ -1,226 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
diff --git a/source/assets/highlighter/style/shCoreDefault.css b/source/assets/highlighter/style/shCoreDefault.css
deleted file mode 100644
index 08f9e10..0000000
--- a/source/assets/highlighter/style/shCoreDefault.css
+++ /dev/null
@@ -1,328 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #e0e0e0 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: black !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #6ce26c !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #6ce26c !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: blue !important;
-  background: white !important;
-  border: 1px solid #6ce26c !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: blue !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #6ce26c !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: black !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: blue !important;
-}
-.syntaxhighlighter .keyword {
-  color: #006699 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #006699 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shCoreDjango.css b/source/assets/highlighter/style/shCoreDjango.css
deleted file mode 100644
index 1db1f70..0000000
--- a/source/assets/highlighter/style/shCoreDjango.css
+++ /dev/null
@@ -1,331 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #233729 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: #f8f8f8 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #497958 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #41a83e !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #41a83e !important;
-  color: #0a2b1d !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #96dd3b !important;
-  background: black !important;
-  border: 1px solid #41a83e !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #96dd3b !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #41a83e !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #ffe862 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #f8f8f8 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #336442 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #9df39f !important;
-}
-.syntaxhighlighter .keyword {
-  color: #96dd3b !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #91bb9e !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #96dd3b !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #eb939a !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #91bb9e !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #edef7d !important;
-}
-
-.syntaxhighlighter .comments {
-  font-style: italic !important;
-}
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shCoreEclipse.css b/source/assets/highlighter/style/shCoreEclipse.css
deleted file mode 100644
index a45de9f..0000000
--- a/source/assets/highlighter/style/shCoreEclipse.css
+++ /dev/null
@@ -1,339 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #c3defe !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #787878 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #d4d0c8 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #d4d0c8 !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3f5fbf !important;
-  background: white !important;
-  border: 1px solid #d4d0c8 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #a0a0a0 !important;
-  background: #d4d0c8 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #a0a0a0 !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #2a00ff !important;
-}
-.syntaxhighlighter .keyword {
-  color: #7f0055 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #646464 !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #7f0055 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .xml .keyword {
-  color: #3f7f7f !important;
-  font-weight: normal !important;
-}
-.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
-  color: #7f007f !important;
-}
-.syntaxhighlighter .xml .string {
-  font-style: italic !important;
-  color: #2a00ff !important;
-}
diff --git a/source/assets/highlighter/style/shCoreEmacs.css b/source/assets/highlighter/style/shCoreEmacs.css
deleted file mode 100644
index 706c77a..0000000
--- a/source/assets/highlighter/style/shCoreEmacs.css
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #2a3133 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #990000 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #990000 !important;
-  color: black !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #ebdb8d !important;
-  background: black !important;
-  border: 1px solid #990000 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #ebdb8d !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #990000 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #9ccff4 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #ff9e7b !important;
-}
-.syntaxhighlighter .keyword {
-  color: aqua !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #aec4de !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #81cef9 !important;
-}
-.syntaxhighlighter .constants {
-  color: #ff9e7b !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: aqua !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #ebdb8d !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #aec4de !important;
-}
diff --git a/source/assets/highlighter/style/shCoreFadeToGrey.css b/source/assets/highlighter/style/shCoreFadeToGrey.css
deleted file mode 100644
index 6101eba..0000000
--- a/source/assets/highlighter/style/shCoreFadeToGrey.css
+++ /dev/null
@@ -1,328 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #2c2c29 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: white !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #3185b9 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #3185b9 !important;
-  color: #121212 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3185b9 !important;
-  background: black !important;
-  border: 1px solid #3185b9 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3185b9 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #d01d33 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #3185b9 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #96daff !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: white !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #696854 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #e3e658 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #d01d33 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #435a5f !important;
-}
-.syntaxhighlighter .variable {
-  color: #898989 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #aaaaaa !important;
-}
-.syntaxhighlighter .constants {
-  color: #96daff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #d01d33 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #ffc074 !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #4a8cdb !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #96daff !important;
-}
-
-.syntaxhighlighter .functions {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shCoreMDUltra.css b/source/assets/highlighter/style/shCoreMDUltra.css
deleted file mode 100644
index 2923ce7..0000000
--- a/source/assets/highlighter/style/shCoreMDUltra.css
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #253e5a !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: lime !important;
-}
-.syntaxhighlighter .gutter {
-  color: #38566f !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #222222 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #428bdd !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: lime !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #aaaaff !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #aaaaff !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #9ccff4 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: lime !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: lime !important;
-}
-.syntaxhighlighter .keyword {
-  color: #aaaaff !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .variable {
-  color: aqua !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff8000 !important;
-}
-.syntaxhighlighter .constants {
-  color: yellow !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #aaaaff !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: red !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: yellow !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shCoreMidnight.css b/source/assets/highlighter/style/shCoreMidnight.css
deleted file mode 100644
index e3733ee..0000000
--- a/source/assets/highlighter/style/shCoreMidnight.css
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #253e5a !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: #38566f !important;
-}
-.syntaxhighlighter table caption {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #0f192a !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #428bdd !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #1dc116 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #d1edff !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #1dc116 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #b43d3d !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #b43d3d !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #f8bb00 !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: white !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shCoreRDark.css b/source/assets/highlighter/style/shCoreRDark.css
deleted file mode 100644
index d093683..0000000
--- a/source/assets/highlighter/style/shCoreRDark.css
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #323e41 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter table caption {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #1b2426 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #5ba1cf !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #5ba1cf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #5ce638 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #878a85 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #5ce638 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #5ba1cf !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #435a5f !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #5ba1cf !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: white !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shCoreStruts.css b/source/assets/highlighter/style/shCoreStruts.css
deleted file mode 100644
index 97e0048..0000000
--- a/source/assets/highlighter/style/shCoreStruts.css
+++ /dev/null
@@ -1,339 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter a,
-.syntaxhighlighter div,
-.syntaxhighlighter code,
-.syntaxhighlighter table,
-.syntaxhighlighter table td,
-.syntaxhighlighter table tr,
-.syntaxhighlighter table tbody,
-.syntaxhighlighter table thead,
-.syntaxhighlighter table caption,
-.syntaxhighlighter textarea {
-  -moz-border-radius: 0 0 0 0 !important;
-  -webkit-border-radius: 0 0 0 0 !important;
-  background: none !important;
-  border: 0 !important;
-  bottom: auto !important;
-  float: none !important;
-  height: auto !important;
-  left: auto !important;
-  line-height: 1.1em !important;
-  margin: 0 !important;
-  outline: 0 !important;
-  overflow: visible !important;
-  padding: 0 !important;
-  position: static !important;
-  right: auto !important;
-  text-align: left !important;
-  top: auto !important;
-  vertical-align: baseline !important;
-  width: auto !important;
-  box-sizing: content-box !important;
-  font-family: Monospace !important; 
-  font-weight: normal !important;
-  font-style: normal !important;
-  font-size: 1em !important;
-  min-height: inherit !important;
-  min-height: auto !important;
-}
-
-.syntaxhighlighter {
-  width: 100% !important;
-  margin: 1em 0 1em 0 !important;
-  position: relative !important;
-  overflow: auto !important;
-  font-size: 1em !important;
-}
-.syntaxhighlighter.source {
-  overflow: hidden !important;
-}
-.syntaxhighlighter .bold {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .italic {
-  font-style: italic !important;
-}
-.syntaxhighlighter .line {
-  white-space: pre !important;
-}
-.syntaxhighlighter table {
-  width: 100% !important;
-}
-.syntaxhighlighter table caption {
-  text-align: left !important;
-  padding: .5em 0 0.5em 1em !important;
-}
-.syntaxhighlighter table td.code {
-  width: 100% !important;
-}
-.syntaxhighlighter table td.code .container {
-  position: relative !important;
-}
-.syntaxhighlighter table td.code .container textarea {
-  box-sizing: border-box !important;
-  position: absolute !important;
-  left: 0 !important;
-  top: 0 !important;
-  width: 100% !important;
-  height: 100% !important;
-  border: none !important;
-  background: white !important;
-  padding-left: 1em !important;
-  overflow: hidden !important;
-  white-space: pre !important;
-}
-.syntaxhighlighter table td.gutter .line {
-  text-align: right !important;
-  padding: 0 0.5em 0 1em !important;
-}
-.syntaxhighlighter table td.code .line {
-  padding: 0 1em !important;
-}
-.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line {
-  padding-left: 0em !important;
-}
-.syntaxhighlighter.show {
-  display: block !important;
-}
-.syntaxhighlighter.collapsed table {
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  padding: 0.1em 0.8em 0em 0.8em !important;
-  font-size: 1em !important;
-  position: static !important;
-  width: auto !important;
-  height: auto !important;
-}
-.syntaxhighlighter.collapsed .toolbar span {
-  display: inline !important;
-  margin-right: 1em !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a {
-  padding: 0 !important;
-  display: none !important;
-}
-.syntaxhighlighter.collapsed .toolbar span a.expandSource {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar {
-  position: absolute !important;
-  right: 1px !important;
-  top: 1px !important;
-  width: 11px !important;
-  height: 11px !important;
-  font-size: 10px !important;
-  z-index: 10 !important;
-}
-.syntaxhighlighter .toolbar span.title {
-  display: inline !important;
-}
-.syntaxhighlighter .toolbar a {
-  display: block !important;
-  text-align: center !important;
-  text-decoration: none !important;
-  padding-top: 1px !important;
-}
-.syntaxhighlighter .toolbar a.expandSource {
-  display: none !important;
-}
-.syntaxhighlighter.ie {
-  font-size: .9em !important;
-  padding: 1px 0 1px 0 !important;
-}
-.syntaxhighlighter.ie .toolbar {
-  line-height: 8px !important;
-}
-.syntaxhighlighter.ie .toolbar a {
-  padding-top: 0px !important;
-}
-.syntaxhighlighter.printing .line.alt1 .content,
-.syntaxhighlighter.printing .line.alt2 .content,
-.syntaxhighlighter.printing .line.highlighted .number,
-.syntaxhighlighter.printing .line.highlighted.alt1 .content,
-.syntaxhighlighter.printing .line.highlighted.alt2 .content {
-  background: none !important;
-}
-.syntaxhighlighter.printing .line .number {
-  color: #bbbbbb !important;
-}
-.syntaxhighlighter.printing .line .content {
-  color: black !important;
-}
-.syntaxhighlighter.printing .toolbar {
-  display: none !important;
-}
-.syntaxhighlighter.printing a {
-  text-decoration: none !important;
-}
-.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
-  color: black !important;
-}
-.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a {
-  color: blue !important;
-}
-.syntaxhighlighter.printing .keyword {
-  color: #006699 !important;
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter.printing .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter.printing .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter.printing .script {
-  font-weight: bold !important;
-}
-.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a {
-  color: red !important;
-}
-.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
-  color: black !important;
-}
-
-.syntaxhighlighter {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #c3defe !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #787878 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #d4d0c8 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #d4d0c8 !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3f5fbf !important;
-  background: white !important;
-  border: 1px solid #d4d0c8 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #a0a0a0 !important;
-  background: #d4d0c8 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #a0a0a0 !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #2a00ff !important;
-}
-.syntaxhighlighter .keyword {
-  color: #7f0055 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #646464 !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #7f0055 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .xml .keyword {
-  color: #3f7f7f !important;
-  font-weight: normal !important;
-}
-.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
-  color: #7f007f !important;
-}
-.syntaxhighlighter .xml .string {
-  font-style: italic !important;
-  color: #2a00ff !important;
-}
diff --git a/source/assets/highlighter/style/shThemeDefault.css b/source/assets/highlighter/style/shThemeDefault.css
deleted file mode 100644
index 1365411..0000000
--- a/source/assets/highlighter/style/shThemeDefault.css
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #e0e0e0 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: black !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #6ce26c !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #6ce26c !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: blue !important;
-  background: white !important;
-  border: 1px solid #6ce26c !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: blue !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #6ce26c !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: black !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #008200 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: blue !important;
-}
-.syntaxhighlighter .keyword {
-  color: #006699 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: gray !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #006699 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shThemeDjango.css b/source/assets/highlighter/style/shThemeDjango.css
deleted file mode 100644
index d8b4313..0000000
--- a/source/assets/highlighter/style/shThemeDjango.css
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #0a2b1d !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #233729 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: #f8f8f8 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #497958 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #41a83e !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #41a83e !important;
-  color: #0a2b1d !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #96dd3b !important;
-  background: black !important;
-  border: 1px solid #41a83e !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #96dd3b !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #41a83e !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #ffe862 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #f8f8f8 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #336442 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #9df39f !important;
-}
-.syntaxhighlighter .keyword {
-  color: #96dd3b !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #91bb9e !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #96dd3b !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #eb939a !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #91bb9e !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #edef7d !important;
-}
-
-.syntaxhighlighter .comments {
-  font-style: italic !important;
-}
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shThemeEclipse.css b/source/assets/highlighter/style/shThemeEclipse.css
deleted file mode 100644
index 77377d9..0000000
--- a/source/assets/highlighter/style/shThemeEclipse.css
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: white !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #c3defe !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #787878 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #d4d0c8 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #d4d0c8 !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3f5fbf !important;
-  background: white !important;
-  border: 1px solid #d4d0c8 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #a0a0a0 !important;
-  background: #d4d0c8 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #a0a0a0 !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #2a00ff !important;
-}
-.syntaxhighlighter .keyword {
-  color: #7f0055 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #646464 !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #7f0055 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .xml .keyword {
-  color: #3f7f7f !important;
-  font-weight: normal !important;
-}
-.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
-  color: #7f007f !important;
-}
-.syntaxhighlighter .xml .string {
-  font-style: italic !important;
-  color: #2a00ff !important;
-}
diff --git a/source/assets/highlighter/style/shThemeEmacs.css b/source/assets/highlighter/style/shThemeEmacs.css
deleted file mode 100644
index dae5053..0000000
--- a/source/assets/highlighter/style/shThemeEmacs.css
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: black !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #2a3133 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #990000 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #990000 !important;
-  color: black !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #ebdb8d !important;
-  background: black !important;
-  border: 1px solid #990000 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #ebdb8d !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #990000 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #9ccff4 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #d3d3d3 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #ff9e7b !important;
-}
-.syntaxhighlighter .keyword {
-  color: aqua !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #aec4de !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #81cef9 !important;
-}
-.syntaxhighlighter .constants {
-  color: #ff9e7b !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: aqua !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #ebdb8d !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff7d27 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #aec4de !important;
-}
diff --git a/source/assets/highlighter/style/shThemeFadeToGrey.css b/source/assets/highlighter/style/shThemeFadeToGrey.css
deleted file mode 100644
index 8fbd871..0000000
--- a/source/assets/highlighter/style/shThemeFadeToGrey.css
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #121212 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #2c2c29 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: white !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #3185b9 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #3185b9 !important;
-  color: #121212 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3185b9 !important;
-  background: black !important;
-  border: 1px solid #3185b9 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3185b9 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #d01d33 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #3185b9 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #96daff !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: white !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #696854 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #e3e658 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #d01d33 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #435a5f !important;
-}
-.syntaxhighlighter .variable {
-  color: #898989 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #aaaaaa !important;
-}
-.syntaxhighlighter .constants {
-  color: #96daff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #d01d33 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #ffc074 !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #4a8cdb !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #96daff !important;
-}
-
-.syntaxhighlighter .functions {
-  font-weight: bold !important;
-}
diff --git a/source/assets/highlighter/style/shThemeMDUltra.css b/source/assets/highlighter/style/shThemeMDUltra.css
deleted file mode 100644
index f4db39c..0000000
--- a/source/assets/highlighter/style/shThemeMDUltra.css
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #222222 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #253e5a !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: white !important;
-}
-.syntaxhighlighter table caption {
-  color: lime !important;
-}
-.syntaxhighlighter .gutter {
-  color: #38566f !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #222222 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #428bdd !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: lime !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #aaaaff !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #aaaaff !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #9ccff4 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: lime !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: lime !important;
-}
-.syntaxhighlighter .keyword {
-  color: #aaaaff !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .variable {
-  color: aqua !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff8000 !important;
-}
-.syntaxhighlighter .constants {
-  color: yellow !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #aaaaff !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: red !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: yellow !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shThemeMidnight.css b/source/assets/highlighter/style/shThemeMidnight.css
deleted file mode 100644
index c49563c..0000000
--- a/source/assets/highlighter/style/shThemeMidnight.css
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #0f192a !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #253e5a !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: #38566f !important;
-}
-.syntaxhighlighter table caption {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #0f192a !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #428bdd !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #1dc116 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #d1edff !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #d1edff !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #428bdd !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #1dc116 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #b43d3d !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #8aa6c1 !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #f7e741 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #b43d3d !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #f8bb00 !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: white !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shThemeRDark.css b/source/assets/highlighter/style/shThemeRDark.css
deleted file mode 100644
index 6305a10..0000000
--- a/source/assets/highlighter/style/shThemeRDark.css
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #1b2426 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #323e41 !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter table caption {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter .gutter {
-  color: #afafaf !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #435a5f !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #435a5f !important;
-  color: #1b2426 !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #5ba1cf !important;
-  background: black !important;
-  border: 1px solid #435a5f !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #5ba1cf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #5ce638 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: white !important;
-  background: #435a5f !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: white !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: #b9bdb6 !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #878a85 !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #5ce638 !important;
-}
-.syntaxhighlighter .keyword {
-  color: #5ba1cf !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #435a5f !important;
-}
-.syntaxhighlighter .variable {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ffaa3e !important;
-}
-.syntaxhighlighter .constants {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #5ba1cf !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: #e0e8ff !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: white !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: #ffaa3e !important;
-}
diff --git a/source/assets/highlighter/style/shThemeStruts.css b/source/assets/highlighter/style/shThemeStruts.css
deleted file mode 100644
index 55a6572..0000000
--- a/source/assets/highlighter/style/shThemeStruts.css
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * SyntaxHighlighter
- * http://alexgorbatchev.com/SyntaxHighlighter
- *
- * SyntaxHighlighter is donationware. If you are using it, please donate.
- * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
- *
- * @version
- * 3.0.83 (July 02 2010)
- * 
- * @copyright
- * Copyright (C) 2004-2010 Alex Gorbatchev.
- *
- * @license
- * Dual licensed under the MIT and GPL licenses.
- */
-.syntaxhighlighter {
-  background-color: #f0f0f0 !important;
-}
-.syntaxhighlighter .line.alt1 {
-  background-color: #f0f0f0 !important;
-}
-.syntaxhighlighter .line.alt2 {
-  background-color: #f0f0f0 !important;
-}
-.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 {
-  background-color: #c3defe !important;
-}
-.syntaxhighlighter .line.highlighted.number {
-  color: #f0f0f0 !important;
-}
-.syntaxhighlighter table caption {
-  color: black !important;
-}
-.syntaxhighlighter .gutter {
-  color: #787878 !important;
-}
-.syntaxhighlighter .gutter .line {
-  border-right: 3px solid #d4d0c8 !important;
-}
-.syntaxhighlighter .gutter .line.highlighted {
-  background-color: #d4d0c8 !important;
-  color: white !important;
-}
-.syntaxhighlighter.printing .line .content {
-  border: none !important;
-}
-.syntaxhighlighter.collapsed {
-  overflow: visible !important;
-}
-.syntaxhighlighter.collapsed .toolbar {
-  color: #3f5fbf !important;
-  background: #f0f0f0 !important;
-  border: 1px solid #d4d0c8 !important;
-}
-.syntaxhighlighter.collapsed .toolbar a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter.collapsed .toolbar a:hover {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .toolbar {
-  color: #a0a0a0 !important;
-  background: #d4d0c8 !important;
-  border: none !important;
-}
-.syntaxhighlighter .toolbar a {
-  color: #a0a0a0 !important;
-}
-.syntaxhighlighter .toolbar a:hover {
-  color: red !important;
-}
-.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
-  color: black !important;
-}
-.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
-  color: #3f5fbf !important;
-}
-.syntaxhighlighter .string, .syntaxhighlighter .string a {
-  color: #2a00ff !important;
-}
-.syntaxhighlighter .keyword {
-  color: #7f0055 !important;
-}
-.syntaxhighlighter .preprocessor {
-  color: #646464 !important;
-}
-.syntaxhighlighter .variable {
-  color: #aa7700 !important;
-}
-.syntaxhighlighter .value {
-  color: #009900 !important;
-}
-.syntaxhighlighter .functions {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .constants {
-  color: #0066cc !important;
-}
-.syntaxhighlighter .script {
-  font-weight: bold !important;
-  color: #7f0055 !important;
-  background-color: none !important;
-}
-.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
-  color: gray !important;
-}
-.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
-  color: #ff1493 !important;
-}
-.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
-  color: red !important;
-}
-
-.syntaxhighlighter .keyword {
-  font-weight: bold !important;
-}
-.syntaxhighlighter .xml .keyword {
-  color: #3f7f7f !important;
-  font-weight: normal !important;
-}
-.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
-  color: #7f007f !important;
-}
-.syntaxhighlighter .xml .string {
-  font-style: italic !important;
-  color: #2a00ff !important;
-}


[celix-site] 17/34: Updated links to subprojects

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 0f3de865115de2cdc861656168beab16faf3e8dc
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 22:23:45 2019 +0100

    Updated links to subprojects
---
 source/docs/celix/documents/subprojects/readme.md | 46 +++++++++++------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/source/docs/celix/documents/subprojects/readme.md b/source/docs/celix/documents/subprojects/readme.md
index 8d187ca..a51ac7d 100644
--- a/source/docs/celix/documents/subprojects/readme.md
+++ b/source/docs/celix/documents/subprojects/readme.md
@@ -21,29 +21,29 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-#Apache Celix - Subprojects
+# Apache Celix - Subprojects
 
 Apache Celix is organized into several subprojects. The following subproject are currently available:
 
-* [Framework](../../framework) - The Apache Celix framework, an implementation of OSGi adapted to C.
-* [C Dependency Manager](../../dependency_manager) - A C component/dependency model for use through an API provided as library.
-* [C++ Dependency Manager](../../dependency_manager_cxx) - A C++ component/dependency model for use through an API provided as library.
-* [Device Access](../../device_access) - An implementation of the OSGi Device Access specification adapted to C.
-* [Etcd library](../../etcdlib) - A C library that interfaces with ETCD. 
-* [Examples](../../examples) - A Selection of examples showing how the framework can be used.
-* [Log Service](../../log_service) - An implementation of the OSGi Log Service adapated to C.
-* [Log Writer](../../log_writer) - A simple log writer for use in combination with the Log Service.
-* [Remote Service Admin](../../remote_services) - An implementation of the OSGi Remote Service Admin Service - for several protocols - adapted to C.
-    * [Remote Service Admin HTTP](../../remote_services/remote_service_admin_http) - A HTTP implementation of the RSA.
-    * [Remote Service Admin DFI](../../remote_services/remote_service_admin_dfi) - A Dynamic Function Interface (DFI) implementation of the RSA.
-    * [Remote Service Admin SHM](../../remote_services/remote_service_admin_shm) - A shared memory implementation of the RSA.
-    * [Topology Manager](../../remote_services/topology_manager) - A (scoped) RSA Topology Manager implementation. 
-    * [Discovery Configured](../../remote_services/discovery_configured) - A RSA Discovery implementation using static configuration (xml).
-    * [Discovery Etcd](../../remote_services/dicovery_etcd) - A RSA Discovery implementation using etcd.
-    * [Discovery SHM](../../remote_services/dicovery_shm) - A RSA Discovery implementation using shared memory.
-* [Shell](../../shell) - A OSGi shell implementation.
-* [Shell TUI](../../shell_tui) - A textual UI for the Celix Shell.
-* [Remote Shell](../../remote_shell) - A remote (telnet) frontend for the Celix shell.
-* [Bonjour Shell](../../shell_bonjour) - A remote (Bonjour / mDNS) frontend for the Celix shell.
-* [Deployment Admin](../../deployment_admin) - A deployment admin implementation.
-
+* [Framework](https://github.com/apache/celix/tree/rel/celix-2.1.0/framework) - The Apache Celix framework, an implementation of OSGi adapted to C.
+* [C Dependency Manager](../../dependency_manager/readme.md) - A C component/dependency model for use through an API provided as library.
+* [C++ Dependency Manager](../../dependency_manager_cxx/readme.md) - A C++ component/dependency model for use through an API provided as library.
+* [Device Access](../../device_access/README.md) - An implementation of the OSGi Device Access specification adapted to C.
+* [Etcd library](../../etcdlib/README.md) - A C library that interfaces with ETCD. 
+* [Examples](https://github.com/apache/celix/tree/rel/celix-2.1.0/examples) - A Selection of examples showing how the framework can be used.
+* [Log Service](../../log_service/README.md) - An implementation of the OSGi Log Service adapated to C.
+* [Log Writer](../../log_writer/README.md) - A simple log writer for use in combination with the Log Service.
+* [Remote Service Admin](../../remote_services/README.md) - An implementation of the OSGi Remote Service Admin Service - for several protocols - adapted to C.
+    * [Remote Service Admin HTTP](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_http) - A HTTP implementation of the RSA.
+    * [Remote Service Admin DFI](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_dfi) - A Dynamic Function Interface (DFI) implementation of the RSA.
+    * [Remote Service Admin SHM](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_shm) - A shared memory implementation of the RSA.
+    * [Topology Manager](../../remote_services/topology_manager/README.md) - A (scoped) RSA Topology Manager implementation. 
+    * [Discovery Configured](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_configured) - A RSA Discovery implementation using static configuration (xml).
+    * [Discovery Etcd](../../remote_services/discovery_etcd/README.md) - A RSA Discovery implementation using etcd.
+    * [Discovery SHM](https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_shm) - A RSA Discovery implementation using shared memory.
+* [Shell](../../shell/README.md) - A OSGi shell implementation.
+* [Shell TUI](../../shell_tui/README.md) - A textual UI for the Celix Shell.
+* [Remote Shell](../../remote_shell/README.md) - A remote (telnet) frontend for the Celix shell.
+* [Bonjour Shell](https://github.com/apache/celix/tree/rel/celix-2.1.0/shell_bonjour) - A remote (Bonjour / mDNS) frontend for the Celix shell.
+* [Deployment Admin](../../deployment_admin/README.md) - A deployment admin implementation.
+* [Pubsub](../../pubsub/README.md) - An implementation for a publish-subscribe remote services system, that use dfi library for message serialization.


[celix-site] 29/34: Updated Celix submodule URL to prevent re-authenticating

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit a5e4c5fdabe520e26edf86effeb95253f0b65f53
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 13:38:32 2019 +0200

    Updated Celix submodule URL to prevent re-authenticating
---
 .gitmodules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitmodules b/.gitmodules
index fd7cf23..96b1487 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
 [submodule "celix-src"]
     path = celix-src
-    url = git@github.com:apache/celix.git
+    url = https://github.com/apache/celix.git
     ignore = all


[celix-site] 21/34: Grammatical fix in index.html

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit c1698a4648df1c7b2de8ead1d31957b63b135f62
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Jan 13 15:43:34 2019 +0100

    Grammatical fix in index.html
---
 source/index.html | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/source/index.html b/source/index.html
index 21c4bd4..c97f834 100644
--- a/source/index.html
+++ b/source/index.html
@@ -40,9 +40,8 @@ title: Welcome to Apache Celix
         <div class="card-body">
           <h4 class="card-title">Welcome to Apache Celix</h4>
           <p class="card-text">
-            Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a provides a
-            framework to develop (dynamic) modular software applications using component and/or service-oriented
-            programming.
+            Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a framework to 
+            develop (dynamic) modular software applications using component and/or service-oriented programming.
           </p>
 
           <p class="card-text">


[celix-site] 05/34: CELIX-449: Improvements for 'Submitting Patches' page

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit e37d938e3528df1fdd81862280e3c222f6b141f1
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 18:21:52 2018 +0100

    CELIX-449: Improvements for 'Submitting Patches' page
---
 source/contributing/submitting-patches.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/contributing/submitting-patches.md b/source/contributing/submitting-patches.md
index d9d4d13..ed31a35 100644
--- a/source/contributing/submitting-patches.md
+++ b/source/contributing/submitting-patches.md
@@ -88,11 +88,11 @@ and you are ready to start working on another feature/issue.
 
 Celix uses Git so you must install a git client locally and then you can clone the Celix repository:
 
-either using Apache GitBox (read/write)
+either using Apache GitBox
 
     git clone https://gitbox.apache.org/repos/asf/celix.git    
     
-or GitHub (read/write)
+or GitHub
    
     git clone https://github.com/apache/celix.git
 
@@ -103,8 +103,8 @@ and the most recent work is on the `develop` branch.
 
 ## Non-committers 
 
-If you are not a committer you can still the Apache repo but you won't be able push to any changes to it.
-At that moment, it's easier to use GitHub, as GitHub provides the functionality to open a Pull Request.
+If you are not a committer you can still clone the Gitbox repo but you won't be able push to any changes to it.
+At that moment, it's easier to use GitHub, as GitHub provides the functionality to handle Pull Requests.
 
     git clone https://github.com/apache/celix.git
 


[celix-site] 16/34: Fixing incorrect .alert blocks for releasing.md

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 8a124687ad2083e5df4d397a4c19e3e8370ce290
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Mon Jan 7 18:51:51 2019 +0100

    Fixing incorrect .alert blocks for releasing.md
---
 source/contributing/releasing.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/contributing/releasing.md b/source/contributing/releasing.md
index b2489b1..2e7b489 100644
--- a/source/contributing/releasing.md
+++ b/source/contributing/releasing.md
@@ -58,7 +58,7 @@ set(CELIX_MICRO "Z")
 ```
 
 Note: The DEFAULT_VERSION property is used as default version for new bundles and as such does not need to be updated when making a release.
-{:.alert .alert-block .alert-error}
+{:.alert .alert-primary}
 
 ## Compile and test
 
@@ -204,7 +204,7 @@ This vote will be open for at least 72 hours.
 After this first vote the results must be posted to the "dev" list, see below for more information.
 
 Note: Be sure to use the \[VOTE\] tag, this is used by the automated vote tracking system to keep track of outstanding vote threads.
-{:.alert .alert-block .alert-error}
+{:.alert .alert-primary}
 
 ## Post the vote results
 As mentioned before, after each vote the results must be posted to the corresponding list. This "Result" vote contains the number 
@@ -231,7 +231,7 @@ Thanks for voting.
 
 Note: Be sure to post the vote result with the same topic as the original message. Also prepend the subject 
 with \[RESULT\]. This is, again, needed to be able to keep track of vote threads.
-{:.alert .alert-block .alert-error}
+{:.alert .alert-primary}
 
 ## Roll out release artifacts
 
@@ -278,4 +278,4 @@ The Apache Celix Team
 ```
 
 Note: the email must be sent from an @apache.org address
-{:.alert .alert-block .alert-error}
+{:.alert .alert-primary}


[celix-site] 12/34: CELIX-449: Updated footer to include current ASF event banner

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 10b863e3b8cd6083472cee86cd7ab6d3a73ff762
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sun Dec 30 23:45:33 2018 +0100

    CELIX-449: Updated footer to include current ASF event banner
---
 source/_includes/footer.html | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/source/_includes/footer.html b/source/_includes/footer.html
index 62c37ec..a0e23fd 100644
--- a/source/_includes/footer.html
+++ b/source/_includes/footer.html
@@ -1,12 +1,21 @@
 <!-- Footer -->
 <footer class="py-3 bg-secondary">
     <div class="container">
-        <p class="m-0 text-center text-white">
-            Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
-            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
-            <br>
-            Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
-        </p>
+        <div class="row">
+            <div class="col-md-8 text-center">
+                <p class="m-0 text-white">
+                    Copyright &copy; {{ 'now' | date: "%Y" }} The Apache Software Foundation, Licensed under
+                    the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+                    <br>
+                    Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
+                </p>
+            </div>
+            <div class="col-md-4 text-center">
+                <a href="http://www.apachecon.com/" target="_blank">
+                    <img src="https://www.apache.org/events/current-event-234x60.png" title="Apache Event" width="234" height="60" border="0">
+                </a>
+            </div>
+        </div>
     </div>
 </footer>
 


[celix-site] 25/34: Updated publish script to be able to specify git remote

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 8a51e11fa8a0e26bcc8b36c39e401d846b4fa666
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 7 13:08:04 2019 +0200

    Updated publish script to be able to specify git remote
---
 publish.sh | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/publish.sh b/publish.sh
index 37e1414..62fbb72 100644
--- a/publish.sh
+++ b/publish.sh
@@ -17,6 +17,17 @@
 
 # A script to build the Celix site (based on Hugo)
 
+# Input parameters
+GIT_REMOTE=$1
+if [[ -z "${GIT_REMOTE}" ]]; then
+    echo "Git remote is not specified!"
+    echo "Usage:"
+    echo "  ./publish.sh <remote>"
+    echo "   e.g."
+    echo "  ./publish.sh origin"
+    exit 1
+fi
+
 # specify source and site branches
 SOURCE="master"
 SITE="asf-site"
@@ -60,7 +71,7 @@ git commit -m "${message}" > /dev/null 2>&1
 rm -rf ${tmp_dir}
 
 # Push the SOURCE to the server
-git push -u origin ${SOURCE} > /dev/null 2>&1
+git push -u ${GIT_REMOTE} ${SOURCE} > /dev/null 2>&1
 if [ $? = 0 ]; then
  echo "Push ${SOURCE} successful"
 else
@@ -68,7 +79,7 @@ else
 fi
 
 # Push the SITE to the server
-git push -u origin ${SITE} > /dev/null 2>&1
+git push -u ${GIT_REMOTE} ${SITE} > /dev/null 2>&1
 if [ $? = 0 ]; then
   echo "Push ${SITE} successful"
 else


[celix-site] 22/34: Fixed typos

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 78a5783f0627c04cd6a57ba2e13fd51dfd16dc4d
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Fri Jun 28 18:11:32 2019 +0200

    Fixed typos
---
 source/404.md                    | 6 +++---
 source/contributing/releasing.md | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/404.md b/source/404.md
index 32b7b86..5ac02da 100644
--- a/source/404.md
+++ b/source/404.md
@@ -5,7 +5,7 @@ title: 404 Page Not Found
 
 # 404 Page Not Found
 
-The page was moved or never existed. Use menu above to navigate or go to [home page](/). 
+The page was moved or never existed. Use the menu above to navigate or go to [home page](/). 
 If you noticed any site problem, typos, etc on any page, please correct 
-using "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
-For example, some redirects are configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
+using the "Edit on GitHub" button or check on <https://github.com/apache/celix-site>. 
+For example, redirects can be configured in [`.htaccess`](https://github.com/apache/celix-site/blob/master/source/.htaccess).
diff --git a/source/contributing/releasing.md b/source/contributing/releasing.md
index 2e7b489..5290900 100644
--- a/source/contributing/releasing.md
+++ b/source/contributing/releasing.md
@@ -102,7 +102,7 @@ $ ccmake ../celix
 $ make rat
 ```
 
-Apache RAT should not raise any concers, if there are, check the source files for a license header. If it is a false positive update 
+Apache RAT should not raise any concerns, if there are, check the source files for a license header. If it is a false positive update 
 the rat-excludes.txt file in the root of the project. Be sure it is a false positive! If in doubt, ask the mailing list! Third party 
 licenses may need to be mentioned in the NOTICE file.
 


[celix-site] 03/34: CELIX-449: Improvements for publish.sh script

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit dd41aaa73a4db0ea5e6cb53a8a6dc0c88750953a
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 14:02:20 2018 +0100

    CELIX-449: Improvements for publish.sh script
---
 publish.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/publish.sh b/publish.sh
index 01eddd0..07f7e39 100644
--- a/publish.sh
+++ b/publish.sh
@@ -46,10 +46,10 @@ git checkout ${SITE} > /dev/null 2>&1
 
 # Remove the current contents of the SITE branch and replace them with the contents of the temp folder
 current_dir=${PWD}
-rm -rf ${current_dir}/*
+rm -rf ${current_dir}/content
 git rm -r --cached content/* > /dev/null 2>&1
 mkdir -p ${current_dir}/content
-cp -r ${tmp_dir}/* ${current_dir}/content
+cp -rT ${tmp_dir}/* ${current_dir}/content
 
 # Commit the changes to the SITE branch
 message="Updated site from ${SOURCE} (${last_SHA})"


[celix-site] 02/34: CELIX-449: Correcting line-endings for file

Posted by rl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix-site.git

commit 746819614158d49300ce15ab4584fd555b1a9bfa
Author: Roy Lenferink <rl...@apache.org>
AuthorDate: Sat Dec 29 13:57:58 2018 +0100

    CELIX-449: Correcting line-endings for file
---
 publish.sh | 158 ++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 79 insertions(+), 79 deletions(-)

diff --git a/publish.sh b/publish.sh
index d11e82e..01eddd0 100644
--- a/publish.sh
+++ b/publish.sh
@@ -1,79 +1,79 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A script to build the Celix site (based on jekyll)
-
-# specify source and site branches
-SOURCE="master"
-SITE="asf-site"
-
-# Make sure the SOURCE branch is active
-git checkout ${SOURCE} > /dev/null 2>&1
-
-# Get the latest commit SHA in SOURCE branch
-last_SHA=( $(git log -n 1 --pretty=format:"%H") )
-
-# use last commit sha as temp folder name
-tmp_dir=`mktemp -d`
-out_dir=${tmp_dir}/content
-mkdir -p ${out_dir}
-
-# Build the Jekyll site  to our temporary folder
-bundle exec jekyll build -d ${out_dir} > /dev/null 2>&1
-if [ $? = 0 ]; then
-  echo "Jekyll build successful"
-else
-  echo "Jekyll build failed"
-  exit 1
-fi
-
-# Switch to the SITE branch
-git checkout ${SITE} > /dev/null 2>&1
-
-# Remove the current contents of the SITE branch and replace them with the contents of the temp folder
-current_dir=${PWD}
-rm -rf ${current_dir}/*
-git rm -r --cached content/* > /dev/null 2>&1
-mkdir -p ${current_dir}/content
-cp -r ${tmp_dir}/* ${current_dir}/content
-
-# Commit the changes to the SITE branch
-message="Updated site from ${SOURCE} (${last_SHA})"
-git add -A
-git commit -m "${message}" > /dev/null 2>&1
-
-# Delete the temporary folder
-rm -rf ${tmp_dir}
-
-# Push latest SITE to server
-git push -u origin ${SITE} > /dev/null 2>&1
-if [ $? = 0 ]; then
-  echo "Push ${SITE} successful"
-else
-  echo "Push ${SITE} failed"
-fi
-
-# Switch back to SOURCE branch
-git checkout ${SOURCE} > /dev/null 2>&1
-
-# Push the SOURCE to the server
-git push -u origin ${SOURCE} > /dev/null 2>&1
-if [ $? = 0 ]; then
- echo "Push ${SOURCE} successful"
-else
- echo "Push ${SOURCE} failed"
-fi
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# A script to build the Celix site (based on jekyll)
+
+# specify source and site branches
+SOURCE="master"
+SITE="asf-site"
+
+# Make sure the SOURCE branch is active
+git checkout ${SOURCE} > /dev/null 2>&1
+
+# Get the latest commit SHA in SOURCE branch
+last_SHA=( $(git log -n 1 --pretty=format:"%H") )
+
+# use last commit sha as temp folder name
+tmp_dir=`mktemp -d`
+out_dir=${tmp_dir}/content
+mkdir -p ${out_dir}
+
+# Build the Jekyll site  to our temporary folder
+bundle exec jekyll build -d ${out_dir} > /dev/null 2>&1
+if [ $? = 0 ]; then
+  echo "Jekyll build successful"
+else
+  echo "Jekyll build failed"
+  exit 1
+fi
+
+# Switch to the SITE branch
+git checkout ${SITE} > /dev/null 2>&1
+
+# Remove the current contents of the SITE branch and replace them with the contents of the temp folder
+current_dir=${PWD}
+rm -rf ${current_dir}/*
+git rm -r --cached content/* > /dev/null 2>&1
+mkdir -p ${current_dir}/content
+cp -r ${tmp_dir}/* ${current_dir}/content
+
+# Commit the changes to the SITE branch
+message="Updated site from ${SOURCE} (${last_SHA})"
+git add -A
+git commit -m "${message}" > /dev/null 2>&1
+
+# Delete the temporary folder
+rm -rf ${tmp_dir}
+
+# Push latest SITE to server
+git push -u origin ${SITE} > /dev/null 2>&1
+if [ $? = 0 ]; then
+  echo "Push ${SITE} successful"
+else
+  echo "Push ${SITE} failed"
+fi
+
+# Switch back to SOURCE branch
+git checkout ${SOURCE} > /dev/null 2>&1
+
+# Push the SOURCE to the server
+git push -u origin ${SOURCE} > /dev/null 2>&1
+if [ $? = 0 ]; then
+ echo "Push ${SOURCE} successful"
+else
+ echo "Push ${SOURCE} failed"
+fi