You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2018/04/15 21:38:15 UTC

[royale-asjs] branch develop updated: update all themes at once with new List styles

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

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 01ce6d8  update all themes at once with new List styles
01ce6d8 is described below

commit 01ce6d892d57a93b5b0ed9d5b7b0aad3057c5339
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun Apr 15 23:38:10 2018 +0200

    update all themes at once with new List styles
---
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 110 ++++++++++++--------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  24 ++---
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                | 114 ++++++++++++---------
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 .../src/main/resources/defaults.css                |  16 +--
 .../src/main/sass/defaults.sass                    |   2 +
 144 files changed, 2232 insertions(+), 1560 deletions(-)

diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
index 6b18225..0eb77f7 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(24, 6, 24, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
index e8cb8ab..bbaa039 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
index 4d1c2dd..5ff0ccb 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
index 0445b6c..82a6374 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(21, 65, 26, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
index 24dee2d..a187ab9 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 67, 4, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
index 90498a9..7b00a89 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(102, 9, 12, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
index 0853464..e8da288 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(15, 40, 66, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
index 6a1616d..205e680 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(152, 96, 6, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
index 97ac3a5..c4e25df 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 36, 9, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
index 4750e26..4c52b88 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(11, 45, 43, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
index 4a4ada5..4bba04e 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(19, 8, 27, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
index 7494dc8..9f26727 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -143,8 +143,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -156,12 +156,12 @@ div {
   text-shadow: 0 -1px 0 rgba(108, 102, 1, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -171,8 +171,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
index 47d67a8..a5b2082 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #922590;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #7e207c;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #922590;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#9e289c, #862284);
   border: 1px solid #551654;
-  box-shadow: inset 0 1px 0 #d24bcf;
+  box-shadow: inset 0 1px 0 #d24bcf, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(24, 6, 24, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
index 088cd3d..79ecc3c 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #3CADF1;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #24a3ef;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #3CADF1;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#4ab3f2, #2ea7f0);
   border: 1px solid #0f88d1;
-  box-shadow: inset 0 1px 0 #9bd5f8;
+  box-shadow: inset 0 1px 0 #9bd5f8, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
index 67beca4..b194bfc 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #8CC63C;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #7eb435;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #8CC63C;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#93c948, #84bc37);
   border: 1px solid #638c29;
-  box-shadow: inset 0 1px 0 #bbdd8b;
+  box-shadow: inset 0 1px 0 #bbdd8b, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
index 83f6a59..8c1b05d 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #3AB549;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #34a241;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #3AB549;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#3ec14e, #36a944);
   border: 1px solid #277b32;
-  box-shadow: inset 0 1px 0 #7fd68a;
+  box-shadow: inset 0 1px 0 #7fd68a, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(21, 65, 26, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Green-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
index 5527b81..c8af851 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #F7941D;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #f28809;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #F7941D;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#f89b2c, #f68d0e);
   border: 1px solid #c16c07;
-  box-shadow: inset 0 1px 0 #fac380;
+  box-shadow: inset 0 1px 0 #fac380, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(119, 67, 4, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Orange-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
index 918964f..ada4dde 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #EC1C24;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #dc121a;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #EC1C24;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#ed2a32, #e5131b);
   border: 1px solid #ad0e15;
-  box-shadow: inset 0 1px 0 #f47a7f;
+  box-shadow: inset 0 1px 0 #f47a7f, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(102, 9, 12, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Red-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
index 6f3fbcd..3034fcf 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #2C74BE;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #2767a9;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #2C74BE;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#2f7cca, #296cb2);
   border: 1px solid #1e4e80;
-  box-shadow: inset 0 1px 0 #72a7de;
+  box-shadow: inset 0 1px 0 #72a7de, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(15, 40, 66, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sapphire-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
index 97825d9..db720fc 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #F8B13F;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #f7a726;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #F8B13F;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#f9b74e, #f7ab30);
   border: 1px solid #e28f08;
-  box-shadow: inset 0 1px 0 #fcd9a1;
+  box-shadow: inset 0 1px 0 #fcd9a1, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(152, 96, 6, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Sunflower-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
index b14f5b6..7c7a0bd 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #EF5A2A;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #ed4812;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #EF5A2A;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#f06538, #ee4f1c);
   border: 1px solid #be390e;
-  box-shadow: inset 0 1px 0 #f6a389;
+  box-shadow: inset 0 1px 0 #f6a389, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(119, 36, 9, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Topaz-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
index 9d5e41d..e1a5d86 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #29A89F;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #24948c;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #29A89F;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#2cb4ab, #269c93);
   border: 1px solid #1a6b65;
-  box-shadow: inset 0 1px 0 #5fd8cf;
+  box-shadow: inset 0 1px 0 #5fd8cf, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(11, 45, 43, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Turquoise-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
index e3b78c5..724e0e0 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #662C90;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #58267c;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #662C90;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#6e309c, #5e2884);
   border: 1px solid #3c1a55;
-  box-shadow: inset 0 1px 0 #9a56cc;
+  box-shadow: inset 0 1px 0 #9a56cc, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(19, 8, 27, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Violet-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
index b5be832..2e16eff 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: black;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border-top: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23191919' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #404040;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #FCEF0A;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #eadd03;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
+  box-shadow: inset 0 1px 0 #8c8c8c;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #333333;
   background: linear-gradient(#7f7f7f, #737373);
+  border: 1px solid #333333;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: #737373;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #0d0d0d;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23191919' cx='11' cy='11' r='6'></circle></g></g></svg>"), #404040;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #0d0d0d;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #FCEF0A;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#fcf019, #f4e703);
   border: 1px solid #b7ae02;
-  box-shadow: inset 0 1px 0 #fdf66f;
+  box-shadow: inset 0 1px 0 #fdf66f, 0 0 0 1px rgba(140, 140, 140, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #0d0d0d;
+  background: #404040;
   border: 1px solid black;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
+  background: #333333;
   border: 1px solid black;
-  background: #0d0d0d;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid black;
-  background: #0d0d0d;
+  background: #404040;
+  border: 1px solid #0d0d0d;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#666666, #4c4c4c);
+  background: linear-gradient(#7f7f7f, #666666);
   border: 1px solid #333333;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #333333;
   background: linear-gradient(#666666, #4c4c4c);
+  border: 1px solid #333333;
   box-shadow: inset 0 1px 0 #8c8c8c;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -470,12 +492,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(13, 13, 13, 0.7);
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #262626;
   background: linear-gradient(#595959, #404040);
+  border: 1px solid #262626;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #0d0d0d;
   background: linear-gradient(#404040, #262626);
+  border: 1px solid #0d0d0d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -485,8 +507,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -500,8 +522,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -513,12 +535,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(108, 102, 1, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -528,8 +550,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
@@ -571,8 +593,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
 }
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Primary-Yellow-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
index 87a8368..92ca812 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(24, 6, 24, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Amethyst-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
index 2a0e967..ec16635 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Blue-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
index aeb50c4..2aea92c 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Emerald-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
index 0fd7a1e..b11ca2a 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(21, 65, 26, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Green-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
index 913fee7..019a486 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 67, 4, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Orange-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
index 572e254..1e52d2f 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(102, 9, 12, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Red-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
index c87c8d0..7257cc3 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(15, 40, 66, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sapphire-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
index ebad45d..a028bcf 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(152, 96, 6, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Sunflower-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
index 69d87be..4338868 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 36, 9, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Topaz-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
index 46c9171..e0ca910 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(11, 45, 43, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Turquoise-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
index f1ea2f5..23cd028 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(19, 8, 27, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Violet-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
index 9634c74..e92a919 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
 }
 .jewel.button.secondary:hover, .jewel.button.secondary:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.button.secondary:active, .jewel.button.secondary:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.secondary:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -113,12 +113,12 @@ div {
   text-shadow: 0 -1px 0 rgba(108, 102, 1, 0.7);
 }
 .jewel.textbutton.secondary:hover, .jewel.textbutton.secondary:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.textbutton.secondary:active, .jewel.textbutton.secondary:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.secondary:focus {
@@ -128,8 +128,8 @@ div {
 }
 .jewel.textbutton.secondary[disabled] {
   cursor: unset;
-  border: 1px solid #0d0d0d;
   background: #404040;
+  border: 1px solid #0d0d0d;
   box-shadow: none;
   color: #737373;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/sass/defaults.sass
index 0c30533..29681e8 100644
--- a/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Dark-NoFlat-Secondary-Yellow-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-secondary/button"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/label"
+@import "../../../../JewelTheme/src/main/sass/components-secondary/list"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-secondary/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
index 77e36d7..f4e1348 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(24, 6, 24, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Amethyst-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
index a7eba0c..a0bc506 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Blue-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
index f3bd01c..7e32a1c 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Emerald-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
index d26edc7..737c036 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(21, 65, 26, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Green-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
index 90efe39..8f301fa 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #c16c07;
   background: linear-gradient(#f8a036, #f28809);
+  border: 1px solid #c16c07;
   box-shadow: inset 0 1px 0 #fac380;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 67, 4, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #a85e06;
   background: linear-gradient(#F7941D, #d97a08);
+  border: 1px solid #a85e06;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #774304;
   background: linear-gradient(#d97a08, #a85e06);
+  border: 1px solid #774304;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Orange-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
index 2c26673..27a8123 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #ad0e15;
   background: linear-gradient(#ee343b, #dc121a);
+  border: 1px solid #ad0e15;
   box-shadow: inset 0 1px 0 #f47a7f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(102, 9, 12, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #950d12;
   background: linear-gradient(#EC1C24, #c51017);
+  border: 1px solid #950d12;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #66090c;
   background: linear-gradient(#c51017, #950d12);
+  border: 1px solid #66090c;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Red-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
index 557f3e5..972de14 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1e4e80;
   background: linear-gradient(#3481d0, #2767a9);
+  border: 1px solid #1e4e80;
   box-shadow: inset 0 1px 0 #72a7de;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(15, 40, 66, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #19416b;
   background: linear-gradient(#2C74BE, #225b95);
+  border: 1px solid #19416b;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0f2842;
   background: linear-gradient(#225b95, #19416b);
+  border: 1px solid #0f2842;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sapphire-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
index 244b7e1..6ba102b 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #e28f08;
   background: linear-gradient(#f9bb58, #f7a726);
+  border: 1px solid #e28f08;
   box-shadow: inset 0 1px 0 #fcd9a1;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(152, 96, 6, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #ca7f07;
   background: linear-gradient(#F8B13F, #f69d0e);
+  border: 1px solid #ca7f07;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #986006;
   background: linear-gradient(#f69d0e, #ca7f07);
+  border: 1px solid #986006;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Sunflower-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
index 2defef7..54390e5 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #be390e;
   background: linear-gradient(#f16c42, #ed4812);
+  border: 1px solid #be390e;
   box-shadow: inset 0 1px 0 #f6a389;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(119, 36, 9, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #a6320d;
   background: linear-gradient(#EF5A2A, #d64010);
+  border: 1px solid #a6320d;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #772409;
   background: linear-gradient(#d64010, #a6320d);
+  border: 1px solid #772409;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Topaz-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
index 09a78ee..d8689e9 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #1a6b65;
   background: linear-gradient(#2ebcb2, #24948c);
+  border: 1px solid #1a6b65;
   box-shadow: inset 0 1px 0 #5fd8cf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(11, 45, 43, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #155651;
   background: linear-gradient(#29A89F, #1f7f78);
+  border: 1px solid #155651;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #0b2d2b;
   background: linear-gradient(#1f7f78, #155651);
+  border: 1px solid #0b2d2b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Turquoise-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
index cf4bdb1..5e187e0 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #3c1a55;
   background: linear-gradient(#7432a4, #58267c);
+  border: 1px solid #3c1a55;
   box-shadow: inset 0 1px 0 #9a56cc;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(19, 8, 27, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #2f1442;
   background: linear-gradient(#662C90, #4a2069);
+  border: 1px solid #2f1442;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #13081b;
   background: linear-gradient(#4a2069, #2f1442);
+  border: 1px solid #13081b;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Violet-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
index 5be7e72..0a866da 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/resources/defaults.css
@@ -67,18 +67,18 @@ div {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
 }
 .jewel.button.emphasized:hover, .jewel.button.emphasized:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.button.emphasized:active, .jewel.button.emphasized:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.emphasized:focus {
@@ -88,8 +88,8 @@ div {
 }
 .jewel.button.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -100,8 +100,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -112,12 +112,12 @@ div {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -127,8 +127,8 @@ div {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -142,8 +142,8 @@ div {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b7ae02;
   background: linear-gradient(#fcf123, #eadd03);
+  border: 1px solid #b7ae02;
   box-shadow: inset 0 1px 0 #fdf66f;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -155,12 +155,12 @@ div {
   text-shadow: 0 -1px 0 rgba(108, 102, 1, 0.7);
 }
 .jewel.textbutton.emphasized:hover, .jewel.textbutton.emphasized:hover:focus {
-  border: 1px solid #9e9602;
   background: linear-gradient(#FCEF0A, #d0c503);
+  border: 1px solid #9e9602;
 }
 .jewel.textbutton.emphasized:active, .jewel.textbutton.emphasized:active:focus {
-  border: 1px solid #6c6601;
   background: linear-gradient(#d0c503, #9e9602);
+  border: 1px solid #6c6601;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.emphasized:focus {
@@ -170,8 +170,8 @@ div {
 }
 .jewel.textbutton.emphasized[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
index 93af033..a75b210 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Emphasized-Yellow-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/button"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/label"
+@import "../../../../JewelTheme/src/main/sass/components-emphasized/list"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/slider"
 @import "../../../../JewelTheme/src/main/sass/components-emphasized/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
index df55271..fd06743 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: white;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border-top: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23cccccc' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #f3f3f3;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #922590;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #7e207c;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
+  box-shadow: inset 0 1px 0 white;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23cccccc' cx='11' cy='11' r='6'></circle></g></g></svg>"), #f3f3f3;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #922590;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#9e289c, #862284);
   border: 1px solid #551654;
-  box-shadow: inset 0 1px 0 #d24bcf;
+  box-shadow: inset 0 1px 0 #d24bcf, 0 0 0 1px rgba(255, 255, 255, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #d9d9d9;
-  border: 1px solid #b3b3b3;
+  background: #f3f3f3;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #e6e6e6;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #f3f3f3;
+  border: 1px solid #d9d9d9;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#e6e6e6, #cccccc);
+  background: linear-gradient(white, #e6e6e6);
   border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -469,12 +491,12 @@ j|Alert {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -484,8 +506,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -499,8 +521,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #551654;
   background: linear-gradient(#a62aa4, #7e207c);
+  border: 1px solid #551654;
   box-shadow: inset 0 1px 0 #d24bcf;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -512,12 +534,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(24, 6, 24, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #411040;
   background: linear-gradient(#922590, #691b68);
+  border: 1px solid #411040;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #180618;
   background: linear-gradient(#691b68, #411040);
+  border: 1px solid #180618;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -527,8 +549,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -570,8 +592,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
 }
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Amethyst-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
index 2da225c..4c8d011 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: white;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border-top: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23cccccc' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #f3f3f3;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #3CADF1;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #24a3ef;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
+  box-shadow: inset 0 1px 0 white;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23cccccc' cx='11' cy='11' r='6'></circle></g></g></svg>"), #f3f3f3;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #3CADF1;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#4ab3f2, #2ea7f0);
   border: 1px solid #0f88d1;
-  box-shadow: inset 0 1px 0 #9bd5f8;
+  box-shadow: inset 0 1px 0 #9bd5f8, 0 0 0 1px rgba(255, 255, 255, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #d9d9d9;
-  border: 1px solid #b3b3b3;
+  background: #f3f3f3;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #e6e6e6;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #f3f3f3;
+  border: 1px solid #d9d9d9;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#e6e6e6, #cccccc);
+  background: linear-gradient(white, #e6e6e6);
   border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -469,12 +491,12 @@ j|Alert {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -484,8 +506,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -499,8 +521,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #0f88d1;
   background: linear-gradient(#54b7f3, #24a3ef);
+  border: 1px solid #0f88d1;
   box-shadow: inset 0 1px 0 #9bd5f8;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -512,12 +534,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #0d79ba;
   background: linear-gradient(#3CADF1, #1198e9);
+  border: 1px solid #0d79ba;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #0a5a8a;
   background: linear-gradient(#1198e9, #0d79ba);
+  border: 1px solid #0a5a8a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -527,8 +549,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -570,8 +592,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
 }
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
index b11de04..c2dd4cd 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: white;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border-top: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23cccccc' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #f3f3f3;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #8CC63C;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #7eb435;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
+  box-shadow: inset 0 1px 0 white;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23cccccc' cx='11' cy='11' r='6'></circle></g></g></svg>"), #f3f3f3;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #8CC63C;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#93c948, #84bc37);
   border: 1px solid #638c29;
-  box-shadow: inset 0 1px 0 #bbdd8b;
+  box-shadow: inset 0 1px 0 #bbdd8b, 0 0 0 1px rgba(255, 255, 255, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #d9d9d9;
-  border: 1px solid #b3b3b3;
+  background: #f3f3f3;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #e6e6e6;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #f3f3f3;
+  border: 1px solid #d9d9d9;
+  box-shadow: none;
 }
 
 .slider-track-container {
@@ -445,7 +467,7 @@ j|Alert {
   position: relative;
   flex: 0;
   padding: 0;
-  background: linear-gradient(#e6e6e6, #cccccc);
+  background: linear-gradient(white, #e6e6e6);
   border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
@@ -457,8 +479,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -469,12 +491,12 @@ j|Alert {
   text-decoration: none;
 }
 .jewel.textbutton:hover, .jewel.textbutton:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.textbutton:active, .jewel.textbutton:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton:focus {
@@ -484,8 +506,8 @@ j|Alert {
 }
 .jewel.textbutton[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -499,8 +521,8 @@ j|Alert {
   padding: 10px 16px;
   min-width: 74px;
   min-height: 34px;
-  border: 1px solid #638c29;
   background: linear-gradient(#98cc50, #7eb435);
+  border: 1px solid #638c29;
   box-shadow: inset 0 1px 0 #bbdd8b;
   border-radius: 3px;
   font-family: "Lato", sans-serif;
@@ -512,12 +534,12 @@ j|Alert {
   text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
 }
 .jewel.textbutton.primary:hover, .jewel.textbutton.primary:hover:focus {
-  border: 1px solid #557923;
   background: linear-gradient(#8CC63C, #71a02f);
+  border: 1px solid #557923;
 }
 .jewel.textbutton.primary:active, .jewel.textbutton.primary:active:focus {
-  border: 1px solid #395118;
   background: linear-gradient(#71a02f, #557923);
+  border: 1px solid #395118;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.textbutton.primary:focus {
@@ -527,8 +549,8 @@ j|Alert {
 }
 .jewel.textbutton.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
   font-weight: normal;
@@ -570,8 +592,8 @@ j|Alert {
 }
 .jewel.textfield input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
   color: silver;
 }
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
index 793254a..a3dd1b4 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Emerald-Theme/src/main/sass/defaults.sass
@@ -30,7 +30,9 @@
 @import "../../../../JewelTheme/src/main/sass/components-primary/button"
 @import "../../../../JewelTheme/src/main/sass/components-primary/checkbox"
 @import "../../../../JewelTheme/src/main/sass/components-primary/controlbar"
+@import "../../../../JewelTheme/src/main/sass/components-primary/itemRenderer"
 @import "../../../../JewelTheme/src/main/sass/components-primary/label"
+@import "../../../../JewelTheme/src/main/sass/components-primary/list"
 @import "../../../../JewelTheme/src/main/sass/components-primary/radiobutton"
 @import "../../../../JewelTheme/src/main/sass/components-primary/slider"
 @import "../../../../JewelTheme/src/main/sass/components-primary/textbutton"
diff --git a/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css b/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
index 577e3e5..af41898 100644
--- a/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
+++ b/frameworks/themes/Jewel-Light-NoFlat-Primary-Green-Theme/src/main/resources/defaults.css
@@ -73,9 +73,9 @@ div {
   min-width: 420px;
   min-height: 240px;
   border: 0px solid;
-  border-radius: 3px;
-  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
   background-color: white;
+  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
+  border-radius: 3px;
 }
 .jewel.alert .jewel.titlebar {
   padding: 20px 20px 0px 20px;
@@ -101,13 +101,10 @@ div {
   font-weight: normal;
 }
 .jewel.alert .jewel.controlbar {
-  border-top: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border-top: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
-  border-top-left-radius: 0px;
-  border-top-right-radius: 0px;
-  border-bottom-left-radius: 3px;
-  border-bottom-right-radius: 3px;
+  border-radius: 0px 0px 3px 3px;
   padding: 20px;
   position: absolute;
   bottom: 0;
@@ -146,18 +143,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(#e6e6e6, #cccccc);
+  border: 1px solid #b3b3b3;
   box-shadow: inset 0 1px 0 white;
   border-radius: 3px;
 }
 .jewel.button:hover, .jewel.button:hover:focus {
-  border: 1px solid #a6a6a6;
   background: linear-gradient(#d9d9d9, silver);
+  border: 1px solid #a6a6a6;
 }
 .jewel.button:active, .jewel.button:active:focus {
-  border: 1px solid #8d8d8d;
   background: linear-gradient(silver, #a6a6a6);
+  border: 1px solid #8d8d8d;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button:focus {
@@ -167,8 +164,8 @@ j|Alert {
 }
 .jewel.button[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -179,18 +176,18 @@ j|Alert {
   padding: 8px;
   min-width: 34px;
   min-height: 34px;
-  border: 1px solid #277b32;
   background: linear-gradient(#45c354, #34a241);
+  border: 1px solid #277b32;
   box-shadow: inset 0 1px 0 #7fd68a;
   border-radius: 3px;
 }
 .jewel.button.primary:hover, .jewel.button.primary:hover:focus {
-  border: 1px solid #21682a;
   background: linear-gradient(#3AB549, #2e8e39);
+  border: 1px solid #21682a;
 }
 .jewel.button.primary:active, .jewel.button.primary:active:focus {
-  border: 1px solid #15411a;
   background: linear-gradient(#2e8e39, #21682a);
+  border: 1px solid #15411a;
   box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
 }
 .jewel.button.primary:focus {
@@ -200,8 +197,8 @@ j|Alert {
 }
 .jewel.button.primary[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
   box-shadow: none;
 }
 
@@ -225,8 +222,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 3px;
 }
 .jewel.checkbox input:checked, .jewel.checkbox input:checked:active {
@@ -249,29 +246,44 @@ j|Alert {
 }
 .jewel.checkbox input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.checkbox input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 13' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-763, -290)'><g transform='translate(760, 285)'><polygon fill='%23cccccc' points='3 13 9 18 19 7 16 5 9 13 6 10'></polygon></g></g></svg>"), #f3f3f3;
   background-size: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.checkbox span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
+}
+
+.jewel.item {
+  cursor: pointer;
+  padding: 8px;
+  flex-shrink: 0;
+  flex-grow: 1;
+}
+.jewel.item:hover {
+  color: #FFFFFF;
+  background: #3AB549;
+}
+.jewel.item:active, .jewel.item.selected {
+  color: #FFFFFF;
+  background: #34a241;
 }
 
 .jewel.label {
@@ -279,6 +291,13 @@ j|Alert {
   font-size: 14px;
 }
 
+.jewel.list {
+  background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
+  box-shadow: inset 0 1px 0 white;
+  border-radius: 3px;
+}
+
 .jewel.radiobutton {
   display: inline-block;
   margin: 0;
@@ -299,8 +318,8 @@ j|Alert {
   width: 22px;
   height: 22px;
   line-height: 22px;
-  border: 1px solid #b3b3b3;
   background: linear-gradient(white, #f3f3f3);
+  border: 1px solid #b3b3b3;
   border-radius: 50%;
 }
 .jewel.radiobutton input:checked, .jewel.radiobutton input:checked:active {
@@ -323,29 +342,29 @@ j|Alert {
 }
 .jewel.radiobutton input[disabled] {
   cursor: unset;
-  border: 1px solid #d9d9d9;
   background: #f3f3f3;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
   color: silver;
 }
 .jewel.radiobutton input[disabled]:checked {
-  border: 1px solid #d9d9d9;
   background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 12 12' version='1.1' xmlns='http://www.w3.org/2000/svg'><g transform='translate(-616, -350)'><g transform='translate(611, 345)'><circle fill='%23cccccc' cx='11' cy='11' r='6'></circle></g></g></svg>"), #f3f3f3;
   background-size: 60%;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: fixed;
+  border: 1px solid #d9d9d9;
 }
 .jewel.radiobutton span {
   cursor: pointer;
   position: relative;
-  vertical-align: top;
   margin: 0;
   padding-left: 6px;
-  font-size: 16px;
+  vertical-align: top;
   line-height: 22px;
+  font-size: 16px;
 }
 
 .jewel.slider {
@@ -356,21 +375,21 @@ j|Alert {
   background: none;
 }
 .jewel.slider input {
-  outline: 0;
   cursor: pointer;
+  user-select: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   appearance: none;
+  outline: 0;
+  align-self: center;
+  z-index: 1;
   margin: 0 20px;
   padding: 0;
   width: calc(100% - 40px);
   height: 6px;
   background: transparent;
-  user-select: none;
   color: #3AB549;
-  align-self: center;
-  z-index: 1;
 }
 .jewel.slider input::-webkit-slider-runnable-track {
   background: transparent;
@@ -388,7 +407,7 @@ j|Alert {
   height: 18px;
   background: linear-gradient(#3ec14e, #36a944);
   border: 1px solid #277b32;
-  box-shadow: inset 0 1px 0 #7fd68a;
+  box-shadow: inset 0 1px 0 #7fd68a, 0 0 0 1px rgba(255, 255, 255, 0.3);
   border-radius: 50%;
 }
 .jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
@@ -401,19 +420,22 @@ j|Alert {
   cursor: unset;
 }
 .jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb {
-  background: #d9d9d9;
-  border: 1px solid #b3b3b3;
+  background: #f3f3f3;
+  border: 1px solid silver;
+  box-shadow: none;
 }
 .jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb {
   transform: scale(1);
 }
 .jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
-  border: 1px solid #b3b3b3;
-  background: #d9d9d9;
+  background: #e6e6e6;
+  border: 1px solid silver;
+  box-shadow: none;
 }
... 4172 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.