diff --git a/build.xml b/build.xml
index bf7fe56763ca069d2e0fb95f3b36d53a7b11ec9e..d6af47fdd3923fc28679a3d1638cc2e681e3d734 100644
--- a/build.xml
+++ b/build.xml
@@ -347,6 +347,10 @@
         <copy todir="pkg-temp/docs/themes/console/light/" >
             <fileset  dir="installer/resources/themes/console/light/" />
         </copy>
+         <!-- Add midnight theme -->
+        <copy todir="pkg-temp/docs/themes/console/midnight/" >
+            <fileset  dir="installer/resources/themes/console/midnight/" />
+        </copy>        
         <!-- Add shared images.. these are subject to flux and change! -->
         <copy todir="pkg-temp/docs/themes/console/images/" >
             <fileset  dir="installer/resources/themes/console/images/" />
diff --git a/history.txt b/history.txt
index b76f3f063e91f41181e46363428368bda8d65760..0af8609e93ac7df156226baaeb3d8c1fef95bf31 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,7 @@
+2009-11-09 dr|z3d
+    * New midnight blue lightweight theme; supports IE and provisions its own console_big.css
+    * Streamlining and honing of console_big.css
+
 2009-11-08 zzz
     * Console:
       - countries.txt: Convert to mixed case, include in update
diff --git a/installer/resources/themes/console/classic/console_big.css b/installer/resources/themes/console/classic/console_big.css
index 79c5ea826c9490eac3c905cbd7cf0100eef3e58e..e1f56c69e6a9709f971c32bfb16b6ffdd4e39aeb 100644
--- a/installer/resources/themes/console/classic/console_big.css
+++ b/installer/resources/themes/console/classic/console_big.css
@@ -1,5 +1,7 @@
-/* Classic & Midnight Themes */
-/* Larger fontsize override for sidepanel to accomodate foreign charactersets */
+/* I2P Theme: I2P Classic Theme Override */
+/* Description: Larger fontsize override for console to accomodate foreign charactersets */
+/* Author: Dr|Z3d */
+
 
 /* sidepanel */
 
@@ -13,26 +15,64 @@ div.routersummary h3 {
 
 div.routersummary h4 {
      font-size: 11.5pt;
+     letter-spacing: 0;
 }
 
 div.routersummary table {
-     font-size: 8.5pt;
+     font-size: 9pt;
+     margin: -5px 0px -5px -1px;
+     width: 188px !important;
 }
 
 div.routersummary table a:link, div.routersummary table a:visited {
      font-size: 10.5pt;
-}     
+}
 
