diff --git a/LICENSE.txt b/LICENSE.txt
index fd59c032eebb0ad24ffa2cfe2bcb417d6720afb7..d73e2f181ae950fc9623f79136e273f02849d1b9 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -238,6 +238,7 @@ Applications:
          - All other flag icons: public domain, courtesy mjames@gmail.com http://www.famfamfam.com/
        Silk icons: See licenses/LICENSE-SilkIcons.txt
        FatCow icons: See licenses/LICENSE-FatCowIcons.txt
+       Fugue Icons: See licenses/LICENSE-FugueIcons.txt
 
        GeoIP Data:
        This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
diff --git a/installer/resources/themes/console/classic/console.css b/installer/resources/themes/console/classic/console.css
index ff6d24f572867217c3b5421e3421875de74b15ec..7dda2618489e64507355d2b8b65d431b89d63557 100644
--- a/installer/resources/themes/console/classic/console.css
+++ b/installer/resources/themes/console/classic/console.css
@@ -1,15 +1,14 @@
-/* I2P Theme: Classic (aka corporat) */
+/* I2P Theme: Classic */
 /* I2P Description: Light blue "classic" I2P theme; optimized for less capable browsers and system specifications. */
 /* Author: dr|z3d */
 
-
 body {
-     margin: 5px 3px 5px 6px;
+     margin: 3px 2px 3px 4px; 
      padding: 0;
      text-align: left;
-     background: #bbf;
-     color: #000;
-     font: 9pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     background: #bbf url(images/bg.png) center center fixed;
+     color: #0c153d;
+     font: 9pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
 }
 
 .hide {
@@ -26,69 +25,54 @@ img {
      border: none;
 }
 
-pre {
-     overflow: auto;
-     font-size: 8pt !important;
-     width: 95%;
-     padding-top: 10px;
-}
-
 /* Sidepanel for proxy errors */
 
 div.logo {
      float: left;
-     position-relative: top 20px ;
+     position: relative;
      width: 200px;
      margin: 0 0 0 20px;
      padding: 10px 5px;
-     text-align: center;
+     text-align: center;;
+     border: 5px solid #ddf;
      border: 5px solid #ddf;
-     background-color: #eef;
-     -moz-box-shadow: inset 0px 0px 0px 2px #99f;
-     -khtml-box-shadow: inset 0px 0px 0px 2px #99f;
+     background-color: #eff1ff;
 }
 
 div.logo hr {
      color: #ddf;
      background: #ddf;
      height: 5px;
-     border: 0px solid #ddf;
+     border: 0 solid #ddf;
      margin: 8px -3px;
 }
 
 div.logo a:link, div.logo a:visited {
-     text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.5);
 }
 
 div.logo a:active {
-     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7);
      color: #f60;
 }
 
 div.logo a:hover {
-     text-shadow: 0px 0px 1px rgba(128, 0, 0, 0.7);
      color: #900;
 }
 
 /* HTTP Proxy warning Main box */
 
 div.warning {
-     margin: 25px 20px 15px 260px;
-     padding: 0px 20px 20px 75px;
-     background: #ffd;
+     margin: 25px 20px 0 260px;
+     padding: 0 20px 40px 75px;
      border: 5px solid #fb7;
      text-align: left;
      color: inherit;
-     background-image:url("../images/itoopie_sm.png");
-     background-position: 12px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0px 0px 0px 2px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 2px #f60;
+     background: #ffd url(/themes/console/images/itoopie_sm.png) 12px center no-repeat;
+     box-shadow: inset 0 0 0 2px #f60;
+     min-width: 500px;
 }
 
 div.warning a:link {
      color: #f60;
-     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.5);
 }
 
 div.warning a:visited {
@@ -97,7 +81,6 @@ div.warning a:visited {
 
 div.warning a:hover {
      color: #d30;
-     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7);
 }
 
 div.warning a:active {
@@ -107,42 +90,117 @@ div.warning a:active {
 div.warning hr {
      color: #fb7;
      background: #fb7;
-     height: 5px;
-     border: 0px solid #fb7;
+     height: 1px;
+     border: 0 solid #fb7;
      margin: 5px 0;
 }
 
 div.warning h3 {
      border: 0;
-     border-bottom: 5px solid #fb7;
+     border-bottom: 1px solid #fb7;
      padding-bottom: 10px;
-     background:none #FFFFDD !important;
+     background: none !important;
      padding-left: 0;
+     font-size: 10.5pt;
+}
+
+div.warning h3:first-child {
+     margin: 2px -18px 10px -73px;
+     padding: 14px 10px 10px 15px;
+     background: #ffe !important;
+     border-bottom: 1px solid #fb7;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     font-size: 12pt;
+}
+
+.warning p {
+     padding: 5px 0 0;
+}
+
+.warning > br + br {
+     display: none;
+}
+
+.warning textarea {
+     width: 100%;
+     resize: none;
+     white-space: pre-wrap;
+     height: 100% !important;
+     font-size: 8pt;
+     border: none;
+}
+
+.warning .formaction {
+     background: none !important;
+}
+
+.warning button {
+     min-width: 450px;
+     margin-bottom: 5px;
+     margin-right: 0;
+}
+
+.warning table {
+     margin-bottom: 15px;
+     border: 1px solid #fb7;
+}
+
+.warning tr {
+     background: #ffe !important;
+     border: 1px solid #fb7;
+}
+
+.warning tr:last-child {
+     background: #fff !important;
+     height: 80px;
+     white-space: nowrap;
+}
+
+.warning table td:first-child {
+     font-weight: bold;
+     vertical-align: top;
+}
+
+.proxyfooter {
+     font-size: 8pt;
+     padding: 0 5px 5px;
+     margin: -60px 20px 0 260px;
+     min-width: 600px;
+}
+
+.proxyfooter p {
+     text-align: right !important;
+     line-height: 115%;
+     color: #6b4612;
 }
 
 /* console error messages */
 
 div.sorry {
-     padding: 20px;
-     background: #ddf;
+     padding: 20px 20px 20px 60px;
+     background: #fff url(/themes/console/images/info/errortriangle.png) 10px center no-repeat;
+     background: url(/themes/console/images/info/errortriangle.png) 10px center no-repeat, linear-gradient(to bottom, #fff 0%, #ffe 100%);
      margin: -1px 1px 0 200px;
      border: 1px solid #89f;
+     box-shadow: inset 0 0 0 1px #ff9;
      text-align: justify;
      word-wrap: break-word;
      font-weight: bold;
-     color: #001;
+     color: #351d02;
 }
 
 div.sorry hr {
      color: #89f;
-     background: #89f;
+     background: #8c4d16;
      height: 1px;
-     border: 0px solid #89f;
+     border: 0 solid #89f;
      margin: 10px 0;
 }
 
 div.toolbar {
-     margin: 0em 0em 2em 0em;
+     margin: 0 0 2em 0;
      font-weight: bold;
      display: none !important;
 }
@@ -156,30 +214,37 @@ div.routersummaryouter {
      padding: 0;
      border: 0;
      clear: left; /* fixes a bug in Opera */
-     position: absolute;/* so no interference with /home app icons */
+     position: absolute; /* so no interference with /home app icons */
 }
 
 div.routersummary {
-     background: #eef;
+     background: #eef url(images/bg0.png);
+     background: linear-gradient(to bottom, rgba(255,255,255,0.8), rgba(255,255,255,0.2)), url(images/bg0.png);
      width: 193px;
      color: inherit;
      margin: 0 0 5px;
      padding: 9px 1px 7px 1px;
      text-align: center !important;
      border: 1px solid #89f;
-     border-bottom: 1px solid #89f;
-     border-right: 1px solid #89f;
      word-wrap: break-word;
-     font: 9pt/125% !important;
-     -moz-border-radius: 3px 0 0 3px;
-     -khtml-border-radius: 3px 0 0 3px;
-     border-radius: 3px 0 0 3px;
+     font-size: 9pt;
+     line-height: 125%;
+}
+
+.routersummary a {
+     padding: 2px;
 }
 
 div.routersummary input[type=text] {
      text-align: right !important;
 }
 
+.routersummary button[type="submit"] {
+     min-width: 87px;
+     margin: 2px 2px 1px;
+     padding: 5px 2px !important;
+}
+
 #xhr {
      margin-top: 15px;     
 }
@@ -187,51 +252,88 @@ div.routersummary input[type=text] {
 div.routersummary hr {
      color: #89f;
      background: #89f;
-     height: 0px;
+     height: 0;
      border-bottom: 1px solid #89f;
      margin: 8px -1px 7px -1px;
 }
 
+.routersummary b {
+     white-space: nowrap;
+     text-transform: capitalize;
+}
+
 div.routersummary h3 {
-     border: 0px solid #f00;
+     border: none;
      font-size: 9.5pt;
      letter-spacing: 0.05em;
      margin: -7px -1px -8px -1px;
      padding: 3px 0;
-     background: #f;
+     background: #fff url(images/tinytitle.png) center center repeat;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%) !important;
      text-transform: uppercase;
 }
 
+.routersummary h3:hover {
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffd 50%, #ffd 100%) !important;
+}
+
+.routersummary h3:active {
+     box-shadow: inset 2px 2px 2px #777;
+}
+
+.routersummary h3:active a {
+     color: #f90 !important;
+}
+
 div.routersummary h4 {
      border: 0;
      border-bottom: 0 !important;
      font-size: 8.5pt;
      letter-spacing: 0.05em;
-     margin: -7px -1px -8px -1px !important;
-     padding: 8px 0;
+     margin: -7px -1px -7px -1px !important;
+     padding: 8px 2px;
      text-transform: capitalize;
      text-decoration: none !important;
      color: #2b2;
-     line-height: 90%;
-     background: #fff url(../light/images/magic.png);
+     color: #1f7096;
+     line-height: 110%;
+     background: #fff url(images/bg2.png);
+     background: linear-gradient(to right, #eff2ff 0%, #fff 50%, #eff2ff 100%);
+     box-shadow: inset 0 0 2px 1px #f2f7fa;
 }
 
 div.routersummary h3 a, div.routersummary h4 a {
      text-decoration: none;
+     white-space: normal;
+     display: inline-block;
+     width: 100%;
+     width: calc(100% - 5px);
+}
+
+/*
+.routersummary h4 a::before {
+     content: url(images/ntwrk.png);
+     padding: 0 !important;
+     margin: 0 4px 0 -5px;
+     line-height: 10%;
+     vertical-align: sub;
+     vertical-align: -moz-middle-with-baseline;
 }
+*/
 
 div.routersummary ul {
      text-align: left !important;
 }
 
 div.routersummary table {
+     table-layout: fixed;
      border: 0;
      text-align: center !important;
-     margin: -5px 0px 5px 0px;
-     width: 193px !important;
+     margin: -5px 0 -5px 0;
+     width: 192px !important;
      overflow: hidden;
      font-size: 8pt;
-     padding: 0 -12px;
+     padding: 0;
      background-image: none !important;
      background-color: transparent !important;
 }
@@ -242,56 +344,93 @@ div.routersummary tr {
      border: 0 !important;
 }
 
+div.routersummary td {
+     padding: 0 3px;
+     background-image: none !important;
+     border: 0 !important;
+}
+
+#sb_bandwidth td:nth-child(2) {
+     white-space: nowrap;
+     width: 60%;
+}
+
+#sb_localid {
+     margin: -3px 0 -1px;
+}
+
+#sb_version {
+     margin: -1px 0;
+}
+
+#sb_uptime {
+     margin: -1px 0 -3px;
+}
+
 div.routersummary form {
-     margin: 0;     
+     margin: -2px 0;     
 }
 
 div.newsheadings {
      text-align: right;
-     margin: 0 5px 0 -20px;
+     margin: -1px 5px -5px -23px;
      padding: 0;
      font-size: 8pt;
 }
 
 div.newsheadings li {
-     list-style: none outside url('images/newsbullet_mini.png');
+     list-style: none outside url(images/newsbullet_mini.png);
      margin: 0 -4px 2px 8px;
 }
 
+div.newsheadings li:first-child {
+     margin-top: -3px;
+}
+
 div.newsheadings ul {
      margin: 0 5px -3px 38px;
      padding: 0;
 }
 
-div.tunnels table {
-     margin: 0 -7px !important;
-     width: 193px;
+#sb_localtunnels {
+     margin: -5px -2px -6px 0 !important;
+     text-align: center !important;
+     width: 194px;
+     box-sizing: border-box;
 }
 
-div.tunnels table {
-     margin: -2px 0px -4px 0px !important;
-     text-align: center !important;
-     width: 190px;
+#sb_localtunnels tr td {
+     padding: 1px !important;
 }
 
-.tunnels tr {
-     padding: 2px 0 !important;
+/*
+#sb_localtunnels tr:nth-child(odd) td {
+     background: #bbf;
+}
+
+#sb_localtunnels tr:nth-child(even) td {
+     background: #ddf;
 }
+*/
 
-.tunnels a {
+#sb_localtunnels a {
      text-transform: capitalize;
 }
 
-.tunnels td:first-child {
+#sb_localtunnels td:first-child {
      width: 16px !important;
-     padding-right: 0px;
+     padding-right: 0;
      text-align: left;
 }
 
-.tunnels td:last-child {
+#sb_localtunnels td:nth-child(2) {
+     width: 156px;
+}
+
+#sb_localtunnels td:last-child {
      width: 12px;
      text-align: right;
-     margin-right: -2px;
+     padding-right: 2px !important;
 }
 
 div.refresh {
@@ -304,36 +443,56 @@ div.routersummary p {
      padding: 0;
 }
 
-div.routersummary a:link, div.routersummary a:visited {
-     text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.3);
-}
-
 div.routersummary a:hover {
-     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7);
      color: #f60;
 }
 
-div.routersummary td {
-     padding: 0 4px;
-     background-image: none !important;
-     border: 0 !important;
+.routersummary a img:first-child {
+     opacity: 0.8;
+     border: none;
+}
+
+.routersummary a img:first-child:hover, .routersummary a img:first-child:active {
+     opacity: 1;
+     filter: drop-shadow(0 0 1px #89f);
+     -webkit-filter: drop-shadow(0 0 1px #89f);
+}
+
+.routersummary a[href="/"], .routersummary a[href="/console"] {
+     outline: none !important;
+}
+
+.routersummary a[href="/"]:focus img, .routersummary a[href="/console"]:focus img {
+     filter: drop-shadow(0 0 1px #f60) saturate(200%);
+     -webkit-filter: drop-shadow(0 0 1px #f60) saturate(200%);
 }
 
 div.main {
-     margin: 0px 1px 0px 200px;
+     margin: 0 1px 0 200px;
      padding: 15px 15px 10px 15px;
-     background: #eef;
+     background: #eff1ff;
      border: 1px solid #89f;
      border-bottom: 1px solid #89f;
      border-right: 1px solid #89f;
      border-top: 0;
      text-align: left;
-     color: #001;
+     color: #0c153d;
      min-width: 510px;
-     -moz-border-radius: 0 0 3px 0;
-     -khtml-border-radius: 0 0 3px 0;
-     border-radius: 0 0 3px 0;
-     background: #eef url("/themes/snark/ubergine/images/hat.png") no-repeat scroll right bottom !important;
+     background: #eef url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom !important;
+     background: url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom, url(images/bg0.png) repeat scroll top left !important;
+     background: url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom, linear-gradient(to bottom, rgba(255,255,255,0.8), rgba(255,255,255,0.1)), url(images/bg0.png) !important;
+}
+
+.main#news h3 {
+     padding: 3px 10px;
+     font-size: 10pt;
+     border: none;
+     border-bottom: 1px solid #bfc9ff;
+     background: none;
+}
+
+.main#news p {
+     padding: 0 10px 3px;
 }
 
 div.main ul {
@@ -352,7 +511,7 @@ div.main li:first-child {
 }
 
 div.main li b {
-     color: #161!important;
+     color: #1f7096 !important;
      letter-spacing: 0.01em;
      font-size: 9.5pt;
      line-height: 170%;
@@ -363,25 +522,54 @@ div.main hr:last-child {
 }
 
 div.main textarea {
-     width: 98% !important;
+     width: 98%;
+     width: calc(100% - 5px);
      margin: 2px 0 2px 5px;
      min-height: 96px;
+     resize: none;
+     box-shadow: inset 1px 1px 1px #ddd;
+     border: 1px solid #bbb;
+     border-radius: 2px;
+     padding: 3px 4px;
+     color: #333;
+}
+
+.main textarea:focus {
+     box-shadow: inset 0 0 0 1px #89f;
+     color: #000;
 }
 
 div.main h2 {
      margin-bottom: 10px !important;
-     -moz-border-radius: 0 3px 0 0;
-     -khtml-border-radius: 0 3px 0 0;
-     border-radius: 0 3px 0 0;
 }
 
 div.welcome {
      margin-top: 5px;
 }
 
+.main#dns, .main#webmail, .main#torrents {
+     padding: 0 !important;
+}
+
+.main#jardump {
+     padding: 0;
+     overflow-y: hidden !important;
+}
+
+.main#proof {
+     padding: 0;
+}
+
+.main#tunnelmgr {
+     padding: 0 10px;
+}
+
+.welcome h2 {
+     margin-top: 0;
+}
+
 div.main h2:first-child, div.main h3:first-child {
-     margin-top: 0px;
-     margin-bottom: -5px;
+     margin-top: 0;
 }
 
 .topness {
@@ -390,30 +578,27 @@ div.main h2:first-child, div.main h3:first-child {
 }
 
 div.wideload h2 {
-     margin-bottom: 0px !important;
-}
-
-div.wideload h3:first-child {
-     margin-top: 0 !important;
+     margin-bottom: 0 !important;
 }
 
 div.wideload h3 {
      margin-top: 15px !important;
-     margin-bottom: 0px !important;
+     margin-bottom: 0 !important;
 }
 
-div.wideload p !important {
-     margin-top: 5px;
+div.wideload p  {
+     margin-top: 5px !important;
 }
 
 div.news {
      margin: -1px 1px 0 200px;
-     background: #ffffc0;
+     background: #f9f9ea url(images/bg1.png);
+     background: linear-gradient(to bottom, rgba(255,255,255,0.6), rgba(255,255,255,0.5)), url(images/bg1.png);
      border: 1px solid #89f;
      border-bottom: 1px solid #89f;
      border-right: 1px solid #89f;
      text-align: right;
-     color: #770;
+     color: #331e0c;
      min-width: 500px;
      padding: 3px 10px 3px 10px;
      font-size: 8pt;
@@ -425,12 +610,11 @@ div.news li {
      text-align: justify;
      list-style: none;
      margin: 15px 15px -10px -20px;
-     padding: 0px 0 15px 0;
-     border-bottom: 2px dotted #cc7;
-     border-top: 0px solid #cc7;
+     border-bottom: 2px dotted #331e0c;
+     border-top: 0 solid #331e0c;
      padding: 3px 5px 5px 0;
      font-size: 10pt;
-     color: #540;
+     color: #331e0c;
      text-transform: capitalize;
 }
 
@@ -439,8 +623,6 @@ div.news h3 {
      text-align: left;
      border: none !important;
      border-bottom: 1px dotted !important;
-     -moz-box-shadow: none;
-     -hktml-box-shadow: none;
      box-shadow: none;
      font-size: 10pt !important;
      letter-spacing: 0.05em;
@@ -451,40 +633,34 @@ div.news h3 {
 }
 
 div.news p {
-     color: #330;
+     color: #331e0c;
      font-size: 9pt;
      margin-bottom: -10px;
 }
-/*
-div.news p:first-child {
-     padding-top: 15px !important;
-}
 
-
-div.news p:nth-child(2n) {
-     padding-top: 15px !important;
-}
-*/
 div.news p:last-child {
      margin-bottom: 10px;
 }
 
 div.news a:link {
      color: #663;
-     text-shadow: 0px 0px 1px rgba(128, 128, 48, 0.3);
+}
+
+div.news a:hover {
+     color: #f60 !important;
 }
 
 div.news a:visited {
      color: #773 !important;
-     text-shadow: 0px 0px 1px rgba(128, 128, 48, 0.3);
 }
 
 div.news hr {
      color: #cc7;
-     background: #cc7;
+     background: #775628;
      height: 1px;
-     border: 0px solid #cc7;
-     margin: 10px 0 2px 0;
+     border: 0 solid #cc7;
+     margin: 10px 0 2px;
+     opacity: 0.7;
 }
 
 div.news hr:last-child {
@@ -492,711 +668,3448 @@ div.news hr:last-child {
 }
 
 div.confignav {
-     padding: 15px 0;
+     padding: 7px 5px;
      margin: -16px -16px 5px -16px;
      border: 1px solid #89f;
-     font-size: 8.5pt;
+     font-size: 9pt;
+     text-align: center;
+     font-weight: bold;
+     color: #000;
+}
+
+.tab, .tab2 {
+     padding: 3px;
+     white-space: nowrap;
+}
+
+.tab2 {
+     color: #111;
+}
+
+.tab2::before {
+     content: '\1F892\00A0';
+     font-size: 10pt;
+     line-height: 110%;
 }
 
-div.confignav a {
+.tab2::after {
+     content: '\00A0\1F890';
+     font-size: 10pt;
+     line-height: 110%;
 }
 
 div.configure {
-     margin: 1px -20px 0 -20px;
-     padding: 0px 20px 0px 20px;
+     padding: 0;
 }
 
 div.configure hr {
      margin: 15px 0;
+     display: none;
 }
 
 div.configure table {
      font-size: 9pt;
-     font-weight: bold;
      border: 1px solid #89f;
 }
 
-div.configure tr, div.configure td {
-     padding: 10px 2px;
+table.configtable, table#permabanned, table#loggingoptions, table#configstats, ul#banlist {
+     margin-bottom: -5px;
 }
 
-div.configure tr {
+#config_peers #permabanned {
+     margin-bottom: 5px;
 }
 
-div.configure li:first-child, div.main li:first-child {
-     margin-top: -10px;
+#configstats th {
+     text-align: left;
+     padding: 6px 10px;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
 }
 
-div.configure li:last-child {
-     margin-bottom: -5px;
+#configstats th a {
+     float: right;
+     font-size: 9pt;
+     text-transform: none;
 }
 
-div.configure h2:first-child {
-     margin-top: 15px;
+#configstats td:last-child { /* epiphany fix */
+     border-right: 1px solid #89f !important;
 }
 
-.sidebarconf button {
-     margin: 2px;
-     padding: 1px;
-     min-width: 0;
-     background: none;
+.configtable td, #joinfamily td {
+     padding: 5px 10px;
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
 }
 
-.sidebarconf th:nth-child(1) {
-     text-align: center;     
+table#joinfamily {
+     margin-top: 15px !important;
 }
 
-.sidebarconf th:nth-child(2) {
-     text-align: left;     
+table#newfamily {
+     margin-bottom: 6px;
+     margin-top: 4px;
 }
 
-.sidebarconf td:first-child {
-     width: 60px;
+table#peerdefs td:first-child {
      text-align: right;
-     padding-right: 50px;
+     width: 50px;
+     white-space: nowrap;
 }
 
-.sidebarconf td {
-     font-weight: bold;
-     font-size: 9pt;  
+table#bandwidthconfig td:first-child {
+     width: 100px;
+     white-space: nowrap;
 }
 
-.sidebarconf td:nth-child(3), .sidebarconf td:nth-child(4) {
-     width: 70px;
-     padding: 0;  
+table#advconf {
+     margin-bottom: -5px !important;
 }
 
-.sidebarconf td:nth-child(3) {
-     text-align: right;
-     padding-left: 50px;
+table#addkeyring {
+     margin-bottom: -5px;
 }
 
-.sidebarconf td:nth-child(4) {
-     text-align: left;
-     padding-right: 50px;
+table#addkeyring td:first-child:not(.infohelp) {
+     font-weight: bold;
 }
 
-.topshimten {
-     margin-top: 15px;
-     margin-bottom: 15px;
+#addkeyring input[type="text"] {
+     width: 99%;
+     width: calc(100% - 5px);
 }
 
-div.messages {
-     padding: 10px 10px;
+table#manualreseed {
+     margin-bottom: 10px;
+}
+
+table#manualreseed tr:nth-child(odd) {
      background: #fff;
-     border: 1px solid #89f;
-     border-right: 0;
-     margin: -6px -15px 10px -16px;
-     text-align: center;
-     font-size: 9pt;
-     font-weight: bold;
-     color: #474;
 }
 
-div.messages li, div.messages ul {
-     padding: 10px 0 0 5px !important;
-     margin: -10px 0 0 25px !important;
-     list-style: none;
-     text-align: left;
+#manualreseed td:first-child {
+     white-space: nowrap;
 }
 
-div.error {
-     color: #d00000;
-     background-image: url("../images/errortriangle.png");
-     background-position: 10px center;
-     background-repeat: no-repeat;
-     padding: 10px 0;
-     margin-left: -5px;
+#manualreseed .optionsave {
+     padding-left: 0;
 }
 
-div.notice {
-     font-style: italic;
+#manualreseed .optionsave input {
+     min-width: 110px;
 }
 
-h1 {
-     font-size: 18pt;
-     text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.7);
-     text-align: left;
-     border: 1px solid #89f;
-     border-bottom: 1px solid #89f;
-     border-right: 1px solid #89f;
-     padding: 19px 20px;
-     margin: 0 1px 0 200px;
-     line-height: 93%;
-     text-transform: uppercase;
-     letter-spacing: 0.3em;
-     background: #fff url(images/titlebg.png) center right no-repeat !important;
-     min-width: 500px;
-     -moz-border-radius: 0 3px 0 0;
-     -khtml-border-radius: 0 3px 0 0;
-     border-radius: 0 3px 0 0;
+#manualreseed input[type="text"], #manualreseed input[type="file"] {
+     width: 60%;
 }
 
-span.newtab {
-     text-align: right;
-     font-size: 8pt;
-     float: right;
-     letter-spacing: 0;
+table#loggingoptions textarea {
+     width: 99%;
+     width: calc(100% - 5px);
 }
-/* opera targetted hack */
-x:-o-prefocus, span.newtab {
-     margin-top: -25px;
+
+#loggingoptions td:nth-child(2) {
+     width: 170px;
 }
 
-h2 {
-     font-size: 14pt;
+table#profiles td:first-child, #profiles td:last-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+#profiles th:nth-child(3), #profiles th:nth-child(4), #profiles th:nth-child(5) {
+     text-align: right;
+}
+
+#profiles td[colspan="7"], #profiles td[colspan="7"]:hover {
+     background: #6992d3;
+     padding: 1px 0;
+     border-top: 1px inset #fff !important;
+     border-bottom: 1px inset #fff !important;
+}
+
+#profiles td[colspan="7"] hr {
+     display: none;
+}
+#profiles tr:hover, #floodfills tr:hover,  #ntcpconnections tr:hover, #udpconnections tr:hover, .homelinkedit tr:hover, .main#debug table:first-of-type tr:hover td {
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ffe 100%);
+     color: #104e99;
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+}
+
+tr:hover th {
+     color: #0c153d;
+}
+
+table#thresholds, table#profile_defs {
+     margin-top: -1px;
+     line-height: 150%;
+}
+
+#thresholds p {
+     padding: 0 10px 0 5px;
+     margin-top: 0 !important;
+}
+
+#profile_defs ul {
+     margin: 10px 10px 5px -35px;
+}
+
+#profile_defs li {
+     padding: 0;
+     list-style: none;
+}
+
+#profile_defs b {
+     text-transform: capitalize;
+}
+
+table#floodfills {
+     margin-top: 10px;
+}
+
+#floodfills th {
+     font-size: 8pt;
+}
+
+ul#banlist {
+     border: 1px solid #89f;
+     margin: 15px 0 5px;
+     padding: 8px 10px;
+     background: #eff1ff;
+     -moz-column-count: 4;
+     -moz-column-width: 270px;
+     -moz-column-gap: 35px;
+     -moz-column-rule: 1px dotted #89f;
+     -webkit-column-count: 4;
+     -webkit-column-width: 270px;
+     -webkit-column-gap: 35px;
+     -webkit-column-rule: 1px dotted #89f;
+     column-count: 4;
+     column-width: 270px;
+     column-gap: 35px;
+     column-rule: 1px dotted #89f;
+     font-size: 8pt;
+}
+
+#banlist li {
+     list-style: none !important;
+     border-bottom: 1px dotted #89f;
+     margin-bottom: 5px;
+     min-width: 250px;
+     padding-bottom: 2px;
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-column-break-inside: avoid;
+     display: table;
+     padding: 3px !important;
+}
+
+#banlist li img {
+     margin-right: 3px;
+}
+
+#banlist li:first-child {
+     margin-top: 0;
+}
+
+.widescroll {
+     overflow: auto; 
+}
+
+a[href^="configpeer?peer"] {
+     font-size: 0;
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
+}
+
+a[href^="configpeer?peer"]::after {
+     content: url(/themes/console/images/buttons/edit.png);
+     vertical-align: bottom;
+}
+
+a[href^="configpeer?peer"]:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+pre#transports {
+     border: 1px solid #89f;
+     padding: 15px 15px 0;
+     margin: -11px 0 0;
+     width: 95%;
+     width: calc(100% - 32px);
+     background: #fff;
+}
+
+table#pluginconfig {
+     margin-bottom: 0 !important;
+}
+
+#pluginconfig table {
+     margin: 3px;
+     width: calc(100% - 5px);
+}
+
+#pluginconfig button, #webappconfig button, #clientconfig button {
+/*     min-width: 60px !important;*/
+     margin: 3px;
+}
+
+table#enviro td, table#eventlogs td {
+     padding: 5px 10px;
+}
+
+#enviro td:first-child {
+     text-align: right;
+     width: 120px;
+     white-space: nowrap;
+     padding-right: 0;
+}
+
+#wrapperlogs pre {
+     white-space: pre-wrap;
+     margin: 0;
+     width: 100%;
+     padding: 0;
+     height: 600px;
+     overflow: auto;     
+}
+
+#wrapperlogs tr:last-child td {
+     padding: 0 0 0 2px;
+}
+
+.logtable tr:first-child {
+     border-bottom: 1px solid #89f;
+     padding: 5px 10px;
+}
+
+.logtable p {
+     margin: 0;
+     padding: 0;
+}
+
+.logtable ul {
+     margin-bottom: 0 !important;
+}
+
+#i2pupdates input[type="text"], #i2pupdates select {
+     min-width: 200px;
+}
+
+#i2pupdates input[name*="URL"] {
+     width: 99%;
+     width: calc(100% - 5px) !important;
+}
+
+#i2pupdates input.check, .optbox {
+     margin-left: 5px;
+}
+
+#i2pupdates td:first-child {
+     padding-right: 0;
+}
+
+#i2pupdates tr:last-child td {
+     background: #fff !important;
+     padding: 5px;
+}
+
+#i2pupdates td:last-child {
+     padding-left: 0;
+     padding-right: 8px;
+}
+div.configure tr, div.configure td {
+     padding: 5px;
+}
+
+div.configure li:first-child, div.main li:first-child {
+     margin-top: -10px;
+}
+
+div.configure li:last-child {
+     margin-bottom: -5px;
+}
+
+div.configure h2:first-child {
+     margin-top: 15px;
+}
+
+#sidebarconf button {
+     margin: 2px;
+     padding: 1px;
+}
+
+#sidebarconf th:nth-child(1) {
+     text-align: center;     
+}
+
+#sidebarconf th:nth-child(2), #sidebarconf td:nth-child(2) {
+     text-align: left;
+     padding-left: 20px;
+}
+
+#sidbarconf td:last-child[colspan="2"] {
+     text-align: center !important;
+     padding: 2px;
+}
+
+#sidebarconf tr, .homelinkedit tr, #clientconfig tr, #webappconfig tr, #permabanned tr, #configstats tr, #tunnelconfig tr, #profiles tr, #floodfills tr, #netdboverview tr, .netdbentry tr, #leasesetdebug tr, #leasesetsummary tr, .leaseset tr, .sybil_routerinfo tr, #enviro tr, #schedjobs tr, #jobstats tr, #eventlog tr, .tunneldisplay tr, #udpconnections tr, #ntcpconnections tr {
+     border-top: 1px inset #fff;
+     border-bottom: 1px inset #fff;
+}
+
+#addkeyring tr, #loggingoptions tr, tr.tablefooter, #profiles tr:hover, #floodfills tr:hover, #jardump tr {
+     border-top: 1px solid #89f !important;
+     border-bottom: 1px solid #89f !important;
+}
+
+#sidebarconf tr:hover, #eventlog tr:hover, .tunneldisplay tr:hover, #jobstats tr:hover, #schedjobs tr:hover, #jardump tr:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ffe 100%);
+     color: #104e99;
+     border-top: 1px solid #89f !important;
+     border-bottom: 1px solid #89f;
+}
+
+#sidebarconf tr:last-child, #sidebarconf tr:last-child:hover  {
+     border-top: 1px solid #89f;
+     background: #eff1ff;
+}
+
+#sidebarconf select {
+     margin-left: 0;
+     width: 100%;
+}
+
+#sidebarconf td:first-child {
+     width: 60px;
+     text-align: center;
+}
+
+#sidebarconf td {
+     font-weight: bold;
+     font-size: 9pt;  
+}
+
+#sidebarconf td:nth-child(3), #sidebarconf td:nth-child(4) {
+     width: 75px;
+     padding: 0;
+     white-space: nowrap;
+}
+
+#sidebarconf td:nth-child(4) {
+     text-align: left;
+}
+
+#sidebarconf tr:last-child td:last-child {
+     text-align: left;
+}
+
+.topshimten {
+     margin-top: 15px;
+     margin-bottom: 15px;
+}
+
+div.messages {
+     padding: 10px 10px;
+     background: #fff;
+     border: 1px solid #89f;
+     border-right: 0;
+     margin: -6px -15px 10px -16px;
+     text-align: center;
+     font-size: 9pt;
+     font-weight: bold;
+     color: #474;
+}
+
+#messages {
+     margin-bottom: 5px;
+}
+
+div.messages li, div.messages ul {
+     padding: 10px 0 0 5px !important;
+     margin: -10px 0 0 25px !important;
+     list-style: none;
+     text-align: left;
+}
+
+#graphs .messages {
+     margin-top: -16px;
+}
+
+div.error {
+     color: #d00000;
+     background-image: url(/themes/console/images/info/errortriangle.png);
+     background-position: 10px center;
+     background-repeat: no-repeat;
+     padding: 10px 0;
+     margin-left: -5px;
+}
+
+div.notice {
+     padding: 10px 10px 10px 0 !important; 
+     margin: 0;     
+     background: url(/themes/console/images/info/infohelp.png) 15px center no-repeat;
+}
+
+.notice ul, .notice li {
+     margin: 0 !important;
+}
+
+h1 {
+     font-size: 18pt;
+     text-align: left;
+     border: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+     border-right: 1px solid #89f;
+     padding: 19px 20px;
+     margin: 0 1px 0 200px;
+     line-height: 93%;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #fff url(images/titlebg.png) center right no-repeat !important;
+     background: linear-gradient(to right, #fff, #fff 30%, rgba(255,255,255, 0.5) 70%), linear-gradient(to bottom, #e5f0f7 0%, #e5f0f7 50%, #b9c2f9 50%, #b9c2f9 100%) !important;
+     min-width: 500px;
+}
+
+span.newtab {
+     text-align: right;
+     font-size: 8pt;
+     float: right;
+     letter-spacing: 0;
+}
+
+.newtab img:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+h2 {
+     font-size: 14pt;
      padding: 10px;
      border: 1px solid #89f;
      letter-spacing: 0.04em;
-/*     font-variant: small-caps; */
      text-transform: uppercase;
      background: #fff;
-     text-shadow: 0px 1px 1px #99f;
 }
 
-h3 {
-     font-size: 12pt;
-     padding: 6px 10px 8px;
+h3, h4#updateplugins {
+     font-size: 10.5pt;
+     padding: 6px 10px;
      border: 1px solid #89f;
-     letter-spacing: 0.04em;
      margin-bottom: 10px;
      background: #fff;
-     text-transform: uppercase;
-     text-shadow: 0px 1px 1px #99f;
 }
 
-h2, h3 {
-     background-image: url("images/titlebg.png") !important;
-     background-repeat: no-repeat;
-     background-position: center right;
-     -moz-border-radius: 0 3px 0 0;
-     -khtml-border-radius: 0 3px 0 0;
-     border-radius: 0 3px 0 0;
+h3.tabletitle {
+     margin-bottom: -1px;
 }
 
-.routersummary h2, .routersummary h3, div.confignav, th {
-     background-image: url("images/tinytitle.png") !important;
-     background-repeat: repeat-x;
-     background-position: center right;
+h3.ptitle {
+     margin-bottom: -13px;
 }
 
+h3.enbeddedtitle, h4.embeddedtitle {
+     margin-bottom: 5px !important;
+}
 
-.proxyfooter{
-     font-size: 7pt;
-     display: none !important;
+h3#udpcon, h3#ntcpcon {
+     margin-bottom: -1px;
 }
 
-table {
-     border-collapse: collapse;
-     border: 1px solid #89f;
-     margin: 0 0 5px 0;
-     cell-padding: 1px;
-     font-size: 8pt;
-     background: #fff;
-     width: 100%;
+h3#i2pclientconfig {
+     margin-top: 15px;
+     margin-bottom: -13px;
 }
 
-table hr {
+h3#bannedpeers {
+     margin-bottom: -16px;
+}
+
+h3#bwlimiter, h3#iptransport {
+     margin: 15px 0 -1px !important;
+}
+
+h3#iptransport a, th#upnpconfig a, h3#bwlimiter a, #config_stats h3 a, #config_logging h3 a, h3#graphdisplay a, #logs h3 a, h3#advancedconfig a, .h3navlinks {
+     float: right;
+     font-size: 9pt;
+     letter-spacing: normal;
+}
+
+.h3navlinks a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     margin-left: 5px;
+}
+
+h3#iptransport a:not(old), h3#advancedconfig a:not(old) {
+     font-size: 0
+}
+
+h3#iptransport a::after, h3#advancedconfig a::after {
+     content: url(images/help.png);
      padding: 0;
-     color: #89f;
-     background: #89f;
-     border: 0px solid #89f;
+     margin: 0;
+     vertical-align: bottom;
+}
+
+h3#iptransport a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+h4 {
+     border: 1px solid #89f;
+     background: #fff;
+     background: linear-gradient(to right, #fff 0%, #eff2ff 100%);
+     padding: 3px 5px;
+     font-size: 9pt;
+     margin: 5px 0;
+}
+
+p#clientconf {
+     margin-bottom: -1px !important;
+}
+
+table[id*="connections"] td {
+     text-align: center;
+}
+
+table[id*="connections"] td:first-child {
+     width: 40px;
+     white-space: nowrap;
+     text-align: right;
+}
+
+table[id*="connections"] .tablefooter td:first-child {
+     text-align: left;
+}
+
+h3[id*="heading"] {
+     margin-bottom: -1px;
+}
+
+h3#advancedclientconfig, h3#ffconf, h3#advancedconfig {
+     margin-bottom: -1px !important;
+}
+
+h3#pluginmanage {
+     margin-bottom: -18px !important;
+}
+
+h3#advancedclientconfig, h3#pluginconfig {
+     margin-top: 15px;
+}
+
+h3#pluginmanage + p {
+     padding: 5px 0 0 !important;
+}
+
+h3#webappconfig {
+     margin-bottom: -30px;
+     margin-top: 15px;
+}
+
+p#webappconfigtext {
+     margin-bottom: -1px;
+}
+
+p:empty {
+     display: none;
+}
+
+h2 {
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+h2, h3, h4#updateplugins {
+     background: url(images/titlebg.png) right center no-repeat;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+}
+
+h4#updateplugins {
+     margin-top: -13px;
+}
+
+.routersummary h2, .routersummary h3, div.confignav, th {
+     background: url(images/tinytitle.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+}
+
+table {
+     border-collapse: collapse;
+     border: 1px solid #89f;
+     margin: 0 0 5px 0;
+     font-size: 9pt;
+     background: #fff;
+     width: 100%;
+}
+
+table hr {
+     padding: 0;
+     color: #89f;
+     background: #89f;
+     border: 0 solid #89f;
      margin: -5px -5px -10px -5px !important;
      height: 1px;
 }
 
-table tt {
-     font-size: 8pt;
+table tt {
+     font-size: 8pt;
+}
+
+th {
+     background-color: #fff;
+     padding: 5px;
+     text-align: center;
+     border-bottom: 1px solid #89f;
+     border-top: 1px solid #89f;
+}
+
+th.th_title {
+     text-align: left;
+     padding: 6px 10px;
+}
+
+.configtable th {
+     padding: 5px 10px;
+     line-height: normal;
+}
+
+td {
+     padding: 3px 5px;
+}
+
+td.optionsave {
+     text-align: right;
+     border-top: 1px solid #89f;
+     background: #fff;
+     padding: 8px 5px;
+}
+
+td.optionsave[colspan="2"] {
+     background: #fff;
+}
+
+td.infohelp, p.infohelp, td.infowarn, p.infowarn, p#upnpstatus, p#gatherstats, p#debugmode, p#sybilinfo, p#pluginconfigtext {
+     padding: 15px 15px 15px 55px !important; 
+     border: 1px solid #89f;
+     background: #fff url(/themes/console/images/info/infohelp.png) 15px center no-repeat;
+     white-space: normal !important;
+}
+
+td.infowarn, p.infowarn {
+     background: #fff url(/themes/console/images/info/infowarn.png) 15px center no-repeat !important;
+}
+
+.confignav + .infohelp, .confignav + h3.tabletitle, .confignav + form > h3.tabletitle, .confignav + .configure > form > h3.ptitle {
+     margin-top: 15px !important;
+}
+
+p#profiles_overview, h3#shutdownrouter, h3#themeheading {
+     margin-top: 15px !important;
+}
+
+p#gatherstats {
+     margin-top: -9px;
+}
+
+p#upnpstatus {
+     margin-top: 0;
+}
+
+td.tabletextarea {
+     padding: 0 !important;
+}
+
+.tabletextarea textarea {
+     margin: 0 !important;
+     width: 100% !important;
+     height: 600px;
+     resize: none;
+     overflow: auto;
+     border: 0;
+     white-space: pre-wrap;
+     padding: 5px;
+     box-shadow: 0 0 0 0 !important;
+     border: none !important;
+     color: #222;
+}
+
+.tabletextarea textarea:focus {
+     box-shadow: inset 0 0 0 1px #89f !important;
+     border-radius: 0 !important;
+     color: #000;
+}
+
+tr:nth-child(even) {
+     background: #ddf;
+     background: #dde1ff;
+}
+
+tr:nth-child(odd) {
+     background: #eef;
+     background: #eff1ff;
+}
+
+.configtable th {
+     text-align: left;
+}
+
+/* begin home page */
+
+h4.app, h4.app2 {
+     margin: 0 -1px 5px;
+     padding: 10px 0 8px 0;
+     font-size: 11pt;
+     padding: 6px 10px;
+     border: 1px solid #89f;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #fff;
+     text-transform: uppercase;
+     background: url(images/tinytitle.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+}
+
+h4.app2 {
+     clear: left;
+     margin-top: 5px !important;
+}
+
+div.ag2 {
+     margin: 0 -15px -9px;
+}
+
+div.app {
+     float: left;
+     padding: 0;
+     min-width: 104px;
+     text-align: center !important;
+     border: none;
+     margin: 3px ;
+     border: 1px solid #89f;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddf 100%);
+     box-shadow: 0 0 1px #fff;
+}
+
+div.app:hover {
+     border: 1px solid #f60;
+     background: #fff;
+}
+
+div.applabel {
+     background: url(images/tinytitle.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     font-size: 9pt;
+     margin: 0;
+     padding: 4px 2px;
+     text-align: center;
+     width: 108px;
+     line-height: 110%;
+     text-transform: lowercase;
+     font-size: 8pt;
+     border-top: 1px solid #89f;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+}
+
+.applabel a {
+     display: block;
+     width: 100%;
+     height: 13px;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     overflow: hidden;
+     margin: 0;
+}
+
+.app:hover div.applabel {
+     border-top: 1px solid #f60;
+     background: #fff;
+}
+
+.app:active .applabel {
+     background: #f60 !important;
+     color: #fff !important;
+     box-shadow: inset 0 0 0 1px #fff !important;
+}
+
+.app:active .applabel a {
+     color: #fff !important;
+}
+
+div.app:last-child {
+     margin-bottom: 10px;
+}
+
+div.app a:link, div.app a:visited, div.app a:hover, div.app a:active {
+     text-decoration: none;
+}
+
+div.app:hover a, .applabel a:focus {
+     color: #f60;
+     outline: none;
+}
+
+div.app:hover img, .appimg a:focus {
+     filter: drop-shadow(0 0 1px #f60) saturate(160%);
+     -webkit-filter: drop-shadow(0 0 1px #f60) saturate(160%);
+     outline: none;
+}
+
+div.app:hover .applabel {
+     box-shadow: none;
+}
+
+div.appgroup {
+     margin: 0;
+     padding: 0 8px;
+     width: auto;
+}
+
+div.search {
+     margin: -24px 10px 0 10px;
+     padding: 8px 8px 0 8px;
+     width: auto;
+}
+
+table.search {
+     background: #eff1ff;
+     margin-left: auto;
+     margin-right: auto;
+     padding: 1px 0;
+     width: auto;
+     border-collapse: separate;
+     border-radius: 0 0 2px 2px;
+}
+
+img.app, img.app2p {
+     height: 32px;
+     width: auto;
+     max-height: 32px;
+     max-width: 32px;
+     max-width: auto;
+     padding: 5px 40px;
+}
+
+.app table {
+     background: none;
+     border: 0;
+     margin: auto;
+     width: auto;
+}
+
+.app tr {
+     background: none;
+     border: 0;
+     margin: 0;
+}
+
+.app td {
+     background: none;
+     border: 0;
+     margin: 0;
+     padding: 0;
+}
+
+div.applabel:hover {
+     box-shadow: none;
+}
+
+/* end home page */
+
+#i2psnarkframe {
+     margin-bottom: -18px;
+}
+
+tt {
+     font-size: 8pt;
+}
+
+tt, pre {
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+hr {
+     color: #89f;
+     background: #89f;
+     height: 2px;
+     border: 0 solid #89f;
+     margin: 3px 0;
+}
+
+p.infohelp + hr, p.infohelp + p + hr, #tunnelconfig + hr { /*configservice */
+     display: none;
+}
+
+h3#servicedebug a, h3#graphinfo a {
+     float: right;
+     font-size: 9pt;
+}
+
+.main#tunnels h3 {
+     padding-right: 5px;
+}
+
+.main#tunnels h3 a {
+     float: right;
+}
+
+.main#tunnels h3 a:not(old), #logs h3 a:not(old) {
+     font-size: 0;
+}
+
+.main#tunnels h3 a[href^="/configtunnels#"]::after, #logs h3 a::after {
+     content: url(/themes/console/images/buttons/configure.png);
+     float: right;
+}
+
+.main#tunnels h3 a[href^="/configtunnels#"]:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.main#debug h2 {
+     padding: 6px 10px;
+     font-size: 12pt;
+}
+
+.main#debug h3 {
+     padding: 4px 10px;
+}
+
+.main#debug th:last-child, .main#debug td:last-child {
+     text-align: right;
+}
+
+.main#debug td[colspan="2"] {
+     text-align: left;
+}
+
+h3 + .statusnotes {
+     margin-top: -1px;
+}
+
+.statusnotes {
+     font-style: italic;
+     font-size: 9pt;
+     color: #0c153d;
+     text-align: center;
+     margin: -6px 0 7px 0;
+     border: 1px solid #89f !important;
+     border-top: 0;
+     padding: 5px 0;
+     background: #fff url(images/tinytitle.png) center center repeat-x !important;
+}
+
+.statusnotes + .statusnotes {
+     margin-top: -8px !important;
+}
+
+div.joblog {
+     margin: 10px 0;
+     line-height: 130% !important;
+}
+
+div.joblog li {
+     word-wrap: break-word !important;
+     line-height: 105% !important;
+}
+
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+}
+
+div.joblog li:first-child {
+     margin-top: -5px;
+}
+
+div.joblog li:last-child {
+     margin-bottom: -5px;
+}
+
+div.joblog form:first-child {
+     margin-top: 10px;
+}
+
+div.joblog table {
+     margin-top: 15px;
+}
+
+div.joblog p {
+     line-height: 130%;
+}
+
+div.joblog h3 {
+     margin: 10px 0 20px 0;
+}
+
+div.joblog h3:first-child {
+     margin: -10px 0 15px 0;
+}
+
+div.joblog hr {
+     margin: 15px 0 15px;
+}
+
+h2#jobrunners {
+     margin-top: -10px;
+}
+
+div.joblog ol {
+     margin-bottom: 5px !important;
+     margin-top: -21px;
+     -moz-column-count: 2;
+     -moz-column-width: 400px;
+     -moz-column-gap: 100px;
+     -moz-column-rule: 1px dotted #89f;
+     -webkit-column-count: 2;
+     -webkit-column-width: 400px;
+     -webkit-column-gap: 100px;
+     column-count: 2;
+     column-width: 400px;
+     column-gap: 100px;
+     column-rule: 1px dotted #89f;
+     background: #eff1ff;
+     border: 1px solid #89f;
+     padding: 15px 50px;
+}
+
+.joblog ol:empty + h3 {
+     margin-top: -10px;
+}
+
+.joblog ol:empty {
+     display: none;
+}
+
+.joblog ol li {
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-column-break-inside: avoid;
+     display: inline-block;
+     border-bottom: 1px dotted #89f;
+     min-width: 400px;
+     margin-left: -15px;
+     margin-bottom: 5px;
+}
+
+.joblog ol li:first-child {
+     padding-top: 5px;
+}
+
+.joblog ol li:last-child {
+     border: none;
+}
+
+h3#finishedjobs + ol li, h3#scheduledjobs + ol li, h3#activejobs + ol li, h3#readyjobs + ol li {
+    list-style: none !important;
+}
+
+h3#activejobs + ol li:before, h3#scheduledjobs + ol li:before, h3#readyjobs + ol li:before, h3#finishedjobs + ol li:before {
+     content: '\2023\00A0\00A0';
+     margin-left: -20px;
+     font-size: 15pt;
+     font-weight: bold;
+     line-height: 50%;
+     vertical-align: sub;
+     color: #393;
+}
+
+h3#finishedjobs + ol li:before {
+     color: #3D3;
+     content: '\2714\00A0';
+}
+
+h3#readyjobs + ol li:before {
+     color: #dd3;
+}
+
+h3#scheduledjobs + ol li:before {
+     color: #773;
+}
+
+h3#totaljobstats {
+     margin-bottom: -1px !important;
+}
+
+#jobstats th:first-child, #jobstats td:first-child {
+     text-align: left;
+     padding-left: 10px;
+}
+
+#jobstats th {
+     text-align: right;
+}
+
+#jobstats .tablefooter td {
+     font-size: 9pt;
+}
+
+table#schedjobs {
+     width: 100% !important;
+     margin: 15px 0 0 !important;
+}
+
+#schedjobs th {
+     padding: 3px 10px;
+}
+
+#schedjobs td {
+     padding: 3px 10px;
+}
+
+#schedjobs th:first-child {
+     text-align: left;
+}
+
+#schedjobs td:first-child {
+     font-weight: bold;
+}
+
+table#oldhome {
+     margin-bottom: 10px;
+}
+
+#oldhome input[type="checkbox"] {
+     vertical-align: sub !important;
+}
+
+.homelinkedit th:last-child, .homelinkedit th:nth-child(3) {
+     text-align: left !important;
+}
+
+.homelinkedit input[type="text"], #reseedconfig input[type="text"], #reseedconfig input[type="password"], #reseedconfig .optbox, #reseedconfig textarea {
+     margin-left: 0;
+}
+
+#reseedconfig textarea {
+     width: 100% !important;
+}
+
+.homelinkedit tr:last-child {
+     border-top: 1px solid #89f;
+}
+
+#addnew {
+     background: #efefff;
+}
+
+#addnew td:first-child {
+     text-align: right;
+}
+
+tr#addnew:hover {
+     color: #0c153d !important;
+}
+
+#loggingoptions input[type="text"] {
+     width: 160px;
+}
+
+table#oldhome {
+     margin-bottom: 10px;
+}
+
+#oldhome input[type="checkbox"] {
+     vertical-align: sub !important;
+}
+
+p {
+     padding: 5px 20px 0 20px;
+     text-align: justify;
+}
+
+p img:first-child {
+     display: none;     
+}
+
+p.infohelp, p.infohelp + p, p#enablefullstats {
+     border: 1px solid #89f;
+}
+
+p.infohelp + p.infowarn {
+     padding: 10px;
+     margin-top: -1px;
+}
+
+p#keyringhelp {
+     margin-top: 15px;
+}
+
+p#pluginconfigtext {
+     border: 1px solid #89f;
+     padding: 10px;
+     margin: -11px 0 -1px;
+}
+
+.formaction, td.optionsave {
+     padding-right: 3px !important;
+}
+
+.configtable tr:last-child, #addkeyring tr:last-child, #loggingoptions tr:last-child  {
+     background: #fff;
+     border-top: 1px solid #89f;
+}
+
+.formaction form, td form {
+     margin-bottom: 0;
+}
+
+p#enablefullstats {
+     padding: 5px 10px;
+     line-height: 150%;
+     background: #fff;
+}
+
+.formaction {
+     text-align: right;
+     margin: 0;
+     padding: 8px 5px;
+     background: #fff;
+}
+
+.formaction, td.optionsave {
+     padding-right: 3px !important;
+}
+
+.configtable tr:last-child, #addkeyring tr:last-child, #loggingoptions tr:last-child  {
+     background: #fff;
+     border-top: 1px solid #89f;
+}
+
+.formaction form, td form {
+     margin-bottom: 0;
+}
+
+.formaction#shutdown, .formaction#restart, .formaction#systray, .formaction#runonstart, .formaction#dumpthreads, .formaction#browserstart, .formaction#sidebardefaults, .formaction#tunnelconfigsave, .formaction#updateplugins, .formaction#consolepass {
+     border: 1px solid #89f;
+     margin-top: -13px;
+     margin-bottom: -5px;
+}
+
+.formaction#clientsconfig, .formaction#webappconfigactions, .formaction#pluginupdater, .formaction#sidebardefaults, .formaction#tunnelconfigsave, .formaction#consolepass {
+     border: 1px solid #89f;
+     margin-top: -6px;
+}
+
+.formaction#pluginconfigactions {
+     border: 1px solid #89f;
+     margin-top: -1px;
+}
+
+.formaction#pluginupdater {
+     margin-bottom: 6px;
+}
+
+.formaction#webappconfigactions, .formaction#clientsconfig {
+     margin-bottom: -5px;
+}
+
+.formaction#resetreseed {
+     margin: 0 -10px 0 0;
+     background: none;
+}
+
+.formaction[id*="home"] {
+     margin-top: -6px;
+     padding: 5px;
+     border: 1px solid #89f;
+}
+
+.formaction#homeapps {
+     margin-top: -6px;
+     margin-bottom: -5px;
+}
+
+.formaction#themeui {
+     margin: 8px -5px 0;
+     border-top: 1px solid #89f;
+}
+
+.formaction#langui {
+     margin: 0 -5px;
+}
+
+.langbox {
+     margin: 5px 5px 0 5px;
+     color: #001;
+     font-size: 7pt;
+     width: 312px;
+     text-align: right;
+     float: right;
+     padding: 1px;
+     overflow: hidden;
+}
+
+.langbox img {
+     padding: 0 2px; /* Ignored by IE8 */
+     opacity: 0.9;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+     transition: ease all 0.3s 0;
+}
+
+.langbox img:hover {
+     opacity: 1;     
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     transform: scale(1.1);
+     transition: ease all 0.3s 0;
+}
+
+.links {
+     padding-bottom: 0;
+     text-align: justify;
+     margin-top: 5px !important;
+}
+
+.links li {
+     list-style-image: url(images/link.png) !important;
+     padding: 5px 10px 0 !important;
+}
+
+.links li:first-child {
+     padding: 14px 10px 5px !important;
+}
+
+.links li:last-child {
+     margin-bottom: 0 !important;
+     margin-top: 0;
+}
+
+.links b {
+     font-size: 10pt;
+     line-height: 150%;
+     letter-spacing: 0.02em;
+}
+
+a:link {
+     color: #006;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:visited {
+     color: #448;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:hover, a:focus {
+     color: #f60;
+     text-decoration: none;
+     font-weight: bold;
+     outline: none;
+}
+
+a:active {
+     color: #f93;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+pre {
+     margin: 0 20px;
+     overflow: auto;
+     font-size: 8pt !important;
+     width: 95%;
+     padding-top: 10px;
+}
+
+tt, code {
+     font-size: 9pt;
+     font-weight: bold;
+     color: darkgreen;
+}
+
+.main#logs code {
+     font-size: 8pt;
+}
+
+.tablefooter {
+     border: 1px solid #89f;
+}
+
+.tablefooter tr, .tablefooter td {
+     background: #fff !important;
+     font-size: 9pt;
+     font-weight: bold;
+     line-height: 150%;
+     white-space: nowrap;
+     padding: 8px 5px !important;
+}
+
+#config_stats .tablefooter td {
+     line-height: normal;
+     padding: 2px 5px;
+}
+
+.main[id^="config_"] tr:nth-child(even) {
+     background: #f7f8ff;
+}
+
+#netconfig tr, #externali2cp tr {
+     background: #fff; 
+}
+ 
+#pluginconfig tr {
+     border-bottom: 1px solid #89f;
+}
+
+#pluginconfig td:first-child {
+     width: 80px;
+     white-space: nowrap;
+}
+
+.tidylist {
+     text-align: justify;
+     padding-right: 25px;
+     margin-right: 15px !important;
+     margin-left: 15px;
+}
+
+.tidylist code {
+     text-align: left;
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #723;
+     font-weight: bold;
+}
+
+div.graphspanel {
+     padding: 15px 5px 0;
+     margin: -16px -16px -11px -16px;
+     text-align: center !important;
+     overflow: hidden;
+}
+
+div.graphspanel img {
+     margin: 5px;
+     border: 1px solid #777;
+     max-width: 95%;
+     max-width: calc(100% - 50px);
+}
+
+div.graphspanel a img {
+     border: 1px solid #77f;
+     padding: 2px;
+     background: #ccf;
+     opacity: 0.9;
+     vertical-align: top;
+}
+
+div.graphspanel a img:hover {
+     border: 1px solid #89f;
+     text-align: center !important;
+     background: #001;
+     opacity: 1;
+}
+
+div.graphspanel hr {
+     margin: 10px 0;
+}
+
+div.graphspanel form:last-child {
+     text-align: left;
+     margin: 0 20px;
+}
+
+div.graphspanel h3 {
+     text-align: left;
+     margin: 10px 20px 10px 20px;
+}
+
+form[action="graphs"] {
+     border: 1px solid #89f;
+     padding: 5px 10px;
+     margin: -11px 0 5px;
+     background: #eef;
+}
+
+form[action="graphs"] hr {
+     margin: 5px -11px 3px;
+     height: 1px;
+}
+
+form[action="graphs"] input[type="text"] {
+     min-width: 80px !important;
+}
+
+p#graphopts {
+     text-align: center;
+     border: 1px solid #89f;
+     background: #fff;
+     margin: 25px -5px 0;
+     padding: 10px;
+     text-transform: capitalize;
+}
+
+h3#graphinfo {
+     margin: 5px 10px 15px;
+}
+
+p#graphopts + p {
+     text-align: right;
+     background: #fff;
+     margin: -1px -5px 0;
+     padding: 10px;
+     border: 1px solid #89f;
+     display: none; 
+}
+
+.formaction#graphing {
+     margin: -3px -10px -5px;
+}
+
+div.footnote {
+     text-align: right;
+     color: #339;
+     font-size: 7pt;
+     margin-bottom: -4px !important;
+}
+
+div.footnote hr {
+     margin: 10px 0 5px 0 !important;
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border: 0 solid #99f;
+}
+
+select {
+     margin: 3px 5px;
+     vertical-align: middle;
+     min-width: 160px;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     border-radius: 2px;
+     border: 1px solid #bbb;
+     box-shadow: inset 0 0 0 1px #fff;
+     padding: 4px 16px 4px 2px;
+     text-overflow: ellipsis;
+     color: #333;
+}
+
+select option {
+     background: #fff;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     -moz-appearance: none;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+}
+
+select:hover, select:active {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+select:focus {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: 0 0 0 1px #89f;
+}
+}
+
+select:focus {
+     color: #000;
+}
+
+select[name="newlogclass"] {
+     width: 80%;
+     width: calc(100% - 180px);
+     margin-right: 0;
+}
+
+select[name="newlogclass"] {
+     margin-right: 0;
+}
+
+button, input, select {
+     font: 9pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     color: #333;
+}
+
+.optbox {
+     vertical-align: middle;
+     margin-right: 0;
+}
+
+.homelinkedit .optbox {
+     margin: 0;
+}
+
+input {
+     margin: 3px 5px 3px 0;
+}
+
+input[type="file"] {
+     margin: 3px 5px;
+}
+
+input[type="text"], input[type="password"] {
+     margin: 3px 5px 3px 5px;
+     vertical-align: middle;
+     min-width: 160px;
+     border: 1px solid #bbb;
+     box-shadow: inset 1px 1px 1px #ddd;
+     border-radius: 2px;
+     padding: 4px;
+     color: #333;
+}
+
+input[type="text"]:focus, input[type="password"]:focus {
+     box-shadow: inset 0 0 0 1px #89f;
+     color: #000;
+}
+
+button {
+     margin: 1px;
+/*     min-width: 50px;*/
+}
+
+button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     background: #ddd;
+}
+
+input.search[type="text"] {
+     background: #fff url(/themes/console/images/buttons/search.png) no-repeat 2px center;
+     padding: 3px 3px 3px 24px;
+     min-height: 22px;
+     border: 1px solid #bbb;
+     color: #333 !important;
+}
+
+input[name="refreshInterval"] {
+     text-align: right;
+}
+
+/* accessibility tweak - colors rather than focus rings where possible */
+
+.optbox:hover, .optbox:focus, input[type="checkbox"]:hover, input[type="checkbox"]:focus {
+/*	  -ms-filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=0, OffY=0, Color='#89f')";*/     
+     -webkit-filter: drop-shadow(0 0 2px #89f);
+     filter: drop-shadow( 0 0 2px #89f);
+     border: 0;
+     outline: none;
+}
+
+.optbox:disabled:hover, input:disabled:hover {
+     filter: none;
+} 
+
+button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
+     filter: drop-shadow(0 0 2px #89f);
+     -webkit-filter: drop-shadow(0 0 2px #89f);
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+     outline: none;
+     border: none;
+}
+
+/* end accessibility */
+
+.topness {
+     font-size: 7.5pt;
+     text-align: right;
+     margin-top: -8px;
+     margin-bottom: -5px;
+     margin-right: 5px;
+}
+
+/* Fixes for when app is not started and console error loads inside iframe */
+
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+.iframed div.routersummaryouter {
+     display: none !important;
+}
+
+.iframed h1 {
+     margin: 0 1px 0 0 !important;
+}
+
+.iframed div.sorry {
+     margin: -1px 1px 0 0 !important;
+}
+
+/* end iframed console fixes */
+
+/* Theme choice & Language selection in /configui */
+
+.themechoice .optbox, .langselect .optbox {
+     vertical-align: text-bottom;
+}
+
+div.themechoice {
+     width: 115px;
+     min-height: 78px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     border: 1px solid #89f;
+     float: left;
+     text-align: center;
+     padding: 0 4px;
+     margin: 4px;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddf 100%);
+     transition: all 0.3s ease 0s;
+     box-shadow: 0 0 1px #fff;
+}
+
+.themechoice:hover {
+     border: 1px solid #f60;
+     background: #fff;
+}
+
+.themechoice:hover > object ~ .themelabel {
+     border-top: 1px solid #f60 !important;
+     background: #fff;
+     transition: all 0.1s ease 0s;
+}
+
+.themechoice:hover > object {
+     filter: drop-shadow(0px 0 1px #f60);
+}
+
+.themechoice .optbox {
+     height: 80px !important;
+     width: 110px !important;
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     margin-left: -31px;
+     z-index: 999;
+}
+
+.themechoice .optbox + object {
+     margin-left: -79px;
+     padding: 0 !important;
+     margin-bottom: 31px;
+}
+
+.themechoice img {
+     margin-bottom: 31px !important;
+}
+
+.themechoice .optbox:hover + img {
+/*     box-shadow: 0 0 1px 1px #33f;*/
+}
+
+.themechoice .optbox:hover + img ~ div.themelabel {
+     color: #f60;
+     font-weight: bold;
+}
+
+.themechoice:active .themelabel {
+     background: #f60 !important;
+     color: #fff !important;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+.themechoice .optbox:checked + object ~ div.themelabel {
+     background: #ddf;
+     color: #338;
+     font-weight: bold;
+}
+
+.themechoice:active .optbox:checked + object ~ .themelabel {
+     background: #ddf !important;
+     color: #338 !important;
+     box-shadow: none !important;
+     font-weight: bold;
+}
+
+div#themeoptions {
+     clear: both;
+     padding-top: 5px;
+}
+
+#themeoptions input {
+     margin-left: 5px;
+     vertical-align: sub;
+}
+
+div.themelabel {
+     border-top: 1px solid #bbf !important;
+     margin: -30px -4px 0;
+     padding: 3px 2px;
+     background: #eef url(images/tinytitle.png) center center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+}
+
+div#themesettings {
+     clear: both;
+     border: 1px solid #89f;
+     padding: 4px 5px 0;
+     margin: -1px 0;
+     background: #eff1ff;
+}
+
+div#langsettings {
+     border: 1px solid #89f;
+     padding: 4px 5px 0;
+     background: #eff1ff;
+}
+
+#themesettings hr {
+     display: none;
+}
+
+#langsettings hr {
+     margin: 0 -5px;
+     height: 1px;
+}
+
+div.langselect { /* containing box for lang selection */
+     width: 115px;
+     float: left;
+     margin: 4px;
+     text-align: center;
+     border: 1px solid #89f;
+     padding: 4px 4px 0;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddf 100%);
+     transition: all 0.3s ease 0s;
+     box-shadow: 0 0 1px #fff;
+}
+
+.langselect:hover {
+     border: 1px solid #f60;
+     background: #fff;
+     transition: ease all 0.3s 0s;
+}
+
+.langselect .optbox {
+     width: 110px;
+     background: #f00;
+     height: 52px;
+     margin-left: -49px;
+     margin-bottom: 14px;
+     opacity: 0;
+     z-index: 999;
+     position: relative;
+}
+
+.langselect:hover > input + img {
+     transform: scale(1.1);
+     border: 1px solid #f60 !important;
+}
+
+.langselect img[src^="/flags"] {
+     border: 1px solid #89f;
+     margin-bottom: 42px;
+     margin-left: -63px;
+     opacity: 1;
+     z-index: 3;
+     position: relative;
+}
+
+.langselect input, .themechoice input {
+     cursor: pointer;
+}
+
+.langselect input[name="lang"]:checked + img {
+     transform: scale(1.1);
+     -webkit-transform: scale(1.1);
+     border: 1px solid #338;
+}
+
+.langselect:hover > input[name="lang"] + img + .ui_lang {
+     color: #f60;
+     border-top: 1px solid #f60;
+     font-weight: bold;
+     background: #fff !important;
+     transition: all 0.1s ease 0s;
+}
+
+.langselect input[name="lang"]:checked + img + div.ui_lang {
+     background: #ddf !important;
+     color: #338;
+     font-weight: bold;
+     margin: -32px -4px 0;
+     z-index: 2;
+}
+
+.langselect:active .ui_lang, .langselect:active > input[name="lang"] + img + .ui_lang {
+     background: #f60 !important;
+     color: #fff !important;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+.langselect:active input[name="lang"]:checked + img + .ui_lang {
+     color: #338 !important;
+     box-shadow: none !important;
+} 
+
+div.flagradio {
+     margin-top: 2px;
+}
+
+div.langselect + br {
+     display: none !important; 
+}
+
+div.langselect br {
+     display: block;
+}
+
+div.ui_lang { /* lang text label */
+     text-align: center;
+     background: #eef url(images/tinytitle.png) center center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     padding: 3px 2px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     margin: -32px -4px 0;
+     border-top: 1px solid #bbf;
+     border-radius: 0 0 2px 2px;
+     text-transform: capitalize;
+     font-size: 9pt;
+     z-index: 2;
+}
+
+p#helptranslate {
+     clear: both;
+     padding: 5px 10px 10px;
+     text-align: right;
+     margin: 0 -5px;
+}
+
+/* configui password*/
+
+table#consolepass th:nth-child(2) {
+     text-align: left;
+}
+
+table#consolepass td:first-child {
+     width: 100px;
+     white-space:nowrap; 
+}
+
+table#consolepass td {
+     padding: 5px 10px;
+     font-size: 9pt;
+}
+
+table#consolepass input {
+     margin: 5px;
+}
+
+table#consolepass td#pw_adduser {
+     padding: 5px 10px;
+     border-top: 1px solid #89f;
+}
+
+td#pw_adduser input {
+     margin: 5px 20px 5px 5px !important;
+}
+
+table#consolepass input[name="name"] {
+     margin-right: 20px;
+}
+
+/* end configui */
+
+.main#jardump {
+     overflow: auto;
+}
+
+#jardump table {
+     border-left: none;
+     border-right: none;
+     margin-top: -1px;
+     margin-bottom: -1px;
+     font-size: 8pt;
+}
+
+#jardump th {
+     padding: 5px;
+     font-size: 9pt;
+}
+
+#jardump td {
+     vertical-align: top;
+}
+
+.main#jardump th:nth-child(1), .main#jardump th:nth-child(3), .main#jardump th:nth-child(6), .main#jardump th:nth-child(7) {
+     text-align: left;
+}
+
+#jardump tt {
+     letter-spacing: -0.05em;
+}
+
+#jardump a tt {
+     color: #006 !important;
+}
+
+#jardump a:hover tt {
+     color: #f60 !important;
+}
+
+
+.main#netdb > .confignav {
+     margin-bottom: 15px;
+}
+
+#clientconfig th:first-child, #webappconfig th:first-child, #pluginconfig th:first-child {
+     text-align: right;
+}
+
+#clientconfig th:last-child, #webappconfig th:last-child, #pluginconfig th:last-child {
+     text-align: left;
+}
+
+table#netconfig {
+     line-height: 160%;
+}
+
+/* netdb */
+
+table.netdbentry th {
+     font-weight: normal;
+}
+
+table.netdbentry th:last-child {
+     text-align: right;
+     padding: 5px;
+     white-space: nowrap;
+     width: 50px;
+}
+
+.netdbentry th code, .sybil_routerinfo th code, .leaseset th code {
+     color: #030 !important;
+     border-radius: 3px;
+     padding: 1px 3px;
+     margin-left: 4px;
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono !important;
+}
+
+a.viewfullentry:not(old) {
+     font-size: 0;
+}
+
+a.viewfullentry::after {
+     content: url(/themes/console/images/buttons/fullview.png);
+}
+
+a.viewfullentry:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table.netdbentry th:first-child, table.netdbentry td:first-child  {
+     white-space: nowrap;
+     padding: 4px 6px !important;
+     text-align: left;
+}
+
+table.netdbentry td:first-child  {
+     width: 80px;
+}
+
+table.netdbentry td:nth-child(2) {
+     word-wrap: break-word;
+}
+
+.netdbentry img {
+     margin: 1px 0 0 0;
+}
+
+table#leasesetsummary {
+     margin-top: 15px;
+}
+
+#leasesetsummary td:first-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+table#leasesetdebug, table#leasesetsummary {
+     font-size: 9pt;
+}
+
+table#leasesetdebug td, table#leaseset td {
+     padding: 5px !important;
+}
+table#leasesetdebug {
+     margin-bottom: 10px; 
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+     font-weight: bold;
+     padding: 8px 5px;
+     text-align: left;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align: right;
+}
+
+table#leasesetdebug th:first-child, table#leasesetsummary th:first-child {
+     font-size: 10pt;
+}
+
+table#leasesetdebug th a, table#leasesetsummary th a {
+     font-size: 8pt;
+     text-transform: capitalize;
+     letter-spacing: normal;
+     word-spacing: normal;
+}
+
+table#leasesetdebug th a:not(old), table#leasesetsummary th a:not(old) {
+     font-size: 0;
+}
+
+table#leasesetdebug th a::after, table#leasesetsummary th a::after {
+     content: url(/themes/console/images/buttons/floodfill.png);
+}
+
+table#leasesetdebug th a:hover, table#leasesetsummary th a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table#leasesetdebug td:nth-child(odd) {
+     width: 200px;
+     white-space: nowrap;
+     text-align: right;
+     border-right: 1px inset #fff;
+}
+
+table#leasesetdebug td:nth-child(even) {
+     text-align: left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(2) {
+     width: 10px;
+}
+
+table.leaseset {
+     font-size: 9pt;
+     margin: 5px 0 10px;
+}
+
+table.leaseset:last-child {
+     margin-bottom: 5px;
+}
+
+.leaseset th {
+     font-weight: normal;
+     padding: 5px;
+     text-align: left;
+}
+
+.leaseset th:last-child, .leaseset td:nth-child(2) {
+     text-align: right;
+     padding-right: 5px;
+}
+
+.leaseset tr:nth-child(2) td:last-child a:not(old) {
+     font-size: 0;
+}
+
+.leaseset tr:nth-child(2) td:last-child a::after {
+     content: url(/themes/console/images/buttons/add_address.png);
+}
+
+.leaseset tr:nth-child(2) td:last-child a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+div#noleasesets {
+     border: 1px solid #89f;
+     padding: 20px;
+     font-weight: bold;
+     background: #eff1ff;
+     margin: 10px 0 7px;
+     text-align: center;
+}
+
+div#sybilnav, div#sybils_summary {
+     border: 1px solid #89f;
+     padding: 10px;
+     margin-bottom: 10px;
+     background: #fff;
+}
+
+div#sybilnav {
+     padding: 5px 5px 0;
+}
+
+#sybilnav ul li:first-child {
+     margin-top: -10px;
+}
+
+#sybilnav ul li:last-child {
+     margin-bottom: 0;
+}
+
+#sybilnav li a {
+     display: inline-block;
+     width: calc(100% - 34px);
+}
+
+table.sybil_routerinfo {
+     margin-bottom: 10px;
+}
+
+table.sybil_routerinfo:last-child {
+     margin-bottom: 5px;
+}
+
+.sybil_routerinfo th {
+     padding: 1px 1px 1px 6px !important;
+}
+
+table.sybil_routerinfo:first-of-type th {
+     padding: 6px !important;
+}
+
+.sybil_routerinfo th:first-child {
+     white-space: nowrap;
+     text-align: left;
+}
+
+.sybil_routerinfo th:nth-last-child(2) {
+     text-align: right !important;
+     padding-right: 0 !important;
+}
+
+.sybil_routerinfo th:last-child {
+     width: 20px;
+}
+
+.sybil_routerinfo td:first-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+.sybil_routerinfo img[width="32"] {
+     width: 24px;
+     height: 24px;
+}
+
+.main#netdb code, .main#netdb tt {
+     color: #03183f;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-weight: normal;
+}
+
+div#sybilnav {
+     background: #eff1ff;
+     -moz-columns: 4 200px; 
+     -webkit-columns: 4 200px;
+     columns: 4 200px;
+     padding: 10px 0 0 5px;
+}
+
+#sybilnav li {
+     border: 1px solid #ddf;
+     border-bottom: 2px solid #ccf;
+     list-style: none;
+     margin-bottom: 5px;
+     margin-left: -15px;
+     padding: 3px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #eef 100%);
+     border-radius: 2px 2px 0 0;
+     min-width: 170px;
+     box-sizing: border-box;
+     break-inside: avoid;
+     page-break-before: right;
+     -webkit-column-break-inside: avoid;
+}
+
+#sybilnav li:first-child {
+     margin-top: 10px !important;
+}
+
+#sybilnav ul li::before {
+     content: '\00A0\1F441\00A0';
+     font-size: 16pt;
+     line-height: 50%;
+     vertical-align: sub;
+}
+
+p.sybil_floodfill, p.family, p.threatpoints, p.hashdist {
+     border: 1px solid #89f;
+     padding: 5px 5px 5px 30px;
+     margin: 3px 0;
+     color: #33f;
+     font-weight: bold;
+     background: #ffe url(images/eye.png) 8px center no-repeat;
+     background: url(images/eye.png) 8px center no-repeat, linear-gradient(to right, #fff 0%, #dde1ff 70%);
+}
+
+p.family + p.family, p.sybil_floodfill + p.sybil_floodfill {
+     margin-top: -4px;
+}
+
+p.sybil_floodfill + a[name] + table.sybil_routerinfo, p.hashdist + a[name] + table.sybil_routerinfo  {
+     margin-top: 10px !important;
+}
+
+.threatpoints + a[name] + ul {
+     border: 1px solid #89f;
+     padding: 5px 5px 0;
+}
+
+.threatpoints + ul {
+     border: 1px solid #89f;
+     padding: 0 15px 0 30px;
+     margin: -4px 0 10px !important;
+     background: #eff1ff;
+}
+
+.threatpoints + ul li {
+     padding: 0;
+}
+
+.threatpoints + ul li:last-child {
+     margin-bottom: 6px;
+}
+
+p.notfound, p#sybil_totals {
+     padding: 15px;
+     border: 1px solid #89f;
+     background: #fff;
+}
+
+p:empty { /* empty paragraph nuke */
+     display: none;
+}
+
+/* end netdb */
+
+/* /stats */
+
+form#statnav {
+     border: 1px solid #89f !important;
+     padding: 10px 10px 10px 15px;
+}
+
+h3.stats {
+     border: 1px solid #89f;
+     border-radius: 0;
+}
+
+ul.statlist {
+     border: 1px solid #89f;
+     padding: 0 10px 0 0;
+     margin-left: 0 !important;
+     margin-bottom: -27px !important;
+     background: #eff1ff;
+}
+
+ul.statlist:last-of-type {
+     margin-bottom: -22px !important;
+}
+
+ul.statlist a[name], ul.statlist b, ul.statlist li b, ul.statlist a[name]:hover {
+     text-decoration: none;
+     letter-spacing: normal;
+     font-size: 9pt;
+     line-height: 120%;
+}
+
+.statlist ul + br {
+     display: none !important;
+}
+
+ul.statlist li b, ul.statlist b a:hover, h3.stats a:hover  {
+     color: #0c153d !important;
+}
+
+ul.statlist li::before {
+     content: "\1F6C8\00A0";
+     font-size: 14pt;
+     line-height: 60%;
+     vertical-align: baseline;
+     color: #0c153d;
+     filter: drop-shadow(0 1px 1px #999);
+     -webkit-filter: drop-shadow(0 1px 1px #aaa);
+}
+
+ul.statlist li {
+     margin-left: 5px;
+     padding: 2px;
+/*     line-height: 190% !important;*/
+     list-style: none;
+}
+
+ul.statlist li li {
+     margin-left: 16px;
+     margin-right: -20px;
+     margin-top: 2px;
+     line-height: 130% !important;
+     list-style: none;
+     padding: 2px 0;
+     border-top: 1px dotted #89f;
+     text-align: justify;
+}
+
+.statlist li li:first-child {
+     margin-top: 12px !important;
+     border-top: none;
+     padding-top: 2px;
+}
+
+ul.statlist li li::before {
+     content: "\279F\00A0";
+     vertical-align: baseline;
+     margin-left: 3px;
+}
+
+ul.statlist li li:last-child {
+     padding-bottom: 2px;
+     border: 1px dotted #89f;
+     background: #fff;
+     background: linear-gradient(to right, #fff 0%, #eef 70%, #ddf 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+ul.statlist li:last-child {
+     padding-bottom: 15px;
+     margin-top: 2px;
+}
+
+ul.statlist li:first-child {
+     margin-top: -5px;
+}
+
+ul.statlist li li:last-child::before {
+     content: "\27A1\00A0";
+     margin-left: 2px;
+     vertical-align: text-top;
+}
+
+.statlist a[href*="graph"] {
+     margin-top: 2px !important;
+}
+
+.statlist a[href*="graph"]::before {
+     content: "\1F5E0";
+     font-size: 16pt;
+     line-height: 60%;
+     font-weight: normal !important;
+     padding-bottom: 2px;
+}
+
+.statlist li a[href*="graph"]:first-of-type {
+     margin-left: -1px;
+}
+
+.statlist a[href*="graph"]::after {
+     content: "\00A0";
+}
+
+#gatherstats + form {
+     background: #fff;
+}
+
+.main#stats form {
+     border: 1px solid #89f;
+     padding: 10px;
+     margin: -13px 0 -11px;
+}
+
+h3.stats {
+     margin-bottom: 9px !important;
+}
+/* end stats */
+
+/* netdb (main section) */
+
+table#netdboverview {
+     margin: 15px 0 5px;
+     border: 1px solid #89f !important;
+}
+
+#netdboverview th {
+     padding: 5px;
+     font-size: 10pt;
+}
+
+#netdbtransports th:first-child, #netdbcountrylist th:first-child {
+     text-align: left;
+}
+
+#netdboverview td {
+     padding: 5px 5px 0;
+}
+
+#netdbversions td, #netdbtransports td, #netdbcountrylist td {
+     padding: 5px;
+}
+
+/* /help */
+
+div#volunteer, div#sidebarhelp, div#configurationhelp, div#reachabilityhelp, div#legal, div#changelog {
+     border: 1px solid #89f;
+     padding: 10px 15px 5px;
+     margin-bottom: 10px;
+     margin-top: 15px !important;
+     background: #eff1ff;
+}
+
+div#volunteer {
+     margin-top: -25px !important;
+     padding-bottom: 0 !important;
+}
+
+#volunteer ul li, #volunteer ul li:first-child {
+     padding: 2px 0 !important;
+}
+
+#sidebarhelp h2 {
+     margin-bottom: 0 !important;
+}
+
+div.main#help h2 {
+     margin: -16px -16px 0;
+}
+
+div.main#help h3 {
+     margin: -5px -16px 0;
+}
+
+.main#help p {
+     padding: 5px 0;
+     margin-top: 5px;
+}
+
+.main#help ul {
+     margin-bottom: 15px;
+     margin-top: -5px;
+     padding-left: 15px;
+}
+
+.main#help ul li:first-child {
+     padding-top: 0;
+     margin-top: 10px !important;
+}
+
+#help ul.links {
+     margin-left: 20px;
+     padding-top: 0;
+}
+
+ul#reachability {
+     padding-left: 15px;
+}
+
+div#changelog {
+     padding: 0;
+     margin-top: 0 !important;
+}
+
+#changelog h2 {
+     margin: -1px -1px 5px !important;
+}
+
+.main#help pre {
+     padding-left: 0;
+     padding-bottom: 20px;
+     margin: -5px 0 5px 10px;
+     width: 98%;
+     width: calc(100% - 10px);
+     height: 600px;
+     overflow: auto;
+}
+
+p#fullhistory {
+     text-align: right;
+     margin-bottom: -5px;
+     margin: -5px -1px -6px !important;
+     border: 1px solid #89f;
+     padding-right: 10px !important;
+     background: #fff;
+}
+
+.eventspanel br {
+     display: none;
+}
+
+.eventspanel h3 {
+     margin-top: 0;
+}
+
+.eventspanel form {
+     border: 1px solid #89f;
+     padding: 10px;
+     margin-top: -11px;
+     background: #fff;
+}
+
+.eventspanel th {
+     text-align: left;
+}
+
+#proof p {
+     margin: 0;
+     padding: 0;
+}
+
+#proof textarea, #proof textarea:focus {
+     border: none;
+     margin: 0;
+     padding: 15px 20px;
+     width: 100%;
+     box-shadow: none;
+     color: #333;
+     background: none;
+}
+
+#debug h2 + table {
+     margin-top: -11px;
+}
+
+#debug th {
+     text-align: left;
+}
+
+#debug tr {
+     border-bottom: 1px solid #89f;
+}
+
+#debug td {
+     padding: 2px 5px;
+}
+
+#debug ul {
+      line-height: 120%;
+}
+
+#debug li:first-child {
+     padding: 10px 0 0;
+}
+
+#debug li:last-child {
+     padding-bottom: 0;
+     margin-bottom: -9px;
+}
+
+#debug li {
+     padding-bottom: 0;
+     margin-left: -5px;
+     margin-bottom: -2px;
+}
+
+#certs p {
+     margin: 3px 0;
+     padding: 10px 5px;
+     border: 1px solid #89f;
+     background: #fff;
+}
+
+#certs h4 + p {
+     margin-top: -6px;
+     margin-bottom: 10px;
+}
+
+#advancedsettings h2 {
+     margin: 10px 0 0 !important;
+}
+
+#advancedsettings p.infohelp {
+     margin: -1px 0;
+}
+
+#advancedsettings td.infowarn {
+     padding: 10px 10px 10px 40px !important; 
+     border: 1px solid #89f;
+     background: #fffff5 url(/themes/console/images/info/infowarn.png) 10px center no-repeat !important;
+     background-size: 22px 22px !important;
+}
+
+#configinfo th {
+     text-align: left;
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     padding: 7px 10px;
+     color: #070;
+}
+
+#configinfo td {
+     text-align: justify;
+     padding: 5px 15px;
+     background: #eff1ff;
+}
+
+/* informational images */
+
+table#bugreports td.infohelp {
+     background: #fff url(/themes/console/images/info/bugreport.png) no-repeat 12px center;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#debugmode {
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/debug.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+p#sybilinfo {
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/experimental.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+p.infowarn {
+     border: 1px solid #89f;
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/infowarn.png) 10px center no-repeat;
+     line-height: 130%;
+}
+
+.infowarn#tunnelconfig {
+     margin-top: 15px;
+}
+
+#bandwidthconfig tr:first-child .infohelp {
+     background: #fff url(/themes/console/images/info/bandwidth.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#addkeyring td.infohelp {
+     background: #fff url(/themes/console/images/info/keys.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#joinfamily tr:nth-child(3) td:first-child {
+     background: #fff url(/themes/console/images/info/key.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#newfamily tr:last-child td:first-child {
+     background: #fff url(/themes/console/images/info/label.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#oldhome td:first-child {
+     background: #fff url(/themes/console/images/info/home.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#floodfillconfig .infohelp {
+     background: #fff url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#clientconf.infohelp, p#webappconfigtext.infohelp {
+     background: #fff url(/themes/console/images/info/java_edit.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#pluginconfigtext {
+     background: #fff url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#plugininstall .infohelp {
+     background: #fff url(/themes/console/images/info/plugin_link.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2) {
+     background: #fff url(/themes/console/images/info/url.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#manualreseed tr:nth-child(5) td:nth-last-child(2), #plugininstall tr:nth-child(5) td:nth-last-child(2) {
+     background: #fff url(/themes/console/images/info/from_file.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#manualreseed tr:nth-last-child(2) td.infohelp {
+     background: #fff url(/themes/console/images/info/box.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#config_peers tr:nth-child(3) td.infohelp {
+     background: #fff url(/themes/console/images/info/blocked.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#shutdownrouter + p.infohelp {
+     background: #fff url(/themes/console/images/info/power.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#restartrouter + p.infohelp {
+     background: #fff url(/themes/console/images/info/reboot.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#systray + p.infohelp {
+     background: #fff url(/themes/console/images/info/systray.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#servicedebug + p.infohelp {
+     background: #fff url(/themes/console/images/info/debug.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#browseronstart + p.infohelp {
+     background: #fff url(/themes/console/images/info/launch_browser.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+.main#config_reseed p.infohelp {
+     background: #fff url(/themes/console/images/info/connect.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#enablefullstats, p#gatherstats {
+     background: #fff url(/themes/console/images/info/statistics.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#config_family .infohelp {
+      background: #fff url(/themes/console/images/info/family.png) 12px center no-repeat;
+      padding: 15px 15px 15px 50px;
+      background-size: 28px 28px;
+      margin-bottom: -1px !important;
+}
+/* end informational images */
+
+/* buttons */
+
+input[type="submit"], input[type="reset"], button {
+     border: 1px solid #999;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     color: #333;
+     margin: 3px 8px 3px 0;
+     font: 9pt "Droid Sans", Ubuntu, "Noto Sans", "Segoe UI", "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     padding: 4px 5px;
+     text-decoration: none;
+     border-radius: 2px;
+     opacity: 1;
+     background-size: 14px auto, 100% 100% !important;
+     filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+}
+
+button:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     border: 1px solid #f60;
+     color: #222;
+     filter: saturate(100%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(100%) drop-shadow(0 0 1px #ccc);
 }
 
-table code {
-     font-size: 120%;
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     box-shadow: inset 2px 2px 2px #555;
+     background-blend-mode: luminosity;
 }
 
-th {
-     background-color: #fff;
-     padding: 8px 2px;
-     text-align: center;
-     border-bottom: 1px solid #89f;
+input.accept, button.accept {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-/* begin home page */
+input.accept:hover, button.accept:hover, 
+input.accept:focus, button.accept:focus {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
 
-/*
-#appsummary {
-     clear: none;
-     float: none;
-     left: 10px;
-     margin: 0;
-     position: absolute;
-     top: 10px;
+input.accept[value^="Unban"], button.accept[value^="Unban"] {
+     background: url(/themes/console/images/buttons/unban.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-#homemain {
-     left: 217px;
-     margin: 0 10px 10px 0;
-     position: absolute;
-     text-align: center;
-     top: 10px;
+input.accept[value^="Unban"]:hover, button.accept[value^="Unban"]:hover, 
+input.accept[value^="Unban"]:focus, button.accept[value^="Unban"]:focus {
+     background: url(/themes/console/images/buttons/unban.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-#homenews {
-     margin: 0 10px 5px 0;
+input.accept[value^="Create"], button.accept[value^="Create"] {
+     background: url(/themes/console/images/buttons/create.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-h2.app {
-     border-radius: 8px;
-     margin: 1px 10px 15px 0 !important;
+input.accept[value^="Create"]:hover, button.accept[value^="Create"]:hover,
+input.accept[value^="Create"]:focus, button.accept[value^="Create"]:focus {
+     background: url(/themes/console/images/buttons/create.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
-*/
 
-h4.app, h4.app2 {
-     margin: 0 10px 5px 10px;
-     padding: 10px 0 8px 0;
-     font-size: 12pt;
-     padding: 6px 10px 8px;
-     border: 1px solid #89f;
-     letter-spacing: 0.04em;
-     background: #fff;
-     text-transform: uppercase;
-     text-shadow: 0px 1px 1px #99f;
-     background: url('images/tinytitle.png') center center repeat-x;
+input.accept[value^="Filter"], button.accept[value^="Filter"] {
+     background: url(/themes/console/images/buttons/filter.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-h4.app2 {
-     clear: left;
-     margin-top: 5px !important;
+input.accept[value^="Filter"]:hover, button.accept[value^="Filter"]:hover,
+input.accept[value^="Filter"]:focus, button.accept[value^="Filter"]:focus {
+     background: url(/themes/console/images/buttons/filter.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.ag2 {
-     margin: 0 -10px -5px;
+input.add, button.add {
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.app {
-     float: left;
-     padding: 2px;
-     min-width: 60px;
-     text-align: center !important;
-     border: none;
-     margin: 0 2px 2px;
+input.add:hover, button.add:hover,
+input.add:focus, button.add:focus {
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.app:last-child {
-     margin-bottom: 10px;
+input.add[value^="Adjust"], button.add[value^="Adjust"] {
+     background: url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.app a:link, div.app a:visited, div.app a:hover, div.app a:active {
-     text-decoration: none;
+input.add[value^="Adjust"]:hover, button.add[value^="Adjust"]:hover,
+input.add[value^="Adjust"]:focus, button.add[value^="Adjust"]:focus {
+     background: url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.appgroup {
-     margin: 0;
-     padding: 0 8px;
-     width: auto;
+input.cancel, button.cancel {
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.search {
-     margin: 10px 10px 0 0;
-     padding: 8px 8px 0 8px;
-     width: auto;
+input.cancel:hover, button.cancel:hover,
+input.cancel:focus, button.cancel:focus {
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-table.search {
-     background: none;
-     margin-left:auto;
-     margin-right:auto;
-     padding: 8px;
-     width: auto;
+input.accept[value^="Show"], button.accept[value^="Show"],
+input.check[value^="View"], button.check[value^="View"] {
+     background: url(/themes/console/images/buttons/show.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-img.app {
-     height: 32px;
-     width: 32px;
-     padding: 5px 15px;
+input.accept[value^="Show"]:hover, button.accept[value^="Show"]:hover,
+input.check[value^="View"]:hover, button.check[value^="View"]:hover,
+input.accept[value^="Show"]:focus, button.accept[value^="Show"]:focus,
+input.check[value^="View"]:focus, button.check[value^="View"]:focus {
+     background: url(/themes/console/images/buttons/show.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
 }
 
-img.app2 {
-     height: 40px;
-     padding: 3px 6px 0 6px;
+input.cancel[value^="Hide"], button.cancel[value^="Hide"],
+input.delete[value^="Do not view"], button.delete[value^="Do not view"] {
+     background: url(/themes/console/images/buttons/hide.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-.app table {
-     background: none;
-     border: 0;
-     margin: auto;
-     width: auto;
+input.cancel[value^="Hide"]:hover, button.cancel[value^="Hide"]:hover,
+input.delete[value^="Do not view"]:hover, button.delete[value^="Do not view"]:hover,
+input.cancel[value^="Hide"]:focus, button.cancel[value^="Hide"]:focus,
+input.delete[value^="Do not view"]:focus, button.delete[value^="Do not view"]:focus {
+     background: url(/themes/console/images/buttons/hide.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.app tr {
-     background: none;
-     border: 0;
-     margin: 0;
+input.check, button.check {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-.app td {
-     background: none;
-     border: 0;
-     margin: 0;
-     padding: 0;
+input.check:hover, button.check:hover,
+input.check:focus, button.check:focus {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.applabel {
-     background: url('images/tinytitle.png') center center repeat-x;
-     -moz-border-radius: 3px;
-     -khtml-border-radius: 3px;
-     border-radius: 3px;
-     font-size: 9pt;
-     margin: 0;
-     padding: 4px;
-     text-align: center;
-     min-width: 60px;
-     line-height: 110%;
-     text-transform: lowercase;
-     font-size: 8pt;
-     border: 1px solid #89f;
-     box-shadow: 0 1px 1px #bbb;
+input.check[value$="updates"], button.check[value$="updates"] {
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.applabel:hover {
-     box-shadow: none;
+input.check[value$="updates"]:hover, button.check[value$="updates"]:hover,
+input.check[value$="updates"]:focus, button.check[value$="updates"]:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-/* end home page */
+input.delete, button.delete {
+     background: url(/themes/console/images/buttons/delete.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
 
-tt {
-     font-size: 8pt;
+input.delete:hover, button.delete:hover,
+input.delete:focus, button.delete:focus {
+     background: url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-tt, pre {
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+input.delete[value^="Ban"], button.delete[value^="Ban"] {
+     background: url(/themes/console/images/buttons/ban.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-td {
-     padding: 4px;
+input.delete[value^="Ban"]:hover, button.delete[value^="Ban"]:hover,
+input.delete[value^="Ban"]:focus, button.delete[value^="Ban"]:focus {
+     background: url(/themes/console/images/buttons/ban.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-tr:nth-child(even) {
-     background: #fff url(../light/images/magic.png);
+input.download, button.download {
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-tr:nth-child(odd) {
-     background: #eef url(../light/images/magic.png);
+input.download:hover, button.download:hover,
+input.download:focus, button.download:focus {
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-hr {
-     color: #89f;
-     background: #89f;
-     height: 2px;
-     border: 0px solid #89f;
-     margin: 3px 0;
+input.download[value^="Join"], button.download[value^="Join"] {
+     background: url(/themes/console/images/buttons/users.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+} 
+
+input.download[value^="Join"]:hover, button.download[value^="Join"]:hover,
+input.download[value^="Join"]:focus, button.download[value^="Join"]:focus {
+     background: url(/themes/console/images/buttons/users.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.statusnotes {
-     font-style: italic;
-     font-size: 8pt;
-     color: #001;
-     text-align: center;
-     margin: -8px 0 7px 0;
-     background: #fff;
-     border: 1px solid #89f !important;
-     border-top: 0;
-     padding: 4px 0 2px 0;
-     background-image: url("images/tinytitle.png") !important;
-     background-repeat: repeat-x;
-     background-position: center right;
+input.download[value$="from File"], button.download[value$="from File"],
+input.download[value$="from file"], button.download[value$="from file"] {
+     background: url(/themes/console/images/buttons/from-file.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog {
-     margin: 10px 0;
-     line-height: 130% !important;
+input.download[value$="from File"]:hover, button.download[value$="from File"]:hover,
+input.download[value$="from file"]:hover, button.download[value$="from file"]:hover,
+input.download[value$="from File"]:focus, button.download[value$="from File"]:focus,
+input.download[value$="from file"]:focus, button.download[value$="from file"]:focus {
+     background: url(/themes/console/images/buttons/from-file.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog:li {
-     word-wrap: break-word !important;
-     line-height: 80% !important;
+input.download[value^="Dump"], button.download[value^="Dump"] {
+     background: url(/themes/console/images/buttons/dump-threads.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog:ul {
-     word-wrap: break-word !important;
-     text-align: justify;
+input.download[value^="Dump"]:hover, button.download[value^="Dump"]:hover,
+input.download[value^="Dump"]:focus, button.download[value^="Dump"]:focus {
+     background: url(/themes/console/images/buttons/dump-threads.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog li:first-child {
-     margin-top: -10px;
+input.go, button.go, input[value="GO"] {
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog li:last-child {
-     margin-bottom: -10px;
+input.go:hover, button.go:hover, input[value="GO"]:hover,
+input.go:focus, button.go:focus, input[value="GO"]:focus {
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog form:first-child {
-     margin-top: 10px;
+input.go[value^="Create"], button.go[value^="Create"] {
+     background: url(/themes/console/images/buttons/create-file.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog table {
-     margin-top: 15px;
+input.go[value^="Create"]:hover, button.go[value^="Create"]:hover,
+input.go[value^="Create"]:focus, button.go[value^="Create"]:focus {
+     background: url(/themes/console/images/buttons/create-file.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog p {
-     line-height: 130%;
+input.reload, button.reload {
+     background: url(/themes/console/images/buttons/restore.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog h3 {
-     margin: 10px 0 20px 0;
+input.reload:hover, button.reload:hover,
+input.reload:focus, button.reload:focus {
+     background: url(/themes/console/images/buttons/restore_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog h3:first-child {
-     margin: -10px 0 15px 0;
+input.reload[value$="restart"], button.reload[value$="restart"] {
+     background: url(/themes/console/images/buttons/restart.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-div.joblog hr {
-     margin: 15px 0 15px;
+input.reload[value$="restart"]:hover, button.reload[value$="restart"]:hover,
+input.reload[value$="restart"]:focus, button.reload[value$="restart"]:focus {
+     background: url(/themes/console/images/buttons/restart_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-div.joblog ol {
-     margin-bottom: 0px;
+input.reload[value^="Update"], button.reload[value^="Update"] {
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-input {
-     margin: 3px 5px 3px 0;
-     vertical-align: middle;
+input.reload[value^="Update"]:hover, button.reload[value^="Update"]:hover,
+input.reload[value^="Update"]:focus, button.reload[value^="Update"]:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-input[type=text], input[type=password] {
-     margin: 3px 5px 3px 5px;
-     vertical-align: middle;
+input.reload[value="Force GC"], button.reload[value="Force GC"] {
+     background: url(/themes/console/images/buttons/clean.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
-select {
-     margin: 3px 5px 3px 5px;
-     vertical-align: middle;
+
+input.reload[value="Force GC"]:hover, button.reload[value="Force GC"]:hover,
+input.reload[value="Force GC"]:focus, button.reload[value="Force GC"]:focus {
+     background: url(/themes/console/images/buttons/clean_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-submit {
-     margin: 3px 5px 3px 5px;
-     padding 2px 0;
-     font: 8pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+input.stop, button.stop {
+     background: url(/themes/console/images/buttons/shutdown.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
 }
 
-p {
-     padding: 5px 20px 0px 20px;
-     text-align: justify;
+input.stop:hover, button.stop:hover,
+input.stop:focus, button.stop:focus {
+     background: url(/themes/console/images/buttons/shutdown_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-p img:first-child {
-     display: none;     
+/* client config buttons aka project "X" */
+
+button.Xaccept {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-.formaction {
-     text-align: right;
-     margin: -10px -5px;
+button.Xaccept:hover, button.Xaccept:focus {
+     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.langbox {
-     margin: 5px 5px 0 5px;
-     color: #001;
-     font-size: 7pt;
-     width: 330px;
-     text-align: right;
-     float: right;
-     valign: middle;
+button.Xstop {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-/* opera targetted hack */
-x:-o-prefocus, .langbox img {
-     margin-bottom: 2px;
-     margin-top: 2px;
+button.Xstop:hover, button.Xstop:focus {
+     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.langbox img {
-     padding: 0 2px; /* Ignored by IE8 */
+button.Xadd {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-.links {
-     padding-bottom: -2px;
-     text-align: justify;
-     margin-top: 5px !important;
+button.Xadd:hover, button.Xadd:focus {
+     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.links li {
-     list-style-image: url("images/link.png") !important;
-     padding: 5px 10px 0 !important;
+button.Xdelete {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-.links li:first-child {
-     padding: 14px 10px 5px !important;
+button.Xdelete:hover, button.Xdelete:focus {
+     background: url(/themes/console/images/buttons/delete_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-.links li:last-child {
-     margin-bottom: 0px !important;
-     margin-top: 0px;
+button.Xcheck {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/update.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-.links b {
-     font-size: 10pt;
-     line-height: 150%;
-     letter-spacing: 0.02em;
+button.Xcheck:hover, button.Xcheck:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-a:link {
-     color: #006;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
+button.Xdownload {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-a:visited {
-     color: #448;
-     text-decoration: none;
-     font-weight: bold;
+button.Xdownload:hover, button.Xdownload:focus {
+     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-a:hover {
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
+button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
 }
 
-a:active {
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
+/* end project "X" */
+
+/* sidebar buttons */
+
+.routersummary button {
+     margin: 0 1px -3px;
+     min-width: 87px;
 }
 
-pre {
-     font-size: 9pt;
-     margin: 0px 20px;
+.routersummary .reload, .routersummary .stop {
+     text-indent: -99999px;
+     background-size: 16px 16px, 100% 100% !important;
 }
 
-tt {
-     font-size: 9pt;
-     font-weight: bold;
-     color: darkgreen;
+.routersummary .reload {
+     background: url(/themes/console/images/buttons/restart.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%) !important;
 }
 
-.tablefooter {
-     border: 1px solid #a8f;
+.routersummary .reload:hover, .routersummary .reload:focus {
+     background: url(/themes/console/images/buttons/restart_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     border: 1px solid #f60;
 }
 
-.tablefooter tr, .tablefooter td {
-     background: #fff;
-     background-image: url("images/tinytitle.png") !important;
-     background-repeat: repeat-x;
-     background-position: center right;
-     font-size: 8pt;
-     font-weight: bold;
-     line-height: 150%;
-     word-wrap: nowrap;
-     padding: 8px 1px;
-     border-top: 2px solid #89f;
+.routersummary .reload:active, .routersummary .stop:active, .routersummary .download:active {
+     box-shadow: inset 2px 2px 2px #555;
 }
 
-.tidylist {
-     text-align: justify;
-     padding-right: 25px;
-     margin-right: 15px !important;
-     margin-left: 15px;
+.routersummary .stop {
+     background: url(/themes/console/images/buttons/shutdown.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
 }
 
-.tidylist code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #723;
-     padding: 2px 3px;
-/*     background: #fff;*/
-     font-weight: bold;
+.routersummary .stop:hover, .routersummary .stop:focus {
+     background: url(/themes/console/images/buttons/shutdown_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     border: 1px solid #f60;
 }
 
-div.graphspanel {
-     padding: 10px 5px 20px 5px;
-     margin: -16px -16px -11px -16px;
-/*     border: 1px solid #89f;*/
-     text-align: center !important;
+.routersummary .download {
+     background: url(/themes/console/images/buttons/download.png) 3px center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;
+     padding: 5px 3px 5px 17px !important;
+/*     margin-top: -4px;*/
 }
 
-div.graphspanel img {
-     border: 1px solid #77f;
-     padding: 2px;
-     margin: 6px;
-     background: #ccf;
-     -moz-box-shadow: inset 0px 0px 0px 0px #002;
-     opacity: 0.9;
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.routersummary .download, .routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     padding-left: 19px !important;
+}
 }
 
-div.graphspanel img:hover {
-     border: 1px solid #89f;
-     padding: 2px;
-     margin: 6px;
-     text-align: center !important;
-     background: #001;
-     -moz-box-shadow: inset 0px 0px 2px 1px #f60;
-     opacity: 1;
+.routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     background: url(/themes/console/images/buttons/download.png) 3px center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 16px 16px, 100% 100% !important;
+     padding: 5px 3px 5px 17px !important;     
+     border: 1px solid #f60;
 }
 
-div.graphspanel hr {
-     margin: 10px 0;
+/* end sidebar buttons */
+
+/* end buttons */
+
+
+/* login inputs */
+
+#consolepass input[name="name"], #externali2cp input[name="user"] {
+     background: #fff url(/themes/console/images/buttons/user.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px !important;
 }
 
-div.graphspanel form:last-child {
-     text-align: left;
-     margin: 0 20px;
+#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"] {
+     background: #fff url(/themes/console/images/buttons/password.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px !important;
 }
 
-div.graphspanel h3 {
-     text-align: left;
-     margin: 10px 20px 10px 20px;
+
+/* responsive layout */
+
+@media screen and (min-width: 1500px) {
+body, .main, .main td, .news p, #news p, .tab, .tab2, .main li b, div.joblog li, .themelabel, .ui_lang, .applabel a, 
+#peerdefs, #profile_defs, #thresholds, #configinfo, .infohelp, .infowarn, button, input, select, textarea {
+     font-size: 10pt !important;
 }
 
-div.footnote {
-     text-align: right;
-     color: #339;
-     font-size: 7pt;
-     margin-bottom: -4px !Important;
+.routersummary td, .routersummary a, .routersummary button, .routersummary h4, .routersummary h4 a,
+code, tt, div.news {
+     font-size: 9pt !important;
 }
 
-div.footnote hr{
-     margin: 10px 0 5px 0 !important;
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0px solid #99f;
+.main, .news, h1 {
+     margin-left: 232px !important;
 }
 
-button.search {
-     background: #ffe url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.routersummary {
+     width: 225px !important;
 }
 
-input.search[type="text"] {
-     background: #ffe url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+.routersummary div[style="height: 36px;"] {
 }
-+
-.topness {
-     font-size: 7.5pt;
-     text-align: right;
-     margin-top: -8px;
-     margin-bottom: -5px;
-     margin-right: 5px;
+
+.routersummary img[src$="i2plogo.png"] {
+     transform: scale(1.1);
 }
 
-/* Fixes for when app is not started and console error loads inside iframe */
+.routersummary table[id^="sb_"] {
+     width: 226px !important;
+}
 
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
+.routersummary h3 a {
+     font-size: 11pt !important;
 }
 
-.iframed div.routersummaryouter {
-     display: none !important;
+.routersummary button[type="submit"] {
+     min-width: 100px;
+     margin: 2px 4px 1px;
 }
 
-.iframed h1 {
-     margin: 0 1px 0 0 !important;
+div.app {
+     width: 154px;
 }
 
-.iframed div.sorry {
-     margin: -1px 1px 0 0 !important;
+.applabel {
+     width: 150px !important;
 }
 
-/* end iframed console fixes */
+.footnote {
+     font-size: 8pt !important;
+}
+}
diff --git a/installer/resources/themes/console/classic/console_big.css b/installer/resources/themes/console/classic/console_big.css
index 0bb0fc0f892d67e5deefcad6a96b747efa34e9e3..f1af8d59b90f472545586f84db30c9a148f2d3bb 100644
--- a/installer/resources/themes/console/classic/console_big.css
+++ b/installer/resources/themes/console/classic/console_big.css
@@ -2,37 +2,68 @@
 /* I2P Description: Larger fontsize override for console to accomodate foreign charactersets */
 /* Author: Dr|Z3d */
 
+* {
+     text-shadow: none !important;
+     font-weight: normal !important;
+     font-size: 12pt !important;
+     letter-spacing: normal !important;
+     word-spacing: normal !important;
+     line-height: 115% !important;
+}
 
-/* sidepanel */
+input[type="submit"], input[type="cancel"], input[type="file"], button {
+     font-size: 14pt !important;
+}
 
-div.routersummary {
-     font: 9.5pt/125%;
+.routersummary button {
+     min-width: 100px !important;
 }
 
-div.routersummary h3 {
-     font-size: 12.5pt;
+/* sidepanel */
+
+div.routersummary h3, .routersummary h3 a  {
+     font-size: 14pt !important;
 }
 
-div.routersummary h4 {
-     font-size: 11.5pt;
+div.routersummary h4, .routersummary h4 a {
+     font-size: 14pt !important;
      letter-spacing: 0;
 }
 
 div.routersummary table {
-     font-size: 9pt;
+     font-size: 12pt;
+}
+
+div.routersummary {
+     width: 220px;
+}
+
+div.routersummary table {
+     width: 219px !important;
+}
+
+.routersummary #bandwidth td:first-child {
+     width: 20px !important;
+     white-space: nowrap;
+}
+
+.routersummary #bandwidth td:last-child {
+     width: 80% !important;
 }
 
 div.routersummary table a:link, div.routersummary table a:visited {
-     font-size: 10.5pt;
+     font-size: 12pt;
+     font-weight: normal;
+     text-shadow: none;
 }
 
-div.routersummary a {
-     word-spacing: 0em !important;
-     letter-spacing: 0.2em !important;
+.routersummary a img:first-child {
+     transform: scale(1.2);
+     -webkit-transform: scale(1.2);
 }
 
 div.tunnels a {
-     font-size: 9pt !important;
+     font-size: 12pt !important;
 }
 
 div.tunnels table {
@@ -56,22 +87,42 @@ a, b, div.routersummary h3 a, div.routersummary h4 {
     font-size: 100%;
 }
 
-b, a, input, button, submit, i, th, thead, tfoot, h1, h2, h3, h4{
+b, a, input, button, submit, i, th, thead, tfoot, h1, h2, h3, h4, .messages {
      font-weight: normal !important;
      font-style: normal !important;
-     -moz-text-shadow: 0 0 0;
-     -khtml-text-shadow: 0 0 0;
-     text-shadow: 0 0 0;
+     text-shadow: none;
 }
 
-body {
-     font: 10pt Verdana, "Bitstream Vera Sans", Helvetica, Sans, sans-serif;
+body, .main {
+     font: 12pt "Droid Sans", Verdana, "Bitstream Vera Sans", Helvetica, Sans, sans-serif;
 }
 
 div.main, div.main p, div.news p {
      line-height: 140%;
 }
 
+div.main, div.news, h1 {
+     margin-left: 226px;
+}
+
+h1 {
+     font-size: 18pt !important;
+     padding: 16px 20px;
+}
+
+h2 {
+     font-size: 17pt !important;
+}
+
+h3, .configtable th {
+     font-size: 16pt !important;
+}
+
+.langbox {
+     width: 400px;
+     margin-top: 2px;
+}
+
 div.joblog li i {
      font-weight: normaL;
 }
@@ -83,4 +134,26 @@ b, div.joblog b {
 
 table code {
      font-size: 120%;
+}
+
+.confignav a, .tab, .tab2 {
+     font-size: 16pt !important;
+     font-weight: normal;
+}
+
+.themelabel, .ui_lang {
+     font-size: 12pt !important;
+     font-weight: normal !important;
+     overflow: hidden;
+     text-overflow: hidden;
+     margin-bottom: -2px;
+     padding-bottom: 4px !important;
+}
+
+div.themechoice, div.langselect {
+     width: 128px;
+}
+
+.tab2::before, .tab2::after {
+     font-size: 16pt;
 }
\ No newline at end of file
diff --git a/installer/resources/themes/console/classic/default.css b/installer/resources/themes/console/classic/default.css
deleted file mode 100644
index 621f9be2d26d69d472f12db70c022076726c9231..0000000000000000000000000000000000000000
--- a/installer/resources/themes/console/classic/default.css
+++ /dev/null
@@ -1,219 +0,0 @@
-body {
-     margin: 0px;
-     padding: 0px;
-     text-align: center;
-     font: 10pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #bbf;
-     color: #000;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
-     padding-top: 5px;
-}
-
-div {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-h4, label {
-     margin: 0px;
-     padding: 2px;
-     float: left;
-     width: 150px;
-     height: 24px;
-     font-weight: normal;
-     text-align: right;
-     font-size: 8.5pt;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-h4 {
-     font-size: 10.5pt;
-     text-align: left !important;
-     font-weight: bold;
-     border: 1px solid #77f;
-     border-top: 2px solid #77f;
-     margin: -6px 0 5px -10px !important;
-     padding: 5px 10px 25px 10px;
-     background: #fff;
-     text-shadow: 0px 0px 1px rgba(32, 32, 192, 0.3);
-     text-transform: uppercase;
-     white-space: nowrap;
-     width: 782px;
-     letter-spacing: 0.09em;
-     background: #fff url("/themes/console/classic/images/titlebg.png") no-repeat right center !important;
-}
-
-label {
-     font-style: italic;
-     margin: 0 3px 0 -3px;
-}
-
-a {
-     text-decoration: none;
-}
-
-form {
-     margin: 0px;
-}
-
-textarea, input, select, button, a {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-     font: 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     float: left;
-     margin: 2px 0 5px 0;
-}
-
-button {
-     float: none;
-     height: 20px !important;
-}
-
-textarea {
-     border: 1px solid #aaf;
-     min-height: 40px;
-}
-
-br {
-     clear: left;
-}
-
-div.statusNotRunning {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #d00;
-}
-
-div.statusRunning {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #0d0;
-}
-
-div.statusStarting {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #393;
-}
-
-hr {
-     display: none;
-}
-
-.separator, .subdivider {
-     clear: both;
-     height: 1px;
-     margin: 5px -8px 5px -8px;
-     border-bottom: 1px solid #aaf;
-}
-
-.subdivider {
-     border-bottom: 1px dotted #aaf;
-     margin: 0 0 10px 0;
-}
-
-.freetext {
-     width: 150px;
-     height: 22px;
-     border: 1px solid #aaf;
-}
-
-.control {
-     margin: 2px;
-     padding: 1px 2px 2px 2px;
-     overflow: hidden;
-     height: 20px;
-     width: 60px;
-     font-weight: bold;
-     background: #ddd;
-     color: #000;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     vertical-align: middle;
-     white-space: nowrap;
-}
-
-.control:hover {
-     background: #229;
-     color: #fff;
-}
-
-.control:active {
-     border: 2px inset;
-}
-
-.panel {
-     width: 790px;
-     margin: 16px auto 16px auto;
-     padding: 5px 10px;
-     overflow: hidden;
-     text-align: left;
-     font-size: 8pt;
-     background: #eef;
-     border: 4px solid #77f;
-     -moz-box-shadow: inset 0px 0px 0px 1px #99f;
-}
-
-.iframed .panel {
-     margin: 16px auto -8px auto !important;
-}
-
-.iframed .panel.iframed {
-     margin: 0 auto -8px auto !important;
-}
-
-.panel .footer {
-
-     padding: 4px;
-}
-
-.toolbox {
-     width: 100%;
-}
-
-.rowItem {
-     width: 750px;
-     float: left;
-     margin: 0px;
-}
-
-.comment {
-     font-style: italic;
-     white-space: nowrap;
-}
-
-.text {
-     height: 24px;
-     width: 150px;
-     padding: 2px 0 0 2px;
-     float: left;
-     margin: 0;
-     font-weight: bold;
-}
-
-.accessKey {
-     text-decoration: underline;
-}
-
-#globalOperationsPanel {
-     background: #eef;
-     border: 4px solid #77f;
-     -moz-box-shadow: inset 0px 0px 0px 1px #900;
-     padding: 5px 5px 10px 5px;
-     text-align: right;
-}
-
-#globalOperationsPanel .control {
-     width: 100px !important;
-     margin-top: 3px;
-     float: right;
-}
diff --git a/installer/resources/themes/console/classic/i2ptunnel.css b/installer/resources/themes/console/classic/i2ptunnel.css
index 95df82e44f7fcdab84224c8ce423625760c8eea5..5d3f038a8f6fbba6ac5afeb6c990414010d0370a 100644
--- a/installer/resources/themes/console/classic/i2ptunnel.css
+++ b/installer/resources/themes/console/classic/i2ptunnel.css
@@ -1,179 +1,834 @@
-/* I2P Tunnel Edit Page
+/* I2PTunnel Manager Theme "Classic" */
+/* Author: dr|z3d */
+
+body {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     color: #333;
+     font-size: 10pt;
+     background: #a4a4cb url('images/tile2.png');
+     background-size: 32px 32px;
+}
+
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+div {
+     -moz-box-sizing: border-box;
+     -webkit-box-sizing: border-box;
+     box-sizing: border-box;
+}
+
+a {
+     text-decoration: none;
+}
+
+form {
+     margin: 0;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     vertical-align: middle;
+     min-width: 16px;
+     min-height: 16px;
+     margin: 0;
+}
+
+textarea, input, select, button {
+     font-size: 9pt;
+     vertical-align: middle;
+}
+
+button {
+     text-decoration: none;
+}
+
+button, input[type="submit"], input[type="reset"], a.control {
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-size: 9pt;
+}
+
+textarea {
+     color: #333;
+     background: #fff;
+     border: 1px solid #999;
+     border-radius: 2px;
+     resize: none;
+     box-shadow: inset 2px 2px 1px #ccc;
+}
+
+textarea:focus {
+     box-shadow: inset 0 0 0 1px #89f;
+     color: #111;
+}
+
+textarea#statusMessages {
+     width: 99%;
+     width: calc(100% - 8px);
+     border-radius: 0;
+     padding: 2px 4px;
+     color: #070;
+     box-shadow: none;
+     border: none;
+     margin: 0;
+}
+
+br {
+     clear: left;
+}
+
+div.statusNotRunning {
+     width: 100%;
+     height: 16px;
+     overflow: hidden;
+     color: #d00;
+     background: url('images/console_status_stopped.png') center center no-repeat;
+     padding-top: 24px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div.statusRunning {
+     width: 100%;
+     height: 16px;
+     overflow: hidden;
+     color: #0b0;
+     background: url('images/console_status_running.png') center center no-repeat;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div.statusStarting {
+     float: left;
+     width: 100%;
+     height: 16px;
+     overflow: hidden;
+     color: #339933;
+     background: url('images/console_status_starting.png') center center no-repeat;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div[class^="status"] {
+     float: none;
+     font-size: 0 !important;
+     background-position: center center;
+     text-align: center;
+     margin: 0;
+     padding: 0;
+     width: 100%;
+     background-size: auto 16px;
+     height: 16px;
+}
+
+hr {
+     display: none;
+}
+
+.freetext {
+     width: 150px; 
+     border: 1px solid #999;
+     padding: 4px;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     background: #fff;
+     color: #333;
+     border-radius: 2px;
+     box-shadow: inset 2px 2px 1px #ccc;
+}
+
+.freetext:focus {
+     box-shadow: 0 0 1px #89f;
+     color: #111;
+}
+
+.freetext[readonly], .freetext[readonly]:focus {
+     background: #ddd;
+     box-shadow: inset 2px 2px 1px #ccc;
+     color: #333;
+}
+
+#clientHost {
+     width: 300px;
+}
+
+#clientPort {
+     width: 100px;
+}
+
+.control, .control:link, .control:visited {
+     overflow: hidden;
+     min-width: 60px;
+     margin: 2px 4px !important;
+     padding: 4px 3px;
+     text-align: center;
+     white-space: nowrap;
+     text-decoration: none;
+     font-style: normal;
+     font-weight: normal;
+     color: #333;
+     border: 1px solid #999;
+     border-radius: 2px;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #ccc);
+/*     -webkit-filter: drop-shadow(0 0 1px #ccc); */
+}
+
+.control:hover, .control:focus {
+     text-decoration: none;
+     color: #111;
+     border: 1px solid #f60 !important;
+     background: #ddd;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     box-shadow: inset 0 0 0 1px #fff !important;
+}
+
+.control:active {
+     box-shadow: inset 2px 2px 1px #999 !important;
+}
+
+.iframed .panel.iframed {
+     margin: 0 auto -8px auto !important;
+}
+
+.panel {
+     width: calc(100% - 14px);
+     margin: 8px auto;
+     min-width: 450px;
+     max-width: 1400px;
+     overflow: hidden;
+     text-align: left !important;
+     border-radius: 2px;
+     padding: 0 10px 10px;
+     box-shadow: inset 0 0 1px #999;
+     background: #fff;
+     background: linear-gradient(to right, #fff 0%, rgba(247, 248, 255, 0.5), #fff), linear-gradient(to bottom, #eff1ff, #fff, #eff1ff);
+     border: 1px solid #447;
+}
+
+.iframed .panel {
+     border: none;
+     background: none;
+     box-shadow: none;
+     padding: 0;
+     margin: 16px auto -8px auto !important;
+     width: 100%;
+}
+
+select {
+     background: #fff;
+     color: #333;
+     margin: 4px !important;
+     font-family: "Droid Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px solid #999;
+     padding: 3px 3px 3px 0;
+     min-width: 140px;
+     font-size: 9pt;
+     border-radius: 2px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     filter: drop-shadow(0 0 1px #ccc);
+}
+
+select:hover {
+     color: #111;
+}
+
+select:focus {
+     box-shadow: 0 0 1px #89f;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     -moz-appearance: none;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 16px 4px 4px;
+}
+
+select:hover, select:active {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+select:focus {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: 0 0 1px #89f;
+}
+}
+
+a:link {
+     color: #006;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+     outline: none;
+}
+
+a:visited {
+     color: #448;
+     text-decoration: none;
+}
+
+a:hover, a:focus {
+     color: #f60;
+     text-decoration: none;
+}
+
+a:active {
+     color: #f30;
+}
+
+input[type="hidden"], input.default {
+     display: none;
+}
+
+h2, h3 {
+     padding: 6px 10px;
+     border: 1px solid #89f;
+     background: #fff url("/themes/console/classic/images/tinytitle.png") repeat right center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin: 10px 0 -1px;
+     color: #0c153d;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+/*
+h3 {
+     border-radius: 0;
+     margin-top: -1px;
+}
 */
 
-#tunnelEditPage input {
-    width: 458px;
+.iframed #globalTunnelControl h2 {
+     margin-top: 2px;
 }
 
-#tunnelEditPage select {
-    width: 308px;
+.iframed #globalTunnelControl {
+     margin-bottom: -16px !important;
 }
 
-#tunnelEditPage option[selected] {
-    color: green;
+.panel table {
+     width: 100%;
+     border-collapse: collapse;
+     border: 1px solid #89f;
+     margin: 0;
+     background: #fff url(images/bg2.png);
+     background: linear-gradient(to bottom, rgba(255,255,255,0.8), rgba(255,255,255,0.5)), url(images/bg2.png);
 }
 
-#tunnelEditPage #targetField,
-#tunnelEditPage #accessField,
-#tunnelEditPage #optionsField {
-    height: 48px;
-    width: 150px;
+th {
+     background: #fff url("/themes/console/classic/images/tinytitle.png") repeat right center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     padding: 5px;
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+     font-size: 10pt;
+     color: #0c153d;
 }
-#tunnelEditPage #tunnelOptionsField {
-    height: 96px;
-    width: 150px;
+
+tr {
+     background: rgba(239, 241, 255, 0.5);
 }
 
-#tunnelEditPage #targetField label,
-#tunnelEditPage #accessField label,
-#tunnelEditPage #tunnelOptionsField label,
-#tunnelEditPage #optionsField label{
-    height: 48px;
-    width: 150px;
+td {
+     border-top: 1px solid #89f;
+     vertical-align: middle;
+     padding: 4px 5px;
 }
 
-#tunnelEditPage #reachField,
-#tunnelEditPage #hostField,
-#tunnelEditPage #depthField,
-#tunnelEditPage #countField,
-#tunnelEditPage #optionsHostField {
-    width: 304px;
-    margin-right: 4px;
+td.infohelp {
+     background: url(images/infohelp.png) 10px center no-repeat;
+     background-size: 24px 24px;
+     background-position: 6px center;
+     padding: 10px 10px 10px 38px !important;
 }
 
-#tunnelEditPage #portField,
-#tunnelEditPage #optionsPortField,
-#tunnelEditPage #backupField,
-#tunnelEditPage #varianceField {
-    width: 140px;
+.tunnelConfig td {
+     width: 50%;
 }
 
-#tunnelEditPage #reachField label,
-#tunnelEditPage #hostField label,
-#tunnelEditPage #portField label,
-#tunnelEditPage #optionsHostField label,
-#tunnelEditPage #optionsPortField label,
-#tunnelEditPage #depthField label,
-#tunnelEditPage #countField label,
-#tunnelEditPage #backupField label,
-#tunnelEditPage #varianceField label {
-    text-align: left;
+#clientTunnels tr, #serverTunnels tr {
+     background: #eef;
+}
 
+.tunnelProperties {
+     background: #fff !important;
 }
 
-#tunnelEditPage #otherField label {
-    width: 300px;
+.tunnelProperties:hover {
+     background: #ffd !important;
 }
 
-#tunnelEditPage #reachableByOther,
-#tunnelEditPage #tunnelDepth,
-#tunnelEditPage #tunnelQuantity,
-#tunnelEditPage #targetHost,
-#tunnelEditPage #clientHost {
-    width: 306px;
+/*
+.tunnelProperties td > * {
+     vertical-align: middle;
 }
+*/
 
-#tunnelEditPage #port {
-    width: 80px;
+.newTunnel {
+     text-align: right;
+     border-top: 1px solid #89f !important;
+     padding: 5px !important;
+     background: #fff;
 }
 
-#tunnelEditPage #targetPort,
-#tunnelEditPage #clientPort,
-#tunnelEditPage #tunnelBackupQuantity,
-#tunnelEditPage #tunnelVariance {
-    width: 150px;
+.newTunnel select, .newTunnel input, .newTunnel .control {
+     float: none;
+     margin: 2px !important;
 }
 
-#tunnelEditPage #shared,
-#tunnelEditPage #connectDelay,
-#tunnelEditPage #startOnLoad {
-    width: 16px;
+.newtunnel form {
+     width: 100%;
+     text-align: right;
 }
 
-#tunnelEditPage label {
-    width: 150px;
-    font-weight: bold;
-    text-align: right;
-    float: left;
+.tunnelName {
+     width: 25%;
+     min-width: 150px;
 }
 
-/* I2P Tunnel List Page
+.tunnelName a {
+     background: url(/themes/console/images/buttons/configure.png) left center no-repeat;
+     padding: 3px 3px 3px 20px !important;
+}
+
+.tunnelName a:hover {
+     background: url(/themes/console/images/buttons/configure_hover.png) left center no-repeat;
+}
+
+.tunnelName a {
+     font-weight: bold;
+}
+
+.tunnelType {
+     width: 25%;
+}
+
+.tunnelPreview {
+     text-align: left;
+}
+
+.tunnelPreview, .tunnelPort {
+     width: 15%;
+}
+
+.tunnelLocation, .tunnelInterface {
+     width: 20%;
+}
+
+.tunnelStatus {
+     text-align: center;
+     width: 10%;
+     float: none;
+     min-width: 48px;
+}
+
+.tunnelControl {
+     width: 5%;
+     text-align: right;
+     white-space: nowrap;
+}
+
+.tunnelControl > * {
+     vertical-align: middle;
+}
+
+th.tunnelControl {
+     text-align: center;
+}
+
+/*
+.tunnelControl .control {
+     min-width: 60px !important;
+     display: inline-block;
+     margin: 0 !important;
+}
 */
 
-#tunnelListPage .rowItem {
-    width: 150px;
+a.control {
+     display: inline-block;
+     padding: 5px 8px !important;
+}
+
+.control {
+     box-sizing: border-box;
+     margin: 2px 4px !important;
+     min-width: 70px !important;
+     padding: 4px 8px !important;
+     color: #333 !important;
+}
+
+.buttons, .newTunnel {
+     text-align: right;
+     padding: 7px 5px !important;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff, #eff1ff);
+     border-top: 1px solid #89f;
+}
+
+.buttons > * {
+     vertical-align: middle;
+}
+
+.tunnelConfig tr:last-child td {
+     border-top: 1px solid #89f;
+}
+
+.tunnelDescriptionLabel, .tunnelDestinationLabel {
+     text-align: right;
+     min-width: 150px;
+     display: inline-block;
+     margin-right: 3px;
+     white-space: nowrap;
+}
+
+input {
+     vertical-align: middle;
+}
+
+.tickbox {
+     vertical-align: middle;
+}
+
+#hostField, #leasesetKey, #userAgents {
+     width: 90% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
+#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
+     width: 100% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#oldName, #targetDestination, select#profile, select#connectionProfile {
+     min-width: 280px;
+     width: 30%;
+}
+
+#customOptions, #userAgents {
+     width: calc(100% - 10px) !important;
+}
+
+#localDestination, textarea[name="accessList"], #hostField {
+     width: calc(100% - 5px) !important;
+     margin: 3px 0 !important;
+}
+
+#localDestination {
+     height: 30px !important;
+}
+
+#leasesetKey {
+     height: 24px !important;
+     vertical-align: middle;
+}
+
+.multiOption {
+     display: inline-block;
+     margin-right: 10px;
+     vertical-align: middle;
+}
+
+.multiOption#isServer {
+     background: url(/themes/console/images/server.png) left center no-repeat;
+     padding-left: 20px;
+}
+
+.multiOption#isClient {
+     background: url(/themes/console/images/client.png) left center no-repeat;
+     padding-left: 21px;
+}
+
+td#throttle {
+     padding: 0;
+}
+
+#throttler {
+     border: none;
+}
+
+#throttler th {
+     padding-left: 20px;
+}
+
+#throttler td {
+     width: 20%;
+}
+
+#throttler td:first-child {
+     text-align: right;
+     width: 20%;
+     white-space: nowrap;
+}
+
+#throttler tr:first-child th {
+     border-top: none;
+}
+
+td.blankColumn {
+     width: 20% !important;
+}
+
+#throttler tr:nth-child(odd) {
+     background: #eff2ff;
+}
+
+#throttler tr:nth-child(even) {
+     background: #e7e7ff;
+}
+
+#throttler input[type="text"] {
+     width: 80px;
+}
+
+table {
+     background: #fff;
+}
+
+table#statusMessages textarea, table#statusMessages textarea:active {
+     margin: 0;
+     border: 0;
+     box-shadow: none;
+     height: 80px;
+     font-size: 9pt;
+}
+
+#tunnelMessages {
+     padding: 0;
+}
+
+.required:not(old) {
+     display: none;
+}
+
+input::-moz-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
+}
+
+::-webkit-input-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
 }
 
-#tunnelListPage select {
-    width: 150px;
+input.tunnelName, input.tunnelDescription, #userAgents {
+     width: 80%;
+     min-width: 280px;
+     text-overflow: ellipsis; 
 }
 
-#tunnelListPage textarea {
-    width: 100%;
-    height: 88px;
-    padding: 0 0 0 4px;
-    color: green;
-    margin-bottom: 7px;
+#websiteName, #privKeyFile, #targetHost, .host {
+     width: 30%;
+     min-width: 250px;
 }
 
-#tunnelListPage .footer .control {
-    margin-left: 2px;
+.port, .quantity, .period {
+     width: 80px;
 }
 
-#tunnelListPage .footer label {
-    text-align: right;
-    height: 24px;
-    width: 360px;
-    float: left;
+.username, .password {
+     width: 200px;
+}
+
+.username {
+     background: url(/themes/console/images/buttons/user.png) 3px center no-repeat;
+     padding-left: 22px; 
+}
+
+.password {
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat;
+     padding-left: 22px; 
+}
+
+.proxyList {
+     width: 40%;
+     min-width: 280px;
+}
+
+#notReady {
+     border: 1px solid #900;
+     padding: 30px;
+     background: #ffd;
+     margin: 30px auto;
+     width: 400px;
+     text-align: center;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #333);
+     -webkit-filter: drop-shadow(0 0 1px #333);
+     font-size: 11pt;
+     font-weight: bold;
+} 
+
+/* wizard specifics */
+
+#wizardPanel {
+    font-size: 10pt;
+}
+
+#wizardTable {
+     padding: 0;
+}
+
+#wizardTunnelTypes td:first-child, #wizardSummary td:first-child {
+     font-weight: bold;
+     width: 10%;
+     min-width: 150px;
+     text-align: right;
+     white-space: nowrap;
+}
 
+#wizardTunnelTypes td:last-child {
+     text-align: justify;
+     padding: 5px 10px 5px 5px;
 }
 
-/* Use Leary and Langridge content replacement methods (LIR)
-** to embed accessibility information into the document.
-** Should allow the lists to be rendered nicely by
-** screen readers. (and lynx!)
+#wizardTunnelTypes select {
+     margin-left: 0 !important;
+}
+
+#wizardTunnelTypes, #wizardSummary {
+     border: none;
+     margin-top: -1px;
+}
+
+/*
+#wizardPanel tr:nth-child(n+2) {
+     background: #eef;
+}
+
+#wizardPanel tr:nth-child(2n+2) {
+     background: #f7f8ff;
+}
 */
 
-#tunnelListPage label {
-    height: 0;
-    width: 0;
-    overflow: hidden;
+#wizardTunnelTypes tr:nth-child(even), #wizardSummary tr:nth-child(even) {
+     background: #dde1ff;
 }
 
-#tunnelListPage .nameHeaderField label,
-#tunnelListPage .portHeaderField label,
-#tunnelListPage .typeHeaderField label,
-#tunnelListPage .interfaceHeaderField label,
-#tunnelListPage .targetHeaderField label,
-#tunnelListPage .previewHeaderField label,
-#tunnelListPage .statusHeaderField label {
-    text-align: left;
-    width: 150px;
-    height: 24px;
-    float: left;
+#wizardTunnelTypes tr:nth-child(odd), #wizardSummary tr:nth-child(odd) {
+     background: #eff1ff;
 }
 
-#tunnelListPage .targetField,
-#tunnelListPage .targetField .text,
-#tunnelListPage .targetHeaderField,
-#tunnelListPage .targetHeaderField label {
-    width: 300px;
+#wizardTunnelTypes tr:last-child {
+     background: #fff;
 }
 
-#tunnelListPage .descriptionField,
-#tunnelListPage .destinationField {
-    width: 750px;
+#wizardPanel #name, #wizardPanel #description {
+     width: 300px !important;
+     margin: 5px 0 !important;
+}  
+
+#wizardPanel p {
+     padding: 5px;
+     margin: 0;
+     text-align: justify;
 }
 
-#tunnelListPage .descriptionField .text,
-#tunnelListPage .destinationField .text {
-    width: 450px;
+#wizardPanel input::-moz-placeholder {
+     color: #999;
+     font-weight: normal;
 }
 
-#tunnelListPage .descriptionField label,
-#tunnelListPage .destinationField label {
-    text-align: right;
-    width: 150px;
-    height: 24px;
-    float: left;
+#wizardPanel ::-webkit-input-placeholder {
+     color: #999;
+     font-weight: normal;
 }
+
+#wizardPanel .options {
+     padding: 10px;
+}
+
+#wizardPanel .tag {
+     width: 10%;
+     min-width: 150px;
+     white-space: nowrap;
+     display: inline-block;
+     font-weight: bold;
+     text-align: right;
+     margin-right: 3px;
+}
+
+#wizardPanel select {
+     min-width: 160px;
+     margin-left: 0 !important;
+}
+
+#wizardPanel .infohelp p { /* wizard complete - advanced options info */
+     margin: 0;
+     padding: 0;
+}
+
+/* more space */
+
+.tunnelConfig td, td {
+     border-top: 1px inset #cfd1ff;
+     padding: 5px;
+}
+
+input[type="checkbox"] {
+     margin: 5px 3px 5px 5px;
+}
+
+.freetext, .tunnelConfig textarea, #customOptions, #userAgents, #hostField  {
+     margin: 5px !important;
+}
+
+.multiOption {
+     margin: 5px 10px 5px 5px;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
+     margin: 5px !important;
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig select, select#profile select#connectionProfile {
+     margin: 5px !important;
+}
+
+textarea[name="accessList"], #hostField, #localDestination {
+     width: calc(100% - 15px) !important;
+     margin: 5px !important;
+}
+
+#customOptions, #userAgents, #leasesetKey {
+     width: calc(100% - 20px) !important;
+}
+
+.tunnelConfig td > b {
+     min-width: 30px;
+     display: inline-block;
+     margin-left: 5px;
+}
+
+.tunnelDestination {
+     padding-bottom: 1px !important;
+     border-bottom: 1px solid transparent !important;
+}
+
+#clientTunnels .tunnelDescription {
+     padding-top: 1px !important;
+}
+
+.tunnelDestination b, .tunnelDescription b {
+     color: #444;
+}
+
+td.tunnelDestination, td.tunnelDescription {
+     background: linear-gradient(to right, #fff 50%, #eff2ff);
+}
+
+/* end more space */
\ No newline at end of file
diff --git a/installer/resources/themes/console/classic/ieshim.css b/installer/resources/themes/console/classic/ieshim.css
index 0c3212f8473df3c60b99206541c000005640ed46..e4ba6915eb6979dcf20a1485f1c4d335399343d7 100644
--- a/installer/resources/themes/console/classic/ieshim.css
+++ b/installer/resources/themes/console/classic/ieshim.css
@@ -246,7 +246,7 @@ th {
      padding-right: 1px;
 }
 
-div.configure hr{
+div.configure hr {
      margin: 10px 0 15px 0;
 }
 
@@ -258,7 +258,6 @@ div.graphspanel img {
      border: 1px solid #99f;
      margin: 6px 0 !important;
      background: #ddf;
-     -moz-box-shadow: inset 0px 0px 1px 1px #99f;
 }
 
 div.graphspanel hr {
@@ -278,7 +277,6 @@ table {
      display:list-item;
 }
 
-
 div.news {
      margin: -1px 2px 0 200px !important;
      padding: -10px 0px 8px 0px;
@@ -297,3 +295,4 @@ div.news {
 
 .routersummary h2, .routersummary h3 {
      background: #fff url(images/tinytitle.png) center right tile-x !important;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/classic/images/bg.png b/installer/resources/themes/console/classic/images/bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..adf435fb10750420aee2789f16d4f1acec903ff4
Binary files /dev/null and b/installer/resources/themes/console/classic/images/bg.png differ
diff --git a/installer/resources/themes/console/classic/images/bg0.png b/installer/resources/themes/console/classic/images/bg0.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b9473a66b50fbb904a2cd4bf3ba12c3a52d6703
Binary files /dev/null and b/installer/resources/themes/console/classic/images/bg0.png differ
diff --git a/installer/resources/themes/console/classic/images/bg1.png b/installer/resources/themes/console/classic/images/bg1.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b95e548cb70a9d390fa264b8fb93f2269e3e240
Binary files /dev/null and b/installer/resources/themes/console/classic/images/bg1.png differ
diff --git a/installer/resources/themes/console/classic/images/bg2.png b/installer/resources/themes/console/classic/images/bg2.png
new file mode 100644
index 0000000000000000000000000000000000000000..a739538464dd9f7ee6c914f549c6d8450469f892
Binary files /dev/null and b/installer/resources/themes/console/classic/images/bg2.png differ
diff --git a/installer/resources/themes/console/classic/images/console_status_running.png b/installer/resources/themes/console/classic/images/console_status_running.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bbc5e37aad0b1118ccc86b31e985c75832ab5e3
Binary files /dev/null and b/installer/resources/themes/console/classic/images/console_status_running.png differ
diff --git a/installer/resources/themes/console/classic/images/console_status_starting.png b/installer/resources/themes/console/classic/images/console_status_starting.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbff2340912a95cc59554a5c36fb8d8dfbdf4fe5
Binary files /dev/null and b/installer/resources/themes/console/classic/images/console_status_starting.png differ
diff --git a/installer/resources/themes/console/classic/images/console_status_stopped.png b/installer/resources/themes/console/classic/images/console_status_stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d43eb4eab436a06e60a33922f27638db4e327e0
Binary files /dev/null and b/installer/resources/themes/console/classic/images/console_status_stopped.png differ
diff --git a/installer/resources/themes/console/classic/images/dropdown.png b/installer/resources/themes/console/classic/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..317d64e08161d30d86c3b2e2b44dfb0c062b7889
Binary files /dev/null and b/installer/resources/themes/console/classic/images/dropdown.png differ
diff --git a/installer/resources/themes/console/classic/images/dropdown_hover.png b/installer/resources/themes/console/classic/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec983e14ae70dcf0f3a7f64ec47f533d55a8e7f5
Binary files /dev/null and b/installer/resources/themes/console/classic/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/console/classic/images/eye.png b/installer/resources/themes/console/classic/images/eye.png
new file mode 100644
index 0000000000000000000000000000000000000000..2aead17e09ea66ad6c2353c1e9f2a18473f8ac52
Binary files /dev/null and b/installer/resources/themes/console/classic/images/eye.png differ
diff --git a/installer/resources/themes/console/classic/images/help.png b/installer/resources/themes/console/classic/images/help.png
new file mode 100644
index 0000000000000000000000000000000000000000..be52814717ef790cd13d33c7ec1fc9c5d14b0eb2
Binary files /dev/null and b/installer/resources/themes/console/classic/images/help.png differ
diff --git a/installer/resources/themes/console/classic/images/thumbnail.png b/installer/resources/themes/console/classic/images/thumbnail.png
new file mode 100644
index 0000000000000000000000000000000000000000..6822aca3ba48fbe8bdddb52130291529d0f03e6a
Binary files /dev/null and b/installer/resources/themes/console/classic/images/thumbnail.png differ
diff --git a/installer/resources/themes/console/classic/mobile.css b/installer/resources/themes/console/classic/mobile.css
index 437f77ee46b1cd19db059f771073deac43baca8c..d2f46085aa7972e7bf55d154716ae3e35a79f215 100644
--- a/installer/resources/themes/console/classic/mobile.css
+++ b/installer/resources/themes/console/classic/mobile.css
@@ -1,6 +1,8 @@
+/* Console Theme "Classic" - Mobile Override */
+
 div.routersummaryouter {
      float: none;
-     margin: 0 1px 0 0;
+     margin: 0 !important;
      position: relative;
      width: auto;
 }
@@ -8,23 +10,109 @@ div.routersummaryouter {
 div.routersummary {
      float: none;
      width: auto;
+     max-width: 600px;
+     margin: 0 auto -6px;
+}
+
+#xhr {
+     margin-top: 9px !important;
+}
+
+#xhr hr:first-child {
+     margin-bottom: 7px !important;
 }
 
-div.routersummary table {
+.routersummary div[style="height: 36px;"] {
+     margin: 0 0 15px !important;
+}
+
+.routersummary div[style="height: 36px;"] + a {
+     margin: -5px 0 -3px !important;
+     display: inline-block;
+}
+
+.routersummary hr:first-child {
+     margin-bottom: 11px;
+}
+
+.routersummary td, .routersummary h4, .routersummary a {
+     font-size: 9pt !important;
+}
+
+div.routersummary table, table[id^="sb_"] {
      width: 100% !important;
+     margin: -6px 0 -7px !important;
+}
+
+table[id^="sb_"] td {
+     padding: 4px 2px !important;
+}
+
+table#sb_localtunnels {
+     margin-top: -6px !important;
+}
+
+table#sb_localtunnels td {
+     padding: 4px 2px !important;
+}
+
+#sb_localtunnels td:last-child {
+     padding-right: 4px !important;
+}
+
+table[id^="sb_"] tr:nth-child(even) td {
+     background: #eef;
+     background: rgba(238, 238, 255, 0.4);
+}
+
+table[id^="sb_"] tr:nth-child(odd) td {
+     background: #ddf;
+     background: rgba(221, 221, 255, 0.4);
+}
+
+table[id^="sb_"] tr:hover td {
+     background: #ccf !important;
+}
+
+#sb_services {
+     text-align: center;
+}
+
+/*
+#sb_services a {
+     display: inline-block;
+     width: 24% !important;
+     min-width: 100px;
+     box-sizing: border-box;
+     white-space: nowrap;
+     border: none !important;
+}
+*/
+
+#sb_localtunnels td:nth-child(2) {
+     width: auto !important;
+}
+
+.routersummary button[type="submit"], .routersummary button[type="cancel"] {
+     margin: 5px 5px 3px !important;
+     padding: 8px 5px !important;
+     min-width: 120px !important;
 }
 
 h1 {
-     margin: 0 1px 0 0;
-     min-width: 0;
+     margin: 9px 0 -1px;
+     min-width: 510px;
 }
 
 div.news {
-     margin: -1px 1px 0 0;
-     min-width: 0;
+     margin: 0 0 -10px;
+     min-width: 500px;
 }
 
 div.main {
-     margin: 0 1px 0 0;
-     min-width: 0;
+     margin: 1px 0 0;
+     min-width: 500px;
+}
+
+.confignav {
 }
diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css
index 78d41b92f29c8f182b9d056e89a6441a0c1c5fdb..6fa728002731e10c4678104a6db5e39a46cba090 100644
--- a/installer/resources/themes/console/dark/console.css
+++ b/installer/resources/themes/console/dark/console.css
@@ -7,12 +7,12 @@ body {
      margin: 5px 0 0 0;
      padding: 0;
      text-align: center;
-     background: #010 url('images/camotile.png') center bottom;
+     background: #010 url(images/camotile.png) top left fixed;
      color: #EE9;
-     font: 8.5pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font: 8.5pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "DejaVu Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
 }
 
-.hide {
+.hide, .hideme {
      display: none;
 }
 
@@ -27,29 +27,77 @@ img {
      border: none;
 }
 
+a img:hover, a:focus img  {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+img[src="/flags.jsp?c=a1"], img[src="/flags.jsp?c=a2"] { /* more visibility for anonymous flags */
+     border: 1px solid #141;
+     width: 13px !important;
+     height: 9px !important;
+     padding-right: 0;
+     margin-left: 1px;     
+     margin-right: 1px;
+}
+
+#profiles img[src="/flags.jsp?c=a1"], #profiles img[src="/flags.jsp?c=a1"] {
+     height: 10px !important;
+     margin-right: 1px;
+}
+
 pre {
      width: 98%;
-     overflow-x: scroll;
+     overflow-x: auto;
      text-align: left;
-     font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      color: #EE9;
 }
 
-div.logo {
+/* proxy error messages */
+
+div.logo { /* proxy error "fake" sidebar */
      float: left;
      padding: 10px;
      text-align: center;
      color: #EE9;
      margin: 0 20px 0 20px;
      border: 1px solid #494;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #000; /*url("images/camotile2.png");*/
+     background: #000 url(images/camotile2.png);
      width: 185px;
-     -moz-box-shadow: inset 0 0 1px 0 #009;
-     -khtml-box-shadow: inset 0 0 1px 0 #009;
-     box-shadow: inset 0 0 1px 0 #009;
+     font-size: 10pt;
+     box-shadow: inset 0 0 3px 3px #000;
+}
+
+.logo > * {
+     text-align: center;
+}
+
+.logo a:link {
+     display: inline-block;
+     width: 100%;
+     padding: 3px 0;
+}
+
+.logo a img {
+     opacity: 0.6;     
+     filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 1px #494);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 1px #494);
+     margin: 0;
+     padding: 0;
+     text-align: center;
+}
+
+.logo a:hover img {
+     opacity: 1;
+     filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 2px #f60);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 2px #f60);
+}
+
+.logo a:active img {
+     opacity: 1;
+     filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 2px #f90);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(260deg) drop-shadow(0 0 2px #f90);
 }
 
 div.logo hr {
@@ -57,42 +105,119 @@ div.logo hr {
      background: #494;
      height: 1px;
      border: 0 solid #494;
-     margin: 10px 0 5px;
+     margin: 10px -10px;
 }
 
-div.toolbar {
-     margin: 0;
-     padding: 10px;
-     font-weight: bold;
+.logo, .warning {
+     filter: drop-shadow(0 0 5px #000);
+     -webkit-filter: drop-shadow(0 0 5px #000);
+}
+
+div.warning {
+     margin: 20px 20px 20px 248px;
+     padding: 10px 25px 20px 75px;
      background: #000;
-     border: 1px solid #000;
+     border: 1px solid #494;
+     color: #ee9;
+     text-align: justify;
+     background: #000 url(/themes/console/images/itoopie_sm.png) 10px center no-repeat;
+     background: url(/themes/console/images/itoopie_sm.png) 10px center no-repeat, url(images/camotile2.png);
+     box-shadow: inset 0 0 0 1px #700;
+     box-shadow: inset 0 0 0 1px #700, inset 0 0 3px 3px #000;
+     word-wrap: break-word;
+     font-size: 10pt;
+     min-width: 300px;
+}
+
+.warning p, .warning a {
+     font-size: 10pt
+}
+
+.warning a {
+     line-height: 150%;
+}
+
+.warning p {
+}
+
+.warning h3 {
+     font-size: 10pt;
+     padding: 7px 10px;
+     text-align: left;
+}
+
+/* tags the proxy info onto the bottom of the warning box */
+/* comment out the @media .proxyfooter section below to avoid duplication */
+/* 
+.proxyfooter {
+     margin: -3px 20px 10px 248px;
+     padding: 0 25px 0 75px;
+     color: #ee9;
+     font-size: 9pt;
+     text-align: right !important;
+     border: 1px solid #494;
+     box-shadow: inset 0 0 0 1px #700;
+     box-shadow: inset 0 0 0 1px #700, inset 0 0 3px 3px #000;
+     background: #000 url(images/camotile2.png);
      display: none;
+     filter: drop-shadow(0 0 5px #000);
+     -webkit-filter: drop-shadow(0 0 5px #000);
 }
 
-div.toolbar a:link {
-     border: 1px outset #ddddc0;
-     padding: 0 5px 1px 5px;
-     background: #bbf;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     color: #000;
+.proxyfooter p {
+     text-align: right;
+     line-height: 130% !important;
 }
 
-div.toolbar a:visited {
-     background: #ddf;
+.warning {
+     margin-bottom: 0;
 }
+*/
 
-div.toolbar a:hover, button:hover {
-     border: 1px solid #f60;
+/* responsive proxy errors */
+
+@media screen and (max-width: 800px) {
+.warning {
+     margin-left: 20px !important;
+     background: url(images/camotile2.png) !important;
+     padding-left: 25px !important;
+}
+
+.logo {
+     display: none;
+}
+}
+
+@media screen and (min-height: 700px) {
+.proxyfooter {
+     position: absolute;
+     bottom: 0;
+     right: 0;
+     padding: 0 20px 0 0;
+     text-align: right;
      background: #030;
-     color: #f60;
+     width: 100%;
+     opacity: 0.7;
+     border-top: 1px solid #000;
 }
 
-a:active {
-     color: #900;
+.proxyfooter p {
+     text-align: right;
+     line-height: 130% !important;
+     margin: 5px 0;
+}
+
+.warning {
+     margin-bottom: 30px;
+}
+}
+
+@media screen and (max-height: 700px) {
+.proxyfooter {
+     display: none;     
 }
+}
+/* end proxy errors */
 
 div.routersummaryouter {
      float: left;
@@ -107,67 +232,97 @@ div.routersummaryouter {
 }
 
 div.routersummary {
-     width: 173px;
+     width: 174px;
      padding: 8px 10px 8px;
      text-align: center;
      border: 1px solid #494;
-     background: #000 url(images/camotile2.png);
+     background: #000 url(images/camotile2.png) left top;
      color: #EE9;
      font-size: 8pt;
      clear: left;/* fixes a bug in Opera */
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     border-radius: 2px;
      float: left;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
      box-shadow: 0 1px 5px #000;
      margin-bottom: 7px !important;
 }
 
-div.routersummary input[type=text] {
+div.routersummary img[src$="i2plogo.png"] {
+     opacity: 0.9;
+     transition: ease filter 0.3s 0s, ease opacity 0.3s 0s;
+}
+
+div.routersummary img[src$="i2plogo.png"]:hover {
+     opacity: 1;
+     transition: ease filter 0.3s 0s, ease opacity 0.3s 0s;
+     filter: saturate(200%) drop-shadow(0 0 2px #f60);
+     -webkit-filter: saturate(200%) drop-shadow(0 0 2px #f60);
+}
+
+.routersummary a[href="/"], .routersummary a[href="/console"] {
+     outline: none !important;
+}
+
+.routersummary a[href="/"]:focus img, .routersummary a[href="/console"]:focus img {
+     filter: drop-shadow(0 0 2px #f60) saturate(200%);
+     -webkit-filter: drop-shadow(0 0 2px #f60) saturate(200%);
+}
+
+div.routersummary input[type="text"] {
      text-align: right !important;
-     -moz-box-shadow: inset 1px 1px 1px 0 #000;
-     -khtml-box-shadow: inset 1px 1px 1px 0 #000;
      box-shadow: inset 1px 1px 1px 0 #000;
 }
 
 div.routersummary hr {
      color: #494;
      background: #494;
-     height: 2px;
-     border-bottom: 1px solid #494;
-     margin: 8px -10px 7px -10px;
-     -moz-box-shadow: inset 0 1px 1px 1px #000;
-     -khtml-box-shadow: inset 0 1px 1px 1px #000;
-     box-shadow: inset 0 1px 1px 1px #000;
+     height: 1px;
+     margin: 9px -10px 7px -10px;
+
 }
 
 div.routersummary h3 {
-     border: 0;
+     border: none;
      font-size: 9.5pt;
-     letter-spacing: 0.04em;
+     letter-spacing: 0.08em;
      margin: -7px -10px -8px -10px;
-     padding: 3px 0 4px 0 !important;
+     padding: 4px 0 !important;
      text-transform: uppercase;
-     -moz-border-radius: 0;
-     -khtml-border-radius: 0;
      border-radius: 0;
-     background: #000 url('images/header.png') center center ;
+     mix-blend-mode: exclusion;
+}
+
+.routersummary h3:hover {
+     background: #010 !important;
+     box-shadow: inset 0 0 2px 2px #000;
+}
+
+.routersummary h3:hover a {
+     color: #f60;
+}
+
+.routersummary h3:active {
+     box-shadow: inset 4px 4px 2px #000;
 }
 
 div.routersummary h4 {
      border: 0;
      border-bottom: 0 !important;
      font-size: 8pt;
-     letter-spacing: 0.02em;
-     margin: -7px -9px -10px -9px !important;
-     padding: 6px 3px 8px 3px;
+     margin: -6px -9px -8px !important;
+     padding: 6px 1px;
      background: #000;
-     text-transform: capitalize;
+     background: linear-gradient(to right, #001900 0%, #001000 5%, #000 25%, #000 50%, #000 75%, #001000 95%, #001900 100%);
      text-decoration: none !important;
      color: #2b2;
-     line-height: 100%;
+     line-height: 120%;
+     box-shadow: inset 0 0 0 1px #121;
+     box-shadow: inset 0 0 0 1px #121, inset 0 0 5px 2px #000;
+}
+
+.routersummary h3 a, .routersummary h4 a {
+     white-space: normal !important;
+     display: inline-block;
+     width: calc(100% - 5px);
 }
 
 div.routersummary ul {
@@ -177,15 +332,61 @@ div.routersummary ul {
 div.routersummary table {
      border: 0;
      text-align: center !important;
-     margin: -5px -7px 5px -8px !important;
-     width: 188px !important;
+     margin: -5px -7px -6px -8px !important;
+     width: 190px !important;
      overflow: hidden;
      font-size: 8pt;
-/*     padding: 0 -10px; */
      background-image: none !important;
      background-color: transparent !important;
 }
 
+#sb_localtunnels {
+     margin: -4px -7px -7px -8px !important;
+     /*width: 191px !important;*/
+     text-transform: capitalize; 
+}
+
+#sb_localtunnels td:first-child {
+     width: 16px;
+     text-align: left !important;
+     padding: 1px 0;
+}
+
+#sb_localtunnels td:last-child {
+     text-align: right;
+     padding-right: 0;
+}
+
+#sb_warning { /* check connection/firewall */ 
+     padding: 4px 6px 4px 26px;
+     background: #000;
+     background: url(images/warning24x24.png) 5px center no-repeat, linear-gradient(to right, #001900 0%, #001000 5%, #000 25%, #000 50%, #000 75%, #001000 95%, #001900 100%);
+     text-align: center;
+     line-height: 120%;
+}
+
+#sb_internals a, #sb_services a, #sb_advanced a {
+     padding: 1px 2px;
+}
+
+#sb_version {
+     margin-top: 6px !important;
+     margin-bottom: 5px !important;
+}
+
+#sb_uptime {
+     margin-bottom: -5px !important;
+}
+
+#sb_services a:link, #sb_internals a:link, #sb_advanced a:link {
+     word-break: break-all;
+     max-width: 182px;
+     overflow: hidden;
+     white-space: nowrap; 
+     text-overflow: ellipsis;
+     line-height: 140%;
+}
+
 div.routersummary tr {
      background-image: none !important;
      background-color: transparent !important;
@@ -193,7 +394,7 @@ div.routersummary tr {
 }
 
 div.routersummary form {
-     margin: -4px 0 -6px;
+     margin: -4px -9px -6px;
 }
 
 div.routersummary form:first-child {
@@ -211,24 +412,110 @@ div.refresh {
 }
 
 div.routersummary a:link, div.routersummary a:visited {
-     text-shadow: 1px 1px 1px rgba(0, 16, 0, 0.8);
-     text-shadow: 0 0 2px #101 !important;
-     padding: 0 1px;
+     word-spacing: 0.05em;
 }
 
 div.routersummary a:hover {
-     text-shadow: 0 0 1px rgba(255, 96, 0, 0.7);
      color: #f60;
 }
 
+/* "experimental" custom sidebar links for apps */
+/*
+#sb_services {
+     width: 192px !important;
+     margin: 0 !important;
+     margin: -7px -10px -9px !important;
+     border-collapse: collapse;
+     background: url(images/camotile.png) repeat fixed left top;
+}
+
+#sb_services tr {
+     padding: 0;
+}
+
+#sb_services td {
+     padding: 0;
+}
+
+#sb_services a, #sb_services a:hover, #sb_services a:active {
+     border-bottom: 1px solid #151 !important;
+     outline: none !important;
+     display: inline-block;
+     width: calc(100% - 32px) !important;
+}
+
+#sb_services a:hover {
+     background: #020;
+}
+
+#sb_services a:last-child {
+     border-bottom: 1px solid transparent !important;
+}
+
+#sb_services a[href*="mail"], #sb_services a[href*="snark"], #sb_services a[href*="7658"], #sb_services a[href*="bote"] {
+     padding: 5px 5px 5px 26px !important; 
+     border: 1px outset transparent;
+     margin: 0 !important;
+     float: left;
+     text-align: left;
+     text-decoration: none;
+     text-transform: uppercase;
+     letter-spacing: 0.1em;
+     white-space: nowrap;
+     text-overflow: ellipsis;
+     overflow: hidden;
+     clear: both;
+}
+
+#sb_services a[href*="mail"] {
+     background: #000 url(images/mail.png) 5px center no-repeat;
+}
+#sb_services a[href*="mail"]:hover {
+     background: #020 url(images/mail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="bote"] {
+     background: #000 url(images/webmail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="bote"]:hover {
+     background: #020 url(images/webmail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="snark"] {
+     background: #000 url(images/magnet.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="snark"]:hover {
+     background: #020 url(images/magnet.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="7658"] {
+     background: #000 url(images/webserver.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="7658"]:hover {
+     background: #020 url(images/webserver.png) 5px center no-repeat;
+}
+*/
+/* end custom sidebar links */
+
 div.routersummary td {
      padding: 0 2px 0 2px;
      background-image: none !important;
      border: 0 !important;
      word-spacing: -0.1em;
+     max-width: 180px;
+     text-overflow: ellipsis; /* force ellipsis rather than truncate rare, overlong text strings eg. Swedish sidepanel */
+}
+
+div.routersummary td:first-child {
+     max-width: 90px;
+     overflow: hidden;
+     text-transform: capitalize;
 }
 
-div routersummary hr:last-child {
+div.routersummary hr:last-child {
      margin-top: 5px;
      margin-bottom: -5px !important;
 }
@@ -240,8 +527,8 @@ div.newsheadings {
 }
 
 div.newsheadings li {
-     list-style: none outside url('images/newsbullet_mini.png');
-     margin: 0 -4px 2px 8px;
+     list-style: none outside url(images/newsbullet_mini.png);
+     margin: 0 -6px 2px 4px;
      line-height: 110%;
      text-transform: capitalize;
 }
@@ -250,7 +537,6 @@ div.newsheadings li b {
      font-weight: normal !important;
 }
 
-
 div.newsheadings button {
      margin: 4px 0 2px;
 }
@@ -267,6 +553,7 @@ div.tunnels table {
 
 div.tunnels td {
      padding: 1px 0 1px 0;
+     text-transform: capitalize;
 }
 
 div.tunnels td:first-child {
@@ -280,51 +567,26 @@ div.tunnels td:last-child {
      padding-right: 1px;
 }
 
-div.tunnels tr {
-/*     border: 1px solid #494 !important;*/
-}
-
-div.warning {
-     margin: 20px 20px 20px 245px;
-     padding: 5px 25px 20px 75px;
-     background: #000;
-     border: 1px solid #494;
-     text-align: left;
-     color: #EE9;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     text-align: justify;
-     background-image:url("../images/itoopie_sm.png");
-     background-position:10px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0 0 0 1px #f00;
-     -khtml-box-shadow: inset 0 0 0 1px #f00;
-     box-shadow: inset 0 0 0 1px #f00;
-     word-wrap: break-word;
-}
-
 /* console error messages */
 
 div.sorry {
-     margin: -1px 5px 10px 205px;
+     margin: -1px 5px 10px 206px;
      padding: 20px 20px 20px 75px;
      background: #020;
      border: 1px solid #494;
-     -moz-border-radius: 0 0 4px 4px;
-     -khtml-border-radius: 0 0 4px 4px;
      border-radius: 0 0 4px 4px;
      text-align: justify;
-     background-image:url("images/errortriangle.png");
+     background-image:url(/themes/console/images/info/errortriangle.png);
      background-position:15px center;
      background-repeat:no-repeat;
-     -moz-box-shadow: inset 0 0 0 1px #d00;
+     box-shadow: inset 0 0 0 1px #d00;
      word-wrap: break-word;
-     font-weight: bold;
+/*     font-weight: bold;*/
      color: #EE9;
+     font-size: 10pt;
 }
 
-div.sorry hr {
+.sorry hr {
      color: #EE9;
      background: #EE9;
      height: 1px;
@@ -332,51 +594,91 @@ div.sorry hr {
      margin: 10px 0;
 }
 
-div.main {
-     margin: -1px 5px 5px 205px;
-     padding: 0 15px 15px 15px;
+.main {
+     margin: -1px 5px 5px 206px;
+     padding: 0 15px 5px 15px;
      text-align: left;
      color: #EE9;
      width: auto;
-/*  overflow-x: scroll; */
      border: 1px solid #494;
-     -moz-border-radius: 0 0 4px 4px;
-     -khtml-border-radius: 0 0 4px 4px;
-     border-radius: 0 0 4px 4px;
-     background: #000 url(images/scarface.jpg) right bottom no-repeat !important;
+     border-radius: 0 0 2px 2px;
+     background: #000 url(images/scarface.jpg) right bottom no-repeat;
+/*     background: linear-gradient(45deg, rgba(0,0,0,0.5), rgba(0,34,0,0.3)), url(images/camotile2.png);
+     background-size: 3px 3px, 175px 175px;*/
      min-width: 620px;
-     -moz-box-shadow: 0 1px 5px #000;
+     box-shadow: 0 1px 5px #000;
+     font-size: 9pt;
+}
+
+.main#dns {
+     padding: 0 0 3px;
+     min-width: 650px !important;
+}
+
+.main#webmail, .main#torrents {
+     padding: 0;
+     margin-top: -1px;
+     background: #000 !important;
+}
+
+.main#torrents {
+     padding-bottom: 2px;
+}
+
+.main#tunnelmgr {
+     background: linear-gradient(45deg, rgba(0,0,0,0.5), rgba(0,34,0,0.7)), url(images/camotile2.png) top left;
+     background-size: 3px 3px, 175px 175px;
+}
+
+div.main#news {
+     background: #000 url(images/news.png) no-repeat scroll bottom right !important;
+}
+
+#news h3 {
+     padding: 4px 6px 5px;
+     letter-spacing: 0.08em !important;
+     word-spacing: normal !important;
+}
+
+#news h3 font {
+     letter-spacing: 0.2em !important;
+     text-transform: none;
+}
+
+#news h3 > * {
+     vertical-align: middle;
+}
+
+div.news h3, div.fixme h3 {
+     text-align: left !important;
+     font-size: 10pt !important;
+     letter-spacing: 0.03em;
+     color: #ee9;
 }
 
 div.main textarea {
      background: #000;
      color: #EE9;
-     font: 8pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     resize: none;
 }
 
 div.news {
-     margin: -1px 5px 0 205px;
-     padding: 4px 30px 4px 30px;
+     margin: -1px 5px 0 206px;
+     padding: 6px 20px 5px;
      border: 1px solid #494;
      background: #000;
-     background: #000 url("images/news.png")no-repeat scroll bottom right;
+     background: #000 url(images/news.png) no-repeat scroll bottom right;
      color: #7b7;
-/*     border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;*/
-     font-size: 7.5pt;
+     font-size: 8pt;
      text-align: right;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
      box-shadow: 0 1px 5px #000;
      min-width: 580px;
-/*     height: 164px;
-     overflow-y: auto;*/
 }
 
 div.news li {
      text-align: justify;
-     list-style: url('images/info_dark.png');
+     list-style: url(images/info_dark.png);
      list-style: none;
      margin: 0;
      padding: 5px 5px 5px 0;
@@ -390,12 +692,6 @@ div.news li {
      text-transform: capitalize;
 }
 
-div.news h3 {
-     text-align: left !important;
-     font-size: 9.5pt;
-     letter-spacing: 0.03em;
-}
-
 div.news h4 {
      border-bottom: 1px;
      border-bottom-style: dotted;
@@ -407,20 +703,20 @@ div.news h4 {
      text-transform: capitalize;
 }
 
-div.news h4:first-child {
-     background: url('../images/itoopbullet.png');
-     background-repeat: no-repeat;
-     background-position: right;
-}
-
-div.news p {
+div.news p, div.newscontent p {
      margin-top: -5px;
-     font-size: 8.5pt;
+     font-size: 9pt;
      color: #EE9;
      margin-bottom: 0;
+/*     padding: 0 15px;*/
 }
 
-div.news p:nth-child(n+1) {
+.newscontent b {
+/*     text-transform: uppercase;
+     letter-spacing: 0.1em; */
+}
+
+div.news p:nth-child(n+1), div.newscontent p:nth-child(n+1) {
      margin-top: 5px;
 }
 
@@ -428,81 +724,71 @@ div.news hr {
      margin: 8px 0 3px 0;
 }
 
+div.fixme {
+     margin: 18px 5px; /* positional parity with homepage news */
+}
+
+div.widescroll { /* only scroll content, not entire page eg /peers */
+     overflow: auto;
+}
+
+.widescroll table {
+     white-space: nowrap;
+}
+
 div.confignav {
-     background: url('images/header.png') repeat-x scroll center center #000;
-     padding:5px 5px 6px !important;
-     margin: -1px 0 15px;
-     -moz-border-radius: 0 0 4px 4px;
-     -khtml-border-radius: 0 0 4px 4px;
-     border-radius: 0 0 4px 4px;
+     background: url(images/header.png) repeat-x scroll center center #000;
+     background: linear-gradient(to bottom, #1a261a 0%,#223022 7%,#212f21 9%,#172317 21%,#091109 49%,#050d05 50%,#020602 51%,#010301 53%,#000000 56%,#000000 100%) !important;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+     padding: 8px 5px 7px !important;
+     margin: -1px -16px 15px;
+/*     border-radius: 0 0 4px 4px; */
      border: 1px solid #494;
-     font-size: 8.5pt !important;
      font-weight: bold !important;
-     line-height: 160% !important;
+     line-height: 130% !important;
+     text-align: center;
+     box-shadow: inset 0 0 0 1px #000;
+     box-shadow: inset 0 0 0 1px #000, inset 0 0 3px 1px #030;
+}
 
+.confignav a:hover {
+     text-decoration: none;
 }
 
-div.configure {
-/*     padding: 5px 15px 0 15px;
-     margin: 10px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494; */
-     background: none;/* url(images/camotile2.png);*/
+.confignav a:active {
+     color: #f90 !important;
 }
 
-.sidebarconf button {
-     margin: 2px;
-     padding: 1px;
-     min-width: 0;
-     background: none;
+.tab, .tab2 {
+     padding: 1px 3px;
+     white-space: nowrap;
+     margin: 0;
 }
 
-.sidebarconf th:nth-child(1) {
-     text-align: center;     
+.tab2::before {
+     content: '\1F892\00A0';
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
 }
 
-.sidebarconf th:nth-child(2) {
-     text-align: left;     
-}
-
-.sidebarconf td:first-child {
-     width: 60px;
-     text-align: right;
-     padding-right: 50px;
-}
-
-.sidebarconf td:nth-child(2) {
-     font-weight: bold;     
-}
-
-.sidebarconf td:nth-child(3), .sidebarconf td:nth-child(4) {
-     width: 70px;
-     padding: 0;  
-}
-
-.sidebarconf td:nth-child(3) {
-     text-align: right;
-     padding-left: 50px;
-}
-
-.sidebarconf td:nth-child(4) {
-     text-align: left;
-     padding-right: 50px;
+.tab2::after {
+     content: '\00A0\1F890';
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
 }
 
 div.messages {
-     padding: 10px;
+     padding: 20px 10px 20px 50px;
      margin: 10px 0 15px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
      border: 1px solid #494;
-     background: #000;  /*url('images/infotile.png') center left no-repeat;*/
+     background: #000;
+     background: url(images/infohelp.png) no-repeat 12px center, #000;
      font-weight: bold;
-     font-size: 9pt;
-     color: #4f4;
+     font-size: 9.5pt;
+     color: #2b2 !important;
+     box-shadow: inset 0 0 1px 0 #990 !important;
 }
 
 div.messages span.error {
@@ -516,55 +802,92 @@ div.messages span.notice {
 div.messages li {
      text-align: justify !important;
      font-weight: bold;
-     list-style: url(images/warning_dark.png) !important;
-     margin: 0 5px 0 50px !important;
+     list-style: none !important;
+     margin: 0 5px 0 0 !important;
      padding: 0 10px 0 0 !important;
      border: 0 !important;
 }
 
+div.widepanel h3 {
+     text-align: left !important;
+     padding: 6px 10px;
+     text-transform: uppercase;
+     font-size: 10.5pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     border: 1px solid #494;
+}
+
 div.graphspanel {
      padding: 0;
      margin: 15px 0 -15px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-/*     border: 1px solid #494;*/
      background: none;/* url(images/camotile.png);*/
      text-align: center;
-}
-
-div.widepanel h3 {
-     text-align: left !important;
+     overflow: hidden;
+     width: 100%;
 }
 
 div.graphspanel form {
      text-align: left;
      padding: 0 15px 0 15px;
+     margin-bottom: 25px;
 }
 
-div.graphspanel hr {
-     margin: 10px -15px 10px -15px;
-}
-
-div.graphspanel img {
+div.graphspanel a img {
      border: 1px solid #494;
      padding: 3px;
      margin: 5px;
      text-align: center !important;
-     background: #000;
-     opacity: 0.8;
+/*     background: #000; */
+     opacity: 0.9;
+     transition: all 0.3s ease 0s;
 }
 
-div.graphspanel img:hover {
-     border: 1px solid #000;
+div.graphspanel a img:hover {
+     border: 1px solid #f60;
      padding: 3px;
      margin: 5px;
      text-align: center !important;
-     background: #000;
-     -moz-box-shadow: inset 0 0 1px 1px #f60;
-     -khtml-box-shadow: inset 0 0 1px 1px #f60;
-     box-shadow: inset 0 0 1px 1px #f60;
+/*     background: #000; */
      opacity: 1;
+     transition: all 0.3s ease 0s;
+     cursor: url(/themes/console/images/cursor_zoom.png), pointer;
+}
+
+div.graphspanel img {
+     border: 1px solid #333;
+     background: #000;
+     padding: 2px;
+     vertical-align: top;
+     max-width: 95%;
+     max-width: calc(100% - 18px);
+/*     filter: invert(100%) sepia(100%) hue-rotate(78deg) saturate(150%); enable for theme-colored graph images */
+}
+
+div.graphspanel p {
+     text-align: center;
+     text-transform: capitalize;
+     margin-top: 10px;
+     border-top: 1px solid #494;
+     padding: 10px 10px 15px;
+}
+
+p#graphopts {
+     margin: 30px 0 5px !important;
+}
+
+p#graphopts + p {
+     display: none;
+}
+
+h3#graphinfo {
+     margin-top: 0;
+     border-radius: 0 !important;
+}
+
+div.graphspanel p:last-child {
+     display: none;
 }
 
 table {
@@ -572,7 +895,7 @@ table {
      width: 100%;
      border: 1px solid #494;
      padding: 1px;
-     font-size: 8pt;
+     font-size: 9pt;
      background: #030;
      margin: 1px 0;
 }
@@ -588,11 +911,12 @@ table hr {
 }
 
 th {
-     padding: 6px 2px;
+     padding: 7px 2px;
      color: #EE9;
      text-align: center;
      font-size: 9pt;
-     background: #000 url('images/header.png') center center repeat-x ;
+     background: #000 url(images/header.png) center center repeat-x;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
      border-top: 1px solid #494;
      border-bottom: 1px solid #494 !important;
      line-height: 110%;
@@ -603,7 +927,7 @@ tr {
 }
 
 tr:nth-child(even) {
-     background: #010;
+     background: #001000;
      vertical-align: middle;
 }
 
@@ -612,30 +936,43 @@ tr:nth-child(odd) {
      vertical-align: middle;
 }
 
-/*
-tr:last-child {
-     background: #004 url('images/lightbluetile.png') !important;
-     font-weight: bold;
-     border: 1px solid #494 !important;
-}
-*/
-
 td {
      padding: 4px 6px;
-     color: #EE9;
+     color: #ee9;
      vertical-align: middle;
-     border-top: 1px inset #494;
-     border-bottom: 1px outset #494;
+     border-top: 1px inset #131;
+}
+
+/*
+td:hover, tr:hover td {
+     color: #ee9;
 }
+*/
 
 td img {
      padding: 0 1px 0 2px;
 }
 
 tt {
-     font: bold 8pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     font: bold 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      color: #FF0;
-     padding: 0 5px 2px 0;
+}
+
+table tt {
+     color: #770;
+     font-size: 8pt;
+}
+
+a:link tt, a:visited tt {
+     color: #494;
+}
+
+a:hover tt {
+     color: #f60;
+}
+
+a:active tt {
+     color: #f90;
 }
 
 div.main li {
@@ -643,16 +980,13 @@ div.main li {
      list-style: square;
      margin: 2px 0 2px 30px;
      padding: 2px 20px 2px 0;
-/*     line-height: 150%;*/
      word-wrap: break-word;
 }
 
-
 div.main li b {
-     color: #b70 !important;
-     letter-spacing: 0.07em;
-     font-size: 8.5pt;
-     text-shadow: 0 1px 1px #700;
+     color: #bb0 !important;
+     letter-spacing: 0.08em;
+     font-size: 9pt;
 }
 
 .tidylist {
@@ -660,40 +994,37 @@ div.main li b {
      line-height: 150%;
 }
 
-.tidylist:first-child {
-/*     padding-top: 5px;*/
-}
-
 .tidylist:last-child {
      padding-bottom: 10px;
 }
 
 .tidylist code {
      text-align: left;
-     font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      color: #dd0;
-     padding: 1px 2px;
+     padding: 1px 3px;
      background: #030;
      margin: 0 2px;
+     border-radius: 3px;
 }
 
 ol {
      display: inline;
-     margin: 1px 0 0 0;
      padding: 1px 0 0 20px;
 }
 
+ol li:first-child {
+     margin-top: 10px !important;
+}
 ul {
-/*     display: inline; */
      margin: 0;
      padding: 0;
 }
 
 code {
      text-align: left;
-     font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      color: #dd0;
-     padding: 1px 2px;
 }
 
 a:link, h2 a:link {
@@ -710,11 +1041,16 @@ a:visited {
      word-wrap: break-word;
 }
 
-a:hover {
-     color: #f60;
-     text-decoration: underline;
+a:hover, a:focus {
+     color: #f60 !important;
+     text-decoration: none;
      font-weight: bold;
      word-wrap: break-word;
+     outline: none;
+}
+
+a:active {
+     color: #f90 !important;
 }
 
 .links {
@@ -725,15 +1061,14 @@ a:hover {
 }
 
 .links li {
-     list-style-image: url("images/link.png") !important;
+     list-style-image: url(images/link.png) !important;
 }
 
 .links b {
-     color: #b70 !important;
-     letter-spacing: 0.07em;
+     color: #bb0 !important;
+     letter-spacing: 0.08em;
      font-size: 8.5pt;
      line-height: 165%;
-     text-shadow: 0 1px 1px #700;
 }
 
 p {
@@ -745,11 +1080,16 @@ p img:first-child {
      display: none !important;
 }
 
+p:empty { /* kills empty paragraphs that are likely erroneous eg. see top of /profiles?f=1, /profiles */
+     display: none;
+     border: 1px dotted #f00; /* display in order to bug hunt */
+}
+
 h1 {
      text-align: left;
      color: #EE9;
      padding: 13px 15px;
-     margin: 0 5px 0 205px !important;
+     margin: 0 5px 0 206px !important;
      font-size: 17pt;
      font-weight: bold;
      font-style: normal;
@@ -757,15 +1097,11 @@ h1 {
      letter-spacing: 0.15em;
      text-shadow: 0 0 2px #010;
      white-space: normal;
-     background: #000 url('images/header.png') center center;
+     background: #000 url(images/header.png) center center;
      border: 1px solid #494;
-     border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;
+     border-radius: 2px 2px 0 0;
      line-height: 120%;
      min-width: 620px;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
      box-shadow: 0 1px 5px #000;
 }
 
@@ -781,18 +1117,16 @@ x:-o-prefocus, span.newtab {
      margin-top: -25px;
 }
 
-h2 {
+h2, h2.welcome {
      font-size: 12pt;
-     color: #EE9;
+     color: #ee9;
      text-shadow: 0 0 2px #010;
-     letter-spacing: 0.05em;
-     background: #000 url(images/camotile2.png);
-     background: #000 url('images/header.png') center center ;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #000 url(images/header.png) center center ;
      padding: 10px;
      border: 1px solid #494;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border-radius: 2px;
      vertical-align: middle;
      margin: 15px 0 12px 0 !important;
      text-transform: uppercase;
@@ -805,19 +1139,15 @@ h2 a:visited {
 
 h2 a:hover {
      color: #f60;
-     text-shadow: 0 0 1px rgba(255, 64, 0, 0.7);
 }
 
-h3 {
+h3, h3.welcome {
      border: 1px solid #494;
      border-left: 5px solid #494;
-     padding: 6px;
+     padding: 5px 10px 6px;
      margin: 12px 0 10px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     background: #000 url(images/camotile.png);
-     background: #000 url('images/header.png') center center ;
+     border-radius: 0 2px 2px 0;
+     background: #000 url(images/header.png) center center ;
      text-transform: uppercase;
      text-shadow: 0 0 2px #010;
      letter-spacing: 0.08em;
@@ -832,57 +1162,69 @@ h4 {
      font-size: 11pt;
 }
 
+h1, h2, h3:not([id*="help"]), h4.app, h4.app2, div.routersummary h3 {
+     background: linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%) !important;
+}
+
+h2, h3, h4 {
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+     outline: none;
+     border: none;
+}
+
 button, button:visited {
-     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font: bold 9pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "DejaVu Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
      border: 1px outset #191;
-     padding: 1px 3px;
+     padding: 4px 2px !important;
      text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border-radius: 2px;
      font-size: 8pt;
      font-weight: bold;
      margin: 2px 3px;
      text-align: center;
      vertical-align: middle;
-     min-width: 70px;
-     -moz-box-shadow: inset 0 1px 1px 0 #494;
-     -khtml-box-shadow: inset 0 1px 1px 0 #191;
-     box-shadow: inset 0 1px 1px 0 #191;
+     min-width: 75px;
      background: #000;
      color: #494;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
 }
 
-button:hover {
+button:hover, button:focus {
      border: 1px solid #f60;
-     -moz-box-shadow: inset 0 1px 1px 0 #EE9;
-     -khtml-box-shadow: inset 0 1px 1px 0 #EE9;
-     box-shadow: inset 0 1px 1px 0 #EE9;
+     box-shadow: inset 0 1px 1px 0 #ee9;
      background: #000;
      color: #f60;
+     cursor: pointer;
 }
 
 button:active {
-     border: 1px inset #f60;
+     border: 1px solid #f60;
      background: #f60;
-     color: #EE9;
-     -moz-box-shadow: inset 0 0 0 0 #f60;
-     -khtml-box-shadow: inset 0 0 0 0 #f60;
-     box-shadow: inset 0 0 0 0 #f60;
+     color: #ee9;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+button.reload, button.stop {
+     min-width: 86px;
+     text-transform: capitalize;
 }
 
 .underline {
-     border-bottom: 1px solid #eeeeff;
+     border-bottom: 1px solid #ee9;
      padding: 5px 0 5px 0;
      margin: 0 0 10px 0;
 }
 
 .langbox {
-     margin: 4px 4px 2px 5px;
+     margin: 3px 4px 2px 5px;
      padding: 0;
      color: #EE9;
      font-size: 7pt;
-     width: 300px;
+     width: 350px;
      text-align: right;
      float: right;
      vertical-align: middle;
@@ -890,13 +1232,17 @@ button:active {
 
 .langbox img {
      opacity: 0.5;
-     -moz-box-shadow: 0 0 1px #000;
-     padding: 1px !important;
+     padding: 1px 2px !important;
+     transition: all 0.3s ease 0s;
 }
 
 .langbox img:hover {
      opacity: 1;
-     -moz-box-shadow: 0 0 1px #f60;
+}
+
+img[src*="bound"], img[src*="bound"]:hover {
+     filter: sepia(100%) hue-rotate(70deg) !important;
+     -webkit-filter: sepia(100%) hue-rotate(70deg) !important;
 }
 
 hr {
@@ -912,118 +1258,244 @@ hr:last-child {
      margin-bottom: 20px;
 }
 
+.joblog hr {
+     margin: 10px 0;
+}
+
+.wideload > a[href^="tunnels"] ~ hr, .wideload > a[href^="/susidns/"] ~ hr { /* tighten up /netdb (leasesets) hr */
+     margin: 10px 0;
+}
+
 .sidebarlogo {
      text-align: center;
 }
 
 input {
-     border: 1px outset #5f5;
-     -moz-box-shadow: inset 0 1px 1px 0 #373;
-     -khtml-box-shadow: inset 0 1px 1px 0 #373;
-     box-shadow: inset 0 1px 1px 0 #373;
+     border: 1px outset #191;
      background: #000;
      color: #494;
      margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "DejaVu Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     padding: 4px 2px;
      text-decoration: none;
      min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border-radius: 2px;
 }
 
-input:hover {
+input:hover, input:focus {
      background: #000;
-     color: #f60;
-     border: 1px solid #f60;
-     -moz-box-shadow: inset 0 1px 1px 0 #9e9;
-     -khtml-box-shadow: inset 0 1px 1px 0 #9e9;
-     box-shadow: inset 0 1px 1px 0 #9e9;
+     color: #f60 !important;
+     border: 1px solid #f60 !important;
+     cursor: pointer;
 }
 
-input:active {
-     background: #000;
-     color: #f30;
-     border: 1px solid #f30;
+input[type="submit"]:hover, input[type="reset"]:hover, input[type="submit"]:focus, input[type="reset"]:focus {
+     box-shadow: inset 0 1px 1px 0 #ee9 !important;
+}
+
+input[type="submit"]:active, input[type="reset"]:active, button:active {
+     box-shadow: inset 0 0 0 1px #000 !important;
+     box-shadow: inset 0 0 0 1px #000, inset 3px 3px 3px #000 !important;
 }
 
 input:active {
-     border: 1px inset #f60;
-     background: #f60;
-     color: #EE9;
+     border: 1px solid #f60 !important;
+     background: #f60 !important;
+     color: #ee9 !important;
 }
 
-input[type=text], input[type=password] {
+input[type="text"], input[type="password"] {
      background: #000;
-     color: #EE9;
+     background: linear-gradient(to bottom, #000 0%, #010 100%);
+     color: #ee9;
      margin: 5px 10px;
-     padding: 4px 2px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     padding: 4px 3px;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "DejaVu Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
      border: 1px solid #494 !important;
      text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 1px 1px 1px 0 #000;
-     -khtml-box-shadow: inset 1px 1px 1px 0 #000;
-     box-shadow: inset 1px 1px 1px 0 #000;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 3px #000;
+     cursor: text;
 }
 
-input[type=text]:active, input[type=text]:hover {
-     background: #000;
+input:invalid, input[type="file"]:invalid {
+     border: 1px dotted #f00 !important;
+}
+
+input[type="text"], input[type="password"], textarea {
+     color: #bb7 !important;
 }
 
-input[type=image] {
+input[type="image"] {
      min-width: 0;
 }
 
+input[type="checkbox"], .optbox {
+     min-width: 16px !important;
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%);
+     vertical-align: middle;
+}
+
+input[type="checkbox"]:hover, .optbox:hover, input[type="checkbox"]:focus, .optbox:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+}
+
+input[type="file"]  {
+     box-shadow: none;
+     border: none !important;
+     background: #000;
+     color: #ee9;
+     padding: 0 !important;
+     cursor: pointer;
+     margin: 5px 8px;
+}
+
+input[type="file"]:hover, input[type="file"]:active {
+     color: #f60;
+} 
+
+input[name="refreshInterval"] {
+     margin-right: 3px;
+     width: 40px;
+     text-align: right;
+}
+
+input:disabled {
+     cursor: default;
+}
+
+input[type="text"]:disabled, input[type="text"]:disabled:active, input[readonly="readonly"] {
+     color: #161 !important;
+     background: #000 !important;
+}
+
+input[class="check"] { /* nudge "check for updates" button into alignment on /configupdate */
+     margin-left: 10px !important;
+}
+
+input[name="ntcphost"], input[name="udpHost1"] {
+     width: 260px;
+}
+
 fieldset {
-overflow: hidden;
-position: relative;
+     overflow: hidden;
+     position: relative;
 }
 
 select {
      background: #000;
-     color: #EE9;
+     color: #494;
      margin: 5px 10px;
-     border: 1px solid #494;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border: 1px outset #191;
+     border-radius: 2px;
      min-width: 110px;
-     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 2px;
+     font: 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "DejaVu Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     font-weight: bold;
+     padding: 2px 16px 2px 2px;
+     cursor: pointer;
+     overflow: hidden;
+     text-overflow: ellipsis;
+}
+
+select option { /* dropdown menu reverts to normal font-weight */
+     font-weight: normal;
+     font-size: 9.5pt !important;
+     box-shadow: inset 0 0 20px 20px #000;
+     color: #fff !important;
+}
+
+select option:hover, select option:checked {
+     box-shadow: inset 0 0 20px 20px #f60;
+}
+
+select option:not(hover) {
+     color: #f00;
+     background: none;
+}
+
+select:focus, select:hover {
+     color: #f60;
+     border: 1px solid #f60;
+}
+
+select:hover {
+     box-shadow: inset 0 1px 1px 0 #ee9;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+
+select {
+     -moz-appearance: none;
+     background: #000 url(images/dropdown.png) right center no-repeat !important;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%) !important;
+}
+
+select:hover, select:active {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+
+select:focus {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
 }
 
 textarea {
      background: #000;
-     color: #EE9;
+     background: linear-gradient(to bottom, #000 0%, #010 100%) !important;
+     box-shadow: inset 0 0 3px 3px #000;
+     color: #ee9;
      padding: 5px;
      margin: 10px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
+     border-radius: 2px;
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      min-height: 100px;
      min-width: 97%;
+     width: calc(100% - 15px);
      text-align: left;
      border: 1px solid #494;
 }
 
-form {}
+textarea[cols="70"], textarea[name="levels"] {
+     width: calc(100% - 20px);
+}
 
-.proxyfooter {
-     margin: 0 20px 10px 240px;
-     padding: 20px 25px 20px 75px;
-     color: #f00;
-     font-size: 7pt;
-     text-align: right !important;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border: 1px solid #000;
-     display: none;
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     color: #ee9 !important;
+     background: #000 !important;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: filter ease 0.3s 0s;
+}
+
+input[readonly="readonly"]:focus {
+     filter: none !important;
+     -webkit-filter: none;
+     color: #161 !important;
+}
+
+textarea#advancedsettings:focus { 
+     box-shadow: inset 0 0 0 1px #880;
+     filter: none;
+     -webkit-filter: none;
+}
+
+textarea[readonly]:focus {
+     box-shadow: inset 0 0 3px 3px #000;
+}
+
+input[type="submit"], input[type="reset"], select, button { /* webkit/blink fix for oversaturated colors */
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%);
+     filter: drop-shadow(0 0 1px #131);
+     -webkit-filter: drop-shadow(0 0 1px #131);
+}
+
+input[type="submit"], input[type="reset"], button {
+     padding: 5px 4px;
 }
 
 .statusnotes {
@@ -1032,55 +1504,66 @@ form {}
      color: #EE9;
      text-align: center;
      border: 1px solid #494 !important;
-/*     border-top: 0 !important;*/
      margin: -3px 0 5px 0;
      padding: 7px;
-     background: #010;
-     -moz-box-shadow: inset 0 0 0 1px #090;
-     -khtml-box-shadow: inset 0 0 0 1px #090;
-     box-shadow: inset 0 0 0 1px #090;
-/*     background: #000 url('images/header.png') repeat-x center center !important;*/
+     background: #000;
+     background: linear-gradient(to bottom, #001400, #001000 50%, #000 100%);
 }
 
-div.joblog {
-/*     margin: 	15px 0 15px 0;
-     padding: 5px 20px 10px 20px !important;
-     border: 1px solid #494;
-     background-color: #000;
-     background: #000; url("images/camotile.png");*/
-/*     color: #dfd;*/
+.joblog {
      border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;
      text-align: justify !important;
-     overflow-x: auto; /* Opera fix */
+     margin-top: 15px !important;
  }
 
-div.joblog h3 {
-     margin-top: 10px;
+.joblog h3 {
+     margin-top: 10px !important;
 }
 
-div.main li {
-     text-align: left;
-     list-style: square;
-     margin: 2px 0 2px 30px;
-     padding: 2px 20px 2px 0;
-/*     line-height: 150%;*/
-     word-wrap: break-word;
+.joblog br {
+     margin-bottom: 5px;
 }
 
-div.joblog li {
-     word-wrap: break-word !important;
-     text-align: justify !important;
-     line-height: 120% !important;
-     margin: 2px 0 2px 30px;
-     padding: 2px 20px 2px 0;
-}
 
-div.joblog ul {
-     word-wrap: break-word !important;
-     text-align: justify;
-     margin: 0;
+.joblog ol {
+     padding: 5px 20px 5px 0;
+     -moz-column-count: 2;
+     -moz-column-width: 400px;
+     -moz-column-gap: 15px;
+     -moz-column-rule: 1px dotted #494;
+     -webkit-column-count: 2;
+     -webkit-column-width: 400px;
+     -webkit-column-gap: 100px;
+     -webkit-column-rule: 1px dotted #494;
+/* untested 
+     -ms-column-count: 2;
+     -ms-column-width: 400px;
+     -ms-column-gap: 100px;
+     -ms-column-rule: 1px dotted #494;
+*/ 
+     column-count: 2;
+     column-width: 400px;
+     column-gap: 100px;
+     column-rule: 1px dotted #494;
+}
+
+.joblog ol li {
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+     display: inline-block;
+     border-bottom: 1px dotted #494;
+     min-width: 400px;
+     width: 88%;
+     padding-bottom: 5px !important;
+}
+
+.joblog ol li:last-child {
+     border: none;
+}
+
+.joblog ol:empty {
+     display: none !important;
 }
 
 div.joblog li:first-child {
@@ -1088,7 +1571,42 @@ div.joblog li:first-child {
 }
 
 div.joblog li:last-child {
-     margin-bottom: -10px;
+     padding-bottom: 10px;
+}
+
+div.joblog ul li li li {
+     margin-bottom: 10px !important;
+}
+
+div.joblog ul li li:last-child {
+     margin-bottom: -30px;
+}
+
+h3#finishedjobs + ol li, h3#scheduledjobs + ol li, h3#activejobs + ol li, h3#readyjobs + ol li {
+    list-style: none !important;
+}
+
+h3#activejobs + ol li:before, h3#scheduledjobs + ol li:before, h3#readyjobs + ol li:before, h3#finishedjobs + ol li:before {
+     content: '\2023\00A0\00A0';
+     margin-left: -20px;
+     font-size: 15pt;
+     font-weight: bold;
+     line-height: 50%;
+     vertical-align: sub;
+     color: #393;
+}
+
+h3#finishedjobs + ol li:before {
+     color: #3D3;
+     content: '\2714\00A0';
+}
+
+h3#readyjobs + ol li:before {
+     color: #dd3;
+}
+
+h3#scheduledjobs + ol li:before {
+     color: #773;
 }
 
 div.joblog form:first-child {
@@ -1097,278 +1615,3341 @@ div.joblog form:first-child {
 
 div.joblog table {
      margin-top: 15px;
+     margin-left: 0 !important; /* removes hard-coded indentation */
+     margin-bottom: 15px;
+}
+
+div.joblog table td:first-child {
+     font-weight: bold;
 }
 
 div.joblog p {
      line-height: 140%;
 }
 
-.smallhead {
-     font-size: 7pt
+div.joblog th:first-child {
+     text-align: left;
+     padding-left: 6px;
 }
 
-.mediumtags {
-     font-size: 8.5pt;
+div.joblog th:last-child { /* kludge for broken table in /jobs .. requires additional trailing td per tr to fix */
+      width: 0;
+      height: 0;
+      padding: 0;
 }
 
-.optbox {
-     min-width: 16px !important;
-     max-width: 16px !important;
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
-     overflow: hidden;
-     position: relative;
+.joblog > .wideload > b ~ ol > li:last-child { /* jobs ol tidy */
+     margin-bottom: -10px;
 }
 
-.optbox:hover {
-     min-width: 16px !important;
-     max-width: 16px !important;
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
+/* /jobs */
+
+.main#jobs h2 {
+     border-radius: 0;
+     margin-bottom: -15px !important;
 }
 
-.cells {
-     border: 1px inset #494;
-     border-left: 1px outset #494;
+.main#jobs h3 + ol + h3 {
+     margin-top: 10px !important;
 }
 
-.tablefooter tr, .tablefooter td {
-     background: #000 url('images/header.png') repeat-x center center !important;
-     border-top: 1px solid #494;
-     border-bottom: 1px solid #494 !important;
-     font-size: 7pt;
-     line-height: 110%;
-     padding: 5px 5px 10px;
+#jobrunners ~ ol {
+     display: block;
+     margin-bottom: 5px !important;
+     margin-top: -11px !important;
+     border: 1px solid #494;
+     width: 97%;
+     width: calc(100% - 22px);
+     background: #000800;
 }
 
-.formaction {
-     text-align: right;
-     margin-bottom: -5px;
+#jobrunners ~ ol > li:last-child {
+     margin-bottom: 5px;
 }
 
-div.footnote {
-     text-align: right;
-     color: #494;
-     font-size: 7pt;
-     margin-bottom: -8px !important;
+h3[id*="jobs"] {
+     clear: both;
+     margin-top: 25px !important;
 }
 
-div.footnote hr{
-     margin: 10px 0 5px 0 !important;
-     color: #494;
-     background: #494;
-     height: 1px;
-     border: 0 solid #494;
+table#schedjobs {
+     width: 100% !important;
+     margin: -6px 0 0 !important;
 }
 
-.topness {
-     font-size: 7.5pt;
+#jobstats {
+     margin-bottom: 10px;
+}
+
+#jobstats th, #jobstats td {
      text-align: right;
-     margin-top: -5px;
-     margin-bottom: -5px;
-     margin-right: 5px;
+     padding-right: 8px !important;
 }
 
-/* begin home page */
+#jobstats tr:last-child {
+     font-weight: bold;
+}
 
-/*
-#appsummary {
-     clear: none;
-     float: none;
-     left: 10px;
-     margin: 0;
-     position: absolute;
-     top: 10px;
+#schedjobs th:first-child, #schedjobs td:first-child, #jobstats th:first-child, #jobstats td:first-child  {
+     text-align: left;
+     padding-left: 10px;
+     font-weight: bold;
 }
 
-#homemain {
-     left: 217px;
-     margin: 0 10px 10px 0;
-     position: absolute;
-     top: 10px;
+table#jobstats + hr {
+     display: none;
 }
 
-#homenews {
-     margin: 0 10px 5px 0;
+h3#totaljobstats {
+     margin-bottom: -2px;
+     margin-top: 10px !important;
 }
 
-h2.app {
-     border-radius: 8px;
-     margin: 1px 10px 15px 0 !important;
+/* end /jobs */
+
+/* /stats */
+
+form#statnav {
+     border: 1px solid #494 !important;
+     padding: 10px 10px 10px 15px;
 }
-*/
 
-h4.app, h4.app2 {
-    background: url('images/header.png') center center repeat-x;
-    border: 1px solid #449944;
-    font-size: 10pt;
-    font-variant: small-caps;
-    letter-spacing: 2px;
-    margin: 12px 0 -9px 0;
-    padding: 7px 8px 7px;
-    text-transform: uppercase;
-    border-radius: 4px;
-    text-align: left;
+h3.stats {
+     border: 1px solid #494;
+     border-radius: 0;
+}
+/*
+div.main li:last-child {
+     padding-bottom: 15px;
 }
+*/
 
-h4.app2 {
-     clear: left;
-     margin-top: 5px !important;
+div.joblog li {
+     word-wrap: break-word !important;
+     text-align: justify !important;
+     line-height: 120% !important;
+     margin: 2px 0 2px 30px;
+     padding: 2px 20px 2px 0;
 }
 
-div.ag2 {
-     margin: 0;
-     padding: 0;
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+     margin: 5px 0 -10px;
 }
 
-div.app {
-     float: left;
-     padding: 2px 0 0 !important;
-/*     width: 137px; */
-     min-width: 70px;
+ul.statlist {
+     margin: -11px 0 -31px !important;
      border: 1px solid #494;
+     padding: 10px 0 0;
      background: #000;
-     background-image: -moz-linear-gradient(center top , #000B00, #000);
-     border-radius: 3px;
-     -moz-border-radius: 3px;
-     -khtml-border-radius: 3px;
-     margin: 3px;
-     height: 53px;
-     text-align: center !important;
-     padding-top: 3px;
-     opacity: 0.9;
-     box-shadow: 0 1px 5px #000000;
+     color: #bb7;
 }
 
-div.app:hover {
-    opacity: 1;
-    border: 1px solid #f60;
-    background: #000;
-    box-shadow: none;
+ul.statlist:last-of-type {
+     margin-bottom: -10px !important;
 }
 
-div.app:last-child {
-     margin-bottom: 12px;
+ul.statlist a[name], ul.statlist b, ul.statlist li b, ul.statlist a[name]:hover {
+     color: #bb3 !important;
+     text-decoration: none;
+     letter-spacing: normal;
 }
 
-div.appgroup {
-     margin: 0;
-     padding: 16px 3px;
-     width: auto;
+ul.statlist li::before {
+     content: "\1F6C8\00A0";
+     font-size: 14pt;
+     line-height: 50%;
+     vertical-align: baseline;
+     color: #bb3;
 }
 
-div.search {
-     margin: 10px 10px 0 0;
-     padding: 8px 8px 0 8px;
-     width: auto;
+ul.statlist li {
+     line-height: 160% !important;
+     list-style: none;
+     margin-left: 10px;
 }
 
-table.search {
-     background: none;
-     padding: 8px;
-     width: auto;
-     margin-left:auto;
-     margin-right:auto;
+ul.statlist li li {
+     margin-left: 16px;
+     margin-right: -20px;
+     line-height: 120% !important;
+     list-style: none;
 }
 
-.appimg {
-     height: 35px;
+ul.statlist li li::before {
+     content: "\279F\00A0";
+     vertical-align: baseline;
+     color: #994
 }
 
-img.app {
-     height: 32px;
-     width: 32px;
-     padding: 2px 0 0;
-     margin-bottom: 2px;
+ul.statlist li li:last-child {
+     padding-bottom: 5px;
 }
 
-img.app2p {
-     height: 40px;
-     padding: 5px 6px 0 6px;
-     margin-bottom: 3px;
+li.noevents {
+     margin-bottom: 5px !important;
 }
 
-table.app {
-     background: none;
-     border: 0;
-     margin: auto;
-     width: auto;
+ul.statlist li b {
+     color: #994 !important;
 }
 
-tr.app {
-     background: none;
-     border: 0;
-     margin: 0;
+ul.statlist li li:last-child::before {
+     content: "\27A1\00A0";
+     color: #994
 }
 
-td.app {
-     background: none;
-     border: 0;
-     margin: 0;
-     padding: 3px 0 0;
+.statlist a[href*="graph"]::before {
+     content: "\1F4CA\00A0";
+     font-size: 11pt;
+     line-height: 140%;
+     font-weight: normal;     
 }
 
-div.applabel {
-     font-size: 7.5pt;
-     margin: 0;
-     padding: 2px;
-     text-align: center;
-     vertical-align: bottom;
-     line-height: 95%;
-     text-transform: lowercase;
-     border: none;
-/*     width: 131px; */
-     min-width: 72px;
-     background: #010;
-     border-radius: 0 0 2px 2px;
-     border-top: 1px solid #494;
+.main#stats form {
+     border: 1px solid #494;
+     padding: 10px;
+     margin: -13px 0 -11px;
 }
 
-div.applabel:hover {
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ul.statlist {
+     margin: -11px 0 -25px !important;
+}
+}
+
+ul.statlist li li:last-child {
+     margin-bottom: -20px !important;
+}
+
+ul.statlist:last-of-type {
+     margin-bottom: -5px !important;
+}
+
+li.noevents {
+     padding: 0 0 20px !important;
+}
+}
+
+.main#stats h3 a:hover {
+     color: #ee9 !important;
+}
+
+/* end stats */
+
+
+
+/* /eventlogs */
+
+table#eventlog {
+     margin-top: -21px;
+     margin-bottom: 10px;
+}
+
+table#eventlog td {
+     padding: 3px 10px;
+}
+
+form[action="events"] {
      background: #000;
-     border-top: 1px solid #f60;
 }
 
-div.applabel a, div.applabel a:hover {
-     text-decoration: none !important;
-     outline: none;
+th.smallhead {
+     border: 1px inset #131;
 }
 
+.smallhead {
+     font-size: 8pt
+}
 
-/* end home page */
+.smallhead a:hover {
+     text-decoration: none;
+}
 
-iframe.iframed {
-     margin: 10px 0 0;
+.smallhead a img:hover {
+     filter: drop-shadow(0 0 1px #f60);
 }
 
-/* Fixes for when app is not started and console error loads inside iframe */
+.mediumtags {
+     font-size: 9pt;
+}
 
-body.iframed {
-     background: transparent url('images/transparent.gif') !important;
+.optbox {
+     min-width: 16px !important;
+     max-width: 16px !important;
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 2px 4px;
+     padding: 2px;
+     overflow: hidden;
+     position: relative;
 }
 
-.iframed div.routersummaryouter {
-     display: none !important;
+.cells {
+     border: 1px inset #131;
+     /*border-left: 1px outset #141;*/
+     text-align: center;
 }
 
-.iframed h1 {
-     margin: 0 5px 0 5px !important;
+.tablefooter tr, .tablefooter td {
+     background: #000 url(images/header.png) repeat-x center center !important;
+     background: linear-gradient(to bottom, #001400, #001000 50%, #000 100%) !important;
+     border-top: 1px solid #494;
+     border-bottom: 1px solid #494 !important;
+     line-height: 110%;
+     padding: 6px 10px;
 }
 
-.iframed div.sorry {
-     margin: -1px 5px 10px 5px !important;
+.formaction {
+     text-align: right;
+     margin-bottom: -5px;
 }
 
-/* end iframed console fixes */
+h3[id$="con"] { /* peers h3 + tables */
+     margin-bottom: -2px;
+     border-radius: 0;
+     padding: 6px 10px;
+     font-size: 10pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     background: #000;
+     background: linear-gradient(to right, #000 0%, #001000 70%, #001300 90%);
+     border: 1px solid #494;
+}
+
+h3[id="udpcon"] {
+     width: auto;
+}
+
+table#udpconnections table {
+     overflow-x: auto !important;
+}
+
+table#udpconnections th {
+      padding: 5px 2px;
+}
+
+table#udpconnections table i {
+     font-weight: bold;
+     line-height: 150%;
+     letter-spacing: 0.1em;
+}
+
+#udpconnections tr a img {
+      margin-top: 3px !important;
+}
+
+#udpconnections tr:hover, #ntcpconnections tr:hover, #jobstats tr:hover, #schedjobs tr:hover {
+     background: #020;
+}
+
+#udpconnections tr td, #ntcpconnections tr td {
+     color: #bb7;
+}
+
+#udpconnections td:first-child {
+     width: 50px;
+     padding: 2px 4px;
+     white-space: nowrap;
+}
+
+#udpconnections tr:hover td, #ntcpconnections tr:hover td {
+     color: #ee9;
+}
+
+#udpconnections tr.tablefooter td {
+     color: #ee9;
+}
+
+#udpconnections tr.tablefooter:hover td {
+     border-top: 1px solid #494;
+}
+
+#udpconnections tr.tablefooter td:first-child {
+     padding-left: 9px;
+}
+
+#udpconnections td[class="cells"]:first-child, #ntcpconnections td[class="cells"]:first-child {
+	  width: 50px;
+	  white-space: nowrap;
+	  text-align: right;
+}
+
+#udpconnections td > *, #ntcpconnections td > *,
+#profiles td > *, #floodfills td > * {
+     vertical-align: middle !important;
+}
+
+#ntcpconnections td[class="cells"]:last-child {
+     font-weight: bold !important;
+     width: 100px;
+}
+
+table#ntcpconnections {
+     overflow-x: scroll !important;
+}
+
+pre#transports {
+     border: 1px solid #494;
+     padding: 15px 0 5px 15px;
+     margin: 0 20px 0 0;
+     background: #000;
+     width: calc(100% - 17px);
+}
+
+a[name="chelp"]:hover, a[name="help"]:hover, a[name="chelp"]:active, a[name="help"]:active { /* hide /help anchorpoints */
+     color: #ee9 !important;
+     text-decoration: none;
+     text-shadow: none;
+}
+
+#oldhome input[type="checkbox"] {
+     vertical-align: sub;
+     min-width: 16px;
+     min-height: 16px;
+}
+
+.homelinkedit td:first-child {
+     width: 115px;
+}
+
+.homelinkedit th:nth-child(3), .homelinkedit th:last-child {/* /confighome */
+     text-align: left !important;
+     text-transform: none !important;
+     padding-left: 5px;
+}
+
+.homelinkedit input[type="text"] {
+     margin-left: 0;
+}
+
+.homelinkedit tr:nth-last-child(1) td:first-child {
+     text-align: right;
+}
+
+#config_homepage input.delete {
+     float: left;
+}
+
+.formaction#homesites {
+     margin-bottom: -2px !important;
+}
+
+.formaction#homeapps, .formaction#homesites, .formaction#tunnelconfigsave, .formaction#homesearch, .formaction#sidebardefaults {
+     border: 1px solid #494;
+     padding: 5px;
+     background: #000;
+     margin-top: -2px;
+}
+
+.formaction#themeui {
+     border: 1px solid #494;
+     padding: 5px;
+     margin: 5px -8px -1px;
+}
+
+.formaction#homesearch {
+     margin-bottom: -2px !important;
+}
+
+tr#addnew, tr#addnew:hover {
+     border-top: 1px solid #494;
+     background: #000800;
+}
+
+/* /configui lang selection boxes + theme selection */
+
+div.themechoice {
+     background: #000;
+     background: linear-gradient(to bottom, #010 0%, #000 100%);
+     width: 110px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     border: 1px solid #262;
+     float: left;
+     text-align: center;
+     padding: 0 4px;
+     margin: 4px;
+     border-radius: 2px;
+}
+
+/* fixes weird height variation */
+/*
+@-moz-document url-prefix() {
+div.themechoice {
+     min-height: 75px;
+}
+}
+*/
+
+.themechoice:hover {
+     border: 1px solid #f60;
+     background: #000;
+}
+
+.themechoice object {
+     opacity: 0.6;     
+}
+
+.themechoice .optbox:checked + object {
+     filter: none;
+     -webkit-filter: none;
+     opacity: 1;
+}
+
+.themechoice:hover object {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     transition: ease filter 0.3s 0s;
+}
+
+.themechoice:hover .themelabel {
+     border-top: 1px solid #f60 !important;
+     background: #000;
+}
+
+.themechoice:active .themelabel {
+     background: #f60 !important;
+     color: #ee9 !important;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.themechoice .optbox:hover + object ~ .themelabel {
+     color: #f60;
+}
+
+.themechoice .optbox:checked + object ~ .themelabel {
+     background: #030 !important;
+     color: #ee9;
+     font-weight: bold;
+     box-shadow: none !important
+}
+
+.themechoice .optbox {
+     min-width: 114px !important;
+     min-height: 72px !important;
+     outline: 1px !important; /* placement guide */ 
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     margin-left: -33px;
+     z-index: 999;
+     position: absolute;
+}
+
+/*
+.themechoice .optbox + img {
+     padding: 3px 0 !important;
+}
+*/
+
+.themechoice object {
+     padding: 3px 0;
+}
+
+.themechoice img {
+     padding: 3px 0;
+}
+
+@-moz-document url-prefix() { /* fixes weird height variation */
+.themechoice img {
+     padding-bottom: 0 !important;
+}
+}
+
+div#themeoptions {
+     clear: both;
+     padding-top: 5px;
+}
+
+#themeoptions input {
+     margin-left: 5px;
+}
+
+div.themelabel {
+     border-top: 1px solid #262 !important;
+     margin-left: -4px;
+     margin-right: -4px;
+     padding: 4px 2px 5px;
+     background: #001000;
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%);
+     color: #bb7;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+}
+
+h3#themeheading, h3#langheading, h3#passwordheading {
+     border-radius: 0;
+     border: 1px solid #494;
+     padding: 6px 10px;
+     font-size: 10.5pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     margin-bottom: 0;
+     background: #000;
+     background: linear-gradient(to right, #000 0%, #001000 70%, #001300 90%);
+}
+
+div#themesettings {
+     clear: both;
+     border: 1px solid #494;
+     padding: 8px 7px 0;
+     margin: -1px 0;
+     background: #000;
+}
+
+#themesettings hr {
+     display: none;
+}
+
+td#themeselect {
+     clear: both;
+     border: 1px solid #494;
+     padding: 8px 7px 0;
+     margin: -1px 0;
+}
+
+/*
+#themeselect hr {
+     display: inline !important;
+}
+*/
+
+.langselect { /* containing box for lang selection */
+     background: #000;
+     background: linear-gradient(to bottom, #010 0%, #000 80%);     
+     width: 110px;
+     float: left;
+     margin: 4px;
+     text-align: center;
+     border: 1px solid #262;
+     padding: 8px 4px 0;
+     border-radius: 2px;
+}
+
+.langselect:hover {
+     border: 1px solid #f60;
+     background: #000;
+}
+
+/* can we use the flags as the radio icon? */
+
+.langselect img {
+     border: 1px solid #002000;
+     margin-bottom: 2px !important;
+     margin-top: -2px !important;
+}
+
+.langselect .optbox {
+     opacity: 0;
+     outline: 1px dotted !important;
+     min-height: 60px;
+     min-width: 111px !important;
+     margin: -5px 0 -30px -2px;
+     vertical-align: text-bottom;
+     text-align: center;
+     z-index: 999;
+}
+
+.langselect img {
+     border: 1px solid #002000;
+     margin-bottom: 0;
+     margin-left: -65px;
+     margin-top: 7px !important;
+     position: absolute;
+}
+
+.langselect img[src="/flags.jsp?c=a1"] {
+     width: 16px !important;
+     height: 11px !important;
+}
+
+.langselect input:hover + img {
+     box-shadow: 0 0 2px 1px #f60;
+     transition: ease box-shadow 0.3s 0s;
+}
+
+.langselect input:hover + img + div.ui_lang {
+     color: #f60;
+     border-top: 1px solid #f60;
+     background: #000;
+}
+
+.langselect:hover .ui_lang {
+     border-top: 1px solid #f60;
+     background: #000;
+     color: #f60;
+}
+
+.langselect:active .ui_lang {
+     background: #f60 !important;
+     color: #ee9 !important;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.langselect input[name="lang"]:checked + img, .langselect input[name="lang"]:checked + #config_ui img[src="/flags.jsp?c=a1"] {
+     width: 19px !important;
+     height: 13px !important;
+     border: 1px solid #f60;
+     box-shadow: 0 0 1px #f30;
+     margin-top: 6px !important;
+     margin-left: -67px;
+}
+
+.langselect input[name="lang"]:checked + img + div.ui_lang {
+     background: #030 !important;
+     color: #ee9;
+     font-weight: bold;
+}
+
+/* end flag as radio icons */
+
+div.ui_lang { /* lang text label */
+     text-align: center;
+     background: #001000;
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%);
+     padding: 3px 2px 4px;
+     overflow: hidden;;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     margin: 10px -4px 0 !important;
+     border-top: 1px solid #262;
+     border-radius: 0 0 2px 2px;
+     text-transform: capitalize;
+     color: #bb7;
+}
+
+p#helptranslate {
+     clear: both;
+     padding: 6px 10px 10px;
+     text-align: right;
+}
+
+h3#langheading {
+     margin-bottom: 0;
+}
+
+div#langsettings {
+     border: 1px solid #494;
+     padding: 8px 7px 12px;
+     margin-top: -1px;
+     margin-bottom: -12px;
+     background: #000;
+}
+
+#langsettings hr {
+     display: none;
+}
+
+.formaction#langui {
+     margin: -10px -8px -15px;
+     padding: 5px;
+     border: 1px solid #494;
+     background: #000;
+}
+
+/* console password layout */
+
+h3#passwordheading {
+     margin-top: 25px;
+     margin-bottom: -2px;
+}
+
+table#consolepass th:nth-child(2) {
+     text-align: left;
+}
+
+table#consolepass td:first-child {
+     width: 100px;
+     white-space:nowrap; 
+}
+
+table#consolepass th {
+     padding: 5px;
+}
+
+table#consolepass td {
+     padding: 2px 3px;
+}
+
+table#consolepass td {
+     border-bottom: 1px solid #494;
+     padding: 5px 10px;
+}
+
+table#consolepass input {
+     margin: 5px;
+}
+
+table#consolepass td#pw_adduser {
+     padding: 5px 10px;
+     background: #000;
+}
+
+td#pw_adduser input {
+     margin: 5px 20px 5px 5px !important;
+}
+
+table#consolepass input[name="name"] {
+     margin-right: 20px;
+}
+
+table#consolepass input[type="password"] {
+     width: 200px;
+}
+
+.formaction#consolepass {
+     margin-bottom: -2px !important;
+     margin-top: -2px;
+     border: 1px solid #494;
+     padding: 5px;
+     background: #000;
+}
+
+#consolepass input[name="name"], #externali2cp input[name="user"] {
+     background: #000 url(/themes/console/images/buttons/user.png) 5px center no-repeat;
+     background: url(/themes/console/images/buttons/user.png) 5px center no-repeat, linear-gradient(to bottom, #000 0%, #010 100%);
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px, 100% 100% !important;
+}
+
+#consolepass input[name="name"]:focus, #externali2cp input[name="user"]:focus {
+     background: #000 url(/themes/console/images/buttons/user.png) 5px center no-repeat !important;
+}
+
+#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"] {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat;
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat, linear-gradient(to bottom, #000 0%, #010 100%);
+     padding: 4px 5px 4px 22px !important;
+     background-size: 16px 16px, 100% 100% !important;
+}
+#consolepass input[name="nofilter_pw"]:focus, #externali2cp input[name="nofilter_pw"]:focus {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat !important;
+}
+
+/* end /configui mods */
+
+form[action="/createreseed"] > h3 {
+     border-radius: 0;
+     border: 1px solid #494;
+     padding: 10px;
+     font-size: 10.5pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     background: linear-gradient(to right, #000 0%, #001000 70%, #001300 90%);
+     margin-bottom: -13px;
+}
+
+table#configclient {
+     margin-top: -11px !important;
+}
+
+/* configfamily */
+
+table#newfamily {
+     margin-bottom: 10px !important;
+}
+
+/* configreseed */
+
+table#reseedconfig input[type="text"], table#reseedconfig input[type="password"] {
+     width: 170px;
+}
+
+#reseedconfig input, #reseedconfig textarea {
+     margin-left: 0;
+}
+
+#reseednow {
+     margin-top: -16px !important;
+}
+
+.formaction#resetreseed {
+     margin: -4px -5px 0 0;
+}
+
+table#reseedconfig textarea, #i2pupdates textarea {
+     width: 100%;
+/*     width: calc(100% - 5px);*/
+     resize: none;
+}
+
+.formaction#shutdown, .formaction#restart, .formaction#systray, .formaction#runonstart, .formaction#dumpthreads, .formaction#browserstart {
+     border: 1px solid #494;
+     padding: 5px;
+     background: #000;
+     margin-top: -11px;
+     margin-bottom: 8px;
+}
+
+ul#banlist {
+     margin-top: -2px;
+}
+
+/* /confignet */
+
+h3#iptransport {
+     margin-bottom: 11px;
+}
+
+p#defaultswork {
+     margin-bottom: 11px !important;
+}
+
+p#upnpconfig, p#ipchange, p#ipv6config, p#tcpconfig, p#confignotes, p#defaultswork {
+     padding: 10px;
+     border: 1px solid #494;
+     margin-bottom: -13px;
+     margin-top: -12px;
+}
+
+p#defaultswork {
+     padding: 15px 10px 15px 45px !important;
+}
+
+p#confignotes {
+     margin-bottom: -21px;
+     padding: 15px 15px 15px 50px;
+     background: url(images/infohelp.png) 12px center no-repeat;
+}
+
+p#ipconfig, p#ipv4config, p#udpconfig, p#externaltcp {
+     border: 1px solid #494;
+     border-bottom: none;
+     padding: 10px;
+     background: #001000;
+}
+
+table#bandwidthconfig {
+     margin-bottom: 1px;
+}
+
+table#bandwidthconfig td:first-child {
+     width: 200px;
+     white-space: nowrap;
+     font-weight: bold;
+}
+
+table#bandwidthconfig {
+     padding: 5px 10px !important;
+}
+
+table#bandwidthconfig input, table#bandwidthconfig select {
+     margin-right: 3px;
+}
+
+/* end /confignet */
+
+/* /events */
+
+div.eventspanel {
+     margin-top: -10px;
+}
+
+form[action="events"] {
+     border: 1px solid #494;
+     margin-top: -11px;
+     padding: 10px 20px 10px;
+     margin-bottom: 20px;
+}
+
+form[action="events"] > br {
+     display: none;
+}
+
+form[action="events"] > .formaction {
+     margin-bottom: -11px !important;
+     margin-right: -21px;
+     margin-left: -21px;
+}
+
+.eventspanel th {
+     text-align: left;
+     padding-left: 10px;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+.eventspanel table {
+     font-size: 9pt;
+}
+
+.eventspanel table tr:hover {
+     background: #002000;
+}
+
+.eventspanel table td {
+     padding: 5px 10px;
+} 
+
+table#addkeyring td:first-child {
+     width: 170px;
+     white-space: nowrap;
+     font-weight: bold;
+     padding-right: 0;
+}
+
+table#addkeyring tr:last-child {
+     border-top: 1px solid #494;
+     background: #000;
+}
+
+table#addkeyring tr:last-child td {
+     padding-right: 6px;
+}
+
+#addkeyring textarea, #addkeyring input[type="text"] {
+     width: 95%;
+     width: calc(100% - 15px);
+}
+
+p#keyringhelp, p#webappconfig, p#availableplugins, p#pluginconfigtext, p#clientdefaultshelp, p#bwshare, p#editclients, p#upnpstatus, p#gatherstats {
+     background: #000 url(images/infohelp.png) 12px center no-repeat;
+     border: 1px solid #494;
+     padding: 15px 15px 15px 50px;
+}
+
+#webappconfig th:first-child {
+     text-align: right;
+}
+
+p#availableplugins {
+     margin: 12px 0 -1px;
+}
+
+p#webappconfig + p, p#pluginconfigtext {
+     margin-bottom: -1px;
+}
+
+#pluginconfig th:first-child, #pluginconfig td:first-child {
+     text-align: right;
+     width: 100px;
+     white-space: nowrap;
+     padding-right: 50px;
+}
+
+#pluginconfig td:last-child table {
+     padding: 5px;
+     margin: 5px 15px 5px 5px !important;
+     width: 99%;
+     width: calc(100% - 8px);
+}
+
+#pluginconfig table {
+     border: 1px solid #151;
+     filter: drop-shadow(0 0 3px #000);
+     -webkit-filter: drop-shadow(0 0 3px #000);
+}
+
+#pluginconfig table td:first-child {
+     width: 70px !important;
+     white-space: nowrap;
+     padding-right: 5px;
+}
+
+/* /advanced */
+
+input[name="ff"] + br {
+     display: none;
+}
+
+input[name="ff"] + br + input[name="ff"] + br {
+     display: none;
+}
+
+.wideload > form > input[type="hidden"] + table  + p + hr + .formaction {
+     border-left: none;
+     border-right: none;
+}
+
+input[type="hidden"] + p {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-bottom: -21px;
+     background: #000;
+}
+
+form[action="configclients"]:first-child > input[type="hidden"] + p {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-top: -1px !important;
+     margin-bottom: -21px;
+     background: #000;
+}
+
+input[type="hidden"] + p + p {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-top: 20px;
+     margin-bottom: -21px;
+     background: #001000;
+}
+
+h3#exploratorytunnels {
+     margin-top: 15px;
+}
+
+h3.tabletitle + .statusnotes, table.tunneldisplay {
+     margin-top: -1px;
+}
+
+.statusnotes + .statusnotes {
+     margin-top: -6px;
+}
+
+.statusnotes:last-child {
+     margin-bottom: 10px;
+}
+
+form > table {
+     font-size: 9pt;
+}
+/* configtunnels */
+
+table#tunnelconfig td:first-child {
+     font-weight: bold;
+}
+
+.formaction#tunnelconfigsave {
+     margin-top: -32px !important;
+}
+
+/* end /configtunnels */
+
+/* /configupdate */
+
+table#i2pupdates {
+     margin-top: 11px;
+     margin-bottom: 10px;
+}
+
+table#i2pupdates td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     padding-left: 10px;
+}
+
+table#i2pupdates td {
+     padding: 2px 3px;
+}
+
+#i2pupdates .optbox {
+     margin-left: 10px;
+}
+
+table#i2pupdates input[name*="URL"], table#i2pupdates textarea {
+     width: 98%;
+     width: calc(100% - 17px);
+}
+
+table#i2pupdates tr:last-child td {
+     padding-right: 6px;
+     background: #000 !important;
+}
+
+form[action="graphs"] {
+     border: 1px solid #494;
+     padding: 10px 10px 0 !important;
+     background: #000;
+     margin-top: -11px;
+     margin-bottom: 10px;
+}
+
+.formaction#graphing {
+     margin: -4px -5px 5px !important;
+     border-left: none;
+     border-right: none;
+}
+
+.main#graphs hr {
+     margin: 10px -10px 8px !important;
+}
+
+h3#graphdisplay a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     float: right;
+     font-size: 9pt;
+}
+
+/* /configlogging */
+
+input[name="logfilename"], input[name="logformat"], input[name="logdateformat"], input[name="logfilesize"], select[name="defaultloglevel"], select[name="newloglevel"] {
+     width: 125px;
+}
+
+table#loggingoptions td {
+     padding: 6px;
+}
+
+table#loggingoptions td:first-child {
+     width: 110px;
+     white-space: nowrap;
+     padding-right: 3px;
+}
+
+#loggingoptions td:nth-child(2) {
+     width: 170px;
+}
+
+#loggingoptions td:nth-child(4) {
+     width: auto;
+}
+
+#loggingoptions tr:nth-last-child(2) {
+     white-space: nowrap;
+}
+
+#loggingoptions tr:last-child td {
+     padding: 5px 4px;
+     text-align: right;
+}
+
+#loggingoptions input[type="text"], #loggingoptions select, #loggingoptions textarea {
+     min-width: 170px !important;
+     margin: 3px;
+}
+
+#loggingoptions textarea {
+     width: 99%;
+     width: calc(100% - 8px);
+     margin-bottom: 8px;
+}
+
+#loggingoptions select[name="newlogclass"] {
+     width: calc(100% - 185px);
+}
+
+/* configsidebar */
+
+
+#config_summarybar .configtable td:not(.optionsave) {
+     padding-left: 45px;
+     background: url(/themes/console/images/info/interval.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+table#sidebarconf {
+     margin-top: -1px;
+}
+
+#sidebarconf tr:hover, .homelinkedit tr:hover {
+     background: #002000;
+}
+
+#sidebarconf + .formaction {
+     margin-bottom: -3px !important;
+}
+
+#sidebarconf button {
+     margin: 2px;
+     padding: 1px;
+     min-width: 0;
+}
+
+#sidebarconf button img {
+     width: 12px;
+     height: auto;
+}
+
+#sidebarconf th:nth-child(1) {
+     text-align: center;     
+}
+
+#sidebarconf th:nth-child(2) {
+     text-align: left;     
+}
+
+#sidebarconf td:first-child {
+     width: 60px;
+}
+
+#sidebarconf td:nth-child(2) {
+     font-weight: bold;     
+}
+
+#sidebarconf td:nth-child(3), #sidebarconf td:nth-child(4) {
+     width: 70px;
+     padding: 0;  
+}
+
+#sidebarconf td:nth-child(3) {
+     padding-left: 0;
+}
+
+#sidebarconf td:nth-child(4) {
+     text-align: left;
+     padding-right: 0;
+}
+
+#sidebarconf tr:last-child {
+     background: #000;
+     border-top: 1px solid #494;
+}
+
+#sidebarconf tr:last-child td:last-child {
+     padding: 0;
+     text-align: left;
+}
+
+#sidebarconf select {
+     margin-left: 0;
+     width: 100%;
+}
+
+#sidebarconf th:nth-child(1), .homelinkedit th:first-child {
+     text-align: center;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+     text-indent: -99999px;
+}
+
+/* end configsidebar */
+
+/* /configservice */
+
+h3#shutdownrouter, h3#restartrouter, h3#servicedebug, h3#browseronstart, h3#rononstartup, h3#systray {
+     margin-bottom: -6px;
+}
+
+h3#shutdownrouter + p, h3#restartrouter + p, h3#servicedebug + p, h3#browseronstart + p, h3#runonstartup + p, h3#systray + p { /* info paragraphs */
+     border-bottom: none;
+     margin: 5px 0 -20px !important;
+}
+
+h3#servicedebug + p + p {
+     padding: 10px;
+     border: 1px solid #494;
+     border-bottom: none;
+     margin-bottom: -21px;
+     background: #001000;
+     margin-top: 20px;
+}
+
+h3#servicedebug a, h3#graphinfo a {
+     float: right;
+     font-size: 9pt;
+     text-transform: none;
+     letter-spacing: normal;
+}
+
+.main#tunnels h3 {
+     padding-right: 5px;
+}
+
+.main#tunnels h3 a {
+     float: right;
+}
+
+.main#tunnels h3 a:not(old), #criticallogs + h3.tabletitle a:not(old) {
+     font-size: 0;
+}
+
+.main#tunnels h3 a[href^="/configtunnels#"]::after, #criticallogs + h3.tabletitle a::after {
+     content: url(/themes/console/images/buttons/configure.png);
+     float: right;
+     padding: 0;
+     
+}
+
+.main#tunnels h3 a[href^="/configtunnels#"]:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+/* configclients */
+
+table#clientconfig th:first-child {
+     text-align: right;
+     padding-right: 5px;
+}
+
+table#clientconfig th:last-child {
+     text-align: left;
+     padding-left: 5px;
+}
+
+.formaction#clientsconfig, .formaction#webappconfigactions, .formaction#pluginconfigactions {
+     border: 1px solid #494;
+     padding: 5px;
+     background: #000;
+     margin-bottom: -1px;
+}
+
+.formaction#webappconfigactions, .formaction#pluginconfigactions {
+     margin-top: -2px;
+}
+
+table#externali2cp {
+     margin-bottom: 4px !important;
+}
+
+.infohelp#clientconf {
+     margin-bottom: -2px;
+}
+
+/* end /configclients */
+
+/* /help */
+
+.main#help h3 {
+    padding: 7px 10px;
+    font-size: 11pt;
+}
+
+div#volunteer {
+     border: 1px solid #494;
+     padding: 0 20px;
+     margin: 15px 0 10px !important;
+}
+
+div#legal, div#sidebarhelp, div#volunteer, div#reachabilityhelp, div#configurationhelp, div#advancedsettings {
+     border: 1px solid #494;
+     padding: 0 20px;
+     margin: 10px 0;
+     background: #000;
+}
+
+div#volunteer {
+     background: #000 url(images/scarface.jpg) right bottom no-repeat;
+     background-size: auto 75%;
+}
+
+div#advancedsettings {
+     padding: 0 15px 10px;
+}
+
+.main#help h2 {
+     font-size: 12pt;
+}
+
+div#legal h2, div#sidebarhelp h2, div#volunteer h2, div#reachabilityhelp h2, div#configurationhelp h2, div#advancedsettings h2 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: -1px -21px 10px !important;
+     background: linear-gradient(to right, #000 0%, #001000 70%, #001300 90%);
+}
+
+div#advancedsettings h2 {
+          margin: -1px -16px 15px !important;
+}
+
+table#configinfo { 
+     border: none !important;
+     margin: 0 auto 0;
+     width: 99%;
+     width: calc(100% - 20px);
+}
+
+#configinfo th {
+     text-align: left;
+     padding: 5px 0;
+     color: #dd0;
+     letter-spacing: 0.05em;
+     background: #000 !important;
+     border: none;
+     border-bottom: 1px solid #131 !important;
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+#configinfo td {
+     padding: 5px 15px;
+     line-height: 140%;
+     background: #000;
+     text-align: justify;
+}
+
+#configinfo .infowarn {
+     border: none;
+     border-bottom: 1px solid #000;
+     box-shadow: none;
+     background-size: 20px 20px !important;
+     padding: 7px 10px 7px 36px !important;
+}
+
+.main#help h2 a:hover {
+     color: #ee9 !important;
+}
+
+div#sidebarhelp h3 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 10.5pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: 0 -21px 10px !important;
+     background: linear-gradient(to right, #000 0%, #001000 70%, #001300 90%);
+     border: 1px solid #494;
+}
+
+div#changelog h2 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: 0 0 -11px !important;
+}
+
+div#changelog pre {
+     padding: 10px 10px 10px 20px;
+     max-height: 600px;
+     overflow-y: scroll;
+     width: calc(100% - 32px);
+     border-left: 1px solid #494;
+     border-right: 1px solid #494;
+     margin-top: 11px;
+     background: #000;
+}
+
+p#fullhistory {
+     text-align: right;
+     margin-top: -20px;
+     border: 1px solid #494;
+     border-top: none;
+     padding: 10px 10px 5px 10px;
+     background: #000;
+}
+
+ul#upnphelp li:last-child, #legal ul li:last-child {
+     padding-bottom: 0;
+}
+
+/* netdb (main section) */
+
+table#netdboverview {
+     margin-bottom: 10px;
+}
+
+#netdboverview td {
+     padding: 0;
+}
+
+#netdbversions, #netdbtransports, #netdbcountrylist {
+     border: 1px solid #131 !important;
+     margin-bottom: 0;
+}
+
+#netdbtransports {
+     border-left: 1px solid transparent !important;
+     border-right: 1px solid transparent !important;
+}
+
+#netdbtransports th, #netdbtransports td {
+     padding-left: 10px !important;
+     padding-right: 10px !important;
+}
+
+#netdbversions th, #netdbtransports th, #netdbcountrylist th {
+     border-top: 1px solid transparent !important;
+     padding: 3px 5px;
+     line-height: 150%;
+}
+
+#netdbversions td, #netdbtransports td, #netdbcountrylist td {
+     padding: 5px;
+}
+
+table[cellspacing="30"] > tbody > tr > th[colspan="3"] { /* netdb header */
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+table[cellspacing="30"] > tbody > tr > td {
+     padding: 8px;
+}
+
+table[cellspacing="30"] > tbody > tr > td > table > tbody > tr > th:first-child {
+     text-align: left;
+     padding: 5px;
+}
+
+table[cellspacing="30"] > tbody > tr > td:first-child > table > tbody > tr > th:first-child {
+     text-align: center;
+}
+
+/* /netdb - Sybil */
+
+th > img[src^="/imagegen"] { /* scale down header images */
+     height: 24px;
+     width: 24px;
+     border-radius: 2px;
+     border: 1px solid #000;
+}
+
+/* logs */
+
+#criticallogs ul { /* tidy router logs ul */
+     border: 1px solid #494;
+     margin: -6px -11px !important;
+}
+
+table#enviro, table#criticallogs, table#routerlogs, table#eventlogs, table#wrapperlogs {
+     margin-top: -11px;
+}
+
+table#bugreports {
+     margin-top: 15px;
+}
+
+table#bugreports td {
+     background: url(images/infohelp.png) 12px center no-repeat !important;
+     padding: 15px 10px 15px 50px;
+}
+
+table#enviro td {
+     font-weight: normal !important;
+     padding: 5px 10px;
+}
+
+table#enviro td:first-child {
+     width: 100px;
+     text-align: right;
+     padding-right: 0;
+}
+
+table#criticallogs td , table#routerlogs td, table#eventlogs td, table#wrapperlogs td {
+     font-weight: normal !important;
+     padding: 5px 10px;
+     border-top: 1px solid #494;
+}
+
+table#criticallogs tr:first-child {
+     display: none;
+}
+
+table[id$="logs"] tr:nth-child(odd){
+     background: #010;
+}
+
+table[id$="logs"] tr:nth-child(even){
+     background: #000;
+}
+
+table[id$="logs"] ul {
+     margin: 5px 10px -5px -15px !important;
+}
+
+table[id$="logs"] li::first-line {
+     font-weight: bold;
+}
+
+table#wrapperlogs {
+     width: 100%;
+     table-layout: fixed;
+     margin-bottom: 10px;
+}
+
+#wrapperlogs tr:last-child td {
+     padding: 0 !important;
+}
+
+#wrapperlogs pre {
+     margin-bottom: 0 !important;
+     white-space: pre-wrap;
+     width: 99%;
+     width: calc(100% - 5px);
+     resize: none;
+     max-height: 600px;
+     padding: 0 0 0 5px !important;
+}
+
+
+
+/*
+a[name="criticallogs"] ~ h3 + p {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-top: -11px;
+     margin-bottom: 10px;
+}
+
+a[name="criticallogs"] ~ h3 + p ~ h3 + a[href="events"] + h3 + a[name="servicelogs"] + p {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-top: -11px;
+     margin-bottom: 10px;
+}
+
+a[name="criticallogs"] ~ h3 + p ~ h3 + a[href="events"] + h3 + a[name="servicelogs"] + p + pre {
+     border: 1px solid #494;
+     padding: 10px;
+     width: calc(100% - 22px) !important;
+     margin-top: -11px;
+     margin-bottom: 10px;
+}
+
+a[name="servicelogs"] + p + pre {
+     border: 1px solid #f60;
+}
+*/
+
+.logtable ul li {
+     list-style: none !important;
+     margin-left: 15px;
+}
+
+.logtable ul li::before {
+     content: "\26A0\00A0";
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
+     color: #ff0;
+}
+
+/* /profiles */
+
+table#profiles tr:hover, table#floodfills tr:hover {
+     background: #030;
+}
+
+table#profiles tr:hover td, table#floodfills tr:hover td {
+     color: #ee9;
+}
+
+table#profiles th, table#profiles td {
+     text-align: right;
+     padding-left: 5px;
+}
+
+table#profiles td {
+     color: #bb7;
+}
+
+table#profiles td:nth-child(2), table#profiles th:nth-child(2) {
+     text-align: left;
+}
+
+table#profiles td:first-child, table#profiles th:first-child {
+     width: 40px;
+}
+
+table#profiles td:first-child {
+     text-align: right !important;
+     padding-left: 3px !important;
+}
+
+table#profiles td:first-child, table#profiles th:first-child, table#profiles td:nth-last-child(2), table#profiles th:nth-last-child(2) {
+     white-space: nowrap;
+     text-align: center;
+}
+
+table#profiles td:last-child {
+     text-align: right;
+     width: 60px;
+     white-space: nowrap;
+}
+
+table#profiles td[colspan="7"] { /* profile class separator */
+     background: #040;
+     padding: 1px;
+     border: 1px inset #000;
+}
+
+a[href^="configpeer?peer"] {
+     font-size: 0;
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
+}
+
+a[href^="configpeer?peer"]::after {
+     content: url(/themes/console/images/buttons/edit.png);
+     vertical-align: bottom;
+     margin-left: 4px;
+}
+
+a[href^="configpeer?peer"]:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table#profile_defs, table#thresholds {
+     margin-top: -1px;
+     margin-bottom: 10px;
+}
+
+table#profile_defs td, table#thresholds td {
+     padding: 5px 10px;
+}
+
+table#profile_defs ul {
+     margin: -3px 0 12px -30px;
+}
+
+table#profile_defs ul li:last-child {
+     margin-bottom: -13px;
+}
+
+#profile_defs li {
+     list-style: none !important;
+}
+
+#profile_defs li::first-letter {
+     text-transform: capitalize;
+}
+
+table#profile_defs + hr {
+     display: none;
+}
+
+table#floodfills {
+     margin-bottom: 10px;
+}
+
+table#floodfills + hr {
+     display: none;
+}
+
+table#floodfills th {
+     text-align: center;
+     max-width: 55px;
+     white-space: normal;
+     padding: 3px 6px;
+}
+
+table#floodfills td  {
+     color: #bb7;
+     padding: 3px 4px !important;
+     vertical-align: middle;
+     text-align: right !important;
+     white-space: nowrap;
+}
+
+/* responsive /profiles & /peers */
+
+@media screen and (max-width: 1060px) {
+
+table#floodfills, #profiles ul#banlist, table#profile_defs {
+     margin-bottom: 5px;
+}
+
+table#floodfills td {
+     font-size: 8pt;
+     border-right: 0 outset transparent !important;
+}
+
+.main#profiles {
+     padding: 5px 5px 0;
+}
+
+#profiles .confignav {
+     margin: -6px -6px 5px;
+}
+
+p#profiles_overview {
+     margin: 5px 0;
+}
+
+#profiles h3 {
+     margin-top: 5px !important;
+}
+
+#profiles #thresholds + h3 {
+     margin-top: -5px !important;
+}
+
+#floodfills tr:hover td:nth-child(n+2){
+     transform: scale(1.1);
+     text-align: center !important;
+}
+}
+
+@media screen and (max-width: 1220px) {
+#udpconnections tr:nth-last-child(n+3):hover td:nth-child(n+2)  {
+     transform: scale(1.1);
+     text-align: center !important;
+}
+
+.main#peers .widescroll td.cells {
+     font-size: 8pt !important;
+}
+}
+
+table#floodfills th:first-child, table#floodfills td:first-child  {
+     width: 52px;
+     white-space: nowrap;
+     padding: 3px 3px 3px 0 !important;
+}
+
+.wideload h2 {
+     border-radius: 0;
+}
+
+table#viewprofile {
+     margin-top: -14px;
+     margin-bottom: 10px;
+}
+
+table#viewprofile td {
+     padding: 10px 15px 0;
+}
+
+#viewprofile pre {
+     margin-bottom: 0;
+     white-space: pre-wrap;
+}
+
+h3#bannedpeers {
+     margin-top: 15px;
+}
+
+ul#banlist {
+     border: 1px solid #494;
+     background: #000;
+     padding: 10px 10px 10px 0;
+     margin: -1px 0 13px;
+     -moz-column-count: auto;
+     -moz-column-width: 300px;
+     -moz-column-gap: 10px;
+     -moz-column-rule: 1px dotted #494;
+     -webkit-column-count: auto;
+     -webkit-column-width: 300px;
+     -webkit-column-gap: 10px;
+     -webkit-column-rule: 1px dotted #494;
+     column-count: auto;
+     column-width: 300px;
+     column-gap: 10px;
+     column-rule: 1px dotted #494;
+}
+
+#banlist li {
+     list-style: none !important;
+     border-bottom: 1px dotted #494;
+     margin: 0 10px 3px;
+     padding-top: 3px;
+     min-width: 250px;
+     width: 88%;
+     padding-bottom: 5px;
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+     display: inline-block;
+}
+
+#banlist li:first-child, .joblog ol li:first-child {
+     margin-top: 0 !important;
+}
+
+ul#banlist li:last-child {
+     margin-bottom: 0;
+}
+
+ul#banlist + hr {
+     display: none;
+}
+
+#banlist img {
+     margin-bottom: -1px;
+}
+
+#banlist a[href^="configpeer?"] {
+     float: right;
+     margin-right: -20px;
+     margin-top: -8px;
+}
+
+div.footnote {
+     text-align: right;
+     color: #494;
+     font-size: 7pt;
+     margin-bottom: 5px !important;
+}
+
+div.footnote hr {
+     margin: 10px 0 5px 0 !important;
+     color: #494;
+     background: #494;
+     height: 1px;
+     border: 0 solid #494;
+}
+
+.topness {
+     font-size: 7.5pt;
+     text-align: right;
+     margin-top: -20px !important;
+     margin-bottom: -5px;
+     margin-right: 5px;
+}
+
+#proof textarea {
+     line-height: 160%;
+     font-size: 9pt;
+}
+
+#proof textarea:focus {
+     outline: none;
+}
+
+/* begin home page */
+
+div.home {
+     margin: 0 -8px;
+}
+
+h4.app, h4.app2 {
+    background: url(images/header.png) center center repeat-x;
+    border: 1px solid #449944;
+    font-size: 10.5pt;
+    font-variant: small-caps;
+    margin: 11px -8px -9px;
+    padding: 7px 8px 7px;
+    text-transform: uppercase;
+    text-align: left;
+    letter-spacing: 0.08em;
+    word-spacing: 0.1em;
+    border-radius: 0;
+}
+
+h4.app2 {
+     clear: left;
+}
+
+div.ag2 {
+     margin: 0 0 10px;
+     padding: 0;
+}
+
+div.app {
+     float: left;
+     padding: 2px 0 0 !important;
+     min-width: 70px;
+     border: 1px solid #494;
+     background: #000;
+     background: linear-gradient(to bottom, #010 0%, #000 100%);
+     border-radius: 2px;
+     margin: 2px 3px 5px;
+     text-align: center !important;
+     padding-top: 4px;
+     opacity: 0.9;
+     box-shadow: 0 1px 3px #000;
+}
+
+.app a:link, .app a:visited {
+     color: #494;
+}
+
+div.app:hover {
+    opacity: 1;
+    border: 1px solid #f60;
+    background: #000;
+    box-shadow: none;
+    color: #f60 !important;
+}
+
+div.app:active .applabel {
+     background: #f60 !important;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+div.app:active .applabel a {
+     color: #ee9 !important;
+}
+
+div.app a:link, div.app a:hover, div.app a:active {
+     text-decoration: none;
+     outline: none;
+}
+
+div.app:hover a:link, div.app:hover a:visited {
+    color: #f60;
+}
+
+div.app:last-child {
+     margin-bottom: 10px;
+}
+
+div.appgroup {
+     margin: 0 0 10px;
+     padding: 16px 0;
+     width: auto;
+}
+
+div.search {
+     margin: 0;
+     padding: 8px 8px 0 8px;
+     width: auto;
+}
+
+form[action="/search.jsp"] {
+     margin: 0;
+}
+
+table.search {
+     background: none;
+     width: 80%;
+     margin-left: auto;
+     margin-right: auto;
+     margin-top: -9px;
+}
+
+.search tr {
+     background: #000 url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+}
+
+.search td {
+     padding: 4px;
+     text-align: center;
+}
+
+.search td:nth-child(2) {
+     width: 50px;
+     padding: 4px 0 4px 20px;
+}
+
+.search td:last-child {
+     text-align: left !important;
+     width: 50px;
+     padding-right: 10px;
+}
+
+input.search {
+     background: #000 url(/themes/console/images/buttons/search.png) 4px center no-repeat;
+     background: url(/themes/console/images/buttons/search.png) 4px center no-repeat, linear-gradient(to bottom, #000 0%, #010 100%);
+     padding: 4px 3px 4px 24px;
+     vertical-align: middle;
+     width: 100%;
+     box-shadow: inset 0 0 3px 3px #000;
+}
+
+input.search:focus {
+     background: #000 url(/themes/console/images/buttons/search.png) 4px center no-repeat !important;
+}
+
+.search select {
+     width: 90%;
+}
+
+button.search {
+     white-space: nowrap;
+}
+.appimg {
+     height: 35px;
+}
+
+img.app, img.app2p {
+     height: 32px;
+     width: auto;
+     max-height: 32px;
+     max-width: 32px;
+     padding: 3px 44px 23px;
+     margin-bottom: 1px;
+/*     filter: sepia(100%) hue-rotate(70deg); enable for green-tinted app icons */
+}
+
+div.app:hover img.app, a:focus img.app {
+     filter: drop-shadow(0 0 1px #f60) saturate(200%);
+     -webkit-filter: drop-shadow(0 0 1px #f60) saturate(200%);
+     opacity: 1;
+     transition: filter ease 0.3s 0s;
+}
+
+table.app {
+     background: none;
+     border: 0;
+     margin: auto;
+     width: auto;
+}
+
+tr.app {
+     background: none;
+     border: 0;
+     margin: 0;
+}
+
+td.app {
+     background: none;
+     border: 0;
+     margin: 0;
+     padding: 3px 0 0;
+}
+
+div.applabel {
+     font-size: 8pt;
+     margin: 2px 0 0;
+     padding: 5px 2px;
+     text-align: center;
+     vertical-align: bottom;
+     line-height: 95%;
+     text-transform: lowercase;
+     border: none;
+     width: 120px; 
+     min-width: 72px;
+     background: #001000;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%);
+     border-radius: 0 0 2px 2px;
+     border-top: 1px solid #494;
+     white-space: nowrap;
+     overflow: hidden;
+     text-overflow: ellipsis; /* ellipsize overlong app labels */
+     color: #494;
+}
+
+div.applabel:hover {
+     background: #000;
+     border-top: 1px solid #f60;
+     color: #f60;
+}
+
+div.applabel a, div.applabel a:hover {
+     text-decoration: none !important;
+     outline: none;
+}
+
+div.app:hover .applabel {
+     border-top: 1px solid #f60 !important;
+     background: #000;
+     color: #f60;
+}
+
+/* end home page */
+
+iframe.iframed {
+     margin: 15px 0 0;
+}
+
+#susimailframe, #i2psnarkframe {
+     margin: 0;
+}
+
+#susidnsframe {
+     margin: 0 0 -3px;
+}
+
+#i2psnarkframe {
+     margin-bottom: -2px !important;
+     background: linear-gradient(45deg, rgba(0,0,0,0.5), rgba(0,34,0,0.7)), url(images/camotile2.png);
+     background-size: 3px 3px, 175px 175px;
+}
+
+#i2ptunnelframe {
+     margin: 0 0 -5px;
+}
+
+/* Fixes for when app is not started and console error loads inside iframe */
+
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+.iframed div.routersummaryouter {
+     display: none !important;
+}
+
+.iframed h1 {
+     margin: 0 5px 0 5px !important;
+}
+
+.iframed div.sorry {
+     margin: -1px 5px 10px 5px !important;
+}
+
+/* end iframed console fixes */
+
+/* Override error log colors */
+
+font[color="#ff00cc"] {
+     color: #660 !important;
+}
+
+font[color="#ff3300"] {
+     color: #990 !important;
+}
+
+font[color="#cc0000"] {
+     color: #cc0 !important;
+}
+
+font[color="#000099"] { /* info log level */
+     color: #550 !important;
+}
+
+font[color="#006600"] { /* debug log level */
+     color: #bb0 !important;
+}
+
+/* end log color overrides */
+
+/* global overrides */
+
+h3[id*="job"] {
+     border: 1px solid #494;
+     padding: 6px;
+     margin: 12px 0 10px 0;
+     border-radius: 0;
+     text-transform: uppercase;
+     text-shadow: 0 0 2px #010;
+     letter-spacing: 0.08em;
+}
+
+/* netdb */
+
+span#distance {
+     color: #dd0 !important;
+}
+
+table.netdbentry th {
+     font-weight: normal;
+     text-align: left;
+     padding: 5px 6px;
+}
+
+table.netdbentry th:last-child {
+     text-align: right;
+     padding: 5px;
+     white-space: nowrap;
+     width: 50px;
+}
+
+table.netdbentry th:first-child  {
+     white-space: nowrap;
+}
+
+table.netdbentry td:first-child  {
+     width: 80px;
+}
+
+table.netdbentry td:nth-child(2) {
+     word-wrap: break-word;
+}
+
+.netdbentry img {
+     margin: 1px 0 0 0;
+}
+
+.netdbentry tr:last-child code {
+     color: #bb7;
+}
+
+table.netdbentry, table.leaseset {
+     width: 100% !important;
+     margin-bottom: 10px;
+}
+
+table.netdbentry td, table.leaseset td, table#leasesetdebug td, .sybil_routerinfo td {
+     color: #bb7 !important;
+}
+
+table.netdbentry td b, table.leaseset td b, table#leasesetdebug td b, .sybil_routerinfo td b {
+     color: #ee9 !important;
+} 
+
+a.viewfullentry:not(old) {
+     font-size: 0;
+}
+
+a.viewfullentry::after {
+     content: url(/themes/console/images/buttons/fullview.png);
+     vertical-align: text-top;
+}
+
+a.viewfullentry:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table#leasesetdebug th a:not(old), table#leasesetsummary th a:not(old) {
+     font-size: 0;
+}
+
+table#leasesetdebug th a::after, table#leasesetsummary th a::after {
+     content: url(/themes/console/images/buttons/floodfill.png);
+     vertical-align: text-top;
+     padding-right: 0; 
+}
+
+table#leasesetdebug th a:hover, table#leasesetsummary th a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.main#debug {
+     line-height: 140%;
+     padding-bottom: 0;
+}
+
+.main#debug table {
+     margin-top: -13px;
+}
+
+.main#debug th, .main#debug td {
+     text-align: left;
+     padding: 5px 10px;
+}
+
+.main#debug th:last-child {
+     text-align: right;
+}
+
+.main#debug td:last-child {
+     vertical-align: top;
+     text-align: right;
+}
+
+.main#debug li:last-child {
+     padding-bottom: 2px;
+}
+
+.main#debug h2 {
+     border-radius: 0;
+     padding: 5px 10px;
+     font-size: 11pt;
+}
+
+.main#debug h3 {
+     border-radius: 0;
+     padding: 3px 10px;
+     font-size: 10pt;
+}
+
+div.debugcontainer {
+     border: 1px solid #f00;
+}
+
+.main#certs {
+     padding-top: 3px;
+}
+
+.main#certs h3 {
+     margin-bottom: -16px !important;
+}
+
+.main#certs h4 {
+     padding: 5px;
+     margin: 15px 0 0;
+     border: 1px solid #494;
+     letter-spacing: 0.05em;
+     font-size: 10pt;
+     background: linear-gradient(to right, #000 0%, #020 100%);
+}
+
+.main#certs h3 + p {
+     margin-top: 15px;
+}
+
+.main#certs p {
+     margin-top: -1px;
+     padding: 10px;
+     border: 1px solid #494;
+     background: #000;
+}
+
+.main#certs p + p:empty + h4 {
+     margin-top: -13px !important;
+}
+
+.main#jardump {
+     overflow: auto !important;
+     padding: 0;
+/*     display: inline-table;*/
+     min-width: 650px !important;
+}
+
+.main#jardump table {
+     margin: -1px 0 0;
+     border: 0;
+     border-collapse: collapse;
+     font-size: 8pt;
+     color: #bb7;
+}
+
+.main#jardump th {
+     padding: 9px 5px;
+}
+
+.main#jardump th:nth-child(1), .main#jardump th:nth-child(3), .main#jardump th:nth-child(6), .main#jardump th:nth-child(7) {
+     text-align: left;
+}
+
+.main#jardump tr:hover, .main#jardump tr:hover td {
+     background: #020;
+     color: #ee9;
+}
+
+.main#jardump td {
+     vertical-align: top;
+     padding: 2px 5px;
+     color: #bb7;
+}
+
+.main#jardump td:first-child {
+     color: #eea;
+}
+
+.main#jardump tt {
+     letter-spacing: -0.03em;
+}
+
+.main#jardump font[color="red"] {
+     color: #d00;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { /* fixes column wrapping on webkit */
+.main#jardump td {
+     word-wrap: break-word !important;
+     max-width: 220px;
+}
+}
+
+.main#proof {
+     padding: 0;
+}
+
+.main#proof textarea, .main#proof textarea:focus {
+     padding: 5px 20px;
+     margin: 0;
+     width: 100%;
+     border: none;
+     background: none !important;
+     box-shadow: none;
+     color: #ee9 !important;
+     filter: none;
+}
+
+table#leasesetdebug, table#leasesetsummary {
+     margin-bottom: 10px; 
+}
+
+table.leaseset th {
+     font-weight: normal;
+     padding: 5px;
+     text-align: left;
+}
+
+table.leaseset th:last-child, table.leaseset td:nth-child(2) {
+     text-align: right;
+     padding-right: 5px;
+}
+
+.leaseset tr:nth-child(2) td:last-child a:not(old) {
+     font-size: 0;
+}
+
+.leaseset tr:nth-child(2) td:last-child a::after {
+     content: url(/themes/console/images/buttons/add_address.png);
+}
+
+.leaseset tr:nth-child(2) td:last-child a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+     font-weight: bold;
+     text-transform: uppercase;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     padding: 5px 5px 5px 10px;
+}
+
+table#leasesetdebug th a, table#leasesetsummary a {
+     font-size: 9pt;
+     text-transform: capitalize;
+     letter-spacing: normal;
+     word-spacing: normal;
+}
+
+#leasesetsummary td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     padding-left: 10px;
+}
+
+table#leasesetdebug th:first-child, table#leasesetsummary th:first-child {
+     text-align:left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align:right;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(odd) {
+     width: 200px;
+     white-space: nowrap;
+     text-align: right;
+     border-right: 1px inset #131;
+}
+
+table#leasesetdebug td:nth-child(even) {
+     text-align: left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(2) {
+     width: 10px;
+}
+
+div#noleasesets {
+     background: #000 url(images/infohelp.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     border: 1px solid #494;
+     margin-bottom: 10px;
+     text-align: left;
+}
+
+div#sybilnav, div#sybils_summary {
+     border: 1px solid #494;
+     padding: 10px;
+     margin-bottom: 10px;
+     line-height: 160%;
+}
+
+div#sybilnav {
+     -moz-columns: 4 200px; 
+     -webkit-columns: 4 200px;
+     columns: 4 200px;
+     padding: 10px;
+}
+
+#sybilnav li {
+     break-inside: avoid;
+     page-break-before: right;
+     -webkit-column-break-inside: avoid;
+}
+
+#sybilnav ul li {
+     list-style: none;
+     padding-left: 0;
+     margin-left: 0;
+     margin-bottom: 5px;
+     min-width: 110px;
+     white-space: nowrap;
+     border: 1px solid #151;
+     border-radius: 2px;
+     background: linear-gradient(to right, #000 0%, #010 80%);
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+#sybilnav ul li:hover {
+     border: 1px solid #f60;
+}
+
+#sybilnav a {
+     display: inline-block;
+     width: 100%;
+}
+
+#sybilnav ul li:hover a {
+     color: #f60;
+}
+
+#sybilnav ul li a {
+     padding-right: 30%;
+     box-sizing: border-box;
+}
+
+#sybilnav ul li::before {
+     content: '\1F441\00A0';
+     font-size: 16pt;
+     line-height: 50%;
+     vertical-align: sub;
+     padding-left: 5px;
+}
+
+#sybilnav ul li:first-child {
+     margin-top: 0;
+}
+
+#sybilnav ul li:last-child {
+     margin-bottom: -10px;
+     padding-bottom: 2px;
+}
+
+table.sybil_routerinfo {
+     margin-bottom: 10px;
+}
+
+.sybil_routerinfo th {
+     padding: 1px 1px 1px 6px !important;
+}
+
+.sybil_routerinfo th:first-child {
+     text-align: left;
+     white-space: nowrap;
+}
+
+table.sybil_routerinfo:first-of-type th {
+     padding: 8px 6px !important;
+}
+
+.sybil_routerinfo th:nth-last-child(2) {
+     text-align: right !important;
+     padding-right: 0 !important;
+}
+
+.sybil_routerinfo th:last-child {
+     width: 20px;
+}
+
+.sybil_routerinfo td:first-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+.sybil_routerinfo code {
+     margin-left: 5px;
+     font-size: 9pt;
+}
+
+p.sybil_floodfill, p.family, p.threatpoints, p.hashdist, p#sybil_totals {
+     border: 1px solid #494;
+     padding: 5px 5px 5px 30px;
+     margin: 3px 0;
+     color: #cc0;
+     font-weight: bold;
+     background: url(images/eye.png) 8px center no-repeat;
+     background: url(images/eye.png) 8px center no-repeat, linear-gradient(to right, #000 0%, #001000 80%, #002000 100%);
+     box-shadow: inset 0 0 0 1px #300;
+}
+
+p.family + p.family, p.sybil_floodfill + p.sybil_floodfill {
+     margin-top: -4px;
+}
+
+p#sybilinfo {
+     line-height: 140%;
+}
+
+p.sybil_floodfill + a[name] + table.sybil_routerinfo, p.hashdist + a[name] + table.sybil_routerinfo  {
+     margin-top: 10px !important;
+}
+
+.threatpoints + ul {
+     border: 1px solid #494;
+     padding: 5px 5px 0;
+     margin: -4px 0 10px;
+}
+.threatpoints + ul li:last-child {
+     margin-bottom: 5px;
+}
+
+h3#known {
+     margin-bottom: 0 !important; 
+}
+
+h3#pairs {
+     margin-bottom: 11px !important;
+}
+
+/* end netdb */
+
+/* /confignet, /configadvanced */
+
+h3#iptransport a, th#upnpconfig a, h3#bwlimiter a, #config_stats h3 a, #config_logging h3 a, h3#graphdisplay a, #logs h3 a, h3#advancedconfig a, .h3navlinks {
+     float: right;
+     font-size: 9pt;
+     text-transform: none;
+     letter-spacing: normal;
+}
+
+.h3navlinks a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     margin-left: 5px;
+}
+
+.h3navlinks a:hover {
+     color: #f60;
+}
+
+h3#iptransport a:not(old), h3#advancedconfig a:not(old) {
+     font-size: 0;
+}
+
+h3#iptransport a::after, h3#advancedconfig a::after {
+     content: url(images/help.png);
+     padding: 0;
+     margin: 0;
+     vertical-align: text-top;
+     cursor: help;
+}
+
+h3#iptransport a:hover, h3#advancedconfig a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table.configtable {
+     margin-top: -1px;
+     margin-bottom: -2px !important;
+}
+
+table.configtable tr:last-child {
+     border-top: 1px solid #494;
+}
+
+table#netconfig th, table#externali2cp th, table#plugininstall th, .configtable th, th.th_title {
+    text-align: left;
+    padding: 5px 10px !important;
+    text-transform: uppercase;
+    font-size: 10pt;
+    letter-spacing: 0.08em;
+    word-spacing: 0.1em;
+}
+
+table.configtable td {
+     padding: 6px 10px;
+     background: #000;
+     line-height: 180%;
+}
+
+#netconfig img[src*="itoo"] {
+     display: none;
+}
+
+.configtable td.tabletextarea {
+     padding: 0 !important;
+}
+
+textarea#advancedsettings {
+     margin: 0 !important;
+     padding-top: 3px;
+     width: 100%;
+     resize: none;
+     overflow-x: hidden;
+     white-space: pre-wrap;
+     border: 0 none transparent;
+     border-radius: 0;
+}
+
+.configtable td.infohelp, p.infohelp, td.infohelp, p.infowarn, td.infowarn, p#debugmode, p#sybilinfo {
+     background: #000 url(images/infohelp.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px !important;
+     text-align: justify;
+     line-height: 130% !important;
+     border-bottom: 1px solid #494;
+     border-top: 1px solid #494;
+     white-space: normal !important;
+     font-weight: normal !important;
+     background-size: 28px 28px !important;
+}
+
+table.logtable, table#enviro {
+     margin-top: -1px !important;
+}
+
+p.infohelp, p#debugmode, p#sybilinfo {
+     border: 1px solid #494;
+}
+
+p.infowarn, td.infowarn {
+     background: #000 url(images/infowarn.png) 12px center no-repeat !important;
+     border: 1px solid #494;
+     box-shadow: inset 0 0 0 1px #300;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+.infowarn#clientconf {
+     margin: 0 0 -2px;
+}
+
+td.optionsave {
+     text-align: right;
+     border-top: 1px solid #494;
+     padding: 5px !important;
+     white-space: nowrap;
+     width: 50px;
+     background: #000;
+}
+
+#floodfillconfig form, #plugininstall form, #updateplugins form, .configtable form {
+     margin-bottom: 0;
+}
+
+h3.tabletitle, h3#i2pclientconfig, h3#advancedclientconfig, h3#webappconfig, h3#pluginconfig, h3#pluginfromurl, h3#pluginfromfile, h3#updateplugins, h3#pluginmanage, h3#bannedpeers, h3.ptitle, h3#transports, h3#upnpstatus, h3.sybils, #certs h3 {
+     margin-bottom: 0 !important;
+     border-radius: 0;
+     border: 1px solid #494;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     padding: 7px 10px;
+}
+
+h3#pluginmanage {
+     margin-bottom: -13px !important;
+}
+
+h3.sybils {
+     margin-bottom: 10px !important;
+}
+
+h3.tabletitle a {
+     text-transform: lowercase;
+     letter-spacing: normal;
+}
+
+h3.sybils + div, h3.sybils + a[name] + table {
+     margin-top: -1px;
+}
+
+p.notfound {
+     border: 1px solid #494;
+     padding: 10px;
+}
+
+h3#transports {
+     margin-bottom: -1px !important;
+}
+
+h3#upnpstatus {
+     margin-bottom: 7px !important;
+}
+
+h3.ptitle {
+     margin-bottom: -6px !important;
+}
+
+p#webappconfigtext {
+     margin: 1px 0 -2px 0;
+}
+
+table#pluginconfig, table#i2pupdates, table.homelinkedit, table#peerdefs {
+     margin-top: -1px;
+}
+
+#peerdefs img {
+     padding-left: 0;
+     margin-left: 0;
+}
+
+#peerdefs img[width="12"] {
+     margin-right: 3px;
+     margin-left: 2px;
+}
+
+h3#i2pclientconfig, h3#pluginconfig, h3#pluginfromurl, h3#pluginfromfile, h3#webappconfig {
+     margin-bottom: -14px !important;
+}
+
+table#advconf {
+     margin-bottom: 9px !important;
+}
+
+p#javaclienthelp {
+     border: 1px solid #494;
+     background: url(images/infohelp.png) 12px center no-repeat !important;
+     padding: 10px 10px 10px 50px !important;
+}
+
+div#clientsconfig {
+     margin-top: -2px;
+}
+
+table#externali2cp th {
+     text-align: left;
+}
+
+#tunnelconfig th {
+     padding: 6px 10px;
+}
+
+#tunnelconfig th img {
+     margin-bottom: -2px;
+}
+
+th.th_title {
+     padding: 10px;
+     text-align: left;
+     background: linear-gradient(to bottom, #1a261a 0%,#223022 7%,#212f21 9%,#172317 21%,#091109 49%,#050d05 50%,#020602 51%,#010301 53%,#000000 56%,#000000 100%) !important;
+}
+
+input#hideme {
+     display: none;
+}
+
+#plugininstall input[type="text"] {
+     width: 50%;     
+     min-width: 400px;
+}
+
+#plugininstall input.cancel {
+     display: none;
+}
+
+#pluginupdater {
+     border: 1px solid #494;
+     padding: 5px;
+     margin-top: -11px;
+     margin-bottom: 10px !important;
+     background: #000;
+}
+
+#pluginupdater form {
+     margin-bottom: 0;
+}
+
+.formaction#pluginupdater {
+      margin-bottom: 5px;
+}
+
+.formaction#tunnelconfigsave, .formaction#homeapps, .formaction#browserstart {
+     margin-bottom: -2px !important;
+}
+
+h4.embeddedtitle#updateplugins {
+     padding: 5px 10px;
+     background: #000 url(images/header.png) center center repeat-x;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+     border: 1px solid #494;
+     text-align: left;
+     text-transform: uppercase;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin-top: -13px;
+} 
+
+#manualreseed input[type="text"] {
+     width: 50%;
+     width: calc(100% - 300px);
+}
+
+table#loggingoptions, table#addkeyring {
+     margin-bottom: -3px !important;
+     margin-top: -1px;
+}
+
+table#permabanned {
+     margin-top: -1px;
+     margin-bottom: 9px;
+}
+
+#permabanned th, #banneduntilrestart th {
+     padding: 5px 10px !important;
+}
+
+.main#config_stats h3 a, .main#config_logging h3 a {
+     float: right;
+     letter-spacing: normal;
+     font-size: 9pt;
+     text-transform: none;
+}
+
+table#configstats {
+     margin-bottom: -2px;
+}
+
+#configstats th {
+     padding: 8px 10px;
+     text-align: left;
+}
+
+#configstats th a {
+     float: right;
+     font-size: 9pt;
+}
+
+#configstats th b {
+     text-transform: uppercase;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+#configstats td:first-child {
+     width: 20px;
+     white-space: nowrap;
+}
+
+#configstats tr {
+     border-top: 1px inset #131;
+}
+
+#configstats .tablefooter b:not(old) {
+     font-size: 0;
+}
+
+#configstats .tablefooter b::after {
+     content: url(images/chart.png);
+     vertical-align: bottom;
+     filter: sepia(100%) hue-rotate(70deg) !important;
+     -webkit-filter: sepia(100%) hue-rotate(70deg) !important;     
+}
+
+#configstats .tablefooter:last-child td {
+     background: #000 !important;
+}
+
+#configstats td {
+    color: #bb7;
+    border: none;
+}
+
+#configstats td b {
+    color: #ee9;
+}
+
+#configstats input.optbox {
+     margin: 0;
+     padding: 0;
+}
+
+#configstats tr.tablefooter td {
+     padding: 5px 10px;
+}
+
+p#enablefullstats {
+     margin-top: 5px;
+     padding: 5px 10px;
+     border: 1px solid #494;
+}
+
+#peerdefs td:first-child {
+     width: 40px;
+     white-space: nowrap;
+     border: 1px inset #131;
+     text-align: right;
+}
+
+/* experimental webkit scrollbar customization */
+/*
+::-webkit-scrollbar { width: 18px; height: 5px;}
+::-webkit-scrollbar-button { background-color: #f00; color: #fff; display: none;}
+::-webkit-scrollbar-track { background-color: #000;}
+::-webkit-scrollbar-track-piece { background-color: #000;}
+::-webkit-scrollbar-thumb { height: 100px; background-color: #131; border: 4px solid #000;}
+::-webkit-scrollbar-corner { background-color: #999;}
+::-webkit-resizer { background-color: #666;}
+*/
+
+/* infohelp/warn overrides and misc ornamentation */
+
+table#bugreports td.infohelp {
+     background: url(/themes/console/images/info/bugreport.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+p#debugmode {
+     padding: 15px 15px 15px 50px;
+     background: url(/themes/console/images/info/debug.png) 12px center no-repeat !important;
+     background-size: 28px 28px !important;
+}
+
+p#sybilinfo {
+     padding: 15px 15px 15px 50px;
+     background: url(/themes/console/images/info/experimental.png) 12px center no-repeat !important;
+     background-size: 28px 28px !important;
+}
+
+#bandwidthconfig tr:first-child .infohelp {
+     background: url(/themes/console/images/info/bandwidth.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#addkeyring td.infohelp {
+     background: #000 url(/themes/console/images/info/keys.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#joinfamily tr:nth-child(3) td:first-child {
+     background: #000 url(/themes/console/images/info/key.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#newfamily tr:last-child td:first-child {
+     background: #000 url(/themes/console/images/info/label.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#oldhome td:first-child {
+     background: url(/themes/console/images/info/home.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#oldhome input[type="checkbox"], #enablefullstats input[type="checkbox"] {
+     vertical-align: middle;
+}
+
+#floodfillconfig .infohelp {
+     background: #000 url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+p#clientconf.infohelp, p#webappconfigtext.infohelp {
+     background: #000 url(/themes/console/images/info/java_edit.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+p#pluginconfigtext {
+     background: #000 url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#plugininstall .infohelp {
+     background: #000 url(/themes/console/images/info/plugin_link.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#manualreseed tr:nth-last-child(2) td.infohelp {
+     background: #000 url(/themes/console/images/info/box.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#config_peers tr:nth-child(3) td.infohelp {
+     background: #000 url(/themes/console/images/info/blocked.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+h3#shutdownrouter + p.infohelp {
+     background: #000 url(/themes/console/images/info/power.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+h3#restartrouter + p.infohelp {
+     background: #000 url(/themes/console/images/info/reboot.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+h3#systray + p.infohelp {
+     background: #000 url(/themes/console/images/info/systray.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+h3#servicedebug + p.infohelp {
+     background: #000 url(/themes/console/images/info/debug.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+h3#browseronstart + p.infohelp {
+     background: #000 url(/themes/console/images/info/launch_browser.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+.main#config_reseed p.infohelp {
+     background: #000 url(/themes/console/images/info/connect.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+p#enablefullstats, p#gatherstats {
+     background: #000 url(/themes/console/images/info/statistics.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
+}
+
+#config_family .infohelp {
+      background: #000 url(/themes/console/images/info/family.png) 12px center no-repeat !important;
+      padding: 15px 15px 15px 50px;
+      background-size: 28px 28px !important;
+}
+
+#consolepass tr:first-child td {
+     background: #000 url(/themes/console/images/info/user_add.png) 12px center no-repeat;
+     background-size: 28px 28px;
+     padding: 15px 15px 15px 50px;
+}
+
+form[action="events"] {
+     padding: 10px 10px 10px 50px;
+     background: #000 url(/themes/console/images/info/logs.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2) {
+     background: #000 url(/themes/console/images/info/url.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#manualreseed tr:nth-child(5) td:nth-last-child(2), #plugininstall tr:nth-child(5) td:nth-last-child(2) {
+     background: #000 url(/themes/console/images/info/from_file.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+/* responsive layout */
+
+@media screen and (min-width: 1500px) {
+body, .main, .main td, .news p, #news p {
+     font-size: 10pt !important;
+}
+
+.main button, .main input, select, textarea {
+     font-size: 9pt !important;
+}
+
+.main, .news, h1 {
+     margin-left: 232px !important;
+}
+
+.routersummary {
+     width: 200px !important;
+}
+
+.routersummary img[src$="i2plogo.png"] {
+     transform: scale(1.1);
+}
+
+.routersummary table[id^="sb_"] {
+     width: 216px !important;
+}
+
+.routersummary td, .routersummary a, .routersummary button, .routersummary h4, .routersummary h4 a,
+#floodfill th, code, tt, .applabel a, #jardump td {
+     font-size: 9pt !important;
+}
+
+.routersummary h3 a {
+     font-size: 11pt !important;
+}
+
+div.app {
+     min-width: 138px;
+}
+
+.applabel {
+     width: 134px !important;
+}
+
+th {
+     font-size: 10pt;
+}
+
+table#floodfills th:first-child, table#floodfills td:first-child {
+     width: 58px;
+     padding-right: 3px !important;
+}
+
+h3 {
+     font-size: 11pt;
+}
+}
diff --git a/installer/resources/themes/console/dark/console_ar.css b/installer/resources/themes/console/dark/console_ar.css
index 4afffe012c0251b61bf44c4aa455b36f3515b7a4..b95b9db28d098b0576dd31b10198c338805c71d4 100644
--- a/installer/resources/themes/console/dark/console_ar.css
+++ b/installer/resources/themes/console/dark/console_ar.css
@@ -40,8 +40,17 @@ h1,h2,h3,h4 {
      text-align: right;
 }
 
-div.routersummary h3 {
+button.search {
+     margin-right: 30px;
+}
+
+div.routersummary h3, div.routersummary h4, .routersummary a, .routersummary b {
      text-align: center;
+     font-weight: normal;
+}
+
+div.routersummary h3, div.routersummary h4 {
+     font-size: 10pt;
 }
 
 div.routersummary td {
@@ -57,6 +66,14 @@ div.routersummary td:first-child {
      text-align: right;
 }
 
+#sb_services td, #sb_internals td, #sb_advanced td {
+     text-align: center;
+}
+
+#sb_localtunnels td:last-child {
+     text-align: left;
+}
+
 div.tunnels {
      padding: -3px 0 !important;
 }
@@ -97,3 +114,181 @@ span.newtab {
      float: left;
      letter-spacing: 0;
 }
+
+.tab2::before, .tab2::after {
+     display: none;
+}
+
+/* lang selection */
+
+.langselect img {
+     margin-right: -61px;
+}
+
+.langselect .optbox:checked + img {
+     margin-right: -63px;
+}
+
+/* theme selection */
+
+.themechoice, .langselect {
+     float: right !important;
+} 
+
+.themechoice {
+     padding: 5px;
+}
+
+.themechoice .optbox {
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     outline: 1px dotted #f00;
+     position: absolute;
+     padding: 2px;
+     margin-right: -27px;
+     min-height: 78px !important;
+}
+
+.themechoice .optbox + img {
+     border: 1px solid transparent;
+}
+
+.themechoice .optbox + img, .themechoice .optbox:checked + img {
+     margin: 5px;
+     padding: 0 !important;
+}
+
+h3#iptransport a, th#upnpconfig a, h3#bwlimiter a, #config_stats h3 a, #config_logging h3 a, h3#graphdisplay a, #logs h3 a, h3#advancedconfig a {
+     float: left;
+}
+
+#sybilnav ul li a {
+     padding-right: 0;
+}
+
+.sybil_routerinfo th:first-child {
+     text-align: right;
+}
+
+.sybil_routerinfo th:nth-last-child(2) {
+     padding-left: 0;
+     text-align: left !important;
+}
+
+.sybil_routerinfo th {
+     padding: 1px 3px 1px 1px !important;
+}
+
+table#leasesetdebug th:first-child, table#leasesetsummary th:first-child {
+     text-align: right;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align: left;
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+      padding: 5px;
+}
+
+table.leaseset th {
+     text-align: right;
+}
+
+table.leaseset th:first-child b {
+     float: right;
+}
+
+table.leaseset th:last-child, table.leaseset td:nth-child(2) {
+     text-align: left;
+}
+
+#netdboverview th, table.netdbentry th, table#leasesetdebug td:nth-child(2n) {
+     text-align: right;
+}
+
+.main#debug {
+     direction: ltr;
+}
+
+#jardump.main th:nth-child(1), #jardump.main th:nth-child(3), #jardump.main th:nth-child(6), #jardump.main th:nth-child(7) {
+     text-align: right;
+}
+
+#schedjobs td {
+     text-align: center;
+}
+
+table.netdbentry th:last-child, table#leasesetdebug td:nth-child(2n+1) {
+     text-align: left;
+}
+
+#tunnels.main h3 a {
+     float: left;
+}
+
+table#enviro td:first-child {
+     text-align: left;
+}
+
+#wrapperlogs pre, table[id$="logs"] ul, .logtable ul li {
+     direction: ltr;
+     text-align: left;
+}
+
+#criticallogs ul {
+     border: none;
+}
+
+#eventlog th {
+     text-align: right;
+     padding-right: 10px;
+}
+
+.homelinkedit th:nth-child(3), .homelinkedit th:last-child {
+     text-align: right !important;
+}
+
+table#netconfig th, table#externali2cp th, table#plugininstall th, .configtable th, th.th_title {
+     text-align: right !important;
+}
+
+#sidebarconf th:nth-child(1), #sidebarconf th:nth-child(2) {
+     text-align: right;
+}
+
+#sidebarconf td:nth-child(4) {
+     padding-right: 0;
+}
+
+#sidebarconf td:nth-child(3) {
+     text-align: left !important;
+     padding-left: 0;
+}
+
+.configtable td.infohelp, p.infohelp, td.infohelp, p#debugmode, p#sybilinfo, p.infowarn, td.infowarn, p#keyringhelp, h3#shutdownrouter + p, h3#restartrouter + p, h3#servicedebug + p, h3#browseronstart + p, h3#runonstartup + p, h3#systray + p {
+     background: #000 url(images/infohelp.png) right 8px center no-repeat !important;
+     padding: 15px 45px 15px 15px !important;
+}
+
+p.infowarn, td.infowarn {
+     background: #000 url(images/infowarn.png) right 8px center no-repeat !important;
+}
+
+.main#config_update .messages {
+     background: #000 url(images/infohelp.png) no-repeat right 10px center !important;
+     text-align: right;
+     padding: 15px 55px 15px 15px;
+}
+
+.main#config_update .messages a {
+     float: left;
+     margin: 0 5px
+}
+
+td.optionsave {
+     text-align: left;
+}
+
+#tunnelconfig th {
+     text-align: right;
+}
diff --git a/installer/resources/themes/console/dark/console_big.css b/installer/resources/themes/console/dark/console_big.css
index 547fdd6ef4adbdc938d9f0eb3d6a2f8a05f3e72d..5f7f87ca1f8a4a2cd2df7e820086c5536880e4cf 100644
--- a/installer/resources/themes/console/dark/console_big.css
+++ b/installer/resources/themes/console/dark/console_big.css
@@ -2,30 +2,69 @@
 /* Comment: Larger text (and other tweaks) for Chinese & other doublebyte charactersets */
 /* Author: dr|z3d */
 
+h1, h2, h3, h4 {
+     text-shadow: none !important;
+     font-weight: normal !important;
+}
+
+h1 {
+     font-size: 20pt;
+     padding: 11px 15px;
+}
+
+h3 {
+     font-size: 14pt !important;
+}
+
 body {
-     font: 9pt/130% Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     font-family: "Droid Sans", "Noto Sans", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     font-size: 12pt;
+     line-height: 130%;
 }
 
 div.news {
-     font-size: 9.5pt;
+     font-size: 10pt;
      font-style: normal !important;
 }
 
-div.routersummary table {
-    font-size: 8.5pt;
+div.main, div.news, h1 {
+     margin-left: 232px !important;
+}
+
+div.routersummary {
+     width: 200px;
+}
+
+div.routersummary img[src$="i2plogo.png"] {
+     transform: scale(1.2);
+}
+
+div.routersummary table, table#sb_localtunnels {
+    font-size: 10pt;
+    width: 215px !important;
+}
+
+div.routersummary table td {
+     padding: 2px 1px;
 }
 
 div.routersummary h3, div.routersummary h4, div.routersummary p, div.routersummary h3 a, div.routersummary a {
      text-shadow: 0 0 0 0 !important;
 }
 
+div.routersummary h3 a {
+     font-size: 14pt !important;
+     text-transform: uppercase !important;
+     letter-spacing: 0.15em !important;
+}
+
 div.routersummary h4 {
-     font-size: 10pt;
+     font-size: 11pt;
      font-weight: normal;
 }
 
 div.routersummary b {
-     font-size: 9pt;
+     font-size: 10pt;
      font-weight: normal;
 }
 
@@ -34,26 +73,46 @@ div.routersummary a {
      font-weight: normal;
 }
 
+div.messages, div.error, .error ul li {
+     font-size: 11pt;
+     font-weight: normal !important;
+}
+
 b, a, a:link, a:hover, a:visited {
      font-weight: normal;
+     font-size: 11pt !important;
 }
 
 h2 {
-     font-size: 15pt;
+     font-size: 16pt;
      text-shadow: none;
      font-weight: normal;
 }
 
-p {
-     font-size: 9.5pt;
+h3 {
+     font-size: 15pt;
+}
+
+h4, h4.app, h4.app2 {
+     font-size: 14pt;
+}
+
+p, div.main {
+     font-size: 11pt;
 }
 
 button, button:visited {
-    font: normal 10pt Verdana,"Bitstream Vera Sans",Tahoma,Helvetica,sans-serif !important;
+    font: normal 10pt "Droid Sans", "Noto Sans", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif !important;
+}
+
+button.reload, button.stop {
+     padding: 2px !important;
+     font-size: 12pt !important;
+     min-width: 100px;
 }
 
 code, pre, tt {
-     font-size: 10pt;
+     font-size: 12pt;
      font-weight: normal;
 }
 
@@ -63,9 +122,34 @@ code, pre, tt {
 }
 
 table {
-     font: 8.5pt/130% Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     font: 10pt/130% "Droid Sans", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
 }
 
 div.applabel {
-     font-size: 8.5pt;
+     font-size: 10pt;
+     width: 134px;
 }
+
+div.app {
+     height: 64px;
+     width: 138px;
+}
+
+div.confignav {
+     font-size: 13pt;
+}
+
+input[type="submit"], input[type="reset"] {
+     padding: 3px 2px;
+     font-size: 12pt;
+     min-width: 80px;
+     font-weight: normal;
+}
+
+.langselect, .themechoice {
+     font-size: 11pt !important;
+}
+
+.langselect .optbox {
+     min-height: 68px;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/dark/default.css b/installer/resources/themes/console/dark/default.css
deleted file mode 100644
index 5473cb5f4474720d3b4636bdc63628509fb8091f..0000000000000000000000000000000000000000
--- a/installer/resources/themes/console/dark/default.css
+++ /dev/null
@@ -1,365 +0,0 @@
-/* I2P Console theme: "Camo" by dr|z3d. Aka "dark". As in ops. */
-
-body {
-     margin: 0px;
-     padding: 0px;
-     text-align: center;
-     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #010 url('images/camotile.png') center bottom;
-     color: #000000;
-     font-size: 8.5pt;
-    /* we've avoided Tantek Hacks so far,
-    ** but we can't avoid using the non-w3c method of 
-    ** box rendering. (and therefore one of mozilla's
-    ** proprietry -moz properties (which hopefully they'll
-    ** drop soon).
-    */
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-body.iframed {
-     background: transparent url('images/transparent.gif') !important;
-     padding-top: 5px;
-}
-
-div {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-label {
-     margin: 0;
-     padding: 5px 4px 4px 4px;
-     float: left;
-     width: 120px;
-/*    height:  24px; */
-     font-weight: normal;
-     text-align: right;
-     font-size: 8pt;
-     font-style: italic;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-h4 {
-     font-size: 14px;
-     font-weight: bold !important;
-     text-align: left;
-     border: 1px solid #494;
-     margin: 5px 0 15px 0;
-     padding: 5px 10px;
-     background: #000 url('images/header.png') center center repeat-x ;
-     text-transform: uppercase;
-     text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
-     letter-spacing: 0.08em;
-     -moz-box-shadow: inset 0px 0px 4px 0px #090;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-a {
-     text-decoration: none;
-}
-
-form {
-     margin: 0px;
-}
-
-textarea, input, select, button, a {
-     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-     font-size: 8.5pt;
-     float: left;
-     background: #020;
-     border-radius: 4px;
-     color: #EEEE99;
-}
-
-button {
-     float: none;
-}
-
-textarea {
-     border: 1px solid #494;
-     background: #000;
-     margin-left: 4px;
-     width: 458px;
-}
-
-br {
-     clear: left;
-}
-
-div.statusNotRunning {
-     float: left;
-     width: 78px;
-     height: 24px;
-     overflow: hidden;
-     color: #dd0000;
-     padding-top: 24px;
-     margin-top: 6px;
-     background: url('images/console_status_stopped.png') 0 0 no-repeat;
-}
-
-div.statusRunning {
-     float: left;
-     width: 78px;
-     height: 24px;
-     overflow: hidden;
-     color: #00dd00;
-     padding-top: 24px;
-     margin-top: 6px;
-     background: url('images/console_status_running.png') 0 0 no-repeat;
-}
-
-div.statusStarting {
-     float: left;
-     width: 78px;
-     height: 24px;
-     overflow: hidden;
-     color: #339933;
-     padding-top: 24px;
-     margin-top: 6px;
-     background: url('images/console_status_starting.png') 0 0 no-repeat;
-}
-
-hr {
-     display: none;
-}
-
-.separator, .subdivider {
-     clear: both;
-     height: 1px;
-     margin: 3px 0px 3px 0px;
-     border-bottom: 1px solid #494;
-}
-
-.subdivider {
-     border-bottom: 1px solid #494;
-     padding: 5px 0px 0px 0px;
-}
-
-.freetext {
-     width: 150px;
-     height : 22px; 
-     border: 1px solid #494;
-     padding: 2px;
-     margin: 4px 0 2px 4px;
-     background-color: #000;
-     font-size: 8.5pt;
-}
-
-.control {
-     margin: 6px 0 0 2px !important;
-     padding: 2px 0;
-     overflow: hidden;
-     min-width: 60px;
-     max-height: 24px;
-     font-size: 8pt;
-     font-weight: bold;
-     background-color: #000;
-     color: #494 !important;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: url(images/tabletitlelight.png) repeat: x;
-     vertical-align: middle;
-     text-decoration: none;
-     border: 1px outset #5f5;
-     -moz-box-shadow: inset 0px 1px 1px 0px #373;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #373;
-     box-shadow: inset 0px 1px 1px 0px #373;
-}
-
-.control:link {
-     color: #494 !important;
-     text-decoration: none;
-     background: #000 !important;
-}
-
-.control:hover {
-     border: 1px solid #f60;
-     background-color: #000;
-     color: #f60 !important;
-     text-decoration: none;
-     -moz-box-shadow: inset 0px 1px 1px 0px #fff;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #fff;
-     box-shadow: inset 0px 1px 1px 0px #fff;
-}
-
-.control:active {
-     border: 1px inset;
-     background-color: #f60 !important;
-     color: #EE9 !important;
-     text-decoration: none;
-}
-
-.control:visited {
-     color: #494 !important;
-     text-decoration: none;
-}
-
-.panel {
-     width: 800px;
-     margin: 16px auto 16px auto;
-     overflow: hidden;
-     text-align: left;
-     font-size: 8.5pt;
-     color: #EEEE99;
-     background-color: #020;
-     background: #000 url(images/camotile2.png);
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494;
-     padding: 10px 20px;
-}
-
-.iframed .panel {
-     margin: 16px auto -8px auto !important;
-}
-
-.iframed .panel.iframed {
-     margin: 0 auto -8px auto !important;
-}
-
-.panel td:first-child {
-     font-weight: bold;	
-}
-
-.panel td {
-	  padding: 6px 0 8px;
-}
-
-.panel td:last-child {
-     border-bottom: 1px dotted #494;	
-}
-
-.panel .footer {
-     float: right;
-     padding: 4px;
-}
-
-.toolbox {
-     float: right;
-}
-
-.rowItem {
-     width: 750px;
-     float: left;
-     margin: 0px;
-}
-
-.comment {
-     font-style: italic;
-}
-
-.text {
-/*     height: 24px;*/
-     width: 150px;
-     padding: 4px 0 0 2px;
-     float: left;
-     margin: 0;
-     font-size: 8pt !important;
-     font-weight: bold;
-}
-
-.accessKey {
-     text-decoration: underline;
-}
-
-#globalOperationsPanel {
-     background-color: #000;
-     border: 1px solid #494;
-     -moz-box-shadow: inset 0px 0px 0px 1px #932;
-     padding: 5px 20px 11px 10px !important;
-/*     background: #000 url(images/scarface.jpg) right center no-repeat !important;*/
-}
-
-#globalOperationsPanel .control {
-     width: 120px;
-     color: #494 !important;
-}
-
-#globalOperationsPanel .control:hover {
-     color: #F60 !important;
-}
-
-#globalOperationsPanel .control:active {
-     color: #EE9 !important;
-}
-
-.header {
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 0;
-}
-
-a:link{
-     color: #494;
-     text-decoration: none;
-     background: none;
-}
-
-a:visited{
-     color: #7b7;
-     text-decoration: none;
-     background: none;
-}
-
-a:hover{
-     color: #ff6600;
-     text-decoration: underline;
-     background: none;
-}
-
-a:active{
-     color: #900;
-     text-decoration: underline;
-     background: none;
-}
-
-input {
-     background-color: #020;
-     color: #EEEE99;
-     margin: 0 2px 0 2px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #494;
-/*
-     padding: 0px 2px 1px 2px;
-*/
-     text-decoration: none;
-}
-
-input hover {
-     background-color: #f00;
-     color: #EEEE99;
-     margin: 0 2px 0 2px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-     border: 1px solid #494;
-     padding: 2px;
-     text-decoration: none;
-}
-
-select {
-     background-color: #020;
-     color: #EEEE99;
-     margin: 6px 2px 0 2px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #494;
-     padding: 2px 2px 2px 4px;
-     max-height: 24px;
-     background: #000;
-     border-radius: 4px;
-}
-
-form {}
diff --git a/installer/resources/themes/console/dark/i2ptunnel.css b/installer/resources/themes/console/dark/i2ptunnel.css
index b8bcd984052a8cc68caf2f56fd1a8b1116efddee..6c1aece3f4126b0fe3721a823f6ef878fe7f2065 100644
--- a/installer/resources/themes/console/dark/i2ptunnel.css
+++ b/installer/resources/themes/console/dark/i2ptunnel.css
@@ -1,153 +1,943 @@
-/* I2P Console theme: "Camo" by dr|z3d. Aka "dark". As in ops. */
-/* I2P Tunnel Edit Page */
+/* I2P TunnelManager theme: "Camo". Aka "dark". As in ops. */
+/* Author: dr|z3d */
 
-#tunnelEditPage input {
-     width: 458px;
+body {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     font-family: "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     background: #010 url(images/camotile.png) center bottom;
+     color: #ee9;
+     font-size: 9pt;
 }
 
-#tunnelEditPage select {
-     width: 308px;
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+     padding: 0;
+     overflow: hidden; 
 }
 
-#tunnelEditPage option [ selected ] {
-     color: green;
+div {
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
 }
 
-#tunnelEditPage #targetField, #tunnelEditPage #accessField, #tunnelEditPage #optionsField {
-     height: 48px;
-     width: 150px;
+a {
+     text-decoration: none;
+     font-weight: bold;
 }
 
-#tunnelEditPage #tunnelOptionsField {
-     height: 96px;
-     width: 150px;
+a:link {
+     color: #494;
+     outline: none;
 }
 
-#tunnelEditPage #targetField label, #tunnelEditPage #accessField label, #tunnelEditPage #tunnelOptionsField label, #tunnelEditPage #optionsField label{
-     height: 48px;
-     width: 150px;
+a:visited {
+     color: #7b7;
 }
 
-#tunnelEditPage #reachField, #tunnelEditPage #hostField, #tunnelEditPage #depthField, #tunnelEditPage #countField, #tunnelEditPage #optionsHostField {
-     width: 304px;
-     margin-right: 4px;
+a:hover, a:focus {
+     color: #f60;
 }
 
-#tunnelEditPage #portField, #tunnelEditPage #optionsPortField, #tunnelEditPage #backupField, #tunnelEditPage #varianceField {
-     width: 140px;
+a:active {
+     color: #f90;
 }
 
-#tunnelEditPage #reachField label, #tunnelEditPage #hostField label, #tunnelEditPage #portField label, #tunnelEditPage #optionsHostField label, #tunnelEditPage #optionsPortField label, #tunnelEditPage #depthField label, #tunnelEditPage #countField label, #tunnelEditPage #backupField label, #tunnelEditPage #varianceField label {
-     text-align: left;
+.accesskey {
+     display: none !important;
+     text-decoration: underline;
+}
+
+form {
+     margin: 0;
+}
+
+br {
+     clear: left;
+}
+
+div.statusNotRunning {
+     height: 16px;
+     overflow: hidden;
+     color: #d00;
+     background: url('images/console_status_stopped.png') center center no-repeat;
 }
 
-#tunnelEditPage #otherField label {
+div.statusRunning {
+     height: 16px;
+     overflow: hidden;
+     color: #0b0;
+     background: url('images/console_status_running.png') center center no-repeat;
+}
+
+div.statusStarting {
+     height: 16px;
+     overflow: hidden;
+     color: #393;
+     background: url('images/console_status_starting.png') center center no-repeat;
+}
+
+div[class^="status"] {
+     font-size: 0 !important;
+     background-position: center center;
+     text-align: center;
+     margin: 0;
+     padding: 0;
+     width: 100%;
+     background-size: auto 16px;
+}
+
+hr {
+     display: none;
+}
+
+#clientHost {
      width: 300px;
 }
 
-#tunnelEditPage #reachableByOther, #tunnelEditPage #tunnelDepth, #tunnelEditPage #tunnelQuantity, #tunnelEditPage #targetHost, #tunnelEditPage #clientHost {
-     width: 306px;
+#clientPort {
+     width: 100px;
 }
 
-#tunnelEditPage #port {
-     width: 80px;
+.panel {
+     margin: 8px auto;
+     padding: 5px 3px 5px 1px !important;
+     width: calc(100% - 14px);
+     min-width: 450px;
+     max-width: 1400px;
+     overflow: hidden;
+     text-align: left;
+     color: #ee9;
+     background: none;
+}
+
+.panel:first-child {
+     margin-top: 0;
+}
+
+.panel:last-child {
+     margin-bottom: 5px;
+}
+
+.iframed .panel.iframed {
+     margin: 0 auto -8px auto !important;
+}
+
+.iframed .panel {
+     margin: 16px auto -8px auto !important;
+     width: 100%;
+}
+
+#globalTunnelControl {
+     margin: -13px auto -13px;
+}
+
+.iframed #globalTunnelControl {
+     margin: 6px 0 -26px !important; 
+}
+
+#serverTunnels {
+     margin: -1px 0 10px;
+}
+
+h2, h3 {
+     padding: 6px 10px;
+     border: 1px solid #494;
+     background: linear-gradient(to bottom, #1a261a 0%,#223022 7%,#212f21 9%,#172317 21%,#091109 49%,#050d05 50%,#020602 51%,#010301 53%,#000000 56%,#000000 100%) !important;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin: 5px 0 -1px;
+     color: #ee9;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.iframed h2 {
+     margin: 10px 0 -1px;
+}
+
+h3 {
+     border-radius: 0;
+     margin-top: -1px;
+}
+
+.iframed #globalTunnelControl h2 {
+     margin-top: 2px;
+}
+
+.panel table {
+     width: 100%;
+     border-collapse: collapse;
+     border: 1px solid #494;
+     margin: 0;
+}
+
+th {
+     background: #000;
+     background: linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%);
+     background: linear-gradient(to bottom, #1a261a 0%, #1a261a 50%, #000 50%, #000 100%) !important;
+     padding: 6px 5px;
+     border-top: 1px solid #494;
+     border-bottom: 1px solid #494;
+     font-size: 9pt;
+     color: #ee9;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+td {
+     border-top: 1px solid #494;
+     vertical-align: middle;
+     padding: 5px;
+     font-size: 9pt;
+}
+
+td > input {
+     margin-left: 0;
+}
+
+td > b {
+     margin-right: 5px;
+     display: inline-block;
+     min-width: 30px;
+}
+
+td.infohelp {
+     background: url(images/infohelp.png) 10px center no-repeat;
+     background-size: 24px 24px;
+     background-position: 6px center;
+     padding: 10px 10px 10px 38px !important;
+}
+
+.tunnelConfig td {
+     width: 50%;
+}
+
+#clientTunnels tr, #serverTunnels tr, .tunnelConfig tr {
+     background: rgba(0,0,0,0.4);
+}
+
+.tunnelProperties {
+     background: #000 !important;
+     overflow: hidden;
+     text-align: left;
+     border: 1px solid #494;
+}
+
+#serverTunnels {
+     margin: -1px 0 10px;
+}
+
+.tunnelProperties:hover {
+     background: #020 !important;
+}
+
+.newTunnel {
+     text-align: right;
+     border-top: 1px solid #494 !important;
+     padding: 5px !important;
+     background: #fff;
 }
 
-#tunnelEditPage #targetPort, #tunnelEditPage #clientPort, #tunnelEditPage #tunnelBackupQuantity, #tunnelEditPage #tunnelVariance {
-     width: 150px;
+.newTunnel select, .newTunnel input, .newTunnel .control {
+     margin: 2px !important;
 }
 
-#tunnelEditPage #shared, #tunnelEditPage #connectDelay, #tunnelEditPage #startOnLoad {
-     width: 16px;
+.newtunnel form {
+     width: 100%;
+     text-align: right;
+}
+
+.tunnelName {
+     width: 25%;
+     min-width: 150px;
+}
+
+.tunnelName a {
+     background: url(/themes/console/images/buttons/configure.png) left center no-repeat;
+     padding: 3px 3px 3px 20px !important;
 }
 
-#tunnelEditPage label {
-     width: 150px;
+.tunnelName a:hover {
+     filter: drop-shadow(0 0 1px #730);
+     -webkit-filter: drop-shadow(0 0 1px #730);
+}
+
+.tunnelName a {
      font-weight: bold;
+}
+
+.tunnelType {
+     width: 25%;
+}
+
+.tunnelPreview {
+     text-align: left;
+}
+
+.tunnelPreview, .tunnelPort {
+     width: 15%;
+     text-align: center;
+}
+
+.tunnelLocation, .tunnelInterface {
+     width: 20%;
+}
+
+.tunnelLocation font[color="red"] {
+     margin-left: 3px;
+}
+
+.tunnelStatus {
+     text-align: center;
+     width: 10%;
+     min-width: 48px;
+}
+
+.tunnelControl {
+     width: 5%;
      text-align: right;
-     float: left;
+     white-space: nowrap;
 }
-/* I2P Tunnel List Page
-*/
 
-#tunnelListPage .rowItem {
-     width: 150px;
+th.tunnelControl {
+     text-align: center;
+}
+
+textarea {
+     border: 1px solid #494;
+     background: #000;
+     margin-left: 4px;
+     margin-right: 4px;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     resize: none;
+     box-sizing: border-box;
+     border-radius: 2px;
 }
 
-#tunnelListPage select {
-     width: 150px;
+textarea:focus {
+     color: #ee9;
+     background: #000 !important;
+     filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
 }
 
-#tunnelListPage textarea {
+textarea#statusMessages, textarea#statusMessages:active  {
+     margin: 0;
+     border: 0;
+     box-shadow: none;
+     height: 80px;
+     font-size: 9pt;
      width: 100%;
-     height: 100px;
+     border-radius: 0;
+     padding: 2px 4px;
+     color: #69f;
+}
+
+.freetext {
+     width: 150px; 
+     border: 1px solid #494;
      padding: 4px;
-     margin: 0 0 3px 0;
-     background-color: #040;
-/*     background: #000 url("images/helitile.png")no-repeat scroll right top;*/
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     background: #fff;
+     color: #333;
+     border-radius: 2px;
+     box-shadow: inset 2px 2px 1px #ccc;
+}
+
+.freetext:focus {
+     box-shadow: 0 0 1px #f60;
+     color: #111;
+}
+
+.freetext[readonly], .freetext[readonly]:focus {
+     background: #000 !important;
+     box-shadow: inset 2px 2px 1px #000;
+     color: #885;
+     cursor: default;
+     border: 1px solid #494 !important;
+     opacity: 0.8;
+}
+
+input[type="hidden"], input.default {
+     display: none;
+}
+
+input, select, button, a {
+     font-family: "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+     font-size: 9pt;
+     border-radius: 2px;
      color: #ee9;
-     font-family: "Lucida Console", "Andale Mono", "Courier New", Courier, mono;
-     border: 1px inset #002;
+     resize: none;
+     cursor: pointer;
 }
 
-#tunnelListPage .footer .control {
-     margin-left: 2px;
+input {
+     background-color: #020;
+     color: #ee9;
+     margin: 0 2px 0 2px;
+     font-family: "Droid Sans", Verdana, Helvetica, sans-serif;
+     border: 1px solid #494;
+     text-decoration: none;
+}
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     border: none;
+     outline: none;
+}
+
+input[type="file"] {
+     background: none;
+     border: none;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     vertical-align: middle;
+     min-width: 16px;
+     min-height: 16px;
+     margin: 0;
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%);
+}
+
+input[type="checkbox"]:hover, input[type="radio"]:hover {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+}
+
+input[type="password"] {
+     cursor: text;
+}
+
+input[type="text"], input[type="password"], textarea, textarea[readonly="readonly"]:focus  {
+     background: #000;
+     background: linear-gradient(to bottom, #000 0%, #010 100%);
+     box-shadow: inset 0 0 3px 3px #000;
+     filter: none;
+     color: #bb7;
+}
+
+input[type="text"]:focus, input[type="password"]:focus {
+     color: #ee9;
+     background: #000;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
+}
+
+input[readonly="readonly"]:focus {
+     filter: none;
+     background: linear-gradient(to bottom, #000 0%, #010 100%) !important;
+}
+
+a.control, input.control {
+     white-space: nowrap;
+     vertical-align: middle;
+     filter: drop-shadow(0 0 1px #000);
+}
+
+.control {
+     margin: 2px 0 0 2px !important;
+     overflow: hidden;
+     min-width: 78px;
+     font-size: 8pt;
+     font-weight: bold;
+     background: #000;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%) !important;
+     color: #494 !important;
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     text-align: center;
+     white-space: nowrap;
+     border-radius: 2px;
+     vertical-align: middle;
+     text-decoration: none;
+     padding: 4px 2px !important;
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+}
+
+.control:link {
      color: #494 !important;
      background: #000 !important;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%) !important;
+}
+
+.control:hover {
+     border: 1px solid #f60;
+     background: #000;
+     color: #f60 !important;
+     text-decoration: none;
+     box-shadow: inset 0 1px 1px 0 #eff;
+}
+
+.control:visited {
+     color: #494 !important;
+     text-decoration: none;
+}
+
+.control, .control:link, .control:visited {
+     overflow: hidden;
+     margin: 2px !important;
+     text-align: center;
+     white-space: nowrap;
+     text-decoration: none;
+     font-style: normal;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #000;
+     box-sizing: border-box;
+     min-width: 70px !important;
+     padding: 4px 8px !important;
+}
+
+.control:hover, .control:focus {
+     text-decoration: none;
+     color: #f60 !important;
+     border: 1px solid #f60 !important;
+     box-shadow: inset 0 1px 1px 0 #eff;
+}
+
+.control:active {
+     background: #f60 !important;
+     color: #ee9 !important;
+     text-decoration: none;
+     box-shadow: inset 0 0 0 1px #000 !important;
+}
+
+a.control {
+     display: inline-block;
+}
+
+button.control {
+     box-sizing: border-box;
+     -moz-box-sizing: border-box;
+     padding: 3px 4px !important;
+}
+
+select {
+     color: #494;
+     font: 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-weight: bold;
+     padding: 2px 16px 2px 3px;
+     background: #000;
+     border-radius: 2px;
+     cursor: pointer;
+     filter: drop-shadow(0 0 1px #000);
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     min-width: 120px;
+}
+
+select option { /* dropdown menu reverts to normal font-weight */
+     font-weight: normal;
+     font-size: 9.5pt;
 }
 
-#tunnelListPage .footer .control:hover {
-     color: #F60 !important;
+select:focus, select:hover {
+     color: #f60;
+     border: 1px solid #f60;
+}
+
+select:hover {
+     box-shadow: inset 0 1px 1px 0 #ee9;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+
+select {
+     -moz-appearance: none;
+     background: #000 url(images/dropdown.png) right center no-repeat !important;
+}
+
+select:hover, select:active {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+
+select:focus {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+}
+
+input, select, button {
+     font-size: 8pt;
+     vertical-align: middle;
+}
+
+button, input[type="submit"], input[type="reset"], a.control, select {
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-weight: bold;
+     filter: drop-shadow(0 0 1px #131);
+     -webkit-filter: drop-shadow(0 0 1px #131);
 }
 
-#tunnelListPage .footer .control:active {
-     color: #EE9 !important;
-     background: #F60 !important;
+.buttons, .newTunnel {
+     text-align: right !important;
+     padding: 7px 5px !important;
+     background: #000;
+     background: linear-gradient(to bottom, #010, #000);
+     border-top: 1px solid #494 !important;
 }
-     
-#tunnelListPage .footer label {
+
+.tunnelDescriptionLabel, .tunnelDestinationLabel {
      text-align: right;
-     height: 24px;
-     width: 360px;
-     float: left;
-     margin-top: 6px;
-     margin-right: 5px;
+     min-width: 150px;
+     display: inline-block;
+     margin-right: 3px;
+     white-space: nowrap;
 }
 
-/* Use Leary and Langridge content replacement methods (LIR)
-** to embed accessibility information into the document.
-** Should allow the lists to be rendered nicely by
-** screen readers. (and lynx!)
-*/
+input {
+     float: none;
+     vertical-align: middle;
+}
+
+#hostField, #leasesetKey, #userAgents {
+     width: 90% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
 
-#tunnelListPage label {
-     height: 0;
-     width: 0;
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity {
+     white-space: nowrap;
      overflow: hidden;
+     text-overflow: ellipsis;
+     -o-text-overflow: ellipsis;
 }
 
-#tunnelListPage .nameHeaderField label, #tunnelListPage .portHeaderField label, #tunnelListPage .typeHeaderField label, #tunnelListPage .interfaceHeaderField label, #tunnelListPage .targetHeaderField label, #tunnelListPage .previewHeaderField label, #tunnelListPage .statusHeaderField label {
-     text-align: left;
-     width: 150px;
-     height: 28px;
-     float: left;
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
+#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
+     width: 100% !important;
+     margin: 0 !important;
+     text-align: left !important;
 }
 
-#tunnelListPage .targetField, #tunnelListPage .targetField .text, #tunnelListPage .targetHeaderField, #tunnelListPage .targetHeaderField label {
-     width: 300px;
+#oldName, #targetDestination, select#profile, select#connectionProfile {
+     min-width: 280px;
+     width: 30%;
+}
+
+select#profile, select#connectionProfile {
+     margin: 5px !important;
+}
+
+#customOptions, #userAgents {
+     width: calc(100% - 10px) !important;
+     width: 100% !important;
+}
+
+#localDestination, textarea[name="accessList"], #hostField {
+     width: calc(100% - 5px) !important;
+     width: 100% !important;
+     margin: 3px 0 !important;
+}
+
+textarea[name="accessList"] {
+     margin: 0 !important;
+     height: 80px !important;
+}
+
+#localDestination {
+     height: 30px !important;
+     margin: 0 !important;
+}
+
+#leasesetKey {
+     height: 24px !important;
+     padding: 3px;
+}
+
+.multiOption {
+     display: inline-block;
+     margin: 5px 10px 5px 0;
+     vertical-align: middle;
+}
+
+.multiOption#isServer {
+     background: url(/themes/console/images/server.png) left center no-repeat;
+     padding-left: 20px;
+}
+
+.multiOption#isClient {
+     background: url(/themes/console/images/client.png) left center no-repeat;
+     padding-left: 21px;
+}
+
+td#throttle {
+     padding: 0;
+}
+
+#throttler {
+     border: none;
+}
+
+#throttler th {
+     padding-left: 20px;
+}
+
+#throttler td {
+     width: 20%;
+}
+
+#throttler td:first-child {
+     text-align: right;
+     width: 20%;
+     white-space: nowrap;
+}
+
+#throttler tr:first-child th {
+     border-top: none;
+}
+
+td.blankColumn {
+     width: 20% !important;
+}
+
+#throttler tr:nth-child(odd) {
+     background: #001000;
+}
+
+#throttler tr:nth-child(even) {
+     background: #000500;
+}
+
+#throttler input[type="text"] {
+     width: 80px;
+}
+
+table {
+     background: #000 url(images/camotile2.png);
+}
+
+#tunnelMessages {
+     padding: 0;
+}
+
+.required:not(old) {
+     display: none;
+}
+
+input::-moz-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
+}
+
+::-webkit-input-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
+}
+
+input.tunnelName, input.tunnelDescription, #userAgents {
+     width: 80%;
+     min-width: 280px;
+     text-overflow: ellipsis; 
+}
+
+#websiteName, #privKeyFile, #targetHost, .host {
+     width: 30%;
+     min-width: 250px;
+}
+
+.port, .quantity, .period {
+     width: 80px;
 }
 
-#tunnelListPage .descriptionField, #tunnelListPage .destinationField {
-     width: 750px;
+.username, .password {
+     width: 200px;
 }
 
-#tunnelListPage .descriptionField .text, #tunnelListPage .destinationField input {
-     width: 590px;
+.username {
+     background: url(/themes/console/images/buttons/user.png) 3px center no-repeat, linear-gradient(to bottom, #000 0%, #010 100%) !important;
+     padding-left: 22px; 
 }
 
-#tunnelListPage .descriptionField label, #tunnelListPage .destinationField label {
+.password {
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat, linear-gradient(to bottom, #000 0%, #010 100%) !important;
+     padding-left: 22px; 
+}
+
+.username:focus {
+     background: #000 url(/themes/console/images/buttons/user.png) 3px center no-repeat !important;
+}
+
+.password:focus {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat !important;
+}
+
+.proxyList {
+     width: 40%;
+     min-width: 280px;
+}
+
+#notReady {
+     border: 1px solid #900;
+     padding: 30px;
+     background: #020;
+     margin: 30px auto;
+     width: 400px;
+     text-align: center;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #000;
+     font-size: 11pt;
+     font-weight: bold;
+}
+
+/* wizard specifics */
+
+#wizardPanel {
+    font-size: 10pt;
+}
+
+#wizardTable {
+     padding: 0;
+}
+
+#wizardTunnelTypes td:first-child, #wizardSummary td:first-child {
+     font-weight: bold;
+     width: 10%;
+     min-width: 150px;
      text-align: right;
-     width: 150px;
-     height: 24px;
-     float: left;
+     white-space: nowrap;
+}
+
+#wizardTunnelTypes td:last-child {
+     text-align: justify;
+     padding: 10px 15px 10px 10px;
+}
+
+#wizardTunnelTypes select {
+     margin-left: 0 !important;
+}
+
+#wizardTunnelTypes, #wizardSummary {
+     border: none;
+     margin-top: -1px;
+}
+
+#wizardTunnelTypes tr:nth-child(even), #wizardSummary tr:nth-child(even) {
+     background: #010;
 }
+
+#wizardTunnelTypes tr:nth-child(odd), #wizardSummary tr:nth-child(odd) {
+     background: #000800;
+}
+
+#wizardTunnelTypes tr:last-child {
+     background: #000;
+}
+
+#wizardPanel #name, #wizardPanel #description {
+     width: 300px !important;
+}  
+
+#wizardPanel p {
+     padding: 5px;
+     margin: 0;
+     text-align: justify;
+}
+
+#wizardPanel input::-moz-placeholder {
+     color: #bb7;
+     font-weight: normal;
+}
+
+#wizardPanel ::-webkit-input-placeholder {
+     color: #bb7;
+     font-weight: normal;
+}
+
+#wizardPanel .options {
+     padding: 10px;
+}
+
+#wizardPanel .tag {
+     width: 10%;
+     min-width: 150px;
+     white-space: nowrap;
+     display: inline-block;
+     font-weight: bold;
+     text-align: right;
+     margin-right: 3px;
+}
+
+#wizardPanel select {
+     min-width: 160px;
+     margin: 5px 0 !important;
+}
+
+#wizardPanel .infohelp p { /* wizard complete - advanced options info */
+     margin: 0;
+     padding: 0;
+}
+
+/* more space */
+
+.tunnelConfig td, td {
+     border-top: 1px inset #1c3f1b;
+     padding: 5px;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     margin: 5px 3px 5px 5px;
+}
+
+.freetext, .tunnelConfig textarea, #customOptions, #userAgents, #hostField  {
+     margin: 5px !important;
+     cursor: text;
+}
+
+.multiOption {
+     margin: 5px 10px 5px 0;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
+     margin: 5px !important;
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig select, select#profile select#connectionProfile {
+     margin: 5px !important;
+}
+
+textarea[name="accessList"], #hostField, #localDestination, .authentication {
+     width: calc(100% - 10px) !important;
+     margin: 5px !important;
+}
+
+#customOptions, #userAgents, #leasesetKey {
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig td > b {
+     min-width: 30px;
+     display: inline-block;
+     margin-left: 5px;
+}
+
+.tunnelDestination {
+     padding-bottom: 1px !important;
+     border-bottom: 1px solid transparent !important;
+}
+
+#clientTunnels .tunnelDescription {
+     padding-top: 1px !important;
+}
+
+.tunnelDestination b, .tunnelDescription b {
+     color: #bb7;
+}
+
+
+td.tunnelDestination, td.tunnelDescription {
+     background: linear-gradient(to right, #000 50%, #010);
+}
+
+/* end more space */
\ No newline at end of file
diff --git a/installer/resources/themes/console/dark/images/chart.png b/installer/resources/themes/console/dark/images/chart.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e8273a659bc7c4b571f8c4b9bf7f94094021329
Binary files /dev/null and b/installer/resources/themes/console/dark/images/chart.png differ
diff --git a/installer/resources/themes/console/dark/images/dropdown.png b/installer/resources/themes/console/dark/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..077ee79136817191247bc8e4fe4223a99b63dfc9
Binary files /dev/null and b/installer/resources/themes/console/dark/images/dropdown.png differ
diff --git a/installer/resources/themes/console/dark/images/dropdown_active.png b/installer/resources/themes/console/dark/images/dropdown_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f115f98851233839bd411337191ef76f510b9bb
Binary files /dev/null and b/installer/resources/themes/console/dark/images/dropdown_active.png differ
diff --git a/installer/resources/themes/console/dark/images/dropdown_hover.png b/installer/resources/themes/console/dark/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffcca9c9b867994cf27dcac5df46d0928fef47c5
Binary files /dev/null and b/installer/resources/themes/console/dark/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/console/dark/images/eye.png b/installer/resources/themes/console/dark/images/eye.png
new file mode 100644
index 0000000000000000000000000000000000000000..403aaa4126f68d7eeed54fa620142905e600387e
Binary files /dev/null and b/installer/resources/themes/console/dark/images/eye.png differ
diff --git a/installer/resources/themes/console/dark/images/help.png b/installer/resources/themes/console/dark/images/help.png
new file mode 100644
index 0000000000000000000000000000000000000000..be52814717ef790cd13d33c7ec1fc9c5d14b0eb2
Binary files /dev/null and b/installer/resources/themes/console/dark/images/help.png differ
diff --git a/installer/resources/themes/console/dark/images/help_dark.png b/installer/resources/themes/console/dark/images/help_dark.png
deleted file mode 100644
index d61716906115c5bfb79ca231448cd70d3df999b9..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/help_dark.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/info_dark.png b/installer/resources/themes/console/dark/images/info_dark.png
deleted file mode 100644
index 678d2e6ba962a63ff0925e9b818dd8a1f7d290f8..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/info_dark.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/infohelp.png b/installer/resources/themes/console/dark/images/infohelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ea7114b32b8ea3ab155a10f9b63b08e3b413a38
Binary files /dev/null and b/installer/resources/themes/console/dark/images/infohelp.png differ
diff --git a/installer/resources/themes/console/dark/images/infowarn.png b/installer/resources/themes/console/dark/images/infowarn.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7ddbffa40a26ea014f56cb66df97d793035192c
Binary files /dev/null and b/installer/resources/themes/console/dark/images/infowarn.png differ
diff --git a/installer/resources/themes/console/dark/images/link_dark.png b/installer/resources/themes/console/dark/images/link_dark.png
deleted file mode 100644
index e33c92544f0daf08363c3a6156beb43d1f22d4b4..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/link_dark.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/magnet.png b/installer/resources/themes/console/dark/images/magnet.png
new file mode 100644
index 0000000000000000000000000000000000000000..43fcc27e6c1e8ef80fe7741cb3206dd5566226f5
Binary files /dev/null and b/installer/resources/themes/console/dark/images/magnet.png differ
diff --git a/installer/resources/themes/console/dark/images/mail.png b/installer/resources/themes/console/dark/images/mail.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e2c3f281824fab6f1adbd62df0c330021f86af5
Binary files /dev/null and b/installer/resources/themes/console/dark/images/mail.png differ
diff --git a/installer/resources/themes/console/dark/images/news.jpg b/installer/resources/themes/console/dark/images/news.jpg
deleted file mode 100644
index be3d8fb6adbd3a16589cac540370015a559bac80..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/news.jpg and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/scarface.png b/installer/resources/themes/console/dark/images/scarface.png
deleted file mode 100644
index d9e2b2e609a9f37b4c4ecbd8d9001d76b1449e17..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/scarface.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/thumbnail.png b/installer/resources/themes/console/dark/images/thumbnail.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea6d57809258e0000c45e83a9eb19dead22ced59
Binary files /dev/null and b/installer/resources/themes/console/dark/images/thumbnail.png differ
diff --git a/installer/resources/themes/console/dark/images/tile.png b/installer/resources/themes/console/dark/images/tile.png
deleted file mode 100644
index c8f98b265782ca33085aac87ee93d1679e5812ad..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/dark/images/tile.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/warning24x24.png b/installer/resources/themes/console/dark/images/warning24x24.png
new file mode 100644
index 0000000000000000000000000000000000000000..52c2a7cfc9af3e189085f6f076e205833aa309c9
Binary files /dev/null and b/installer/resources/themes/console/dark/images/warning24x24.png differ
diff --git a/installer/resources/themes/console/dark/images/webmail.png b/installer/resources/themes/console/dark/images/webmail.png
new file mode 100644
index 0000000000000000000000000000000000000000..335b5e4ebdba9377ec8f81cb0dcf12a400e06df3
Binary files /dev/null and b/installer/resources/themes/console/dark/images/webmail.png differ
diff --git a/installer/resources/themes/console/dark/images/webserver.png b/installer/resources/themes/console/dark/images/webserver.png
new file mode 100644
index 0000000000000000000000000000000000000000..5330c5502e2ea8ff48f5c392675419aec2586d80
Binary files /dev/null and b/installer/resources/themes/console/dark/images/webserver.png differ
diff --git a/installer/resources/themes/console/dark/mobile.css b/installer/resources/themes/console/dark/mobile.css
index 2f211ab2bc9922d72500821337c0b39a9970f185..6402da1566e20da5f2321033e1dc2220800fdbe0 100644
--- a/installer/resources/themes/console/dark/mobile.css
+++ b/installer/resources/themes/console/dark/mobile.css
@@ -1,30 +1,115 @@
+/* Console Theme "Dark" - Mobile Override */
+
+body {
+     padding: 0 5px;
+     margin: 5px 0 !important;
+}
+
+div#xhr {
+     width: 617px;
+     margin: 0 auto;
+}
+
 div.routersummaryouter {
-     float: none;
-     margin: 0 5px 10px;
      position: relative;
+     float: none;
      width: auto;
+     margin: 0 0 5px;
 }
 
 div.routersummary {
      float: none;
-     width: auto;
+     width: 600px;
+     margin: 0 auto;
+}
+
+div[style^='height'] + a {
+     display: inline-block;
+     padding-top: 8px !important;
+}
+
+.routersummary td,
+.routersummary a,
+.routersummary h4,
+.routersummary h4 a,
+.routersummary button {
+     font-size: 10pt !important;
+}
+
+.routersummary h3 a {
+     font-size: 11pt !important;
+     padding: 3px 1px;
+}
+
+div.routersummary table,
+.routersummary table[id^='sb_'] {
+     min-width: 100% !important;
+     min-width: calc(100% - 1px) !important;
+     margin-bottom: -7px !important;
+}
+
+#sb_localtunnels {
+     margin-top: -5px !important;
+}
+
+.routersummary tr:nth-child(odd) td {
+     padding: 3px;
+     background: #020;
+     background: rgba(0,34,0,.5);
+}
+
+.routersummary tr:nth-child(even) td {
+     padding: 3px;
+     background: #000;
+     background: rgba(0,0,0,.3);
+}
+
+.routersummary tr td {
+     border-top: 1px inset #000 !important;
+     border-bottom: 1px inset #000 !important;
+}
+
+.routersummary tr:hover td {
+     border-top: 1px solid #030 !important;
+     border-bottom: 1px solid #030 !important;
+}
+
+.routersummary tr:hover td {
+     background: #020;
+}
+
+.routersummary h3,
+.routersummary h4,
+.routersummary hr {
+     margin-right: 7px !important;
+     margin-left: -11px !important;
+}
+
+div.routersummary h4 {
+     margin: -6px 7px -8px -10px !important;
+}
+
+div.routersummary form {
+     margin: -2px 5px -4px -11px !important;
 }
 
-div.routersummary table {
-     width: 100% !important;
+.routersummary button[type="submit"], .routersummary button[type="cancel"] {
+     margin: 5px 10px !important;
+     padding: 8px 5px !important;
+     min-width: 120px !important;
 }
 
 h1 {
-     margin: 0 5px !important;
-     min-width: 0;
+     min-width: 590px;
+     margin: 0 !important;
 }
 
 div.news {
-     margin: -1px 5px 0;
-     min-width: 0;
+     min-width: 590px;
+     margin: -1px 0 0;
 }
 
 div.main {
-     margin: -1px 5px 5px;
-     min-width: 0;
+     min-width: 590px;
+     margin: -1px 0 5px;
 }
diff --git a/installer/resources/themes/console/images/accept.png b/installer/resources/themes/console/images/accept.png
deleted file mode 100644
index 89c8129a490b329f3165f32fa0781701aab417ea..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/accept.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_down.png b/installer/resources/themes/console/images/arrow_down.png
deleted file mode 100644
index 2c4e279377bf348f9cf53894e76bb673ccf067bd..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_down.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_left.png b/installer/resources/themes/console/images/arrow_left.png
deleted file mode 100644
index 5dc696781e6135d37b5bf2e98e46fd94f020c48d..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_left.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_refresh.png b/installer/resources/themes/console/images/arrow_refresh.png
deleted file mode 100644
index 0de26566d4102eec080253c2d08985ec58b14838..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_refresh.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_right.png b/installer/resources/themes/console/images/arrow_right.png
deleted file mode 100644
index b1a1819238c6de8f9e50988f4151261fa6ba64ea..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_right.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_turn_left.png b/installer/resources/themes/console/images/arrow_turn_left.png
deleted file mode 100644
index a3d6c9e39e0a888d436f42623c3220323cdb6437..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_turn_left.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/arrow_up.png b/installer/resources/themes/console/images/arrow_up.png
deleted file mode 100644
index 1ebb193243780b8eb1919a51ef27c2a0d36ccec2..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/arrow_up.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/buttons/Xstart.png b/installer/resources/themes/console/images/buttons/Xstart.png
new file mode 100644
index 0000000000000000000000000000000000000000..195a9d707b853c9fc591a518bdd0cbb6e450d115
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/Xstart.png differ
diff --git a/installer/resources/themes/console/images/buttons/Xstop.png b/installer/resources/themes/console/images/buttons/Xstop.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdaeb855ae006cf6d123d3ee5a7df3ac1d6b8263
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/Xstop.png differ
diff --git a/installer/resources/themes/console/images/buttons/add.png b/installer/resources/themes/console/images/buttons/add.png
new file mode 100644
index 0000000000000000000000000000000000000000..f64b0119977b809536bc29d6e9d6eb4ded98cd93
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/add.png differ
diff --git a/installer/resources/themes/console/images/buttons/add_address.png b/installer/resources/themes/console/images/buttons/add_address.png
new file mode 100644
index 0000000000000000000000000000000000000000..35facf6b3473c9c276475bf38661706ece213ef6
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/add_address.png differ
diff --git a/installer/resources/themes/console/images/buttons/ban.png b/installer/resources/themes/console/images/buttons/ban.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a368df09f18b1bfced6e4d179b9c0053f0b2748
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/ban.png differ
diff --git a/installer/resources/themes/console/images/buttons/clean.png b/installer/resources/themes/console/images/buttons/clean.png
new file mode 100644
index 0000000000000000000000000000000000000000..96d8cf84d2eaeb82c2a4ccf4a34b5b5c803f96c2
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/clean.png differ
diff --git a/installer/resources/themes/console/images/buttons/clean_hover.png b/installer/resources/themes/console/images/buttons/clean_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..e28a5bea9b3b753c94d0b4f3dfb5d17d84580aa0
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/clean_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/configure.png b/installer/resources/themes/console/images/buttons/configure.png
new file mode 100644
index 0000000000000000000000000000000000000000..8151463917ec88ca0962a5bfefb9f11c9122bff8
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/configure.png differ
diff --git a/installer/resources/themes/console/images/buttons/configure_hover.png b/installer/resources/themes/console/images/buttons/configure_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..59a0602126f37d948006661ece2d396dfe98a9af
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/configure_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/create-file.png b/installer/resources/themes/console/images/buttons/create-file.png
new file mode 100644
index 0000000000000000000000000000000000000000..f866cf65f0a61ac08b6cf180e6f7170244b1eac6
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/create-file.png differ
diff --git a/installer/resources/themes/console/images/buttons/create-file_.png b/installer/resources/themes/console/images/buttons/create-file_.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9ad768c2a4fd92c26f3b5b0890e042879fa5462
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/create-file_.png differ
diff --git a/installer/resources/themes/console/images/buttons/create.png b/installer/resources/themes/console/images/buttons/create.png
new file mode 100644
index 0000000000000000000000000000000000000000..731cb56ae32cc22e97ba64a56b7ab2df16a0b850
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/create.png differ
diff --git a/installer/resources/themes/console/images/buttons/delete.png b/installer/resources/themes/console/images/buttons/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0d4b0201b9fc3f6f6da0c9b888822eafaac8414
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/delete.png differ
diff --git a/installer/resources/themes/console/images/buttons/delete_hover.png b/installer/resources/themes/console/images/buttons/delete_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fc6c589673a8b757823977d67ca9c719452001c
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/delete_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/download.png b/installer/resources/themes/console/images/buttons/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e06cda0974991703e0e8b1ef65ce67d47ebba70
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/download.png differ
diff --git a/installer/resources/themes/console/images/buttons/dump-threads.png b/installer/resources/themes/console/images/buttons/dump-threads.png
new file mode 100644
index 0000000000000000000000000000000000000000..24cb04ec597e57a0aedd49f7cfa81c5042144ea0
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/dump-threads.png differ
diff --git a/installer/resources/themes/console/images/buttons/edit.png b/installer/resources/themes/console/images/buttons/edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6f2ca02bb9aa67e8cc5c214fc3803667060e97d
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/edit.png differ
diff --git a/installer/resources/themes/console/images/buttons/edit2.png b/installer/resources/themes/console/images/buttons/edit2.png
new file mode 100644
index 0000000000000000000000000000000000000000..16c440c86787658b3df8c005b0d27df9c8a6a6fe
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/edit2.png differ
diff --git a/installer/resources/themes/console/images/buttons/filter.png b/installer/resources/themes/console/images/buttons/filter.png
new file mode 100644
index 0000000000000000000000000000000000000000..35f1d2596041194e48eb476b141bbd22ff247594
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/filter.png differ
diff --git a/installer/resources/themes/console/images/buttons/floodfill.png b/installer/resources/themes/console/images/buttons/floodfill.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f23f0ee2d36b1d515de0f9933675b94fb336e5a
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/floodfill.png differ
diff --git a/installer/resources/themes/console/images/buttons/from-file.png b/installer/resources/themes/console/images/buttons/from-file.png
new file mode 100644
index 0000000000000000000000000000000000000000..d031ca5eeb490845b60c47ff795078e50bf6ab10
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/from-file.png differ
diff --git a/installer/resources/themes/console/images/buttons/fullview.png b/installer/resources/themes/console/images/buttons/fullview.png
new file mode 100644
index 0000000000000000000000000000000000000000..d199572eea6098963790d538fa9ce1bf48e1cd58
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/fullview.png differ
diff --git a/installer/resources/themes/console/images/buttons/go.png b/installer/resources/themes/console/images/buttons/go.png
new file mode 100644
index 0000000000000000000000000000000000000000..1799620988456b4fd515e7550988bd337404d5fc
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/go.png differ
diff --git a/installer/resources/themes/console/images/buttons/hide.png b/installer/resources/themes/console/images/buttons/hide.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3f213c6672513ef17c74eb3c3df978e90ef5a32
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/hide.png differ
diff --git a/installer/resources/themes/console/images/buttons/no.png b/installer/resources/themes/console/images/buttons/no.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6921565df89bbffb6188df01e7cabd763e20e67
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/no.png differ
diff --git a/installer/resources/themes/console/images/buttons/password.png b/installer/resources/themes/console/images/buttons/password.png
new file mode 100644
index 0000000000000000000000000000000000000000..af990d2cb8b599e507be610d248c16ac6b9293da
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/password.png differ
diff --git a/installer/resources/themes/console/images/buttons/restart.png b/installer/resources/themes/console/images/buttons/restart.png
new file mode 100644
index 0000000000000000000000000000000000000000..06f1ee390a69aede315c33ab6ba8c085bcdd003e
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/restart.png differ
diff --git a/installer/resources/themes/console/images/buttons/restart_hover.png b/installer/resources/themes/console/images/buttons/restart_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c5605506772be9ca53f69e424c4a37a98375c02
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/restart_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/restore.png b/installer/resources/themes/console/images/buttons/restore.png
new file mode 100644
index 0000000000000000000000000000000000000000..e55a304d632a7f4a67f49b35a8eb5c5c5b63d4ef
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/restore.png differ
diff --git a/installer/resources/themes/console/images/buttons/restore_hover.png b/installer/resources/themes/console/images/buttons/restore_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..68a754a5c1559d0775fa68288c6680f38e04b067
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/restore_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/search.png b/installer/resources/themes/console/images/buttons/search.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b289ed04b228b3a4767b9921fcf8df6b978360e
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/search.png differ
diff --git a/installer/resources/themes/console/images/buttons/search_hover.png b/installer/resources/themes/console/images/buttons/search_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee0b3596892101efc1699f67fbac3ba0c95e83b9
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/search_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/show.png b/installer/resources/themes/console/images/buttons/show.png
new file mode 100644
index 0000000000000000000000000000000000000000..403aaa4126f68d7eeed54fa620142905e600387e
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/show.png differ
diff --git a/installer/resources/themes/console/images/buttons/shutdown.png b/installer/resources/themes/console/images/buttons/shutdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..c697b305cb5a162a1e5efdff1a43d9e9ca29ffe8
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/shutdown.png differ
diff --git a/installer/resources/themes/console/images/buttons/shutdown_hover.png b/installer/resources/themes/console/images/buttons/shutdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..3905ce6c1820415855ba74b4cc72849c138969b3
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/shutdown_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/unban.png b/installer/resources/themes/console/images/buttons/unban.png
new file mode 100644
index 0000000000000000000000000000000000000000..45b52416ba84390efc1e48ad83d37dd406daffee
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/unban.png differ
diff --git a/installer/resources/themes/console/images/buttons/update.png b/installer/resources/themes/console/images/buttons/update.png
new file mode 100644
index 0000000000000000000000000000000000000000..c932759e7fa7f4ac473db118c8808544daf06cf2
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/update.png differ
diff --git a/installer/resources/themes/console/images/buttons/update_hover.png b/installer/resources/themes/console/images/buttons/update_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..94adf70a972b431d5258b0f95825207745949b85
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/update_hover.png differ
diff --git a/installer/resources/themes/console/images/buttons/user.png b/installer/resources/themes/console/images/buttons/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e8cb7da882855458ae5a900542b3092d6220400
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/user.png differ
diff --git a/installer/resources/themes/console/images/buttons/users.png b/installer/resources/themes/console/images/buttons/users.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c32daba001660cf9a7196963f6dcea1ca197493
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/users.png differ
diff --git a/installer/resources/themes/console/images/buttons/yes.png b/installer/resources/themes/console/images/buttons/yes.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7d7a96be3f2282a62e3c0733bac89c7f6de7b4a
Binary files /dev/null and b/installer/resources/themes/console/images/buttons/yes.png differ
diff --git a/installer/resources/themes/console/images/cancel.png b/installer/resources/themes/console/images/cancel.png
deleted file mode 100644
index c149c2bc017d5ce5a8ae9330dd7dbd012482e0f4..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/cancel.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/colomboicon.png b/installer/resources/themes/console/images/colomboicon.png
deleted file mode 100644
index b64020f173b262bf02971c2ad62e4041acffefa0..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/colomboicon.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/cursor_zoom.png b/installer/resources/themes/console/images/cursor_zoom.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c4277f783da90e7d34f95fe288896c3aebad203
Binary files /dev/null and b/installer/resources/themes/console/images/cursor_zoom.png differ
diff --git a/installer/resources/themes/console/images/delete.png b/installer/resources/themes/console/images/delete.png
deleted file mode 100644
index 08f249365afd29594b51210c6e21ba253897505d..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/delete.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/info/bandwidth.png b/installer/resources/themes/console/images/info/bandwidth.png
new file mode 100644
index 0000000000000000000000000000000000000000..9216261b20c36d38bc40a03064425cc6ccdb09b3
Binary files /dev/null and b/installer/resources/themes/console/images/info/bandwidth.png differ
diff --git a/installer/resources/themes/console/images/info/blocked.png b/installer/resources/themes/console/images/info/blocked.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2eee435361b69026de902c74a78e84a05be291a
Binary files /dev/null and b/installer/resources/themes/console/images/info/blocked.png differ
diff --git a/installer/resources/themes/console/images/info/blocked_.png b/installer/resources/themes/console/images/info/blocked_.png
new file mode 100644
index 0000000000000000000000000000000000000000..838112b604626bff77c7c53a742341beda012a58
Binary files /dev/null and b/installer/resources/themes/console/images/info/blocked_.png differ
diff --git a/installer/resources/themes/console/images/info/box.png b/installer/resources/themes/console/images/info/box.png
new file mode 100644
index 0000000000000000000000000000000000000000..669b150a12716ea27bb871fdebf40caef2f56a8b
Binary files /dev/null and b/installer/resources/themes/console/images/info/box.png differ
diff --git a/installer/resources/themes/console/images/info/bugreport.png b/installer/resources/themes/console/images/info/bugreport.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8f268677e8acad17dcef1e52f6bbb38bc426323
Binary files /dev/null and b/installer/resources/themes/console/images/info/bugreport.png differ
diff --git a/installer/resources/themes/console/images/info/connect.png b/installer/resources/themes/console/images/info/connect.png
new file mode 100644
index 0000000000000000000000000000000000000000..203b5e24e74f7c1fac622dfdd4be80c8307914a9
Binary files /dev/null and b/installer/resources/themes/console/images/info/connect.png differ
diff --git a/installer/resources/themes/console/images/info/debug.png b/installer/resources/themes/console/images/info/debug.png
new file mode 100644
index 0000000000000000000000000000000000000000..e803eb1efbecff7503457d1a82e2d618ecd31188
Binary files /dev/null and b/installer/resources/themes/console/images/info/debug.png differ
diff --git a/installer/resources/themes/console/dark/images/errortriangle.png b/installer/resources/themes/console/images/info/errortriangle.png
similarity index 100%
rename from installer/resources/themes/console/dark/images/errortriangle.png
rename to installer/resources/themes/console/images/info/errortriangle.png
diff --git a/installer/resources/themes/console/images/info/experimental.png b/installer/resources/themes/console/images/info/experimental.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e3d2bad4f69a92268e3faae694d0a8f59083bd9
Binary files /dev/null and b/installer/resources/themes/console/images/info/experimental.png differ
diff --git a/installer/resources/themes/console/images/info/family.png b/installer/resources/themes/console/images/info/family.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ebec84b0daa0b7553c0fc6f382a51e5c546d09d
Binary files /dev/null and b/installer/resources/themes/console/images/info/family.png differ
diff --git a/installer/resources/themes/console/images/info/floodfill_32x32.png b/installer/resources/themes/console/images/info/floodfill_32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..39875930d763243a8367f117b24eca8f0047563e
Binary files /dev/null and b/installer/resources/themes/console/images/info/floodfill_32x32.png differ
diff --git a/installer/resources/themes/console/images/info/from_file.png b/installer/resources/themes/console/images/info/from_file.png
new file mode 100644
index 0000000000000000000000000000000000000000..cebd1dc663e5a653812839afe22be3248cff5c02
Binary files /dev/null and b/installer/resources/themes/console/images/info/from_file.png differ
diff --git a/installer/resources/themes/console/images/info/globe.png b/installer/resources/themes/console/images/info/globe.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2ebc9c984d530a6daa101bceeac3b8c11817ca2
Binary files /dev/null and b/installer/resources/themes/console/images/info/globe.png differ
diff --git a/installer/resources/themes/console/images/info/home.png b/installer/resources/themes/console/images/info/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..51e3c50339298d6dc88d4191d04acdb52d2793c1
Binary files /dev/null and b/installer/resources/themes/console/images/info/home.png differ
diff --git a/installer/resources/themes/console/images/info/infohelp.png b/installer/resources/themes/console/images/info/infohelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..22f09355d3d12d8a6e2e30c403ee51d0e9618f6a
Binary files /dev/null and b/installer/resources/themes/console/images/info/infohelp.png differ
diff --git a/installer/resources/themes/console/images/info/infowarn.png b/installer/resources/themes/console/images/info/infowarn.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5ddc8527690e1e86bd47de685d785fed11f966d
Binary files /dev/null and b/installer/resources/themes/console/images/info/infowarn.png differ
diff --git a/installer/resources/themes/console/images/info/interval.png b/installer/resources/themes/console/images/info/interval.png
new file mode 100644
index 0000000000000000000000000000000000000000..556445d22c3e96c315a48cfba880e2ea24e025e5
Binary files /dev/null and b/installer/resources/themes/console/images/info/interval.png differ
diff --git a/installer/resources/themes/console/images/info/java_edit.png b/installer/resources/themes/console/images/info/java_edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6cb9ee2afef8cfb3886d605222e918a96812669
Binary files /dev/null and b/installer/resources/themes/console/images/info/java_edit.png differ
diff --git a/installer/resources/themes/console/images/info/key.png b/installer/resources/themes/console/images/info/key.png
new file mode 100644
index 0000000000000000000000000000000000000000..3cf460e1126ce5c67b2fc0d4166eb4bc6f409e20
Binary files /dev/null and b/installer/resources/themes/console/images/info/key.png differ
diff --git a/installer/resources/themes/console/images/info/keys.png b/installer/resources/themes/console/images/info/keys.png
new file mode 100644
index 0000000000000000000000000000000000000000..23cda1a3ff5eb4cd599906b910ee89a476d14ad7
Binary files /dev/null and b/installer/resources/themes/console/images/info/keys.png differ
diff --git a/installer/resources/themes/console/images/info/label.png b/installer/resources/themes/console/images/info/label.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a2c8e85a9dbf782b5583bc397cbf9cf307202e2
Binary files /dev/null and b/installer/resources/themes/console/images/info/label.png differ
diff --git a/installer/resources/themes/console/images/info/launch_browser.png b/installer/resources/themes/console/images/info/launch_browser.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b800f1b2281266f64f3a5b5be97b5018f2ad114
Binary files /dev/null and b/installer/resources/themes/console/images/info/launch_browser.png differ
diff --git a/installer/resources/themes/console/images/info/logs.png b/installer/resources/themes/console/images/info/logs.png
new file mode 100644
index 0000000000000000000000000000000000000000..260f8975d2fa437ecc6f8ad0991169a28bb9b798
Binary files /dev/null and b/installer/resources/themes/console/images/info/logs.png differ
diff --git a/installer/resources/themes/console/images/info/newspaper.png b/installer/resources/themes/console/images/info/newspaper.png
new file mode 100644
index 0000000000000000000000000000000000000000..06a2902feccd4dafd1761a1c78e1efc24fc6817b
Binary files /dev/null and b/installer/resources/themes/console/images/info/newspaper.png differ
diff --git a/installer/resources/themes/console/images/info/plugin_edit.png b/installer/resources/themes/console/images/info/plugin_edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..d22923ba71fa055308021a9f0624c38c88d285ae
Binary files /dev/null and b/installer/resources/themes/console/images/info/plugin_edit.png differ
diff --git a/installer/resources/themes/console/images/info/plugin_link.png b/installer/resources/themes/console/images/info/plugin_link.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d6a00e16048e64d88020dcd6b81646ae749bd65
Binary files /dev/null and b/installer/resources/themes/console/images/info/plugin_link.png differ
diff --git a/installer/resources/themes/console/images/info/power.png b/installer/resources/themes/console/images/info/power.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce2730b39ce5a5c1bf5059c9de4a7faacc8a3f37
Binary files /dev/null and b/installer/resources/themes/console/images/info/power.png differ
diff --git a/installer/resources/themes/console/images/info/reboot.png b/installer/resources/themes/console/images/info/reboot.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8d0e60f40bbba0e3979dda0e0484c4023febadc
Binary files /dev/null and b/installer/resources/themes/console/images/info/reboot.png differ
diff --git a/installer/resources/themes/console/images/info/statistics.png b/installer/resources/themes/console/images/info/statistics.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a840e616517af67b070524748d47e42ccf001dc
Binary files /dev/null and b/installer/resources/themes/console/images/info/statistics.png differ
diff --git a/installer/resources/themes/console/images/info/systray.png b/installer/resources/themes/console/images/info/systray.png
new file mode 100644
index 0000000000000000000000000000000000000000..d348c8b46ce9baebc94318fa84c433815c0a0d5d
Binary files /dev/null and b/installer/resources/themes/console/images/info/systray.png differ
diff --git a/installer/resources/themes/console/images/info/url.png b/installer/resources/themes/console/images/info/url.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0c35b59a32a35922e235ce13cfaea86fb337aa3
Binary files /dev/null and b/installer/resources/themes/console/images/info/url.png differ
diff --git a/installer/resources/themes/console/images/info/user_add.png b/installer/resources/themes/console/images/info/user_add.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbfa800dde058a3904007a03e08ff3ee293c2bad
Binary files /dev/null and b/installer/resources/themes/console/images/info/user_add.png differ
diff --git a/installer/resources/themes/console/images/jisko_console_icon.png b/installer/resources/themes/console/images/jisko_console_icon.png
deleted file mode 100644
index d61fddb2d3afb14987f6775d579916f1a0e3f39e..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/jisko_console_icon.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/lenta_main_logo.png b/installer/resources/themes/console/images/lenta_main_logo.png
index c43be5f4ae9f3ab2d7aa9590d6ca475ae7bf648d..0cc5638ad89035686585f96eaf0ed3bb18e81d81 100644
Binary files a/installer/resources/themes/console/images/lenta_main_logo.png and b/installer/resources/themes/console/images/lenta_main_logo.png differ
diff --git a/installer/resources/themes/console/images/link.png b/installer/resources/themes/console/images/link.png
deleted file mode 100644
index e0eba7969888b86b7f9b554434dc9750c1218c9e..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/link.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/link_dark.png b/installer/resources/themes/console/images/link_dark.png
deleted file mode 100644
index e33c92544f0daf08363c3a6156beb43d1f22d4b4..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/link_dark.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/magnifier.png b/installer/resources/themes/console/images/magnifier.png
deleted file mode 100644
index cf3d97f75e9cde9c143980d89272fe61fc2d64ee..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/magnifier.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/salt_console.png b/installer/resources/themes/console/images/salt_console.png
deleted file mode 100644
index 1332eb1e2054107d7b30a23a9feec43e8bb0fd09..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/salt_console.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/stop.png b/installer/resources/themes/console/images/stop.png
deleted file mode 100644
index 0cfd585963d255190b8855a7689e8da1c4d7cf6b..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/stop.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/television_delete.png b/installer/resources/themes/console/images/television_delete.png
deleted file mode 100644
index b855fb437275de9e3c97e87a80d9eb6c513bf65c..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/television_delete.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/tick.png b/installer/resources/themes/console/images/tick.png
deleted file mode 100644
index a9925a06ab02db30c1e7ead9c701c15bc63145cb..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/tick.png and /dev/null differ
diff --git a/installer/resources/themes/console/dark/images/transparent.gif b/installer/resources/themes/console/images/transparent.gif
similarity index 100%
rename from installer/resources/themes/console/dark/images/transparent.gif
rename to installer/resources/themes/console/images/transparent.gif
diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css
index b953cf55933b2bde1b65716ef20a0a5708ba1041..d5eb0ddd69371809d7e90f929e771803277be30d 100644
--- a/installer/resources/themes/console/light/console.css
+++ b/installer/resources/themes/console/light/console.css
@@ -2,15 +2,20 @@
 /* Description: Light blue highlights. */
 /* Author: dr|z3d */
 
+html {
+     margin: 0 !important;
+}
+
 body {
-     margin: 10px 0px -10px 10px;
+     margin: 8px 6px 8px 8px;
      text-align: center;
-     color: #000;
-     font: 10pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #9696ff url('images/snowcamo.png');
+     color: #001;
+     font: 9pt/130% "Droid Sans", Ubuntu, "Noto Sans", "Bitstream Vera Sans", "Segoe UI", "Lucida Grande", Verdana, Helvetica, sans-serif;
+     background: #a4a4cb url(images/tile2.png);
+     background-size: 32px 32px;
 }
 
-.hide {
+.hide, .hideme {
      display: none;
 }
 
@@ -20,15 +25,50 @@ div.clearer {
      line-height: 0;
 }
 
+::selection {
+     background: #27377f !important;
+     color: white;
+}
+
+::-moz-selection {
+     background: #27377f !important;
+     color: white;
+}
+
 img {
      border: none;
 }
 
+img[src$="bound.png"] {
+     filter: hue-rotate(-40deg);
+     -webkit-filter: hue-rotate(-40deg);
+}
+
+a img[src$="bound.png"] {
+     filter: hue-rotate(-40deg) drop-shadow(0 0 1px #aaa);
+     -webkit-filter: hue-rotate(-40deg) drop-shadow(0 0 1px #aaa);
+}
+
+a:hover img[src$="bound.png"] {
+     filter: hue-rotate(-40deg) drop-shadow(0 0 1px #f60);
+     -webkit-filter: hue-rotate(-40deg) drop-shadow(0 0 1px #f60);
+}
+
+a img {
+     filter: drop-shadow(0 0 1px #aaa);
+     -webkit-filter: drop-shadow(0 0 1px #aaa);
+}
+
+a:hover img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
 pre {
      width: 98%;
      overflow: auto;
      text-align: left;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     font: 8pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
      color: #333;
      margin: 10px;
 }
@@ -37,15 +77,13 @@ div.logo {
      float: left;
      padding: 10px;
      text-align: center;
-     color: #fff;
+     color: #222;
      margin: 0 10px;
      border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #ffe;
+     border-radius: 2px;
+     background: #fff;
      width: 185px;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+     box-shadow: inset 0 0 0 1px #bbf;
 }
 
 div.toolbar {
@@ -59,13 +97,11 @@ div.toolbar {
 
 div.toolbar a:link {
      border: 1px outset #ddddc0;
-     padding: 0px 5px 1px 5px;
+     padding: 0 5px 1px 5px;
      line-height: 250%;
      background: #bbf;
      text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border-radius: 2px;
      display: none !important;
 }
 
@@ -86,7 +122,7 @@ a:active {
 div.routersummaryouter {
      float: left;
      width: 200px;
-     margin: 0 0 10px 0px;
+     margin: 0 0 10px 0;
      padding: 0;
      border: 0;
      clear: left;/* fixes a bug in Opera */
@@ -96,20 +132,62 @@ div.routersummaryouter {
 }
 
 div.routersummary {
-     width: 180px;
+     width: 182px;
      padding: 8px 8px 10px 8px;
+     margin-bottom: 8px;
      text-align: center !important;
      border: 1px solid #447;
      color: #000;
      font-size: 8pt;
      clear: left;/* fixes a bug in Opera */
-     -moz-border-radius: 8px;
-     -khtml-border-radius: 8px;
-     border-radius: 8px;
-     background: #f0f0f0;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
-     box-shadow: inset 0px 0px 1px 1px #bbf;
+     border-radius: 2px;
+     background: #fff;
+     box-shadow: inset 0 0 0 1px #bbf;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+.routersummary div[style="height: 36px;"] {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+}
+
+div.routersummary img[src$="i2plogo.png"] {
+     opacity: 0.9;
+     transition: all 0.3s ease 0s;
+     margin-left: -2px;
+}
+
+div.routersummary img[src$="i2plogo.png"]:hover {
+     opacity: 1;
+     transition: all 0.3s ease 0s;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.routersummary a[href="/"] img {
+     margin-right: -1px;
+}
+
+.routersummary a[href="/"], .routersummary a[href="/console"] {
+     outline: none !important;
+}
+
+.routersummary a[href="/"]:focus img, .routersummary a[href="/console"]:focus img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.routersummary form {
+     margin: 0;
+     padding: 0 0 3px;
+}
+
+.routersummary form button.download {
+     display: inline-block;
+     vertical-align: middle;
+     margin: -3px 0;
 }
 
 div.routersummary input[type=text] {
@@ -122,64 +200,83 @@ div.routersummary hr {
      height: 1px;
      border-bottom: 1px solid #99f;
      margin: 8px -7px 8px -7px;
-     -moz-box-shadow: inset 0px 1px 1px 1px #fff;
-    -khtml-box-shadow: inset 0px 1px 0px #fff;
-     box-shadow: inset 0px 1px 1px 1px #fff;
+     box-shadow: inset 0 1px 1px 1px #fff;
 }
 
 div.routersummary hr.b {
-     color: #f0f0f0;
-     background: #f0f0f0;
-     border-bottom: 1px solid #f0f0f0;
+     color: #fff;
+     background: transparent;
+     border-bottom: 1px solid transparent;
+     height: 0 !important;
+     margin-bottom: 5px;
 }
 
-div routersummary hr:last-child {
+div.routersummary hr:last-child {
 }
 
 div.routersummary h3 {
-     border: 0;
      font-size: 9.5pt;
      letter-spacing: 0.04em;
-     margin: -4px -3px;
+     margin: -9px -7px -2px;
      padding: 2px 0;
-     background: #ffe;
      text-transform: uppercase;
-     background: #ffe url('images/header.png') center center repeat-x;
-     border: 1px solid #99f !important;
-     -moz-border-radius: 3px;
-     -khtml-border-radius: 3px;
-     border-radius: 3px;
-     -moz-box-shadow: 0px 1px 5px #bbf;
-     -khtml-box-shadow: outset 0px 0px 2px 1px #bbf;
+     background: #ffe url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     border: 1px solid #99f;
+     border-left: none;
+     border-right: none;
+     border-radius: 0;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: none;
 }
 
-div.routersummary h3 a {
-     text-decoration: none;
+.routersummary h3:hover {
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffe8bf 50%, #efd9b3 100%) !important;
+}
+
+.routersummary h3:hover a {
+     color: #f60;
+     text-shadow: 0 0 1px #fff; 
+}
+
+.routersummary h3:active {
+     box-shadow: inset 2px 2px 2px #777;
 }
 
-div.routersummary h3:hover {
-     background: #ffa url('images/header.png') center center repeat-x !important;
-     text-shadow: 0 0 0;
-     -moz-box-shadow: inset 0px 0px 2px 1px #ffa;
-     -khtml-box-shadow: inset 0px 0px 2px 1px #ffa;
-     box-shadow: inset 0px 0px 2px 1px #ffa;
+div.routersummary h3 a {
+     text-transform: uppercase;
+     text-decoration: none;
+     display: inline-block;
+     width: 100%;
+     width: calc(100% - 4px);
 }
 
 div.routersummary h4 {
-     border: 0px solid #fff;
-     border-bottom: 0 !important;
+     border: none;
      font-size: 8.5pt;
      letter-spacing: 0.02em;
-     margin: -6px -6px -7px !important;
-     padding: 6px 3px 6px 27px;
-     background: #e0e0f5 url('../images/itoopie_xsm.png') no-repeat 1px center;
-     min-height: 16px;
+     text-transform: none;
+     margin: -7px;
+     padding: 6px 2px !important;
+     background: #eef;
+     background: linear-gradient(to right, #ddf 0%, #eef 10%, #fff 50%, #eef 90%, #ddf 100%);
      text-decoration: none !important;
      color: #359;
-     line-height: 105%;
-     -moz-box-shadow: inset 0px 0px 1px 30px #bdf;
-     -khtml-box-shadow: 0px 0px 1px 1px #bdf;
-     box-shadow: 0px 0px 1px 1px #bdf;
+     box-shadow: inset 0 0 0 1px #eef;
+     line-height: 105%; 
+}
+
+h4.sb_info {
+     margin-top: -11px !important;
+}
+
+h4.sb_info + hr + form {
+     padding-top: 2px !important;
+     margin-bottom: -1px;
+}
+
+.routersummary a:link {
+     padding: 2px;
 }
 
 div.routersummary ul {
@@ -189,14 +286,35 @@ div.routersummary ul {
 div.routersummary table {
      border: 0;
      text-align: center !important;
-     margin: -6px -5px 5px -5px;
-     width: 190px !important;
+     margin: -8px -5px -5px -5px;
+     width: 192px !important;
      overflow: hidden;
      font-size: 8pt;
      background-image: none !important;
      background-color: transparent !important;
 }
 
+#sb_version {
+     margin-top: 5px !important;
+     margin-bottom: 8px !important;
+}
+
+#sb_shortgeneral {
+     margin-top: -6px;
+}
+
+#sb_localtunnels td:first-child {
+     text-align: left !important;
+     width: 16px;
+     padding: 2px;
+}
+
+#sb_localtunnels td:last-child {
+     text-align: right !important;
+     width: 16px;
+     padding-right: 0;
+}
+
 div.routersummary tr {
      background-image: none !important;
      background-color: transparent !important;
@@ -213,7 +331,7 @@ div.routersummary a:hover {
 }
 
 div.routersummary td {
-     padding: 1px 3px;
+     padding: 0 2px;
      background-image: none !important;
      border: 0 !important;
 }
@@ -245,11 +363,11 @@ div.routersummary img:hover:first-child {
 
 div.newsheadings {
      text-align: right;
-     margin: 0 0 0 10px;
+     margin: -5px 0 -3px 8px;
 }
 
 div.newsheadings li {
-     list-style: none outside url('images/newsbullet_mini.png');
+     list-style: none outside url(images/newsbullet_mini.png);
      margin: 4px -4px 2px 10px;
      line-height: 120%;
 }
@@ -285,7 +403,7 @@ div.routersummary p {
 div.refresh {
      margin-top: 10px !important;
      margin-bottom: 10px !important;
-     padding: 2px 0 0px 0 !important;
+     padding: 2px 0 0 0 !important;
 }
 
 /* proxy error messages */
@@ -295,16 +413,13 @@ div.warning {
      padding: 5px 25px 20px 75px;
      background: #fff;
      border: 1px solid #447;
-     text-align: left;
      color: inherit;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     border-radius: 2px;
      text-align: justify;
-     background-image:url("../images/itoopie_sm.png");
+     background-image:url(/themes/console/images/itoopie_sm.png);
      background-position:10px center;
      background-repeat:no-repeat;
-     -moz-box-shadow: inset 0px 0px 1px 0px #d00;
+     box-shadow: inset 0 0 1px 0 #d00;
      word-wrap: break-word;
      min-width: 400px;
 }
@@ -312,21 +427,20 @@ div.warning {
 /* console error messages */
 
 div.sorry {
-     margin: 5px 10px 10px 207px;
+     margin: 5px 0 10px 207px;
      padding: 20px 20px 20px 75px;
      background: #ffe;
      border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     border-radius: 2px;
      text-align: justify;
-     background-image: url("images/errortriangle.png");
+     background-image: url(/themes/console/images/info/errortriangle.png);
      background-position: 15px center;
      background-repeat: no-repeat;
-     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
+     box-shadow: inset 0 0 0 1px #d00;
      word-wrap: break-word;
      font-weight: bold;
      color: #531;
+     min-width: 455px;
 }
 
 div.sorry hr {
@@ -338,27 +452,81 @@ div.sorry hr {
 }
 
 div.main {
-     margin: 10px 10px 20px 207px;
-     padding: 0 15px 15px 15px;
+     margin: -12px 0 8px 207px;
+     padding: 0 15px 10px 15px;
      text-align: left;
-     color: #001;
+     color: #222;
      width: auto;
-     min-width: 500px;
+     min-width: 526px;
      border: 1px solid #447;
-     -moz-border-radius: 8px;
-     -khtml-border-radius: 8px;
-     border-radius: 8px;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
-     box-shadow: inset 0px 0px 1px 1px #bbf;
-     background: #f0f0f0;
+     border-radius: 0 0 2px 2px;
+     box-shadow: inset 0 0 0 1px #bbf;
+     background: #fff;
+     background: linear-gradient(to right, #fff, #f7f8ff, #fff);
+     background-size: 100% 100%;
+     filter: drop-shadow(0 1px 1px #999);
+     -webkit-filter: drop-shadow(0 1px 1px #999);
+}
+
+div.main[id^="config_"] {
+     padding-bottom: 5px !important;
+}
+
+div.main li:first-child {
+     margin-top: 10px;
+}
+
+.main#debug {
+     background: #fff;
+}
+
+.main#debug li:first-child {
+     margin-top: 0 !important;
+}
+
+.main#debug table:first-of-type td:first-child {
+     font-weight: bold;
+}
+
+.main#debug table:first-of-type td:last-child {
+     text-align: left;
+}
+
+.main#debug td:first-child, .main#debug th:first-child {
+     padding-left: 10px;
+}
+.main#debug td:last-child {
+     text-align: right;
+     vertical-align: top;
+}
+
+.main#debug ul li {
+     list-style: none;
+     margin-left: 0;
+     padding: 0;
+}
+
+.main#debug h2 {
+     border-radius: 0;
+     padding: 8px 10px;
+}
+
+.main#debug h3 {
+     border-radius: 0;
+}
+
+.main#debug table {
+     filter: drop-shadow(0 0 1px #999);
+}
+.main#debug h2 + table {
+     margin-top: -16px;
 }
 
 div.main hr, hr {
      color: #113;
      background: #113;
      height: 1px;
-     border: 0px solid #113;
+     border: 0 solid #113;
      margin: 10px 0;
 }
 
@@ -367,98 +535,129 @@ hr:last-child {
 }
 
 div.main textarea {
-     background: #ffe;
+     background: #fff;
      color: #001;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     margin: 5px 0;
+     resize: none;
+}
+
+td.tabletextarea {
+     padding: 0;
+     background: #fff;
+}
+
+textarea[id="advancedsettings"] {
+     width: 99% !important;
+     width: calc(100% - 3px) !important;
+     border: none !important;
+     margin: 0 !important;
+     padding: 3px 5px !important;
+     white-space: pre-wrap;
+     box-shadow: none;
+     filter: none !important;
+     font-size: 9pt;
+}
+
+textarea[name="reseedURL"] {
+     margin-bottom: 20px !important;
+}
+
+#resetreseed {
+     border: 0 !important;
+     background: none;
+     padding: 5px 0;
+}
+
+#config_reseed input[type="text"], #config_reseed input[type="password"] {
+     min-width: 300px;
 }
 
 div.news {
-     margin: 0px 10px 5px 207px;
-     padding: 7px 20px 7px 20px;
+     margin: -12px 0 5px 207px;
+     padding: 5px 15px 12px;
      border: 1px solid #447;
      color: #224;
-     border-radius: 8px;
-     -moz-border-radius: 8px;
-     -khtml-border-radius: 8px;
+     border-radius: 0 0 2px 2px;
      text-align: right !important;
-     font-size: 7.5pt;
+     font-size: 8pt;
      line-height: 140%;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
-     box-shadow: inset 0px 0px 1px 1px #bbf;
-     background: #f0f0f0 url("/themes/snark/ubergine/images/hat.png") no-repeat scroll right bottom;
-     min-width: 490px;
+     box-shadow: inset 0 0 0 1px #bbf;
+     background: #fff url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom;
+     background: url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom, linear-gradient(to right, #fff, #f7f8ff, #fff);
+     min-width: 500px;
+     filter: drop-shadow(0 1px 1px #999);
+     -webkit-filter: drop-shadow(0 1px 1px #999);
+}
+
+.news hr {
+	background: #339;
+	opacity: 0.6;
+	display: none;
+}
+
+.newsentry {
+     filter: drop-shadow(0 0 1px #bbb);
+}
+
+.newsentry font[size="-2"], .newsentry font[size="-1"] {
+     letter-spacing: 0.1em;
 }
 
 div.newscontent {
-     background-color: rgba(242, 242, 248, 0.9);
-     border: 1px solid #ccf;
-     border-radius: 10px;
-     box-shadow: inset 0px 0px 4px 4px #e8e8ff;
-     margin: 8px 8px 28px 8px;
-     opacity: 0.95;
-     padding: 24px 18px 10px 14px;
+     background-color: rgba(220,220,255,0.6);
+     background: linear-gradient(to bottom, #eff2ff, rgba(220,220,255,0.3));
+     border: 1px solid #7778bf;
+     border-radius: 0 0 2px 2px;
+     margin: 0 0 10px;
+     padding: 10px 15px;
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
 div.newscontent p {
      font-size: 9pt;
      text-align: justify !important;
-     line-height: 120%;
-     margin-top: -2px;
-     padding: 0 15px;
+     line-height: 140%;
+     margin: 0;
+     padding: 0;
+     text-shadow: 0 0 1px #fff; /* kills alpha-blur */
+}
+
+.newscontent p:nth-child(n+2) {
+     margin-top: 8px;
 }
 
 div.newscontent hr {
      color: #225;
      background: #225;
      height: 1px;
-     border: 0px dotted #225;
+     border: 0 dotted #225;
      margin: 10px 0 5px;
-     opacity: 0.6;
-}
-
-div.newscontent li {
-     text-align: justify;
-     list-style: none;
-     margin: 5px 0 16px 0 !important;
-     vertical-align: bottom;
-     border: 1px solid #113;
-     border-left: 5px solid #113;
-     padding: 5px 5px;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     font-size: 10pt;
-     opacity: 1;
-     background: #ffe url('images/header.png') center center repeat-x;
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-     font-weight: bold;
-     text-transform: capitalize;
 }
 
-div.newscontent li:first-child {
-     margin-top: 10px !important;
+.main#news {
+     padding: 3px 15px 5px;
+     background: #fff url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom;
+     background: url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom, linear-gradient(to right, #fff, #f7f8ff, #fff);
 }
 
-div.news h3 {
-     background: none !important;
+div.news h3, #news h3 {
+     background: #fff !important;
+     background: url(images/news.png) 8px center no-repeat, linear-gradient(to right, #fff, #eef) !important;
      text-align: left;
-     border: none !important;
-     padding-left: 0;
-     padding-top: 0px;
-     border-bottom: 1px dotted #225 !important;
-     -moz-box-shadow: none;
-     -khtml-box-shadow: none;
-     box-shadow: none;
+     padding: 5px 10px 5px 30px;
+     border: 1px solid #7778bf;
+     border-radius: 2px 2px 0 0;
      font-size: 10pt !important;
      letter-spacing: 0.05em;
      text-transform: capitalize !important;
-     text-shadow: 0px 0px 0px #77f;
+     margin-bottom: -1px;
+     filter: none;
+     -webkit-filter: none;
 }
 
 div.newscontent h4 {
-     border-bottom: 0px;
+     border-bottom: 0;
      padding: 0;
      margin: 14px 15px 7px 15px;
      font-size: 10pt;
@@ -466,7 +665,7 @@ div.newscontent h4 {
 }
 
 div.newscontent h5 {
-     border-bottom: 0px;
+     border-bottom: 0;
      padding: 0;
      margin: 12px 15px 6px 15px;
      font-size: 9.5pt;
@@ -474,196 +673,547 @@ div.newscontent h5 {
 }
 
 div.newscontent h6 {
-     border-bottom: 0px;
+     border-bottom: 0;
      padding: 0;
      margin: 12px 15px 6px 15px;
      font-size: 9pt;
      text-align: left;
 }
 
-div.confignav {
-     padding: 16px 10px !important;
-     margin: 10px 0 0 -10px;
-     font-size: 9.5pt !important;
-     font-weight: bold !important;
+.main#torrents {
+     padding: 0 10px;
+}
+
+.confignav {
+     padding: 8px 10px 0 !important;
+     margin: 4px -14px 12px !important;
+     font-size: 9pt !important;
      line-height: 160% !important;
      opacity: 1;
      min-width: 400px;
+     vertical-align: middle;
+     text-align: center;
+     border-bottom: 1px solid #447;
+     box-shadow: 0 1px 1px #bbf; 
 }
 
-span.tab {
-     padding: 2px 18px 4px 6px;
-     margin: -5px -7px 0 0;
-     background: #d8d8ff;
-     -moz-border-radius: 6px 32px 2px 0;
-     -khtml-border-radius: 6px 32px 2px 0;
-     border-radius: 6px 32px 2px 0;
-     border: 1px outset #00f;
-     border-width: 2px 1px 1px 2px;
-     border-bottom-style: dashed;
-     min-width: 40px;
+.tab {
+     padding: 1px 5px 1px 5px;
+     margin: -5px -1px -1px -3px;
+     background: #eef;
+     background: linear-gradient(to bottom, #fff, #eef);
+     border: 1px solid #447;
      display: inline-block;
      word-wrap: break-word;
      vertical-align: bottom;
+     text-align: center;
+     font-weight: normal !important;
+     text-decoration: none;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 0 #fff);
+     -webkit-filter: drop-shadow(0 0 0 #fff);
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.tab {
+     margin: -5px -2px -1px -4px;
+     padding: 1px 6px 1px 7px;
+}
+
+.tab:first-child {
+     margin-right: -3px;
+}
+
+.tab2 {
+     margin-left: -2px !important;
+}
+}
+
+.tab:hover, .tab:hover a {
+     background: #558;
+     background: linear-gradient(to bottom, #eef, #fff);
+     color: #f60;
+}
+
+.tab:hover {
+     border-top: 3px solid #77a;
+     border-radius: 2px 2px 0 0 !important;
+     margin-top: -7px;
+}
+
+.tab:active, .tab:active a {
+     background: #f60 !important;
+     color: #fff !important;
+     border-top-width: 1px;
+     margin-top: -5px;
+/*     transition: ease border 0.3s 0s;*/
+}
+
+.tab:first-child {
+     border-radius: 2px 0 0 0;
+}
+
+.tab:last-child {
+     border-radius: 0 2px 0 0;
+     padding-right: 6px;
+}
+
+.tab a {
+     font-weight: normal !important;
+     text-decoration: none !important;
 }
 
-span.tab2 {
+.tab2 {
      color: #008;
-     padding: 7px 18px 6px 6px;
-     margin: -11px -3px 0 0;
-     background: #e8e8ff;
-     -moz-border-radius: 6px 32px 2px 0;
-     -khtml-border-radius: 6px 32px 2px 0;
-     border-radius: 6px 32px 2px 0;
-     border: outset #00f;
-     border-width: 3px 1px 0 4px;
-     border-bottom-style: none;
-     min-width: 40px;
+     padding: 2px 5px 1px;
+     margin: -11px -1px -1px -3px;
+     background: #fff;
+     border: 1px solid #447;
+     border-top-color: #558;
+     border-top-width: 3px;
      display: inline-block;
      word-wrap: break-word;
      vertical-align: bottom;
+     text-align: center;
+     font-weight: bold;
+     border-radius: 2px 2px 0 0;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
 }
 
 div.configure {
      min-width: 400px;
-     margin-bottom: 0px;
+     margin-bottom: 0;
 }
 
 div.configure h3, div.graphspanel h3 {
-     border: 1px solid #115;
-     border-left: 5px solid #115;
+     border: 1px solid #7778bf;
+     border-left: 5px solid #7778bf;
      padding: 5px;
      margin: 15px 0 15px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
+     border-radius: 0 2px 2px 0;
      background: #ffe;
      text-align: left;
 }
 
-.sidebarconf button {
-     margin: 2px;
-     padding: 1px;
-     min-width: 0;
-     background: none;
+h3#advancedconfig a, h3#bwlimiter a, h3.tabletitle a, h3.ptitle a, th a.script, th#upnpconfig a, h3#graphinfo a, h3#graphdisplay a, .h3navlinks {
+     float: right;
+     font-size: 9pt;
+     letter-spacing: normal;
+     text-transform: capitalize;
 }
 
-.sidebarconf th:nth-child(1) {
-     text-align: center;     
+.h3navlinks a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     margin-left: 5px;
 }
 
-.sidebarconf th:nth-child(2) {
-     text-align: left;     
+.h3navlinks a:hover {
+     color: #f60;
 }
 
-.sidebarconf td:first-child {
-     width: 60px;
-     text-align: right;
-     padding-right: 50px;
+h3 a.script, th a.script {
+     text-transform: lowercase;
 }
 
-.sidebarconf td {
-     font-weight: bold;
-     font-size: 9pt;  
+h3#iptransport a:not(old), h3#advancedconfig a:not(old) {
+     font-size: 0;
 }
 
-.sidebarconf td:nth-child(3), .sidebarconf td:nth-child(4) {
-     width: 70px;
-     padding: 0;  
+h3#iptransport a::after, h3#advancedconfig a::after {
+     content: url(images/help.png);
+     padding: 0;
+     margin: 0;
+     vertical-align: text-top;
+     cursor: help;
+     filter: hue-rotate(-20deg) saturate(200%) drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
 }
 
-.sidebarconf td:nth-child(3) {
-     text-align: right;
-     padding-left: 50px;
+h3#iptransport a:hover, h3#advancedconfig a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
-.sidebarconf td:nth-child(4) {
-     text-align: left;
-     padding-right: 50px;
+.main#tunnels h3 a:not(old), #criticallogs + h3.tabletitle a:not(old) {
+     font-size: 0;
 }
 
-div.graphspanel {
-     text-align: center !important;
-     margin: 15px 0px -15px;
+.main#tunnels h3 a[href^="/configtunnels#"]::after, #criticallogs + h3.tabletitle a::after {
+     content: url(/themes/console/images/buttons/configure.png);
+     float: right;
+     padding: 0;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
 }
 
-div.graphspanel img {
-     border: 1px solid #447;
-     padding: 2px;
-     margin: 6px;
-     text-align: center !important;
-     background: #001;
-     -moz-box-shadow: inset 0px 0px 1px 1px #99f;
+#criticallogs tr:first-child {
+     display: none; /* hide empty placeholder for log location */
 }
 
-div.graphspanel img:hover {
-     -moz-box-shadow: inset 0px 0px 2px 1px #f60;
+.main#logs ul li {
+     padding-left: 0;
+     margin-left: 20px;
 }
 
-div.graphspanel form {
-     text-align: left;
+.main#logs ul li::first-line {
+     font-weight: bold;
 }
 
-div.messages {
-     padding: 10px;
-     margin: 10px 0 15px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #447;
-     background: #fff url('images/magic.png');
-     font-weight: bold;
-     -moz-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     -khtml-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
+.main#logs li:first-child {
+     margin-top: 0 !important;
 }
 
-div.error {
-     color: #d00000;
+.main#logs li:last-child {
+     margin-bottom: 0 !important;
 }
 
-div.notice {
-     font-style: italic;
+table#wrapperlogs, table#routerlogs {
+     width: 100%;
+     table-layout: fixed;
+     margin-bottom: 10px;
 }
 
-div.messages li {
-     text-align: justify !important;
-     font-weight: bold;
-     list-style: url(images/warning.png) !important;
-     margin: 0 10px 0 35px !important;
-     padding: 5px 10px !important;
-     border: 0px !important;
+#routerlogs ul {
+     word-wrap: break-word;
 }
 
-table {
-     border-collapse: collapse;
+#wrapperlogs pre {
+     margin: 0;
+     white-space: pre-wrap !important;
+     word-wrap: break-word !important;
      width: 100%;
-     border: 1px solid #447;
-     margin: 1px -15px 5px 0px;
-     font-size: 7pt;
-     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
-     font: 7pt/130% "Lucida Sans Unicode", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     overflow: auto; 
 }
 
-table hr {
-     padding: 0px 0;
-     color: #99f;
+.main#tunnels h3 a[href^="/configtunnels#"]:hover, #criticallogs + h3.tabletitle a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+h3#passwordheading {
+     margin-bottom: -2px;
+     border: 1px solid #7778bf;
+     border-radius: 0;
+     filter: none;
+     -webkit-filter: none;
+}
+
+h3#langheading, h3#themeheading, h3#pluginmanage, h3#pluginconfig, h3#webappconfig, h3#advancedclientconfig, h3#i2pclientconfig, #config_stats h3 {
+     border: 1px solid #7778bf;
+     border-radius: 0;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: none;
+     -webkit-filter: none;
+}
+
+h3#advancedclientconfig, p#webappconfigtext, p#pluginconfigtext, p#clientconf.infowarn, p#profiles_overview {
+     margin-bottom: -2px;
+}
+
+h3#pluginconfig, h3#webappconfig, h3#i2pclientconfig, h3#pluginmanage, p#clientconf.infohelp, #config_stats h3 {
+     margin-bottom: -15px;
+}
+
+p#enablefullstats {
+     border: 1px solid #7778bf;
+     padding: 10px;
+     margin-bottom: -2px;
+}
+
+#configstats th {
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+#configstats td {
+     padding: 4px 3px;
+}
+
+#configstats td:first-child {
+     width: 48px;
+     white-space: nowrap;
+}
+
+#sidebarconf button {
+     margin: 2px 0 2px 3px !important;
+     padding: 2px 1px;
+     min-width: 0;
+     background-size: 12px 12px;
+}
+
+#sidebarconf select {
+     width: 100%;
+}
+
+#sidebarconf th:nth-child(1), #sidebarconf th:last-child {
+     text-align: center;     
+}
+
+#sidebarconf th:nth-child(2) {
+     text-align: left;     
+}
+
+#sidebarconf td:first-child {
+     width: 60px;
+     text-align: center;
+}
+
+#sidebarconf td {
+     font-weight: bold;
+     font-size: 9pt;  
+}
+
+#sidebarconf td:nth-child(3), #sidebarconf td:nth-child(4) {
+     width: 50px;
+     padding: 0;
+     white-space: nowrap;
+}
+
+#sidebarconf td:nth-child(3) button, #sidebarconf td:nth-child(4) button {
+     margin: 0;
+}
+
+#sidebarconf td:nth-child(3) {
+     text-align: right;
+}
+
+#sidebarconf td:nth-child(4) {
+     text-align: left;
+     padding-right: 5px;
+}
+
+#sidebarconf tr:last-child td {
+     padding: 5px !important;
+}
+
+
+#sidebarconf tr:last-child td:last-child {
+     text-align: left;
+}
+
+p#tunnelconfig {
+     margin-bottom: -14px;
+}
+
+div.graphspanel {
+     text-align: center !important;
+     margin: 15px 0 -15px;
+}
+
+div.graphspanel img {
+     border: 1px solid #7778bf;
+     padding: 2px;
+     margin: 6px;
+     text-align: center !important;
+     background: #001;
+     box-shadow: inset 0 0 1px 1px #99f;
+     max-width: 98%;
+}
+
+div.graphspanel a img:hover {
+     box-shadow: inset 0 0 2px 1px #f60;
+}
+
+div.graphspanel form {
+     text-align: left;
+}
+
+#graphs hr {
+     display: none;
+}
+
+#graphopts {
+     text-align: center;
+     margin-top: 20px;
+     text-transform: capitalize;
+}
+
+#graphopts + p {
+     text-align: right;
+     display: none;
+}
+
+.formaction#graphing {
+     margin: 8px -11px -11px;
+}
+
+h3#graphdisplay {
+     border-radius: 0;
+     border-width: 1px;
+     box-shadow: none;
+}
+
+.main#graphs form {
+     border: 1px solid #7778bf;
+     padding: 10px;
+     margin: -16px 0 5px;
+}
+
+div.messages {
+     padding: 15px;
+     margin: 15px 0;
+     border-radius: 2px;
+     border: 1px solid #7778bf;
+     background: #eef;
+     background: url(/themes/snark/ubergine/images/hat.png) bottom right no-repeat, linear-gradient(to right, #fff, #eef);
+     background-size: auto 100%, 100% 100%;
+     font-weight: bold;
+     box-shadow: inset 0 0 0 1px #fff;
+     line-height: 130%;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+.main#config_update .messages {
+     background: url(/themes/console/images/info/newspaper.png) 12px center no-repeat, url(/themes/snark/ubergine/images/hat.png) bottom right no-repeat, linear-gradient(to right, #fff, #eef);
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px, auto 100%, 100% 100% !important;
+}
+
+div.error {
+     color: #900;
+}
+
+div.notice {
+     font-style: italic;
+     margin: 0;
+     padding: 0;
+}
+
+.messages ul {
+     padding: 0;
+     margin: 0;
+}
+
+div.messages li, .messages li:first-child, .error li:first-child, .error li {
+     text-align: justify !important;
+     font-weight: bold;
+     list-style: none;
+     background: url(images/warning.png) left center no-repeat;
+     margin: 0 10px 0 0 !important;
+     padding: 0 20px 0 24px !important;
+     border: 0 !important;
+     line-height: 135%;
+}
+
+.notice li {
+     background: url(images/confirmed.png) left center no-repeat !important;
+     list-style: none !important;
+}
+
+.error li {
+     background: url(images/warn.png) left center no-repeat !important;
+}
+
+table {
+     border-collapse: collapse;
+     width: 100%;
+     border: 1px solid #7778bf;
+     margin: 1px -15px 5px 0;
+     font-size: 9pt;
+     background: #fff;
+}
+
+#configinfo th {
+     color: #050;
+}
+
+#configinfo td {
+     text-align: justify;
+     padding: 10px;
+}
+
+td.optionsave {
+     text-align: right;
+     padding: 10px 5px !important;
+     background: #fff;
+     border-top: 1px solid #7778bf !important;
+}
+
+.configtable tr:last-child td {
+     border-top: 1px solid #7778bf !important;
+} 
+
+td.infohelp {
+     background: #fff url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     border-bottom: 1px solid #7778bf !important;
+     border-top: 1px solid #7778bf !important;
+}
+
+td.infowarn {
+     background: #fff url(/themes/console/images/info/infowarn.png) 10px center no-repeat;
+     padding: 15px 15px 15px 50px !important;
+     border-bottom: 1px solid #7778bf !important;
+     border-top: 1px solid #7778bf !important;
+}
+
+/* /logs */
+
+table#bugreports {
+     margin-top: 15px;
+     padding: 10px;
+     font-size: 9pt !important;
+}
+
+table#enviro, table[id$="logs"] {
+     font-size: 9pt !important;
+     padding: 10px;
+}
+
+table#enviro td:first-child {
+     width: 100px;
+     text-align: right;
+     padding-right: 0;
+     white-space: nowrap;
+     padding-left: 10px
+}
+
+table[id$="logs"] ul li {
+     font-size: 9pt !important;
+}
+
+table[id$="logs"] td {
+     padding: 5px;
+}
+
+table[id$="logs"] td:empty {
+     display: none;
+}
+
+table[id$="logs"] ul li:last-child {
+     margin-bottom: 10px !important;
+}
+
+/* end logs */
+
+table hr {
+     padding: 0 0;
+     color: #99f;
      background: #99f;
-     border: 0px solid #99f;
-     margin: 0px 0px;
+     border: 0 solid #99f;
+     margin: 0 0;
      height: 1px;
      display: none;
 }
 
 th {
-     padding: 6px 2px;
-     color: #000;
-     background: #ffe url('images/header.png') center center repeat-x;
-     text-align: center;
+     padding: 6px 5px;
+     color: #31334f;
+     background: #eef url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     text-align: left;
      font-size: 9pt;
      line-height: 110%;
-     border-bottom: 1px solid #447 !important;
-     border-top: 1px solid #447 !important;
+     border-bottom: 1px solid #7778bf !important;
+     border-top: 1px solid #7778bf !important;
+}
+
+.main[id^="config_"] th {
+     font-size: 10pt;
 }
 
 tr {
@@ -671,19 +1221,37 @@ tr {
 }
 
 tr:nth-child(even) {
-     background: #f7f7ff url(images/magic.png);
+     background: #eef;
 }
 
 tr:nth-child(odd) {
-     background: #fff url(images/magic.png);
+     background: #f7f8ff;
 }
 
 td {
-     padding: 5px 3px;
-     color: #000;
+     padding: 3px 5px;
+     color: #222;
      vertical-align: middle;
-     border-top: 1px inset #447;
-     border-bottom: 1px outset #99f;
+     border-top: 1px inset #cfd1ff;
+     border-bottom: 1px outset #cfd1ff;
+}
+
+.main[id^="config_"] tr:last-child {
+     background: #fff;
+}
+
+.main[id^="config_"] select, .main[id^="config_"] textarea, .main[id^="config_"] .optbox {
+     margin-left: 3px !important;
+}
+
+#bandwidthconfig td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     padding-right: 10px;
+}
+
+#bandwidthconfig td:last-child {
+     white-space: normal;
 }
 
 /* begin home page */
@@ -710,19 +1278,43 @@ td {
 }
 
 h2.app {
-     border-radius: 8px;
+     border-radius: 2px;
      margin: 1px 10px 15px 0 !important;
 }
 */
 
+.home {
+     margin-bottom: 0;
+}
+
 h4.app, h4.app2 {
-     margin: 0 10px 2px 10px;
-     padding: 10px 0 8px 0;
+     margin: 0 auto 3px;
+     padding: 7px 10px 6px 32px;
+     border: 1px solid #7778bf;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #eef;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+     display: inline-block;
+     width: calc(100% - 44px);
+     border-radius: 2px;
+     color: #31334f;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+h4.app {
+     background: url(/themes/console/images/eepsite.png) 10px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     background-size: 16px 16px, 100% 100%;    
 }
 
 h4.app2 {
      clear: left;
-     margin-top: 5px !important;
+     margin-top: 10px !important;
+     background: url(images/application-icon.png) 10px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
 }
 
 div.ag2 {
@@ -731,15 +1323,55 @@ div.ag2 {
 
 div.app {
      float: left;
-     padding: 2px;
-     height: 84px;
-     width: 112px;
+     padding: 0;
+     min-width: 140px;
      text-align: center !important;
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     margin: 3px;
+     background: #eef;
+     background: linear-gradient(to bottom, #fff, #eef);
+     box-shadow: inset 0 0 0 1px #fff, inset 0 0 5px 2px #eef;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div.app:hover {
+     border: 1px solid #f60;
+     background: #fff;
+     box-shadow: none;
+     filter: none;
+     -webkit-filter: none;
+}
+
+div.app:hover a:link, div.app:hover a:visited {
+    color: #f60;
+}
+
+div.app:hover img.app {
+     filter: drop-shadow(0 0 2px #f60);
+     -webkit-filter: drop-shadow(0 0 2px #f60);
+     transition: ease filter 0.3s 0s;
+     opacity: 1;
+}
+
+div.app:hover .applabel {
+     border-color: #f60;
+     background: #fff !important;
+}
+
+div.app:active .applabel {
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+div.app:active .applabel, div.app:active .applabel a  {
+     background: #f60 !important;
+     color: #fff !important;
 }
 
 div.appgroup {
-     margin: 0;
-     padding: 16px 8px;
+     margin: 5px 0;
+     padding: 0;
      width: auto;
 }
 
@@ -750,22 +1382,54 @@ div.search {
 }
 
 table.search {
+     border-collapse: separate;
+     border-spacing: 0;
+     border-radius: 0 0 2px 2px;
+     border: 1px solid #447;
      background: none;
      padding: 8px;
-     width: auto;
+     width: 70%;
      margin-left:auto;
      margin-right:auto;
+     margin-top: -19px;
+     box-shadow: 0 1px 1px 1px rgba(187, 187, 255, 0.6);
 }
 
-img.app {
-     height: 32px;
-     width: 32px;
-     padding: 6px;
+table.search td {
+     border: none;
+     padding: 0 5px;
+     white-space: nowrap;
+}
+
+table.search td:first-child {
+     padding-right: 2px;
+     padding-left: 0;
+}
+
+table.search td:nth-child(2) {
+     text-align: center !important;
+     padding-right: 0;
+}
+
+table.search td:nth-child(3) {
+     padding-left: 0;
 }
 
-img.app2p {
-     height: 40px;
-     padding: 3px 6px 0 6px;
+table.search input[type="text"], table.search select {
+     min-width: 40px !important;
+     width: 100%;
+}
+
+img.app, img.app2p {
+     width: auto;
+     height: 32px;
+     max-height: 32px;
+     max-width: 32px;
+     padding: 6px;
+     padding: 10px 60px;
+     filter: drop-shadow(0 0 1px #999);
+     webkit-filter: drop-shadow(0 0 1px #999);
+     opacity: 0.9;
 }
 
 table.app {
@@ -784,34 +1448,45 @@ tr.app {
 td.app {
      background: none;
      border: 0;
-     margin: 0;
+     padding: 0;
 }
 
 div.applabel {
-     background: url('images/header.png') center center repeat-x;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border: 2px #00f;
-     border-radius: 4px;
-     border-width: 1px;
-     font-size: 9pt;
+     background: url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     font-size: 8pt;
      margin: 0;
-     padding: 3px 6px 4px 6px;
+     padding: 4px 6px;
+     border-top: 1px solid #7778bf;
      text-align: center;
+     width: 146px;
+     overflow: hidden;     
+     text-overflow: ellipsis;
+     white-space: nowrap;
+}
+
+.applabel a {
+     display: inline-block;
+     width: 100%;
 }
 
+
 /* end home page */
 
 tt {
-     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #008000;
-     padding: 1px 5px;
+     font: bold 8.5pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #050;
+}
+
+tt::-moz-selection {
+     color: #fff;
+     background: #030 !important;
 }
 
 div.main li {
      text-align: left;
      list-style: square;
-     margin: 2px 20px 0px 40px;
+     margin: 2px 20px 0 40px;
      padding: 1px 10px 1px 10px;
      line-height: 150%;
      word-wrap: break-word;
@@ -825,9 +1500,6 @@ div.main li b {
      line-height: 170%;
 }
 
-div.main li:first-child {
-     margin-top: 10px !important;
-}
 .tidylist {
      text-align: justify !important;
 }
@@ -844,14 +1516,13 @@ div.main li:first-child {
      text-align: left;
      font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
      color: #910;
-     padding: 2px 3px;
      font-weight: bold;
 }
 
 ol {
 
-     margin: 1px 0 0 5px;
-     padding: 1px 0 0 20px;
+     margin: 0 0 10px;
+     padding: 0;
 }
 
 ul {
@@ -863,8 +1534,32 @@ ul {
 code {
      text-align: left;
      font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #390;
+     color: #030;
+}
+
+table code::-moz-selection {
+     color: #fff;
+     background: #020 !important;
+}
+
+table code::selection {
+     color: #fff;
+     background: #020 !important;
+}
+
+.tidylist code::-moz-selection {
+     color: #fff;
+     background: #300 !important;
+}
+
+.tidylist code::selection {
+     color: #fff;
+     background: #300 !important;
+}
+
+th code {
      font-weight: bold;
+     margin-left: 3px;
 }
 
 a:link {
@@ -872,6 +1567,7 @@ a:link {
      text-decoration: none;
      font-weight: bold;
      word-wrap: break-word;
+     outline: none;
 }
 
 a:visited {
@@ -880,22 +1576,22 @@ a:visited {
      font-weight: bold;
 }
 
-a:hover {
+a:hover, a:focus {
      color: #f60;
-     text-decoration: underline;
+     text-decoration: none;
      font-weight: bold;
 }
 
 a:active {
-     color: #f93;
-     text-decoration: underline;
+     color: #f30 !important;
      font-weight: bold;
 }
 
 .links li {
      list-style: url(images/link.png) !important;
      text-align: justify;
-     line-height: 120% !important;
+     line-height: 140% !important;
+     margin-right: 10px !important;
 }
 
 .links li:first-child {
@@ -906,576 +1602,2370 @@ a:active {
      margin-top: -5px !important;
 }
 
-p {
-     text-align: justify;
-     line-height: 160%;
+p {
+     text-align: justify;
+     line-height: 130%;
+}
+
+p.infohelp, p#sybilinfo, p#debugmode, p#upnpstatus, p#pluginconfigtext, p#gatherstats {
+     border: 1px solid #7778bf;
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     line-height: 130%;
+}
+
+p#upnpstatus, p#keyringhelp, .widescroll + p.infohelp, #profiles ul#banlist, #config_reseed .confignav + p.infohelp, p#sybilinfo, p#debugmode {
+     border-radius: 2px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+.infohelp + hr {
+     display: none;
+}
+
+table#bugreports td.infohelp {
+     background: #fff url(/themes/console/images/info/bugreport.png) no-repeat 12px center;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#debugmode {
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/debug.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+p#sybilinfo {
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/experimental.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+p.infowarn {
+     border: 1px solid #7778bf;
+     padding: 15px 15px 15px 50px;
+     background: #fff url(/themes/console/images/info/infowarn.png) 10px center no-repeat;
+     line-height: 130%;
+}
+
+#bandwidthconfig tr:first-child .infohelp {
+     background: #fff url(/themes/console/images/info/bandwidth.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#addkeyring td.infohelp {
+     background: #fff url(/themes/console/images/info/keys.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#joinfamily tr:nth-child(3) td:first-child {
+     background: #fff url(/themes/console/images/info/key.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#newfamily tr:last-child td:first-child {
+     background: #fff url(/themes/console/images/info/label.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#oldhome td:first-child {
+     background: #fff url(/themes/console/images/info/home.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#oldhome input[type="checkbox"], #enablefullstats input[type="checkbox"] {
+     vertical-align: sub;
+}
+
+#floodfillconfig .infohelp {
+     background: #fff url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#clientconf.infohelp, p#webappconfigtext.infohelp {
+     background: #fff url(/themes/console/images/info/java_edit.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#pluginconfigtext {
+     background: #fff url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#plugininstall .infohelp {
+     background: #fff url(/themes/console/images/info/plugin_link.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2) {
+     background: #fff url(/themes/console/images/info/url.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#plugininstall tr:nth-child(3) td:nth-last-child(1), #manualreseed tr:nth-child(3) td:nth-last-child(1), 
+#manualreseed tr:nth-child(5) td:nth-last-child(1) {
+     background: #fff;
+}
+
+.optionsave form {
+     margin: 0;
+     padding: 0;
+}
+
+#manualreseed tr:nth-child(5) td:nth-last-child(2), #plugininstall tr:nth-child(5) td:nth-last-child(2) {
+     background: #fff url(/themes/console/images/info/from_file.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#manualreseed tr:nth-last-child(2) td.infohelp {
+     background: #fff url(/themes/console/images/info/box.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#config_peers tr:nth-child(3) td.infohelp {
+     background: #fff url(/themes/console/images/info/blocked.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#shutdownrouter + p.infohelp {
+     background: #fff url(/themes/console/images/info/power.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#restartrouter + p.infohelp {
+     background: #fff url(/themes/console/images/info/reboot.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#systray + p.infohelp {
+     background: #fff url(/themes/console/images/info/systray.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#servicedebug {
+     margin-bottom: -15px;
+}
+
+h3#servicedebug + p.infohelp {
+     background: #fff url(/themes/console/images/info/debug.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+h3#browseronstart + p.infohelp {
+     background: #fff url(/themes/console/images/info/launch_browser.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+.main#config_reseed p.infohelp {
+     background: #fff url(/themes/console/images/info/connect.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+p#enablefullstats, p#gatherstats {
+     background: #fff url(/themes/console/images/info/statistics.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
+}
+
+#config_family .infohelp {
+      background: #fff url(/themes/console/images/info/family.png) 12px center no-repeat;
+      padding: 15px 15px 15px 50px;
+      background-size: 28px 28px;
+}
+
+p#gatherstats + form, ul.statlist {
+     border: 1px solid #7778bf;
+     padding: 10px;
+     background: #fff;
+}
+
+.main#stats {
+     padding-bottom: 15px;
+}
+
+.main#stats h3 {
+     border-width: 1px;
+     border-radius: 0;
+     filter: none;
+     -webkit-filter: none;
+     margin-bottom: 4px;
+     margin-top: -1px;
+}
+
+ul.statlist {
+     border: 1px solid #7778bf;
+     padding: 0 10px 10px;
+     display: inline-block;
+     width: calc(100% - 22px);
+}
+
+li.noevents {
+     margin: 5px 0 5px 15px !important;
+     font-style: italic;
+}
+
+h1 {
+     text-align: left;
+     color: #31334f;
+     padding: 17px 15px 14px;
+     margin: 0 0 10px 207px;
+     font-size: 18pt;
+     line-height: 90%;
+     letter-spacing: 0.12em;
+     text-transform: uppercase;
+     box-shadow: inset 0 0 0 1px #bbf;
+     white-space: normal;
+     background: #fff;
+     border: 1px solid #447;
+     border-radius: 2px;
+     min-width: 520px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+span.newtab {
+     text-align: right;
+     font-size: 8pt;
+     float: right;
+     letter-spacing: 0;
+}
+
+.newtab img {
+     margin-top: -3px;
+}
+
+.newtab img:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+h2 {
+     font-size: 13pt;
+     color: #31334f;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: url(images/header.png) center center repeat-x;
+     background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 600px), linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     padding: 10px;
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     margin: 15px 0 15px 0 !important;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+     word-wrap: break-word;
+     opacity: 1;
+     text-transform: uppercase !important;
+}
+
+.welcome h2 { /* fixes occluded langbox rendering bug */ 
+     filter: none;
+     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #999;
+}
+
+h2 a, h3 a {
+    text-transform: uppercase;
+    letter-spacing: 0.08em;
+    word-spacing: 0.1em;
+}
+
+h2 a:hover, h3 a:hover {
+     color: #115;
+}
+
+h3.tabletitle a:hover, h3.ptitle a:hover, h3#graphinfo a:hover, #news h3 a:hover {
+     color: #f60;
+}
+
+h2 img {
+     opacity: 0.9 !important;
+}
+
+h3 {
+     border: 1px solid #7789bf;
+     border-left: 5px solid #7789bf;
+     padding: 5px 5px 5px 7px;
+     margin: 12px 0 15px 0;
+     border-radius: 0 2px 2px 0;
+     background: url(images/header.png) center center repeat-x !important;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     color: #31334f;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+     opacity: 1;
+}
+
+h3.tabletitle, h3.ptitle, #config_advanced h3.tabletitle, h3#bannedpeers {
+     border-radius: 0;
+     border: 1px solid #7778bf;
+     margin-bottom: -2px;
+     filter: none;
+     -webkit-filter: none;
+}
+
+h3.ptitle {
+     margin-bottom: -14px;
+     filter: none;
+     -webkit-filter: none;
+}
+
+h3#bannedpeers {
+     margin-bottom: -1px;
+}
+
+h4 {
+     border: 1px solid #7778bf;
+     padding: 4px 6px;
+     margin: 5px 0 10px 0;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 2px;
+     background: #eef;
+     background: linear-gradient(to right, #fff, #eef);
+     color: #31334f;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+#certs p:empty {
+     display: none;
+}
+
+#certs h3 {
+     margin-bottom: -6px;
+     border-width: 1px;
+     border-radius: 0;
+     filter: none;
+     -webkit-filter: none;
+}
+
+#certs h4 {
+     border-radius: 0;
+}
+
+#certs h3 + p {
+     border: 1px solid #7778bf;
+     padding: 15px;
+     margin: 5px 0 !important;
+}
+
+#certs h3 + p:empty + h4 {
+     margin-top: 5px !important;
+}
+#certs p + h3, #certs p + h4 {
+     margin-top: 10px;
+}
+
+#certs h4 + p {
+     border: 1px solid #7778bf;
+     padding: 15px;
+     margin: -11px 0;
+}
+
+#certs p {
+     background: #efefff;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+.underline {
+     border-bottom: 1px solid #000022;
+     padding: 5px 0 5px 0;
+     margin: 0 0 10px 0;
+}
+
+.langbox {
+     margin: 3px 0 4px 5px;
+     padding: 2px 3px;
+     color: #001;
+     font-size: 7pt;
+     width: 330px;
+     text-align: right;
+     float: right;
+     vertical-align: middle;
+     opacity: 1 !important;
+}
+
+.langbox img {
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
+     opacity: 0.9;
+     margin-bottom: 1px;
+}
+
+.langbox img:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     opacity: 1;
+     transform: scale(1.2);
+}
+
+button.search {
+     background: url(/themes/console/images/buttons/search.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+button.search:hover {
+     background: url(/themes/console/images/buttons/search_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.search[type="text"] {
+     background: #fff url(/themes/console/images/buttons/search.png) no-repeat 4px center;
+     padding: 4px 3px 4px 22px;
+     background-size: 16px 16px !important;
+     background-blend-mode: luminosity;
+}
+
+input.search[type="text"]:focus {
+     background-blend-mode: normal;
+}
+
+input, input:visited, button, button:visited {
+     border: 1px solid #999;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     color: #333;
+     margin: 3px;
+     font: 9pt "Droid Sans", Ubuntu, "Noto Sans", "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     padding: 4px 5px;
+     text-decoration: none;
+     border-radius: 2px;
+     opacity: 1;
+     background-size: 14px auto, 100% 100% !important;
+     filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+}
+
+button:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     border: 1px solid #f60;
+     filter: saturate(100%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(100%) drop-shadow(0 0 1px #ccc);
+}
+
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     box-shadow: inset 2px 2px 2px #555;
+     background-blend-mode: luminosity;
+}
+
+input.accept, button.accept {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept:hover, button.accept:hover, 
+input.accept:focus, button.accept:focus {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.accept[value^="Unban"], button.accept[value^="Unban"] {
+     background: url(/themes/console/images/buttons/unban.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept[value^="Unban"]:hover, button.accept[value^="Unban"]:hover, 
+input.accept[value^="Unban"]:focus, button.accept[value^="Unban"]:focus {
+     background: url(/themes/console/images/buttons/unban.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.accept[value^="Create"], button.accept[value^="Create"] {
+     background: url(/themes/console/images/buttons/create.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept[value^="Create"]:hover, button.accept[value^="Create"]:hover,
+input.accept[value^="Create"]:focus, button.accept[value^="Create"]:focus {
+     background: url(/themes/console/images/buttons/create.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.accept[value^="Filter"], button.accept[value^="Filter"] {
+     background: url(/themes/console/images/buttons/filter.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept[value^="Filter"]:hover, button.accept[value^="Filter"]:hover,
+input.accept[value^="Filter"]:focus, button.accept[value^="Filter"]:focus {
+     background: url(/themes/console/images/buttons/filter.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.add, button.add {
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.add:hover, button.add:hover,
+input.add:focus, button.add:focus {
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.add[value^="Adjust"], button.add[value^="Adjust"] {
+     background: url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.add[value^="Adjust"]:hover, button.add[value^="Adjust"]:hover,
+input.add[value^="Adjust"]:focus, button.add[value^="Adjust"]:focus {
+     background: url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.cancel, button.cancel {
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.cancel:hover, button.cancel:hover,
+input.cancel:focus, button.cancel:focus {
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.accept[value^="Show"], button.accept[value^="Show"],
+input.check[value^="View"], button.check[value^="View"] {
+     background: url(/themes/console/images/buttons/show.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept[value^="Show"]:hover, button.accept[value^="Show"]:hover,
+input.check[value^="View"]:hover, button.check[value^="View"]:hover,
+input.accept[value^="Show"]:focus, button.accept[value^="Show"]:focus,
+input.check[value^="View"]:focus, button.check[value^="View"]:focus {
+     background: url(/themes/console/images/buttons/show.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+}
+
+input.cancel[value^="Hide"], button.cancel[value^="Hide"],
+input.delete[value^="Do not view"], button.delete[value^="Do not view"] {
+     background: url(/themes/console/images/buttons/hide.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.cancel[value^="Hide"]:hover, button.cancel[value^="Hide"]:hover,
+input.delete[value^="Do not view"]:hover, button.delete[value^="Do not view"]:hover,
+input.cancel[value^="Hide"]:focus, button.cancel[value^="Hide"]:focus,
+input.delete[value^="Do not view"]:focus, button.delete[value^="Do not view"]:focus {
+     background: url(/themes/console/images/buttons/hide.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.check, button.check {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.check:hover, button.check:hover,
+input.check:focus, button.check:focus {
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.check[value$="updates"], button.check[value$="updates"] {
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.check[value$="updates"]:hover, button.check[value$="updates"]:hover,
+input.check[value$="updates"]:focus, button.check[value$="updates"]:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.delete, button.delete {
+     background: url(/themes/console/images/buttons/delete.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.delete:hover, button.delete:hover,
+input.delete:focus, button.delete:focus {
+     background: url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.delete[value^="Ban"], button.delete[value^="Ban"] {
+     background: url(/themes/console/images/buttons/ban.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.delete[value^="Ban"]:hover, button.delete[value^="Ban"]:hover,
+input.delete[value^="Ban"]:focus, button.delete[value^="Ban"]:focus {
+     background: url(/themes/console/images/buttons/ban.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.download, button.download {
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.download:hover, button.download:hover,
+input.download:focus, button.download:focus {
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.download[value^="Join"], button.download[value^="Join"] {
+     background: url(/themes/console/images/buttons/users.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+} 
+
+input.download[value^="Join"]:hover, button.download[value^="Join"]:hover,
+input.download[value^="Join"]:focus, button.download[value^="Join"]:focus {
+     background: url(/themes/console/images/buttons/users.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.download[value$="from File"], button.download[value$="from File"],
+input.download[value$="from file"], button.download[value$="from file"] {
+     background: url(/themes/console/images/buttons/from-file.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.download[value$="from File"]:hover, button.download[value$="from File"]:hover,
+input.download[value$="from file"]:hover, button.download[value$="from file"]:hover,
+input.download[value$="from File"]:focus, button.download[value$="from File"]:focus,
+input.download[value$="from file"]:focus, button.download[value$="from file"]:focus {
+     background: url(/themes/console/images/buttons/from-file.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.download[value^="Dump"], button.download[value^="Dump"] {
+     background: url(/themes/console/images/buttons/dump-threads.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.download[value^="Dump"]:hover, button.download[value^="Dump"]:hover,
+input.download[value^="Dump"]:focus, button.download[value^="Dump"]:focus {
+     background: url(/themes/console/images/buttons/dump-threads.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.go, button.go, input[value="GO"] {
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.go:hover, button.go:hover, input[value="GO"]:hover,
+input.go:focus, button.go:focus, input[value="GO"]:focus {
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.go[value^="Create"], button.go[value^="Create"] {
+     background: url(/themes/console/images/buttons/create-file.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.go[value^="Create"]:hover, button.go[value^="Create"]:hover,
+input.go[value^="Create"]:focus, button.go[value^="Create"]:focus {
+     background: url(/themes/console/images/buttons/create-file.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reload, button.reload {
+     background: url(/themes/console/images/buttons/restore.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.reload:hover, button.reload:hover,
+input.reload:focus, button.reload:focus {
+     background: url(/themes/console/images/buttons/restore_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reload[value$="restart"], button.reload[value$="restart"] {
+     background: url(/themes/console/images/buttons/restart.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.reload[value$="restart"]:hover, button.reload[value$="restart"]:hover,
+input.reload[value$="restart"]:focus, button.reload[value$="restart"]:focus {
+     background: url(/themes/console/images/buttons/restart_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reload[value^="Update"], button.reload[value^="Update"] {
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.reload[value^="Update"]:hover, button.reload[value^="Update"]:hover,
+input.reload[value^="Update"]:focus, button.reload[value^="Update"]:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reload[value="Force GC"], button.reload[value="Force GC"] {
+     background: url(/themes/console/images/buttons/clean.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.reload[value="Force GC"]:hover, button.reload[value="Force GC"]:hover,
+input.reload[value="Force GC"]:focus, button.reload[value="Force GC"]:focus {
+     background: url(/themes/console/images/buttons/clean_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.stop, button.stop {
+     background: url(/themes/console/images/buttons/shutdown.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.stop:hover, button.stop:hover,
+input.stop:focus, button.stop:focus {
+     background: url(/themes/console/images/buttons/shutdown_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+/* client config buttons aka project "X" */
+
+button.Xaccept {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xaccept:hover, button.Xaccept:focus {
+     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button.Xstop {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xstop:hover, button.Xstop:focus {
+     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button.Xadd {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xadd:hover, button.Xadd:focus {
+     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button.Xdelete {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xdelete:hover, button.Xdelete:focus {
+     background: url(/themes/console/images/buttons/delete_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button.Xcheck {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/update.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xcheck:hover, button.Xcheck:focus {
+     background: url(/themes/console/images/buttons/update_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button.Xdownload {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xdownload:hover, button.Xdownload:focus {
+     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
+}
+
+/* end project "X" */
+
+/* sidebar buttons */
+
+.routersummary button {
+     margin: 0 1px -3px;
+     min-width: 87px;
+}
+
+.routersummary .reload, .routersummary .stop {
+     text-indent: -99999px;
+     background-size: 16px 16px, 100% 100% !important;
+}
+
+.routersummary .reload {
+     background: url(/themes/console/images/buttons/restart.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%) !important;
+}
+
+.routersummary .reload:hover, .routersummary .reload:focus {
+     background: url(/themes/console/images/buttons/restart_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     border: 1px solid #f60;
+}
+
+.routersummary .reload:active, .routersummary .stop:active, .routersummary .download:active {
+     box-shadow: inset 2px 2px 2px #555;
+}
+
+.routersummary .stop {
+     background: url(/themes/console/images/buttons/shutdown.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+}
+
+.routersummary .stop:hover, .routersummary .stop:focus {
+     background: url(/themes/console/images/buttons/shutdown_hover.png) center center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     border: 1px solid #f60;
+}
+
+.routersummary .download {
+     background: url(/themes/console/images/buttons/download.png) 3px center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 16px 16px, 100% 100% !important;
+     padding: 5px 3px 5px 17px !important;
+/*     margin-top: -4px;*/
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.routersummary .download, .routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     padding-left: 19px !important;
+}
+}
+
+.routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     background: url(/themes/console/images/buttons/download.png) 3px center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 16px 16px, 100% 100% !important;
+     padding: 5px 3px 5px 17px !important;     
+     border: 1px solid #f60;
+}
+
+/* end sidebar buttons */
+
+input[type="text"], input[type="password"] {
+     background: #fff;
+     box-shadow: inset 1px 1px 1px #999;
+     font-family: "Droid Sans", Ubuntu, "Noto Sans", "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+}
+
+input[type="text"]:focus, input[type="password"]:focus {
+     box-shadow: none;     
+     filter: drop-shadow(0 0 1px #89f);
+     color: #000;
+}
+
+input[type="file"] {
+     border: none;
+     padding: 0;
+     background: none;
+     box-shadow: none;
+}
+
+input[type="checkbox"] {
+     border: 0 !important;
+}
+
+select {
+     background: #fff;
+     color: #333;
+     margin: 5px;
+     padding: 4px;
+     border: 1px solid #999;
+     min-width: 120px;
+     font: 9pt "Droid Sans", Ubuntu, "Noto Sans", "Bitstream Vera Sans", Verdana, "Lucida Sans Unicode", Helvetica, sans-serif;
+     border-radius: 2px;
+     text-align: left !important;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+select:focus {
+     box-shadow: 0 0 0 1px #89f;
+     color: #000;
+}
+
+select option {
+     background: #fff;
+}
+
+select, input[type="text"] {
+     min-width: 120px;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     -moz-appearance: none;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 16px 4px 4px;
+}
+
+select:hover, select:active {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+select:focus {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: 0 0 0 1px #89f;
+}
+}
+
+input[readonly], input[disabled], input[readonly]:focus, input[disabled]:focus {
+     background: #ddd;
+     box-shadow: inset 2px 2px 2px #999;
+     color: #333;
+     filter: none;
+     cursor: default;
+} 
+
+textarea {
+     padding: 5px;
+     margin: 5px !important;
+     background: #ffe;
+     color: #333 !important;
+     border-radius: 2px;
+     font: 8pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     min-height: 100px;
+     min-width: 97%;
+     border: 1px solid #999;
+     box-shadow: inset 1px 1px 1px #999;
+}
+
+textarea:focus {
+     color: #001 !important;
+     box-shadow: none;
+     filter: drop-shadow(0 0 1px #89f);
+}
+
+.proxyfooter {
+     margin: 0 20px 10px 240px;
+     padding: 20px 25px 20px 75px;
+     color: #f00;
+     font-size: 7pt;
+     text-align: right !important;
+     border-radius: 2px;
+     border: 1px solid #447;
+     display: none;
+}
+
+.statusnotes {
+     font-style: normal;
+     font-size: 9pt;
+     color: #225 !important;
+     text-align: center;
+     border: 1px solid #7778bf !important;
+     border-top: 0 !important;
+     margin: -5px 0 5px 0;
+     padding: 7px;
+     background: #eef;
+     background: linear-gradient(to bottom, #efefff, #eef);
+     letter-spacing: 0em !important;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+h3 + .statusnotes {
+     margin-top: 2px !important;
+}
+
+div.joblog {
+     border: 0;
+     margin-top: 5px;
+ }
+
+div.joblog i {
+     color: #050;
+     font-weight: bold;
+}
+
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+     line-height: 100% !important;
+     margin-top: -5px !important;
+}
+
+div.joblog li {
+     word-wrap: break-word !important;
+     line-height: 115% !important;
+     padding: 0;
+     font-size: 9pt !important;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+     break-inside: avoid;
+}
+
+div.joblog li:last-child {
+     margin-bottom: -5px;
+}
+
+div.joblog li:first-child {
+     margin-top: 10px;
+}
+
+.joblog li li:first-child {
+     margin-top: 0;
+}
+
+div.joblog form:first-child {
+     margin-top: 10px;
+}
+
+div.joblog table {
+     margin-top: 15px;
+}
+
+div.joblog p {
+     line-height: 130%;
+}
+
+div.joblog hr {
+     margin: 15px 0;
+}
+
+div.joblog h3 {
+     margin-bottom: 5px;
+}
+
+.main#jobs ol {
+     -moz-columns: 2;
+     border: 1px solid #7778bf;
+     padding: 5px 0;
+     margin-top: 1px;
+     background: #eef;
+     box-shadow: inset 0 0 0 1px #fff;
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+}
+
+.main#jobs ol:empty {
+     display: none;
+}
+
+.main#jobs ol li:first-child {
+     margin-top: 0 !important;
+}
+
+#schedjobs {
+     width: 100% !important;
+     margin: 15px 0 0 !important;
+}
+
+.main#jobs h3 {
+     border-width: 1px;
+     border-radius: 0;
+     filter: none;
+     margin-bottom: -2px;
+}
+
+.smallhead {
+     font-size: 8pt
+}
+
+.mediumtags {
+     font-size: 9pt;
+     font-style: italic;
+     font-weight: bold;
+}
+
+.optbox, input[type="checkbox"], input[type="radio"] {
+     min-width: 16px !important;
+     max-width: 16px !important;
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 3px 5px;
+     padding: 2px;
+     vertical-align: sub;
+}
+
+.optbox:hover {
+     min-width: 16px !important;
+     max-width: 16px !important;
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+}
+
+.cells {
+     border-left: 1px outset #cfd1ff;
+     border-top: 1px inset #cfd1ff !important;
+     border-bottom: 1px inset #cfd1ff !important;
+}
+
+.tablefooter {
+     background: #fff;
+}
+
+.tablefooter tr, .tablefooter td {
+     background: #fff;
+     border-top: 1px solid #7778bf;
+     border-bottom: 1px solid #7778bf !important;
+     padding: 8px 2px;
+     font-size: 9pt;
+     line-height: 110%;
+}
+
+.formaction {
+     text-align: right;
+     border: 1px solid #7778bf;
+     margin-top: -15px;
+     padding: 10px 5px;
+     background: #fff;
+}
+
+#config_homepage .formaction, #config_clients .formaction, #webappconfigactions {
+     margin-top: -6px;
+}
+
+#sidebardefaults {
+     margin-top: -6px;
+}
+
+div.footnote {
+     text-align: right;
+     color: #447;
+     font-size: 7pt;
+     margin-bottom: -5px !important;
+}
+
+div.footnote hr {
+     margin: 20px 0 5px 0 !important;
+     color: #447;
+     background: #447;
+     height: 1px;
+     border: 0 solid #447;
+}
+
+.topness {
+     font-size: 8pt;
+     text-align: right;
+     margin-top: 0;
+     margin-bottom: -18px;
+     margin-right: 5px;
+}
+
+iframe.iframed {
+     margin: 10px 0 0;
+}
+
+.main#webmail {
+     padding: 0 8px;
+}
+
+#susimailframe {
+     margin-top: 3px;
+}
+
+.main#dns {
+     padding: 0 8px;
+     min-width: 534px;
+}
+
+#susidnsframe {
+     margin: 0 0 -2px;
+     height: 100%;
+     width: 100%;
+     overflow: hidden;
+}
+
+.main#tunnelmgr {
+     padding: 0 10px;
+     min-width: 530px;
+}
+
+#i2ptunnelframe {
+     margin: -4px 0 -1px;
+     overflow: hidden;
+}
+
+.main#embedded {
+     padding: 1px 11px 4px;
+}
+
+/* Fixes for when app is not started and console error loads inside iframe */
+
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+.iframed div.routersummaryouter {
+     display: none !important;
+}
+
+.iframed h1 {
+     margin: 0 10px 10px 7px !important;
+}
+
+.iframed div.sorry {
+     margin: 5px 10px 10px 7px !important;
+}
+
+/* end iframed console fixes */
+
+/* Theme choice & Language selection in /configui */
+
+#themeui.formaction, #langui.formaction {
+     border: none;
+     border-top: 1px solid #7778bf;
+     background: none;
+     margin: 5px -6px 0 -6px;
+}
+
+#consolepass.formaction {
+     margin-top: -6px;
+}
+
+#consolepass tr:first-child td {
+     background: #fff url(/themes/console/images/info/user_add.png) 12px center no-repeat;
+     background-size: 28px 28px;
+     padding: 15px 15px 15px 50px;
+}
+
+.themechoice .optbox, .langselect .optbox {
+     vertical-align: text-bottom;
+}
+
+div.themechoice {
+     width: 115px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     border: 1px solid #7778bf;
+     float: left;
+     text-align: center;
+     padding: 0 4px;
+     margin: 4px;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddf 100%);
+     transition: filter ease 0.3s 0s;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0px 0 1px #999);
+     -webkit-filter: drop-shadow(0px 0 1px #999);
+}
+
+.themechoice:hover {
+     border: 1px solid #f60;
+     background: #fff;
+     transition: filter ease 0.3s 0s;
+}
+
+.themechoice:hover > object ~ .themelabel {
+     border-top: 1px solid #f60 !important;
+     background: #fff !important;
+     color: #f60;
+}
+
+.themechoice:active > object ~ .themelabel {
+     background: #f60 !important;
+     color: #fff;
+}
+
+.themechoice:hover > object {
+     filter: drop-shadow(0px 0 1px #f60);
+}
+
+.themechoice .optbox {
+     min-height: 68px !important;
+     min-width: 118px !important;
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     margin-left: -37px;
+     margin-top: 4px;
+     z-index: 999 !important;
+     outline: 1px dotted #f00;
+     position: absolute;
+}
+
+.themechoice .optbox + object {
+     margin-left: -2px;
+     padding: 2px 0 !important;
+     margin-bottom: 31px;
+}
+
+.themechoice img, .themechoice object {
+     margin-bottom: 31px !important;
+}
+
+.themechoice .optbox:hover + img {
+/*     box-shadow: 0 0 1px 1px #33f;*/
+}
+
+div#themeoptions {
+     clear: both;
+     padding-top: 5px;
+}
+
+#themeoptions input {
+     margin-left: 5px;
+     vertical-align: sub;
+}
+
+div.themelabel {
+     border-top: 1px solid #7778bf !important;
+     margin-left: -4px;
+     margin-right: -4px;
+     margin-top: -31px;
+     padding: 3px 2px;
+     background: #eef;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;     
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     box-shadow: inset 0 0 0 1px #fff;
+     font-size: 9pt;
+}
+
+.themechoice .optbox:hover + img ~ div.themelabel {
+     color: #f60;
+     font-weight: bold;
+}
+
+.themechoice .optbox:checked + object ~ div.themelabel {
+     background: #ddf !important;
+     color: #338;
+     font-weight: bold;
+}
+
+div#themesettings {
+     clear: both;
+     padding: 4px 5px 0;
+     margin: -16px 0 0;
+     border: 1px solid #7778bf;
+     background: #fff;
+}
+
+div#langsettings {
+     padding: 4px 5px 0;
+     border: 1px solid #7778bf;
+     margin: -16px 0 0;
+     background: #fff;
+}
+
+#themesettings hr, #langsettings hr {
+     display: none;
+}
+
+div.langselect { /* containing box for lang selection */
+     width: 115px;
+     float: left;
+     margin: 4px;
+     text-align: center;
+     border: 1px solid #7778bf;
+     padding: 4px 4px 0;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddf 100%);
+     transition: transform 0.3s ease 0s;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0px 0 1px #999);
+     -webkit-filter: drop-shadow(0px 0 1px #999);
+}
+
+.langselect:hover {
+     border: 1px solid #f60;
+     background: #fff;
+}
+
+.langselect .optbox {
+     min-width: 118px !important;
+     min-height: 50px !important;
+     margin-left: -2px;
+     margin-bottom: 6px;
+     margin-top: -2px;
+     opacity: 0;
+     z-index: 999;
+     position: relative;
+     outline: 1px dotted #f00;
+}
+
+.langselect:hover > input + img {
+     transform: scale(1.1);
+     border: 1px solid #f60 !important;
+}
+
+.langselect img[src^="/flags"] {
+     border: 1px solid #89f;
+     margin-bottom: 42px;
+     margin-left: -1px;
+     margin-top: -52px;
+     opacity: 1;
+     z-index: 3;
+     position: relative;
+}
+
+.langselect input, .themechoice input {
+     cursor: pointer;
+}
+
+.langselect input[name="lang"]:checked + img {
+     transform: scale(1.1);
+     -webkit-transform: scale(1.1);
+     border: 1px solid #338;
+}
+
+.langselect:hover > input[name="lang"] + img + .ui_lang {
+     color: #f60;
+     border-top: 1px solid #f60;
+     background: #fff !important;
+     transition: all 0.1s ease 0s;
+}
+
+.langselect:active > input[name="lang"] + img + .ui_lang {
+     background: #f60 !important;
+     color: #fff;
+}
+
+.langselect input[name="lang"]:checked + img + div.ui_lang {
+     background: #ddf !important;
+     color: #338;
+     font-weight: bold;
+     margin: -32px -4px 0;
+     z-index: 2;
+}
+
+div.flagradio {
+     margin-top: 2px;
+}
+
+div.langselect + br {
+     display: none !important; 
+}
+
+div.langselect br {
+     display: block;
+}
+
+div.ui_lang { /* lang text label */
+     text-align: center;
+     background: #eef url(images/tinytitle.png) center center !important;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     padding: 3px 2px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     margin: -32px -4px 0;
+     border-top: 1px solid #7778bf;
+     border-radius: 0 0 2px 2px;
+     text-transform: capitalize;
+     font-size: 9pt;
+     z-index: 2;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+p#helptranslate {
+     clear: both;
+     padding: 5px 10px 10px;
+     text-align: right;
+     margin: 0 -5px;
+}
+
+/* configui password*/
+
+table#consolepass th:nth-child(2) {
+     text-align: left;
+}
+
+table#consolepass td:first-child {
+     width: 100px;
+     white-space:nowrap; 
+}
+
+table#consolepass td {
+     padding: 5px 10px;
+     font-size: 9pt;
+}
+
+table#consolepass input {
+     margin: 5px;
+}
+
+table#consolepass td#pw_adduser {
+     padding: 5px 10px;
+     border-top: 1px solid #7778bf;
+}
+
+td#pw_adduser input {
+     margin: 5px 20px 5px 5px !important;
+}
+
+table#consolepass input[name="name"] {
+     margin-right: 20px;
+}
+
+#consolepass input[name="name"], #externali2cp input[name="user"] {
+     background: #fff url(/themes/console/images/buttons/user.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px !important;
+}
+
+
+#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"] {
+     background: #fff url(/themes/console/images/buttons/password.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px !important;
+}
+
+/* end configui */
+
+#config_update form {
+     margin-bottom: 0 !important;
+}
+
+table#addkeyring tr:last-child td {
+     padding: 10px 5px;
+     border-top: 1px solid #7778bf;
+}
+
+#config_summarybar .configtable td:not(.optionsave) {
+     padding-left: 50px;
+     background: url(/themes/console/images/info/interval.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+/* netdb */
+
+.main#netdb, .main#events {
+     background: #fff;
+}
+
+.confignav + .netdbentry {
+     margin-top: 10px;
+}
+
+.confignav + #banlist {
+     margin-bottom: 5px;
+}
+
+.confignav + .tabletitle, .confignav + form > .ptitle, .confignav + form > .tabletitle, .confignav + ul,
+.confignav + .infowarn, .confignav + .infohelp, .confignav + h3, .confignav + table, .confignav + p {
+     margin-top: 15px !important;
+}
+
+table.netdbentry th {
+     font-weight: normal;
+}
+
+table.netdbentry th:last-child {
+     text-align: right;
+     padding: 5px;
+     white-space: nowrap;
+     width: 50px;
+}
+
+table.netdbentry th:first-child, table.netdbentry td:first-child  {
+     white-space: nowrap;
+     padding: 4px 6px !important;
+     text-align: left;
+}
+
+table.netdbentry td:first-child  {
+     width: 80px;
+}
+
+table.netdbentry td:nth-child(2) {
+     word-wrap: break-word;
+}
+
+.netdbentry img {
+     margin: 1px 0 0 0;
+}
+
+a.viewfullentry:not(old) {
+     font-size: 0;
+}
+
+a.viewfullentry::after {
+     content: url(/themes/console/images/buttons/fullview.png);
+     vertical-align: text-top;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+a.viewfullentry:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+table#leasesetdebug th a:not(old), table#leasesetsummary th a:not(old) {
+     font-size: 0;
+}
+
+table#leasesetdebug th a::after, table#leasesetsummary th a::after {
+     content: url(/themes/console/images/buttons/floodfill.png);
+     vertical-align: text-top;
+     padding-right: 0;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+table#leasesetdebug th a:hover, table#leasesetsummary th a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+#leasesetsummary, #netdboverview {
+     margin-top: 10px;
+}
+
+#netdboverview th {
+     text-transform: uppercase;
+     font-size: 11pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: url(/themes/console/images/info/globe.png) 8px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     background-size: 18px 18px, 100% 100% !important;
+     padding: 8px 5px 8px 32px;
+}
+
+#netdboverview th:last-child, #netdboverview td:last-child {
+     text-align: right;
+}
+
+#netdboverview th:first-child, #netdboverview td:first-child {
+     text-align: left;
+}
+
+#netdboverview table {
+     margin: -1px 0;
+     border: none;
+     border-bottom: 1px solid #7778bf;
+}
+
+#netdboverview table th {
+     text-transform: none;
+     letter-spacing: normal;
+     word-spacing: normal;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     background-size: 100% 100%;
+     padding: 8px 5px;
+     font-size: 9pt;
+}
+
+#netdboverview table td {
+     padding: 3px 5px;
+}
+
+#netdboverview td {
+     padding: 0;
+}
+
+#netdbversions tr {
+     border-right: 1px solid #447;
+}
+
+#netdbcountrylist tr {
+     border-left: 1px solid #447;
+}
+
+#leasesetsummary td:first-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+table#leasesetdebug, table.leaseset, table#leasesetsummary {
+     font-size: 9pt;
+}
+
+table#leasesetdebug td, table.leaseset td {
+     padding: 5px !important;
+}
+table#leasesetdebug {
+     margin-bottom: 10px; 
+}
+
+table.leaseset th {
+     font-weight: normal;
+     padding: 5px;
+     text-align: left;
+     font-size: 10pt;
+}
+
+table.leaseset th:last-child, table.leaseset td:nth-child(2) {
+     text-align: right;
+     padding-right: 5px;
+}
+
+table#leasesetdebug, table#leasesetsummary {
+     margin-bottom: 15px;
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+     font-weight: bold;
+     padding: 8px;
+     text-align: left;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+table#leasesetdebug th a {
+     font-size: 9pt;
+     text-transform: capitalize;
+     letter-spacing: normal;
+     word-spacing: normal;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align:right;
+     white-space: nowrap;
+     font-size: 9pt;
+}
+
+table#leasesetdebug td:nth-child(odd) {
+     width: 200px;
+     white-space: nowrap;
+     text-align: right;
+     border-right: 1px inset #cfd1ff;
+}
+
+table#leasesetdebug td:nth-child(even) {
+     text-align: left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(2) {
+     width: 10px;
+}
+
+.leaseset tr:nth-child(2) td:last-child a:not(old) {
+     font-size: 0;
+}
+
+.leaseset tr:nth-child(2) td:last-child a::after {
+     content: url(/themes/console/images/buttons/add_address.png);
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+.leaseset tr:nth-child(2) td:last-child a:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+div#noleasesets {
+     border: 1px solid #7778bf;
+     padding: 20px;
+     font-weight: bold;
+     background: #fff;
+     margin-top: -6px;
+     margin-bottom: 5px;
+     text-align: center;
+}
+
+div#sybilnav {
+     -moz-columns: 4;
+     -webkit-columns: 4;
+     columns: 4;
+     -moz-column-gap: 10px;
+     -webkit-column-gap: 10px;
+     column-gap: 10px;
+     border-radius: 2px;
+}
+
+div#sybilnav, div#sybils_summary {
+     border: 1px solid #7778bf;
+     padding: 10px;
+     margin-bottom: 10px;
+}
+
+#sybilnav ul li:first-child {
+     margin-top: 0;
+}
+
+#sybilnav ul li:last-child {
+     margin-bottom: 0;
+}
+
+#sybilnav li {
+     list-style: none;
+     padding: 5px 3px 5px 24px;
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #fff;
+     margin: 2px 0;
+     background: #eef url(images/eye.png) 5px center no-repeat;
+     background: url(images/eye.png) 5px center no-repeat, linear-gradient(to right, #fff 70%, #eef);
+     line-height: 88%;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+#sybilnav li a {
+     width: 100%;
+     display: inline-block;
+}
+
+table.sybil_routerinfo {
+     margin-bottom: 10px;
+}
+
+.sybil_routerinfo th {
+     padding: 1px 1px 1px 6px !important;
+}
+
+table.sybil_routerinfo:first-of-type th {
+     padding: 6px !important;
+}
+
+.sybil_routerinfo th:first-child {
+     white-space: nowrap;
+     text-align: left;
+}
+
+.sybil_routerinfo th:nth-last-child(2) {
+     text-align: right !important;
+     padding-right: 0 !important;
+}
+
+.sybil_routerinfo th:last-child {
+     width: 20px;
+}
+
+.sybil_routerinfo td:first-child {
+     width: 50px;
+     white-space: nowrap;
+}
+
+p.sybil_floodfill, p.family, p.threatpoints, p.hashdist, p#sybil_totals {
+     border: 1px solid #7778bf;
+     padding: 5px 5px 5px 30px;
+     margin: 3px 0;
+     font-weight: bold;
+     background: url(images/eye.png) 8px center no-repeat;
+}
+
+p.family + p.family {
+     margin-top: -4px;
+}
+
+p.sybil_floodfill + a[name] + table.sybil_routerinfo, p.hashdist + a[name] + table.sybil_routerinfo, table.sybil_routerinfo + p {
+     margin-top: 10px !important;
+}
+
+.threatpoints + ul {
+     border: 1px solid #7778bf;
+     padding: 0 10px;
+     display: inline-block;
+     width: calc(100% - 22px);
+     margin: -4px 0 8px;
+     background: #eef;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+.threatpoints + ul li {
+     background: none;
+     margin: 0 0 0 20px;
+}
+
+.threatpoints + ul li:last-child {
+     margin-bottom: 10px;
+}
+
+p:empty { /* empty paragraph nuke */
+     display: none;
+}
+
+/* end netdb */
+
+
+ul#banlist {
+     background: #fff;
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     display: block;
+     padding: 5px 1px;
+     -moz-columns: 2;
+     -moz-column-gap: 0;
+     -webkit-columns: 2;
+     -webkit-column-gap: 0;
+     columns: 2;
+     column-gap: 0;
+}
+
+#banlist li {
+     list-style: none;
+     margin: 5px;
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     padding: 5px 5px 5px 35px;
+     line-height: 120%;
+     background: #eef url(/themes/console/images/buttons/ban.png) 10px center no-repeat;
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+     min-height: 33px;
+     font-size: 9pt;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+#banlist li:first-child {
+     margin-top: 0;
+}
+
+#banlist a[href^="configpeer?peer"]::after {
+     vertical-align: top;
+}
+
+#tunnelconfig th[colspan="3"] {
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+#tunnelconfig td:nth-child(n+2) {
+     text-align: left;
+}
+
+#tunnelconfigsave {
+     margin-top: -22px;
+}
+
+#profiles th:nth-child(n+3) {
+     text-align: right;
+}
+
+#profiles td:first-child {
+     width: 48px;
+     text-align: right;
+     white-space: nowrap;
 }
 
-h1 {
+#profiles td:nth-child(2) {
      text-align: left;
-     color: #115;
-     padding: 10px 15px;
-     margin: 0 10px 10px 207px;
-     font: normal bold 16pt/120% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     letter-spacing: 0.12em;
-     text-transform: uppercase;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
-     box-shadow: inset 0px 0px 1px 1px #bbf;
-     white-space: normal;
-     background: #f0f0f0;
-     border: 1px solid #447;
-     border-radius: 8px;
-     -moz-border-radius: 8px;
-     -khtml-border-radius: 8px;
-     min-width: 500px;
 }
 
-span.newtab {
-     text-align: right;
-     font-size: 8pt;
-     float: right;
-     letter-spacing: 0;
+#profiles td[colspan="7"] {
+     background: #77f;
+     padding: 0;
 }
 
-/* opera targetted hack */
-x:-o-prefocus, span.newtab {
-     margin-top: -25px;
+#thresholds p {
+     margin-left: 10px;
+     line-height: 140%;
 }
 
-h2 {
-     font-size: 13pt;
-     color: #115;
-     letter-spacing: 0.07em;
-     background: url('images/header.png') center center repeat-x;
-     padding: 10px;
-     border: 1px solid #115;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     margin: 15px 0px 15px 0 !important;
-     -moz-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     -khtml-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     word-wrap: break-word;
-     opacity: 1;
+#profile_defs li:first-child {
+     margin-top: 0 !important;
 }
 
-h2 a, h3 a {
-    text-transform: capitalize;
-    letter-spacing: 0.03em;
+#profile_defs li  {
+     list-style: none !important;
+     margin: -5px 0 0 0;
+     padding-bottom: 2px;
+     white-space: normal;
+     line-height: 80%;
 }
 
-h2 a:hover, h3 a:hover {
-     text-shadow: none;
+#profile_defs b {
+     text-transform: capitalize;
 }
 
-.routersummary h3 a{
-    text-transform: uppercase;
+table#profiles tr:hover td, table#floodfills tr:hover td, #permabanned tr:hover td,
+#ntcpconnections tr:nth-last-child(n+2):hover td, #udpconnections tr:nth-last-child(n+2):hover td,
+#schedjobs tr:hover td, #jobstats tr:nth-last-child(n+2):hover td,
+#jardump tr:hover td, #sidebarconf tr:nth-last-child(n+2):hover td,
+#eventlog tr:hover td {
+     background: #ffd;
+     color: #000;
 }
 
-h2 a:hover {
-     text-shadow: 0px 0px 1px rgba(255, 255, 72, 0.9);
-     border-bottom: 1px #ff6600;
-     padding-bottom: 5px;
+table#schedjobs {
+     margin-top: -11px !important;
 }
 
-h2 img {
-     opacity: 0.9 !important;
+#schedjobs th:last-child {
+     text-align: center;
 }
 
-h3 {
-     border: 1px solid #115;
-     border-left: 5px solid #115;
-     padding: 5px 5px 5px 8px;
-     margin: 12px 0 15px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     background: url('images/header.png') center center repeat-x !important;
-     font-size: 11pt;
-     color: #115;
-     -moz-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     -khtml-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     opacity: 1;
-     letter-spacing: 0.07em;
+#schedjobs td:first-child {
+     font-weight: bold;
 }
 
-h4 {
-     border-bottom: 1px;
-     border-bottom-style: solid;
-     border-bottom-color: #447;
-     padding: 0 0 10px 0;
-     margin: 5px 0 10px 0;
-     font-size: 11pt;
+#jobstats th:nth-child(n+2) {
+     text-align: right;
 }
 
-button, button:visited {
-     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px outset #66a;
-     padding: 1px 3px;
-     background: #ffe;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font-size: 8pt;
+#jobstats tr:last-child {
      font-weight: bold;
-     margin: 2px;
-     text-align: center;
-     min-width: 60px;
-     -moz-box-shadow: inset 0px 0px 2px 1px #fff;
-     -khtml-box-shadow: inset 0px 2px 8px 0px #fff;
-     box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #316;
 }
 
-button.accept {
-     background: #ffe url('../images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#jobstats tr:last-child td {
+     padding: 5px;
 }
 
-button.add {
-     background: #ffe url('../images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.main#jardump {
+     overflow-x: auto;
+     min-width: 530px;
 }
 
-button.cancel {
-     background: #ffe url('../images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#jardump {
+     margin: 15px 0 0;
+     font-size: 8pt;
 }
 
-button.check {
-     background: #ffe url('../images/tick.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#peerdefs, #profile_defs, #thresholds, #configinfo, .infohelp, .infowarn {
+     font-size: 9pt;
 }
 
-button.delete {
-     background: #ffe url('../images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#peerdefs td:first-child {
+     text-align: right;
+     width: 50px;
+     white-space: nowrap;
 }
 
-button.download {
-     background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.sybil_routerinfo th img {
+     width: 24px;
+     height: 24px;
 }
 
-button.go {
-     background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.main#tunnels th, .main#peers th, #ntcpconnections td, #udpconnections td {
+     text-align: center;
 }
 
-button.reload {
-     background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+h3#ntcpcon, h3#udpcon {
+     border-width: 1px;
+     margin-bottom: -2px;
+     border-radius: 0;
+     filter: none;
 }
 
-button.search {
-     background: #ffe url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#ntcpconnections td:first-child, #udpconnections td:first-child {
+     width: 50px;
+     white-space: nowrap;
+     text-align: right;
+     padding-left: 3px !important;
 }
 
-button.stop {
-     background: #ffe url('../images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#ntcpconnections tr:last-child td:first-child, #udpconnections tr:last-child td:first-child {
+     text-align: left;
+     padding-left: 10px !important;
 }
 
-button:hover {
-     border: 1px solid #f60;
-     background-color: #f60 !important;
-     color: #fff;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #fff;
-     box-shadow: inset 0px 0px 0px 1px #fff;
+table#profiles td:last-child {
+     text-align: right;
+     padding-right: 5px;
 }
 
-button:active {
-     border: 1px solid #f60;
-     background: #202 !important;
-     color: #f60;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
+table#floodfills th {
+     text-align: center !important;
+     border-right: 1px solid #7778bf;
 }
 
-.underline {
-     border-bottom: 1px solid #000022;
-     padding: 5px 0px 5px 0px;
-     margin: 0px 0px 10px 0px;
+#i2pupdates input[type="text"]:not([readonly]), #i2pupdates textarea, .main[id^="config_"] textarea {
+     width: calc(100% - 5px);
 }
 
-.langbox {
-     margin: 3px 10px 4px 5px;
-     padding: 2px 5px;
-     color: #001;
-     font-size: 7pt;
-     width: 330px;
-     text-align: right;
-     float: right;
-     vertical-align: middle;
-     opacity: 1 !important;
+#i2pupdates select {
+     min-width: 220px;
 }
 
-.langbox img {
-     opacity: 0.8 !important;
+#i2pupdates td:first-child {
+     width: 250px;
+     white-space: nowrap;
 }
 
-.langbox img:hover {
-     opacity: 1 !important;
+#loggingoptions input[type="text"], #loggingoptions select:not([name="newlogclass"]):not([name="newloglevel"]) {
+     width: calc(100% - 10px);
 }
 
-input, input:visited {
-     border: 1px outset #999;
-     background: #ffe;
-     color: #316;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 3px;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #813;
-     opacity: 1;
+#loggingoptions td:last-child:not(.optionsave) {
+     text-align: left;
 }
 
-input.accept {
-     background: #ffe url('../images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.main#proof textarea, .main#proof textarea:focus {
+     background: none;
+     border: none;
+     box-shadow: none;
+     color: #001 !important;
+     filter: none;
+     -webkit-filter: none;
 }
 
-input.add {
-     background: #ffe url('../images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.main#jardump {
+     padding: 0;
 }
 
-input.cancel {
-     background: #ffe url('../images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.main#jardump table {
+     margin: -1px 0 0;
+     border: none;
 }
 
-input.check {
-     background: #ffe url('../images/tick.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+/* experimental sidebar navigation for webapps */
+ 
+#sb_services a:link, #sb_services a:visited {
+     display: inline-block;
+     width: 100%;
+     padding: 4px 2px 4px 20px; 
+     text-align: left;
+     border-bottom: 1px dotted #89f;
+     background: url(images/application.png) left center no-repeat;
+     background-size: 14px 14px;
 }
 
-input.delete {
-     background: #ffe url('../images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#sb_services a:link:first-child {
+     padding-top: 2px;
 }
 
-input.download {
-     background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#sb_services a:link:last-child {
+     border-bottom: none;
+     padding-bottom: 2px;
 }
 
-input.go {
-     background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#sb_services a[href="/susimail/susimail"] {
+     background: url(images/inbox.png) left center no-repeat;
 }
 
-input.reload {
-     background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#sb_services a[href="/i2psnark/"] {
+     background: url(images/magnet.png) left center no-repeat;
 }
 
-input.search[type="text"] {
-     background: #ffe url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+#sb_services a[href="http://127.0.0.1:7658/"] {
+     background: url(images/server.png) left center no-repeat;
 }
 
-input.stop {
-     background: #ffe url('../images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#sb_services a[href="/orchid/"] {
+     background: url(images/flower.png) left center no-repeat;
 }
 
-input:hover {
-     background-color: #f60;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+#sb_services a[href*="bote"] {
+     background: url(images/mail_black.png) left center no-repeat;
+}
 
+/* end webapp navigation */
+
+#volunteer, #sidebarhelp, #configurationhelp, #reachabilityhelp, #advancedsettings, #legal, #changelog {
+     border: 1px solid #7778bf;
+     border-radius: 2px;
+     margin-bottom: 10px;
+     padding: 0 10px 5px;
+     background: #fff;
 }
 
-input:active {
-     background: #002;
-     color: #f60;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
+#changelog {
+     margin-bottom: 5px;
 }
 
-input[type=text], input[type=password] {
-     background: #ffe;
-     color: #001;
-     margin: 5px 10px 5px 10px;
-     padding: 4px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #447;
-     text-decoration: none;
+.main#help h2 {
+     margin: -1px -11px 10px !important;
+     border-radius: 2px 2px 0 0;
+     text-transform: uppercase;
+     filter: none;
+     -webkit-filter: none;
 }
 
-submit {
-     background: #f00;
-     color: #ffe;
-     margin: 10px 2px 10px 0;
-     padding: 2px;
-     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-     border: 1px solid #447;
-     text-decoration: none;
+#fullhistory {
+     text-align: right;
+     margin-bottom: 0;
 }
 
-input checkbox {
-     border: 0 !important;
+.main#torrents {
+     padding: 0;
 }
 
-select {
-     background: #ffe;
-     color: #003;
-     margin: 5px 10px 5px 10px;
-     padding: 4px;
-     border: 1px solid #447;
-     min-width: 80px;
-     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     text-align: left !important;
+#i2psnarkframe {
+     margin: 0;
 }
 
-select:active {
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
+.homelinkedit th:first-child, #sidebarconf th:first-child {
+     text-align: center;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     text-align: left;
+     font-size: 0;
 }
 
-textarea {
-     padding: 5px;
-     margin: 5px 15px 5px 10px;
-     background: #ffe;
-     color: #003;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     min-height: 100px;
-     min-width: 97%;
-     border: 1px solid #447;
+.homelinkedit tr:last-child td:first-child {
+     text-align: right;
 }
 
-textarea:active {
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
+.homelinkedit input[type="text"], #sidebarconf select {
+     margin-left: 0;
 }
 
-.proxyfooter {
-     margin: 0 20px 10px 240px;
-     padding: 20px 25px 20px 75px;
-     color: #f00;
-     font-size: 7pt;
-     text-align: right !important;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border: 1px solid #447;
-     display: none;
+#clientconfig th:first-child, #webappconfig th:first-child, #pluginconfig th:first-child {
+     text-align: right;
+     padding-right: 10%;
 }
 
-.statusnotes {
-     font-style: normal;
-     font-size: 8pt;
-     color: #225 !important;
+#clientconfig td:first-child, #webappconfig td:first-child, #pluginconfig td:first-child {
+     padding-right: 10%;
+}
+
+#clientconfig th:nth-child(3), #webappconfig th:nth-child(3), #pluginconfig th:nth-child(3) {
      text-align: center;
-     border: 1px solid #447 !important;
-     border-top: 0 !important;
-     margin: -5px 0 5px 0;
-     padding: 7px;
-     background: url("images/header.png") repeat scroll center center #eef;
-     letter-spacing: 0em !important;
 }
 
-div.joblog {
-     overflow: auto;
-     border: 0;
-     margin-top: 5px;
- }
+/*
+#pluginconfig button {
+     min-width: 60px;
+}
+*/
 
-div.joblog i {
-     color: #050;
-     font-weight: bold;
+#pluginconfig table {
+     margin: 5px 5px 5px 0 !important;
+     width: calc(100% - 5px);
 }
 
-div.joblog ul {
-     word-wrap: break-word !important;
-     text-align: justify;
-     line-height: 100% !important;
-     margin-top: -5px !important;
+#pluginconfig td:first-child {
+     width: 80px;
+     white-space: nowrap;
 }
 
-div.joblog li {
-     word-wrap: break-word !important;
-     line-height: 115% !important;
-     padding: 0;
-     font-size: 9pt !important;
+h4#updateplugins {
+     background: #eef url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     border: 1px solid #7778bf;
+     padding: 5px;
+     font-size: 9pt;
+     margin: -15px 0 14px;
+     text-transform: none;
+     letter-spacing: normal;
+     color: #31334f;
 }
 
-div.joblog li:last-child {
-     margin-bottom: -5px;
+.formaction#pluginupdater, table#permabanned, table#i2pupdates {
+     margin-bottom: 10px;
 }
 
-div.joblog li:first-child {
-     margin-top: 10px !important;
+.formaction#pluginupdater form {
+     padding: 0;
+     margin: 0;
 }
 
-div.joblog form:first-child {
-     margin-top: 10px;
+#pluginconfigactions {
+     margin-top: -6px;
 }
 
-div.joblog table {
-     margin-top: 15px;
+h3#displayevents {
+     border-width: 1px;
+     filter: none;
+     border-radius: 0;
+     margin-top: 0;
 }
 
-div.joblog p {
-     line-height: 130%;
+form[action="events"] {
+     border: 1px solid #7778bf;
+     padding: 10px 10px 10px 50px;
+     margin: -16px 0 -2px 0 ;
+     background: url(/themes/console/images/info/logs.png) 12px center no-repeat;
+     background-size: 28px 28px;
 }
 
-div.joblog hr {
-     margin: 15px 0;
+#joinfamily {
+     margin-top: -14px;
 }
 
-div.joblog h3 {
-     margin-bottom: 5px;
+#newfamily {
+     margin-top: -6px;
+     margin-bottom: 10px;
 }
 
-.smallhead {
-     font-size: 7pt
+a[href^="configpeer?peer"] {
+     font-size: 0;
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
 }
 
-.mediumtags {
-     font-size: 8pt;
-     font-style: italic;
-     font-weight: bold;
+a[href^="configpeer?peer"]::after {
+     content: url(/themes/console/images/buttons/edit.png);
+     vertical-align: bottom;
 }
 
-.optbox {
-     min-width: 16px !important;
-     max-width: 16px !important;
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
+a[href^="configpeer?peer"]:hover {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
-.optbox:hover {
-     min-width: 16px !important;
-     max-width: 16px !important;
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
+.widescroll {
+     overflow: auto;
 }
 
-.cells {
-     border-left: 1px outset #bbf;
-     border-top: 1px inset #99f !important;
-     border-bottom: 1px inset #99f !important;
+#webappconfigactions, #externali2cp  {
+     margin-bottom: 5px !important;
 }
 
-.tablefooter {
-     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
+#pluginupdater {
+     margin-bottom: 10px !important;
 }
 
-.tablefooter tr, .tablefooter td {
-     background: #ffe url('images/header.png') center center repeat-x;
-     border-top: 1px solid #447;
-     border-bottom: 1px solid #447 !important;
-     padding: 8px 2px !important;
-     font-size: 7pt;
-     line-height: 110%;
+/* responsive layout */
+
+@media screen and (min-width: 1500px) {
+body, .main, .main td, .news p, #news p, .tab, .tab2, .main li b, div.joblog li, .themelabel, .ui_lang, .applabel a, 
+#peerdefs, #profile_defs, #thresholds, #configinfo, .infohelp, .infowarn, button, input, select, textarea {
+     font-size: 10pt !important;
 }
 
-.formaction {
-     text-align: right;
+.routersummary td, .routersummary a, .routersummary button, .routersummary h4, .routersummary h4 a,
+code, tt, div.news {
+     font-size: 9pt !important;
 }
 
-div.footnote {
-     text-align: right;
-     color: #447;
-     font-size: 7pt;
-     margin-bottom: -5px !important;
+.main, .news, h1 {
+     margin-left: 232px !important;
 }
 
-div.footnote hr{
-     margin: 20px 0 5px 0 !important;
-     color: #447;
-     background: #447;
-     height: 1px;
-     border: 0px solid #447;
+.routersummary {
+     width: 207px !important;
 }
 
-.topness {
-     font-size: 7.5pt;
-     text-align: right;
-     margin-top: 0px;
-     margin-bottom: -18px;
-     margin-right: 5px;
+.routersummary div[style="height: 36px;"] {
+     height: 40px !important;
+     margin-top: 4px;
 }
 
-iframe.iframed {
-     margin: 10px 0 0;
+.routersummary img[src$="i2plogo.png"] {
+     transform: scale(1.1);
 }
 
-/* Fixes for when app is not started and console error loads inside iframe */
+.routersummary table[id^="sb_"] {
+     width: 216px !important;
+}
 
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
+.routersummary h3 a {
+     font-size: 11pt !important;
 }
 
-.iframed div.routersummaryouter {
-     display: none !important;
+div.app {
+     width: 154px;
 }
 
-.iframed h1 {
-     margin: 0 10px 10px 7px !important;
+.applabel {
+     width: 142px !important;
 }
 
-.iframed div.sorry {
-     margin: 5px 10px 10px 7px !important;
+.tab, .tab2 {
+     padding-bottom: 3px;
 }
 
-/* end iframed console fixes */
+.footnote {
+     font-size: 8pt !important;
+}
+}
diff --git a/installer/resources/themes/console/light/console_ar.css b/installer/resources/themes/console/light/console_ar.css
index 8a605d082eb2738a9949e9a2aff0fe21ed1d5c7d..116c8e4014ec1464e27e2bf17273f6f2982e349f 100644
--- a/installer/resources/themes/console/light/console_ar.css
+++ b/installer/resources/themes/console/light/console_ar.css
@@ -12,6 +12,7 @@ pre {
 
 table {
      direction: rtl;
+     margin-right: -16px;
 }
 
 td {
@@ -20,24 +21,59 @@ td {
 
 h1,h2,h3,h4 {
      direction: rtl;
-     text-align: right;
+     text-align: right !important;
+}
+
+.routersummary h4 {
+     text-align: center;
 }
 
 h1 {
-     margin: 10px 210px 0px 10px;
-     padding: 7px 0px 30px 20px;
+     margin: 10px 210px -15px 10px;
+     padding: 20px 20px 20px 10px;
 }
 
 form {
     text-align: right;
+    margin: 0 16px 0 -16px;
+}
+
+#statsForm, #joinfamily, #newfamily, table#permabanned {
+     margin-left: 0;
+     margin-right: 0;
+}
+
+form[action="configpeer"] {
+     margin-left: -16px;
+     margin-right: 16px;
+}
+
+form[action="configpeer"] > h3.tabletitle {
+     margin-left: 16px;
+     margin-right: -16px;
+}
+
+#config_summarybar table.configtable {
+     margin-right: 0;
 }
 
 div.routersummary form {
     text-align: center;
 }
 
-div.routersummary h3 {
-     text-align: center;
+div.wideload {
+     margin-left: -16px;
+     margin-right: 16px;
+}
+
+.routersummary h3, .routersummary h4 {
+     text-align: center !important;
+}
+
+#sb_services a {
+     text-align: right !important;
+     padding-right: 20px !important;
+     background-position: right center !important;
 }
 
 div.routersummary td:last-child {
@@ -70,10 +106,15 @@ div.main li {
 
 div.news {
      margin: 10px 210px 0px 10px;
-     padding: 7px 0px 30px 20px;
+     padding: 7px 20px 10px 20px;
      direction: ltr;
 }
 
+div.news h3, #news h3 {
+     background: url(images/news.png) right 8px center no-repeat, linear-gradient(to right, #fff, #eef) !important;
+     padding: 5px 30px 5px 10px;
+}
+
 div.graphspanel form {
      text-align: right;
 }
@@ -81,10 +122,37 @@ div.graphspanel form {
 .langbox {
      float: left;
      text-align: left;
+     padding-left: 0;
+     margin-left: 4px;
+}
+
+.confignav {
+     margin-left: -19px !important;
+     margin-right: -19px !important;
+     direction: ltr;
 }
 
 .formaction {
      text-align: left;
+     margin: 0 -16px 0 16px;
+}
+
+.formaction#consolepass, .formaction#tunnelconfigsave, .formaction#homeapps {
+     margin-bottom: 15px;
+}
+
+div[lang="ar"] p, div[lang="ar"] ul {
+     padding: 0 20px;
+     font-size: 10pt;
+}
+
+div[lang="ar"] li.tidylist {
+     list-style: none;
+     margin-bottom: 15px; 
+}
+
+ul.links li:first-child {
+     margin-top: 15px !important;
 }
 
 .tidylist code {
@@ -95,6 +163,14 @@ code {
      text-align: right;
 }
 
+th {
+     text-align:right; 
+}
+
+th a.script {
+     float: left;
+}
+
 div.joblog li, div.newsheadings li {
     text-align: left;
     direction: ltr;
@@ -106,3 +182,267 @@ span.newtab {
      float: left;
      letter-spacing: 0;
 }
+
+/*
+#consolepass {
+     margin-right: 0;
+}
+*/
+
+#tunnelconfig + hr {
+     background: #fff ;
+}
+
+#plugininstall {
+     margin: 0 0 0 -16px;
+}
+
+#updateplugins {
+     margin: 0;
+}
+
+#pluginconfig td:first-child {
+     min-width: 100px;
+     white-space: normal;
+     text-align: left;
+     padding-right: 5px;
+}
+
+td.optionsave {
+     text-align: left;
+}
+
+p.infohelp, p.infowarn, td.infohelp, td.infowarn,
+table#bugreports td.infohelp,
+p#debugmode,
+p#sybilinfo,
+#bandwidthconfig tr:first-child .infohelp,
+#addkeyring td.infohelp,
+#joinfamily tr:nth-child(3) td:first-child,
+#newfamily tr:last-child td:first-child,
+#oldhome td:first-child,
+#floodfillconfig .infohelp,
+p#clientconf.infohelp, p#webappconfig.infohelp,
+p#pluginconfig,
+#plugininstall .infohelp,
+#manualreseed tr:nth-last-child(2) td.infohelp,
+#config_peers tr:nth-child(3) td.infohelp,
+h3#shutdownrouter + p.infohelp,
+h3#restartrouter + p.infohelp,
+h3#systray + p.infohelp,
+h3#servicedebug + p.infohelp,
+h3#browseronstart + p.infohelp,
+.main#config_reseed p.infohelp,
+p#enablefullstats, p#gatherstats,
+#config_family .infohelp,
+#consolepass tr:first-child td,
+form[action="events"],
+#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2),
+#manualreseed tr:nth-child(5) td:nth-last-child(2), #plugininstall tr:nth-child(5) td:nth-last-child(2),
+#config_summarybar .configtable td:not(.optionsave) {
+     background-position: right 12px center !important;
+     padding: 15px 50px 15px 10px !important;
+}
+
+#themesettings, #langsettings {
+     margin-left: 16px !important;
+     margin-right: -16px !important;
+}
+
+#sidebarconf tr:last-child td:last-child {
+     text-align: right;
+}
+
+#sidebardefaults, #loggingoptions, #reseedconfig, #addkeyring, #netconfig, #advconf {
+     margin-bottom: 15px;
+}
+
+.homelinkedit tr:last-child td:first-child {
+     text-align: left;
+}
+
+table#manualreseed, #config_keyring .configtable { 
+     margin-right: 0 !important;
+}
+
+#config_keyring form h3, #config_update form h3, form h3 {
+     margin-right: -16px;
+     margin-left: 16px;
+}
+
+#clientconfig, #webappconfig {
+     margin-right: -32px;
+}
+
+table#plugininstall {
+     margin-right: 0 !important;
+}
+
+table#pluginconfig {
+     margin-right: -32px !important;
+}
+
+.formaction#clientsconfig, .formaction#pluginconfig {
+     margin-left: 32px;
+     margin-right: -32px;
+}
+
+.infohelp#webappconfig, h3#webappconfig, #pluginconfig, h3#pluginconfig {
+     margin-right: 0; 
+}
+
+textarea[name="levels"] {
+     text-align: left;
+}
+
+.mediumtags {
+     text-align: left;
+}
+
+h3#advancedconfig a, h3#bwlimiter a, h3.tabletitle a, h3.ptitle a, th a.script, th#upnpconfig a, h3#graphinfo a, h3#graphdisplay a {
+     float: left;
+}
+
+.main#config_advanced .wideload {
+     margin-left: 0 !important;
+     margin-right: 0 !important;
+}
+
+#config_service p.infohelp {
+     margin-right: -16px;
+     margin-left: 16px;
+}
+
+#browserstart {
+     margin-bottom: 15px;
+}
+
+#config_update.main .messages {
+     text-align: right;
+     padding-right: 50px;
+}
+
+table#addkeyring tr:last-child td {
+     text-align: left;
+}
+
+#banlist li {
+     padding: 5px 35px 5px 5px;
+     background-position: right 10px center;
+}
+
+.tab, .tab2 {
+     font-size: 10pt;
+     margin-top: -5px;
+}
+
+table.search {
+     margin-top: -26px;
+     margin-bottom: 15px;
+}
+
+h4.app, h4.app2, #news h3, .news h3 {
+     background-position: right 10px center;
+     padding: 6px 32px 6px 10px;
+     direction: ltr !important;
+}
+
+#netdboverview, #netdboverview td, #netdboverview table {
+     direction: ltr;
+}
+
+#netdboverview table td {
+     border: 1px solid #7778bf !important;
+}
+
+#sb_internals td, #sb_advanced td {
+     text-align: center;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child,
+table.leaseset th:last-child, table.leaseset td:nth-child(2) {
+     text-align: left;
+}
+
+table#leasesetdebug th, table#leasesetsummary th, table.leaseset th {
+     text-align: right;
+}
+
+.leaseset th:first-child code, .leaseset th:first-child b {
+     float: right !important;
+}
+
+.leaseset th:first-child code {
+     direction: ltr;
+     padding-right: 5px;
+}
+
+table#leasesetdebug td:nth-child(2n+1) {
+     text-align: left;
+}
+
+table#leasesetdebug td:nth-child(2n) {
+     text-align: right;
+}
+
+table#leasesetdebug, table#leasesetsummary, table.leaseset, table.sybil_routerinfo, #netdboverview, .netdbentry {
+     margin-right: 0;
+}
+
+table#profiles, p#profiles_overview, #profiles + h3, #thresholds + h3, ul#banlist {
+     margin-right: -16px;
+}
+
+p#profiles_overview, #profiles + h3, #thresholds + h3, ul#banlist {
+     margin-left: 16px;
+}
+
+table.leaseset:last-child, table.netdbentry:last-child, #profile_defs {
+     margin-bottom: -10px;
+}
+
+table.netdbentry th:first-child {
+     text-align: right;
+}
+
+table.netdbentry th:last-child {
+     text-align: left;
+}
+
+#sybilnav li {
+     background: url(images/eye.png) right 5px center no-repeat, linear-gradient(to right, #eef 30%, #fff);
+     padding: 3px 24px 3px 3px;
+}
+
+.threatpoints + ul li {
+     margin-right: 20px;
+}
+
+#profiles td:nth-child(2) {
+     text-align: right;
+}
+
+#profiles td:last-child {
+     text-align: left !important;
+}
+
+#thresholds p {
+     padding-right: 10px;
+}
+
+.wideload .confignav {
+     margin-left: -3px !important;
+     margin-right: -35px !important;
+}
+
+.main#profiles ul#banlist {
+     margin-bottom: -10px !important;
+}
+
+#peers table, #tunnels table, #logs table, #debug table {
+     margin-right: 0 !important;
+}
+
+#logs table td:first-child {
+     text-align: left;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/light/console_big.css b/installer/resources/themes/console/light/console_big.css
index 44c46c83d50b1d7fbf6e9f6aa1672bb556c9814e..1fcd4adff7a2e7fc9afc059d0119e6faf8d3bf75 100644
--- a/installer/resources/themes/console/light/console_big.css
+++ b/installer/resources/themes/console/light/console_big.css
@@ -2,6 +2,40 @@
 /* Comment: Larger text & other optimizations for Chinese & other doublebyte charactersets */
 /* Author: dr|z3d */
 
+
+h1, h2, h3, h4 {
+     font-weight: normal !important;
+     text-shadow: none;
+     word-spacing: 0.1em;
+}
+
+h3 {
+     font-size: 12pt;
+}
+
+b, a, input, button, input[type="submit"], input[type="reset"], i, th, thead, tfoot, .mediumtags {
+     font-weight: normal !important;
+     font-style: normal !important;
+}
+
+b {
+     color: #111;
+}
+
+button, input[type="submit"], input[type="reset"] {
+    font-size: 10.5pt !important;
+    font-family: "Droid Sans", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+    padding: 5px 5px 5px 20px !important;
+}
+
+input.cancel {
+     padding: 5px 5px 6px 20px !important;
+}
+
+#sidebarconf button {
+     padding: 3px !important;
+}
+
 div.routersummary table {
     font-size: 8.5pt;
 }
@@ -11,14 +45,16 @@ div.routersummary a {
 }
 
 div.routersummary h3, div.routersummary h4, div.routersummary p, div.routersummary h3 a, div.routersummary a {
-     text-shadow: 0 0 0 0 !important;
+     text-shadow: none !important;
 }
 
+div.routersummary h3 a {
+     font-size: 11pt !important;
+}
 
 div.routersummary h4, div.routersummary h4 a {
-     font-size: 11pt !important;
-     letter-spacing: 0.1em;
-     -moz-box-shadow: inset 0px 0px 1px 15px #dfd;
+     font-size: 10.5pt !important;
+/*     letter-spacing: 0.1em;*/
 }
 div.routersummary b {
      font-size: 9.5pt;
@@ -27,36 +63,21 @@ div.routersummary b {
 
 div.routersummary a {
      word-spacing: 0.1em !important;
-     letter-spacing: 0.05em !important;
-     font-size: 10.5pt;
-     line-height: 150%;
-}
-
-h1, h2,h3,h4 {
-     font-weight: normal !important;
-     text-shadow: 0 0 0;
-     word-spacing: 0.1em;
-}
-
-b, a, input, button, submit, i, th, thead, tfoot{
-     font-weight: normal !important;
-     font-style: normal !important;
-}
-
-button, button:visited {
-    font-size: 10.5pt;
-    font-family: Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     font-size: 10pt;
+     line-height: 130%;
 }
 
+/*
 b {
      color: #152 !important;
 }
+*/
 
 div.news {
      font-size: 9pt;
 }
 
-input, input:visited {
+input, input:visited, button {
      font-size: 10pt !Important;
 }
 
@@ -65,11 +86,16 @@ input, input:visited {
 }
 
 table {
-     font: 8.5pt/130% Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+     font: 10pt/130% "Droid Sans", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
 }
 
-td {
-     font-size: 9pt;
+th {
+     font-size: 10pt; 
+}
+
+td, .mediumtags {
+     font-size: 10pt !important;
+     font-weight: normal !important;
 }
 
 .statusnotes {
@@ -88,6 +114,33 @@ div.tunnels a {
      word-spacing: 0 !important;
 }
 
-code, tt {
+code, tt, div {
      font-size: 10pt !important;
 }
+
+.messages, .messages li, .infohelp, .infowarn  {
+     font-weight: normal !important;
+     font-size: 11pt !important;
+} 
+
+.tab, .tab2 {
+     font-size: 11pt;
+     font-weight: normal;
+}
+
+.tab2 {
+     color: #222;
+}
+
+#config_service p.infohelp, #config_clients p.infohelp, #config_clients p.infowarn, #config_clients p#pluginconfig, #config_tunnels p.infohelp,
+p#enablefullstats {
+     margin-top: 12px;
+}
+
+#config_family p.infohelp {
+     margin-bottom: 12px;
+}
+
+#jardump td, #jardump td tt {
+     font-size: 8.5pt !important;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/light/default.css b/installer/resources/themes/console/light/default.css
deleted file mode 100644
index d7934b1d5ea2ce58b46bfb1a441a434a52c1b09e..0000000000000000000000000000000000000000
--- a/installer/resources/themes/console/light/default.css
+++ /dev/null
@@ -1,432 +0,0 @@
-/* I2P Tunnel Manager Theme: Light */
-/* Description: Light blue highlights. */
-/* Author: dr|z3d */
-
-body {
-     margin: 0px;
-     padding: 0px;
-     text-align: center;
-     font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif;
-     color: #001;
-     font-size: 10pt;
-/* we've avoided Tantek Hacks so far,
-    ** but we can't avoid using the non-w3c method of
-    ** box rendering. (and therefore one of mozilla's
-    ** proprietry -moz properties (which hopefully they'll
-    ** drop soon).
- */
-     -moz-box-sizing: border-box;
-     -webkit-box-sizing: border-box;
-    background: #99f url(images/snowcamo.png);
-}
-
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
-     padding-top: 5px;
-}
-
-div {
-     -moz-box-sizing: border-box;
-     -webkit-box-sizing: border-box;
-}
-
-label {
-     margin: 0px 4px;
-     padding: 1px 10px 2px 0px;
-     float: left;
-     width: 120px;
-     height: 24px;
-     font-weight: normal;
-     text-align: right;
-     font-size: 8pt;
-     font-style: italic;
-     -moz-box-sizing: border-box;
-     -webkit-box-sizing: border-box;
-     line-height: 120%;
-     color: #101;
-}
-
-h4 {
-     font-size: 11pt;
-     font-weight: bold !important;
-     color: #115;
-     text-align: left;
-     border: 1px solid #115;
-     margin: 5px 0 15px 0;
-     padding: 5px 10px;
-     background: url(images/header.png) repeat-x center center;
-     letter-spacing: 0.07em;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     -khtml-box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-     box-shadow: 0 2px 1px 1px rgba(176, 176, 216, 0.4);
-}
-
-a {
-     text-decoration: none;
-}
-
-form {
-     margin: 0px;
-}
-
-textarea, input, select, button, a {
-     -moz-box-sizing: border-box;
-     -webkit-box-sizing: border-box;
-     font-size: 8.5pt;
-     float: left;
-     vertical-align: middle;
-}
-
-button {
-     float: none;
-     text-decoration: none;
-}
-
-textarea {
-     color: #003;
-     background: #fff;
-     border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-textarea:active {
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
-}
-
-br {
-     clear: left;
-}
-
-div.statusNotRunning {
-     float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #d00;
-     background: url('images/console_status_stopped.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-div.statusRunning {
-   float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #0b0;
-     background: url('images/console_status_running.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-div.statusStarting {
-     float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #339933;
-     background: url('images/console_status_starting.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-hr {
-     display: none;
-}
-
-.separator, .subdivider {
-     clear: both;
-     height: 1px;
-     margin: 10px 0px 10px 0px;
-     border-bottom: 1px dotted #447;
-/*
-     display: none;
-*/
-}
-
-.subdivider {
-     border-bottom: 1px dotted #447;
-     padding: 5px 0;
-}
-
-.freetext {
-     width: 150px;
-     height: 24px;
-     border: 1px solid #447;
-     padding: 2px 3px;
-     margin: 4px 0 2px 0px;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     font-weight: bold;
-     background: #fff;
-     color: #003;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-/*
-     -moz-box-shadow: inset 0px -1px 1px 0px #fff;
-*/
-}
-
-.freetext:active {
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
-}
-
-.control, control:link, control:visited {
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     min-width: 60px;
-     font-weight: bold;
-     background: #ffe;
-     color: #001;
-     border: 1px outset #66a;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     text-decoration: none;
-}
-
-/*
-.control:active {
-     border: 1px inset;
-     background-color: #003;
-     color: #f60;
-     text-decoration: none;
-}
-*/
-
-.control:hover, control:visited:hover {
-     background-color: #f60;
-     color: #fff !important;
-     text-decoration: none;
-     border: 1px solid #f60 !important;
-     background: #f60 !important;
-     color: #fff;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff !important;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #fff !important;
-     box-shadow: inset 0px 0px 0px 1px #fff !important;
-}
-
-.control:link, control:visited {
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     min-width: 60px;
-     font-weight: bold;
-     color: #001;
-     border: 1px outset #66a;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: #ffe url(images/header.png) center center repeat-x;
-     text-decoration: none;
-}
-
-.panel {
-     width: 800px;
-     margin: 16px auto 16px auto;
-     overflow: hidden;
-     text-align: left !important;
-     font-size: 7pt;
-     background-color: #fff;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #002;
-     padding: 10px 20px;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
-     box-shadow: inset 0px 0px 1px 1px #bbf;
-    background: none repeat scroll 0 0 #EEEEFF;
-    background: #fff url(images/magic.png);
-    border: 1px solid #444477;
-    color: #000011;
-}
-
-.iframed .panel {
-     margin: 16px auto -8px auto !important;
-}
-
-.iframed .panel.iframed {
-     margin: 0 auto -8px auto !important;
-}
-
-.panel .footer {
-     float: right;
-     padding: 4px;
-}
-
-.toolbox {
-     float: right;
-}
-
-.rowItem {
-     width: 750px;
-     float: left;
-     margin: 2px 0;
-}
-
-.comment {
-     font-weight: bold;
-     display: block;
-     padding: 2px 10px 0 20px;
-     text-align: left;
-}
-
-.text {
-     height: 24px;
-     width: 150px;
-     padding: 0 0 0 2px;
-     float: left;
-     margin: 0;
-     font-size: 8.5pt !important;
-     font-weight: bold;
-}
-
-.accessKey {
-     text-decoration: underline;
-}
-
-#globalOperationsPanel {
-     background-color: #fff;
-     border: 1px solid #003;
-     padding: 5px 20px 11px 10px;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f00;
-     -moz-box-shadow: inset 0px 0px 1px 0px #f60;
-     background: #fff url(images/magic.png);
-     border: 1px solid #444477;
-     color: #613;
-}
-
-#globalOperationsPanel .control {
-     min-width: 120px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-}
-
-#globalOperationsPanel .control:link {
-     min-width: 120px;
-}
-
-
-globalOperationsPanel .control:link {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #bbbbff;
-     color: black;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: #ffe url(images/header.png) 0 0 repeat-x !important;
-}
-
-
-globalOperationsPanel .control:visited {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #ffe;
-     color: black;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: url(images/header.png) 0 0 repeat-x !important;
-}
-
-globalOperationsPanel .control:hover {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #003;
-     color: #f60;
-     border: 1px outset #fff;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: url(images/header_on.png) 0 0 repeat-x !important;
-}
-.header {
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-select {
-     background-color: #fff;
-     color: #003;
-     margin: 4px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-     border: 1px solid #447;
-     padding: 3px 3px 3px 0;
-     min-width: 270px;
-     font-size: 8pt;
-     max-height: 24px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-select:active {
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
-}
-
-a:link {
-     color: #359;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
-}
-
-a:visited {
-     color: #218;
-     text-decoration: none;
-     font-weight: bold;
-}
-
-a:hover {
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
-}
-
-a:active {
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
-}
diff --git a/installer/resources/themes/console/light/i2ptunnel.css b/installer/resources/themes/console/light/i2ptunnel.css
index d5c43d37e289d275141c2d46d5112f1ba98992c3..f470cc09eb6b2f1b613a17e16402a082ca7d7419 100644
--- a/installer/resources/themes/console/light/i2ptunnel.css
+++ b/installer/resources/themes/console/light/i2ptunnel.css
@@ -1,158 +1,860 @@
-/* I2P Tunnel Edit Page
-*/
+/* I2P Tunnel Manager Theme: Light */
+/* Description: Light blue highlights. */
+/* Author: dr|z3d */
 
-#tunnelEditPage input {
-     width: 560px;
+body {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     color: #333;
+     font-size: 10pt;
+     background: #a4a4cb url(images/tile2.png);
+     background-size: 32px 32px;
 }
 
-#tunnelEditPage select {
-     width: 300px;
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+     padding-top: 5px;
 }
 
-#tunnelEditPage option [ selected ] {
-     color: green;
+::selection {
+     background: #27377f !important;
+     color: white;
 }
 
-#tunnelEditPage #targetField, #tunnelEditPage #accessField, #tunnelEditPage #optionsField {
-     height: 48px;
-     width: 150px;
+::-moz-selection {
+     background: #27377f !important;
+     color: white;
 }
 
-#tunnelEditPage #tunnelOptionsField {
-     height: 96px;
-     width: 150px;
+div {
+     -moz-box-sizing: border-box;
+     -webkit-box-sizing: border-box;
 }
 
-#tunnelEditPage #targetField label, #tunnelEditPage #accessField label, #tunnelEditPage #tunnelOptionsField label, #tunnelEditPage #optionsField label{
-     height: 48px;
-     width: 150px;
+a {
+     text-decoration: none;
 }
 
-#tunnelEditPage #reachField, #tunnelEditPage #hostField, #tunnelEditPage #depthField, #tunnelEditPage #countField, #tunnelEditPage #optionsHostField {
-     width: 304px;
-     margin-right: 4px;
+form {
+     margin: 0;
 }
 
-#tunnelEditPage #accessListField {
-     width: 434px;
-     margin-right: 4px;
+input[type="checkbox"], input[type="radio"] {
+     vertical-align: middle;
+     min-width: 16px;
+     min-height: 16px;
+     margin: 0;
 }
 
-#tunnelEditPage #portField, #tunnelEditPage #optionsPortField, #tunnelEditPage #backupField, #tunnelEditPage #varianceField {
-     width: 140px;
+textarea, input, select, button {
+     font-size: 9pt;
+     vertical-align: middle;
 }
 
-#tunnelEditPage #reachField label, #tunnelEditPage #hostField label, #tunnelEditPage #portField label, #tunnelEditPage #optionsHostField label, #tunnelEditPage #optionsPortField label, #tunnelEditPage #depthField label, #tunnelEditPage #countField label, #tunnelEditPage #backupField label, #tunnelEditPage #varianceField label {
-     text-align: left;
+button {
+     float: none;
+     text-decoration: none;
 }
 
-#tunnelEditPage #otherField label {
-     width: 300px;
+button, input[type="submit"], input[type="reset"], a.control {
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-size: 9pt;
+}
+
+textarea {
+     color: #333;
+     background: #fff;
+     border: 1px solid #999;
+     border-radius: 2px;
+     resize: none;
+     box-shadow: inset 2px 2px 1px #ccc;
+}
+
+textarea:focus {
+     box-shadow: inset 0 0 0 1px #89f;
+     color: #111;
+}
+
+textarea#statusMessages {
+     width: 99%;
+     width: calc(100% - 8px);
+     border-radius: 0;
+     padding: 2px 4px;
+     color: #070;
+     border: none;
+     box-shadow: none;
+}
+
+br {
+     clear: left;
+}
+
+div.statusNotRunning {
+     float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #d00;
+     background: url('images/console_status_stopped.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div.statusRunning {
+   float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #0b0;
+     background: url('images/console_status_running.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div.statusStarting {
+     float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #339933;
+     background: url('images/console_status_starting.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+hr {
+     display: none;
 }
 
-#tunnelEditPage #reachableByOther, #tunnelEditPage #tunnelDepth, #tunnelEditPage #tunnelQuantity, #tunnelEditPage #targetHost, #tunnelEditPage #clientHost {
+.freetext {
+     width: 150px; 
+     border: 1px solid #999;
+     padding: 4px;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     background: #fff;
+     color: #333;
+     border-radius: 2px;
+     box-shadow: inset 2px 2px 1px #ccc;
+}
+
+.freetext:focus {
+     box-shadow: 0 0 1px #89f;
+     color: #111;
+}
+
+.freetext[readonly], .freetext[readonly]:focus {
+     background: #ddd;
+     box-shadow: inset 2px 2px 1px #ccc;
+     color: #333;
+}
+
+#clientHost {
      width: 300px;
 }
 
-#tunnelEditPage #port, #tunnelEditPage #targetPort, #tunnelEditPage #clientPort, #tunnelEditPage #tunnelBackupQuantity, #tunnelEditPage #tunnelVariance {
+#clientPort {
+     width: 100px;
+}
+
+.control, .control:link, .control:visited {
+     text-align: center;
+     white-space: nowrap;
+     text-decoration: none;
+     font-style: normal;
+     font-weight: normal;
+     color: #333;
+     border: 1px solid #999;
+     border-radius: 2px;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #ccc);
+/*     -webkit-filter: drop-shadow(0 0 1px #ccc); */
+     box-sizing: border-box;
+     margin: 2px 4px !important;
+     min-width: 70px !important;
+     padding: 4px 8px;
+}
+
+.control:hover, .control:focus {
+     text-decoration: none;
+     color: #111;
+     border: 1px solid #f60 !important;
+     background: #ddd;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     box-shadow: inset 0 0 0 1px #fff !important;
+}
+
+.control:active {
+     box-shadow: inset 2px 2px 1px #999 !important;
+}
+
+a.control {
+     display: inline-block; 
+     padding: 5px 8px !important;
+}
+
+.iframed .panel.iframed {
+     margin: 0 auto -8px auto !important;
+}
+
+.panel {
+     width: calc(100% - 14px);
+     max-width: 1200px;
+     margin: 8px auto;
+     min-width: 450px;
+     overflow: hidden;
+     text-align: left !important;
+     border-radius: 2px;
+     padding: 0 10px 10px;
+     box-shadow: inset 0 0 1px #999;
+     background: #fff;
+     background: linear-gradient(to right, #fff 0%, rgba(247, 248, 255, 0.5), #fff), linear-gradient(to bottom, #efefff, #fff, #efefff);
+     border: 1px solid #447;
+}
+
+.iframed .panel {
+     border: none;
+     background: none;
+     box-shadow: none;
+     padding: 0;
+     margin: 16px auto -8px auto !important;
+     width: 100%;
+}
+
+select {
+     background: #fff;
+     color: #333;
+     margin: 4px !important;
+     font-family: "Droid Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px solid #999;
+     padding: 3px 3px 3px 0;
+     min-width: 140px;
+     font-size: 9pt;
+     border-radius: 2px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     filter: drop-shadow(0 0 1px #ccc);
+}
+
+select:hover {
+     color: #111;
+}
+
+select:focus {
+     box-shadow: 0 0 1px #89f;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     -moz-appearance: none;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 16px 4px 4px;
+}
+
+select:hover, select:active {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+select:focus {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: 0 0 1px #89f;
+}
+}
+
+a:link {
+     color: #359;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+     outline: none;
+}
+
+a:visited {
+     color: #218;
+     text-decoration: none;
+}
+
+a:hover, a:focus {
+     color: #f60;
+     text-decoration: none;
+}
+
+a:active {
+     color: #f30;
+}
+
+input[type="hidden"], input.default {
+     display: none;
+}
+
+h2, h3 {
+     padding: 6px 10px;
+     border: 1px solid #7778bf;
+     border-radius: 2px 2px 0 0;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin: 10px 0 -1px;
+     color: #31334f;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+/*
+h3 {
+     border-radius: 0;
+     margin-top: -1px;
+}
+*/
+
+.iframed #globalTunnelControl h2 {
+     margin-top: 2px;
+}
+
+.iframed #globalTunnelControl {
+     margin-bottom: -16px !important;
+}
+
+.panel table {
+     width: 100%;
+     border-collapse: collapse;
+     border: 1px solid #7778bf;
+     margin: 0;
+}
+
+th {
+     background: #447;
+     color: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%) !important;
+     color: #333;
+     padding: 5px;
+     border-top: 1px solid #7778bf;
+     border-bottom: 1px solid #7778bf;
+     font-size: 10pt;
+     color: #31334f;
+}
+
+th:first-child {
+     padding-left: 10px;
+}
+
+td {
+     border-top: 1px solid #7778bf;
+     vertical-align: middle;
+     padding: 4px 5px;
+}
+
+td.infohelp {
+     background: url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     background-size: 24px 24px;
+     background-position: 6px center;
+     padding: 10px 10px 10px 38px !important;
+     border: 1px solid #7778bf;
+}
+
+div[class^="status"] {
+     float: none;
+     font-size: 0 !important;
+     background-position: center center;
+     text-align: center;
+     margin: 0;
+     padding: 0;
+     width: 100%;
+     background-size: auto 16px;
+}
+
+/*
+#serverTunnels input, #serverTunnels .control,#serverTunnels select, #clientTunnels input, #clientTunnels .control, #clientTunnels select,
+#clientTunnelEdit input, #serverTunnelEdit .control
+ {
+     float: none;
+}
+
+#clientTunnelEdit td, #advancedClientTunnelOptions td, #serverTunnelEdit td {
+     width: 50% !important;
+}
+*/
+
+.tunnelConfig td {
+     width: 50%;
+}
+
+.tunnelConfig td > b {
+     min-width: 30px;
+     display: inline-block;
+}
+
+#clientTunnels tr, #serverTunnels tr {
+     background: #eef;
+}
+
+.tunnelProperties {
+     background: #fff !important;
+}
+
+.tunnelProperties:hover {
+     background: #ffd !important;
+     color: #111;
+}
+
+.newTunnel {
      text-align: right;
-     width: 80px;
+     border-top: 2px solid #7778bf !important;
+     padding: 5px !important;
+     background: #fff;
+}
+
+.newTunnel select, .newTunnel input, .newTunnel .control {
+     margin: 2px !important;
+}
+
+.newtunnel form {
+     width: 100%;
+     text-align: right;
+}
+
+.tunnelName {
+     width: 25%;
+     min-width: 150px;
+}
+
+.tunnelName a {
+     background: url(/themes/console/images/buttons/configure.png) left center no-repeat;
+     padding: 3px 3px 3px 20px !important;
 }
 
-#tunnelEditPage #shared, #tunnelEditPage #connectDelay, #tunnelEditPage #startOnLoad {
-     width: 16px;
+.tunnelName a:hover {
+     background: url(/themes/console/images/buttons/configure_hover.png) left center no-repeat;
 }
 
-#tunnelEditPage label {
-     width: 150px;
+.tunnelName a {
      font-weight: bold;
+}
+
+.tunnelType {
+     width: 25%;
+}
+
+.tunnelPreview {
+     text-align: left;
+}
+
+.tunnelPreview, .tunnelPort {
+     width: 15%;
+}
+
+.tunnelLocation, .tunnelInterface {
+     width: 20%;
+}
+
+.tunnelStatus {
+     text-align: center;
+     width: 10%;
+     min-width: 48px;
+}
+
+.tunnelControl {
+     width: 5%;
      text-align: right;
-     float: left;
+     white-space: nowrap;
+}
+
+th.tunnelControl {
+     text-align: center;
+}
+
+.buttons, .newTunnel {
+     text-align: right;
+     padding: 5px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff, #eef);
+     border-top: 1px solid #7778bf !important;
+}
+
+.buttons > * {
+     vertical-align: middle;
+}
+
+.tunnelDescriptionLabel, .tunnelDestinationLabel {
+     text-align: right;
+     min-width: 150px;
+     display: inline-block;
+     margin-right: 3px;
+     white-space: nowrap;
+}
+
+input {
+     float: none;
+     vertical-align: middle;
+}
+
+.tickbox {
+     vertical-align: middle;
+}
+
+#hostField, #leasesetKey, #userAgents {
+     width: 90% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
+#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
+     width: 100% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#oldName, #targetDestination, select#profile, select#connectionProfile {
+     min-width: 280px;
+     width: 30%;
+}
+
+/*
+select#profile, select#connectionProfile {
+     margin: 0 !important;
 }
-/* I2P Tunnel List Page
 */
 
-#tunnelListPage .rowItem {
-     width: 150px;
+#customOptions, #userAgents {
+     width: calc(100% - 10px) !important;
 }
 
-#tunnelListPage select {
-     min-width: 120px;
+#localDestination, textarea[name="accessList"], #hostField {
+     width: calc(100% - 5px) !important;
+     margin: 3px 0 !important;
 }
 
-#tunnelListPage textarea {
-     width: 100%;
-     height: 100px;
+#localDestination {
+     height: 30px !important;
+}
+
+#leasesetKey {
+     height: 24px !important;
+     vertical-align: middle;
      padding: 4px;
-     margin: 2px 0 12px 0;
-     background-color: #005;
-     color: #292;
-     font-family: "Lucida Console", "DejaVu Sans Mono", "Andale Mono", "Courier New", Courier, mono;
-     border: 1px solid #225;
-     font-size: 8pt !important;
+}
+
+.multiOption {
+     display: inline-block;
+     margin-right: 10px;
+     vertical-align: middle;
+}
+
+.multiOption#isServer {
+     background: url(/themes/console/images/server.png) left center no-repeat;
+     padding-left: 20px;
+}
+
+.multiOption#isClient {
+     background: url(/themes/console/images/client.png) left center no-repeat;
+     padding-left: 21px;
+}
+
+td#throttle {
+     padding: 0;
+}
+
+#throttler {
+     border: none;
+}
+
+#throttler th {
+     padding-left: 20px;
+}
+
+#throttler td {
+     width: 20%;
+}
+
+#throttler td:first-child {
+     text-align: right;
+     width: 20%;
+     white-space: nowrap;
+}
+
+#throttler tr:first-child th {
+     border-top: none;
+}
+
+td.blankColumn {
+     width: 20% !important;
+}
+
+#throttler tr:nth-child(odd) {
+     background: #f7f8ff;
+}
+
+#throttler tr:nth-child(even) {
+     background: #eef;
+}
+
+#throttler input[type="text"] {
+     width: 80px;
+}
+
+table {
+     background: #fff;
+}
+
+table#statusMessages textarea, table#statusMessages textarea:active {
+     margin: 0;
+     border: 0;
+     box-shadow: none;
+     height: 80px;
+     font-size: 9pt;
+}
+
+#tunnelMessages {
+     padding: 0;
+}
+
+.required:not(old) {
+     display: none;
+}
+
+input::-moz-placeholder {
+     color: #f00;
      font-weight: bold;
-     text-align: justify !important;
-     background: #efe url(images/magic.png);
-     -moz-box-shadow: 0 0 0px 1px #7f7;
-     -khtml-box-shadow: 0 0 0px 1px #7f7;
-     box-shadow: 0 0 0px 1px #7f7;
-     opacity: 0.9;
+     opacity: 1;
 }
 
-#tunnelListPage .footer .control {
-     margin-left: 2px;
-     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+::-webkit-input-placeholder {
+     color: #f00;
      font-weight: bold;
-     color: #001 !important;
+     opacity: 1;
+}
+
+input.tunnelName, input.tunnelDescription, #userAgents {
+     width: 80%;
+     min-width: 280px;
+     text-overflow: ellipsis; 
+}
+
+#websiteName, #privKeyFile, #targetHost, .host {
+     width: 30%;
+     min-width: 250px;
 }
 
-#tunnelListPage .footer .control:hover {
-     color: white !important;
+.port, .quantity, .period {
+     width: 80px;
 }
 
-#tunnelListPage .footer label {
+.username, .password {
+     width: 200px;
+}
+
+.username {
+     background: url(/themes/console/images/buttons/user.png) 3px center no-repeat;
+     padding-left: 22px; 
+}
+
+.password {
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat;
+     padding-left: 22px; 
+}
+
+.proxyList {
+     width: 40%;
+     min-width: 280px;
+}
+
+#notReady {
+     border: 1px solid #900;
+     padding: 30px;
+     background: #ffd;
+     margin: 30px auto;
+     width: 400px;
+     text-align: center;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #333);
+     -webkit-filter: drop-shadow(0 0 1px #333);
+     font-size: 11pt;
+     font-weight: bold;
+} 
+
+/* wizard specifics */
+
+#wizardPanel {
+    font-size: 10pt;
+}
+
+#wizardTable {
+     padding: 0;
+}
+
+#wizardPanel .freetext {
+     margin-left: 0 !important;
+}
+
+#wizardTunnelTypes td:first-child, #wizardSummary td:first-child {
+     font-weight: bold;
+     width: 10%;
+     min-width: 150px;
      text-align: right;
-     height: 24px;
-     width: 360px;
-     float: left;
-     margin-top: 6px;
-     margin-right: 5px;
+     white-space: nowrap;
+}
+
+#wizardTunnelTypes td:last-child {
+     text-align: justify;
+     padding: 5px 10px 5px 5px;
+}
+
+#wizardTunnelTypes select {
+     margin-left: 0 !important;
+}
+
+#wizardTunnelTypes, #wizardSummary {
+     border: none;
+     margin-top: -1px;
+}
+
+/*
+#wizardPanel tr:nth-child(n+2) {
+     background: #eef;
+}
+
+#wizardPanel tr:nth-child(2n+2) {
+     background: #f7f8ff;
 }
-/* Use Leary and Langridge content replacement methods (LIR)
-** to embed accessibility information into the document.
-** Should allow the lists to be rendered nicely by
-** screen readers. (and lynx!)
 */
 
-#tunnelListPage label {
-     height: 0;
-     width: 0;
-     overflow: hidden;
+#wizardTunnelTypes tr:nth-child(even), #wizardSummary tr:nth-child(even) {
+     background: #eef;
 }
 
-#tunnelListPage .nameHeaderField label, #tunnelListPage .portHeaderField label, #tunnelListPage .typeHeaderField label, #tunnelListPage .interfaceHeaderField label, #tunnelListPage .targetHeaderField label, #tunnelListPage .previewHeaderField label, #tunnelListPage .statusHeaderField label {
-     text-align: left;
-     width: 150px;
-     height: 28px;
-     float: left;
-     padding-top: 4px;
+#wizardTunnelTypes tr:nth-child(odd), #wizardSummary tr:nth-child(odd) {
+     background: #f7f8ff;
 }
 
-#tunnelListPage .targetField, #tunnelListPage .targetField .text, #tunnelListPage .targetHeaderField, #tunnelListPage .targetHeaderField label {
-     width: 300px;
+#wizardTunnelTypes tr:last-child {
+     background: #fff;
 }
 
-#tunnelListPage .descriptionField, #tunnelListPage .destinationField {
-     width: 800px;
+#wizardPanel #name, #wizardPanel #description {
+     width: 300px !important;
+}  
+
+#wizardPanel p {
+     padding: 5px;
+     margin: 0;
+     text-align: justify;
+}
+
+#wizardPanel input::-moz-placeholder {
+     color: #999;
+     font-weight: normal;
+}
+
+#wizardPanel ::-webkit-input-placeholder {
+     color: #999;
+     font-weight: normal;
 }
 
-#tunnelListPage .descriptionField .text, #tunnelListPage .destinationField .text {
-     width: 580px;
+#wizardPanel .options {
+     padding: 10px;
 }
 
-#tunnelListPage .descriptionField label, #tunnelListPage .destinationField label {
+#wizardPanel .tag {
+     width: 10%;
+     min-width: 150px;
+     white-space: nowrap;
+     display: inline-block;
+     font-weight: bold;
      text-align: right;
-     width: 150px;
-     height: 28px;
-     float: left;
+     margin-right: 3px;
+}
+
+#wizardPanel select {
+     min-width: 160px;
+     margin-left: 0 !important;
+}
+
+#wizardPanel .infohelp p { /* wizard complete - advanced options info */
+     margin: 0;
+     padding: 0;
+}
+
+/* more space */
+
+.tunnelConfig td, td {
+     border-top: 1px inset #cfd1ff;
+     padding: 5px;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     margin: 5px 3px 5px 5px;
+}
+
+.freetext, .tunnelConfig textarea, #customOptions, #userAgents, #hostField  {
+     margin: 5px !important;
+}
+
+.multiOption {
+     margin: 5px 10px 5px 5px;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
+     margin: 5px !important;
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig select, select#profile select#connectionProfile {
+     margin: 5px !important;
+}
+
+textarea[name="accessList"], #hostField, #localDestination, .authentication {
+     width: calc(100% - 15px) !important;
+     margin: 5px !important;
+}
+
+.authentication {
+     height: 30px !important;
+}
+
+#customOptions, #userAgents, #leasesetKey {
+     width: calc(100% - 20px) !important;
+}
+
+.tunnelConfig td > b {
+     min-width: 30px;
+     display: inline-block;
+     margin-left: 5px;
+}
+
+.tunnelDestination {
+     padding-bottom: 1px !important;
+     border-bottom: 1px solid transparent !important;
+}
+
+#clientTunnels .tunnelDescription {
+     padding-top: 1px !important;
+}
+
+.tunnelDestination b, .tunnelDescription b {
+     color: #444;
+}
+
+td.tunnelDestination, td.tunnelDescription {
+     background: linear-gradient(to right, #fff 50%, #eef);
+}
+
+#oldDestFile {
+    margin-left: 5px;
+}
+
+#tunnelRegistration td b {
+     margin-left: 5px;
 }
+/* end more space */
\ No newline at end of file
diff --git a/installer/resources/themes/console/light/images/application-icon.png b/installer/resources/themes/console/light/images/application-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..974a09bde70959bd3d81c8c4521a685411aad45c
Binary files /dev/null and b/installer/resources/themes/console/light/images/application-icon.png differ
diff --git a/installer/resources/themes/console/light/images/application.png b/installer/resources/themes/console/light/images/application.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7f93ec1e9f1b383fe4c6a3a8159b527683e1f0c
Binary files /dev/null and b/installer/resources/themes/console/light/images/application.png differ
diff --git a/installer/resources/themes/console/light/images/confirmed.png b/installer/resources/themes/console/light/images/confirmed.png
new file mode 100644
index 0000000000000000000000000000000000000000..46c0a29e88069142464d43c35d6059004b49eb33
Binary files /dev/null and b/installer/resources/themes/console/light/images/confirmed.png differ
diff --git a/installer/resources/themes/console/light/images/dropdown.png b/installer/resources/themes/console/light/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..317d64e08161d30d86c3b2e2b44dfb0c062b7889
Binary files /dev/null and b/installer/resources/themes/console/light/images/dropdown.png differ
diff --git a/installer/resources/themes/console/light/images/dropdown_hover.png b/installer/resources/themes/console/light/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec983e14ae70dcf0f3a7f64ec47f533d55a8e7f5
Binary files /dev/null and b/installer/resources/themes/console/light/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/console/light/images/errortriangle.png b/installer/resources/themes/console/light/images/errortriangle.png
deleted file mode 100644
index f1730ccbf6280167680a8ac21b942faa282a7f21..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/errortriangle.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/eye.png b/installer/resources/themes/console/light/images/eye.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4d182adbf4ed1140b7c715517e07802758ddeb5
Binary files /dev/null and b/installer/resources/themes/console/light/images/eye.png differ
diff --git a/installer/resources/themes/console/light/images/flower.png b/installer/resources/themes/console/light/images/flower.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e0d080604d72514c65212034588b7a25ab62aa6
Binary files /dev/null and b/installer/resources/themes/console/light/images/flower.png differ
diff --git a/installer/resources/themes/console/light/images/header_on.png b/installer/resources/themes/console/light/images/header_on.png
deleted file mode 100644
index 8137db9ae1fa1107abbb18cc8492843b7489af33..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/header_on.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/inbox.png b/installer/resources/themes/console/light/images/inbox.png
new file mode 100644
index 0000000000000000000000000000000000000000..04723d5c1e067ef5a58123d7092aa4039b5fb1f1
Binary files /dev/null and b/installer/resources/themes/console/light/images/inbox.png differ
diff --git a/installer/resources/themes/console/light/images/info.png b/installer/resources/themes/console/light/images/info.png
deleted file mode 100644
index 13f25a9aefc55baaa710c82cf6158c38f890e8e4..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/info.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/itile.png b/installer/resources/themes/console/light/images/itile.png
deleted file mode 100644
index 2031a4e1e2a9b0673b6e29e246ae5f5e2919f234..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/itile.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/magic.png b/installer/resources/themes/console/light/images/magic.png
deleted file mode 100644
index 5568aaac261e0a82f59cc17e8f66aa84614a60ab..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/magic.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/magnet.png b/installer/resources/themes/console/light/images/magnet.png
new file mode 100644
index 0000000000000000000000000000000000000000..08e6ffc9fd6d404b94bc3e61461a11af6abf8591
Binary files /dev/null and b/installer/resources/themes/console/light/images/magnet.png differ
diff --git a/installer/resources/themes/console/light/images/mail_black.png b/installer/resources/themes/console/light/images/mail_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..790f7503f613f502f24fca98f7cbe4e0b230941d
Binary files /dev/null and b/installer/resources/themes/console/light/images/mail_black.png differ
diff --git a/installer/resources/themes/console/light/images/move_bottom.png b/installer/resources/themes/console/light/images/move_bottom.png
index bc0ecd8d7ac712a134ad848f9a4b7e849f71e3c3..d4e6c53da8509e06e7d5a4132c4b6c7adba6960d 100644
Binary files a/installer/resources/themes/console/light/images/move_bottom.png and b/installer/resources/themes/console/light/images/move_bottom.png differ
diff --git a/installer/resources/themes/console/light/images/move_down.png b/installer/resources/themes/console/light/images/move_down.png
index 4c9d311de0a5e96a4a92de63e508b5507ec43a32..b24aa15ceb7b313f17702a2afd6998fb80bfb2fa 100644
Binary files a/installer/resources/themes/console/light/images/move_down.png and b/installer/resources/themes/console/light/images/move_down.png differ
diff --git a/installer/resources/themes/console/light/images/move_top.png b/installer/resources/themes/console/light/images/move_top.png
index 6a05a35ea8be9814f640f996d56e1046d4291c3f..82c1c30aae1d73b22e8190d4638bc7172f67a4a4 100644
Binary files a/installer/resources/themes/console/light/images/move_top.png and b/installer/resources/themes/console/light/images/move_top.png differ
diff --git a/installer/resources/themes/console/light/images/move_up.png b/installer/resources/themes/console/light/images/move_up.png
index 47f79c10888302794696c28e111cd79b16b9930d..006625e0bec57154abe421867929783b02d2111c 100644
Binary files a/installer/resources/themes/console/light/images/move_up.png and b/installer/resources/themes/console/light/images/move_up.png differ
diff --git a/installer/resources/themes/console/light/images/news.png b/installer/resources/themes/console/light/images/news.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0ac1838f9b0b46013a864de623fc3042f1406a1
Binary files /dev/null and b/installer/resources/themes/console/light/images/news.png differ
diff --git a/installer/resources/themes/console/light/images/server.png b/installer/resources/themes/console/light/images/server.png
new file mode 100644
index 0000000000000000000000000000000000000000..05cd768e88195e2d24f22f19f6b40155f3aa6317
Binary files /dev/null and b/installer/resources/themes/console/light/images/server.png differ
diff --git a/installer/resources/themes/console/light/images/snowcamo.png b/installer/resources/themes/console/light/images/snowcamo.png
deleted file mode 100644
index a536c222542846f4df3949f666f745c9c3aad927..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/snowcamo.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/tabletitlelight.png b/installer/resources/themes/console/light/images/tabletitlelight.png
deleted file mode 100644
index 9c9092e7372739d8bd1deeabd0c125a81dc29c6e..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/light/images/tabletitlelight.png and /dev/null differ
diff --git a/installer/resources/themes/console/light/images/thumbnail.png b/installer/resources/themes/console/light/images/thumbnail.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc396a4b13ce96aeff33f24d140091ea85245505
Binary files /dev/null and b/installer/resources/themes/console/light/images/thumbnail.png differ
diff --git a/installer/resources/themes/console/light/images/tile2.png b/installer/resources/themes/console/light/images/tile2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5da7a46c54f5db60ec0e800dcfcb353698579bb7
Binary files /dev/null and b/installer/resources/themes/console/light/images/tile2.png differ
diff --git a/installer/resources/themes/console/light/images/warn.png b/installer/resources/themes/console/light/images/warn.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a5878068ea1539ae2fc6ffb7e453d9192aec804
Binary files /dev/null and b/installer/resources/themes/console/light/images/warn.png differ
diff --git a/installer/resources/themes/console/light/mobile.css b/installer/resources/themes/console/light/mobile.css
index 2a62818806f496b589ccfb79b846de9ff523e4ad..958ce9bf5629de431a6588a78a53340fe449e8eb 100644
--- a/installer/resources/themes/console/light/mobile.css
+++ b/installer/resources/themes/console/light/mobile.css
@@ -1,6 +1,8 @@
+/* Console Theme "Light" - Mobile Override */
+
 div.routersummaryouter {
      float: none;
-     margin: 0 10px 10px 0;
+     margin: 0 !important;
      position: relative;
      width: auto;
 }
@@ -8,19 +10,67 @@ div.routersummaryouter {
 div.routersummary {
      float: none;
      width: auto;
+     max-width: 600px;
+     margin: 0 auto -6px;
+}
+
+#xhr {
+     margin-top: 9px !important;
 }
 
-div.routersummary table {
+.routersummary hr:first-child {
+     margin-bottom: 11px;
+}
+
+.routersummary td, .routersummary h4, .routersummary a {
+     font-size: 9pt !important;
+}
+
+div.routersummary table, table[id^="sb_"] {
      width: 100% !important;
+     margin: -7px 0 -4px !important;
+}
+
+table[id^="sb_"] td {
+     padding: 3px 2px;
+}
+
+table[id^="sb_"] tr:nth-child(even) td {
+     background: #eef;
+     background: rgba(238, 238, 255, 0.4);
+}
+
+table[id^="sb_"] tr:nth-child(odd) td {
+     background: #ddf;
+     background: rgba(221, 221, 255, 0.4);
+}
+
+#sb_services {
+     text-align: center;
+}
+
+#sb_services a {
+     display: inline-block;
+     width: 24% !important;
+     min-width: 100px;
+     box-sizing: border-box;
+     white-space: nowrap;
+     border: none !important;
+}
+
+.routersummary button[type="submit"], .routersummary button[type="cancel"] {
+     margin: 5px 5px 3px !important;
+     padding: 8px 5px !important;
+     min-width: 120px !important;
 }
 
 h1 {
-     margin: 0 10px 10px 0;
+     margin: 14px 10px -1px 0;
      min-width: 0;
 }
 
 div.news {
-     margin: 0 10px 5px 0;
+     margin: 0 10px -11px 0;
      min-width: 0;
 }
 
@@ -28,3 +78,7 @@ div.main {
      margin: 10px 10px 20px 0;
      min-width: 0;
 }
+
+.confignav {
+     padding-bottom: 10px !important;
+}
diff --git a/installer/resources/themes/console/midnight/console.css b/installer/resources/themes/console/midnight/console.css
index 383697365ef23322a21df685b658590790c58ac6..18ab2ccfc9372f406ec82ef2705ad421abae77bf 100644
--- a/installer/resources/themes/console/midnight/console.css
+++ b/installer/resources/themes/console/midnight/console.css
@@ -1,18 +1,21 @@
 /* I2P Theme: Midnight */
-/* Description: Minimalist Midnight Blue, based on Classic theme. */
+/* Description: Dark blue with chrome highlights */
+/* Thanks to Florian Kuhlmann for the hatface images. [http://www.flickr.com/photos/floriankuhlmann/] */
+/* Additional thanks to NASA for the planet earth image */
 /* Author: dr|z3d */
 
-
 body {
-     margin: 2px 0 0 5px;
+     margin: 5px 0 0 0;
      padding: 0;
-     text-align: left;
-     background: #000;
-     color: #eef;
-     font: 8pt/137% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     text-align: center;
+     background: #001;
+     background: linear-gradient(to bottom, #001, #000);
+     background-size: auto 2px;
+     color: #c9ceff;
+     font: 8.5pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Verdana, Helvetica, sans-serif;
 }
 
-.hide {
+.hide, .hideme {
      display: none;
 }
 
@@ -20,1413 +23,5033 @@ div.clearer {
      clear: left;
      height: 0;
      line-height: 0;
+     margin-bottom: -16px;
 }
 
-img {
-     border: none;
+::selection {
+     background: #22296f !important;
+     color: white;
 }
 
-pre {
-     overflow: auto;
-     font-size: 8pt !important;
-     width: 95%;
-     padding-top: 10px;
+::-moz-selection {
+     background: #22296f !important;
+     color: white;
 }
 
-/* http proxy error sidepanel */
+/* standard buttons and inputs */
 
-div.logo {
-     float: left;
-     position-relative: top 15px ;
-     width: 200px;
-     margin: 0 0 0 20px;
-     padding: 10px 5px;
+button, input[type="submit"], input[type="reset"], select {
+     filter: drop-shadow(0 0 1px #115);
+     -webkit-filter: drop-shadow(0 0 1px #115);
+     box-shadow: inset 0 0 0 1px #000020;
+}
+
+button, button:visited, input[type="submit"], input[type="reset"] {
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Verdana, Helvetica, sans-serif;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f;
+     border-radius: 2px;
+     padding: 5px 4px;
+     text-decoration: none;
+     margin: 2px 3px;
      text-align: center;
-     border: 1px solid #99f;
-     background-color: #00000A;
-     -moz-box-shadow: inset 0 0 0 2px #00000A;
-     -khtml-box-shadow: inset 0 0 0 2px #00000A;
-     border-radius: 3px;
+     vertical-align: middle;
+     min-width: 75px;
+     background: #000;
+     background: linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%);
+     color: #443da0;
 }
 
-div.logo hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0 solid #99f;
-     margin: 8px -5px;
+button:hover, button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
+     border: 1px solid #652787;
+     box-shadow: inset 0 1px 1px 0 #c9ceff;
+     background: #000;
+     color: #652787;
+     cursor: pointer;
+}
+
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     border: 1px solid #652787;
+     background: #652787;
+     color: #c9ceff;
+     box-shadow: inset 0 0 0 1px #000;
 }
 
-div.logo a:link, div.logo a:visited {
-     text-shadow: 0 0 1px rgba(0, 0, 32, 0.3);
+:focus, :active, :checked {
+     outline: none !important;
 }
 
-div.logo a:active {
-     text-shadow: 0 0 1px rgba(255, 96, 0, 0.5);
-     color: #f60;
+input {
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f; 
+     background: #000;
+     color: #443da0;
+     margin: 5px;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Verdana, Helvetica, sans-serif;
+     padding: 3px 2px;
+     text-decoration: none;
+     min-width: 110px;
+     border-radius: 2px;
 }
 
-div.logo a:hover {
-     text-shadow: 0 0 1px rgba(128, 0, 0, 0.5);
-     color: #f90;
+input:hover, input:focus {
+     background: #000;
+     color: #652787;
+     border: 1px solid #652787;
+     box-shadow: inset 0 1px 1px 0 #c9ceff;
+     cursor: pointer;
 }
 
-/* http proxy error warning */
+input:active {
+     background: #000;
+     color: #c9ceff;
+     border: 1px solid #652787;
+     box-shadow: inset 0 0 0 1px #000;
+}
 
-div.warning {
-     margin: 25px 25px 15px 260px;
-     padding: 0 20px 20px 75px;
-     background: #001;
-     border: 1px solid #99f;
+input[type=text], input[type=password] {
+     background: #000;
+     color: #c9ceff;
+     margin: 5px 10px;
+     padding: 4px 2px;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Verdana, Helvetica, sans-serif;
+     border: 1px solid #443da0 !important;
+     text-decoration: none;
+     border-radius: 2px;
+     box-shadow: inset 1px 1px 1px 0 #000;
+     cursor: text;
+}
+
+textarea {
+     color: #c9ceff;
+     padding: 5px;
+     margin: 10px;
+     border-radius: 2px;
+     font: 8.5pt "Droid Sans Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     min-height: 100px;
+     min-width: 97%;
+     width: calc(100% - 15px);
      text-align: left;
-     color: inherit;
-     background-image:url("../images/itoopie_sm.png");
-     background-position: 12px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0 0 0 1px #f60;
-     -khtml-box-shadow: inset 0 0 0 1px #f60;
-     border-radius: 3px 3px 0 0;
 }
 
-div.warning a:link {
-     color: #f60;
-     text-shadow: 0 0 1px rgba(255, 96, 0, 0.3);
+textarea[cols="70"], textarea[name="levels"] {
+     width: calc(100% - 20px);
 }
 
-div.warning a:visited {
-     color: #f90;
+button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
 }
 
-div.warning a:hover {
-     color: #f90;
-  text-shadow: 0 0 1px rgba(255, 128, 0, 0.5);
+input[type=text], input[type=password], textarea {
+     color: #7670c2 !important;
+     background: linear-gradient(to bottom, #000 0%, #000019 100%);
+     box-shadow: inset 0 0 3px 3px #000;
+     border: 1px solid #3e3f8f;
+     padding: 4px;
 }
 
-div.warning a:active {
-     color: #900;
+input[type=text]:focus, input[type=password]:focus, textarea:focus {
+     color: #c9ceff !important;
+     background: #000;
+     border: 1px solid #443da0;
+     filter: drop-shadow(0 0 1px #99f);
+     -webkit-filter: drop-shadow( 0 0 1px #99f);
+     transition: filter ease 0.3s 0s; 
 }
 
-div.warning hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0 solid #99f;
-     margin: 10px 0;
+input[type=image] {
+     min-width: 0;
 }
 
-div.warning h3 {
-     border: 0;
-     border-bottom: 1px solid #99f;
-     padding-bottom: 10px;
-     padding-left: 0;
-     text-transform: capitalize;
-     font-size: 11pt;
-     background: none !important;
-     border-radius: 0 !important;
+input[type="checkbox"] {
+     min-width: 16px !important;
 }
 
-.warning p {
-     padding: 0;     
+input[type="checkbox"], .optbox {
+     min-width: 16px !important;
+     vertical-align: sub;
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
 }
 
-.warning b {
-     font-size: 8.5pt;
+input[type="checkbox"]:hover, .optbox:hover, input[type="checkbox"]:focus, .optbox:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%) drop-shadow(0 0 3px #99f);
 }
 
-.proxyfooter {
-     border: 1px solid #99f;
-     margin: -16px 25px 20px 260px;
-     border-radius: 0 0 3px 3px;
-     background: #002;  
+input[type="file"]  {
+     box-shadow: none;
+     border: none;
+     background: none;
+     color: #c9ceff;
+     padding: 0;
+     cursor: pointer;
+     margin: 5px 10px;
 }
 
-.proxyfooter p {
-     font-size: 7pt;
+input[type="file"]:hover, input[type="file"]:active {
+     color: #652787;
+} 
+
+input[name="refreshInterval"] {
+     margin-right: 3px;
+     margin-left: 0;
+     width: 40px;
      text-align: right;
-     padding: 0 5px;
-     margin: 3px 3px 5px 3px;
-     line-height: 110%;
 }
 
-.proxyfooter i {
-     font-style: normal !important;     
+input:disabled {
+     cursor: default;
 }
-/* console error messages */
 
-div.sorry {
-     padding: 20px 20px 20px 70px;
-     background: #003;
-     margin: 0 5px 0 200px;
-     border: 1px solid #99f;
-     border-top: 0;
-     text-align: justify;
-     -moz-box-shadow: inset 0 0 0 1px #d00;
-     word-wrap: break-word;
-     font-weight: bold;
-     color: #eef;
-     background-image: url("../images/errortriangle.png");
-     background-position: 15px center;
-     background-repeat: no-repeat;
-     border-radius: 0 0 3px 3px;
+input[type="text"]:disabled, input[readonly], input[readonly]:focus {
+     color: #443da0 !important;
+     filter: none;
 }
 
-div.sorry hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0;
-     margin: 10px 0;
+input[class="check"] { /* nudge "check for updates" button into alignment on /configupdate */
+     margin-left: 10px !important;
 }
 
-div.toolbar {
-     margin: 0em 0em 2em 0em;
+select {
+     background: #000;
+     color: #443da0;
+     margin: 5px 10px;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f; 
+     border-radius: 2px;
+     min-width: 110px;
+     font: 8pt "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Verdana, Helvetica, sans-serif;
      font-weight: bold;
-     display: none !important;
+     padding: 3px 16px 3px 2px;
+     cursor: pointer;
+     overflow: hidden;
+     text-overflow: ellipsis;
 }
 
-div.routersummaryouter {
-     float: left;
-     width: 200px;
-     margin: 0 0 5px 0;
-     padding: 0;
-     border: 0;
-     clear: left; /* fixes a bug in Opera */
-     position: absolute;/* so no interference with /home app icons */
+select:focus, select:hover {
+     color: #652787;
+     border: 1px solid #652787;
+     box-shadow: inset 0 1px 1px 0 #c9ceff;
 }
 
-div.routersummary {
-     background: #00000A;
-     width: 190px;
-     color: inherit;
-     margin: 0;
-     padding: 6px 1px 8px 1px;
-     text-align: center !important;
-     border: 1px solid #99f;
-     font-size: 8pt;
-     word-wrap: break-word;
-     font: 9pt/125%;
-     -moz-box-shadow: inset 0 0 0 1px #00000A;
-     border-radius: 3px;
+select option {
+     font-weight: normal;
+     font-size: 9.5pt !important;
+     box-shadow: inset 0 0 20px 20px #000;
 }
 
-div.routersummary input[type=text] {
-     text-align: right !important;
+select option:hover, select option:focus, select option:checked {
+     box-shadow: inset 0 0 20px 20px #114;
 }
 
-div.routersummary hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border-bottom: 0 solid #99f;
-     margin: 8px -1px 7px -1px;
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     -moz-appearance: none;
+     background: #000 url(images/dropdown.png) right center no-repeat !important;
 }
 
-div.routersummary hr:last-child {
-     display: none;
+img[src="dropdown.png"] {
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
 }
 
-div.routersummary h3 {
-     border: 0 solid #f00;
-     font-size: 8.5pt;
-     letter-spacing: 0.01em;
-     margin: -6px 0 -6px 0;
-     padding: 3px 0 2px;
-     background: #002;
-     text-transform: uppercase;
-     background: #002 url("images/titles.png") repeat-x !important;
-     background-position: center center !important;
+select:hover, select:active {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
 }
 
-div.routersummary h3 a, div.routersummary h4 a {
-     text-decoration: none;
-     line-height: 105%;
+select:focus {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
 }
 
-div.routersummary h4 {
-     border: 0 solid #f00;
-     border-bottom: 0 !important;
-     font-size: 7.5pt;
-     letter-spacing: 0.05em;
-     margin: -6px 0 -6px 0 !important;
-     padding: 5px 2px;
-     background: #000;
-     text-transform: capitalize;
-     text-decoration: none !important;
-     color: #2b2;
-     line-height: 100% !important;
+/* buttons (experimental) */
+
+input[type="submit"], input[type="reset"], button {
+     background-size: 14px 14px, 100% 100%;
+     filter: drop-shadow(0 0 1px #115);
+     -webkit-filter: drop-shadow(0 0 1px #115);
+     box-shadow: inset 0 0 0 1px #000020;
+     min-width: 0 !important;
 }
 
-div.routersummary ul {
-     text-align: left !important;
+input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
+     background-blend-mode: normal;
+     box-shadow: inset 0 1px 1px #bbf;
 }
 
-div.routersummary table {
-     border: 0;
-     text-align: center !important;
-     margin: -5px 0 5px 2px;
-     width: 186px !important;
-     overflow: hidden;
-     padding: 0 -12px;
-     background-image: none !important;
-     background-color: transparent !important;
+input[type="submit"]:active, input[type="reset"]:active, button:active {
+     background-blend-mode: luminosity !important;
+     box-shadow: inset 0 0 0 1px #000 !important;
+     box-shadow: inset 0 0 0 1px #000, inset 3px 3px 3px #000 !important;
 }
 
-div.routersummary a {
-     line-height: 105%;
+input.accept, button.accept {
+     background: url(/themes/console/images/buttons/yes.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.routersummary img:first-child {
-     opacity: 0.8;
+input.accept:hover, button.accept:hover, 
+input.accept:focus, button.accept:focus {
+     background: #000 url(/themes/console/images/buttons/yes.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary img:hover:first-child {
-     opacity: 1;
+input.accept:active, button.accept:active {
+     background: #652787 url(/themes/console/images/buttons/yes.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary table img {
-     opacity: 1 !important;
+input.accept[value^="Unban"], button.accept[value^="Unban"] {
+     background: url(/themes/console/images/buttons/unban.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.routersummary tr {
-     background-image: none !important;
-     background-color: transparent !important;
-     border: 0 !important;
+input.accept[value^="Unban"]:hover, button.accept[value^="Unban"]:hover, 
+input.accept[value^="Unban"]:focus, button.accept[value^="Unban"]:focus {
+     background: #000 url(/themes/console/images/buttons/unban.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary td:first-child {
-     max-width: 90px;
-     overflow: hidden;
+input.accept[value^="Unban"]:active, button.accept[value^="Unban"]:active {
+     background: #652787 url(/themes/console/images/buttons/unban.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.routersummary form {
-     margin: 0;
+input.accept[value^="Create"], button.accept[value^="Create"] {
+     background: url(/themes/console/images/buttons/create.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
-     
-     
-     
-div.newsheadings {
-     text-align: right;
-     margin: 0 7px 0 -20px;
-     line-height: 110%;
+
+input.accept[value^="Create"]:hover, button.accept[value^="Create"]:hover,
+input.accept[value^="Create"]:focus, button.accept[value^="Create"]:focus {
+     background: #000 url(/themes/console/images/buttons/create.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.newsheadings li {
-     list-style: none outside url('images/newsbullet_mini.png');
-     margin: 0 -4px 2px 8px;
-     line-height: 115%;
-     font-weight: normal !important;
+input.accept[value^="Create"]:active, button.accept[value^="Create"]:active {
+     background: #652787 url(/themes/console/images/buttons/create.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.tunnels table{
-     margin: -2px 0 -4px 2px !important;
-     text-align: center !important;
-     width: 186px;
+input.accept[value^="Filter"], button.accept[value^="Filter"] {
+     background: url(/themes/console/images/buttons/filter.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-.tunnels tr {
-     padding: 4px 0 !important;
+input.accept[value^="Filter"]:hover, button.accept[value^="Filter"]:hover,
+input.accept[value^="Filter"]:focus, button.accept[value^="Filter"]:focus {
+     background: #000 url(/themes/console/images/buttons/filter.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.tunnels td:first-child {
-     width: 16px;
-     padding-right: 2px;
+input.accept[value^="Filter"]:focus, button.accept[value^="Filter"]:focus {
+     background: #652787 url(/themes/console/images/buttons/filter.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.tunnels td:last-child {
-     width: 16px;
-     text-align: right;
-     margin-right: -2px;
-     padding-right: 0;
+input.add, button.add {
+     background: url(/themes/console/images/buttons/add.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.refresh {
-     margin-top: 10px !important;
-     margin-bottom: 10px !important;
-     padding: 2px 0 !important;
+input.add:hover, button.add:hover,
+input.add:focus, button.add:focus {
+     background: #000 url(/themes/console/images/buttons/add.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary p {
-     padding: 0;
+input.add:active, button.add:active {
+     background: #652787 url(/themes/console/images/buttons/add.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary a {
+input.add[value^="Adjust"], button.add[value^="Adjust"] {
+     background: url(/themes/console/images/buttons/edit2.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.routersummary a:link, div.routersummary a:visited {
-     text-shadow: 0 0 1px rgba(0, 0, 32, 0.3);
+input.add[value^="Adjust"]:hover, button.add[value^="Adjust"]:hover,
+input.add[value^="Adjust"]:focus, button.add[value^="Adjust"]:focus {
+     background: #000 url(/themes/console/images/buttons/edit2.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary a:hover {
-     text-shadow: 0 0 1px rgba(255, 96, 0, 0.7);
-     color: #f60;
+input.add[value^="Adjust"]:active, button.add[value^="Adjust"]:active {
+     background: #652787 url(/themes/console/images/buttons/edit2.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.routersummary td {
-     padding: 0 1px;
-     background-image: none !important;
-     border: 0 !important;
+input.cancel, button.cancel {
+     background: url(/themes/console/images/buttons/no.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.main {
-     margin: 0 5px 5px 200px;
-     padding: 5px 15px 10px 15px;
-     background: #00000A;
-     border: 1px solid #99f;
-     border-top: 0;
-     text-align: left;
-     color: #eef;
-     min-width: 590px;
-     background: #000 url(images/scarface.jpg) right bottom no-repeat !important;
-     border-radius: 0 0 3px 3px;
+input.cancel:hover, button.cancel:hover,
+input.cancel:focus, button.cancel:focus {
+     background: #000 url(/themes/console/images/buttons/no.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.main ul {
-     margin: 5px 0;
+input.cancel:active, button.cancel:active {
+     background: #652787 url(/themes/console/images/buttons/no.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.main li {
-     padding: 0 0 5px 0;
-     list-style: square;
-     word-wrap: break-word;
-     margin-right: 20px;
+input.accept[value^="Show"], button.accept[value^="Show"],
+input.check[value^="View"], button.check[value^="View"] {
+     background: url(/themes/console/images/buttons/show.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.main li:first-child {
-     padding-top: 15px;
+input.accept[value^="Show"]:hover, button.accept[value^="Show"]:hover,
+input.check[value^="View"]:hover, button.check[value^="View"]:hover,
+input.accept[value^="Show"]:focus, button.accept[value^="Show"]:focus,
+input.check[value^="View"]:focus, button.check[value^="View"]:focus {
+     background: #000 url(/themes/console/images/buttons/show.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.main hr:last-child {
-     margin: 15px 0 10px 0;
+input.accept[value^="Show"]:active, button.accept[value^="Show"]:active,
+input.check[value^="View"]:active, button.check[value^="View"]:active {
+     background: #652787 url(/themes/console/images/buttons/show.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.main textarea {
-     width: 98% !important;
-     margin: 2px 0 2px 5px;
-     min-height: 96px;
-     background: #001;
-     color: #eef;
+input.cancel[value^="Hide"], button.cancel[value^="Hide"],
+input.delete[value^="Do not view"], button.delete[value^="Do not view"] {
+     background: url(/themes/console/images/buttons/hide.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.main h2 {
-     margin-bottom: 5px;
-     padding-bottom: 10px !important;
+input.cancel[value^="Hide"]:hover, button.cancel[value^="Hide"]:hover,
+input.delete[value^="Do not view"]:hover, button.delete[value^="Do not view"]:hover,
+input.cancel[value^="Hide"]:focus, button.cancel[value^="Hide"]:focus,
+input.delete[value^="Do not view"]:focus, button.delete[value^="Do not view"]:focus {
+     background: #000 url(/themes/console/images/buttons/hide.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-/*
-div.main h2:last-child {
-     margin: 20px 0 0 !important;     
-} 
-*/
+input.cancel[value^="Hide"]:active, button.cancel[value^="Hide"]:active,
+input.delete[value^="Do not view"]:active, button.delete[value^="Do not view"]:active {
+     background: #652787 url(/themes/console/images/buttons/hide.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
+}
 
-table h2 {
-     padding-bottom: 15px;
+input.check, button.check {
+     background: url(/themes/console/images/buttons/yes.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.welcome {
-     margin-top: 5px;
+input.check:hover, button.check:hover,
+input.check:focus, button.check:focus {
+     background: #000 url(/themes/console/images/buttons/yes.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.main h2:first-child, div.main h3:first-child {
-/*     margin: 5px 10px -10px; */
+input.check:active, button.check:active {
+     background: #652787 url(/themes/console/images/buttons/yes.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.wideload h2 {
-     margin-bottom: 10px !important;
+input.check[value$="updates"], button.check[value$="updates"] {
+     background: url(/themes/console/images/buttons/update.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.wideload h3:first-child {
-     margin-top: 0 !important;
+input.check[value$="updates"]:hover, button.check[value$="updates"]:hover,
+input.check[value$="updates"]:focus, button.check[value$="updates"]:focus {
+     background: #000 url(/themes/console/images/buttons/update_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.wideload h3 {
-     margin-top: 15px !important;
-     margin-bottom: 10px !important;
+input.check[value$="updates"]:active, button.check[value$="updates"]:active {
+     background: #652787 url(/themes/console/images/buttons/update_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.wideload p {
-     margin-top: 5px;
+input.delete, button.delete {
+     background: url(/themes/console/images/buttons/delete.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.wideload table {
-     margin-top: 5px !important;     
+input.delete:hover, button.delete:hover,
+input.delete:focus, button.delete:focus {
+     background: #000 url(/themes/console/images/buttons/delete_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news {
-     margin: -1px 5px 0 200px;
-     background: #001;
-     border: 1px solid #99f;
-     text-align: right;
-     color: #99f;
-     min-width: 600px;
-     padding: 3px 8px 3px;
-     -moz-box-shadow: inset 0 0 4px 2px #00000A;
-     font-size: 8pt;
-     background: #001 url("images/planet.png")no-repeat scroll bottom right;
+input.delete:active, button.delete:active {
+     background: #652787 url(/themes/console/images/buttons/delete_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-/* convert the list entry to our title */
+input.delete[value^="Ban"], button.delete[value^="Ban"] {
+     background: url(/themes/console/images/buttons/ban.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
+}
 
-div.news li {
-     text-align: justify;
-     list-style: none;
-     margin: 15px 15px -10px -20px;
-     padding: 0 0 15px 0;
-     border-bottom: 1px dotted #99f;
-     border-top: 0 solid #99f;
-     padding: 3px 5px 5px 0;
-     font-size: 10pt;
-     color: #eef;
-     text-transform: capitalize;
-     font-weight: bold;
+input.delete[value^="Ban"]:hover, button.delete[value^="Ban"]:hover,
+input.delete[value^="Ban"]:focus, button.delete[value^="Ban"]:focus {
+     background: #000 url(/themes/console/images/buttons/ban.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news h3 {
-     background: none !important;
-     text-align: left;
-     border: none !important;
-     padding-left: 0;
-     padding-top: 0;
-     border-bottom: 1px dotted !important;
-     -moz-box-shadow: none;
-     -hktml-box-shadow: none;
-     box-shadow: none;
-     font-size: 10pt !important;
-     letter-spacing: 0.05em;
-     text-transform: uppercase !important;
-     margin: 15px 10px -5px;
-     padding: 5px 0 5px;
+input.delete[value^="Ban"]:active, button.delete[value^="Ban"]:active {
+     background: #652787 url(/themes/console/images/buttons/ban.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news p {
-     color: #eef;
-     font-size: 8pt;
-     margin-bottom: -10px;
-     margin-top: 10px;
+input.download, button.download {
+     background: url(/themes/console/images/buttons/download.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.news p:last-child {
-     margin-bottom: 10px;
+input.download:hover, button.download:hover,
+input.download:focus, button.download:focus {
+     background: #000 url(/themes/console/images/buttons/download.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news a:link {
-     color: #aaf;
-     text-shadow: 0 0 1px rgba(128, 128, 48, 0.3);
+input.download:active, button.download:active {
+     background: #652787 url(/themes/console/images/buttons/download.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news a:visited {
-     color: #99f !important;
-     text-shadow: 0 0 1px rgba(128, 128, 48, 0.3);
+input.download[value^="Join"], button.download[value^="Join"] {
+     background: url(/themes/console/images/buttons/users.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
+} 
+
+input.download[value^="Join"]:hover, button.download[value^="Join"]:hover,
+input.download[value^="Join"]:focus, button.download[value^="Join"]:focus {
+     background: #000 url(/themes/console/images/buttons/users.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.news hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0 solid #99f;
-     margin: 10px 0 2px 0;
+input.download[value^="Join"]:active, button.download[value^="Join"]:active {
+     background: #652787 url(/themes/console/images/buttons/users.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.confignav {
-     padding: 14px 0 15px;
-     background: #000018;
-     margin: -6px -16px 5px -16px;
-     border: 1px solid #99f;
-     -moz-box-shadow: inset 0 0 4px 2px #00000A;
+input.download[value$="from File"], button.download[value$="from File"],
+input.download[value$="from file"], button.download[value$="from file"] {
+     background: url(/themes/console/images/buttons/from-file.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.configure {
-     margin: 15px -20px;
-     padding: 0 20px 0 20px;
+input.download[value$="from file"]:hover, button.download[value$="from file"]:hover,
+input.download[value$="from file"]:focus, button.download[value$="from file"]:focus {
+     background: #000 url(/themes/console/images/buttons/from-file.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.configure hr {
-     margin: 15px 0;
+input.download[value$="from file"]:active, button.download[value$="from file"]:active {
+     background: #652787 url(/themes/console/images/buttons/from-file.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.configure table {
-     font-size: 8pt;
-     font-weight: bold;
-     border: 1px solid #99f;
+input.download[value^="Dump"], button.download[value^="Dump"] {
+     background: url(/themes/console/images/buttons/dump-threads.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.configure tr, div.configure td {
-     padding: 5px;
+input.download[value^="Dump"]:hover, button.download[value^="Dump"]:hover,
+input.download[value^="Dump"]:focus, button.download[value^="Dump"]:focus {
+     background: #000 url(/themes/console/images/buttons/dump-threads.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.configure tr {
-     -moz-box-shadow: inset 0 0 1px 0 #000;
+input.download[value^="Dump"]:active, button.download[value^="Dump"]:active {
+     background: #652787 url(/themes/console/images/buttons/dump-threads.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.configure li:first-child, div.main li:first-child {
-     margin-top: 0;
-     padding-top: 0;
+input.go, button.go, input[value="GO"] {
+     background: url(/themes/console/images/buttons/go.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.configure li:last-child {
-     margin-bottom: -5px;
+input.go:hover, button.go:hover, input[value="GO"]:hover,
+input.go:focus, button.go:focus, input[value="GO"]:focus {
+     background: #000 url(/themes/console/images/buttons/go.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-div.configure h2:first-child {
-     margin-top: 15px;
+input.go:active, button.go:active, input[value="GO"]:active {
+     background: #652787 url(/themes/console/images/buttons/go.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.configure form {
-     margin: 20px 15px;     
+input.go[value^="Create"], button.go[value^="Create"] {
+     background: url(/themes/console/images/buttons/create-file.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
-.sidebarconf button {
-     margin: 2px;
-     padding: 1px;
-     min-width: 0;
-     background: none;
+
+input.go[value^="Create"]:hover, button.go[value^="Create"]:hover,
+input.go[value^="Create"]:focus, button.go[value^="Create"]:focus {
+     background: #000 url(/themes/console/images/buttons/create-file.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.sidebarconf th:nth-child(1) {
-     text-align: center;     
+input.go[value^="Create"]:active, button.go[value^="Create"]:active {
+     background: #652787 url(/themes/console/images/buttons/create-file.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.sidebarconf th:nth-child(2) {
-     text-align: left;     
+input.reload, button.reload {
+     background: url(/themes/console/images/buttons/restore.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-.sidebarconf td:first-child {
-     width: 60px;
-     text-align: right;
-     padding-right: 50px;
+input.reload:hover, button.reload:hover,
+input.reload:focus, button.reload:focus {
+     background: #000 url(/themes/console/images/buttons/restore_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.sidebarconf td {
-     font-weight: bold;
-     font-size: 9pt;  
+input.reload:active, button.reload:active {
+     background: #652787 url(/themes/console/images/buttons/restore_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.sidebarconf td:nth-child(3), .sidebarconf td:nth-child(4) {
-     width: 70px;
-     padding: 0;  
+input.reload[value$="restart"], button.reload[value$="restart"] {
+     background: url(/themes/console/images/buttons/restart.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
+
 }
 
-.sidebarconf td:nth-child(3) {
-     text-align: right;
-     padding-left: 50px;
+input.reload[value$="restart"]:hover, button.reload[value$="restart"]:hover,
+input.reload[value$="restart"]:focus, button.reload[value$="restart"]:focus {
+     background: #000 url(/themes/console/images/buttons/restart_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-.sidebarconf td:nth-child(4) {
-     text-align: left;
-     padding-right: 50px;
+input.reload[value^="Update"], button.reload[value^="Update"] {
+     background: url(/themes/console/images/buttons/update.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
+
 }
 
-.topshimten {
-     margin-top: 15px;
-     margin-bottom: 15px;
+input.reload[value^="Update"]:hover, button.reload[value^="Update"]:hover,
+input.reload[value^="Update"]:focus, button.reload[value^="Update"]:focus {
+     background: #000 url(/themes/console/images/buttons/update_hover.png) 6px center no-repeat !important;
 }
 
-div.messages {
-     padding: 10px;
-     background: #000;
-     border: 1px solid #99f;
-     border-right: 0;
-     margin: -6px -15px 10px -16px;
-     text-align: center;
-     font-size: 9pt;
-     font-weight: bold;
-     color: #474;
-     -moz-box-shadow: inset 0 0 4px 2px #00000A;
-     background: url("../images/info_rhombus.png") no-repeat scroll 18px center #000;
+input.reload[value^="Update"]:active, button.reload[value^="Update"]:active {
+     background: #652787 url(/themes/console/images/buttons/update_hover.png) 6px center no-repeat !important;
 }
 
-div.messages li, div.messages ul {
-     padding: 10px 0 0 5px;
-     margin: -10px 0 0 0;
-     list-style: none;
+input.reload[value="Force GC"], button.reload[value="Force GC"] {
+     background: url(/themes/console/images/buttons/clean.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-div.main li b{
-     color: #bb7 !important;
-     letter-spacing: 0.07em;
-     font-size: 9pt;
+input.reload[value="Force GC"]:hover, button.reload[value="Force GC"]:hover,
+input.reload[value="Force GC"]:focus, button.reload[value="Force GC"]:focus {
+     background: #000 url(/themes/console/images/buttons/clean_hover.png) 6px center no-repeat !important;
 }
 
-div.error {
-     color: #d00;
-     background: url("../images/errortriangle.png") no-repeat scroll 5px center #000;
-     padding: 10px 10px 10px 45px;
-     text-align: left;
+input.reload[value="Force GC"]:active, button.reload[value="Force GC"]:active {
+     background: #652787 url(/themes/console/images/buttons/clean_hover.png) 6px center no-repeat !important;
 }
 
-div.notice {
-     font-style: italic;
+input.stop, button.stop {
+     background: url(/themes/console/images/buttons/shutdown.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-h1,h2,h3 {
-     border-radius: 3px;     
+input.stop:hover, button.stop:hover,
+input.stop:focus, button.stop:focus {
+     background: #000 url(/themes/console/images/buttons/shutdown_hover.png) 6px center no-repeat !important;
 }
 
-h1 {
-     font-size: 18pt;
-     text-shadow: 0 0 2px rgba(255, 255, 255, 0.4);
-     text-align: left;
-     border: 1px solid #99f;
-     padding: 13px;
-     margin: 5px 5px 0 200px;
-     line-height: 93%;
-     text-transform: uppercase;
-     letter-spacing: 0.3em;
-     background: #000008;
-     min-width: 600px;
-     line-height: 100%;
-     color: #fff;
-     border-radius: 3px 3px 0 0;
+input.stop:active, button.stop:active {
+     background: #652787 url(/themes/console/images/buttons/shutdown.png) 6px center no-repeat !important;
 }
 
-span.newtab {
-     text-align: right;
-     font-size: 8pt;
-     float: right;
-     letter-spacing: 0;
+button.search {
+     background: url(/themes/console/images/buttons/search.png) 6px center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 14px 14px, 100% 100% !important;
+     padding: 5px 5px 5px 21px !important;
 }
 
-/* opera targetted hack */
-x:-o-prefocus, span.newtab {
-     margin-top: -25px;
+button.search:hover, button.search:focus {
+     background: #000 url(/themes/console/images/buttons/search_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-h2 {
-     font-size: 12pt;
-     padding: 10px 10px 10px 10px;
-     border: 1px solid #77f;
-     border-top: 1px solid #99f;
-     border-left: 1px solid #99f;
-     background: #000008;
-     text-transform: uppercase;
-     letter-spacing: 0.07em;
-     
+button.search:active {
+     background: #652787 url(/themes/console/images/buttons/search_hover.png) 6px center no-repeat !important;
+     background-size: 14px 14px !important;
 }
 
-h3 {
-     font-size: 10pt;
-     padding: 7px 10px;
-     border: 1px solid #99f;
-     border-right: 1px solid #77f;
-     border-bottom: 1px solid #77f;
-     letter-spacing: 0.05em;
-     font-weight: bold !important;
-     text-transform: uppercase;
+/* client/plugin/webapps buttons aka project "X" */
+
+button.Xaccept {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-h3 a {
-     font-weight: bold !important;
+button.Xaccept:hover, button.Xaccept:focus {
+     background: #000 url(/themes/console/images/buttons/Xstart.png) center center no-repeat !important;
 }
 
-h2, h3, .confignav {
-     background: #002 url("images/tinytitles.png") center center repeat-x !important;
-     margin-bottom: 10px;
+button.Xaccept:active {
+     background: #652787 url(/themes/console/images/buttons/Xstart.png) center center no-repeat !important;
 }
 
-thead, tfoot, th {
-     background: #002 url("images/titles.png") repeat-x center center !important;
+button.Xstop {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-table {
-     border-collapse: collapse;
-     border: 1px solid #99f;
-     margin: 15px 0 5px 0;
-     cell-padding: 1px;
-     font-size: 8pt;
-     background: #000;
-     width: 100%;
+button.Xstop:hover, button.Xstop:focus {
+     background: #000 url(/themes/console/images/buttons/Xstop.png) center center no-repeat !important;
 }
 
-table hr {
-     padding: 0 0;
-     color: #000;
-     background: #000;
-     border: 0 solid #99f;
-     margin: 0 -5px;
-     height: 1px;
+button.Xstop:active {
+     background: #652787 url(/themes/console/images/buttons/Xstop.png) center center no-repeat !important;
 }
 
-table tt {
-     font-size: 8pt;
+button.Xadd {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-th {
-     background-color: #000;
-     padding: 8px 2px;
-     text-align: center;
-     border-bottom: 1px solid #99f;
-     font-size: 8pt !important;
+button.Xadd:hover, button.Xadd:focus {
+     background: #000 url(/themes/console/images/buttons/edit2.png) center center no-repeat !important;
 }
 
-/* begin home page */
+button.Xadd:active {
+     background: #652787 url(/themes/console/images/buttons/edit2.png) center center no-repeat !important;
+}
 
-/*
-#appsummary {
-     clear: none;
-     float: none;
-     left: 10px;
-     margin: 0;
-     position: absolute;
-     top: 10px;
+button.Xdelete {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
 
-#homemain {
-     left: 217px;
-     margin: 0 10px 10px 0;
-     position: absolute;
-     text-align: center;
-     top: 10px;
+button.Xdelete:hover, button.Xdelete:focus {
+     background: #000 url(/themes/console/images/buttons/delete_hover.png) center center no-repeat !important;
 }
 
-#homenews {
-     margin: 0 10px 5px 0;
+button.Xdelete:active {
+     background: #652787 url(/themes/console/images/buttons/delete_hover.png) center center no-repeat !important;
 }
 
-h2.app {
-     border-radius: 8px;
-     margin: 1px 10px 15px 0 !important;
+button.Xcheck {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/update.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
 }
-*/
 
-h4.app, h4.app2 {
-     font-size: 11pt;
-     padding: 5px;
-     border: 1px solid #99f;
-     border-right: 1px solid #99f;
-     border-bottom: 1px solid #99f;
-     letter-spacing: 0.04em;
+button.Xcheck:hover, button.Xcheck:focus {
+     background: #000 url(/themes/console/images/buttons/update_hover.png) center center no-repeat !important;
+}
+
+button.Xcheck:active {
+     background: #652787 url(/themes/console/images/buttons/update_hover.png) center center no-repeat !important;
+}
+
+button.Xdownload {
+     font-size: 0;
+     text-indent: -99999px;
+     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+     background-size: 16px 16px, 100% 100% !important;     
+     padding: 12px 11px;
+}
+
+button.Xdownload:hover, button.Xdownload:focus {
+     background: #000 url(/themes/console/images/buttons/download.png) center center no-repeat !important;
+}
+
+button.Xdownload:active {
+     background: #652787 url(/themes/console/images/buttons/download.png) center center no-repeat !important;
+}
+
+button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
+}
+
+/* end project "X" */
+
+/* sidebar buttons */
+
+.routersummary button {
+     margin: 2px;
+     min-width: 87px !important;
+     background-blend-mode: normal;
+}
+
+.routersummary .reload, .routersummary .stop {
+     text-indent: -99999px;
+     background-size: 16px 16px, 100% 100% !important;
+     background-position: center center, center center !important;
+     padding: 5px !important;
+}
+
+.routersummary .reload, .routersummary .reload[value$="restart"] {
+     background: url(/themes/console/images/buttons/restart.png) center center no-repeat, linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+}
+
+.routersummary .reload:hover, .routersummary .reload:focus, .routersummary .reload[value$="restart"]:hover, .routersummary .reload[value$="restart"]:focus {
+     background: #000 url(/themes/console/images/buttons/restart_hover.png) center center no-repeat !important;
+}
+
+.routersummary .reload:active, .routersummary .reload[value$="restart"]:active {
+     background: #652787 url(/themes/console/images/buttons/restart_hover.png) center center no-repeat !important;
+}
+
+.routersummary .stop {
+     background: url(/themes/console/images/buttons/shutdown.png) center center no-repeat;
+}
+
+.routersummary .stop:hover, .routersummary .stop:focus {
+     background: url(/themes/console/images/buttons/shutdown_hover.png) center center no-repeat;
+     background-position: center center !important;
+}
+
+.routersummary .download {
+     background: url(/themes/console/images/buttons/download.png) 3px center no-repeat;
+     background-size: 16px 16px, 100% 100% !important;
+     padding: 5px 3px 5px 17px !important;
+/*     margin-top: -4px;*/
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.routersummary .download, .routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     padding-left: 19px !important;
+}
+}
+
+.routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
+     background: #000 url(/themes/console/images/buttons/download.png) 3px center no-repeat;
+     background-size: 16px 16px !important;
+     padding: 5px 3px 5px 17px !important;     
+}
+
+.routersummary .download:focus {
+     background: #652787 url(/themes/console/images/buttons/download.png) 3px center no-repeat;
+     background-size: 16px 16px !important;
+     padding: 5px 3px 5px 17px !important;     
+}
+/* end sidebar buttons */
+/* end buttons & inputs */
+
+img {
+     border: none;
+}
+
+pre {
+     width: 98%;
+     overflow-x: auto;
+     text-align: left;
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #c9ceff;
+}
+
+/* proxy error messages */
+
+div.logo { /* proxy error "fake" sidebar */
+     float: left;
+     padding: 10px;
+     text-align: center;
+     color: #c9ceff;
+     margin: 0 20px 0 20px;
+     border: 1px solid #443da0;
+     background: #000;
+     width: 185px;
+     box-shadow: inset 0 0 0 1px #44175f;
+     font-size: 9pt;
+}
+
+.logo a img {
+     opacity: 0.6;
+     filter: invert(100%) sepia(100%) hue-rotate(175deg);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(175deg);
+}
+
+.logo a img:hover {
+     opacity: 1;
+     filter: invert(100%) sepia(100%) hue-rotate(175deg) drop-shadow(0 0 3px #652787);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(175deg) drop-shadow(0 0 3px #652787);
+}
+
+div.logo hr {
+     color: #443da0;
+     background: #443da0;
+     height: 1px;
+     border: 0 solid #443da0;
+     margin: 9px -10px;
+}
+
+.logo a:link {
+     display: block;
+     padding: 2px;
+}
+
+.warning { /* proxy error messages */
+     margin: 20px 20px 20px 245px;
+     padding: 14px 25px 20px 75px;
+     background: #000;
+     border: 1px solid #443da0;
+     text-align: left;
+     color: #c9ceff;
+     text-align: justify;
+     background:url(/themes/console/images/itoopie_sm.png) 10px center no-repeat;
+     box-shadow: inset 0 0 0 1px #44175f;
+     word-wrap: break-word;
+     font-size: 9pt;
+     min-width: 300px;
+}
+
+.warning p, .warning a {
+     font-size: 10pt
+}
+
+.warning a {
+     line-height: 150%;
+}
+
+.warning h3 {
+     text-align: left;
+     padding: 5px 10px;
+}
+
+.proxyfooter {
+     margin: 0 20px 10px 240px;
+     padding: 20px 25px 20px 75px;
+     color: #652787;
+     font-size: 7pt;
+     text-align: right !important;
+     border-radius: 2px;
+     border: 1px solid #000;
+     display: none;
+}
+
+/* responsive proxy errors */
+
+@media screen and (max-width: 800px) {
+.warning {
+     margin-left: 20px !important;
+     background: #000 !important;
+     padding-left: 25px !important;
+}
+
+.logo {
+     display: none;
+}
+}
+/* end proxy error messages */
+
+.routersummaryouter {
+     float: left;
+     width: 200px;
+     margin: 0 0 10px 5px;
+     padding: 0;
+     border: 0;
+     clear: left;/* fixes a bug in Opera */
+     text-align: center;
+     display: block;
+     position: absolute;/* so no interference with /home app icons */
+}
+
+.routersummary {
+     width: 173px;
+     padding: 8px 10px 8px;
+     text-align: center;
+     border: 1px solid #443da0;
+     background: #000;
+     color: #c9ceff;
+     font-size: 8pt;
+     clear: left;/* fixes a bug in Opera */
+     border-radius: 2px;
+     float: left;
+     box-shadow: 0 1px 5px #000;
+     margin-bottom: 7px !important;
+}
+
+.routersummary img[src*="i2plogo"] {
+     opacity: 0.7;
+     transition: all 0.3s ease 0s;
+     margin-left: -3px;
+     filter: sepia(100%) hue-rotate(180deg);
+     -webkit-filter: sepia(100%) hue-rotate(180deg);
+}
+
+.routersummary img[src*="i2plogo"]:hover {
+     opacity: 1;
+     transition: all 0.3s ease 0s;
+     filter: drop-shadow(0 0 3px #652787) saturate(200%);
+     -webkit-filter: drop-shadow(0 0 3px #652787) saturate(200%);
+}
+
+.routersummary img[src*="i2plogo"]:active {
+     filter: drop-shadow(0 0 5px #450519) saturate(200%) !important;
+     -webkit-filter: drop-shadow(0 0 5px #450519) saturate(200%) !important;
+}
+
+.routersummary a[href="/"]:focus img, .routersummary a[href="/console"]:focus img {
+     opacity: 1;
+     transition: all 0.3s ease 0s;
+     filter: drop-shadow(0 0 3px #652787) saturate(200%);
+     -webkit-filter: drop-shadow(0 0 3px #652787) saturate(200%);
+}
+
+.routersummary input[type=text] {
+     text-align: right !important;
+     box-shadow: inset 1px 1px 1px 0 #000;
+}
+
+.routersummary hr {
+     color: #443da0;
+     background: #443da0;
+     height: 2px;
+     border-bottom: 1px solid #443da0;
+     margin: 8px -10px 7px -10px;
+     box-shadow: inset 0 1px 1px 1px #000;
+}
+
+.routersummary h3 {
+     border: 0;
+     font-size: 9.5pt;
+     letter-spacing: 0.04em;
+     margin: -7px -10px -8px -10px;
+     padding: 4px 0 !important;
+     text-transform: uppercase;
+     border-radius: 0;
+     background: #000 url(images/header.png) center center;
+}
+
+.routersummary h3:hover {
+     background: linear-gradient(to bottom, #001050 0%, #001030 30%, #001020 50%, #000 50%) !important;
+}
+
+.routersummary h3:active {
+     box-shadow: inset 3px 3px 3px #000;
+}
+
+.routersummary h3 a {
+     display: inline-block;
+     width: calc(100% - 6px);
+     padding: 0;
+     margin: 0;
+}
+
+.routersummary h4 {
+     border: none;
+     font-size: 8pt;
+     letter-spacing: 0.02em;
+     margin: -6px -9px -8px -9px !important;
+     padding: 6px 3px;
+     background: #000;
+     background: linear-gradient(to right, #001 0%, #010005 5%, #010010 15%, #010025 50%, #010010 85%, #010005 95%, #001 100%);
+     text-decoration: none !important;
+     color: #2a1fbe;
+     line-height: 120%;
+     text-shadow: 0 0 1px #000;
+     box-shadow: inset 0 0 0 1px #005;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.routersummary h4 {     
+     box-shadow: none;
+}
+}
+
+.routersummary ul {
+     text-align: left !important;
+}
+
+.routersummary table {
+     border: 0;
+     text-align: center !important;
+     margin: -5px -7px -6px -8px !important;
+     width: 189px !important;
+     overflow: hidden;
+     font-size: 8pt;
+     background-image: none !important;
+     background-color: transparent !important;
+}
+
+#sb_localtunnels {
+     width: 189px !important;
+}
+
+#sb_localtunnels img {
+     margin: 0;
+     padding: 0;
+}
+
+#sb_localtunnels td:first-child {
+     width: 16px;
+     text-align: left;
+     padding: 2px 0 0 1px;
+}
+
+#sb_localtunnels td:last-child {
+     text-align: right;
+     padding-right: 0;
+}
+
+#sb_services a:link, #sb_internals a:link, #sb_advanced a:link {
+     word-break: break-all;
+     max-width: 182px;
+     overflow: hidden;
+     white-space: nowrap; 
+     text-overflow: ellipsis;
+     line-height: 140%;
+}
+
+/* sidebar stacked tables fix */
+#sb_localid + #sb_version {
+     margin-top: 6px !important;
+     margin-bottom: 5px !important;
+}
+
+.routersummary tr {
+     background-image: none !important;
+     background-color: transparent !important;
+     border: 0 !important;
+}
+
+.routersummary form {
+     margin: -4px -9px -6px;
+}
+
+.routersummary form:first-child {
+     margin: 6px 0 -5px 0 !important;
+}
+
+.routersummary p {
+     padding: 0;
+}
+
+.refresh {
+     margin-top: -10px !important;
+     margin-bottom: -4px !important;
+     padding: 2px 0 0 0 !important;
+}
+
+.routersummary a:link, .routersummary a:visited {
+     padding: 0 2px;
+}
+
+div.routersummary a:hover {
+     color: #652787;
+}
+
+/* "experimental" custom sidebar links for apps
+
+#sb_services {
+     width: 192px !important;
+     margin: 0 !important;
+     margin: -7px -10px -9px !important;
+     border-collapse: collapse;
+
+}
+
+#sb_services td {
+     padding: 0;
+}
+
+#sb_services a, #sb_services a:hover, #sb_services a:active {
+     border-bottom: 1px solid #443da0 !important;
+     outline: none !important;
+}
+
+#sb_services a:hover {
+     background: #002;
+}
+
+#sb_services a:last-child {
+     border-bottom: 1px solid transparent !important;
+}
+
+#sb_services a[href*="mail"], #sb_services a[href*="snark"], #sb_services a[href*="7658"], #sb_services a[href*="bote"] {
+     width: calc(100% - 31px) !important;
+     padding: 5px 5px 5px 26px !important; 
+     border: 1px outset transparent;
+     margin: 0 !important;
+     float: left;
+     text-align: left;
+     background: #000;
+     text-decoration: none;
+     text-transform: uppercase;
+     letter-spacing: 0.1em;
+     white-space: nowrap;
+     text-overflow: ellipsis;
+     overflow: hidden;
+     clear: both;
+}
+
+#sb_services a[href*="mail"] {
+     background: #000 url(images/mail.png) 5px center no-repeat;
+}
+#sb_services a[href*="mail"]:hover {
+     background: #002 url(images/mail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="bote"] {
+     background: #000 url(images/webmail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="bote"]:hover {
+     background: #002 url(images/webmail.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="snark"] {
+     background: #000 url(images/magnet.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="snark"]:hover {
+     background: #002 url(images/magnet.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="7658"] {
+     background: #000 url(images/webserver.png) 5px center no-repeat;
+}
+
+#sb_services a[href*="7658"]:hover {
+     background: #002 url(images/webserver.png) 5px center no-repeat;
+}
+
+/* end custom sidebar links */
+
+.routersummary td {
+     padding: 0 2px 0 2px;
+     background-image: none !important;
+     border: 0 !important;
+     word-spacing: -0.1em;
+     max-width: 180px;
+     text-overflow: ellipsis; /* force ellipsis rather than truncate rare, overlong text strings eg. Swedish sidepanel */
+}
+
+.routersummary td:first-child {
+     max-width: 90px;
+     overflow: hidden;
+     text-transform: capitalize;
+}
+
+.routersummary hr:last-child {
+     margin-top: 5px;
+     margin-bottom: -5px !important;
+}
+
+.newsheadings {
+     text-align: center;
+     margin: -3px 0 -5px 10px;
+     word-spacing: 0;
+}
+
+div.tunnels {
+     padding-top: 3px !important;
+     margin-left: -4px;
+     text-align: center;
+}
+
+.tunnels table {
+     margin: -5px 0 -5px -3px !important;
+}
+
+.tunnels td {
+     padding: 1px 0 1px 0;
+     text-transform: capitalize;
+}
+
+.tunnels td:first-child {
+     width: 16px;
+     text-align: left;
+     padding-right: 2px;
+}
+
+.tunnels td:last-child {
+     text-align: right;
+     padding-right: 1px;
+}
+
+/* console error messages */
+
+.sorry {
+     margin: -1px 5px 10px 205px;
+     padding: 20px 20px 20px 75px;
+     background: #020022;
+     border: 1px solid #443da0;
+     border-radius: 0 0 2px 2px;
+     text-align: justify;
+     background-image:url(/themes/console/images/info/errortriangle.png);
+     background-position:15px center;
+     background-repeat:no-repeat;
+     box-shadow: inset 0 0 0 1px #320951;
+     word-wrap: break-word;
+/*     font-weight: bold;*/
+     color: #c9ceff;
+     font-size: 10pt;
+}
+
+div.sorry hr {
+     color: #c9ceff;
+     background: #c9ceff;
+     height: 1px;
+     border: 1px solid #c9ceff;
+     margin: 10px 0;
+}
+
+.main {
+     margin: -1px 5px 5px 205px;
+     padding: 0 10px 1px 10px;
+     text-align: left;
+     color: #c9ceff;
+     width: auto;
+     border: 1px solid #443da0;
+     border-radius: 0 0 2px 2px;
+     background: #000 url(images/scarface.jpg) right bottom no-repeat !important;
+     background-size: auto 120px !important;
+     min-width: 620px;
+     box-shadow: 0 1px 5px #000, inset 0 0 0 1px #000;
+     font-size: 9pt;
+}
+
+.main#news {
+     background: #000 url(images/earth.jpg) no-repeat scroll bottom right !important;
+     padding-bottom: 0;
+}
+
+.news {
+     margin: -1px 5px 0 205px;
+     padding: 6px 20px 5px;
+     border: 1px solid #443da0;
+     background: #000;
+     background: #000 url(images/earth.jpg) no-repeat scroll bottom right;
+     background-size: auto 30%;
+     color: #7670c2;
+     font-size: 8pt;
+     text-align: right;
+     box-shadow: 0 1px 5px #000;
+     min-width: 580px;
+}
+
+.news h3, .fixme h3 {
+     text-align: left !important;
+     font-size: 9.5pt !important;
+     letter-spacing: 0.03em;
+     color: #c9ceff;
+}
+
+.news h4 {
+     border-bottom: 1px;
+     border-bottom-style: dotted;
+     border-bottom-color: #443da0;
+     padding: 0 0 0 0;
+     margin: 5px 0 10px 0;
+     font-size: 10pt;
+     opacity: 1;
+     text-transform: capitalize;
+}
+
+.news p, .newscontent p {
+     margin-top: -5px;
+     font-size: 9pt;
+     color: #c9ceff;
+     margin-bottom: 0;
+}
+
+.news p:nth-child(n+1), .newscontent p:nth-child(n+1) {
+     margin-top: 5px;
+}
+
+.news hr {
+     margin: 8px -20px 3px;
+}
+
+.fixme {
+     margin: 18px 5px; /* positional parity with homepage news */
+}
+
+.main#jobs .joblog {
+     margin-top: 10px !important;
+}
+
+.main#jobs ol {
+     padding: 10px 10px 5px 10px;
+     -moz-columns: 2;
+     -webkit-columns: 2;
+     columns: 2;
+     text-align: left;
+}
+
+.main#jobs ol:empty {
+     display: none;
+}
+
+.main#jobs ol li:first-child {
+     margin-top: 0 !important;
+}
+
+.main#jobs ol li {
+     break-inside: avoid;
+     page-break-inside: avoid;
+     -webkit-break-inside: avoid;
+     display: inline-block;
+     text-align: left !important;
+     min-width: 400px;
+}
+
+.main#config_update input, .main#config_update button, .main#config_update select, .main#config_update textarea {
+     margin-left: 0 !important;
+}
+
+.main#config_update .messages {
+     background: url(/themes/console/images/info/infohelp.png) no-repeat 15px center, url(images/earth.jpg) bottom right no-repeat !important;
+     background-size: auto, 80px !important; 
+}
+
+.wideload {
+     margin: 0;
+}
+
+.widescroll { /* only scroll content, not entire page eg /peers */
+     overflow: auto;
+}
+
+.widescroll table {
+     white-space: nowrap;
+}
+
+.confignav {
+     background: url(images/header.png) repeat-x scroll center center #000;
+     padding: 8px 5px 7px !important;
+     margin: -1px -11px 10px;
+     border: 1px solid #443da0;
+     font-weight: bold !important;
+     line-height: 130% !important;
+     text-align: center;
+}
+
+.confignav a:hover {
+     text-decoration: none;
+}
+
+.tab, .tab2 {
+     padding: 1px 3px;
+     white-space: nowrap;
+     margin: 0;
+}
+
+.tab2::before {
+     content: '\1F892\00A0';
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
+}
+
+.tab2::after {
+     content: '\00A0\1F890';
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
+}
+
+#bwlimiter a, #advancedconfig a, .tabletitle a, #upnpconfig a, #servicedebug a, .ptitle a, #configstats th a, h3#graphinfo a, .h3navlinks {
+     float: right;
+     letter-spacing: normal;
+     text-transform: capitalize !important;
+     font-size: 9pt;
+}
+
+.h3navlinks a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     margin-left: 5px;
+}
+
+.main#tunnels h3:first-child {
+     margin-top: 10px;
+}
+
+.main#tunnels h3 a:not(old), #criticallogs + h3.tabletitle a:not(old) {
+     font-size: 0;
+}
+
+.main#tunnels h3 a[href^="/configtunnels#"]::after, #criticallogs + h3.tabletitle a::after {
+     content: url(/themes/console/images/buttons/configure.png);
+     float: right;
+     padding: 0;
+}
+
+#criticallogs tr:first-child {
+     display: none;
+}
+
+#criticallogs li::first-line, #routerlogs li::first-line {
+     font-weight: bold;
+     display: inline-block;
+     border: 1px solid #f00;
+}
+
+#criticallogs li:last-child, #routerlogs li:last-child {
+     padding-bottom: 8px !important;
+}
+
+img[src$="inbound.png"], img[src$="outbound.png"] {
+     filter: hue-rotate(-47deg);
+     -webkit-filter: hue-rotate(-47deg);
+}
+
+h3#iptransport a:not(old), h3#advancedconfig a:not(old) {
+     font-size: 0;
+}
+
+h3#iptransport a::after, h3#advancedconfig a::after {
+     content: url(images/help.png);
+     padding: 0;
+     margin: 0;
+     vertical-align: text-top;
+     cursor: help;
+     filter: drop-shadow(0 0 1px #555);
+}
+
+div.messages {
+     padding: 20px 10px;
+     margin: 10px 0;
+     border: 1px solid #443da0;
+     background: #000;
+     background: url(/themes/console/images/info/infohelp.png) no-repeat 15px center, #000;
+     font-weight: bold;
+     font-size: 9.5pt;
+     color: #c9ceff !important;
+     box-shadow: none !important;
+}
+
+div.messages i {
+     padding-left: 45px;
+     color: #c9ceff;
+}
+
+div.messages span.error {
+     color: #D6FFFD;
+}
+
+div.messages span.notice {
+     font-style: italic;
+}
+
+div.messages li {
+     text-align: justify !important;
+     font-weight: bold;
+     list-style: none !important;
+     margin: 0 5px 0 50px !important;
+     padding: 0 10px 0 0 !important;
+     border: 0 !important;
+}
+
+div.widepanel h3 {
+     text-align: left !important;
+     padding: 6px 10px;
+     text-transform: uppercase;
+     font-size: 10.5pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     border: 1px solid #443da0;
+}
+
+div.graphspanel {
+     padding: 0;
+     margin: 15px 0 -15px 0;
+     background: none;
+     text-align: center;
+     overflow: auto;
+     width: 100%;
+}
+
+div.graphspanel form {
+     text-align: left;
+     padding: 0 15px 0 15px;
+     margin-bottom: 25px;
+}
+
+div.graphspanel a img {
+     border: 1px solid #443da0;
+     padding: 3px;
+     margin: 5px;
+     text-align: center !important;
+     background: #000;
+     opacity: 0.9;
+     transition: all 0.3s ease 0s;
+}
+
+div.graphspanel a img:hover {
+     border: 1px solid #652787;
+     padding: 3px;
+     margin: 5px;
+     text-align: center !important;
+     background: #000;
+     opacity: 1;
+     transition: all 0.3s ease 0s;
+     cursor: url(/themes/console/images/cursor_zoom.png), auto;
+}
+
+div.graphspanel img {
+     border: 1px solid #2f2e38;
+     padding: 2px;
+     max-width: 97%;
+     max-width: calc(100% - 20px);
+}
+
+div.graphspanel p {
+     text-align: center;
+     text-transform: capitalize;
+     margin-top: 10px;
+     border-top: 1px solid #443da0;
+     padding: 10px 10px 15px;
+}
+
+p#graphopts {
+     margin-top: 30px !important;
+}
+
+h3#graphinfo {
+     margin-top: 0;
+     border-radius: 0 !important;
+}
+
+div.graphspanel p:last-child {
+     display: none;
+}
+
+table {
+     border-collapse: collapse;
+     width: 100%;
+     border: 1px solid #443da0;
+     padding: 1px;
+     font-size: 9pt;
+     background: #040033;
+     margin: 1px 0;
+}
+
+table hr {
+     padding: 0 0;
+     color: #443da0;
+     background: #443da0;
+     border: 0 solid #443da0;
+     margin: 0 0;
+     height: 1px;
+     display: none;
+}
+
+th {
+     padding: 6px 2px;
+     color: #c9ceff;
+     text-align: center;
+     font-size: 9pt;
+     background: #000 url(images/titles.png) center center repeat-x;
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+     border-top: 1px solid #443da0;
+     border-bottom: 1px solid #443da0 !important;
+     line-height: 110%;
+}
+
+tr {
+     vertical-align: middle;
+}
+
+tr:nth-child(even) {
+     background: #010010;
+     vertical-align: middle;
+}
+
+tr:nth-child(odd) {
+     background: #010008;
+     vertical-align: middle;
+}
+
+td {
+     padding: 4px 6px;
+     color: #c9ceff;
+     vertical-align: middle;
+     border-top: 1px inset #120f35;
+}
+
+td img {
+     padding: 0 1px 0 2px;
+}
+
+td img[src$="c=a1"], td img[src$="c=a2"] {
+     filter: drop-shadow(0 0 1px #337);
+     -webkit-filter: drop-shadow(0 0 1px #337);
+}
+
+tt {
+     font: bold 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #393;
+}
+
+table tt {
+     color: #393;
+}
+
+a:link tt, a:visited tt {
+     color: #443da0;
+}
+
+a:hover tt {
+     color: #652787;
+}
+
+a:active tt {
+     color: #9FE9F9;
+}
+
+div.main li {
+     text-align: left;
+     list-style: square;
+     margin: 2px 0 2px 30px;
+     padding: 2px 20px 2px 0;
+     word-wrap: break-word;
+}
+
+div.main li b {
+     color: #EBDBFF !important;
+     letter-spacing: 0.08em;
+     font-size: 9pt;
+}
+
+.tidylist {
+     text-align: justify !important;
+     line-height: 150%;
+}
+
+.tidylist:last-child {
+     padding-bottom: 10px;
+}
+
+.tidylist code {
+     text-align: left;
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #D6FFFD;
+     padding: 1px 3px;
+     background: #040033;
+     margin: 0 2px;
+     border-radius: 2px;
+}
+
+ol {
+     display: inline;
+     padding: 1px 0 0 20px;
+}
+
+ol li:first-child {
+     margin-top: 10px !important;
+}
+ul {
+     margin: 0;
+     padding: 0;
+}
+
+code {
+     text-align: left;
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #393;
+}
+
+a:link, h2 a:link {
+     color: #443da0;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+     outline: none;
+}
+
+a:visited {
+     color: #7670c2;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:hover, a:focus {
+     color: #652787;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:active {
+     color: #4f0519 !important;
+}
+
+.links {
+/*     padding-bottom: -2px; */
+     text-align: justify;
+     margin-top: 10px;
+     margin-bottom: -10px;
+}
+
+.links li {
+     list-style-image: url(images/link.png) !important;
+}
+
+.links b {
+     color: #ebdbff !important;
+     letter-spacing: 0.08em;
+     font-size: 8.5pt;
+     line-height: 165%;
+}
+
+p {
+     text-align: justify;
+     line-height: 160%;
+}
+
+p img:first-child {
+     display: none !important;
+}
+
+p:empty { /* kills empty paragraphs that are likely erroneous eg. see top of /profiles?f=1, /profiles */
+     display: none;
+     border: 1px dotted #652787; /* display in order to bug hunt */
+}
+
+h1 {
+     text-align: left;
+     color: #c9ceff;
+     padding: 13px 15px;
+     margin: 0 5px 0 205px !important;
+     font-size: 17pt;
+     font-weight: bold;
+     font-style: normal;
+     text-transform: uppercase;
+     letter-spacing: 0.15em;
+     text-shadow: 0 0 2px #010011;
+     white-space: normal;
+     background: #000 url(images/header.png) center center;
+     border: 1px solid #443da0;
+     border-radius: 2px 2px 0 0;
+     line-height: 120%;
+     min-width: 620px;
+     box-shadow: 0 1px 5px #000;
+}
+
+span.newtab {
+     text-align: right;
+     font-size: 8pt;
+     float: right;
+     letter-spacing: 0;
+}
+
+.newtab:hover {
+     filter: drop-shadow(0 0 3px #652787) !important;
+     -webkit-filter: drop-shadow(0 0 3px #652787) !important;
+}
+
+h2, h2.welcome {
+     font-size: 12pt;
+     color: #c9ceff;
+     text-shadow: 0 0 2px #010011;
+     letter-spacing: 0.05em;
+     background: #000 url(images/header.png) center center ;
+     padding: 10px;
+     border: 1px solid #443da0;
+     border-radius: 2px;
+     vertical-align: middle;
+     margin: 15px 0 12px 0 !important;
+     text-transform: uppercase;
+     word-wrap: break-word;
+}
+
+h2 a:visited {
+     color: #190f9b;
+}
+
+h2 a:hover {
+     color: #652787;
+     text-shadow: 0 0 1px #652787;
+}
+
+h3, h3.welcome, div.news h3 {
+     border: 1px solid #443da0;
+     border-left: 5px solid #443da0;
+     padding: 4px 10px;
+     margin: 10px 0 10px 0;
+     border-radius: 0 2px 2px 0;
+     background: #000 url(images/header.png) center center ;
+     text-transform: uppercase;
+     text-shadow: 0 0 2px #010011;
+     letter-spacing: 0.08em;
+}
+
+h4 {
+     border-bottom: 1px;
+     border-bottom-style: solid;
+     border-bottom-color: #443da0;
+     padding: 0 0 10px 0;
+     margin: 5px 0 10px 0;
+     font-size: 11pt;
+}
+
+h1, h2, h3:not([id*="help"]), h4.app, h4.app2, div.routersummary h3, .confignav {
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+}
+
+h2, h3, h4, .confignav {
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.underline {
+     border-bottom: 1px solid #efeeff;
+     padding: 5px 0 5px 0;
+     margin: 0 0 10px 0;
+}
+
+.langbox {
+     margin: 3px 4px 2px 5px;
+     padding: 0;
+     color: #c9ceff;
+     font-size: 7pt;
+     width: 350px;
+     text-align: right;
+     float: right;
+     vertical-align: middle;
+}
+
+.langbox img {
+     opacity: 0.5;
+     padding: 1px 2px !important;
+     transition: all 0.3s ease 0s;
+}
+
+.langbox img:hover {
+     opacity: 1;
+}
+
+hr {
+     color: #443da0;
+     background: #443da0;
+     height: 1px;
+     border: 0 solid #443da0;
+     margin: 20px 0 10px;
+}
+
+hr:last-child {
+     margin-top: 20px;
+     margin-bottom: 20px;
+}
+
+.joblog hr {
+     margin: 10px 0;
+}
+
+fieldset {
+     overflow: hidden;
+     position: relative;
+}
+
+.statusnotes {
+     font-style: italic;
+     font-size: 9pt;
+     color: #c9ceff;
+     text-align: center;
+     border: 1px solid #443da0 !important;
+     margin: -3px 0 5px 0;
+     padding: 7px;
+     background: #000;
+     background: linear-gradient(to bottom, #010014, #010010 50%, #010010 100%);
+}
+
+div.joblog {
+     border-radius: 2px 2px 0 0;
+     text-align: justify !important;
+     overflow-y: hidden !important;
+     margin-top: 15px !important;
+ }
+
+div.joblog h3 {
+     margin-top: 10px !important;
+}
+
+div.joblog br {
+     margin-bottom: -5px;
+}
+
+div.main li:last-child {
+     padding-bottom: 15px;
+}
+
+div.joblog li {
+     word-wrap: break-word !important;
+     text-align: justify !important;
+     line-height: 120% !important;
+     margin: 2px 0 2px 30px;
+     padding: 2px 20px 2px 0;
+}
+
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+     margin: 5px 0 -10px;
+}
+
+div.joblog li:first-child {
+     margin-top: 0;
+     padding-top: 0;
+}
+
+div.joblog li:last-child {
+     padding-bottom: 5px;
+}
+
+div.joblog ul li li li {
+     margin-bottom: 10px !important;
+}
+
+div.joblog form:first-child {
+     margin-top: 10px;
+}
+
+div.joblog table {
+     margin-top: 15px;
+     margin-left: 0 !important; /* removes hard-coded indentation */
+     margin-bottom: 15px;
+}
+
+div.joblog table td:first-child {
+     font-weight: bold;
+}
+
+div.joblog p {
+     line-height: 140%;
+}
+
+div.joblog th:first-child {
+     text-align: left;
+     padding-left: 6px;
+}
+
+div.joblog th:last-child { /* kludge for broken table in /jobs .. requires additional trailing td per tr to fix */
+      width: 0;
+      height: 0;
+      padding: 0;
+}
+
+/* /jobs */
+
+h2#jobrunners {
+     margin-top: 0 !important;
+}
+
+.main#jobs h2 {
+     border-radius: 0;
+}
+
+#jobrunners ~ ol {
+     display: block;
+     margin-bottom: 5px !important;
+     margin-top: -11px !important;
+     border: 1px solid #443da0;
+     width: 97%;
+     width: calc(100% - 22px);
+     background: #010008;
+     padding: 0 20px 0 0;
+}
+
+#jobrunners ~ ol > li:last-child {
+     margin-bottom: 5px;
+}
+
+h3[id*="jobs"] {
+     clear: both;
+     margin-top: 25px !important;
+}
+
+table#schedjobs {
+     width: 100% !important;
+     margin: -6px 0 0 !important;
+}
+
+#jobstats {
+     margin-bottom: 10px;
+}
+
+#jobstats th, #jobstats td {
+     text-align: right;
+     padding-right: 8px !important;
+}
+
+#schedjobs th:first-child, #schedjobs td:first-child, #jobstats th:first-child, #jobstats td:first-child  {
+     text-align: left;
+     padding-left: 10px;
+     font-weight: bold;
+     margin-bottom: 15px;
+}
+
+table#jobstats + hr {
+     display: none;
+}
+
+h3#totaljobstats {
+     margin-bottom: -2px;
+     margin-top: 10px !important;
+}
+
+h3#finishedjobs + ol li, h3#scheduledjobs + ol li, h3#activejobs + ol li, h3#readyjobs + ol li {
+    list-style: none !important;
+}
+
+h3#activejobs + ol li:before, h3#scheduledjobs + ol li:before, h3#readyjobs + ol li:before, h3#finishedjobs + ol li:before {
+     content: '\2023\00A0 ';
+     margin-left: -20px;
+     font-size: 15pt;
+     font-weight: bold;
+     line-height: 50%;
+     vertical-align: sub;
+     color: #393;
+}
+
+h3#finishedjobs + ol li:before {
+     color: #3D3;
+     content: '\2714\00A0';
+}
+
+h3#readyjobs + ol li:before {
+     color: #dd3;
+}
+
+h3#scheduledjobs + ol li:before {
+     color: #773;
+}
+
+/* end /jobs */
+
+
+/* /eventlogs */
+
+table#eventlog {
+     margin-top: -21px;
+     margin-bottom: 10px;
+}
+
+table#eventlog td {
+     padding: 3px 10px;
+     width: 30%;
+}
+
+table#eventlog td:last-child {
+     width: 40%;
+}
+
+
+form[action="events"] {
+     background: #000;
+}
+
+.smallhead {
+     font-size: 8pt
+}
+
+.smallhead a:hover {
+     text-decoration: none;
+}
+
+.smallhead a img:hover {
+     filter: drop-shadow(0 0 1px #652787);
+}
+
+.mediumtags {
+     font-size: 9pt;
+}
+
+.optbox {
+     min-width: 16px !important;
+     max-width: 16px !important;
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 2px 4px;
+     padding: 2px;
+     overflow: hidden;
+     position: relative;
+}
+
+.cells {
+     border: 1px inset #120f35;
+     /*border-left: 1px outset #141;*/
+     text-align: center;
+}
+
+.tablefooter tr, .tablefooter td {
+     background: #000 url(images/header.png) repeat-x center center !important;
+     background: linear-gradient(to bottom, #010014, #010010 50%, #010010 100%) !important;
+     border-top: 1px solid #443da0;
+     border-bottom: 1px solid #443da0 !important;
+     line-height: 110%;
+     padding: 10px;
+}
+
+.formaction {
+     text-align: right;
+     margin-bottom: -5px;
+     padding: 7px 5px;
+}
+
+h3[id$="con"] { /* peers h3 + tables */
+     background: #652787;
+     margin-bottom: -2px;
+     border-radius: 0;
+     padding: 6px 10px;
+     font-size: 10pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     background: #000;
+     background: linear-gradient(to right, #000000, #010010 70%, #010013 90%);
+     border: 1px solid #443da0;
+}
+
+h3[id="udpcon"] {
+     width: auto;
+}
+
+table#udpconnections table {
+     overflow-x: auto !important;
+}
+
+table#udpconnections th {
+      padding: 5px 2px;
+}
+
+table#udpconnections table i {
+     font-weight: bold;
+     line-height: 150%;
+     letter-spacing: 0.1em;
+}
+
+table#udpconnections tr a img {
+      margin-top: 3px !important;
+}
+
+table#udpconnections tr:hover, table#ntcpconnections tr:hover, #jobstats tr:hover, #schedjobs tr:hover, #jardump tr:hover {
+     background: #020022;
+}
+
+table#udpconnections td > *, table#ntcpconnections td > * {
+     vertical-align: middle;
+}
+
+table#udpconnections td:first-child, table#udpconnections td:nth-child(2) {
+     width: 50px;
+     padding: 2px 4px;
+     white-space: nowrap;
+}
+
+table#udpconnections tr:hover td, table#ntcpconnections tr:hover td {
+     color: #c9ceff;
+}
+
+table#udpconnections tr.tablefooter td {
+     color: #c9ceff;
+}
+
+table#udpconnections tr.tablefooter:hover td {
+     border-top: 1px solid #443da0;
+}
+
+table#udpconnections tr.tablefooter td:first-child {
+     padding-left: 9px;
+}
+
+table#udpconnections td[class="cells"]:first-child, table#ntcpconnections td[class="cells"]:first-child {
+	  width: 50px;
+	  white-space: nowrap;
+	  text-align: right;
+}
+
+table#ntcpconnections td[class="cells"]:last-child {
      font-weight: bold !important;
+     width: 100px;
+}
+
+table#ntcpconnections {
+     overflow-x: scroll !important;
+}
+
+pre#transports {
+     border: 1px solid #443da0;
+     padding: 15px 7px 5px 15px;
+     margin: 0 20px 0 0;
+     background: #000;     
+}
+
+a[name="chelp"]:hover, a[name="help"]:hover, a[name="chelp"]:active, a[name="help"]:active { /* hide /help anchorpoints */
+     color: #c9ceff !important;
+     text-decoration: none;
+     text-shadow: none;
+}
+
+.homelinkedit th:nth-child(3), .homelinkedit th:last-child {/* /confighome */
+     text-align: left !important;
+     text-transform: none !important;
+     padding-left: 5px;
+}
+
+.homelinkedit tr:last-child td:first-child {
+     text-align: right;
+}
+
+.homelinkedit input[type="text"] {
+     margin-left: 0;
+}
+
+.formaction#homesites {
+     margin-bottom: -2px !important;
+}
+
+.formaction#homeapps, .formaction#homesites, .formaction#tunnelconfigsave, .formaction#homesearch {
+     border: 1px solid #443da0;
+     background: #000;
+     margin-top: -2px;
+}
+
+.formaction#homesearch {
+     margin-bottom: -2px !important;
+}
+
+.formaction#themeui {
+     padding: 2px 0 12px !important;
+}
+
+#themesettings hr {
+     margin: 5px -7px;
+}
+
+tr#addnew {
+     border-top: 1px solid #443da0;
+}
+
+/* /configui lang selection boxes + theme selection */
+
+div.themechoice {
+     width: 120px;
+     height: 78px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     border: 1px solid #241f69;
+     float: left;
+     text-align: center;
+     padding: 0 4px;
+     margin: 4px;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #020020, #000);
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.themechoice:hover {
+     border: 1px solid #652787;
+     background: #000;
+}
+
+.themechoice:hover .themelabel {
+     border-top: 1px solid #652787 !important;
+     background: #000 !important;
+     color: #652787;
+}
+
+.themechoice:active .themelabel, .langselect:active .ui_lang {
+     border-top: 1px solid #652787 !important;
+     background: #652787 !important;
+     color: #c9ceff !important;
+     box-shadow: inset 0 0 0 1px #000 !important;
+}
+
+.themechoice:hover object {
+     filter: drop-shadow(0 0 2px #652787);
+} 
+
+.themechoice object, .themechoice img {
+     padding: 3px 3px 4px;
+}
+
+.themechoice object img {
+     padding: 3px 3px 0;
+     margin-bottom: 0;
+}
+
+.themechoice .optbox {
+     min-width: 114px !important;
+     min-height: 74px !important;
+     outline: 1px !important; /* placement guide */ 
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     margin-left: -33px;
+     z-index: 999;
+     position: absolute;
+}
+
+.themechoice .optbox + img {
+     padding: 3px 0 !important;
+}
+
+.themechoice .optbox:hover + object ~ div.themelabel {
+     color: #652787;
+}
+
+.themechoice .optbox:checked + object ~ div.themelabel {
+     background: #040033 !important;
+     color: #c9ceff;
+     font-weight: bold;
+}
+
+#themeoptions {
+     clear: both;
+     padding-top: 5px;
+}
+
+#themeoptions input {
+     margin-left: 5px;
+}
+
+.themelabel {
+     border-top: 1px solid #241f69 !important;
+     margin-left: -4px;
+     margin-right: -4px;
+     padding: 4px 2px;
+     background: #010010 url(images/titles.png) center center repeat-x;
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+     color: #7670c2;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+h3#themeheading, h3#langheading, h3#passwordheading {
+     border-radius: 0;
+     border: 1px solid #443da0;
+     padding: 6px 10px;
+     font-size: 10.5pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     margin-bottom: 0;
+     background: #000;
+     background: linear-gradient(to right, #000000, #010010 70%, #010013 90%);
+}
+
+div#themesettings {
+     clear: both;
+     border: 1px solid #443da0;
+     padding: 8px 7px 0;
+     margin: -1px 0;
+}
+
+td#themeselect {
+     clear: both;
+     border: 1px solid #443da0;
+     padding: 8px 7px 0;
+     margin: -1px 0;
+}
+
+#themeselect hr {
+     display: inline !important;
+}
+
+.langselect { /* containing box for lang selection */
+     width: 120px;
+     float: left;
+     margin: 4px;
+     text-align: center;
+     border: 1px solid #241f69;
+     padding: 8px 4px 0;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #020020, #000);
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.langselect .optbox {
+     opacity: 0;
+     outline: 1px dotted #652787;
+     margin-left: 0;
+}
+
+.langselect .optbox {
+     opacity: 0;
+     outline: 1px dotted !important;
+     min-height: 60px;
+     min-width: 111px !important;
+     margin: -5px 0 -30px -2px;
+     vertical-align: text-bottom;
+     text-align: center;
+     z-index: 999;
+}
+
+.langselect img {
+     border: 1px solid #241f69;
+     margin-bottom: 0;
+     margin-left: -65px;
+     margin-top: 7px !important;
+     position: absolute;
+}
+
+.langselect input[name="lang"]:checked + img {
+     width: 19px;
+     height: 13px;
+     border: 1px solid #652787;
+     margin-top: 6px !important;
+     margin-left: -67px;
+}
+
+.langselect input[name="lang"]:hover + img {
+     box-shadow: 0 0 1px 1px #652787;
+}
+
+.langselect input[name="lang"]:hover + img + div.ui_lang {
+     color: #652787;
+}
+
+.langselect input[name="lang"]:checked + img + div.ui_lang {
+     background: #040033 !important;
+     color: #c9ceff;
+     font-weight: bold;
+}
+
+.langselect:hover, .langselect:active {
+     border: 1px solid #652787;
+     background: #000;
+}
+
+.langselect:hover .ui_lang {
+     border-top: 1px solid #652787;
+     background: #000;
+     color: #652787;
+}
+
+/* end flag as radio icons */
+
+.ui_lang { /* lang text label */
+     text-align: center;
+     background: #010010;
+     padding: 3px 2px 4px;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+     width: 124px;
+     margin: 10px -4px 0 !important;
+     border-top: 1px solid #241f69;
+     border-radius: 0 0 2px 2px;
+     text-transform: capitalize;
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);     
+     color: #7670c2;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+p#helptranslate {
+     clear: both;
+     padding: 6px 10px 10px;
+     text-align: right;
+}
+
+h3#themeheading {
+}
+
+h3#langheading {
+     margin-bottom: 0;
+}
+
+div#langsettings {
+     border: 1px solid #443da0;
+     padding: 8px 7px 12px;
+     margin-top: -1px;
+     margin-bottom: -12px;
+     background: #000;
+}
+
+#langsettings hr {
+     display: none;
+}
+
+.formaction#langui {
+     margin: -10px -8px -15px;
+     border: 1px solid #443da0;
+     background: #000;
+}
+
+/* console password layout */
+
+h3#passwordheading {
+     margin-top: 25px;
+     margin-bottom: -2px;
+}
+
+table#consolepass th:nth-child(2) {
+     text-align: left;
+}
+
+table#consolepass td:first-child {
+     width: 100px;
+     white-space:nowrap; 
+}
+
+table#consolepass th {
+     padding: 5px;
+}
+
+table#consolepass td {
+     padding: 2px 3px;
+}
+
+table#consolepass td {
+     border-bottom: 1px solid #443da0;
+     padding: 5px 10px;
+}
+
+table#consolepass input {
+     margin: 5px;
+}
+
+table#consolepass td#pw_adduser {
+     padding: 5px 10px;
+     background: #000;
+}
+
+td#pw_adduser input {
+     margin: 5px 20px 5px 5px !important;
+}
+
+table#consolepass input[name="name"] {
+     margin-right: 20px;
+}
+
+table#consolepass input[type="password"] {
+     width: 200px;
+}
+
+.formaction#consolepass {
+     margin-bottom: -2px !important;
+     margin-top: -2px;
+     border: 1px solid #443da0;
+     background: #000;
+}
+
+#consolepass input[name="name"], #externali2cp input[name="user"] {
+     background: #000 url(/themes/console/images/buttons/user.png) 5px center no-repeat;
+     background: url(/themes/console/images/buttons/user.png) 5px center no-repeat, linear-gradient(to bottom, #000 0%, #000019 100%);
+     padding: 4px 5px 4px 26px !important;
+     background-size: 16px 16px, 100% 100% !important;
+}
+
+#consolepass input[name="name"]:focus, #externali2cp input[name="user"]:focus {
+     background: #000 url(/themes/console/images/buttons/user.png) 5px center no-repeat !important;
+}
+
+#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"] {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat;
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat, linear-gradient(to bottom, #000 0%, #000019 100%);
+     padding: 4px 5px 4px 22px !important;
+     background-size: 16px 16px, 100% 100% !important;
+}
+#consolepass input[name="nofilter_pw"]:focus, #externali2cp input[name="nofilter_pw"]:focus {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat !important;
+}
+
+/* end /configui mods */
+
+form[action="/createreseed"] > h3 {
+     border-radius: 0;
+     border: 1px solid #443da0;
+     padding: 10px;
+     font-size: 10.5pt;
+     word-spacing: 0.1em;
+     letter-spacing: 0.08em;
+     background: linear-gradient(to right, #000000, #010010 70%, #010013 90%);
+     margin-bottom: -13px;
+}
+
+table#configclient {
+     margin-top: -11px !important;
+}
+
+/* configfamily */
+
+table#newfamily {
+     margin-bottom: 10px !important;
+}
+
+/* configreseed */
+
+table#reseedconfig input[type="text"], table#reseedconfig input[type="password"] {
+     width: 170px;
+}
+
+#reseednow {
+     margin-top: -16px !important;
+}
+
+.formaction#resetreseed {
+     margin: -4px -5px 0 0;
+}
+
+table#reseedconfig textarea {
+     width: 100%;
+     width: calc(100% - 5px);
+}
+
+/* /configservice */
+
+.formaction#shutdown, .formaction#restart, .formaction#systray, .formaction#runonstart, .formaction#dumpthreads, .formaction#browserstart {
+     border: 1px solid #443da0;
+     background: #000;
+     margin-top: -11px;
+     margin-bottom: 8px;
+}
+
+/* /configpeer */
+
+
+ul#banlist {
+     margin-top: -2px;
+}
+
+ul#banlist tt {
+     color: #c11f5d;
+}
+
+/* /confignet */
+
+h3#iptransport {
+     margin-bottom: 11px;
+}
+
+p#defaultswork {
+     margin-bottom: 11px !important;
+}
+
+p#upnpconfig, p#ipchange, p#ipv6config, p#tcpconfig, p#confignotes, p#defaultswork {
+     padding: 10px;
+     border: 1px solid #443da0;
+     margin-bottom: -13px;
+     margin-top: -12px;
+}
+
+p#defaultswork {
+     padding: 15px 10px 15px 45px !important;
+}
+
+p#confignotes {
+     margin-bottom: -21px;
+     padding: 15px 10px 15px 45px;
+     background: url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+}
+
+p#ipconfig, p#ipv4config, p#udpconfig, p#externaltcp {
+     border: 1px solid #443da0;
+     border-bottom: none;
+     padding: 10px;
+     background: #010010;
+}
+
+table#bandwidthconfig {
+     margin-bottom: 1px;
+}
+
+table#bandwidthconfig td:first-child {
+     width: 200px;
+     white-space: nowrap;
+     font-weight: bold;
+}
+
+table#bandwidthconfig {
+     padding: 5px 10px !important;
+}
+
+table#bandwidthconfig input, table#bandwidthconfig select {
+     margin-right: 3px;
+}
+
+/* end /confignet */
+
+/* /events */
+
+div.eventspanel {
+     margin-top: -10px;
+}
+
+form[action="events"] {
+     border: 1px solid #443da0;
+     margin-top: -11px;
+     padding: 10px 20px 10px;
+     margin-bottom: 20px;
+}
+
+form[action="events"] > br {
+     display: none;
+}
+
+form[action="events"] > .formaction {
+     margin-bottom: -11px !important;
+     margin-right: -21px;
+     margin-left: -21px;
+}
+
+.eventspanel th {
+     text-align: left;
+     padding-left: 10px;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+.eventspanel table {
+     font-size: 9pt;
+}
+
+.eventspanel table tr:hover {
+     background: #020020;
+}
+
+.eventspanel table td {
+     padding: 5px 10px;
+} 
+
+table#addkeyring td:first-child {
+     width: 170px;
+     white-space: nowrap;
+     font-weight: bold;
+     padding-right: 0;
+}
+
+table#addkeyring tr:last-child {
+     border-top: 1px solid #443da0;
+     background: linear-gradient(to bottom, #010014, #010010 50%, #010010 100%);
+}
+
+table#addkeyring tr:last-child td {
+     padding-right: 6px;
+}
+
+#addkeyring textarea, #addkeyring input[type="text"] {
+     width: 95%;
+     width: calc(100% - 15px);
+}
+
+p#keyringhelp, p#webappconfig, p#availableplugins, p#pluginconfigtext, p#clientdefaultshelp, p#bwshare, p#editclients, p#upnpstatus, p#gatherstats {
+     background: #000 url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     border: 1px solid #443da0;
+     padding: 15px 15px 15px 45px !important;
+}
+
+p#keyringhelp, #config_reseed p.infohelp, #config_family p.infohelp, p#tunnelconfig {
+     margin-top: 0;
+}
+
+p#availableplugins {
+     margin: 12px 0 -1px;
+}
+
+p#upnpstatus {
+     margin-top: 10px;
+}
+
+p#webappconfigtext + p, p#pluginconfigtext {
+     margin-bottom: -1px;
+}
+
+#pluginconfig th:first-child, #pluginconfig td:first-child, #webappconfig th:first-child {
+     text-align: right;
+     width: 100px;
+     white-space: nowrap;
+}
+
+#pluginconfig td:nth-child(2) {
+     border-right: 1px inset #120f35 !important;
+}
+
+#pluginconfig td:last-child table {
+     padding: 5px;
+     margin: 5px 15px 5px 5px !important;
+     width: 99%;
+     width: calc(100% - 8px);
+}
+
+/* /advanced */
+
+.wideload > form > input[type="hidden"] + table  + p + hr + .formaction {
+     border-left: none;
+     border-right: none;
+}
+
+input[type="hidden"] + p {
+     border: 1px solid #443da0;
+     padding: 10px;
+     margin-bottom: -21px;
+     background: #000;
+}
+
+/*
+form[action="configclients"]:first-child > input[type="hidden"] + p {
+     border: 1px solid #443da0;
+     padding: 10px;
+     margin-top: -1px !important;
+     margin-bottom: -21px;
+     background: #000;
+}
+*/
+
+input[type="hidden"] + p + p {
+     border: 1px solid #443da0;
+     padding: 10px;
+     margin-top: 20px;
+     margin-bottom: -21px;
+     background: #010010;
+}
+
+/* /stats */
+
+form#statnav {
+     border: 1px solid #443da0 !important;
+     padding: 10px 10px 10px 15px;
+}
+
+h3.stats {
+     border: 1px solid #443da0;
+     border-radius: 0;
+}
+
+ul.statlist {
+     border: 1px solid #443da0;
+     margin-bottom: -21px !important;
+     margin-top: -11px !important;
+     padding: 10px 0 5px;
+     background: #000;
+}
+
+ul.statlist:last-of-type {
+     margin-bottom: -1px !important;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ul.statlist {
+     margin-bottom: -25px !important;
+}
+
+ul.statlist:last-of-type {
+     margin-bottom: -6px !important;
+}
+}
+
+ul.statlist a[name], ul.statlist b, ul.statlist li b, ul.statlist a[name]:hover {
+     color: #f3e8fc !important;
+     text-decoration: none;
+     letter-spacing: normal;
+}
+
+ul.statlist li::before {
+     content: "\1F6C8\00A0";
+     font-size: 14pt;
+     line-height: 50%; 
+     vertical-align: baseline;
+     color: #f3e8fc;
+}
+
+ul.statlist li {
+     line-height: 120% !important;
+     list-style: none;
+     margin-bottom: -3px;
+}
+
+ul.statlist li li {
+     margin-left: 16px;
+     margin-right: -20px;
+     line-height: 120% !important;
+     list-style: none;
+}
+
+ul.statlist li li::before {
+     content: "\279F\00A0";
+     vertical-align: baseline;
+}
+
+ul.statlist li li:last-child::before {
+     content: "\27A1\00A0";
+}
+
+ul.statlist li li:last-child {
+     padding-bottom: 5px !important;
+}
+
+.statlist a[href*="graph"]::before {
+     content: "\1F4CA\00A0";
+     font-size: 11pt;
+     line-height: 140%;
+     
+}
+
+.main#stats form {
+     border: 1px solid #443da0;
+     padding: 10px;
+     margin: -13px 0 -11px;
+}
+
+.statlist li ul {
+     margin-top: 10px;
+}
+
+li.noevents {
+     margin-top: 0 !important;
+     margin-bottom: 10px !important;
+}
+
+/* end stats */
+
+h3#exploratorytunnels {
+     margin-top: 15px;
+}
+
+h3.tabletitle + .statusnotes, table.tunneldisplay {
+     margin-top: -1px;
+}
+
+.statusnotes + .statusnotes {
+     margin-top: -6px;
+}
+
+.statusnotes:last-child {
+     margin-bottom: 10px;
+}
+
+form > table {
+     font-size: 9pt;
+}
+/* configtunnels */
+
+table#tunnelconfig td:first-child {
+     font-weight: bold;
+}
+
+.formaction#tunnelconfigsave {
+     margin-top: -32px !important;
+}
+
+/* end /configtunnels */
+
+/* /configupdate */
+
+table#i2pupdates {
+     margin-top: 11px;
+     margin-bottom: -3px !important;
+}
+
+table#i2pupdates td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     padding-left: 10px;
+}
+
+table#i2pupdates input[name*="URL"], table#i2pupdates textarea {
+     width: 98%;
+     width: calc(100% - 10px);
+     resize: none;
+}
+
+table#i2pupdates tr:last-child td {
+     padding-right: 6px;
+}
+
+form[action="graphs"] {
+     border: 1px solid #443da0;
+     padding: 10px 10px 0 !important;
+     background: #000;
+     margin-top: -11px;
+     margin-bottom: 10px;
+}
+
+.formaction#graphing {
+     margin: -4px -5px 5px !important;
+     border-left: none;
+     border-right: none;
+}
+
+.main#graphs hr {
+     margin: 10px -10px 8px !important;
+}
+
+h3#graphdisplay a {
+     text-transform: capitalize;
+     letter-spacing: normal;
+     font-size: 9pt;
+     float: right;
+}
+
+/* /configlogging */
+
+input[name="logfilename"], input[name="logformat"], input[name="logdateformat"], input[name="logfilesize"], select[name="defaultloglevel"], select[name="newloglevel"] {
+     width: 125px;
+}
+
+table#loggingoptions {
+}
+
+table#loggingoptions td {
+     padding: 6px;
+}
+
+table#loggingoptions td:first-child {
+     width: 110px;
+     white-space: nowrap;
+     padding-right: 3px;
+}
+
+#loggingoptions td:nth-child(2) {
+     width: 170px;
+}
+
+#loggingoptions td:nth-child(4) {
+     width: auto;
+}
+
+#loggingoptions tr:nth-last-child(2) {
+     white-space: nowrap;
+}
+
+#loggingoptions tr:last-child td {
+     padding: 5px 4px 10px;
+}
+
+#loggingoptions input[type="text"], #loggingoptions select, #loggingoptions textarea {
+     min-width: 170px !important;
+     margin: 3px;
+}
+
+#loggingoptions textarea {
+     width: 99%;
+     width: calc(100% - 8px);
+}
+
+#loggingoptions select[name="newlogclass"] {
+     width: calc(100% - 185px);
+}
+
+/* configsidebar */
+
+#config_summarybar .configtable td:not(.optionsave) {
+     padding-left: 50px;
+     background: url(/themes/console/images/info/interval.png) 12px center no-repeat;
+     background-size: 28px 28px;
+}
+
+table#sidebarconf {
+     margin-top: -1px;
+}
+
+#sidebarconf tr:hover {
+     background: #020020;
+}
+
+#sidebarconf + .formaction {
+     margin-bottom: -3px !important;
+}
+
+#sidebarconf button {
+     margin: 2px;
+     padding: 4px 1px;
+     min-width: 0;
+     background: #000;
+     background: linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%);
+}
+
+#sidebarconf button:active {
+     background: #652787;
+}
+
+#sidebarconf button:hover img {
+     opacity: 1;
+}
+
+#sidebarconf button:active img {
+     mix-blend-mode: luminosity;
+}
+
+#sidebarconf button img {
+     opacity: 0.8;
+     height: 12px;
+     width: auto;
+}
+
+#sidebarconf th:nth-child(1), .homelinkedit th:first-child {
+     text-align: center;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+     text-indent: -99999px;
+}
+
+#sidebarconf th:nth-child(2) {
+     text-align: left;     
+}
+
+#sidebarconf td:first-child {
+     width: 60px;
+}
+
+#sidebarconf td:nth-child(2) {
+     font-weight: bold;     
+}
+
+#sidebarconf td:nth-child(3), #sidebarconf td:nth-child(4) {
+     width: 60px;
+     padding: 0;
+     white-space:nowrap;  
+}
+
+#sidebarconf td:nth-child(3) {
+}
+
+#sidebarconf td:nth-child(4) {
+     text-align: left;
+}
+
+#sidebarconf tr:last-child td {
+     background: #000;
+     border-top: 1px solid #443da0;
+}
+
+#sidebarconf select {
+     margin-left: 0;
+     width: 100% !important;
+}
+
+#sidebarconf tr:last-child td:last-child {
+     text-align: left;
+     padding-left: 0;
+}
+
+.formaction#sidebardefaults {
+     margin-top: -2px !important;
+     margin-bottom: -2px !important;
+}
+
+/* end configsidebar */
+
+/* /configservice */
+
+h3#shutdownrouter, h3#restartrouter, h3#servicedebug, h3#browseronstart, h3#rononstartup, h3#systray {
+     margin-bottom: -6px;
+}
+
+
+/* info paragraphs */
+h3#shutdownrouter + p, h3#restartrouter + p, h3#servicedebug + p, h3#browseronstart + p, h3#runonstartup + p, h3#systray + p {
+     background: #010008 url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     padding: 10px 15px 10px 50px;
+     border: 1px solid #443da0;
+     border-bottom: none;
+     margin: 5px 0 -20px !important;
+}
+
+h3#servicedebug + p + p {
+     padding: 10px;
+     border: 1px solid #443da0;
+     border-bottom: none;
+     margin-bottom: -21px;
+     background: #010010;
+     margin-top: 20px;
+}
+/* configclients */
+
+table#clientconfig th:first-child {
+     text-align: right;
+     padding-right: 5px;
+}
+
+table#clientconfig th:last-child {
+     text-align: left;
+     padding-left: 5px;
+}
+
+.formaction#clientsconfig, .formaction#webappconfigactions, .formaction#pluginconfigactions, .formaction#sidebardefaults {
+     border: 1px solid #443da0;
+     background: #000;
+     margin-bottom: 4px;
+}
+
+.formaction#webappconfigactions, .formaction#pluginconfigactions, .formaction#clientsconfig {
+     margin-top: -2px;
+     margin-bottom: -2px;
+}
+
+table#externali2cp {
+     margin-bottom: -2px !important;
+}
+
+.infohelp#clientconf {
+     margin-bottom: -13px;
+}
+
+.infowarn#clientconf {
+     margin-bottom: -2px;
+}
+
+/* end /configclients */
+
+/* /help */
+
+.main#help h3 {
+    padding: 7px 10px;
+    font-size: 10pt;
+}
+
+div#volunteer {
+     border: 1px solid #443da0;
+     padding: 0 20px;
+     margin: 10px 0 !important;
+     background: #000 url(images/scarface.jpg) bottom right no-repeat !important;
+     background-size: auto 60% !important;
+}
+
+#legal, #sidebarhelp, #volunteer, #reachabilityhelp, #configurationhelp {
+     border: 1px solid #443da0;
+     padding: 0 20px;
+     margin: 10px 0;
+     background: #000;
+}
+
+#legal h2, #sidebarhelp h2, #volunteer h2, #reachabilityhelp h2, #configurationhelp h2 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: -1px -21px 10px !important;
+     background: linear-gradient(to right, #000000, #010010 70%, #010013 90%);
+}
+
+#legal h2 + p {
+     padding-top: 10px;
+}
+
+#sidebarhelp h3 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 10.5pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: 0 -21px 10px !important;
+     background: linear-gradient(to right, #000000, #010010 70%, #010013 90%);
+     border: 1px solid #443da0;
+}
+
+#changelog h2, #advancedsettings h2 {
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     text-align: left;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-radius: 0;
+     margin: 0 0 -11px !important;
+}
+
+#changelog pre {
+     padding: 10px 10px 10px 20px;
+     max-height: 600px;
+     overflow-y: scroll;
+     width: calc(100% - 32px);
+     border-left: 1px solid #443da0;
+     border-right: 1px solid #443da0;
+     background: #000;
+}
+
+#advancedsettings h2 {
+     margin-bottom: -13px !important;
+}
+
+#advancedsettings p.infohelp {
+     margin-bottom: -2px !important;
+}
+
+#configinfo th {
+     text-align: left;
+     padding: 8px 10px;
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #393;
+     background: #002;
+     background: linear-gradient(to right, #000, #002);
+}
+
+#configinfo td {
+     text-align: justify;
+     padding: 7px 10px;
+}
+
+p#fullhistory {
+     text-align: right;
+     margin-top: -20px;
+     margin-bottom: 9px;
+     border: 1px solid #443da0;
+     border-top: none;
+     padding: 10px 10px 5px 10px;
+     background: #000;
+}
+
+ul#upnphelp li:last-child, #legal ul li:last-child {
+     padding-bottom: 0;
+}
+
+/* netdb (main section) */
+
+table#netdboverview {
+     margin-bottom: 10px;
+}
+
+#netdboverview td {
+     padding: 0;
+}
+
+#netdbversions, #netdbtransports, #netdbcountrylist {
+     border: 1px solid #120f35 !important;
+     margin-bottom: 0;
+}
+
+#netdbtransports {
+     border-left: 1px solid transparent !important;
+     border-right: 1px solid transparent !important;
+}
+
+#netdbtransports th, #netdbtransports td {
+     padding-left: 10px !important;
+     padding-right: 10px !important;
+}
+
+#netdbversions th, #netdbtransports th, #netdbcountrylist th {
+     border-top: none;
+     padding: 3px 5px;
+     line-height: 150%;
+}
+
+#netdbversions td, #netdbtransports td, #netdbcountrylist td {
+     padding: 5px;
+}
+
+table[cellspacing="30"] > tbody > tr > th[colspan="3"] { /* netdb header */
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+table[cellspacing="30"] > tbody > tr > td {
+     padding: 8px;
+}
+
+table[cellspacing="30"] > tbody > tr > td > table > tbody > tr > th:first-child {
+     text-align: left;
+     padding: 5px;
+}
+
+table[cellspacing="30"] > tbody > tr > td:first-child > table > tbody > tr > th:first-child {
+     text-align: center;
+}
+
+/* /netdb - Sybil */
+
+th > img[src^="/imagegen"] { /* scale down header images */
+     height: 24px;
+     width: 24px;
+     border-radius: 2px;
+     border: 1px solid #000;
+}
+
+/* logs */
+
+a[name="criticallogs"] + p + h3 + p + ul { /* tidy router logs ul */
+     border: 1px solid #443da0;
+     margin-bottom: 15px;
+}
+
+table#enviro, table#criticallogs, table#routerlogs, table#eventlogs, table#wrapperlogs {
+     margin-top: -11px;
+}
+
+table#wrapperlogs {
+     width: 100%;
+     overflow-x: scroll;
+     table-layout: fixed;
+}
+
+table#bugreports {
+     margin-top: 10px;
+}
+
+table#bugreports td {
+     background: url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     padding: 15px 10px 15px 50px;
+}
+
+table#enviro td {
+     font-weight: normal !important;
+     padding: 5px 10px;
+}
+
+table#enviro td:first-child {
+     width: 100px;
+     text-align: right;
+     padding-right: 0;
+}
+
+table#criticallogs td , table#routerlogs td, table#eventlogs td, table#wrapperlogs td {
+     font-weight: normal !important;
+     padding: 5px 10px;
+     border-top: 1px solid #443da0;
+}
+
+table#criticallogs td:empty {
+     display: none;
+}
+
+table[id$="logs"] tr:nth-child(odd){
+     background: #010011;
+}
+
+table[id$="logs"] tr:nth-child(even){
+     background: #000;
+}
+
+table[id$="logs"] ul {
+     margin: 5px 10px -5px -15px !important;
+}
+
+#wrapperlogs {
+     margin-bottom: 10px;
+}
+
+#wrapperlogs tr:last-child td {
+     padding: 0 0 0 5px;
+}
+
+#wrapperlogs pre {
+     margin-bottom: 0 !important;
+     white-space: pre-wrap !important;
+     word-wrap: break-word;
+     width: 100%;
+     height: 600px;
+}
+
+.logtable ul li:not(old) {
+     list-style: none !important;
+     margin-left: 15px;
+}
+
+.logtable ul li::before {
+     content: "\279C\00A0\00A0";
+     font-size: 12pt;
+     line-height: 50%;
+     vertical-align: baseline;
+     color: #3f5182;
+}
+
+/* /profiles */
+
+table#profiles tr:hover, table#floodfills tr:hover {
+     background: #040033;
+}
+
+table#profiles tr:hover td, table#floodfills tr:hover td {
+     color: #c9ceff;
+}
+
+table#profiles th, table#profiles td {
+     text-align: right;
+}
+
+table#profiles td {
+     color: #7670c2;
+}
+
+table#profiles td:nth-child(2), table#profiles th:nth-child(2) {
+     text-align: left;
+}
+
+table#profiles td:first-child, table#profiles th:first-child {
+     width: 52px;
+     text-align: right;
+}
+
+table#profiles td:first-child {
+     text-align: right !important;
+     padding-left: 1px;
+}
+
+table#profiles td:first-child, table#profiles th:first-child, table#profiles td:nth-last-child(2), table#profiles th:nth-last-child(2) {
+     white-space: nowrap;
+     text-align: center;
+}
+
+table#profiles td:last-child {
+     text-align: right;
+/*     padding-right: 10px;*/
+     width: 60px;
+     white-space: nowrap;
+}
+
+table#profiles td[colspan="7"] { /* profile class separator */
+     background: #050044;
+     padding: 1px;
+     border: 1px inset #000;
+}
+
+a[href^="configpeer?peer"] {
+     font-size: 0;
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
+}
+
+a[href^="configpeer?peer"]::after {
+     content: url(/themes/console/images/buttons/edit.png);
+     vertical-align: bottom;
+     margin-left: 4px;
+}
+
+a[href^="configpeer?peer"]:hover {
+     filter: drop-shadow(0 0 1px #99f);
+     -webkit-filter: drop-shadow(0 0 1px #99f);
+}
+
+table#profile_defs, table#thresholds {
+     margin-top: -1px;
+     margin-bottom: 10px;
+}
+
+table#profile_defs td, table#thresholds td {
+     padding: 10px;
+}
+
+table#profile_defs ul {
+     margin-left: -30px;
+}
+
+table#profile_defs ul li:last-child {
+     margin-bottom: -10px;
+}
+
+#profile_defs li {
+     list-style: none !important;
+}
+
+#profile_defs li::first-letter {
+     text-transform: capitalize;
+}
+
+table#profile_defs + hr {
+     display: none;
+}
+
+.main#profiles .widescroll {
+     margin-top: -5px !important;
+}
+
+.main#profiles ul#banlist {
+     margin-top: 5px;
+}
+
+#profiles_overview {
+     margin-top: 10px;
+}
+
+table#floodfills {
+     margin: 5px 0 10px;
+}
+
+table#floodfills + hr {
+     display: none;
+}
+
+table#floodfills th, table#floodfills td  {
+     text-align: right !important;
+}
+
+table#floodfills th {
+     white-space: normal;
+     text-align: center !important;
+}
+
+table#floodfills td  {
+     color: #7670c2;
+     padding: 3px !important;
+}
+
+table#floodfills th:first-child, table#floodfills td:first-child  {
+     text-align: center !important;
+     width: 52px;
+     white-space: nowrap;
+     padding: 0 !important;
+}
+
+table#floodfills td:first-child {
+     text-align: right !important;
+     padding-left: 1px !important;
+     padding-right: 5px !important;
+}
+
+table#profiles td:first-child > *, table#floodfills td:first-child > *,
+table#udpconnections td:first-child > *, table#ntcpconnections td:first-child > * {
+     vertical-align: middle;
+}
+
+table#viewprofile {
+     margin-bottom: 8px;
+}
+
+table#viewprofile td {
+     padding: 10px 15px 0;
+}
+
+#viewprofile pre {
+     margin-bottom: 0;
+     white-space: pre-wrap;
+}
+
+ul#banlist {
+     border: 1px solid #443da0;
+     background: #000;
+     padding: 10px 10px 0 0;
+     margin-bottom: 10px;
+}
+
+ul#banlist li:last-child {
+     margin-bottom: 0;
+}
+
+ul#banlist + hr {
+     display: none;
+}
+
+a[href^="/profiles"] ~ table > tbody > tr > th {
+     text-align: right;
+}
+
+a[href^="/profiles"] ~ table > tbody > tr > th:nth-last-child(2) {
+     text-align: center;
+} 
+
+a[href^="/profiles"] ~ table > tbody > tr > th:nth-child(2) {
+     text-align: center;
+}
+
+a[href^="/profiles"] ~ table > tbody > tr > th:first-child {
+     text-align: center;
+} 
+
+table#jardump { /* /jars */
+     margin-top: -1px;
+     margin-bottom: 0;
+     font-size: 8pt !important;
+     border: none;
+}
+
+.main#jardump {
+     padding: 0;
+}
+
+.main#jardump tt {
+     letter-spacing: -0.03em;
+}
+
+.main#certs {
+     padding-top: 3px;
+}
+
+.main#certs h3 {
+     margin-bottom: -16px !important;
+     border: 1px solid #443da0;
+     border-radius: 0;
+     padding: 7px 10px;
+}
+
+.main#certs h4 {
+     padding: 5px 10px;
+     margin: 15px 0 0;
+     border: 1px solid #443da0;
+     letter-spacing: 0.05em;
+     font-size: 10pt;
+     background: linear-gradient(to right, #000 0%, #002 100%);
+}
+
+.main#certs h3 + p {
+     margin-top: 15px;
+}
+
+.main#certs p {
+     margin-top: -1px;
+     padding: 10px;
+     border: 1px solid #443da0;
+     background: #000;
+}
+
+.main#certs p + p:empty + h4 {
+     margin-top: -13px !important;
+}
+
+.main#tunnels th {
+     padding: 5px 2px;
+}
+
+.main#proof textarea, .main#proof textarea:focus {
+     margin-top: 12px !important;
+     background: none;
+     border: 0;
+     color: #c9ceff !important;
+     filter: none;
+     resize: none;
+     box-shadow: none;
+     font-size: 9pt;
+     line-height: 180%;
+}
+
+.main#webmail {
+     padding: 0;
+     background: #000 !important;
+}
+
+.main#torrents, .main#tunnelmgr {
+     padding: 0;
+     background: url(images/scarface.jpg) right bottom no-repeat, linear-gradient(to bottom, #000, #001) !important;
+     background-size: auto 120px, 100% 2px !important;
+     background-blend-mode: screen;
+}
+
+.main#tunnelmgr {
+     padding: 0 5px;
+}
+
+#i2ptunnelframe {
+     margin: -5px 0 -10px;
+}
+
+.main#debug th {
+     text-align: left;
+     padding: 5px;
+}
+
+.main#debug li:last-child {
+     padding-bottom: 0;
+}
+
+.main#debug h2, .main#debug h3 {
+     border-radius: 0;
+}
+
+.main#debug h2 {
+     padding: 5px 10px;
+}
+
+.main#debug h2:first-child {
+     margin-top: 10px !important;
+}
+
+.main#debug h3 {
+     padding: 3px 8px;
+     font-size: 10pt;
+}
+
+.main#debug h2 + table {
+     margin-top: -13px;
+}
+
+div.footnote {
+     text-align: right;
+     color: #443da0;
+     font-size: 7pt;
+     margin-bottom: 5px !important;
+}
+
+div.footnote hr {
+     margin: 10px 0 5px 0 !important;
+     color: #443da0;
+     background: #443da0;
+     height: 1px;
+     border: 0 solid #443da0;
+}
+
+.topness {
+     font-size: 7.5pt;
+     text-align: right;
+     margin-top: -20px !important;
+     margin-bottom: -5px;
+     margin-right: 5px;
+}
+
+/* begin home page */
+
+div.home {
+     margin: 0 -8px;
+}
+
+h4.app, h4.app2 {
+    background: url(images/header.png) center center repeat-x;
+    border: 1px solid #443da0;
+    font-size: 10.5pt;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    margin: 11px -8px -9px -8px;
+    padding: 7px 8px 7px;
+    text-transform: uppercase;
+    text-align: left;
+    letter-spacing: 0.08em;
+    word-spacing: 0.1em;
+}
+
+h4.app2 {
+     clear: left;
+     position: relative;
+     top: -4px;
+     margin-bottom: -13px;
+}
+
+div.ag2 {
+     margin: 0 5px 12px;
+     padding: 0;
+}
+
+div.app {
+     float: left;
+     padding: 2px 0 0 !important;
+     min-width: 70px;
+     border: 1px solid #443da0;
+     background: #000;
+     background: linear-gradient(to bottom, #020020, #000);
+     border-radius: 2px;
+     margin: 2px 3px 5px;
+     text-align: center !important;
+     padding-top: 4px;
+     opacity: 0.8;
+     box-shadow: inset 0 0 0 1px #000;
+     transition: border ease 0.3s 0s;
+}
+
+.app a:link, .app a:visited {
+     color: #443da0;
+     display: inline-block;
+     width: 100%;
+}
+
+div.app:hover {
+     opacity: 1;
+     border: 1px solid #652787;
+     background: #000;
+     box-shadow: none;
+     color: #652787 !important;
+}
+
+div.app:hover img {
+     filter: drop-shadow(0 0 2px #652787) !important;
+}
+
+div.app:active .applabel {
+     background: #652787 !important;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+div.app:active .applabel a {
+     color: #c9ceff !important;
+}
+
+div.app a:link, div.app a:hover, div.app a:active {
+     outline: none;
+}
+
+div.app:hover a:link, div.app:hover a:visited {
+     color: #652787;
+}
+
+div.app:last-child {
+     margin-bottom: 12px;
+}
+
+h4.app + .appgroup div.app:last-child {
+     margin-bottom: 13px;
+}
+
+h4.app2 + .appgroup div.app:last-child {
+     margin-bottom: 12px;
+}
+
+div.appgroup {
+     margin: 0;
+     padding: 16px 0;
+     width: auto;
+}
+
+div.search {
+     margin: 10px 10px 0 0;
+     padding: 8px 8px 0 8px;
+     width: auto;
+}
+
+table.search {
+     background: none;
+     width: 80%;
+     margin-left: auto;
+     margin-right: auto;
+     margin-top: -19px;
+}
+
+.search tr {
+     background: #000 url(images/header.png) center center repeat-x;
+     background: linear-gradient(to bottom, #000010 0%, #000019 50%, #000 51%, #000 100%) !important;
+}
+
+.search td {
+     padding: 4px;
+     text-align: center;
+}
+
+.search td:nth-child(2) {
+     width: 50px;
+     padding: 4px 0 4px 20px;
+}
+
+.search td:last-child {
+     text-align: left !important;
+     width: 50px;
+     padding-right: 10px;
+}
+
+input.search, input.search:hover {
+     background: #000 url(/themes/console/images/buttons/search.png) 4px center no-repeat;
+     background: url(/themes/console/images/buttons/search.png) 4px center no-repeat, linear-gradient(to bottom, #000 0%, #000019 100%);
+     padding: 4px 3px 4px 24px;
+     vertical-align: middle;
+     width: 100%;
+}
+
+input.search:focus {
+     background: #000 url(/themes/console/images/buttons/search.png) 4px center no-repeat;
+}
+
+.search select {
+     width: 90%;
+}
+
+.appimg {
+     height: 35px;
+}
+
+img.app, img.app2p {
+     height: 32px;
+     width: auto;
+     max-height: 32px;
+     max-width: 32px;
+     padding: 3px 21px 0;
+     margin-bottom: 1px;
+}
+
+div.app:hover img.app {
+     filter: saturate(200%);
+}
+
+table.app {
+     background: none;
+     border: 0;
+     margin: auto;
+     width: auto;
+}
+
+tr.app {
+     background: none;
+     border: 0;
+     margin: 0;
+}
+
+td.app {
+     background: none;
+     border: 0;
+     margin: 0;
+     padding: 3px 0 0;
+}
+
+div.applabel {
+     font-size: 8pt;
+     margin: 2px 0 0;
+     padding: 5px 2px;
+     text-align: center;
+     vertical-align: bottom;
+     line-height: 95%;
+     text-transform: lowercase;
+     border: none;
+     width: 120px; 
+     min-width: 72px;
+     background: #001 url(images/titles.png) center center;
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+     border-radius: 0 0 2px 2px;
+     border-top: 1px solid #443da0;
+     white-space: nowrap;
+     overflow: hidden;
+     text-overflow: ellipsis; /* ellipsize overlong app labels */
+     color: #443da0;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+div.applabel:hover {
+     background: #000;
+     border-top: 1px solid #652787;
+     color: #652787;
+}
+
+div.applabel a, div.applabel a:hover {
+     text-decoration: none !important;
+     outline: none;
+}
+
+div.app:hover .applabel {
+     border-top: 1px solid #652787 !important;
+     background: #000;
+     color: #652787;
+}
+
+/* end home page */
+
+iframe.iframed {
+     margin: 15px 0 0;
+}
+
+#i2psnarkframe, #susimailframe {
+     margin-top: -1px;
+}
+
+.main#dns {
+     padding: 0;
+     min-width: 650px;
+}
+
+#susidnsframe {
+     margin-top: -2px;
+}
+
+/* Fixes for when app is not started and console error loads inside iframe */
+
+body.iframed {
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+.iframed div.routersummaryouter {
+     display: none !important;
+}
+
+.iframed h1 {
+     margin: 0 5px 0 5px !important;
+}
+
+.iframed div.sorry {
+     margin: -1px 5px 10px 5px !important;
+}
+
+/* end iframed console fixes */
+
+/* Override error log colors */
+
+font[color="#ff00cc"] { /* warning */
+     color: #070088;
+}
+
+font[color="#ff3300"] { /* critical */
+     color: #0b0099;
+}
+
+font[color="#cc0000"] { /* error */
+     color: #0e00cc;
+}
+
+font[color="#000099"] { /* info */
+     color: #060055;
+}
+
+font[color="#006600"] { /* debug */
+     color: #EBDBFF;
+}
+/*--*/
+
+font[color="#ff00cc"] { /* warning */
+     color: #0028a0;
+}
+
+font[color="#ff3300"] { /* critical */
+     color: #002cbd;
+}
+
+font[color="#cc0000"] { /* error */
+     color: #0037eb;
+}
+
+font[color="#000099"] { /* info */
+     color: #001e80;
+}
+
+/* end log color overrides */
+
+/* global overrides */
+
+h3[id*="job"] {
+     border: 1px solid #443da0;
+     padding: 6px;
+     margin: 12px 0 10px 0;
+     border-radius: 0;
+     text-transform: uppercase;
+     text-shadow: 0 0 2px #010011;
+     letter-spacing: 0.08em;
+}
+
+/* netdb */
+
+table.netdbentry, table.leaseset {
+     width: 100% !important;
+     margin-bottom: 10px;
+}
+
+.netdbentry td, .leaseset td, table#leasesetdebug td, .sybil_routerinfo td {
+     color: #7670c2 !important;
+}
+
+.netdbentry td b, .leaseset td b, table#leasesetdebug td b, .sybil_routerinfo td b {
+     color: #c9ceff !important;
+} 
+
+span#distance {
+     color: #D6FFFD !important;
+}
+
+.netdbentry th {
+     font-weight: normal;
+     text-align: left;
+     padding: 4px 6px;
+}
+
+.netdbentry th code, .leaseset th code, .sybil_routerinfo th code {
+     font-size: 9pt;
+     margin-left: 5px;
+}
+
+.netdbentry th:last-child {
+     text-align: right;
+     padding: 5px;
+     white-space: nowrap;
+     width: 50px;
+}
+
+.netdbentry th:first-child  {
+     white-space: nowrap;
+}
+
+.netdbentry td:first-child  {
+     width: 80px;
+}
+
+.netdbentry td:nth-child(2) {
+     word-wrap: break-word;
+}
+
+.netdbentry img {
+     margin: 1px 0 0 0;
+}
+
+.netdbentry tr:last-child code {
+     color: #7670c2;
+}
+
+table#leasesetdebug, table#leasesetsummary {
+     margin-bottom: 10px; 
+}
+
+.leaseset th {
+     font-weight: normal;
+     padding: 5px;
+     text-align: left;
+}
+
+.leaseset th:last-child, .leaseset td:nth-child(2) {
+     text-align: right;
+     padding-right: 5px;
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+     font-weight: bold;
      text-transform: uppercase;
-     margin: 5px 10px 5px;
-     color: #fff;
-     background: #022;
-     background: url("images/tinytitles.png") repeat-x scroll center center #000022 !important;
-     border-radius: 3px;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     padding: 8px 10px;
+}
+
+table#leasesetdebug th a, table#leasesetsummary a {
+     font-size: 9pt;
+     text-transform: capitalize;
+     letter-spacing: normal;
+     word-spacing: normal;
+}
+
+#leasesetsummary td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     padding-left: 10px;
+}
+
+table#leasesetdebug th:first-child, table#leasesetsummary th:first-child {
+     text-align:left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align:right;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(odd) {
+     width: 200px;
+     white-space: nowrap;
+     text-align: right;
+     border-right: 1px inset #120f35;
+}
+
+table#leasesetdebug td:nth-child(even) {
+     text-align: left;
+     white-space: nowrap;
+}
+
+table#leasesetdebug td:nth-child(2) {
+     width: 10px;
 }
 
-h4.app2 {
-     clear: left;
-     margin-top: 0 !important;
+table#leasesetdebug th a:not(old), table#leasesetsummary th a:not(old) {
+     font-size: 0;
+}
+
+table#leasesetdebug th a::after, table#leasesetsummary th a::after {
+     content: url(/themes/console/images/buttons/floodfill.png);
+     vertical-align: text-top;
+     padding-right: 0; 
+}
+
+.leaseset tr:nth-child(2) td:last-child a:not(old) {
+     font-size: 0;
+}
+
+.leaseset tr:nth-child(2) td:last-child a::after {
+     content: url(/themes/console/images/buttons/add_address.png);
+}
+
+a.viewfullentry:not(old) {
+     font-size: 0;
+}
+
+a.viewfullentry::after {
+     content: url(/themes/console/images/buttons/fullview.png);
+     vertical-align: text-top;
+}
+
+div#noleasesets {
+     background: #000 url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px !important;
+     border: 1px solid #443da0;
+     margin-bottom: 10px;
+     text-align: left;
+}
+
+div#sybilnav, div#sybils_summary {
+     border: 1px solid #443da0;
+     padding: 10px;
+     margin-bottom: 10px;
+}
+
+div#sybilnav {
+     -moz-columns: 4 200px; 
+     -webkit-columns: 4 200px;
+     columns: 4 200px;
+     padding: 10px 10px 0 10px;
+}
+
+#sybilnav li {
+     break-inside: avoid;
+     page-break-before: right;
+     -webkit-column-break-inside: avoid;
+}
+
+#sybilnav ul li:last-child {
+     margin-bottom: -10px;
+}
+
+#sybilnav ul li {
+     list-style: none;
+     padding-left: 0;
+     margin-left: 0;
+     width: 50px;
+     white-space: nowrap;
+}
+
+#sybilnav ul li::before {
+     content: '\1F441\00A0\00A0';
+     font-size: 16pt;
+} 
+
+table.sybil_routerinfo {
+     margin-bottom: 10px;
 }
 
-div.ag2 {
-     margin: 5px -15px -10px;
+.sybil_routerinfo th {
+     padding: 1px 1px 1px 6px !important;
 }
 
-div.app {
-     float: left;
-     padding: 0;
-     min-width: 60px;
-     text-align: center !important;
-     border: 1px solid #55a;
-     border-top: 1px solid #77b;
-     border-left: 1px solid #77b;
-     margin: 3px;
-     border-radius: 3px;
-     background: -moz-linear-gradient(top, #001, #000);
+.sybil_routerinfo th:first-child {
+     text-align: left;
 }
 
-div.app:hover {
-     border: 1px solid #f60;
-     background: #000;
+table.sybil_routerinfo:first-of-type th {
+     padding: 6px !important;
 }
 
-div.app:last-child {
-     margin-bottom: 10px;
+.sybil_routerinfo th:first-child {
+     white-space: nowrap;
 }
 
-div.app a:link, div.app a:link:hover, div.app a:link:visited, div.app a:link:active {
-     font-size: 8pt !important;
-     text-transform: lowercase;
-     text-decoration: none;
+.sybil_routerinfo th:nth-last-child(2) {
+     text-align: right !important;
+     padding-right: 0 !important;
 }
 
-div.appgroup {
-     margin: 0;
-     padding: 0 8px;
-     width: auto;
+.sybil_routerinfo th:last-child {
+     width: 20px;
 }
 
-div.search {
-     margin: 10px 10px 0 0;
-     padding: 8px 8px 0 8px;
-     width: auto;
+.sybil_routerinfo td:first-child {
+     width: 50px;
+     white-space: nowrap;
 }
 
-table.search {
-     background: none;
-     margin-left:auto;
-     margin-right:auto;
-     padding: 8px;
-     width: auto;
+p.sybil_floodfill, p.family, p.threatpoints, p.hashdist, p#sybil_totals {
+     border: 1px solid #443da0;
+     padding: 5px 5px 5px 30px;
+     margin: 3px 0;
+     font-weight: bold;
+     background: url(/themes/console/images/buttons/show.png) 8px center no-repeat;
+     background: url(/themes/console/images/buttons/show.png) 8px center no-repeat, linear-gradient(to right, #000, #001 80%, #002 100%);
+     box-shadow: inset 0 0 0 1px #080077;
 }
 
-img.app {
-     height: 32px;
-     width: 32px;
-     padding: 6px 15px 0;
+p.sybil_floodfill, p.hashdist, p.family {
+     margin-top: -1px;
 }
 
-img.app2p {
-     height: 32px;
-     padding: 6px;
+p.sybil_floodfill + p.sybil_floodfill, p.family + p.family {
+     margin-top: -4px;
 }
 
-table.app {
-     background: none;
-     border: 0;
-     margin: auto;
-     width: auto;
+p.sybil_floodfill + a[name] + table.sybil_routerinfo, p.hashdist + a[name] + table.sybil_routerinfo  {
+     margin-top: 10px !important;
 }
 
-tr.app {
-     background: none;
-     border: 0;
-     margin: 0;
+.threatpoints + ul {
+     border: 1px solid #443da0;
+     padding: 5px 5px 0;
+     margin: -4px 0 10px;
+     background: #000;
+}
+.threatpoints + ul li:last-child {
+     margin-bottom: -5px;
 }
 
-td.app {
-     background: none;
-     border: 0;
-     margin: 0;
+/* end netdb */
+
+/* /confignet, /configadvanced */
+
+
+.configtable + .tabletitle {
+     margin-top: 12px;
+} 
+
+table.configtable {
+     margin-top: -1px;
+     margin-bottom: -2px !important;
 }
 
-.applabel {
-     background: #001;
-     font-size: 8pt;
-     margin: -5px -3px -3px;
-     padding: 2px 5px;
-     text-align: center;
-     min-width: 60px;
-     border-top: 1px solid #000;
-     border-radius: 0 0 2px 2px;
-     background: -moz-linear-gradient(top, #000, #001);
+table.configtable tr:last-child {
+     border-top: 1px solid #443da0;
 }
 
-.applabel:hover {
-     border-top: 1px solid #000;     
+table#netconfig th, table#externali2cp th, table#plugininstall th, .configtable th, th.th_title {
+    text-align: left;
+    padding: 5px 10px !important;
+    text-transform: uppercase;
+    font-size: 10pt;
+    letter-spacing: 0.08em;
+    word-spacing: 0.1em;
 }
 
-.applabel:hover {
+table.configtable td {
+     padding: 6px 10px;
      background: #000;
+     line-height: 180%;
+}
+
+.configtable input, .configtable textarea, .configtable select {
+     margin-left: 5px;
 }
 
-.appimg {}
+#netconfig img[src*="itoo"] {
+     display: none;
+}
 
-/* end home page */
+.configtable td.tabletextarea {
+     padding: 0 !important;
+}
 
-tt {
-     font-size: 8pt;
+textarea#advancedsettings {
+     margin: 0 !important;
+     width: 100%;
+     resize: none;
+     overflow-x: hidden;
+     white-space: pre-wrap;
+     border: 0 none transparent;
+     border-radius: 0;
 }
 
-tt, pre {
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+.configtable td.infohelp, p.infohelp, td.infohelp, p#debugmode, p#sybilinfo, p.infowarn, td.infowarn {
+     background: #000 url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px !important;
+     text-align: justify;
+     line-height: 130%;
+     border-bottom: 1px solid #443da0;
+     border-top: 1px solid #443da0;
+     white-space: normal !important;
+     font-weight: normal !important;
 }
 
-td {
-     padding: 4px;
+p.infowarn, td.infowarn, p.infohelp, td.infohelp {
+     line-height: 130% !important;
+     background-size: 28px 28px !important;
 }
 
-tr:nth-child(even) {
-     background-color: #001;
+p.infowarn, td.infowarn {
+     background: #000 url(/themes/console/images/info/infowarn.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px !important;
+     border: 1px solid #443da0;
 }
 
-tr:nth-child(odd) {
-     background-color: #000009;
+table.logtable, table#enviro {
+     margin-top: -1px !important;
 }
 
-hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0 solid #99f;
-     margin: 3px 0;
+p.infohelp, p#debugmode, p#sybilinfo {
+     border: 1px solid #443da0;
 }
 
-.statusnotes {
-     font-style: italic;
-     font-size: 8pt;
-     color: #eef;
-     text-align: center;
-     margin: -5px 0 5px 0;
+p#debugmode, p#sybilinfo {
+     margin-top: 0;
+}
+
+p#gatherstats {
+     margin-top: -5px; 
+}
+
+td.optionsave {
+     text-align: right;
+     border-top: 1px solid #443da0;
+     padding: 7px 5px !important;
+     white-space: nowrap;
+     width: 50px;
      background: #000;
-     border: 1px solid #99f;
-     border-top: 0;
-     padding: 3px 0;
 }
 
-div.joblog {
-     margin: 10px 0;
-     line-height: 140% !important;
+#floodfillconfig form, #plugininstall form, #updateplugins form, .configtable form {
+     margin-bottom: 0;
 }
 
-div.joblog li {
-     word-wrap: break-word !important;
-     text-align: left !important;
-     line-height: 130% !important;
-     margin-right: 10px;
+h3.h3table, h3.tabletitle, h3#i2pclientconfig, h3#advancedclientconfig, h3#webappconfig, h3#pluginconfig, h3#pluginfromurl, h3#pluginfromfile, h3#updateplugins, h3#pluginmanage, h3#bannedpeers, h3.ptitle, h3#transports, h3#upnpstatus, h3.sybils {
+     margin-bottom: 0 !important;
+     border-radius: 0;
+     border: 1px solid #443da0;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     padding: 7px 10px;
 }
 
-div.joblog li i {
-     color: #bbb;
-     text-transform: capitalize;
-     font-style: normal;
-     font-weight: bold;
+h3#pluginmanage {
+     margin-bottom: -13px !important;
 }
 
-div.joblog ul {
-     word-wrap: break-word !important;
-     text-align: justify;
+h3.tabletitle a {
+     text-transform: lowercase;
+     letter-spacing: normal;
 }
 
-div.joblog li:first-child {
-     margin-top: 0;
-     padding: 10px 0;
+h3.sybils + div, h3.sybils + a[name] + table {
+     margin-top: -1px;
 }
 
-div.joblog li:last-child {
-     margin-bottom: -10px;
+p.notfound {
+     border: 1px solid #443da0;
+     padding: 10px;
 }
 
-div.joblog form:first-child {
-     margin-top: 10px;
+h3#transports {
+     margin-bottom: -1px !important;
 }
 
-div.joblog table {
-     margin-top: 15px;
+h3#upnpstatus {
+     margin-bottom: 10px !important;
 }
 
-div.joblog p {
-     line-height: 130%;
+h3.ptitle {
+     margin-bottom: -6px !important;
 }
 
-div.joblog h3 {
-     margin: 10px 0 20px 0;
+h3#webappconfig {
+     margin-bottom: -13px !important;
 }
 
-div.joblog h3:first-child {
-     margin: 5px 0 15px 0;
+p#webappconfigtext {
+     margin: 1px 0 -2px 0;
+     background: url(/themes/console/images/info/java_edit.png) 12px center no-repeat !important;
+     background-size: 28px 28px !important;
 }
 
-div.joblog hr {
-     margin: 15px 0 15px;
+table#pluginconfig, table#i2pupdates, table.homelinkedit, table#peerdefs {
+     margin-top: -1px;
 }
 
-div.joblog ol {
-     margin-bottom: 0;
+#i2pupdates select {
+     min-width: 220px;
 }
-/*
-button, button:visited {
-     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px outset #66a;
-     padding: 1px 3px;
-     background: #ffe;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font-size: 8pt;
-     font-weight: bold;
-     margin: 2px;
-     text-align: center;
-     min-width: 60px;
-     -moz-box-shadow: inset 0 0 2px 1px #fff;
-     -khtml-box-shadow: inset 0 2px 8px 0 #fff;
-     box-shadow: inset 0 2px 8px 0 #fff;
-     color: #316;
+
+#i2pupdates .optbox {
+     margin-left: 8px;
 }
 
-button.accept {
-     background: #ffe url('../images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+h3#i2pclientconfig, h3#pluginconfig, h3#pluginfromurl, h3#pluginfromfile {
+     margin-bottom: -13px !important;
 }
 
-button.add {
-     background: #ffe url('../images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#advconf {
+     margin-bottom: 9px !important;
 }
 
-button.cancel {
-     background: #ffe url('../images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+p#javaclienthelp {
+     border: 1px solid #443da0;
+     background: url(/themes/console/images/info/infohelp.png) 12px center no-repeat !important;
+     padding: 10px 10px 10px 50px !important;
 }
 
-button.check {
-     background: #ffe url('../images/tick.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+div#clientsconfig {
+     margin-top: -2px;
 }
 
-button.delete {
-     background: #ffe url('../images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#externali2cp th {
+     text-align: left;
 }
 
-button.download {
-     background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#tunnelconfig th {
+     padding: 6px 10px;
 }
 
-button.go {
-     background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#tunnelconfig th img {
+     margin-bottom: -2px;
 }
 
-button.reload {
-     background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+th.th_title {
+     padding: 7px 10px !important;
+     text-align: left;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+     box-shadow: inset 0 0 0 1px #000;
 }
 
-button.search {
-     background: #ffe url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+input#hideme {
+     display: none;
 }
 
-button.stop {
-     background: #ffe url('../images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#plugininstall input[type="text"] {
+     width: 50%;     
+     min-width: 400px;
 }
 
-button:hover {
-     border: 1px solid #f60;
-     background-color: #f60 !important;
-     color: #fff;
-     -moz-box-shadow: inset 0 0 0 1px #fff;
-     -khtml-box-shadow: inset 0 0 0 1px #fff;
-     box-shadow: inset 0 0 0 1px #fff;
+#plugininstall input.cancel {
+     display: none;
 }
 
-button:active {
-     border: 1px solid #f60;
-     background: #202 !important;
-     color: #f60;
-     -moz-box-shadow: inset 0 0 0 1px #f60;
-     box-shadow: inset 0 0 0 1px #f60;
-     -khtml-box-shadow: inset 0 0 0 1px #f60;
+#pluginupdater {
+     border: 1px solid #443da0;
+     padding: 5px;
+     margin-top: -11px;
+     margin-bottom: 10px !important;
+     background: #000;
 }
-*/
-input {
-     margin: 3px 5px 3px 0;
-     vertical-align: middle;
+
+#pluginupdater form {
+     margin-bottom: 0;
 }
 
-/*
-input.accept {
-     background: #ffe url('../images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.formaction#tunnelconfigsave, .formaction#homeapps, .formaction#browserstart {
+     margin-bottom: -2px !important;
 }
 
-input.add {
-     background: #ffe url('../images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+h4.embeddedtitle#updateplugins {
+     padding: 5px 10px;
+     font-size: 9pt;
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+     border: 1px solid #443da0;
+     text-align: left;
+     text-transform: uppercase;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin-top: -13px;
+} 
+
+#manualreseed input[type="text"] {
+     width: 50%;
+     width: calc(100% - 300px);
 }
 
-input.cancel {
-     background: #ffe url('../images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#permabanned, table#loggingoptions, table#addkeyring {
+     margin-bottom: -3px !important;
+     margin-top: -1px;
 }
 
-input.check {
-     background: #ffe url('../images/tick.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#permabanned {
+     margin-bottom: 9px !important;
 }
 
-input.delete {
-     background: #ffe url('../images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#permabanned th, #banneduntilrestart th {
+     padding: 5px 10px !important;
 }
 
-input.download {
-     background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+table#configstats {
+     margin-bottom: -2px;
 }
 
-input.go {
-     background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#configstats th {
+     padding: 8px 10px;
+     text-align: left;
 }
 
-input.reload {
-     background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#configstats th b {
+     text-transform: uppercase;
+     font-size: 10pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
 }
 
-input.search[type="text"] {
-     background: #001 url('../images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+#configstats td:first-child {
+     width: 40px;
+     white-space: nowrap;
 }
 
-input.stop {
-     background: #ffe url('../images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#configstats td {
+    color: #b2bcf7;
 }
 
-input:hover {
-     background-color: #f60;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0 0 0 1px #fff;
+#configstats td b {
+    color: #c9ceff;
+}
 
+#configstats input.optbox {
+     margin: 0;
+     padding: 0;
+}
+#configstats tr.tablefooter td {
+     padding: 4px 10px;
+     line-height: 140%;
+}
+p#enablefullstats {
+     margin-top: 5px;
+     padding: 5px 10px;
+     border: 1px solid #443da0;
 }
 
-input[type=text], input[type=password] {
-     margin: 3px 5px 3px 5px;
+#enablefullstats .optbox {
      vertical-align: middle;
 }
-*/
 
-select {
-     margin: 3px 5px 3px 0;
-     vertical-align: middle;
-     min-width: 90px;
+#peerdefs td:first-child {
+     width: 40px;
+     white-space: nowrap;
+     border: 1px inset #120f35;
+     text-align: right;
 }
 
-input {
-     border-radius: 3px;
+/* infohelp/warn overrides and misc ornamentation */
+
+table#bugreports td.infohelp {
+     background: url(/themes/console/images/info/bugreport.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-input[type=text], input[type=password] {
-     background: #001;
-     color: #eef;
-     border: 1px solid #99f;
+p#debugmode {
+     padding: 15px 15px 15px 50px;
+     background: url(/themes/console/images/info/debug.png) 12px center no-repeat !important;
+     background-size: 28px 28px !important;
 }
 
-submit {
-     margin: 3px 5px 3px 5px;
-     padding: 2px 0;
-     font: 8pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+p#sybilinfo {
+     padding: 15px 15px 15px 50px;
+     background: url(/themes/console/images/info/experimental.png) 12px center no-repeat !important;
+     background-size: 28px 28px !important;
 }
 
-p {
-     padding: 5px 20px 0 20px;
-     text-align: justify;
+#bandwidthconfig tr:first-child .infohelp {
+     background: url(/themes/console/images/info/bandwidth.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-p img:first-child {
-     display: none !important;     
+#addkeyring td.infohelp {
+     background: #000 url(/themes/console/images/info/keys.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.formaction {
-     text-align: right;
+#joinfamily tr:nth-child(3) td:first-child {
+     background: #000 url(/themes/console/images/info/key.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.langbox {
-     margin: 5px 3px 0;
-     color: #eef;
-     font-size: 7pt;
-     width: auto;
-     text-align: right;
-     float: right;
-     vertical-align: middle;
+#newfamily tr:last-child td:first-child {
+     background: #000 url(/themes/console/images/info/label.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.langbox img {
-     padding: 0 2px; /* Ignored by IE8 */
-     opacity: 0.7;
+#oldhome td:first-child {
+     background: url(/themes/console/images/info/home.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-/* opera targetted hack */
-x:-o-prefocus, .langbox img {
-     margin-bottom: 4px;
+#oldhome input[type="checkbox"], #enablefullstats input[type="checkbox"] {
+     vertical-align: sub;
 }
 
-.langbox img:hover {
-     opacity: 1;
+#floodfillconfig .infohelp {
+     background: #000 url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.links {
-     padding-bottom: -2px;
-     text-align: justify;
-     margin-top: 5px !important;
-     margin-left: 5px !important;
+p#clientconf.infohelp, p#webappconfig.infohelp {
+     background: #000 url(/themes/console/images/info/java_edit.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.links li {
-     list-style-image: url("images/link.png") !important;
-     padding-right: 15px !important;
+p#pluginconfigtext {
+     background: #000 url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.links li:first-child {
-     padding-top: 10px !important;
+#plugininstall .infohelp {
+     background: #000 url(/themes/console/images/info/plugin_link.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.links li:last-child {
-     padding-bottom: 10px !important;
-     margin-bottom: 20px;
+#manualreseed tr:nth-last-child(2) td.infohelp {
+     background: #000 url(/themes/console/images/info/box.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.links b {
-     line-height: 170%;
-     letter-spacing: 0.12em !important;
+#config_peers tr:nth-child(3) td.infohelp {
+     background: #000 url(/themes/console/images/info/blocked.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-a:link {
-     color: #bbf;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
+h3#shutdownrouter + p.infohelp {
+     background: #000 url(/themes/console/images/info/power.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-a:visited {
-     color: #99f;
-     text-decoration: none;
-     font-weight: bold;
+h3#restartrouter + p.infohelp {
+     background: #000 url(/themes/console/images/info/reboot.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-a:hover {
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
+h3#systray + p.infohelp {
+     background: #000 url(/themes/console/images/info/systray.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-a:active {
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
+h3#servicedebug + p.infohelp {
+     background: #000 url(/themes/console/images/info/debug.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-pre {
-     font-size: 9pt;
-     margin: 0 20px;
+h3#browseronstart + p.infohelp {
+     background: #000 url(/themes/console/images/info/launch_browser.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-tt {
-     font-size: 9pt;
-     font-weight: bold;
-     color: darkgreen;
+.main#config_reseed p.infohelp {
+     background: #000 url(/themes/console/images/info/connect.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.tablefooter {
-     border: 1px solid #99f;
+p#enablefullstats, p#gatherstats {
+     background: #000 url(/themes/console/images/info/statistics.png) 12px center no-repeat !important;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px !important;
 }
 
-.tablefooter tr, .tablefooter td {
-     background: #000;
-     font-size: 8pt;
-     font-weight: bold;
-     line-height: 150%;
-     word-wrap: nowrap;
-     padding: 8px 1px;
-     border-top: 2px solid #99f;
+#config_family .infohelp {
+      background: #000 url(/themes/console/images/info/family.png) 12px center no-repeat !important;
+      padding: 15px 15px 15px 50px;
+      background-size: 28px 28px !important;
 }
 
-.tidylist {
-     text-align: justify;
-     padding-right: 20px;
-     margin-right: 10px !important;
+#consolepass tr:first-child td {
+     background: #000 url(/themes/console/images/info/user_add.png) 12px center no-repeat;
+     background-size: 28px 28px;
+     padding: 15px 15px 15px 50px;
 }
 
-div.graphspanel {
-     padding: 10px 0 20px 0;
-     margin: -16px -16px -11px -16px;
-     background: #000012;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #99f;
-     text-align: center !important;
+form[action="events"] {
+     padding: 10px 10px 10px 50px;
+     background: url(/themes/console/images/info/logs.png) 12px center no-repeat;
+     background-size: 28px 28px;
 }
 
-div.graphspanel img {
-     border: 1px solid #99f;
-     padding: 2px;
-     margin: 6px;
-     background: #00000A;
-     opacity: 0.9;
+#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2) {
+     background: #000 url(/themes/console/images/info/url.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
 }
 
-div.graphspanel img:hover {
-     border: 1px solid #f60;
-     padding: 2px;
-     margin: 6px;
-     text-align: center !important;
-     background: #002;
-     opacity: 1;
+#manualreseed tr:nth-child(5) td:nth-last-child(2), #plugininstall tr:nth-child(5) td:nth-last-child(2) {
+     background: #000 url(/themes/console/images/info/from_file.png) 12px center no-repeat;
+     padding: 15px 15px 15px 50px;
+     background-size: 28px 28px;
 }
 
-div.graphspanel hr {
-     margin: 10px 0;
+/* responsive layout */
+
+@media screen and (min-width: 1500px) {
+body, .main, .main td, .news p, #news p, .statusnotes {
+     font-size: 10pt !important;
 }
 
-div.graphspanel form:last-child {
-     text-align: left;
-     margin: 0 20px;
+h1 {
+     font-size: 19pt;
+     padding: 15px;
 }
 
-div.graphspanel h3 {
-     text-align: left;
-     margin: 10px 20px 10px 20px;
+.main button, .main input, select, textarea {
+     font-size: 9pt !important;
 }
 
-table code {
-     font-size: 8.5pt;
+.main, .news, h1 {
+     margin-left: 232px !important;
 }
 
-table li:last-child {
-     margin-bottom: 15px;
+.routersummary {
+     width: 200px !important;
 }
 
-table ul {
-     font-size: 8.5pt;
+.routersummary img[src$="i2plogo.png"] {
+     transform: scale(1.1);
 }
 
+.routersummary div[style="height: 36px;"] {
+     height: 40px !important;
+     margin-top: 3px;
+}
 
-code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #0d0;
-/*     padding: 0 2px;*/
+.routersummary table[id^="sb_"], #sb_localtunnels {
+     width: 216px !important;
 }
 
-div.footnote {
-     text-align: right;
-     color: #99f;
-     font-size: 7pt;
-     margin-bottom: -5px;
+.routersummary td, .routersummary a, .routersummary button, .routersummary h4, .routersummary h4 a {
+     font-size: 9pt !important;
 }
 
-div.footnote hr{
-     margin: 15px 0 3px 0 !important;
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0 solid #99f;
+.routersummary h3 a {
+     font-size: 11pt !important;
 }
 
-.topness {
-     font-size: 8pt;
-     text-align: right;
-     margin-top: -5px;
-     margin-bottom: -10px;
-     margin-right: 5px;
+.routersummary button {
+     min-width: 100px !important;
 }
 
-/* Fixes for when app is not started and console loads inside iframe */
+div.app {
+     min-width: 138px;
+}
 
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
+.applabel {
+     width: 134px !important;
 }
 
-.iframed div.routersummaryouter {
-     display: none !important;
+.applabel a {
+     font-size: 9pt !important;
 }
 
-/* end iframed console fixes */
+.themelabel {
+     padding: 2px;
+}
+
+code, tt {
+     font-size: 9pt !important;
+}
+}
diff --git a/installer/resources/themes/console/midnight/console_ar.css b/installer/resources/themes/console/midnight/console_ar.css
new file mode 100644
index 0000000000000000000000000000000000000000..b95b9db28d098b0576dd31b10198c338805c71d4
--- /dev/null
+++ b/installer/resources/themes/console/midnight/console_ar.css
@@ -0,0 +1,294 @@
+/* I2P Theme: Camo aka Dark - Arabic override */
+/* Description: Military Grade. */
+/* Comment: Thanks to Florian Kuhlmann for the hatface images. [http://www.flickr.com/photos/floriankuhlmann/] */
+/* Author: dr|z3d */
+
+body {
+     direction: rtl;
+}
+
+div.main li {
+     margin: 5px 20px;
+     text-align: right;
+     line-height: 150%;
+}
+
+table {
+     direction: rtl;
+}
+
+td {
+    text-align: right;
+}
+
+div.news {
+     margin: -1px 205px 0px 5px;
+     direction: ltr;
+}
+
+div.main {
+     margin: -1px 205px 5px 5px;
+     background: url("images/scarface.jpg") no-repeat scroll left bottom #000000 !important;
+}
+
+h1 {
+     margin: 0 205px 0 5px !important;
+}
+
+h1,h2,h3,h4 {
+     direction: rtl;
+     text-align: right;
+}
+
+button.search {
+     margin-right: 30px;
+}
+
+div.routersummary h3, div.routersummary h4, .routersummary a, .routersummary b {
+     text-align: center;
+     font-weight: normal;
+}
+
+div.routersummary h3, div.routersummary h4 {
+     font-size: 10pt;
+}
+
+div.routersummary td {
+     text-align: right;
+}
+
+div.routersummary td:last-child {
+     text-align: left;
+     margin-left: 3px;
+}
+
+div.routersummary td:first-child {
+     text-align: right;
+}
+
+#sb_services td, #sb_internals td, #sb_advanced td {
+     text-align: center;
+}
+
+#sb_localtunnels td:last-child {
+     text-align: left;
+}
+
+div.tunnels {
+     padding: -3px 0 !important;
+}
+
+div.tunnels table {
+     margin: 0 -7px 0 5px !important;
+}
+
+.langbox {
+     float: left;
+     text-align: left;
+}
+
+.formaction {
+     text-align: left;
+}
+
+form {
+    text-align: right;
+}
+
+div.routersummary form {
+    text-align: center;
+}
+
+.cells {
+    text-align: center;
+}
+
+div.joblog li, div.newsheadings li {
+    text-align: left;
+    direction: ltr;
+}
+
+span.newtab {
+     text-align: left;
+     font-size: 8pt;
+     float: left;
+     letter-spacing: 0;
+}
+
+.tab2::before, .tab2::after {
+     display: none;
+}
+
+/* lang selection */
+
+.langselect img {
+     margin-right: -61px;
+}
+
+.langselect .optbox:checked + img {
+     margin-right: -63px;
+}
+
+/* theme selection */
+
+.themechoice, .langselect {
+     float: right !important;
+} 
+
+.themechoice {
+     padding: 5px;
+}
+
+.themechoice .optbox {
+     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
+     outline: 1px dotted #f00;
+     position: absolute;
+     padding: 2px;
+     margin-right: -27px;
+     min-height: 78px !important;
+}
+
+.themechoice .optbox + img {
+     border: 1px solid transparent;
+}
+
+.themechoice .optbox + img, .themechoice .optbox:checked + img {
+     margin: 5px;
+     padding: 0 !important;
+}
+
+h3#iptransport a, th#upnpconfig a, h3#bwlimiter a, #config_stats h3 a, #config_logging h3 a, h3#graphdisplay a, #logs h3 a, h3#advancedconfig a {
+     float: left;
+}
+
+#sybilnav ul li a {
+     padding-right: 0;
+}
+
+.sybil_routerinfo th:first-child {
+     text-align: right;
+}
+
+.sybil_routerinfo th:nth-last-child(2) {
+     padding-left: 0;
+     text-align: left !important;
+}
+
+.sybil_routerinfo th {
+     padding: 1px 3px 1px 1px !important;
+}
+
+table#leasesetdebug th:first-child, table#leasesetsummary th:first-child {
+     text-align: right;
+}
+
+table#leasesetdebug th:last-child, table#leasesetsummary th:last-child {
+     text-align: left;
+}
+
+table#leasesetdebug th, table#leasesetsummary th {
+      padding: 5px;
+}
+
+table.leaseset th {
+     text-align: right;
+}
+
+table.leaseset th:first-child b {
+     float: right;
+}
+
+table.leaseset th:last-child, table.leaseset td:nth-child(2) {
+     text-align: left;
+}
+
+#netdboverview th, table.netdbentry th, table#leasesetdebug td:nth-child(2n) {
+     text-align: right;
+}
+
+.main#debug {
+     direction: ltr;
+}
+
+#jardump.main th:nth-child(1), #jardump.main th:nth-child(3), #jardump.main th:nth-child(6), #jardump.main th:nth-child(7) {
+     text-align: right;
+}
+
+#schedjobs td {
+     text-align: center;
+}
+
+table.netdbentry th:last-child, table#leasesetdebug td:nth-child(2n+1) {
+     text-align: left;
+}
+
+#tunnels.main h3 a {
+     float: left;
+}
+
+table#enviro td:first-child {
+     text-align: left;
+}
+
+#wrapperlogs pre, table[id$="logs"] ul, .logtable ul li {
+     direction: ltr;
+     text-align: left;
+}
+
+#criticallogs ul {
+     border: none;
+}
+
+#eventlog th {
+     text-align: right;
+     padding-right: 10px;
+}
+
+.homelinkedit th:nth-child(3), .homelinkedit th:last-child {
+     text-align: right !important;
+}
+
+table#netconfig th, table#externali2cp th, table#plugininstall th, .configtable th, th.th_title {
+     text-align: right !important;
+}
+
+#sidebarconf th:nth-child(1), #sidebarconf th:nth-child(2) {
+     text-align: right;
+}
+
+#sidebarconf td:nth-child(4) {
+     padding-right: 0;
+}
+
+#sidebarconf td:nth-child(3) {
+     text-align: left !important;
+     padding-left: 0;
+}
+
+.configtable td.infohelp, p.infohelp, td.infohelp, p#debugmode, p#sybilinfo, p.infowarn, td.infowarn, p#keyringhelp, h3#shutdownrouter + p, h3#restartrouter + p, h3#servicedebug + p, h3#browseronstart + p, h3#runonstartup + p, h3#systray + p {
+     background: #000 url(images/infohelp.png) right 8px center no-repeat !important;
+     padding: 15px 45px 15px 15px !important;
+}
+
+p.infowarn, td.infowarn {
+     background: #000 url(images/infowarn.png) right 8px center no-repeat !important;
+}
+
+.main#config_update .messages {
+     background: #000 url(images/infohelp.png) no-repeat right 10px center !important;
+     text-align: right;
+     padding: 15px 55px 15px 15px;
+}
+
+.main#config_update .messages a {
+     float: left;
+     margin: 0 5px
+}
+
+td.optionsave {
+     text-align: left;
+}
+
+#tunnelconfig th {
+     text-align: right;
+}
diff --git a/installer/resources/themes/console/midnight/console_big.css b/installer/resources/themes/console/midnight/console_big.css
index 9a1796aeaa1b5c2dc50c7bf21c4c6bff3e9a6b7c..63f54b7ab8007b890800e47767c190f0462956fe 100644
--- a/installer/resources/themes/console/midnight/console_big.css
+++ b/installer/resources/themes/console/midnight/console_big.css
@@ -14,7 +14,7 @@ div.routersummary h3 {
 }
 
 div.routersummary h4 {
-     font-size: 11.5pt;
+     font-size: 11.5pt !important;
      letter-spacing: 0;
 }
 
@@ -28,15 +28,28 @@ div.routersummary table a:link, div.routersummary table a:visited {
      font-size: 10.5pt;
 }
 
-div.tunnels a{
+div.tunnels a {
      font-size: 9pt !important;
 }
 
-div.tunnels table{
+div.tunnels table {
      margin: -2px -0px -4px 2px !important;
      width: 185px;
 }
 
+.messages li {
+     font-weight: normal !important;
+     font-size: 10pt;
+}
+
+.confignav {
+     font-size: 11pt;
+}
+
+.themechoice {
+     height: 82px !important;
+}
+
 /* global overrides */
 
 a, b, div.routersummary h3 a, div.routersummary h4 {
@@ -57,6 +70,5 @@ div.joblog li i {
 }
 
 b, div.joblog b {
-    color: #ee8;
     font-size: 110%;
 }
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/default.css b/installer/resources/themes/console/midnight/default.css
deleted file mode 100644
index ed4d729245fa478d143166664d93eb958f5a6f3e..0000000000000000000000000000000000000000
--- a/installer/resources/themes/console/midnight/default.css
+++ /dev/null
@@ -1,254 +0,0 @@
-/* I2P Theme: Midnight - I2P Tunnel Manager */
-/* Description: Minimalist Midnight Blue, based on Classic theme.*/
-/* Author: Dr|Z3d */
-
-body {
-     margin: 0px;
-     padding: 0px;
-     text-align: center;
-     font: 10pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #000;
-     color: #eef;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-body.iframed {
-     background: transparent url('../dark/images/transparent.gif') !important;
-     padding: 15px 0 0;
-}
-
-div {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-h4, label {
-     margin: 0px;
-     padding: 2px;
-     float: left;
-     width: 150px;
-     height: 24px;
-     font-weight: normal;
-     text-align: right;
-     font-size: 8.5pt;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-h4 {
-     font-size: 10.5pt;
-     text-align: left !important;
-     font-weight: bold;
-     margin: -6px 0 5px -10px !important;
-     padding: 5px 10px 5px 10px;
-     background: #001;
-     text-shadow: 0px 0px 1px rgba(32, 32, 192, 0.3);
-     text-transform: uppercase;
-     white-space: nowrap;
-     width: 800px;
-     letter-spacing: 0.09em;
-     background: #001 url("/themes/console/midnight/images/tinytitles.png") repeat-x center center !important;
-}
-
-label {
-     font-style: italic;
-     margin: 0 3px 0 -3px;
-}
-
-a {
-     text-decoration: none;
-}
-
-form {
-     margin: 0px;
-}
-
-textarea, input, select, button, a {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-     font: 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     float: left;
-     margin: 2px 0 5px 0;
-     background: #001;
-     color: #eef;
-     border-radius: 3px;
-}
-
-button {
-     float: none;
-     height: 20px !important;
-}
-
-textarea {
-     border: 1px solid #99f;
-     background: #000;
-     color: #eef;
-}
-
-br {
-     clear: left;
-}
-
-div.statusNotRunning {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #d00;
-}
-
-div.statusRunning {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #0d0;
-}
-
-div.statusStarting {
-     float: left;
-     width: 82px;
-     height: 24px;
-     color: #393;
-}
-
-hr {
-     display: none;
-}
-
-.separator, .subdivider {
-     clear: both;
-     height: 1px;
-     margin: 5px -8px 5px -8px;
-     border-bottom: 1px solid #99f;
-}
-
-.subdivider {
-     border-bottom: 1px dotted #99f;
-     margin: 0 0 10px 0;
-}
-
-.freetext {
-     width: 150px;
-     height: 22px;
-     border: 1px solid #99f;
-}
-
-.control {
-     margin: 2px;
-     padding: 2px;
-     overflow: hidden;
-     height: 20px;
-     min-width: 60px;
-     font-weight: bold;
-     background: #ddd;
-     color: #001 !important;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     vertical-align: middle;
-     white-space: nowrap;
-     text-decoration: none;
-     border-radius: 3px;
-}
-
-.control:hover {
-     background: #77f;
-     color: #fff !important;
-     text-decoration: none;
-}
-
-.control:active {
-     border: 2px inset;
-}
-
-.panel {
-     width: 790px;
-     margin: 16px auto 16px auto;
-     padding: 5px 10px;
-     overflow: hidden;
-     text-align: left;
-     font-size: 8pt;
-     background: #001;
-     border: 1px solid #99f;
-     -moz-box-shadow: inset 0px 0px 0px 1px #99f;
-     border-radius: 3px;
-}
-
-.iframed .panel {
-     margin: 16px auto -8px auto !important;
-}
-
-.iframed .panel.iframed {
-     margin: 0 auto -8px auto !important;
-}
-
-.panel .footer {
-
-     padding: 4px;
-}
-
-.toolbox {
-     width: 100%;
-}
-
-.rowItem {
-     width: 750px;
-     float: left;
-     margin: 0px;
-}
-
-.comment {
-     font-style: italic;
-     white-space: nowrap;
-}
-
-.text {
-     height: 24px;
-     width: 150px;
-     padding: 2px 0 0 2px;
-     float: left;
-     margin: 0;
-     font-weight: bold;
-}
-
-.accessKey {
-     text-decoration: underline;
-}
-
-#globalOperationsPanel {
-     background: #001;
-     border: 1px solid #99f;
-     -moz-box-shadow: inset 0px 0px 0px 1px #900;
-     padding: 5px 5px 10px 5px;
-     text-align: right;
-}
-
-#globalOperationsPanel .control {
-     min-width: 100px !important;
-     margin-top: 3px;
-     float: right;
-}
-
-a:link {
-     color: #bbf;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
-}
-
-a:visited {
-     color: #aaf;
-     text-decoration: none;
-     font-weight: bold;
-}
-
-a:hover {
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
-}
-
-a:active {
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
-}
diff --git a/installer/resources/themes/console/midnight/i2ptunnel.css b/installer/resources/themes/console/midnight/i2ptunnel.css
index faa1f1ee7bfb137e0236bca7e541ff18f538dfca..4c22eb6a8ec5d526c6e665eec1a3e60e01122ad2 100644
--- a/installer/resources/themes/console/midnight/i2ptunnel.css
+++ b/installer/resources/themes/console/midnight/i2ptunnel.css
@@ -1,179 +1,958 @@
-/* I2P Tunnel Edit Page
-*/
-
-#tunnelEditPage input {
-    width: 458px;
-}
-
-#tunnelEditPage select {
-    width: 308px;
-}
-
-#tunnelEditPage option[selected] {
-    color: green;
-}
-
-#tunnelEditPage #targetField,
-#tunnelEditPage #accessField,
-#tunnelEditPage #optionsField {
-    height: 48px;
-    width: 150px;
-}
-#tunnelEditPage #tunnelOptionsField {
-    height: 96px;
-    width: 150px;
-}
-
-#tunnelEditPage #targetField label,
-#tunnelEditPage #accessField label,
-#tunnelEditPage #tunnelOptionsField label,
-#tunnelEditPage #optionsField label{
-    height: 48px;
-    width: 150px;
-}
-
-#tunnelEditPage #reachField,
-#tunnelEditPage #hostField,
-#tunnelEditPage #depthField,
-#tunnelEditPage #countField,
-#tunnelEditPage #optionsHostField {
-    width: 304px;
-    margin-right: 4px;
-}
-
-#tunnelEditPage #portField,
-#tunnelEditPage #optionsPortField,
-#tunnelEditPage #backupField,
-#tunnelEditPage #varianceField {
-    width: 140px;
-}
-
-#tunnelEditPage #reachField label,
-#tunnelEditPage #hostField label,
-#tunnelEditPage #portField label,
-#tunnelEditPage #optionsHostField label,
-#tunnelEditPage #optionsPortField label,
-#tunnelEditPage #depthField label,
-#tunnelEditPage #countField label,
-#tunnelEditPage #backupField label,
-#tunnelEditPage #varianceField label {
-    text-align: left;
-
-}
-
-#tunnelEditPage #otherField label {
-    width: 300px;
-}
-
-#tunnelEditPage #reachableByOther,
-#tunnelEditPage #tunnelDepth,
-#tunnelEditPage #tunnelQuantity,
-#tunnelEditPage #targetHost,
-#tunnelEditPage #clientHost {
-    width: 306px;
-}
-
-#tunnelEditPage #port {
-    width: 80px;
-}
-
-#tunnelEditPage #targetPort,
-#tunnelEditPage #clientPort,
-#tunnelEditPage #tunnelBackupQuantity,
-#tunnelEditPage #tunnelVariance {
-    width: 150px;
-}
-
-#tunnelEditPage #shared,
-#tunnelEditPage #connectDelay,
-#tunnelEditPage #startOnLoad {
-    width: 16px;
-}
-
-#tunnelEditPage label {
-    width: 150px;
-    font-weight: bold;
-    text-align: right;
-    float: left;
-}
-
-/* I2P Tunnel List Page
-*/
-
-#tunnelListPage .rowItem {
-    width: 150px;
-}
-
-#tunnelListPage select {
-    width: 150px;
-}
-
-#tunnelListPage textarea {
-    width: 100%;
-    height: 60px;
-    padding: 0 0 0 4px;
-    color: green;
-    margin: 5px 0 10px;
-}
-
-#tunnelListPage .footer .control {
-    margin-left: 2px;
-}
-
-#tunnelListPage .footer label {
-    text-align: right;
-    height: 24px;
-    width: 360px;
-    float: left;
-
-}
-
-/* Use Leary and Langridge content replacement methods (LIR)
-** to embed accessibility information into the document.
-** Should allow the lists to be rendered nicely by
-** screen readers. (and lynx!)
-*/
-
-#tunnelListPage label {
-    height: 0;
-    width: 0;
-    overflow: hidden;
-}
-
-#tunnelListPage .nameHeaderField label,
-#tunnelListPage .portHeaderField label,
-#tunnelListPage .typeHeaderField label,
-#tunnelListPage .interfaceHeaderField label,
-#tunnelListPage .targetHeaderField label,
-#tunnelListPage .previewHeaderField label,
-#tunnelListPage .statusHeaderField label {
-    text-align: left;
-    width: 150px;
-    height: 24px;
-    float: left;
-}
-
-#tunnelListPage .targetField,
-#tunnelListPage .targetField .text,
-#tunnelListPage .targetHeaderField,
-#tunnelListPage .targetHeaderField label {
-    width: 300px;
-}
-
-#tunnelListPage .descriptionField,
-#tunnelListPage .destinationField {
-    width: 750px;
-}
-
-#tunnelListPage .descriptionField .text,
-#tunnelListPage .destinationField .text {
-    width: 450px;
-}
-
-#tunnelListPage .descriptionField label,
-#tunnelListPage .destinationField label {
-    text-align: right;
-    width: 150px;
-    height: 24px;
-    float: left;
-}
+/* I2P TunnelManager theme: "Midnight" */ 
+/* Author: dr|z3d.  */
+
+body {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     font-family: "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     background: #000;
+     color: #c9ceff;
+     font-size: 9pt;
+}
+
+body.iframed {
+     background: transparent url('images/transparent.gif') !important;
+     padding: 0;
+     overflow: hidden; 
+}
+
+:-moz-focusring {
+     outline: none !important;
+}
+
+div {
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+}
+
+a {
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:link {
+     color: #443da0;
+     outline: none;
+}
+
+a:visited {
+     color: #7670c2;
+}
+
+a:hover, a:focus {
+     color: #652787;
+}
+
+a:active {
+     color: #4f0519;
+}
+
+.accesskey {
+     display: none !important;
+     text-decoration: underline;
+}
+
+form {
+     margin: 0;
+}
+
+br {
+     clear: left;
+}
+
+div.statusNotRunning {
+     height: 24px;
+     overflow: hidden;
+     color: #d00;
+     background: url('images/console_status_stopped.png') center center no-repeat;
+}
+
+div.statusRunning {
+     height: 24px;
+     overflow: hidden;
+     color: #0b0;
+     background: url('images/console_status_running.png') center center no-repeat;
+}
+
+div.statusStarting {
+     height: 24px;
+     overflow: hidden;
+     color: #393;
+     background: url('images/console_status_starting.png') center center no-repeat;
+}
+
+div[class^="status"] {
+     font-size: 0 !important;
+     background-position: center center;
+     text-align: center;
+     margin: 0;
+     padding: 0;
+     width: 100%;
+     background-size: auto 16px;
+}
+
+hr {
+     display: none;
+}
+
+#clientHost {
+     width: 300px;
+}
+
+#clientPort {
+     width: 100px;
+}
+
+.panel {
+     margin: 8px auto;
+     padding: 5px 3px !important;
+     width: calc(100% - 14px);
+     min-width: 450px;
+     max-width: 1400px;
+     overflow: hidden;
+     text-align: left;
+     color: #c9ceff;
+     background: none;
+}
+
+.panel:first-child {
+     margin-top: 0;
+}
+
+.panel:last-child {
+     margin-bottom: 5px;
+}
+
+.iframed .panel.iframed {
+     margin: 0 auto -8px auto !important;
+}
+
+.iframed .panel {
+     margin: 16px auto -8px auto !important;
+     width: 100%;
+}
+
+#globalTunnelControl {
+     margin: -13px auto;
+}
+
+.iframed #globalTunnelControl {
+     margin: 6px 0 -26px !important; 
+}
+
+#serverTunnels {
+     margin: -1px 0 10px;
+}
+
+h2, h3 {
+     padding: 6px 10px;
+     border: 1px solid #2d295f;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     margin: 5px 0 -1px;
+     color: #c9ceff;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+h3 {
+     margin-top: 10px;
+}
+
+.iframed h2 {
+     margin: 10px 0 -1px;
+}
+
+.iframed #globalTunnelControl h2 {
+     margin-top: 2px;
+}
+
+.panel table {
+     width: 100%;
+     border-collapse: collapse;
+     border: 1px solid #443da0;
+     border: 1px solid #2d295f;
+     margin: 0;
+}
+
+th {
+     background: #000;
+     background: linear-gradient(to bottom, #191729 0%, #191729 50%, #000 50%, #000 100%) !important;
+     padding: 6px 5px;
+     border-top: 1px solid #2d295f;
+     border-bottom: 1px solid #2d295f;
+     font-size: 10pt;
+     color: #c9ceff;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+td {
+     border-top: 1px solid #2d295f;
+     vertical-align: middle;
+     padding: 5px;
+     font-size: 9pt;
+}
+
+td > input {
+     margin-left: 0;
+}
+
+td > b {
+     margin-right: 5px;
+     display: inline-block;
+     min-width: 30px;
+}
+
+td.infohelp {
+     background: url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     background-size: 24px 24px;
+     background-position: 10px center;
+     padding: 10px 10px 10px 40px !important;
+}
+
+.tunnelConfig td {
+     width: 50%;
+}
+
+#clientTunnels tr, #serverTunnels tr, .tunnelConfig tr {
+     background: rgba(0,0,0,0.4);
+}
+
+.tunnelProperties {
+     background: #000 !important;
+     overflow: hidden;
+     text-align: left;
+     border: 1px solid #2d295f;
+}
+
+#serverTunnels {
+     margin: -1px 0 10px;
+}
+
+.tunnelProperties:hover {
+     background: #002 !important;
+}
+
+.newTunnel {
+     text-align: right;
+     border-top: 1px solid #2d295f !important;
+     padding: 5px !important;
+     background: #fff;
+}
+
+.newTunnel select, .newTunnel input, .newTunnel .control {
+     margin: 2px !important;
+}
+
+.newtunnel form {
+     width: 100%;
+     text-align: right;
+}
+
+.tunnelName {
+     width: 25%;
+     min-width: 150px;
+}
+
+.tunnelName a {
+     background: url(/themes/console/images/buttons/configure.png) left center no-repeat;
+     padding: 3px 3px 3px 20px !important;
+}
+
+.tunnelName a {
+     font-weight: bold;
+}
+
+.tunnelType {
+     width: 25%;
+}
+
+.tunnelPreview, .tunnelPort {
+     width: 15%;
+     text-align: center;
+}
+
+.tunnelLocation, .tunnelInterface {
+     width: 20%;
+}
+
+.tunnelLocation font[color="red"] {
+     margin-left: 2px;
+}
+
+.tunnelStatus {
+     text-align: center;
+     width: 10%;
+     min-width: 48px;
+}
+
+.tunnelControl {
+     width: 5%;
+     text-align: right;
+     white-space: nowrap;
+}
+
+th.tunnelControl {
+     text-align: center;
+}
+
+textarea {
+     border: 1px solid #443da0;
+     background: #000;
+     margin-left: 4px;
+     margin-right: 4px;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     resize: none;
+     box-sizing: border-box;
+     border-radius: 2px;
+}
+
+textarea:focus {
+     color: #c9ceff;
+     background: #000 !important;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
+}
+
+textarea#statusMessages, textarea#statusMessages:active, textarea#statusMessages:focus  {
+     margin: 0;
+     border: 0;
+     box-shadow: none;
+     height: 80px;
+     font-size: 9pt;
+     width: 100%;
+     border-radius: 0;
+     padding: 2px 4px;
+     color: #69f;
+     background: linear-gradient(to bottom, #000 0%, #000019 100%) !important;
+}
+
+.freetext {
+     width: 150px; 
+     border: 1px solid #443da0;
+     padding: 4px;
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     background: #fff;
+     color: #7670c2;
+     border-radius: 2px;
+     box-shadow: inset 2px 2px 1px #ccc;
+     cursor: text;
+}
+
+.freetext:focus {
+     box-shadow: 0 0 1px #99f;
+     color: #111;
+}
+
+.freetext[readonly], .freetext[readonly]:focus {
+     background: #000 !important;
+     box-shadow: inset 2px 2px 1px #000;
+     color: #558;
+     cursor: default;
+     border: 1px solid #443da0 !important;
+     opacity: 0.8;
+}
+
+input[type="hidden"], input.default {
+     display: none;
+}
+
+input, select, button, .control {
+     font-family: "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+     font-size: 9pt;
+     border-radius: 2px;
+     color: #c9ceff;
+     resize: none;
+     cursor: pointer;
+     filter: drop-shadow(0 0 1px #115);
+     -webkit-filter: drop-shadow(0 0 1px #115);
+}
+
+input {
+     background-color: #002;
+     color: #c9ceff;
+     margin: 0 2px 0 2px;
+     font-family: "Droid Sans", Verdana, Helvetica, sans-serif;
+     border: 1px solid #443da0;
+     text-decoration: none;
+}
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, button::-moz-focus-inner {
+     border: none;
+     outline: none;
+}
+
+input[type="file"] {
+     background: none;
+     border: none;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     vertical-align: middle;
+     min-width: 16px;
+     min-height: 16px;
+     margin: 0;
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
+}
+
+input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="checkbox"]:focus, input[type="radio"]:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%) drop-shadow(0 0 2px #c9ceff); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%) drop-shadow(0 0 2px #c9ceff);
+}
+
+input[type="password"] {
+     cursor: text;
+}
+
+input[type="text"], input[type="password"], textarea, textarea[readonly="readonly"]:focus  {
+     background: #000;
+     background: linear-gradient(to bottom, #000 0%, #000019 100%);
+     box-shadow: inset 0 0 3px 3px #000;
+     filter: none;
+     color: #7670c2;
+}
+
+input[type="text"]:focus, input[type="password"]:focus {
+     color: #c9ceff;
+     background: #000;
+     filter: drop-shadow(0 0 1px #99f);
+     -webkit-filter: drop-shadow(0 0 1px #99f);
+     transition: ease filter 0.3s 0s;
+}
+
+input[readonly="readonly"]:focus {
+     filter: none;
+     background: linear-gradient(to bottom, #000 0%, #010 100%) !important;
+}
+
+a.control, input.control {
+     white-space: nowrap;
+     vertical-align: middle;
+}
+
+.control {
+     margin: 2px 0 0 2px !important;
+     overflow: hidden;
+     min-width: 78px;
+     font-size: 8pt;
+     font-weight: bold;
+     background: #000;
+     background: linear-gradient(to bottom, #002 0%, #000 20%, #000 80%, #001 100%) !important;
+     color: #443da0 !important;
+     border: 1px solid #3e3f8f;
+     border-bottom: 1px solid #14144f;
+     border-right: 1px solid #14144f;
+     text-align: center;
+     white-space: nowrap;
+     border-radius: 2px;
+     vertical-align: middle;
+     text-decoration: none;
+     padding: 4px 2px !important;
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+}
+
+.control, .control:link, .control:visited {
+     overflow: hidden;
+     margin: 2px !important;
+     text-align: center;
+     white-space: nowrap;
+     text-decoration: none;
+     font-style: normal;
+     border-radius: 2px;
+     box-sizing: border-box;
+     min-width: 70px !important;
+     padding: 4px 8px !important;
+     color: #443da0 !important;
+     background: #000 !important;
+     background: linear-gradient(to bottom, #1f1e32, #090812 50%, #000 50%) !important;
+}
+
+.control:hover, .control:focus {
+     text-decoration: none;
+     color: #652787 !important;
+     border: 1px solid #652787 !important;
+     box-shadow: inset 0 1px 1px 0 #ddf;
+     background: #000 !important;
+}
+
+.control:active {
+     background: #652787 !important;
+     color: #c9ceff !important;
+     text-decoration: none;
+     box-shadow: inset 0 0 0 1px #000 !important;
+     box-shadow: inset 0 0 0 1px #000, inset 3px 3px 3px #000 !important;
+}
+
+a.control {
+     display: inline-block;
+}
+
+button.control {
+     box-sizing: border-box;
+     -moz-box-sizing: border-box;
+     padding: 4px !important;
+}
+
+button, input[type="submit"], input[type="reset"], .control, select {
+     box-shadow: inset 0 0 0 1px #000020;
+}
+
+select {
+     color: #443da0;
+     font: 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-weight: bold;
+     padding: 2px 16px 2px 3px;
+     background: #000;
+     border-radius: 2px;
+     cursor: pointer;
+     border: 1px solid #3e3f8f;
+     border-bottom: 1px solid #14144f;
+     border-right: 1px solid #14144f;
+     min-width: 120px;
+     text-overflow: ellipsis;
+}
+
+select option { /* dropdown menu reverts to normal font-weight */
+     font-weight: normal;
+     font-size: 9.5pt;
+}
+
+select:focus, select:hover {
+     color: #652787;
+     border: 1px solid #652787;
+}
+
+select:hover {
+     box-shadow: inset 0 1px 1px 0 #c9ceff;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+
+select {
+     -moz-appearance: none;
+     background: #000 url(images/dropdown.png) right center no-repeat !important;
+}
+
+select:hover, select:active {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+
+select:focus {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+}
+
+input, select, button {
+     font-size: 8pt;
+     vertical-align: middle;
+}
+
+button, input[type="submit"], input[type="reset"], a.control {
+     font-family: "Droid Sans", "Noto Sans", "Ubuntu", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-weight: bold;
+}
+
+.buttons, .newTunnel {
+     text-align: right !important;
+     padding: 7px 5px !important;
+     background: #000;
+     background: linear-gradient(to bottom, #001, #000);
+     border-top: 1px inset #2d295f !important;
+}
+
+.tunnelDescriptionLabel, .tunnelDestinationLabel {
+     text-align: right;
+     min-width: 150px;
+     display: inline-block;
+     margin-right: 3px;
+     white-space: nowrap;
+}
+
+input {
+     float: none;
+     vertical-align: middle;
+}
+
+#hostField, #leasesetKey, #userAgents {
+     width: 90% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity {
+     white-space: nowrap;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     -o-text-overflow: ellipsis;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity,
+#localDestination, #customOptions, #leasesetKey, #name, #description, textarea[name="accessList"] {
+     width: 100% !important;
+     margin: 0 !important;
+     text-align: left !important;
+}
+
+#oldName, #targetDestination, select#profile, select#connectionProfile {
+     min-width: 280px;
+     width: 30%;
+}
+
+select#profile, select#connectionProfile {
+    width: 70%;
+    
+}
+
+#customOptions, #userAgents {
+     width: calc(100% - 10px) !important;
+     width: 100% !important;
+}
+
+#localDestination, textarea[name="accessList"], #hostField {
+     width: calc(100% - 5px) !important;
+     width: 100% !important;
+     margin: 3px 0 !important;
+}
+
+textarea[name="accessList"] {
+     margin: 0 !important;
+     height: 80px !important;
+}
+
+#localDestination, .authentication {
+     height: 32px !important;
+     margin: 0 !important;
+}
+
+#localDestination:focus, .authentication:focus {
+     filter: drop-shadow(0 0 1px #c9ceff);
+     -webkit-filter: drop-shadow(0 0 1px #c9ceff);
+}
+
+#leasesetKey {
+     height: 24px !important;
+     padding: 3px;
+}
+
+.multiOption {
+     display: inline-block;
+     margin: 5px 10px 5px 0;
+     padding: 0;
+     vertical-align: middle;
+}
+
+.multiOption#isServer {
+     background: url(/themes/console/images/server.png) left center no-repeat;
+     padding-left: 20px;
+}
+
+.multiOption#isClient {
+     background: url(/themes/console/images/client.png) left center no-repeat;
+     padding-left: 21px;
+}
+
+td#throttle {
+     padding: 0;
+}
+
+#throttler {
+     border: none;
+}
+
+#throttler th {
+     padding-left: 20px;
+}
+
+#throttler td {
+     width: 20%;
+}
+
+#throttler td:first-child {
+     text-align: right;
+     width: 20%;
+     white-space: nowrap;
+}
+
+#throttler tr:first-child th {
+     border-top: none;
+}
+
+td.blankColumn {
+     width: 20% !important;
+}
+
+#throttler tr:nth-child(odd) {
+     background: #000010;
+}
+
+#throttler tr:nth-child(even) {
+     background: #000017;
+}
+
+#throttler input[type="text"] {
+     width: 80px;
+}
+
+table {
+     background: #000;
+}
+
+#tunnelMessages {
+     padding: 0;
+}
+
+.required:not(old) {
+     display: none;
+}
+
+input::-moz-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
+}
+
+::-webkit-input-placeholder {
+     color: #f00;
+     font-weight: bold;
+     opacity: 1;
+}
+
+input.tunnelName, input.tunnelDescription, #userAgents {
+     width: 80%;
+     min-width: 280px;
+     text-overflow: ellipsis; 
+}
+
+#websiteName, #privKeyFile, #targetHost, .host {
+     width: 30%;
+     min-width: 250px;
+}
+
+.port, .quantity, .period {
+     width: 80px;
+}
+
+.username, .password {
+     width: 200px;
+}
+
+.username {
+     background: url(/themes/console/images/buttons/user.png) 3px center no-repeat, linear-gradient(to bottom, #001, #000) !important;
+     padding-left: 22px; 
+}
+
+.username:focus {
+     background: #000 url(/themes/console/images/buttons/user.png) 3px center no-repeat !important;
+     padding-left: 22px; 
+}
+
+.password {
+     background: url(/themes/console/images/buttons/password.png) 3px center no-repeat, linear-gradient(to bottom, #001, #000) !important;
+     padding-left: 22px; 
+}
+
+
+.password:focus {
+     background: #000 url(/themes/console/images/buttons/password.png) 3px center no-repeat !important;
+     padding-left: 22px; 
+}
+
+.proxyList {
+     width: 40%;
+     min-width: 280px;
+}
+
+#notReady {
+     border: 1px solid #900;
+     padding: 30px;
+     background: #002;
+     margin: 30px auto;
+     width: 400px;
+     text-align: center;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #000;
+     font-size: 11pt;
+     font-weight: bold;
+}
+
+/* wizard specifics */
+
+#wizardPanel {
+    font-size: 10pt;
+}
+
+#wizardTable {
+     padding: 0;
+}
+
+#wizardTunnelTypes td:first-child, #wizardSummary td:first-child {
+     font-weight: bold;
+     width: 10%;
+     min-width: 150px;
+     text-align: right;
+     white-space: nowrap;
+}
+
+#wizardTunnelTypes td:last-child {
+     text-align: justify;
+     padding: 5px 10px 5px 5px;
+}
+
+#wizardTunnelTypes select {
+     margin-left: 0 !important;
+}
+
+#wizardTunnelTypes, #wizardSummary {
+     border: none;
+     margin-top: -1px;
+}
+
+#wizardTunnelTypes tr:nth-child(even), #wizardSummary tr:nth-child(even) {
+     background: #001;
+}
+
+#wizardTunnelTypes tr:nth-child(odd), #wizardSummary tr:nth-child(odd) {
+     background: #000017;
+}
+
+#wizardTunnelTypes tr:last-child {
+     background: #000;
+}
+
+#wizardPanel #name, #wizardPanel #description {
+     width: 300px !important;
+}  
+
+#wizardPanel p {
+     padding: 5px 15px;
+     margin: 0;
+     text-align: justify;
+     line-height: 140%;
+}
+
+#wizardPanel input::-moz-placeholder {
+     color: #449;
+     font-weight: normal;
+}
+
+#wizardPanel ::-webkit-input-placeholder {
+     color: #449;
+     font-weight: normal;
+}
+
+#wizardPanel .options {
+     padding: 10px;
+}
+
+#wizardPanel .tag {
+     width: 10%;
+     min-width: 150px;
+     white-space: nowrap;
+     display: inline-block;
+     font-weight: bold;
+     text-align: right;
+     margin-right: 3px;
+}
+
+#wizardPanel select {
+     min-width: 160px;
+     margin-left: 0 !important;
+}
+
+#wizardPanel .infohelp p { /* wizard complete - advanced options info */
+     margin: 0;
+     padding: 0 10px 0 5px;
+}
+
+/* more space */
+
+.tunnelConfig td, td {
+     border-top: 1px inset #17142f;
+     padding: 5px;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     margin: 5px 3px 5px 5px;
+}
+
+.freetext, .tunnelConfig textarea, #customOptions, #userAgents, #hostField  {
+     margin: 5px !important;
+}
+
+#tunnelDepth, #tunnelVariance, #tunnelQuantity, #tunnelBackupQuantity, #leasesetKey {
+     margin: 5px !important;
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig select, select#profile select#connectionProfile, .selectbox {
+     margin: 5px !important;
+}
+
+textarea[name="accessList"], #hostField, #localDestination, .authentication {
+     width: calc(100% - 10px) !important;
+     margin: 5px !important;
+}
+
+#customOptions, #userAgents, #leasesetKey {
+     width: calc(100% - 10px) !important;
+}
+
+.tunnelConfig td > b {
+     min-width: 30px;
+     display: inline-block;
+     margin-left: 5px;
+}
+
+.tunnelDestination {
+     padding-bottom: 1px !important;
+     border-bottom: 1px solid transparent !important;
+}
+
+#clientTunnels .tunnelDescription {
+     padding-top: 1px !important;
+}
+
+.tunnelDestination b, .tunnelDescription b {
+     color: #a8accf;
+}
+
+td.tunnelDestination, td.tunnelDescription {
+     background: linear-gradient(to right, #000 50%, #000020);
+}
+
+/* end more space */
+
+
+/* responsive layout */
+
+@media screen and (min-width: 1300px) {
+body, td {     
+     font-size: 10pt;
+}
+
+.control, select, input {
+     font-size: 9pt;
+}
+
+/*
+select {
+     box-sizing: border-box;
+     padding-top: 3px;
+     padding-bottom: 3px;
+}
+*/
+
+td {
+     padding: 7px 5px;
+}
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/ieshim.css b/installer/resources/themes/console/midnight/ieshim.css
deleted file mode 100644
index 9fe4974348fdc4aee727cf5ef6ac00206befa6e9..0000000000000000000000000000000000000000
--- a/installer/resources/themes/console/midnight/ieshim.css
+++ /dev/null
@@ -1,227 +0,0 @@
-/* I2P Theme: Midnight - IE Override */
-/* Description: Minimalist Midnight Blue, based on Classic theme.*/
-/* Author: Dr|Z3d */
-
-/* Welcome to the wonderful world of kludgey IE fixes */
-/* Note not fully tested with Midnight theme */
-
-.wideload {
-     overflow: auto;
-     width: 100%;
-}
-
-.formaction {
-     text-align: left !important;
-     margin: -10px 0 10px 0;
-}
-
-div.configure {
-     text-align: center;
-}
-
-div.configure p, div.configure table  {
-     text-align: justify;
-}
-
-div.main ul {
-     margin-right: 20px;
-}
-
-div.configure textarea {
-     width: 450px !important;
-}
-
-div.configure input {
-     margin-left: 5px;
-}
-
-div.configure table {
-     width: 550px !important;
-     text-align: center;
-}
-
-h1 {
-     padding: 15px 10px 16px 10px !important;
-     margin: 0 0px 0 17	5px !important;
-     background-color: #000 !important; /* background page color to fix overflow issue */
-     color: #eef;
-}
-
-h2 {
-     padding-top: 0;
-     text-align: left !important;
-}
-
-h3 {
-     margin-top: 10px;
-     text-align: left !important
-}
-
-div.confignav {
-     padding: 15px 0 15px 0;
-     border-left: 0px;
-     margin-left: -15px;
-     border-top: 5px solid #000;
-     margin-bottom: 10px !important;
-}
-
-div.messages {
-     border-left: 0;
-     border-right: 0;
-     margin: -10px -15px 0px -15px;
-}
-
-div.main, div.news {
-     margin: -5px 0px 10px 185px;
-     border: 5px solid #000;
-}
-
-div.main hr, div.news hr {
-     margin: 0;
-}
-
-div.main {
-     border-top: 5px solid #000;
-}
-
-div.news {
-     border-left: 5px solid #000;
-     margin: -5px 0px 0 185px;
-     padding-bottom: 8px;
-}
-
-div.news hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border: 0px;
-     margin: 0 -10px 0 -13px !important;
-}
-
-div.routersummary {
-     color: #001;
-     padding-left: 0px;
-     border-left: 5px solid #000;
-     text-align: center !important;
-     overflow: hidden; /* prevents IE from borking the sidepanel */
-}
-
-div.routersummary submit {
-     padding: 0;
-     margin-bottom: 5px;
-}
-
-div.routersummary input[type=text] {
-     text-align: right !important;
-}
-
-div.routersummary hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border-bottom: 1px solid #99f;
-     margin: 8px 1px 7px 1px;
-}
-
-div.routersummary h3 {
-     border: 0;
-     text-align: center !important;
-     font-size: 9pt;
-     letter-spacing: 0.05em;
-     margin: -14px 0px -15px 1px;
-     padding: 5px 0px 5px 0px;
-     text-transform: uppercase;
-}
-
-div.routersummary h4 {
-     border: 0;
-     border-bottom: 0 !important;
-     font-size: 8.5pt;
-     letter-spacing: 0.05em;
-     margin: -14px 0px -15px 1px !important;
-     padding: 2px 3px 3px 3px;
-     text-transform: capitalize;
-     text-decoration: none !important;
-     text-align: center !important;
-}
-
-div.routersummary table {
-     border: 0;
-     text-align: center !important;
-     margin: -5px 5px;
-     width: 175px !important;
-     overflow: hidden;
-     font-size: 8pt;
-     padding: 0px -10px;
-     background-image: none !important;
-     background-color: transparent !important;
-     text-align: center !important;
-}
-
-div.routersummary tr {
-     background-image: none !important;
-     background-color: transparent !important;
-     border: 0 !important;
-}
-
-div.routersummary form {
-     margin-top: -25px !important;
-     margin-bottom: -25px !important;
-     text-align: center !important;
-}
-
-div.routersummary p {
-     padding: 0;
-}
-
-div.routersummary td {
-     padding: 2px 4px;
-     background-image: none !important;
-     border: 0 !important;
-}
-
-div.news li {
-     padding-top: 0px	0px !important;
-     margin-bottom: -23px !important;
-}
-
-div.logo {
-}
-
-div.warning {
-     padding: 0px 20px 20px 80px;
-     margin-top: -20px;
-     margin-left: -10px !important;
-}
-
-.langbox {
-     margin: 9px -20px 0px 5px;
-}
-
-td {
-     text-align: left;
-}
-
-th {
-     text-align: left;
-     padding-left: 3px;
-     padding-right: 1px;
-}
-
-div.configure hr{
-     margin: 10px 0 15px 0;
-}
-
-input {
-     padding: 0;
-}
-
-div.graphspanel img {
-     border: 1px solid #99f;
-     margin: 6px 0 !important;
-     background: #001;
-}
-
-div.graphspanel hr {
-     margin: 20px 0;
-}
diff --git a/installer/resources/themes/console/midnight/images/console_status_running.png b/installer/resources/themes/console/midnight/images/console_status_running.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bbc5e37aad0b1118ccc86b31e985c75832ab5e3
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/console_status_running.png differ
diff --git a/installer/resources/themes/console/midnight/images/console_status_starting.png b/installer/resources/themes/console/midnight/images/console_status_starting.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbff2340912a95cc59554a5c36fb8d8dfbdf4fe5
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/console_status_starting.png differ
diff --git a/installer/resources/themes/console/midnight/images/console_status_stopped.png b/installer/resources/themes/console/midnight/images/console_status_stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d43eb4eab436a06e60a33922f27638db4e327e0
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/console_status_stopped.png differ
diff --git a/installer/resources/themes/console/midnight/images/dropdown.png b/installer/resources/themes/console/midnight/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cb83f1d71562c7bce893c1e4b9fc4ebc24b2017
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/dropdown.png differ
diff --git a/installer/resources/themes/console/midnight/images/dropdown_active.png b/installer/resources/themes/console/midnight/images/dropdown_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f115f98851233839bd411337191ef76f510b9bb
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/dropdown_active.png differ
diff --git a/installer/resources/themes/console/midnight/images/dropdown_hover.png b/installer/resources/themes/console/midnight/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..999350953b1da342400f992c5fa72a7c23c7258b
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/console/midnight/images/earth.jpg b/installer/resources/themes/console/midnight/images/earth.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..750027d367a19e76dcfd59034b3735c57c453a72
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/earth.jpg differ
diff --git a/installer/resources/themes/console/midnight/images/h2bg.png b/installer/resources/themes/console/midnight/images/h2bg.png
deleted file mode 100644
index 936dada60815acab7288369ec3e63c4506bd877b..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/midnight/images/h2bg.png and /dev/null differ
diff --git a/installer/resources/themes/console/midnight/images/help.png b/installer/resources/themes/console/midnight/images/help.png
new file mode 100644
index 0000000000000000000000000000000000000000..be52814717ef790cd13d33c7ec1fc9c5d14b0eb2
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/help.png differ
diff --git a/installer/resources/themes/console/midnight/images/planet.png b/installer/resources/themes/console/midnight/images/news.png
similarity index 100%
rename from installer/resources/themes/console/midnight/images/planet.png
rename to installer/resources/themes/console/midnight/images/news.png
diff --git a/installer/resources/themes/console/midnight/images/thumbnail.png b/installer/resources/themes/console/midnight/images/thumbnail.png
new file mode 100644
index 0000000000000000000000000000000000000000..2156b6331b27b85ceb858513017d2781ef9c6ae9
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/thumbnail.png differ
diff --git a/installer/resources/themes/console/midnight/mobile.css b/installer/resources/themes/console/midnight/mobile.css
index f080c484062d678afd51da8e2c045a10dc78e723..ede599ac7ef76f7ed3d9d7e9ea7ace7b6881988c 100644
--- a/installer/resources/themes/console/midnight/mobile.css
+++ b/installer/resources/themes/console/midnight/mobile.css
@@ -1,30 +1,113 @@
+/* Console Theme "Midnight" - Mobile Override */
+
+body {
+     padding: 0 5px;
+     margin: 5px 0 0 !important;
+}
+
+div#xhr {
+     width: 617px;
+     margin: 0 auto;
+}
+
 div.routersummaryouter {
-     float: none;
-     margin: 0 5px 5px 0;
      position: relative;
+     float: none;
      width: auto;
+     margin: 0 0 5px;
 }
 
 div.routersummary {
      float: none;
-     width: auto;
+     width: 600px;
+     margin: 0 auto;
+}
+
+div[style^='height'] + a {
+     display: inline-block;
+     padding-top: 8px !important;
+}
+
+.routersummary td,
+.routersummary a,
+.routersummary h4,
+.routersummary h4 a,
+.routersummary button {
+     font-size: 10pt !important;
+}
+
+.routersummary h3 a {
+     font-size: 11pt !important;
+     padding: 3px 1px;
+}
+
+div.routersummary table,
+.routersummary table[id^="sb_"] {
+     min-width: 100% !important;
+     min-width: calc(100% - 1px) !important;
+     margin-bottom: -6px !important;
+}
+
+#sb_localtunnels {
+     margin-top: -5px !important;
+}
+
+.routersummary tr:nth-child(odd) td {
+     padding: 3px;
+     background: #000100;
+}
+
+.routersummary tr:nth-child(even) td {
+     padding: 3px;
+     background: #000018;
+}
+
+.routersummary tr td {
+     border-top: 1px inset #000 !important;
+     border-bottom: 1px inset #000 !important;
+}
+
+.routersummary tr:hover td {
+     border-top: 1px solid #004 !important;
+     border-bottom: 1px solid #004 !important;
+}
+
+.routersummary tr:hover td {
+     background: #002;
+}
+
+.routersummary h3,
+.routersummary h4,
+.routersummary hr {
+     margin-right: 7px !important;
+     margin-left: -10px !important;
+}
+
+div.routersummary h4 {
+     margin: -6px 7px -8px -10px !important;
+}
+
+div.routersummary form {
+     margin: -2px 5px -4px -11px !important;
 }
 
-div.routersummary table {
-     width: 100% !important;
+.routersummary button[type="submit"], .routersummary button[type="cancel"] {
+     margin: 5px 10px !important;
+     padding: 8px 5px !important;
+     min-width: 120px !important;
 }
 
 h1 {
-     margin: 5px 5px 0 0;
-     min-width: 0;
+     min-width: 570px;
+     margin: 0 !important;
 }
 
 div.news {
-     margin: -1px 5px 0 0;
-     min-width: 0;
+     min-width: 580px;
+     margin: -1px 0 0;
 }
 
 div.main {
-     margin: 0 5px 5px 0;
-     min-width: 0;
+     min-width: 580px;
+     margin: -1px 0 !important;
 }
diff --git a/installer/resources/themes/snark/classic/favicon.ico b/installer/resources/themes/snark/classic/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..28658965c9486d89945244234f91d20162f1649b
Binary files /dev/null and b/installer/resources/themes/snark/classic/favicon.ico differ
diff --git a/installer/resources/themes/console/images/add.png b/installer/resources/themes/snark/classic/images/add.png
similarity index 100%
rename from installer/resources/themes/console/images/add.png
rename to installer/resources/themes/snark/classic/images/add.png
diff --git a/installer/resources/themes/snark/classic/images/arrow_refresh.png b/installer/resources/themes/snark/classic/images/arrow_refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d280de31164579cf1ed018e581db43fa209ae8e
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/arrow_refresh.png differ
diff --git a/installer/resources/themes/snark/classic/images/bullet.png b/installer/resources/themes/snark/classic/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ae2f0eaedc969261b0b909beda20581630ce82f
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/bullet.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_forum.png b/installer/resources/themes/snark/classic/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..12be0fa62608fac5de23e0cd61653f492acd699e
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_forum_active.png b/installer/resources/themes/snark/classic/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_forum_hover.png b/installer/resources/themes/snark/classic/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdd6bf265347aa6190bd26f581d5ea9b70efde16
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_snark.png b/installer/resources/themes/snark/classic/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..717f386e3163e50fda41e902b47bc624af146688
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_snark_active.png b/installer/resources/themes/snark/classic/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_snark_hover.png b/installer/resources/themes/snark/classic/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb8aad6ec7fa3b332f2c0830aecf64d8df84c540
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_tracker.png b/installer/resources/themes/snark/classic/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..03b8d183679185ede630c95149a48ea813cb169a
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_tracker_active.png b/installer/resources/themes/snark/classic/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/classic/images/button_tracker_hover.png b/installer/resources/themes/snark/classic/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1f553707a0504fae9e2ea3d7dca15d4464be338
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/classic/images/complete.png b/installer/resources/themes/snark/classic/images/complete.png
new file mode 100644
index 0000000000000000000000000000000000000000..96199806aa92cb7fdb15612c87106565460ef8cb
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/complete.png differ
diff --git a/installer/resources/themes/snark/classic/images/config.png b/installer/resources/themes/snark/classic/images/config.png
new file mode 100644
index 0000000000000000000000000000000000000000..8151463917ec88ca0962a5bfefb9f11c9122bff8
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/config.png differ
diff --git a/installer/resources/themes/snark/classic/images/configuration.png b/installer/resources/themes/snark/classic/images/configuration.png
new file mode 100644
index 0000000000000000000000000000000000000000..54c7239092913036dc0103a5759105fa9a38aa88
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/configuration.png differ
diff --git a/installer/resources/themes/snark/classic/images/create.png b/installer/resources/themes/snark/classic/images/create.png
new file mode 100644
index 0000000000000000000000000000000000000000..44ccbf812879c42cb1f9587d865bcfc337ce6361
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/create.png differ
diff --git a/installer/resources/themes/snark/classic/images/delete.png b/installer/resources/themes/snark/classic/images/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..a37f8c7f1a8d23babac993177015df3d727d86d8
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/delete.png differ
diff --git a/installer/resources/themes/snark/classic/images/details.png b/installer/resources/themes/snark/classic/images/details.png
new file mode 100644
index 0000000000000000000000000000000000000000..845ba38235825ca8ea628157f7eec626dcd25e53
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/details.png differ
diff --git a/installer/resources/themes/snark/classic/images/downloading.png b/installer/resources/themes/snark/classic/images/downloading.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d01bb51372948d4254283e580dd91e1243380f1
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/downloading.png differ
diff --git a/installer/resources/themes/snark/classic/images/dropdown.png b/installer/resources/themes/snark/classic/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..317d64e08161d30d86c3b2e2b44dfb0c062b7889
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/classic/images/dropdown_hover.png b/installer/resources/themes/snark/classic/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec983e14ae70dcf0f3a7f64ec47f533d55a8e7f5
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/snark/classic/images/eta.png b/installer/resources/themes/snark/classic/images/eta.png
new file mode 100644
index 0000000000000000000000000000000000000000..854c00ea486f8c04538b8505682bc01bb021df39
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/eta.png differ
diff --git a/installer/resources/themes/snark/classic/images/file.png b/installer/resources/themes/snark/classic/images/file.png
new file mode 100644
index 0000000000000000000000000000000000000000..14fc51f1596172a3fe4ccfb72533cf9ca7cb2a0d
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/file.png differ
diff --git a/installer/resources/themes/snark/classic/images/file_sm.png b/installer/resources/themes/snark/classic/images/file_sm.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dffc6219e03ab91171b6e97246012a582e4c7f6
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/file_sm.png differ
diff --git a/installer/resources/themes/snark/classic/images/first.png b/installer/resources/themes/snark/classic/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..282621d8ded1cf8920eb0e4eb9e39759d646ddc2
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/first.png differ
diff --git a/installer/resources/themes/snark/classic/images/hat.png b/installer/resources/themes/snark/classic/images/hat.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0ebd52bde38319e4832c3d370b20121ff55a769
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/hat.png differ
diff --git a/installer/resources/themes/snark/classic/images/head_rx.png b/installer/resources/themes/snark/classic/images/head_rx.png
new file mode 100644
index 0000000000000000000000000000000000000000..792bf351dd0989c771a069a023b51712a4c86e44
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/head_rx.png differ
diff --git a/installer/resources/themes/snark/classic/images/head_rxspeed.png b/installer/resources/themes/snark/classic/images/head_rxspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..a74a2a43dc709777ba2bb0cc4c6ba8ace4524036
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/head_rxspeed.png differ
diff --git a/installer/resources/themes/snark/classic/images/head_tx.png b/installer/resources/themes/snark/classic/images/head_tx.png
new file mode 100644
index 0000000000000000000000000000000000000000..4df10acd6240f7b4d3135e110619804bc9d1231c
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/head_tx.png differ
diff --git a/installer/resources/themes/snark/classic/images/head_txspeed.png b/installer/resources/themes/snark/classic/images/head_txspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..af70651c1fa43addf644ae029ca32e465418521d
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/head_txspeed.png differ
diff --git a/installer/resources/themes/snark/classic/images/hidepeers.png b/installer/resources/themes/snark/classic/images/hidepeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..00af250abecd607b39cde3ae619fb91ae32cef05
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/hidepeers.png differ
diff --git a/installer/resources/themes/snark/classic/images/last.png b/installer/resources/themes/snark/classic/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..2000825665d0912a8083d3398007160d3691b7bb
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/last.png differ
diff --git a/installer/resources/themes/snark/classic/images/next.png b/installer/resources/themes/snark/classic/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f7bfd830951072e617c27f12c85244d3a5a0862
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/next.png differ
diff --git a/installer/resources/themes/snark/classic/images/nopeers.png b/installer/resources/themes/snark/classic/images/nopeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fb0e2cfccfc57e557ee70aee09c5aeb83c6d6f0
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/nopeers.png differ
diff --git a/installer/resources/themes/snark/classic/images/previous.png b/installer/resources/themes/snark/classic/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..1532b6cec002cce14fe674f9e8cac53a315f0312
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/previous.png differ
diff --git a/installer/resources/themes/snark/classic/images/priority.png b/installer/resources/themes/snark/classic/images/priority.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd9685253d1d1b8c35954a67ec92ff2114559d76
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/priority.png differ
diff --git a/installer/resources/themes/snark/classic/images/remove.png b/installer/resources/themes/snark/classic/images/remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..12f988b18088a079dd43a20131a7bae1c9ed375a
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/remove.png differ
diff --git a/installer/resources/themes/snark/classic/images/seeding.png b/installer/resources/themes/snark/classic/images/seeding.png
new file mode 100644
index 0000000000000000000000000000000000000000..e58e518bc0f011eb50ef1ad727a3091048f6d1bd
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/seeding.png differ
diff --git a/installer/resources/themes/snark/classic/images/showpeers.png b/installer/resources/themes/snark/classic/images/showpeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca271234be316fd5d0fe62c2b33aec6986aab6b4
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/showpeers.png differ
diff --git a/installer/resources/themes/snark/classic/images/size.png b/installer/resources/themes/snark/classic/images/size.png
new file mode 100644
index 0000000000000000000000000000000000000000..013cc5bbdca3886f306c33f718e623513dba0c7d
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/size.png differ
diff --git a/installer/resources/themes/snark/classic/images/snark_add.png b/installer/resources/themes/snark/classic/images/snark_add.png
new file mode 100644
index 0000000000000000000000000000000000000000..44f1ee48fe095c90dfc475575559088646a76271
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/snark_add.png differ
diff --git a/installer/resources/themes/snark/classic/images/snark_create.png b/installer/resources/themes/snark/classic/images/snark_create.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/snark_create.png differ
diff --git a/installer/resources/themes/snark/classic/images/stalled.png b/installer/resources/themes/snark/classic/images/stalled.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d7b193b51ef414e9f69276722331ee066e3517e
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/stalled.png differ
diff --git a/installer/resources/themes/snark/classic/images/start.png b/installer/resources/themes/snark/classic/images/start.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bf001c4e024a7b9dc4d98e062a0c0f88b772154
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/start.png differ
diff --git a/installer/resources/themes/snark/classic/images/start_all.png b/installer/resources/themes/snark/classic/images/start_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..dadeeebebf1bfae434f485e4cbe7e56b9c4ba818
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/start_all.png differ
diff --git a/installer/resources/themes/snark/classic/images/status.png b/installer/resources/themes/snark/classic/images/status.png
new file mode 100644
index 0000000000000000000000000000000000000000..e748bf7c422ae740619e6bac19cb0656123edf3b
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/status.png differ
diff --git a/installer/resources/themes/snark/classic/images/stop.png b/installer/resources/themes/snark/classic/images/stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca007e86fb370a83e5316f0865c5b98713070fff
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/stop.png differ
diff --git a/installer/resources/themes/snark/classic/images/stop_all.png b/installer/resources/themes/snark/classic/images/stop_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..124a31caea0922e15aac81bb0916aad34abe001e
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/classic/images/stop_all_hover.png b/installer/resources/themes/snark/classic/images/stop_all_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..124a31caea0922e15aac81bb0916aad34abe001e
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/stop_all_hover.png differ
diff --git a/installer/resources/themes/snark/classic/images/stopped.png b/installer/resources/themes/snark/classic/images/stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5b41579e3f41fd4cce24968eb302eaa6a76684b
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/stopped.png differ
diff --git a/installer/resources/themes/snark/classic/images/torrent.png b/installer/resources/themes/snark/classic/images/torrent.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d97364f229c8c244b63495c3af08be1efc3cf0c
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/torrent.png differ
diff --git a/installer/resources/themes/snark/classic/images/trackererror.png b/installer/resources/themes/snark/classic/images/trackererror.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41191f6cb5251e0b48097002137a240fe62b4dc
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/trackererror.png differ
diff --git a/installer/resources/themes/snark/classic/images/up.png b/installer/resources/themes/snark/classic/images/up.png
new file mode 100644
index 0000000000000000000000000000000000000000..7271f87d6cf47b8eb817a3de32e4947793bcbeed
Binary files /dev/null and b/installer/resources/themes/snark/classic/images/up.png differ
diff --git a/installer/resources/themes/snark/classic/snark.css b/installer/resources/themes/snark/classic/snark.css
new file mode 100644
index 0000000000000000000000000000000000000000..04893f5f9c3f28df91e438066104db5d33df5313
--- /dev/null
+++ b/installer/resources/themes/snark/classic/snark.css
@@ -0,0 +1,1950 @@
+/* I2PSnark theme "Classic" */
+/* Author: dr|z3d */
+
+body {
+     font: 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     color: #0c153d;
+     background: #eef;
+     background: url(/themes/console/classic/images/bg0.png) repeat scroll center bottom #eef;
+}
+
+tt {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+body.iframed {
+     margin: 1px 0 !important;
+     background: transparent url(/themes/console/images/transparent.gif) !important;
+}
+
+.iframed .page {
+     margin: 5px 0;
+     padding: 0;
+     border: none;
+     background: none;
+     background: linear-gradient(to right, #fff 0%, #ddf 50%, #fff 100%);
+     box-shadow: none;
+}
+
+.snarknavbar {
+     font-size: 11.5pt;
+     font-weight: bold;
+     min-width: 820px;
+     margin: 0 0 -6px !important;
+     padding: 9px 0;
+     text-align: center;
+     letter-spacing: 0 !important;
+     text-transform: uppercase !important;
+     color: #000;
+     border: 1px solid #89f;
+     background: none !important;
+     background-image: linear-gradient(to bottom, #eef 0%, #fff 50%, #eef 50%, #fff 100%) !important;
+     box-shadow: 0 0 1px #fff;
+}
+
+.iframed .snarknavbar {
+     margin-top: -2px !important;
+}
+
+.snarknavbar img {
+     display: none;
+     vertical-align: top;
+     border: 0;
+}
+
+.snarkRefresh:link:first-child {
+     padding: 5px 7px 5px 15px !important;
+}
+
+.snarkRefresh:link:last-child {
+     margin-left: 3px;
+}
+
+.snarkRefresh:link,
+.snarkRefresh:visited {
+     display: inline-block;
+     font-size: 9pt;
+     font-weight: bold;
+     margin: -1px !important;
+     padding: 5px 7px 5px 22px !important;
+     text-decoration: none !important;
+     letter-spacing: .1em;
+     text-transform: uppercase !important;
+     opacity: 1;
+     color: #444688;
+     border: 1px solid #eef;
+     border-right: 1px solid #bbf;
+     border-bottom: 1px solid #bbf;
+     border-radius: 0;
+     background: url(images/button_tracker.png) 7px center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     box-shadow: inset 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+.snarkRefresh:link:first-child {
+     background: url(images/button_snark.png) 7px center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+}
+
+.snarkRefresh:link:nth-child(2) {
+     background: url(images/button_forum.png) 7px center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+}
+
+.snarkRefresh:link:hover,
+.snarkRefresh:link:focus {
+     opacity: 1;
+     color: #f60;
+}
+
+.snarkRefresh:link:hover:first-child,
+.snarkRefresh:link:focus:first-child {
+     background-image: url(images/button_snark_hover.png) !important;
+     background-image: url(images/button_snark_hover.png), linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     background-repeat: no-repeat, repeat !important;
+     background-position: 7px center, center center !important;
+}
+
+.snarkRefresh:link:hover:nth-child(2),
+.snarkRefresh:link:focus:nth-child(2) {
+     background-image: url(images/button_forum_hover.png) !important;
+     background-image: url(images/button_forum_hover.png), linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+.snarkRefresh:link:active {
+     box-shadow: inset 2px 2px 2px #333;
+}
+
+.snarkRefresh:link:active:first-child {
+     text-decoration: none !important;
+     color: #fff !important;
+     border: 1px solid #fff;
+     background: #f50 url(images/button_snark_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 7px center !important;
+     text-shadow: none;
+}
+
+.snarkRefresh:link:active:nth-child(2) {
+     background: #f50 url(images/button_forum_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 7px center !important;
+}
+
+.snarkRefresh:hover,
+.snarkRefresh:focus {
+     font-size: 9pt;
+     font-weight: bold;
+     text-decoration: none !important;
+     text-transform: uppercase !important;
+     opacity: 1;
+     color: #f50;
+     border: 1px solid #f50;
+     border-radius: 0;
+     background: #fff !important;
+     background-image: url(images/button_tracker_hover.png) !important;
+     background-image: url(images/button_tracker_hover.png), linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     background-repeat: no-repeat, repeat !important;
+     background-position: 7px center, center center !important;
+     box-shadow: inset 0 0 1px #f50;
+}
+
+.snarkRefresh:active {
+     text-decoration: none !important;
+     color: #fff !important;
+     border: 1px solid #fff;
+     background: #f50 url(images/button_tracker_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 7px center !important;
+     text-shadow: none;
+}
+
+.ParentDir {
+     font-size: 8pt;
+     padding: 4px 0;
+     text-align: left !important;
+     border: 1px solid #89f !important;
+     border-right: 0 !important;
+     border-left: 0 !important;
+     background: #fff;
+}
+
+.ParentDir a {
+     font-weight: bold !important;
+     margin-left: -4px;
+}
+
+.ParentDir img {
+     padding-left: 3px;
+}
+
+.priority {
+     font-size: 8pt;
+     width: 160px !important;
+     vertical-align: middle;
+     white-space: nowrap;
+}
+
+.snarkTorrents {
+     margin: 0;
+     border: 1px solid #101;
+     background: #fff;
+}
+
+.snarkTorrents th {
+     text-align: center;
+}
+
+.snarkTorrents th:first-child {
+     width: 30px;
+     padding-right: 0;
+     text-align: center;
+}
+
+.snarkTorrents th:nth-child(2) {
+     text-align: left;
+}
+
+.snarkTorrents th br {
+     display: none;
+     /* kill double height button display */
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents th:nth-child(4),
+.snarkTorrents th:nth-child(5),
+.snarkTorrents th:nth-child(6),
+.snarkTorrents th:nth-child(7),
+.snarkTorrents th:nth-child(8),
+.snarkTorrents th:nth-child(9),
+.snarkTorrents th:last-child {
+     text-align: center;
+}
+
+.snarkTorrents td:nth-child(6),
+.snarkTorrents td:nth-child(7),
+.snarkTorrents td:nth-child(8) {
+     text-align: center !important;
+}
+
+table.snarkTorrents {
+     margin-top: -1px !important;
+}
+
+.snarkTorrents th {
+     text-align: left;
+}
+
+.snarkTorrents td {
+     line-height: 90%;
+     text-align: left;
+}
+
+.snarkTorrents td:nth-child(1) {
+     width: 24px !important;
+}
+
+.snarkTorrents td:nth-child(3),
+.snarkTorrents td:nth-child(4) {
+     width: 16px !important;
+     padding: 0 !important;
+     text-align: center !important;
+}
+
+.snarkMessages {
+     font: normal 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     overflow: auto;
+     width: auto;
+     height: 53px;
+     margin: 0;
+     padding: 3px 5px;
+     text-align: left;
+     color: #003;
+     border-bottom: 1px solid #89f;
+     background: #ddf url(images/hat.png) bottom right no-repeat;
+     background: url(images/hat.png) bottom right no-repeat, linear-gradient(to bottom, #dedeff, #ddf);
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+.snarkMessages a:link,
+.snarkMessages a:visited {
+     color: #55f !important;
+}
+
+.snarkMessages a:hover,
+.snarkMessages a:focus {
+     color: #f60 !important;
+}
+
+.snarkMessages ul {
+     margin: -2px 0 2px 0;
+     padding: 0 0 0 14px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: '';
+     display: inline-block;
+     background: url(images/bullet.png) left bottom no-repeat;
+     width: 13px;
+     height: 11px;
+     background-size: 9px 9px;
+}
+
+.snarkMessages p {
+     font-style: italic;
+     margin: 0;
+     text-align: right;
+}
+
+.snarkMessages img {
+     width: 8px;
+     padding: 2px;
+     background: #fff;
+     opacity: 0.7 !important;
+}
+
+.snarkMessages img:hover,
+.snarkMessages img:focus {
+     opacity: 1 !important;
+     filter: drop-shadow(0 0 1px #f90);
+}
+
+.snarkMessages img,
+.snarkMessages img:hover {
+     position: sticky;
+     top: -3px;
+     float: right;
+     margin: -3px -5px 4px 4px;
+     opacity: 1;
+     border: 1px solid #89f;
+     border-top: none;
+}
+
+.logshim {
+     margin-top: -10px !important;
+}
+
+pre {
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-weight: bold !important;
+     width: 100%;
+     height: 8px;
+     padding: 0;
+     text-align: left !important;
+     color: #35f;
+}
+
+table {
+     width: 100%;
+     margin: 0 0 10px 0;
+     padding: 0;
+     border-spacing: 0;
+     border-collapse: collapse;
+     opacity: 1 !important;
+     color: #323;
+     border: 0;
+}
+
+tr {
+     opacity: 1;
+}
+
+thead,
+tfoot {
+     background: #fff;
+}
+
+thead {
+     border-bottom: 1px solid #101;
+}
+
+tfoot th {
+     padding-bottom: 4px !important;
+}
+
+tfoot tr:nth-child(n+1) {
+     text-align: left;
+}
+
+th {
+     font-size: 9pt;
+     padding: 3px 2px;
+     color: #0c153d;
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+     background: #fff;
+     background-image: linear-gradient(to bottom, #fff, #eef);
+}
+
+th:first-child {
+     padding-left: 2px;
+     text-align: left !important;
+}
+
+tfoot td:first-child {
+     padding-left: 0;
+     text-align: left !important;
+}
+
+th:first-child img {
+     margin: 1px -2px 3px 1px !important;
+}
+
+th:nth-child(2) img {
+     margin: 1px 5px 3px 2px !important;
+}
+
+tfoot th {
+     padding-bottom: 4px !important;
+}
+
+tfoot img,
+tfoot:nth-child(2) img,
+tfoot:nth-child(1) img,
+tfoot:nth-child(3) img,
+tfoot:nth-child(4) img {
+     margin: 0 2px 3px 0 !important;
+     padding-right: 0 !important;
+}
+
+tfoot tr:nth-child(n+1) {
+     text-align: left;
+}
+
+.headerstatus {
+     text-align: center;
+}
+
+.headerpriority {
+     padding-left: 10px;
+     text-align: left;
+}
+
+.priority {
+     font-size: 8pt;
+     min-width: 160px;
+     vertical-align: middle;
+}
+
+.snarkTorrents {
+     margin: 0;
+     border: 1px solid #101;
+     background: #fff;
+}
+
+.snarkTorrents th {
+     text-align: center;
+}
+
+.snarkTorrents th:first-child {
+     width: 30px;
+     padding-right: 0;
+     text-align: center;
+}
+
+.snarkTorrents th:nth-child(2) {
+     text-align: left;
+}
+
+.snarkTorrents th br {
+     display: none;
+     /* kill double height button display */
+}
+
+.snarkTorrents th:nth-child(4),
+.snarkTorrents th:nth-child(5),
+.snarkTorrents th:nth-child(6),
+.snarkTorrents th:nth-child(7),
+.snarkTorrents th:nth-child(8),
+.snarkTorrents th:nth-child(9),
+.snarkTorrents th:last-child {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th:nth-child(3) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th:nth-child(n+2) {
+     white-space: nowrap;
+}
+
+.snarkTorrents tfoot th {
+     vertical-align: top;
+     font-weight: normal;
+}
+
+.snarkTorrents tfoot th::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th br {
+     display: inline-block;
+     margin-left: 20px !important;
+}
+
+.snarkTorrents tfoot th tt {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     letter-spacing: .1em;
+     color: #227;
+     background: none;
+}
+
+.snarkTorrents td:nth-child(6),
+.snarkTorrents td:nth-child(7),
+.snarkTorrents td:nth-child(8) {
+     text-align: center !important;
+}
+
+table.snarkTorrents {
+     margin-top: -1px !important;
+     border: none;
+}
+
+.snarkTorrents th {
+     text-align: left;
+}
+
+.snarkTorrents td {
+     line-height: 105%;
+     text-align: left;
+}
+
+.snarkTorrents td:nth-child(1) {
+     width: 24px !important;
+}
+
+.snarkTorrents td:nth-child(3),
+.snarkTorrents td:nth-child(4) {
+     width: 16px !important;
+     padding: 0 !important;
+     text-align: center !important;
+}
+
+.snarkTorrents td:nth-child(3) {
+     text-align: right !important;
+}
+
+.snarkTorrents td[colspan="10"] {
+     padding: 2px;
+     color: #cc7 !important;
+}
+
+.snarkTorrents img {
+     margin: 0 !important;
+     padding: 0 !important;
+}
+
+.snarkTorrents tt {
+     font-size: 8pt;
+     color: #ff0;
+}
+
+.snarkTorrentInfo img {
+     max-height: 16px !important;
+     margin: 1px 0 1px 2px !important;
+}
+
+.snarkTorrentInfo th {
+     padding: 4px !important;
+     text-align: left;
+     border-top: none;
+}
+
+.snarkTorrentInfo th:first-child {
+     background: url(images/file_sm.png) no-repeat 6px 7px, linear-gradient(to bottom, #fff, #eef);
+}
+
+.snarkTorrentInfo th:nth-child(2) {
+     font-size: 9pt;
+     padding: 8px 5px 8px 0 !important;
+}
+
+.snarkTorrentInfo td {
+     text-align: left !important;
+}
+
+.snarkTorrentInfo td:first-child {
+     width: 20px !important;
+     padding: 3px 4px 4px!important;
+}
+
+.snarkTorrentInfo input[type="submit"] {
+     min-width: 60px;
+     text-align: center;
+}
+
+table.snarkTorrentInfo tr:last-child {
+     border-top: 1px solid #89f !important;
+     background: none;
+}
+
+table.snarkTorrentInfo tr:last-child td {
+     padding: 5px !important;
+     text-align: right !important;
+}
+
+table.SnarkTorrentInfo {
+     margin-bottom: 1px !important;
+     border-bottom: 1px solid #89f;
+     background: url("../../console/classic/images/bg0.png") repeat scroll center bottom #eef;
+}
+
+.snarkTorrentInfo tr:nth-child(even) {
+     color: #0c153d;
+     background: #eff1ff;
+}
+
+.snarkTorrentInfo tr:nth-child(odd) {
+     color: #0c153d;
+     background: #dde1ff;
+}
+
+.snarkTorrentInfo tr:last-child td {
+     background: #fff;
+}
+
+table.SnarkDirInfo {
+     margin-top: -2px !important;
+     margin-bottom: 0;
+     border-bottom: 1px solid #89f;
+}
+
+.snarkDirInfo th img {
+     margin: 0 !important;
+}
+
+.snarkDirInfo th:nth-child(2) {
+     width: 32px;
+     text-align: right;
+}
+
+.snarkDirInfo td {
+     min-width: 0 !important;
+}
+
+.snarkDirInfo th:first-child {
+     padding-left: 5px;
+}
+
+.snarkDirInfo td:first-child {
+     padding-left: 4px;
+}
+
+.snarkDirInfo td:first-child img {
+     padding-right: 6px;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;
+}
+
+.snarkDirInfo tr:last-child {
+     border-bottom: 1px solid #89f !important;
+}
+
+.headerpriority input[type="submit"] {
+     margin: 5px;
+}
+
+table.SnarkDirInfo img {
+     max-width: 16px;
+     max-height: 16px;
+}
+
+.snarkDirInfo thead img {
+     max-width: none;
+     max-height: none;
+     margin: 0 !important;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;
+}
+
+td.subHeaderPriority,
+td.priority {
+     width: 0;
+     min-width: 36px !important;
+     padding: 0 5px 0 0 !important;
+     text-align: center !important;
+}
+
+td.subHeaderPriority {
+     font-size: 7.5pt;
+     font-weight: bold;
+     padding: 0 1px !important;
+     text-align: center !important;
+     background: #020;
+     background: url("images/snarktopnav.png") repeat-x scroll center center #101;
+     background-image: linear-gradient(to bottom, #030 0%, #020 50%, #000 51%, #000 100%);
+}
+
+.headerpriority br {
+     display: none;
+}
+
+.headerpriority img {
+     padding: 4px !important;
+}
+
+.headerstatus {
+     min-width: 250px;
+}
+
+td.priority:last-child {
+     min-width: 350px !important;
+}
+
+tr.priority:last-child {
+     border-bottom: none !important;
+}
+
+th.headerdownloaded {
+     padding-left: 25px !important;
+}
+
+td.snarkFileStatus {
+     font-size: 8pt;
+     width: 80px;
+     text-align: center;
+}
+
+td.snarkFileIcon {
+     width: 16px;
+     padding: 0;
+}
+
+td.snarkFileStatusIcon {
+     width: 24px;
+     padding: 0 4px 0 0;
+     text-align: center;
+}
+
+td {
+     font-size: 9pt;
+     padding: 1px;
+     opacity: 1;
+     color: #0c153d !important;
+}
+
+.mainsection td {
+     color: #111;
+}
+
+td:first-child {
+     font-size: 9pt;
+     text-align: right;
+}
+
+.center {
+     text-align: center !important;
+}
+
+.snarkTorrentName {
+     line-height: 90%;
+     padding: 0;
+}
+
+.snarkTorrentName a,
+.snarkDirInfo td.snarkFileName a {
+     font-weight: bold !important;
+}
+
+.snarkTorrentAction {
+     margin: 0 !important;
+     padding: 1px 1px 1px 1px !important;
+     text-align: center !important;
+}
+
+.snarkTorrentAction img {
+     opacity: 1;
+}
+
+.snarkTorrentAction img:hover {
+     opacity: 1;
+     box-shadow: 0 0 1px 1px #f90;
+}
+
+.snarkTorrentAction input[type="image"],
+.snarkTorrents th:last-child input[type="image"] {
+     padding: 3px !important;
+     background: #339;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ddf 51%, #ddf 100%);
+     border-radius: 2px;
+     border: 1px solid #89f !important;
+     margin: 2px 1px;
+     filter: drop-shadow(0 0 1px #aaa);
+     -webkit-filter: drop-shadow(0 0 1px #aaa);
+     height: 10px;
+}
+
+.snarkTorrentAction input[type="image"]:hover,
+.snarkTorrentAction input[type="image"]:focus,
+.snarkTorrents th:last-child input[type="image"]:hover,
+.snarkTorrents th:last-child input[type="image"]:focus {
+     border: 1px solid #f60;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.snarkTorrentAction input[type="image"]:active,
+.snarkTorrents th:last-child input[type="image"]:active {
+     background: linear-gradient(to bottom, #ddf 0%, #ddf 50%, #99f 51%, #99f 100%);
+     box-shadow: inset 2px 2px 2px #333;
+}
+
+.snarkTorrents th:last-child input[type="image"]:hover,
+.snarkTorrents td:last-child input[type="image"]:hover,
+.snarkTorrents th:last-child input[type="image"]:focus,
+.snarkTorrents td:last-child input[type="image"]:focus { /* borders on hover only for torrent control buttons, otherwise drop-shadow */
+     border: 1px solid #f60 !important;
+}
+
+td.snarkTorrentAction {
+     width: 64px;
+     padding-right: 2px !important;
+     white-space: nowrap;
+}
+
+.snarkTorrentNoneLoaded {
+     font-size: 8.5pt;
+     font-weight: bold;
+     padding: 10px 5px;
+     text-align: center !important;
+     color: #4f2 !important;
+     border-bottom: 1px solid #89f;
+     background: #fff;
+}
+
+.snarkTorrentstatus {
+     line-height: 90%;
+     min-width: 0;
+     padding: 2px 2px 2px 0;
+}
+
+td.snarkTorrentstatus {
+     padding: 3px 0;
+     text-align: center !important;
+}
+
+td.snarkTorrentstatus:nth-child(2) {
+     text-align: left !important;
+}
+
+.snarkTorrentstatus:first-child {
+     font-size: 8pt;
+     font-weight: bold;
+     min-width: 48px;
+     padding: 1px !important;
+     padding-left: 0;
+     text-align: left !important;
+     color: #dd9 !important;
+}
+
+.snarkTorrentstatus:first-child img {
+     margin-right: 10px !important;
+     margin-left: 6px;
+}
+
+.snarkTorrentstatus,
+.snarkTorrentRateUp,
+.snarkTorrentRateDown,
+.snarkTorrentDownloaded,
+.snarkTorrentUploaded {
+     font-size: 8pt;
+     line-height: 90%;
+     padding: 0 3px;
+     word-spacing: -.05em;
+}
+
+.snarkTorrentRateUp,
+.snarkTorrentRateDown,
+.snarkTorrentDownloaded,
+.snarkTorrentUploaded {
+     text-align: center !important;
+}
+
+.snarkTorrentDownloaded {
+     color: #0c153d !important;
+}
+
+td.snarkTorrentDownloaded {
+     font-weight: bold;
+     width: 110px;
+     padding: 0 5px;
+}
+
+.snarkTorrentUploaded {
+     color: #0c153d !important;
+}
+
+.snarkTorrentRateUp {
+     color: #0c153d !important;
+}
+
+.snarkTorrentRateDown {
+     color: #0c153d !important;
+}
+
+.snarkTorrents img {
+     padding: 4px 3px !important;
+}
+
+.snarkTorrents th img {
+     padding: 1px !important;
+}
+
+.snarkTorrents tfoot th {
+     padding: 6px 4px !important;
+}
+
+.snarkTorrents tr:hover,
+.snarkDirInfo tr:hover {
+     background: #fff !important;
+     background: linear-gradient(to bottom, #fff 0%, #ffe 100%) !important;
+}
+
+.snarkTorrents tr:hover td,
+.snarkDirInfo tr:hover td {
+     color: #0c153d !important;
+}
+
+.snarkTorrents tr:hover a,
+.snarkDirInfo tr:hover a {
+     color: #006;
+}
+
+.snarkTorrents a:hover,
+td[onclick^="document.location"]:hover a,
+.snarkDirInfo a:hover {
+     color: #f40 !important;
+}
+
+td[onclick^="document.location"]:hover {
+     cursor: pointer !important;
+}
+
+.snarkTorrentEven {
+     background: #eef;
+}
+
+.snarkTorrentEven:nth-child(even) {
+     background: #eef;
+}
+
+.snarkTorrentEven:nth-child(odd) {
+     background: #ddf;
+}
+
+.snarkTorrentOdd,
+.SnarkTorrentEven {
+     border-bottom: 1px inset #bbf !important;
+}
+
+.snarkTorrentOdd {
+     background: #ddf !important;
+}
+
+.snarkTorrentOdd:nth-child(even) {
+     background: #eef !important;
+}
+
+.snarkTorrentOdd:nth-child(odd) {
+     background: #ddf !important;
+}
+
+.snarkTorrentOdd td,
+.snarkTorrentEven td {
+     color: #0c153d !important;
+     border-top: none !important;
+}
+
+.SnarkTorrentOdd tr:nth-child(odd) {
+     background: #eef;
+}
+
+.snarkFileName {
+     font-size: 9pt !important;
+     padding: 4px 0 !important;
+     text-align: left !important;
+}
+
+.snarkFileSize {
+     font-weight: normal;
+     padding: 4px 2px;
+     color: #0c153d !important;
+}
+
+.snarkFileStatus {
+     font-size: 9pt;
+     font-style: italic;
+     min-width: 220px;
+     padding: 4px 5px 4px 15px;
+     text-align: center;
+     text-align: left !important;
+}
+
+.snarkTorrentETA {
+     font-style: italic;
+     color: #dd7 !important;
+}
+
+/*
+div.percentBarOuter {
+      background: #fff !important;
+      border: 1px solid #9f9;
+      border-bottom: 1px solid #474;
+      border-right: 1px solid #474;
+      border-radius: 0;
+      float: left;
+      box-shadow: none;
+      opacity: 1;
+}
+
+div.percentBarInner {
+      border: none;
+      height: 14px;
+      background: #1c943a;
+      background: linear-gradient(to bottom,  #1c943a 0%, #092f10 50%, #0d2707 50%, #091b05 50%, #091503 100%); 
+}
+
+div.percentBarInner.percentBarComplete {
+      background: #eef;
+      background: linear-gradient(to bottom,  #eef 0%, #002200 52%, #000000 52%, #eef 100%); 
+}
+
+.percentBarText, .percentBarOuter {
+      text-align: center;
+      height: 14px;
+      top: 0;
+      width: 80px;
+}
+
+
+.percentBarText{
+      text-align: center;
+      font-weight: bold;
+      line-height: 140%;
+      text-shadow: 0 1px 1px #000;
+}
+
+
+.snarkTorrentDownloaded .percentBarText, .snarkTorrentDownloaded .percentBarOuter  {
+      width: 110px !important;
+      word-spacing: -0.2em;
+      font-size: 7.5pt;
+}
+
+*/
+
+.choked {
+     color: #f00000 !important;
+}
+
+.unchoked {
+     color: #00f000 !important;
+}
+
+.thumb {
+     max-width: 96px;
+     max-height: 64px;
+}
+
+.snarkNewTorrent {
+     font-size: 9pt;
+}
+
+.snarkAddInfo {
+     font-size: 8.5pt;
+     line-height: 130% !important;
+     margin-left: 10px;
+}
+
+.snarkConfigTitle,
+label.toggleview {
+     font-size: 12pt;
+     font-weight: bold;
+     font-variant: small-caps !important;
+     display: inline-block;
+     min-width: 180px;
+     margin: 0 0 -4px !important;
+     padding: 3px 25px 3px 22px;
+     letter-spacing: .08em;
+     border: 1px solid #89f;
+     border-top: none;
+     background: #fff url("../../console/dark/images/header.png") repeat-x scroll center center !important;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 1px 1px #bbb);
+     -webkit-filter: drop-shadow(0 1px 1px #bbb);
+}
+
+@media screen and (-webkit-min-device-pixel-ratio: 0) { /* webkit hack */
+.snarkConfigTitle,
+label.toggleview {
+     padding-top: 1px;
+}
+}
+
+.snarkConfigTitle img,
+label.toggleview img {
+     margin-right: -2px;
+     margin-top: -2px;
+}
+
+.snarkConfigTitle a,
+.snarkConfigTitle a:visited, label.toggleview {
+     color: #444688 !important;
+     outline: none;
+}
+
+.snarkConfigTitle a:hover, .snarkConfigTitle a:focus, .toggleview:hover, .toggleview:focus {
+     color: #f60 !important;
+}
+
+.snarkConfigTitle a:active, .toggleview:active {
+     color: #f90 !important;
+}
+
+.configsectionpanel > .snarkConfig {
+     font-size: 10pt;
+     width: 100%;
+     padding-top: 0;
+}
+
+.snarkConfig i {
+     padding-left: 5px;
+}
+
+.page {
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     min-width: 800px !important;
+     margin: 5px 0 0 0;
+     padding: 10px;
+     text-align: center;
+     opacity: 1;
+     color: #0c153d;
+     border: 1px solid #89f;
+     background: #eef;
+     box-shadow: 0 0 3px 0 #bbb inset;
+}
+
+form {
+     margin-bottom: 0;
+}
+
+p {
+     line-height: 150%;
+}
+
+hr {
+     width: 0;
+     height: 1px;
+     margin: 5px 0 7px 0;
+     text-align: center;
+     color: #444;
+     border: 0 solid #444;
+     background: #444;
+}
+
+hr.debug {
+     width: 100%;
+     background: #89f;
+}
+
+hr.debug:nth-child(n+7) {
+     margin: -10px 0 3px;
+}
+
+a:link {
+     font-weight: normal;
+     text-decoration: none;
+     word-wrap: break-word;
+     opacity: 1;
+     color: #006;
+     border-radius: 0;
+}
+
+a:visited {
+     font-weight: normal;
+     text-decoration: none;
+     color: #448;
+}
+
+a:hover,
+a:focus {
+     font-weight: normal;
+     color: #f60;
+     outline: none;
+}
+
+a:active {
+     font-weight: normal;
+     color: #f93;
+}
+
+input {
+     font: bold 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     margin: 2px 4px 2px 0;
+     padding: 3px 4px !important;
+     cursor: pointer;
+     text-align: left;
+     color: #006;
+     border: 1px solid #89f;
+     border-radius: 2px;
+     background: #fff;
+}
+
+input:disabled {
+     cursor: auto;
+     opacity: .5 !important;
+}
+
+input[type=submit]:disabled,
+a.controld {
+     display: none;
+}
+
+input[type=image],
+thead img {
+     margin: 0 2px;
+     padding: 0 !important;
+     opacity: 1;
+     border: 0 none transparent !important;
+     border-radius: 3px;
+}
+
+input[type="image"],
+a img {
+     filter: drop-shadow(0 0 1px #777);
+}
+
+input[type="image"]:hover,
+a img:hover,
+input[type="image"]:focus,
+a img:focus {
+     outline: none !important;
+     filter: drop-shadow(0 0 2px #f60) !important;
+}
+
+input[type="submit"],
+input[type="reset"] {
+     font-size: 9pt;
+     font-weight: normal;
+     min-width: 90px !important;
+     min-height: 22px;
+     /* opera fix */
+     
+     padding: 3px 2px !important;
+     text-align: center;
+     color: #000;
+     border: 1px solid #bbb;
+     border-radius: 2px;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+input[type="submit"]:hover,
+input[type="reset"]:hover {
+     color: #000;
+     background: #fff;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input[type="submit"]:active,
+input[type="reset"]:active {
+     color: #000;
+     background: #ddd;
+}
+
+a.control {
+     vertical-align: middle;
+}
+
+/*
+.snarkTorrents th:nth-child(6) a img[src$="head_rx.png"]:hover {
+      opacity: 0.5;
+      filter: saturate(200%) drop-shadow(0 0 2px #f90) !important;
+}
+
+
+.snarkTorrents th:nth-child(6):hover {
+      background: url(images/head_rx_hover.png) center center no-repeat, linear-gradient(to bottom, #010, #000);
+}
+
+*/
+/*
+.snarkTorrents th:last-child input[type="image"],
+.snarkTorrents td:last-child input[type="image"] {
+     border: 1px solid #fff !important;
+     border-radius: 2px;
+     box-shadow: inset 0 0 1px 3px #fff;
+     filter: hue-rotate(22deg) drop-shadow(0 0 1px #777);
+}
+*/
+
+input.r {
+     text-align: right;
+     border: 1px solid #89f;
+     background: #fff;
+}
+
+input[type="text"]:focus,
+textarea:focus,
+input.r:focus,
+textarea[name="i2cpOpts"]:focus,
+input[name="nofilter_dataDir"]:focus {
+     background: #fff;
+}
+
+input[type="text"],
+input[type="password"],
+input.r,
+input[name="nofilter_dataDir"],
+textarea[name="i2cpOpts"] {
+     font: 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif !important;
+     min-width: 160px;
+     margin: 2px 2px 2px 0;
+     padding: 3px 2px;
+     cursor: text;
+     vertical-align: middle;
+     color: #333;
+     border: 1px solid #bbb;
+     border-radius: 2px;
+     box-shadow: inset 1px 1px 1px #ddd;
+}
+
+input[type="text"]:focus,
+input[type="password"]:focus,
+input.r:focus,
+input[name="nofilter_dataDir"]:focus,
+textarea[name="i2cpOpts"]:focus {
+     color: #000 !important;
+     box-shadow: inset 0 0 0 1px #89f;
+}
+
+textarea[name="i2cpOpts"],
+input[name="nofilter_dataDir"] {
+     width: 500px;
+     height: 22px;
+     margin: 3px 0;
+     padding: 3px;
+     resize: none;
+     cursor: text;
+}
+
+thead img,
+thead img:hover {
+     opacity: .8;
+}
+
+input[type=image],
+th a:link img,
+th a:visited img {
+     opacity: 1;
+}
+
+input[type=image]:focus,
+th a:focus,
+a:focus img {
+     color: #f60;
+     outline: none;
+     filter: drop-shadow(0 0 1px #f60);
+}
+
+img[src$="status.png"] {
+     filter: invert(100%) hue-rotate(180deg);
+}
+
+img[src$="status.png"]:hover, img[src$="status.png"]:focus, img[src$="status.png"]:active {
+     filter: invert(100%) hue-rotate(180deg) drop-shadow(0 0 2px #f60) !important;
+}
+
+input[type=text],
+input.r {
+     min-width: 100px;
+}
+
+input[type=radio] {
+     margin: 0 3px 0 8px;
+     padding: 2px;
+     vertical-align: bottom;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+     vertical-align: middle;
+}
+
+input.default {
+     visibility: hidden;
+     width: 1px;
+     height: 1px;
+}
+
+input[size="85"] {
+     width: 550px;
+     width: calc(100% - 150px);
+}
+
+.addtorrentsection input,
+.newtorrentsection input {
+     margin-left: 5px !important;
+}
+
+select {
+     font: 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+}
+
+select {
+     font: 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     min-width: 100px;
+     margin: 2px 4px 2px 0;
+     padding: 2px 16px 2px 2px;
+     cursor: pointer;
+     vertical-align: middle;
+     text-overflow: ellipsis;
+     color: #333;
+     border: 1px solid #bbb;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+select option {
+     font-size: 9.5pt;
+     font-weight: normal;
+     background: #fff;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+select {
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     -moz-appearance: none;
+}
+
+select:hover,
+select:active {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+}
+
+select:focus {
+     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #ddd 0%, #fff 100%) !important;
+     box-shadow: 0 0 0 1px #89f;
+}
+}
+
+select:focus {
+     color: #000;
+}
+
+select:nth-child(2) {
+     margin-left: -18px;
+}
+
+textarea {
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-weight: bold;
+     padding: 1px 4px 0;
+     color: #006;
+     border: 1px solid #89f;
+     border-radius: 2px;
+     background: #fff;
+}
+
+textarea:focus {
+     color: #22f !important;
+}
+
+img {
+     line-height: 100%;
+     margin: 0 3px 1px 3px;
+     vertical-align: middle;
+     opacity: 1.0;
+     border: none;
+     filter: drop-shadow(0 0 1px #777);
+}
+
+img:hover {
+     line-height: 100%;
+     opacity: 1;
+     border: none;
+}
+
+/*
+.infoz {
+     line-height: 100%;
+     float: left;
+     margin: 0 -1px 0 0 !important;
+     padding: 0 !important;
+}
+
+.infoz img {
+     opacity: 1 !important;
+     border: none;
+}
+
+.infoz img:hover {
+     opacity: 1 !important;
+}
+*/
+
+#pagenav img {
+     padding: 5px !important;
+     opacity: 0.7;
+     border: 1px solid #349 !important;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ddf 51%);
+     box-shadow: inset 0 0 1px 1px #fff;
+     filter: drop-shadow(0 0 1px #aaa) !important;
+     -webkit-filter: drop-shadow(0 0 1px #aaa) !important;
+     width: 8px;
+}
+
+#pagenav img:hover,
+#pagenav img:focus {
+     opacity: 1;
+     border: 1px solid #f60 !important;
+}
+
+#pagenav a:active img {
+     background: linear-gradient(to bottom, #99f 0%, #99f 50%, #66f 51%);
+     background: linear-gradient(to bottom, #ddf 0%, #ddf 50%, #99f 51%);
+     box-shadow: inset 2px 2px 3px 1px #333;
+}
+
+#pagenav img.disable,
+#pagenav img.disable:hover {
+     margin: 0 0 0 3px !important;
+     opacity: .3;
+     border: 1px solid #000 !important;
+}
+
+#pagenav {
+     font-weight: bold !important;
+}
+
+div.newtorrentsection td:first-child,
+div.addtorrentsection td:first-child,
+div.configsectionpanel td:first-child {
+     font-weight: bold;
+     padding-right: 5px;
+     padding-left: 5px;
+     white-space: nowrap;
+}
+
+div.newtorrentsection td:first-child,
+div.addtorrentsection td:first-child {
+     width: 120px;
+}
+
+table#trackerselect {
+     width: 100% !important;
+     width: calc(100% - 150px) !important;
+     margin: 2px 5px 0 5px;
+     border: 1px solid #89f;
+}
+
+#trackerselect tr:nth-child(even) {
+     border-bottom: 1px solid #89f;
+     background: #ddf !important;
+}
+
+#trackerselect tr:nth-child(odd) {
+     border-bottom: 1px solid #89f;
+     background: #eef;
+}
+
+#trackerselect tr:first-child {
+     font-weight: bold;
+     border-bottom: 1px #89f;
+     background: linear-gradient(to bottom, #eef, #fff);
+}
+
+#trackerselect tr:first-child td {
+     padding: 2px 5px 2px 20px;
+     border-bottom: 1px solid #89f;
+}
+
+#trackerselect td {
+     padding: 3px 5px 3px 20px;
+}
+
+#trackerselect td:first-child {
+     width: 20%;
+}
+
+#trackerselect td:nth-child(4) {
+     width: 70%;
+}
+
+#trackerselect input {
+     margin: 3px !important;
+}
+
+div.configsectionpanel td:first-child {
+     font-weight: bold;
+     padding-right: 10px !important;
+     padding-left: 5px !important;
+}
+
+.trackerconfig th {
+     min-width: 50px;
+}
+
+.trackerconfig th:last-child,
+.trackerconfig td:last-child {
+     padding-left: 10px !important;
+}
+
+.trackerconfig tr:nth-child(odd),
+.snarkConfig tr:nth-child(odd) {
+     background: #ddf;
+}
+
+.trackerconfig tr:last-child {
+     border: 1px solid #89f;
+     background: #fff;
+}
+
+.snarkTorrentNoneLoaded td {
+     color: #0c153d !important;
+     border-right: 1px solid #040;
+     border-left: 1px solid #040;
+     background: #fff;
+}
+
+.snarkNewTorrent td {
+     padding: 2px 3px;
+}
+
+.snarkNewTorrent td:nth-child(2),
+.snarkNewTorrent td:nth-child(3) {
+     font-weight: bold;
+     padding-right: 5px;
+}
+
+.snarkNewTorrent td[rowspan="0"] {
+     width: 50%;
+}
+
+.snarkConfig tr:last-child {
+     border: 1px solid #89f;
+}
+
+table.trackerconfig td:first-child {
+     width: 24px !important;
+     padding: 5px 2px;
+}
+
+.trackerconfig tr:nth-child(even),
+.snarkConfig tr:nth-child(even) {
+     background: #eef;
+}
+
+.trackerconfig input {
+     margin: 3px 0 !important;
+     cursor: default;
+}
+
+.optbox[name="add_tracker_type"] {
+     cursor: pointer;
+     /* active cursor only for clickable radio icons */
+}
+
+.snarkConfig input[type="submit"] {
+     min-width: 100px;
+     margin: 3px 2px 3px 5px !important;
+     text-align: center;
+}
+
+.trackerconfig td,
+.snarkConfig td {
+     padding: 5px 1px !important;
+}
+
+.trackerconfig {
+     text-align: left !important;
+}
+
+.snarkConfig table tr:first-child {
+     border-top: 1px solid #89f !important;
+}
+
+.trackerconfig th:nth-child(n+4),
+.trackerconfig th:nth-child(n+5),
+.trackerconfig td:nth-child(n+4),
+.trackerconfig td:nth-child(n+5) {
+     text-align: center !important;
+}
+
+.trackerconfig th,
+.trackerconfig td,
+.trackerconfig th:last-child,
+.trackerconfig td:last-child {
+     text-align: left !important;
+}
+
+.trackerconfig td:first-child {
+     text-align: right !important;
+}
+
+.configsectionpanel td[colspan="2"]:last-child,
+.configsectionpanel td[colspan="7"] {
+     display: none;
+}
+
+.configsectionpanel td[colspan="5"],
+.configsectionpanel td[colspan="2"] {
+     border-top: 1px solid #89f;
+}
+
+.snarkConfig tr:nth-last-child(2) {
+     background: none;
+}
+
+.snarkConfig tr:nth-last-child(2) td,
+.configsectionpanel td[colspan="5"] {
+     padding: 11px 15px 0 !important;
+     text-align: right !important;
+     border-top: 1px solid #89f;
+}
+
+.snarkConfig tr {
+     border: none !important;
+}
+
+.trackerconfig table {
+     border: none !important;
+}
+
+div.section,
+div.mainsection div.section,
+div.mainsection {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     word-wrap: break-word;
+     opacity: 1 !important;
+     color: #0c153d;
+     border: 1px solid #89f;
+     border-bottom: none;
+     background: #fff;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+div.newtorrentsection {
+     margin: 0 0 10px 0;
+     padding: 0 10px 0 10px;
+     text-align: center;
+     word-wrap: break-word;
+     opacity: 1.0;
+     color: #0c153d;
+     border: 1px solid #89f;
+     background: url(images/snark_create.png) no-repeat scroll right center, linear-gradient(to bottom, #fff 0%, #eef 100%);
+     background-size: 68px 68px, 100% 100%;
+     box-shadow: inset 0 0 3px 0 #bbb;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+div.addtorrentsection {
+     margin: 10px 0;
+     padding: 0 10px;
+     text-align: center;
+     word-wrap: break-word;
+     opacity: 1.0;
+     color: #0c153d;
+     border: 1px solid #89f;
+     background: url(images/snark_add.png) no-repeat scroll 99.5% center, linear-gradient(to bottom, #fff 0%, #eef 100%);
+     background-size: 61px 61px, 100% 100%;
+     box-shadow: 0 0 1px #fff;
+     box-shadow: inset 0 0 3px 0 #bbb;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+.addtorrentsection table,
+.newtorrentsection table {
+     margin-top: -5px;
+}
+
+div.configsection {
+     font-weight: bold;
+     margin: 0;
+     padding: 0 10px 12px 10px;
+     text-align: center;
+     word-wrap: break-word;
+     color: #0c153d;
+     border: 1px solid #89f;
+     background: #fff;
+     background: url(images/configuration.png) no-repeat scroll 101% center, linear-gradient(to bottom, #fff 0%, #eef 100%);
+     background-size: 68px 68px, 100% 100%;
+     box-shadow: inset 0 0 3px 0 #bbb;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+.iframed .configsection {
+     filter: none;
+}
+
+div.configsectionpanel {
+     font-weight: bold;
+     margin: 9px 0 0 0;
+     padding: 0;
+     text-align: center;
+     word-wrap: break-word;
+     color: #0c153d;
+     border: 1px solid #89f;
+     background: linear-gradient(to bottom, #fff 0%, #eef 40px, #fff 100%);
+     box-shadow: inset 0 0 3px 0 #bbb;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+}
+
+.iframed .configsectionpanel {
+     filter: none;
+}
+
+.configsection .snarkConfig {
+     margin-top: -1px !important;
+     padding-top: 0 !important;
+}
+
+.newtorrentsection form,
+.configsection form,
+.addtorrentsection form {
+     color: #0c153d !important;
+}
+
+div.configsection table {
+     opacity: 1;
+     color: #ffb;
+}
+
+div.configsection a {
+     font-weight: bold;
+}
+
+div.configsection a:hover {
+     text-decoration: none;
+     color: #f60;
+}
+
+code {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-size: 8pt;
+     font-weight: bold;
+     padding: 0 2px;
+     color: #090;
+}
+
+.iframed .snarknavbar,
+.iframed .mainsection,
+.iframed .addtorrentsection,
+.iframed .newtorrentsection,
+.iframed .configsection,
+.iframed .configsectionpanel {
+     border-right: none !important;
+     border-left: none !important;
+     border-radius: 0;
+}
+
+.routerdown {
+     padding: 10px;
+     color: #0c153d;
+     border-bottom: 1px solid #89f;
+}
+
+input.trackername {
+     width: 100px;
+}
+
+input.trackerhome {
+     width: 210px;
+}
+
+input.trackerannounce {
+     width: 210px;
+}
+
+/* toggle create/add panel view */
+
+input.toggle_input { /* hide checkbox and use label as faux panel heading */
+     display: none;
+}
+
+label.toggleview:hover {
+     cursor: pointer;
+     color: #f60;
+}
+
+input#toggle_addtorrent:not(checked) + label + hr + table,
+input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: none;
+}
+
+input#toggle_addtorrent:checked + label + hr + table,
+input#toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+/* display panels by default on webkit based browsers (midori fix) */
+/*
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+input#toggle_addtorrent:not(checked) + label + hr + table,
+input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+input#toggle_addtorrent:checked + label + hr + table,
+input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+.iframed input#toggle_addtorrent:not(checked) + label + hr + table,
+.iframed input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed input#toggle_addtorrent:checked + label + hr + table,
+.iframed input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+
+label.toggleview,
+.snarkConfigTitle a:visited {
+     color: #006;
+}
+
+label.toggleview img:hover, label.toggleview:hover img, .snarkConfigTitle a:hover img {
+     color: #f90;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+label.toggleview img:active, label.toggleview:active img, .snarkConfigTitle a:active img {
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
diff --git a/installer/resources/themes/snark/dark/favicon.ico b/installer/resources/themes/snark/dark/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..28658965c9486d89945244234f91d20162f1649b
Binary files /dev/null and b/installer/resources/themes/snark/dark/favicon.ico differ
diff --git a/installer/resources/themes/snark/dark/images/add.png b/installer/resources/themes/snark/dark/images/add.png
new file mode 100644
index 0000000000000000000000000000000000000000..49746a115d7299ab69a309f1e61c0d8fc7e8e89e
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/add.png differ
diff --git a/installer/resources/themes/snark/dark/images/arrow_refresh.png b/installer/resources/themes/snark/dark/images/arrow_refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d280de31164579cf1ed018e581db43fa209ae8e
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/arrow_refresh.png differ
diff --git a/installer/resources/themes/snark/dark/images/bullet.png b/installer/resources/themes/snark/dark/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a716e251c03971af5f4ccc3c3bb83ef40c780cf
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/bullet.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_forum.png b/installer/resources/themes/snark/dark/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e7e37e11ac65d5747a26c9853ba6445d4902d58
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_forum_active.png b/installer/resources/themes/snark/dark/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_forum_hover.png b/installer/resources/themes/snark/dark/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdd6bf265347aa6190bd26f581d5ea9b70efde16
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_snark.png b/installer/resources/themes/snark/dark/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..155309fb5f734fa5cb457131c5869ee4292c78b2
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_snark_active.png b/installer/resources/themes/snark/dark/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_snark_hover.png b/installer/resources/themes/snark/dark/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb8aad6ec7fa3b332f2c0830aecf64d8df84c540
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_tracker.png b/installer/resources/themes/snark/dark/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..e099332f88bbeba1765bf17216c5f7c3a2aabf2c
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_tracker_active.png b/installer/resources/themes/snark/dark/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/dark/images/button_tracker_hover.png b/installer/resources/themes/snark/dark/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1f553707a0504fae9e2ea3d7dca15d4464be338
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/dark/images/complete.png b/installer/resources/themes/snark/dark/images/complete.png
new file mode 100644
index 0000000000000000000000000000000000000000..96199806aa92cb7fdb15612c87106565460ef8cb
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/complete.png differ
diff --git a/installer/resources/themes/snark/dark/images/config.png b/installer/resources/themes/snark/dark/images/config.png
new file mode 100644
index 0000000000000000000000000000000000000000..8151463917ec88ca0962a5bfefb9f11c9122bff8
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/config.png differ
diff --git a/installer/resources/themes/snark/dark/images/configuration.png b/installer/resources/themes/snark/dark/images/configuration.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5d5a77c772ab123291d78f5fcd84561ff3662dc
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/configuration.png differ
diff --git a/installer/resources/themes/snark/dark/images/create.png b/installer/resources/themes/snark/dark/images/create.png
new file mode 100644
index 0000000000000000000000000000000000000000..1da4964f227819caae0e0dd5123efd19b5867223
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/create.png differ
diff --git a/installer/resources/themes/snark/dark/images/create0.png b/installer/resources/themes/snark/dark/images/create0.png
new file mode 100644
index 0000000000000000000000000000000000000000..44ccbf812879c42cb1f9587d865bcfc337ce6361
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/create0.png differ
diff --git a/installer/resources/themes/snark/dark/images/delete.png b/installer/resources/themes/snark/dark/images/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..40516eebe35dad74a570b27ef065345e4f7072be
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/delete.png differ
diff --git a/installer/resources/themes/snark/dark/images/details.png b/installer/resources/themes/snark/dark/images/details.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2d0f1d7197ba3cc1b9e67f6626b2096eb29aecb
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/details.png differ
diff --git a/installer/resources/themes/snark/dark/images/downloading.png b/installer/resources/themes/snark/dark/images/downloading.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d01bb51372948d4254283e580dd91e1243380f1
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/downloading.png differ
diff --git a/installer/resources/themes/snark/dark/images/dropdown.png b/installer/resources/themes/snark/dark/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..077ee79136817191247bc8e4fe4223a99b63dfc9
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/dark/images/dropdown_active.png b/installer/resources/themes/snark/dark/images/dropdown_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f115f98851233839bd411337191ef76f510b9bb
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/dropdown_active.png differ
diff --git a/installer/resources/themes/snark/dark/images/dropdown_hover.png b/installer/resources/themes/snark/dark/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffcca9c9b867994cf27dcac5df46d0928fef47c5
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/snark/dark/images/eta.png b/installer/resources/themes/snark/dark/images/eta.png
new file mode 100644
index 0000000000000000000000000000000000000000..33e00910046bd8b26de446f8f36ca2bde9cd764b
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/eta.png differ
diff --git a/installer/resources/themes/snark/dark/images/file.png b/installer/resources/themes/snark/dark/images/file.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6ff3e0f398cbeed6a9b7959421ce20aa9d68f96
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/file.png differ
diff --git a/installer/resources/themes/snark/dark/images/file_sm.png b/installer/resources/themes/snark/dark/images/file_sm.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c1c1888d06470a8bcdb5d85da8a7b8006cbf2a5
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/file_sm.png differ
diff --git a/installer/resources/themes/snark/dark/images/first.png b/installer/resources/themes/snark/dark/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..11122f7be56a44ecc449728c545037a831463ede
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/first.png differ
diff --git a/installer/resources/themes/snark/dark/images/hat.png b/installer/resources/themes/snark/dark/images/hat.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d94cff8e9313d34198dbb17f9df43b35a36cb87
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/hat.png differ
diff --git a/installer/resources/themes/snark/dark/images/head_rx.png b/installer/resources/themes/snark/dark/images/head_rx.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd8ad2ede4974487b89da38933bec30df4cbfdc4
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/head_rx.png differ
diff --git a/installer/resources/themes/snark/dark/images/head_rxspeed.png b/installer/resources/themes/snark/dark/images/head_rxspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..66f596100eac5aa4c1fddfdb3a4d504fc2286dcb
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/head_rxspeed.png differ
diff --git a/installer/resources/themes/snark/dark/images/head_tx.png b/installer/resources/themes/snark/dark/images/head_tx.png
new file mode 100644
index 0000000000000000000000000000000000000000..9344a41ad0d2db793892c1a0dfd0086801da03e7
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/head_tx.png differ
diff --git a/installer/resources/themes/snark/dark/images/head_txspeed.png b/installer/resources/themes/snark/dark/images/head_txspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..0dc1e4f6cdb3d287e30755c7dee1b2449032626c
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/head_txspeed.png differ
diff --git a/installer/resources/themes/snark/dark/images/hidepeers.png b/installer/resources/themes/snark/dark/images/hidepeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fd8d5a6e9054676b48ba5b0078640d14090649e
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/hidepeers.png differ
diff --git a/installer/resources/themes/snark/dark/images/last.png b/installer/resources/themes/snark/dark/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..36d291aa539cc8bbd0105a07ecb988f725e2d24c
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/last.png differ
diff --git a/installer/resources/themes/snark/dark/images/next.png b/installer/resources/themes/snark/dark/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..9bb8b42dd57a1ad1e99a6c4fac96da49e159d3d4
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/next.png differ
diff --git a/installer/resources/themes/snark/dark/images/nopeers.png b/installer/resources/themes/snark/dark/images/nopeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fb0e2cfccfc57e557ee70aee09c5aeb83c6d6f0
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/nopeers.png differ
diff --git a/installer/resources/themes/snark/dark/images/previous.png b/installer/resources/themes/snark/dark/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..b31f561165c16155917e3e34786be921dfafa1f6
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/previous.png differ
diff --git a/installer/resources/themes/snark/dark/images/priority.png b/installer/resources/themes/snark/dark/images/priority.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ee6c6500e18f08d6495d118f7d7b2b2e0dd1458
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/priority.png differ
diff --git a/installer/resources/themes/snark/dark/images/remove.png b/installer/resources/themes/snark/dark/images/remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5513afa3dfbb28f874269dcd1871bef6cf2438a
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/remove.png differ
diff --git a/installer/resources/themes/snark/dark/images/seeding.png b/installer/resources/themes/snark/dark/images/seeding.png
new file mode 100644
index 0000000000000000000000000000000000000000..e58e518bc0f011eb50ef1ad727a3091048f6d1bd
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/seeding.png differ
diff --git a/installer/resources/themes/snark/dark/images/showpeers.png b/installer/resources/themes/snark/dark/images/showpeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..e20490d58161aee2f7dc3dce4ca8b38e876ae8b2
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/showpeers.png differ
diff --git a/installer/resources/themes/snark/dark/images/size.png b/installer/resources/themes/snark/dark/images/size.png
new file mode 100644
index 0000000000000000000000000000000000000000..c90ba586e77cef77a097e9a3e11e679cbc5fc7bf
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/size.png differ
diff --git a/installer/resources/themes/snark/dark/images/snark_add.png b/installer/resources/themes/snark/dark/images/snark_add.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc17f23ddd091b8f1b516e87cf25a7abe9a925b4
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/snark_add.png differ
diff --git a/installer/resources/themes/snark/dark/images/snark_create.png b/installer/resources/themes/snark/dark/images/snark_create.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/snark_create.png differ
diff --git a/installer/resources/themes/snark/dark/images/stalled.png b/installer/resources/themes/snark/dark/images/stalled.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d7b193b51ef414e9f69276722331ee066e3517e
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/stalled.png differ
diff --git a/installer/resources/themes/snark/dark/images/start.png b/installer/resources/themes/snark/dark/images/start.png
new file mode 100644
index 0000000000000000000000000000000000000000..262151e9c9d4aace878b360ab537b0401c3f1a45
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/start.png differ
diff --git a/installer/resources/themes/snark/dark/images/start_all.png b/installer/resources/themes/snark/dark/images/start_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e1f96daa8a2ee14d606305700a9d4d55e028333
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/start_all.png differ
diff --git a/installer/resources/themes/snark/dark/images/status.png b/installer/resources/themes/snark/dark/images/status.png
new file mode 100644
index 0000000000000000000000000000000000000000..65577e1489c95a6d580bbef8d1f31591b19a6a71
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/status.png differ
diff --git a/installer/resources/themes/snark/dark/images/stop.png b/installer/resources/themes/snark/dark/images/stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..bddf3d0bf573b5533f3296c3846f70680d64b14a
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/stop.png differ
diff --git a/installer/resources/themes/snark/dark/images/stop_all.png b/installer/resources/themes/snark/dark/images/stop_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..d04d318f0d1c54d4a1014f287a422482aaf7601e
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/dark/images/stopped.png b/installer/resources/themes/snark/dark/images/stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5b41579e3f41fd4cce24968eb302eaa6a76684b
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/stopped.png differ
diff --git a/installer/resources/themes/snark/dark/images/torrent.png b/installer/resources/themes/snark/dark/images/torrent.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d0b709817d969eab44fac1fc95fc3b9bc104ae8
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/torrent.png differ
diff --git a/installer/resources/themes/snark/dark/images/trackererror.png b/installer/resources/themes/snark/dark/images/trackererror.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41191f6cb5251e0b48097002137a240fe62b4dc
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/trackererror.png differ
diff --git a/installer/resources/themes/snark/dark/images/up.png b/installer/resources/themes/snark/dark/images/up.png
new file mode 100644
index 0000000000000000000000000000000000000000..bcd34b51948ee0229706aa7424caf44dcc05cad5
Binary files /dev/null and b/installer/resources/themes/snark/dark/images/up.png differ
diff --git a/installer/resources/themes/snark/dark/snark.css b/installer/resources/themes/snark/dark/snark.css
new file mode 100644
index 0000000000000000000000000000000000000000..f9b3e7f6d68342d1f991ee54eafc65372509ce33
--- /dev/null
+++ b/installer/resources/themes/snark/dark/snark.css
@@ -0,0 +1,1798 @@
+/* I2PSnark theme "Camo" aka Dark by dr|z3d */
+
+body {
+     margin: 9px 8px;
+     color: #ee9;
+     font: 9pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     background: #000;
+     background: linear-gradient(45deg, rgba(0,0,0,0.5), rgba(0,34,0,0.7)), url(../../console/dark/images/camotile2.png) top left;
+     background-size: 3px 3px, 175px 175px;
+}
+
+tt {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+body.iframed {
+     background: transparent url('../../console/dark/images/transparent.gif') !important;
+     margin: 1px 0 !important;
+}
+
+.iframed .page {
+     border: none;
+     background: none;
+     padding: 0;
+     margin: 5px 0;
+     box-shadow: none;
+     background: url("../../console/dark/images/camotile2.png") repeat scroll left top #000;
+     background: linear-gradient(to right, #000 0%, #020 50%, #000 100%);
+}
+
+.snarknavbar {
+     margin: 0 0 -6px !important;
+     padding: 8px 0;
+     background: none !important;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 50%, #000 100%) !important;
+     text-transform: uppercase !important;
+     letter-spacing: 0em !important;
+     font-weight: bold;
+     font-size: 11.5pt;
+     color: #000;
+     min-width: 820px;
+     text-align: center;
+     border: 1px solid #494;
+}
+
+.iframed .snarknavbar {
+     margin-top: -2px !important;
+}
+
+.snarknavbar img {
+     border: 0;
+     vertical-align: top;
+     display: none;
+}
+
+.snarkRefresh:link, .snarkRefresh:visited {
+     text-decoration: none !important;
+     text-transform: uppercase !important;
+     padding: 5px 7px 5px 22px !important;
+     margin: 0 -1px !important;
+     letter-spacing: 0.1em;
+     font-weight: bold;
+     font-size: 9pt;
+     color: #3f3;
+     text-shadow: 0 0 1px #000;
+     background: url(images/button_tracker.png) 7px center no-repeat, url(../../console/dark/images/header.png) center center repeat;
+     background: url(images/button_tracker.png) 7px center no-repeat, linear-gradient(to bottom, #171 0%, #131 50%, #000 51%, #000 100%) !important;
+     border-radius: 0;
+     border: 1px solid #494;
+     box-shadow: inset 0 0 0 1px #000;
+     opacity: 0.85;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+     display: inline-block;
+}
+
+.snarkRefresh:link:last-child {
+      margin-left: 3px;
+}
+
+.snarkRefresh:link:first-child {
+     border-radius: 2px 0 0 2px;
+     padding: 5px 7px 5px 15px !important;
+     background:  url(images/button_snark.png) 7px center no-repeat, url(../../console/dark/images/header.png) center center repeat;
+     background: url(images/button_snark.png) 7px center no-repeat, linear-gradient(to bottom, #171 0%, #131 50%, #000 51%, #000 100%) !important; 
+}
+
+.snarkRefresh:link:nth-child(2) {
+     background: url(images/button_forum.png) 7px center no-repeat, url(../../console/dark/images/header.png) center center repeat;
+     background: url(images/button_forum.png) 7px center no-repeat, linear-gradient(to bottom, #171 0%, #131 50%, #000 51%, #000 100%) !important; 
+}
+
+.snarkRefresh:hover {
+     opacity: 1;
+     box-shadow: inset 0 0 0 1px #000 !important;
+}
+
+.snarkRefresh:active {
+	color: #fff !important;
+	box-shadow: inset 3px 2px 3px #000 !important;
+}
+
+.snarkRefresh:link:first-child:hover {
+     background-image: url(images/button_snark_hover.png), url('../ubergine/images/snarknav_on.png') !important;
+     background-image: url(images/button_snark_hover.png), linear-gradient(to bottom, #510 0%, #530 50%, #000 51%, #000 100%) !important; 
+     background-position: 7px center, center center !important;
+     background-repeat: no-repeat, repeat !important;
+}
+
+.snarkRefresh:link:hover:nth-child(2) {
+     background-image: url(images/button_forum_hover.png), url('../ubergine/images/snarknav_on.png') !important;
+     background-image: url(images/button_forum_hover.png), linear-gradient(to bottom, #510 0%, #530 50%, #000 51%, #000 100%) !important; 
+}
+
+#refresh:active, .snarkRefresh:link:active:first-child {
+     background: #f50 url(images/button_snark_active.png) !important;
+     background-position: 7px center !important;
+     background-repeat: no-repeat !important;
+     text-decoration: none !important;
+     color: #fff;
+     border: 1px solid #fff;
+     box-shadow: none;
+     text-shadow: none;
+}
+
+.snarkRefresh:link:active:nth-child(2) {
+     background: #f50 url(images/button_forum_active.png) !important;
+     background-position: 7px center !important;
+     background-repeat: no-repeat !important;
+}
+
+.snarkRefresh:hover {
+     text-decoration: none !important;
+     text-transform: uppercase !important;
+     font-weight: bold;
+     font-size: 9pt;
+     color: #f50;
+     background: #000 !important;
+     border-radius: 0;
+     border: 1px solid #f50;
+     box-shadow: inset 0 0 1px #f50;
+     opacity: 1;
+     background-image: url(images/button_tracker_hover.png), url('../ubergine/images/snarknav_on.png') !important;
+     background-image: url(images/button_tracker_hover.png), linear-gradient(to bottom, #510 0%, #530 50%, #000 51%, #000 100%) !important; 
+     background-position: 7px center, center center !important;
+     background-repeat: no-repeat, repeat !important;
+}
+
+.snarkRefresh:active {
+     background: #f50 url(images/button_tracker_active.png) !important;
+     background-position: 7px center !important;
+     background-repeat: no-repeat !important;
+     text-decoration: none !important;
+     color: #fff;
+     border: 1px solid #fff;
+     box-shadow: none;
+     text-shadow: none;
+}
+
+.snarkRefresh:link:last-of-type {
+     border-radius: 2px !important;
+}
+
+.snarkRefresh:link[target="_blank"]:last-child {
+     border-radius: 0 2px 2px 0 !important;
+}
+
+.snarkRefresh:last-child {
+     border-radius: 0 2px 2px 0 !important;
+     }
+
+.iframed .snarkRefresh:last-child[href="/i2psnark/"] {
+     margin-top: 0 !important;
+}
+
+.snarkMessages {
+     font: normal 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     text-align: left;
+     margin: 0;
+     padding: 3px 5px;
+     overflow: auto;
+     resize: none;
+     color: #69f;
+     height: 54px;
+     width: auto;
+     background: #000 url(images/hat.png) no-repeat scroll right bottom;
+     background: url(images/hat.png) no-repeat scroll right bottom, linear-gradient(to bottom, #010, #000);
+     border-bottom: 1px solid #494;
+     background-blend-mode: screen;
+}
+
+.snarkMessages a:link, .snarkMessages a:visited {
+     color: #2b2 !important;
+}
+
+.snarkMessages a:hover {
+     color: #f70 !important;
+}
+
+.snarkMessages ul {
+     margin: -1px 0 2px 0;
+     padding: 0 0 0 14px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: "";
+     display: inline-block;
+     background: url(images/bullet.png) left bottom no-repeat;
+     width: 14px;
+     height: 11px;
+     background-size: 9px 9px;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+.snarkMessages p {
+     font-style: italic;
+     margin: 0;
+     text-align: right;
+}
+
+.snarkMessages img {
+     float: right;
+     margin: -4px -5px 4px 4px;
+     opacity: 0.7;
+     border: 1px solid #494;
+     border-right: 0 none;
+     border-top: 0 none;
+     border-radius: 0 0 0 1px;
+     position: sticky;
+     top: -4px;
+     width: 9px;
+     padding: 2px 2px 2px 1px;
+}
+
+.snarkMessages img:hover {
+     opacity: 1;
+     border: 1px solid #494;
+     border-right: 0 none;
+     border-top: 0 none;
+}
+
+.logshim {
+     margin-top: -10px !important;
+}
+
+pre {
+     width: 100%;
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     padding: 0;
+     text-align: left !important;
+     height: 8px;
+     color: #35f;
+     font-weight: bold !important; 
+}
+
+table {
+     margin: 0 0 10px;
+     border: 0;
+     padding: 0;
+     border-spacing: 0;
+     border-collapse: collapse;
+     color: #323;
+     width: 100%;
+     opacity: 1 !important;
+}
+
+tr { 
+     opacity: 1;
+}
+
+thead, tfoot {
+     background: #000;
+}
+
+thead {
+     border-bottom: 1px solid #101;
+}
+
+th {
+     padding: 3px 2px;
+     font-size: 8pt;
+     border-top: 1px solid #494;
+     border-bottom: 1px solid #494;
+     color: #ee9;
+     white-space: nowrap;
+     background: #000;
+     background: linear-gradient(to bottom, #010, #000);
+}
+
+thead th {
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 50%, #000 100%) !important;
+}
+
+th:first-child {
+     text-align: left !important;
+     padding-left: 2px;
+}
+
+tfoot td:first-child {
+     text-align: left !important;
+     padding-left: 0;
+}
+
+th:first-child img {
+     margin: 1px -2px 3px 1px !important;
+}
+
+th:nth-child(2) img {
+     margin: 1px 5px 3px 2px !important;
+}
+
+tfoot th {
+     padding-bottom: 4px !important;
+     white-space: normal;
+}
+
+tfoot img, tfoot:nth-child(2) img, tfoot:nth-child(1) img, tfoot:nth-child(3) img, tfoot:nth-child(4) img {
+     margin: 0 2px 3px 0 !important;
+     padding-right: 0 !important;
+}
+
+tfoot tr:nth-child(n+1) {
+     text-align: left;
+}
+
+.headerstatus {
+     text-align: center;
+}
+
+.headerpriority {
+     text-align: left;
+     padding-left: 10px;
+}
+
+.ParentDir {
+     background: #000;
+     font-size: 8pt;
+     border: 1px solid #050 !important;
+     border-left: 0 !important;
+     border-right: 0 !important;
+     text-align: left !important;
+     padding: 4px 0;
+}
+.ParentDir a {
+     font-weight: bold !important;
+     margin-left: -4px;
+}
+
+.priority {
+     font-size: 8pt;
+     vertical-align: middle;
+     min-width: 160px;
+}
+
+.SnarkTorrents {
+     margin: 0;
+     border: 1px solid #101;
+     background: #000;
+}
+
+.SnarkTorrents th {
+     text-align: center;
+}
+
+.SnarkTorrents th:first-child {
+     text-align: center;
+     width: 30px;
+     padding-right: 0;
+}
+
+.SnarkTorrents th:nth-child(2) {
+     text-align: center;
+}
+
+.SnarkTorrents th br {
+     display: none; /* kill double height button display */
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th:nth-child(n+2) {
+     white-space: nowrap;
+}
+
+.snarkTorrents th:nth-child(4), .SnarkTorrents th:nth-child(5), .SnarkTorrents th:nth-child(6), .SnarkTorrents th:nth-child(7), .SnarkTorrents th:nth-child(8), .SnarkTorrents th:nth-child(9), .SnarkTorrents th:last-child {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th, .SnarkTorrents tfoot th tt {
+     background: #000;
+     font-weight: normal;
+}
+
+.snarkTorrents tfoot th::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th tt {
+     color: #ff0;
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     background: none;
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th:nth-child(3) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th {
+     vertical-align: top;
+}
+
+.snarkTorrents tfoot th br {
+     display: inline-block;
+     margin-left: 20px !important;
+}
+
+.SnarkTorrents td:nth-child(6), .SnarkTorrents td:nth-child(7), .SnarkTorrents td:nth-child(8) {
+     text-align: center !important;
+}
+
+table.SnarkTorrents {
+     margin-top: -1px !important;
+}
+
+.snarkTorrents th {
+     text-align: left;
+}
+
+.snarkTorrents td {
+     line-height: 110%;
+     text-align: left;
+}
+
+.iframed .snarkTorrents td {
+     font-size: 8pt !important;
+}
+
+.snarkTorrents td:nth-child(1) {
+     width: 24px !important;
+}
+
+.snarkTorrents td:nth-child(3), .SnarkTorrents td:nth-child(4) {
+     width: 16px !important;
+     padding: 0 !important;
+     text-align: center !important;
+}
+
+.snarkTorrents td:nth-child(3) {
+     text-align: right !important;
+}
+
+.snarkTorrents td[colspan="10"]{
+     padding: 2px;
+     color: #cc7 !important;
+}
+
+.snarkTorrents img {
+     margin: 0 !important;
+     padding: 0 !important;
+}
+
+.snarkTorrents tt {
+     color: #ff0;
+     font-size: 8pt;
+}
+
+.snarkTorrentInfo img {
+     max-height: 16px !important;
+     margin: 1px 0 1px 2px !important;
+     vertical-align: text-bottom;
+}
+
+.snarkTorrentInfo th {
+     padding: 4px !important;
+     text-align: left;
+     border-top: none;
+}
+
+.snarkTorrentInfo th:first-child {
+     background: url(/themes/snark/camo/images/file_sm.png) no-repeat 6px 7px, linear-gradient(to bottom, #010, #000);
+}
+
+.snarkTorrentInfo th:nth-child(2) {
+     padding: 8px 5px 8px 0 !important;
+     font-size: 9pt;
+}
+
+.snarkTorrentInfo td {
+     text-align: left !important;
+     vertical-align: middle !important;
+}
+
+.snarkTorrentInfo td:first-child {
+     width: 20px !important;
+     padding: 3px 4px 4px!important;
+}
+
+.snarkTorrentInfo input[type="submit"] {
+     min-width: 85px;
+     text-align: center;
+     margin-left: 0;
+}
+
+.snarkTorrentInfo input.stoptorrent {
+     margin-right: -8px;
+}
+
+table.snarkTorrentInfo tr:nth-last-child(2) {
+     border-top: 1px solid #494;
+} 
+
+.snarkTorrentInfo tr:nth-last-child(2) td {
+     padding: 2px 4px 4px !important;
+     vertical-align: middle;
+}
+
+table.snarkTorrentInfo tr:last-child {
+     border-top: 1px solid #494 !important;
+     background: none;
+}
+
+table.snarkTorrentInfo tr:last-child b {
+     float: left;
+     margin-left: -4px;
+}
+
+table.snarkTorrentInfo tr:last-child td {
+     text-align: right !important;
+     padding: 8px 8px 12px !important;
+     padding: 5px 5px 9px !important;
+}
+
+table.SnarkTorrentInfo {
+     margin-bottom: 1px !important;
+     background: url("../../console/dark/images/camotile2.png") repeat scroll center bottom #001100;
+     border-bottom: 1px solid #494;
+}
+
+.snarkTorrentInfo tr:nth-child(even) {
+     background: #001000;
+     color: #bb7;
+     vertical-align: middle !important;
+}
+
+.snarkTorrentInfo tr:nth-child(odd) {
+     background: #001a00;
+     color: #bb7;
+}
+
+table.SnarkDirInfo {
+     margin-top: -2px !important;
+     margin-bottom: 0;
+     border-bottom: 1px solid #494;
+}
+
+.snarkDirInfo th img {
+     margin: 0 !important;
+}
+
+.snarkDirInfo th:nth-child(2) {
+     text-align: center;
+     width: 32px;
+}
+
+.snarkDirInfo td {
+     min-width: 0 !important;
+}
+
+.snarkDirInfo th:first-child {
+     padding-left: 5px;
+}
+
+.snarkDirInfo td:first-child {
+     padding-left: 4px;
+} 
+
+.snarkDirInfo td:first-child img {
+     padding-right: 6px;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;
+}
+
+.snarkDirInfo tr:last-child {
+     border-bottom: 1px solid #494 !important;
+}
+
+.headerpriority input[type=submit] {
+     margin: 5px -3px 5px 5px;
+}
+
+.SnarkDirInfo img {
+     max-height: 16px;
+     max-width: 16px;
+}
+
+.snarkDirInfo thead img {
+     margin: 0 !important;
+     max-width: none;
+     max-height: none;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;  
+     padding-right: 10px;  
+}
+
+.snarkDirInfo .headerpriority img[src$="priority.png"] {
+     margin-right: -40px !important;
+}
+
+td.subHeaderPriority, td.priority {
+     min-width: 36px !important;
+     width: 0;
+     text-align: center !important;
+     padding: 0 5px 0 0 !important;
+}
+
+td.subHeaderPriority {
+     background: #020;
+     font-weight: bold;
+     background: url("images/snarktopnav.png") repeat-x scroll center center #110011;
+     background-image: linear-gradient(to bottom, #030 0%, #020 50%, #000 51%, #000 100%); 
+     text-align: center !important;
+     padding: 0 1px !important;
+     font-size: 7.5pt;
+}
+
+.headerpriority br {
+     display: none;
+}
+
+.headerpriority img {
+     padding: 4px !important;
+}
+
+.headerstatus {
+     min-width: 150px;
+     text-align: left;
+     padding-left: 18px;
+}
+
+td.priority:last-child {
+/*     min-width: 350px !important;*/
+     padding-right: 10px !important;
+     text-align: right !important;
+}
+
+tr.priority:last-child {
+     border-bottom: none !important;
+}
+
+th.headerdownloaded {
+     padding-left: 25px !important;
+}
+
+.parentDir img {
+     padding-left: 3px;
+} 
+
+td.snarkFileStatus {
+     width: 80px;
+     text-align: left;
+     font-size: 8pt;
+     white-space: nowrap;
+}
+
+td.snarkFileIcon {
+     width: 16px;
+     padding: 0;
+}
+
+td.snarkFileStatusIcon {
+     width: 24px;
+     padding: 0 4px 0 0;
+     text-align: center;
+}
+
+td {
+     padding: 1px;
+     color: #ee9 !important;
+      opacity: 1;
+     font-size: 9pt;
+}
+
+.mainsection td {
+     color: #111;
+}
+
+td:first-child {
+     text-align: right;
+     font-size: 9pt;
+}
+
+.center {
+     text-align: center !important;
+}
+
+.snarkTorrentName {
+     padding: 0;
+     line-height: 90%;
+}
+
+.snarkTorrentName a, .snarkDirInfo td.snarkFileName a {
+     font-weight: bold !important;
+}
+
+.snarkTorrentAction {
+     padding: 1px 1px 1px 1px !important;
+     margin: 0 !important;
+     text-align: center !important;
+     width: 60px; 
+}
+
+.snarkTorrentAction img {
+     margin: 0 2px !important;
+     opacity: 1;
+}
+
+.snarkTorrentAction img:hover {
+     box-shadow: 0 0 1px 1px #f90;
+     opacity: 1;
+}
+
+td.snarkTorrentAction {
+     min-width: 66px;
+     width: 66px;
+}
+
+.snarkTorrentNoneLoaded {
+     background: #000;
+     font-size: 8.5pt;
+     font-weight: bold;
+     text-align: center !important;
+     color: #4f2 !important;
+     padding: 10px 5px;
+     border-bottom: 1px solid #494;
+}
+
+.snarkTorrentStatus {
+     padding: 2px 2px 2px 0;
+     line-height: 90%;
+     min-width: 0;
+}
+
+td.snarkTorrentStatus {
+     text-align: center !important;
+     padding: 3px 0;
+}
+
+td.snarkTorrentStatus:nth-child(2) {
+     text-align: left !important;
+}
+
+.snarkTorrentStatus:first-child {
+     text-align: left !important;
+     padding-left: 0;
+     min-width: 48px;
+     font-weight: bold;
+     color: #dd9 !important;
+     font-size: 8pt;
+     padding: 1px !important;
+}
+
+.snarkTorrentStatus:first-child img {
+     margin-right: 10px !important;
+     margin-left: 6px;
+}
+
+.snarkTorrentStatus, .snarkTorrentRateUp, .snarkTorrentRateDown, .snarkTorrentDownloaded, .snarkTorrentUploaded {
+     font-size: 8pt;
+     padding: 0 3px;
+     line-height: 90%;
+     word-spacing: -0.05em;
+}
+
+.snarkTorrentRateUp, .snarkTorrentRateDown, .snarkTorrentDownloaded, .snarkTorrentUploaded {
+     text-align: center !important;
+}
+
+.snarkTorrentDownloaded {
+     color: #ee9 !important;
+}
+
+td.snarkTorrentDownloaded {
+     font-weight: bold;
+}
+
+.snarkTorrentUploaded {
+     color: #bb7 !important;
+}
+
+.snarkTorrentRateUp {
+     color: #bb7 !important;
+}
+
+.snarkTorrentRateDown {
+     color: #bb7 !important;
+}
+
+.snarkTorrents img {
+     padding: 4px 3px !important;
+}
+
+.snarkTorrents th img {
+     padding: 1px !important;
+}
+
+.snarkTorrents tfoot th {
+     padding: 6px 4px !important;
+}
+
+.snarkTorrents tr:hover, .snarkDirInfo tr:hover {
+     background: #030 !important;
+     box-shadow: inset 0 0 1px 0 #494;
+/*     transition: all 0.3s ease 0s;
+     transition-delay: 0.15s; */
+}
+
+.snarkTorrents tr:hover td, .snarkDirInfo tr:hover td {
+     color: #ee9 !important;
+}
+
+.snarkTorrents tr:hover a, .snarkDirInfo tr:hover a {
+     color: #9f9;
+}
+
+.snarkTorrents a:hover, td[onclick^="document.location"]:hover a, .snarkDirInfo a:hover {
+     color: #f40 !important;
+}
+
+td[onclick^="document.location"]:hover {
+     cursor: pointer !important;
+}
+
+.snarkTorrentEven {
+     background: #001000;
+}
+
+.snarkTorrentEven:nth-child(even) {
+     background: #001000;
+}
+
+.snarkTorrentEven:nth-child(odd) {
+     background: #000800;
+}
+
+.snarkTorrentOdd, .SnarkTorrentEven {
+     border-bottom: 1px solid #000 !important;
+}
+
+.snarkTorrentOdd {
+     background: #000800 !important;
+}
+
+.snarkTorrentOdd:nth-child(even) {
+     background: #001000 !important;
+}
+
+.snarkTorrentOdd:nth-child(odd) {
+     background: #000800 !important;
+}
+
+.snarkTorrentOdd td, .snarkTorrentEven td {
+     border-top: none !important;
+     color: #bb7 !important;
+}
+
+.SnarkTorrentOdd tr:nth-child(odd) {
+     background: #001000;
+}
+
+.snarkFileName {
+     padding: 4px 0 !important; 
+     text-align: left !important;
+     font-size: 9pt !important;
+}
+
+.snarkFileSize {
+     padding: 4px 2px;
+     font-weight: normal;
+     color: #bb7 !important; 
+}
+
+.snarkFileStatus {
+     padding: 4px 5px 4px 15px;
+     text-align: center;
+     font-style: italic;
+     font-size: 9pt;
+     text-align: left;
+     min-width: 220px;
+}
+
+.snarkFileStatus img {
+     mix-blend-mode: luminosity;
+}
+
+.snarkFileStatus img[src*="clock"] {
+     mix-blend-mode: normal !important;
+}
+
+.snarkTorrentETA {
+     font-style: italic;
+     color: #dd7 !important;
+}
+/*
+div.percentBarOuter {
+     background: #000 !important;
+     border: 1px solid #9f9;
+     border-bottom: 1px solid #474;
+     border-right: 1px solid #474;
+     border-radius: 0;
+     float: left;
+     box-shadow: none;
+     opacity: 1;
+}
+
+div.percentBarInner {
+     border: none;
+     height: 14px;
+     background: #1c943a;
+     background: linear-gradient(to bottom,  #1c943a 0%, #092f10 50%, #0d2707 50%, #091b05 50%, #091503 100%); 
+}
+
+div.percentBarInner.percentBarComplete {
+     background: #001100;
+     background: linear-gradient(to bottom,  #001100 0%, #002200 52%, #000000 52%, #001100 100%); 
+}
+
+.percentBarText, .percentBarOuter {
+     text-align: center;
+     height: 14px;
+     top: 0;
+     width: 80px;
+}
+
+.percentBarText{
+     text-align: center;
+     font-weight: bold;
+     line-height: 140%;
+     text-shadow: 0 1px 1px #000;
+}
+
+.snarkTorrentDownloaded .percentBarText, .snarkTorrentDownloaded .percentBarOuter  {
+     width: 110px !important;
+     word-spacing: -0.2em;
+     font-size: 7.5pt;
+}
+*/
+
+.choked {
+     color: #f00000 !important;
+}
+
+.unchoked {
+     color: #00f000 !important;
+}
+
+.thumb {
+     max-height: 64px;
+     max-width: 96px;
+}
+
+.snarkNewTorrent {
+     font-size: 9pt;
+}
+
+.snarkAddInfo {
+     font-size: 8.5pt;
+     line-height: 130% !important;
+     margin-left: 10px;
+}
+
+.snarkConfigTitle, label.toggleview {
+     font-size: 11pt;
+     font-weight: bold;
+     padding: 1px 22px 3px 20px;
+     margin: 5px 0 10px 0 !important;
+     letter-spacing: 0.2em;
+     border: 1px solid #494;
+     border-radius: 0;
+     border-top: none;
+     background: #000 url('../../console/dark/images/header.png') repeat-x scroll center center !important;
+     background: linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%) !important;
+     font-variant: small-caps !important;
+     filter: drop-shadow(0 2px 1px #000);
+     -webkit-filter: drop-shadow(0 2px 1px #000);
+     display: inline-block;
+     margin: 0 0 -3px !important;
+     min-width: 200px;
+     box-shadow: inset 0 0 0 1px #000;
+}
+
+.snarkConfigTitle a, label.toggleview {
+     text-shadow: 0 0 1px #000 !important;
+}
+
+.snarkConfigTitle img, .toggleview img {
+     margin-right: -2px;
+     margin-bottom: 2px;
+     vertical-align: middle;
+}
+
+label.toggleview:active, .snarkConfigTitle a:active {
+     color: #f30 !important;
+}
+
+label.toggleview img:hover, label.toggleview:hover img, .snarkConfigTitle a:hover img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+label.toggleview img:active, label.toggleview:active img, .snarkConfigTitle a:active img {
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
+
+.snarkConfig {
+     font-size: 10pt;
+     width: 100%;
+}
+
+.snarkConfig i {
+     padding-left: 5px;
+}
+
+.page {
+     color: #310;
+     min-width: 800px !important;
+     margin: 5px 0 0 0;
+ /*    padding: 10px;*/
+     border-radius: 0 0 2px 2px;
+/*     border: 1px solid #494;*/
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     text-align: center;
+     opacity: 1;
+     background: #000;
+}
+
+form {
+     margin-bottom: 0;
+}
+
+p {
+     line-height: 150%;
+}
+
+hr {
+     color: #444;
+     background: #444;
+     height: 1px;
+     border: 0 solid #444;
+     width: 0%;
+     margin: 5px 0 7px 0;
+     text-align: center;
+}
+
+hr.debug {
+     width: 100%;
+     background: #131;
+}
+
+hr.debug + b {
+     color: #ff7;
+     text-transform: uppercase;
+}
+
+hr.debug:nth-child(n+7) {
+     margin-top: -11px;
+     margin-bottom: 2px;
+     opacity: 0.5;
+}
+
+a:link {
+     color: #7c7;
+     text-decoration: none;
+     font-weight: normal;
+     word-wrap: break-word;
+     border-radius: 0;
+     outline: none;
+}
+
+a:visited {
+     color: #393;
+     text-decoration: none;
+     font-weight: normal;
+}
+
+a:hover, a:focus {
+     color: #f60 !important;
+     font-weight: normal;
+}
+
+a:active {
+     color: #f90;
+     font-weight: normal;
+}
+
+input {
+     text-align: left;
+     padding: 3px 4px !important;
+     border-radius: 2px;
+     border: 1px solid #494;
+     background: #000;
+     color: #494;
+     margin: 2px 4px 2px 0;
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     cursor: pointer;
+}
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     border: none;
+     outline: none;
+}
+
+input:disabled {
+     opacity: 0.5 !important;
+     cursor: auto;
+}
+
+.addtorrentsection input, .newtorrentsection input {
+     margin-top: 0 !important;
+     margin-bottom: 5px;
+}
+
+input.r {
+     text-align: right;
+     background: #000;
+     border: 1px solid #494;
+}
+
+input[type=submit], input[type=submit]:visited {
+     color: #494;
+     background: #000;
+     border: 1px outset #191;
+     padding: 4px 3px !important;
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     margin-top: 6px;
+     min-width: 95px;
+     text-align: center;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+input[type=submit]:hover, input[type=submit]:focus {
+     border: 1px outset #f60;
+     background-color: #000;
+     color: #f60;
+     box-shadow: 0 1px 1px 0 #ee9 inset;
+}
+
+input[type=submit]:active {
+     border: 1px inset #f60;
+     background: #f60;
+     color: #ee9;
+     text-shadow: none !important;
+}
+
+input[type=submit]:disabled {
+     display: none;
+}
+
+input[type=image], thead img {
+     padding: 0 !important;
+     border-radius: 3px;
+     border: 0 none transparent !important;
+     margin: 0 2px;
+     opacity: 1;
+}
+
+input[type="image"], a img {
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+input[type="image"]:hover, a img:hover, input[type="image"]:focus, a:focus img {
+     filter: saturate(200%) drop-shadow(0 0 1px #f90) !important;
+     -webkit-filter: saturate(200%) drop-shadow(0 0 1px #f90) !important;
+     outline: none;
+}
+
+/*
+.snarkTorrents th:nth-child(6) a img[src$="head_rx.png"]:hover {
+     opacity: 0.5;
+     filter: saturate(200%) drop-shadow(0 0 2px #f90) !important;
+}
+
+.snarkTorrents th:nth-child(6):hover {
+     background: url(images/head_rx_hover.png) center center no-repeat, linear-gradient(to bottom, #010, #000);
+}
+*/
+
+.snarkTorrents th:last-child, .snarkTorrents td:last-child {
+     white-space: nowrap;
+}
+
+.snarkTorrents th:last-child input[type="image"], .snarkTorrents td:last-child input[type="image"] {
+     border: 1px solid #000 !important;
+     border: 1px solid #151 !important;
+     margin: 0 2px !important;     
+     padding: 3px !important;
+     background: #030;
+     background: linear-gradient(to bottom, #030 0%, #030 50%, #010 50%, #010 100%);
+     box-shadow: inset 0 0 0 1px #000;
+     border-radius: 2px;
+     height: 9px;
+     filter: drop-shadow(0 0 1px #000);
+}
+
+.snarkTorrents th:last-child input[type="image"]:hover, .snarkTorrents td:last-child input[type="image"]:hover { /* borders on hover only for torrent control buttons, otherwise drop-shadow */
+     border: 1px solid #f60 !important;
+}
+
+input[type=text], input.r, textarea[name="i2cpOpts"], input[name="nofilter_dataDir"] {
+     color: #bb7;
+     padding: 4px 3px !important;
+     background: #000;
+     background: linear-gradient(to bottom, #000 0%, #010 100%);
+     box-shadow: inset 0 0 3px 3px #000;
+}
+
+input[type=text]:hover, input.r:hover {
+     cursor: text;
+}
+
+input[type=text]:focus, textarea:focus, input.r:focus, textarea[name="i2cpOpts"]:focus, input[name="nofilter_dataDir"]:focus {
+     background: #000;
+     color: #ee9;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
+}
+
+textarea[name="i2cpOpts"], input[name="nofilter_dataDir"] {
+     cursor: text;
+     margin: 3px 0;
+     height: 24px;
+     padding: 3px;
+     width: 500px;
+     resize: none;
+}
+
+thead img, thead img:hover {
+     opacity: 0.8;
+     max-height: 20px !important;
+}
+
+input[type=image], th a:link img, th a:visited img {
+/*     border: 1px solid #000 !important; */
+/*     border-radius: 3px; */
+     opacity: 1;
+}
+
+input[type=image]:hover, th a:hover img {
+/*     border: 1px solid #f90 !important;*/
+/*     border-radius: 4px; */
+/*     transition: all 0.3s ease 0s; */
+}
+
+input[type=text], input.r {
+     min-width: 100px;
+}
+
+input[type=radio] {
+     padding: 2px;
+     margin: 0 3px 0 8px;
+     vertical-align: bottom;
+}
+
+input[type="checkbox"], input[type="radio"], input[type="checkbox"]:disabled:hover, input[type="radio"]:disabled:hover {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%);
+}
+
+input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="checkbox"]:focus, input[type="radio"]:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+}
+
+input.default {
+     width: 1px; 
+     height: 1px; 
+     visibility: hidden;
+}
+
+input[size="85"] {
+     width: 550px;
+     width: calc(100% - 150px);
+}
+
+.addtorrentsection input, .newtorrentsection input {
+     margin-left: 5px !important;
+}
+
+select {
+     background: #000 !important;
+     color: #494;
+     font: 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     font-weight: bold;
+     padding: 2px 16px 2px 2px;
+     border-radius: 2px;
+     border: 1px outset #191;
+     margin: 2px 4px 2px 0;
+     min-width: 100px;
+     cursor: pointer;
+     text-overflow: ellipsis;
+}
+
+select option { /* dropdown menu reverts to normal font-weight */
+     font-weight: normal;
+     font-size: 9.5pt;
+}
+
+select:hover, select:focus {
+     background: #000 !important;
+     color: #f60 !important;
+     border: 1px solid #f60;
+}
+
+select:hover {
+     box-shadow: inset 0 1px 1px 0 #ee9;
+}
+
+@-moz-document url-prefix() { /* target firefox and derivatives only */
+
+select {
+     background: #000 url(images/dropdown.png) right center no-repeat !important;
+     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%) !important;
+     -moz-appearance: none;
+}
+
+select:hover, select:focus, select:active {
+     background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+}
+}
+
+select:nth-child(2) {
+     margin-left: -18px;
+}
+
+textarea {
+     background: #000;
+     color: #bb7;
+     font-weight: bold;
+     padding: 1px 4px 0;
+     border-radius: 2px;
+     border: 1px solid #494;
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+textarea:focus {
+     color: #ee9 !important;
+}
+
+input[type="submit"], input[type="reset"], select, button { /* webkit/blink fix for oversaturated colors */
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%);
+}
+
+img {
+     border: none;
+     margin: 0 3px 1px 3px;
+     vertical-align: middle;
+     opacity: 1.0;
+     line-height: 100%;
+     filter: drop-shadow(0 0 1px #000);
+}
+
+img:hover {
+     border: none;
+     opacity: 1;
+     line-height: 100%;
+}
+
+img.thumb { /* consistent size for thumbnail images in file manifest */
+      width: 16px;
+      border-radius: 1px;
+}
+
+img[src$="magnet.png"] {
+     transform: rotate(-90deg);
+}
+
+/*
+img[src$="folder.png"] {
+     filter: hue-rotate(60deg);
+}
+
+img[src$="folder.png"]:hover {
+     filter: hue-rotate(60deg) drop-shadow(0 0 1px #f90) !important;
+}
+
+.infoz {
+     margin: 0 -1px 0 0 !important;
+     padding: 0 !important;
+     line-height: 100%;
+     float: left;
+}
+
+.infoz img {
+     border: none;
+     opacity: 1 !important;
+}
+
+.infoz img:hover {
+     opacity: 1 !important;
+}
+*/
+
+#pagenav img.disable, #pagenav img.disable:hover {
+     opacity: 0.3;
+     margin: 0 2px !important;
+}
+
+#pagenav img {
+     height: 8px;
+     border: 1px solid #151 !important;
+     margin: 0 0 0 2px !important;     
+     padding: 4px 5px !important;
+     background: #030;
+     background: linear-gradient(to bottom, #030 0%, #030 50%, #010 50%, #010 100%);
+     box-shadow: inset 0 0 0 1px #000;
+     border-radius: 2px;
+}
+
+#pagenav {
+     font-weight: bold !important;
+}
+
+.newtorrentsection td:first-child, .addtorrentsection td:first-child, .configsectionpanel td:first-child {
+     white-space: nowrap;
+     font-weight: bold;
+     padding-right: 5px;
+     padding-left: 5px;
+}
+
+.newtorrentsection td:first-child, .addtorrentsection td:first-child {
+     width: 120px;
+}
+
+table#trackerselect {
+     border: 1px solid #131;
+     width: 100% !important;
+     width: calc(100% - 150px) !important;
+     margin: 2px 5px 0 5px;
+}
+
+#trackerselect tr:nth-child(even) {
+     background: #000800 !important;
+}
+
+#trackerselect tr:nth-child(odd) {
+     background: #001000;
+     border-bottom: 1px inset #000;
+}
+
+#trackerselect tr:first-child {
+     background: linear-gradient(to bottom, #010, #000);
+     border-bottom: 1px solid #131;
+     font-weight: bold;
+}
+
+#trackerselect tr:first-child td {
+     padding: 3px 5px 3px 20px;
+}
+
+#trackerselect td {
+     padding: 5px 5px 5px 20px;
+}
+
+#trackerselect td:first-child {
+     width: 20%;
+}
+
+#trackerselect td:nth-child(4) {
+     width: 70%;
+}
+
+#trackerselect input {
+     margin: 3px !important;
+}
+
+.configsectionpanel td:first-child {
+     padding-right: 10px !important;
+     padding-left: 5px !important;
+     font-weight: bold;
+}
+
+.trackerconfig th {
+     min-width: 50px;
+}
+
+.trackerconfig th:last-child, .trackerconfig td:last-child {
+     padding-left: 10px !important;
+}
+
+.trackerconfig tr:nth-child(odd), .snarkConfig tr:nth-child(odd) {
+     background: #000900;
+} 
+
+.trackerconfig tr:last-child {
+     border: 1px solid #494;
+     background: #000;
+     background: linear-gradient(to bottom, #001100, #000000) repeat scroll 0 0 #000000;
+}
+
+.snarkTorrentNoneLoaded td {
+     background: #000;
+     border-left: 1px solid #040;
+     border-right: 1px solid #040;
+     color: #ee9 !important;
+}
+
+.snarkNewTorrent td {
+     padding: 2px 3px;
+}
+
+.snarkNewTorrent td:nth-child(2), .snarkNewTorrent td:nth-child(3) {
+     font-weight: bold;
+     padding-right: 5px;
+}
+
+.snarkNewTorrent td[rowspan="0"]{
+     width: 50%;
+}
+
+.snarkConfig tr:last-child {
+     border: 1px solid #494;
+}
+
+table.trackerconfig td:first-child {
+     padding: 5px 2px;
+     width: 24px !important;
+}
+
+.trackerconfig tr:nth-child(even), .snarkConfig tr:nth-child(even) {
+     background: #010;
+}
+
+.trackerconfig input {
+     margin: 3px 0 !important;
+     cursor: default;
+}
+
+.optbox[name="add_tracker_type"] {
+     cursor: pointer; /* active cursor only for clickable radio icons */
+}
+
+.snarkConfig input[type=submit] {
+     margin: 3px 2px 3px 5px !important;
+     text-align: center;
+     min-width: 100px;
+}
+
+.trackerconfig td, .snarkConfig td {
+     padding: 5px 1px !important;
+}
+
+.trackerconfig {
+     text-align: left !important;
+}
+
+.snarkConfig table tr:first-child {
+     border-top: 1px solid #494 !important; 
+}
+
+.trackerconfig th:nth-child(n+4), .trackerconfig th:nth-child(n+5), .trackerconfig td:nth-child(n+4), .trackerconfig td:nth-child(n+5) {
+     text-align: center !important;
+}
+
+.trackerconfig th, .trackerconfig td, .trackerconfig th:last-child, .trackerconfig td:last-child {
+     text-align: left !important;
+}
+
+.trackerconfig td:first-child {
+     text-align: right !important;
+}
+
+/*
+.trackerconfig td:last-child {
+     white-space: nowrap;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     min-width: 230px;
+}
+*/
+
+.configsectionpanel td[colspan="2"]:last-child, .configsectionpanel td[colspan="7"] {
+     display: none;
+}
+
+.configsectionpanel td[colspan="5"], .configsectionpanel td[colspan="2"] {
+     border-top: 1px solid #494;
+}
+
+.snarkConfig tr:nth-last-child(2) {
+     background: none;	
+}
+
+.snarkConfig tr:nth-last-child(2) td, .configsectionpanel td[colspan="5"] {
+     text-align: right !important;
+     padding: 11px 15px 0 !important;
+     border-top: 1px solid #494;
+}
+
+.snarkConfig tr {
+     border: none !important;
+}
+
+.trackerconfig table {
+     border: none !important;
+}
+
+.section, .mainsection {
+     margin: 0;
+     padding: 0;
+     border: 1px solid #494;
+     border-bottom: none;
+     color: #ee9;
+     box-shadow: inset 0 0 1px 0 #212;
+     word-wrap: break-word;
+     text-align: center;
+     background: #000;
+     opacity: 1 !important;
+}
+
+.newtorrentsection {
+     margin: -1px 0 10px;
+     padding: 0 10px 0 10px;
+     border: 1px solid #494;
+     text-align: center;
+     color: #ee9;
+     box-shadow: inset 0 0 5px 2px #000;
+     word-wrap: break-word;
+     background: #000 url('/themes/snark/ubergine/images/snark_create.png') no-repeat scroll right center;
+     background: url(images/snark_create.png) center right no-repeat, linear-gradient(to bottom, rgba(0,40,0,0.3) 0%, rgba(0,15,0,0.5) 100%), url("../../console/dark/images/camotile2.png") top left repeat;
+     background-size: 80px 80px, 100% 100%, 175px 175px;
+}
+
+.addtorrentsection {
+     margin: -1px 0 0;
+     padding: 0 10px;
+     border: 1px solid #494;
+     text-align: center;
+     color: #ee9;
+     box-shadow: inset 0 0 5px 2px #000;
+     word-wrap: break-word;
+     background: #000 url('/themes/snark/dark/images/snark_add.png') no-repeat scroll right center;
+     background: url(images/snark_add.png) 99% center no-repeat, linear-gradient(to bottom, rgba(0,40,0,0.3) 0%, rgba(0,15,0,0.5) 100%), url("../../console/dark/images/camotile2.png") top left repeat;
+     background-size: 61px 61px, 100% 100%, 175px 175px;
+}
+
+.configsection {
+     margin: -11px 0 0;
+     padding: 0 10px 12px 10px;
+     border: 1px solid #494;
+     color: #ee9;
+     box-shadow: inset 0 0 5px 2px #000;
+     word-wrap: break-word;
+     text-align: center;
+     background: #000;
+     font-weight: bold;
+     background: url(images/configuration.png) 102% 30% no-repeat, linear-gradient(to bottom, rgba(0,40,0,0.3) 0%, rgba(0,15,0,0.5) 100%), url("../../console/dark/images/camotile2.png") top left repeat;
+     background-size: 84px 82px, 100% 100%, 175px 175px;
+}
+
+.configsectionpanel {
+     margin: -1px 0 0 0;
+     padding: 0;
+     border: 1px solid #494;
+     color: #ee9;
+     box-shadow: inset 0 0 5px 2px #000;
+     word-wrap: break-word;
+     text-align: center;
+     background: #000 url('/themes/snark/dark/images/configuration.png') no-repeat scroll right center;
+     font-weight: bold;
+     background: linear-gradient(to bottom, rgba(0,40,0,0.3) 0%, rgba(0,15,0,0.5) 100%), url("../../console/dark/images/camotile2.png") top left repeat;
+}
+
+.mainsection + form > .configsectionpanel:first-child {
+     margin-top: 9px;
+}
+
+.newtorrentsection form, .configsection form, .addtorrentsection form {
+     color: #ee9 !important;
+}
+
+.configsection table {
+     color: #ffb;
+     opacity: 1;
+}
+
+.configsection a {
+/*     color: #f60; */
+     text-shadow: 0 1px 1px #000;
+     font-weight: bold;
+}
+
+.configsection a:hover {
+     color: #f60;
+     text-decoration: none;
+}
+
+code {
+     font-size: 8pt;
+     color: #ff6;
+     padding: 0 2px;
+     font-weight: bold;
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+.iframed .snarknavbar, .iframed .mainsection, .iframed .addtorrentsection, .iframed .newtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+      border-left: none !important;
+      border-right: none !important;
+      border-radius: 0;
+}
+
+.iframed .mainsection, .iframed .addtorrentsection, .iframed .newtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+}
+
+.routerdown {
+     color: #ee9;
+     border-bottom: 1px solid #494;
+     padding: 10px;
+}
+
+input.trackername {
+     width: 100px;
+}
+
+input.trackerhome {
+     width: 210px;
+}
+
+input.trackerannounce {
+     width: 210px;
+}
+
+/* toggle create/add panel view */
+
+input.toggle_input { /* hide checkbox and use label as faux panel heading */
+     display: none !important;
+}
+
+label.toggleview:hover {
+     color: #f60;
+     cursor: pointer;
+}
+
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: none;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+/* enable to display panels by default in webkit */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) { 
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+
+.iframed input#toggle_addtorrent:not(checked) + label + hr + table, .iframed input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed input#toggle_addtorrent:checked + label + hr + table, .iframed input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+
+label.toggleview, .snarkConfigTitle a:visited {
+     color: #7c7;
+}
diff --git a/installer/resources/themes/snark/light/images/arrow_refresh.png b/installer/resources/themes/snark/light/images/arrow_refresh.png
index c30c16341460d95ff8b3f6e8baa3e6b6fa1ef90a..717f386e3163e50fda41e902b47bc624af146688 100644
Binary files a/installer/resources/themes/snark/light/images/arrow_refresh.png and b/installer/resources/themes/snark/light/images/arrow_refresh.png differ
diff --git a/installer/resources/themes/snark/light/images/arrow_refresh0.png b/installer/resources/themes/snark/light/images/arrow_refresh0.png
new file mode 100644
index 0000000000000000000000000000000000000000..c30c16341460d95ff8b3f6e8baa3e6b6fa1ef90a
Binary files /dev/null and b/installer/resources/themes/snark/light/images/arrow_refresh0.png differ
diff --git a/installer/resources/themes/snark/light/images/bullet.png b/installer/resources/themes/snark/light/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ef4208142a09ba3de18c0d42c2617a1f4e343a0
Binary files /dev/null and b/installer/resources/themes/snark/light/images/bullet.png differ
diff --git a/installer/resources/themes/snark/light/images/button_forum.png b/installer/resources/themes/snark/light/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..12be0fa62608fac5de23e0cd61653f492acd699e
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/light/images/button_forum_active.png b/installer/resources/themes/snark/light/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/light/images/button_forum_hover.png b/installer/resources/themes/snark/light/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdd6bf265347aa6190bd26f581d5ea9b70efde16
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/button_snark.png b/installer/resources/themes/snark/light/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..717f386e3163e50fda41e902b47bc624af146688
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/light/images/button_snark_active.png b/installer/resources/themes/snark/light/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/light/images/button_snark_hover.png b/installer/resources/themes/snark/light/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb8aad6ec7fa3b332f2c0830aecf64d8df84c540
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/button_tracker.png b/installer/resources/themes/snark/light/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..03b8d183679185ede630c95149a48ea813cb169a
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/light/images/button_tracker_active.png b/installer/resources/themes/snark/light/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/light/images/button_tracker_hover.png b/installer/resources/themes/snark/light/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1f553707a0504fae9e2ea3d7dca15d4464be338
Binary files /dev/null and b/installer/resources/themes/snark/light/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/config.png b/installer/resources/themes/snark/light/images/config.png
index 565a9330e0a156dff5bed2c9fad8c95a44344ba4..8151463917ec88ca0962a5bfefb9f11c9122bff8 100644
Binary files a/installer/resources/themes/snark/light/images/config.png and b/installer/resources/themes/snark/light/images/config.png differ
diff --git a/installer/resources/themes/snark/light/images/delete.png b/installer/resources/themes/snark/light/images/delete.png
index eb4c2f5ce382cdf3d75060d6202a5806e84a9c09..a37f8c7f1a8d23babac993177015df3d727d86d8 100644
Binary files a/installer/resources/themes/snark/light/images/delete.png and b/installer/resources/themes/snark/light/images/delete.png differ
diff --git a/installer/resources/themes/snark/light/images/delete_hover.png b/installer/resources/themes/snark/light/images/delete_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..51c32d1dcaef473edb7b84b2283230c697ec04ca
Binary files /dev/null and b/installer/resources/themes/snark/light/images/delete_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/dropdown.png b/installer/resources/themes/snark/light/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec983e14ae70dcf0f3a7f64ec47f533d55a8e7f5
Binary files /dev/null and b/installer/resources/themes/snark/light/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/light/images/first.png b/installer/resources/themes/snark/light/images/first.png
index 15d1584bdbb2c26a9fc4c8269aa54615a58a4657..8abef5daff2cc918ae1be3cbbb70198bc0a671db 100644
Binary files a/installer/resources/themes/snark/light/images/first.png and b/installer/resources/themes/snark/light/images/first.png differ
diff --git a/installer/resources/themes/snark/light/images/first_hover.png b/installer/resources/themes/snark/light/images/first_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e25ff6e6f6bb07b29410c64ffd3ed73e0d43857
Binary files /dev/null and b/installer/resources/themes/snark/light/images/first_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/last.png b/installer/resources/themes/snark/light/images/last.png
index 4a2f9d4e4a81857f509d85bbe46936c99709cd6f..e174e55f7620337f1d68946aa7a55a5a663486a6 100644
Binary files a/installer/resources/themes/snark/light/images/last.png and b/installer/resources/themes/snark/light/images/last.png differ
diff --git a/installer/resources/themes/snark/light/images/last_hover.png b/installer/resources/themes/snark/light/images/last_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..5aec075956ab1042b4abe85a32108ce5a3d0e2e5
Binary files /dev/null and b/installer/resources/themes/snark/light/images/last_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/next.png b/installer/resources/themes/snark/light/images/next.png
index f8c8ec683edd6a974eacc253332f903d643dbe41..49da1fa92007b3218a3e5578c6b5f2493d8e4a8c 100644
Binary files a/installer/resources/themes/snark/light/images/next.png and b/installer/resources/themes/snark/light/images/next.png differ
diff --git a/installer/resources/themes/snark/light/images/next_hover.png b/installer/resources/themes/snark/light/images/next_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f49430bacc9a830e4762e975e00d05627abbb500
Binary files /dev/null and b/installer/resources/themes/snark/light/images/next_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/previous.png b/installer/resources/themes/snark/light/images/previous.png
index 7b3f9e6fde420cb3f9454c692bc69b1d39efa280..4b932951e9aad5cea28e8a4d6c7d8925f533736b 100644
Binary files a/installer/resources/themes/snark/light/images/previous.png and b/installer/resources/themes/snark/light/images/previous.png differ
diff --git a/installer/resources/themes/snark/light/images/previous_hover.png b/installer/resources/themes/snark/light/images/previous_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0cbcad826de6ee2cf17406bc143162faa8398e9
Binary files /dev/null and b/installer/resources/themes/snark/light/images/previous_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/remove.png b/installer/resources/themes/snark/light/images/remove.png
index af7fe79c12e97f7c7e9ca4019e56f60a3631c199..12f988b18088a079dd43a20131a7bae1c9ed375a 100644
Binary files a/installer/resources/themes/snark/light/images/remove.png and b/installer/resources/themes/snark/light/images/remove.png differ
diff --git a/installer/resources/themes/snark/light/images/remove_hover.png b/installer/resources/themes/snark/light/images/remove_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..7487cf4d24985dbc13a834a7fc3c6aca75a95ed1
Binary files /dev/null and b/installer/resources/themes/snark/light/images/remove_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/start.png b/installer/resources/themes/snark/light/images/start.png
index 716a6d39a64c6a5b52e7218815a1e24da3c44b18..6bf001c4e024a7b9dc4d98e062a0c0f88b772154 100644
Binary files a/installer/resources/themes/snark/light/images/start.png and b/installer/resources/themes/snark/light/images/start.png differ
diff --git a/installer/resources/themes/snark/light/images/start_all.png b/installer/resources/themes/snark/light/images/start_all.png
index 23220f6c64fef85d0cd63d8401b41810e645e09c..dadeeebebf1bfae434f485e4cbe7e56b9c4ba818 100644
Binary files a/installer/resources/themes/snark/light/images/start_all.png and b/installer/resources/themes/snark/light/images/start_all.png differ
diff --git a/installer/resources/themes/snark/light/images/start_all_hover.png b/installer/resources/themes/snark/light/images/start_all_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..c95bc758117611ffa5317277b7992914ea98abbe
Binary files /dev/null and b/installer/resources/themes/snark/light/images/start_all_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/start_hover.png b/installer/resources/themes/snark/light/images/start_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..615f542fcb1662a6d699b10b62c855501716bfe7
Binary files /dev/null and b/installer/resources/themes/snark/light/images/start_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/stop.png b/installer/resources/themes/snark/light/images/stop.png
index e2af0d9206b3bca95b3837c7bf7591c6c0355679..ca007e86fb370a83e5316f0865c5b98713070fff 100644
Binary files a/installer/resources/themes/snark/light/images/stop.png and b/installer/resources/themes/snark/light/images/stop.png differ
diff --git a/installer/resources/themes/snark/light/images/stop_all.png b/installer/resources/themes/snark/light/images/stop_all.png
index 3708e65e8bbc8f4deea0740bd9310f25b0375d60..124a31caea0922e15aac81bb0916aad34abe001e 100644
Binary files a/installer/resources/themes/snark/light/images/stop_all.png and b/installer/resources/themes/snark/light/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/light/images/stop_all_hover.png b/installer/resources/themes/snark/light/images/stop_all_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..124a31caea0922e15aac81bb0916aad34abe001e
Binary files /dev/null and b/installer/resources/themes/snark/light/images/stop_all_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/stop_hover.png b/installer/resources/themes/snark/light/images/stop_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..8516a21a099041b070a39b12b54e507103e43e09
Binary files /dev/null and b/installer/resources/themes/snark/light/images/stop_hover.png differ
diff --git a/installer/resources/themes/snark/light/images/tile2.png b/installer/resources/themes/snark/light/images/tile2.png
new file mode 100644
index 0000000000000000000000000000000000000000..85ffb4f3a9472016511870f717e48903a98d4a2e
Binary files /dev/null and b/installer/resources/themes/snark/light/images/tile2.png differ
diff --git a/installer/resources/themes/snark/light/images/torrent.png b/installer/resources/themes/snark/light/images/torrent.png
index dd836d3295db5d8fa876978a6ccd75acfab09a30..3b3221188abf14c7d53dc89542ccc838701d7602 100644
Binary files a/installer/resources/themes/snark/light/images/torrent.png and b/installer/resources/themes/snark/light/images/torrent.png differ
diff --git a/installer/resources/themes/snark/light/snark.css b/installer/resources/themes/snark/light/snark.css
index f5e5c2c8b8f802f262cc371f84ddd483c29f5ca7..c3783558c86819884da2479cd0034cc72d369c36 100644
--- a/installer/resources/themes/snark/light/snark.css
+++ b/installer/resources/themes/snark/light/snark.css
@@ -3,106 +3,208 @@
 /* Thanks to http://www.luxphile.com/2011/01/creative-commons-cat.html for the kitty image */
 
 body {
-     color: #000;
-     font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
-     background: #fff;
-     background: #fff;
+     color: #272e3f;
+     font: 8pt "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     background: #a4a4cb url(/themes/console/light/images/tile2.png) center top;
+     background-size: 32px 32px;
+     font-size-adjust: 0.58;
+     margin: 5px;
 }
 
 body.iframed {
-     background: transparent url('../../console/dark/images/transparent.gif') !important;
+     background: transparent url(/themes/console/images/transparent.gif) !important;
      margin: 6px 0 0 !important;
 }
 
-.snarkTitle {
-     font-size: 12pt;
-     font-weight: bold;
+* {
+     outline: none !important;
+}
+
+a:focus img, input[type="image"]:focus, a.control:focus, input[type="radio"]:focus, input[type="checkbox"]:focus, select:focus, input[type="text"]:focus, input.r:focus, input[name="nofilter_dataDir"]:focus, textarea:focus {
+     filter: drop-shadow(0 0 1px #6f072b) !important;
+     -webkit-filter: drop-shadow(0 0 1px #6f072b) !important;
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+     outline: none;
+     border: none;
+}
+
+.page {
+     color: #310;
+     min-width: 900px !important;
+     margin: 5px 0 0 0;
+     padding: 0;
+     border-radius: 2px;
+     border: 1px solid #7778bf;
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     box-shadow: 0 0 1px #fff;
      text-align: center;
+     opacity: 1;
+     background: #fff;
+     background: linear-gradient(to right, #fff 0%, #dfe0ff, #fff 100%);
+     background-size: 3px auto;
+}
+
+.iframed .page {
+     box-shadow: none;
+     border-radius: 0;
+     border-left: none;
+     border-right: none;
+}
+
+.snarknavbar {
+     margin: 0 auto -6px !important;
+     padding: 8px 10px;
+     border: 1px solid #7778bf;
+     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #fff;
+     border-radius: 2px 2px 0 0;
+     min-width: 880px;
+     width: auto;
+     width: calc(100% - 22px);
+     text-align: center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+ }
+
+.iframed .snarknavbar {
+     margin: -6px 0 -6px !important;
+     border-radius: 0;
+     border: none;
+     border-bottom: 1px solid #7778bf;
+     box-shadow: none;
 }
 
 .snarkRefresh:link,.snarkRefresh:visited {
      text-decoration: none !important;
      text-transform: uppercase !important;
-     padding: 4px 16px 5px !important;
-     margin: -5px -8px -5px 0 !important;
-     letter-spacing: 0em;
+     padding: 4px 10px 4px 24px !important;
+     margin-right: -2px !important;
+     letter-spacing: 0.08em;
      font-weight: bold;
      font-size: 9pt;
      color: #559;
-     background: #fff url('../../console/light/images/header.png') repeat-x scroll center center;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 3px;
-     border-radius: 0px;
-     border: 1px outset #66f;
+     background: #fff url("../../console/light/images/header.png") repeat-x scroll center center;
+     background: url(images/button_tracker.png) 8px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+     border-radius: 0;
+     border: 1px solid #7778bf;
+     box-shadow: inset 0 0 0 1px #fff;
+     display: inline-block;
+     outline: none;
+     filter: drop-shadow(0 0 1px #bbb);
+     -webkit-filter: drop-shadow(0 0 1px #bbb);
 }
 
-.snarkRefresh:hover {
+.snarkRefresh:hover, .snarkRefresh:focus {
      text-decoration: none !important;
-     text-transform: uppercase !important;
-     padding: 1px 16px;
-     font-weight: bold;
-     font-size: 9pt;
-     color: #fff;
-     background: #359;
-     -moz-border-radius: 0;
-     -khtml-border-radius: 0;
+     color: #f60;
+     background: #eef;
+     background: url(images/button_tracker_hover.png) 8px center no-repeat, linear-gradient(to bottom, #eef 0%, #eef 50%, #bbf 51%, #bbf 100%);
      border-radius: 0;
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
 .snarkRefresh:active {
      text-decoration: none !important;
-     text-transform: uppercase !important;
-     padding: 0 16px;
-     font-weight: bold;
-     font-size: 9pt;
-     color: #fff;
-     background: #00d;
+     background: url(images/button_tracker_active.png) 8px center no-repeat, linear-gradient(to bottom, #8f0038 0%, #8f0038 50%, #6f1436 51%, #6f1436 100%);
+     color: #eee !important;
+     box-shadow: inset 2px 2px 2px #210;
 }
 
 .snarkRefresh:last-child {
-     -moz-border-radius: 0 3px 3px 0px;
-     -khtml-border-radius: 0 3px 3px 0;
-     border-radius: 0 3px 3px 0;
-     border: 1px outset #66f;
+     border-radius: 0 2px 2px 0;
 }
 
 .snarkRefresh:first-child {
-     -moz-border-radius: 3px 0 0 3px;
-     -khtml-border-radius: 3px 0 0 3px;
-     border-radius: 3px 0 0 3px;
-     border: 1px outset #66f;
+     border-radius: 2px 0 0 2px;
+     padding-left: 16px !important;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+}
+
+.snarkRefresh:first-child:hover, .snarkRefresh:first-child:focus {
+     background: url(images/button_snark_hover.png) 10px center no-repeat, linear-gradient(to bottom, #eef 0%, #eef 50%, #bbf 51%, #bbf 100%);
+     color: #f60;
+}
+
+.snarkRefresh:first-child:active {
+     background: url(images/button_snark_active.png) 10px center no-repeat, linear-gradient(to bottom, #8f0038 0%, #8f0038 50%, #6f1436 51%, #6f1436 100%);
+     box-shadow: inset 2px 2px 2px #210;
+}
+
+.snarkRefresh img {
+     border: 0;
+     margin: -2px -7px 0 -6px !important;
+     padding: 0 !important;
+     filter: none;
+     -webkit-filter: none;
+}
+
+.snarkRefresh:first-child:hover img, .snarkRefresh:first-child:focus img {
+     visibility: hidden;
+}
+
+.snarkRefresh:nth-child(2) {
+     background: url(images/button_forum.png) 8px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+}
+
+.snarkRefresh:nth-child(2):hover, .snarkRefresh:nth-child(2):focus {
+     background: url(images/button_forum_hover.png) 8px center no-repeat, linear-gradient(to bottom, #eef 0%, #eef 50%, #bbf 51%, #bbf 100%);
+}
+
+.snarkRefresh:nth-child(2):focus {
+     background: url(images/button_forum_active.png) 8px center no-repeat, linear-gradient(to bottom, #8f0038 0%, #8f0038 50%, #6f1436 51%, #6f1436 100%);
+     color: #fff;
+     box-shadow: inset 2px 2px 2px #210;
+}
+
+.snarkRefresh:last-child[href="/i2psnark/"] {
+     border-radius: 2px;
 }
 
 .snarkMessages {
-     font: normal 8pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important;
+     font: normal 8pt "DejaVu Sans Mono", "Droid Sans Mono", "Lucida Console", "Andale Mono", Courier, mono !important;
      text-align: left;
-     margin: 0 0 10px 0;
+     margin: -2px 0 0;
      padding: 3px 5px 3px 5px;
-     border-spacing: 0px;
+     border-spacing: 0;
      overflow: auto;
-     color: #44f;
-     max-height: 50px;
-     min-height: 50px;
+     color: #339;
+     height: 52px;
      width: auto;
-     background: #fff url('images/kitty.png') no-repeat scroll right center;
-     border-bottom: 1px solid #66f;
-}
-
-.snarkMessages li {
-     list-style: square;
+     min-width: 810px;
+     background: #eef url(images/kitty.png) no-repeat scroll right bottom;
+     background: url('images/kitty.png') no-repeat right center, linear-gradient(to bottom, #fff, #eef);
+     border-top: 1px solid #7778bf;
+     border-bottom: 1px solid #7778bf;
+     box-shadow: inset 0 0 1px #fff;
+     background-size: 50px 60px, 100% 100%;
 }
 
 .snarkMessages a:link, .snarkMessages a:visited {
-     color: #69f !important;
+     color: #505 !important;
 }
 
 .snarkMessages a:hover {
-     color: #f90 !important;
+     color: #f60 !important;
 }
 
 .snarkMessages ul {
-     margin: 0;
-     padding: 0 0 0 16px;
+     margin: -2px 0 2px 0;
+     padding: 0 0 0 14px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: '';
+     display: inline-block;
+     background: url(images/bullet.png) left bottom no-repeat;
+     width: 14px;
+     height: 11px;
+     background-size: 9px 9px;
 }
 
 .snarkMessages p {
@@ -111,17 +213,29 @@ body.iframed {
      text-align: right;
 }
 
-.snarkMessages img, .snarkMessages img:hover {
+.snarkMessages img {
      float: right;
      margin: -4px -5px 4px 4px;
      opacity: 1;
-     border: 1px solid #66f;
-     border-right: 0 none;
-     border-top: 0 none;
+     position: sticky;
+     top: -4px;
+     width: 8px;
+     mix-blend-mode: luminosity;
+     border: 1px solid #77b;
+     padding: 2px;
+     background: #fff;
+}
+
+.snarkMessages img:hover {
+     border: 1px solid #77b;
+     padding: 2px;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     mix-blend-mode: normal; 
 }
 
 .logshim {
-     margin-top: -10px !important;
+	margin-top: 11px !important;
 }
 
 pre {
@@ -135,10 +249,10 @@ pre {
 }
 
 table {
-     margin: 0px 0px 10px 0px;
-     border: 0px;
-     padding: 0px;
-     border-spacing: 0px;
+     margin: 0 0 10px 0;
+     border: 0;
+     padding: 0;
+     border-spacing: 0;
      border-collapse: collapse;
      color: #323;
      width: 100%;
@@ -149,13 +263,22 @@ tr {
      opacity: 1;
 }
 
+td[onclick] {
+     cursor: pointer;
+}
+
+td[onclick]:hover a {
+     color: #f60;
+}
+
+td[onclick]:active a {
+     color: #6f072b;
+}
+
 thead, tfoot {
      background: #fff;
 }
 
-thead a, tfoot a {
-} 
-
 thead {
      border-bottom: 1px solid #101;
 }
@@ -163,11 +286,11 @@ thead {
 th {
      padding: 3px 2px;
      font-size: 8pt;
-     border-top: 1px solid #66f;
-     border-bottom: 1px solid #66f;
-     color: #001;
-      whitespace: nowrap;
-     background: #fff url('../../console/light/images/header.png') repeat-x scroll center center;
+     border-top: 1px solid #7778bf;
+     border-bottom: 1px solid #7778bf;
+     background: #fff url("../../console/light/images/header.png") repeat-x scroll center center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+     color: #31334f;
 }
 
 th:first-child {
@@ -177,7 +300,7 @@ th:first-child {
 
 tfoot td:first-child {
      text-align: left !important;
-     padding-left: 0px;
+     padding-left: 0;
 }
 
 th:first-child img {
@@ -193,7 +316,7 @@ tfoot th {
 }
 
 tfoot img, tfoot:nth-child(2) img, tfoot:nth-child(1) img, tfoot:nth-child(3) img, tfoot:nth-child(4) img {
-     margin: 0px 2px 3px 0px !important;
+     margin: 0 2px 3px 0 !important;
      padding-right: 0 !important;
 }
 
@@ -201,6 +324,45 @@ tfoot tr:nth-child(n+1) {
      text-align: left;
 }
 
+#pagenav {
+     font-size: 8.5pt;
+     color: #272e3f;
+}
+
+#pagenav img {
+     border: 1px solid #89f;
+     border-radius: 2px;
+     padding: 3px !important;
+     opacity: 0.8;
+     filter: drop-shadow(0 0 1px #bbb);
+     -webkit-filter: drop-shadow(0 0 1px #bbb);
+     width: 12px;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
+     margin-right: -4px;
+}
+
+#pagenav img:hover, #pagenav a:focus img {
+     background: linear-gradient(to bottom, #eef 0%, #eef 50%, #bbf 51%, #bbf 100%);
+     opacity: 1;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+#pagenav a:active img {
+     background: #6f072b;
+     border: 1px solid #272e3f;
+     box-shadow: inset 1px 1px 1px #272e3f;
+}
+
+
+#pagenav img.disable, #pagenav img.disable:hover, #pagenav a:active img.disable {
+     opacity: 0.2;
+     margin-right: 0;
+     background: none;
+     filter: none;
+     -webkit-filter: none;
+}
+
 .headerstatus {
      text-align: left;
      padding-left: 15px;
@@ -214,46 +376,83 @@ tfoot tr:nth-child(n+1) {
 .ParentDir {
      background: #fff;
      font-size: 8pt;
-     border: 0px inset #101 !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
+     border: none;
      text-align: left !important;
      padding: 4px 0;
 }
 
 .priority {
      font-size: 7pt;
-     vertical-align: center;
+     vertical-align: middle;
      min-width: 160px;
 }
 
-.SnarkTorrents {
-     margin: 0;
-     border: 0px solid #66f;
+.snarkTorrents {
+     margin: -1px 0;
      background: #fff;
 }
 
-.SnarkTorrents td {
-     line-height: 90%;
+.snarkTorrents thead th:nth-child(3) {
+     text-align: right !important;
 }
 
-.SnarkTorrents td:nth-child(1) {
-     width: 24px !important;
+.snarkTorrents td {
+     line-height: 110%;
 }
 
-.SnarkTorrents td:nth-child(3), .SnarkTorrents td:nth-child(4) {
+.snarkTorrents td:nth-child(1) {
      width: 20px !important;
+     text-align: left;
+     padding: 2px;   
+}
+
+.snarkTorrents td:nth-child(2) {
+     word-spacing: -0.08em;
+}
+
+.snarkTorrents td:nth-child(3), .SnarkTorrents td:nth-child(4) {
+     width: 16px !important;
+     padding: 2px 1px 2px 0;
+}
+
+.SnarkTorrents td:nth-child(4) {
+     text-align: left;
+}
+
+.snarkTorrents th[colspan="6"]::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents th[colspan="6"] {
+     font-weight: normal;
+}
+
+.snarkTorrents tfoot th {
+     padding: 8px 4px !important;
+     background: #fff;
+     vertical-align: top;
+}
+
+.snarkTorrents td:nth-child(n+6), .snarkTorrents tfoot th:nth-child(n+2) {
+     font-variant: all-small-caps !important;
+     word-spacing: -0.2em;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.snarkTorrents td:nth-child(n+6), .snarkTorrents tfoot th:nth-child(n+2) {
+     font-variant: normal !important;
+}
 }
 
 td {
      padding: 2px 4px;
-     color: #001 !important;
-      opacity: 1;
+     color: #272e3f !important;
+     opacity: 1;
      font-size: 8pt;
 }
 
 .mainsection td {
-     color: #001;
+     color: #272e3f;
 }
 
 td:first-child {
@@ -268,15 +467,15 @@ td:first-child {
 .snarkTorrentName {
      padding: 0;
      line-height: 90%;
-     font-weight: bold !important;
 }
 
 .snarkTorrentAction {
      text-shadow: 1px 1px #550000;
-     padding: 1px 1px 1px 1px !important;
+     padding: 2px 1px !important;
      margin: 0 !important;
      text-align: center;
-     width: 60px; 
+     width: 60px;
+     white-space: nowrap;
 }
 
 .snarkTorrentAction img {
@@ -285,13 +484,39 @@ td:first-child {
 }
 
 .snarkTorrentAction img:hover {
-     -moz-box-shadow: 0 0 1px 1px #f90;
+     box-shadow: 0 0 1px 1px #f90;
      opacity: 1;
 }
 
+.snarkTorrents th:last-child br { /* kill "start all/stop all" button wrapping in the header */
+     display: none;
+}
+
+.snarkTorrentAction input[type="image"], .snarkTorrents th:last-child input[type="image"] {
+     padding: 3px !important;
+     background: #339;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ddf 51%, #ddf 100%);
+     border-radius: 2px;
+     border: 1px solid #89f;
+     margin: 2px;
+     filter: drop-shadow(0 0 1px #ddd);
+     -webkit-filter: drop-shadow(0 0 1px #ddd);
+     height: 10px;
+}
+
+.snarkTorrentAction input[type="image"]:hover, .snarkTorrentAction input[type="image"]:focus, .snarkTorrents th:last-child input[type="image"]:hover, .snarkTorrents th:last-child input[type="image"]:focus {
+     filter: hue-rotate(110deg);
+     -webkit-filter: hue-rotate(110deg);
+}
+
+.snarkTorrentAction input[type="image"]:active, .snarkTorrents th:last-child input[type="image"]:active {
+     filter: hue-rotate(290deg) invert(100%) !important;
+     -webkit-filter: hue-rotate(290deg) invert(100%) !important;
+}
+
 .snarkTorrentEven {
      font-size: 8pt;
-     background: #f5f5f5;
+     background: #eef;
 }
 
 .snarkTorrentNoneLoaded {
@@ -307,9 +532,21 @@ td:first-child {
      line-height: 90%;
 }
 
+.snarkTorrentStatus a:visited {
+     color: #559;
+}
+
+.snarkTorrentStatus a:hover {
+     color: #f60;
+}
+
+.snarkTorrentStatus a:active {
+     color: #6f072b;
+}
+
 .snarkTorrentStatus:first-child {
      text-align: left !important;
-     padding-left: 0px;
+     padding-left: 0;
      min-width: 48px;
      font-weight: bold;
      color: #dd9 !important;
@@ -328,10 +565,12 @@ td:first-child {
      line-height: 90%;
 }
 
-.snarkTorrentDownloaded {
-     color: #001 !important;
+
+.snarkTorrentDownloaded, .snarkTorrents tfoot th:nth-last-child(5) {
+     text-align: center;
 }
 
+/*
 .snarkTorrentUploaded {
      color: #001 !important;
 }
@@ -343,21 +582,44 @@ td:first-child {
 .snarkTorrentRateDown {
      color: #001 !important;
 }
+*/
 
 .snarkTorrentOdd {
-     background: #f0f0f0;
+     background: #e0e0ff;
      font-size: 8pt;
-     border: 0px inset #101 !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
 }
 
 .snarkTorrentOdd td, .snarkTorrentEven td {
-     border-top: 1px dotted #66f !important;
+     border-top: 1px solid #bbf !important;
+}
+
+.snarkTorrents tr:hover, .snarkTorrents tr:hover td, .snarkDirInfo tr:hover, .snarkDirInfo tr:hover td {
+     background: #ffd;
+     border-top: 1px solid #7778bf !important;
+     border-bottom: 1px solid #7778bf !important;
+     box-shadow: none !important;
+     color: #0c111f !important;
+}
+
+.snarkTorrents tr:hover img {
+     mix-blend-mode: normal;
+}
+
+.snarkTorrentEven + .snarkTorrentEven td:nth-child(2), .snarkTorrentOdd td + .snarkTorrentOdd td:nth-child(2) {
+     padding: 4px 0;
+     text-align: left;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(even), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(even) {
+     background: #e0e0ef;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(odd), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(odd) {
+     background: #d1d1ef;
 }
 
 .snarkFileName {
-     padding: 4px 0px !important; 
+     padding: 4px 0 !important; 
      text-align: left !important;
      font-size: 8pt !important;
 }
@@ -369,7 +631,6 @@ td:first-child {
 
 .snarkFileStatus {
      padding: 4px 5px 4px 15px;
-     text-align: center;
      font-style: italic;
      font-size: 8pt;
      text-align: left;
@@ -385,7 +646,7 @@ td:first-child {
 }
 
 .unchoked {
-     color: #00f000 !important;
+     color: #070 !important;
 }
 
 .thumb {
@@ -398,34 +659,75 @@ td:first-child {
 }
 
 .snarkAddInfo {
-     font-size: 8.5pt;
+     font-size: 8pt;
      line-height: 130% !important;
 }
 
 .snarkConfigTitle, label.toggleview {
      font-size: 10.5pt;
      font-weight: bold;
-     padding: 1px 15px 4px 12px;
-     margin: 5px 0 10px 0 !important;
-     letter-spacing: 0.02em;
-     border: 1px solid #66f;
-     -moz-border-radius: 0 0 5px 5px;
-     -khtml-border-radius: 0 0 5px 5px;
-     border-radius: 0 0 5px 5px;
+     padding: 2px 15px 2px 15px;
+     margin: 0 0 -3px 0 !important;
+     letter-spacing: 0.15em;
+     border: 1px solid #7778bf;
      border-top: 0;
-     text-shadow: 0 1px 0 #aaa;
-     background: #fff url('../../console/light/images/header.png') repeat-x scroll center center;
+     background: #fff url("../../console/light/images/header.png") repeat-x scroll center center;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%);
      font-variant: small-caps !important;
      box-shadow: 0 1px 3px #999;
+     display: inline-block;
+     min-width: 220px;
+     color: #559;
+}
+
+.snarkConfigTitle img:hover { /* inert titles */
+     color: #40404f;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+
+.snarkRefresh:link {
+     padding-top: 6px !important;
+}
+
+.snarkConfigTitle, label.toggleview {
+     font-size: 12pt;
+     padding: 1px 15px 4px;
+}
+}
+
+.snarkConfigTitle a:visited {
+     color: #559;
 }
 
-div.newtorrentsection .snarkConfigTitle, div.addtorrentsection .snarkConfigTitle, div.configsectionpanel .snarkConfigTitle {
-     padding-top: 0 !important;	
+.snarkConfigTitle a:hover, .toggleview:hover {
+     color: #f60 !important;
+     cursor: pointer;
 }
 
-.snarkConfigTitle img, label.toggleview img {
-     margin-right: -3px;
-     padding-bottom: 3px;
+.snarkConfigTitle a:active, .toggleview:active {
+     color: #6f072b !important;
+}
+
+.snarkConfigTitle img, .toggleview img {
+     margin: -2px -3px 0 0;
+     vertical-align: middle;
+}
+
+.snarkConfigTitle:hover img, .toggleview:hover img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.snarkConfigTitle:active a img, .toggleview:active img {
+     filter: drop-shadow(0 0 1px #6f072b);
+     -webkit-filter: drop-shadow(0 0 1px #6f072b);
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
+
+.snarkConfigTitle {
+     color: #446;
 }
 
 .snarkConfig {
@@ -433,46 +735,87 @@ div.newtorrentsection .snarkConfigTitle, div.addtorrentsection .snarkConfigTitle
      width: 100%;
 }
 
-table.snarkTorrentInfo, table.snarkDirInfo {
-     margin: 0 !important;
+.snarkTorrentInfo, .snarkDirInfo {
+     margin: 10px 0 0 0 !important;
+     background: #fff;
 }
 
-.snarkDirInfo thead img {
-     margin: 0 -1px 0 0 !important;
-     padding: 0 3px !important;
+.snarkTorrentInfo td:first-child, .snarkDirInfo td:first-child {
+     width: 16px;
+     padding-left: 2px !important;
+     text-align: left;
+}
+
+.snarkTorrentInfo th {
+     text-align: left;
+     padding: 6px 1px;
 }
 
 .snarkTorrentInfo td {
      text-align: left !important;
-     padding: 2px 0 1px 1px !important;
+     padding: 3px 0 3px 1px !important;
+     border-top: 1px solid #bbf;
+     vertical-align: middle;
 }
 
 .snarkTorrentInfo img {
      max-height: 16px;
-     margin: 1px 2px 2px 10px !important;    
+}
+
+.snarkTorrentInfo tr:nth-child(odd) {
+     background: #e0e0ff; 
+}
+
+.snarkTorrentInfo tr:nth-child(even) {
+     background: #eef; 
+}
+
+.snarkTorrentInfo tr:last-child td {
+     border-bottom: 1px solid #7778bf; 
+}
+
+.snarkTorrentInfo input {
+     float: right;
+}
+
+.snarkDirInfo thead img {
+     margin: 0 !important;
+     padding: 0 2px !important;
 }
 
 .snarkDirInfo td {
-     min-width: 0px !important;
+     min-width: 0 !important;
 }
 
-.page {
-     color: #310;
-     min-width: 700px !important;
-     margin: 5px 0 0 0;
-     padding: 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #66f;
-     font-size: 9pt !important;
-     line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #002;
-     box-shadow: inset 0px 0px 1px 0px #002;
-     text-align: center;
-     opacity: 1;
-     background: #fff;
+table#trackerselect {
+     width: 100% !important;
+     border-collapse: separate;
+     border-spacing: 5px;
+     margin-bottom: 0;
+}
+
+#trackerselect tr:first-child td:last-child {
+     width: 150px;
+     display: inline-block;
+     padding: 3px 5px;
+}
+
+#trackerselect tr:first-child td:nth-child(n+2) {
+     border: 1px solid #89f !important;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 51%, #eef 100%) #fff;
+     box-shadow: inset 0 0 0 1px #fff;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+#trackerselect td:first-child {
+     width: 150px !important;
+     white-space: nowrap;
+}
+
+#trackerselect td:nth-child(2), #trackerselect td:nth-child(3) {
+     max-width: 50px !important;
 }
 
 form {
@@ -487,190 +830,233 @@ hr {
      color: #444;
      background: #444;
      height: 1px;
-     border: 0px solid #444;
-     width: 0%;
+     border: 0 solid #444;
+     width: 0;
      margin: 5px 0 7px 0;
      text-align: center;
 }
 
+hr.debug {
+     width: 100%;
+     margin: 3px 0;
+}
+
+hr.debug:nth-child(n+7) {
+     margin-top: -10px;
+     background: #339;
+}
+
 a:link {	
      color: #359;
      text-decoration: none;
-     font-weight: bold;
+     font-weight: normal;
      word-wrap: break-word;
 }
 
 a:visited {
-     color: #249;
+     color: #218;
      text-decoration: none;
 }
 
-a:hover {
-     color: #559;
+a:hover, a:focus {
+     color: #f60;
 }
 
 a:active {
-     color: #77b;
+     color: #6f072b;
 }
 
 a.control, a.controld {
      background: #fff;
-     border: 1px inset #191;
-     border-radius: 4px;
-     color: #359;
+     border-radius: 2px;
      font-weight: bold;
-     margin: 2px 4px;
-     padding: 3px 4px;	
-     text-shadow: 0px 0px #410;
+     margin: 5px 4px !important;
+     padding: 5px !important;	
      white-space: nowrap;
+     display: inline-block;
+     float: right;
+     min-width: 0 !important;
 }
 
 a.controld {
      color: #459;
      font-weight: normal;
-}
-
-a.control img, a.controld img {
      display: none;
 }
 
-a.control:hover {
-     background-color: #559;
-     border: 1px outset #559;
-     color: #fff;
-     text-shadow: 0px 1px 5px #410;
+.headerpriority br {
+     display: none;
 }
 
-a.control:active {
-     background: #f60 !important;
-     color: #fff !important;
-     text-shadow: 0 !important;
+input[name="savepri"] {
+     float: right;
 }
 
 input {
      font-size: 9pt;
      font-weight: bold;
      text-align: left;
-     padding: 3px 4px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #66f;
+     padding: 4px !important;
+     border-radius: 2px;
+     border: 1px solid #7778bf;
      background: #fff;	 
-     color: #559;
+     color: #272e3f;
      margin: 2px 4px 2px 0;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     font: bold 8pt "Bitstream Vera Sans", Verdana, Helvetica, sans-serif;
+     box-shadow: inset 0 0 1px #fff, 0 0 1px #999;
 }
 
 input.r {
      text-align: right;
      background: #fff;
-     border: 1px solid #66f;
+     border: 1px solid #7778bf;
 }
 
-input[type=submit] {
-     text-shadow: 0px 0px #410;
-     color: #359;
+input[type=submit], a.control {
+     color: #227;
      background: #fff;
-     border: 1px outset #191;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ddf 50%, #ddf 100%);
+     border: 1px solid #7778bf;
      padding: 2px;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
-     margin-top: 6px;
+     font: bold 8pt "Droid Sans", "Bitstream Vera Sans", Verdana, Helvetica, sans-serif;
+     margin: 6px 10px 6px 0;
+     border-radius: 2px;
+     min-width: 90px;
+     text-align: center;
+}
+
+input[type=submit] {
+     padding: 5px 2px !important;
 }
 
-input[type=submit]:hover {
-     border: 1px outset #559;
-     background-color: #559;
+input[type=submit]:hover, input[type=submit]:focus, a.control:hover, a.control:focus {
+     border: 1px solid #559;
+     background: #559;
      color: #fff;
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
-input[type=submit]:active {
-     background: #f60 !important;
+input[type=submit]:active, a.control:active {
+     background: #6f072b !important;
      color: #fff !important;
-     text-shadow: 0 !important;
+     border: 1px solid #227;
+     box-shadow: inset 2px 2px 2px 1px #2f1100;
 }
 
 input[type=image], thead img {
      padding: 0 !important;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 0px;
-     border-radius: 0px;
-     border: medium none;
+     border-radius: 0;
+     border: none;
      margin: 0 2px;
      opacity: 1;
+     filter: hue-rotate(45deg);
+     -webkit-filter: hue-rotate(45deg);
 }
 
-thead img.disable, img.disable:hover {
-     opacity: 0.4;
+.iframed thead img {
+     max-height: 20px;
 }
 
-input[type=image]:hover, thead img:hover {
-     opacity: 1;
+thead a:hover img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
-input[type=text]:active, input[type=text]:hover, input.r:hover {
+.addtorrentsection input[type="text"], .newtorrentsection input[type="text"] {
+     width: 80%;
+}
+
+thead img.disable, img.disable:hover {
+     opacity: 0.4;
+}
+
+input[type="text"]:focus, input.r:focus, textarea:focus, input[name="nofilter_dataDir"]:focus {
      background: #fff;
      color: #009;
      border: 1px solid #66f;
-     box-shadow: none !important;
+     transition: ease filter 0.3s 0s;
+     box-shadow: none;
 }
 
-input[type=text], input.r {
-     min-width: 90px;
-     box-shadow: 1px 1px 2px 1px #aaa inset;
+input[type="text"], input.r, input[name="nofilter_dataDir"], textarea, select {
+     min-width: 120px;
+     box-shadow: 1px 1px 1px #aaa inset;
+     background: #eef;
+     padding: 5px 4px !important;
 }
 
-input[type=radio] {
+input[type="radio"] {
      padding: 2px;
      margin: 0 3px 0 8px;
      vertical-align: bottom;
 }
 
-input.default { width: 1px; height: 1px; visibility: hidden; }
+input[type="radio"], input[type="checkbox"], .optbox {
+     border: none !important;
+     width: 16px;
+     height: 16px;
+     box-shadow: none;
+}
 
-input.disabled, input.disabled:hover {
+input.default {
+     width: 1px; 
+     height: 1px; 
+     visibility: hidden;
+     display: none;
+}
+
+input.disabled, input.disabled:hover, a.controld {
      background-color: #fff;
      border: 1px inset #191;
      color: #459;
      font-weight: normal;
-     text-shadow: 0px 0px 0px #410;
+     display: none;
 }
 
 select {
-     background: #fff !important;
-     color: #22f;
-     font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     background: #eef url(images/dropdown.png) right center no-repeat !important;
+     font: 8pt "Bitstream Vera Sans", Verdana, Helvetica, sans-serif;
      font-weight: bold;
-     padding: 2px 2px 2px 3px;
-     -moz-border-radius: 4px 0 0 4px;
-     -khtml-border-radius: 4px 0 0 4px;
-     border-radius: 4px 0 0 4px;
-     border: 1px solid #66f;
+     padding: 5px 16px 5px 3px !important;
+     border-radius: 2px;
+     border: 1px solid #7778bf;
      margin: 2px 4px 2px 0;
-     min-width: 90px;
+     -moz-appearance: none;
+     -webkit-appearance: none;
+     color: #272e3f;
 }
 
-select:hover, textarea:hover {
-     background: #fff !important;
+select:focus {
      color: #001 !important;
+     background: #fff url(images/dropdown.png) right center no-repeat !important;
 }
 
-textarea:hover {
-     color: #001 !important;
-     box-shadow: none;
+select:active, select option {
+     background: #fff;
+}
+
+select + select {
+     margin-left: -20px;
 }
 
 textarea {
-     background: #fff;
-     color: #22f;
+     background: #eef;
+     color: #272e3f;
      font-weight: bold;
-     padding: 1px 4px 0px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     padding: 2px 4px;
+     border-radius: 2px;
      border: 1px solid #66f;
      font-size: 8pt;
-     box-shadow: 1px 1px 2px 1px #aaa inset;
+}
+
+select:hover, input[type="checkbox"], input[type="radio"], input[type="submit"] {
+     cursor: pointer;
+}
+
+.optbox[disabled], .optbox[disabled]:hover, .optbox[name^="ttype"], .optbox[name^="ttype"]:hover, .optbox[name^="ttype"]:checked  {
+     cursor: default;
+     opacity: 0.6 !important;
+     filter: none !important;
 }
 
 img {
@@ -679,6 +1065,8 @@ img {
      vertical-align: middle;
      opacity: 1.0;
      line-height: 100%;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
 }
 
 img:hover {
@@ -687,6 +1075,18 @@ img:hover {
      line-height: 100%;
 }
 
+img[src$="magnet.png"] {
+     transform: rotate(-90deg);
+}
+
+img[src$="details.png"] {
+     mix-blend-mode: luminosity;
+}
+
+img.thumb {
+     width: 16px;
+}
+
 .infoz {
      margin: 0 -1px 0 0 !important;
      padding: 0 !important;
@@ -703,157 +1103,145 @@ img:hover {
      opacity: 1 !important;
 }
 
-div.newtorrentsection td:first-child, div.addtorrentsection td:first-child, div.configsectionpanel td:first-child {
+.newtorrentsection td:first-child, .addtorrentsection td:first-child, .configsectionpanel td:first-child {
      width: auto !important;
 }
 
-div.configsectionpanel td:first-child {
+.configsectionpanel td:first-child {
      padding-right: 5px;
 }
 
-div.section,div.mainsection div.section,div.mainsection {
+.configsectionpanel .snarkConfigTitle:hover img {
+     filter: drop-shadow(0 0 1px #999);
+}
+
+.section, .mainsection .section, .mainsection {
      margin: 0;
-     padding: 0px;
-     border: 1px solid #66f;
-     border-top: 2px solid #66f;
-     border-bottom: 2px solid #66f;
+     padding: 0;
      color: #001;
      word-wrap: break-word;
      text-align: center;
-     background: #fff;
      opacity: 1 !important;
 }
 
-div.newtorrentsection {
+.page > .mainsection {
+     margin-top: 10px;
+}
+
+.newtorrentsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 0px 10px;
-     border: 1px solid #66f;
+     padding: 0 10px;
+     border: 1px solid #7778bf;
      text-align: center;
      color: #001;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 0 1px #fff, inset 0 0 8px 0 #bbf;
      word-wrap: break-word;
-     background: #f0f0f0 url('images/snark_create.png') no-repeat scroll right center;
+     background: #fff url(images/snark_create.png) no-repeat right center;
+     background: url(images/snark_create.png) no-repeat right center, linear-gradient(to bottom, #fff, #e0e0ef);
+     background-size: 80px 80px, 100%;
+     background-blend-mode: luminosity;
 }
 
-div.addtorrentsection {
+.addtorrentsection {
      margin: 10px 0;
      padding: 0 10px;
-     border: 1px solid #66f;
+     border: 1px solid #7778bf;
      text-align: center;
      color: #001;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 0 1px #fff, inset 0 0 8px 0 #bbf;
      word-wrap: break-word;
-     background: #f0f0f0 url('images/snark_add.png') no-repeat scroll right center;
+     background: #fff url(images/snark_add.png) no-repeat right center;
+     background: url(images/snark_add.png) no-repeat 99% center, linear-gradient(to bottom, #fff, #e0e0ef);
+     background-size: 61px 61px, 100%;
+     background-blend-mode: luminosity;
 }
 
-div.configsection {
+.configsection {
      margin: 0;
-     padding: 0 10px 15px 10px;
-     border: 1px solid #66f;
+     padding: 0 10px 13px 10px;
+     border: 1px solid #7778bf;
      color: #001;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 0 1px #fff, inset 0 0 8px 0 #bbf;
      word-wrap: break-word;
      text-align: center;
-     background: #f0f0f0;
      font-weight: bold;
+     background: #fff url(images/configuration.png) 102% center no-repeat;
+     background: url(images/configuration.png) 102% center no-repeat, linear-gradient(to bottom, #fff, #e0e0ef);     
+     background-size: 84px 82px, 100%;
+     background-blend-mode: luminosity;
 }
 
-div.configsection .snarkConfigTitle {
-     padding-top: 0px !important;
-}
-
-div.configsectionpanel {
-     margin: -3px 0 0;
+.configsectionpanel {
+     margin: -12px 0 0;
      padding: 0 10px;
-     border: 1px solid #66f;
+     border: 1px solid #7778bf;
      color: #001;
-     -moz-border-radius: 0 0 4px 4px;
-     -khtml-border-radius: 0 0 4px 4px;
-     border-radius: 0 0 4px 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     border-radius: 0 0 2px 2px;
+     box-shadow: inset 0 0 0 1px #fff, inset 0 0 8px 0 #bbf;
      word-wrap: break-word;
      text-align: center;
-     background: #f0f0f0 url('images/configuration.png') no-repeat scroll right center;
+     background: #fff url(images/configuration.png) no-repeat scroll right center;
+     background: url(images/configuration.png) no-repeat scroll right center, linear-gradient(to bottom, #fff, #e0e0ef);
+     background-size: 84px 82px, 100%;
+     background-blend-mode: luminosity;
      font-weight: bold;
 }
 
+form:last-child .configsectionpanel {
+     margin-top: 10px;
+}
+
+.configsectionpanel tr:nth-last-child(2) td {
+     text-align: right !important;
+     border-top: 1px solid #7778bf;
+     padding: 8px 0 0 0;
+}
+
+.configsectionpanel tr:last-child {
+     display: none;
+}
+
+.newtorrentsection, .addtorrentsection, .configsection, .configsectionpanel {
+     margin-bottom: -1px;
+     border-left: none;
+     border-right: none;
+}
+
 .newtorrentsection form, .configsection form, .addtorrentsection form {
      color: #001 !important;
 }
 
-div.configsection table{
-     color: #ffb;
-     opacity: 1;
-}
+.newtorrentsection table, .addtorrentsection table {
+     margin-top: -5px;
+} 
 
-div.configsection a {
-     color: #00a;
+.newtorrentsection td:first-child, .addtorrentsection td:first-child {
+     min-width: 140px;
      font-weight: bold;
 }
 
-div.configsection a:hover {
-     color: #00f;
-     text-decoration: none;
+#trackerselect {
+     margin-top: 0;
 }
 
-code {
-     font-size: 8pt;
-     color: #009;
-     padding: 0 2px;
+#trackerselect tr:first-child {
      font-weight: bold;
-     font-family: "Lucida Console", "DejaVu Sans Mono", Courier, mono;
 }
 
-.snarknavbar {
-     margin: -10px 0 5px 0 !important;
-     padding: 14px 10px 7px;
-/*
-     border: 1px solid #101;
-     -moz-border-radius: 0 0 8px 8px;
-     -khtml-border-radius: 0 0 8px 8px;
-     border-radius: 0 0 8px 8px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #002;
-     box-shadow: inset 0px 0px 1px 0px #002;
-     background: #fff url('../../console/dark/images/header.png') repeat-x scroll center center !important;
-*/
-     background: none;
-     text-transform: uppercase !important;
-     letter-spacing: 0em !important;
-     font-weight: bold;
-     font-size: 11.5pt;
-     color: #001;
-     min-width: 600px;
-     width: 70%;
-     text-align: center;
- }
+#trackerselect td:first-child {
+     font-weight: normal;
+}
 
-.iframed .snarknavbar {
-     margin: -5px 0 8px !important;
+.configsection a {
+     color: #55a;
+     font-weight: bold;
 }
 
-.snarknavbar img {
-     border: 0;
-     margin: 1px -8px -1px -2px;
-     padding: 1px 0 0px !important;
-     vertical-align: top;
+code, tt {
+     font-size: 8pt;
+     color: #0045ff;
+     font-weight: bold;
+     font-family: "DejaVu Sans Mono", "Droid Sans Mono", Courier, mono;
 }
 
 .routerdown {
@@ -862,6 +1250,20 @@ code {
 
 .trackerconfig {
      text-align: left !important;
+     width: 100%;
+     border-collapse: separate;
+     border-spacing: 0;
+}
+
+.trackerconfig th:first-child {
+     border-radius: 2px 0 0 2px;
+     border-left: 1px solid #339;
+}
+
+
+.trackerconfig th:last-child {
+     border-radius: 0 2px 2px 0;
+     border-right: 1px solid #339;
 }
 
 .trackerconfig th:nth-child(n+4), .trackerconfig th:nth-child(n+5), .trackerconfig td:nth-child(n+4), .trackerconfig td:nth-child(n+5) {
@@ -893,3 +1295,33 @@ input.trackerannounce {
 input.toggle_input { /* hide checkbox and use label as faux panel heading */
      display: none;
 }
+
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: none;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+ /* display panels by default on webkit based browsers (midori fix) */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+.iframed input#toggle_addtorrent:not(checked) + label + hr + table, .iframed input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed input#toggle_addtorrent:checked + label + hr + table, .iframed input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
diff --git a/installer/resources/themes/snark/midnight/favicon.ico b/installer/resources/themes/snark/midnight/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..28658965c9486d89945244234f91d20162f1649b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/favicon.ico differ
diff --git a/installer/resources/themes/snark/midnight/images/add.png b/installer/resources/themes/snark/midnight/images/add.png
new file mode 100644
index 0000000000000000000000000000000000000000..6332fefea4be19eeadf211b0b202b272e8564898
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/add.png differ
diff --git a/installer/resources/themes/snark/midnight/images/arrow_refresh.png b/installer/resources/themes/snark/midnight/images/arrow_refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..c30c16341460d95ff8b3f6e8baa3e6b6fa1ef90a
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/arrow_refresh.png differ
diff --git a/installer/resources/themes/snark/midnight/images/bullet.png b/installer/resources/themes/snark/midnight/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..a14d6b7b7d687387046dae324729726791955779
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/bullet.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_forum.png b/installer/resources/themes/snark/midnight/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..728fc33df5538152f321993305eccf2d84e97230
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_forum_active.png b/installer/resources/themes/snark/midnight/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_forum_hover.png b/installer/resources/themes/snark/midnight/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..e71641349527024f5f8e2b7fe77495aa8b9f406f
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_snark.png b/installer/resources/themes/snark/midnight/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..532caa6be93695aa4fa373185c7cc07316f8fa40
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_snark_active.png b/installer/resources/themes/snark/midnight/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_snark_hover.png b/installer/resources/themes/snark/midnight/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..5504314c7c63712c38f0af34b2849e3c3498c058
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_tracker.png b/installer/resources/themes/snark/midnight/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c78e4d20d214281796cd3cee9d0836bdc2be56b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_tracker_active.png b/installer/resources/themes/snark/midnight/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/midnight/images/button_tracker_hover.png b/installer/resources/themes/snark/midnight/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..45b0a73c3287609ba54103189cf0f4d2f8204a5c
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/midnight/images/complete.png b/installer/resources/themes/snark/midnight/images/complete.png
new file mode 100644
index 0000000000000000000000000000000000000000..96199806aa92cb7fdb15612c87106565460ef8cb
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/complete.png differ
diff --git a/installer/resources/themes/snark/midnight/images/config.png b/installer/resources/themes/snark/midnight/images/config.png
new file mode 100644
index 0000000000000000000000000000000000000000..8151463917ec88ca0962a5bfefb9f11c9122bff8
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/config.png differ
diff --git a/installer/resources/themes/snark/midnight/images/configuration.png b/installer/resources/themes/snark/midnight/images/configuration.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac61805e4b1383b027f0fbfe786c1f1c6e35d11b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/configuration.png differ
diff --git a/installer/resources/themes/snark/midnight/images/create.png b/installer/resources/themes/snark/midnight/images/create.png
new file mode 100644
index 0000000000000000000000000000000000000000..44ccbf812879c42cb1f9587d865bcfc337ce6361
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/create.png differ
diff --git a/installer/resources/themes/snark/midnight/images/delete.png b/installer/resources/themes/snark/midnight/images/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..a37f8c7f1a8d23babac993177015df3d727d86d8
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/delete.png differ
diff --git a/installer/resources/themes/snark/midnight/images/details.png b/installer/resources/themes/snark/midnight/images/details.png
new file mode 100644
index 0000000000000000000000000000000000000000..225e1fdd95d42b32099442da653959de105e5fbe
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/details.png differ
diff --git a/installer/resources/themes/snark/midnight/images/downloading.png b/installer/resources/themes/snark/midnight/images/downloading.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d01bb51372948d4254283e580dd91e1243380f1
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/downloading.png differ
diff --git a/installer/resources/themes/snark/midnight/images/dropdown.png b/installer/resources/themes/snark/midnight/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cb83f1d71562c7bce893c1e4b9fc4ebc24b2017
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/midnight/images/dropdown_hover.png b/installer/resources/themes/snark/midnight/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..999350953b1da342400f992c5fa72a7c23c7258b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/snark/midnight/images/eta.png b/installer/resources/themes/snark/midnight/images/eta.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd6e02b3c01aecc5368bca6d5f9d9fdbbf9d0513
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/eta.png differ
diff --git a/installer/resources/themes/snark/midnight/images/file.png b/installer/resources/themes/snark/midnight/images/file.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ac7fc6e273a63b0d7d84f4dcc6026515fcdcfe1
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/file.png differ
diff --git a/installer/resources/themes/snark/midnight/images/first.png b/installer/resources/themes/snark/midnight/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6930a18d555b9c2aa13b9b7e324195e226759de
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/first.png differ
diff --git a/installer/resources/themes/snark/midnight/images/hat.png b/installer/resources/themes/snark/midnight/images/hat.png
new file mode 100644
index 0000000000000000000000000000000000000000..bed0c5b74df36bd8c8b8de53f985dff2ecf378db
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/hat.png differ
diff --git a/installer/resources/themes/snark/midnight/images/head_rx.png b/installer/resources/themes/snark/midnight/images/head_rx.png
new file mode 100644
index 0000000000000000000000000000000000000000..50a95fb4c8684471e8a4902f3cbdd35f38c3196c
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/head_rx.png differ
diff --git a/installer/resources/themes/snark/midnight/images/head_rxspeed.png b/installer/resources/themes/snark/midnight/images/head_rxspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..b545a6796f6988b7ec2d25487cd7e455b617d066
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/head_rxspeed.png differ
diff --git a/installer/resources/themes/snark/midnight/images/head_tx.png b/installer/resources/themes/snark/midnight/images/head_tx.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7fa43316b14023a73e6bc987e40fd3d017e7808
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/head_tx.png differ
diff --git a/installer/resources/themes/snark/midnight/images/head_txspeed.png b/installer/resources/themes/snark/midnight/images/head_txspeed.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b1fc7b317bbcee3f4ff4fdb7235da966707b601
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/head_txspeed.png differ
diff --git a/installer/resources/themes/snark/midnight/images/hidepeers.png b/installer/resources/themes/snark/midnight/images/hidepeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1f1e19bc950c09a663eb2818d00b7e1166e7a46
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/hidepeers.png differ
diff --git a/installer/resources/themes/snark/midnight/images/last.png b/installer/resources/themes/snark/midnight/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c63819768ce58593504715f5ab0aff426eb47d8
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/last.png differ
diff --git a/installer/resources/themes/snark/midnight/images/next.png b/installer/resources/themes/snark/midnight/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..195a9d707b853c9fc591a518bdd0cbb6e450d115
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/next.png differ
diff --git a/installer/resources/themes/snark/midnight/images/nopeers.png b/installer/resources/themes/snark/midnight/images/nopeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fb0e2cfccfc57e557ee70aee09c5aeb83c6d6f0
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/nopeers.png differ
diff --git a/installer/resources/themes/snark/midnight/images/previous.png b/installer/resources/themes/snark/midnight/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..79558ab1e169a38795bf6fa6c96c51ec63e36c9b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/previous.png differ
diff --git a/installer/resources/themes/snark/midnight/images/priority.png b/installer/resources/themes/snark/midnight/images/priority.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea5e451d97a43b84b83f5bdbaeee4e8454154d56
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/priority.png differ
diff --git a/installer/resources/themes/snark/midnight/images/remove.png b/installer/resources/themes/snark/midnight/images/remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..12f988b18088a079dd43a20131a7bae1c9ed375a
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/remove.png differ
diff --git a/installer/resources/themes/snark/midnight/images/seeding.png b/installer/resources/themes/snark/midnight/images/seeding.png
new file mode 100644
index 0000000000000000000000000000000000000000..e58e518bc0f011eb50ef1ad727a3091048f6d1bd
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/seeding.png differ
diff --git a/installer/resources/themes/snark/midnight/images/showpeers.png b/installer/resources/themes/snark/midnight/images/showpeers.png
new file mode 100644
index 0000000000000000000000000000000000000000..12a2111ffb3e422d25ac2ab08e7d00053100e221
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/showpeers.png differ
diff --git a/installer/resources/themes/snark/midnight/images/size.png b/installer/resources/themes/snark/midnight/images/size.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c0ab094704d088ee1bcb2330df1e6f18d2ced70
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/size.png differ
diff --git a/installer/resources/themes/snark/midnight/images/snark_add.png b/installer/resources/themes/snark/midnight/images/snark_add.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddc8cbf3b019c7bd1ce03f3567887a833e428d12
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/snark_add.png differ
diff --git a/installer/resources/themes/snark/midnight/images/snark_create.png b/installer/resources/themes/snark/midnight/images/snark_create.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/snark_create.png differ
diff --git a/installer/resources/themes/snark/midnight/images/stalled.png b/installer/resources/themes/snark/midnight/images/stalled.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d7b193b51ef414e9f69276722331ee066e3517e
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/stalled.png differ
diff --git a/installer/resources/themes/snark/midnight/images/start.png b/installer/resources/themes/snark/midnight/images/start.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bf001c4e024a7b9dc4d98e062a0c0f88b772154
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/start.png differ
diff --git a/installer/resources/themes/snark/midnight/images/start_all.png b/installer/resources/themes/snark/midnight/images/start_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..a30d3a03442d31459913dc52ae074a9a9e969b71
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/start_all.png differ
diff --git a/installer/resources/themes/snark/midnight/images/status.png b/installer/resources/themes/snark/midnight/images/status.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b20c919e76921387aa2bb8a65d1c2fbd45b4d08
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/status.png differ
diff --git a/installer/resources/themes/snark/midnight/images/stop.png b/installer/resources/themes/snark/midnight/images/stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca007e86fb370a83e5316f0865c5b98713070fff
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/stop.png differ
diff --git a/installer/resources/themes/snark/midnight/images/stop_all.png b/installer/resources/themes/snark/midnight/images/stop_all.png
new file mode 100644
index 0000000000000000000000000000000000000000..5153c4e850ef1c32165d5d4415db46235e483fc2
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/midnight/images/stop_all_hover.png b/installer/resources/themes/snark/midnight/images/stop_all_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..124a31caea0922e15aac81bb0916aad34abe001e
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/stop_all_hover.png differ
diff --git a/installer/resources/themes/snark/midnight/images/stopped.png b/installer/resources/themes/snark/midnight/images/stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5b41579e3f41fd4cce24968eb302eaa6a76684b
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/stopped.png differ
diff --git a/installer/resources/themes/snark/midnight/images/torrent.png b/installer/resources/themes/snark/midnight/images/torrent.png
new file mode 100644
index 0000000000000000000000000000000000000000..12d1c19fa09a6a42c0ab0d4f1c505cfc79b9a7ba
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/torrent.png differ
diff --git a/installer/resources/themes/snark/midnight/images/trackererror.png b/installer/resources/themes/snark/midnight/images/trackererror.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41191f6cb5251e0b48097002137a240fe62b4dc
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/trackererror.png differ
diff --git a/installer/resources/themes/snark/midnight/images/up.png b/installer/resources/themes/snark/midnight/images/up.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a3138b951fed7286736cd40502957fc16b3de32
Binary files /dev/null and b/installer/resources/themes/snark/midnight/images/up.png differ
diff --git a/installer/resources/themes/snark/midnight/snark.css b/installer/resources/themes/snark/midnight/snark.css
new file mode 100644
index 0000000000000000000000000000000000000000..e8b727aa2b3268bc3515143d3799c6d125cccb81
--- /dev/null
+++ b/installer/resources/themes/snark/midnight/snark.css
@@ -0,0 +1,1896 @@
+/* I2PSnark theme "Midnight" by dr|z3d */
+
+body {
+     font: 9pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     color: #c9ceff;
+     background: #000;
+     margin: 7px 6px;
+}
+
+body.iframed {
+     margin: 1px 0 !important;
+     background: transparent url(../../console/dark/images/transparent.gif) !important;
+}
+
+* {
+     outline: none;
+}
+
+.page {
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     min-width: 800px !important;
+     margin: 5px 0 0 0;
+     padding: 0 0 12px;
+     text-align: center;
+     opacity: 1;
+     color: #040033;
+     border: 1px solid #443da0;
+     border-radius: 0 0 2px 2px;
+     background: #001;
+     background: linear-gradient(to bottom, #000, #003);
+     background-size: 100% 2px;
+     box-shadow: inset 0 0 3px 1px #000;
+}
+
+.iframed .page {
+     margin: 5px 0;
+     padding: 0;
+     border: none;
+     background: none;
+     box-shadow: none;
+}
+
+.snarknavbar {
+     min-width: 820px;
+     margin: 0 0 -6px;
+     padding: 14px 0;
+     text-align: center;
+     border: 1px solid #443da0;
+     border-radius: 2px 2px 0 0;
+     background: linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%);
+}
+
+.iframed .snarknavbar {
+     border: none;
+     border-bottom: 1px solid #443da0;
+     border-radius: 0;
+     padding-top: 14px;
+     margin-bottom: -1px;
+}
+
+.snarknavbar img {
+     display: none;
+     vertical-align: top;
+     border: 0;
+}
+
+tt,
+code {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+}
+
+.snarkRefresh:link:first-child {
+     padding: 5px 7px 5px 15px !important;
+     border-radius: 2px 0 0 2px;
+}
+
+.snarkRefresh:link:last-child {
+     margin-left: 3px;
+}
+
+.snarkRefresh:link,
+.snarkRefresh:visited {
+     font-size: 9pt;
+     font-weight: bold;
+     margin: 0 -1px 0 0 !important;
+     padding: 5px 7px 5px 24px !important;
+     text-decoration: none !important;
+     letter-spacing: 0.15em;
+     text-transform: uppercase !important;
+     opacity: .8;
+     color: #89f;
+     border: 1px solid #b0aaff;
+     border: 1px solid #443da0;
+     border-radius: 0;
+     background: #001 url(images/button_tracker.png) 9px center no-repeat;
+     background: url(images/button_tracker.png) 9px center no-repeat, linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+     box-shadow: inset 0 0 0 1px #000, 0 0 1px #000;
+     text-shadow: 0 0 1px #000;
+}
+
+.snarkRefresh:link:first-child {
+     background: #001 url(images/button_snark.png) 9px center no-repeat;
+     background: url(images/button_snark.png) 9px center no-repeat, linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+}
+
+.snarkRefresh:link:nth-child(2) {
+     background: #001 url(images/button_forum.png) 9px center no-repeat;
+     background: url(images/button_forum.png) 9px center no-repeat, linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+}
+
+.snarkRefresh:first-child:hover, .snarkRefresh:first-child:focus {
+     background: #04091f url(images/button_snark_hover.png) 9px center no-repeat;
+     background: url(images/button_snark_hover.png) 9px center no-repeat, linear-gradient(to bottom, #060e2f 0%, #060e2f 50%, #000 50%, #000 100%);
+}
+
+.snarkRefresh:hover:nth-child(2), .snarkRefresh:focus:nth-child(2) {
+     background: #04091f url(images/button_forum_hover.png) 9px center no-repeat;
+     background: url(images/button_forum_hover.png) 9px center no-repeat, linear-gradient(to bottom, #060e2f 0%, #060e2f 50%, #000 50%, #000 100%);
+}
+
+.snarkRefresh:first-child:active {
+     text-decoration: none !important;
+     color: #fff;
+     border: 1px solid #fff;
+     background: #652787 url(images/button_snark_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 9px center !important;
+     box-shadow: inset 3px 3px 2px #1f002f;
+     text-shadow: none;
+}
+
+.snarkRefresh:active:nth-child(2) {
+     background: #652787 url(images/button_forum_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 9px center !important;
+     box-shadow: inset 3px 3px 2px #1f002f;
+}
+
+.snarkRefresh:hover, .snarkRefresh:focus {
+     text-decoration: none !important;
+     border-radius: 0;
+     background: #141c3f url(images/button_tracker_hover.png) 9px center no-repeat;
+     background: url(images/button_tracker_hover.png) 9px center no-repeat, linear-gradient(to bottom, #060e2f 0%, #060e2f 50%, #000 50%, #000 100%);
+     box-shadow: inset 0 0 0 1px #000;
+     opacity: 1;
+     color: #652787;
+     border-color: #652787;
+}
+
+.snarkRefresh:active {
+     text-decoration: none !important;
+     color: #fff;
+     border: 1px solid #fff;
+     background: #652787 url(images/button_tracker_active.png) !important;
+     background-repeat: no-repeat !important;
+     background-position: 9px center !important;
+     box-shadow: inset 3px 3px 2px #1f002f;
+     text-shadow: none;
+}
+
+/*
+.snarkRefresh:active:first-child {
+      background: #000 !important;
+      background-image: url(images/button_tracker_hover.png), linear-gradient(to bottom, #510 0%, #530 50%, #000 51%, #000 100%) !important; 
+      background-position: 7px center, center center !important;
+      background-repeat: no-repeat, repeat !important;
+}
+
+*/
+
+.snarkRefresh:link:last-of-type {
+     border-radius: 2px !important;
+}
+
+.snarkRefresh:link[target="_blank"]:last-child {
+     border-radius: 0 2px 2px 0 !important;
+}
+
+.snarkRefresh:last-child {
+     margin-top: -5px !important;
+     border-radius: 0 2px 2px 0 !important;
+}
+
+.snarkMessages {
+     font: normal 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     overflow: auto;
+     width: auto;
+     height: 55px;
+     margin: 0;
+     padding: 2px 5px;
+     border-spacing: 0;
+     text-align: left;
+     color: #778;
+     border-bottom: 1px solid #443da0;
+     background: #000 url(images/hat.png) no-repeat scroll right top;
+     background: url(images/hat.png) no-repeat scroll right top, linear-gradient(to bottom, #002, #001);
+     background-size: auto 110%;
+     background-blend-mode: luminosity;
+}
+
+.iframed .snarkMessages {
+     margin-top: -5px;
+}
+
+.snarkMessages a:active {
+     color: #ff007c !important;
+}
+
+.snarkMessages ul {
+     margin: -1px 0 2px 0;
+     padding: 0 0 0 14px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: "";
+     display: inline-block;
+     background: url(images/bullet.png) left bottom no-repeat;
+     width: 14px;
+     height: 11px;
+     background-size: 9px 9px;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+.snarkMessages p {
+     font-style: italic;
+     margin: 0;
+     text-align: right;
+}
+
+.snarkMessages img {
+     float: right;
+     margin: -3px -4px 4px 4px;
+     padding: 2px;
+     opacity: 0.8;
+     background: #001;
+     border: 1px solid #443da0;
+     border-top: 0 none;
+     border-right: 0 none;
+     width: 10px;
+     mix-blend-mode: luminosity;
+     position: sticky;
+     top: -3px;
+}
+
+.snarkMessages img:hover, .snarkMessages img:focus {
+     mix-blend-mode: normal !important;
+     border: 1px solid #443da0 !important;
+     border-top: 0 none !important;
+     border-right: 0 none !important;
+     background: #000;
+}
+
+.logshim {
+     margin-top: 10px !important;
+}
+
+pre {
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-weight: bold !important;
+     width: 100%;
+     height: 8px;
+     padding: 0;
+     text-align: left !important;
+     color: #4133ff;
+}
+
+table {
+     width: 100%;
+     margin: 0 0 10px 0;
+     padding: 0;
+     border-spacing: 0;
+     border-collapse: collapse;
+     opacity: 1 !important;
+     color: #201f36;
+     border: 0;
+}
+
+tr {
+     opacity: 1;
+}
+
+thead,
+tfoot {
+     background: #001;
+}
+
+thead a,
+tfoot a {
+}
+
+thead {
+     border-bottom: 1px solid #010011;
+}
+
+th {
+     font-size: 8pt;
+     padding: 3px 2px;
+     color: #c9ceff;
+     border-top: 1px solid #443da0;
+     border-bottom: 1px solid #443da0;
+     background: #001;
+}
+
+thead th {
+     background: linear-gradient(to bottom, #121225, #00000d) !important;
+}
+
+th:first-child {
+     padding-left: 2px;
+     text-align: left !important;
+}
+
+tfoot td:first-child {
+     padding-left: 0;
+     text-align: left !important;
+}
+
+th:first-child img {
+     margin: 1px -2px 3px 1px !important;
+}
+
+th:nth-child(2) img {
+     margin: 1px 5px 3px 2px !important;
+}
+
+tfoot th {
+     padding-bottom: 4px !important;
+}
+
+tfoot img,
+tfoot:nth-child(2) img,
+tfoot:nth-child(1) img,
+tfoot:nth-child(3) img,
+tfoot:nth-child(4) img {
+     margin: 0 2px 3px 0 !important;
+     padding-right: 0 !important;
+}
+
+tfoot tr:nth-child(n+1) {
+     text-align: left;
+}
+
+.headerstatus {
+     text-align: center;
+}
+
+.headerpriority {
+     padding-left: 10px;
+     text-align: left;
+}
+
+.ParentDir {
+     font-size: 8pt;
+     padding: 4px 0;
+     text-align: left !important;
+     border: 1px solid #060055 !important;
+     border-right: 0 !important;
+     border-left: 0 !important;
+     background: #001;
+}
+
+.ParentDir a {
+     font-weight: bold !important;
+     margin-left: -4px;
+}
+
+.priority {
+     font-size: 8pt;
+     min-width: 160px;
+     vertical-align: middle;
+}
+
+.snarkTorrents {
+     margin: 10px 0 0 0;
+     border: none;
+     background: #001;
+}
+
+.iframed .snarkTorrents {
+     margin-top: -1px;
+}
+
+.snarkTorrents th {
+     text-align: center;
+}
+
+.snarkTorrents th:first-child {
+     width: 30px;
+     padding-right: 0;
+     text-align: center;
+}
+
+.snarkTorrents th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents th br {
+     display: none; /* kill double height button display */
+}
+
+.snarkTorrents tbody tr:last-child td {
+     border-bottom: 1px solid #443da0 !important;
+}
+
+.snarkTorrents tfoot, .snarkTorrents tfoot th {
+     font-weight: normal !important;
+     border-top: 1px solid #443da0 !important;
+}
+
+.snarkTorrents tfoot th::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th:nth-child(n+2) {
+     white-space: nowrap;
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents th:nth-child(n+4) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th,
+.SnarkTorrents tfoot th tt {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th tt {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     color: #652787;
+     background: none;
+     margin-left: 2px;
+}
+
+.snarkTorrents tfoot th:nth-child(3) {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th {
+     vertical-align: top;
+}
+
+.snarkTorrents tfoot th br {
+     display: inline-block;
+     margin-left: 20px !important;
+}
+
+.SnarkTorrents td:nth-child(6),
+.SnarkTorrents td:nth-child(7),
+.SnarkTorrents td:nth-child(8) {
+     text-align: center !important;
+}
+
+.snarkTorrents th {
+     text-align: left;
+}
+
+.snarkTorrents thead th {
+     background: linear-gradient(to bottom, #121225 0%, #121225 50%, #000011 50%, #00000d 50%, #00000d 100%) !important;
+     padding: 2px 1px;
+}
+
+.snarkTorrents thead th:nth-child(3) {
+     text-align: right;
+}
+
+.snarkTorrents td {
+     line-height: 110%;
+     text-align: left;
+     padding: 1px;
+}
+
+.snarkTorrents td:nth-child(1) {
+     width: 24px !important;
+}
+
+.snarkTorrents td:nth-child(3),
+.SnarkTorrents td:nth-child(4) {
+     width: 16px !important;
+     padding: 0 !important;
+     text-align: center !important;
+}
+
+.snarkTorrents td:nth-child(3) {
+     text-align: right !important;
+}
+
+.snarkTorrents td[colspan="10"] {
+     padding: 2px;
+     color: #7972d1 !important;
+}
+
+.snarkTorrents img {
+     margin: 0 !important;
+     padding: 0 !important;
+}
+
+.snarkTorrents tt {
+     font-size: 8pt;
+     color: #652787;
+}
+
+.snarkTorrentInfo img {
+     max-height: 16px !important;
+     margin: 1px 0 1px 2px !important;
+     mix-blend-mode: luminosity;
+}
+
+.snarkTorrentInfo a img {
+     mix-blend-mode: normal;
+}
+
+.snarkTorrentInfo b {
+     margin-right: 2px !important;
+}
+
+.snarkTorrentInfo th {
+     padding: 4px !important;
+     text-align: left;
+     border-top: none;
+}
+
+.snarkTorrentInfo th:first-child {
+     background: url(images/file.png) no-repeat 6px center, linear-gradient(to bottom, #010011, #000);
+     background-size: 14px;
+}
+
+.snarkTorrentInfo th:nth-child(2) {
+     font-size: 9pt;
+     padding: 5px 5px 5px 0 !important;
+}
+
+.snarkTorrentInfo td {
+     text-align: left !important;
+     vertical-align: middle !important;
+     font-size: 9pt;
+}
+
+.snarkTorrentInfo td:first-child {
+     width: 20px !important;
+     padding: 3px 4px 4px !important;
+}
+
+.snarkTorrentInfo input[type="submit"] {
+     min-width: 60px;
+     text-align: center;
+}
+
+.snarkTorrentInfo tr:nth-last-child(2) td {
+     padding: 5px 2px; 
+}
+
+.snarkTorrentInfo tr:last-child {
+     border-top: 1px solid #443da0 !important;
+     background: none;
+}
+
+.snarkTorrentInfo tr:last-child td {
+     padding: 8px 8px 12px !important;
+     padding: 5px 5px 9px !important;
+     text-align: right !important;
+}
+
+.SnarkTorrentInfo {
+     margin-bottom: 1px !important;
+     border-bottom: 1px solid #443da0;
+}
+
+.snarkTorrentInfo tr:nth-child(even) {
+     color: #7670c2;
+     background: #010010;
+}
+
+.snarkTorrentInfo tr:nth-child(odd) {
+     color: #7670c2;
+     background: #02001a;
+}
+
+.SnarkDirInfo {
+     margin-top: -2px !important;
+     margin-bottom: 0;
+     border-bottom: 1px solid #443da0;
+}
+
+.snarkDirInfo th img {
+     margin: 0 !important;
+}
+
+.snarkDirInfo th:nth-child(2) {
+     width: 32px;
+     text-align: right;
+}
+
+.snarkDirInfo td {
+     min-width: 0 !important;
+}
+
+.snarkDirInfo th:first-child {
+     padding-left: 5px;
+}
+
+.snarkDirInfo td:first-child {
+     padding-left: 4px;
+}
+
+.snarkDirInfo td:first-child img {
+     padding-right: 6px;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;
+}
+
+.snarkDirInfo tr:last-child {
+     border-bottom: 1px solid #443da0 !important;
+}
+
+.headerpriority input[type=submit] {
+     margin: 5px;
+}
+
+table.SnarkDirInfo img {
+     max-width: 16px;
+     max-height: 16px;
+}
+
+.snarkDirInfo thead img {
+     max-width: none;
+     max-height: none;
+     margin: 0 !important;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: center !important;
+     vertical-align: middle;
+}
+
+td.subHeaderPriority,
+td.priority {
+     width: 0;
+     min-width: 36px !important;
+     padding: 0 5px 0 0 !important;
+     text-align: center !important;
+}
+
+td.subHeaderPriority {
+     font-size: 7.5pt;
+     font-weight: bold;
+     padding: 0 1px !important;
+     text-align: center !important;
+     background: #020022;
+     background: url(images/snarktopnav.png) repeat-x scroll center center #010011;
+}
+
+.headerpriority br {
+     display: none;
+}
+
+.headerpriority img {
+     padding: 4px !important;
+}
+
+.headerstatus {
+     min-width: 250px;
+}
+
+td.priority:last-child {
+     min-width: 350px !important;
+}
+
+tr.priority:last-child {
+     border-bottom: none !important;
+}
+
+th.headerdownloaded {
+     padding-left: 25px !important;
+}
+
+.parentDir img {
+     padding-left: 3px;
+     mix-blend-mode: luminosity;
+}
+
+td.snarkFileStatus {
+     font-size: 8pt;
+     width: 80px;
+     text-align: center;
+}
+
+td.snarkFileIcon {
+     width: 16px;
+     padding: 0;
+}
+
+td.snarkFileStatusIcon {
+     width: 24px;
+     padding: 0 4px 0 0;
+     text-align: center;
+}
+
+td {
+     font-size: 8.5pt;
+     padding: 1px;
+     opacity: 1;
+     color: #c9ceff !important;
+}
+
+.mainsection td {
+     color: #c9ceff;
+}
+
+td:first-child {
+     font-size: 9pt;
+     text-align: right;
+}
+
+.center {
+     text-align: center !important;
+}
+
+.snarkTorrentName {
+     line-height: 110%;
+     padding: 0;
+     font-size: 8.5pt;
+}
+
+.snarkTorrentName a,
+.snarkDirInfo td.snarkFileName a {
+     font-weight: bold !important;
+}
+
+.snarkTorrentAction {
+     width: 60px;
+     margin: 0 !important;
+     padding: 1px 1px 1px 1px !important;
+     text-align: center !important;
+}
+
+.snarkTorrentAction img {
+     margin: 0 2px !important;
+     opacity: 1;
+}
+
+.snarkTorrentAction img:hover {
+     opacity: 1;
+     box-shadow: 0 0 1px 1px #652787;
+}
+
+td.snarkTorrentAction {
+     width: 66px;
+     min-width: 66px;
+}
+
+.snarkTorrentNoneLoaded {
+     font-size: 8.5pt;
+     font-weight: bold;
+     padding: 10px 5px;
+     text-align: center !important;
+     color: #3222ff !important;
+     border-bottom: 1px solid #443da0;
+     background: #001;
+}
+
+.snarkTorrentStatus {
+     padding: 2px 2px 2px 0;
+     text-align: left !important;
+     font-size: 8pt;
+     min-width: 48px;
+     text-align: left !important;
+     color: #9b96e0 !important;
+}
+
+.snarkTorrents td:nth-child(2) {
+     padding-right: 3px !important;
+}
+
+.snarkTorrentStatus,
+.snarkTorrentRateUp,
+.snarkTorrentRateDown,
+.snarkTorrentDownloaded,
+.snarkTorrentUploaded {
+     font-size: 8pt;
+     line-height: 90%;
+     padding: 0 3px;
+     word-spacing: -0.05em;
+}
+
+.snarkTorrentRateUp,
+.snarkTorrentRateDown,
+.snarkTorrentDownloaded,
+.snarkTorrentUploaded {
+     text-align: center !important;
+}
+
+.snarkTorrentDownloaded {
+     color: #c9ceff !important;
+}
+
+td.snarkTorrentDownloaded {
+     font-weight: bold;
+     padding: 0 5px;
+}
+
+.snarkTorrentUploaded {
+     color: #7670c2 !important;
+}
+
+.snarkTorrentRateUp {
+     color: #7670c2 !important;
+}
+
+.snarkTorrentRateDown {
+     color: #7670c2 !important;
+}
+
+.snarkTorrents img {
+     padding: 2px !important;
+}
+
+.snarkTorrents th img {
+     padding: 2px !important;
+     margin-bottom: 2px !important;
+}
+
+.snarkTorrents thead th:last-child img {
+     padding: 2px !important;
+}
+
+.snarkTorrents tfoot th {
+     padding: 6px 4px !important;
+     background: #000;
+}
+
+.snarkTorrents tr:hover,
+.snarkDirInfo tr:hover {
+     background: #040033 !important;
+}
+
+.snarkTorrents tr:hover td,
+.snarkDirInfo tr:hover td {
+     color: #c9ceff !important;
+}
+
+.ParentDir a, .ParentDir a:visited, .ParentDir:hover a {
+     color: #7972d1 !important;
+}
+
+.snarkTorrents tr:hover a,
+.snarkDirInfo tr:hover a {
+     color: #a099ff;
+}
+
+.snarkTorrents a:hover,
+td[onclick]:hover a,
+.snarkDirInfo a:hover {
+     color: #652787 !important;
+}
+
+td[onclick]:hover {
+     cursor: pointer !important;
+}
+
+.snarkTorrentEven {
+     background: #010010;
+}
+
+.snarkTorrentEven:nth-child(even) {
+     background: #010010;
+}
+
+.snarkTorrentEven:nth-child(odd) {
+     background: #010008;
+}
+
+.snarkTorrentOdd,
+.snarkTorrentOdd td,
+.SnarkTorrentEven,
+.SnarkTorrentEven td {
+     border-bottom: 1px solid #003 !important;
+}
+
+.snarkTorrentOdd {
+     background: #010008 !important;
+}
+
+.snarkTorrentOdd:nth-child(even) {
+     background: #010010 !important;
+}
+
+.snarkTorrentOdd:nth-child(odd) {
+     background: #010008 !important;
+}
+
+.snarkTorrentOdd td,
+.snarkTorrentEven td {
+     color: #c9ceff !important;
+     border-top: none !important;
+}
+
+.SnarkTorrentOdd tr:nth-child(odd) {
+     background: #010010;
+}
+
+.snarkFileName {
+     font-size: 9pt !important;
+     padding: 4px 0 !important;
+     text-align: left !important;
+}
+
+.snarkFileSize {
+     font-weight: normal;
+     padding: 4px 2px;
+     color: #7670c2 !important;
+}
+
+.snarkFileStatus {
+     font-size: 9pt;
+     font-style: italic;
+     min-width: 220px;
+     padding: 4px 5px 4px 15px;
+     text-align: center;
+     text-align: left;
+}
+
+.snarkTorrentETA {
+     font-style: italic;
+     color: #7b74e0 !important;
+}
+
+/*
+div.percentBarOuter {
+      background: #000 !important;
+      border: 1px solid #9f9;
+      border-bottom: 1px solid #474;
+      border-right: 1px solid #474;
+      border-radius: 0;
+      float: left;
+      box-shadow: none;
+      opacity: 1;
+}
+
+div.percentBarInner {
+      border: none;
+      height: 14px;
+      background: #1c943a;
+      background: linear-gradient(to bottom,  #1c943a 0%, #092f10 50%, #0d2707 50%, #091b05 50%, #091503 100%); 
+}
+
+div.percentBarInner.percentBarComplete {
+      background: #001100;
+      background: linear-gradient(to bottom,  #001100 0%, #002200 52%, #000000 52%, #001100 100%); 
+}
+
+.percentBarText, .percentBarOuter {
+      text-align: center;
+      height: 14px;
+      top: 0;
+      width: 80px;
+}
+
+.percentBarText{
+      text-align: center;
+      font-weight: bold;
+      line-height: 140%;
+      text-shadow: 0 1px 1px #000;
+}
+
+.snarkTorrentDownloaded .percentBarText, .snarkTorrentDownloaded .percentBarOuter  {
+      width: 110px !important;
+      word-spacing: -0.2em;
+      font-size: 7.5pt;
+}
+
+*/
+
+.choked {
+     color: #1100f0 !important;
+}
+
+.unchoked {
+     color: #1100f0 !important;
+}
+
+.thumb {
+     width: 16px;
+}
+
+.snarkNewTorrent {
+     font-size: 9pt;
+}
+
+.snarkAddInfo {
+     font-size: 8.5pt;
+     line-height: 130% !important;
+     margin-left: 10px;
+}
+
+.snarkConfigTitle,
+label.toggleview {
+     font-size: 11pt;
+     font-weight: bold;
+     font-variant: small-caps !important;
+     display: inline-block;
+     min-width: 200px;
+     margin: -1px 0 -5px 0;
+     padding: 2px 25px 3px 22px;
+     text-align: center !important;
+     letter-spacing: .15em;
+     border: 1px solid #443da0;
+     background: #191729;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000 56%, #000 100%) !important;
+     box-shadow: inset 0 0 0 1px #000;
+     text-shadow: 0 0 1px #000;
+}
+
+.snarkConfigTitle {
+     margin-bottom: -7px;
+}
+
+.snarkConfigTitle a, .snarkConfigTitle a:visited {
+     color: #89f !important;
+}
+
+.snarkConfigTitle a:hover, .toggleview:hover {
+     color: #652787 !important;
+}
+
+.snarkConfigTitle a:active, .toggleview:active {
+     color: #4f0519 !important;
+}
+
+.snarkConfigTitle a:hover img, .snarkConfigTitle a:focus img, .toggleview:hover img, .toggleview:focus img {
+     filter: drop-shadow(0 0 1px #652787);
+     -webkit-filter: drop-shadow(0 0 1px #652787);
+}
+
+.snarkConfigTitle a:active img, .toggleview:active img {
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
+
+.snarkConfigTitle img,
+label.toggleview img {
+     margin-right: -2px;
+     margin-top: -1px;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+.snarkConfig {
+     font-size: 10pt;
+     width: 100%;
+}
+
+.snarkConfig i {
+     padding-left: 5px;
+}
+
+form {
+     margin-bottom: 0;
+}
+
+p {
+     line-height: 150%;
+}
+
+hr {
+     width: 0;
+     height: 1px;
+     margin: 5px 0 7px 0;
+     text-align: center;
+     color: #3e3d4b;
+     border: 0 solid #3e3d4b;
+     background: #3e3d4b;
+}
+
+hr.debug {
+     width: 100%;
+     background: #120f35;
+     margin: 3px 0;
+}
+
+hr.debug:nth-child(n+7) {
+     margin: -10px 0 3px;
+}
+
+.configsectionpanel hr {
+     margin-bottom: 10px;
+}
+
+a:link {
+     font-weight: normal;
+     text-decoration: none;
+     word-wrap: break-word;
+     color: #7972d1;
+     border-radius: 0;
+}
+
+a:visited {
+     color: #362e9e;
+}
+
+a:hover {
+     color: #652787;
+}
+
+a:active {
+     color: #2f000c;
+}
+
+input {
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     margin: 2px 4px 2px 0;
+     padding: 3px 4px !important;
+     cursor: pointer;
+     text-align: left;
+     color: #443da0;
+     border: 1px solid #443da0;
+     border-radius: 2px;
+     background: #001;
+}
+
+input[type="submit"],
+input[type="reset"] {
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+input:disabled {
+     cursor: auto;
+     opacity: .5 !important;
+}
+
+.addtorrentsection input,
+.newtorrentsection input {
+     margin-top: 0 !important;
+     margin-bottom: 5px;
+}
+
+input.r {
+     text-align: right;
+     border: 1px solid #443da0;
+     background: #001;
+}
+
+input[type=submit],
+input[type=submit]:visited {
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     min-width: 95px;
+     margin-top: 6px;
+     padding: 2px;
+     text-align: center;
+     color: #443da0;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f; 
+     background: #000;
+}
+
+input[type=submit]:hover,
+input[type=submit]:focus {
+     color: #652787;
+     border: 1px solid #652787 !important;
+     background-color: #000;
+     box-shadow: 0 1px 1px 0 #c9ceff inset;
+}
+
+input[type=submit]:active {
+     color: #c9ceff;
+     border: 1px inset #652787;
+     background: #652787;
+     text-shadow: none !important;
+}
+
+input[type=submit]:disabled {
+     display: none;
+}
+
+input[type=image],
+thead img {
+     margin: 0 1px;
+     padding: 0 !important;
+     opacity: 1;
+     mix-blend-mode: luminosity;
+}
+
+input[type="image"],
+a img {
+     filter: drop-shadow(0 0 1px #000);
+}
+
+input[type="image"]:hover,
+a img:hover {
+     filter: saturate(200%) drop-shadow(0 0 2px #652787) !important;
+}
+
+input[type="checkbox"],
+.optbox,
+input[type="radio"] {
+     min-width: 16px !important;
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
+}
+
+input[type="checkbox"]:hover,
+.optbox:hover,
+input[type="radio"]:hover {
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%) drop-shadow(0 0 1px #652787);
+}
+
+.snarkTorrents th:last-child,
+.snarkTorrents td:last-child {
+     white-space: nowrap;
+}
+
+.snarkTorrents td:last-child {
+     padding: 1px 2px !important;
+}
+
+.snarkTorrents th:last-child input[type="image"],
+.snarkTorrents td:last-child input[type="image"] {
+     background: linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+     border: 1px solid #443da0 !important;
+     border: 1px solid #171c3f !important;
+     box-shadow: inset 0 0 0 1px #000;
+     padding: 3px !important;
+     border-radius: 2px;
+     text-align: center;
+     mix-blend-mode: normal;
+     margin: 0 2px;
+}
+
+.snarkTorrents th:last-child input[type="image"] {
+     width: 20px;
+     padding: 4px !important;
+     margin-bottom: 1px;
+}
+
+.snarkTorrents td:last-child input[type="image"] {
+     width: 10px;
+}
+
+.snarkTorrents th:last-child input[type="image"]:hover,
+.snarkTorrents th:last-child input[type="image"]:focus,
+.snarkTorrents td:last-child input[type="image"]:hover,
+.snarkTorrents td:last-child input[type="image"]:focus {
+     /* borders on hover only for torrent control buttons, otherwise drop-shadow */
+     border: 1px solid #652787 !important;
+}
+
+.snarkTorrents th:last-child input[type="image"]:active,
+.snarkTorrents td:last-child input[type="image"]:active {
+     box-shadow: inset 3px 3px 2px #000;
+}
+
+input[type=text]:hover,
+input.r:hover {
+     cursor: text;
+}
+
+input[type=text]:focus,
+textarea:focus,
+input.r:focus,
+textarea[name="i2cpOpts"]:focus,
+input[name="nofilter_dataDir"]:focus {
+     color: #7166ff;
+     background: #000;
+}
+
+textarea[name="i2cpOpts"],
+input[name="nofilter_dataDir"] {
+     width: 500px;
+     margin: 3px 0;
+     padding: 4px !important;
+     cursor: text;
+}
+
+thead img,
+thead img:hover {
+     opacity: 0.8;
+     max-height: 20px !important;
+}
+
+input[type=image],
+th a:link img,
+th a:visited img {
+     opacity: 1;
+}
+
+input[type=image]:hover,
+th a:hover img {
+}
+
+input[type=text],
+input.r {
+     min-width: 100px;
+     padding: 4px !important;
+}
+
+input[type=radio] {
+     margin: 0 3px 0 8px;
+     padding: 2px;
+     vertical-align: bottom;
+}
+
+input.default {
+     visibility: hidden;
+     width: 1px;
+     height: 1px;
+}
+
+input[size="85"] {
+     width: 550px;
+     width: calc(100% - 150px);
+}
+
+.addtorrentsection input,
+.newtorrentsection input {
+     margin-left: 5px !important;
+}
+
+select {
+     font: 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, "Lucida Grande", Helvetica, sans-serif;
+     font-weight: bold;
+     min-width: 100px;
+     margin: 2px 4px 2px 0;
+     padding: 2px 16px 2px 2px;
+     cursor: pointer;
+     text-overflow: ellipsis;
+     color: #443da0;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f;
+     border-radius: 2px;
+     background: #000 !important;
+}
+
+select option {
+     font-size: 9.5pt;
+     /* dropdown menu reverts to normal font-weight */
+     font-weight: normal;
+}
+
+select:hover,
+select:focus {
+     color: #652787 !important;
+     border: 1px solid #652787;
+     background: #000 !important;
+}
+
+select:hover {
+     box-shadow: inset 0 1px 1px 0 #c9ceff;
+}
+
+@-moz-document url-prefix() {
+     /* target firefox and derivatives only */
+     select
+     {
+          background: #000 url(images/dropdown.png) right center no-repeat !important;
+          -moz-appearance: none;
+     }
+
+     select:hover,
+     select:focus,
+     select:active
+     {
+          background: #000 url(images/dropdown_hover.png) right center no-repeat !important;
+     }
+
+}
+
+select:nth-child(2) {
+     margin-left: -18px;
+}
+
+textarea {
+     font: 8pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-weight: bold;
+     padding: 1px 4px 0;
+     color: #443da0;
+     border: 1px solid #443da0;
+     border-radius: 2px;
+     background: #001;
+}
+
+textarea:focus {
+     color: #7166ff !important;
+}
+
+img {
+     line-height: 100%;
+     margin: 0 3px 1px 3px;
+     vertical-align: middle;
+     opacity: 1.0;
+     border: none;
+}
+
+img:hover {
+     line-height: 100%;
+     opacity: 1;
+     border: none;
+}
+
+a:hover img, a:focus img {
+     filter: drop-shadow(0 0 1px #652787);
+     -webkit-filter: drop-shadow(0 0 1px #652787);
+     mix-blend-mode: normal;
+}
+
+img[src$="magnet.png"] {
+     transform: rotate(-90deg);
+}
+
+img[src$="details.png"] {
+     mix-blend-mode: luminosity;
+}
+
+img.thumb {
+     width: 16px;
+}
+
+.snarkFileStatus img {
+     mix-blend-mode: luminosity;
+}
+
+.snarkFileStatus img[src*="clock"] {
+     mix-blend-mode: normal !important;
+}
+
+/*
+.infoz {
+     line-height: 100%;
+     float: left;
+     margin: 0 -1px 0 0 !important;
+     padding: 0 !important;
+}
+
+.infoz img {
+     opacity: 1 !important;
+     border: none;
+}
+
+.infoz img:hover {
+     opacity: 1 !important;
+}
+*/
+
+#pagenav img.disable,
+#pagenav img.disable:hover {
+     opacity: .3;
+     border: 1px solid #171c3f !important;
+     margin-left: 3px !important;
+     mix-blend-mode: luminosity;
+     margin-left: 2px !important;
+}
+
+#pagenav {
+     font-weight: bold !important;
+}
+
+#pagenav img {
+     height: 12px;
+     margin: 0 0 0 2px !important;
+     padding: 3px 4px 2px !important;
+     background: #001;
+     background: linear-gradient(to bottom, #181d4f 0%, #181d4f 50%, #001 50%, #001 100%);
+     border: 1px solid #171c3f !important;
+     border-radius: 2px;
+     box-shadow: inset 0 0 0 1px #000;
+     mix-blend-mode: luminosity;
+}
+
+#pagenav img:hover, #pagenav a:focus img {
+     mix-blend-mode: normal;
+}
+
+ #pagenav a:focus img {
+     border: 1px solid #652787 !important;
+}
+
+#pagenav a img:active {
+     box-shadow: inset 2px 2px 3px 3px #000;
+     border: 1px solid #000 !important;
+}
+
+.newtorrentsection td:first-child,
+.addtorrentsection td:first-child,
+.configsectionpanel td:first-child {
+     font-weight: bold;
+     padding-right: 5px;
+     padding-left: 5px;
+     white-space: nowrap;
+}
+
+.newtorrentsection td:first-child,
+.addtorrentsection td:first-child {
+     width: 120px;
+}
+
+#trackerselect {
+     width: 100% !important;
+     width: calc(100% - 150px) !important;
+     margin: 2px 5px 0 5px;
+     border: 1px solid #120f35;
+}
+
+#trackerselect tr:nth-child(even) {
+     background: #010008 !important;
+}
+
+#trackerselect tr:nth-child(odd) {
+     border-bottom: 1px inset #000;
+     background: #010010;
+}
+
+#trackerselect tr:first-child {
+     font-weight: bold;
+     border-bottom: 1px solid #120f35;
+     background: linear-gradient(to bottom, #010011, #000);
+}
+
+#trackerselect tr:first-child td {
+     padding: 3px 5px 3px 20px;
+}
+
+#trackerselect td {
+     padding: 5px 5px 5px 20px;
+     font-size: 9pt;
+}
+
+#trackerselect td:first-child {
+     width: 20%;
+}
+
+#trackerselect td:nth-child(4) {
+     width: 70%;
+}
+
+#trackerselect input {
+     margin: 3px !important;
+}
+
+.configsectionpanel td:first-child {
+     font-weight: bold;
+     padding-right: 10px !important;
+     padding-left: 5px !important;
+}
+
+.trackerconfig th {
+     min-width: 50px;
+}
+
+.trackerconfig th:last-child,
+.trackerconfig td:last-child {
+     padding-left: 10px !important;
+}
+
+.trackerconfig tr:nth-child(odd),
+.snarkConfig tr:nth-child(odd) {
+     background: #010009;
+}
+
+.trackerconfig tr:last-child {
+     border: 1px solid #443da0;
+     background: #001;
+     background: linear-gradient(to bottom, #010011, #000) repeat scroll 0 0 #000;
+}
+
+.snarkTorrentNoneLoaded td {
+     color: #c9ceff !important;
+     border-right: 1px solid #050044;
+     border-left: 1px solid #050044;
+     background: #001;
+}
+
+.snarkNewTorrent td {
+     padding: 2px 3px;
+}
+
+.snarkNewTorrent td:nth-child(2),
+.snarkNewTorrent td:nth-child(3) {
+     font-weight: bold;
+     padding-right: 5px;
+}
+
+.snarkNewTorrent td[rowspan="0"] {
+     width: 50%;
+}
+
+.snarkConfig tr:last-child {
+     border: 1px solid #443da0;
+}
+
+table.trackerconfig td:first-child {
+     width: 24px !important;
+     padding: 5px 2px;
+}
+
+.trackerconfig tr:nth-child(even),
+.snarkConfig tr:nth-child(even) {
+     background: #010011;
+}
+
+.trackerconfig input {
+     margin: 3px 0 !important;
+     cursor: default;
+}
+
+.optbox[name="add_tracker_type"] {
+     cursor: pointer; /* active cursor only for clickable radio icons */
+}
+
+.snarkConfig input[type=submit] {
+     min-width: 100px;
+     margin: 3px 2px 3px 5px !important;
+     text-align: center;
+}
+
+.trackerconfig td,
+.snarkConfig td {
+     padding: 5px 1px !important;
+}
+
+.trackerconfig {
+     text-align: left !important;
+}
+
+.snarkConfig table tr:first-child {
+     border-top: 1px solid #443da0 !important;
+}
+
+.trackerconfig th:nth-child(n+4),
+.trackerconfig th:nth-child(n+5),
+.trackerconfig td:nth-child(n+4),
+.trackerconfig td:nth-child(n+5) {
+     text-align: center !important;
+}
+
+.trackerconfig th,
+.trackerconfig td,
+.trackerconfig th:last-child,
+.trackerconfig td:last-child {
+     text-align: left !important;
+}
+
+.trackerconfig td:first-child {
+     text-align: right !important;
+}
+
+/*
+.trackerconfig td:last-child {
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      min-width: 230px;
+}
+
+*/
+
+.configsectionpanel th, .configsectionpanel td {
+      font-size: 9pt;
+}
+
+.configsectionpanel td[colspan="2"]:last-child,
+.configsectionpanel td[colspan="7"] {
+     display: none;
+}
+
+.configsectionpanel td[colspan="5"],
+.configsectionpanel td[colspan="2"] {
+     border-top: 1px solid #443da0;
+}
+
+.snarkConfig tr:nth-last-child(2) {
+     background: none;
+}
+
+.snarkConfig tr:nth-last-child(2) td,
+.configsectionpanel td[colspan="5"] {
+     padding: 11px 15px 0 !important;
+     text-align: right !important;
+     border-top: 1px solid #443da0;
+}
+
+.snarkConfig tr {
+     border: none !important;
+}
+
+.trackerconfig table {
+     border: none !important;
+}
+
+.section,
+.mainsection .section,
+.mainsection {
+     margin: 0;
+     padding: 0;
+     text-align: center;
+     word-wrap: break-word;
+     opacity: 1 !important;
+     color: #c9ceff;
+     border-bottom: none;
+     background: #001;
+     background: linear-gradient(to bottom, #000, #003);
+     background-size: 100% 2px;
+     box-shadow: inset 0 0 1px 0 #110f24;
+}
+
+.newtorrentsection {
+     margin: 0 0 -1px 0;
+     padding: 0 10px 0 10px;
+     text-align: center;
+     word-wrap: break-word;
+     color: #c9ceff;
+     border: 1px solid #443da0;
+     background: #001 url(images/snark_create.png) no-repeat scroll right center;
+     background: url(images/snark_create.png) no-repeat scroll right center, linear-gradient(to bottom, #001, #000009);
+     background-size: 70px, 100% 100%;
+     background-blend-mode: luminosity;
+     box-shadow: inset 0 0 0 2px #000, inset 0 0 5px 2px #002;
+}
+
+.addtorrentsection {
+     margin: 10px 0 -1px 0;
+     padding: 0 10px;
+     text-align: center;
+     word-wrap: break-word;
+     color: #c9ceff;
+     border: 1px solid #443da0;
+     background: #001 url(images/snark_add.png) no-repeat scroll right center;
+     background: url(images/snark_add.png) no-repeat scroll right center, linear-gradient(to bottom, #001, #000009);
+     background-size: 64px, 100% 100%;
+     background-blend-mode: luminosity;
+     box-shadow: inset 0 0 0 2px #000, inset 0 0 5px 2px #002;
+}
+
+.iframed .addtorrentsection {
+     margin-top: -1px;
+}
+
+.configsection {
+     font-weight: bold;
+     margin: 0 0 -1px;
+     padding: 0 10px 15px 10px;
+     text-align: center;
+     word-wrap: break-word;
+     color: #c9ceff;
+     border: 1px solid #443da0;
+     background: #001;
+     background: #001 url(images/configuration.png) no-repeat scroll 101% center;
+     background: url(images/configuration.png) no-repeat scroll 101% center, linear-gradient(to bottom, #001, #000009);
+     background-size: 64px, 100% 100%;
+     background-blend-mode: luminosity;
+     box-shadow: inset 0 0 0 2px #000, inset 0 0 5px 2px #002;
+}
+
+.configsectionpanel {
+     font-weight: bold;
+     margin: 9px 0 0 0;
+     padding: 0;
+     text-align: center;
+     word-wrap: break-word;
+     color: #c9ceff;
+     border: 1px solid #443da0;
+     background: #001;
+     background: linear-gradient(to bottom, #001, #000009);
+     box-shadow: inset 0 0 1px 0 #010011;
+}
+
+form:last-child > .configsectionpanel {
+     margin-top: 10px;     
+     margin-bottom: -1px;
+}
+
+.newtorrentsection, .addtorrentsection, .configsection, .configsectionpanel {
+     border-right: none;
+     border-left: none;
+}
+
+.newtorrentsection form,
+.configsection form,
+.addtorrentsection form {
+     color: #c9ceff !important;
+}
+
+.configsection table {
+     opacity: 1;
+     color: #c0bbff;
+}
+
+.configsection a {
+     font-weight: bold;
+     text-shadow: 0 1px 1px #000;
+}
+
+.configsection a:hover {
+     text-decoration: none;
+     color: #652787;
+}
+
+code {
+     font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     font-size: 8pt;
+     font-weight: bold;
+     padding: 0 2px;
+     color: #7166ff;
+}
+
+.routerdown {
+     padding: 10px;
+     color: #c9ceff;
+     border-bottom: 1px solid #443da0;
+}
+
+input.trackername {
+     width: 100px;
+}
+
+input.trackerhome {
+     width: 210px;
+}
+
+input.trackerannounce {
+     width: 210px;
+}
+
+/*
+div[class*="section"] {
+     background: #001 !important;
+}
+*/
+
+/* toggle create/add panel view */
+input.toggle_input {
+     /* hide checkbox and use label as faux panel heading */
+     display: none;
+}
+
+label.toggleview:hover {
+     cursor: pointer;
+     color: #f60;
+}
+
+input#toggle_addtorrent:not(checked) + label + hr + table,
+input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: none;
+}
+
+input#toggle_addtorrent:checked + label + hr + table,
+input#toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+/* display panels by default on webkit based browsers (midori fix) */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+
+input#toggle_addtorrent:not(checked) + label + hr + table,
+input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+input#toggle_addtorrent:checked + label + hr + table,
+input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+.iframed input#toggle_addtorrent:not(checked) + label + hr + table,
+.iframed input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed input#toggle_addtorrent:checked + label + hr + table,
+.iframed input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+
+label.toggleview,
+.snarkConfigTitle a:visited {
+     color: #89f;
+}
diff --git a/installer/resources/themes/snark/ubergine/images/accept.png b/installer/resources/themes/snark/ubergine/images/accept.png
new file mode 100644
index 0000000000000000000000000000000000000000..719e39151bbdcb581c0e096459bfc964fdc202c1
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/accept.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/btn_stop.png b/installer/resources/themes/snark/ubergine/images/btn_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdaeb855ae006cf6d123d3ee5a7df3ac1d6b8263
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/btn_stop.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/bullet.png b/installer/resources/themes/snark/ubergine/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..74c893929fe829225afcb98c6c06ec0e3e77a4a9
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/bullet.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_forum.png b/installer/resources/themes/snark/ubergine/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa71d942f64fa197fdb6939b4ab47e30be6868d0
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_forum_active.png b/installer/resources/themes/snark/ubergine/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_forum_hover.png b/installer/resources/themes/snark/ubergine/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdd6bf265347aa6190bd26f581d5ea9b70efde16
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_snark.png b/installer/resources/themes/snark/ubergine/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..648be8f744f49f7a2fd25ba0ae8b9d0aa92500c2
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_snark_active.png b/installer/resources/themes/snark/ubergine/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_snark_hover.png b/installer/resources/themes/snark/ubergine/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb8aad6ec7fa3b332f2c0830aecf64d8df84c540
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_tracker.png b/installer/resources/themes/snark/ubergine/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..d268379ca9c750a72cfb5e54cc68968fc5616b22
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_tracker_active.png b/installer/resources/themes/snark/ubergine/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/button_tracker_hover.png b/installer/resources/themes/snark/ubergine/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1f553707a0504fae9e2ea3d7dca15d4464be338
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/cancel.png b/installer/resources/themes/snark/ubergine/images/cancel.png
new file mode 100644
index 0000000000000000000000000000000000000000..33c876b23a8a3940476e354ffe81f9fe93ac9170
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/cancel.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/config.png b/installer/resources/themes/snark/ubergine/images/config.png
index 565a9330e0a156dff5bed2c9fad8c95a44344ba4..8151463917ec88ca0962a5bfefb9f11c9122bff8 100644
Binary files a/installer/resources/themes/snark/ubergine/images/config.png and b/installer/resources/themes/snark/ubergine/images/config.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/cross.png b/installer/resources/themes/snark/ubergine/images/cross.png
new file mode 100644
index 0000000000000000000000000000000000000000..33a383748bca465d6d0e7be4fa2ce83c861e36ba
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/cross.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/dropdown.png b/installer/resources/themes/snark/ubergine/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffcca9c9b867994cf27dcac5df46d0928fef47c5
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/dropdown_hover.png b/installer/resources/themes/snark/ubergine/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f115f98851233839bd411337191ef76f510b9bb
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/first.png b/installer/resources/themes/snark/ubergine/images/first.png
index 15d1584bdbb2c26a9fc4c8269aa54615a58a4657..a6930a18d555b9c2aa13b9b7e324195e226759de 100644
Binary files a/installer/resources/themes/snark/ubergine/images/first.png and b/installer/resources/themes/snark/ubergine/images/first.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/last.png b/installer/resources/themes/snark/ubergine/images/last.png
index 4a2f9d4e4a81857f509d85bbe46936c99709cd6f..8c63819768ce58593504715f5ab0aff426eb47d8 100644
Binary files a/installer/resources/themes/snark/ubergine/images/last.png and b/installer/resources/themes/snark/ubergine/images/last.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/next.png b/installer/resources/themes/snark/ubergine/images/next.png
index f8c8ec683edd6a974eacc253332f903d643dbe41..195a9d707b853c9fc591a518bdd0cbb6e450d115 100644
Binary files a/installer/resources/themes/snark/ubergine/images/next.png and b/installer/resources/themes/snark/ubergine/images/next.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/nuke.png b/installer/resources/themes/snark/ubergine/images/nuke.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0d4b0201b9fc3f6f6da0c9b888822eafaac8414
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/nuke.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/previous.png b/installer/resources/themes/snark/ubergine/images/previous.png
index 7b3f9e6fde420cb3f9454c692bc69b1d39efa280..79558ab1e169a38795bf6fa6c96c51ec63e36c9b 100644
Binary files a/installer/resources/themes/snark/ubergine/images/previous.png and b/installer/resources/themes/snark/ubergine/images/previous.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/recheck.png b/installer/resources/themes/snark/ubergine/images/recheck.png
new file mode 100644
index 0000000000000000000000000000000000000000..c932759e7fa7f4ac473db118c8808544daf06cf2
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/recheck.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/restore.png b/installer/resources/themes/snark/ubergine/images/restore.png
new file mode 100644
index 0000000000000000000000000000000000000000..e55a304d632a7f4a67f49b35a8eb5c5c5b63d4ef
Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/restore.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/start_all.png b/installer/resources/themes/snark/ubergine/images/start_all.png
index b78b2c1a4a8f234e5348438fb97a0ba2db68cfd3..d206535d2e1f7784b05abfc0aea3476fea453385 100644
Binary files a/installer/resources/themes/snark/ubergine/images/start_all.png and b/installer/resources/themes/snark/ubergine/images/start_all.png differ
diff --git a/installer/resources/themes/snark/ubergine/images/stop_all.png b/installer/resources/themes/snark/ubergine/images/stop_all.png
index d983b694c12754e7acf1769742989778cad6991f..eab8e7f7485e13f578f2d053a1e0af03a3bc1dcf 100644
Binary files a/installer/resources/themes/snark/ubergine/images/stop_all.png and b/installer/resources/themes/snark/ubergine/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/ubergine/snark.css b/installer/resources/themes/snark/ubergine/snark.css
index eccaf7d8fb66482d4805b1eb388154d2f21004d2..b4cd5d5af129cf09e468918d4e5912245abd4f9a 100644
--- a/installer/resources/themes/snark/ubergine/snark.css
+++ b/installer/resources/themes/snark/ubergine/snark.css
@@ -1,116 +1,228 @@
 /* I2PSnark theme "Ubergine" by dr|z3d */
 /* Guantanamo Commemorative Edition. */
 
+html {
+     min-height: 100%;
+}
+
 body {
-     background: #101 url('/themes/snark/ubergine/images/graytile.png');
-     color: #001;
-     font: 7.5pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     background: #101 url(images/graytile.png);
+     background: linear-gradient(to bottom, rgba(64,0,64,0.2), rgba(11,0,11,0.1), rgba(11,0,11,0.2)), url(images/graytile.png) #26092f;
+     background-size: 100% 100%, 96px 96px;
+     color: #fff;
+     font: 8pt "Bitstream Vera Sans", "Noto Sans", Verdana, Ubuntu, Tahoma, Helvetica, sans-serif;
 }
 
 body.iframed {
      background: transparent url('../../console/dark/images/transparent.gif') !important;
-     margin: 6px 0 !important;
+     margin: 0 !important;
+}
+
+.page {
+     background: #323 url(images/tile2.png);
+     background: linear-gradient(to right, rgba(30,0,30,0.4) 0%, rgba(55,0,55,0.5) 50%, rgba(30,0,30,0.4) 100%), url(images/tile2.png);
+     color: #310;
+     min-width: 900px !important;
+     margin: 5px 0 0 0;
+     padding: 10px 10px 0 10px;
+     border-radius: 4px;
+     border: 1px solid #101;
+     font-size: 8pt !important;
+     line-height: 160% !important;
+     box-shadow: inset 0 0 3px 0 #101;
+     text-align: center;
+     opacity: 1;
+     filter: drop-shadow(0 0 1px #000);
 }
 
+.iframed .page {
+     background: none;
+     border: none;
+     border-radius: 0;
+     box-shadow: none;
+     padding: 0 0;
+     filter: none;
+}
+
+/*
 .snarkTitle {
      font-size: 12pt;
      font-weight: bold;
      text-align: center;
 }
+*/
 
-.snarkRefresh:link,.snarkRefresh:visited {
-     text-decoration: none !important;
+.snarknavbar {
+     margin: -10px 0 10px 0 !important;
+     padding: 14px 10px;
+     border: 1px solid #101;
+     border-radius: 0 0 4px 4px;
+     box-shadow: inset 0 0 3px 1px #212;
+     filter: drop-shadow(0 1px 4px #212);
+     -webkit-filter: drop-shadow(0 1px 1px #000);
+     background: #101 url(images/snarktopnav.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #522852 0%, #4a2449 11%, #321831 33%, #281428 50%, #1c0e1c 51%, #101 52%, #101 100%);
      text-transform: uppercase !important;
-     padding: 4px 16px 5px !important;
-     margin: -5px -8px -5px 0 !important;
-     letter-spacing: 0.03em;
      font-weight: bold;
-     font-size: 9pt;
-     color: #f70;
-     text-shadow: 1px 1px #420;
-     background: url('/themes/snark/ubergine/images/snarknav_lowlight.png') no-repeat scroll center bottom;
-     background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 3px;
-     border-radius: 0px;;
-     -moz-box-shadow: inset 0 0 1px 0 #f90;
-     -khtml-box-shadow: inset 0 0 1px 0 #f90;
-     box-shadow: 0 0 1px 0 #f90;
+     font-size: 11.5pt;
+     color: #001;
+     min-width: 600px;
+     width: 70%;
+     text-align: center;
+     position: sticky;
+     top: -2px;
+     z-index: 999;
+}
 
+.iframed .snarknavbar {
+     padding-bottom: 15px;
+     margin-top: 0 !important;
+     margin-bottom: -6px !important;
+     width: auto;
+     border-radius: 0;
+     box-shadow: inset 0 0 1px 0 #ffeffd;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { 
+.snarknavbar {
+     padding-top: 13px !important;
+     padding-bottom: 14px;
+}
+
+.iframed .snarknavbar {
+     padding-top: 12px !important;
+     padding-bottom: 13px !important;
+     background: linear-gradient(to bottom, #522852 0%, #4a2449 11%, #321831 33%, #281428 52%, #1c0e1c 52%, #101 52%, #101 100%);
+}
 }
 
-.snarkRefresh:hover {
+.snarknavbar img {
+     border: 0;
+     margin-right: -8px;
+     margin-left: -2px;
+     padding: 0 !important;
+     vertical-align: middle;
+     filter: none;
+}
+
+.snarkRefresh:link,.snarkRefresh:visited {
      text-decoration: none !important;
      text-transform: uppercase !important;
-     padding: 1px 16px;
+     text-shadow: 0 0 1px #000;
+     padding: 5px 12px 5px !important;
+     margin-right: -4px !important;
+     letter-spacing: 0.11em;
      font-weight: bold;
-     color: #f50;
-     background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center;
-     background: #310 url('/themes/snark/ubergine/images/snarknav_lowlight.png') repeat-x scroll center center;
-     -moz-border-radius: 0;
-     -khtml-border-radius: 0;
+     font-size: 9pt;
+     color: #f70;
+     background: #310 url(images/snarknav_on.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #a68058 1%, #7a6045 27%, #5e4730 50%, #2e1700 51%, #241300 75%, #0d0600 100%);
      border-radius: 0;
-     -moz-box-shadow: inset 0 0 1px 0 #f90;
-     -khtml-box-shadow: inset 0 0 1px 0 #f90;
-     box-shadow: 0 0 1px  #f90;
+     box-shadow: 0 0 1px 0 #000, inset 0 0 0 1px rgba(16, 0, 16, 0.7);
+     outline: none;
+     border: 1px solid #730;
+}
+
+.snarkRefresh:hover, .snarkRefresh:focus {
+     color: #d2baff;
+     background: #310 url(images/snarknav_lowlight.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #a15b73 0%, #7e4062 50%, #591c3e 50%, #46133e 100%);
+     border: 1px solid #820b64;
+}
+
+.snarkRefresh img {
+     -webkit-filter: none !important;
+}
+
+.snarkRefresh:hover img, .snarkRefresh:focus img {
+     filter: sepia(100%) hue-rotate(220deg);
+     -webkit-filter: sepia(100%) hue-rotate(220deg) !important;
+}
+
+.snarkRefresh:active img {
+     filter: sepia(100%) invert(100%) hue-rotate(125deg);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(125deg) !important;
 }
 
 .snarkRefresh:active {
-     text-decoration: none !important;
-     text-transform: uppercase !important;
-     padding: 0 16px;
-     font-weight: bold;
-     color: #fb0;
-     background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center;
+     background: #f60;
+     color: #fff;
+     text-shadow: 0 0 1px #000;
+     border: 1px solid #f90;
+     box-shadow: 0 0 1px 0 #000, inset 1px 1px 3px 1px #310;
 }
 
 .snarkRefresh:last-child {
-     -moz-border-radius: 0 3px 3px 0px;
-     -khtml-border-radius: 0 3px 3px 0;
-     border-radius: 0 3px 3px 0;
-     -moz-box-shadow: inset 0 0 1px 0 #f90;
-     -khtml-box-shadow: inset 0 0 1px 0 #f90;
-     box-shadow: 0 0 1px 0 #f90;
+     border-radius: 0 2px 2px 0;
 }
 
 .snarkRefresh:first-child {
-     -moz-border-radius: 3px 0 0 3px;
-     -khtml-border-radius: 3px 0 0 3px;
-     border-radius: 3px 0 0 3px;
-     -moz-box-shadow: inset 0 0 1px 0 #f90;
-     -khtml-box-shadow: inset 0 0 1px 0 #f90;
-     box-shadow: 0 0 1px 0  #f90;
+     border-radius: 2px 0 0 2px;
+}
+
+.snarkRefresh:last-child[href="/i2psnark/"] {
+     border-radius: 2px;
+     margin: -3px 0 -4px !important;
+     padding: 4px 12px 3px !important;
+     display: inline-block;
 }
 
 .snarkMessages {
-     font: bold 8pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important;
+     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono !important;
      text-align: left;
      margin: 0 0 10px 0;
      padding: 3px 5px;
-     border-spacing: 0px;
-     -moz-border-radius: 4px 0 0 0;
-     -khtml-border-radius: 4px 0 0 0;
-     border-radius: 4px 0 0 0;
-     border: 1px solid #000;
+     border-spacing: 0;
+     border-radius: 4px;
+     border: 1px solid #101;
      overflow: auto;
      color: #26f;
-     max-height: 76px;
-     min-height: 45px;
+     height: 50px;
      width: auto;
-     background: #2a192a url('/themes/snark/ubergine/images/hat.png') no-repeat scroll right center;
+     width: calc(100% - 12px);
+     background: #2a192a url(images/hat.png) no-repeat scroll right center;
+     background: url(images/hat.png) no-repeat scroll right center, linear-gradient(to bottom, #2a192a 0%, #202 100%);
+     background-size: 80px 83px;
+     box-shadow: inset 0 0 3px 1px rgba(16, 0, 16, 0.6);     
+     outline: none;
+     filter: drop-shadow(0 0 1px rgba(16, 8, 16, 0.5));
+     -webkit-filter: drop-shadow(0 0 1px rgba(16, 8, 16, 0.5));
+}
+
+.snarkMessages:focus {
+     filter: drop-shadow(0 0 1px #f60) !important;
 }
 
 .snarkMessages a:link, .snarkMessages a:visited {
      color: #69f !important;
+     outline: none;
 }
 
-.snarkMessages a:hover {
+.snarkMessages a:hover, .snarkMessages a:focus {
      color: #f90 !important;
 }
 
+.snarkMessages a:active {
+     color: #f30 !important;
+}
+
 .snarkMessages ul {
-     margin: 0;
-     padding: 0 0 0 16px;
+     margin: -3px 0 2px -2px;
+     padding: 0 0 0 14px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: '';
+     display: inline-block;
+     background: url(images/bullet.png) left bottom no-repeat;
+     width: 12px;
+     height: 11px;
+     background-size: 9px 9px;
 }
 
 .snarkMessages p {
@@ -121,8 +233,20 @@ body.iframed {
 
 .snarkMessages img {
      float: right;
-     margin: -3px -4px 4px 4px;
+     margin: -3px -5px 4px 4px;
      opacity: 0.8;
+     position: sticky;
+     top: -3px;
+     filter: sepia(100%) hue-rotate(210deg) drop-shadow(0 0 1px #000) !important;
+     -webkit-filter: sepia(100%) hue-rotate(210deg) drop-shadow(0 0 1px #000);
+     mix-blend-mode: luminosity;
+     width: 12px;
+}
+
+.snarkMessages img:hover {
+     filter: sepia(100%) hue-rotate(250deg) drop-shadow(0 0 1px #f60) !important;
+     -webkit-filter: sepia(100%) hue-rotate(250deg) drop-shadow(0 0 1px #f60) !important;
+     mix-blend-mode: initial;
 }
 
 .logshim {
@@ -140,41 +264,32 @@ pre {
 }
 
 table {
-     margin: 0px 0px 10px 0px;
-     border: 0px;
-     padding: 0px;
-     border-spacing: 0px;
+     margin: 0 0 10px 0;
+     border: 0;
+     padding: 0;
+     border-spacing: 0;
      border-collapse: collapse;
      color: #323;
      width: 100%;
-     opacity: 1 !important;
-}
-
-tr { 
-     opacity: 1;
 }
 
 thead, tfoot {
-     text-shadow:0 2px 5px #333333;
      background: #101;
 }
 
-thead a, tfoot a {
-text-shadow:1px 1px #550000;
-} 
-
-thead {
-     border-bottom: 1px solid #101;
+thead, .snarkTorrentInfo th {
+     background: linear-gradient(to bottom, #202 0%, #101 100%);
+     border-top: 1px solid #101 !important;
+     border-bottom: 1px solid #101 !important;
 }
 
 th {
      padding: 4px 2px 4px 4px;
      font-size: 8pt;
-     border-top: 1px outset #001;
-     border-bottom: 1px inset #101;
+     border-top: 1px solid #101;
+     border-bottom: 1px solid #101;
      color: #ddd;
-     whitespace: nowrap;
-     letter-spacing: 0em;
+     letter-spacing: 0;
 }
 
 th:first-child {
@@ -184,7 +299,7 @@ th:first-child {
 
 tfoot td:first-child {
      text-align: left !important;
-     padding-left: 0px;
+     padding-left: 0;
 }
 
 th:first-child img {
@@ -197,10 +312,11 @@ th:nth-child(2) img {
 
 tfoot th {
      padding-bottom: 4px !important;
+     vertical-align: top;
 }
 
 tfoot img, tfoot:nth-child(2) img, tfoot:nth-child(1) img, tfoot:nth-child(3) img, tfoot:nth-child(4) img {
-     margin: 0px 2px 3px 0px !important;
+     margin: 0 2px 3px 0 !important;
      padding-right: 0 !important;
 }
 
@@ -221,23 +337,132 @@ tfoot tr:nth-child(n+1) {
 .ParentDir {
      background: #656;
      background: #351933;
-     font-size: 7.5pt;
-     border: 0px inset #101 !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
+     border: 1px solid #101 !important;
      text-align: left !important;
-     padding: 4px 0;
+     padding: 4px 3px;
+}
+
+.ParentDir img {
+     margin-right: 4px;
+}
+
+.snarkDirInfo th:first-child {
+     border-left: 1px solid #101 !important;
+}
+
+.snarkDirInfo th:last-child {
+     border-right: 1px solid #101 !important;
+}
+
+.snarkDirInfo input[type="submit"], .snarkDirInfo a.control {
+     margin: 2px !important;
+}
+
+.snarkDirInfo input.disabled, .snarkDirInfo a.controld {
+     display: none;
 }
 
 .priority {
      font-size: 7pt;
-     vertical-align: center;
+     vertical-align: middle;
+     text-align: right !important;
+     padding-right: 20px;
 }
 
-.SnarkTorrents {
+.snarkTorrents {
+     background: #212;
      margin: 0;
      border: 1px solid #101;
-     background: #212;
+     border-collapse: separate;
+     border-spacing: 0;
+     border-radius: 4px;
+     filter: drop-shadow(0 0 1px rgba(16, 8, 16, 0.5));
+     -webkit-filter: drop-shadow(0 0 1px rgba(16, 8, 16, 0.5));
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { /* fixes webkit/blink double border */
+     .snarkTorrents {
+     border-top: 1px solid transparent;     
+}
+}
+
+.snarkTorrents thead th {
+     border-top: 1px solid transparent !important;
+}
+
+.snarkTorrents thead th  {
+     padding: 2px;
+     background-clip: padding-box;
+}
+
+.snarkTorrents thead th:nth-child(-n+3) {
+     max-width: 45px;
+}
+
+.snarkTorrents thead th:first-child {
+     text-align: center !important;
+     width: 16px !important;
+}
+
+.snarkTorrents thead th:nth-child(2) {
+     text-align: center;
+     min-width: 50px;
+} 
+
+.snarkTorrents tfoot {
+     background: #101;
+}
+
+.snarkTorrents tfoot th {
+     padding: 5px 2px;
+     border-bottom: #101;
+     font-weight: normal;
+}
+
+.snarkTorrents tfoot th::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th:nth-child(even) {
+     background: #120012;
+}
+
+.snarkTorrents thead th:nth-last-child(4), .snarkTorrents thead th:nth-last-child(5), .snarkTorrents tfoot th:nth-last-child(4), .snarkTorrents tfoot th:nth-last-child(5)  {
+     text-align: center;
+}
+
+.snarkTorrents tfoot th:nth-child(n+2) {
+     word-spacing: -0.2em;
+     font-variant: all-small-caps;
+     text-align: right;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.snarkTorrents td:nth-child(n+6), .snarkTorrents tfoot th:nth-child(n+2) {
+     font-variant: normal !important;
+}
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents td:nth-child(3), .SnarkTorrents td:nth-child(4) {
+     width: 16px;
+     padding: 2px 0;
+}
+
+.snarkTorrents td:nth-child(3) {
+     text-align: right;
+}
+
+.snarkTorrents td:nth-child(4) {
+     text-align: left;
+}
+
+.snarkTorrents tt {
+     color: #cc0;
+     margin-left: 2px;
 }
 
 td {
@@ -261,9 +486,9 @@ td:first-child {
 }
 
 .snarkTorrentName {
-     line-height: 100%;
-     text-shadow:1px 1px #550000;
-     padding: 2px 0 0;
+     line-height: 110%;
+     padding: 2px 1px 2px 0;
+     min-width: 370px;
 }
 
 .snarkTorrentName img {
@@ -272,12 +497,30 @@ td:first-child {
      vertical-align: middle;
 }
 
+.snarkTorrentName[onclick^="document.location"]:hover, .snarkTorrentName[onclick^="document.location"]:hover a  {
+     cursor: pointer;
+     color: #f90 !important;
+}
+
 .snarkTorrentAction {
-     text-shadow:1px 1px #550000;
      padding: 1px 1px 1px 1px !important;
      margin: 0 !important;
      text-align: center;
-     width: 68px;
+     width: 32px;
+     white-space: nowrap;
+}
+
+.snarkTorrents th:last-child {
+     white-space: nowrap !important;
+}
+
+.snarkTorrents th:last-child input[type="image"] {
+     padding: 0;
+     margin: 0;
+}
+
+.snarkTorrents th:last-child br { /* prevent button wrapping */
+     display: none;
 }
 
 .snarkTorrentAction img {
@@ -286,15 +529,10 @@ td:first-child {
 }
 
 .snarkTorrentAction img:hover {
-     -moz-box-shadow: 0 0 1px 1px #f90;
+     box-shadow: 0 0 1px 1px #f90;
      opacity: 1;
 }
 
-.snarkTorrentEven {
-     font-size: 7.5pt;
-     background: #270027;
-}
-
 .snarkTorrentNoneLoaded {
      background: #323;
      font-size: 8.5pt;
@@ -305,33 +543,39 @@ td:first-child {
 
 .snarkTorrentStatus {
      padding: 2px 2px 2px 0;
-     line-height: 100%;
-}
-
-.snarkTorrentStatus:first-child {
+     line-height: 110%;
+/*     min-width: 75px;*/
      text-align: left !important;
-     padding-left: 0px;
-     min-width: 48px;
-     font-weight: bold;
-     color: #dd9 !important;
-     font-size: 7.5pt;
-     padding: 1px !important;
+     font-size: 7.5pt !important;
 }
 
-.snarkTorrentStatus:first-child img {
+.snarkTorrentStatus img {
      margin-right: 10px !important;
      margin-left: 6px;
 }
 
-.snarkTorrentRateUp, .snarkTorrentRateDown, .snarkTorrentDownloaded, .snarkTorrentUploaded {
+img[src$="details.png"] {
+     mix-blend-mode: luminosity;
+}
+
+a img[src$="details.png"]:hover, a:focus img[src$="details.png"] {
+     mix-blend-mode: initial !important;
+}
+
+.snarkTorrentRateUp, .snarkTorrentRateDown, .snarkTorrentDownloaded, .snarkTorrentUploaded, .snarkFileSize {
      font-size: 7.5pt;
      font-weight: bold;
      padding: 0 3px;
      line-height: 100%;
+     font-variant: all-small-caps; /* scale down KB/MB (firefox only) */
+     word-spacing: -0.15em;
+     font-variant-numeric: tabular-nums;
 }
 
 .snarkTorrentDownloaded {
      color: #76a !important;
+     white-space: nowrap;
+     text-align: center !important;
 }
 
 .snarkTorrentUploaded {
@@ -349,31 +593,85 @@ td:first-child {
 .snarkTorrentOdd {
      background: #351933;
      font-size: 7.5pt;
-     border: 0px inset #101 !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
 }
 
-.snarkTorrentOdd td, .snarkTorrentEven td {
-     border-top: 1px dotted #313 !important;
+.snarkTorrentEven {
+     font-size: 7.5pt;
+     background: #270027;
+}
+
+.snarkTorrents tr, .snarkTorrents td {
+     border-top: 1px solid #202 !important;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(even), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(even) {
+     background: #303;
+     background: linear-gradient(to right, #404, #404 5px, #313 5px, #404);
+     box-shadow: inset 0 0 1px 0 #212;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(odd), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(odd) {
+     background: #404;
+     background: linear-gradient(to right, #505, #505 5px, #313 5px, #505);
+     box-shadow: inset 0 0 1px 0 #212;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { /* prevents webkit from grad-filling every td */
+.snarkTorrentEven + .snarkTorrentEven:nth-child(even), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(even) {
+     background: #303;
+}
+.snarkTorrentEven + .snarkTorrentEven:nth-child(odd), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(odd) {
+     background: #404;
+}
+}
+
+.snarkTorrentEven + .snarkTorrentEven td:nth-child(2), .snarkTorrentOdd + .snarkTorrentOdd td:nth-child(2) {
+     text-align: left;
+     padding-left: 0;
+     color: #b9b !important;
+}
+
+.snarkTorrentEven + .snarkTorrentEven td:nth-child(2) tt, .snarkTorrentOdd + .snarkTorrentOdd td:nth-child(2) tt {
+     margin-left: -2px;
+     color: #cc0;
+}
+
+.snarkTorrentEven + .snarkTorrentEven td:nth-child(4), .snarkTorrentOdd + .snarkTorrentOdd td:nth-child(4) {
+     text-align: center !important;
+     font-variant: all-small-caps;
+}
+
+.snarkTorrentEven + .snarkTorrentEven td:nth-child(n+5), .snarkTorrentOdd + .snarkTorrentOdd td:nth-child(n+5) {
+     text-align: right !important;
+     font-variant: all-small-caps !important;
 }
 
 table.snarkTorrents tbody tr:hover, table.snarkDirInfo tbody tr:hover {
-     background: #382010 !important;
+     background: #58165e !important;
+     background: linear-gradient(to bottom, #58165e 0%, #4a0d56 100%) !important;
+     border-top: 1px solid #101 !important;
+     border-bottom: 1px solid #101 !important;
 }
 
-.snarkFileIcon {
-     width: 16px;
+table.snarkTorrents tbody tr:hover {
+     box-shadow: inset 0 1px 1px 0 #939;
+}
+
+table.snarkTorrents tbody tr:hover .snarkTorrentName, table.snarkDirInfo tbody tr:hover td .snarkFileName {
+     color: #fff !important;
 }
 
-td.snarkFileIcon:first-child {
+.snarkFileIcon {
+     width: 16px;
      text-align: center;
+     padding-left: 3px;
 }
 
 .snarkFileName {
-     padding: 4px 0px !important; 
+     padding: 4px 0 !important; 
      text-align: left !important;
      font-size: 7.5pt !important;
+     white-space: nowrap;
 }
 
 .snarkFileSize {
@@ -383,11 +681,22 @@ td.snarkFileIcon:first-child {
 }
 
 .snarkFileStatus {
-     padding: 4px 5px 4px 15px;
-     text-align: center;
+     padding: 2px 5px 2px 15px;
      font-style: italic;
      font-size: 7.5pt;
-     text-align: left;
+     text-align: left !important;
+     white-space: nowrap;
+     max-width: 250px;     
+     overflow: hidden;
+     text-overflow: ellipsis;
+}
+
+.snarkFileStatus img[src*="clock"] {
+     mix-blend-mode: normal !important;
+}
+
+.snarkFileStatus img, .snarkFileStatus img:hover {
+      opacity: 0.7;
 }
 
 .snarkTorrentETA {
@@ -398,21 +707,64 @@ td.snarkFileIcon:first-child {
 
 .snarkTorrentInfo img {
      max-height: 16px !important;
-     margin: 1px 2px 2px 10px !important;    
+     margin: 1px 2px 2px 4px !important;
+     filter: drop-shadow(0 0 1px #000);
+}
+
+.snarkTorrentInfo img:nth-child(n+2) {
+     margin-left: 8px !important;
+}
+
+.snarkTorrentInfo th {
+     text-align: left;
+     padding: 6px 0;
+}
+
+.snarkTorrentInfo th:first-child:not(old) {
+     background: url(images/file.png) 7px center no-repeat;
+     background-size: 14px 16px;
+}
+
+.snarkTorrentInfo tr:first-child {
+     background: linear-gradient(to bottom, #202 0%, #101 100%) !important;
 }
 
 .snarkTorrentInfo td {
      text-align: left !important;
-     padding: 2px 0 1px 1px !important;
+     padding: 3px 2px !important;
+     vertical-align: middle !important;
+}
+
+.snarkTorrentInfo td:first-child {
+     width: 20px;
+}
+
+.snarkTorrentInfo tr:nth-child(odd) {
+     background: #351933;
 }
 
-table.SnarkTorrentInfo {
-     margin-bottom: 3 !important;
-     background: #000;    
+.snarkTorrentInfo tr:last-child td {
+     padding: 8px 3px !important;
+     text-align: right !important;
+     border-top: 1px solid #101;
+}
+
+.snarkTorrentInfo tr:last-child td b {
+     float: left;
+}
+
+.snarkTorrentInfo tr:last-child input {
+     margin: 0 2px ;
+}
+
+table.SnarkTorrentInfo, table.snarkDirInfo {
+     margin: 0 !important;
+     border: 1px solid #101;
+     background: #270027;
 }
 
 table.SnarkDirInfo {
-     margin-top: -2px !important;     
+     margin-top: -2px !important;
 }
 
 .snarkDirInfo thead img {
@@ -420,16 +772,32 @@ table.SnarkDirInfo {
      padding: 0 3px !important;
 }
 
-.SnarkDirInfo td, .SnarkDirInfo th {
-     min-width: 0px !important;     
+.snarkDirInfo img, .snarkTorrents img {
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
 }
 
-.SnarkDirInfo td:nth-child(n+1) {
+.snarkDirInfo td, .SnarkDirInfo th {
+     min-width: 0 !important;
+     border-bottom: 1px solid #202;
 }
 
-.SnarkDirInfo .headerpriority {
-     text-align: center !important;
-     vertical-align: middle;    
+.snarkDirInfo .snarkFileStatus img {
+     mix-blend-mode: luminosity;
+     opacity: 1;
+}
+
+.snarkDirInfo .headerpriority {
+     text-align: right !important;
+     vertical-align: middle;
+}
+
+.snarkDirInfo img[src$="priority.png"] {
+     margin-left: -110px !important;
+}
+
+.snarkFileicon:hover + .snarkFileName a {
+     color: #f90;
 }
 
 .choked {
@@ -445,8 +813,29 @@ table.SnarkDirInfo {
      max-width: 96px;
 }
 
-.snarkNewTorrent {
+div.snarkNewTorrent {
      font-size: 8pt;
+     margin-top: -1px;
+}
+
+.snarkNewTorrent td {
+     white-space: nowrap;
+}
+
+.snarkNewTorrent td:first-child, .snarkNewTorrent tr:first-child {
+     font-weight: bold;
+}
+
+table#trackerselect {
+     width: 100% !important;
+}
+
+#trackerselect td:first-child {
+     font-weight: normal;
+}
+
+#trackerselect td:nth-child(2), #trackerselect td:nth-child(3) {
+     max-width: 50px !important;
 }
 
 .snarkAddInfo {
@@ -455,19 +844,33 @@ table.SnarkDirInfo {
 }
 
 .snarkConfigTitle, label.toggleview {
-     font-size: 11pt;
+     font-size: 10.5pt;
      font-weight: bold;
-     padding: 0 25px 3px 25px;
+     padding: 1px 18px 2px;
      margin: 5px 0 10px 0 !important;
-     letter-spacing: 0.05em;
-     border: 1px solid #111;
-     -moz-border-radius: 0 0 5px 5px;
-     -khtml-border-radius: 0 0 5px 5px;
-     border-radius: 0 0 5px 5px;
-     border-top: 0;
-     text-shadow: 0px 3px 5px #323;
-     background: #101 url('/themes/snark/ubergine/images/snarknav.png') repeat-x scroll center center !important;
+     border: 1px solid #101;
+     border-top: none;
+     border-radius: 0;
+     background: #101 url(images/snarknav.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #4a3d49 0%, #3d303d 50%, #0d000d 50%, #0d000d 100%);
      font-variant: small-caps !important;
+     letter-spacing: 0.15em;
+     filter: drop-shadow(0 1px 1px rgba(16, 0, 16, 0.5));
+     -webkit-filter: drop-shadow(0 1px 1px rgba(16, 0, 16, 0.5));
+     color: #f7e3fc;
+     text-shadow: 0 0 1px #000;
+     box-shadow: inset 0 0 1px 0 #313;
+     display: inline-block;
+     margin: 0 0 -3px !important;
+     min-width: 200px;
+}
+
+.snarkConfigTitle img, label.toggleview img {
+     margin-right: -3px;
+     margin-bottom: 1px;
+     vertical-align: middle;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
 }
 
 .snarkConfig {
@@ -475,25 +878,6 @@ table.SnarkDirInfo {
      width: 100%;
 }
 
-.page {
-     background: #323 url('/themes/snark/ubergine/images/tile2.png');
-     color: #310;
-     min-width: 800px !important;
-     margin: 5px 0 0 0;
-     padding: 10px 10px 0px 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #101;
-     font-size: 8pt !important;
-     line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #002;
-     box-shadow: inset 0px 0px 1px 0px #002;
-     text-align: center;
-     opacity: 1;
-}
-
 form {
      margin-bottom: 0;
 }
@@ -503,43 +887,65 @@ p {
 }
 
 hr {
-     color: #444;
-     background: #444;
+     color: #212;
+     background: #212;
      height: 1px;
-     border: 0px solid #444;
+     border: 0 solid #212;
      width: 0%;
      margin: 5px 0 7px 0;
      text-align: center;
 }
 
+hr.debug {
+     width: 100%;
+}
+
+hr.debug + b {
+     color: #ee9;
+     text-transform: uppercase;
+}
+
+hr.debug:nth-child(n+7) {
+     margin-top: -11px;
+     margin-bottom: 2px;
+     opacity: 0.5;
+}
+
 a:link {
      color: #f70;
      text-decoration: none;
      font-weight: bold;
      word-wrap: break-word;
+     outline: none;
 }
 
 a:visited {
      color: #f50;
      text-decoration: none;
-     font-weight: bold;
 }
 
-a:hover {
+a:hover, a:focus {
      color: #f90;
-     font-weight: bold;
 }
 
-a.control, a.controld {
+a:active {
+     color: #f30;
+}
+
+a.control, a.controld, a.control:active {
      background: #989;
+     background: linear-gradient(to bottom, #989 0%, #878 100%);
      border: 1px inset #bbb;
-     border-radius: 4px;
-     color: #000;
+     border-radius: 2px;
+     color: #1c081e;
      font-weight: bold;
-     margin: 2px 4px;
-     padding: 3px 4px;	
-     text-shadow: 0px 0px #410;
+     margin: 5px 2px !important;
+     padding: 4px 6px 4px 4px;	
+     text-shadow: 0 0 #410;
      white-space: nowrap;
+     min-height: 22px;
+     filter: drop-shadow(0 0 1px #313) !important;
+     -webkit-filter: drop-shadow(0 0 1px #313) !important;
 }
 
 a.controld {
@@ -547,21 +953,50 @@ a.controld {
      font-weight: normal;
 }
 
+a.control img {
+     margin: -2px 0 0 -4px !important;
+     padding: 0;
+}
+
+a.control:hover img, a.control:focus img {
+     mix-blend-mode: luminosity;
+}
+
+a.control:active img {
+     mix-blend-mode: soft-light;
+}
+
 a.controld img {
      display: none;
 }
 
-a.control:hover {
-     background-color: #f60;
-     border: 1px outset #bbb;
-     color: #fff;
-     text-shadow: 0px 1px 5px #f00;
+a.control:active, input[type="submit"]:active, input[type="reset"]:active {
+     color: #ce1641 !important;
+     border: 1px solid #fff !important;
+}
+
+.snarkDirInfo tr:last-child {
+     border-top: 1px solid transparent;
+}
+
+th.headerpriority {
+     padding: 5px !important;
+     text-align: right !important;
+}
+
+th.headerpriority br {
+     display: none;
+}
+
+/*
+th.headerstatus {
+     padding-left: 100px;
 }
+*/
 
-a.control:active {
-     background: #000 !important;
-     color: #f60 !important;
-     text-shadow: 0 !important;
+input, a.control {
+     font: 8pt "Droid Sans", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font-weight: bold;
 }
 
 input {
@@ -569,63 +1004,165 @@ input {
      font-weight: bold;
      text-align: left;
      padding: 3px 4px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px inset #000;
-     background: #212 url('/themes/snark/ubergine/images/graytile.png');	 
+     border-radius: 2px;
+     border: 1px solid #101;
+     background: #212 url(images/graytile.png);	 
      color: #f60;
      margin: 2px 4px;
 }
 
 input.r {
      text-align: right;
-     background: url('/themes/snark/ubergine/images/graytile.png');
+     background: url(images/graytile.png);
+     font-family: "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
 }
 
 input[type=submit] {
-     text-shadow: 0px 0px #410;
-     color: #000;
+     color: #1c081e;
      background: #989;
+     background: linear-gradient(to bottom, #989 0%, #878 100%);     
      border: 1px inset #bbb;
-     padding: 2px;
+     padding: 4px 2px !important;
+     filter: drop-shadow(0 0 1px #313);
+     -webkit-filter: drop-shadow(0 0 1px #313);
 }
 
-input[type=submit]:hover {
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     border: none;
+     outline: none;
+}
+
+input[type=submit]:hover, input[type=submit]:focus, a.control:hover, a.control:focus {
+     background-blend-mode: luminosity;
      border: 1px outset #bbb;
-     text-shadow: 0 0;	 
-     background-color: #f60;
      color: #fff;
-     text-shadow: 0px 1px 5px #f00;
+     filter: drop-shadow(0 0 1px #515) !important;
+     -webkit-filter: drop-shadow(0 0 1px #515) !important;
+}
+
+input[type=submit]:focus, a.control:focus {
+     filter: drop-shadow(0 0 2px #f60) !important;
+     -webkit-filter: drop-shadow(0 0 2px #f60) !important;
 }
 
-input[type=submit]:active {
-     background: #000 !important;
-     color: #f60 !important;
-     text-shadow: 0 !important;
+input[type=submit]:active, a.control:active {
+     background-blend-mode: soft-light;
+     color: #2e134c !important;
+     filter: drop-shadow(0 0 1px #f60) sepia(100%) invert(100%) !important;
+     -webkit-filter: drop-shadow(0 0 1px #f60) sepia(100%) invert(100%) !important;
+     mix-blend-mode: hard-light;
 }
 
 input[type=image], thead img {
      padding: 0 !important;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 0px;
-     border-radius: 0px;
-     border: medium none;
+     border-radius: 3px;
+     border: 1px solid transparent;
      margin: 0 2px;
      opacity: 0.8;
+     background: none;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+     outline: none;
+}
+
+input[type=image]:hover, input[type=image]:focus {
+     border: 1px solid #f60;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     opacity: 1;
+}
+
+a img {
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+     outline: none;
+}
+
+a img:hover, a img:focus, a:focus img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
 thead img.disable, img.disable:hover {
-     opacity: 0.2;
+     opacity: 0.3;
+}
+
+thead img:hover, thead img:focus, thead a:hover img, thead a:focus img {
+     opacity: 1;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     border: 1px solid transparent;
 }
 
-input[type=image]:hover, thead img:hover {
+thead a:active img {
+     filter: drop-shadow(0 0 1px #f90) !important;
+     -webkit-filter: drop-shadow(0 0 1px #f90) !important;
+}
+
+input[type="submit"]:disabled:active, a.control:disabled:active {
+      filter: drop-shadow(0 0 1px #101);
+     -webkit-filter: drop-shadow(0 0 1px #101);    
+} 
+
+#pagenav {
+     letter-spacing: 0.1em;
+}
+
+#pagenav img:not(old) {
+     border: 1px solid #dad !important;
+     background: #fdf;
+     background: linear-gradient(to bottom, #fdf 0%, #fdf 50%, #dbd 51%);
+     border-radius: 3px;
+     box-shadow: inset 0 0 1px 1px #fff;
+     padding: 3px 4px !important;
+     margin: 0;
+     transform: scale(+1, -1);
+     mix-blend-mode: luminosity;
      opacity: 1;
+     width: 12px;
 }
 
-input[type=text]:active, input[type=text]:hover, input.r:hover {
+#pagenav img, #pagenav img.disable:hover:not(old) {
+     filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #000);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #000);
+     box-shadow: inset 0 0 1px 1px #fff;
+}
+
+#pagenav img:hover, #pagenav a:focus img, #pagenav a img:active {
+     filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #f60);
+     box-shadow: none;
+     opacity: 1;
+     mix-blend-mode: normal;
+}
+
+#pagenav img.disable, #pagenav img.disable:hover, #pagenav img.disable:active {
+     margin: 0 3px 0 2px;
+     opacity: 0.3 !important;
+     mix-blend-mode: luminosity;
+}
+
+#pagenav a img:active, #pagenav img:active {
+     box-shadow: inset 1px -1px 3px 1px #fff !important;
+     filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #000) !important;
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(140%) drop-shadow(0 0 1px #000) !important;
+}
+
+input[type="text"], input.r, input[name="nofilter_dataDir"] {
+     padding: 4px !important;
+     font-family: "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     box-shadow: inset 1px 1px 2px 1px #101;
+     letter-spacing: 0.03em;
+     background: url(images/graytile.png) #212;
+     background-size: 96px 96px;
+}
+
+input[type=text]:active, input[type=text]:focus, input.r:focus, input[name="nofilter_dataDir"]:focus, textarea:focus {
      background: #d60;
+     background: linear-gradient(to bottom, #d60, #c50);
      color: #fff;
+     box-shadow: none;     
 }
 
 input[type=radio] {
@@ -634,92 +1171,218 @@ input[type=radio] {
      vertical-align: bottom;
 }
 
-input.default { width: 1px; height: 1px; visibility: hidden; }
+input[type="radio"], input[type="checkbox"] {
+     filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(80%);
+     -webkit-filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(80%);
+     min-width: 16px !important;
+     min-height: 16px !important;
+     vertical-align: middle;
+}
 
-input.disabled, input.disabled:hover {
-     background-color: #989;
-     border: 1px inset #bbb;
-     color: #444;
+input[type="radio"]:hover, input[type="checkbox"]:hover, input[type="radio"]:focus, input[type="checkbox"]:focus {
+     filter: sepia(100%) invert(100%) hue-rotate(58deg) brightness(80%) drop-shadow(0 0 1px #f60) !important;
+}
+
+input[type="radio"], input[type="checkbox"], select, input[type="submit"] {
+     cursor: pointer;
+}
+
+input[type=text], input.r, select {
+     min-width: 110px;
+}
+
+input[name="upBW"] + i { /* fix Russian wrapping issue */
+     white-space: nowrap;
+}
+
+input.default {
+     width: 1px; 
+     height: 1px; 
+     visibility: hidden;
+}
+
+input.disabled, input.disabled:hover, input.disabled:active, a.control.disabled:hover, a.control.disabled:active {
+     color: #444 !important;
      font-weight: normal;
-     text-shadow: 0px 0px 0px #444;
+     border: 1px inset #bbb !important;
+     cursor: not-allowed;
 }
 
-input.accept {
-     background: #989 url('../../console/images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.accept, input.accept:active {
+     background: #989 url(images/accept.png) no-repeat 2px center;
+     background: url(images/accept.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.add {
-     background: #989 url('../../console/images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.accept:hover, input.accept:focus {
+     background: #767 url(images/accept.png) no-repeat 2px center;
+     background: url(images/accept.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.add, input.add:active {
+     background: #989 url(images/add.png) no-repeat 2px center;
+     background: url(images/add.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.cancel {
-     background: #989 url('../../console/images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.add:hover, input.add:focus {
+     background: #767 url(images/add.png) no-repeat 2px center;
+     background: url(images/add.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.cancel, input.cancel:active {
+     background: #989 url(images/cancel.png) no-repeat 2px center;
+     background: url(images/cancel.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.create {
-     background: #989 url('images/create.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.cancel:hover, input.cancel:focus {
+     background: #767 url(images/cancel.png) no-repeat 2px center;
+     background: url(images/cancel.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);    
+}
+
+input.create, input.create:active {
+     background: #989 url(images/create.png) no-repeat 2px center;
+     background: url(images/create.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.delete {
-     background: #989 url('../../console/images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.create:hover, input.create:focus {
+     background: #767 url(images/create.png) no-repeat 2px center;
+     background: url(images/create.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.delete, input.delete:active {
+     background: #989 url(images/nuke.png) no-repeat 2px center;
+     background: url(images/nuke.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.reload {
-     background: #989 url('../../console/images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.delete:hover, input.delete:focus {
+     background: #767 url(images/nuke.png) no-repeat 2px center;
+     background: url(images/nuke.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.reload, input.reload:active {
+     background: #989 url(images/restore.png) no-repeat 2px center;
+     background: url(images/restore.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.starttorrent {
-     background: #989 url('images/start.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.reload:hover, input.reload:focus {
+     background: #767 url(images/restore.png) no-repeat 2px center;
+     background: url(images/restore.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.reload[name="recheck"], input.reload[name="recheck"]:active {
+     background: #989 url(images/recheck.png) no-repeat 2px center;
+     background: url(images/recheck.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
-input.stoptorrent {
-     background: #989 url('images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+input.reload[name="recheck"]:hover, input.reload[name="recheck"]:focus {
+     background: #767 url(images/recheck.png) no-repeat 2px center;
+     background: url(images/recheck.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.starttorrent, input.starttorrent:active {
+     background: #989 url(images/next.png) no-repeat 2px center;
+     background: url(images/next.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
+     min-height: 22px;
+}
+
+input.starttorrent:hover, input.starttorrent:focus {
+     background: #767 url(images/next.png) no-repeat 2px center;
+     background: url(images/next.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+input.stoptorrent, input.stoptorrent:active {
+     background: #989 url(images/btn_stop.png) no-repeat 2px center;
+     background: url(images/btn_stop.png) no-repeat 2px center, linear-gradient(to bottom, #989 0%, #878 100%);
+     padding: 4px 3px 4px 18px !important;
      min-height: 22px;
 }
 
+input.stoptorrent:hover, input.stoptorrent:focus {
+     background: #767 url(images/btn_stop.png) no-repeat 2px center;
+     background: url(images/btn_stop.png) no-repeat 2px center, linear-gradient(to bottom, #767 0%, #989 100%);
+}
+
+.configsectionpanel tr:nth-last-child(2) td {
+     text-align: right !important;
+     border-top: 1px solid #101;
+     padding-top: 10px;
+}
+
 select {
-     background: #333;
-     background: url('/themes/snark/ubergine/images/graytile.png') !important;
+     background: #212 !important;
+     background: #212 url(images/graytile.png) !important;
+     background: url(images/dropdown.png) right center no-repeat, url(images/graytile.png) #212 !important;
+     background-size: 17px 17px, 96px 96px !important;
      color: #f60;
-     font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     font: 8pt "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
      font-weight: bold;
-     padding: 2px 2px 2px 3px;
-     -moz-border-radius: 4px 0 0 4px;
-     -khtml-border-radius: 4px 0 0 4px;
-     border-radius: 4px 0 0 4px;
+     padding: 2px 18px 2px 1px;
+     border-radius: 2px;
      border: 1px solid #000;
+     margin: 2px;
+     -webkit-appearance:none;
+     -moz-appearance: none;
+     box-shadow: inset 1px 1px 2px 1px #101;
 }
 
-select:hover, textarea:hover {
+select:hover, select:focus, select:active  {
      background: #f60 !important;
+     background: #f60 url(images/dropdown_hover.png) right center no-repeat !important;
      color: #fff !important;
+     outline: none;
+     box-shadow: none;
+     background-blend-mode: luminosity;
+}
+
+select + select {
+     margin-left: -20px !important;
+}
+
+select option {
+     background: #f50;
+     color: #fff;
+     font-size: 8.5pt;
+     font-weight: normal;
+     box-shadow: inset 0 0 20px 20px #f50;
+     padding: 1px 2px 1px 1px;
+}
+
+select option:hover {
+     box-shadow: inset 0 0 20px 20px #212;
+     filter: drop-shadow(0 0 1px rgba(255,255,255,0.5));
+     filter: drop-shadow(0 0 1px rgba(0,0,0,0.5));
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { /* adjust dropdown padding in webkit */
+select {
+     padding: 4px 18px 4px 4px;
+}
 }
 
 textarea {
-     background: #111 url('/themes/snark/ubergine/images/graytile.png');
+     background: #212 url(images/graytile.png);
+     background-size: 96px 96px;
      color: #f60;
      font-weight: bold;
-     padding: 1px 4px 0px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px inset #000;
+     padding: 1px 4px 0;
+     border-radius: 2px;
+     border: 1px solid #000;
      font-size: 8pt;
+     box-shadow: inset 1px 1px 2px 1px #101;
 }
 
 img {
@@ -736,10 +1399,19 @@ img:hover {
      line-height: 100%;
 }
 
+img.thumb { /* consistent size for thumbnail images in file manifest */
+      width: 16px;
+      border-radius: 1px;
+}
+
+img[src$="magnet.png"] {
+     transform: rotate(-90deg);
+}
+
 .infoz {
      margin: 0 -1px 0 0 !important;
      padding: 0 !important;
-     lineheight: 100%;
+     line-height: 100%;
      float: left;
 }
 
@@ -752,102 +1424,145 @@ img:hover {
      opacity: 1 !important;
 }
 
-
-div.section,div.mainsection {
+.section, .mainsection {
      margin: 0 0 10px 0;
      padding: 10px;
      border: 1px solid #001;
      color: #001;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
+     box-shadow: inset 0 0 3px 0 #101;
      word-wrap: break-word;
      text-align: center;
      background: #545;
+     background: linear-gradient(to bottom, #545 0%, #434 100%);
      opacity: 1 !important;
+     filter: drop-shadow(0 0 1px #515);
+     -webkit-filter: drop-shadow(0 0 1px #515);
+     overflow: auto;
 }
 
-div.newtorrentsection {
+.newtorrentsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 0px 10px;
+     padding: 0 10px 0 10px;
      border: 1px solid #001;
      text-align: center;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 3px 0 #101;
      word-wrap: break-word;
-     background: #545 url('/themes/snark/ubergine/images/snark_create.png') no-repeat scroll right center;
+     background: #545 url(images/snark_create.png) no-repeat scroll right center;
+     background: url(images/snark_create.png) no-repeat scroll right center, linear-gradient(to bottom, #545 0%, #434 100%);
+     background-size: 80px 80px, 100% 100%;
      opacity: 1.0;
+     filter: drop-shadow(0 0 1px #515);
+     -webkit-filter: drop-shadow(0 0 1px #515);
 }
 
-div.addtorrentsection {
+.addtorrentsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 0px 10px;
+     padding: 0 10px 0 10px;
      border: 1px solid #001;
      text-align: center;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 3px 0 #101;
      word-wrap: break-word;
-     background: #545 url('/themes/snark/ubergine/images/snark_add.png') no-repeat scroll right center;
+     background: #545 url(images/snark_add.png) no-repeat scroll right center;
+     background: url(images/snark_add.png) no-repeat scroll 99% center, linear-gradient(to bottom, #545 0%, #434 100%);
+     background-size: 61px 61px, 100% 100%;
      opacity: 1.0;
+     filter: drop-shadow(0 0 1px #515);
+     -webkit-filter: drop-shadow(0 0 1px #515);
 }
 
-div.configsection {
+.configsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 15px 10px;
+     padding: 0 10px 13px 10px;
      border: 1px solid #000;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 3px 0 #101;
      word-wrap: break-word;
      text-align: center;
-     background: #545;
+     background: #545 url(images/configuration.png) no-repeat scroll 101% center;
+     background: url(images/configuration.png) no-repeat scroll 101.5% center, linear-gradient(to bottom, #545 0%, #434 100%);
+     background-size: 84px 82px, 100% 100%;
      font-weight: bold;
+     filter: drop-shadow(0 0 1px #515);
+     -webkit-filter: drop-shadow(0 0 1px #515);
 }
 
-div.configsectionpanel {
+.configsectionpanel {
      margin: 0 0 10px 0;
      padding: 0 10px;
      border: 1px solid #000;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #101;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #101;
-     box-shadow: inset 0px 0px 1px 0px #101;
+     box-shadow: inset 0 0 3px 0 #101;     
      word-wrap: break-word;
      text-align: center;
-     background: #545 url('/themes/snark/ubergine/images/configuration.png') no-repeat scroll right center;
+     background: #545 url(images/configuration.png) no-repeat scroll right center;
+     background: url(images/configuration.png) no-repeat scroll right center, linear-gradient(to bottom, #545 0%, #434 100%);
+     background-size: 84px 82px, 100% 100%;
      font-weight: bold;
+     filter: drop-shadow(0 0 1px #515);
+     -webkit-filter: drop-shadow(0 0 1px #515);
+}
+
+.iframed .mainsection, .iframed .newtorrentsection, .iframed .addtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+     border-radius: 0;
+     box-shadow: inset 0 0 1px 0 #ffeffd;
+     filter: none;
+}
+
+.iframed .newtorrentsection, .iframed .addtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+     margin-top: -11px;
+}
+
+.addtorrentsection td:first-child, .newtorrentsection td:first-child {
+     width: 200px; 
+}
+
+.addtorrentsection input[type="text"], .newtorrentsection input[type="text"] {
+     width: 80%;
+}
+
+.configsectionpanel input[type="text"], .configsectionpanel select, .configsectionpanel input.r, .configsectionpanel input[name="nofilter_dataDir"] {
+     margin-left: 0;
+     font-size: 8pt;
+}
+
+.configsectionpanel input[name="nofilter_dataDir"], .configsectionpanel textarea {
+     width: 550px;
+}
+
+.configsectionpanel textarea {
+     resize: none;
+     height: 24px;
+     padding: 4px 4px 2px;
+}
+
+.configsectionpanel input[type="checkbox"] {
+     margin-left: 0;
+}
+
+.configsectionpanel tr:last-child {
+     display: none;
 }
 
 .newtorrentsection form, .configsection form, .addtorrentsection form {
      color: #ddd !important;
+     margin-top: 1px;
 }
 
-div.configsection table{
+div.configsection table {
      color: #ffb;
      opacity: 1;
 }
 
-div.configsection a {
+div.configsection a, label.toggleview {
      color: #f60;
-     text-shadow: 1px 1px #500;
+     text-shadow: 0 0 1px #000;
 }
 
 div.configsection a:hover {
@@ -856,39 +1571,12 @@ div.configsection a:hover {
 }
 
 code {
-     font-size: 9pt;
+     font-size: 8pt;
      color: #b8b;
      padding: 0 2px;
      font-weight: bold;
      font-family: "Lucida Console", "DejaVu Sans Mono", Courier, mono;
 }
-.snarknavbar {
-     margin: -10px 0 5px 0 !important;
-     padding: 11px 10px 12px;
-     border: 1px solid #101;
-     -moz-border-radius: 0 0 8px 8px;
-     -khtml-border-radius: 0 0 8px 8px;
-     border-radius: 0 0 8px 8px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #002;
-     box-shadow: inset 0px 0px 1px 0px #002;
-     background: #101 url('/themes/snark/ubergine/images/snarktopnav.png') repeat-x scroll center center;
-     text-transform: uppercase !important;
-     letter-spacing: 0.065em !important;
-     font-weight: bold;
-     font-size: 11.5pt;
-     color: #001;
-     min-width: 700px;
-     width: 70%;
-     text-align: center;
- }
-
- .snarknavbar img {
-     border: 0;
-     margin: 0 -6px 0 -2px;
-     padding: 1px 0 0px !important;
-     vertical-align: top;
-}
 
 .routerdown {
      color: #ee9;
@@ -896,6 +1584,28 @@ code {
 
 .trackerconfig {
      text-align: left !important;
+     border-collapse: separate;
+     border-spacing: 0;
+}
+
+.trackerconfig th:first-child {
+     border-radius: 2px 0 0 2px;
+}
+
+.trackerconfig th:last-child {
+     border-radius: 0 2px 2px 0;
+}
+
+.trackerconfig th {
+     background: linear-gradient(to bottom, #313 0%, #313 50%, #212 51%, #101 100%);
+}
+
+.trackerconfig th:first-child {
+     border-left: 1px solid #101;
+}
+
+.trackerconfig th:last-child {
+     border-right: 1px solid #101;
 }
 
 .trackerconfig th:nth-child(n+4), .trackerconfig th:nth-child(n+5), .trackerconfig td:nth-child(n+4), .trackerconfig td:nth-child(n+5) {
@@ -925,5 +1635,61 @@ input.trackerannounce {
 /* toggle create/add panel view */
 
 input.toggle_input { /* hide checkbox and use label as faux panel heading */
+     display: none !important;
+}
+
+label.toggleview:hover {
+     color: #f90;
+     cursor: pointer;
+}
+
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: none;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+/* enable to display panels by default on broken webkit based browsers (midori fix) */
+/* note that midori has other issues c. v5.10, best avoided */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) { 
+input#toggle_addtorrent:not(checked) + label + hr + table, input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+input#toggle_addtorrent:checked + label + hr + table, input#toggle_createtorrent:checked + label + hr + table {
      display: none;
 }
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+
+.iframed input#toggle_addtorrent:not(checked) + label + hr + table, .iframed input#toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed input#toggle_addtorrent:checked + label + hr + table, .iframed input#toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+
+label.toggleview, .snarkConfigTitle a:visited {
+     color: #f60;
+}
+
+label.toggleview:active, .snarkConfigTitle a:active {
+     color: #f30 !important;
+}
+
+label.toggleview img:hover, label.toggleview:hover img, .snarkConfigTitle a:hover img {
+     color: #f90;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+label.toggleview img:active, label.toggleview:active img, .snarkConfigTitle a:active img {
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
diff --git a/installer/resources/themes/snark/vanilla/images/accept.png b/installer/resources/themes/snark/vanilla/images/accept.png
new file mode 100644
index 0000000000000000000000000000000000000000..719e39151bbdcb581c0e096459bfc964fdc202c1
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/accept.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/btn_stop.png b/installer/resources/themes/snark/vanilla/images/btn_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdaeb855ae006cf6d123d3ee5a7df3ac1d6b8263
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/btn_stop.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/bullet.png b/installer/resources/themes/snark/vanilla/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0cb50e68783b6f4b42e5c67139f78f78137676d
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/bullet.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_forum.png b/installer/resources/themes/snark/vanilla/images/button_forum.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdbb042891a265f92e1e55f1f29701829cd0682c
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_forum.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_forum_active.png b/installer/resources/themes/snark/vanilla/images/button_forum_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c954567730dfdcc8cc7cc0162778088176eaaba
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_forum_active.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_forum_hover.png b/installer/resources/themes/snark/vanilla/images/button_forum_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdd6bf265347aa6190bd26f581d5ea9b70efde16
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_forum_hover.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_snark.png b/installer/resources/themes/snark/vanilla/images/button_snark.png
new file mode 100644
index 0000000000000000000000000000000000000000..f193e53c0305d72edc9b9839fe9629d060c63e24
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_snark.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_snark_active.png b/installer/resources/themes/snark/vanilla/images/button_snark_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4568bf653568ff10b27aaf4ec0f7c430f0b0c2c9
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_snark_active.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_snark_hover.png b/installer/resources/themes/snark/vanilla/images/button_snark_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb8aad6ec7fa3b332f2c0830aecf64d8df84c540
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_snark_hover.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_tracker.png b/installer/resources/themes/snark/vanilla/images/button_tracker.png
new file mode 100644
index 0000000000000000000000000000000000000000..053b7d0f42a7e6ea212c7ecdca6205413aaeb70c
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_tracker.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_tracker_active.png b/installer/resources/themes/snark/vanilla/images/button_tracker_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..5284afb54c1ea0f0fbe8f3c6c7774e2a50982f81
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_tracker_active.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/button_tracker_hover.png b/installer/resources/themes/snark/vanilla/images/button_tracker_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1f553707a0504fae9e2ea3d7dca15d4464be338
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/button_tracker_hover.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/config.png b/installer/resources/themes/snark/vanilla/images/config.png
index 565a9330e0a156dff5bed2c9fad8c95a44344ba4..8151463917ec88ca0962a5bfefb9f11c9122bff8 100644
Binary files a/installer/resources/themes/snark/vanilla/images/config.png and b/installer/resources/themes/snark/vanilla/images/config.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/configuration.png b/installer/resources/themes/snark/vanilla/images/configuration.png
new file mode 100644
index 0000000000000000000000000000000000000000..43a443b513766f0d35cb5efdad5aef2e2fcf777e
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/configuration.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/delete.png b/installer/resources/themes/snark/vanilla/images/delete.png
index 1f09b34c5d59595d2a99749e9cff498c01477ed7..fa0ac30cf7e800bc937eb781518c47085146873c 100644
Binary files a/installer/resources/themes/snark/vanilla/images/delete.png and b/installer/resources/themes/snark/vanilla/images/delete.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/dropdown.png b/installer/resources/themes/snark/vanilla/images/dropdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec983e14ae70dcf0f3a7f64ec47f533d55a8e7f5
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/dropdown.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/dropdown_hover.png b/installer/resources/themes/snark/vanilla/images/dropdown_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffcca9c9b867994cf27dcac5df46d0928fef47c5
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/dropdown_hover.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/first.png b/installer/resources/themes/snark/vanilla/images/first.png
index 15d1584bdbb2c26a9fc4c8269aa54615a58a4657..a6930a18d555b9c2aa13b9b7e324195e226759de 100644
Binary files a/installer/resources/themes/snark/vanilla/images/first.png and b/installer/resources/themes/snark/vanilla/images/first.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/graytile.png b/installer/resources/themes/snark/vanilla/images/graytile.png
index e2c7bb725629541967260689f2cac114188f4b55..f06c3da47f16f0a1cbd7ebbe6c90881392ef44a9 100644
Binary files a/installer/resources/themes/snark/vanilla/images/graytile.png and b/installer/resources/themes/snark/vanilla/images/graytile.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/last.png b/installer/resources/themes/snark/vanilla/images/last.png
index 4a2f9d4e4a81857f509d85bbe46936c99709cd6f..8c63819768ce58593504715f5ab0aff426eb47d8 100644
Binary files a/installer/resources/themes/snark/vanilla/images/last.png and b/installer/resources/themes/snark/vanilla/images/last.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/next.png b/installer/resources/themes/snark/vanilla/images/next.png
index f8c8ec683edd6a974eacc253332f903d643dbe41..195a9d707b853c9fc591a518bdd0cbb6e450d115 100644
Binary files a/installer/resources/themes/snark/vanilla/images/next.png and b/installer/resources/themes/snark/vanilla/images/next.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/nuke.png b/installer/resources/themes/snark/vanilla/images/nuke.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0d4b0201b9fc3f6f6da0c9b888822eafaac8414
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/nuke.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/previous.png b/installer/resources/themes/snark/vanilla/images/previous.png
index 7b3f9e6fde420cb3f9454c692bc69b1d39efa280..79558ab1e169a38795bf6fa6c96c51ec63e36c9b 100644
Binary files a/installer/resources/themes/snark/vanilla/images/previous.png and b/installer/resources/themes/snark/vanilla/images/previous.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/recheck.png b/installer/resources/themes/snark/vanilla/images/recheck.png
new file mode 100644
index 0000000000000000000000000000000000000000..c932759e7fa7f4ac473db118c8808544daf06cf2
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/recheck.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/remove.png b/installer/resources/themes/snark/vanilla/images/remove.png
index de3a4adda83d33facd07b405c4a2811bdc73928f..c7f2f76f0b7432b82e10aa03c32119f5aeca4deb 100644
Binary files a/installer/resources/themes/snark/vanilla/images/remove.png and b/installer/resources/themes/snark/vanilla/images/remove.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/restore.png b/installer/resources/themes/snark/vanilla/images/restore.png
new file mode 100644
index 0000000000000000000000000000000000000000..e55a304d632a7f4a67f49b35a8eb5c5c5b63d4ef
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/restore.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/start.png b/installer/resources/themes/snark/vanilla/images/start.png
index 215d614f8c62c2c093993907299930f18deb4b0d..28d97b73db19cc5dc61975ec0b592206922b4b2f 100644
Binary files a/installer/resources/themes/snark/vanilla/images/start.png and b/installer/resources/themes/snark/vanilla/images/start.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/start_all.png b/installer/resources/themes/snark/vanilla/images/start_all.png
index 3434f8ce6b6e39f362b7defbfeb228c3b1d4039b..003c7fd0cb86c6ecf7bffe40f5c2cba08987dec6 100644
Binary files a/installer/resources/themes/snark/vanilla/images/start_all.png and b/installer/resources/themes/snark/vanilla/images/start_all.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/stop.png b/installer/resources/themes/snark/vanilla/images/stop.png
index 6503c5f15dd3360ae5476d0d6960ab3d1c4456a7..6442358ccbf3dc47d06e20e8afe75207c08a440b 100644
Binary files a/installer/resources/themes/snark/vanilla/images/stop.png and b/installer/resources/themes/snark/vanilla/images/stop.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/stop_all.png b/installer/resources/themes/snark/vanilla/images/stop_all.png
index ef5f095222cfd838f4447f2a31bcd0a7031d549f..41827aef252362e2682886063d1d0f076c1b4be8 100644
Binary files a/installer/resources/themes/snark/vanilla/images/stop_all.png and b/installer/resources/themes/snark/vanilla/images/stop_all.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/tile.png b/installer/resources/themes/snark/vanilla/images/tile.png
new file mode 100644
index 0000000000000000000000000000000000000000..242e011e52186d9145a4c5892aad9467babb7234
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/tile.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/torrent.png b/installer/resources/themes/snark/vanilla/images/torrent.png
index c0ec7d2b0434894ba28ea9436098cb391569bb5c..6befab9226d315fc2bb67219ad7844235e0454d7 100644
Binary files a/installer/resources/themes/snark/vanilla/images/torrent.png and b/installer/resources/themes/snark/vanilla/images/torrent.png differ
diff --git a/installer/resources/themes/snark/vanilla/images/torrent0.png b/installer/resources/themes/snark/vanilla/images/torrent0.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0ec7d2b0434894ba28ea9436098cb391569bb5c
Binary files /dev/null and b/installer/resources/themes/snark/vanilla/images/torrent0.png differ
diff --git a/installer/resources/themes/snark/vanilla/snark.css b/installer/resources/themes/snark/vanilla/snark.css
index 6f88e704bba01da917bdccf44fe653eaeaccc2c9..9de8ad725b43ad7d77d93c25a03ee82651c30b6f 100644
--- a/installer/resources/themes/snark/vanilla/snark.css
+++ b/installer/resources/themes/snark/vanilla/snark.css
@@ -1,115 +1,255 @@
 /* I2PSnark theme "Vanilla" by dr|z3d */
+/* Now with 100% more chocolate */
 
+html {
+     min-height: 100%;
+}
 
 body {
-     background: #eeb url('images/graytile.png');
-     color: #001;
-     font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     background: #2f231a;
+     background: linear-gradient(-45deg, #2f231a, #1f120c);
+     color: #2f1500;
+     font: 8pt "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     background-size: 3px 3px;
 }
 
 body.iframed {
-     background: transparent url('../../console/dark/images/transparent.gif') !important;
+     background: transparent url(../../console/dark/images/transparent.gif) !important;
      margin: 6px 0 !important;
 }
 
+* {
+     outline: none;
+}
+
+*:focus {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.page {
+     background: #f1f2e4 url(images/tile2.png);
+     background: linear-gradient(to bottom, rgba(239,239,239,0.6) 0%, rgba(207,199,194,0.6) 100%), #f1f2e4 url('images/tile2.png');
+     color: #310;
+     min-width: 900px !important;
+     margin: 5px 0 0 0;
+     padding: 10px 10px 0 10px;
+     border-radius: 2px;
+     border: 1px solid #101;
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     box-shadow: inset 0 0 3px 0 #a08160, 0 0 1px 0 #4f3d36;
+     text-align: center;
+     opacity: 1;
+}
+
+.iframed .page {
+     background: none;
+     border: none;
+     box-shadow: none;
+     padding: 0;
+}
+
+/*
 .snarkTitle {
      font-size: 12pt;
      font-weight: bold;
      text-align: center;
 }
+*/
 
-.snarkRefresh:link,.snarkRefresh:visited {
-     text-decoration: none !important;
-     text-transform: uppercase !important;
-     padding: 4px 16px 5px !important;
-     margin: -5px -8px -5px 0 !important;
-     letter-spacing: 0.05em;
-     font-weight: bold;
-     font-size: 11pt;
-     color: #f60;
-     text-shadow: 0px 1px #303;
-     background: #fff url('images/bling.png') repeat-x scroll center center;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 3px;
-     border-radius: 0px;
-     -moz-box-shadow: inset 0 0 1px 0 #330;
-     -khtml-box-shadow: inset 0 0 1px 0 #330;
-     box-shadow: 0 0 1px 0 #330;
-     text-shadow: 0 0 0;
+.snarknavbar {
+     margin: -10px 0 9px 0 !important;
+     padding: 14px 10px 12px;
+     border: 1px solid #2f1b0c;
+     border-radius: 0 0 2px 2px;
+     box-shadow: inset 0 0 0 1px #fff, 0 0 1px 0 #4f3d36;
+     background: #efefef url('images/bling2.png') repeat-x scroll center center;
+     background: linear-gradient(to bottom, #efefef 0%, #efefef 51%, #cfc7c2 52%, #cfc7c2 100%);
+     min-width: 700px;
+     width: 70%;
+     text-align: center;
+     position: sticky;
+     top: -2px;
+     z-index: 999;
+ }
+
+.iframed .snarknavbar {
+     padding-top: 14px;
+     margin: -6px 0 !important;
+     width: auto;
+     border-radius: 0;
+     box-shadow: 0 0 2px 0 #fff inset, 0 0 1px 0 #4f3d36;
+}
 
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.snarknavbar {
+     padding-top: 16px;
+}
 }
 
-.snarkRefresh:hover {
+.snarkRefresh:link, .snarkRefresh:visited {
      text-decoration: none !important;
      text-transform: uppercase !important;
-     padding: 1px 16px;
-     letter-spacing: 0.05em;
+     padding: 5px 10px 5px 12px !important;
+     margin: -5px -2px -5px 0 !important;
+     letter-spacing: 0.08em;
      font-weight: bold;
-     font-size: 11pt;
-     color: #f50;
-     background: #fff url('images/bling2.png') repeat-x scroll center center;*/     -moz-border-radius: 0;
-     -khtml-border-radius: 0;
+     font-size: 10pt;
+     color: #930;
+     background: #fff7ef url('images/bling.png') repeat-x scroll center center;
+     background: linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
      border-radius: 0;
-     -moz-box-shadow: inset 0 0 1px 0 #330;
-     -khtml-box-shadow: inset 0 0 1px 0 #330;
-     box-shadow: 0 0 1px  #330;
-     text-shadow: 0 0 0;
+     border: 1px solid #efe6e0;
+     text-shadow: 0 0 1px #fff5ef;
+     box-shadow: inset 0 0 0 1px #efe6e0;
+     border: 1px solid #2f1b0c;
 }
 
-.snarkRefresh:active {
+.snarkRefresh:hover, .snarkRefresh:focus {
      text-decoration: none !important;
-     text-transform: uppercase !important;
-     padding: 0 16px;
-     letter-spacing: 0.05em;
-     font-weight: bold;
-     font-size: 11pt;
-     color: #fb0;
-     background: #eeb;
+     text-shadow: none;
+     color: #900;
+     color: #f60 !important;
+     background: #fff url('images/bling2.png') repeat-x scroll center center;
+     background: linear-gradient(to bottom, #ffeadf 0%, #ffeadf 51%, #cfb6a8 52%, #cfb6a8 100%);
+}
+
+.snarkRefresh:active {
+     color: #eee !important;
+     background: linear-gradient(to bottom, #dfb899 0%, #dfb899 50%, #af9178 50%, #af9178 100%);
+     text-shadow: none !important;
+     box-shadow: inset 1px 1px 2px 1px #3f362f;
+}
+
+.snarkRefresh:active img {
+     filter: sepia(100%) invert(50%) brightness(200%) !important;
+     -webkit-filter: sepia(100%) invert(50%) brightness(200%) !important;
+     opacity: 0.7;
+}
+
+.snarkRefresh:nth-child(2) {
+     background: url(images/button_forum.png) 12px center no-repeat, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+     padding: 5px 10px 5px 28px !important;
+}
+
+.snarkRefresh:nth-child(n+3) {
+     background: url(images/button_tracker.png) 12px center no-repeat, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+     padding: 5px 10px 5px 28px !important;
+}
+
+.snarkRefresh:nth-child(2):hover, .snarkRefresh:nth-child(2):focus {
+     background: url(images/button_forum_hover.png) 12px center no-repeat, linear-gradient(to bottom, #ffeadf 0%, #ffeadf 51%, #cfb6a8 52%, #cfb6a8 100%);
+     color: #f60;
+}
+
+.snarkRefresh:nth-child(n+3):hover, .snarkRefresh:nth-child(n+3):focus {
+     background: url(images/button_tracker_hover.png) 12px center no-repeat, linear-gradient(to bottom, #ffeadf 0%, #ffeadf 51%, #cfb6a8 52%, #cfb6a8 100%);
+     color: #f60;
+}
+
+.snarkRefresh:nth-child(2):active {
+     color: #eee;
+     background: url(images/button_forum_active.png) 12px center no-repeat, linear-gradient(to bottom, #dfb899 0%, #dfb899 50%, #af9178 50%, #af9178 100%);
+     text-shadow: none;
+}
+
+.snarkRefresh:nth-child(n+3):active {
+     color: #eee;
+     background: url(images/button_tracker_active.png) 12px center no-repeat, linear-gradient(to bottom, #dfb899 0%, #dfb899 50%, #af9178 50%, #af9178 100%);
+     background-blend-mode: normal;
+     text-shadow: none;
 }
 
 .snarkRefresh:last-child {
-     -moz-border-radius: 0 3px 3px 0px;
-     -khtml-border-radius: 0 3px 3px 0;
-     border-radius: 0 3px 3px 0;
-     -moz-box-shadow: inset 0 0 1px 0 #330;
-     -khtml-box-shadow: inset 0 0 1px 0 #330;
-     box-shadow: 0 0 1px 0 #330;
+     border-radius: 0 2px 2px 0;
 }
 
 .snarkRefresh:first-child {
-     -moz-border-radius: 3px 0 0 3px;
-     -khtml-border-radius: 3px 0 0 3px;
-     border-radius: 3px 0 0 3px;
-     -moz-box-shadow: inset 0 0 1px 0 #330;
-     -khtml-box-shadow: inset 0 0 1px 0 #330;
-     box-shadow: 0 0 1px 0  #330;
+     border-radius: 2px 0 0 2px;
+}
+
+.snarkRefresh:last-child[href="/i2psnark/"] {
+     border-radius: 2px;
+     margin: -5px 0 -2px !important;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) { /* button/bar alignment on config page */
+.iframed .snarknavbar {
+     padding-top: 16px;
+     margin-bottom: -6px !important;
+}
+
+.snarkRefresh:last-child[href="/i2psnark/"] {
+     margin: -5px 0 -3px !important;
+     display: inline-block;
+     padding: 4px 10px 4px 12px !important;
+}
+
+.iframed .snarkRefresh:last-child[href="/i2psnark/"] {
+     margin: -5px 0 -2px !important;
+}
 }
 
 .snarkRefresh img {
-     margin-right: -10px !important;
+     margin: 0 -10px 2px -2px !important;
+     filter: sepia(65%);
+     -webkit-filter: sepia(65%);
+     vertical-align: middle;
+}
+
+.snarkRefresh:hover img {
+     filter: none;
+     -webkit-filter: none;
 }
+
 .snarkMessages {
-     font: bold 8pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important;
+     font: bold 8pt "DejaVu Sans Mono", "Droid Sans Mono", "Lucida Console", Courier, mono !important;
      text-align: left;
-     margin: 0 0 10px 0;
-     padding: 3px 5px;
-     border-spacing: 0px;
-     -moz-border-radius: 4px 0 0 0;
-     -khtml-border-radius: 4px 0 0 0;
-     border-radius: 4px 0 0 0;
-     border: 1px solid #000;
-     overflow: auto;
-     color: #500;
-     max-height: 76px;
-     min-height: 45px;
+     margin: 0 0 10px;
+     padding: 0 3px;
+     border-spacing: 0;
+     border: 1px solid #6f533e;
+     border-radius: 2px;
+     box-shadow: inset 0 0 6px 0 #3f2307;
+     overflow-y: auto;
+     overflow-x: hidden;
+     color: #cfc7c2;
+     height: 56px;
      width: auto;
-     background: #eda url('/themes/snark/ubergine/images/hat.png') no-repeat scroll right center;
+     background: #3f3833 url('/themes/snark/ubergine/images/hat.png') no-repeat scroll right center;
+     background: url('/themes/snark/ubergine/images/hat.png') no-repeat scroll right center, linear-gradient(to bottom, #5f554d 0%, #3f3833 100%);
+     background-size: 80px 83px, 100% 100%;
 }
 
-.snarkMessages a:link {
-     color: #f60 !important;
+.snarkMessages:focus {
+     box-shadow: inset 0 0 6px 0 #3f2307, 0 0 1px #f60;
+}
+
+.snarkMessages ul {
+     margin: 0;
+     padding: 0 0 0 16px;
+     list-style: none;
+}
+
+.snarkMessages li {
+     margin-left: -15px;
+}
+
+.snarkMessages li::before {
+     content: '';
+     display: inline-block;
+     background: url(images/bullet.png)  left 2px no-repeat;
+     width: 13px;
+     height: 11px;
+     background-size: 9px 9px;
+}
+
+.snarkMessages a:link:not([href*="action=Clear"]) {
+     mix-blend-mode: exclusion;
 }
 
+/*
 .snarkMessages a:hover {
      color: #f90 !important;
 }
@@ -117,11 +257,7 @@ body.iframed {
 .snarkMessages a:visited {
      color: #d30 !important;
 }
-
-.snarkMessages ul {
-     margin: 0;
-     padding: 0 0 0 16px;
-}
+*/
 
 .snarkMessages p {
      font-style: italic;
@@ -131,8 +267,21 @@ body.iframed {
 
 .snarkMessages img {
      float: right;
-     margin: -3px -4px 4px 4px;
-     opacity: 0.8;
+     margin: -1px -3px 4px 4px;
+     opacity: 1 !important;
+     position: sticky;
+     top: -1px;
+     mix-blend-mode: luminosity;
+     background: #cfbda8;
+     padding: 2px 2px 1px;
+     width: 10px;
+     height: 10px;
+}
+
+.snarkMessages img:hover, .snarkMessages a:focus img {
+     mix-blend-mode: normal;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
 .logshim {
@@ -141,7 +290,7 @@ body.iframed {
 
 pre {
      width: 100%;
-     font: 8pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important;
+     font: 8pt "DejaVu Sans Mono", "Droid Sans Mono", "Lucida Console", Courier, mono !important;
      padding: 0;
      text-align: left !important;
      height: 8px;
@@ -150,10 +299,10 @@ pre {
 }
 
 table {
-     margin: 0px 0px 10px 0px;
-     border: 0px;
-     padding: 0px;
-     border-spacing: 0px;
+     margin: 0 0 10px 0;
+     border: 1px solid #6f533e;
+     padding: 0;
+     border-spacing: 0;
      border-collapse: collapse;
      color: #323;
      width: 100%;
@@ -166,30 +315,37 @@ tr {
 }
 
 thead, tfoot {
-     background: url('images/bling2.png') repeat-x scroll center center #867;
+     background: url("images/bling2.png") repeat-x scroll center center #867;
+     background: linear-gradient(to bottom, #efefef, #cfc7c2);
      font-weight: bold;
      color: #503;
 }
 
-/*
-thead a, tfoot a {
-text-shadow: 1px 1px 1px #f00;
-} 
-*/
+thead a img, thead img {
+ /*    mix-blend-mode: luminosity;*/
+     opacity: 1;
+     filter: sepia(100%) hue-rotate(340deg);
+     -webkit-filter: sepia(100%) hue-rotate(340deg);
+}
 
-thead {
-     border-bottom: 1px solid #604;
+thead a:hover img, thead a:focus img {
+     mix-blend-mode: normal;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
 }
 
 th {
-     padding: 4px 2px 4px 4px;
+     padding: 4px 2px;
      font-size: 8pt;
-     border-top: 1px outset #604;
-     border-bottom: 1px inset #604;
-     whitespace: nowrap;
+     border-top: 1px solid #6f533e;
+     border-bottom: 1px solid #6f533e;
      color: #511;
 }
 
+th br {
+     display: none;
+}
+
 th:first-child {
      text-align: left !important;
      padding-left: 3px;
@@ -197,7 +353,7 @@ th:first-child {
 
 tfoot td:first-child {
      text-align: left !important;
-     padding-left: 0px;
+     padding-left: 0;
 }
 
 th:first-child img {
@@ -213,7 +369,7 @@ tfoot th {
 }
 
 tfoot img, tfoot:nth-child(2) img, tfoot:nth-child(1) img, tfoot:nth-child(3) img, tfoot:nth-child(4) img {
-     margin: 0px 2px 3px 0px !important;
+     margin: 0 2px 3px 0 !important;
      padding-right: 0 !important;
 }
 
@@ -221,6 +377,39 @@ tfoot tr:nth-child(n+1) {
      text-align: left;
 }
 
+#pagenav {
+     vertical-align: middle;
+     padding: 3px 2px 2px;
+     font-size: 9pt;
+}
+
+#pagenav img {
+     border: 1px solid #541;
+     border-radius: 3px;
+     margin-right: -3px;
+     padding: 3px 4px;
+     filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #999);
+     -webkit-filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #999);
+     background: linear-gradient(to bottom, #ffeadf 0%, #ffeadf 51%, #cfb6a8 52%, #cfb6a8 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+     mix-blend-mode: luminosity;
+}
+
+#pagenav img:hover, #pagenav a:focus img {
+     mix-blend-mode: normal;
+}
+
+#pagenav a:active img {
+     mix-blend-mode: normal;
+     box-shadow: inset 1px 1px 2px 1px #3f362f !important;
+}
+
+#pagenav img.disable, #pagenav img.disable:hover {
+     mix-blend-mode: luminosity;
+     opacity: 0.2;
+     margin-right: 1px;
+}
+
 .headerstatus {
      text-align: left;
      padding-left: 15px;
@@ -228,42 +417,137 @@ tfoot tr:nth-child(n+1) {
 
 .headerpriority {
      text-align: left;
-     padding-left: 10px;
+     padding: 5px;
+}
+
+.headerpriority br {
+     display: none;
 }
 
 .ParentDir {
-     background: #656;
-     background: #fed;
-     font-size: 8pt;
-     border: 0px inset #604 !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
+     background: #ffeddf;
      text-align: left !important;
-     padding: 4px 0;
+     padding: 4px 0 4px 4px;
 }
 
 .priority {
      font-size: 7pt;
-     vertical-align: center;
+     vertical-align: middle;
+     text-align: right;
+     padding-right: 10px;
 }
 
-.SnarkTorrents {
+.snarkTorrents {
      margin: 0;
-     border: 1px solid #604;
+     border: 1px solid #6f533e;
      background: #212;
+     border-collapse: separate;
+     border-spacing: 0;
+     border-radius: 2px;
+     filter: drop-shadow(0 0 1px #4d453e);
+     -webkit-filter: drop-shadow(0 0 1px #4d453e);
+}
+
+.snarkTorrents thead th {
+     border-top: 0;
+     border-bottom: 1px solid #6f533e;
+}
+
+.snarkTorrents tfoot th {
+     border-bottom: 0;
+     white-space: normal !important;
+     font-weight: normal;
+}
+
+.snarkTorrents tfoot th::first-line {
+     font-weight: bold;
+}
+
+.snarkTorrents tfoot th:nth-child(n+2) {
+     white-space: nowrap;
+}
+
+.snarkTorrents tfoot th br {
+     display: block !important;
+}
+
+.snarkTorrents thead th:first-child {
+     text-align: center !important;
+}
+
+.snarkTorrents thead th:nth-child(3) {
+     padding: 4px 1px;
+     text-align: right;
+}
+
+.snarkTorrents th:nth-child(n+5) {
+     text-align: right;
+}
+
+.snarkTorrents th:nth-child(6), .snarkTorrents th:last-child {
+     text-align: center;
+}
+
+.snarkTorrents th:first-child, .snarkTorrents td:first-child {
+     width: 30px;
+     white-space: nowrap;
+}
+
+.snarkTorrents th:last-child, .snarkTorrents td:last-child {
+     width: 36px;
+     white-space: nowrap;
+}
+
+.snarkTorrents td:nth-child(n+6), .snarkTorrents tfoot th:nth-child(n+2) {
+     font-variant: all-small-caps !important;
+     word-spacing: -0.2em;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+.snarkTorrents td:nth-child(n+6), .snarkTorrents tfoot th:nth-child(n+2) {
+     font-variant: normal !important;
+}
+}
+
+.snarkTorrents tfoot {
+     vertical-align: top;
+}
+
+.snarkTorrents tfoot th:nth-child(2) {
+     text-align: center;
+}
+
+.snarkTorrents td:first-child, .snarkTorrents td:nth-child(2) {
+     padding: 2px 0 !important;
+     word-spacing: -0.2em;
+}
+
+.snarkTorrents td:nth-child(3), .snarkTorrents td:nth-child(4) {
+     padding: 2px 0 !important;
+     width: 16px !important;
+}
+
+.snarkTorrents td:nth-child(3) {
+     text-align: right;
+     padding-left: 3px !important;
+}
+
+.snarkTorrents td:nth-child(4) {
+     text-align: center;
+     padding-right: 4px !important;
+}
+
+.snarkTorrents td:nth-child(7) {
+     text-align: center;
 }
 
 td {
      padding: 2px 4px;
-     color: #501 !important;
+     color: #2f1500 !important;
      opacity: 1;
      font-size: 8pt;
 }
 
-.mainsection td {
-     color: #111;
-}
-
 td:first-child {
      text-align: right;
      font-size: 8pt;
@@ -274,9 +558,13 @@ td:first-child {
 }
 
 .snarkTorrentName {
-/*     text-shadow:1px 1px #540;*/
-     padding: 3px 0 0;
-     line-height: 100%;
+     padding: 3px 0;
+     line-height: 110%;
+}
+
+.snarkTorrentName[onclick], .snarkTorrentName[onclick]:hover a {
+     cursor: pointer;
+     color: #cf0f00;
 }
 
 .snarkTorrentName img {
@@ -290,22 +578,44 @@ td:first-child {
      margin: 0 !important;
      text-align: center;
      width: 68px;
+     white-space: nowrap;
 }
 
-.snarkTorrentAction img {
+.snarkTorrentAction input[type="image"], .snarkTorrents th:last-child input[type="image"] {
+     filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #7f6c5f);
+     -webkit-filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #7f6c5f);
+     border: 1px solid #4d453e;
+     border-radius: 2px;
+     padding: 2px !important;
+     background: linear-gradient(to bottom, #efefef 0%, #efefef 51%, #cfc7c2 52%, #cfc7c2 100%);
+     box-shadow: inset 0 0 0 1px #fff;
+     vertical-align: middle;
+     mix-blend-mode: normal;
+     opacity: 1 !important;
 }
 
-.snarkTorrentAction img:hover {
-     opacity: 1;
+.snarkTorrentAction input[type="image"]:hover, .snarkTorrents th:last-child input[type="image"]:hover, .snarkTorrentAction input[type="image"]:focus, .snarkTorrents th:last-child input[type="image"]:focus  {
+     mix-blend-mode: multiply;
+     background: linear-gradient(to bottom, #ffeadf 0%, #ffeadf 51%, #cfb6a8 52%, #cfb6a8 100%);
+     border: 1px solid #f60 !important;
+     filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #f60);
+     -webkit-filter: sepia(100%) hue-rotate(340deg) drop-shadow(0 0 1px #f60);
+}
+
+.snarkTorrentAction input[type="image"]:active, .snarkTorrents th:last-child input[type="image"]:active {
+     box-shadow: inset 2px 2px 2px 1px #4d453e;
+     mix-blend-mode: multiply;
+     filter: sepia(100%) hue-rotate(340deg);
+     -webkit-filter: sepia(100%) hue-rotate(340deg);
 }
 
 .snarkTorrentEven {
      font-size: 8pt;
-     background: #feb;
+     background: #dfd6d1;
 }
 
 .snarkTorrentNoneLoaded {
-     background: #323;
+     background: #5f4e41;
      font-size: 8.5pt;
      font-weight: bold;
      text-align: center !important;
@@ -313,16 +623,13 @@ td:first-child {
 }
 
 .snarkTorrentStatus {
-     padding: -1px 0 2px;
-     font-size: 8pt !important;
-     letter-spacing: -0.05em;
-     font-weight: bold;
+     padding: 2px 0;
      line-height: 100%;
 }
 
 .snarkTorrentStatus:first-child {
      text-align: left !important;
-     padding-left: 0px;
+     padding-left: 0;
      min-width: 48px;
      font-weight: bold;
      color: #402 !important;
@@ -342,6 +649,10 @@ td:first-child {
 
 .snarkTorrentDownloaded {
      color: #439 !important;
+     line-height: 88%;
+     text-align: center !important;
+     padding: 2px;
+     vertical-align: middle;
 }
 
 .snarkTorrentUploaded {
@@ -350,23 +661,61 @@ td:first-child {
 
 .snarkTorrentRateUp {
      color: #626 !important;
-
 }
 
 .snarkTorrentRateDown {
      color: #439 !important;
-
 }
 
 .snarkTorrentOdd {
-     background: #fed;
+     background: #efe6e0;
      font-size: 8pt;
-     border: 0px inset #fff !important;
-     border-left: 0 !important;
-     border-right: 0 !important;
 }
-.snarkTorrentOdd td, .snarkTorrentEven td {
-     border-top: 1px dotted #313 !important;
+
+/*
+.snarkTorrentOdd:hover, .snarkTorrentEven:hover {
+     box-shadow: inset 0 0 1px 0 #4d453e;
+}
+*/
+
+.snarkTorrentOdd td, .snarkTorrentEven td, .snarkTorrentInfo td {
+     border-top: 1px outset #efefef !important;
+     border-bottom: 1px outset #efefef !important;
+}
+
+.snarkTorrentOdd:last-child td, .snarkTorrentEven:last-child td {
+     border-bottom: none !important;
+}
+
+table.snarkTorrents tbody tr:hover, table.snarkDirInfo tbody tr:hover {
+     background: #cfbda8 !important;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(even), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(even) {
+     background: #303;
+     background: #cfc8c2;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(odd), .snarkTorrentOdd + .snarkTorrentOdd:nth-child(odd) {
+     background: #404;
+     background: #efdfd1;
+}
+
+.snarkTorrentEven + .snarkTorrentEven:nth-child(even) td, .snarkTorrentOdd + .snarkTorrentOdd:nth-child(even) td, .snarkTorrentEven + .snarkTorrentEven:nth-child(odd) td, .snarkTorrentOdd + .snarkTorrentOdd:nth-child(odd) td {
+     padding: 3px 0 !important; 
+}
+
+.snarkTorrents td[colspan="4"], .snarkTorrents td[colspan="10"]  {
+     text-align: left;
+}
+
+.snarkTorrents td[colspan="10"] {
+     font-size: 8pt;
+     white-space: normal;
+}
+
+.snarkTorrents td[colspan="4"] tt {
+     margin-left: -1px;
 }
 
 .snarkFileIcon {
@@ -378,7 +727,7 @@ td.snarkFileIcon:first-child {
 }
 
 .snarkFileName {
-     padding: 4px 0px !important; 
+     padding: 4px 0 !important; 
      text-align: left !important;
      font-size: 8pt !important;
 }
@@ -405,20 +754,46 @@ td.snarkFileIcon:first-child {
 
 .snarkTorrentInfo img {
      max-height: 16px !important;
-     margin: 1px 2px 2px 10px !important;    
+     margin: 1px 2px 2px 2px !important;    
 }
 
 .snarkTorrentInfo td {
      text-align: left !important;
      padding: 2px 0 1px 1px !important;
+     vertical-align: middle !important;
+     background: #efe6e0;
 }
 
-table.SnarkTorrentInfo {
-     margin-bottom: 3 !important;
-     border: 1px solid #604;
+.snarkTorrentInfo tr:nth-child(even) td {
+     background: #dfd6d1;
 }
 
-table.SnarkDirInfo {
+.snarkTorrentInfo th {
+     text-align: left;
+     background: linear-gradient(to bottom, #efefef, #cfc7c2);
+     padding: 5px 4px 5px 0;
+}
+
+.snarkTorrentInfo th:first-child {
+     background: url(images/file.png) center center no-repeat, linear-gradient(to bottom, #efefef, #cfc7c2);
+     background-size: 14px 16px, 100% 100%;
+}
+
+.snarkTorrentInfo th:first-child, .snarkTorrentInfo td:first-child {
+     width: 20px;
+     text-align: left;
+     padding: 2px 0 2px 5px !important;
+}
+
+.snarkTorrentInfo {
+     margin-bottom: 2px !important;
+}
+
+.snarkTorrentInfo tr:last-child {
+     border-top: 1px solid #6f533e;
+}
+
+.snarkDirInfo {
      margin-top: -3px !important;
      margin-bottom: 0;   
 }
@@ -432,16 +807,19 @@ thead img.disable, img.disable:hover {
      opacity: 0.4;
 }
 
-.SnarkDirInfo td {
-     min-width: 0px !important;     
+.snarkDirInfo td {
+     min-width: 0 !important;     
 }
 
-.SnarkDirInfo td:nth-child(n+1) {
+.snarkDirInfo .headerpriority {
+     text-align: right !important;
+     vertical-align: middle;
+     padding: 5px !important;
 }
 
-.SnarkDirInfo .headerpriority {
-     text-align: center !important;
-     vertical-align: middle;    
+th[colspan="4"] + .headerpriority {
+     text-align: right !important;
+     padding: 14px 5px 12px !important;
 }
 
 .choked {
@@ -466,51 +844,68 @@ thead img.disable, img.disable:hover {
      line-height: 130% !important;
 }
 
+#trackerselect {
+     width: 100% !important;
+}
+
+#trackerselect td:nth-child(2), #trackerselect td:nth-child(3) {
+     max-width: 50px !important;
+}
+
+#trackerselect tr:first-child {
+     font-weight: bold;
+}
+
+#trackerselect td:first-child {
+     font-weight: normal;
+}
+
 .snarkConfigTitle, label.toggleview {
      font-size: 11pt;
      font-weight: bold;
-     padding: 0 15px 3px 12px;
-     margin: 5px 0 10px 0 !important;
-     letter-spacing: 0.05em;
+     padding: 2px 15px 2px 12px;
+     margin: 0 0 -3px !important;
+     letter-spacing: 0.1em;
      border: 1px solid #111;
-     -moz-border-radius: 0 0 5px 5px;
-     -khtml-border-radius: 0 0 5px 5px;
-     border-radius: 0 0 5px 5px;
      border-top: 0;
-     text-shadow: 0px 1px 1px #777;
-     background: #ffb url('images/bling.png') repeat-x scroll center center !important;
+     background: #ffb url('images/bling.png') repeat-x scroll center center;
+     background: linear-gradient(to bottom, #efefef 0%, #efefef 51%, #cfc7c2 52%, #cfc7c2 100%);
+     background: linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
      font-variant: small-caps !important;
-     color: #503;
-     box-shadow: 0 1px 1px #777;
+     color: #2f1500;
+     box-shadow: 0 0 2px #4d453e, inset 0 0 0 1px #fff;
+     display: inline-block;
+     min-width: 200px;
+     vertical-align: middle;
+     text-shadow: 0 0 1px #fff5ef;
+}
+
+.snarkConfigTitle a, label.toggleview {
+     color: #930 !important;
+     text-shadow: 0 0 1px #fff5ef;
+}
+
+.snarkConfigTitle a:hover, label.toggleview:hover, .snarkConfigTitle a:focus, label.toggleview:focus {
+     color: #df0072 !important;
+     color: #f60 !important;
+}
+
+.snarkConfigTitle a:active, label.toggleview:active {
+     color: #f30 !important;
 }
 
 .snarkConfigTitle img, label.toggleview img {
-     margin-right: -3px;    
-} 
+     margin: 1px -2px 2px 0;
+     filter: drop-shadow(0 0 1px #7f6c5f) !important;
+     -webkit-filter: drop-shadow(0 0 1px #7f6c5f) !important;
+}
+
+
 .snarkConfig {
      font-size: 8pt;
      width: 100%;
 }
 
-.page {
-     background: #fff url('images/tile2.png');
-     color: #310;
-     min-width: 800px !important;
-     margin: 5px 0 0 0;
-     padding: 10px 10px 0px 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #101;
-     font-size: 9pt !important;
-     line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #002;
-     box-shadow: inset 0px 0px 1px 0px #002;
-     text-align: center;
-     opacity: 1;
-}
-
 form {
      margin-bottom: 0;
 }
@@ -520,114 +915,127 @@ p {
 }
 
 hr {
-     color: #444;
-     background: #444;
+     color: #6f533e;
+     background:#6f533e;
      height: 1px;
-     border: 0px solid #444;
+     border: none;
      width: 0%;
      margin: 5px 0 7px 0;
      text-align: center;
 }
 
+hr.debug {
+     width: 100%;
+     margin: 2px 0;
+}
+
+hr.debug:nth-child(n+7) {
+     margin: -10px 0 3px;
+}
+
+hr.debug + b {
+     color: #2f1500;
+}
+
 a:link {
-     color: #d30;
+     color: #f30;
      text-decoration: none;
      font-weight: bold;
      word-wrap: break-word;
 }
 
 a:visited {
-     color: #a60;
+     color: #f60;
      text-decoration: none;
      font-weight: bold;
 }
 
-a:hover {
-     color: #fa0;
+a:hover, a:focus {
+     color: #cf0f00;
+     font-weight: bold;
+     filter: none;
+     -webkit-filter: none;
+}
+
+a:active {
+     color: #ff007c;
+}
+
+a.control, input[type="submit"], input[type="reset"] {
+     font: 8pt "Droid Sans", "Bitstream Vera Sans", Verdana, "Lucida Sans Unicode", Tahoma, Helvetica, sans-serif;
      font-weight: bold;
 }
 
 a.control, a.controld {
-     background: #fef url('images/bling.png') repeat-x scroll center center;
-     border: 1px inset #bbb;
-     border-radius: 4px;
-     color: #f30;
+     background: linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     border: 1px solid #2f1a09;
+     border-radius: 2px;
+     color: #2f1500;
      font-weight: bold;
-     margin: 2px 4px;
-     padding: 3px 4px;	
-     text-shadow: 0px 0px #410;
+     margin: 3px 2px !important;
+     padding: 5px 4px 5px 2px;	
      white-space: nowrap;
 }
 
 a.controld {
      color: #f60;
      font-weight: normal;
-}
-
-a.controld img {
      display: none;
 }
 
-a.control:hover {
-     background-color: #fef;
-     border: 1px outset #bbb;
+a.control:hover, a.control:focus {
      color: #f60;
-     text-shadow: 0px 1px 5px #fdf;
+     background: linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
 }
 
 a.control:active {
-     background: #000 !important;
-     color: #f60 !important;
-     text-shadow: 0 !important;
+     color: #f30 !important;
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+     outline: none;
+     border: none;
 }
 
 input {
-     font-size: 9pt;
+     font-size: 8pt;
      font-weight: bold;
      text-align: left;
-     padding: 3px 4px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px inset #000;
-     background: #fff /*url('/themes/snark/ubergine/images/graytile.png')*/;	 
-     color: #000;
+     padding: 5px 4px !important;
+     border-radius: 2px;
+     border: 1px solid #2f1500;
+     background: #efe6e0;	 
+     color: #2f1500;
      margin: 2px 4px;
+     font-family: "Bitstream Vera Sans", Verdana, "Lucida Sans Unicode", Tahoma, Helvetica, sans-serif;
 }
 
 input.r {
      text-align: right;
+     min-width: 100px;
+     background: #efe6e0;
 }
 
 input[type=submit] {
-     text-shadow: 0px 0px #410;
-     color: #f30;
-     background: #fff;
-     border: 1px outset #bbb;
-     padding: 2px;
-     background: #fef url('images/bling.png') repeat-x scroll center center;
+     color: #2f1500;
+     border: 1px solid #2f1a09;
+     box-shadow: inset 0 0 0 1px #fff;
+     background-blend-mode: luminosity;
 }
 
-input[type=submit]:hover {
-     border: 1px inset #bbb;
-     text-shadow: 0 0;	 
-     background-color: #fef;
-     color: #f60;
-     background: #fef url('images/bling2.png') repeat-x scroll center center;
-
+input[type=submit]:hover, a.control:hover {
+     color: #930;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     background-blend-mode: normal;
 }
 
-input[type=submit]:active {
-     background: #000 !important;
-     color: #f60 !important;
-     text-shadow: 0 !important;
+input[type=submit]:active, a.control:active {
+     color: #f30 !important;
+     box-shadow: inset 2px 2px 2px 1px #3f362f;
 }
 
 input[type=image] {
      padding: 0 !important;
-     -moz-border-radius: 0px;
-     -khtml-border-radius: 0px;
-     border-radius: 0px;
      border: medium none;
      margin: 0 2px;
      opacity: 0.8 !important;
@@ -637,9 +1045,16 @@ input[type=image]:hover {
      opacity: 1 !important;
 }
 
-input[type=text]:active, input[type=text]:hover, input.r:hover {
-     background: #fef;
-     color: #500;
+input[type=text], input.r, textarea, input[name="nofilter_dataDir"]  {
+     vertical-align: middle;
+     padding: 2px 4px;
+}
+
+input[type=text]:active, input[type=text]:focus, input.r:focus, textarea:focus, input[name="nofilter_dataDir"]:focus {
+     background: #fffcdf;
+     color: #5f1227;
+     text-shadow: none;
+     transition: ease filter 0.3s 0s;
 }
 
 input[type=radio] {
@@ -648,102 +1063,181 @@ input[type=radio] {
      vertical-align: bottom;
 }
 
-input.default { width: 1px; height: 1px; visibility: hidden; }
+input.default { 
+     width: 1px; 
+     height: 1px; 
+     visibility: hidden;
+     display: none;
+}
 
 input.disabled, input.disabled:hover {
      background-color: #989;
      border: 1px inset #bbb;
      color: #f60;
      font-weight: normal;
-     text-shadow: 0px 0px 0px #410;
+     display: none;
 }
 
 input.accept {
-     background: #f3efc7 url('../../console/images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
-     min-height: 22px;
+     background: url(images/accept.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
+}
+
+input.accept:hover, input.accept:focus {
+     background: url(images/accept.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
 }
 
 input.add {
-     background: #f3efc7 url('../../console/images/add.png') no-repeat 2px center !important;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/add.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
 }
 
+input.add:hover, input.add:focus {
+     background: url(images/add.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
 input.cancel {
-     background: #f3efc7 url('../../console/images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/cancel.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
 }
 
+input.cancel:hover, input.cancel:focus {
+     background: url(images/cancel.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
 input.create {
-     background: #f3efc7 url('images/create.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/create.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
 }
 
+input.create:hover, input.create:focus {
+     background: url(images/create.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
 input.delete {
-     background: #f3efc7 url('../../console/images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/nuke.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
 }
 
+input.delete:hover, input.delete:focus {
+     background: url(images/nuke.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
 input.reload {
-     background: #f3efc7 url('../../console/images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/restore.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
 }
 
+input.reload:hover, input.reload:focus {
+     background: url(images/restore.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
+input.reload[name="recheck"] {
+     background: url(images/recheck.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
+     min-height: 22px;
+     float: right;
+     margin: 6px 2px;
+}
+
+input.reload[name="recheck"]:hover, input.reload[name="recheck"]:focus {
+     background: url(images/recheck.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
+}
+
 input.starttorrent {
-     background: #f3efc7 url('images/start.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/next.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
+     float: right;
+     margin: 6px;
+}
+
+input.starttorrent:hover, input.starttorrent:focus {
+     background: url(images/next.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
 }
 
 input.stoptorrent {
-     background: #f3efc7 url('images/stop.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px !important;
+     background: url(images/btn_stop.png) no-repeat 4px center, linear-gradient(to bottom, #eeecea 0%, #eeecea 50%, #ded9d5 50%, #ded9d5 100%);
+     padding: 5px 5px 5px 22px !important;
      min-height: 22px;
+     float: right;
+     margin: 6px;
+}
+
+input.stoptorrent:hover, input.stoptorrent:focus {
+     background: url(images/btn_stop.png) no-repeat 4px center, linear-gradient(to bottom, #fff7ef 0%, #fff7ef 51%, #cfc1b5 52%, #cfc1b5 100%);
 }
 
 select {
-     background: #fff;
-/*     background: url('/themes/snark/ubergine/images/graytile.png') !important;*/
-     color: #101;
-     font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     background: #efe6e0 url(images/dropdown.png) right center no-repeat !important;
+     color: #2f1500;
+     font: 8pt "Bitstream Vera Sans", Verdana, "Lucida Sans Unicode", Tahoma, Helvetica, sans-serif;
      font-weight: bold;
-     padding: 2px 2px 2px 3px;
-     -moz-border-radius: 4px 0 0 4px;
-     -khtml-border-radius: 4px 0 0 4px;
-     border-radius: 4px 0 0 4px;
+     padding: 5px 14px 5px 5px;
+     border-radius: 2px;
      border: 1px solid #000;
-     margin-left: 5px;
+     margin: 2px 0 2px 5px;
+     min-width: 100px;
+     -moz-appearance: none;
+     -webkit-appearance: none;
 }
 
-select:hover, textarea:hover {
-     background: #fff !important;
-     color: #101 !important;
+select + select {
+     margin-left: -17px;
 }
 
-textarea {
-     background: #fff; /*url('/themes/snark/ubergine/images/graytile.png');*/
-     color: #f60;
+select:focus {
+     background: #fffcdf url(images/dropdown_hover.png) right center no-repeat !important;
+     color: #f60 !important;
+}
+
+@-moz-document url-prefix() {
+select option {
+     background: #fffcdf;
+     box-shadow: inset 0 0 20px 20px #fffcdf;
+     color: #2f1500;
+}
+
+select option:hover, select option:checked {
+     box-shadow: inset 0 0 20px 20px #f60;
+     background: #f60;
+}
+}
+
+textarea, input[name="nofilter_dataDir"] {
+     background: #efe6e0;
      font-weight: bold;
-     padding: 1px 4px 0px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px inset #000;
+     padding: 2px 4px;
+     border-radius: 2px;
+     border: 1px solid #2f1500;
      font-size: 8pt;
      margin-left: 5px;
+     font-family: "Bitstream Vera Sans", Verdana, "Lucida Sans Unicode", Tahoma, Helvetica, sans-serif;
+     width: 70%;
+}
+
+textarea {
+     resize: none;
+     height: 26px;
+     padding: 4px;
+     color: #2f1500;
+     font-size: 8pt;
+     margin-top: 2px;
 }
 
 img {
      border: none;
-     margin: 0 3px 1px 3px;
+     margin: 0 2px;
      vertical-align: middle;
      opacity: 1.0;
      line-height: 100%;
+     filter: drop-shadow(0 0 1px #777);
+     -webkit-filter: drop-shadow(0 0 1px #777);
 }
 
 img:hover {
@@ -752,10 +1246,51 @@ img:hover {
      line-height: 100%;
 }
 
+a:hover img, a:focus img {
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+     mix-blend-mode: normal;
+}
+
+img[src$="magnet.png"] {
+     transform: rotate(-90deg);
+}
+
+img[src$="details.png"] {
+     mix-blend-mode: luminosity;
+}
+
+img.thumb {
+     width: 16px;
+}
+
+.snarkFileStatus img {
+     mix-blend-mode: luminosity;
+}
+
+.snarkFileStatus img[src*="clock"] {
+     mix-blend-mode: normal !important;
+}
+
+input[name^="action_"] {
+     border-radius: 3px;
+     filter: sepia(100%) hue-rotate(340deg);
+     -webkit-filter: sepia(100%) hue-rotate(340deg);
+     max-width: 40px;
+     margin-left: 1px;
+}
+
+input[name^="action_"]:hover, input[name^="action_"]:focus {
+     filter: sepia(100%) hue-rotate(340deg) saturate(120%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: sepia(100%) hue-rotate(340deg) saturate(120%) drop-shadow(0 0 1px #f60);
+     opacity: 1;
+     box-shadow: 0 0 1px 0 #f60;
+}
+
 .infoz {
      margin: 0 -1px 0 0 !important;
      padding: 0 !important;
-     lineheight: 100%;
+     line-height: 100%;
      float: left;
 }
 
@@ -769,150 +1304,180 @@ img:hover {
 }
 
 
-div.section,div.mainsection {
+.section, .mainsection {
      margin: 0 0 10px 0;
      padding: 10px;
      border: 1px solid #001;
      color: #001;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
      word-wrap: break-word;
      text-align: center;
-     background: #fef;
+     background: #dfd7d1;
+     background: linear-gradient(to bottom, #dfd7d1 0%, #cfc7c2 100%);
      opacity: 1 !important;
 }
 
-div.newtorrentsection {
+.newtorrentsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 0px 10px;
+     padding: 0 10px;
      border: 1px solid #001;
      text-align: center;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #fff;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #fff;
-     box-shadow: inset 0px 0px 1px 0px #fff;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
      word-wrap: break-word;
      background: #ffd url('images/snark_create.png') no-repeat scroll right center;
+     background: url('images/snark_create.png') no-repeat scroll right center, linear-gradient(to bottom, #dfd7d1 0%, #cfc7c2 100%);
+     background-size: 80px 80px, 100% 100%;
      opacity: 1.0;
+     background-blend-mode: luminosity;
 }
 
-div.addtorrentsection {
+.addtorrentsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 0px 10px;
+     padding: 0 10px;
      border: 1px solid #001;
      text-align: center;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #fff;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #fff;
-     box-shadow: inset 0px 0px 1px 0px #fff;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
      word-wrap: break-word;
-     background: #ffd url('images/snark_add.png') no-repeat scroll right center;
+     background: #ffd url('images/snark_add.png') no-repeat scroll 99% center;
+     background: url('images/snark_add.png') no-repeat scroll 99% center, linear-gradient(to bottom, #dfd7d1 0%, #cfc7c2 100%);
+     background-size: 61px 61px, 100% 100%;
      opacity: 1.0;
+     background-blend-mode: luminosity;
 }
 
-div.configsection {
+.configsection {
      margin: 0 0 10px 0;
-     padding: 0 10px 15px 10px;
+     padding: 0 10px 13px 10px;
      border: 1px solid #000;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #fff;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #fff;
-     box-shadow: inset 0px 0px 1px 0px #fff;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
      word-wrap: break-word;
      text-align: center;
-     background: #ffd;
+     background: #dfd7d1;
+     background: url(images/configuration.png) 102% center no-repeat, linear-gradient(to bottom, #dfd7d1 0%, #cfc7c2 100%);
+     background-size: 84px 82px, 100% 100%;
      font-weight: bold;
+     background-blend-mode: luminosity;
 }
 
-div.configsectionpanel {
+.configsectionpanel {
      margin: 0 0 10px 0;
      padding: 0 10px;
      border: 1px solid #000;
      color: #ddd;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #fff;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #fff;
-     box-shadow: inset 0px 0px 1px 0px #fff;
+     border-radius: 2px;
+     box-shadow: inset 0 0 3px 0 #a08160;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
      word-wrap: break-word;
      text-align: center;
-     background: #ffd url('/themes/snark/ubergine/images/configuration.png') no-repeat scroll right center;
+     background: #dfd7d1 url('/themes/snark/ubergine/images/configuration.png') no-repeat scroll right center;
+     background: url('/themes/snark/ubergine/images/configuration.png') no-repeat scroll right center, linear-gradient(to bottom, #dfd7d1 0%, #cfc7c2 100%);
+     background-size: 84px 82px, 100% 100%;
      font-weight: bold;
+     background-blend-mode: luminosity;
+}
+
+.iframed .mainsection, .iframed .newtorrentsection, .iframed .addtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+     border-radius: 0;
+     box-shadow: inset 0 0 2px 0 #fff, 0 0 1px 0 #4f3d36;
+}
+
+.iframed .newtorrentsection, .iframed .addtorrentsection, .iframed .configsection, .iframed .configsectionpanel {
+     margin-top: -11px;
+}
+
+.addtorrentsection table, .newtorrentsection table, .configsectionpanel table {
+     border: none;
+}
+
+.addtorrentsection td:first-child, .newtorrentsection td:first-child {
+     width: 120px;
+     font-weight: bold;
+}
+
+.addtorrentsection input[type="text"], .newtorrentsection input[type="text"] {
+     width: 80%;
+}
+
+.snarkConfig tr:nth-last-child(4) td, .trackerconfig tr:nth-last-child(4) td {
+     padding-bottom: 15px;
+}
+
+.snarkConfig tr:nth-last-child(2) td, .trackerconfig tr:nth-last-child(2) td {
+     border-top: 1px solid #6f533e !important;
+     padding-top: 10px;
+}
+
+.configsectionpanel tr:nth-last-child(2) td:last-child {
+     padding-right: 0;
+}
+
+.configsectionpanel tr:last-child td, .snarkConfig tr:nth-last-child(3) {
+     display: none;
+}
+
+.configsectionpanel tr:nth-last-child(2) input {
+     float: right;
 }
 
 .newtorrentsection form, .configsection form, .addtorrentsection form {
      color: #ddd !important;
 }
 
-div.configsection table{
+.configsection table {
      color: #ffb;
      opacity: 1;
 }
 
-div.configsection a {
+.configsection a {
      color: #f30;
-     text-shadow: 1px 1px #777;
 }
 
-div.configsection a:hover {
+.configsection a:hover {
      color: #f90;
      text-decoration: none;
 }
 
-code {
-     font-size: 9pt;
-     color: #930;
-     padding: 0 2px;
-     font-weight: bold;
-     font-family: "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-}
-.snarknavbar {
-     margin: -10px 0 5px 0 !important;
-     padding: 11px 10px 12px;
-     border: 1px solid #101;
-     -moz-border-radius: 0 0 8px 8px;
-     -khtml-border-radius: 0 0 8px 8px;
-     border-radius: 0 0 8px 8px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #212;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #212;
-     box-shadow: inset 0px 0px 1px 0px #212;
-     background: #fef url('images/bling2.png') repeat-x scroll center center;
-     text-transform: uppercase !important;
-     letter-spacing: 0.065em !important;
+code, tt {
+     font-size: 8pt;
+     color: #313;
+     padding: 0 1px;
      font-weight: bold;
-     font-size: 11.5pt;
-     color: #001;
-     min-width: 700px;
-     width: 70%;
-     text-align: center;
- }
-
- .snarknavbar img {
-     border: 0;
-     margin: 0 -6px 0 -2px;
-     padding: 1px 0 0px !important;
-     vertical-align: top;
+     font-family: "DejaVu Sans Mono", "Droid Sans Mono", "Lucida Console", Courier, mono;
 }
 
-
 .routerdown {
-     color: #900;
+     color: #7f4c0f;
 }
 
 .trackerconfig {
      text-align: left !important;
+     border-collapse: separate;
+     border-spacing: 0;
+}
+
+.trackerconfig th {
+     background: linear-gradient(to bottom, #efefef 0%, #efefef 51%, #cfc7c2 52%, #cfc7c2 100%);
+}
+
+.trackerconfig th:first-child {
+     border-radius: 2px 0 0 2px;
+     border-left: 1px solid #6f533e;
+}
+
+.trackerconfig th:last-child {
+     border-radius: 0 2px 2px 0;
+     border-right: 1px solid #6f533e;
 }
 
 .trackerconfig th:nth-child(n+4), .trackerconfig th:nth-child(n+5), .trackerconfig td:nth-child(n+4), .trackerconfig td:nth-child(n+5) {
@@ -927,20 +1492,92 @@ code {
      text-align: right !important;     
 }
 
-input.trackername {
+.trackerconfig input[type="text"] {
+     margin-left: 0;
+}
+
+.trackername {
      width: 100px;
 }
 
-input.trackerhome {
+.trackerhome {
      width: 200px;
 }
 
-input.trackerannounce {
+.trackerannounce {
      width: 230px;
 }
 
+.optbox, input[type="radio"], input[type="checkbox"] {
+     min-width: 16px !important;
+     min-height: 16px !important;
+     opacity: 0.8;
+     filter: sepia(50%) invert(80%) hue-rotate(150deg);
+     -webkit-filter: sepia(50%) invert(80%) hue-rotate(150deg);
+}
+
+.optbox:hover, input[type="radio"]:hover, input[type="checkbox"]:hover, .optbox:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
+     filter: sepia(50%) invert(80%) hue-rotate(150deg) drop-shadow(0 0 2px #f60);
+     -webkit-filter: sepia(50%) invert(80%) hue-rotate(150deg) drop-shadow(0 0 2px #f60);
+}
+
 /* toggle create/add panel view */
 
-input.toggle_input { /* hide checkbox and use label as faux panel heading */
+.toggle_input { /* hide checkbox and use label as faux panel heading */
+     display: none !important;
+}
+
+.toggleview:hover {
+     color: #f90;
+     cursor: pointer;
+}
+
+#toggle_addtorrent:not(checked) + label + hr + table, #toggle_createtorrent:not(checked) + label + hr + table {
      display: none;
 }
+
+#toggle_addtorrent:checked + label + hr + table, #toggle_createtorrent:checked + label + hr + table {
+     display: table;
+}
+
+/* display panels by default on webkit based browsers (midori fix) */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) { 
+#toggle_addtorrent:not(checked) + label + hr + table, #toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+#toggle_addtorrent:checked + label + hr + table, #toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+}
+*/
+
+/* display by default in iframe to avoid overflow issue */
+
+.iframed #toggle_addtorrent:not(checked) + label + hr + table, .iframed #toggle_createtorrent:not(checked) + label + hr + table {
+     display: table;
+}
+
+.iframed #toggle_addtorrent:checked + label + hr + table, .iframed #toggle_createtorrent:checked + label + hr + table {
+     display: none;
+}
+
+.toggleview, .snarkConfigTitle a:visited {
+     color: #f60;
+}
+
+.toggleview:active, .snarkConfigTitle a:active {
+     color: #f30 !important;
+}
+
+.toggleview img:hover, .toggleview:hover img, .snarkConfigTitle a:hover img {
+     color: #f90;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+.toggleview img:active, .toggleview:active img, .snarkConfigTitle a:active img {
+     transform: rotate(90deg);
+     transition: ease transform 0.3s 0s;
+}
diff --git a/installer/resources/themes/susidns/classic/susidns.css b/installer/resources/themes/susidns/classic/susidns.css
new file mode 100644
index 0000000000000000000000000000000000000000..4f72fc31a03b228788a9aab60af8c092bb655783
--- /dev/null
+++ b/installer/resources/themes/susidns/classic/susidns.css
@@ -0,0 +1,648 @@
+/* SusiDNS theme "Classic" */
+/* Author: dr|z3d */
+
+body {
+     font: 9pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     background: #eef;
+     color: #0c153d;
+}
+
+body.iframed {
+     background: #fff !important;
+     margin: 0;
+}
+
+#logo {
+     text-align: center;
+     background: #eef url(/themes/susidns/images/logo.png) center center no-repeat;
+     background: url(/themes/susidns/images/logo.png) center center no-repeat;
+     height: 55px;
+     background-size: auto 50px;
+}
+
+#logo img {
+     display: none;
+}
+
+.iframed #logo {
+     display: none;
+}
+
+hr {
+     display: none;
+}
+
+table {
+     width: 100%;
+}
+
+table.book {
+     border: 1px solid #89f;
+     margin: -2px 0 10px !important;
+     border-collapse: collapse;
+}
+
+.book tr {
+     border-top: 1px inset #fff;
+     border-bottom: 1px inset #fff;
+}
+
+table.book td {
+     padding: 2px 5px;
+}
+
+table.book th {
+     text-align: left;
+     padding-left: 5px;
+}
+
+table.book tr:hover textarea {
+     background: #fff;
+     border: none;
+     box-shadow: none;
+}
+
+table.book tr:hover {
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+}
+
+
+table.book td:first-child	 {
+     width: 20px;
+     white-space: no-wrap;
+}
+
+table.book td:nth-child(2) {
+     width: 200px;
+     white-space: nowrap;
+}
+
+table.book td:nth-child(3), table.book td:nth-child(4) {
+     width: 50px;
+     white-space: nowrap;
+}
+
+td.destinations {
+     padding: 0 !important;
+}
+
+#add {
+     background: #fff;
+}
+
+/*
+.iframed #add {
+     margin: 0 -10px;
+}
+*/
+
+#add td:first-child {
+     width: 100px;
+     white-space: nowrap;
+     text-align: right;
+}
+
+div#navi {
+     border: 1px solid #89f;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     margin: -1px -11px 0;
+     padding: 0;
+}
+
+.iframed #navi p {
+     margin: 8px 0 7px;
+}
+
+.iframed #navi, .iframed h3, .iframed h4, .iframed #help, .iframed p.buttons, .iframed #filter {
+     border-left: none !important;
+     border-right: none !important;
+}
+
+.iframed #content h3 {
+     border: none;
+     margin: 0;
+     border-bottom: 1px dotted #89f;
+     background: none;
+}
+
+.iframed #content h3:first-child {
+     margin-top: 10px;
+}
+
+div.page {
+     border: 1px solid #89f;
+     background: #fff !important;
+     margin: 0;
+     padding: 0 10px;
+     color: #0c153d;
+     font-size: 9pt !important;
+     line-height: 160% !important;
+}
+
+.iframed .page {
+     background: transparent !important;
+     margin: 0 1px !important;
+     border: none;
+}
+
+div.help {
+     border: 1px solid #89f;
+     margin: 0 0 -1px;
+     background: #eef;
+}
+
+/*
+.iframed #help {
+     margin: 0 -10px -1px;
+}
+*/
+
+#helpconfig {
+     margin: 0 0 -1px;
+}
+
+#helpconfig h3 {
+     margin: -1px;
+}
+
+.iframed #helpconfig h3 {
+     margin: -1px 0;
+}
+
+.help ul, .help ol {
+     margin-left: -25px;
+     list-style-type: square;
+}
+
+#navi p {
+     text-align: center !important;
+     text-transform: capitalize;
+     font-weight: bold;
+     line-height: 130%;
+}
+
+p {
+     line-height: 140%;
+     margin-left: 10px;
+     margin-right: 10px;
+     font-size: 9pt;
+     text-align: justify;
+}
+
+/*
+span.addrhlpr {
+     font-size: 8pt;
+}
+*/
+
+h3 {
+     color: #0c153d;
+     font-size: 11pt;
+     font-weight: bold;
+     border: 1px solid #89f;
+     margin: -1px -11px 10px;
+     padding: 5px 10px;
+     background: #fff;
+     text-transform: capitalize;
+}
+
+#help h3 {
+     margin: -1px -1px 10px;
+}
+
+h4 {
+     border: 1px solid #89f;
+     padding: 3px 10px;
+     margin: -11px -11px 5px;
+     background: linear-gradient(to right, #fff 0%, #eef 100%);
+}
+
+a {
+     color:#006;
+     text-decoration:none;
+     font-weight: bold;
+}
+
+a:visited {
+     color: #448;
+}
+
+a:hover {
+     text-decoration: none;
+     color: #f60;
+}
+
+a:active {
+     color: #f90;
+}
+
+th {
+     line-height:12pt;
+     padding:5px 10px;
+     font-size:10pt;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     border-bottom: 1px solid #89f; 
+}
+
+td {
+     padding:5px 10px;
+     font-size:9pt;
+     vertical-align:center;
+}
+
+li {
+     margin-left:15px;
+     margin-right:15px;
+     font-size:9pt;
+}
+
+tr.list1 {
+     background-color:#dde1ff;
+}
+
+tr.list0 {
+     background-color:#eff1ff;
+}
+
+tr.list0:hover, tr.list1:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ffe 100%) !important;
+}
+
+p.messages {
+     background: #ffe;
+     border: 1px solid #89f;
+     border: 1px solid #89f;
+     padding: 15px 15px 15px 45px;
+     margin: -6px -11px 5px;
+     background: #ffe url(/themes/console/images/info/infohelp.png) 8px center no-repeat;
+     line-height: 125%;
+     box-shadow: inset 0 0 0 1px #ff9;
+}
+
+.iframed p.messages {
+     border-left: none;
+     border-right: none;
+}
+
+p.help {
+     padding: 15px 15px 15px 45px;
+     margin: 0;
+     background: #ffe url(/themes/console/images/info/infohelp.png) 8px center no-repeat;
+}
+
+p.book, #messages + p {
+     background: url(/themes/susidns/images/addressbook.png) center left no-repeat;
+     padding: 10px 10px 10px 38px; 
+}
+
+p.footer {
+     font-size:7pt;
+     text-align: center;
+     padding: 10px 0 0;
+}
+
+.iframed #footer {
+     display: none;
+}
+
+div#filter {
+     border: 1px solid #89f;
+     padding: 0 10px;
+     margin: 0 -11px;
+     word-spacing: 0.2em;
+     background: #fff;
+     text-align: center;
+}
+
+#filter p {
+     line-height: 220%;
+     text-transform: capitalize;
+     text-align: center;
+}
+
+#filter a, #filter a:visited {
+     border: 1px solid #ccc;
+     padding: 3px 8px;
+     border-radius: 2px;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     font-size: 10pt;
+     box-shadow: inset 0 0 0 1px #fff;
+     text-transform: capitalize;
+     color: #006;
+}
+
+#filter a:hover {
+     text-decoration: none;
+     color: #f60;
+     border: 1px solid #f60;
+     border-radius: 2px;
+     background: #fff;
+}
+
+#filter p b {
+     font-size: 12pt;
+     vertical-align: bottom;
+/*     border-bottom: 2px solid #0c153d;*/
+     margin-right: 5px;
+}
+
+#filter span {
+     display: inline-block;
+     border: 1px solid #89f;
+     margin-top: -1px;
+     min-width: 300px;
+     padding: 5px;
+     font-weight: bold;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+}
+
+#filter span > * {
+     vertical-align: middle;
+}
+
+#filter span b {
+     font-size: 11pt;
+     text-transform: uppercase;
+     color: #115;
+     line-height: 80%;
+     display: inline-block;
+     margin-top: -2px;
+}
+
+#filter span a {
+     margin: 0 5px !important;
+     display:inline-block;
+     padding: 1px 5px; 
+}
+
+#search {
+     text-align: center !important;
+}
+
+td.search:first-child {
+     text-align: right;
+     white-space: nowrap;
+     font-weight: bold;
+     width: 20%;
+}
+
+td.search:last-child {
+     text-align: left;
+     width: 20%;
+}
+
+#search form {
+     text-align: center !important;
+}
+
+#search table {
+     border: 1px solid #89f;
+     margin: -1px auto;
+     background: #fff;
+     width: 400px;
+}
+
+#search td {
+     padding: 5px;
+}
+
+#search input[type="text"] {
+     width: 200px;
+}
+
+#messages:empty {
+     display: none;
+}
+
+#buttons + div > table {
+     width: 50%;
+     margin: auto;
+} 
+
+img[src*="imagegen"] {
+     width: 256px;
+     height: 256px;
+     border: 1px solid #ddd;
+     border-radius: 4px;
+     filter: drop-shadow(0 0 3px #ccc);
+}
+
+.illustrate {
+     max-width: 90%;
+     height: auto;
+}
+
+img.illustrate {
+     margin: 10px 10px 20px;
+     padding: 10px;
+     border-radius: 4px;
+     border: 1px solid #337;
+     font-size: 10pt;
+     box-shadow: inset 0 0 1px #002;
+     background: #fff;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+#buttons, .buttons {
+     text-align: right;
+}
+
+p.buttons {
+     border: 1px solid #89f;
+     padding: 10px;
+     margin: 0 -11px -13px;
+     background: #fff;
+}
+
+button, input, select {
+     font: 9pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+}
+
+input[type="text"], input[type="password"], textarea {
+     margin: 3px 3px 3px 0;
+     vertical-align: middle;
+     min-width: 160px;
+     border: 1px solid #bbb;
+     box-shadow: inset 1px 1px 1px #ddd;
+     border-radius: 2px;
+     padding: 3px 2px;
+     color: #222;
+     font: 9pt/130% "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+}
+
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     box-shadow: inset 0 0 0 1px #89f;
+     color: #000;
+}
+
+input[type="submit"], input[type="reset"] {
+     min-width: 80px;
+}
+
+textarea {
+     width: 100%;
+     resize: none;
+     margin: 0 auto 10px;
+     color: #444;
+}
+
+td.destinations textarea, td.destinations textarea:focus {
+     resize: none;
+     font-size: 8pt;
+     padding: 0 !important;
+     border: none;
+     border-left: 1px solid #888 !important;
+     border-radius: 0;
+     margin: 0px !important;
+     background: none;
+     box-shadow: 0 none !important;
+}
+
+button, input[type="submit"], input[type="reset"] {
+     padding: 4px 3px !important;
+     border-radius: 2px;
+     border: 1px solid #bbb;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     margin: 2px 0 2px 4px;
+}
+
+button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     border: 1px solid #bbb;
+}
+
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     background: #ddd;
+     border: 1px solid #bbb;
+}
+
+form[action="subscriptions"], form[action="config"] {
+     margin: 10px 0;
+}
+
+form[action="subscriptions"] textarea {
+     height: 120px !important;
+}
+
+/* topnav */
+
+#navi {
+     padding: 3px !important;
+}
+
+#navi a {
+     border: 1px solid #6b78bf;
+     border-radius: 2px;
+     margin: 3px 0 !important;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+     display: inline-block;
+     outline: none;
+}
+
+#navi a:hover, #navi a:focus {
+    border: 1px solid #f60;
+}
+
+#navi a:active {
+    border: 1px solid #f90;
+    box-shadow: inset 2px 2px 2px #555;
+    background-blend-mode: luminosity;
+}
+
+#navi a.abook {
+     background: #fff url(/themes/susidns/images/abook.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/abook.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #ddf 100%);
+     padding: 3px 5px 3px 24px;
+}
+
+#navi a.abook:hover {
+     background: url(/themes/susidns/images/abook.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #ffd 50%, #ffd 100%);
+}
+
+#navi a#subs {
+     background: #fff url(/themes/susidns/images/subs.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/subs.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #ddf 100%);
+     padding: 3px 5px 3px 24px;
+}
+
+#navi a#subs:hover {
+     background: url(/themes/susidns/images/subs.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #ffd 50%, #ffd 100%);
+}
+
+#navi a#config {
+     background: #fff url(/themes/console/images/buttons/configure.png) 5px center no-repeat;
+     background: url(/themes/console/images/buttons/configure.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #ddf 100%);
+     padding: 3px 5px 3px 24px;
+}
+
+#navi a#config:hover {
+     background: url(/themes/console/images/buttons/configure_hover.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #ffd 50%, #ffd 100%);
+}
+
+#navi a#overview {
+     background: #fff url(/themes/susidns/images/overview.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/overview.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #ddf 100%);
+     padding: 3px 5px 3px 24px;
+}
+
+#navi a#overview:hover {
+     background: url(/themes/susidns/images/overview.png) 5px center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #ffd 50%, #ffd 100%);
+}
+
+#navi p {
+     text-align: center !important;
+     text-transform: capitalize;
+     font-weight: bold;
+     padding: 2px 5px !important;
+     margin: 0 !important;
+}
+
+#navi p > * {
+     vertical-align: middle;
+}
+
+.headline + #book > table {
+     margin-top: 10px !important;
+} 
+
+/* page titles */
+
+.headline h3 {
+     padding: 10px 5px 10px 40px;
+     background: url(/themes/susidns/images/addressbook.png) 10px center no-repeat;
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+.headline#subscriptions h3 {
+     background: url(/themes/susidns/images/subs_24.png) 10px center no-repeat;
+}
+
+.headline#config h3 {
+     background: url(/themes/susidns/images/configure_24.png) 10px center no-repeat;
+}
+
+.headline h4 {
+     padding: 5px 10px 5px 40px;
+     background: #eff2ff url(/themes/susidns/images/drive.png) 13px center no-repeat;
+}
+
+p#filtered {
+     background: #fff url(/themes/susidns/images/filter.png) 18px center no-repeat;
+     padding: 0 10px 0 38px !important;
+}
+
+p.book {
+     background: #fff url(/themes/susidns/images/abook.png) 18px center no-repeat;
+     padding: 0 10px 0 38px !important;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/susidns/dark/images/bin.png b/installer/resources/themes/susidns/dark/images/bin.png
new file mode 100644
index 0000000000000000000000000000000000000000..df6278bcf211ed276e36d662e606be5702fcc99e
Binary files /dev/null and b/installer/resources/themes/susidns/dark/images/bin.png differ
diff --git a/installer/resources/themes/susidns/dark/susidns.css b/installer/resources/themes/susidns/dark/susidns.css
index a1fd6cc946ade500842ac6cd5b067663074b81ac..6a1a8ee4b8641821ed6803261168391cc8f435dc 100644
--- a/installer/resources/themes/susidns/dark/susidns.css
+++ b/installer/resources/themes/susidns/dark/susidns.css
@@ -1,9 +1,13 @@
-/* Susidns Dark theme by dr|z3d */
+/* SusiDNS "Camo" theme (aka "dark") */
+/* Author: dr|z3d */
 
 body {
-     font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     line-height:120%;
      background-color: #000;
      color:#ee9;
+     padding-top: 5px;
+     margin: 0 10px;
 }
 
 body.iframed {
@@ -15,13 +19,30 @@ body.iframed {
      display: none;
 }
 
+div#navi  {
+     border: 1px solid #2a5f29;
+     padding: 10px 0 5px;
+     background: #000 url(/themes/console/dark/images/header.png) repeat-x scroll center center !important;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+     margin-bottom: 30px;
+}
+
+.iframed div#navi  {
+     margin: -6px -15px 30px;
+     border: 1px solid #494;
+     border-right: none;
+     border-left: none;
+     padding: 6px 0 2px;
+}
+
 #navi p {
      text-align: center;
      font-weight: bold;
+     font-size: 9pt;
 }
 
 #navi a:link {
-     text-transform: capitalize;     
+     text-transform: capitalize;
 }
 
 hr {
@@ -32,104 +53,379 @@ hr {
      width: 100%;
      margin: 5px 0;
      text-align: center;
+     display: none;
+}
+
+div#filter {
+     border: 1px solid #2a5f29;
+     padding: 0 0 15px;
+     text-align: center;
+}
+
+div#filter + div#search {
+     border: 1px solid #2a5f29;
+     margin-top: 13px;
+}
+
+div#filter + div#search > form {
+     margin: 0;
+     padding: 0;
+}
+
+#filter p, #search td {
+     font-size: 10pt !important;
+     font-weight: bold;
+}
+
+#search {
+     text-align: center
+}
+
+#search table {
+     margin: 0 auto;
+}
+
+#search td input[type="text"] {
+     margin-left: 5px;
+}
+
+#search td:first-child {
+     text-align: right;
+}
+
+#search input {
+     margin-left: 0;
+     padding-left: 0;
+}
+
+#filter p {
+/*     border: 1px solid #f00; */
+     padding: 20px 20px 10px 17px;
+     text-align: center;
+}
+
+#filter p:first-child {
+     padding-bottom: 0;
+}
+
+#filter p + p {
+     display: none;
+}
+
+#search {
+/*     border: 1px solid #2a5f29; */
+     padding: 0 10px;
+     margin-top: 5px !important;
+     margin-bottom: 15px;
+}
+
+#filter a:link {
+     text-transform: capitalize;
+}
+
+#filter p {
+     line-height: 210%;
+     word-spacing: 0.1em;
+     text-transform: capitalize;
+     margin: 12px 0 0;
+     padding: 0;
+}
+
+#filter a {
+     border: 1px solid #2a5f29;
+     padding: 3px 8px;
+     border-radius: 2px;
+     background: #000;
+     background: linear-gradient(to bottom, #010 0%, #000 100%);
+     font-size: 10pt;
+     text-transform: uppercase;
+}
+
+#filter a:hover {
+     text-decoration: none;
+     color: #f60;
+     border: 1px solid #f60;
+     border-radius: 2px;
+     background: #020;
+}
+
+#filter span {
+     display: inline-block;
+     border: 1px solid #2a5f29;
+     min-width: 300px;
+     white-space: nowrap;
+     margin-top: -1px;
+     padding: 5px;
+     font-weight: bold;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+}
+
+#filter span a, #filter span a:hover {
+     border: none;
+     background: none;
+}
+
+#filter span b {
+     text-transform: uppercase;
+     font-size: 10pt;
+     margin: 0 0 0 5px;
 }
 
 p {
      color:#ee9;
-     margin: 0;
-     font-size: 8pt;
+     margin: 0 0 4px;
+     font-size: 9pt;
      text-align: justify;
 }
 
+#messages + p, p.book {
+     border: 1px solid #2a5f29;
+     background: #000 url(/themes/susidns/images/addressbook.png) 10px center no-repeat;
+     padding: 20px 20px 20px 50px !important; 
+}
+
+#messages:empty {
+     margin-top: -10px
+}
+
 span.addrhlpr {
-     font-size:8pt;
+     font-size: 9pt;
 }
 
 h3 {
-     color:#ee9;
-     font-size:10pt;
-     font-weight:bold;
-     border: 1px solid #494;
-     padding: 5px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #000 url('../../console/dark/images/header.png') repeat-x scroll center center !important;
+     color: #ee9;
+     font-size: 10pt;
+     font-weight: bold;
+     border: 1px solid #2a5f29;
+     padding: 5px 10px;
+     background: #000 url(/themes/console/dark/images/header.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%);
      letter-spacing: 0.08em;
-     padding: 6px;
+     word-spacing: 0.1em;
      text-shadow: 0 0 2px #001100;
      text-transform: uppercase;
 }
 
+.headline h3 {
+     margin-top: -10px;
+}
+
+.headline h3:first-child {
+     margin-bottom: 24px;
+}
+
+#content h3 {
+     border: none;
+     border-bottom: 1px dotted #494;
+     background: none;
+}
+
+#content h3:first-child {
+     margin-top: -15px;
+}
+
+.headline h3:first-child + h4 {
+     margin-top: -25px;
+     margin-bottom: 25px !important;
+}
+
+div.headline {
+     margin-top: -16px;
+}
+
+div#messages {
+}
+
+div#messages + p {
+     padding: 12px 10px 8px 20px;
+     font-size: 10pt;
+     margin-bottom: 15px;
+}
+
+div#book p {
+     font-size: 10pt;
+}
+
+.book th:first-child {
+     padding: 0 !important;
+}
+
+h4 {
+     font-size: 9pt;
+     margin-top: -15px;
+     word-spacing: 0.1em;
+     border: 1px solid #2a5f29;
+     padding: 8px 10px;
+     margin-bottom: 30px !important;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+}
+
+div#messages > p.messages {
+     padding: 10px;
+}
+
+#messages p {
+     padding: 15px 15px 15px 40px !important;
+     background: url(/themes/console/dark/images/infohelp.png) 6px center no-repeat;
+}
+/*
 a {
      color:#f60;
      text-decoration:none;
      font-weight: bold;
 }
+*/
 
-a:hover {
-     text-decoration:underline;
+a:link {
+     color: #494;
+     text-decoration: none;
      font-weight: bold;
+     outline: none;
 }
 
-th {
+a:hover, a:focus {
+     text-decoration: none;
+     color: #f60 !important;
+}
 
-     color:#ee9;
+a:visited {
+     color: #7b7;
+     text-decoration: none;
+}
+
+a:active {
+     color: #f90 !important;
+}
+
+th {
+     color: #ee9;
      font-size: 9pt;
-     padding:5px 10px;
-     font-size:10pt;
+     padding: 5px 10px;
+     font-size: 10pt;
+     text-align: left;
 }
 
 td {
+     color: #ee9;
+     line-height: 12pt;
+     padding: 5px;
+     font-size: 9pt;
+     vertical-align: middle;
+}
 
-     color:#ee9;
-     line-height:12pt;
-     padding:5px 10px;
-     font-size:8pt;
-     vertical-align:center;
+td.checkbox {
+     width: 32px !important;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%);
+     min-width: 16px;
+     min-height: 16px;
+}
+
+input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="checkbox"]:focus, input[type="radio"]:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+}
+
+div#buttons + div > table {
+     width: 100%;
+     border: 1px solid #2a5f29;
+     margin-top: -46px;
+}
+
+div#buttons + div > table > tbody > tr > td {
+     padding-top: 51px !important;
+}
+
+div#buttons + div > table > tbody > tr > td:first-child {
+     text-align: right;
+}
+
+div#buttons + div > table > tbody > tr > td {
+     text-align: left;
+}
+
+form[action="addressbook"] > p.buttons {
+     margin-bottom: -16px;
+}
+
+td > img[width="320"], td > img[src^="/imagegen"] {
+     border-radius: 4px;
+     width: 240px;
+     height: 240px;
+     border: 1px solid #2a5f29;
+     padding: 5px;
+     margin: 10px 3px;
+     background: #000;
 }
 
 ol, ul {
      margin: 0 20px 0 10px;
+     display: table-row;
+     padding: 0px 10px;
 }
 
 li {
-     color:#ee9;
-     line-height:12pt;
+     color: #ee9;
+     line-height: 12pt;
      margin: 0;
-     font-size:8pt;
+     font-size: 9pt;
      list-style: square;
 }
 
 tr.list1 {
-     background-color:#010;
+     background-color: #010;
 }
 
 tr.list0 {
-     background-color:#000;
+     background-color: #000;
 }
 
 p.messages {
-     background-color:#000;
+/*     background-color:#000; */
      color:#ee9;
-     border: 1px solid #494;
-     padding: 5px;
+     border: 1px solid #2a5f29;
+     padding: 5px 5px 10px;
      margin: 5px 0 10px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     margin: -15px 0 14px;
+     border-radius: 0;
 }
 
-#help {
-     border: 1px solid #494;
-     padding: 10px 20px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin: 0 0 15px;
+.help {
+     border: 1px solid #2a5f29;
+     padding: 20px 30px;
      background: #000;
 }
 
+.help h3 {
+     margin: 10px -31px;
+}
+
+.help h3:first-child {
+     margin-top: -21px;
+}
+
+.help ul li:last-child {
+     margin-bottom: -10px;
+} 
+
+#helpsubs {
+     padding: 0;
+}
+
+#helpsubs p {
+     border: none;
+}
+
+div#content {
+}
+
+div#content p {
+     padding: 0 10px;
+}
+
 p.footer {
      font-size:7pt;
      text-align: center;
@@ -142,136 +438,147 @@ p.footer {
 p.buttons, #buttons {
      text-align: right;
      margin: 5px 0 -5px;
+     padding: 0 3px;
+}
+
+div#book + div#buttons {
+     border: 1px solid #2a5f29;
+     padding: 0 0 10px;
+     margin-top: -1px;
+}
+
+form[action="export"] > div#buttons {
+     border: 1px solid #2a5f29;
+     padding: 0 0 10px;
+     margin-top: 15px;
+     background: #000;
+}
+
+div#config > textarea, div#content > textarea {
+     border-radius: 0;
+     margin-top: -17px;
+}
+
+textarea[name="config"] {
+     height: 220px;
+     overflow-y: scroll;
+     resize: none;
+}
+
+div#config + div#buttons, div#content + div#buttons {
+     border: 1px solid #2a5f29;
+     margin-top: -3px;
+     padding: 5px;
+     margin-bottom: 15px;
+     background: #000;
 }
 
 .illustrate {
+     max-width: 90%;
+     height: auto;
      margin: 20px 0 15px;
      padding: 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
      border-radius: 4px;
      border: 1px solid #001;
      font-size: 10pt;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+     box-shadow: inset 0px 0px 1px 0px #002;
      background: #fff;
+     filter: invert(1) sepia(100%) hue-rotate(30deg);
+     -webkit-filter: invert(1) sepia(100%) hue-rotate(30deg);
 }
 
-#book table {
-     width: 100%;
+div#book {
+     padding: 0;
 }
 
-.destinations textarea {
+#book table {
      width: 100%;
-     padding: 2px;
+     border: 1px solid #2a5f29;
+     margin-top: -10px;
 }
 
-.page {
-     color:#ee9;
-     margin: 10px 0;
-     padding: 0;
-     font-size: 8pt !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+#book table th {
+     padding: 10px 0;
+     background: url(/themes/console/dark/images/header.png) repeat-x scroll center center #000;
+     background-image: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+     border-bottom: 1px solid #2a5f29;
 }
 
-.iframed .page {
-     margin: 0;
+#book table td {
+     border-bottom: 1px solid #141;
 }
 
-input[type=submit], input[type=reset] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
+#book table tr:hover {
+     background: #001a00;
 }
 
-input[type=submit]:hover, input[type=reset]:hover {
-     background: #000;
-     color: #f60;
-     border: 1px solid #f60;
-     -moz-box-shadow: inset 0 1px 1px 0 #ee9;
-     box-shadow: inset 0 1px 1px 0 #ee9;
+#book th:first-child {
+     background: url(/themes/console/dark/images/header.png) repeat-x scroll center center #000;
+     background: url(images/bin.png) center center no-repeat, linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
 }
 
-/*
-input[type=reset] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
-     opacity: 0.9;
+#book input[type="checkbox"] {
+     margin: 0;
+}
+	
+div#add {
+     border: 1px solid #2a5f29;
+     padding: 0 0 10px;
+     margin-top: 20px;
+     background: #000;
 }
 
-input[type=reset]:hover {
-     background: #22a;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+#add h3 {
+     margin-top: -6px;
+     margin-left: -1px;
+     margin-right: -1px;
+     padding: 5px 10px;
+     font-size: 10pt;
 }
-*/
 
-input.accept {
-     background: #ddf url('/themes/console/images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#add table {
+     width: 100%;
+     width: calc(100% - 1px);
+     margin: -10px 10px 0 0;
 }
 
-input.add {
-     background: #ddf url('/themes/console/images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#add td:first-child {
+     text-align: right;
 }
 
-input.cancel {
-     background: #ddf url('/themes/console/images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#add td:last-child {
+     width: 94%;
 }
 
-input.delete {
-     background: #ddf url('/themes/console/images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#add p.buttons {
+     margin-top: 5px;
+     border-top: 1px solid #2a5f29;
+     padding-top: 5px;
 }
 
-input.export {
-     background: #ddf url('/themes/console/images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.page {
+     color:#ee9;
+     margin: 10px 0;
+     padding: 0 5px;
+     font-size: 9pt !important;
+     box-shadow: inset 0px 0px 1px 0px #002;
 }
 
-input.reload {
-     background: #ddf url('/themes/console/images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.iframed .page {
+     margin: 0;
+     padding: 0 15px;
 }
 
-input.search {
-     background: #ddf url('/themes/console/images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input[type="submit"]:hover, input[type="reset"]:hover, input[type="submit"]:focus, input[type="reset"]:focus {
+     background: #000;
+     color: #f60;
+     border: 1px solid #f60;
+     box-shadow: inset 0 1px 1px 0 #ee9;
 }
 
-input.search[type="text"] {
-     background: #eef url('/themes/console/images/magnifier.png') no-repeat 2px center;
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     border: none;
+     outline: none;
 }
 
 input {
@@ -279,48 +586,161 @@ input {
      font-weight: bold;
      text-align: left;
      padding: 3px 4px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494;
+     border-radius: 2px;
+     border: 1px solid #2a5f29;
      background: #000 none !important;      
      color: #494;
      margin: 2px 4px 2px 0;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
      min-width: 64px !important;
 }
 
-input[type=submit], input[type=reset] {
+input[type="submit"], input[type="reset"] {
      color: #494;
      background: #000;
      border: 1px outset #191;
-     padding: 2px !important;
-     box-shadow: 0 1px 1px 0 #119911 inset;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     border-radius: 2px;
+     margin: 5px;
+     padding: 4px 2px !important;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
      text-align: center;
      min-height: 22px !important;
+     min-width: 80px !important;
 }
 
 input[type=submit]:active, input[type=reset]:active {
      background: #f60 !important;
      color: #ee9 !important;
-     border: 1px solid #f60;
+     border: 1px inset #f60;
+     filter: none;
+     box-shadow: none;
 }
 
-textarea {
-     color: #494;
+input[type="submit"], input[type="reset"], select, button { /* webkit/blink fix for oversaturated colors */
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%) !important;
+}
+
+input[type="text"] {
+     padding: 4px !important;
+}
+
+input[type="text"], textarea {
      background: #000;
-     border: 1px solid #494;
-     padding: 2px !important;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     background: linear-gradient(to bottom, #000 0%, #010 100%) !important;
+     box-shadow: inset 0 0 3px 3px #000;
+     color: #bb7;
+}
+
+textarea {
+     color: #bb7;
+     border: 1px solid #2a5f29;
+     padding: 3px;
+     font: bold 8.5pt "Noto Mono", "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     border-radius: 2px;
+     width: 100%; 
+     height: 120px;
+     line-height: 140%;
+     resize: none;
+}
+
+textarea[cols="70"] {
+     width: 100% !important;
+     height: 40px;
+}
+
+.destinations textarea {
      width: 100%;
-     height: 100px;
-     spell-check: false;
+     width: calc(100% - 3px);
+     padding: 1px !important;
+     height: 34px;
+     resize: none;
 }
 
 input:focus, textarea:focus {
-     color: #ee9;     
+     color: #ee9;
+     background: #000 !important;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
+}
+
+/* topnav */
+
+#navi {
+     padding: 8px 3px !important;
+}
+
+#navi a {
+     border: 1px solid #494;
+     border-radius: 2px;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+}
+
+#navi a:hover {
+    border: 1px solid #f60;
+}
+
+#navi a:active {
+    border: 1px solid #f90;
+    box-shadow: inset 2px 2px 2px #000;
+    background-blend-mode: luminosity;
+}
+
+#navi a.abook {
+     background: #000 url(/themes/susidns/images/abook.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/abook.png) 5px center no-repeat, linear-gradient(to bottom, #020 0%, #020 50%, #000 50%, #000 100%);
+     padding: 4px 5px 4px 24px;
+}
+
+#navi a#subs {
+     background: #000 url(/themes/susidns/images/subs.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/subs.png) 5px center no-repeat, linear-gradient(to bottom, #020 0%, #020 50%, #000 50%, #000 100%);
+     padding: 4px 5px 4px 24px;
+}
+
+#navi a#config {
+     background: #000 url(/themes/console/images/buttons/configure.png) 5px center no-repeat;
+     background: url(/themes/console/images/buttons/configure.png) 5px center no-repeat, linear-gradient(to bottom, #020 0%, #020 50%, #000 50%, #000 100%);
+     padding: 4px 5px 4px 24px;
+}
+
+#navi a#overview {
+     background: #000 url(/themes/susidns/images/overview.png) 5px center no-repeat;
+     background: url(/themes/susidns/images/overview.png) 5px center no-repeat, linear-gradient(to bottom, #020 0%, #020 50%, #000 50%, #000 100%);
+     padding: 4px 5px 4px 24px;
+}
+
+#navi p {
+     text-align: center !important;
+     text-transform: capitalize;
+     font-weight: bold;
+     padding: 2px 5px !important;
+     margin: 0 !important;
+}
+
+#navi p > * {
+     vertical-align: middle;
+}
+
+/* page titles */
+
+.headline h3 {
+     padding: 10px 5px 10px 35px;
+     background: url(/themes/susidns/images/addressbook.png) 5px center no-repeat, linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%);
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+.headline#subscriptions h3 {
+     background: url(/themes/susidns/images/subs_24.png) 5px center no-repeat, linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%);
+}
+
+.headline#config h3 {
+     background: url(/themes/susidns/images/configure_24.png) 5px center no-repeat, linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%);
 }
diff --git a/installer/resources/themes/susidns/images/abook.png b/installer/resources/themes/susidns/images/abook.png
new file mode 100644
index 0000000000000000000000000000000000000000..5821b4d768132287473b97bf9e0ce84dde12d42d
Binary files /dev/null and b/installer/resources/themes/susidns/images/abook.png differ
diff --git a/installer/resources/themes/susidns/images/addressbook.png b/installer/resources/themes/susidns/images/addressbook.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee3a32eced6a139390fff886eb1d800b445e8159
Binary files /dev/null and b/installer/resources/themes/susidns/images/addressbook.png differ
diff --git a/installer/resources/themes/susidns/images/configure_24.png b/installer/resources/themes/susidns/images/configure_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c07e6cdc552ceff7b100b3893b26212093bcfcc
Binary files /dev/null and b/installer/resources/themes/susidns/images/configure_24.png differ
diff --git a/installer/resources/themes/susidns/images/drive.png b/installer/resources/themes/susidns/images/drive.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6822468da74a12271c2344eea751ac8e2c98a0f
Binary files /dev/null and b/installer/resources/themes/susidns/images/drive.png differ
diff --git a/installer/resources/themes/susidns/images/how.png b/installer/resources/themes/susidns/images/how.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d1e26192b6e0005b5e94c35a712faf98fc68084
Binary files /dev/null and b/installer/resources/themes/susidns/images/how.png differ
diff --git a/installer/resources/themes/susidns/images/how_fr.png b/installer/resources/themes/susidns/images/how_fr.png
new file mode 100644
index 0000000000000000000000000000000000000000..43da5d091e98e8a034b523799d89976080c4a981
Binary files /dev/null and b/installer/resources/themes/susidns/images/how_fr.png differ
diff --git a/installer/resources/themes/susidns/images/logo.png b/installer/resources/themes/susidns/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fda6650c2b00cb08c83d72baf58324e87a9013e
Binary files /dev/null and b/installer/resources/themes/susidns/images/logo.png differ
diff --git a/installer/resources/themes/susidns/images/overview.png b/installer/resources/themes/susidns/images/overview.png
new file mode 100644
index 0000000000000000000000000000000000000000..471676bfc914432603993c99b43acb7f4c8b958c
Binary files /dev/null and b/installer/resources/themes/susidns/images/overview.png differ
diff --git a/installer/resources/themes/susidns/images/subs.png b/installer/resources/themes/susidns/images/subs.png
new file mode 100644
index 0000000000000000000000000000000000000000..b586aaea2d52bbd497661498cb29747ecc7ff930
Binary files /dev/null and b/installer/resources/themes/susidns/images/subs.png differ
diff --git a/installer/resources/themes/susidns/images/subs_24.png b/installer/resources/themes/susidns/images/subs_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..767af42d54eed4bf2622a39a74134c3459f62252
Binary files /dev/null and b/installer/resources/themes/susidns/images/subs_24.png differ
diff --git a/installer/resources/themes/susidns/light/images/logo.png b/installer/resources/themes/susidns/light/images/logo.png
deleted file mode 100644
index 7cf9954786c84fe0d218c0e6a6361d7ea07673e9..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/susidns/light/images/logo.png and /dev/null differ
diff --git a/installer/resources/themes/susidns/light/susidns.css b/installer/resources/themes/susidns/light/susidns.css
index 398a369e77815c3445702afa1ade5d815108bb12..2a30eaa007dd72880c8d3f4a72c0b5e5b6d700e6 100644
--- a/installer/resources/themes/susidns/light/susidns.css
+++ b/installer/resources/themes/susidns/light/susidns.css
@@ -1,245 +1,843 @@
+/* Susimail "Light" theme by dr|z3d */
+/* Codename "Corporat" */
+
 body {
-     font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background-color: #f0f0f0;
-     color:#001;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     background-color: #fff;
+     background: #a4a4cb url(/themes/console/light/images/tile2.png) center center;
+     color: #333;
+     margin: 0 5px;
 }
 
 body.iframed {
      background: transparent !important;
      margin: 0;
+     overflow: hidden;
+}
+
+::selection {
+     background: #27377f !important;
+     color: white;
+}
+
+::-moz-selection {
+     background: #27377f !important;
+     color: white;
+}
+
+#logo {
+     margin: -5px 0 -1px;
+     text-align: center;
+     background: #eef url(/themes/susidns/images/logo.png) center center no-repeat;
+     background: url(/themes/susidns/images/logo.png) center center no-repeat, linear-gradient(to bottom, #fff, #eef);
+     height: 55px;
+     background-size: auto 50px, 100% 100%;
+     border: 1px solid #7778bf;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+#logo img {
+     display: none;
 }
 
 .iframed #logo {
      display: none;
 }
 
-#navi p{
+#logo + hr, #navi + hr {
+     display: none;
+}
+
+hr {
+     display: none;
+}
+
+#navi {
+     margin: -1px 0 0;
+     padding: 12px 3px;
+     text-align: center;
+     border: 1px solid #7778bf;
+     background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 255, 0.5) 50%, rgba(255, 255, 255, 1) 100%), linear-gradient(to bottom, #fff 0%, #fff 51%, #eef 51%, #ddf 100%);
+     border-radius: 2px 2px 0 0;
+     box-shadow: inset 0 0 0 1px #fff;
+     z-index: 100;
+     font-weight: bold;
+     vertical-align: middle;
+     font-size: 9pt;
+}
+
+.iframed #navi {
+     margin: -1px 0 0;
+     padding: 3px 2px;
+}
+
+#navi a {
+     border: 1px solid #77789f;
+     border-radius: 2px;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+     display: inline-block;
+     margin: 2px 0;
+}
+
+#navi a.abook {
+     background: #fff url(/themes/susidns/images/abook.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#subs {
+     background: #fff url(/themes/susidns/images/subs.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#config {
+     background: #fff url(/themes/console/images/buttons/configure.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#overview {
+     background: #fff url(/themes/susidns/images/overview.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi p {
      text-align: center !important;
      text-transform: capitalize;
      font-weight: bold;
+     padding: 0 5px !important;
+     margin: 0 !important;
+}
+
+.headline {
+     border: 1px solid #7778bf;
+     margin: -1px 0 -2px;
+     padding: 8px 5px;
+     background: #fff;
+     background: linear-gradient(to right, #fff 70%, #eef);
+}
+
+h3, h4, th, #filter span {
+     color: #31334f;
+}
+
+.headline h3 {
+     margin: 0;
+     padding: 2px 5px 3px 30px;
+     background: url(/themes/susidns/images/addressbook.png) left center no-repeat;
+     font-size: 11pt; 
+}
+
+.headline#subscriptions h3 {
+     background: url(/themes/susidns/images/subs_24.png) left center no-repeat;
+}
+
+.headline#config h3 {
+     background: url(/themes/susidns/images/configure_24.png) left center no-repeat;
+}
+
+span.location {
+     font-size: 9pt;
+     font-weight: normal;
+     text-transform: none;
+     letter-spacing: normal;
+     word-spacing: normal;
+}
+
+.headline h4 {
+     border-top: 1px solid #7778bf;
+     margin: 5px -6px 0;
+     padding: 8px 10px 0;
+     padding: 8px 10px 0 33px;
+     background: url(/themes/susidns/images/drive.png) 9px 6px no-repeat;
+}
+
+#content {
+     border: 1px solid #7778bf;
+     padding: 0 15px;
+     margin: -1px 0 0;
+     background: #fff;
+}
+
+.iframed #content {
+     border-radius: 0 0 2px 2px;
+     overflow: hidden; 
+}
+
+form[action="subscriptions"] #content {
+     margin-top: 1px;
+}
+
+#content textarea  {
+     margin: 2px -15px;
+     padding: 5px 0;
+     border: none;
+     width: 100%;
+     resize: none;
+     filter: none;
+     -webkit-filter: none;
+     box-shadow: none;
+}
+
+#content + #buttons {
+     border: 1px solid #7778bf;
+     margin: -1px 0 10px;
+}
+
+#content h3 {
+     border: 1px solid #77789f;
+     padding: 3px 8px;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+div#add {
+     border: 1px solid #7778bf;
+     padding: 0 15px;
+     background: #fff;
+}
+
+#add h3 {
+     border-bottom: 1px solid #7778bf;
+     margin: 0 -15px;
+     padding: 5px 10px;
 }
 
-p {
-     color:black;
-     line-height:12pt;
-     margin-left:5mm;
-     margin-right:5mm;
-     font-size:9pt;
+#add table {
+     width: 100%;
+     margin: 5px 0;
+}
+
+#add table td:first-child {
+     width: 50px;
+     white-space: nowrap;
+     text-align: right;
+}
+
+#add td {
+     padding: 3px;
+}
+
+div#add p.buttons {
+     border: 1px solid #7778bf;
+     margin: 0 -16px -1px;
+}
+
+div.help {
+     border: 1px solid #7778bf; 
+     padding: 0 15px;
+     background: #eef;
+     margin: -11px 0 0;
+}
+
+.iframed div.help {
+     border-radius: 0 0 2px 2px;
+} 
+
+.help#helpsubs {
+     background: #eef url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     padding: 0 15px 0 45px;
+     font-size: 10pt;
+}
+
+div.help h3 {
+     border: 1px solid #7778bf;
+     padding: 5px 10px;
+     margin: -1px -16px 0;
+     background: #fff;
+}
+
+p#help {
+     margin: 0;
+     padding: 0;
+}
+
+p, #helpconfig {
+     font-size: 10pt;
      text-align: justify;
 }
 
 span.addrhlpr {
-     font-size:8pt;
+     font-size: 9pt;
 }
 
 h3 {
-     color:black;
-     font-size:12pt;
+     font-size: 11pt;
      letter-spacing: 0.08em;
-     line-height:18pt;
-     font-weight:bold;
+     font-weight: bold;
+     text-transform: uppercase;
+     margin-bottom: 0;
 }
 
 a {
-     color:#327BBF;
+     color: #359;
      text-decoration:none;
      font-weight: bold;
+     outline: none;
 }
 
-a:hover {
-     text-decoration:underline;
-     font-weight: bold;
+a:hover, a:focus {
+     text-decoration: none;
+     color: #f60;
+}
+
+a:active {
+     color: #f30;
 }
 
 th {
-     color:black;
-     line-height:12pt;
      padding:5px 10px;
-     font-size:10pt;
+     font-size: 10pt;
 }
 
 td {
-     color:black;
-     line-height:12pt;
-     padding:5px 10px;
-     font-size:9pt;
-     vertical-align:center;
+     padding: 5px 10px;
+     font-size: 9pt;
+     vertical-align: middle;
 }
 
 li {
-     color:black;
-     line-height:12pt;
-     margin-left:5mm;
-     margin-right:5mm;
-     font-size:9pt;
+     font-size: 9pt;
+     list-style: square;
+     line-height: 140%;
+}
+
+li b {
+     text-transform: capitalize;
 }
 
 tr.list1 {
-     background-color:#E8E8EC;
+     background-color: #f7f8ff;
 }
 
 tr.list0 {
-     background-color:#F0F0F4;
+     background-color: #eef;
 }
 
-p.messages {
-     background-color:#92CAFF;
-     color:#327BBF;
-     color:black;
-     border-style:dotted;
-     padding-top: 5mm;
-     padding-right: 5mm;
-     padding-bottom: 5mm;
-     padding-left: 5mm;
-}
-
-#help {
-     border: 1px solid;
-     padding: 10px;
-     border-radius: 4px;
+div#messages {
+     bottom: 0;
+     left: 0;
+     position: fixed;
+     right: 0;
+     text-align: center;
+     margin: 0 -20px;
+     padding: 10px 15px;
+     z-index: 10;
+     opacity: 0.85;
+     border-top: 1px solid #fff;
+     background: #113;
 }
 
-p.footer {
-     font-size:7pt;
+.iframed div#messages {
+     bottom: 22px;
+     border: none;
+     margin: 0 1px;
+}
+
+div#messages:empty {
+     display: none;
+}
+
+p.messages {
+     color: #fff;
      text-align: center;
+     font-weight: bold;     
+}
+
+#footer {
+     border: 1px solid #7778bf;
+     background: #eef;
+     background: linear-gradient(to right, #eef, #fff, #eef);
+     margin: -1px 0 -5px;
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
 .iframed #footer {
      display: none;
 }
 
+p.footer {
+     font-size: 7pt;
+     text-align: center;
+     margin: 4px;
+}
+
 .illustrate {
-     margin: 10px;
-     padding: 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     max-width: 90%;
+     height: auto;
+     margin: 10px 10px 20px;
+     padding: 2px 10px;
      border-radius: 4px;
-     border: 1px solid #001;
+     border: 1px solid #447;
      font-size: 10pt;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+     box-shadow: inset 0 0 0 1px #ccc;
      background: #fff;
+     opacity: 0.85;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
 }
 
 .page {
-     background-color: #fff;
-     color:#001;
+/*     background-color: #fff;*/
      margin: 0;
-     padding: 10px;
-/*     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #001; */
+     padding: 10px 0;
      font-size: 9pt !important;
-     line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+     border: 1px solid #7778bf;
+     border: none;
+     border-radius: 2px;
+     min-width: 700px;
 }
 
 .iframed .page {
-     background-color: #f0f0f0;
-     margin: 0;
+     background-color: transparent !important;
+     margin: 1px;
+     border: none;
+     padding: 10px 0 0;
+     overflow: hidden !important;
+     min-width: 520px;
 }
 
 textarea {
      width: 100%;
+     border-radius: 2px;
+     border: 1px solid #7778bf;
+     padding: 1px 3px;
+     color: #333;
+     resize: none;
+}
+
+input[type="text"], input[type="password"], textarea {
+     padding: 5px !important;
+     box-shadow: inset 1px 1px 2px #bbb;
+     border: 1px solid #999;
+     border-radius: 2px;
+     color: #333;
+     background: #fff;
+}
+
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     color: #111;
+     box-shadow: 0 0 1px #89f;
+     background: #fff !important;
+}
+
+textarea[name="config"] {
+     border-radius: 0;
+     box-shadow: none;
+     border: 1px solid #7778bf;
+}
+
+#config + #buttons {
+     border: 1px solid #7778bf;
+     margin: -2px 0 10px;
+}
+
+#filter, #search {
+    border: 1px solid #7778bf;
+    padding: 5px 15px;
+    margin-bottom: -1px;
+    background: #fff;
+}
+
+#search {
+     margin-bottom: -2px;
+     padding: 0;
+     text-align: center;
 }
 
-#buttons, .buttons {
+#search table {
+     margin: 0;
+     display: inline;
+}
+
+td.search {
+     text-align: left;
+     padding: 0;
+}
+
+td.search:first-child {
      text-align: right;
 }
 
-input[type=submit] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
-     opacity: 0.9;
+#filter {
+     padding: 0 15px;
+     font-weight: bold;
+     text-align: center;
+}
+
+#filter a {
+     border: 1px solid #7778bf;
+     padding: 3px 8px;
+     display: inline-block;
+     text-align: center;
+     border-radius: 2px;
+     text-transform: capitalize;
+     margin: 2px 1px;
+     background: #fff;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
 }
 
+#filter a:hover {
+     color: #f60;
+}
 
-input[type=submit]:hover {
-     background: #22a;
+#filter a:active {
      color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+     background: #f60;
+     text-decoration: none;
+     box-shadow: inset 0 0 0 1px #fff;
+}
+
+#filter span {
+     display: inline-block;
+     text-align: center;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     vertical-align: middle;
+     border: 1px solid #77789f;
+     border-radius: 0 0 2px 2px;
+     padding: 6px 10px;
+     width: 40%;
+     min-width: 300px;
+     margin: -1px 10%;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+}
+
+#filter span a {
+     margin: -8px 1px;
+     letter-spacing: normal;
+     word-spacing: normal;
+     padding: 2px 5px;
+}
+
+
+#filter span b {
+     font-size: 11pt;
+     margin: 0 5px;
+     text-transform: uppercase;
+     color: #111;
+     line-height: 80%;
+}
+
+#filter p {
+     text-align: center;
+}
+
+p#filtered {
+     background: #eef url(/themes/console/images/buttons/filter.png) 8px center no-repeat;
+     padding: 10px 10px 10px 32px !important;
+}
+
+div#book, #messages + p {
+     border: 1px solid #7778bf;
+     padding: 10px;
+}
+
+div#book {
+     margin: 1px 0 -1px;
+     background: #fff;
+}
+
+#messages + p {
+     margin: 1px 0 -1px;
+}
+
+form {
+     margin: 0;
+     padding: 0;
+}
+
+th {
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+}
+
+table {
+     background: #fff;
+}
+
+table.book {
+     width: 100%;
+/*     border: 1px solid #7778bf;*/
+}
+
+.book th:first-child  {
+     background: #fff url(/themes/console/images/buttons/delete.png) center center no-repeat;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     width: 16px;
+}
+
+.book th {
+     text-align: left;
+     padding-left: 3px;
+}
+
+.book th:last-child {
+     padding: 0 3px 0 0;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+}
+
+.book tr:hover td {
+     background: #ffd;
+}
+
+.book tr:first-child td, .book tr.head + .list1 td {
+     border-top: none;
+}
+
+.book td {
+     border-top: 1px solid #bbf;
+     padding: 3px;
+}
+
+.book td:first-child {
+     width: 16px;
+     white-space: nowrap;
+     font-weight: bold;
+} 
+
+.book th {
+     border-bottom: 1px solid #7778bf;
 }
 
-input[type=reset] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
+.book textarea {
+     padding: 0 !important;
+     margin: 0;
+     border: none;
+     border-left: 1px solid #bbf; 
+     resize: none;
+     background: none;
+}
+
+div#book {
+    padding: 0;
+    background: #eef;
+}
+
+p.book {
+     background: url(/themes/susidns/images/addressbook.png) 5px center no-repeat;
+     padding: 5px 5px 5px 33px;
+}
+
+td.destinations {
+     padding: 0;
+     background: #fff;
+}
+
+td.destinations textarea {
+     box-shadow: none;
+     height: 28px !important;
+}
+
+#buttons {
+     padding: 10px 5px;
+     text-align: right;
+     background: #fff;
+}
+
+p.buttons {
+     text-align: right;
+     padding: 0;
+     margin: 0;
+}
+
+table + p.buttons {
+     padding: 10px 5px;
+}
+
+#book + #buttons {
+     border: 1px solid #7778bf;
+     margin-top: -1px;
+}
+
+/* identicon + qr image */
+#book + #buttons + div {
+     border: 1px solid #7778bf;
+     margin-top: -1px;
+}
+
+#book + #buttons + div table {
+     width: 100%;
+}
+
+#book + #buttons + div td {
+     width: 50%;
+}
+
+#book + #buttons + div td:first-child {
+     text-align: right;
+}
+
+img[src^="/imagegen"] {
+     height: 256px;
+     width: 256px;
+     border: 1px solid #7778bf;
+     padding: 3px;
+     border-radius: 2px;
+     background: #fff;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+form[action="export"] {
+     border: 1px solid #7778bf;
+     margin: -1px 0;
+}
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
+}
+
+input[type="submit"], input[type="reset"] {
      margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
+     font: 9pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     padding: 4px 3px;
      text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
-     opacity: 0.9;
+     border-radius: 2px;
+     box-shadow: inset 0px 2px 8px 0px #fff;
+     border: 1px solid #999;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     color: #333;
+     filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+}
+
+input[type=submit]:hover, input[type=reset]:hover, input[type=submit]:focus, input[type=reset]:focus {
+     background: #eee;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     color: #111;
+     border: 1px solid #f60;
+     box-shadow: inset 0px 0px 0px 1px #fff;
+     filter: saturate(100%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(100%) drop-shadow(0 0 1px #ccc);
 }
 
-input[type=reset]:hover {
-     background: #22a;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+input[type="submit"]:active, input[type="reset"]:active {
+     box-shadow: inset 2px 2px 2px #555;
+     background-blend-mode: luminosity;
 }
 
 input.accept {
-     background: #ddf url('/themes/console/images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/yes.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept:hover, input.accept:focus {
+     background: #fff url(/themes/console/images/buttons/yes.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
+}
+
+/*
+input.accept[value="Replace"] {
+     background: #eee url(/themes/console/images/buttons/edit2.png) no-repeat 6px center;
+     background:url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 21px;
+}
+
+input.accept[value="Replace"]:hover, input.accept[value="Replace"]:focus {
+     background: #fff url(/themes/console/images/buttons/edit2.png) no-repeat 6px center;
+     background:url(/themes/console/images/buttons/edit2.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
+*/
 
 input.add {
-     background: #ddf url('/themes/console/images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/add.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.add:hover, input.add:focus {
+     background: #fff url(/themes/console/images/buttons/add.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.cancel {
-     background: #ddf url('/themes/console/images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/no.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.cancel:hover, input.cancel:focus {
+     background: #fff url(/themes/console/images/buttons/no.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.delete {
-     background: #ddf url('/themes/console/images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/delete.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/delete.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.delete:hover, input.delete:focus {
+     background: #fff url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.export {
-     background: #ddf url('/themes/console/images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/go.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.export:hover, input.export:focus {
+     background: #fff url(/themes/console/images/buttons/go.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.reload {
-     background: #ddf url('/themes/console/images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/update.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 5px 5px 5px 21px;
+}
+
+input.reload:hover, input.reload:focus {
+     background: #fff url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.search {
-     background: #ddf url('/themes/console/images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/search.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/search.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     background-size: 14px 14px, 100% 100%;
+     padding: 6px 8px 6px 22px;
+}
+
+input.search:hover, input.search:focus {
+     background: #fff url(/themes/console/images/buttons/search_hover.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/search_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     background-size: 14px 14px, 100% 100%;
 }
 
 input.search[type="text"] {
-     background: #eef url('/themes/console/images/magnifier.png') no-repeat 2px center;
+     background: #fff url(/themes/console/images/buttons/search.png) no-repeat 6px center;
+     padding: 5px 5px 5px 28px !important;
+     margin: 1px 5px 0; 
+}
+
+input.search[type="text"]:focus {
+     background: #fff url(/themes/console/images/buttons/search.png) no-repeat 6px center !important;
+}
+
+form[action="addressbook"] table {
+     width: 100% !important;
+     font-weight: bold;
 }
diff --git a/installer/resources/themes/susidns/midnight/susidns.css b/installer/resources/themes/susidns/midnight/susidns.css
index 6e4618299530cf72b9913003f55c3072098380ae..5fcde48bcc999d980b01cfc25b06411440f3bc2c 100644
--- a/installer/resources/themes/susidns/midnight/susidns.css
+++ b/installer/resources/themes/susidns/midnight/susidns.css
@@ -1,23 +1,45 @@
-/* Susidns Midnight theme by dr|z3d */
+/* SusiDNS "Midnight" theme */
+/* Author: dr|z3d */
 
 body {
-     font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
      background-color: #000;
-     color: #eef;
+     color:#C9CEFF;
+     margin: 0 10px;
+     font-size: 9pt;
 }
 
 body.iframed {
      background: transparent !important;
      margin: 0;
+     padding: 0;
+     overflow: hidden;
 }
 
 #logo {
      display: none;
 }
 
+div#navi  {
+     border: 1px solid #2d295f;
+     padding: 5px 0;
+     background: #002 url(/themes/console/midnight/images/header.png) repeat-x scroll center center !important;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+     margin-bottom: 30px;
+}
+
+/*
+.iframed #navi {
+     border-left: none;
+     border-right: none;
+     border-radius: 0;
+}
+*/
+
 #navi p {
      text-align: center;
      font-weight: bold;
+     font-size: 9pt;
 }
 
 #navi a:link {
@@ -25,109 +47,411 @@ body.iframed {
 }
 
 hr {
-     color: #99f;
-     background: #99f;
+     color: #2d295f;
+     background: #2d295f;
      height: 1px;
-     border: 0px solid #99f;
+     border: 0px solid #2d295f;
      width: 100%;
      margin: 5px 0;
      text-align: center;
+     display: none;
 }
 
-p {
-     color:#eef;
+div#filter {
+     border: 1px solid #2d295f;
+     padding: 0 0 15px;
+     text-align: center;
+}
+
+div#filter + div#search {
+     border: 1px solid #2d295f;
+     margin-top: 13px;
+}
+
+div#filter + div#search > form {
+     margin: 0;
+     padding: 0;
+}
+
+#filter p, #search td {
+     font-size: 10pt !important;
+     font-weight: bold;
+}
+
+#search input {
+     margin-left: 5px;
+}
+
+#filter p {
+     padding: 15px 10px 0;
+}
+
+#filter p:first-child {
+     padding-bottom: 0;
+}
+
+p#filtered {
+     margin-bottom: 10px !important;
+}
+
+#search {
+/*     border: 1px solid #494; */
+     padding: 0 10px;
+     margin-top: -1px !important;
+     padding-bottom: -20px;
+     margin-bottom: 20px;
+}
+
+#filter a:link, #filter a:visited {
+     text-transform: capitalize;
+     border: 1px solid #443da0;
+     border-radius: 2px;
+     padding: 2px 5px;
+     min-width: 16px;
+     text-align: center;
+     color: #443da0;
+     display: inline-block;
      margin: 0;
-     font-size: 8pt;
+}
+
+#filter span {
+     display: inline-block;
+     text-align: center;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     font-weight: bold;
+     word-spacing: 0.1em;
+     vertical-align: middle;
+     border: 1px solid #2d295f;
+     border-radius: 0 0 2px 2px;
+     padding: 5px 10px !important;
+     min-width: 300px;
+     margin: -1px 10%;
+     box-shadow: inset 0 0 0 1px #000;
+     background: url(/themes/console/midnight/images/header.png) repeat-x scroll center center #000;
+     background-image: linear-gradient(to bottom, #010010 0%, #020019 50%, #060051%, #0100100%) !important;
+}
+
+#filter span a, #filter span a:hover {
+     letter-spacing: normal;
+     word-spacing: normal;
+     display: inline-block;
+     border: none !important;
+     background: !important;
+}
+
+#filter span b {
+     font-size: 11pt;
+     margin: -3px 5px 0;
+     text-transform: uppercase;
+     color: #fff;
+     line-height: 80%;
+}
+
+#filter p {
+     text-align: center;
+}
+
+#search table {
+     margin: 0 auto;
+}
+
+p {
+     color:#C9CEFF;
+     margin: 0 0 4px;
+     font-size: 9pt;
      text-align: justify;
 }
 
+#messages + p, p.book {
+     border: 1px solid #2d295f;
+     background: #001 url(/themes/susidns/images/addressbook.png) 10px center no-repeat;
+     background-size: 24px 24px;
+     padding: 20px 20px 20px 42px !important; 
+}
+
+#messages:empty {
+     margin-top: -10px
+}
+
 span.addrhlpr {
      font-size:8pt;
 }
 
 h3 {
-     color:#eef;
+     color:#C9CEFF;
      font-size:10pt;
      font-weight:bold;
-     border: 1px solid #99f;
-     padding: 5px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #001 url("../../console/midnight/images/titles.png") repeat-x scroll center center !important;
+     border: 1px solid #2d295f;
+     padding: 7px 10px;
+     border-radius: 2px; 
+     background: #000 url(/themes/console/midnight/images/header.png) repeat-x scroll center center;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000 56%, #000 100%);
      letter-spacing: 0.08em;
-     padding: 6px;
-     text-shadow: 0 0 2px #001100;
+     word-spacing: 0.1em;
+     text-shadow: 0 0 2px #010011;
      text-transform: uppercase;
 }
 
+#content h3 {
+     border: none;
+     border-radius: 0;
+     border-bottom: 1px dotted #2d295f;
+     background: none !important;
+     margin: 0 20px 10px;
+     padding: 5px 10px;
+}
+
+#content p + h3 {
+      margin-top: 15px !important;
+}
+
+/*
+.iframed h3, .iframed h4 {
+     border: none;
+     border-bottom: 1px solid #443da0;
+     border-radius: 0;
+     background: none !important;
+     margin: 5px 0 10px;
+}
+*/
+
+.headline h3 {
+     border-radius: 2px 2px 0 0;
+     margin-top: -10px;
+}
+
+.headline h3:first-child {
+     font-size: 10.5pt;
+     margin-bottom: 24px;
+     border-radius: 0;
+}
+
+#content h3:first-child {
+     margin-top: -15px;
+     font-size: 10.5pt;
+}
+
+.headline h3:first-child + h4 {
+     margin-top: -25px;
+     margin-bottom: 25px !important;
+}
+
+#add h3 {
+     margin-top: -1px;
+     margin-left: -11px;
+     margin-right: -11px;
+     padding: 5px 10px;
+     font-size: 10pt;
+}
+
+#add table {
+     width: 100%;
+}
+
+#add td:last-child {
+     width: 94%;
+}
+
+.headline {
+     margin-top: -16px;
+}
+
+div#messages {
+}
+
+div#messages + p {
+     padding: 12px 10px 8px 20px;
+     font-size: 10pt;
+}
+
+div#book p {
+     font-size: 10pt;
+}
+
+h4 {
+     font-size: 9pt;
+     margin-top: -15px;
+     word-spacing: 0.1em;
+     border: 1px solid #2d295f;
+     padding: 8px 10px;
+     margin-bottom: 30px !important;
+     background: linear-gradient(to right, #000, #001);
+}
+
+div#messages > p.messages {
+     padding: 10px;
+}
+
+#messages p {
+     padding: 15px 15px 15px 40px !important;
+     background: url(/themes/console/images/info/infohelp.png) 6px center no-repeat;
+}
+
+/*
 a {
      color:#f60;
      text-decoration:none;
      font-weight: bold;
 }
+*/
 
-a:hover {
-     text-decoration:underline;
+a:link {
+     color: #443da0;
+     text-decoration: none;
      font-weight: bold;
+     outline: none;
 }
 
-th {
+a:hover, a:focus {
+     text-decoration: none;
+     color: #652787 !important;
+}
 
-     color:#ee9;
+a:visited {
+     color: #7670c2;
+     text-decoration: none;
+}
+
+a:active {
+     color: #4f0519 !important;
+}
+
+th {
+     color: #C9CEFF;
      font-size: 9pt;
-     padding:5px 10px;
-     font-size:10pt;
+     padding: 5px 10px;
+     font-size: 10pt;
+     text-align: left;
+}
+
+table.book td:first-child {
+     font-weight: bold;
 }
 
 td {
+     color: #C9CEFF;
+     padding: 5px;
+     font-size: 9pt;
+     vertical-align: center;
+}
 
-     color:#ee9;
-     line-height:12pt;
-     padding:5px 10px;
-     font-size:8pt;
-     vertical-align:center;
+td.checkbox {
+     width: 32px !important;
+}
+
+td.names a {
+     font-size: 9pt !important;
+}
+
+/*
+div#buttons + div > table {
+     width: 100%;
+     border: 1px solid #2d295f;
+     margin-top: -46px;
+}
+
+div#buttons + div > table > tbody > tr > td {
+     padding-top: 51px !important;
+}
+
+div#buttons + div > table > tbody > tr > td:first-child {
+     text-align: right;
+}
+
+div#buttons + div > table > tbody > tr > td {
+     text-align: left;
+}
+*/
+
+td > img[width="320"], td > img[src^="/imagegen"] {
+     border-radius: 2px;
+     width: 240px;
+     height: 240px;
+     border: 1px solid #2d295f;
+     padding: 5px;
+     margin: 10px 3px;
+     background: #000;
 }
 
 ol, ul {
      margin: 0 20px 0 10px;
+     display: table-row;
+     padding: 0px 10px;
 }
 
 li {
-     color:#ee9;
-     line-height:12pt;
+     color: #c9ceff;
+     line-height: 150%;
      margin: 0;
-     font-size:8pt;
+     font-size: 9pt;
      list-style: square;
 }
 
 tr.list1 {
-     background-color:#001
+     background-color: #010011;
 }
 
 tr.list0 {
-     background-color:#000;
+     background-color: #000;
 }
 
 p.messages {
-     background-color:#000;
-     color:#ee9;
-     border: 1px solid #99f;
-     padding: 5px;
+/*     background-color:#000; */
+     color:#C9CEFF;
+     border: 1px solid #2d295f;
+     padding: 5px 5px 10px;
      margin: 5px 0 10px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-}
-
-#help {
-     border: 1px solid #99f;
-     padding: 10px 20px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin: 0 0 15px;
-     background: #000;
+     margin: -15px 0 14px;
+     border-radius: 0;
+}
+
+.help {
+     border: 1px solid #2d295f;
+     padding: 20px 30px;
+     background: #001;
+     margin-bottom: 5px;
+}
+
+.help h3 {
+     margin: 10px -31px;
+     border-radius: 0;
+}
+
+.help h3:first-child {
+     margin-top: -21px;
+}
+
+.help ul li:last-child {
+     margin-bottom: -10px;
+} 
+
+.help p {
+     border: none;
+     padding: 0;
+}
+
+#helpsubs {
+     background: #001 url(/themes/console/images/info/infohelp.png) 12px center no-repeat;
+     padding: 15px 15px 15px 52px;
+}
+
+div#content {
+}
+
+/*
+.iframed #content {
+     margin: 0 10px;
+}
+*/
+
+div#content p {
+     padding: 0 30px;
+     font-size: 10pt;
+}
+
+#content p a, #helpconfig li, p.help {
+     font-size: 10pt;
 }
 
 p.footer {
@@ -139,192 +463,331 @@ p.footer {
      display: none;
 }
 
-p.buttons, #buttons {
+#buttons {
      text-align: right;
-     margin: 5px 0 -5px;
+     background: #001;
+     background: linear-gradient(to right, #001, #000) !important;
 }
 
-.illustrate {
-     margin: 20px 0 15px;
-     padding: 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #001;
-     font-size: 10pt;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
-     background: #fff;
+p.buttons, .buttons {
+     text-align: right;
+     margin: 5px 0 -5px;
+     padding: 0 3px;
 }
 
-#book table {
-     width: 100%;
+p.buttons {
+     border: 1px solid #2d295f;
+     padding: 8px 5px;
 }
 
-.destinations textarea {
-     width: 100%;
-     padding: 2px;
+div#book + div#buttons {
+     margin: -6px 0 20px !important;
 }
 
-.page {
-     color:#ee9;
-     margin: 10px 0;
+#add p.buttons {
+     border: none;
      padding: 0;
-     font-size: 8pt !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
 }
 
-.iframed .page {
+form[action="subscriptions"] {
      margin: 0;
 }
 
-input[type=submit], input[type=reset] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
+textarea[name="config"], textarea[name="content"] {
+     border-radius: 0;
+     margin-top: -17px;
+     resize: none;
+     border: 1px solid #2d295f;
+}
+/*
+.iframed textarea[name="config"], .iframed textarea[name="content"] {
+     margin: 0 0 20px;
 }
+*/
 
-input[type=submit]:hover, input[type=reset]:hover {
-     background: #000;
-     color: #f60;
-     border: 1px solid #f60;
-     -moz-box-shadow: inset 0 1px 1px 0 #ee9;
-     box-shadow: inset 0 1px 1px 0 #ee9;
+textarea[name="config"] {
+     height: 220px;
+     overflow-y: scroll;
+     resize: none;
 }
 
-/*
-input[type=reset] {
-     border: 1px outset #999;
-     background: #ddf;
-     color: #001;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #006;
-     opacity: 0.9;
+textarea[name="content"] {
+     
 }
 
-input[type=reset]:hover {
-     background: #22a;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+div#config + div#buttons, div#content + div#buttons {
+     border: 1px solid #2d295f;
+     margin-top: -3px;
+     padding: 5px;
+     margin-bottom: 15px;
+     background: #001;
+}
+
+.illustrate {
+     max-width: 90%;
+     height: auto;
+     margin: 20px 0 15px;
+     padding: 10px;
+     border-radius: 2px;
+     border: 1px solid #010011;
+     font-size: 10pt;
+     box-shadow: inset 0px 0px 1px 0px #020022;
+     background: #fff;
+     filter: sepia(100%) invert(100%);
+     -webkit-filter: sepia(100%) invert(100%);
+}
+
+div#book {
+     padding: 0;
+}
+
+#book table {
+     width: 100%;
+     border: 1px solid #2d295f;
+     margin-top: -10px;
 }
-*/
 
-input.accept {
-     background: #ddf url('/themes/console/images/accept.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#book table th {
+     padding: 5px 0;
+     background: url(/themes/console/midnight/images/header.png) repeat-x scroll center center #000;
+     background-image: linear-gradient(to bottom, #010010 0%, #020019 50%, #060051%, #0100100%) !important;
+     border-bottom: 1px solid #2d295f;
 }
 
-input.add {
-     background: #ddf url('/themes/console/images/add.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#book td {
+     border-bottom: 1px solid #17142f;
+     padding: 0;
+}
+
+#book table tr:hover {
+     background: #003;
+}
+
+#book, #messages, #filter, #search {
+     background: #001;
+}
+
+.headline + #book > table td {
+     padding: 5px;
 }
 
-input.cancel {
-     background: #ddf url('/themes/console/images/cancel.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.headline + #book > table td:first-child {
+     width: 120px;
+     white-space: nowrap;
+     text-align: right;
 }
 
-input.delete {
-     background: #ddf url('/themes/console/images/delete.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+.headline + #book > table td.destinations {
+     padding: 0;
 }
 
-input.export {
-     background: #ddf url('/themes/console/images/arrow_right.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+#buttons + div > table {
+     width: auto;
+     margin: auto;
 }
 
-input.reload {
-     background: #ddf url('/themes/console/images/arrow_refresh.png') no-repeat 2px center;
-     padding: 2px 3px 2px 20px;
-     min-height: 22px;
+div#add {
+     border: 1px solid #2d295f;
+     padding: 0 10px 15px;
+     margin-top: 20px;
+     background: #001;
 }
 
-input.search {
-     background: #ddf url('/themes/console/images/magnifier.png') no-repeat 2px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+.page {
+     color:#C9CEFF;
+     margin: 10px 0;
+     padding: 0;
+     font-size: 9pt !important;
+     box-shadow: inset 0px 0px 1px 0px #020022;
 }
 
-input.search[type="text"] {
-     background: #eef url('/themes/console/images/magnifier.png') no-repeat 2px center;
+.iframed .page {
+     margin: 1px 0 0;
+     overflow: hidden;
 }
 
 input {
      font-size: 9pt;
      font-weight: bold;
      text-align: left;
-     padding: 3px 4px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #99f;
-     background: #000 none !important;
-     color: #99f;
+     padding: 4px !important;
+     border-radius: 2px;
+     border: 1px solid #443da0;
+     background: #000 none !important;      
+     color: #443da0;
      margin: 2px 4px 2px 0;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
      min-width: 64px !important;
 }
 
-input[type="text"] {
-     color: #eef;
+input[type=submit]:hover, input[type=reset]:hover {
+     background: #000;
+     color: #652787;
+     border: 1px solid #652787;
+     box-shadow: inset 0 1px 1px 0 #C9CEFF;
+}
+
+input[type="checkbox"], .optbox {
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
 }
 
 input[type=submit], input[type=reset] {
-     color: #99f;
+     color: #443da0;
      background: #000;
-     border: 1px outset #119;
-     padding: 2px !important;
-     box-shadow: 0 1px 1px 0 #119 inset;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f;
+     padding: 4px 2px !important;
+/*     box-shadow: 0 1px 1px 0 #190f9b inset; */
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
      text-align: center;
-     min-height: 22px !important;
+     min-width: 90px;
 }
 
 input[type=submit]:active, input[type=reset]:active {
-     background: #f60 !important;
-     color: #eef !important;
-     border: 1px solid #f60;
+     background: #652787 !important;
+     color: #C9CEFF !important;
+     border: 1px solid #652787;
 }
 
 textarea {
-     color: #eef;
+     color: #7670c2;
      background: #000;
-     border: 1px solid #99f;
-     padding: 2px !important;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     border: 1px solid #443da0;
+     padding: 3px 5px;
+     font: bold 8.5pt "Noto Mono", "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     border-radius: 2px;
      width: 100%;
-     height: 100px;
-     spell-check: false;
+     height: 120px;
+     line-height: 140%;
+     resize: none;
+}
+
+textarea[cols="70"] {
+     width: 100% !important;
+     height: 40px;
+     white-space: pre-wrap;
+}
+
+.destinations textarea {
+     width: 100%;
+     padding: 1px 1px 1px 2px !important;
+     resize: none;
+     margin: 0;
+     border-radius: 0;
+     border: none;
+     border-left: 1px solid #17142f;
+     height: 30px;
 }
 
 input:focus, textarea:focus {
-     color: #eef;
+     color: #C9CEFF;
+}
+
+/* topnav */
+
+.iframed #navi {
+     padding: 0 !important;
+     border: 1px solid #443da0 !important;
+}
+
+#navi a {
+     border: 1px solid #2d295f;
+     border-radius: 2px;
+     padding: 5px;
+     margin: 3px 0 !important;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
+     display: inline-block;
+     outline: none;
+}
+
+#navi a:hover, #navi a:focus {
+    border: 1px solid #652787;
+    color: #652787
+}
+
+#navi a:active {
+     border: 1px solid #4f0519;
+     background-blend-mode: luminosity;
+}
+
+#navi a.abook {
+     background: #001 url(/themes/susidns/images/abook.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#subs {
+     background: #001 url(/themes/susidns/images/subs.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#config {
+     background: #001 url(/themes/console/images/buttons/configure.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi a#overview {
+     background: #001 url(/themes/susidns/images/overview.png) 5px center no-repeat;
+     padding: 5px 5px 5px 24px;
+}
+
+#navi p {
+     text-align: center !important;
+     text-transform: capitalize;
+     font-weight: bold;
+     padding: 2px 5px !important;
+     margin: 0 !important;
+}
+
+#navi p > * {
+     vertical-align: middle;
+}
+
+.iframed iframe {
+     width: calc(100% - 10px);
 }
+
+/* iframed content border removal */
+
+.iframed #navi, .iframed h3, .iframed h4, .iframed #book, .iframed #add, .iframed #filtered, .iframed #filter, .iframed #search,
+table.book, .iframed #buttons, .iframed .buttons, .iframed #messages + p, .iframed p.book, .iframed #helpsubs, 
+.iframed textarea[name="config"], .iframed textarea[name="content"], .iframed #helpconfig {
+     border-right: none !important;
+     border-left: none !important;
+}
+
+/* page titles */
+
+.headline h3 {
+     padding: 10px 5px 10px 40px;
+     background: url(/themes/susidns/images/addressbook.png) 10px center no-repeat, linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000 56%, #000 100%);
+     font-size: 11pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+}
+
+.headline#subscriptions h3 {
+     background: url(/themes/susidns/images/subs_24.png) 10px center no-repeat, linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000 56%, #000 100%);
+}
+
+.headline#config h3 {
+     background: url(/themes/susidns/images/configure_24.png) 10px center no-repeat, linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000 56%, #000 100%);
+}
+
+.headline h4 {
+     padding: 5px 10px 5px 35px;
+     background: url(/themes/susidns/images/drive.png) 13px center no-repeat;
+}
+
+p#filtered {
+     background: url(/themes/console/images/buttons/filter.png) 13px center no-repeat;
+     padding: 10px 10px 10px 35px !important;
+}
+
+p.book {
+     background: url(/themes/susidns/images/abook.png) 13px center no-repeat;
+     padding: 10px 10px 10px 35px !important;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/susimail/classic/images/3down.png b/installer/resources/themes/susimail/classic/images/3down.png
new file mode 100644
index 0000000000000000000000000000000000000000..93c3b73e07764f44bfbc2b68cc940fa9f8b40a51
Binary files /dev/null and b/installer/resources/themes/susimail/classic/images/3down.png differ
diff --git a/installer/resources/themes/susimail/classic/images/3up.png b/installer/resources/themes/susimail/classic/images/3up.png
new file mode 100644
index 0000000000000000000000000000000000000000..1805c14fe8fa3782bc1d3d306109cb981d736af7
Binary files /dev/null and b/installer/resources/themes/susimail/classic/images/3up.png differ
diff --git a/installer/resources/themes/susimail/classic/images/attach.png b/installer/resources/themes/susimail/classic/images/attach.png
new file mode 100644
index 0000000000000000000000000000000000000000..169a845c14fe9bed9e7b0c939e47745c5ee9402d
Binary files /dev/null and b/installer/resources/themes/susimail/classic/images/attach.png differ
diff --git a/installer/resources/themes/susimail/classic/images/bin.png b/installer/resources/themes/susimail/classic/images/bin.png
new file mode 100644
index 0000000000000000000000000000000000000000..df6278bcf211ed276e36d662e606be5702fcc99e
Binary files /dev/null and b/installer/resources/themes/susimail/classic/images/bin.png differ
diff --git a/installer/resources/themes/susimail/classic/mobile.css b/installer/resources/themes/susimail/classic/mobile.css
new file mode 100644
index 0000000000000000000000000000000000000000..9845ebc0351d37e0ac7598b5a5c062382de5c21c
--- /dev/null
+++ b/installer/resources/themes/susimail/classic/mobile.css
@@ -0,0 +1,60 @@
+/* Susimail Mobile Theme Override "Classic" */
+
+body {
+     margin: -1px 0 0;
+}
+
+.page {
+     min-width: 560px;
+     padding: 0 5px 12px !important;
+     border-radius: 0;
+     border-left: 1px solid transparent !important;
+     border-right: 1px solid transparent !important;
+}
+
+form {
+     margin-bottom: 5px;
+}
+
+#dologin {
+     width: 500px !important;
+     margin: 22px auto 10px !important;
+}
+
+#dologin h1 {
+     display: block !important;
+}
+
+.notifications {
+     margin: -1px 5px !important;
+}
+
+p.error, p.info {
+     border-left: none !important;
+     border-right: none !important
+}
+
+.topbuttons {
+     margin: -1px -6px !important;
+     border-left: none !important;
+     border-right: none !important;
+}
+
+#prefsave {
+     margin: 10px -6px -17px !important;     
+     border-left: none !important;
+     border-right: none !important
+}
+
+#mailbox td:nth-child(6), #mailbox th:nth-child(6), #mailbox td:nth-child(8), #mailbox th:nth-child(8) {
+     display: none;
+}
+
+#newmail input[type="text"], #composemail textarea {
+     width: 100%;     
+     min-width: 360px !important;
+}
+
+.header, .footer {
+     display: none;
+}
diff --git a/installer/resources/themes/susimail/classic/susimail.css b/installer/resources/themes/susimail/classic/susimail.css
new file mode 100644
index 0000000000000000000000000000000000000000..e426083e6fc5d48e7c6137dcfe3857ef5ff2bfca
--- /dev/null
+++ b/installer/resources/themes/susimail/classic/susimail.css
@@ -0,0 +1,768 @@
+/* Susimail "Classic" Theme */
+/* Author: dr|z3d */
+
+body {
+     background: #eef url(/themes/console/classic/images/bg0.png);
+     color: #0c153d;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-size: 9pt;
+}
+
+body.iframed {
+     background: transparent !important;
+     margin: 5px 0 0 0;
+     overflow: hidden; /* webkit fix */
+}
+
+div.header {
+     padding: 30px 10px;
+     margin: 0 -10px;
+     background: #fff !important;
+     border-bottom: 1px solid #89f;
+     background: #fff url(/themes/susimail/images/susimail.png) center center no-repeat !important;
+     background-size: auto 80% !important;
+}
+
+.header img {
+     transform: scale(0.6);
+     display: none;
+}
+
+h3#config {
+     border: 1px solid #89f;
+     padding: 5px 10px;
+     width: 300px;
+     margin: 0 auto 10px;
+     background: url(/themes/console/classic/images/titlebg.png) right center no-repeat;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+     box-shadow: 0 1px 0 1px #ddd;
+     border-radius: 0 0 2px 2px;
+}
+
+textarea[name="config_text"] {
+     resize: none;
+}
+
+li {
+     color: #0c153d;
+     line-height:12pt;
+     font-size: 8.5pt;
+     margin-left:5mm;
+     margin-right:5mm;
+}
+
+p {
+     color: #0c153d;
+     line-height:12pt;
+     margin-left:5mm;
+     margin-right:5mm;
+     font-size: 9pt;
+}
+
+p.hl {
+     font-size: 12pt;
+     letter-spacing: 2pt;
+     line-height: 18pt;
+     font-weight: bold;
+}
+
+p.text {
+     margin-left: 10px;
+     margin-right: 10px;
+}
+
+p.error, p.info {
+     color: #900;
+     padding: 15px 15px 15px 55px;
+     border: 1px solid #89f;
+     background: #ffe url(/themes/console/images/info/errortriangle.png) 8px center no-repeat;
+     text-align: left;
+     margin: -1px -11px;
+     box-shadow: inset 0 0 0 1px #fff;
+     display: block;
+     font-weight: bold;
+}
+
+td p.info, td p.error {
+     margin: -2px -3px;
+}
+
+tr.mailbody p.error {
+     margin: -3px -1px;
+} 
+
+tr.mailbody:nth-child(n+3) {
+     background: #fff;
+     border-top: 1px solid #89f;
+     border-bottom: 1px solid #89f;
+}
+
+p.info {
+     color: #337;
+     background: #ffe url(/themes/console/images/info/infohelp.png) 8px center no-repeat;
+     padding: 15px 15px 15px 45px;
+}
+
+span.coloured {
+     color:#327BBF;
+}
+
+p.footer {
+     margin-left:10mm;
+     margin-right:10mm;
+     font-size:8pt;
+     line-height:10pt;
+     text-align: center;
+/*     border-top: 1px solid #000;
+     padding-top: 5px;
+     margin-top: -10px; */
+     display: none;
+}
+
+.iframed .footer {
+     display: none;
+}
+
+p.mailbody {
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono; 
+     margin: 0 20px 10px;
+     text-align: left;
+}
+
+.iframed p.mailbody {
+     margin: 0;
+     padding: 0 20px 10px;
+}
+
+.mailbody pre {
+     white-space: pre-wrap !important;
+     word-wrap: break-word;
+}
+
+div.attached {
+     padding: 5px 0 5px 25px;
+     background: #fff;
+     background: url(images/attach.png) 5px center no-repeat;
+     vertical-align: middle;
+     text-align: left;
+}
+
+.iframed .attached {
+     padding: 5px 0 5px 25px;
+}
+
+.attached img {
+     border: 1px solid #cfd6ff;
+     padding: 2px;
+}
+
+td#addattach {
+     border-bottom: 1px solid #89f;
+}
+
+td#attachedfile {
+     border-bottom: 1px dotted #89f;
+}
+
+.iframed .header {
+     display: none;
+}
+
+/*
+.iframed p:first-child {
+     display: none;
+}
+*/
+/*
+.mailbody {
+     display: block !important;
+}
+*/
+
+/*
+a {
+     color:#327BBF;
+     text-decoration:none;
+     font-weight: bold;
+}
+
+a.linkspam {
+     color:#927B40;
+}
+
+a.linknew {
+     color:#327B40;
+}
+
+a.linkold {
+     color:#327BBF;
+}
+
+a:hover {
+     text-decoration:underline;
+     color: #f60;
+}
+*/
+
+a:link {
+     color: #006;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:visited {
+     color: #448;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:hover, a:focus {
+     color: #f60;
+     text-decoration: none;
+     font-weight: bold;
+     outline: none;
+}
+
+a:active {
+     color: #f93;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+td {
+     color: #0c153d;
+     line-height: 12pt;
+     font-size: 9pt;
+     padding: 1px 3px;
+}
+
+tr.list0 {
+     background: #dde1ff;
+}
+
+tr.list1 {
+     background-color: #ccf;
+     background: #eff1ff;
+}
+
+tr.list0, tr.list1 {
+     border-top: 1px inset #fff !important;
+     border-bottom: 1px inset #fff !important;
+}
+
+tr.list0:hover, tr.list1:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #ffe 100%) !important;
+     cursor: pointer;
+     border-top: 1px solid #89f !important;
+     border-bottom: 1px solid #89f !important;
+}
+
+tr.list0:hover td, tr.list1:hover td {
+     color: #104e99 !important;
+}
+
+tr.list0:hover a, tr.list1:hover a {
+     color: #f60;
+}
+
+tr.list0 a:link {
+     text-decoration: none;
+}
+
+tr.list1 a:link {
+     text-decoration: none;
+}
+
+table.noborder {
+     margin-left: 0;
+     margin-top: 0;
+     margin-right: 0;
+}
+
+table#mailbox, div.topbuttons {
+     border: 1px solid #89f;
+     background: #eef;
+}
+
+table#mailbox {
+     margin: 0 auto -12px;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {  /* webkit fixes */
+table#mailbox {  
+     margin-top: 1px;  
+}
+div#prefsave {
+     border-bottom: 1px solid #89f;
+}
+}
+
+#mailbox th {
+     border-bottom: 1px solid #89f;
+     background: url(/themes/console/classic/images/titlebg.png) right center no-repeat;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%) !important;
+}
+
+#mailbox th:first-child {
+     background: url(images/bin.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eff2ff 50%, #eff2ff 100%);
+}
+
+#mailbox th:last-child, #mailbox td:last-child, #mailbox th:nth-last-child(3), #mailbox td:nth-last-child(3) {
+     text-align: right;
+     width: 100px;
+     white-space: nowrap;
+     padding-right: 5px;
+}
+
+#mailbox td:nth-child(5) {
+     text-align: left;
+}
+
+#mailbox td[colspan="9"] {
+     display: none;
+}
+
+#mailbox td:nth-child(2), #mailbox td:nth-child(4) {
+     width: 24px;
+     text-align: right;
+}
+
+#mailbox td:nth-child(3) a, #mailbox td:nth-child(3) a:visited  {
+     color: #0c153d;
+}
+
+#mailbox hr, #newmail hr {
+     display: none;
+}
+
+#mailbox td:first-child {
+     text-align: center;
+}
+
+#mailbox td:nth-child(3) a {
+     font-weight: normal;
+}
+
+#mailbox tr:hover td:nth-child(3) a {
+     color: #104e99 !important;
+}
+
+#mailbox tr.bottombuttons td {
+     border-top: 1px solid #89f;
+     background: #fff;
+}
+
+#mailbox tr.bottombuttons td:first-child {
+     text-align: left;
+}
+
+#mailbox tr.bottombuttons td:last-child {
+     padding-right: 2px;
+}
+
+#mailbox a img.sort:hover, .sort:focus {
+     opacity: 1 !important;
+     filter: drop-shadow(0 0 1px #f60);
+     -webkit-filter: drop-shadow(0 0 1px #f60);
+}
+
+#newmail input[type="text"] {
+     width: 665px;
+}
+
+#newmail td:first-child {
+     font-weight: bold;
+     padding-right: 10px;
+}
+
+pre {
+     font: 8.5pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     margin-left:1cm;
+     margin-right:1cm;
+}
+
+.page {
+     background: #eef url(/themes/console/classic/images/bg2.png);
+     color: #0c153d;
+     margin: 0;
+     padding: 0 10px 10px;
+     border: 1px solid #89f; 
+     font-size: 9pt !important;
+     line-height: 160% !important;
+     box-shadow: 0 0 0 1px #eee;
+     text-align: center;
+     min-width: 800px;
+}
+
+.iframed .page {
+     background: transparent; 
+     margin: -6px 1px;
+     min-width: 580px;
+     border: none;
+     box-shadow: none;
+}
+
+table {
+     text-align: justify;
+     width: 100%;
+     border-collapse: collapse;
+}
+
+th {
+     font-size: 10pt;
+     font-weight: bold;
+}
+
+form {
+     line-height: 160%
+}
+
+.iframed form {
+     margin-bottom: -12px;
+}
+
+#viewmail {
+     margin: 0 -10px;
+     border-top: 1px solid #89f;
+     background: #eef;
+}
+
+.iframed #viewmail {
+     margin: 0 0 -10px;
+     padding: 0;
+     border: 1px solid #89f;
+}
+
+/*
+.mailhead {
+     font-size: 8.5pt;
+     font-weight: bold;
+}
+*/
+
+table#message_full {
+     margin-bottom: -23px;
+}
+
+.iframed #message_full {
+     margin-bottom: -1px;
+}
+
+input, textarea { /* opera fix */
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-size: 9pt;
+}
+
+input[type="text"], input[type="password"], textarea {
+     border: 1px solid #bbb;
+     box-shadow: inset 1px 1px 1px #ddd;
+     padding: 4px 5px !important;
+     border-radius: 2px;
+     color: #333;
+}
+
+input[type=submit] {
+     margin: 3px;
+     min-width: 60px;
+}
+
+input.new_upload, input.delete_attachment {
+     float: right;
+     text-transform: capitalize;
+     margin-right: 0;
+}
+
+@-moz-document url-prefix(http://) { 
+button::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     padding: 0 !important;
+     border: 0 none !important;
+}
+}
+
+button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
+     filter: drop-shadow(0 0 1px #89f);
+     -webkit-filter: drop-shadow(0 0 1px #89f);
+}
+
+button, input[type="submit"], input[type="reset"] {
+     padding: 5px !important;
+     border-radius: 2px;
+     color: #333;
+     border: 1px solid #bbb;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     min-width: 88px;
+     outline: none !important;
+     filter: drop-shadow(0 0 1px #fff);
+     -webkit-filter: drop-shadow(0 0 1px #fff);
+     display: inline-block;
+}
+
+input[type="file"] {
+     padding: 3px 2px;
+}
+
+button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
+     background: #fff;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     color: #222;
+}
+
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     box-shadow: 0 0 0 1px #89f;
+     color: #000;
+}
+
+button:active, input[type="submit"]:active, input[type="reset"]:active {
+     background: #ddd;
+}
+
+input[disabled][type="submit"], input[disabled][type="submit"]:hover, input[disabled][type="submit"]:active {
+	  background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+	  opacity: 0.6;
+}
+
+input.optbox {
+     vertical-align: middle;
+}
+
+div#composemail {
+     text-align: center !important;
+     padding: 10px;
+}
+
+#composemail table {
+     width: auto;
+     margin: auto;
+}
+
+#composemail input {
+     margin-left: 0;
+}
+
+#composemail input[type="file"] {
+     padding: 0;
+}
+
+/*
+div#mailheader {
+     margin: 10px 10px 10px 20px;
+}
+*/
+
+#mailhead {
+     margin: 0;
+}
+
+#mailhead, #message_full tr:first-child {
+     background: #dde1ff;
+}
+
+#message_full tr:first-child {
+     border-bottom: 1px solid #89f;
+}
+
+#mailhead tr {
+     border: none !important;
+}
+
+#mailhead td:first-child {
+     white-space: nowrap;
+     width: 20px;
+     text-align: right;
+     padding-left: 10px;
+     font-weight: bold;
+}
+
+div#dologin {
+     border: 1px solid #89f;
+     padding: 10px 0 0;
+     width: 500px;
+     margin: 60px auto 40px;
+     box-shadow: 0 0 0 1px #fff;
+     background: #fff;
+}
+
+.iframed #dologin {
+     margin: 18px auto 15px;
+}
+
+#dologin input[type="text"] {
+     text-align: left !important;
+     font-weight: normal;
+}
+
+#dologin input[name="user"] {
+     background: #fff url(/themes/console/images/buttons/user.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+}
+
+#dologin input[name="pass"] {
+     background: #fff url(/themes/console/images/buttons/password.png) 5px center no-repeat;
+     padding: 4px 5px 4px 26px !important;
+}
+
+
+#dologin table {
+     width: 100%;
+     width: calc(100% - 2px);
+     margin: 0 auto;
+     border-collapse: collapse;
+}
+
+#dologin td {
+     padding: 3px;
+     font-weight: bold !important;
+}
+
+#dologin td:first-child {
+     white-space: nowrap;
+     padding-left: 0;
+}
+
+#dologin td:last-child {
+     width: 80%;
+     padding-right: 0;
+}
+
+#dologin td[colspan="2"] {
+     padding: 3px 0;
+}
+
+#dologin tr:last-child td {
+     padding: 3px 0 5px;
+}
+
+#dologin h1 {
+     border-bottom: 1px solid #89f;
+     padding: 10px 15px;
+     margin: -10px 0 10px;
+     font-size: 14pt;
+     text-align: left;
+     background: #fff;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: linear-gradient(to right, #fff 30%, #eff2ff);
+     box-shadow: inset 0 0 0 1px #fff;
+     display: none;
+}
+
+#dologin hr {
+     display: block !important;
+     background: #89f;
+     box-shadow: 0 1px 0 1px #fff;
+}
+
+.iframed #dologin h1 {
+     display: block;
+}
+
+.iframed div.footer {
+     margin-top: -10px;
+}
+
+hr {
+     color: #555;
+     background: #555;
+     height: 1px;
+     border: 0 solid #555;
+     width: 100%;
+     margin: 5px 0;
+     text-align: center;
+     display: none;
+}
+
+#composemail td {
+     padding: 3px;
+}
+
+#composemail textarea {
+     width: 665px;
+     min-width: 665px;
+     margin-top: 5px;
+}
+
+#composemail input, #composemail textarea {
+     margin-right: 0;
+}
+
+div#pagenav {
+     border-top: 1px solid #89f;
+     padding: 10px 5px 0;
+     font-size: 9.5pt;
+     border-radius: 0 0 4px 4px;
+     margin: 0 -11px !important;
+}
+
+.topbuttons {
+     padding: 6px 0 5px;
+     margin: -1px -11px;
+     background: #fff !important;
+     background: linear-gradient(to bottom, #fff 0%, #eef 100%) !important;
+}
+
+.iframed .topbuttons, .iframed p.error, .iframed p.info {
+     border-left: none;
+     border-right: none;
+}
+
+table#pagenav {
+     width: 100%;
+     margin: 7px auto -3px;
+     border-top: 1px solid #89f;
+}
+
+.bottombuttons br {
+     display: none;
+}
+
+div#prefsave {
+     padding: 5px 0;
+     border-top: 1px solid #89f;
+     margin: 10px -10px -22px;
+     background: #fff;
+}
+
+tr.bottombuttons table#pagenav {
+     width: 100%;
+     margin: 0;
+     border-bottom: 1px solid #555;
+}
+
+table#pagenav td {
+     white-space: nowrap;
+     font-size: 10pt;
+     font-weight: bold;
+     padding: 6px 3px 4px;
+     text-align: center;
+}
+
+table#pagenav td:first-child {
+     text-align: right;
+     width: 49%;
+}
+
+table#pagenav td:last-child {
+     text-align: left;
+     width: 49%;
+}
+
+#pagenav input:disabled {
+     display: inline;
+     opacity: 0.3;
+}
+
+.bottombuttons input:disabled {
+      display: none;
+}
+
+/* responsive layout */
+
+@media screen and (min-width: 1024px) {
+body, td, textarea, input, div, p.mailbody {
+     font-size: 10pt !important;
+}
+}
diff --git a/installer/resources/themes/susimail/dark/images/first.png b/installer/resources/themes/susimail/dark/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..d46591f828352be60e61c7e4da5622c3f83536db
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/first.png differ
diff --git a/installer/resources/themes/susimail/dark/images/first_active.png b/installer/resources/themes/susimail/dark/images/first_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..2eefd083d68de32fc17a5b81beb39db11039fbf3
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/first_active.png differ
diff --git a/installer/resources/themes/susimail/dark/images/first_disabled.png b/installer/resources/themes/susimail/dark/images/first_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0072c9e33b618a7ebb57299b44ee7a7b7cf8701
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/first_disabled.png differ
diff --git a/installer/resources/themes/susimail/dark/images/first_hover.png b/installer/resources/themes/susimail/dark/images/first_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbef9e8c2e02b61d30beed7755c9e825053ef394
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/first_hover.png differ
diff --git a/installer/resources/themes/susimail/dark/images/hatter_med.png b/installer/resources/themes/susimail/dark/images/hatter_med.png
new file mode 100644
index 0000000000000000000000000000000000000000..18d27ed19ad6bd18d5e6c071b9678bcb73fd3b69
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/hatter_med.png differ
diff --git a/installer/resources/themes/susimail/dark/images/last.png b/installer/resources/themes/susimail/dark/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c38c49aaeafa5851a529d52854f6045e042d51f
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/last.png differ
diff --git a/installer/resources/themes/susimail/dark/images/last_active.png b/installer/resources/themes/susimail/dark/images/last_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ec74f394cece7aa10564a9e4b462926219ad1e7
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/last_active.png differ
diff --git a/installer/resources/themes/susimail/dark/images/last_disabled.png b/installer/resources/themes/susimail/dark/images/last_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e3958bd388aa721dcb2ebdc0083cddab4f90f64
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/last_disabled.png differ
diff --git a/installer/resources/themes/susimail/dark/images/last_hover.png b/installer/resources/themes/susimail/dark/images/last_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..83790387c0c83b791470a3536841e5b788ba3956
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/last_hover.png differ
diff --git a/installer/resources/themes/susimail/dark/images/mail.png b/installer/resources/themes/susimail/dark/images/mail.png
new file mode 100644
index 0000000000000000000000000000000000000000..24fac2956cb633d5758dacb7a637b11be676c7ee
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/mail.png differ
diff --git a/installer/resources/themes/susimail/dark/images/next.png b/installer/resources/themes/susimail/dark/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41a92ecb02202980438d6880d54fcda2fd7e954
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/next.png differ
diff --git a/installer/resources/themes/susimail/dark/images/next_active.png b/installer/resources/themes/susimail/dark/images/next_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4dd21154e954e3ef37b8a6e3a1b309ccd311e361
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/next_active.png differ
diff --git a/installer/resources/themes/susimail/dark/images/next_disabled.png b/installer/resources/themes/susimail/dark/images/next_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..da01cb7ac0c7b37ed0895932825dd212491c1a52
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/next_disabled.png differ
diff --git a/installer/resources/themes/susimail/dark/images/next_hover.png b/installer/resources/themes/susimail/dark/images/next_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f495c13e70d834ccaefe6e9ebd77f3aae783b8e5
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/next_hover.png differ
diff --git a/installer/resources/themes/susimail/dark/images/previous.png b/installer/resources/themes/susimail/dark/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..7535a7cf1e952136e2636f20f731f0df8063b167
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/previous.png differ
diff --git a/installer/resources/themes/susimail/dark/images/previous_active.png b/installer/resources/themes/susimail/dark/images/previous_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..65a4253c7ab7db70149e59ebd12470a16c6ad929
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/previous_active.png differ
diff --git a/installer/resources/themes/susimail/dark/images/previous_disabled.png b/installer/resources/themes/susimail/dark/images/previous_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..c49db000f13225e28f396e07b20ffef34cd52a68
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/previous_disabled.png differ
diff --git a/installer/resources/themes/susimail/dark/images/previous_hover.png b/installer/resources/themes/susimail/dark/images/previous_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..4efbdfd8147a1bb7487adc8d95c5e6016af75ebd
Binary files /dev/null and b/installer/resources/themes/susimail/dark/images/previous_hover.png differ
diff --git a/installer/resources/themes/susimail/dark/mobile.css b/installer/resources/themes/susimail/dark/mobile.css
index e30f878be95f39e78bcd818a810d6d1c611e35e3..b98156604a1b60228fa6c666f3fb0bce58524d9e 100644
--- a/installer/resources/themes/susimail/dark/mobile.css
+++ b/installer/resources/themes/susimail/dark/mobile.css
@@ -1,17 +1,126 @@
+/* Susimail Mobile Theme Override "Dark" */
+
+body {
+     margin: 0;
+}
+
+.page {
+     min-width: 400px;
+}
+
+#dologin {
+     width: 500px !important;
+}
+
+#dologin input[type="text"], #dologin input[type="password"] {
+     width: 70% !important;
+}
+
+#pagenav {
+     margin-bottom: -7px !important;
+     border-bottom: 1px solid #494 !important;
+}
+
+div.topbuttons {
+     padding: 6px 0 !important;
+}
+
+.topbuttons input[type="submit"], .topbuttons input[type="reset"] {
+     min-width: 40px !important;
+     padding: 5px !important;
+     margin: 4px 5px !important;
+}
+
+#mailbox th {
+     display: none;
+}
+
 #mailbox tr, #mailbox td {
      display: block;
+     padding: 1px 0;
 }
 
-#mailbox th {
-     position: absolute;
-     top: -9999px;
-     left: -9999px;
+#mailbox td:first-child {
+     float: right;
+     padding-right: 3px;
+}
+
+#mailbox td:last-child {
+     font-style: italic;
+}
+
+#mailbox td[colspan="9"] {
+     display: none;
+}
+
+table#mailbox td[colspan="5"], table#mailbox td[colspan="4"] {
+     background: #000 !important;
+     border: none !important;
+     display: block;
 }
 
-#mailbox .optbox {
-     float: left;
+.list0 td, .list1 td {
+     border: none !important;
 }
 
-div.header, div.footer {
+#mailbox td:nth-child(2), #mailbox td:nth-child(4), #mailbox td:nth-child(6), #mailbox td:nth-child(8) {
      display: none;
 }
+
+input[type="text"], input[type="password"], textarea {
+     width: 90% !important;
+     min-width: 0 !important;
+}
+
+input[name="pagesize"] {
+     width: 40px !important;
+}
+
+input[type="submit"], input.cancel {
+     min-width: 70px !important;
+     margin: 2px 0 3px 3px !important;
+}
+
+#newmail {
+     margin: 0 !important;
+     width: 100% !important;
+}
+
+#newmail td:first-child {
+     width: 10%;
+}
+
+form {
+     line-height: 110% !important;
+}
+
+tr.list0:hover td:first-child, tr.list1:hover td:first-child, tr.list0:hover td:last-child, tr.list1:hover td:last-child {
+     box-shadow: none !important;
+}
+
+.attached img {
+     max-width: 95%;
+     height: auto;
+}
+
+textarea[name="config_text"] {
+     width: 90%;
+}
+
+h3#config {
+     width: 200px;
+     white-space: nowrap;
+}
+
+.header, #footer {
+     display: none;
+}
+
+#mailbox td:nth-child(3) a.linkold::before {
+     content: "From: ";
+}
+
+
+#mailbox td:nth-child(5) a.linkold::before {
+     content: "Subject: ";
+}
diff --git a/installer/resources/themes/susimail/dark/susimail.css b/installer/resources/themes/susimail/dark/susimail.css
index 0d49e6540c7a42e31b1f9f8bfe4eee80935608a6..bd23ad57cd633df363477a73dbf71fa3628f4f35 100644
--- a/installer/resources/themes/susimail/dark/susimail.css
+++ b/installer/resources/themes/susimail/dark/susimail.css
@@ -1,15 +1,20 @@
-/* Susimail dark theme by dr|z3d */
+/* Susimail "Camo" theme (aka "dark") */
+/* Author: dr|z3d */
+/* Thanks to Florian Kuhlmann for the hatface images. [http://www.flickr.com/photos/floriankuhlmann/] */
+/* Droid Sans font family and css3 compliant browser recommended for optimal results */
 
 body {
      background-color: #000;
      color:#ee9;
-     font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     font-size: 8pt;
+     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Helvetica, sans-serif;
+     font-size: 9pt;
+     margin: 8px 5px;
 }
 
 body.iframed {
      background: transparent !important;
      margin: 0;
+     padding-top: 0;
 }
 
 div.header {
@@ -54,21 +59,28 @@ p.text {
      margin-right:10mm;
 }
 
+p.info, p.error {
+     color:#ee9;
+     display: block !important;
+     border: 1px solid #494;
+     margin: 20px 20px 0 !important;
+     padding: 15px 10px 15px 45px;
+     background: #000 url(/themes/console/dark/images/infohelp.png) 10px center no-repeat;
+     background: url(/themes/console/dark/images/infohelp.png) 10px center no-repeat, linear-gradient(to right, #000 0%, #001500 65%, #001800 90%);
+     text-align: left;
+     border-radius: 2px;
+}
+
 p.error {
      color: #f00;
-     background: url("../../console/images/errortriangle.png") no-repeat scroll 20px center #000;
+     background: url(/themes/console/images/info/errortriangle.png) no-repeat scroll 10px center #000;
      border: 1px solid #f00;
-     border-radius: 4px;
+     border-radius: 2px;
      font-weight: bold;
      text-align: justify;
      word-wrap: break-word;
-     padding: 15px 5px 15px 70px !important;
-     margin: 10px 10px 15px;
-     min-height: 30px;
-}
-
-p.info {
-     color:#327BBF;
+     padding-left: 60px !important;
+     display: block !important;
 }
 
 span.coloured {
@@ -80,78 +92,312 @@ p.footer {
      margin-right:10mm;
      font-size:8pt;
      line-height:10pt;
+     display: none;
+}
+
+.footer hr {
+     margin-top: -12px;
+     display: none;
 }
 
 .iframed #footer {
      display: none;
 }
 
-p.mailbody {
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+p.mailbody, textarea {
+     font: 9pt "Noto Mono", "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      margin: 0 5px;
      text-align: left;
 }
 
+.header {
+     display: none;
+}
+
 .iframed .header {
      display: none;
 }
 
+div.topbuttons {
+     padding: 7px 0 8px !important;
+     font-weight: bold;
+     border: 1px solid #494;
+     border-bottom: 0 solid;
+     border-radius: 2px 2px 0 0;
+     margin-bottom: -4px;
+     margin-top: -1px;
+     margin: -1px -1px -4px -1px;
+     border-bottom: 1px solid #494;
+     background: #000 url(images/hatter_med.png) left bottom no-repeat;
+     background: url(images/hatter_med.png) left bottom no-repeat, linear-gradient(to bottom, #002000 0%, #000 100%);
+     background-size: auto 95%, 100% 100%;
+}
+
+.iframed .topbuttons {
+/*     border-top: none !important; */
+     margin-top: -1px;
+     border-radius: 0;
+}
+
+div.topbuttons br {
+     margin-bottom: 12px !important;
+}
+
+.topbuttons input.next {
+     margin-bottom: -20px !important;
+}
+
+.bottombuttons br {
+     display: none;
+}
+
+.bottombuttons input:disabled {
+     display: none; 
+}
+
+td[colspan="9"] hr {
+     display: none;
+}
 
 .mailbody {
-     display: block !important;
+/*     display: block !important; */
+     padding: 0 10px !important;
+}
+
+table#mailbox {
+     margin-bottom: 0;
+}
+
+.iframed #mailbox {
+     margin-bottom: -10px;
+}
+
+table#mailbox td[colspan="5"], table#mailbox td[colspan="4"] {
+     border-top: 1px solid #494 !important;
+     padding: 6px 0 2px !important;
+}
+
+table#mailbox td[colspan="5"] {
+     border-bottom: none;
+     padding-left: 6px !important;
+     padding-bottom: 6px !important;
+     background: #000;
+     background: linear-gradient(to bottom, #121 0%, #010 50%, #000 100%);
+}
+
+table#mailbox td[colspan="4"] {
+     padding-right: 6px !important;
+     padding-bottom: 6px !important;
+     border-bottom: none;
+     background: #000;
+     background: linear-gradient(to bottom, #121 0%, #010 50%, #000 100%);
+}
+
+table#mailbox td[colspan="5"] br, table#mailbox td[colspan="4"] br {
+     display: none;
+}
+
+table#mailbox td[colspan="9"] i {
+     font-size: 10pt;
+}
+
+table#mailbox td:nth-child(2) {
+     text-align: right !important;
+     width: 24px !important;
+}
+
+table#mailbox tr[class^="list"]:hover {
+     cursor: pointer;
+}
+
+#mailbox td#from {
+     white-space: nowrap;
+     width: 100px;
+} 
+
+#mailbox td#subject {
+     max-height: 40px;
+     overflow: hidden;
+}
+
+#message_full td {
+     background: #000; 
+}
+
+input.optbox {
+     opacity: 0.8;
+}
+
+input.optbox:hover {
+     opacity: 1.0;
+     filter: drop-shadow(0 0 2px #f60);
+     -webkit-filter: drop-shadow(0 0 2px #f60);
+}
+
+td#attachedfile:last-child {
+     padding-left: 10px;
+}
+
+td#deleteattached {
+     padding: 5px 10px 0 !important;
+     text-align: right;
+     border-top: 1px solid #131;
 }
 
-.mailbody td {
+tr.bottombuttons:last-child td {
+     padding-bottom: 20px !important;
 }
 
+/*
 p img {
-/*     display: none; */
+     display: none; 
      height: 0;
      width: 0;
      margin: -20px 0;
 }
+*/
 
+/*
 p:first-child {
      display: none;
 }
+*/
 
-p.error {
-     display: block !important;
-}
-
-a {
+a:link {
      color: #f60;
+     color: #5a5;
      text-decoration: none;
      font-weight: bold;
 }
 
-a:hover {
-     text-decoration: underline;
+a:hover, a:visited:hover, a:focus {
+     color: #f60 !important;
+     outline: none;
+}
+
+a:visited {
+     color: #960;
+     color: #272;
 }
 
 td {
      color: #ee9;
      margin: 0 5px;
-     font-size: 8pt;
+     font-size: 9pt;
      padding: 2px;
 }
 
 tr.list0 {
-     background-color: #000;
+     background-color: #000800;
 }
 
 tr.list1 {
      background-color: #010;
 }
 
+/* mailbox display finessing */
+
+tr.list0 td, tr.list1 td {
+     padding: 4px;
+     color: #bb7;
+}
+
+tr.list0:hover td, tr.list1:hover td {
+     color: #ee9;
+}
+
+tr.list0:hover, tr.list1:hover, tr.list0:hover a, tr.list1:hover a {
+     background: #002000;
+     color: #f60;
+}
+
+tr.list0:hover td:nth-child(3) a, tr.list1:hover td:nth-child(3) a, #mailbox td:nth-child(3) a:focus, #mailbox td:nth-child(3) a:focus {
+     color: #ee9 !important;
+}
+
+
+tr.list0:hover td:first-child, tr.list1:hover td:first-child {
+/*     background: url(images/highlight.png) left center repeat-y; */
+      box-shadow: inset 3px 0 0 #900; 
+}
+
+tr.list0:hover td:last-child, tr.list1:hover td:last-child {
+      box-shadow: inset -3px 0 0 #900; 
+}
+
+.list0 td:first-child, .list1 td:first-child, #mailbox th:first-child {
+     text-align: center !important;
+     width: 16px;
+     padding-left: 8px;
+     padding-right: 8px;
+}
+
+.list0 td:nth-child(2), .list1 td:nth-child(2) {
+     width: 32px;
+     text-align: right;
+} 
+
+.list0 td:nth-child(3) a, .list1 td:nth-child(3) a {
+     color: #bb7 !important;
+     font-weight: normal;
+}
+
+.list0 td:nth-child(4), .list1 td:nth-child(4) {
+     min-width: 16px !important;
+     text-align: right;
+}
+
+table[id="mailbox"] tr th:last-child, .list0 td:last-child, .list1 td:last-child {
+     min-width: 70px !important;
+     text-align: right;
+     padding-right: 20px;
+     white-space: nowrap;
+} 
+
+table[id="mailbox"] th {
+     font-size: 9pt;
+     text-transform: uppercase !important;
+     padding-left: 3px;
+     text-shadow: 0 1px 1px #000;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-top: none;
+}
+
+table[id="mailbox"] th img {
+     filter: drop-shadow(0 0 1px #f00);
+}
+
+table[id="mailbox"] th img:hover, table[id="mailbox"] th a:focus img {
+     opacity: 1 !important;
+}
+
+#mailbox .list0 td, #mailbox .list1 td {
+     border-bottom: 1px solid #000;
+}
+
+#mailbox tr.bottombuttons td[colspan="9"] {
+/*     display: none; */
+}
+
+tr.bottombuttons td {
+     padding-left: 0 !important;
+}
+
+/* end mailbox finessing */
+
 table.noborder {
      margin-left: 0;
      margin-top: 0;
      margin-right: 0;
 }
 
+td:first-child {
+     font-weight: bold;
+}
+
 pre {
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     font: 9pt "Noto Mono", "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
      margin-left: 1cm;
      margin-right: 1cm;
 }
@@ -162,6 +408,11 @@ pre {
      padding: 0;
      font-size: 9pt !important;
      text-align: center;
+     min-width: 700px;
+}
+
+.iframed page {
+     margin-top: -20px;
 }
 
 table {
@@ -172,21 +423,100 @@ table {
 th {
      font-size: 9pt;
      font-weight: bold;
-     background: url("../../console/dark/images/header.png") repeat scroll center center #000000;
+     background: #000000 url(../../console/dark/images/header.png) repeat scroll center center;
+     background: linear-gradient(to bottom, #1a261a 0%, #223022 7%, #212f21 9%, #172317 21%, #091109 49%, #050d05 50%, #020602 51%, #010301 53%, #000000 56%, #000000 100%) !important;
      padding: 7px;
      border-bottom: 1px solid #494;
      border-top: 1px solid #494;
 }
 
 form {
-     line-height: 160%
+     line-height: 160%;
+     border-radius: 2px;
+     padding-bottom: 0;
+     border: 1px solid #494;
+     background: #000;
+}
+
+
+.iframed form {
+     border: none;
+     overflow: hidden;
+}
+
+form table {
+     margin-bottom: 5px;
+}
+
+textarea {
+     background: #000;
+     color: #ee9;
+     border: 1px solid #494;
+     border-radius: 2px;
+     padding: 5px;
 }
+/* compose mail */
 
-.mailhead {
+textarea[name="new_text"] {
+     width: 578px;
+     margin: 10px 10px 10px 3px;
+     text-align: left;
+}
+
+td#addattach {
+     padding: 0 10px 15px !important;
+     border-bottom: 1px solid #131;
+}
+
+td#attachedfile {
+     padding: 2px 0;
+}
+
+table#mailhead {
      font-size: 9pt;
      font-weight: bold;
+     border-bottom: 1px solid #494;
+     border-top: 1px solid #494;
+     background: #010;
+     width: 100%;
+     background: #010;
+}
+
+#mailhead td {
+     background: #010;
+}
+
+#mailhead td:first-child {
+     width: 50px;
+     white-space: nowrap;
+     padding-left: 10px;
+}
+
+#mailhead td:last-child {
+     font-weight: normal;
+}
+
+input {
+     cursor: pointer;
+}
+input[type="file"] {
+     border: none !important;
+     padding: 0 !important;
+}
+
+input[type="file"]:hover, input[type="file"]:focus {
+     color: #f60;
 }
 
+input.new_upload {
+     float: right;
+}
+
+* {
+     outline: none;
+}
+
+/*
 input.cancel, input.clearselection, input.logout {
      background: #000 url('/themes/console/images/cancel.png') no-repeat 2px center;
      min-height: 22px;
@@ -195,6 +525,7 @@ input.cancel, input.clearselection, input.logout {
 input.delete, input.delete_attachment, input.really_delete {
      background: #000 url('/themes/console/images/delete.png') no-repeat 2px center;
      min-height: 22px;
+     margin-left: 0;
 }
 
 input.download, input.lastpage {
@@ -260,62 +591,509 @@ input.saveas {
 input[type=file], input.new_upload {
      background: #000 url('/themes/console/images/add.png') no-repeat 2px center;
      min-height: 22px;
+     padding: 2px 1px !important;
+}
+
+input[type=checkbox] {
+     max-width: 16px !important;
+     min-width: 16px !important;
 }
+*/
 
 input {
      font-size: 9pt;
      font-weight: bold;
      text-align: left;
      padding: 2px 2px 3px !important;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
+     border-radius: 2px;
      border: 1px solid #494;
-     background: #000 none !important;      
      color: #494;
-     margin: 2px 4px 2px 0;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     margin: 3px;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
      min-width: 64px !important;
 }
 
+input.optbox {
+     min-width: 16px !important;
+     vertical-align: middle;
+}
+
+input[type="checkbox"], input[type="radio"] {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%);
+}
+
+input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="checkbox"]:focus, input[type="radio"]:focus {
+     filter: invert(100%) sepia(100%) hue-rotate(70deg) saturate(200%) drop-shadow(0 0 1px #f60);
+}
+
+input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
+     border: none;
+     outline: none;
+}
+
 input[type=submit], input.cancel {
      color: #494;
      background: #000;
      border: 1px outset #191;
-     box-shadow: 0 1px 1px 0 #119911 inset;
-     font: bold 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif;
+     font: bold 8pt "Droid Sans", "Noto Sans", Ubuntu, "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Helvetica, sans-serif;
      text-align: center;
-     min-height: 22px !important;
+     padding: 5px 8px !important;
+     min-width: 95px !important;
+     margin: 4px 5px;
+     filter: drop-shadow(0 0 1px #000);
+     -webkit-filter: drop-shadow(0 0 1px #000);
 }
 
-input[type=submit]:hover, input.cancel:hover {
+input[type=submit]:hover, input.cancel:hover, input[type=submit]:focus, input.cancel:focus {
      color: #f60;
      background: #000;
      border: 1px solid #f60;
-     box-shadow: 0 1px 1px 0 #ee9 inset;
-     -moz-box-shadow: 0 1px 1px 0 #ee9 inset;
-     -khtml-box-shadow: 0 1px 1px 0 #ee9 inset;
+     box-shadow: inset 0 1px 1px 0 #ee9 ;
 }
 
 input[type=submit]:active, input.cancel:active {
      border: 1px inset #f60;
      background: #f60 !important;
      color: #EE9 !important;
-     -moz-box-shadow: inset 0px 0px 0px 0px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 0px #f60;
-     box-shadow: inset 0px 0px 0px 0px #f60;
+     box-shadow: inset 0 0 0 1px #000;
 }
 
-input[type=text] {
-     color: #ee9;     
+#dologin input:disabled, #dologin input:disabled:hover, #dologin input:disabled:active {
+     border: none;
+     color: #ff0;
+     margin: 2px 0;
+     padding-top: 3px;
+     box-shadow: none;
+     background: none !important;
+     text-align: left !important;
+     cursor: default;
 }
 
-input:disabled, input:disabled:hover, input:disabled:active {
-     border: none;
+input[name="user"], input[name="pass"] {
+     border: 1px solid #363;
+     background: #000;
+}
+
+input[name="user"]:focus, input[name="pass"]:focus, input[type="text"]:focus, textarea:focus {
+     border: 1px solid #494;
      color: #ee9;
-     margin-left: -2px;
-     box-shadow: none;
-     -moz-box-shadow: none;
-     -khtml-box-shadow: none;
+}
+
+input[name="host"], input[name="pop3"], input[name="smtp"] {
+    display: inline !important;
+    margin-top: 3px !important;
+    font-family: "Noto Mono", "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+    color: #ff0;
+    background: none !important;
+    border-radius: 0;
+}
+
+input[type="text"], input[type="password"], textarea {
+     color: #bb7;
+     background: #000;
+     cursor: text;
+     padding: 4px !important;
+     border: 1px solid #363;
+     background: linear-gradient(to bottom, #000 0%, #010 100%) !important;
+     box-shadow: inset 0 0 3px 3px #000;
+}
+
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     color: #ee9 !important;
      background: #000 !important;
+     filter: drop-shadow(0 0 1px #880);
+     -webkit-filter: drop-shadow(0 0 1px #880);
+     transition: ease filter 0.3s 0s;
+}
+
+input.delete {
+     margin-left: 5px;
+}
+
+
+input[type="submit"], input[type="reset"], select, button { /* webkit/blink fix for oversaturated colors */
+     border: 1px solid #8b8;
+     border-bottom: 1px solid #171;
+     border-right: 1px solid #171;
+     background: linear-gradient(to bottom, #020 0%, #000 20%, #000 80%, #010 100%);
+}
+
+.page td[colspan="2"] {
+     text-align: left;
+     padding: 0 0 10px 0;
+/*     padding-left: 13%;*/
+}
+
+.page td[colspan="2"] hr {
+     display: none;
+}
+
+/* login + misc mods */
+
+div.notifications {
+     text-align: center;
+     padding: 0 0 20px;
+}
+
+div#dologin {
+     border: 1px solid #494;
+     margin: 20px auto;
+     width: 600px;
+     padding: 0 0 10px;
+     background: #001000;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #000 0%, #010 50%, #010 100%);
+     background: url(images/hatter_med.png) right bottom no-repeat, linear-gradient(to bottom, #000 0%, #010 50%, #010 100%);
+     box-shadow: inset 0 0 1px 2px #020;
+
+}
+
+#dologin h1 {
+     border: 1px solid #494;
+     padding: 10px 10px 10px 48px;
+     margin: -1px -1px 15px -1px;
+     border-radius: 2px 2px 0 0;
+     text-transform: uppercase;
+     font-size: 14pt;
+     letter-spacing:0.08em;
+     word-spacing: 0.1em;
+     text-align:left;
+     background: #002000 url(images/mail.png) 8px center no-repeat;
+     background: url(images/mail.png) 8px center no-repeat, linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%);
+     text-shadow: 0 1px 1px #000;
+     box-shadow: inset 0 0 1px 2px #020;
+}
+
+#dologin table {
+     width: 100%;
+     margin-bottom: -9px;
+     border-collapse: collapse;
+     border-spacing: 0 !important;
+}
+
+#dologin td {
+     padding: 1px 2px !important;
+}
+
+#dologin td:first-child {
+     width: 29%;
+     white-space: nowrap;
+}
+
+#dologin td:last-child {
+     width: 71%;
+     white-space: nowrap;
+}
+
+#dologin td[colspan="2"] {
+     text-align: center;
+     padding: 3px 3px 5px !important;
+}
+
+#dologin hr {
+     display: block;
+     background: #030;
+     box-shadow: 0 1px 1px #000;
+     margin: 5px 0;
+     opacity: 0.5;
+}
+
+div.notifications + div#dologin {
+     margin-top: 0;
+}
+
+div#composemail {
+     text-align: center !important;
+     padding: 50px;
+}
+
+#composemail table {
+     width: auto;
+     margin: auto;
+}
+
+#composemail table td {
+     padding: 2px 5px;
+}
+
+h3#config {
+     border: 1px solid #494;
+     padding: 5px;
+     margin: 3px auto 18px auto;
+     width: 400px;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #001700;
+     border-radius: 0 0 2px 2px;
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+}
+
+textarea[name="config_text"] {
+     resize: none;
+}
+
+#message_full tr:first-child td {
+     padding-bottom: 5px;
+}
+
+p.mailbody {
+     margin: 0;
+     background: #000;
+     padding: 5px 20px 20px !important;
+}
+
+.mailbody + hr, .attached + hr {
+     display: none;
+}
+
+tr.mailbody:nth-child(n+3), tr.mailbody:nth-child(n+3) td {
+     background: #010;
+     border-top: 1px solid #494;
+     padding: 5px;
+}
+
+tr.mailbody:last-child td {
+     border-bottom: 1px solid #494;
+}
+
+div.attached {
+     margin: 0 -1px -1px;
+     border-radius: 0 0 2px 2px;
+     padding: 10px 10px 10px 30px !important;
+     background: url(/themes/susimail/images/attach.png) 10px center no-repeat;
+}
+
+.attached img {
+     border: 1px solid #494;
+     border-radius: 2px;
+     padding: 2px;
+     background: #010;
+}
+
+.attached p.mailbody {
+     padding: 5px !important;
+     background: none;
+}
+
+div#emptymailbox {
+     padding: 20px 10px;
+}
+
+/* pagenav */
+
+table#pagenav {
+     width: 100%;
+     margin: 7px auto -3px;
+     border-top: 1px solid #494;
+     background: #000;
+     background: linear-gradient(to bottom, #001000 0%, #001900 50%, #000 51%, #000 100%) !important;
+}
+
+table#pagenav tr:hover td {
+     color: #ee9;
+}
+
+table#pagenav td {
+     white-space: nowrap;
+     font-size: 10.5pt;
+     font-weight: bold;
+     letter-spacing: 0.1em;
+     word-spacing: 0.1em;
+     padding: 3px 5px;
+     text-align: center;
+     color: #bb7;
+}
+
+table#pagenav td:first-child {
+     text-align: right;
+     width: 46%;
+}
+
+table#pagenav td:nth-child(2) {
+     text-align: center !important;
+     width: 80px;
+     white-space: nowrap;
+}
+
+table#pagenav td:last-child {
+     text-align: left;
+     width: 46%;
+}
+
+.topbuttons table#pagenav {
+     margin-bottom: -8px;
+}
+
+.bottombuttons table#pagenav {
+     margin-top: -2px;
+}
+
+div#prefsave { /* config page button positioning */
+     margin: 20px 0 10px;
+     border-top: 1px solid #494;
+     padding-top: 10px;
+}
+
+.iframed #prefsave {
+     margin-bottom: 0;
+     padding-top: 15px;
+}
+
+#prefsave input[type="submit"] {
+     min-width: 124px !important;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {  /* webkit fixes */
+table#mailbox {  
+     margin-top: 1px;
+}
+
+div#prefsave {
+     padding-bottom: 5px;     
+     border-bottom: 1px solid #494;
+}
+
+.iframed .page {
+     border-bottom: 1px solid #494;
+}
+}
+
+#pagenav input:disabled, #pagenav input:disabled:hover, #pagenav input:disabled:active {
+     border: 1px solid #444 !important;
+     cursor: default;
+     opacity: 0.5;
+     box-shadow: none !important;
+     background: #f00 !important;
+     display: inline;
+}
+
+#pagenav input[type="submit"] {
+     font-size: 0;
+     width: 24px !important;
+     min-width: 24px !important;
+     height: 24px;
+     margin: 3px !important;
+}
+
+#pagenav input[type="submit"]::-moz-focus-inner {
+     outline: none;
+     border: none;
+}
+
+#pagenav input.firstpage {
+     background: #000 url(images/first.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.firstpage:hover, #pagenav input.firstpage:focus {
+     background: #000 url(images/first_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+     border: 1px solid #f60;
+}
+
+#pagenav input.firstpage:active {
+     background: #f60 url(images/first_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="firstpage"]:disabled {
+     background: #000 url(images/first_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.prevpage {
+     background: #000 url(images/previous.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.prevpage:hover, #pagenav input.prevpage:focus {
+     background: #000 url(images/previous_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+     border: 1px solid #f60;
+}
+
+#pagenav input.prevpage:active {
+     background: #f60 url(images/previous_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="prevpage"]:disabled {
+     background: #000 url(images/previous_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.nextpage {
+     background: #000 url(images/next.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.nextpage:hover, #pagenav input.nextpage:focus {
+     background: #000 url(images/next_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+     border: 1px solid #f60;
+}
+
+#pagenav input.nextpage:active {
+     background: #f60 url(images/next_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="nextpage"]:disabled {
+     background: #000 url(images/next_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.lastpage {
+     background: #000 url(images/last.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.lastpage:hover, #pagenav input.lastpage:focus {
+     background: #000 url(images/last_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+     border: 1px solid #f60;
+}
+
+#pagenav input.lastpage:active {
+     background: #f60 url(images/last_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="lastpage"]:disabled {
+     background: #000 url(images/last_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+/* end pagenav */
+
+/* responsive layout */
+
+@media screen and (min-width: 1024px) {
+body, td, textarea, div, p.mailbody {
+     font-size: 10pt !important;
+}
+
+#pagenav input {
+     font-size: 0 !important;
+}
+
+.topbuttons input[type="submit"], .topbuttons input[type="reset"] {
+     margin: 3px 5px !important;
+}
+}
+
+@media screen and (min-width: 1500px) {
+input {
+     font-size: 10pt !important;
+}
+}
+
+@media screen and (max-width: 600px) {
+.topbuttons input[type="submit"], .topbuttons input[type="reset"] {
+     min-width: 50px !important;
+     margin: 3px 5px !important;
+}
 }
diff --git a/installer/resources/themes/susimail/images/all.png b/installer/resources/themes/susimail/images/all.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd60d1952ffb0ab72f21fea9b4d9edd490b1cade
Binary files /dev/null and b/installer/resources/themes/susimail/images/all.png differ
diff --git a/installer/resources/themes/susimail/images/attach.png b/installer/resources/themes/susimail/images/attach.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ddc762d34b2fbfc3cd5bc9235c180914f55cac7
Binary files /dev/null and b/installer/resources/themes/susimail/images/attach.png differ
diff --git a/installer/resources/themes/susimail/images/compose.png b/installer/resources/themes/susimail/images/compose.png
new file mode 100644
index 0000000000000000000000000000000000000000..be6ed904f7c50712b536d1c017acb3a88b1936cb
Binary files /dev/null and b/installer/resources/themes/susimail/images/compose.png differ
diff --git a/installer/resources/themes/susimail/images/compose_hover.png b/installer/resources/themes/susimail/images/compose_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..cece453bed0790755600163a211625a46e1192a2
Binary files /dev/null and b/installer/resources/themes/susimail/images/compose_hover.png differ
diff --git a/installer/resources/themes/susimail/images/first.png b/installer/resources/themes/susimail/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..f1753b836326cc4f5343abde49a8ed38489fb28f
Binary files /dev/null and b/installer/resources/themes/susimail/images/first.png differ
diff --git a/installer/resources/themes/susimail/images/folder-open.png b/installer/resources/themes/susimail/images/folder-open.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c65bd9895f4126cc1cd567585add4a72e4292cb
Binary files /dev/null and b/installer/resources/themes/susimail/images/folder-open.png differ
diff --git a/installer/resources/themes/susimail/images/folder.png b/installer/resources/themes/susimail/images/folder.png
new file mode 100644
index 0000000000000000000000000000000000000000..069ddf2d1560bdf9b736786a696e61b4b9a9c46d
Binary files /dev/null and b/installer/resources/themes/susimail/images/folder.png differ
diff --git a/installer/resources/themes/susimail/images/forward.png b/installer/resources/themes/susimail/images/forward.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e171209a666174c601e176121728e4d6d80219c
Binary files /dev/null and b/installer/resources/themes/susimail/images/forward.png differ
diff --git a/installer/resources/themes/susimail/images/last.png b/installer/resources/themes/susimail/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f9ff8b1d564f8b3534390cdf64e2d493759432f
Binary files /dev/null and b/installer/resources/themes/susimail/images/last.png differ
diff --git a/installer/resources/themes/susimail/images/login.png b/installer/resources/themes/susimail/images/login.png
new file mode 100644
index 0000000000000000000000000000000000000000..35c182de1ae36b2a01f1ab9c7f724d8b5812c164
Binary files /dev/null and b/installer/resources/themes/susimail/images/login.png differ
diff --git a/installer/resources/themes/susimail/images/login_hover.png b/installer/resources/themes/susimail/images/login_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..aec67022bf4f8d30ed65ed298709be71a9880736
Binary files /dev/null and b/installer/resources/themes/susimail/images/login_hover.png differ
diff --git a/installer/resources/themes/susimail/images/logout.png b/installer/resources/themes/susimail/images/logout.png
new file mode 100644
index 0000000000000000000000000000000000000000..72cb8c10681b7ae3301b639227ea802cb33634f3
Binary files /dev/null and b/installer/resources/themes/susimail/images/logout.png differ
diff --git a/installer/resources/themes/susimail/images/logout_hover.png b/installer/resources/themes/susimail/images/logout_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..76e246dbbde5a90e822faf35543d6ed0cc57513e
Binary files /dev/null and b/installer/resources/themes/susimail/images/logout_hover.png differ
diff --git a/installer/resources/themes/susimail/images/next.png b/installer/resources/themes/susimail/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..60aab67f6024c84a824493bfb07c8f5f16c5c63e
Binary files /dev/null and b/installer/resources/themes/susimail/images/next.png differ
diff --git a/installer/resources/themes/susimail/images/none.png b/installer/resources/themes/susimail/images/none.png
new file mode 100644
index 0000000000000000000000000000000000000000..c17045a61d8f5111d9b8101489bc185513a6d90a
Binary files /dev/null and b/installer/resources/themes/susimail/images/none.png differ
diff --git a/installer/resources/themes/susimail/images/offline.png b/installer/resources/themes/susimail/images/offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..9399d3923de93b1208faaf33895745c85e710835
Binary files /dev/null and b/installer/resources/themes/susimail/images/offline.png differ
diff --git a/installer/resources/themes/susimail/images/offline_hover.png b/installer/resources/themes/susimail/images/offline_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..159b28ffd7fab29298915f540fc2dfd3c89c05ff
Binary files /dev/null and b/installer/resources/themes/susimail/images/offline_hover.png differ
diff --git a/installer/resources/themes/susimail/images/previous.png b/installer/resources/themes/susimail/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4c29b07dc0a76b29f8407e9a30f8a9d746a317d
Binary files /dev/null and b/installer/resources/themes/susimail/images/previous.png differ
diff --git a/installer/resources/themes/susimail/images/reply-all.png b/installer/resources/themes/susimail/images/reply-all.png
new file mode 100644
index 0000000000000000000000000000000000000000..edaa0935115ad083ddf0c0f1ae9e378ddd56f431
Binary files /dev/null and b/installer/resources/themes/susimail/images/reply-all.png differ
diff --git a/installer/resources/themes/susimail/images/reply.png b/installer/resources/themes/susimail/images/reply.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1d29d305e829f1493a55dc5f2e4e9409b90ea7f
Binary files /dev/null and b/installer/resources/themes/susimail/images/reply.png differ
diff --git a/installer/resources/themes/susimail/images/save.png b/installer/resources/themes/susimail/images/save.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a89d64ff4841c8c5c04e87201238f62899d1fc5
Binary files /dev/null and b/installer/resources/themes/susimail/images/save.png differ
diff --git a/installer/resources/themes/susimail/images/save_hover.png b/installer/resources/themes/susimail/images/save_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..37cbf99819e9066f828f88b57410068bf4489a3c
Binary files /dev/null and b/installer/resources/themes/susimail/images/save_hover.png differ
diff --git a/installer/resources/themes/susimail/images/selection.png b/installer/resources/themes/susimail/images/selection.png
new file mode 100644
index 0000000000000000000000000000000000000000..eec5502df264d374fa78c471ff58e21dfe759ac3
Binary files /dev/null and b/installer/resources/themes/susimail/images/selection.png differ
diff --git a/installer/resources/themes/susimail/images/send.png b/installer/resources/themes/susimail/images/send.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca632c4efefc0e6b10d9c9018e6f76ce85cdcdd5
Binary files /dev/null and b/installer/resources/themes/susimail/images/send.png differ
diff --git a/installer/resources/themes/susimail/images/send_hover.png b/installer/resources/themes/susimail/images/send_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..563c25cead30ac0fd4815882618735a6f769eb68
Binary files /dev/null and b/installer/resources/themes/susimail/images/send_hover.png differ
diff --git a/installer/resources/themes/susimail/images/status.png b/installer/resources/themes/susimail/images/status.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a79762acfdd3309a7d59f64e76b3e30d01afdff
Binary files /dev/null and b/installer/resources/themes/susimail/images/status.png differ
diff --git a/installer/resources/themes/susimail/images/susimail.png b/installer/resources/themes/susimail/images/susimail.png
new file mode 100644
index 0000000000000000000000000000000000000000..5317f71ca29598f96d9ce9411d2751770115c836
Binary files /dev/null and b/installer/resources/themes/susimail/images/susimail.png differ
diff --git a/installer/resources/themes/susimail/light/images/3down.png b/installer/resources/themes/susimail/light/images/3down.png
index 885193e242c6bcf8864821e01e15196dd67f0745..06f22df269e5892eb2e93128e6de602f35359ffb 100644
Binary files a/installer/resources/themes/susimail/light/images/3down.png and b/installer/resources/themes/susimail/light/images/3down.png differ
diff --git a/installer/resources/themes/susimail/light/images/3up.png b/installer/resources/themes/susimail/light/images/3up.png
index 62ac7149437e6221f70b45ab787602403d610096..c99a3d20cd8a441e8dce0b157a952e7c60071a7e 100644
Binary files a/installer/resources/themes/susimail/light/images/3up.png and b/installer/resources/themes/susimail/light/images/3up.png differ
diff --git a/installer/resources/themes/susimail/light/images/susimail.png b/installer/resources/themes/susimail/light/images/susimail.png
deleted file mode 100644
index c7de5f0f01a89d3c1775ad7bea14a51874ea9970..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/susimail/light/images/susimail.png and /dev/null differ
diff --git a/installer/resources/themes/susimail/light/mobile.css b/installer/resources/themes/susimail/light/mobile.css
index e30f878be95f39e78bcd818a810d6d1c611e35e3..40204754004dbfd9774c66c8303cb4bcd78c21a1 100644
--- a/installer/resources/themes/susimail/light/mobile.css
+++ b/installer/resources/themes/susimail/light/mobile.css
@@ -1,17 +1,27 @@
-#mailbox tr, #mailbox td {
-     display: block;
+/* Susimail Mobile Theme Override "Light" */
+
+body {
+     margin: 0;
+}
+
+.page {
+     min-width: 560px;
+     padding: 5px 5px 0 !important;
+     border-radius: 0;
 }
 
-#mailbox th {
-     position: absolute;
-     top: -9999px;
-     left: -9999px;
+form {
+     margin-bottom: 5px;
 }
 
-#mailbox .optbox {
-     float: left;
+#dologin {
+     width: 500px !important;
+}
+
+#mailbox td:nth-child(6), #mailbox th:nth-child(6), #mailbox td:nth-child(8), #mailbox th:nth-child(8) {
+     display: none;
 }
 
-div.header, div.footer {
+.header, .footer {
      display: none;
 }
diff --git a/installer/resources/themes/susimail/light/susimail.css b/installer/resources/themes/susimail/light/susimail.css
index df3d749fa281410a7243bdc9577ed3af7d0bf9a6..83cfbb87b55323758951a6920149f54def87c7e6 100644
--- a/installer/resources/themes/susimail/light/susimail.css
+++ b/installer/resources/themes/susimail/light/susimail.css
@@ -1,7 +1,13 @@
+/* Susimail "Light" theme */
+/* Codename: "Corporat" */
+/* Author: dr|z3d */
+
 body {
      background-color: #eef;
-     color:#001;
-     font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     color: #333;
+     font-family: "Droid Sans", "NotoSans", Ubuntu, "Bitstream Vera Sans", "Segoe UI", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     background: #a4a4cb url(/themes/console/light/images/tile2.png);
+     background-size: 32px 32px;
 }
 
 body.iframed {
@@ -9,128 +15,167 @@ body.iframed {
      margin: 5px 0 0 0;
 }
 
-div.header {
-     padding: 8px 5px 12px 5px;
-}
-
 li {
-     color:#001;
-     line-height:12pt;
+     color: #333;
+     line-height: 12pt;
      font-size: 8.5pt;
-     margin-left:5mm;
-     margin-right:5mm;
+     margin-left: 5px;
+     margin-right: 5px;
 }
 
 p {
-     color:#001;
-     line-height:12pt;
-     margin-left:5mm;
-     margin-right:5mm;
-     font-size:8.5pt;
+     color: #333;
+     margin-left: 15px;
+     margin-right: 15px;
+     font-size: 8.5pt;
 }
 
 p.hl {
-     font-size:12pt;
-     letter-spacing:2pt;
-     line-height:18pt;
-     font-weight:bold;
+     font-size: 12pt;
+     letter-spacing: 2pt;
+     line-height: 18pt;
+     font-weight :bold;
 }
 
 p.text {
-     margin-left:10mm;
-     margin-right:10mm;
+     margin-left: 10px;
+     margin-right: 10px;
 }
 
 p.error {
-     color:#ff0000;
+     color: #f00;
+     font-size: 10pt;
 }
 
 p.info {
-     color:#327BBF;
+     color: #030;
+     font-size: 10pt;
 }
 
-span.coloured {
-     color:#327BBF;
+tr.mailbody, #message_full tr:first-child {
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
-p.footer {
-     margin-left:10mm;
-     margin-right:10mm;
-     font-size:8pt;
-     line-height:10pt;
+#mailhead tr {
+     box-shadow: none !important;
 }
 
-.iframed .footer {
-     display: none;
+tr.mailbody td {
+     word-break: break-all;
+     word-wrap: break-word;
+     width: 100%;
+     padding: 0;
 }
 
-p.mailbody {
-     font: 10pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     margin-left:1cm;
-     margin-right:1cm;
-      text-align: left;
+.mailbody p.info {
+     margin: -32px 0 0;
+     display: block;
+     border: 1px solid #447;
+     border-radius: 2px;
+     box-shadow: inset 0 0 1px #f00;
+     padding: 20px 10px;
+     width: calc(100% - 40px);
+     background: #ffe;
+     color: #900;
+     font-weight: bold;
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+span.coloured {
+     color: #327BBF;
+}
+
+/* optional top header */
+div.header {
+     transform: scale(0.7);
+     margin: -20px 10px -10px;
+     display: none;
 }
 
 .iframed .header {
      display: none;
 }
 
-.iframed p:first-child {
+div.footer {
+     border-top: none;
+     margin: -14px 0 10px;
+     border: 1px solid #7778bf;
+     border-radius: 0 0 2px 2px;
+     background: #eef;
+     background: linear-gradient(to right, rgba(232,232,255,0.3) 35%, #fff 50%, rgba(232,232,255,0.3) 65%), linear-gradient(to bottom, rgba(255,255,255,0.3) 5%, rgba(220,220,255,0.8));
+     box-shadow: inset 0 0 0 1px #fff;
+     background-size: 100% 100%, auto 2px;
+}
+
+p.footer {
+     margin: 0;
+     font-size: 8pt;
+     line-height: 10pt;
+     text-align: center;
+     padding: 3px;
+     color: #449 !important;
+}
+
+.iframed .footer {
      display: none;
 }
 
-/*
-.mailbody {
-     display: block !important;
+p.mailbody {
+     font: 9pt "Droid Sans Mono", "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     text-align: left;
+     padding: 0 0 15px;
+     margin-top: 0;
 }
-*/
 
 a {
-     color:#327BBF;
+     color: #327BBF;
      text-decoration:none;
      font-weight: bold;
+     outline: none;
 }
 
 a.linkspam {
-     color:#927B40;
+     color: #927B40;
 }
 
 a.linknew {
-     color:#327B40;
+     color: #327B40;
 }
 
 a.linkold {
-     color:#327BBF;
+     color: #327BBF;
 }
 
-a:hover {
-     text-decoration:underline;
+a:hover, a:focus, tr:hover td[onclick] a {
+     text-decoration: none;
+     color: #f60 !important;
 }
 
+a:active {
+     color: #f30;
+}
 td {
-
-     color:#001;
-     line-height:12pt;
-     margin-left:5mm;
-     margin-right:5mm;
+     color: #333;
      font-size:9pt;
      padding: 1px 3px;
 }
 
-tr.list0 {
-     background-color:#ececec;
+td[onclick] {
+     cursor: pointer;
 }
 
-tr.list1 {
-     background-color:#f4f4f4;
+tr.list0 {
+     background-color: #eef;
 }
 
-tr.list0:hover {
-     background-color:#e0e0f4;
+tr.list1 {
+     background-color: #f7f8ff;
 }
 
-tr.list1:hover {
-     background-color:#e0e0f4;
+tr.list0:hover, tr.list1:hover {
+     background-color: #ffd;
+     box-shadow: inset 0 0 0 1px #fff;
 }
 
 tr.list0 a:link {
@@ -141,14 +186,10 @@ tr.list1 a:link {
      text-decoration: none;
 }
 
-.iframed tr.list1 {
-     background-color:#f0f0f0;
-}
-
 table.noborder {
-     margin-left:0mm;
-     margin-top:0mm;
-     margin-right:0mm;
+     margin-left:0px;
+     margin-top:0px;
+     margin-right:0px;
 }
 
 pre {
@@ -159,22 +200,23 @@ pre {
 
 .page {
      background-color: #fff;
-     color:#001;
-     margin: -20px 0 0 0;
-     padding: 10px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-/*     border: 1px solid #001; */
+     color: #333;
+     margin: 0;
+     padding: 10px 10px 0;
+     border-radius: 2px 2px 0 0;
      font-size: 8.5pt !important;
      line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+     box-shadow: inset 0 0 0 1px #bbf;
      text-align: center;
+     border: 1px solid #447;
+     min-width: 800px;
 }
 
 .iframed .page {
-     background-color: #f0f0f0;
      margin: 0;
+     padding: 1px;
+     border: none;
+     box-shadow: none;
 }
 
 table {
@@ -185,107 +227,937 @@ table {
 th {
      font-size: 10pt;
      font-weight: bold;
+     vertical-align: middle;
+}
+
+table#mailbox {
+     border: 1px solid #7778bf;
+     border-left: none;
+     border-right: none;
+     border-collapse: separate;
+     border-spacing: 0;
+     border-radius: 0 0 2px 2px;
+}
+
+.iframed #mailbox {
+     border-bottom: none !important;
+     margin: 0;
+}
+
+#emptymailbox {
+     padding: 10px;
+}
+
+#mailbox hr {
+     display: none;
+}
+
+#mailbox th {
+	  background: #fff;
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     border-bottom: 1px solid #7778bf;
+     white-space: nowrap;
+     line-height: 175%;
+     padding: 2px 5px !important;
+}
+
+#mailbox th:first-child {
+     background: #fff url(/themes/console/images/buttons/delete.png) center center no-repeat;
+     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+}
+
+#mailbox th:nth-child(2) {
+     background: #fff url(/themes/susimail/images/status.png) center center no-repeat;
+     background: url(/themes/susimail/images/status.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     background-blend-mode: luminosity;
+}
+
+#mailbox th:nth-child(4) {
+     background: #fff url(/susimail/icons/attach.png) center center no-repeat;
+     background: url(/susimail/icons/attach.png) center center no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+}
+
+#mailbox td:nth-child(5) {
+     white-space: normal;
+     word-break: break-all;
+}
+
+#mailbox th:last-child, #mailbox td:nth-child(4) {
+     text-align: right;
+}
+
+#mailbox tr td {
+     border-top: 1px solid #bbf;
+}
+
+#mailbox tr:nth-child(3) td {
+     border-top: none;
+}
+
+#mailbox tr:first-child {
+     display: none;
+}
+
+#mailbox td:first-child, #mailbox td:nth-child(2), #mailbox td:nth-child(4), #mailbox td:nth-child(6) {
+     width: 20px;
+}
+
+#mailbox td:nth-child(5) {
+     text-align: left;
+}
+
+#mailbox td:nth-child(7) {
+     text-align: right;
+     width: 100px;
+     white-space: nowrap;
+}
+
+#mailbox td:nth-child(3) a, #mailbox td:nth-child(3) a:hover {
+     font-weight: normal;
+     color: #333 !important;
+}
+
+#mailbox td[onclick]:last-child {
+     padding-right: 5px;
+     width: 76px;
+     white-space: nowrap;
+}
+
+#mailbox .bottombuttons td {
+     padding: 5px 3px 7px;
+     border-top: 1px solid #7778bf;
+}
+
+.iframed #mailbox .bottombuttons td {
+     padding: 5px 3px;
+}
+
+#mailbox .bottombuttons input[type="submit"][disabled] {
+     display: none;
 }
 
 form {
      line-height: 160%
 }
 
-.mailhead {
-     font-size: 8.5pt;
-     font-weight: bold;
+.header + form {
+     border: 1px solid #7778bf;
+     border-radius: 2px 2px 0 0;
+     background: linear-gradient(to right, #efefff, #fff, #efefff);
+     box-shadow: 0 0 0 1px #fff; 
+}
+
+.iframed .header + form {
+     border-radius: 2px;
+     margin-bottom: 0;
+}
+
+#message_full {
+     border: 1px solid #7778bf;
+     border-left: none;
+     border-right: none;
+     border-collapse: separate;
+     border-spacing: 0;
+     margin: 0;
+     padding: 0 !important;
+}
+
+#message_full tr:first-child {
+     background: #efefff;
+}
+
+#message_full tr:first-child td {
+     border-bottom: 1px solid #7778bf;
+}
+
+#mailhead {
+     background: #efefff;
+     padding: 0;
+     margin: 0;
+}
+
+#mailhead td {
+     border: none !important;
+}
+
+#mailhead hr, .mailbody hr {
+     display: none;
+}
+
+#mailhead td:first-child {
+     width: 45px;
+     white-space: nowrap;
+     font-weight: bold; 
+}
+
+button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner  {
+     outline: none;
+     border: none;
+}
+
+input {
+     cursor: pointer;
+}
+
+input[type="text"], input[type="password"] {
+     cursor: text;
+}
+
+input[type="submit"], input[type="reset"] {
+     border: 1px solid #999;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: #eee;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     color: #333;
+     margin: 3px;
+     font: 9pt "Droid Sans", "NotoSans", Ubuntu, "Bitstream Vera Sans", "Segoe UI", Verdana, "Lucida Grande", Helvetica, sans-serif;
+     padding: 4px 5px;
+     text-decoration: none;
+     border-radius: 2px;
+     opacity: 1;
+     background-size: 14px auto, 100% 100% !important;
+     filter: saturate(70%) drop-shadow(0 0 1px #ccc);
+     -webkit-filter: saturate(50%) drop-shadow(0 0 1px #ccc);
+     cursor: pointer;
+}
+
+input[type="submit"]:hover, input[type="reset"]:hover, input[type="submit"]:focus, input[type="reset"]:focus {
+     filter: saturate(100%) drop-shadow(0 0 1px #ccc);
+     border: 1px solid #f60;
+     color: #222;
+}
+
+input[type="submit"]:active, input[type="reset"]:active {
+     box-shadow: inset 2px 2px 2px #999;
+     color: #555;
+     background-blend-mode: luminosity;
+     border: 1px solid #f30;
 }
 
-input.cancel, input.clearselection, input.logout {
-     background: #ddf url('/themes/console/images/cancel.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input[disabled], input[disabled]:hover, input[disabled]:focus {
+     opacity: 0.4;
+     cursor: default;
+     border: 1px solid #999;
+}
+
+input.cancel {
+     background: #eee url(/themes/console/images/buttons/no.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.cancel:hover {
+     background: #fff url(/themes/console/images/buttons/no.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.clearselection {
+     background: #eee url(/themes/susimail/images/none.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/none.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.clearselection:hover {
+     background: #fff url(/themes/susimail/images/none.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/none.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
 input.delete, input.delete_attachment, input.really_delete {
-     background: #ddf url('/themes/console/images/delete.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/delete.png) no-repeat 6px center;     
+     background: url(/themes/console/images/buttons/delete.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
 }
 
-input.download, input.lastpage {
-     background: #ddf url('/themes/console/images/arrow_down.png') no-repeat 1px center;
-     padding: 2px 3px 2px 19px;
-     min-height: 22px;
+input.delete:hover, input.delete_attachment:hover, input.really_delete:hover {
+     background: #fff url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/delete_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-input.firstpage {
-     background: #ddf url('/themes/console/images/arrow_up.png') no-repeat 1px center;
-     padding: 2px 3px 2px 19px;
-     min-height: 22px;
+input.download {
+     background: #eee url(/themes/console/images/buttons/download.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
 }
 
-input.list, input.offline {
-     background: #ddf url('/themes/console/images/folder.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.download:hover {
+     background: #fff url(/themes/console/images/buttons/download.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-input.forward, input.login, input.nextpage, input.send, input.next {
-     background: #ddf url('/themes/console/images/arrow_right.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.offline {
+     background: #eee url(/themes/susimail/images/offline.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/offline.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
 }
 
-input.invertselection, input.reload, input.refresh {
-     background: #ddf url('/themes/console/images/arrow_refresh.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.offline:hover {
+     background: #fff url(/themes/susimail/images/offline_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/offline_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-input.markall, input.show {
-     background: #ddf url('/themes/console/images/tick.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.list {
+     background: #eee url(/themes/susimail/images/folder.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/folder.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.list:hover {
+     background: #eee url(/themes/susimail/images/folder-open.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/folder-open.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.forward {
+     background: #eee url(/themes/susimail/images/forward.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/forward.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.forward:hover {
+     background: #fff url(/themes/susimail/images/forward.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/forward.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.login {
+     background: #eee url(/themes/susimail/images/login.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/login.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.login:hover {
+     background: #fff url(/themes/susimail/images/login_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/login_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.logout {
+     background: #eee url(/themes/susimail/images/logout.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/logout.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.logout:hover {
+     background: #fff url(/themes/susimail/images/logout_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/logout_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reload, input.refresh {
+     background: #eee url(/themes/console/images/buttons/update.png) no-repeat 6px center;     
+     background: url(/themes/console/images/buttons/update.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.reload:hover, input.refresh:hover {
+     background: #eee url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center;     
+     background: url(/themes/console/images/buttons/update_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.invertselection {
+     background: #eee url(/themes/susimail/images/selection.png) no-repeat 6px center;     
+     background: url(/themes/susimail/images/selection.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.invertselection:hover {
+     background: #eee url(/themes/susimail/images/selection.png) no-repeat 6px center;     
+     background: url(/themes/susimail/images/selection.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.show {
+     background: #eee url(/themes/console/images/buttons/yes.png) no-repeat 6px center;     
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.show:hover {
+     background: #fff url(/themes/console/images/buttons/yes.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.markall {
+     background: #eee url(/themes/susimail/images/all.png) no-repeat 6px center;     
+     background: url(/themes/susimail/images/all.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.markall:hover {
+     background: #fff url(/themes/susimail/images/all.png) no-repeat 6px center;     
+     background: url(/themes/susimail/images/all.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
 input.new {
-     background: #ddf url('/themes/console/images/email.png') no-repeat 0px center;
-     padding: 2px 3px 2px 36px;
-     min-height: 22px;
+     background: #eee url(/themes/susimail/images/compose.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/compose.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.new:hover {
+     background: #fff url(/themes/susimail/images/compose_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/compose_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.reply {
+     background: #eee url(/themes/susimail/images/reply.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/reply.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.reply:hover {
+     background: #fff url(/themes/susimail/images/reply.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/reply.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.replyall {
+     background: #eee url(/themes/susimail/images/reply-all.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/reply-all.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.replyall:hover {
+     background: #fff url(/themes/susimail/images/reply-all.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/reply-all.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+/* pagenav */
+
+input.firstpage, input[name="firstpage"],
+input.firstpage[disabled]:hover, input[name="firstpage"][disabled]:hover {
+     background: #eee url(/themes/susimail/images/first.png) no-repeat center center;
+     background: url(/themes/susimail/images/first.png) no-repeat center center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 10px;
+     text-indent: -99999px;
 }
 
-input.reply, input.replyall {
-     background: #ddf url('/themes/console/images/arrow_turn_left.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.firstpage:hover, input[name="firstpage"]:hover {
+     background: #fff url(/themes/susimail/images/first.png) no-repeat center center;
+     background: url(/themes/susimail/images/first.png) no-repeat center center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
-input.prevpage, input.prev {
-     background: #ddf url('/themes/console/images/arrow_left.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.lastpage, input[name="lastpage"],
+input.lastpage[disabled]:hover, input[name="lastpage"][disabled]:hover {
+     background: #eee url(/themes/susimail/images/last.png) no-repeat center center;
+     background: url(/themes/susimail/images/last.png) no-repeat center center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 10px;
+     text-indent: -99999px;
 }
 
-input.send, input.setpagesize, input.save {
-     background: #ddf url('/themes/console/images/accept.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+input.lastpage:hover, input[name="lastpage"]:hover {
+     background: #fff url(/themes/susimail/images/last.png) no-repeat center center;
+     background: url(/themes/susimail/images/last.png) no-repeat center center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.prevpage, input.prev, input[name="prev"], input[name="prevpage"],
+input.prevpage[disabled]:hover, input.prev[disabled]:hover, input[name="prev"][disabled]:hover, input[name="prevpage"][disabled]:hover {
+     background: #eee url(/themes/susimail/images/previous.png) no-repeat center center;
+     background: url(/themes/susimail/images/previous.png) no-repeat center center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 10px;
+     text-indent: -99999px;
+}
+
+input.prevpage:hover, input.prev, input[name="prev"]:hover, input[name="prevpage"]:hover {
+     background: #fff url(/themes/susimail/images/previous.png) no-repeat center center;
+     background: url(/themes/susimail/images/previous.png) no-repeat center center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.nextpage, input.next, input[name="nextpage"], input[name="next"],
+input.nextpage[disabled]:hover, input.next[disabled]:hover, input[name="nextpage"][disabled]:hover, input[name="next"][disabled]:hover {
+     background: #eee url(/themes/susimail/images/next.png) no-repeat center center;
+     background: url(/themes/susimail/images/next.png) no-repeat center center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 4px 10px;
+     text-indent: -99999px;
+}
+
+input.nextpage:hover, input.next:hover, input[name="nextpage"]:hover {
+     background: #fff url(/themes/susimail/images/next.png) no-repeat center center;
+     background: url(/themes/susimail/images/next.png) no-repeat center center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+/* end pagenav */
+
+input.setpagesize, input.save {
+     background: #eee url(/themes/console/images/buttons/yes.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.send {
+     background: #eee url(/themes/susimail/images/send.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/send.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.send:hover {
+     background: #fff url(/themes/susimail/images/send_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/send_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
 input.configure {
-     background: #ddf url('/susimail/icons/wrench.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+     background: #eee url(/themes/console/images/buttons/configure.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/configure.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.configure:hover {
+     background: #fff url(/themes/console/images/buttons/configure_hover.png) no-repeat 6px center;
+     background: url(/themes/console/images/buttons/configure_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
 }
 
 input.saveas {
-     background: #ddf url('/susimail/icons/drive_edit.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+     background: #eee url(/themes/susimail/images/save.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/save.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.saveas:hover {
+     background: #fff url(/themes/susimail/images/save_hover.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/save_hover.png) no-repeat 6px center, linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+input.new_upload {
+     background: #eee url(/themes/susimail/images/attach.png) no-repeat 6px center;
+     background: url(/themes/susimail/images/attach.png) no-repeat 6px center, linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     padding: 5px 5px 5px 22px;
+}
+
+input.new_upload {
+     float: right;
+}
+
+img.sort {
+     border: 1px solid #999;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #fff 0%, #ddd 100%);
+     margin: 0;
+     vertical-align: middle;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+img.sort:hover, img.sort[disabled]:hover {
+     opacity: 1 !important;
+     border: 1px solid #f60;
+     background: linear-gradient(to bottom, #ddd 0%, #fff 100%);
+}
+
+img.sort:active {
+     box-shadow: inset 2px 2px 2px #999;
+}
+
+input[type="file"] {
+     background: none;
+     font-size: 9pt;
+     padding: 5px 0;
+}
+
+input[type="text"], input[type="password"], textarea {
+     padding: 5px !important;
+     box-shadow: inset 2px 2px 2px #bbb;
+     border: 1px solid #999;
+     border-radius: 2px;
+     color: #333;
+}
+
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+     color: #111;
+     box-shadow: 0 0 1px #89f;
+}
+
+input[type="text"][disabled] {
+     opacity: 1;
+}
+
+#composemail {
+     text-align: center !important;
+     padding: 10px;
+     border: 1px solid #7778bf;
+     border-left: none;
+     border-right: none;
+     border-radius: 0 0 2px 2px;
+     background: #efefff;
+     background: linear-gradient(to right, #efefff, #fff, #efefff);
+}
+
+#composemail hr {
+     display: none;
+}
+
+#composemail table {
+     width: auto;
+     margin: auto;
+}
+
+#composemail td {
+     padding: 3px;
+}
+
+#composemail textarea {
+     margin-top: 15px;
+}
+
+#composemail textarea, #composemail input[type="text"] {
+     width: calc(100% - 20px);     
+     max-width: 665px;
+}
+
+div#mailheader {
+     margin: 10px 10px 10px 20px;
+}
+
+#mailheader table td:first-child {
+     white-space: nowrap;
+     width: 20px;
+}
+
+div#dologin {
+     border: 1px solid #555;
+     padding: 10px 10px 0;
+     border-radius: 2px;
+     width: 600px;
+     margin: 40px auto 40px;
+     box-shadow: inset 0 0 3px 1px #ddd, 0 0 1px #ccc;
+     background: #fff;
+     background: linear-gradient(to bottom, #fff, rgba(232,232,255,0.5)), linear-gradient(to bottom, rgba(255,255,255,0.7) 5%, rgba(220,220,255,0.9)), linear-gradient(to right, #fff, #efefff, #fff);
+     background-size: 100% 100%, auto 2px, 100%, 100%;
+     filter: drop-shadow(0 0 1px #ccc);
+     -webkit-filter: drop-shadow(0 0 1px #ccc);
+}
+
+.iframed #dologin {
+     margin: 30px auto 30px;
+}
+
+#dologin td {
+     padding: 3px;
+     font-weight: bold;
+     color: #444;
+}
+
+#dologin td:first-child {
+     white-space: nowrap;
+}
+
+#dologin td:last-child {
+     width: 80%;
+}
+
+#dologin h1 {
+     border-bottom: 1px solid #999;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     font-size: 14pt;
+     text-align: left;
+     padding: 0 10px 12px 15px;
+     margin: 5px -9px;
+}
+
+/* optional branded login panel header */
+/*
+#dologin h1 {
+     font-size: 0;
+     background: #fff url(/themes/susimail/images/susimail.png) 5px -5px no-repeat;
+     background: url(/themes/susimail/images/susimail.png) 8px -5px no-repeat, linear-gradient(to bottom, #fff, #efefff 75%, #eef);
+     background: url(/themes/susimail/images/susimail.png) 8px -5px no-repeat;
+     height: 48px;
+     background-size: auto 60px;
+     margin-bottom: 5px;
+     border-bottom: 1px solid #999;
+     margin: 0 -9px 5px;
+}
+*/
+
+.iframed #dologin h1 {
+     display: none;
+}
+
+#dologin input[type="text"], input[name="pagesize"] {
+     text-align: left !important;
+}
+
+#dologin input[name="user"] {
+     background: #fff url(/themes/console/images/buttons/user.png) 5px 6px no-repeat;
+     padding: 5px 5px 5px 26px !important;
+}
+
+
+#dologin input[name="pass"] {
+     background: #fff url(/themes/console/images/buttons/password.png) 5px 5px no-repeat;
+     padding: 5px 5px 5px 26px !important;
+}
+
+#dologin input[name="user"], #dologin input[name="pass"], #dologin input[name="host"] {
+     width: 240px;
+}
+
+hr {
+     color: #999;
+     background: #999;
+     height: 1px;
+     border: 0px solid #999;
+     width: 100%;
+     margin: 5px 0;
+     text-align: center;
+}
+
+textarea[name="config_text"] {
+     margin-bottom: 15px;
+     resize: none;
+     height: 250px;
+}
+
+div#pagenav {
+     border-top: 1px solid #555;
+     padding: 10px 5px 0;
+     font-size: 9.5pt;
+     border-radius: 0 0 2px 2px;
+}
+
+
+h3#config {
+     text-align: center;
+     border: 1px solid #7778bf;
+     border-left: none;
+     border-right: none;
+     margin: -2px 0 20px;
+     padding: 10px;
+     text-transform: uppercase;
+     font-size: 11pt;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #efefff;
+     box-shadow: inset 0 0 0 1px #fff;
+     background: linear-gradient(to right, #fff, #efefff, #fff);
+}
+
+.topbuttons {
+     margin: -1px -1px 0;
+     padding: 4px 5px;
+     text-align: center;
+     border: 1px solid #7778bf;
+     border-bottom: none;
+     background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 255, 0.5) 50%, rgba(255, 255, 255, 1) 100%), linear-gradient(to bottom, #fff 0%, #fff 51%, #eef 51%, #ddf 100%);
+     border-radius: 2px 2px 0 0;
+     box-shadow: inset 0 0 0 1px #fff;
+     z-index: 100;
+     font-weight: bold;
+     vertical-align: middle;
+     font-size: 9pt;
+}
+
+/* float topbuttons, single line  */
+
+.topbuttons input {
+     float: left;
+}
+
+.topbuttons input[name="pagesize"], .topbuttons .setpagesize, .topbuttons input[onclick] {
+     float: none !important;
+}
+
+.topbuttons input.new, .topbuttons input.refresh, .topbuttons input.logout {
+     float: left;
+}
+
+.topbuttons input.prev, .topbuttons input[name="prev"], .topbuttons input.prevpage, .topbuttons input[name="prevpage"], 
+.topbuttons input.next, .topbuttons input[name="next"], .topbuttons input.nextpage, input[name="nextpage"],
+.topbuttons input.firstpage, .topbuttons input[name="firstpage"], .topbuttons input.lastpage, .topbuttons input[name="lastpage"],
+.topbuttons input.list {
+     height: 26px;
+     margin: 3px;
+}
+
+#messagenav {
+     float: right;
+     margin-right: -1px;
+     margin-left: -7px;
+}
+
+.topbuttons br {
+     display: none;
+}
+
+.topbuttons br ~ input {
+    margin: 3px 2px;
+}
+
+.topbuttons input.prev, .topbuttons input[name="prev"] {
+     margin-left: 10px;
+}
+
+.topbuttons input.list {
+     background-position: center center;
+     text-indent: -99999px;
+     padding: 5px 10px;    
+}
+
+.topbuttons input[type="text"] {
+    margin: 3px !important;
+}
+
+#pagenav input {
+     float: none;
+     margin: 2px 1px !important;
+}
+
+#pagenav input[name="prevpage"] {
+     margin-right: 5px !important;
 }
 
-input[type=file], input.new_upload {
-     background: #ddf url('/themes/console/images/add.png') no-repeat 4px center;
-     padding: 2px 3px 2px 24px;
-     min-height: 22px;
+#pagenav input[name="nextpage"] {
+     margin-left: 5px !important;
 }
 
-input[type=text], input[type=password] {
-     padding: 1px 4px;
+#pagenav input[disabled]:hover, #pagenav input[disabled]:active {
+     box-shadow: inset 0 0 0 1px #fff !important;
 }
+
+.topbuttons, .iframed .topbuttons {
+     height: 32px;
+     padding: 2px 3px 2px 3px;
+     background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 255, 0.5) 40%, rgba(239, 239, 255, 0.5) 60%, rgba(255, 255, 255, 1) 100%), linear-gradient(to bottom, #fff 0%, #fff 51%, #eef 51%, #ddf 100%);
+     white-space: nowrap;
+}
+
+/* optional header graphic */
+/*
+.topbuttons { 
+     background: url(/themes/susimail/images/susimail.png) 3px center no-repeat, linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%), linear-gradient(to bottom, #fff 0%, #fff 51%, #eef 51%, #ddf 100%);
+     background-blend-mode: luminosity;
+     background-size: auto 90%, 100% 100%, 100% 100%;     
+     padding-left: 90px;
+
+}
+*/
+/* end topfloat */
+
+.topbuttons input[type="text"] {
+     margin: 5px;
+     padding: 4px 4px 5px !important;
+}
+
+.topbuttons div#pagenav {
+     margin-top: 10px;
+     display: inline-block;
+}
+
+table#pagenav {
+     float: right;
+     width: 200px;
+     margin: -3px -4px -1px 0;
+     padding: 2px;
+     border-collapse: separate;
+     border-spacing: 0;
+     border-radius: 2px 2px 0 0;    
+/*     background: #fff;     
+     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eef 50%, #eef 100%);
+     box-shadow: inset 0 0 0 1px #fff;*/ 
+}
+
+table#pagenav td {
+     white-space: nowrap;
+     font-size: 10pt;
+     font-weight: bold;
+     padding: 1px 2px;
+     text-align: center;
+     font-style: italic;
+}
+
+table#pagenav td:first-child {
+     text-align: right;
+     width: 49%;
+}
+
+table#pagenav td:last-child {
+     text-align: left;
+     width: 49%;
+}
+
+table#pagenav td:nth-child(2) {
+     width: 20px;
+     white-space: nowrap;
+}
+
+.bottombuttons br {
+     display: none;
+}
+
+div#bottombuttons {
+     padding: 0 0 20px;
+}
+
+tr.bottombuttons table#pagenav {
+     width: 100%;
+     margin: 0;
+     border-bottom: 1px solid #555;
+}
+
+tr.bottombuttons:empty {
+     display: none;
+}
+
+.notifications {
+     bottom: 0;
+     left: 0;
+     position: fixed;
+     right: 0;
+     text-align: center;
+     margin: 0 -20px;
+     padding: 5px 10px;
+     z-index: 10;
+     opacity: 0.85;
+     border-top: 1px solid #fff;
+     background: #113;
+}
+
+.iframed .notifications {
+     margin-bottom: 9px;
+     border-radius: 4px 4px 0 0;
+     border: none;
+     margin: 0 20% 9px;
+}
+
+.notifications p.info {
+     font-size: 10pt !important;
+     color: #fff;
+}
+
+.notifications p {
+     filter: drop-shadow(0 0 2px #000);
+     -webkit-filter: drop-shadow(0 0 2px #000);
+     letter-spacing: 0.07em;
+     word-spacing: 0.2em;
+     font-weight: bold;
+}
+
+p.error {
+     font-size: 10pt !important;
+}
+
+td p.error {
+     padding: 10px;
+}
+
+.attached {
+     text-align: left;
+     background: url(/themes/susimail/images/attach.png) 10px center no-repeat;
+     padding: 8px 5px 8px 35px;
+     border-top: 1px solid #7778bf;
+     margin: 0;
+     box-shadow: inset 0 0 0 1px #fff;
+     overflow: auto !important;
+}
+
+.attached img {
+     border: 1px solid #555;
+     border-radius: 2px;
+     padding: 3px;
+     background: #fff;
+     text-align: center;
+     max-width: 100%;
+     max-width: calc(100% - 5px);
+     filter: drop-shadow(0 0 1px #999);
+     -webkit-filter: drop-shadow(0 0 1px #999);
+}
+
+#prefsave {
+     margin-bottom: 25px !important;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/susimail/midnight/images/3down.png b/installer/resources/themes/susimail/midnight/images/3down.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c3e7efb8da8da1772cecf53c0907eca7a7def6b
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/3down.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/3up.png b/installer/resources/themes/susimail/midnight/images/3up.png
new file mode 100644
index 0000000000000000000000000000000000000000..93496114ca038ec5e35d679f2b235e8983c474de
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/3up.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/attach.png b/installer/resources/themes/susimail/midnight/images/attach.png
new file mode 100644
index 0000000000000000000000000000000000000000..398fabe18c5b42fc43c08d793fc6d8f90cc0d6a7
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/attach.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/first.png b/installer/resources/themes/susimail/midnight/images/first.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc8479b631dae142af23b93ec4b426c154ace425
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/first.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/first_active.png b/installer/resources/themes/susimail/midnight/images/first_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..2eefd083d68de32fc17a5b81beb39db11039fbf3
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/first_active.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/first_disabled.png b/installer/resources/themes/susimail/midnight/images/first_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0072c9e33b618a7ebb57299b44ee7a7b7cf8701
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/first_disabled.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/first_hover.png b/installer/resources/themes/susimail/midnight/images/first_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b860e8f74cdb94797246920bbb3efcffae7312e
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/first_hover.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/hatter_med.png b/installer/resources/themes/susimail/midnight/images/hatter_med.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f3b0698a93726da742064f93e82a11176e783fd
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/hatter_med.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/last.png b/installer/resources/themes/susimail/midnight/images/last.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed6ca93932f064c82bfb840b78bde8c0ca9c3e93
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/last.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/last_active.png b/installer/resources/themes/susimail/midnight/images/last_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ec74f394cece7aa10564a9e4b462926219ad1e7
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/last_active.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/last_disabled.png b/installer/resources/themes/susimail/midnight/images/last_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e3958bd388aa721dcb2ebdc0083cddab4f90f64
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/last_disabled.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/last_hover.png b/installer/resources/themes/susimail/midnight/images/last_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f727d74c7d9383208ccd3fa6626e966196b6b47b
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/last_hover.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/mail.png b/installer/resources/themes/susimail/midnight/images/mail.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ae5af15868162cef66fbf53771be47650013786
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/mail.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/next.png b/installer/resources/themes/susimail/midnight/images/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ece8e45a176ffbdd71763f828e946af8aa01b03
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/next.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/next_active.png b/installer/resources/themes/susimail/midnight/images/next_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..4dd21154e954e3ef37b8a6e3a1b309ccd311e361
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/next_active.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/next_disabled.png b/installer/resources/themes/susimail/midnight/images/next_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..da01cb7ac0c7b37ed0895932825dd212491c1a52
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/next_disabled.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/next_hover.png b/installer/resources/themes/susimail/midnight/images/next_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..230f7e7d434c61e6441a232d48a9757d4d8c9ff8
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/next_hover.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/previous.png b/installer/resources/themes/susimail/midnight/images/previous.png
new file mode 100644
index 0000000000000000000000000000000000000000..da6a24f5358346df5dca09a4adfda7f5bf7ef399
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/previous.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/previous_active.png b/installer/resources/themes/susimail/midnight/images/previous_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..65a4253c7ab7db70149e59ebd12470a16c6ad929
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/previous_active.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/previous_disabled.png b/installer/resources/themes/susimail/midnight/images/previous_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..c49db000f13225e28f396e07b20ffef34cd52a68
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/previous_disabled.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/previous_hover.png b/installer/resources/themes/susimail/midnight/images/previous_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..012880a5fdff9b001e3c8b4140ec5666bed18302
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/previous_hover.png differ
diff --git a/installer/resources/themes/susimail/midnight/images/susimail.png b/installer/resources/themes/susimail/midnight/images/susimail.png
new file mode 100644
index 0000000000000000000000000000000000000000..baa85b7f2da220dfe88cd427bf39c37ba9664878
Binary files /dev/null and b/installer/resources/themes/susimail/midnight/images/susimail.png differ
diff --git a/installer/resources/themes/susimail/midnight/mobile.css b/installer/resources/themes/susimail/midnight/mobile.css
new file mode 100644
index 0000000000000000000000000000000000000000..baa2b9f7670038304f69806eaf3cc0733e0fc027
--- /dev/null
+++ b/installer/resources/themes/susimail/midnight/mobile.css
@@ -0,0 +1,27 @@
+/* Susimail Mobile Theme Override "Midnight" */
+
+body {
+     margin: 0;
+}
+
+.page {
+     min-width: 560px;
+     padding: 5px 5px 0 !important;
+     border-radius: 0;
+}
+
+form {
+     margin-bottom: 5px;
+}
+
+#dologin {
+     width: 500px !important;
+}
+
+#mailbox td:nth-child(6), #mailbox th:nth-child(6), #mailbox td:nth-child(8), #mailbox th:nth-child(8) {
+     display: none;
+}
+
+.header, .footer {
+     display: none;
+}
diff --git a/installer/resources/themes/susimail/midnight/susimail.css b/installer/resources/themes/susimail/midnight/susimail.css
new file mode 100644
index 0000000000000000000000000000000000000000..a68024f6b432f539aab481ae275aa8d870ab0143
--- /dev/null
+++ b/installer/resources/themes/susimail/midnight/susimail.css
@@ -0,0 +1,936 @@
+/* Susimail "Midnight" by dr|z3d */
+/* Thanks to Florian Kuhlmann for the hatface images. [http://www.flickr.com/photos/floriankuhlmann/] */
+/* Droid Sans font family and css3 compliant browser recommended for optimal results */
+
+body {
+     background-color: #000;
+     color: #C9CEFF;
+     font-family: "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     font-size: 9pt;
+     margin: 6px 5px;
+}
+
+body.iframed {
+     background: transparent !important;
+     margin: 1px 0 0;
+}
+
+.iframed form {
+     border: 1px solid transparent !important;
+}
+
+div.header {
+     padding: 8px 5px 12px 5px;
+}
+
+hr {
+     color: #443da0;
+     background: #443da0;
+     height: 1px;
+     border: 0px solid #443da0;
+     width: 100%;
+     margin: 5px 0;
+     text-align: center;
+}
+
+li {
+     color: #C9CEFF;
+     line-height: 12pt;
+     font-size: 10pt;
+     margin-left: 5mm;
+     margin-right: 5mm;
+}
+
+p {
+     color: #C9CEFF;
+     line-height: 12pt;
+     margin-left: 5mm;
+     margin-right: 5mm;
+     font-size: 9pt;
+}
+
+p.hl {
+     font-size: 12pt;
+     letter-spacing: 2pt;
+     line-height: 18pt;
+     font-weight: bold;
+}
+
+p.text {
+     margin-left: 10mm;
+     margin-right: 10mm;
+}
+
+p.info, p.error {
+     color: #C9CEFF;
+     display: block !important;
+     border: 1px solid #443da0;
+     margin: 20px 20px 0 !important;
+     padding: 15px 10px 15px 45px;
+     background: #000 url(/themes/console/images/info/infohelp.png) 10px center no-repeat;
+     background: url(/themes/console/images/info/infohelp.png) 10px center no-repeat, linear-gradient(to right, #000000, #010015 65%, #020018 90%);
+     text-align: left;
+     border-radius: 2px;
+}
+
+p.error {
+     color: #652787;
+     background: url(/themes/console/images/info/errortriangle.png) no-repeat scroll 10px center #000;
+     border: 1px solid #652787;
+     border-radius: 2px;
+     font-weight: bold;
+     text-align: justify;
+     word-wrap: break-word;
+     padding-left: 60px !important;
+     display: block !important;
+}
+
+span.coloured {
+     color: #382dc4;
+}
+
+p.footer {
+     margin-left: 10mm;
+     margin-right: 10mm;
+     font-size: 8pt;
+     line-height: 10pt;
+     display: none;
+}
+
+.footer hr {
+     margin-top: -12px;
+     display: none;
+}
+
+.iframed #footer {
+     display: none;
+}
+
+p.mailbody, textarea {
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     margin: 0 5px;
+     text-align: left;
+}
+.header {
+     display: none;
+}
+
+.iframed .header {
+     display: none;
+}
+
+div.topbuttons {
+     padding: 7px 0 8px !important;
+     font-weight: bold;
+     border: 1px solid #443da0;
+     border-bottom: 0 solid;
+     border-radius: 2px 2px 0 0;
+     margin-bottom: -4px;
+     margin-top: -1px;
+     margin: -1px -1px -4px -1px;
+     border-bottom: 1px solid #443da0;
+     background: #000 url(images/hatter_med.png) left bottom no-repeat;
+     background: url(images/hatter_med.png) left bottom no-repeat, linear-gradient(to bottom, #020020 0%, #0100100%);
+     background-size: 144px 100px, 100% 100% !important;
+}
+
+.iframed .topbuttons {
+     border: none;
+     border-bottom: 1px solid #443da0;
+     border-radius: 0;
+}
+
+div.topbuttons br {
+     margin-bottom: 12px !important;
+}
+
+.topbuttons input.next {
+     margin-bottom: -20px !important;
+}
+
+.bottombuttons br {
+     display: none;
+}
+
+.bottombuttons input:disabled {
+     display: none; 
+}
+
+td[colspan="9"] hr {
+     display: none;
+}
+
+.mailbody {
+/*     display: block !important; */
+     padding: 0 10px !important;
+}
+
+table#mailbox {
+     margin-bottom: 0;
+}
+
+table#mailbox td[colspan="5"], table#mailbox td[colspan="4"] {
+     border-top: 1px solid #443da0 !important;
+     padding: 6px 0 2px !important;
+}
+
+table#mailbox td[colspan="5"] {
+     border-bottom: none;
+     padding-left: 6px !important;
+     padding-bottom: 6px !important;
+     background: #000;
+     background: linear-gradient(to bottom, #010012, #060050%, #0100100%);
+}
+
+table#mailbox td[colspan="4"] {
+     padding-right: 6px !important;
+     padding-bottom: 6px !important;
+     border-bottom: none;
+     background: #000;
+     background: linear-gradient(to bottom, #010012, #060050%, #0100100%);
+}
+
+table#mailbox td[colspan="5"] br, table#mailbox td[colspan="4"] br {
+     display: none;
+}
+
+table#mailbox td[colspan="9"] i {
+     font-size: 10pt;
+}
+
+table#mailbox td:nth-child(2) {
+     text-align: right !important;
+     width: 24px !important;
+}
+
+table#mailbox tr[class^="list"]:hover {
+     cursor: pointer;
+}
+
+#mailbox td#from {
+     white-space: nowrap;
+     width: 100px;
+} 
+
+#mailbox td#subject {
+     max-height: 40px;
+     overflow: hidden;
+}
+
+input.optbox {
+     opacity: 0.8;
+}
+
+input.optbox:hover {
+     opacity: 1.0;
+     filter: drop-shadow(0 0 2px #652787);
+     -webkit-filter: drop-shadow(0 0 2px #652787);
+}
+
+input[type="checkbox"], .optbox {
+     min-width: 16px !important;
+     filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%); /* colorize radios and checkboxes */
+     -webkit-filter: invert(100%) sepia(100%) hue-rotate(200deg) saturate(200%);
+}
+
+td#deleteattached {
+     padding-top: 5px !important;
+}
+
+tr.bottombuttons:last-child td {
+     padding-bottom: 20px !important;
+}
+
+a:link {
+     color: #652787;
+     color: #544db3;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:hover, a:visited:hover {
+     color: #652787;
+}
+
+a:visited {
+     color: #0b0099;
+     color: #251f7a;
+}
+
+a:active {
+     color: #4f0519;
+}
+
+td {
+     color: #C9CEFF;
+     margin: 0 5px;
+     font-size: 9pt;
+     padding: 2px;
+}
+
+tr.list0 {
+     background-color: #010008;
+}
+
+tr.list1 {
+     background-color: #010011;
+}
+
+/* mailbox display finessing */
+
+tr.list0 td, tr.list1 td {
+     padding: 4px;
+     color: #7670c2;
+}
+
+tr.list0:hover td, tr.list1:hover td {
+     color: #C9CEFF;
+}
+
+tr.list0:hover, tr.list1:hover, tr.list0:hover a, tr.list1:hover a {
+     background: #020020;
+     color: #652787;
+}
+
+tr.list0:hover td:nth-child(3) a, tr.list1:hover td:nth-child(3) a {
+     color: #C9CEFF !important;
+}
+
+
+tr.list0:hover td:first-child, tr.list1:hover td:first-child {
+/*     background: url(images/highlight.png) left center repeat-y; */
+      box-shadow: inset 3px 0 0 #0b0099; 
+}
+
+tr.list0:hover td:last-child, tr.list1:hover td:last-child {
+      box-shadow: inset -3px 0 0 #0b0099; 
+}
+
+.list0 td:first-child, .list1 td:first-child, #mailbox th:first-child {
+     text-align: center !important;
+     width: 16px;
+     padding-left: 8px;
+     padding-right: 8px;
+}
+
+.list0 td:nth-child(2), .list1 td:nth-child(2) {
+     width: 32px;
+     text-align: right;
+} 
+
+.list0 td:nth-child(3) a, .list1 td:nth-child(3) a {
+     color: #7670c2 !important;
+     font-weight: normal;
+}
+
+.list0 td:nth-child(4), .list1 td:nth-child(4) {
+     min-width: 16px !important;
+     text-align: right;
+}
+
+table[id="mailbox"] tr th:last-child, .list0 td:last-child, .list1 td:last-child {
+     min-width: 70px !important;
+     text-align: right;
+     padding-right: 20px;
+     white-space: nowrap;
+} 
+
+table[id="mailbox"] th {
+     font-size: 9pt;
+     text-transform: uppercase !important;
+     padding-left: 3px;
+     text-shadow: 0 1px 1px #000;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     border-top: none;
+}
+
+table[id="mailbox"] th img {
+     filter: drop-shadow(0 0 1px #652787) hue-rotate(190deg);
+}
+
+table[id="mailbox"] th img:hover {
+     opacity: 1 !important;
+}
+
+table#mailbox th:nth-child(5), table#mailbox th:nth-child(7) {
+     text-align: left;
+}
+
+img[class="sort"] {
+     filter: hue-rotate(180deg);
+}
+
+#mailbox .list0 td, #mailbox .list1 td {
+     border-bottom: 1px solid #000;
+}
+
+#mailbox tr.bottombuttons td[colspan="9"] {
+/*     display: none; */
+}
+
+tr.bottombuttons td {
+     padding-left: 0 !important;
+     padding-right: 0 !important;
+}
+
+/* end mailbox finessing */
+
+table.noborder {
+     margin-left: 0;
+     margin-top: 0;
+     margin-right: 0;
+}
+
+td:first-child {
+     font-weight: bold;
+}
+
+pre {
+     font: 9pt "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+     margin-left: 1cm;
+     margin-right: 1cm;
+}
+
+.page {
+     color: #C9CEFF;
+     margin: 0;
+     padding: 0;
+     font-size: 9pt !important;
+     text-align: center;
+     min-width: 700px;
+}
+
+table {
+     width: 100%;
+}
+
+th {
+     font-size: 9pt;
+     font-weight: bold;
+     background: #001;
+     background: linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+     padding: 7px;
+     border-bottom: 1px solid #443da0;
+     border-top: 1px solid #443da0;
+}
+
+form {
+     line-height: 160%;
+     border-radius: 2px;
+     padding-bottom: 0;
+     border: 1px solid #443da0;
+     background: #000;
+}
+
+form table {
+     margin-bottom: 5px;
+}
+
+textarea {
+     background: #000;
+     color: #C9CEFF;
+     border: 1px solid #443da0;
+     border-radius: 2px;
+     padding: 5px;
+}
+
+textarea[name="config_text"] {
+     margin-bottom: 10px;
+     resize: none;
+}
+
+/* compose mail */
+
+textarea[name="new_text"] {
+     width: 578px;
+     margin: 10px 10px 10px 3px;
+     text-align: left;
+}
+
+td#addattach {
+     padding-left: 5px !important;
+}
+
+td#attachedfile {
+     padding: 2px 0;
+}
+
+#mailhead {
+     font-size: 9pt;
+     font-weight: bold;
+     background: #002;
+     border: 1px solid #443da0;
+     border-left: none;
+     border-right: none; 
+}
+
+.iframed #mailhead {
+     margin-top: 3px;
+} 
+
+#mailhead td:first-child {
+     text-align: right;
+     width: 100px;
+     white-space: nowrap;
+}
+
+#mailhead td:last-child {
+     font-weight: normal;
+}
+
+input {
+     cursor: pointer;
+}
+input[type="file"] {
+     border: none;     
+     padding: 0 !important;
+}
+
+input[type="file"]:hover {
+     color: #652787;
+}
+
+input.new_upload {
+     float: right;
+}
+
+input {
+     font-size: 9pt;
+     font-weight: bold;
+     text-align: left;
+     padding: 2px 2px 3px !important;
+     border-radius: 2px;
+     border: 1px solid #443da0;
+     color: #443da0;
+     margin: 3px;
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     min-width: 64px !important;
+}
+
+input.optbox {
+     min-width: 16px !important;
+}
+
+input[type=submit], input.cancel {
+     color: #443da0;
+     background: #000;
+     border: 1px solid #3e3f8f;
+     border-bottom-color: #14144f;
+     border-right-color: #14144f; 
+     font: bold 8pt "Droid Sans", "Noto Sans", "Bitstream Vera Sans", "Lucida Grande", "DejaVu Sans", Lato, "Segoe UI", Verdana, Tahoma, Helvetica, sans-serif;
+     text-align: center;
+     padding: 4px 8px !important;
+     min-width: 95px !important;
+     margin: 4px 5px;
+}
+
+input[type=submit]:hover, input.cancel:hover {
+     color: #652787;
+     background: #000;
+     border: 1px solid #652787;
+     box-shadow: inset 0 1px 1px 0 #c9ceff; 
+}
+
+input[type=submit]:active, input.cancel:active {
+     border: 1px inset #652787;
+     background: #652787 !important;
+     color: #C9CEFF !important;
+     box-shadow: inset 0px 0px 0px 0px #652787;
+}
+
+input[type=text], input[type=password], textarea {
+     color: #7670c2;
+     background: #000;
+     cursor: text;
+     padding: 4px !important;
+     border: 1px solid #322e6b;
+}
+
+#dologin input:disabled, #dologin input:disabled:hover, #dologin input:disabled:active {
+     border: none;
+     color: #652787;
+     margin: 0;
+     padding-top: 3px;
+     box-shadow: none;
+     background: none !important;
+     text-align: left !important;
+     cursor: default;
+}
+
+input[name="user"], input[name="pass"] {
+     border: 1px solid #322e6b;
+     background: #000;
+}
+
+input[name="user"]:focus, input[name="pass"]:focus, input[type="text"]:focus, textarea:focus {
+     border: 1px solid #443da0;
+     color: #C9CEFF;
+}
+
+input[name="host"], input[name="pop3"], input[name="smtp"] {
+    display: inline !important;
+    margin-top: 3px !important;
+    font-family: "Droid Sans Mono", "Andale Mono", "DejaVu Sans Mono", "Lucida Console", Courier, mono;
+    color: #652787;
+    background: none !important;
+    border-radius: 0;
+}
+
+input.delete {
+     margin-left: 2px;
+}
+.page td[colspan="2"] {
+     text-align: left;
+     padding: 0 0 10px 0;
+/*     padding-left: 13%;*/
+}
+
+.page td[colspan="2"] hr {
+     display: none;]
+}
+
+/* login + misc mods */
+
+div.notifications {
+     text-align: center;
+     padding: 0 0 20px;
+}
+
+div#dologin {
+     border: 1px solid #443da0;
+     margin: 20px auto;
+     width: 600px;
+     padding: 0 0 10px;
+     background: #010010;
+     border-radius: 2px;
+     background: linear-gradient(to bottom, #000000, #060050%, #0100100%);
+     background: url(images/hatter_med.png) right bottom no-repeat, linear-gradient(to bottom, #000000, #000600 50%, #000010 100%);
+}
+
+#dologin h1 {
+     border: 1px solid #443da0;
+     padding: 10px 10px 10px 48px;
+     margin: -1px -1px 15px -1px;
+     border-radius: 2px 2px 0 0;
+     text-transform: uppercase;
+     font-size: 14pt;
+     letter-spacing:0.08em;
+     word-spacing: 0.1em;
+     text-align:left;
+     background: #020020 url("/themes/console/images/email.png") 8px center no-repeat;
+     background: url("images/mail.png") 8px center no-repeat, linear-gradient(to bottom, #191729 0%, #201f33 7%, #1f1e32 9%, #161525 21%, #090812 49%, #05050e 50%, #020206 51%, #010103 53%, #000000 56%, #000000 100%) !important;
+     text-shadow: 0 1px 1px #000;
+}
+
+#dologin table {
+     width: 100%;
+     margin-bottom: -9px;
+     border-collapse: collapse;
+     border-spacing: 0 !important;
+}
+
+#dologin td {
+     padding: 1px 2px !important;
+}
+
+#dologin td:first-child {
+     width: 29%;
+     white-space: nowrap;
+}
+
+#dologin td:last-child {
+     width: 71%;
+     white-space: nowrap;
+}
+
+#dologin td[colspan="2"] {
+     text-align: center;
+     padding: 3px 3px 5px !important;
+}
+
+#dologin hr {
+     display: block;
+     background: #040033;
+     box-shadow: 0 1px 1px #000;
+     margin: 5px 0;
+     opacity: 0.5;
+}
+
+div.notifications + div#dologin {
+     margin-top: 0;
+}
+
+div#composemail {
+     text-align: center !important;
+     padding: 50px;
+}
+
+#composemail table {
+     width: auto;
+     margin: auto;
+}
+
+#composemail table td {
+     padding: 2px 5px;
+}
+
+h3#config {
+     border: 1px solid #443da0;
+     padding: 5px;
+     margin: 3px auto 18px auto;
+     width: 400px;
+     font-size: 10pt;
+     text-transform: uppercase;
+     letter-spacing: 0.08em;
+     word-spacing: 0.1em;
+     background: #020017;
+     border-radius: 0 0 2px 2px;
+     background: linear-gradient(to bottom, #010010 0%, #020019 50%, #060051%, #0100100%) !important;
+}
+
+div#mailheader {
+     padding: 10px;
+     margin: 3px -1px;
+     border: 1px solid #443da0;
+     font-size: 10pt !important;
+     background: #020019;
+}
+
+#mailheader table {
+     min-width: 300px;
+}
+
+#mailheader table td {
+     font-size: 10pt;
+}
+
+#mailheader table td:first-child {
+     white-space: nowrap;
+     width: 20px;
+}
+
+p.mailbody {
+     margin: 0;
+     background: #000;
+     padding: 5px 20px 20px !important;
+}
+
+.mailbody + hr, #attached + hr {
+     display: none;
+}
+
+div.attached {
+     border: 1px solid #443da0;
+     margin: 0 -1px -1px;
+     border-radius: 0 0 2px 2px;
+     padding: 10px 10px 10px 30px !important;
+     background: #020019 url(images/attach.png) 5px center no-repeat;
+     background-size: 20px 20px;
+}
+
+.iframed div.attached {
+     border-left: none;
+     border-right: none;
+     border-radius: 0; 
+}
+
+.attached p.mailbody {
+     padding: 5px !important;
+     background: none;
+}
+
+.attached img {
+     border: 1px solid #443da0;
+     border-radius: 2px;
+}
+
+div#emptymailbox {
+     padding: 20px 10px;
+}
+
+table#pagenav {
+     width: 100%;
+     margin: 7px auto -3px;
+     border-top: 1px solid #443da0;
+     background: #000;
+     background: linear-gradient(to bottom, #010010 0%, #020019 50%, #060051%, #0100100%) !important;
+}
+
+table#pagenav tr:hover td {
+     color: #C9CEFF;
+}
+
+table#pagenav td {
+     white-space: nowrap;
+     font-size: 10pt;
+     font-weight: bold;
+     letter-spacing: 0.1em;
+     word-spacing: 0.1em;
+     padding: 3px 5px;
+     text-align: center;
+     color: #7670c2;
+}
+
+table#pagenav td:first-child {
+     text-align: right;
+     width: 46%;
+}
+
+table#pagenav td:nth-child(2) {
+     text-align: center !important;
+     min-width: 100px;
+}
+
+table#pagenav td:last-child {
+     text-align: left;
+     width: 46%;
+}
+
+.topbuttons table#pagenav {
+     margin-bottom: -8px;
+}
+
+.bottombuttons table#pagenav {
+     margin-top: -2px;
+}
+
+div#bottombuttons { /* config page button positioning */
+     margin: -6px 0 15px;
+}
+
+#pagenav input:disabled, #pagenav input:disabled:hover, #pagenav input:disabled:active {
+     border: 1px solid #3e3d4b !important;
+     cursor: default;
+     opacity: 0.5;
+     box-shadow: none !important;
+     background: #652787 !important;
+     display: inline;
+}
+
+#pagenav input[type="submit"] {
+     font-size: 0;
+     width: 22px !important;
+     min-width: 22px !important;
+     height: 22px;
+     margin: 3px 1px !important;
+}
+
+#pagenav input.firstpage {
+     background: #000 url(images/first.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.firstpage:hover {
+     background: #000 url(images/first_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.firstpage:active {
+     background: #652787 url(images/first_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="firstpage"]:disabled {
+     background: #000 url(images/first_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.prevpage {
+     background: #000 url(images/previous.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.prevpage:hover {
+     background: #000 url(images/previous_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.prevpage:active {
+     background: #652787 url(images/previous_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="prevpage"]:disabled {
+     background: #000 url(images/previous_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.nextpage {
+     background: #000 url(images/next.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.nextpage:hover {
+     background: #000 url(images/next_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.nextpage:active {
+     background: #652787 url(images/next_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="nextpage"]:disabled {
+     background: #000 url(images/next_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.lastpage {
+     background: #000 url(images/last.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.lastpage:hover {
+     background: #000 url(images/last_hover.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input.lastpage:active {
+     background: #652787 url(images/last_active.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+#pagenav input[name="lastpage"]:disabled {
+     background: #000 url(images/last_disabled.png) center center no-repeat !important;
+     background-size: 12px 12px !important;
+}
+
+/* end pagenav */
+
+#prefsave {
+     padding: 10px 10px 20px;
+}
+
+/* responsive layout */
+
+@media screen and (min-width: 1024px) {
+body, td, textarea, div, p.mailbody {
+     font-size: 10pt !important;
+}
+
+input {
+     font-size: 9pt !important;
+}
+
+#pagenav input {
+     font-size: 0 !important;
+}
+
+.topbuttons input[type="submit"], .topbuttons input[type="reset"] {
+     margin: 3px 5px !important;
+}
+}
+
+@media screen and (min-width: 1500px) {
+input {
+     font-size: 10pt !important;
+}
+}
+
+@media screen and (max-width: 700px) {
+.topbuttons input[type="submit"], .topbuttons input[type="reset"] {
+     min-width: 50px !important;
+     margin: 3px 5px !important;
+}
+}
diff --git a/licenses/LICENSE-FugueIcons.txt b/licenses/LICENSE-FugueIcons.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4fc7b75deadc4c878969d7d09a35e684f2dbab0a
--- /dev/null
+++ b/licenses/LICENSE-FugueIcons.txt
@@ -0,0 +1,80 @@
+Fugue Icons
+
+(C) 2013 Yusuke Kamiyamane. All rights reserved.
+
+These icons are licensed under a Creative Commons
+Attribution 3.0 License.
+<http://creativecommons.org/licenses/by/3.0/>
+
+If you can't or don't want to provide attribution, please
+purchase a royalty-free license.
+<http://p.yusukekamiyamane.com/>
+
+I'm unavailable for custom icon design work. But your
+suggestions are always welcome!
+<mailto:p@yusukekamiyamane.com>
+
+------------------------------------------------------------
+
+All logos and trademarks in some icons are property of their
+respective owners.
+
+------------------------------------------------------------
+
+- geotag
+
+  (C) Geotag Icon Project. All rights reserved.
+  <http://www.geotagicons.com/>
+
+  Geotag icon is licensed under a Creative Commons
+  Attribution-Share Alike 3.0 License or LGPL.
+  <http://creativecommons.org/licenses/by-sa/3.0/>
+  <http://opensource.org/licenses/lgpl-license.php>
+
+- language
+
+  (C) Language Icon Project. All rights reserved.
+  <http://www.languageicon.org/>
+
+  Language icon is licensed under a Creative Commons
+  Attribution-Share Alike 3.0 License.
+  <http://creativecommons.org/licenses/by-sa/3.0/>
+
+- open-share
+
+  (C) Open Share Icon Project. All rights reserved.
+  <http://www.openshareicons.com/>
+
+  Open Share icon is licensed under a Creative Commons
+  Attribution-Share Alike 3.0 License.
+  <http://creativecommons.org/licenses/by-sa/3.0/>
+
+- opml
+
+  (C) OPML Icon Project. All rights reserved.
+  <http://opmlicons.com/>
+
+  OPML icon is licensed under a Creative Commons
+  Attribution-Share Alike 2.5 License.
+  <http://creativecommons.org/licenses/by-sa/2.5/>
+
+- share
+
+  (C) Share Icon Project. All rights reserved.
+  <http://shareicons.com/>
+
+  Share icon is licensed under a GPL or LGPL or BSD or
+  Creative Commons Attribution 2.5 License.
+  <http://opensource.org/licenses/gpl-license.php>
+  <http://opensource.org/licenses/lgpl-license.php>
+  <http://opensource.org/licenses/bsd-license.php>
+  <http://creativecommons.org/licenses/by/2.5/>
+
+- xfn
+
+  (C) Wolfgang Bartelme. All rights reserved.
+  <http://www.bartelme.at/>
+
+  XFN icon is licensed under a Creative Commons
+  Attribution-Share Alike 2.5 License.
+  <http://creativecommons.org/licenses/by-sa/2.5/>
\ No newline at end of file