diff --git a/installer/resources/themes/console/defCon1/default.css b/installer/resources/themes/console/defCon1/default.css
new file mode 100644
index 0000000000000000000000000000000000000000..244ecbe2a85ebbe8fa86f0bf8e0fde057e08138f
--- /dev/null
+++ b/installer/resources/themes/console/defCon1/default.css
@@ -0,0 +1,213 @@
+body {
+	margin :  0px;
+	padding : 0px;
+	text-align : center;
+	font-family : Arial, Helvetica, sans-serif;
+	background-color : #FFFFFF;
+	color :  #000000;
+    font-size : 100%;
+    
+    /* 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).#F0F3FA;
+    */
+    -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 :  bold;
+    text-align :  right;
+    font-size :   1.0em;
+    -moz-box-sizing: border-box;
+    box-sizing :     border-box;
+}
+
+h4 {
+    font-size : 1.2em;
+    text-align : center;
+    width : 750px;
+}
+
+a {
+    text-decoration : none;
+}
+
+form {
+	margin : 0px;
+}
+
+textarea, input, select, button, a {
+    font-family : Arial, Helvetica, sans-serif;
+    -moz-box-sizing : border-box;
+    box-sizing :      border-box;
+    font-size : 1.0em;
+    float : left;
+}
+
+input {
+    border: 1px solid #CCCCCC;
+    background-color: #F0F3FA;
+}
+
+button, .toolbox input {
+    border : 0;
+    float : none;
+}
+
+textarea {
+    border : 1px solid #ddddc0;
+}
+
+br {
+    clear : left;
+}
+
+div.statusNotRunning {
+    float : left;
+    width : 78px;
+    height : 24px;
+    overflow : hidden;
+	color : #dd0000;
+    padding-top: 24px;
+    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;
+    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;
+    background: url('images/console_status_starting.png') 0 0 no-repeat;
+}
+
+hr,.separator {
+    display : none;
+}
+
+.subdivider {
+    display : block;
+    clear : both;
+    height : 10px;
+    background : url('images/aqua_panel_hrule.png') no-repeat;
+}
+
+.freetext {
+    width : 150px;
+    height : 22px;
+    border : 1px solid #aaaac0;
+}
+
+.control {
+    margin :  0 4px 0 0;
+    padding : 0 0 4px 0;
+    overflow : hidden;
+    height : 24px;
+    width :  68px;
+    font-weight : normal;
+    color : black;
+    text-align :  center;
+    white-space : nowrap;
+    background: url('images/console_button_sm.png') 0 0;
+}
+
+.control:hover {
+    background: url('images/console_button_sm.png') 139px 0;
+    color : white;
+}
+
+.control:active {
+    background: url('images/console_button_sm.png') 69px 0;
+    color : white;
+}
+
+.panel {
+    width : 760px;
+    margin : 16px auto 16px auto;
+    overflow : hidden;
+	text-align : left;
+    font-size : 0.8em;
+    background: url('images/aqua_panel_background.png');
+}
+
+.panel .header {
+    height: 36px;
+    padding-top: 4px;
+    background: url('images/aqua_panel_header.png') no-repeat;
+}
+
+.panel .footer {
+    float : right;
+    height: 30px;
+    width: 760px;
+    background: url('images/aqua_panel_footer.png') no-repeat;    
+}
+
+.toolbox {
+    float : right;
+}
+
+.rowItem {
+    width : 760px;
+    float :  left;
+    margin :  0 0 0 0px;
+}
+
+.comment {
+    font-style : italic;
+    padding : 2px 0 0 2px;
+        float : left;
+}
+
+.text {
+    height : 24px;
+    width : 150px;
+    padding : 4px 0 0 2px;
+    float : left;
+    margin : 0;
+}
+
+.accessKey {
+    text-decoration : underline;
+}
+
+
+#globalOperationsPanel .header{
+    display: none;
+}
+
+#globalOperationsPanel .control {
+    height : 24px;
+    width :  98px;
+    background: url('images/console_button_lg.png') 0 0;
+}
+
+#globalOperationsPanel .control:hover {
+    background: url('images/console_button_lg.png') 204px 0;
+}
+
+#globalOperationsPanel .control:active {
+    background: url('images/console_button_lg.png') 102px 0;
+}
\ No newline at end of file
diff --git a/installer/resources/themes/console/defCon1/i2ptunnel.css b/installer/resources/themes/console/defCon1/i2ptunnel.css
new file mode 100644
index 0000000000000000000000000000000000000000..473e4f17b33fb1d4e0be9ccea045c430bebf5b9d
--- /dev/null
+++ b/installer/resources/themes/console/defCon1/i2ptunnel.css
@@ -0,0 +1,206 @@
+/* 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;
+    padding : 2px 0 0 4px;
+    background: url('images/aqua_column_title_vert.png') 0 0 no-repeat;
+}
+
+#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;
+    margin : 4px 0 0 4px;
+}
+
+#tunnelEditPage label {
+    width : 150px;
+    font-weight : bold;
+    text-align : right;
+    float : left;
+    background: url('images/aqua_column_title_horz.png') 0 0 no-repeat;
+    padding : 2px 4px 0 0;
+}
+
+#tunnelEditPage #otherField label {
+    background: url('images/aqua_column_title_horz.png') 150px 0 no-repeat;
+}
+
+/* I2P Tunnel List Page
+*/
+
+#tunnelListPage #statusMessagePanel .header, 
+#tunnelEditPage #tunnelEditPanel .header {
+    height: 40px;
+    background: url('images/aqua_titlebar.png') no-repeat;
+    
+}
+
+#tunnelListPage .rowItem {
+    width : 150px;
+}
+
+#tunnelListPage select {
+    width : 150px;
+}
+
+#tunnelListPage textarea {
+    width : 760px;
+    height : 100px;
+    padding : 0 0 0 4px;
+}
+
+#tunnelListPage .footer .control {
+    margin-left: 2px;
+}
+
+#tunnelListPage .footer label {
+    text-align : right;
+    height : 24px;
+    width : 160px;
+    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;
+    padding : 2px 0 0 4px;
+    background: url('images/aqua_column_title_vert.png') 0 0 no-repeat;
+}
+
+#tunnelListPage .nameField .text {
+    padding: 2px 0 0 8px;
+}
+
+#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;
+    background: url('images/aqua_column_title_horz.png') 0 0 no-repeat;
+    padding : 2px 4px 0 0;
+}
+
+#tunnelListPage .statusField .control {
+    margin : 0;
+}
diff --git a/installer/resources/themes/console/defCon1/images/aqua_column_title_horz.png b/installer/resources/themes/console/defCon1/images/aqua_column_title_horz.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7818b891316a8017b1bcf067c030c1c6c7aa77f
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_column_title_horz.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_column_title_vert.png b/installer/resources/themes/console/defCon1/images/aqua_column_title_vert.png
new file mode 100644
index 0000000000000000000000000000000000000000..70b42d1a8e4aa6a2ef4843b3a70f7b183f7f372f
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_column_title_vert.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_panel_background.png b/installer/resources/themes/console/defCon1/images/aqua_panel_background.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c41c2bcd41a9ab1098ebde327bdb6a0c7af551e
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_panel_background.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_panel_footer.png b/installer/resources/themes/console/defCon1/images/aqua_panel_footer.png
new file mode 100644
index 0000000000000000000000000000000000000000..03ff19951da32fbfbd3c3a1716ff4898aad520a9
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_panel_footer.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_panel_header.png b/installer/resources/themes/console/defCon1/images/aqua_panel_header.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0d54c4948193a45c37133292cc082740d11331b
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_panel_header.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_panel_hrule.png b/installer/resources/themes/console/defCon1/images/aqua_panel_hrule.png
new file mode 100644
index 0000000000000000000000000000000000000000..35276b11dd8152cb2ac1c05b5fc65a5b31581c2e
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_panel_hrule.png differ
diff --git a/installer/resources/themes/console/defCon1/images/aqua_titlebar.png b/installer/resources/themes/console/defCon1/images/aqua_titlebar.png
new file mode 100644
index 0000000000000000000000000000000000000000..39270a6f2b545ff13b77f94c42fa02bf31d8b296
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/aqua_titlebar.png differ
diff --git a/installer/resources/themes/console/defCon1/images/console_button_lg.png b/installer/resources/themes/console/defCon1/images/console_button_lg.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f85619bced1090d219c013cbac4968e26c30a6c
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/console_button_lg.png differ
diff --git a/installer/resources/themes/console/defCon1/images/console_button_sm.png b/installer/resources/themes/console/defCon1/images/console_button_sm.png
new file mode 100644
index 0000000000000000000000000000000000000000..76a4e4ba3127fe3092077034d1bb53559e3bef90
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/console_button_sm.png differ
diff --git a/installer/resources/themes/console/defCon1/images/console_status_running.png b/installer/resources/themes/console/defCon1/images/console_status_running.png
new file mode 100644
index 0000000000000000000000000000000000000000..87b8c50b73b5ef44b2b1d1584c4039ce0de9ddd4
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/console_status_running.png differ
diff --git a/installer/resources/themes/console/defCon1/images/console_status_starting.png b/installer/resources/themes/console/defCon1/images/console_status_starting.png
new file mode 100644
index 0000000000000000000000000000000000000000..17326d925d059278c8a146e9053d741b6349d631
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/console_status_starting.png differ
diff --git a/installer/resources/themes/console/defCon1/images/console_status_stopped.png b/installer/resources/themes/console/defCon1/images/console_status_stopped.png
new file mode 100644
index 0000000000000000000000000000000000000000..8744e43000e32747e16d478e78d2ebc8cb43a6a4
Binary files /dev/null and b/installer/resources/themes/console/defCon1/images/console_status_stopped.png differ
diff --git a/installer/resources/themes/console/default.css b/installer/resources/themes/console/default.css
new file mode 100644
index 0000000000000000000000000000000000000000..88aa40d7f7aa74f506acc75ef0a9a52826acce5e
--- /dev/null
+++ b/installer/resources/themes/console/default.css
@@ -0,0 +1,182 @@
+body {
+	margin :  0px;
+	padding : 0px;
+	text-align : center;
+	font-family : Arial, Helvetica, sans-serif;
+	background-color : #ffffff;
+	color :  #000000;
+    font-size : 100%;
+    
+    /* 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;
+}
+
+div {
+    -moz-box-sizing : border-box;
+    box-sizing :      border-box;
+}
+
+h4, label {
+    margin :   0px;
+    padding :  2px;
+    float :   left;
+    width :  150px;
+    height :  24px;
+    font-weight :  bold;
+    text-align :  right;
+    font-size :   1.0em;
+    -moz-box-sizing: border-box;
+    box-sizing :     border-box;
+}
+
+h4 {
+    font-size : 1.2em;
+    text-align : center;
+    width : 750px;
+}
+
+a {
+    text-decoration : none;
+}
+
+form {
+	margin : 0px;
+}
+
+textarea, input, select, button, a {
+    font-family : Arial, Helvetica, sans-serif;
+    -moz-box-sizing : border-box;
+    box-sizing :      border-box;
+    font-size : 1.0em;
+    float : left;
+}
+
+button {
+    float : none;
+}
+
+textarea {
+    border : 1px solid #ddddc0;
+}
+
+br {
+    clear : left;
+}
+
+div.statusNotRunning {
+    float : left;
+    width : 82px;
+    height : 24px;
+	color : #dd0000;
+}
+div.statusRunning {
+    float : left;
+    width : 82px;
+    height : 24px;
+	color : #00dd00;
+}
+div.statusStarting {
+    float : left;
+    width : 82px;
+    height : 24px;
+	color : #339933;
+}
+
+hr {
+    display : none;
+}
+
+.separator, .subdivider {
+    clear : both;
+    height : 1px;
+    margin : 3px 0px 3px 0px;
+    border-bottom : 1px solid #ddddc0;
+}
+
+.subdivider {
+    border-bottom : 1px dashed #ddddc0;
+}
+
+.freetext {
+    width : 150px;
+    height : 22px;
+    border : 1px solid #aaaac0;
+}
+
+.control {
+    margin :  0 4px 0 0;
+    padding : 0 0 4px 0;
+    overflow : hidden;
+    height : 20px;
+    width :  60px;
+    font-weight : normal;
+    background-color :  #dddddd;
+    color : black;
+    border : 1px outset #ddddc0;
+    text-align :  center;
+    white-space : nowrap;
+}
+
+.control:hover {
+    background-color : #ffffed;
+}
+
+.control:active {
+    border : 2px inset;
+}
+
+.panel {
+    width : 760px;
+    margin : 16px auto 16px auto;
+    overflow : hidden;
+	text-align : left;
+    font-size : 0.8em;
+	background-color : #ffffef;
+	border : 4px solid #ffffd0;
+}
+
+.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 : 2px 0 0 2px;
+    float : left;
+    margin : 0;
+}
+
+.accessKey {
+    text-decoration : underline;
+}
+
+#globalOperationsPanel {
+    background-color : #ffefef;
+	border : 4px solid #ffd0d0;
+}
+
+#globalOperationsPanel .control {
+    width : 100px;
+}
diff --git a/installer/resources/themes/console/i2ptunnel.css b/installer/resources/themes/console/i2ptunnel.css
new file mode 100644
index 0000000000000000000000000000000000000000..7ccba6c8221062234d3c2a1aedc037c0df99b3c9
--- /dev/null
+++ b/installer/resources/themes/console/i2ptunnel.css
@@ -0,0 +1,178 @@
+/* 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 : 750px;
+    height : 100px;
+    padding : 0 0 0 4px;
+}
+
+#tunnelListPage .footer .control {
+    margin-left: 2px;
+}
+
+#tunnelListPage .footer label {
+    text-align : right;
+    height : 24px;
+    width : 160px;
+    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;
+}