-div.tunnels a{
-     font-size: 8pt !important;
+div.tunnels a {
+     font-size: 9pt !important;
 }
 
+div.tunnels table {
+     width: 186px !important;
+     text-align: center;
+     margin: -4px 1px !important;
+}
+
+div.tunnels td:first-child, div.tunnels td:last-child  {
+     width: 16px;
+}
+
+div.tunnels td:last-child {
+     text-align: left;
+}
+
+div.tunnels td {
+     padding: 0 2px;
+}
 /* global overrides */
 
-a, b {
+a, b, div.routersummary h3 a, div.routersummary h4 {
     font-weight: normal !important;
+    font-size: 100%;
 }
 
 body {
-     font: 10pt/140% "Bitstream Vera Sans", Verdana, Helvetica, Sans, sans-serif;
+     font: 10pt Verdana, "Bitstream Vera Sans", Helvetica, Sans, sans-serif;
+}
+
+div.main, div.main p, div.news p {
+     line-height: 140%;
+}
+
+div.joblog li i {
+     font-weight: normaL;
+}
+
+b, div.joblog b {
+    color: #003;
+    font-size: 110%;
+}
+
+table code {
+     font-size: 120%;
 }
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/console.css b/installer/resources/themes/console/midnight/console.css
new file mode 100644
index 0000000000000000000000000000000000000000..38f83a7d711fc18c08d80b099d6309d0f250232c
--- /dev/null
+++ b/installer/resources/themes/console/midnight/console.css
@@ -0,0 +1,817 @@
+/* I2P Theme: Midnight */
+/* I2P Description: Minimalist Midnight Blue, based on Classic theme.*/
+/* Author: Dr|Z3d */
+
+
+body {
+     margin: 2px 0 0 2px;
+     padding: 0;
+     text-align: left;
+     background: #000;
+     color: #eef;
+     font: 9pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+}
+
+.hide {
+     display: none;
+}
+
+img {
+     border: none;
+}
+
+pre {
+     overflow: auto;
+     font-size: 8pt !important;
+     width: 95%;
+     padding-top: 10px;
+}
+
+/* http proxy error sidepanel */
+
+div.logo {
+     float: left;
+     position-relative: top 15px ;
+     width: 200px;
+     margin: 0 0 0 20px;
+     padding: 10px 5px;
+     text-align: center;
+     border: 1px solid #99f;
+     background-color: #00000A;
+     -moz-box-shadow: inset 0px 0px 0px 2px #00000A;
+     -khtml-box-shadow: inset 0px 0px 0px 2px #00000A;
+}
+
+div.logo hr {
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border: 0px solid #99f;
+     margin: 8px -3px;
+}
+
+div.logo a:link, div.logo a:visited {
+     text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.3);
+}
+
+div.logo a:active {
+     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.5);
+     color: #f60;
+}
+
+div.logo a:hover {
+     text-shadow: 0px 0px 1px rgba(128, 0, 0, 0.5);
+     color: #f90;
+}
+
+/* http proxy error warning */
+
+div.warning {
+     margin: 20px 20px 10px 260px;
+     padding: 0px 20px 20px 75px;
+     background: #001;
+     border: 1px solid #99f;
+     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 1px #f60;
+     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
+}
+
+div.warning a:link {
+     color: #f60;
+     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.3);
+}
+
+div.warning a:visited{
+     color: #f90;
+}
+
+div.warning a:hover{
+     color: #f90;
+  text-shadow: 0px 0px 1px rgba(255, 128, 0, 0.5);
+}
+
+div.warning a:active{
+     color: #900;
+}
+
+div.warning hr {
+     color: #fb7;
+     background: #fb7;
+     height: 1px;
+     border: 0px solid #fb7;
+     margin: 10px 0 5px 0;
+}
+
+div.warning h3 {
+     border-bottom: 1px solid #fb7;
+     padding-bottom: 10px;
+}
+
+/* console error messages */
+
+div.sorry {
+     padding: 20px;
+     background: #003;
+     margin: -2px 1px 0 200px;
+     border: 1px solid #99f;
+     text-align: justify;
+     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
+     word-wrap: break-word;
+     font-weight: bold;
+     color: #eef;
+}
+
+div.sorry hr {
+     color: #eef;
+     background: #eef;
+     height: 1px;
+     border: 1px solid #99f;
+     margin: 10px 0;
+}
+
+div.toolbar {
+     margin: 0em 0em 2em 0em;
+     font-weight: bold;
+     display: none !important;
+}
+
+div.routersummaryouter {
+     float: left; 
+     width: 200px;
+     margin: 0 0 5px 0px;
+     padding: 0;
+     border: 0;
+     clear: left; /* fixes a bug in Opera */
+}
+
+div.routersummary { background: #00000A; width: 190px; color: inherit; margin: 0; 
+padding: 10px 1px 7px 1px; text-align: center !important; border: 1px solid 
+#99f; font-size: 9pt; word-wrap: break-word; font: 9pt/125%; -moz-box-shadow: 
+inset 0px 0px 0px 1px #00000A; }
+
+div.routersummary input[type=text] {
+     text-align: right !important;
+}
+
+div.routersummary hr {
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border-bottom: 0px solid #99f;
+     margin: 8px -1px 7px -1px;
+/*     -moz-box-shadow: inset 0px 1px 1px 1px #99f;*/
+}
+
+div.routersummary h3 {
+     border: 0px solid #f00;
+     font-size: 9.5pt;
+     letter-spacing: 0.05em;
+     margin: -6px 1px -6px 1px;
+     padding: 1px 0;
+     background: #002;
+     text-transform: uppercase;
+}
+
+div.routersummary h3 a {
+     text-decoration: none;
+     line-height: 105%;
+}
+
+div.routersummary h4 {
+     border: 0px solid #f00;
+     border-bottom: 0 !important;
+     font-size: 8.5pt;
+     letter-spacing: 0.05em;
+     margin: -6px 1px -5px 1px !important;
+     padding: 1px 3px;
+     background: #001;
+     text-transform: capitalize;
+     text-decoration: none !important;
+     color: #2b2;
+     line-height: 100% !important;
+}
+
+div.routersummary table {
+     border: 0;
+     text-align: center !important;
+     margin: -5px 0px -5px 2px;
+     width: 185px !important;
+     overflow: hidden;
+     font-size: 8pt;
+     padding: 0 -12px;
+     background-image: none !important;
+     background-color: transparent !important;
+}
+
+div.routersummary a {
+     line-height: 105%;
+}
+
+div.routersummary tr {
+     background-image: none !important;
+     background-color: transparent !important;
+     border: 0 !important;
+}
+
+div.tunnels table{
+     margin: -2px 0 -4px -4px !important;
+     text-align: right !important;
+}
+
+.tunnels tr {
+     padding: 4px 0 !important;
+}
+
+.tunnels td:first-child {
+     padding-right: 2px;
+}
+
+.tunnels td:last-child {
+     width: 16px;
+}     
+     
+div.routersummary form {
+     margin-top: -8px !important;
+     margin-bottom: -8px !important;     
+}
+
+div.refresh {
+     margin-top: 10px !important;
+     margin-bottom: 10px !important;
+     padding: 2px 0 !important;
+}
+
+div.routersummary p {
+     padding: 0;
+}     
+
+div.routersummary a {
+}
+
+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 1px;
+     background-image: none !important;
+     border: 0 !important;
+}
+
+div.main {
+     margin: 0px 5px 5px 200px;
+     padding: 15px 15px 10px 15px;
+     background: #00000A;
+     border: 1px solid #99f;
+     border-top: 0;
+     text-align: left;
+     color: #eef;
+     min-width: 570px;
+     -moz-box-shadow: inset 0px 0px 2px 0px #005;
+}
+
+div.main ul {
+     margin: -10px 0 -10px -10px;
+}
+
+div.main li {
+     padding: 0 0 5px 0;
+     list-style: square;
+     word-wrap: break-word;
+     margin-right: 20px;
+}
+
+div.main li:first-child {
+     padding-top: 15px;
+}
+
+div.main hr:last-child {
+     margin: 15px 0 10px 0;
+}
+
+div.main textarea {
+     width: 98% !important; 
+     margin: 2px 0 2px 5px;
+     min-height: 96px;
+     background: #001;
+     color: #eef;
+}
+
+div.main h2 {
+     margin-top: 20px;
+     margin-bottom: -5px;
+}
+
+div.welcome {
+     margin-top: 5px;
+}
+
+div.main h2:first-child, div.main h3:first-child {
+     margin-top: 0px; 
+     margin-bottom: -5px;
+}
+
+div.wideload h2 {
+     margin-bottom: 0px !important;
+}
+
+div.wideload h3:first-child {
+     margin-top: 0 !important;
+}
+
+div.wideload h3 {
+     margin-top: 15px !important;      
+     margin-bottom: 0px !important;
+}
+
+div.wideload p !important {
+     margin-top: 5px;
+}
+
+div.news {
+     margin: -1px 5px 0 200px;
+     padding: -10px 0px 8px 0px;
+     background: #001;
+     border: 1px solid #99f;
+     text-align: right;
+     color: #99f;
+     min-width: 600px;
+     padding-bottom: 8px;
+     padding-left: 10px;
+     padding-right: 10px;
+     -moz-box-shadow: inset 0px 0px 4px 2px #00000A;
+     font-size: 7pt;
+}
+
+/* convert the list entry to our title */
+
+div.news li {
+     text-align: justify;
+     list-style: none;
+     margin: 15px 15px -10px -20px;
+     padding: 0px 0 15px 0;
+     border-bottom: 1px dotted #99f;
+     border-top: 0px solid #99f;     
+     padding: 3px 5px 5px 0;
+     font-size: 10pt;
+     color: #eef;
+     text-transform: capitalize;
+}
+
+div.news p {
+     color: #eef;
+     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: #aaf;
+     text-shadow: 0px 0px 1px rgba(128, 128, 48, 0.3);
+}
+
+div.news a:visited {
+     color: #99f !important;
+     text-shadow: 0px 0px 1px rgba(128, 128, 48, 0.3);
+}
+
+div.news hr {
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border: 0px solid #99f;
+     margin: 2px 0 2px 0;
+}
+
+div.confignav {
+     padding: 12px 0 15px 0;
+     background: #000018;
+     margin: -10px -16px 0 -16px;
+     border: 1px solid #99f;
+     -moz-box-shadow: inset 0px 0px 4px 2px #00000A;
+}
+
+div.configure {
+     margin: 1px -20px 0 -20px;
+     padding: 0px 20px 0px 20px;
+}
+
+div.configure hr {
+     margin: 15px 0;
+}
+
+div.configure table {
+     font-size: 9pt;
+     font-weight: bold;
+     border: 1px solid #99f;
+}
+
+div.configure tr, div.configure td {
+     padding: 10px 2px;
+}
+
+div.configure tr {
+     -moz-box-shadow: inset 0px 0px 1px 0px #000;
+}
+
+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;
+}
+
+.topshimten {
+     margin-top: 15px;
+     margin-bottom: 15px;
+} 
+
+div.messages {
+     padding: 0px 10px;
+     background: #001;
+     border: 1px solid #99f;
+     border-right: 0;
+     margin: -1px -15px 10px -16px;
+     text-align: center;
+     font-size: 9pt;
+     font-weight: bold;
+     color: #474;
+     -moz-box-shadow: inset 0px 0px 4px 2px #00000A;
+}
+
+div.messages li, div.messages ul {
+     padding: 10px 0 0 5px;
+     margin: -10px 0 0 0;
+}
+
+div.messages span.error {
+     color: #d00000;
+}
+
+div.messages span.notice {
+     font-style: italic;
+}
+
+h1 {
+     font-size: 18pt;
+     text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.4);
+     text-align: center;
+     border: 1px solid #99f;
+     padding: 13px 10px 12px 10px;
+     margin: 5px 5px 0 200px;
+     line-height: 93%;
+     text-transform: uppercase;
+     letter-spacing: 0.3em;
+     background: #001;
+     min-width: 600px;
+     -moz-box-shadow: inset 0px 0px 4px 2px #00000A;
+     line-height: 100%;
+     color: #fff;
+}
+
+h2 {
+     font-size: 14pt;
+     padding: 5px 10px 10px 10px;
+     border: 1px solid #99f;
+     border-top: 1px solid #99f;
+     letter-spacing: 0.04em;
+     background: #000008;
+}
+
+h3 {
+     font-size: 12pt;
+     padding: 0 10px 10px 10px;
+     border-bottom: 1px solid #99f;
+     border-top: 0px solid #99f;
+     letter-spacing: 0.04em;
+     margin-bottom: 10px;
+     font-weight: bold !important;
+     text-transform: capitalize;
+}
+
+h3 a {
+     font-weight: bold !important;
+}
+
+.proxyfooter{
+     font-size: 7pt;
+     display: none !important;
+}
+
+table {
+     border-collapse: collapse; 
+     border: 1px solid #99f;
+     margin: 0 0 5px 0;
+     cell-padding: 1px;
+     font-size: 7.5pt;
+     background: #000;
+     width: 100%;
+}
+
+table hr {
+     padding: 0px 0;
+     color: #000;
+     background: #000;
+     border: 0px solid #99f;
+     margin: 0px -5px;
+     height: 1px;
+}
+
+table tt {
+     font-size: 7.5pt;
+}
+
+th {
+     background-color: #000;
+     padding: 8px 2px;
+     text-align: center;
+     border-bottom: 1px solid #99f;
+}
+
+tt {
+     font-size: 8pt;
+}
+
+tt, pre {
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+}
+     
+td {
+     padding: 4px;
+}
+
+tr:nth-child(even) {
+     background-color: #001;
+}
+
+tr:nth-child(odd) {
+     background-color: #000009;
+}
+
+hr {
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border: 0px solid #99f;
+     margin: 3px 0;
+}
+
+.statusnotes {
+     font-style: italic;
+     font-size: 8pt;
+     color: #eef;
+     text-align: center;
+     margin: -7px 0 7px 0; 
+     background: #000;
+     border: 1px solid #99f;
+     border-top: 0;
+     padding: 4px 0 2px 0;
+}
+
+div.joblog {
+     margin: 10px 0;
+     line-height: 130% !important;
+     font-size: 90%;
+}
+
+div.joblog li {
+     word-wrap: break-word !important;
+     text-align: left !important;
+     line-height: 130% !important;
+     margin-right: 10px;
+}
+
+div.joblog li i {
+     color: #bbb;
+     text-transform: capitalize;
+     font-style: normal;
+     font-weight: bold;
+}
+
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+}
+
+div.joblog li:first-child {
+     margin-top: -10px;
+}
+
+div.joblog li:last-child {
+     margin-bottom: -10px;
+}
+
+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: 5px 0 15px 0;
+}
+
+div.joblog hr {
+     margin: 15px 0 15px;
+}
+
+div.joblog ol {
+     margin-bottom: 0px;
+}
+ 
+input {
+     margin: 3px 5px 3px 0;
+     vertical-align: middle;
+}
+
+input[type=text] {
+     margin: 3px 5px 3px 5px;
+     vertical-align: middle;
+}
+
+select {
+     margin: 3px 5px 3px 5px;
+     vertical-align: middle;
+}
+
+input[type=text], select {
+     background: #001;
+     color: #eef;
+     border: 1px solid #99f;
+}
+submit {
+     margin: 3px 5px 3px 5px;
+     padding 2px 0;
+     font: 8pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+}
+
+p {
+     padding: 5px 20px 0px 20px;
+     text-align: justify;
+}
+
+.formaction {
+     text-align: right;
+     margin: -10px -5px;
+}
+
+.langbox {
+     margin: 15px -20px 0px 5px;
+     color: #eef;
+     font-size: 7pt;
+     width: 220px;
+     text-align: center;
+     float: right;
+     valign: middle;
+}
+
+.langbox img {
+     padding: 0 2px; /* Ignored by IE8 */
+}
+
+.links {
+     padding-bottom: -2px;
+     text-align: justify;
+     margin-top: 5px !important;
+}
+
+.links li {
+     list-style-image: url("../images/link_dark.png") !important;
+}
+
+a:link{
+     color: #bbf;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:visited{
+     color: #99f;
+     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;
+}
+
+pre {
+     font-size: 9pt;
+     margin: 0px 20px;
+}
+
+tt {
+     font-size: 9pt;
+     font-weight: bold;
+     color: darkgreen;
+}
+
+.tablefooter {
+     border: 1px solid #99f;
+}
+
+.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;
+}
+
+.tidylist {
+     text-align: justify;
+     padding-right: 30px;
+     margin-right: 20px;
+}
+
+div.graphspanel {
+     padding: 5px 0px 20px 0px;
+     margin: -16px -16px -11px -16px;
+     background: #000012;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #99f;
+     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+     text-align: center !important;   
+}
+
+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;
+}
+
+div.graphspanel img:hover {
+     border: 1px solid #003;
+     padding: 2px;
+     margin: 6px;
+     text-align: center !important;
+     background: #eef;
+     -moz-box-shadow: inset 0px 0px 2px 1px #f60;
+     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;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/console_big.css b/installer/resources/themes/console/midnight/console_big.css
new file mode 100644
index 0000000000000000000000000000000000000000..00e07f10fb3db0430a25f9e7b7be055f20fa2db1
--- /dev/null
+++ b/installer/resources/themes/console/midnight/console_big.css
@@ -0,0 +1,62 @@
+/* I2P Theme: I2P Classic & Midnight Theme Override */
+/* I2P Description: Larger fontsize override for sidepanel to accomodate foreign charactersets */
+/* Author: Dr|Z3d */
+
+
+/* sidepanel */
+
+div.routersummary {
+     font: 9.5pt/125%;
+}
+
+div.routersummary h3 {
+     font-size: 12.5pt;
+}
+
+div.routersummary h4 {
+     font-size: 11.5pt;
+     letter-spacing: 0;
+}
+
+div.routersummary table {
+     font-size: 9pt;
+     margin: -5px 0px -5px 1px;
+     width: 188px !important;
+}
+
+div.routersummary table a:link, div.routersummary table a:visited {
+     font-size: 10.5pt;
+}
+
+div.tunnels a{
+     font-size: 9pt !important;
+}
+
+div.tunnels table{
+     margin: -2px -0px -4px 2px !important;
+     width: 185px;
+}
+
+/* global overrides */
+
+a, b, div.routersummary h3 a, div.routersummary h4 {
+    font-weight: normal !important;
+    font-size: 100%;
+}
+
+body {
+     font: 10pt Verdana, "Bitstream Vera Sans", Helvetica, Sans, sans-serif;
+}
+
+div.main, div.main p, div.news p {
+     line-height: 140%;
+}
+
+div.joblog li i {
+     font-weight: normaL;
+}
+
+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
new file mode 100644
index 0000000000000000000000000000000000000000..61c8dc03f9e6d38d4c0087de9dd2f6178a5fc119
--- /dev/null
+++ b/installer/resources/themes/console/midnight/default.css
@@ -0,0 +1,239 @@
+/* I2P Theme: Midnight - I2P Tunnel Manager */
+/* I2P 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;
+}
+
+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: center !important;
+     font-weight: bold;
+     border: 1px solid #99f;
+     border-top: 2px solid #99f;
+     margin: -6px 0 5px -10px !important;
+     padding: 5px 10px 25px 10px;
+     background: #001;
+     text-shadow: 0px 0px 1px rgba(32, 32, 192, 0.3);
+     text-transform: uppercase;
+     white-space: nowrap;
+     width: 782px;
+     letter-spacing: 0.09em;
+}
+
+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;
+}
+
+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;
+     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;
+}
+
+.control:hover {
+     background: #229;
+     color: #fff;
+     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: 4px solid #99f;
+     -moz-box-shadow: inset 0px 0px 0px 1px #99f;
+}
+
+.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: 4px solid #99f;
+     -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;
+}
+
+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;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/i2ptunnel.css b/installer/resources/themes/console/midnight/i2ptunnel.css
new file mode 100644
index 0000000000000000000000000000000000000000..2128c7e737a96e9b75afb96ab328a0c1cadf483a
--- /dev/null
+++ b/installer/resources/themes/console/midnight/i2ptunnel.css
@@ -0,0 +1,180 @@
+/* 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 : 150px;
+
+}
+
+#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 : 88px;
+    padding : 0 0 0 4px;
+    color: green;
+    margin-bottom: 7px;
+}
+
+#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 input {
+    width : 450px;
+}
+
+#tunnelListPage .descriptionField label,
+#tunnelListPage .destinationField label {
+    text-align : right;
+    width : 150px;
+    height : 24px;
+    float : left;
+}
diff --git a/installer/resources/themes/console/midnight/ieshim.css b/installer/resources/themes/console/midnight/ieshim.css
new file mode 100644
index 0000000000000000000000000000000000000000..4feeadb80ca34b3ab6464bb9981e8754c5e2cad7
--- /dev/null
+++ b/installer/resources/themes/console/midnight/ieshim.css
@@ -0,0 +1,258 @@
+/* I2P Theme: Midnight - IE Override */
+/* I2P 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: #bbf;
+     background: #bbf;
+     height: 3px;
+     border: 0px;
+     margin: 0 -10px 0 -13px !important;
+}     
+
+div.routersummary {
+     color: #001;
+     padding-left: 0px;
+     border-left: 5px solid #bbf;
+     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: #eef;
+     background: #eef;
+     height: 2px;
+     border-bottom: 1px solid #eef;
+     margin: 8px 1px 7px 1px;
+     -moz-box-shadow: inset 0px 1px 1px 1px #99f;
+}
+
+div.routersummary h3 {
+     border: 0px solid #f00;
+     text-align: center !important;
+     font-size: 9pt;
+     letter-spacing: 0.05em;
+     margin: -14px 0px -15px 1px;
+     padding: 5px 0px 5px 0px;
+     background: #c5d5fb;
+     text-transform: uppercase;
+}
+
+div.routersummary h4 {
+     border: 0px solid #f00;
+     border-bottom: 0 !important;
+     font-size: 8.5pt;
+     letter-spacing: 0.05em;
+     margin: -14px 0px -15px 1px !important;
+     padding: 2px 3px 3px 3px;
+     background: #c1d1f7;
+     text-transform: capitalize;
+     text-decoration: none !important;
+     color: #2b2;
+     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 img {
+     margin: 5px -10px -5px -10px;
+     overflow: hidden;
+}     
+*/
+
+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: 2px 4px;
+     background-image: none !important;
+     border: 0 !important;
+}
+
+div.routersummary tr:nth-child(even) {
+     background-color: #f60;
+     background-image: none !important;
+}
+
+div.routersummarytr:nth-child(odd) {
+     background-color: #f00;
+     background-image: none !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: 22px -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: #ddf;
+     -moz-box-shadow: inset 0px 0px 1px 1px #99f;
+}
+
+div.graphspanel hr {
+     margin: 20px 0;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/midnight/images/i2plogo.png b/installer/resources/themes/console/midnight/images/i2plogo.png
new file mode 100644
index 0000000000000000000000000000000000000000..1567c881414257f2455f92ac224d20914ec133b7
Binary files /dev/null and b/installer/resources/themes/console/midnight/images/i2plogo.png differ
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 983dd2f06586d3fc8f617c2486d95f6e6c0b86ef..8c1e820358a065c2562e50b88caaf0b02a284ff1 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 13;
+    public final static long BUILD = 14;
     /** for example "-test" */
     public final static String EXTRA = "";
     public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;