Added new files to directory /2021

Signed-off-by: André Wegmüller <awe@bsiag.com>
diff --git a/2021/LICENSE.txt b/2021/LICENSE.txt
new file mode 100644
index 0000000..294e91d
--- /dev/null
+++ b/2021/LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) HTML5 Boilerplate
+
+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/2021/browserconfig.xml b/2021/browserconfig.xml
new file mode 100644
index 0000000..af74951
--- /dev/null
+++ b/2021/browserconfig.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+  <msapplication>
+    <tile>
+      <square70x70logo src="/img/favicon/ms-icon-70x70.png"/>
+      <square150x150logo src="/img/favicon/ms-icon-150x150.png"/>
+      <square310x310logo src="/img/favicon/ms-icon-310x310.png"/>
+      <TileColor>#ffffff</TileColor>
+    </tile>
+  </msapplication>
+</browserconfig>
diff --git a/2021/css/DaxWeb-Bold.eot b/2021/css/DaxWeb-Bold.eot
new file mode 100644
index 0000000..de0a94a
--- /dev/null
+++ b/2021/css/DaxWeb-Bold.eot
Binary files differ
diff --git a/2021/css/DaxWeb-Bold.woff b/2021/css/DaxWeb-Bold.woff
new file mode 100644
index 0000000..25147f0
--- /dev/null
+++ b/2021/css/DaxWeb-Bold.woff
Binary files differ
diff --git a/2021/css/DaxWeb.eot b/2021/css/DaxWeb.eot
new file mode 100644
index 0000000..bb32b02
--- /dev/null
+++ b/2021/css/DaxWeb.eot
Binary files differ
diff --git a/2021/css/DaxWeb.woff b/2021/css/DaxWeb.woff
new file mode 100644
index 0000000..edaa399
--- /dev/null
+++ b/2021/css/DaxWeb.woff
Binary files differ
diff --git a/2021/css/main.css b/2021/css/main.css
new file mode 100644
index 0000000..6390c50
--- /dev/null
+++ b/2021/css/main.css
@@ -0,0 +1,261 @@
+/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
+
+/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
+/*
+ * What follows is the result of much research on cross-browser styling.
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
+ * Kroc Camen, and the H5BP dev community and team.
+ */
+
+/* ==========================================================================
+   Base styles: opinionated defaults
+   ========================================================================== */
+
+html {
+  color: #222;
+  font-size: 1em;
+  line-height: 1.4;
+}
+
+/*
+ * Remove text-shadow in selection highlight:
+ * https://twitter.com/miketaylr/status/12228805301
+ *
+ * Vendor-prefixed and regular ::selection selectors cannot be combined:
+ * https://stackoverflow.com/a/16982510/7133471
+ *
+ * Customize the background color to match your design.
+ */
+
+::-moz-selection {
+  background: #b3d4fc;
+  text-shadow: none;
+}
+
+::selection {
+  background: #b3d4fc;
+  text-shadow: none;
+}
+
+/*
+ * A better looking default horizontal rule
+ */
+
+hr {
+  display: block;
+  height: 1px;
+  border: 0;
+  border-top: 1px solid #ccc;
+  margin: 1em 0;
+  padding: 0;
+}
+
+/*
+ * Remove the gap between audio, canvas, iframes,
+ * images, videos and the bottom of their containers:
+ * https://github.com/h5bp/html5-boilerplate/issues/440
+ */
+
+audio,
+canvas,
+iframe,
+img,
+svg,
+video {
+  vertical-align: middle;
+}
+
+/*
+ * Remove default fieldset styles.
+ */
+
+fieldset {
+  border: 0;
+  margin: 0;
+  padding: 0;
+}
+
+/*
+ * Allow only vertical resizing of textareas.
+ */
+
+textarea {
+  resize: vertical;
+}
+
+/* ==========================================================================
+   Author's custom styles
+   ========================================================================== */
+
+/* ==========================================================================
+   Helper classes
+   ========================================================================== */
+
+/*
+ * Hide visually and from screen readers
+ */
+.hidden,
+[hidden] {
+  display: none !important;
+}
+
+/*
+ * Hide only visually, but have it available for screen readers:
+ * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
+ *
+ * 1. For long content, line feeds are not interpreted as spaces and small width
+ *    causes content to wrap 1 word per line:
+ *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
+ */
+
+.sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  white-space: nowrap;
+  width: 1px;
+  /* 1 */
+}
+
+/*
+ * Extends the .sr-only class to allow the element
+ * to be focusable when navigated to via the keyboard:
+ * https://www.drupal.org/node/897638
+ */
+
+.sr-only.focusable:active,
+.sr-only.focusable:focus {
+  clip: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  position: static;
+  white-space: inherit;
+  width: auto;
+}
+
+/*
+ * Hide visually and from screen readers, but maintain layout
+ */
+
+.invisible {
+  visibility: hidden;
+}
+
+/*
+ * Clearfix: contain floats
+ *
+ * For modern browsers
+ * 1. The space content is one way to avoid an Opera bug when the
+ *    `contenteditable` attribute is included anywhere else in the document.
+ *    Otherwise it causes space to appear at the top and bottom of elements
+ *    that receive the `clearfix` class.
+ * 2. The use of `table` rather than `block` is only necessary if using
+ *    `:before` to contain the top-margins of child elements.
+ */
+
+.clearfix::before,
+.clearfix::after {
+  content: " ";
+  display: table;
+}
+
+.clearfix::after {
+  clear: both;
+}
+
+/* ==========================================================================
+   EXAMPLE Media Queries for Responsive Design.
+   These examples override the primary ('mobile first') styles.
+   Modify as content requires.
+   ========================================================================== */
+
+@media only screen and (min-width: 35em) {
+  /* Style adjustments for viewports that meet the condition */
+}
+
+@media print,
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 1.25dppx),
+  (min-resolution: 120dpi) {
+  /* Style adjustments for high resolution devices */
+}
+
+/* ==========================================================================
+   Print styles.
+   Inlined to avoid the additional HTTP request:
+   https://www.phpied.com/delay-loading-your-print-css/
+   ========================================================================== */
+
+@media print {
+  *,
+  *::before,
+  *::after {
+    background: #fff !important;
+    color: #000 !important;
+    /* Black prints faster */
+    box-shadow: none !important;
+    text-shadow: none !important;
+  }
+
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+
+  a[href]::after {
+    content: " (" attr(href) ")";
+  }
+
+  abbr[title]::after {
+    content: " (" attr(title) ")";
+  }
+
+  /*
+   * Don't show links that are fragment identifiers,
+   * or use the `javascript:` pseudo protocol
+   */
+  a[href^="#"]::after,
+  a[href^="javascript:"]::after {
+    content: "";
+  }
+
+  pre {
+    white-space: pre-wrap !important;
+  }
+
+  pre,
+  blockquote {
+    border: 1px solid #999;
+    page-break-inside: avoid;
+  }
+
+  /*
+   * Printing Tables:
+   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
+   */
+  thead {
+    display: table-header-group;
+  }
+
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+}
diff --git a/2021/css/normalize.css b/2021/css/normalize.css
new file mode 100644
index 0000000..192eb9c
--- /dev/null
+++ b/2021/css/normalize.css
@@ -0,0 +1,349 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+html {
+  line-height: 1.15; /* 1 */
+  -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+  margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+  display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+  box-sizing: content-box; /* 1 */
+  height: 0; /* 1 */
+  overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+  font-family: monospace, monospace; /* 1 */
+  font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+  background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+  border-bottom: none; /* 1 */
+  text-decoration: underline; /* 2 */
+  text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+  font-family: monospace, monospace; /* 1 */
+  font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+  font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+sup {
+  top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+  border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+  font-family: inherit; /* 1 */
+  font-size: 100%; /* 1 */
+  line-height: 1.15; /* 1 */
+  margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+  overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+  text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  border-style: none;
+  padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+  outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+  padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+
+legend {
+  box-sizing: border-box; /* 1 */
+  color: inherit; /* 2 */
+  display: table; /* 1 */
+  max-width: 100%; /* 1 */
+  padding: 0; /* 3 */
+  white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+  vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+  overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+  box-sizing: border-box; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+  -webkit-appearance: textfield; /* 1 */
+  outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+  -webkit-appearance: button; /* 1 */
+  font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+  display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+  display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+  display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+  display: none;
+}
diff --git a/2021/css/styles.css b/2021/css/styles.css
new file mode 100644
index 0000000..8e83829
--- /dev/null
+++ b/2021/css/styles.css
@@ -0,0 +1,1378 @@
+/*
+ * Copyright (c) BSI Business Systems Integration AG. All rights reserved.
+ * http://www.bsiag.com/
+ */
+@import "normalize.css";
+@import "main.css";
+/* ==== COLORS & SIZES ==== */
+/* ==== MIX-INS ==== */
+.filler {
+  min-height: 440px;
+}
+/* ==========================================================================
+   Website styles.
+   ========================================================================== */
+@font-face {
+  font-family: 'DaxOT';
+  src: url('DaxWeb.eot');
+  src: url('DaxWeb.woff') format('woff');
+  font-weight: 400;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'DaxOT';
+  src: url('DaxWeb-Bold.eot');
+  src: url('DaxWeb-Bold.woff') format('woff');
+  font-weight: 700;
+  /* Bold */
+  font-style: normal;
+}
+body {
+  margin-top: 0;
+  font-family: DaxOT, sans-serif;
+  font-size: 28px;
+  font-style: normal;
+  font-weight: normal;
+  background-color: #E5E5E5;
+}
+body.fixed {
+  overflow: hidden;
+}
+#wrapper {
+  max-width: 1200px;
+  margin: auto;
+  background-color: #FFF;
+}
+#device-detection {
+  font-size: 0.1px;
+}
+#device-detection::before {
+  content: 'desktop';
+}
+/* ==== ANIMATIONS ==== */
+.animate-hide {
+  animation: fade-out 0.35s linear forwards;
+}
+.animate-show {
+  animation: fade-in 0.35s linear forwards;
+}
+@keyframes fade-out {
+  0% {
+    opacity: 1;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes fade-in {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+/* ==== HEADER ==== */
+header {
+  display: flex;
+  padding: 50px 60px;
+  max-width: 1080px;
+  margin: auto;
+  background-color: #FFF;
+}
+#eclipse-scout-logo {
+  margin-top: 5px;
+  white-space: nowrap;
+}
+#eclipse-scout-logo > .logo {
+  background-image: url('../img/eclipse-scout-logo.svg');
+  background-repeat: no-repeat;
+  background-size: contain;
+  width: 35px;
+  height: 31px;
+  display: inline-block;
+  transition: width, height 0.25s ease;
+}
+#eclipse-scout-logo > .text {
+  background-image: url('../img/eclipse-scout-logo-text.svg');
+  background-repeat: no-repeat;
+  background-size: contain;
+  width: 241px;
+  height: 31px;
+  display: inline-block;
+  transition: all 0.25s ease;
+}
+#scout-version-button {
+  margin-top: 6px;
+  margin-right: 10px;
+  text-decoration: none;
+  position: relative;
+  filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.4));
+}
+#scout-version-button:visited {
+  color: #333;
+}
+#scout-version-button:hover > div {
+  color: #FE9915;
+}
+#scout-version-button:hover > svg > circle {
+  stroke: #FE9915;
+}
+#scout-version-button > svg > circle {
+  transition: stroke 0.2s ease;
+}
+#scout-version-button > div {
+  position: absolute;
+  top: 8.5px;
+  left: 6px;
+  color: #333;
+  font-size: 16px;
+  text-align: center;
+  transition: color 0.2s ease;
+}
+#get-started-button {
+  height: 36px;
+  margin-top: 7px;
+  padding: 9px 22px;
+  background-color: #014786;
+  color: #FFF;
+  border: none;
+  border-radius: 3px;
+  font-size: 19px;
+  line-height: 19px;
+  text-transform: uppercase;
+  cursor: pointer;
+  white-space: nowrap;
+  transition: background-color 0.2s ease;
+}
+#get-started-button:hover {
+  background-color: #FE9915;
+}
+/* ==== NAVIGATION ==== */
+/* Desktop */
+#main-navigation {
+  display: flex;
+  flex-grow: 4;
+}
+.navigation-item {
+  font-size: 22px;
+  cursor: pointer;
+  user-select: none;
+  /* ---- Level 1 ---- */
+  /* ---- Level 2 ---- */
+}
+.navigation-item > a {
+  text-decoration: none;
+}
+.navigation-item > a:visited {
+  color: #333;
+}
+.navigation-item.lv1 {
+  margin: 8px 20px;
+}
+.navigation-item.lv1.first {
+  flex-grow: 1;
+  text-align: right;
+}
+.navigation-item.lv1.last {
+  flex-grow: 1;
+}
+.navigation-item.lv1 > .text {
+  color: #333;
+}
+.navigation-item.lv1 > .text:hover {
+  color: #FE9915;
+}
+.navigation-item.lv2 {
+  display: block;
+  text-decoration: none;
+}
+.navigation-item.lv2:not(.last) {
+  margin-bottom: 15px;
+}
+.navigation-item.lv2 .title {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 22px;
+  color: #333;
+  line-height: 24px;
+}
+.navigation-item.lv2 .text {
+  font-size: 16px;
+  color: #333;
+}
+.navigation-item.lv2::before {
+  content: ' ';
+  display: inline-block;
+  width: 38px;
+  height: 30px;
+  background-repeat: no-repeat;
+  vertical-align: top;
+  margin-top: 7px;
+}
+.navigation-item.lv2:visited {
+  color: #333;
+}
+.navigation-item.lv2:hover {
+  color: #FE9915;
+}
+.navigation-item.lv2:hover .title {
+  color: #FE9915;
+}
+.navigation-item.lv2:hover .text {
+  color: #FE9915;
+}
+#icon-eclipse-scout-forum::before {
+  background-image: url('../img/regular/conversation-question-warning-1.svg');
+  fill: currentColor;
+}
+#icon-stack-overflow::before {
+  background-image: url('../img/regular/developer-community-stack-overflow.svg');
+}
+#icon-git-hub::before {
+  background-image: url('../img/regular/developer-community-github-1.svg');
+}
+#icon-bugzilla::before {
+  background-image: url('../img/regular/computer-bug.svg');
+}
+.navigation-item-container {
+  display: inline-block;
+}
+.navigation-lv2-panel {
+  position: absolute;
+  margin-left: -80px;
+  margin-top: 15px;
+  background-color: #FFF;
+  padding: 20px 30px 20px 20px;
+  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.3);
+  z-index: 1;
+  border-radius: 10px;
+  border: solid 1px #E5E5E5;
+}
+.navigation-lv2-panel::before {
+  content: '';
+  position: absolute;
+  background-color: white;
+  width: 20px;
+  height: 20px;
+  transform: rotate(45deg);
+  top: -10px;
+  z-index: 0;
+  left: 127px;
+}
+/* Mobile Navigation */
+#mobile-navigation-button {
+  background-image: url(../img/regular/navigation-menu.svg);
+  background-repeat: no-repeat;
+  background-size: contain;
+  background-color: transparent;
+  width: 36px;
+  min-width: 36px;
+  height: 36px;
+  border: none;
+  cursor: pointer;
+}
+#mobile-navigation-button.open {
+  background-image: url(../img/regular/close.svg);
+  background-size: 26px 26px;
+  background-position-x: 5px;
+  background-position-y: 5px;
+}
+/* ==== FOOTER ==== */
+footer {
+  background: radial-gradient(50% 340% at 70% 50%, #333 0%, rgba(51, 51, 51, 0.87) 100%);
+  color: #FFF;
+  padding: 30px 0 37px 0;
+  font-size: 16px;
+  text-align: center;
+}
+footer a,
+footer a:visited {
+  text-decoration: none;
+  color: #FFF;
+}
+footer a:hover {
+  color: #FE9915;
+}
+footer #copyright {
+  font-weight: bold;
+  margin-top: 10px;
+  margin-bottom: 30px;
+}
+footer #social-media-bar > a {
+  margin: 0 10px;
+}
+footer #social-media-bar > a > img {
+  max-width: 28px;
+  max-height: 28px;
+}
+footer #social-media-bar > a > img.small {
+  max-width: 24px;
+  max-height: 24px;
+}
+footer #eclipse-navigation-bar > a {
+  margin: 0 20px;
+}
+/* ==== INTRO ==== */
+#intro-panel {
+  display: flex;
+  margin: auto auto 50px;
+  width: 80%;
+}
+.intro-column.first {
+  width: calc(55% - 30px);
+  margin-right: 30px;
+}
+.intro-column.first > img {
+  width: 100%;
+  border-radius: 10px;
+  filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.4));
+}
+.intro-column.last {
+  width: 45%;
+}
+.intro-column.last > h1 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 42px;
+  color: #014786;
+  line-height: 48px;
+}
+.intro-column.last > p {
+  font-size: 22px;
+}
+/* ==== FEATURES ==== */
+#features-panel {
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #E9F0F6 43.23%);
+  text-align: center;
+  padding-bottom: 30px;
+}
+#features-panel > h2 {
+  margin: 10px 0;
+  text-align: center;
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 36px;
+  color: #014786;
+}
+#features-panel > p {
+  margin: auto;
+  width: 50%;
+  font-size: 16px;
+}
+#features-panel > p a {
+  text-decoration: none;
+  background-color: #CBDEF0;
+  padding: 0 4px;
+  border-radius: 4px;
+  color: #014786;
+  white-space: nowrap;
+}
+#features-panel > p a:visited {
+  color: #333;
+}
+.features-grid {
+  display: table;
+  width: 75%;
+  margin: 50px auto auto;
+}
+.features-grid-row {
+  display: table-row;
+}
+.features-grid-row.first > .features-grid-tile {
+  border-bottom: solid 1px #666;
+}
+.features-grid-row:not(.first) > .features-grid-tile {
+  padding-top: 10px;
+}
+.features-grid-tile {
+  text-align: center;
+  display: table-cell;
+  padding: 5px;
+  width: 33.33%;
+}
+.features-grid-tile:not(.last) {
+  border-right: solid 1px #666;
+}
+.features-grid-tile > a {
+  display: block;
+  height: 200px;
+  padding: 10px;
+  border-radius: 10px;
+  text-decoration: none;
+  transition: background-color 0.2s ease;
+}
+.features-grid-tile > a:visited {
+  color: #333;
+}
+.features-grid-tile > a:visited > div,
+.features-grid-tile > a:visited p {
+  color: #333;
+}
+.features-grid-tile > a:hover {
+  background-color: rgba(255, 255, 255, 0.7);
+}
+.features-grid-tile > a:hover > div {
+  color: #014786;
+}
+.features-grid-tile > a > img {
+  max-width: 70px;
+}
+.features-grid-tile > a > div {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 22px;
+  margin: 15px 0 0 0;
+  color: #333;
+}
+.features-grid-tile > a > p {
+  font-size: 16px;
+  margin-top: 8px;
+  color: #333;
+}
+/* ==== DEMO-APPS ==== */
+#demo-apps-panel {
+  margin: auto;
+  padding: 30px 0;
+  width: 80%;
+}
+#demo-apps-panel > h2 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 36px;
+  color: #014786;
+  margin-bottom: 10px;
+  text-align: left;
+}
+#demo-apps-navigation {
+  position: relative;
+  text-align: center;
+  margin: 30px 0;
+}
+.donut-line {
+  position: absolute;
+  height: 3px;
+  width: 96%;
+  top: 25px;
+  left: 2%;
+  background-color: #BBB;
+}
+.demo-apps-buttons {
+  display: flex;
+  width: 100%;
+  position: relative;
+}
+.demo-app-button-column {
+  text-align: center;
+  flex-grow: 1;
+}
+.demo-app-button-column.first {
+  text-align: left;
+}
+.demo-app-button-column.last {
+  text-align: right;
+}
+.demo-app-button {
+  display: inline-block;
+  text-align: center;
+  cursor: pointer;
+}
+.demo-app-button > .demo-app-button-donut {
+  padding: 0 10px;
+  background-color: #FFF;
+}
+.demo-app-button > .demo-app-button-donut > .outer {
+  fill: #333;
+  transition: fill 0.25s ease;
+}
+.demo-app-button > .demo-app-button-donut > .inner {
+  fill: #FFF;
+}
+.demo-app-button > .demo-app-button-label {
+  font-size: 22px;
+  text-align: center;
+  transition: color 0.25s ease;
+  user-select: none;
+}
+.demo-app-button:hover:not(.active) > .demo-app-button-label {
+  color: #FE9915;
+}
+.demo-app-button:hover:not(.active) > .demo-app-button-donut > .outer {
+  fill: #FE9915;
+}
+.demo-app-button.active {
+  cursor: default;
+}
+.demo-app-button.active > .demo-app-button-donut > .outer {
+  fill: #014786;
+}
+.demo-app-button.active > .demo-app-button-label {
+  color: #014786;
+}
+.demo-app-description {
+  text-align: left;
+  width: calc(45% - 30px);
+  margin-right: 30px;
+}
+.demo-app-description > div {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 32px;
+  color: #333;
+  margin-bottom: 10px;
+}
+.demo-app-description > p {
+  font-size: 22px;
+  margin-top: 0;
+}
+.demo-app-description > .launch-app-link {
+  font-size: 22px;
+  color: #014786;
+  text-decoration: none;
+  font-weight: bold;
+}
+.demo-app-description > .launch-app-link::after {
+  content: ' ';
+  display: inline-block;
+  margin-bottom: -4px;
+  margin-left: 12px;
+  background-image: url('../img/arrow-blue.svg');
+  background-repeat: no-repeat;
+  background-size: 30px;
+  width: 30px;
+  height: 21px;
+}
+.demo-app-description > .launch-app-link:hover {
+  color: #FE9915;
+  text-decoration: none;
+  font-weight: bold;
+}
+.demo-app-description > .launch-app-link:hover::after {
+  content: ' ';
+  display: inline-block;
+  margin-bottom: -4px;
+  margin-left: 12px;
+  background-image: url('../img/arrow-orange.svg');
+  background-repeat: no-repeat;
+  background-size: 30px;
+  width: 30px;
+  height: 21px;
+}
+#demo-app-container-wrapper {
+  position: relative;
+  height: 370px;
+}
+.demo-app-container {
+  position: absolute;
+  display: flex;
+}
+.demo-app-image {
+  text-align: center;
+  width: 55%;
+}
+.demo-app-image > a > img {
+  max-width: calc(100% - 2px);
+  border-radius: 10px;
+  filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.4));
+}
+/* ==== GETTING STARTED ==== */
+#getting-started-panel {
+  background: radial-gradient(50% 340% at 70% 50%, #333 0%, rgba(51, 51, 51, 0.8) 100%);
+}
+#getting-started-panel-columns {
+  display: flex;
+  margin: auto;
+  padding: 30px 0 37px 0;
+  width: 80%;
+}
+.getting-started-column {
+  width: 33%;
+  color: #FFF;
+  text-align: center;
+}
+.getting-started-column.center {
+  text-align: center;
+  vertical-align: middle;
+  opacity: 0.85;
+}
+.getting-started-column.center > img {
+  width: 50%;
+  margin-top: 30px;
+}
+.getting-started-column > h3 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 32px;
+  color: #FFF;
+  margin-bottom: 10px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.getting-started-column > p {
+  color: #EEE;
+  font-size: 22px;
+  margin-top: 0;
+}
+.getting-started-column > .get-started-link {
+  color: #FFF;
+  text-decoration: none;
+  font-weight: bold;
+  font-size: 22px;
+  color: #73BDFF;
+}
+.getting-started-column > .get-started-link::after {
+  content: ' ';
+  display: inline-block;
+  margin-bottom: -4px;
+  margin-left: 12px;
+  background-image: url('../img/arrow-medium-blue.svg');
+  background-repeat: no-repeat;
+  background-size: 30px;
+  width: 30px;
+  height: 21px;
+}
+.getting-started-column > .get-started-link:hover {
+  text-decoration: none;
+  font-weight: bold;
+  color: #FE9915;
+}
+.getting-started-column > .get-started-link:hover::after {
+  content: ' ';
+  display: inline-block;
+  margin-bottom: -4px;
+  margin-left: 12px;
+  background-image: url('../img/arrow-orange.svg');
+  background-repeat: no-repeat;
+  background-size: 30px;
+  width: 30px;
+  height: 21px;
+}
+/* ==== TRY SCOUT JS ==== */
+#try-scout-js-panel {
+  margin: auto;
+  width: 80%;
+}
+#try-scout-js-columns {
+  margin: 50px 0 59px 0;
+  display: flex;
+}
+.try-scout-js-column.first {
+  width: calc(33% - 30px);
+  margin-right: 30px;
+  padding-top: 53px;
+}
+.try-scout-js-column.last {
+  width: 66%;
+}
+.try-scout-js-column > h3 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 32px;
+  color: #014786;
+  margin-bottom: 10px;
+}
+.try-scout-js-column > p {
+  font-size: 22px;
+  margin-top: 0;
+}
+/* This class is generated by CodePen - it may change without notice! */
+.cp_embed_wrapper {
+  background-color: #E5E5E5;
+  /* use while CodePen is loading */
+}
+/* ==== CONTENT ==== */
+#content-header {
+  width: 60%;
+  padding: 0 20%;
+  margin: auto auto calc(10% + 50px);
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #E9F0F6 43.23%);
+  text-align: center;
+}
+#content-header a {
+  text-decoration: none;
+  background-color: #CBDEF0;
+  padding: 0 6px;
+  border-radius: 4px;
+  color: #014786;
+  white-space: nowrap;
+}
+#content-header a:visited {
+  color: #333;
+}
+#content-header > h1 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 42px;
+  color: #014786;
+  line-height: 48px;
+}
+#content-header > p {
+  font-size: 22px;
+  text-align: justify;
+}
+#content-header > img {
+  width: 90%;
+  border-radius: 10px;
+  margin-bottom: -10%;
+  filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.4));
+}
+.content-block {
+  margin: auto;
+  width: 100%;
+  padding: 4% 10%;
+  box-sizing: border-box;
+}
+.content-block > h3 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 22px;
+  color: #333;
+}
+.content-block.first {
+  padding-top: 0;
+}
+.content-block.alt-color {
+  background-color: rgba(233, 240, 246, 0.3);
+}
+.content-block > .content-block-columns {
+  display: flex;
+}
+.content-block > .content-block-columns > .content-block-column.first {
+  width: calc(45% - 50px);
+  margin-right: 50px;
+}
+.content-block > .content-block-columns > .content-block-column.first > img {
+  width: 100%;
+  border-radius: 10px;
+  filter: drop-shadow(0px 6px 15px rgba(0, 0, 0, 0.4));
+}
+.content-block > .content-block-columns > .content-block-column.last {
+  width: 55%;
+  font-size: 16px;
+}
+.content-block > .content-block-columns > .content-block-column.last a {
+  text-decoration: none;
+  background-color: #CBDEF0;
+  padding: 0 4px;
+  border-radius: 4px;
+  color: #014786;
+  white-space: nowrap;
+}
+.content-block > .content-block-columns > .content-block-column.last a:visited {
+  color: #333;
+}
+.content-block > .content-block-columns > .content-block-column.last ul {
+  list-style: none;
+  padding-inline-start: 0;
+}
+.content-block > .content-block-columns > .content-block-column.last li {
+  margin-bottom: 5px;
+}
+.content-block > .content-block-columns > .content-block-column.last li::before {
+  content: ' ';
+  display: inline-block;
+  width: 20px;
+  height: 22px;
+  background-image: url(../img/arrow-blue.svg);
+  background-size: contain;
+  background-repeat: no-repeat;
+  background-position-y: 4px;
+  vertical-align: top;
+  margin-right: 8px;
+}
+.content-block > .content-block-columns > .content-block-column.last > p {
+  margin-top: 0;
+}
+/* ==== VERSIONS ==== */
+#versions-header {
+  width: 60%;
+  padding: 0 20% 1px 20%;
+  margin-bottom: 10px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #E9F0F6 43.23%);
+  text-align: center;
+}
+#versions-header > h1 {
+  margin-top: 0;
+  font-weight: bold;
+  font-size: 42px;
+  color: #014786;
+  line-height: 48px;
+}
+#versions-header > p {
+  font-size: 22px;
+  text-align: justify;
+}
+#older-versions-info {
+  font-size: 16px;
+  text-align: center;
+  margin: 35px 0;
+}
+#older-versions-info > a:visited {
+  color: #014786;
+}
+.version-marker {
+  text-transform: uppercase;
+  font-weight: bold;
+  color: #014786;
+}
+.version-target {
+  color: #333;
+}
+/* ==== TABLE ==== */
+.content-table {
+  font-size: 16px;
+  border-collapse: collapse;
+  margin: auto;
+}
+.content-table td {
+  border-bottom: solid 1px #BBB;
+  padding: 10px 15px;
+}
+.content-table td.first {
+  padding-left: 30px;
+  padding-right: 0;
+}
+.content-table td.last {
+  padding-right: 30px;
+}
+.content-table td > a:not([id]) {
+  color: #014786;
+}
+.content-table td > a:not([id]):visited {
+  color: #014786;
+}
+/* ==== TOOLTIPS ==== */
+.tooltip {
+  position: relative;
+  display: inline-block;
+  border-bottom: 1px dashed #333;
+}
+.tooltip > .tooltip-text {
+  display: none;
+  width: 250px;
+  background-color: #333;
+  color: #FFF;
+  text-align: justify;
+  border-radius: 6px;
+  padding: 5px 10px;
+  position: absolute;
+  z-index: 1;
+  top: 150%;
+  left: 50%;
+  margin-left: -125px;
+  font-size: 16px;
+  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
+}
+.tooltip > .tooltip-text::after {
+  content: '';
+  position: absolute;
+  bottom: 100%;
+  left: 50%;
+  margin-left: -5px;
+  border-width: 5px;
+  border-style: solid;
+  border-color: transparent transparent #333 transparent;
+}
+.tooltip > .tooltip-text.adjust-left::after {
+  left: 15%;
+}
+.tooltip > .tooltip-text.adjust-right::after {
+  left: 85%;
+}
+.tooltip:hover:not(.ios) > .tooltip-text,
+.tooltip.hover.ios > .tooltip-text {
+  display: block;
+}
+.tooltip.inverted {
+  color: #EEE;
+  border-color: #EEE;
+}
+.tooltip.inverted > .tooltip-text {
+  background-color: #FFF;
+  color: #333;
+}
+.tooltip.inverted > .tooltip-text::after {
+  border-bottom-color: #FFF;
+}
+/* ==== MEDIA QUERIES & RESPONSIVENESS ==== */
+.desktop-only {
+  display: block;
+}
+.mobile-only {
+  display: none;
+}
+/* >= 1000px: desktop mode
+   >= 750 and < 1000px: make logo smaller, desktop or tablet mode
+   < 750px: mobile mode: re-order items, change navigation
+ */
+/* ---- Smaller Desktop Mode ---- */
+@media screen and (max-width: 999px) {
+  #eclipse-scout-logo {
+    margin-top: 5px;
+  }
+  #eclipse-scout-logo > .logo {
+    height: 40px;
+    background-size: cover;
+  }
+  #eclipse-scout-logo > .text {
+    opacity: 0;
+    width: 0;
+  }
+  .intro-column.last > h1 {
+    font-size: 32px;
+    line-height: calc(32px + 2px);
+  }
+  .intro-column.last > p {
+    font-size: 16px;
+  }
+  /* Features */
+  #features-panel > h2 {
+    font-size: 22px;
+  }
+  #features-panel > p {
+    width: 60%;
+  }
+  .features-grid-tile > a > img {
+    max-width: 60px;
+  }
+  .features-grid-tile > a > div {
+    font-size: 19px;
+  }
+  .features-grid-tile > a > p {
+    font-size: 14px;
+  }
+  #demo-apps-panel > h2 {
+    font-size: 22px;
+  }
+  #demo-app-container-wrapper {
+    height: 280px;
+  }
+  .demo-app-button > .demo-app-button-label {
+    font-size: 16px;
+  }
+  .demo-app-description > div {
+    font-size: 19px;
+  }
+  .demo-app-description > p {
+    font-size: 14px;
+  }
+  .demo-app-description > .launch-app-link {
+    font-size: 19px;
+  }
+  .demo-app-description > .launch-app-link::after {
+    background-size: 24px;
+    width: 24px;
+    height: 18px;
+  }
+  .demo-app-description > .launch-app-link:hover::after {
+    background-size: 24px;
+    width: 24px;
+    height: 18px;
+  }
+  .getting-started-column > h3 {
+    font-size: 19px;
+  }
+  .getting-started-column > p {
+    font-size: 14px;
+  }
+  .getting-started-column > .get-started-link {
+    font-size: 19px;
+  }
+  .getting-started-column > .get-started-link::after {
+    background-size: 24px;
+    width: 24px;
+    height: 18px;
+  }
+  .getting-started-column > .get-started-link:hover::after {
+    background-size: 24px;
+    width: 24px;
+    height: 18px;
+  }
+  .try-scout-js-column > h3 {
+    font-size: 19px;
+  }
+  .try-scout-js-column > p {
+    font-size: 14px;
+  }
+  #device-detection::before {
+    content: 'tablet';
+  }
+}
+/* ==== MOBILE MODE ==== */
+@media screen and (max-width: 749px) {
+  .desktop-only {
+    display: none !important;
+  }
+  .mobile-only {
+    display: block;
+  }
+  .filler {
+    min-height: auto;
+  }
+  body {
+    background-color: #FFF;
+  }
+  /* ---- Header ---- */
+  header {
+    padding: 10px 15px;
+    margin-bottom: 30px;
+    border-bottom: solid 1px #1482A1;
+  }
+  body.fixed > #wrapper {
+    filter: blur(2px);
+    pointer-events: none;
+  }
+  #eclipse-scout-logo {
+    flex-grow: 1;
+    margin-top: 6px;
+    height: 24px;
+    display: flex;
+  }
+  #eclipse-scout-logo > .logo {
+    display: block;
+    width: 35px;
+    height: 31px;
+    background-size: contain;
+  }
+  #eclipse-scout-logo > .text {
+    display: block;
+    opacity: 1;
+    width: 190px;
+    margin-top: 1.5px;
+  }
+  /* ---- Navigation ---- */
+  #main-navigation {
+    display: none;
+    position: fixed;
+    padding-top: 10px;
+    background: #014786;
+    background: radial-gradient(circle, #014786 33%, #0c2842 98%);
+    top: 56px;
+    right: 0;
+    height: calc(100% - 58px);
+    z-index: 1;
+    color: white;
+    width: 55%;
+    transition: margin 0.35s ease;
+    margin-right: -55%;
+  }
+  #main-navigation.open {
+    display: block;
+  }
+  #main-navigation.navigation-slide-in {
+    margin-right: 0;
+  }
+  #main-navigation .navigation-item {
+    font-size: 19px;
+  }
+  #main-navigation .navigation-item.first {
+    text-align: left;
+  }
+  #main-navigation .navigation-item.has-children > .text::after {
+    display: inline-block;
+    float: right;
+    content: '';
+    width: 16px;
+    height: 16px;
+    margin-top: 4px;
+    background-image: url(../img/regular/arrow-down-1.svg);
+    background-size: contain;
+    background-repeat: no-repeat;
+    transition: transform 0.25s ease;
+  }
+  #main-navigation .navigation-item.has-children > .text.open::after {
+    transform: rotate(180deg);
+  }
+  #main-navigation .navigation-item.lv1 > .text {
+    color: white;
+  }
+  #main-navigation .navigation-item.lv2 {
+    margin-left: 1px;
+    margin-bottom: 9px !important;
+    margin-top: 9px;
+  }
+  #main-navigation .navigation-item.lv2::before {
+    display: none !important;
+  }
+  #main-navigation .navigation-item.lv2 > .navigation-item-container > .title {
+    font-size: 16px;
+    font-weight: normal;
+    color: #CBDEF0;
+  }
+  #main-navigation .navigation-item.lv2 > .navigation-item-container > .text {
+    display: none !important;
+  }
+  #main-navigation .navigation-item > a {
+    color: white;
+  }
+  .navigation-lv2-panel {
+    position: static;
+    margin: 0;
+    background-color: transparent;
+    padding: 0;
+    box-shadow: none;
+    z-index: inherit;
+    border-radius: 0;
+    border: none;
+    overflow: hidden;
+    transition: max-height 0.4s ease;
+    max-height: 200px;
+    height: auto;
+  }
+  .navigation-lv2-panel::before {
+    content: none;
+  }
+  .navigation-lv2-panel.hidden {
+    display: inherit !important;
+    max-height: 0;
+  }
+  /* ---- Intro ---- */
+  #intro-panel {
+    flex-direction: column-reverse;
+    margin: auto 15px 30px 15px;
+    width: calc(100% - 2 * 15px);
+  }
+  .intro-column.first {
+    width: auto;
+    margin-right: 0;
+    text-align: center;
+  }
+  .intro-column.first > img {
+    width: auto;
+    max-height: 240px;
+    max-width: 100%;
+  }
+  .intro-column.last {
+    width: 100%;
+  }
+  /* ---- Features ---- */
+  #features-panel {
+    text-align: left;
+    padding-bottom: 10px;
+  }
+  #features-panel > h2 {
+    text-align: left;
+    padding: 0 15px;
+  }
+  #features-panel > p {
+    text-align: left;
+    width: auto;
+    padding: 0 15px;
+    margin-bottom: 15px;
+  }
+  .features-grid {
+    display: flex;
+    width: auto;
+    overflow-x: scroll;
+    overflow-y: hidden;
+    height: 250px;
+    padding: 0 calc(15px / 2);
+    margin-top: 15px;
+  }
+  .features-grid-row {
+    display: flex;
+  }
+  .features-grid-row.first > .features-grid-tile {
+    border-bottom: none;
+  }
+  .features-grid-row:not(.first) > .features-grid-tile {
+    padding: 5px;
+  }
+  .features-grid-tile {
+    display: block;
+    width: auto;
+  }
+  .features-grid-tile > a {
+    display: block;
+    width: 185px;
+    height: 205px;
+    border: solid 1px #ccc;
+    background-color: rgba(255, 255, 255, 0.5);
+  }
+  .features-grid-tile:not(.last) {
+    border-right: none;
+  }
+  /* ---- Demo Apps ---- */
+  #demo-apps-panel {
+    width: calc(100% - 2 * 15px);
+    padding: 15px 0;
+  }
+  #demo-apps-navigation {
+    margin: 20px 0 10px 0;
+  }
+  #demo-app-container-wrapper {
+    height: 370px;
+    max-width: 500px;
+    margin: auto;
+  }
+  .donut-line {
+    height: 2px;
+    top: 20px;
+  }
+  .demo-app-container {
+    flex-direction: column-reverse;
+    right: 0;
+    left: 0;
+  }
+  .demo-apps-buttons {
+    width: 100%;
+  }
+  .demo-app-button > .demo-app-button-donut {
+    padding: 0 7px;
+    width: 40px;
+    height: 40px;
+  }
+  .demo-app-image {
+    width: auto;
+    margin-bottom: 15px;
+  }
+  .demo-app-image > a > img {
+    max-height: 240px;
+  }
+  .demo-app-description {
+    margin: auto;
+    text-align: center;
+    width: 100%;
+  }
+  .demo-app-description > div {
+    font-size: 19px;
+    margin-bottom: 0;
+  }
+  .demo-app-description > p {
+    font-size: 14px;
+    margin-bottom: 0;
+    margin-top: 0;
+  }
+  /* ---- Getting Started ---- */
+  #getting-started-panel-columns {
+    width: calc(100% - 2 * 15px);
+    padding: calc(2 * 15px) 0;
+  }
+  .getting-started-column {
+    width: 50%;
+    text-align: center;
+  }
+  .getting-started-column.first {
+    border-right: 1px solid #BBB;
+    padding-right: 10px;
+    padding-left: 0;
+  }
+  .getting-started-column.center {
+    display: none;
+  }
+  .getting-started-column.last {
+    padding-left: 10px;
+  }
+  .getting-started-column > h3 {
+    white-space: inherit;
+    min-height: 55px;
+  }
+  .getting-started-column > p {
+    white-space: inherit;
+    min-height: 100px;
+    max-width: 200px;
+    margin: auto;
+  }
+  /* ---- Try Scout ---- */
+  #try-scout-js-panel {
+    width: calc(100% - 2 * 15px);
+  }
+  #try-scout-js-columns {
+    flex-direction: column;
+    margin: 20px 0 29px 0;
+  }
+  .try-scout-js-column.last {
+    width: auto;
+  }
+  .try-scout-js-column.first {
+    width: auto;
+    margin-right: 0;
+    padding-top: 0;
+  }
+  /* ---- Footer ---- */
+  footer {
+    padding: 30px 0 20px 0;
+  }
+  footer #eclipse-navigation-bar {
+    width: 80%;
+    margin: auto;
+    text-align: left;
+  }
+  footer #eclipse-navigation-bar > a {
+    display: inline-block;
+    width: 49%;
+    text-align: center;
+    margin: 0 0 10px 0;
+  }
+  /* ---- Content ---- */
+  #content-header {
+    width: calc(100% - 2 * 15px);
+    padding: 0 15px;
+    margin: 0 0 17% 0;
+  }
+  #content-header > p {
+    max-width: 600px;
+    margin: auto auto 30px auto;
+  }
+  #content-header > img {
+    max-height: 240px;
+    max-width: 100%;
+    width: auto;
+  }
+  .content-block {
+    padding: 5% 15px;
+  }
+  .content-block > .content-block-columns {
+    display: block;
+  }
+  .content-block > .content-block-columns > .content-block-column.first {
+    width: 100%;
+    margin: 0 0 15px 0;
+    text-align: center;
+  }
+  .content-block > .content-block-columns > .content-block-column.first > img {
+    max-height: 240px;
+    max-width: 100%;
+    width: auto;
+  }
+  .content-block > .content-block-columns > .content-block-column.last {
+    width: 100%;
+    margin: 0;
+  }
+  /* ---- Versions ---- */
+  #versions-header {
+    width: calc(100% - 2 * 15px);
+    padding: 0 15px 30px 15px;
+  }
+  #versions-header > p {
+    max-width: 600px;
+    margin: auto;
+  }
+  .content-table {
+    width: 100%;
+    display: inherit;
+  }
+  .content-table > tbody {
+    width: 100%;
+    display: block;
+  }
+  .content-table tr {
+    display: flex;
+    flex-direction: column;
+    flex-wrap: wrap;
+    border-bottom: solid 1px #BBB;
+    padding-bottom: 10px;
+  }
+  .content-table td {
+    display: block;
+    border-bottom: none;
+    padding: 4px 0 !important;
+  }
+  .content-table td.version {
+    font-weight: bold;
+  }
+  #device-detection::before {
+    content: 'mobile';
+  }
+}
diff --git a/2021/dist.zip b/2021/dist.zip
new file mode 100644
index 0000000..2ca73c2
--- /dev/null
+++ b/2021/dist.zip
Binary files differ
diff --git a/2021/favicon.ico b/2021/favicon.ico
new file mode 100644
index 0000000..eccdcfe
--- /dev/null
+++ b/2021/favicon.ico
Binary files differ
diff --git a/2021/features.html b/2021/features.html
new file mode 100644
index 0000000..3dc6f73
--- /dev/null
+++ b/2021/features.html
@@ -0,0 +1,296 @@
+<!doctype html>
+<html class="no-js" lang="">
+
+  <head>
+    <meta charset="utf-8">
+    <title>Why you will love Eclipse Scout</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="apple-mobile-web-app-capable" content="yes"/>
+
+    <meta property="og:title" content="Why you will love Eclipse Scout">
+    <meta property="og:type" content="website">
+    <meta property="og:url" content="">
+    <meta property="og:image" content="">
+
+    <link rel="stylesheet" type="text/css" href="css/normalize.css">
+    <link rel="stylesheet" type="text/css" href="css/styles.css" />
+
+    <!-- FAVICON - Generator: https://www.favicon-generator.org/ -->
+    <link rel="manifest" href="manifest.json">
+    <link rel="apple-touch-icon" href="/img/favicon/apple-icon.png">
+    <link rel="apple-touch-icon" sizes="57x57" href="/img/favicon/apple-icon-57x57.png">
+    <link rel="apple-touch-icon" sizes="60x60" href="/img/favicon/apple-icon-60x60.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="/img/favicon/apple-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="76x76" href="/img/favicon/apple-icon-76x76.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="/img/favicon/apple-icon-114x114.png">
+    <link rel="apple-touch-icon" sizes="120x120" href="/img/favicon/apple-icon-120x120.png">
+    <link rel="apple-touch-icon" sizes="144x144" href="/img/favicon/apple-icon-144x144.png">
+    <link rel="apple-touch-icon" sizes="152x152" href="/img/favicon/apple-icon-152x152.png">
+    <link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-icon-180x180.png">
+    <link rel="icon" type="image/png" sizes="192x192"  href="/img/favicon/android-icon-192x192.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="96x96" href="/img/favicon/favicon-96x96.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png">
+    <meta name="msapplication-TileImage" content="/img/favicon/ms-icon-144x144.png">
+    <meta name="msapplication-TileColor" content="#ffffff">
+    <meta name="theme-color" content="#ffffff">
+
+  </head>
+
+  <body>
+
+    <header>
+        <a href="/" id="eclipse-scout-logo"><div class="logo"></div><div class="text"></div></a>
+
+      <nav id="main-navigation">
+        <div class="navigation-item lv1 first"><a href="https://eclipsescout.github.io/11.0/getstarted.html" target="_blank" class="text"
+             title="Get started with Eclipse Scout">Tutorial</a></div>
+        <div class="navigation-item lv1"><a href="https://eclipsescout.github.io/11.0/" target="_blank" class="text">Docs</a></div>
+        <div class="navigation-item lv1 has-children">
+          <div class="text">Community</div>
+          <div class="navigation-lv2-panel hidden">
+            <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" class="navigation-item lv2 first" id="icon-eclipse-scout-forum">
+              <div class="navigation-item-container">
+                <div class="title">Eclipse Scout Forum</div>
+                <div class="text">Need help? Ask the experts</div>
+              </div>
+            </a>
+            <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" class="navigation-item lv2" id="icon-stack-overflow">
+              <div class="navigation-item-container">
+                <div class="title">StackOverflow</div>
+                <div class="text">Another source of help</div>
+              </div>
+            </a>
+            <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" class="navigation-item lv2" id="icon-git-hub">
+              <div class="navigation-item-container">
+                <div class="title">GitHub</div>
+                <div class="text">View source code. Contribute</div>
+              </div>
+            </a>
+            <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" class="navigation-item lv2 last" id="icon-bugzilla">
+              <div class="navigation-item-container">
+                <div class="title">Bugzilla</div>
+                <div class="text">Report errors</div>
+              </div>
+            </a>
+          </div>
+
+        </div>
+        <div class="navigation-item lv1 last"><a href="features.html" class="text">Features</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="versions.html" class="text">Versions</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="javascript:onGetStartedLinkClick()" class="text">Get Started</a></div>
+      </nav>
+
+      <a href="/versions.html#v11" id="scout-version-button" class="desktop-only">
+        <svg height="36" width="36" viewBox="0 0 36 36">
+          <circle cx="18" cy="18" r="17" stroke="#014786" stroke-width="2" fill="white" />
+        </svg>
+        <div>v11</div>
+      </a>
+
+      <button id="get-started-button" class="desktop-only">Get Started</button>
+
+      <button id="mobile-navigation-button" class="mobile-only"></button>
+
+    </header>
+
+    <div id="wrapper">
+
+      <div id="content-header">
+  <h1>Why you will love Eclipse Scout</h1>
+  <p>Eclipse Scout is an open-source framework, developed by <a href="https://www.bsi-software.com/en" target="_blank">BSI Software</a>
+    and hosted by the <a href="https://de.wikipedia.org/wiki/Eclipse_Foundation" target="_blank">Eclipse Foundation</a>. Eclipse Scout makes building
+    great business applications easy. Here are your benefits at a glance:</p>
+  <img src="img/content/features/01-header.jpg">
+</div>
+
+<div class="content-block first">
+  <h3><a id="benefits">Features and Benefits</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/02-benefits.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>Eclipse Scout provides out-of-the-box solutions for your daily practice as a software engineer.
+        Scout applications are built on an abstract 'model', a straight concept that frees you from dealing
+        with tedious technical details and lets you focus on the business logic instead. Based on that model,
+        Scout renders a modern, responsive UI which works on any device.</p>
+
+      <p>Eclipse Scout provides tools for all tiers, from database to UI. The following sections will show
+        you the tools you get when programming in Scout. In case you miss something: Scout is also extensible.
+        Simply add your favorite Java or JavaScript libraries.</p>
+    </div>
+  </div>
+</div>
+
+<div class="content-block alt-color">
+  <h3><a id="widgets">Powerful Widget Library</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/03-widgets.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>You don't have to be a UI expert, if you want to create a beautiful user interface with Scout.
+        You just create a model of your application and Scout renders that model, using its modern, robust
+        widget library. Check our <a href="/#demo-apps">Demo apps</a> to see Scout widgets in action. And
+        if you are an expert: extend Scout with your favorite custom widget.</p>
+
+      <p>Widgets highlights:
+      <ul>
+        <li>Powerful table</li>
+        <li>Versatile tree</li>
+        <li>Auto complete field</li>
+        <li>Charts</li>
+      </ul>
+      </p>
+    </div>
+  </div>
+</div>
+
+<div class="content-block">
+  <h3><a id="web">Modern Web Toolstack</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/04-web-toolstack.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>Eclipse Scout applications are web applications with or without a back-end server.
+       Scout applications are built with modern, standard tools: The Java
+        part is built with Maven, JavaScript is built with npm and Webpack.</p>
+
+      <p>At runtime, Scout relies on modern Java VMs and, for the front-end part,
+        on HTML5, EcmaScript 6+ and CSS/LESS.</p>
+
+      <p>Scout Java applications are deployed to standard Java EE web application
+      servers like Jetty, Tomcat, Glassfish, etc.</p>
+    </div>
+  </div>
+</div>
+
+<div class="content-block alt-color">
+  <h3><a id="responsive">Responsive User Interface</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/05-responsive.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>Applications built with Eclipse Scout come with a responsive user interface
+        that adapts to any device. You don't need specific UI know-how to build a
+        responsive application that runs on desktop computers, tablets and mobile phones -
+        Scout does that for you and your users.</p>
+
+      <p>In addition to providing a responsive user interface, Scout also makes sure the
+        widgets are touch-capable. This means they are large enough to be tapped with a finger.
+        Plus, they don’t depend on any pointing device feature, such as the right mouse button
+        or a hover state. Still, they may use these features to improve the user experience on a regular
+        desktop device.</p>
+    </div>
+  </div>
+</div>
+
+<div class="content-block">
+  <h3><a id="full-stack">Full Stack Solution for all Tiers</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/06-architecture.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>System and software architecture is the foundation for building stable and reliable business
+        applications for hundreds or thousands of concurrent users. Eclipse Scout has done that for you
+        already. The Scout architecture has been tried and tested in many successful enterprise business
+        applications.</p>
+
+      <p>Classic Scout applications come with a back-end server, a UI server and a JavaScript client running
+        in the browser. Eclipse Scout provides concepts, libraries and APIs for each tier.</p>
+    </div>
+  </div>
+</div>
+
+<div class="content-block alt-color">
+  <h3><a id="tools">Comprehensive Tools</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/07-comprehensive-tools.jpg">
+    </div>
+    <div class="content-block-column last">
+      Eclipse Scout has the tools you need as a software developer.
+      To give you an idea of what's inside Scout's toolbox:
+
+      <ul>
+        <li>Dependency management</li>
+        <li>Transaction handling</li>
+        <li>Authorization and authentication</li>
+        <li>Job management and scheduling</li>
+        <li>Input validation and error handling</li>
+        <li>Provider and client for REST and web-services</li>
+        <li>Localization and internationalization (i18n)</li>
+        <li>Client notifications (push)</li>
+        <li>IDE support for Eclipse and IntelliJ</li>
+      </ul>
+    </div>
+  </div>
+</div>
+
+<div class="content-block last">
+  <h3><a id="programming-language">For Java and JavaScript</a></h3>
+  <div class="content-block-columns">
+    <div class="content-block-column first">
+      <img src="img/content/features/08-coffee.jpg">
+    </div>
+    <div class="content-block-column last">
+      <p>Eclipse Scout comes in two flavors.</p>
+
+      <p>With the <em>Scout Classic</em> flavor you develop primarily in Java. Based on your Scout model,
+        the UI server creates a user interface which runs in the browser. You may extend the UI by adding
+        custom widgets or tweak existing widgets by writing a bit of HTML5 and JavaScript code.</p>
+
+      <p>With the <em>Scout JS</em> flavor you develop primarily in JavaScript. You use the same model and
+        concepts as a Java Scout programmer, but the front end is written in JavaScript. That type
+        of application may have no back end at all or a back end with a Scout server providing REST methods
+        or a completely different back end written in PHP, .NET, node.js, etc.  
+      </p>
+    </div>
+  </div>
+</div>
+
+      <!-- **** FOOTER **** -->
+      <footer>
+
+        <div id="social-media-bar">
+          <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" title="Eclipse Scout Forum"><img src="img/bold/conversation-question-warning-1-alternate.svg" class="small"></a>
+          <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" title="Eclipse Scout on StackOverflow"><img src="img/bold/developer-community-stack-overflow.svg"></a>
+          <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" title="Eclipse Scout on GitHub"><img src="img/bold/developer-community-github-1.svg"></a>
+          <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" title="Eclipse Scout on Bugzilla"><img src="img/bold/computer-bug-2.svg" class="small"></a>
+        </div>
+
+        <div id="copyright">
+          Copyright © Eclipse Foundation, <br class="mobile-only"/>Inc. All Rights Reserved.
+        </div>
+
+        <nav id="eclipse-navigation-bar">
+          <a href="http://www.eclipse.org/" target="_blank">Eclipse Home</a>
+          <a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a>
+          <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a>
+          <a href="http://www.eclipse.org/legal/copyright.php" target="_blank">Copyright Agent</a>
+          <a href="http://www.eclipse.org/legal" target="_blank">Legal</a>
+        </nav>
+
+      </footer>
+    </div>
+
+    <script src="js/vendor/modernizr-3.11.2.min.js"></script>
+    <script src="js/vendor/jquery-3.5.1.slim.min.js"></script>
+    <script src="js/plugins.js"></script>
+    <script src="js/main.js"></script>
+
+    <!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
+    <script>
+      // window.ga = function () { ga.q.push(arguments) }; ga.q = []; ga.l = +new Date;
+      // ga('create', 'UA-XXXXX-Y', 'auto'); ga('set', 'anonymizeIp', true); ga('set', 'transport', 'beacon'); ga('send', 'pageview')
+    </script>
+    <script src="https://www.google-analytics.com/analytics.js" async></script>
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/2021/img/.gitignore b/2021/img/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/2021/img/.gitignore
diff --git a/2021/img/arrow-blue.svg b/2021/img/arrow-blue.svg
new file mode 100644
index 0000000..890aa07
--- /dev/null
+++ b/2021/img/arrow-blue.svg
@@ -0,0 +1,3 @@
+<svg width="42" height="30" viewBox="0 0 42 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M41.4142 16.4142C42.1953 15.6332 42.1953 14.3668 41.4142 13.5858L28.6863 0.857862C27.9052 0.0768132 26.6389 0.0768133 25.8579 0.857862C25.0768 1.63891 25.0768 2.90524 25.8579 3.68629L37.1716 15L25.8579 26.3137C25.0768 27.0948 25.0768 28.3611 25.8579 29.1421C26.6389 29.9232 27.9052 29.9232 28.6863 29.1421L41.4142 16.4142ZM1.74846e-07 17L40 17L40 13L-1.74846e-07 13L1.74846e-07 17Z" fill="#014786"/>
+</svg>
\ No newline at end of file
diff --git a/2021/img/arrow-medium-blue.svg b/2021/img/arrow-medium-blue.svg
new file mode 100644
index 0000000..d3720df
--- /dev/null
+++ b/2021/img/arrow-medium-blue.svg
@@ -0,0 +1,3 @@
+<svg width="42" height="30" viewBox="0 0 42 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M41.4142 16.4142C42.1953 15.6332 42.1953 14.3668 41.4142 13.5858L28.6863 0.857862C27.9052 0.0768132 26.6389 0.0768133 25.8579 0.857862C25.0768 1.63891 25.0768 2.90524 25.8579 3.68629L37.1716 15L25.8579 26.3137C25.0768 27.0948 25.0768 28.3611 25.8579 29.1421C26.6389 29.9232 27.9052 29.9232 28.6863 29.1421L41.4142 16.4142ZM1.74846e-07 17L40 17L40 13L-1.74846e-07 13L1.74846e-07 17Z" fill="#73BDFF"/>
+</svg>
diff --git a/2021/img/arrow-orange.svg b/2021/img/arrow-orange.svg
new file mode 100644
index 0000000..4026b7c
--- /dev/null
+++ b/2021/img/arrow-orange.svg
@@ -0,0 +1,3 @@
+<svg width="42" height="30" viewBox="0 0 42 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M41.4142 16.4142C42.1953 15.6332 42.1953 14.3668 41.4142 13.5858L28.6863 0.857862C27.9052 0.0768132 26.6389 0.0768133 25.8579 0.857862C25.0768 1.63891 25.0768 2.90524 25.8579 3.68629L37.1716 15L25.8579 26.3137C25.0768 27.0948 25.0768 28.3611 25.8579 29.1421C26.6389 29.9232 27.9052 29.9232 28.6863 29.1421L41.4142 16.4142ZM1.74846e-07 17L40 17L40 13L-1.74846e-07 13L1.74846e-07 17Z" fill="#FE9915"/>
+</svg>
\ No newline at end of file
diff --git a/2021/img/arrow-white.svg b/2021/img/arrow-white.svg
new file mode 100644
index 0000000..e8aa3bd
--- /dev/null
+++ b/2021/img/arrow-white.svg
@@ -0,0 +1,3 @@
+<svg width="42" height="30" viewBox="0 0 42 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M41.4142 16.4142C42.1953 15.6332 42.1953 14.3668 41.4142 13.5858L28.6863 0.857862C27.9052 0.0768132 26.6389 0.0768133 25.8579 0.857862C25.0768 1.63891 25.0768 2.90524 25.8579 3.68629L37.1716 15L25.8579 26.3137C25.0768 27.0948 25.0768 28.3611 25.8579 29.1421C26.6389 29.9232 27.9052 29.9232 28.6863 29.1421L41.4142 16.4142ZM1.74846e-07 17L40 17L40 13L-1.74846e-07 13L1.74846e-07 17Z" fill="#ffffff"/>
+</svg>
\ No newline at end of file
diff --git a/2021/img/bold/computer-bug-2.svg b/2021/img/bold/computer-bug-2.svg
new file mode 100644
index 0000000..43a2ec5
--- /dev/null
+++ b/2021/img/bold/computer-bug-2.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 140 140" width="140" height="140"><g transform="matrix(5.833333333333333,0,0,5.833333333333333,0,0)"><path d="M6.733,5.436a.25.25,0,0,1,.073.272A5.466,5.466,0,0,0,6.5,7.5a.25.25,0,0,0,.25.25h10.5a.25.25,0,0,0,.25-.25,5.455,5.455,0,0,0-.306-1.792.249.249,0,0,1,.073-.272,8.509,8.509,0,0,0,2.677-4.171A1,1,0,1,0,18.017.735a6.471,6.471,0,0,1-1.756,2.914.25.25,0,0,1-.352,0,5.47,5.47,0,0,0-7.819,0,.249.249,0,0,1-.352,0A6.492,6.492,0,0,1,5.983.734a1,1,0,0,0-1.927.531A8.507,8.507,0,0,0,6.733,5.436Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M5.489,13.5H1.25a1,1,0,0,0,0,2H5.489a.249.249,0,0,1,.232.343A4.487,4.487,0,0,1,1.5,18.5a1,1,0,0,0,0,2,6.724,6.724,0,0,0,4.884-2.047.068.068,0,0,1,.074-.016A.069.069,0,0,1,6.5,18.5a5.5,5.5,0,0,0,11,0,.069.069,0,0,1,.042-.063.068.068,0,0,1,.074.016A6.724,6.724,0,0,0,22.5,20.5a1,1,0,0,0,0-2,4.487,4.487,0,0,1-4.221-2.657.25.25,0,0,1,.232-.343H22.75a1,1,0,0,0,0-2H18.511a.249.249,0,0,1-.232-.344A4.488,4.488,0,0,1,22.5,10.5a1,1,0,0,0,0-2,6.759,6.759,0,0,0-4.581,1.748.25.25,0,0,1-.419-.184V9.5a.25.25,0,0,0-.25-.25H6.75a.25.25,0,0,0-.25.25v.564a.25.25,0,0,1-.419.184A6.759,6.759,0,0,0,1.5,8.5a1,1,0,0,0,0,2,4.488,4.488,0,0,1,4.221,2.656.251.251,0,0,1-.232.344Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path></g></svg>
diff --git a/2021/img/bold/conversation-question-warning-1-alternate.svg b/2021/img/bold/conversation-question-warning-1-alternate.svg
new file mode 100644
index 0000000..521b743
--- /dev/null
+++ b/2021/img/bold/conversation-question-warning-1-alternate.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 140 140" width="140" height="140"><g transform="matrix(5.833333333333333,0,0,5.833333333333333,0,0)"><path d="M6.421,18.083,4,19.208l1.19-2.376A1,1,0,0,0,4.925,15.6,7.213,7.213,0,0,1,2,9.975C2,5.577,6.486,2,12,2c5.041,0,9.307,3.006,9.924,6.992A1,1,0,0,0,23.9,8.686C23.134,3.734,18.018,0,12,0,5.383,0,0,4.475,0,9.975a9.01,9.01,0,0,0,3.057,6.658L.931,20.877a1,1,0,0,0,1.316,1.354L7.265,19.9a1,1,0,1,0-.844-1.813Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M22.166,20.132A5.971,5.971,0,0,0,24,15.878c0-3.656-3.544-6.63-7.9-6.63s-7.9,2.974-7.9,6.63,3.544,6.629,7.9,6.629a9.33,9.33,0,0,0,2.331-.293l3.63,1.689a1,1,0,0,0,1.315-1.354Zm-1.86-1.016a1,1,0,0,0-.27,1.229l.268.535-1.365-.635a.993.993,0,0,0-.713-.05,7.277,7.277,0,0,1-2.126.312c-3.253,0-5.9-2.077-5.9-4.629s2.647-4.63,5.9-4.63,5.9,2.077,5.9,4.63A4.162,4.162,0,0,1,20.306,19.116Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M11.417,7.177a1.754,1.754,0,0,0-1.167,1.65V9a.75.75,0,0,0,1.5,0V8.827a.251.251,0,0,1,.167-.236A2.75,2.75,0,1,0,8.25,6a.75.75,0,1,0,1.5,0,1.25,1.25,0,1,1,1.667,1.179Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M15.250 17.632 A0.750 0.750 0 1 0 16.750 17.632 A0.750 0.750 0 1 0 15.250 17.632 Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M16,12.632a.75.75,0,0,0-.75.75v2a.75.75,0,1,0,1.5,0v-2A.75.75,0,0,0,16,12.632Z" fill="#FFFFFF" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path></g></svg>
diff --git a/2021/img/bold/developer-community-github-1.svg b/2021/img/bold/developer-community-github-1.svg
new file mode 100644
index 0000000..ebb246d
--- /dev/null
+++ b/2021/img/bold/developer-community-github-1.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 200 200" width="200" height="200"><g transform="matrix(8.333333333333334,0,0,8.333333333333334,0,0)"><path d="M12,.28A12,12,0,0,0,8.28,23.69l.29,0a1,1,0,0,0,1.06-1.06v-.21c0-.17,0-.4,0-1.09A.5.5,0,0,0,9.43,21a.5.5,0,0,0-.42-.1c-2.68.58-3.25-1.1-3.29-1.21A4.64,4.64,0,0,0,4,17.5a1.16,1.16,0,0,0-.15-.11.63.63,0,0,1,.38-.07,1.47,1.47,0,0,1,1.15.88,3,3,0,0,0,4,1.16A.5.5,0,0,0,9.67,19a2,2,0,0,1,.56-1.23.5.5,0,0,0-.27-.87c-2.37-.27-4.79-1.1-4.79-5.19A4,4,0,0,1,6.22,8.93a.5.5,0,0,0,.09-.53A3.52,3.52,0,0,1,6.32,6,5.54,5.54,0,0,1,8.84,7.15a.49.49,0,0,0,.42.07A10.61,10.61,0,0,1,12,6.85a10.47,10.47,0,0,1,2.75.37.49.49,0,0,0,.41-.07A5.59,5.59,0,0,1,17.68,6a3.57,3.57,0,0,1,0,2.38.5.5,0,0,0,.09.53,4,4,0,0,1,1.05,2.75c0,4.09-2.43,4.91-4.81,5.18a.5.5,0,0,0-.27.88,2.2,2.2,0,0,1,.61,1.74v3.18a1.06,1.06,0,0,0,.36.83,1.2,1.2,0,0,0,1.06.19A12,12,0,0,0,12,.28Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path></g></svg>
diff --git a/2021/img/bold/developer-community-stack-overflow.svg b/2021/img/bold/developer-community-stack-overflow.svg
new file mode 100644
index 0000000..14340dd
--- /dev/null
+++ b/2021/img/bold/developer-community-stack-overflow.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 200 200" width="200" height="200"><g transform="matrix(8.333333333333334,0,0,8.333333333333334,0,0)"><path d="M15.8,24H4.8a3,3,0,0,1-3-3v-6.5a1,1,0,0,1,2,0V21a1,1,0,0,0,1,1h11a1,1,0,0,0,1-1v-6.5a1,1,0,0,1,2,0V21A3,3,0,0,1,15.8,24Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M14.3,20h-8a1,1,0,0,1,0-2h8a1,1,0,1,1,0,2Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M14.68,17.27l-.21,0L6.65,15.59a1,1,0,0,1,.42-2l7.83,1.66a1,1,0,0,1-.21,2Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M15.62,14.72a1,1,0,0,1-.41-.09L7.9,11.39a1,1,0,1,1,.81-1.83L16,12.81a1,1,0,0,1-.41,1.91Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M17.06,12.43a1,1,0,0,1-.59-.19L10,7.54a1,1,0,1,1,1.17-1.62l6.48,4.69a1,1,0,0,1-.59,1.81Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M19,10.48a1,1,0,0,1-.74-.33L12.85,4.21a1,1,0,1,1,1.48-1.34l5.36,5.94A1,1,0,0,1,19,10.48Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M21.21,9a1,1,0,0,1-.87-.5l-4-6.92a1,1,0,1,1,1.73-1l4,6.92A1,1,0,0,1,21.21,9Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path></g></svg>
diff --git a/2021/img/bold/rss-feed.svg b/2021/img/bold/rss-feed.svg
new file mode 100644
index 0000000..82dace9
--- /dev/null
+++ b/2021/img/bold/rss-feed.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 200 200" width="200" height="200"><g transform="matrix(8.333333333333334,0,0,8.333333333333334,0,0)"><path d="M1.5,8.267a1.5,1.5,0,0,0,0,3A11.1,11.1,0,0,1,12.938,22.259a1.5,1.5,0,0,0,3,0A14.069,14.069,0,0,0,1.5,8.267Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M1.531.237a1.5,1.5,0,0,0,0,3C12.448,3.237,21,11.592,21,22.259a1.5,1.5,0,0,0,3,0C24,9.91,14.13.237,1.531.237Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path><path d="M0.000 20.248 A3.500 3.500 0 1 0 7.000 20.248 A3.500 3.500 0 1 0 0.000 20.248 Z" fill="#ffffff" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path></g></svg>
diff --git a/2021/img/content/features/01-header.jpg b/2021/img/content/features/01-header.jpg
new file mode 100644
index 0000000..b512619
--- /dev/null
+++ b/2021/img/content/features/01-header.jpg
Binary files differ
diff --git a/2021/img/content/features/02-benefits.jpg b/2021/img/content/features/02-benefits.jpg
new file mode 100644
index 0000000..03893e8
--- /dev/null
+++ b/2021/img/content/features/02-benefits.jpg
Binary files differ
diff --git a/2021/img/content/features/03-widgets.jpg b/2021/img/content/features/03-widgets.jpg
new file mode 100644
index 0000000..d4057bd
--- /dev/null
+++ b/2021/img/content/features/03-widgets.jpg
Binary files differ
diff --git a/2021/img/content/features/04-web-toolstack.jpg b/2021/img/content/features/04-web-toolstack.jpg
new file mode 100644
index 0000000..757f362
--- /dev/null
+++ b/2021/img/content/features/04-web-toolstack.jpg
Binary files differ
diff --git a/2021/img/content/features/05-responsive.jpg b/2021/img/content/features/05-responsive.jpg
new file mode 100644
index 0000000..7d45fbb
--- /dev/null
+++ b/2021/img/content/features/05-responsive.jpg
Binary files differ
diff --git a/2021/img/content/features/06-architecture.jpg b/2021/img/content/features/06-architecture.jpg
new file mode 100644
index 0000000..c6dbde7
--- /dev/null
+++ b/2021/img/content/features/06-architecture.jpg
Binary files differ
diff --git a/2021/img/content/features/07-comprehensive-tools.jpg b/2021/img/content/features/07-comprehensive-tools.jpg
new file mode 100644
index 0000000..e529f0c
--- /dev/null
+++ b/2021/img/content/features/07-comprehensive-tools.jpg
Binary files differ
diff --git a/2021/img/content/features/08-coffee.jpg b/2021/img/content/features/08-coffee.jpg
new file mode 100644
index 0000000..352b824
--- /dev/null
+++ b/2021/img/content/features/08-coffee.jpg
Binary files differ
diff --git a/2021/img/demo-app-contacts.xcf b/2021/img/demo-app-contacts.xcf
new file mode 100644
index 0000000..a9046db
--- /dev/null
+++ b/2021/img/demo-app-contacts.xcf
Binary files differ
diff --git a/2021/img/eclipse-scout-logo-text.svg b/2021/img/eclipse-scout-logo-text.svg
new file mode 100644
index 0000000..b65228f
--- /dev/null
+++ b/2021/img/eclipse-scout-logo-text.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="125.936"
+   width="841.9165"
+   xml:space="preserve"
+   viewBox="0 0 841.91648 125.936"
+   y="0px"
+   x="0px"
+   id="Ebene_1"
+   version="1.1"><metadata
+   id="metadata21"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs19" />
+<style
+   id="style2"
+   type="text/css">
+	.st0{fill:#FE9915;}
+	.st1{fill:#0082A1;}
+	.st2{fill:none;}
+	.st3{font-family:'EtelkaText-Bold';}
+	.st4{font-size:136px;}
+	.st5{font-size:131px;}
+</style>
+
+
+
+<g
+   id="text14"
+   transform="translate(-11.152,99.824)"
+   aria-label="Eclipse Scout"><path
+     id="path1980"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="M 11.152,-94.792 V 0 h 70.72 V -19.176 H 33.048 V -39.848 H 68 V -58.616 H 33.048 v -17 h 48.824 v -19.176 z" /><path
+     id="path1982"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 143.74562,-19.176 c -3.944,1.632 -9.792,3.128 -15.77599,3.128 -10.2,0 -15.368,-2.448 -15.368,-18.768 0,-17.136 5.168,-18.904 15.368,-18.904 5.71199,0 11.83199,1.36 15.77599,2.856 l 4.352,-17.68 c -5.44,-1.904 -14.688,-2.992 -21.89599,-2.992 -20.67201,0 -34.680005,8.024 -34.680005,36.312 0,28.56 13.872005,37.128 34.680005,37.128 6.936,0 16.31999,-1.224 21.89599,-3.536 z" /><path
+     id="path1984"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 179.46688,-98.192 h -20.94401 v 78.472 c 0,10.064 2.312,17.68 6.8,23.12 l 18.768,-6.8 c -3.264,-5.032 -4.62399,-10.2 -4.62399,-16.864 z" /><path
+     id="path1986"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="M 219.31063,-69.632 H 198.36662 V 0 h 20.94401 z m -10.47201,-30.192 c -8.976,0 -11.83199,1.36 -11.83199,9.928 0,9.384 2.85599,11.016 11.83199,11.016 8.84,0 11.832,-1.632 11.832,-11.016 0,-8.568 -2.992,-9.928 -11.832,-9.928 z" /><path
+     id="path1988"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 273.05825,1.904 c 17.272,0 29.512,-8.568 29.512,-36.72 0,-28.424 -10.472,-36.72 -34.136,-36.72 -10.88,0 -24.072,2.04 -31.552,4.896 v 92.752 h 20.944 V -1.224 c 3.808,1.632 8.432,3.128 15.232,3.128 z m -4.624,-56.032 c 9.928,0 13.192,2.992 13.192,19.856 0,14.688 -3.128,19.04 -13.056,19.04 -6.12,0 -10.744,-2.176 -10.744,-5.304 v -31.96 c 2.448,-0.952 6.936,-1.632 10.608,-1.632 z" /><path
+     id="path1990"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 364.54588,-52.224 4.07999,-15.504 c -6.528,-2.312 -16.31999,-3.808 -23.8,-3.808 -17.408,0 -30.872,4.896 -30.872,23.8 0,14.824 7.752,19.04 22.30401,20.4 11.56,1.088 13.87199,2.584 13.87199,6.392 0,5.44 -3.808,6.12 -11.968,6.12 -6.8,0 -14.552,-1.36 -19.72,-2.856 l -4.08,15.776 c 6.392,2.312 17.272,3.808 24.752,3.808 17.544,0 31.14401,-5.032 31.14401,-23.936 0,-14.28 -7.20801,-19.176 -23.392,-21.216 -10.74401,-1.36 -12.64801,-2.312 -12.64801,-5.984 0,-5.44 3.264,-5.984 9.79201,-5.984 7.07199,0 15.09599,1.496 20.536,2.992 z" /><path
+     id="path1992"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 413.82887,-71.536 c -19.99199,0 -32.776,8.296 -32.776,36.312 0,28.56 14.552,37.128 34.136,37.128 7.888,0 18.224,-1.496 25.16001,-3.808 l -3.12801,-15.912 c -5.168,1.36 -14.28,2.312 -19.31199,2.312 -10.06401,0 -15.096,-2.04 -15.368,-13.192 h 43.11199 c 2.04001,-35.768 -8.704,-42.84 -31.824,-42.84 z m 0.952,15.776 c 8.16,0 10.744,2.04 11.016,11.696 h -23.12 c 1.224,-8.84 3.4,-11.696 12.104,-11.696 z" /><path
+     id="path1994"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 532.8905,-97.104 c -28.152,0 -41.752,8.976 -41.752,32.504 0,17.544 9.52,24.208 29.784,26.384 17.816,1.904 20.4,4.76 20.4,10.744 0,7.208 -4.488,9.248 -18.632,9.248 -10.336,0 -19.856,-1.496 -25.976,-3.128 l -4.488,18.768 c 7.616,2.72 19.312,4.488 30.736,4.488 29.512,0 42.024,-7.48 42.024,-30.872 0,-18.088 -9.656,-26.384 -31.28,-28.832 -16.456,-1.768 -19.176,-3.944 -19.176,-9.928 0,-6.528 4.08,-9.248 18.224,-9.248 10.472,0 20.264,1.496 25.976,3.128 l 4.488,-18.768 c -7.48,-2.72 -18.904,-4.488 -30.328,-4.488 z" /><path
+     id="path1996"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 628.51125,-19.176 c -3.944,1.632 -9.792,3.128 -15.776,3.128 -10.2,0 -15.368,-2.448 -15.368,-18.768 0,-17.136 5.168,-18.904 15.368,-18.904 5.712,0 11.832,1.36 15.776,2.856 l 4.352,-17.68 c -5.44,-1.904 -14.688,-2.992 -21.896,-2.992 -20.672,0 -34.68,8.024 -34.68,36.312 0,28.56 13.872,37.128 34.68,37.128 6.936,0 16.32,-1.224 21.896,-3.536 z" /><path
+     id="path1998"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 674.2965,1.904 c 22.712,0 34,-8.568 34,-37.128 0,-28.424 -11.424,-36.312 -34,-36.312 -22.168,0 -33.728,7.888 -33.728,36.312 0,28.56 11.288,37.128 33.728,37.128 z m 0,-57.12 c 9.928,0 12.784,2.176 12.784,20.4 0,17.544 -2.856,20.4 -12.784,20.4 -9.792,0 -12.648,-2.856 -12.648,-20.4 0,-18.224 2.856,-20.4 12.648,-20.4 z" /><path
+     id="path2000"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 766.07525,-18.088 c -3.672,0.952 -6.664,1.36 -10.064,1.36 -10.2,0 -12.376,-3.4 -12.376,-15.912 v -36.992 h -20.672 v 38.488 c 0,24.888 9.248,33.048 28.56,33.048 12.376,0 26.384,-2.992 35.224,-6.256 v -65.28 h -20.672 z" /><path
+     id="path2002"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:136px;font-family:'Etelka Text';-inkscape-font-specification:'Etelka Text';fill:#1482A1;fill-opacity:1"
+     d="m 850.8925,-51.544 v -17.952 h -21.76 V -88.4 l -20.944,8.568 v 10.336 h -11.288 v 17.952 h 11.288 v 28.152 c 0,20.672 8.84,25.296 23.936,25.296 7.48,0 15.64,-1.496 20.944,-3.4 l -3.4,-16.048 c -3.264,0.952 -6.936,1.768 -11.152,1.768 -6.528,0 -9.384,-2.72 -9.384,-8.432 v -27.336 z" /></g>
+
+</svg>
diff --git a/2021/img/eclipse-scout-logo.svg b/2021/img/eclipse-scout-logo.svg
new file mode 100644
index 0000000..2b9a6dd
--- /dev/null
+++ b/2021/img/eclipse-scout-logo.svg
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="125.936"
+   width="94.800003"
+   xml:space="preserve"
+   viewBox="0 0 94.8 125.936"
+   y="0px"
+   x="0px"
+   id="Ebene_1"
+   version="1.1"><metadata
+   id="metadata21"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs19" />
+<style
+   id="style2"
+   type="text/css">
+	.st0{fill:#FE9915;}
+	.st1{fill:#0082A1;}
+	.st2{fill:none;}
+	.st3{font-family:'EtelkaText-Bold';}
+	.st4{font-size:136px;}
+	.st5{font-size:131px;}
+</style>
+<path
+   style="fill:#fe9915"
+   id="path4"
+   d="m 34.2,81.004407 c -5,-1.3 -9.9,-2.5 -14.9,-3.8 -7,-1.9 -13,-4.5 -17.7,-7.9 -0.1,0 -0.1,-0.1 -0.2,-0.1 -0.4,-0.3 -1.2,-0.5 -1.2,0.9 v 9.9 c 0,0.6 0.40000001,1 0.9,1 3.6,0 8.2,0 11,0 2.3,0 4.2,0.9 5.6,2 1.4,1.1 2.3,2.3 3.4,3.4 2.1,2.1 4,3.7 9.4,3.8 3.1,0 5.1,-0.6 6.1,-1.4 1,-0.8 1.5,-1.7 1.5,-3.7 0,-1 -0.3,-1.6 -0.8,-2.3 -0.6,-0.6 -1.6,-1.3 -3.1,-1.8 m 60.7,-71.6 C 94.9,6.8044064 92.8,4.7044064 90.2,4.7044064 H 5 c -2.6,0 -4.7,2.1 -4.7,4.7000006 v 13.3 c 0,1.7 1.7,2.9 4.1,1.2 7.3,-5.1 16.8,-7.5 28.2,-7.5 10.8,0 19.7,2.5 26.5,7.8 5.3,4.1 8.8,9.5 10.4,15.9 0.1,0.6 0.2,1.2 0.2,1.9 0,1.3 -0.3,2.8 -1.3,4.2 -1.1,1.5 -3,2.4 -5.2,2.4 H 48.1 c -2.4,0 -4.4,-0.7 -5.8,-1.8 -1.5,-1.1 -2.4,-2.3 -3.2,-3.2 -1.8,-1.9 -2.6,-3.1 -6.9,-3.2 -2.8,0 -4.5,0.6 -5.3,1.3 -0.8,0.7 -1.3,1.5 -1.3,3.4 0.1,1.7 0.6,2.8 2.9,4.1 1.7,0.7 5.8,2 11.6,3.4 11,2.6 19,5.8 24.3,10 5.7,4.6 8.7,11.2 8.7,18.9 0,5.7 -1.4,10.9 -4.2,15.4 -0.5,0.5 -0.3,2.299999 1.6,2.299999 h 19.8 c 2.6,0 4.7,-2.099999 4.7,-4.699999 v -85.1 z"
+   class="st0" />
+<path
+   style="fill:#1482A1;fill-opacity:1"
+   id="path6"
+   d="m 59.6,99.504403 c 0.8,0 1.5,-0.499996 1.8,-0.799996 4.5,-4.7 6.7,-10.2 6.7,-17 0,-6.5 -2.2,-11.2 -6.8,-15 -4.2,-3.4 -11.7,-6.6 -22.3,-9.1 -6.2,-1.6 -10.3,-2.7 -12.6,-3.8 h -0.1 -0.1 c -3.5,-1.7 -5.8,-5 -5.7,-8.7 0,-2.9 1,-5.7 3.3,-7.5 2.2,-1.7 5.1,-2.4 8.5,-2.4 4.3,-0.1 7.3,1.5 9.2,3.3 1.9,1.8 2.9,3.4 4,4.1 0.7,0.5 1.4,0.8 2.9,0.8 h 15.1 c 1,0 1,-0.2 1.1,-0.3 0.1,-0.1 0.3,-0.6 0.3,-1.1 0,-0.3 0,-0.6 -0.1,-0.7 -1.4,-5.4 -4.1,-9.7 -8.6,-13.1 -5.7,-4.4 -13.4,-6.7 -23.5,-6.7 -11.5,0 -20.3,2.6 -26.6,7.6 -2,1.6 -3.8,3.3 -5.39999999,5.2 C 0.4,34.704407 0.2,35.104407 0.2,35.504407 v 24.8 c 0,0.3 0,1 0.50000001,1.4 0.39999999,0.4 0.59999999,0.6 0.99999999,1 4.2,4 10.7,7.2 19,9.5 5,1.2 10.1,2.5 15.1,3.8 h 0.1 0.1 c 2.2,0.8 4,1.8 5.3,3.4 1.3,1.5 2.1,3.6 2,5.6 0,3.1 -1.1,6.1 -3.6,7.9 -2.4,1.8 -5.5,2.5 -9.2,2.5 -5.1,0 -8.6,-1.5 -11.1,-3.5 -2.4,-1.9 -3.8,-4 -5,-4.9 -0.8,-0.6 -1.3,-0.9 -2.4,-0.9 -2.7,0 -8.3,0 -9.4,0 -1.89999999,0 -2.6,1.1 -2.6,2.6 0,0.7 0,5.8 0,5.8 0,2.6 2.3,4.799999 4.9,4.799999 h 54.7 z"
+   class="st1" />
+
+
+
+</svg>
diff --git a/2021/img/favicon/android-icon-144x144.png b/2021/img/favicon/android-icon-144x144.png
new file mode 100644
index 0000000..fb14933
--- /dev/null
+++ b/2021/img/favicon/android-icon-144x144.png
Binary files differ
diff --git a/2021/img/favicon/android-icon-192x192.png b/2021/img/favicon/android-icon-192x192.png
new file mode 100644
index 0000000..0f8ea98
--- /dev/null
+++ b/2021/img/favicon/android-icon-192x192.png
Binary files differ
diff --git a/2021/img/favicon/android-icon-36x36.png b/2021/img/favicon/android-icon-36x36.png
new file mode 100644
index 0000000..87429fa
--- /dev/null
+++ b/2021/img/favicon/android-icon-36x36.png
Binary files differ
diff --git a/2021/img/favicon/android-icon-48x48.png b/2021/img/favicon/android-icon-48x48.png
new file mode 100644
index 0000000..de821da
--- /dev/null
+++ b/2021/img/favicon/android-icon-48x48.png
Binary files differ
diff --git a/2021/img/favicon/android-icon-72x72.png b/2021/img/favicon/android-icon-72x72.png
new file mode 100644
index 0000000..2b5555a
--- /dev/null
+++ b/2021/img/favicon/android-icon-72x72.png
Binary files differ
diff --git a/2021/img/favicon/android-icon-96x96.png b/2021/img/favicon/android-icon-96x96.png
new file mode 100644
index 0000000..d5ca677
--- /dev/null
+++ b/2021/img/favicon/android-icon-96x96.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-114x114.png b/2021/img/favicon/apple-icon-114x114.png
new file mode 100644
index 0000000..a1729fe
--- /dev/null
+++ b/2021/img/favicon/apple-icon-114x114.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-120x120.png b/2021/img/favicon/apple-icon-120x120.png
new file mode 100644
index 0000000..933ca9f
--- /dev/null
+++ b/2021/img/favicon/apple-icon-120x120.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-144x144.png b/2021/img/favicon/apple-icon-144x144.png
new file mode 100644
index 0000000..fb14933
--- /dev/null
+++ b/2021/img/favicon/apple-icon-144x144.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-152x152.png b/2021/img/favicon/apple-icon-152x152.png
new file mode 100644
index 0000000..a7b6b0f
--- /dev/null
+++ b/2021/img/favicon/apple-icon-152x152.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-180x180.png b/2021/img/favicon/apple-icon-180x180.png
new file mode 100644
index 0000000..b108bef
--- /dev/null
+++ b/2021/img/favicon/apple-icon-180x180.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-57x57.png b/2021/img/favicon/apple-icon-57x57.png
new file mode 100644
index 0000000..3eb2198
--- /dev/null
+++ b/2021/img/favicon/apple-icon-57x57.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-60x60.png b/2021/img/favicon/apple-icon-60x60.png
new file mode 100644
index 0000000..a5bb95b
--- /dev/null
+++ b/2021/img/favicon/apple-icon-60x60.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-72x72.png b/2021/img/favicon/apple-icon-72x72.png
new file mode 100644
index 0000000..2b5555a
--- /dev/null
+++ b/2021/img/favicon/apple-icon-72x72.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-76x76.png b/2021/img/favicon/apple-icon-76x76.png
new file mode 100644
index 0000000..6cc4898
--- /dev/null
+++ b/2021/img/favicon/apple-icon-76x76.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon-precomposed.png b/2021/img/favicon/apple-icon-precomposed.png
new file mode 100644
index 0000000..87c704c
--- /dev/null
+++ b/2021/img/favicon/apple-icon-precomposed.png
Binary files differ
diff --git a/2021/img/favicon/apple-icon.png b/2021/img/favicon/apple-icon.png
new file mode 100644
index 0000000..87c704c
--- /dev/null
+++ b/2021/img/favicon/apple-icon.png
Binary files differ
diff --git a/2021/img/favicon/favicon-16x16.png b/2021/img/favicon/favicon-16x16.png
new file mode 100644
index 0000000..3f95f72
--- /dev/null
+++ b/2021/img/favicon/favicon-16x16.png
Binary files differ
diff --git a/2021/img/favicon/favicon-32x32.png b/2021/img/favicon/favicon-32x32.png
new file mode 100644
index 0000000..0c95a00
--- /dev/null
+++ b/2021/img/favicon/favicon-32x32.png
Binary files differ
diff --git a/2021/img/favicon/favicon-96x96.png b/2021/img/favicon/favicon-96x96.png
new file mode 100644
index 0000000..d5ca677
--- /dev/null
+++ b/2021/img/favicon/favicon-96x96.png
Binary files differ
diff --git a/2021/img/favicon/ms-icon-144x144.png b/2021/img/favicon/ms-icon-144x144.png
new file mode 100644
index 0000000..fb14933
--- /dev/null
+++ b/2021/img/favicon/ms-icon-144x144.png
Binary files differ
diff --git a/2021/img/favicon/ms-icon-150x150.png b/2021/img/favicon/ms-icon-150x150.png
new file mode 100644
index 0000000..dfe164b
--- /dev/null
+++ b/2021/img/favicon/ms-icon-150x150.png
Binary files differ
diff --git a/2021/img/favicon/ms-icon-310x310.png b/2021/img/favicon/ms-icon-310x310.png
new file mode 100644
index 0000000..06684c1
--- /dev/null
+++ b/2021/img/favicon/ms-icon-310x310.png
Binary files differ
diff --git a/2021/img/favicon/ms-icon-70x70.png b/2021/img/favicon/ms-icon-70x70.png
new file mode 100644
index 0000000..182230b
--- /dev/null
+++ b/2021/img/favicon/ms-icon-70x70.png
Binary files differ
diff --git a/2021/img/light/analytics-graph-bar.svg b/2021/img/light/analytics-graph-bar.svg
new file mode 100644
index 0000000..c68b1ae
--- /dev/null
+++ b/2021/img/light/analytics-graph-bar.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>analytics-graph-bar</title>
+	<path d="M0.5,24C0.224,24,0,23.776,0,23.5S0.224,23,0.5,23H1v-4c0-0.552,0.449-1,1-1h2c0.551,0,1,0.448,1,1v4h2v-9
+		c0-0.552,0.449-1,1-1h2c0.551,0,1,0.448,1,1v9h2v-7c0-0.552,0.448-1,1-1h2c0.552,0,1,0.448,1,1v7h2V9c0-0.551,0.448-1,1-1h2
+		c0.552,0,1,0.449,1,1v14h0.5c0.276,0,0.5,0.224,0.5,0.5S23.776,24,23.5,24H0.5z M22,23V9h-2l0,14H22z M16,23v-7h-2l0,7H16z M10,23
+		v-9H8l0,9H10z M4,23v-4H2l0,4H4z"/>
+	<path d="M3,13.5c-1.103,0-2-0.897-2-2s0.897-2,2-2c0.42,0,0.827,0.133,1.166,0.378l3.028-2.524C7.067,7.087,7,6.796,7,6.5
+		c0-1.103,0.897-2,2-2s2,0.897,2,2c0,0.045-0.002,0.091-0.005,0.137l2.328,0.776C13.691,6.845,14.315,6.5,15,6.5
+		c0.306,0,0.606,0.071,0.879,0.206l3.31-3.861C19.065,2.58,19,2.291,19,2c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
+		c-0.42,0-0.824-0.132-1.163-0.375l-3.199,3.732C16.873,7.691,17,8.09,17,8.5c0,1.103-0.897,2-2,2s-2-0.897-2-2
+		c0-0.046,0.002-0.092,0.005-0.139l-2.328-0.776C10.31,8.155,9.686,8.5,9,8.5c-0.42,0-0.826-0.133-1.166-0.378l-3.028,2.524
+		C4.934,10.913,5,11.205,5,11.5C5,12.603,4.103,13.5,3,13.5z M3,10.5c-0.551,0-1,0.449-1,1s0.449,1,1,1s1-0.449,1-1
+		S3.551,10.5,3,10.5z M15,7.5c-0.552,0-1,0.449-1,1s0.448,1,1,1s1-0.449,1-1S15.552,7.5,15,7.5z M9,5.5c-0.551,0-1,0.449-1,1
+		s0.449,1,1,1s1-0.449,1-1S9.551,5.5,9,5.5z M21,1c-0.552,0-1,0.449-1,1s0.448,1,1,1s1-0.449,1-1S21.552,1,21,1z"/>
+</g>
+</svg>
diff --git a/2021/img/light/coffee-machine.svg b/2021/img/light/coffee-machine.svg
new file mode 100644
index 0000000..e3fb516
--- /dev/null
+++ b/2021/img/light/coffee-machine.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Light" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>coffee-machine</title>
+	<path d="M1.5,24C0.673,24,0,23.327,0,22.5v-2C0,19.673,0.673,19,1.5,19H2V7H1.5C0.673,7,0,6.327,0,5.5v-4C0,0.673,0.673,0,1.5,0h21
+		C23.327,0,24,0.673,24,1.5v4C24,6.327,23.327,7,22.5,7H22v1.5C22,8.776,21.776,9,21.5,9S21,8.776,21,8.5V7h-3
+		c-0.941,0-1.198,0.513-1.553,1.224C16.1,8.919,15.672,9.772,14.5,9.962V11H18c0-0.551,0.448-1,1-1h3.5c0.827,0,1.5,0.673,1.5,1.5
+		S23.327,13,22.5,13H19c-0.552,0-1-0.448-1-1h-3.5c0,0.552-0.448,1-1,1h-1v0.5c0,0.276-0.224,0.5-0.5,0.5
+		c-0.276,0-0.5-0.224-0.5-0.5V13h-1c-0.551,0-1-0.448-1-1V9.962C8.327,9.772,7.9,8.918,7.553,8.224C7.198,7.513,6.941,7,6,7H3v12
+		h6.362C8.507,18.247,8,17.155,8,16v-0.5C8,15.224,8.224,15,8.5,15h8.25c0.965,0,1.75,0.785,1.75,1.75s-0.785,1.75-1.75,1.75
+		c-0.276,0-0.5-0.224-0.5-0.5s0.224-0.5,0.5-0.5c0.414,0,0.75-0.336,0.75-0.75S17.164,16,16.75,16H16c0,1.155-0.508,2.247-1.362,3
+		H21v-4.5c0-0.276,0.224-0.5,0.5-0.5s0.5,0.224,0.5,0.5V19h0.5c0.827,0,1.5,0.673,1.5,1.5v2c0,0.827-0.673,1.5-1.5,1.5H1.5z M1.5,20
+		C1.224,20,1,20.224,1,20.5v2C1,22.776,1.224,23,1.5,23h21c0.276,0,0.5-0.224,0.5-0.5v-2c0-0.276-0.224-0.5-0.5-0.5H1.5z M9,16
+		c0,1.654,1.346,3,3,3c1.654,0,3-1.346,3-3H9z M19,12h3.5c0.276,0,0.5-0.224,0.5-0.5S22.776,11,22.5,11H19L19,12z M10.5,12h3v-2h-3
+		V12z M1.5,1C1.224,1,1,1.224,1,1.5v4C1,5.776,1.224,6,1.5,6H6c1.559,0,2.052,0.985,2.447,1.776C8.802,8.487,9.059,9,10,9h4
+		c0.941,0,1.198-0.513,1.553-1.224C15.949,6.985,16.441,6,18,6h4.5C22.776,6,23,5.776,23,5.5v-4C23,1.224,22.776,1,22.5,1H1.5z"/>
+	<path d="M12,7.5c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2S13.103,7.5,12,7.5z M12,4.5c-0.551,0-1,0.449-1,1s0.449,1,1,1
+		c0.552,0,1-0.449,1-1S12.552,4.5,12,4.5z"/>
+	<path d="M4.5,5C3.673,5,3,4.327,3,3.5S3.673,2,4.5,2S6,2.673,6,3.5S5.327,5,4.5,5z M4.5,3C4.224,3,4,3.224,4,3.5S4.224,4,4.5,4
+		S5,3.776,5,3.5S4.776,3,4.5,3z"/>
+	<circle cx="17.75" cy="3.25" r="0.75"/>
+	<circle cx="20.25" cy="3.25" r="0.75"/>
+</g>
+</svg>
diff --git a/2021/img/light/layers-stacked-1.svg b/2021/img/light/layers-stacked-1.svg
new file mode 100644
index 0000000..c7f4e92
--- /dev/null
+++ b/2021/img/light/layers-stacked-1.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>layers-stacked-1</title>
+	<path d="M12,11.955c-0.139,0-0.274-0.028-0.4-0.083L1.356,7.417C1.11,7.309,0.921,7.113,0.824,6.864
+		C0.727,6.615,0.732,6.343,0.84,6.099c0.101-0.231,0.284-0.414,0.515-0.515l10.246-4.455c0.126-0.055,0.26-0.083,0.399-0.083
+		c0.139,0,0.273,0.028,0.4,0.083l10.244,4.455c0.246,0.108,0.434,0.304,0.532,0.552c0.097,0.249,0.092,0.521-0.016,0.765
+		c-0.101,0.231-0.284,0.414-0.515,0.515L12.4,11.872C12.273,11.927,12.139,11.955,12,11.955z M1.754,6.501l10.245,4.454L22.246,6.5
+		L12,2.046L1.754,6.501z"/>
+	<path d="M12,17.455c-0.139,0-0.274-0.028-0.4-0.083L1.356,12.917c-0.245-0.107-0.434-0.303-0.531-0.552
+		c-0.097-0.249-0.092-0.521,0.015-0.765c0.101-0.231,0.284-0.414,0.515-0.515l1.821-0.792c0.063-0.028,0.13-0.042,0.199-0.042
+		c0.199,0,0.379,0.118,0.459,0.3c0.11,0.253-0.006,0.548-0.259,0.658l-1.82,0.792l10.245,4.454L22.246,12l-1.821-0.791
+		c-0.122-0.053-0.217-0.151-0.266-0.275c-0.049-0.124-0.046-0.26,0.007-0.383c0.079-0.182,0.259-0.301,0.458-0.301
+		c0.069,0,0.136,0.014,0.2,0.042l1.82,0.792c0.506,0.222,0.737,0.813,0.516,1.318c-0.101,0.23-0.283,0.413-0.514,0.514
+		l-10.247,4.456C12.273,17.427,12.139,17.455,12,17.455z"/>
+	<path d="M12,22.955c-0.139,0-0.274-0.028-0.4-0.083L1.356,18.417c-0.245-0.107-0.434-0.303-0.531-0.552
+		c-0.097-0.249-0.092-0.521,0.015-0.765c0.101-0.23,0.284-0.413,0.514-0.514l1.822-0.793c0.063-0.028,0.13-0.042,0.199-0.042
+		c0.199,0,0.379,0.118,0.459,0.3c0.11,0.253-0.006,0.548-0.259,0.658l-1.82,0.792l10.245,4.454L22.246,17.5l-1.821-0.791
+		c-0.253-0.11-0.369-0.406-0.259-0.658c0.08-0.182,0.26-0.301,0.458-0.301c0.069,0,0.136,0.014,0.2,0.042l1.82,0.792
+		c0.506,0.222,0.737,0.813,0.516,1.318c-0.101,0.23-0.283,0.413-0.514,0.514l-10.247,4.456C12.273,22.927,12.139,22.955,12,22.955z"
+		/>
+</g>
+</svg>
diff --git a/2021/img/light/outdoors-swiss-knife.svg b/2021/img/light/outdoors-swiss-knife.svg
new file mode 100644
index 0000000..3cb775c
--- /dev/null
+++ b/2021/img/light/outdoors-swiss-knife.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Light" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>outdoors-swiss-knife</title>
+	<path d="M4,23.38c-2.206,0-4-1.794-4-4c0-0.919,0.32-1.815,0.902-2.527L9.925,1.12c0.106-0.185,0.265-0.328,0.459-0.415
+		c0.13-0.058,0.266-0.087,0.407-0.087c0.394,0,0.753,0.232,0.914,0.592c1.398,3.13,1.218,6.775-0.48,9.752L8.707,15.38H18v-3.601
+		c0-0.237,0.168-0.443,0.4-0.49c0.472-0.096,1.1-0.404,1.1-1.96c0-1.555-0.628-1.863-1.1-1.959C18.168,7.323,18,7.117,18,6.88
+		c0-1.379,1.122-2.5,2.5-2.5S23,5.502,23,6.88v9.863c0.646,0.733,1,1.666,1,2.637c0,2.206-1.794,4-4,4H4z M4,16.38
+		c-1.654,0-3,1.346-3,3s1.346,3,3,3h16c1.654,0,3-1.346,3-3s-1.346-3-3-3H4z M20,15.38c0.709,0,1.392,0.186,2,0.541V6.88
+		c0-0.827-0.673-1.5-1.5-1.5c-0.7,0-1.296,0.479-1.457,1.142C20.01,6.91,20.5,7.854,20.5,9.329c0,1.499-0.504,2.448-1.5,2.825v3.226
+		H20z M2.791,15.568C3.181,15.444,3.589,15.38,4,15.38h3.557l2.8-4.915c1.541-2.701,1.704-6.009,0.436-8.848L2.791,15.568z"/>
+	<path d="M7.046,11.601c-0.087,0-0.172-0.023-0.248-0.066c-0.116-0.066-0.199-0.173-0.234-0.302
+		c-0.035-0.129-0.018-0.264,0.048-0.38L9.356,6.04C9.444,5.884,9.61,5.787,9.79,5.787c0.087,0,0.173,0.023,0.248,0.066
+		c0.115,0.066,0.198,0.173,0.234,0.302c0.035,0.129,0.018,0.264-0.048,0.38L7.48,11.349C7.392,11.505,7.225,11.601,7.046,11.601z"/>
+	<path d="M5,21.38c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2S6.103,21.38,5,21.38z M5,18.38c-0.551,0-1,0.448-1,1s0.449,1,1,1
+		s1-0.448,1-1S5.551,18.38,5,18.38z"/>
+	<path d="M19,21.38c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2S20.103,21.38,19,21.38z M19,18.38c-0.552,0-1,0.448-1,1
+		s0.448,1,1,1s1-0.448,1-1S19.552,18.38,19,18.38z"/>
+</g>
+</svg>
diff --git a/2021/img/light/programming-browser.svg b/2021/img/light/programming-browser.svg
new file mode 100644
index 0000000..36d091b
--- /dev/null
+++ b/2021/img/light/programming-browser.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>programming-browser</title>
+	<path d="M15.75,18.5c-0.134,0-0.259-0.052-0.354-0.146S15.25,18.134,15.25,18s0.052-0.259,0.146-0.354L18.043,15l-2.646-2.646
+		c-0.094-0.094-0.146-0.22-0.146-0.354s0.052-0.259,0.146-0.354s0.22-0.146,0.354-0.146s0.259,0.052,0.354,0.146l3,3
+		c0.094,0.094,0.146,0.22,0.146,0.354s-0.052,0.259-0.146,0.354l-3,3C16.009,18.448,15.884,18.5,15.75,18.5z"/>
+	<path d="M8.25,18.5c-0.134,0-0.259-0.052-0.354-0.146l-3-3C4.802,15.259,4.75,15.134,4.75,15s0.052-0.259,0.146-0.354l3-3
+		C7.991,11.552,8.116,11.5,8.25,11.5s0.259,0.052,0.354,0.146S8.75,11.866,8.75,12s-0.052,0.259-0.146,0.354L5.957,15l2.646,2.646
+		C8.698,17.741,8.75,17.866,8.75,18s-0.052,0.259-0.146,0.354S8.384,18.5,8.25,18.5z"/>
+	<path d="M10.5,18.5c-0.077,0-0.154-0.018-0.223-0.052c-0.247-0.124-0.348-0.425-0.224-0.671l3-6
+		C13.138,11.606,13.31,11.5,13.5,11.5c0.077,0,0.154,0.018,0.223,0.053c0.247,0.123,0.347,0.424,0.224,0.671l-3,6
+		C10.862,18.394,10.691,18.5,10.5,18.5z"/>
+	<path d="M2.5,21.5C1.121,21.5,0,20.378,0,19V5c0-1.379,1.121-2.5,2.5-2.5h19C22.878,2.5,24,3.621,24,5v14
+		c0,1.378-1.122,2.5-2.5,2.5H2.5z M1,19c0,0.827,0.673,1.5,1.5,1.5h19c0.827,0,1.5-0.673,1.5-1.5V8.5H1V19z M23,7.5V5
+		c0-0.827-0.673-1.5-1.5-1.5h-19C1.673,3.5,1,4.173,1,5v2.5H23z"/>
+	<circle cx="4" cy="5.5" r="0.75"/>
+	<circle cx="7" cy="5.5" r="0.75"/>
+	<circle cx="10" cy="5.5" r="0.75"/>
+</g>
+</svg>
diff --git a/2021/img/light/responsive-design-1.svg b/2021/img/light/responsive-design-1.svg
new file mode 100644
index 0000000..5ceb921
--- /dev/null
+++ b/2021/img/light/responsive-design-1.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g>
+	<title>responsive-design-1</title>
+	<path d="M10,20.5c-0.276,0-0.5-0.224-0.5-0.5s0.224-0.5,0.5-0.5h4v-1H8.5C8.224,18.5,8,18.276,8,18s0.224-0.5,0.5-0.5H22
+		c0.564-0.017,1.016-0.499,1-1.074V14.5h-9.5c-0.276,0-0.5-0.224-0.5-0.5s0.224-0.5,0.5-0.5H23V4.588
+		c0.016-0.586-0.439-1.071-1.015-1.088c0,0-14.986,0-14.986,0c-0.448,0-0.812,0.259-0.947,0.66C5.984,4.363,5.794,4.5,5.579,4.5
+		c-0.054,0-0.107-0.009-0.159-0.026C5.158,4.386,5.017,4.102,5.105,3.84C5.375,3.039,6.129,2.5,6.98,2.5L22,2.5
+		c1.137,0.033,2.031,0.976,2,2.102v11.81c0.031,1.115-0.86,2.055-1.985,2.088H15v1h4c0.276,0,0.5,0.224,0.5,0.5s-0.224,0.5-0.5,0.5
+		H10z"/>
+	<path d="M1.5,20.5C0.673,20.5,0,19.827,0,19v-7c0-0.827,0.673-1.5,1.5-1.5h4C6.327,10.5,7,11.173,7,12v7c0,0.827-0.673,1.5-1.5,1.5
+		H1.5z M1,19c0,0.276,0.224,0.5,0.5,0.5h4C5.776,19.5,6,19.276,6,19v-0.5H1V19z M6,17.5v-4H1v4H6z M6,12.5V12
+		c0-0.276-0.224-0.5-0.5-0.5h-4C1.224,11.5,1,11.724,1,12v0.5H6z"/>
+	<path d="M8.5,16.5C8.224,16.5,8,16.276,8,16s0.224-0.5,0.5-0.5h2c0.276,0,0.5-0.224,0.5-0.5v-0.5H8.5C8.224,14.5,8,14.276,8,14
+		s0.224-0.5,0.5-0.5H11V8.501H4V9c0,0.276-0.224,0.5-0.5,0.5S3,9.276,3,9V8.022C3,8.015,2.999,8.008,2.999,8.001S3,7.987,3,7.98V7
+		c0-0.827,0.673-1.5,1.5-1.5h6C11.327,5.5,12,6.173,12,7v8c0,0.827-0.673,1.5-1.5,1.5H8.5z M11,7.501V7c0-0.276-0.224-0.5-0.5-0.5
+		h-6C4.224,6.5,4,6.724,4,7v0.501H11z"/>
+</g>
+</svg>
diff --git a/2021/img/light/space-rocket-flying.svg b/2021/img/light/space-rocket-flying.svg
new file mode 100644
index 0000000..4ee66c4
--- /dev/null
+++ b/2021/img/light/space-rocket-flying.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<g fill="white">
+	<title>space-rocket-flying</title>
+	<path d="M9.975,22.797c-0.266,0-0.516-0.103-0.705-0.291c-0.22-0.218-0.325-0.52-0.288-0.828l0.347-2.962c-0.006,0-0.012,0-0.017,0
+		c-0.134,0-0.259-0.052-0.354-0.146l-3.52-3.517c-0.114-0.113-0.161-0.268-0.142-0.417L2.328,15
+		c-0.041,0.005-0.083,0.008-0.124,0.008c-0.266,0-0.516-0.104-0.706-0.293c-0.189-0.189-0.293-0.44-0.293-0.708
+		c0-0.267,0.104-0.518,0.293-0.707l2.51-2.509c0.645-0.654,1.4-1.176,2.243-1.549c0.036-0.016,0.075-0.028,0.114-0.035
+		c1.282-0.227,2.597-0.342,3.908-0.342c0.207,0,0.413,0.003,0.62,0.008c2.858-2.866,5.84-5.857,6.197-6.213
+		c0.821-0.822,3.081-1.415,4.833-1.769c0.065-0.013,0.131-0.02,0.197-0.02c0.474,0,0.886,0.337,0.981,0.802
+		c0.026,0.132,0.026,0.265,0,0.396c-0.354,1.751-0.947,4.011-1.769,4.833l-6.214,6.213c0.03,1.506-0.093,3.016-0.365,4.489
+		c-0.007,0.037-0.017,0.071-0.031,0.104c-0.36,0.852-0.871,1.618-1.52,2.278l-2.52,2.516c-0.188,0.188-0.438,0.293-0.705,0.293
+		C9.977,22.797,9.975,22.797,9.975,22.797z M9.975,21.796l2.518-2.513c0.544-0.554,0.978-1.198,1.288-1.913
+		c0.195-1.069,0.308-2.16,0.336-3.251l-3.019,3.019c-0.004,0.004-0.007,0.009-0.011,0.012c-0.008,0.008-0.017,0.017-0.026,0.024
+		l-0.618,0.617L9.975,21.796z M9.311,17.51l0.708-0.708l-2.812-2.814l-0.71,0.712L9.311,17.51z M10.727,16.095l9.899-9.898
+		c0.489-0.489,1.048-2.105,1.495-4.323c-2.219,0.448-3.834,1.006-4.323,1.495c-0.559,0.558-7.485,7.504-9.885,9.911L10.727,16.095z
+		 M6.602,10.182c-0.706,0.32-1.339,0.762-1.883,1.314l-2.513,2.512l4.065-0.497l0.532-0.534c0.008-0.013,0.023-0.035,0.046-0.057
+		c0.02-0.02,0.04-0.034,0.055-0.043l3-3.009C8.799,9.887,7.69,9.992,6.602,10.182z"/>
+	<path d="M1.883,23.124c-0.176,0-0.35-0.047-0.503-0.137c-0.231-0.135-0.395-0.352-0.462-0.61c-0.043-0.164-0.043-0.337-0.001-0.502
+		c0.514-1.898,1.283-4.315,2.03-5.067c0.587-0.586,1.255-0.908,1.883-0.908c0.489,0,0.939,0.191,1.302,0.554
+		c0.094,0.094,0.146,0.22,0.146,0.354s-0.052,0.259-0.146,0.354c-0.094,0.094-0.22,0.146-0.353,0.146s-0.259-0.052-0.354-0.146
+		c-0.175-0.175-0.369-0.26-0.593-0.26c-0.358,0-0.786,0.223-1.176,0.613c-0.346,0.348-0.993,1.744-1.771,4.616
+		c2.86-0.791,4.252-1.443,4.601-1.792c0.321-0.321,0.531-0.676,0.591-0.998c0.056-0.302-0.022-0.554-0.238-0.77
+		c-0.195-0.195-0.195-0.512-0.001-0.707c0.094-0.095,0.22-0.147,0.354-0.147c0.133,0,0.259,0.052,0.353,0.146
+		c0.455,0.454,0.633,1.029,0.515,1.661C7.96,20.05,7.66,20.576,7.191,21.046c-0.751,0.75-3.159,1.526-5.047,2.044
+		C2.057,23.113,1.97,23.124,1.883,23.124z"/>
+</g>
+</svg>
diff --git a/2021/img/regular/arrow-down-1.svg b/2021/img/regular/arrow-down-1.svg
new file mode 100644
index 0000000..772b86d
--- /dev/null
+++ b/2021/img/regular/arrow-down-1.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 140 140" width="140" height="140"><g transform="matrix(5.833333333333333,0,0,5.833333333333333,0,0)"><path d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg>
diff --git a/2021/img/regular/close.svg b/2021/img/regular/close.svg
new file mode 100644
index 0000000..75cce6f
--- /dev/null
+++ b/2021/img/regular/close.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 140 140" width="140" height="140"><g transform="matrix(5.833333333333333,0,0,5.833333333333333,0,0)"><path d="M0.75 23.249L23.25 0.749" fill="none" stroke="#1482a1" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path><path d="M23.25 23.249L0.75 0.749" fill="none" stroke="#1482a1" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></g></svg>
diff --git a/2021/img/regular/computer-bug.svg b/2021/img/regular/computer-bug.svg
new file mode 100644
index 0000000..1457334
--- /dev/null
+++ b/2021/img/regular/computer-bug.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<title>computer-bug</title>
+<g>
+	<path d="M12,24c-3.308,0-6-2.692-6-6v-1.011C4.731,18.562,2.813,19.5,0.75,19.5C0.336,19.5,0,19.164,0,18.75S0.336,18,0.75,18
+		c2.62,0,4.828-1.946,5.195-4.5H0.75C0.336,13.5,0,13.164,0,12.75S0.336,12,0.75,12h5.195C5.578,9.446,3.37,7.5,0.75,7.5
+		C0.336,7.5,0,7.164,0,6.75S0.336,6,0.75,6C2.813,6,4.731,6.938,6,8.511V7.5c0-0.755,0.139-1.487,0.412-2.184
+		C4.784,4.389,3.75,2.634,3.75,0.75C3.75,0.336,4.086,0,4.5,0s0.75,0.337,0.75,0.75c0,1.342,0.728,2.585,1.88,3.25
+		C8.26,2.428,10.056,1.5,12,1.5c1.944,0,3.74,0.928,4.87,2.5c1.152-0.666,1.881-1.909,1.88-3.25C18.75,0.336,19.086,0,19.5,0
+		s0.75,0.336,0.75,0.75c0,1.884-1.034,3.639-2.663,4.566C17.861,6.012,18,6.745,18,7.5v1.011C19.269,6.938,21.187,6,23.25,6
+		C23.664,6,24,6.336,24,6.75S23.664,7.5,23.25,7.5c-2.619,0-4.828,1.946-5.195,4.5h5.195c0.414,0,0.75,0.336,0.75,0.75
+		s-0.336,0.75-0.75,0.75h-5.195c0.367,2.554,2.576,4.5,5.195,4.5c0.414,0,0.75,0.336,0.75,0.75s-0.336,0.75-0.75,0.75
+		c-2.063,0-3.981-0.938-5.25-2.511V18C18,21.308,15.308,24,12,24z M7.5,18c0,2.481,2.019,4.5,4.5,4.5c2.481,0,4.5-2.019,4.5-4.5V9
+		h-9V18z M16.5,7.5C16.5,5.019,14.481,3,12,3C9.519,3,7.5,5.019,7.5,7.5H16.5z"/>
+</g>
+</svg>
diff --git a/2021/img/regular/conversation-question-warning-1.svg b/2021/img/regular/conversation-question-warning-1.svg
new file mode 100644
index 0000000..167ac73
--- /dev/null
+++ b/2021/img/regular/conversation-question-warning-1.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
+<title>conversation-question-warning-1</title>
+<g>
+	<path d="M0.751,21.003c-0.201,0-0.389-0.078-0.531-0.22c-0.224-0.224-0.283-0.566-0.147-0.852l2.5-5.25
+		c-0.278-0.49-0.514-1.005-0.703-1.534c-0.888-2.476-0.759-5.151,0.365-7.53C3.357,3.237,5.34,1.438,7.817,0.55
+		c1.071-0.384,2.186-0.579,3.316-0.579c4.152,0,7.881,2.622,9.281,6.526c0.139,0.389-0.064,0.819-0.453,0.959
+		C19.878,7.485,19.793,7.5,19.707,7.5c-0.316,0-0.599-0.2-0.706-0.497c-1.187-3.309-4.348-5.532-7.868-5.532
+		c-0.957,0-1.903,0.165-2.811,0.491C6.224,2.715,4.543,4.24,3.591,6.257c-0.952,2.017-1.062,4.284-0.309,6.383
+		c0.201,0.56,0.462,1.1,0.777,1.604c0.136,0.219,0.152,0.488,0.041,0.72l-1.763,3.704l3.704-1.764
+		c0.1-0.048,0.212-0.073,0.322-0.073c0.141,0,0.278,0.039,0.397,0.114c0.953,0.594,1.999,0.984,3.108,1.159
+		c0.198,0.031,0.372,0.137,0.49,0.3c0.118,0.162,0.166,0.36,0.134,0.558c-0.057,0.367-0.368,0.633-0.738,0.633c0,0,0,0,0,0
+		c-0.04,0-0.08-0.003-0.121-0.01C8.463,19.4,7.35,19.012,6.323,18.43l-5.25,2.5C0.972,20.978,0.861,21.003,0.751,21.003z"/>
+	<path d="M10.125,9.753c-0.414,0-0.75-0.336-0.75-0.75s0.336-0.75,0.75-0.75c0.62,0,1.125-0.505,1.125-1.125
+		s-0.505-1.125-1.125-1.125S9,6.508,9,7.128c0,0.414-0.336,0.75-0.75,0.75c-0.414,0-0.75-0.336-0.75-0.75
+		c0-1.447,1.178-2.625,2.625-2.625c1.448,0,2.625,1.178,2.625,2.625S11.573,9.753,10.125,9.753z"/>
+	<path d="M10.125,12.753C9.505,12.753,9,12.248,9,11.628c0-0.573,0.427-1.048,0.997-1.114c0.042-0.008,0.085-0.011,0.129-0.011
+		c0.044,0,0.087,0.004,0.13,0.012c0.568,0.066,0.995,0.541,0.995,1.114C11.25,12.248,10.746,12.753,10.125,12.753z"/>
+	<path d="M22.579,24.003c-0.139,0-0.276-0.039-0.394-0.112l-3.247-2.002c-0.35,0.062-0.706,0.093-1.059,0.093
+		c-2.821,0-5.327-1.996-5.959-4.747c-0.754-3.286,1.305-6.573,4.591-7.327c0.448-0.103,0.908-0.155,1.368-0.155c0,0,0.001,0,0.001,0
+		c1.637,0,3.167,0.627,4.316,1.765c1.156,1.146,1.797,2.673,1.805,4.301c0.006,1.37-0.452,2.707-1.294,3.783l0.612,3.523
+		c0.051,0.29-0.074,0.584-0.318,0.749C22.876,23.958,22.73,24.003,22.579,24.003z M19.079,20.345c0.139,0,0.276,0.039,0.394,0.112
+		l2.082,1.284l-0.386-2.223c-0.04-0.226,0.025-0.455,0.178-0.626c0.749-0.846,1.159-1.935,1.154-3.066
+		c-0.006-1.227-0.489-2.378-1.36-3.242c-0.866-0.858-2.014-1.331-3.233-1.331c-0.006,0-0.026,0-0.03,0
+		c-0.349,0-0.694,0.04-1.03,0.117c-2.48,0.569-4.034,3.05-3.465,5.529c0.477,2.076,2.368,3.582,4.497,3.582
+		c0.345,0,0.693-0.04,1.032-0.117C18.967,20.351,19.023,20.345,19.079,20.345z"/>
+	<path d="M17.25,18.003c-0.414,0-0.75-0.336-0.75-0.75v-3c0-0.414,0.336-0.75,0.75-0.75S18,13.839,18,14.253v3
+		C18,17.667,17.664,18.003,17.25,18.003z"/>
+</g>
+</svg>
diff --git a/2021/img/regular/developer-community-github-1.svg b/2021/img/regular/developer-community-github-1.svg
new file mode 100644
index 0000000..4764a00
--- /dev/null
+++ b/2021/img/regular/developer-community-github-1.svg
@@ -0,0 +1 @@
+<svg id="Outline_Version" data-name="Outline Version" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>developer-community-github-1</title><path d="M12,0A12,12,0,0,0,8.59,23.5a1.25,1.25,0,0,0,1.61-1.2V20a.75.75,0,0,0-.91-.73A2,2,0,0,1,6.66,18l-.11-.27.18.13a2.62,2.62,0,0,0,3.06.5.75.75,0,0,0,.44-.58,4.84,4.84,0,0,1,.38-1.36.75.75,0,0,0-.41-1.31c-2.4-.27-3.85-.66-3.85-3.66A3.1,3.1,0,0,1,7.18,9.3a.75.75,0,0,0,.14-.79,2.65,2.65,0,0,1-.06-1.57A5.46,5.46,0,0,1,9,7.81a.76.76,0,0,0,.62.1,8.76,8.76,0,0,1,2.28-.31,8.67,8.67,0,0,1,2.29.31.75.75,0,0,0,.62-.1,5.63,5.63,0,0,1,1.76-.87,2.66,2.66,0,0,1-.05,1.57.75.75,0,0,0,.14.79,3.09,3.09,0,0,1,.82,2.15c0,3-1.46,3.38-3.86,3.65a.75.75,0,0,0-.64.52.74.74,0,0,0,.22.79,3.61,3.61,0,0,1,.43,1.77v4.17a1.25,1.25,0,0,0,1.25,1.25,1.19,1.19,0,0,0,.34,0A12,12,0,0,0,12,0Zm3.16,22V18.18a5.94,5.94,0,0,0-.27-1.72c1.93-.31,4.12-1.18,4.12-5a4.62,4.62,0,0,0-.93-2.83,4.52,4.52,0,0,0-.24-2.73.75.75,0,0,0-.47-.44c-.26-.08-1.24-.25-3.09.92a10.19,10.19,0,0,0-4.7,0c-1.85-1.18-2.83-1-3.09-.92A.75.75,0,0,0,6,5.9a4.51,4.51,0,0,0-.24,2.73,4.62,4.62,0,0,0-.93,2.83c0,3.83,2.21,4.69,4.14,5-.07.24-.13.47-.17.66-.42.11-.65-.06-1.2-.47a7.19,7.19,0,0,0-2.81-1.38.75.75,0,0,0-.74,1.22,5.23,5.23,0,0,1,1.17,2A3.52,3.52,0,0,0,8.7,20.89V22a10.5,10.5,0,1,1,6.46,0Z"/></svg>
\ No newline at end of file
diff --git a/2021/img/regular/developer-community-stack-overflow.svg b/2021/img/regular/developer-community-stack-overflow.svg
new file mode 100644
index 0000000..332e4de
--- /dev/null
+++ b/2021/img/regular/developer-community-stack-overflow.svg
@@ -0,0 +1 @@
+<svg id="Outline_Version" data-name="Outline Version" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>developer-community-stack-overflow</title><path d="M2.85,13.71a.75.75,0,0,0-.75.75V21a2.75,2.75,0,0,0,2.75,2.75h11A2.75,2.75,0,0,0,18.6,21v-6.5a.75.75,0,0,0-1.5,0V21a1.25,1.25,0,0,1-1.25,1.25h-11A1.25,1.25,0,0,1,3.6,21v-6.5A.75.75,0,0,0,2.85,13.71Z"/><path d="M5.5,19a.75.75,0,0,0,.75.75h8a.75.75,0,1,0,0-1.5h-8A.75.75,0,0,0,5.5,19Z"/><path d="M6.07,14.46a.75.75,0,0,0,.58.89L14.48,17l.16,0a.75.75,0,0,0,.15-1.48L7,13.88A.74.74,0,0,0,6.07,14.46Z"/><path d="M7.57,10.17a.75.75,0,0,0,.38,1l7.31,3.25A.75.75,0,1,0,15.87,13L8.56,9.79A.75.75,0,0,0,7.57,10.17Z"/><path d="M9.93,6.29a.75.75,0,0,0,.17,1L16.57,12a.75.75,0,1,0,.88-1.21L11,6.12A.75.75,0,0,0,9.93,6.29Z"/><path d="M13,3A.75.75,0,0,0,13,4L18.34,10a.75.75,0,1,0,1.11-1L14.1,3A.75.75,0,0,0,13,3Z"/><path d="M21.16,8.71a.74.74,0,0,0,.38-.1.75.75,0,0,0,.27-1l-4-6.92a.75.75,0,0,0-1.3.75l4,6.92A.75.75,0,0,0,21.16,8.71Z"/></svg>
\ No newline at end of file
diff --git a/2021/img/regular/navigation-menu.svg b/2021/img/regular/navigation-menu.svg
new file mode 100644
index 0000000..1ecaeb9
--- /dev/null
+++ b/2021/img/regular/navigation-menu.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 200 200" width="200" height="200"><g transform="matrix(8.333333333333334,0,0,8.333333333333334,0,0)"><path d="M2.25 18.003L21.75 18.003" fill="none" stroke="#1482a1" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M2.25 12.003L21.75 12.003" fill="none" stroke="#1482a1" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M2.25 6.003L21.75 6.003" fill="none" stroke="#1482a1" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg>
diff --git a/2021/img/regular/rss-feed.svg b/2021/img/regular/rss-feed.svg
new file mode 100644
index 0000000..3296697
--- /dev/null
+++ b/2021/img/regular/rss-feed.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" viewBox="0 0 200 200" width="200" height="200"><g transform="matrix(8.333333333333334,0,0,8.333333333333334,0,0)"><path d="M0.750 19.497 A3.750 3.750 0 1 0 8.250 19.497 A3.750 3.750 0 1 0 0.750 19.497 Z" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M.75,8.844a11.328,11.328,0,0,1,14.4,14.4" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M.75,1.113A18.777,18.777,0,0,1,22.889,23.236" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg>
\ No newline at end of file
diff --git a/2021/img/screenshot/demo-app-contacts-preview.png b/2021/img/screenshot/demo-app-contacts-preview.png
new file mode 100644
index 0000000..29dbdf6
--- /dev/null
+++ b/2021/img/screenshot/demo-app-contacts-preview.png
Binary files differ
diff --git a/2021/img/screenshot/demo-app-scout-classic-preview.png b/2021/img/screenshot/demo-app-scout-classic-preview.png
new file mode 100644
index 0000000..9ed3fa8
--- /dev/null
+++ b/2021/img/screenshot/demo-app-scout-classic-preview.png
Binary files differ
diff --git a/2021/img/screenshot/demo-app-scout-js-preview.png b/2021/img/screenshot/demo-app-scout-js-preview.png
new file mode 100644
index 0000000..396e235
--- /dev/null
+++ b/2021/img/screenshot/demo-app-scout-js-preview.png
Binary files differ
diff --git a/2021/img/screenshot/intro-screen.png b/2021/img/screenshot/intro-screen.png
new file mode 100644
index 0000000..61fe680
--- /dev/null
+++ b/2021/img/screenshot/intro-screen.png
Binary files differ
diff --git a/2021/index.html b/2021/index.html
new file mode 100644
index 0000000..576ab12
--- /dev/null
+++ b/2021/index.html
@@ -0,0 +1,349 @@
+<!doctype html>
+<html class="no-js" lang="">
+
+  <head>
+    <meta charset="utf-8">
+    <title>Eclipse Scout - A one-stop framework to develop professional business applications</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="apple-mobile-web-app-capable" content="yes"/>
+
+    <meta property="og:title" content="Eclipse Scout - A one-stop framework to develop professional business applications">
+    <meta property="og:type" content="website">
+    <meta property="og:url" content="">
+    <meta property="og:image" content="">
+
+    <link rel="stylesheet" type="text/css" href="css/normalize.css">
+    <link rel="stylesheet" type="text/css" href="css/styles.css" />
+
+    <!-- FAVICON - Generator: https://www.favicon-generator.org/ -->
+    <link rel="manifest" href="manifest.json">
+    <link rel="apple-touch-icon" href="/img/favicon/apple-icon.png">
+    <link rel="apple-touch-icon" sizes="57x57" href="/img/favicon/apple-icon-57x57.png">
+    <link rel="apple-touch-icon" sizes="60x60" href="/img/favicon/apple-icon-60x60.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="/img/favicon/apple-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="76x76" href="/img/favicon/apple-icon-76x76.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="/img/favicon/apple-icon-114x114.png">
+    <link rel="apple-touch-icon" sizes="120x120" href="/img/favicon/apple-icon-120x120.png">
+    <link rel="apple-touch-icon" sizes="144x144" href="/img/favicon/apple-icon-144x144.png">
+    <link rel="apple-touch-icon" sizes="152x152" href="/img/favicon/apple-icon-152x152.png">
+    <link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-icon-180x180.png">
+    <link rel="icon" type="image/png" sizes="192x192"  href="/img/favicon/android-icon-192x192.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="96x96" href="/img/favicon/favicon-96x96.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png">
+    <meta name="msapplication-TileImage" content="/img/favicon/ms-icon-144x144.png">
+    <meta name="msapplication-TileColor" content="#ffffff">
+    <meta name="theme-color" content="#ffffff">
+
+  </head>
+
+  <body>
+
+    <header>
+        <div id="eclipse-scout-logo"><div class="logo"></div><div class="text"></div></div>
+
+      <nav id="main-navigation">
+        <div class="navigation-item lv1 first"><a href="https://eclipsescout.github.io/11.0/getstarted.html" target="_blank" class="text"
+             title="Get started with Eclipse Scout">Tutorial</a></div>
+        <div class="navigation-item lv1"><a href="https://eclipsescout.github.io/11.0/" target="_blank" class="text">Docs</a></div>
+        <div class="navigation-item lv1 has-children">
+          <div class="text">Community</div>
+          <div class="navigation-lv2-panel hidden">
+            <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" class="navigation-item lv2 first" id="icon-eclipse-scout-forum">
+              <div class="navigation-item-container">
+                <div class="title">Eclipse Scout Forum</div>
+                <div class="text">Need help? Ask the experts</div>
+              </div>
+            </a>
+            <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" class="navigation-item lv2" id="icon-stack-overflow">
+              <div class="navigation-item-container">
+                <div class="title">StackOverflow</div>
+                <div class="text">Another source of help</div>
+              </div>
+            </a>
+            <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" class="navigation-item lv2" id="icon-git-hub">
+              <div class="navigation-item-container">
+                <div class="title">GitHub</div>
+                <div class="text">View source code. Contribute</div>
+              </div>
+            </a>
+            <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" class="navigation-item lv2 last" id="icon-bugzilla">
+              <div class="navigation-item-container">
+                <div class="title">Bugzilla</div>
+                <div class="text">Report errors</div>
+              </div>
+            </a>
+          </div>
+
+        </div>
+        <div class="navigation-item lv1 last"><a href="features.html" class="text">Features</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="versions.html" class="text">Versions</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="javascript:onGetStartedLinkClick()" class="text">Get Started</a></div>
+      </nav>
+
+      <a href="/versions.html#v11" id="scout-version-button" class="desktop-only">
+        <svg height="36" width="36" viewBox="0 0 36 36">
+          <circle cx="18" cy="18" r="17" stroke="#014786" stroke-width="2" fill="white" />
+        </svg>
+        <div>v11</div>
+      </a>
+
+      <button id="get-started-button" class="desktop-only">Get Started</button>
+
+      <button id="mobile-navigation-button" class="mobile-only"></button>
+
+    </header>
+
+    <div id="wrapper">
+
+      <!-- **** INTRO **** -->
+<div id="intro-panel">
+  <div class="intro-column first">
+    <img src="img/screenshot/intro-screen.png">
+  </div>
+  <div class="intro-column last">
+    <h1>Business&nbsp;Applications Made Easy</h1>
+    <p><strong>Eclipse Scout</strong> is a one-stop framework with straight concepts,
+      a strong application model and a versatile UI. It enables you to develop professional
+      software in Java or JavaScript.</p>
+  </div>
+</div>
+
+<!-- **** FEATURES **** -->
+<div id="features-panel">
+  <h2><a id="features-and-highlights">Features and Highlights</a></h2>
+  <p>Hundreds of commercial projects rely on Eclipse Scout. It is a mature, stable, open-source framework
+    with active development, backed by a successful software company. Here are some of the benefits you
+    get when working with Scout. Check the <a href="features.html">Features</a> page for more details.</p>
+
+  <div class="features-grid">
+    <div class="features-grid-row first">
+
+      <div class="features-grid-tile">
+        <a href="features.html#widgets">
+          <img src="img/light/analytics-graph-bar.svg">
+          <div>Powerful Widgets</div>
+          <p>Scout provides a mature widget library to build beautiful and stable web-based user interfaces.</p>
+        </a>
+      </div>
+
+      <div class="features-grid-tile">
+        <a href="features.html#web">
+          <img src="img/light/programming-browser.svg">
+          <div>Web Toolstack</div>
+          <p>Modern web toolstack with ES6+, Webpack and Babel</p>
+        </a>
+      </div>
+
+      <div class="features-grid-tile last">
+        <a href="features.html#responsive">
+          <img src="img/light/responsive-design-1.svg">
+          <div>Responsive UI</div>
+          <p>Build responsive applications for desktop and mobile devices.</p>
+        </a>
+      </div>
+
+    </div>
+
+    <div class="features-grid-row">
+
+      <div class="features-grid-tile">
+        <a href="features.html#full-stack">
+          <img src="img/light/layers-stacked-1.svg">
+          <div>Full Stack</div>
+          <p>From front end to back end to database: Scout helps you with every tier.</p>
+        </a>
+      </div>
+
+      <div class="features-grid-tile">
+        <a href="features.html#tools">
+          <img src="img/light/outdoors-swiss-knife.svg">
+          <div>Comprehensive Tools</div>
+          <p>Dependency management, i18n, Transaction handling, Testing, REST, Web services, Authentication...</p>
+        </a>
+      </div>
+
+      <div class="features-grid-tile last">
+        <a href="features.html#programming-language">
+          <img src="img/light/coffee-machine.svg">
+          <div>Java and JavaScript</div>
+          <p>Choose your favorite language to develop in Scout.</p>
+        </a>
+      </div>
+
+    </div>
+  </div>
+</div>
+
+<!-- **** DEMO-APPS **** -->
+<div id="demo-apps-panel">
+  <h2><a id="demo-apps">Scout Demo Apps</a></h2>
+
+  <div id="demo-apps-navigation">
+
+    <div class="donut-line"></div>
+
+    <div class="demo-apps-buttons">
+      <div class="demo-app-button-column first">
+        <div class="demo-app-button active" data-show-container="contacts">
+          <svg class="demo-app-button-donut" height="50" width="50" viewBox="0 0 50 50">
+            <circle class="outer" cx="25" cy="25" r="24" fill="#014786" />
+            <circle class="inner" cx="25" cy="25" r="5" fill="white" />
+          </svg>
+          <div class="demo-app-button-label">
+            Contacts
+          </div>
+        </div>
+      </div>
+
+      <div class="demo-app-button-column">
+        <div class="demo-app-button" data-show-container="scout-classic-widgets">
+          <svg class="demo-app-button-donut" height="50" width="50" viewBox="0 0 50 50">
+            <circle class="outer" cx="25" cy="25" r="24" fill="#014786" />
+            <circle class="inner" cx="25" cy="25" r="5" fill="white" />
+          </svg>
+          <div class="demo-app-button-label">
+            Scout Classic<br/>Widgets
+          </div>
+        </div>
+      </div>
+
+      <div class="demo-app-button-column last">
+        <div class="demo-app-button" data-show-container="scout-js-widgets">
+          <svg class="demo-app-button-donut" height="50" width="50" viewBox="0 0 50 50">
+            <circle class="outer" cx="25" cy="25" r="24" fill="#014786" />
+            <circle class="inner" cx="25" cy="25" r="5" fill="white" />
+          </svg>
+          <div class="demo-app-button-label">
+            Scout JS<br/>Widgets
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <div id="demo-app-container-wrapper">
+    <!-- Contacts -->
+    <div class="demo-app-container" id="contacts">
+      <div class="demo-app-description">
+        <div>Contacts</div>
+        <p>This lean business application written in <span class="tooltip" data-tooltip-text="scout.classic">Scout Classic</span> features patterns and best practices used in Scout applications.</p>
+        <a href="https://scout.bsi-software.com/contacts/" target="_blank" class="launch-app-link">Launch app</a>
+      </div>
+      <div class="demo-app-image">
+        <a href="https://scout.bsi-software.com/contacts/" target="_blank"><img src="img/screenshot/demo-app-contacts-preview.png"></a>
+      </div>
+    </div>
+
+    <!-- Scout Classic Widgets -->
+    <div class="demo-app-container hidden" id="scout-classic-widgets">
+      <div class="demo-app-description">
+        <div>Scout Classic Widgets</div>
+        <p>A Java application featuring all available widgets in <span class="tooltip" data-tooltip-text="scout.classic">Scout Classic</span>.</p>
+        <a href="https://scout.bsi-software.com/widgets/" target="_blank" class="launch-app-link">Launch app</a>
+      </div>
+      <div class="demo-app-image">
+        <a href="https://scout.bsi-software.com/widgets/" target="_blank"><img src="img/screenshot/demo-app-scout-classic-preview.png"></a>
+      </div>
+    </div>
+
+    <!-- Scout JS Widgets -->
+    <div class="demo-app-container hidden" id="scout-js-widgets">
+      <div class="demo-app-description">
+        <div>Scout JS Widgets</div>
+        <p>A JavaScript application featuring all available widgets in <span class="tooltip" data-tooltip-text="scout.js">Scout JS</span>.</p>
+        <a href="https://scout.bsi-software.com/jswidgets/" target="_blank" class="launch-app-link">Launch app</a>
+      </div>
+      <div class="demo-app-image">
+        <a href="https://scout.bsi-software.com/jswidgets/" target="_blank"><img src="img/screenshot/demo-app-scout-js-preview.png"></a>
+      </div>
+    </div>
+  </div> <!-- EOF demo-apps-container-wrapper -->
+
+</div>
+
+<!-- **** GETTING STARTED **** -->
+<div id="getting-started-panel">
+  <div id="getting-started-panel-columns">
+    <div class="getting-started-column first">
+      <h3><a id="getting-started-java">Java Developers</a></h3>
+      <p>Learn how to build a <span class="tooltip inverted" data-tooltip-text="scout.classic">Scout Classic</span> application written in Java
+        with a server-side application model.</p>
+      <a href="https://eclipsescout.github.io/11.0/helloscout.html" class="get-started-link" target="_blank">Get started</a>
+    </div>
+
+    <div class="getting-started-column center">
+      <img src="img/light/space-rocket-flying.svg">
+    </div>
+
+    <div class="getting-started-column last">
+      <h3><a id="getting-started-javascript">JavaScript Developers</a></h3>
+      <p>Learn how to build a <span class="tooltip inverted" data-tooltip-text="scout.js">Scout JS</span> application written in JavaScript.<br/><br/></p>
+      <a href="https://eclipsescout.github.io/11.0/helloscout-js.html" class="get-started-link" target="_blank">Get started</a>
+    </div>
+  </div>
+</div>
+
+<!-- **** TRY SCOUT JS **** -->
+<div id="try-scout-js-panel">
+
+  <div id="try-scout-js-columns">
+    <div class="try-scout-js-column first">
+      <h3><a id="try-scout-js">Try Scout JS</a></h3>
+      <p>See how simple it is to develop in Scout: Change the code in this
+         CodePen and click the "Rerun" button to update the Hello World app.</p>
+    </div>
+    <div class="try-scout-js-column last">
+      <p class="codepen" data-height="350" data-theme-id="dark" data-default-tab="js,result" data-user="eclipse-scout" data-slug-hash="BaQPjom"
+         style="height: 350px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Scout JS Hello World" data-editable="true">
+        <span>See the Pen <a href="https://codepen.io/eclipse-scout/pen/BaQPjom">
+        Scout JS Hello World</a> by Eclipse Scout (<a href="https://codepen.io/eclipse-scout">@eclipse-scout</a>)
+        on <a href="https://codepen.io">CodePen</a>.</span>
+      </p>
+      <script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>
+    </div>
+  </div>
+
+</div>
+
+      <!-- **** FOOTER **** -->
+      <footer>
+
+        <div id="social-media-bar">
+          <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" title="Eclipse Scout Forum"><img src="img/bold/conversation-question-warning-1-alternate.svg" class="small"></a>
+          <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" title="Eclipse Scout on StackOverflow"><img src="img/bold/developer-community-stack-overflow.svg"></a>
+          <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" title="Eclipse Scout on GitHub"><img src="img/bold/developer-community-github-1.svg"></a>
+          <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" title="Eclipse Scout on Bugzilla"><img src="img/bold/computer-bug-2.svg" class="small"></a>
+        </div>
+
+        <div id="copyright">
+          Copyright © Eclipse Foundation, <br class="mobile-only"/>Inc. All Rights Reserved.
+        </div>
+
+        <nav id="eclipse-navigation-bar">
+          <a href="http://www.eclipse.org/" target="_blank">Eclipse Home</a>
+          <a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a>
+          <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a>
+          <a href="http://www.eclipse.org/legal/copyright.php" target="_blank">Copyright Agent</a>
+          <a href="http://www.eclipse.org/legal" target="_blank">Legal</a>
+        </nav>
+
+      </footer>
+    </div>
+
+    <script src="js/vendor/modernizr-3.11.2.min.js"></script>
+    <script src="js/vendor/jquery-3.5.1.slim.min.js"></script>
+    <script src="js/plugins.js"></script>
+    <script src="js/main.js"></script>
+
+    <!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
+    <script>
+      // window.ga = function () { ga.q.push(arguments) }; ga.q = []; ga.l = +new Date;
+      // ga('create', 'UA-XXXXX-Y', 'auto'); ga('set', 'anonymizeIp', true); ga('set', 'transport', 'beacon'); ga('send', 'pageview')
+    </script>
+    <script src="https://www.google-analytics.com/analytics.js" async></script>
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/2021/js/main.js b/2021/js/main.js
new file mode 100644
index 0000000..72ee071
--- /dev/null
+++ b/2021/js/main.js
@@ -0,0 +1,297 @@
+"use strict";
+
+var TOOLTIP_MIN_MARGIN = 10;
+var TEXTS = {
+  'scout.js': 'Scout JS applications are written in JavaScript and run in the browser.' + ' An application server is optional.',
+  'scout.classic': 'Scout Classic applications are written in Java. They implement the client/server principle. The business logic' + ' runs on a Java application server.'
+};
+
+var hideAnimationListener = function hideAnimationListener(event) {
+  $(event.target).removeClass('animate-hide').addClass('hidden')[0].removeEventListener('animationend', hideAnimationListener);
+};
+
+var showAnimationListener = function showAnimationListener(event) {
+  $(event.target).removeClass('animate-show')[0].removeEventListener('animationend', showAnimationListener);
+};
+
+function onDemoAppButtonClick() {
+  var $button = $(this);
+
+  if ($button.hasClass('active')) {
+    return;
+  }
+
+  var $activeButton = $('.demo-app-button.active');
+  $activeButton.removeClass('active');
+  $button.addClass('active');
+  var showContainerId = $button.data('showContainer');
+  var $divToHide = $('.demo-app-container:not(.hidden)');
+  var $divToShow = $('#' + showContainerId); // Animation already running --> skip
+
+  if (!$divToHide.length) {
+    return;
+  }
+
+  $divToHide.addClass('animate-hide')[0].addEventListener('animationend', hideAnimationListener);
+  $divToShow.removeClass('hidden').addClass('animate-show')[0].addEventListener('animationend', showAnimationListener);
+}
+
+function navigateToGetStarted() {
+  var $panel = $('#getting-started-panel');
+
+  if ($panel.length) {
+    // Only exists on index page
+    $panel[0].scrollIntoView({
+      behavior: 'smooth'
+    });
+  } else {
+    document.location = '/#getting-started-java';
+  }
+}
+
+function onGetStartedLinkClick() {
+  navigateToGetStarted();
+  hideMobileNavigation($('#main-navigation'));
+}
+
+function onGetStartedButtonClick() {
+  navigateToGetStarted();
+}
+/**
+ * Handles the tooltip hover or click events. By default the tooltips are built CSS
+ * only using the hover state of the link. But since this doesn't work on iOS devices
+ * this function works with click events on these devices. There we set a 'hover' class
+ * on click instead on relying on the :hover state of the element.
+ * <p>
+ * Creates the additional tooltip DIV only once.
+ * </p>
+ */
+
+
+function onTooltipEvent(event) {
+  var $tooltip = $(event.currentTarget);
+  var tooltipTextKey = $tooltip.data('tooltipText');
+  var availWidth = $(document).width(); // must happen before tooltip is made visible
+  // create tooltip text once
+
+  var $tooltipText = $tooltip.find('.tooltip-text');
+
+  if (!$tooltipText.length) {
+    var tooltipText = TEXTS[tooltipTextKey];
+
+    if (!tooltipText) {
+      tooltipText = 'Undefined textKey "' + tooltipTextKey + '"';
+    }
+
+    $tooltipText = $('<span>').addClass('tooltip-text').text(tooltipText);
+    $tooltipText.appendTo($tooltip);
+    var clickOutsideHandler = clickOutsideTooltipHandler.bind($tooltip);
+    $tooltip.data('clickOutsideHandler', clickOutsideHandler);
+  } // click handling instead :hover state, for iOS devices
+
+
+  if (event.type === 'click') {
+    $tooltip.toggleClass('hover');
+    var showTooltip = $tooltip.hasClass('hover');
+
+    if (showTooltip) {
+      setTimeout(function () {
+        $(document).on('click', $tooltip.data('clickOutsideHandler'));
+      });
+    } else {
+      hideTooltip($tooltip);
+    }
+  } // adjust tooltip position
+
+
+  $tooltipText.removeClass('adjust-left adjust-right');
+  var position = $tooltipText.offset();
+  var width = $tooltipText.outerWidth();
+  var x = position.left;
+  var diff;
+
+  if (x < 0) {
+    // left boundaries crossed?
+    diff = Math.abs(x);
+    var marginLeft = parseInt($tooltipText.css('margin-left'), 10);
+    $tooltipText.css('margin-left', marginLeft + diff + TOOLTIP_MIN_MARGIN).addClass('adjust-left');
+  } else if (x + width > availWidth) {
+    // right boundaries crossed?
+    diff = x + width - availWidth;
+
+    var _marginLeft = parseInt($tooltipText.css('margin-left'), 10);
+
+    $tooltipText.css('margin-left', _marginLeft - diff - TOOLTIP_MIN_MARGIN).addClass('adjust-right');
+  }
+}
+
+function clickOutsideTooltipHandler(event) {
+  var $tooltip = this;
+  var $tooltipText = $tooltip.find('.tooltip-text');
+
+  if (event.target !== $tooltipText[0]) {
+    hideTooltip($tooltip);
+  }
+}
+
+function hideTooltip($tooltip) {
+  $tooltip.removeClass('hover');
+  $(document).off('click', $tooltip.data('clickOutsideHandler'));
+}
+
+function installHandlers() {
+  $('#get-started-button').on('click', onGetStartedButtonClick);
+  $('#mobile-navigation-button').on('click', onMobileNavigationButtonClick);
+  $('.navigation-item.lv1 > .text').on('click', onNavigationItemLv1Click);
+  $('.demo-app-button').on('click', onDemoAppButtonClick);
+
+  if (isIOs()) {
+    $('.tooltip').on('click', onTooltipEvent);
+  } else {
+    $('.tooltip').one('mouseover', onTooltipEvent);
+  }
+}
+
+function onNavigationItemLv1Click(event) {
+  var $navItemText = $(event.currentTarget);
+  var $navPanel = $navItemText.parent().find('.navigation-lv2-panel');
+
+  if (isMobileMode()) {
+    toggleMobileNavigationPanelLv2($navItemText, $navPanel);
+  } else {
+    toggleDesktopNavigationPanelLv2($navItemText, $navPanel);
+  }
+}
+
+function toggleMobileNavigationPanelLv2($navItemText, $navPanel) {
+  var open = $navItemText.hasClass('open');
+
+  if (open) {
+    $navPanel.addClass('hidden');
+    $navItemText.removeClass('open');
+  } else {
+    $navPanel.removeClass('hidden');
+    $navItemText.addClass('open');
+  }
+}
+
+function toggleDesktopNavigationPanelLv2($navItemText, $navPanel) {
+  if (!$navPanel.length) {
+    hideAllDesktopNavigationPanelsLv2();
+    return;
+  }
+
+  if (!$navPanel.hasClass('hidden')) {
+    hideDesktopNavigationPanelLv2($navPanel);
+    return;
+  }
+
+  $navItemText.addClass('open');
+  var clickOutsideHandler = onDesktopNavigationPanelLv2ClickOutside.bind($navPanel);
+  $navPanel.removeClass('hidden');
+  $navPanel.data('clickOutsideHandler', clickOutsideHandler);
+  setTimeout(function () {
+    $(document).on('click', clickOutsideHandler);
+  });
+}
+
+function onDesktopNavigationPanelLv2ClickOutside(event) {
+  var $panel = this;
+
+  if ($panel[0] !== event.target) {
+    hideDesktopNavigationPanelLv2($panel);
+  }
+}
+
+function onMobileNavigationButtonClick(event) {
+  var $navButton = $(event.currentTarget);
+  var $navigation = $('#main-navigation');
+  var $body = $('body');
+  var open = $navButton.hasClass('open'); // Timeout is required for transition to work (cannot make a transition from display:none)
+  // Transition listener is required for the same reason when hiding the panel
+
+  if (open) {
+    // Close navigation panel
+    hideMobileNavigation($navigation);
+  } else {
+    // Open navigation panel
+    var clickOutsideHandler = onMobileNavigationClickOutside.bind($navigation);
+    $navigation.data('clickOutsideHandler', clickOutsideHandler);
+    setTimeout(function () {
+      $(document).on('click', clickOutsideHandler);
+    });
+    $body.addClass('fixed');
+    $navButton.addClass('open');
+    $navigation.addClass('open');
+    setTimeout(function () {
+      $navigation.addClass('navigation-slide-in');
+    });
+  }
+}
+
+function onMobileNavigationClickOutside(event) {
+  var $navigation = this;
+  var $header = $('header');
+
+  if ($header.has(event.target).length === 0) {
+    hideMobileNavigation($navigation);
+  }
+}
+
+function hideMobileNavigation($navigation) {
+  var transitionListener = function transitionListener() {
+    $navigation[0].removeEventListener('transitionend', transitionListener);
+    $navigation.removeClass('open');
+  };
+
+  var $body = $('body');
+  var $navButton = $('#mobile-navigation-button');
+  $navigation[0].addEventListener('transitionend', transitionListener);
+  $body.removeClass('fixed');
+  $navButton.removeClass('open');
+  $navigation.removeClass('navigation-slide-in');
+  $(document).off('click', $navigation.data('clickOutsideHandler'));
+  $navigation.removeData('clickOutsideHandler');
+}
+
+function hideDesktopNavigationPanelLv2($panel) {
+  $panel.addClass('hidden');
+  $(document).off('click', $panel.data('clickOutsideHandler'));
+  $panel.removeData('clickOutsideHandler');
+}
+
+function hideAllDesktopNavigationPanelsLv2() {
+  $('.navigation-lv2-panel:not(.hidden)').each(function (index, element) {
+    hideDesktopNavigationPanelLv2($(element));
+  });
+}
+
+function isMobileMode() {
+  // Read property 'content' from ::before element set by CSS
+  // See: https://stackoverflow.com/questions/44342065/how-to-get-a-dom-elements-before-content-with-javascript
+  var detectionDiv = document.querySelector('#device-detection');
+  var content = getComputedStyle(detectionDiv, ':before').getPropertyValue('content');
+  return content && content.indexOf('mobile') > -1;
+}
+/**
+ * Add 'ios' class to certain elements which require different handling on iOS devices.
+ */
+
+
+function prepareDomForIOs() {
+  if (isIOs()) {
+    $('.tooltip').addClass('ios');
+  }
+}
+
+function isIOs() {
+  return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || // iPad on iOS 13 detection
+  navigator.userAgent.includes('Mac') && 'ontouchend' in document;
+}
+
+$(document).ready(function () {
+  $('<div>').attr('id', 'device-detection').appendTo($('body'));
+  prepareDomForIOs();
+  installHandlers();
+  hideAllDesktopNavigationPanelsLv2();
+});
\ No newline at end of file
diff --git a/2021/js/plugins.js b/2021/js/plugins.js
new file mode 100644
index 0000000..24492ad
--- /dev/null
+++ b/2021/js/plugins.js
@@ -0,0 +1,24 @@
+// Avoid `console` errors in browsers that lack a console.
+(function() {
+  var method;
+  var noop = function() {};
+  var methods = [
+    'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
+    'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
+    'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
+    'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'
+  ];
+  var length = methods.length;
+  var console = (window.console = window.console || {});
+
+  while (length--) {
+    method = methods[length];
+
+    // Only stub undefined methods.
+    if (!console[method]) {
+      console[method] = noop;
+    }
+  }
+}());
+
+// Place any jQuery/helper plugins in here.
diff --git a/2021/js/vendor/jquery-3.5.1.slim.min.js b/2021/js/vendor/jquery-3.5.1.slim.min.js
new file mode 100644
index 0000000..36b4e1a
--- /dev/null
+++ b/2021/js/vendor/jquery-3.5.1.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+A+"'></a><select id='"+A+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[N,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[N,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[A]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[A]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[N,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[A]||(e[A]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===N&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[A]&&(v=Te(v)),y&&!y[A]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[A]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=S[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[A]?i.push(a):o.push(a);(a=S(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=N+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(N=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(N=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=A.split("").sort(D).join("")===A,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=p,E.expr=p.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=p.uniqueSort,E.text=p.getText,E.isXMLDoc=p.isXML,E.contains=p.contains,E.escapeSelector=p.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&N.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(O[r]||E.uniqueSort(n),q.test(r)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function I(e){return e}function R(e){throw e}function B(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(H)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){b(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=b(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&b(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,b(t)?s?t.call(e,l(u,o,I,s),l(u,o,R,s)):(u++,t.call(e,l(u,o,I,s),l(u,o,R,s),l(u,o,I,o.notifyWith))):(a!==I&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==R&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,b(r)?r:I,e.notifyWith)),o[1][3].add(l(0,e,b(t)?t:I)),o[2][3].add(l(0,e,b(n)?n:R))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(B(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||b(i[t]&&i[t].then)))return o.then();while(t--)B(i[t],a(t),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&M.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var W=E.Deferred();function F(){w.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return W.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||W.resolveWith(w,[E])}}),E.ready.then=W.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?g.setTimeout(E.ready):(w.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,_=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(_,U)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=E.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(H)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new Q,G=new Q,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}G.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return G.hasData(e)||Y.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=G.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){G.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=w.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};var se={};function ue(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=se[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),se[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var le,ce,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",m.option=!!le.lastChild;var he={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td,m.option||(he.optgroup=he.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(ye.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}var be=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Ee(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ne(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,Ce)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.get(t);if(X(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(H)||[""]).length;while(l--)p=g=(s=we.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(H)||[""]).length;while(l--)if(p=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:b(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click",Ce),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&Y.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&xe.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Ne(this,e,Ee),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var Se=/<script|<style|<link/i,ke=/checked\s*(?:[^=]|=\s*.checked.)/i,De=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);G.hasData(e)&&(o=G.access(e),a=E.extend({},o),G.set(t,a))}}function Pe(n,r,i,o){r=v(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=b(p);if(h||1<f&&"string"==typeof p&&!m.checkClone&&ke.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=me(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),je)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):C(u.textContent.replace(De,""),u,l))}return n}function He(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&ie(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),E.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return $(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Ie=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Me=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=E.style(e,t)),!m.pixelBoxStyles()&&Ie.test(a)&&Me.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=g.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=w.createElement("div"),l=w.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(m,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=w.createElement("table"),t=w.createElement("tr"),n=w.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=g.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var $e=["Webkit","Moz","ms"],ze=w.createElement("div").style,_e={};function Ue(e){var t=E.cssProps[e]||_e[e];return t||(e in ze?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=$e.length;while(n--)if((e=$e[n]+t)in ze)return e}(e)||e)}var Ve,Xe,Qe=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=Re(e),i=(!m.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&S(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Ye.test(t),l=e.style;if(u||(t=Ue(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Ye.test(t)||(t=Ue(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Qe.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,u,n):Be(e,Ge,function(){return et(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!m.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ze(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ze(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=Fe(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Ve=w.createElement("input"),Xe=w.createElement("select").appendChild(w.createElement("option")),Ve.type="checkbox",m.checkOn=""!==Ve.value,m.optSelected=Xe.selected,(Ve=w.createElement("input")).value="t",Ve.type="radio",m.radioValue="t"===Ve.value;var tt,nt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return $(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=nt[t]||E.find.attr;nt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=nt[o],nt[o]=r,r=null!=a(e,t,n)?o:null,nt[o]=i),r}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;function ot(e){return(e.match(H)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function st(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return $(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).addClass(t.call(this,e,at(this)))});if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).removeClass(t.call(this,e,at(this)))});if(!arguments.length)return this.attr("class","");if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):b(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,at(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=st(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=at(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ot(at(n))+" ").indexOf(t))return!0;return!1}});var ut=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=b(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ut,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:ot(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in g;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||w],p=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||w,3!==n.nodeType&&8!==n.nodeType&&!lt.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||p,lt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||w)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&X(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!X(n)||u&&b(n[p])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,ct),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,ct),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}}),E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new g.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var ft,dt=/\[\]$/,pt=/\r?\n/g,ht=/^(?:submit|button|image|reset|file)$/i,gt=/^(?:input|select|textarea|keygen)/i;function vt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||dt.test(n)?i(n,t):vt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)vt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)vt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&gt.test(this.nodeName)&&!ht.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(pt,"\r\n")}}):{name:t.name,value:n.replace(pt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return b(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},m.createHTMLDocument=((ft=w.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),b(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=b,E.isWindow=x,E.camelCase=V,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(yt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var mt=g.jQuery,bt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=bt),e&&g.jQuery===E&&(g.jQuery=mt),E},"undefined"==typeof e&&(g.jQuery=g.$=E),E});
diff --git a/2021/js/vendor/modernizr-3.11.2.min.js b/2021/js/vendor/modernizr-3.11.2.min.js
new file mode 100644
index 0000000..feada51
--- /dev/null
+++ b/2021/js/vendor/modernizr-3.11.2.min.js
@@ -0,0 +1,3 @@
+/*! modernizr 3.11.2 (Custom Build) | MIT *
+ * https://modernizr.com/download/?-cssanimations-csscolumns-customelements-flexbox-history-picture-pointerevents-postmessage-sizes-srcset-webgl-websockets-webworkers-addtest-domprefixes-hasevent-mq-prefixedcssvalue-prefixes-setclasses-testallprops-testprop-teststyles !*/
+!function(e,t,n,r){function o(e,t){return typeof e===t}function i(e){var t=_.className,n=Modernizr._config.classPrefix||"";if(S&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(e.length>0&&(t+=" "+n+e.join(" "+n)),S?_.className.baseVal=t:_.className=t)}function s(e,t){if("object"==typeof e)for(var n in e)k(e,n)&&s(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),o=Modernizr[r[0]];if(2===r.length&&(o=o[r[1]]),void 0!==o)return Modernizr;t="function"==typeof t?t():t,1===r.length?Modernizr[r[0]]=t:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=t),i([(t&&!1!==t?"":"no-")+r.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function a(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):S?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function l(){var e=n.body;return e||(e=a(S?"svg":"body"),e.fake=!0),e}function u(e,t,r,o){var i,s,u,f,c="modernizr",d=a("div"),p=l();if(parseInt(r,10))for(;r--;)u=a("div"),u.id=o?o[r]:c+(r+1),d.appendChild(u);return i=a("style"),i.type="text/css",i.id="s"+c,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",f=_.style.overflow,_.style.overflow="hidden",_.appendChild(p)),s=t(d,e),p.fake?(p.parentNode.removeChild(p),_.style.overflow=f,_.offsetHeight):d.parentNode.removeChild(d),!!s}function f(e,n,r){var o;if("getComputedStyle"in t){o=getComputedStyle.call(t,e,n);var i=t.console;if(null!==o)r&&(o=o.getPropertyValue(r));else if(i){var s=i.error?"error":"log";i[s].call(i,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else o=!n&&e.currentStyle&&e.currentStyle[r];return o}function c(e,t){return!!~(""+e).indexOf(t)}function d(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function p(e,n){var o=e.length;if("CSS"in t&&"supports"in t.CSS){for(;o--;)if(t.CSS.supports(d(e[o]),n))return!0;return!1}if("CSSSupportsRule"in t){for(var i=[];o--;)i.push("("+d(e[o])+":"+n+")");return i=i.join(" or "),u("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"===f(e,null,"position")})}return r}function m(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function h(e,t,n,i){function s(){u&&(delete N.style,delete N.modElem)}if(i=!o(i,"undefined")&&i,!o(n,"undefined")){var l=p(e,n);if(!o(l,"undefined"))return l}for(var u,f,d,h,A,v=["modernizr","tspan","samp"];!N.style&&v.length;)u=!0,N.modElem=a(v.shift()),N.style=N.modElem.style;for(d=e.length,f=0;f<d;f++)if(h=e[f],A=N.style[h],c(h,"-")&&(h=m(h)),N.style[h]!==r){if(i||o(n,"undefined"))return s(),"pfx"!==t||h;try{N.style[h]=n}catch(e){}if(N.style[h]!==A)return s(),"pfx"!==t||h}return s(),!1}function A(e,t){return function(){return e.apply(t,arguments)}}function v(e,t,n){var r;for(var i in e)if(e[i]in t)return!1===n?e[i]:(r=t[e[i]],o(r,"function")?A(r,n||t):r);return!1}function g(e,t,n,r,i){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+O.join(s+" ")+s).split(" ");return o(t,"string")||o(t,"undefined")?h(a,t,r,i):(a=(e+" "+T.join(s+" ")+s).split(" "),v(a,t,n))}function y(e,t,n){return g(e,r,r,t,n)}var w=[],C={_version:"3.11.2",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){w.push({name:e,fn:t,options:n})},addAsyncTest:function(e){w.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=C,Modernizr=new Modernizr;var b=[],_=n.documentElement,S="svg"===_.nodeName.toLowerCase(),x="Moz O ms Webkit",T=C._config.usePrefixes?x.toLowerCase().split(" "):[];C._domPrefixes=T;var P=C._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];C._prefixes=P;var k;!function(){var e={}.hasOwnProperty;k=o(e,"undefined")||o(e.call,"undefined")?function(e,t){return t in e&&o(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),C._l={},C.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},C._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e;for(e=0;e<n.length;e++)(0,n[e])(t)},0),delete this._l[e]}},Modernizr._q.push(function(){C.addTest=s});var E=function(){function e(e,n){var o;return!!e&&(n&&"string"!=typeof n||(n=a(n||"div")),e="on"+e,o=e in n,!o&&t&&(n.setAttribute||(n=a("div")),n.setAttribute(e,""),o="function"==typeof n[e],n[e]!==r&&(n[e]=r),n.removeAttribute(e)),o)}var t=!("onblur"in _);return e}();C.hasEvent=E;var B=function(){var e=t.matchMedia||t.msMatchMedia;return e?function(t){var n=e(t);return n&&n.matches||!1}:function(e){var t=!1;return u("@media "+e+" { #modernizr { position: absolute; } }",function(e){t="absolute"===f(e,null,"position")}),t}}();C.mq=B;var z=function(e,t){var n=!1,r=a("div"),o=r.style;if(e in o){var i=T.length;for(o[e]=t,n=o[e];i--&&!n;)o[e]="-"+T[i]+"-"+t,n=o[e]}return""===n&&(n=!1),n};C.prefixedCSSValue=z;var O=C._config.usePrefixes?x.split(" "):[];C._cssomPrefixes=O;var L={elem:a("modernizr")};Modernizr._q.push(function(){delete L.elem});var N={style:L.elem.style};Modernizr._q.unshift(function(){delete N.style}),C.testAllProps=g,C.testAllProps=y;C.testProp=function(e,t,n){return h([e],r,t,n)},C.testStyles=u;Modernizr.addTest("customelements","customElements"in t),Modernizr.addTest("history",function(){var e=navigator.userAgent;return!!e&&((-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone")||"file:"===location.protocol)&&(t.history&&"pushState"in t.history))});var R=[""].concat(T);C._domPrefixesAll=R,Modernizr.addTest("pointerevents",function(){for(var e=0,t=R.length;e<t;e++)if(E(R[e]+"pointerdown"))return!0;return!1});var j=!0;try{t.postMessage({toString:function(){j=!1}},"*")}catch(e){}Modernizr.addTest("postmessage",new Boolean("postMessage"in t)),Modernizr.addTest("postmessage.structuredclones",j),Modernizr.addTest("webgl",function(){return"WebGLRenderingContext"in t});var M=!1;try{M="WebSocket"in t&&2===t.WebSocket.CLOSING}catch(e){}Modernizr.addTest("websockets",M),Modernizr.addTest("cssanimations",y("animationName","a",!0)),function(){Modernizr.addTest("csscolumns",function(){var e=!1,t=y("columnCount");try{e=!!t,e&&(e=new Boolean(e))}catch(e){}return e});for(var e,t,n=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],r=0;r<n.length;r++)e=n[r].toLowerCase(),t=y("column"+n[r]),"breakbefore"!==e&&"breakafter"!==e&&"breakinside"!==e||(t=t||y(n[r])),Modernizr.addTest("csscolumns."+e,t)}(),Modernizr.addTest("flexbox",y("flexBasis","1px",!0)),Modernizr.addTest("picture","HTMLPictureElement"in t),Modernizr.addAsyncTest(function(){var e,t,n,r=a("img"),o="sizes"in r;!o&&"srcset"in r?(t="data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",e="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",n=function(){s("sizes",2===r.width)},r.onload=n,r.onerror=n,r.setAttribute("sizes","9px"),r.srcset=e+" 1w,"+t+" 8w",r.src=e):s("sizes",o)}),Modernizr.addTest("srcset","srcset"in a("img")),Modernizr.addTest("webworkers","Worker"in t),function(){var e,t,n,r,i,s,a;for(var l in w)if(w.hasOwnProperty(l)){if(e=[],t=w[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(r=o(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)s=e[i],a=s.split("."),1===a.length?Modernizr[a[0]]=r:(Modernizr[a[0]]&&(!Modernizr[a[0]]||Modernizr[a[0]]instanceof Boolean)||(Modernizr[a[0]]=new Boolean(Modernizr[a[0]])),Modernizr[a[0]][a[1]]=r),b.push((r?"":"no-")+a.join("-"))}}(),i(b),delete C.addTest,delete C.addAsyncTest;for(var W=0;W<Modernizr._q.length;W++)Modernizr._q[W]();e.Modernizr=Modernizr}(window,window,document);
\ No newline at end of file
diff --git a/2021/manifest.json b/2021/manifest.json
new file mode 100644
index 0000000..b724ebe
--- /dev/null
+++ b/2021/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "App",
+ "icons": [
+  {
+   "src": "\/img\/favicon\/android-icon-36x36.png",
+   "sizes": "36x36",
+   "type": "image\/png",
+   "density": "0.75"
+  },
+  {
+   "src": "\/img\/favicon\/android-icon-48x48.png",
+   "sizes": "48x48",
+   "type": "image\/png",
+   "density": "1.0"
+  },
+  {
+   "src": "\/img\/favicon\/android-icon-72x72.png",
+   "sizes": "72x72",
+   "type": "image\/png",
+   "density": "1.5"
+  },
+  {
+   "src": "\/img\/favicon\/android-icon-96x96.png",
+   "sizes": "96x96",
+   "type": "image\/png",
+   "density": "2.0"
+  },
+  {
+   "src": "\/img\/favicon\/android-icon-144x144.png",
+   "sizes": "144x144",
+   "type": "image\/png",
+   "density": "3.0"
+  },
+  {
+   "src": "\/img\/favicon\/android-icon-192x192.png",
+   "sizes": "192x192",
+   "type": "image\/png",
+   "density": "4.0"
+  }
+ ]
+}
diff --git a/2021/robots.txt b/2021/robots.txt
new file mode 100644
index 0000000..d0e5f1b
--- /dev/null
+++ b/2021/robots.txt
@@ -0,0 +1,5 @@
+# www.robotstxt.org/
+
+# Allow crawling of all content
+User-agent: *
+Disallow:
diff --git a/2021/versions.html b/2021/versions.html
new file mode 100644
index 0000000..a1cf598
--- /dev/null
+++ b/2021/versions.html
@@ -0,0 +1,178 @@
+<!doctype html>
+<html class="no-js" lang="">
+
+  <head>
+    <meta charset="utf-8">
+    <title>Eclipse Scout Versions</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="apple-mobile-web-app-capable" content="yes"/>
+
+    <meta property="og:title" content="Eclipse Scout Versions">
+    <meta property="og:type" content="website">
+    <meta property="og:url" content="">
+    <meta property="og:image" content="">
+
+    <link rel="stylesheet" type="text/css" href="css/normalize.css">
+    <link rel="stylesheet" type="text/css" href="css/styles.css" />
+
+    <!-- FAVICON - Generator: https://www.favicon-generator.org/ -->
+    <link rel="manifest" href="manifest.json">
+    <link rel="apple-touch-icon" href="/img/favicon/apple-icon.png">
+    <link rel="apple-touch-icon" sizes="57x57" href="/img/favicon/apple-icon-57x57.png">
+    <link rel="apple-touch-icon" sizes="60x60" href="/img/favicon/apple-icon-60x60.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="/img/favicon/apple-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="76x76" href="/img/favicon/apple-icon-76x76.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="/img/favicon/apple-icon-114x114.png">
+    <link rel="apple-touch-icon" sizes="120x120" href="/img/favicon/apple-icon-120x120.png">
+    <link rel="apple-touch-icon" sizes="144x144" href="/img/favicon/apple-icon-144x144.png">
+    <link rel="apple-touch-icon" sizes="152x152" href="/img/favicon/apple-icon-152x152.png">
+    <link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-icon-180x180.png">
+    <link rel="icon" type="image/png" sizes="192x192"  href="/img/favicon/android-icon-192x192.png">
+    <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png">
+    <link rel="icon" type="image/png" sizes="96x96" href="/img/favicon/favicon-96x96.png">
+    <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png">
+    <meta name="msapplication-TileImage" content="/img/favicon/ms-icon-144x144.png">
+    <meta name="msapplication-TileColor" content="#ffffff">
+    <meta name="theme-color" content="#ffffff">
+
+  </head>
+
+  <body>
+
+    <header>
+        <a href="/" id="eclipse-scout-logo"><div class="logo"></div><div class="text"></div></a>
+
+      <nav id="main-navigation">
+        <div class="navigation-item lv1 first"><a href="https://eclipsescout.github.io/11.0/getstarted.html" target="_blank" class="text"
+             title="Get started with Eclipse Scout">Tutorial</a></div>
+        <div class="navigation-item lv1"><a href="https://eclipsescout.github.io/11.0/" target="_blank" class="text">Docs</a></div>
+        <div class="navigation-item lv1 has-children">
+          <div class="text">Community</div>
+          <div class="navigation-lv2-panel hidden">
+            <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" class="navigation-item lv2 first" id="icon-eclipse-scout-forum">
+              <div class="navigation-item-container">
+                <div class="title">Eclipse Scout Forum</div>
+                <div class="text">Need help? Ask the experts</div>
+              </div>
+            </a>
+            <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" class="navigation-item lv2" id="icon-stack-overflow">
+              <div class="navigation-item-container">
+                <div class="title">StackOverflow</div>
+                <div class="text">Another source of help</div>
+              </div>
+            </a>
+            <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" class="navigation-item lv2" id="icon-git-hub">
+              <div class="navigation-item-container">
+                <div class="title">GitHub</div>
+                <div class="text">View source code. Contribute</div>
+              </div>
+            </a>
+            <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" class="navigation-item lv2 last" id="icon-bugzilla">
+              <div class="navigation-item-container">
+                <div class="title">Bugzilla</div>
+                <div class="text">Report errors</div>
+              </div>
+            </a>
+          </div>
+
+        </div>
+        <div class="navigation-item lv1 last"><a href="features.html" class="text">Features</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="versions.html" class="text">Versions</a></div>
+        <div class="navigation-item lv1 mobile-only"><a href="javascript:onGetStartedLinkClick()" class="text">Get Started</a></div>
+      </nav>
+
+      <a href="/versions.html#v11" id="scout-version-button" class="desktop-only">
+        <svg height="36" width="36" viewBox="0 0 36 36">
+          <circle cx="18" cy="18" r="17" stroke="#014786" stroke-width="2" fill="white" />
+        </svg>
+        <div>v11</div>
+      </a>
+
+      <button id="get-started-button" class="desktop-only">Get Started</button>
+
+      <button id="mobile-navigation-button" class="mobile-only"></button>
+
+    </header>
+
+    <div id="wrapper">
+
+      <!-- **** VERSIONS **** -->
+<div id="versions-header">
+  <h1>Version Overview</h1>
+  <p>Select the most up-to-date Eclipse Scout release anytime you start a new project. In case you
+    still need an older version for historical research, you can find it here.</p>
+</div>
+
+<div class="content-block first filler">
+  <table class="content-table">
+   <tr>
+     <td class="first version-marker">latest</td>
+     <td class="version"><a id="v11">Version 11</a></td>
+     <td><a href="https://github.com/eclipse/scout.rt/tree/releases/11.0">Sources</a></td>
+     <td><a href="https://eclipsescout.github.io/11.0/">Documentation</a></td>
+     <td class="last"><a href="https://eclipsescout.github.io/11.0/getstarted.html">Get Started</a></td>
+   </tr>
+   <tr>
+     <td class="first"></td>
+     <td class="version"><a id="v10">Version 10</a></td>
+     <td><a href="https://github.com/eclipse/scout.rt/tree/releases/10.0">Sources</a></td>
+     <td><a href="https://eclipsescout.github.io/10.0/">Documentation</a></td>
+     <td class="last"></td>
+   </tr>
+   <tr>
+     <td class="first"></td>
+     <td class="version"><a id="v9">Version 9</a></td>
+     <td><a href="https://github.com/eclipse/scout.rt/tree/releases/9.0.x">Sources</a></td>
+     <td><a href="https://eclipsescout.github.io/9.0/">Documentation</a></td>
+     <td class="last"></td>
+   </tr>
+  </table>
+
+  <div id="older-versions-info">
+    Looking for an older Scout release? <br class="mobile-only"/>
+    See <a href="https://eclipsescout.github.io/">all Scout versions</a>.
+  </div>
+
+</div>
+
+      <!-- **** FOOTER **** -->
+      <footer>
+
+        <div id="social-media-bar">
+          <a href="https://www.eclipse.org/forums/index.php?t&#x3D;thread&amp;frm_id&#x3D;174" target="_blank" title="Eclipse Scout Forum"><img src="img/bold/conversation-question-warning-1-alternate.svg" class="small"></a>
+          <a href="https://stackoverflow.com/tags/eclipse-scout" target="_blank" title="Eclipse Scout on StackOverflow"><img src="img/bold/developer-community-stack-overflow.svg"></a>
+          <a href="https://github.com/eclipse/scout.rt/tree/releases/11.0/" target="_blank" title="Eclipse Scout on GitHub"><img src="img/bold/developer-community-github-1.svg"></a>
+          <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status&#x3D;UNCONFIRMED&amp;bug_status&#x3D;NEW&amp;bug_status&#x3D;ASSIGNED&amp;bug_status&#x3D;REOPENED&amp;bug_status&#x3D;RESOLVED&amp;bug_status&#x3D;VERIFIED&amp;columnlist&#x3D;bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc&amp;list_id&#x3D;10272285&amp;product&#x3D;Scout&amp;query_format&#x3D;advanced" target="_blank" title="Eclipse Scout on Bugzilla"><img src="img/bold/computer-bug-2.svg" class="small"></a>
+        </div>
+
+        <div id="copyright">
+          Copyright © Eclipse Foundation, <br class="mobile-only"/>Inc. All Rights Reserved.
+        </div>
+
+        <nav id="eclipse-navigation-bar">
+          <a href="http://www.eclipse.org/" target="_blank">Eclipse Home</a>
+          <a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a>
+          <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a>
+          <a href="http://www.eclipse.org/legal/copyright.php" target="_blank">Copyright Agent</a>
+          <a href="http://www.eclipse.org/legal" target="_blank">Legal</a>
+        </nav>
+
+      </footer>
+    </div>
+
+    <script src="js/vendor/modernizr-3.11.2.min.js"></script>
+    <script src="js/vendor/jquery-3.5.1.slim.min.js"></script>
+    <script src="js/plugins.js"></script>
+    <script src="js/main.js"></script>
+
+    <!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
+    <script>
+      // window.ga = function () { ga.q.push(arguments) }; ga.q = []; ga.l = +new Date;
+      // ga('create', 'UA-XXXXX-Y', 'auto'); ga('set', 'anonymizeIp', true); ga('set', 'transport', 'beacon'); ga('send', 'pageview')
+    </script>
+    <script src="https://www.google-analytics.com/analytics.js" async></script>
+
+  </body>
+
+</html>
\ No newline at end of file