From f0730cd1c8882a465f068c17b7ba27c61df58024 Mon Sep 17 00:00:00 2001 From: z3d <z3d@mail.i2p> Date: Mon, 9 Nov 2009 17:49:17 +0000 Subject: [PATCH] Introducing a new console theme, "midnight". Lightweight midnight blue theme, IE compatible. --- .../themes/console/midnight/console.css | 817 ++++++++++++++++++ .../themes/console/midnight/console_big.css | 61 ++ .../themes/console/midnight/default.css | 239 +++++ .../themes/console/midnight/i2ptunnel.css | 180 ++++ .../themes/console/midnight/ieshim.css | 258 ++++++ .../console/midnight/images/i2plogo.png | Bin 0 -> 10216 bytes 6 files changed, 1555 insertions(+) create mode 100644 installer/resources/themes/console/midnight/console.css create mode 100644 installer/resources/themes/console/midnight/console_big.css create mode 100644 installer/resources/themes/console/midnight/default.css create mode 100644 installer/resources/themes/console/midnight/i2ptunnel.css create mode 100644 installer/resources/themes/console/midnight/ieshim.css create mode 100644 installer/resources/themes/console/midnight/images/i2plogo.png diff --git a/installer/resources/themes/console/midnight/console.css b/installer/resources/themes/console/midnight/console.css new file mode 100644 index 0000000000..38f83a7d71 --- /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 0000000000..34a3f5180e --- /dev/null +++ b/installer/resources/themes/console/midnight/console_big.css @@ -0,0 +1,61 @@ +/* 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: 8pt !important; +} + +/* 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%; +} + +table code { + font-size: 120%; +} \ 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 0000000000..61c8dc03f9 --- /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 0000000000..2128c7e737 --- /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 0000000000..4feeadb80c --- /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 GIT binary patch literal 10216 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 literal 0 HcmV?d00001 -- GitLab