/* I2P Theme: Light */
/* Description: Light blue highlights. */
/* Author: dr|z3d */

html {
     margin: 0 !important;
}

body {
     margin: 6px;
     text-align: center;
     color: #33333f;
     font-size: 9pt;
     line-height: 130%;
     background: #a4a4cb url(images/tile2.png) fixed;
     background-size: 32px 32px;
}

/* preload button mouseovers */

body {
     background: url(images/tile2.png),
     url(/themes/console/images/buttons/clean_hover.png) no-repeat,
     url(/themes/console/images/buttons/configure_hover.png) no-repeat,
     url(/themes/console/images/buttons/delete_hover.png) no-repeat,
     url(/themes/console/images/buttons/restart_hover.png) no-repeat,
     url(/themes/console/images/buttons/restore_hover.png) no-repeat,
     url(/themes/console/images/buttons/search_hover.png) no-repeat,
     url(/themes/console/images/buttons/shutdown_hover.png) no-repeat,
     url(/themes/console/images/buttons/update_hover.png) no-repeat, #a4a4cb;
     background-size: 32px 32px, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
}

@supports (text-justify: auto) { /* Firefox 55+ */
body {
     background-attachment: fixed !important;
}
}

b {
     color: #41465f;
}

.hide, .hideme {
     display: none;
}

div.clearer {
     clear: left;
     height: 0;
     line-height: 0;
}

::selection {
     background: #27377f !important;
     color: white;
     text-shadow: none;
}

::-moz-selection {
     background: #27377f !important;
     color: white;
     text-shadow: none;
}

body, input, button, select {
     font-family: "Droid Sans", "Noto Sans", Ubuntu, "Segoe UI", "Lucida Grande", Verdana, Helvetica, sans-serif;
}

tt, code, pre, textarea, #logs li {
     font-family: "Droid Sans Mono", "Noto Mono", "Lucida Console", "DejaVu Sans Mono", monospace;
}

.routersummary img[src$="i2plogo.png"], .routersummary h3, .confignav, *::before, *::after, div.app, .themechoice, .langselect, .langbox,
.newsAuthor, #netdbcountrylist img, .viewfullentry, .sybil_routerinfo th img, .graphspanel, #themeoptions, #graphopts, #newsDisplay {
     -moz-user-select: none;
     -webkit-user-select: none;
     user-select: none;
}

* {
     outline: none;
}

img {
     border: none;
}

img[src$="bound.png"] {
     filter: hue-rotate(-40deg);
}

a img[src$="bound.png"] {
     filter: hue-rotate(-40deg) drop-shadow(0 0 1px #ccf);
}

a:hover img[src$="bound.png"] {
     filter: hue-rotate(-40deg) drop-shadow(0 0 1px #f60);
}

a img {
     filter: drop-shadow(0 0 1px #ccf);
}

a:hover img {
     filter: drop-shadow(0 0 1px #f60);
}

pre {
     width: 98%;
     overflow: auto;
     text-align: left;
     font-size: 8.5pt;
     color: #33333f;
     margin: 10px;
}

/* sidebar */

.routersummaryouter {
     float: left;
     width: 200px;
     margin: 0 0 10px 0;
     padding: 0;
     border: 0;
     clear: left;/* fixes a bug in Opera */
     text-align: center !important;
     display: block;
     position: absolute;/* so no interference with /home app icons */
}

.routersummary {
     width: 192px;
     padding: 8px;
     margin-bottom: 2px;
     text-align: center !important;
     border: 1px solid #447;
     color: #33333f;
     font-size: 8pt;
     clear: left;/* fixes a bug in Opera */
     border-radius: 2px;
     background: #fafaff;
     box-shadow: inset 0 0 0 1px #bbf;
     filter: drop-shadow(0 0 1px #999daf);
}

.routersummary div[style="height: 36px;"] {
     margin: 0;
     height: 36px !important;
     padding: 0 0 1px;
     text-align: center;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.routersummary div[style="height: 36px;"] {
     height: 34px !important;
}
}

.routersummary img[src$="i2plogo.png"] {
     opacity: 0.7;
     transition: ease filter 0.3s 0s, ease opacity 0.3s 0s;
     margin: 0 !important;
     width: 190px;
     height: auto;
     filter: drop-shadow(0 0 1px #ccf);
}

.routersummary img[src$="i2plogo.png"]:hover {
     opacity: 1;
     transition: ease filter 0.3s 0s, ease opacity 0.3s 0s;
     filter: drop-shadow(0 0 1px #f60);
}

.routersummary a[href="/"]:focus img, .routersummary a[href="/console"]:focus img {
     filter: drop-shadow(0 0 1px #f60);
}

.routersummary a:active img[src$="i2plogo.png"] {
     filter: drop-shadow(0 0 2px #d30);
}

.routersummary a[href="/"], .routersummary a[href="/console"] {
     outline: none !important;
}

.routersummary form {
     margin: -2px -7px;
     padding: 0 0 3px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.routersummary form {
     margin: -1px -7px -3px !important;
}
}

.routersummary form button.download {
     display: inline-block;
     vertical-align: middle;
     margin: -3px 0;
     background: url(/themes/console/images/buttons/download.png) 6px center no-repeat, linear-gradient(to bottom, #fff, #efefff);
     background-size: 14px 14px, 100% 100% !important;
     padding: 5px 7px 5px 22px !important;
}

.routersummary input[type=text] {
     text-align: right !important;
}

.routersummary hr {
     color: #99f;
     background: #99f;
     height: 1px;
     border-bottom: 1px solid #99f;
     margin: 8px -7px 8px -7px;
     box-shadow: inset 0 1px 1px 1px #fff;
}

.routersummary hr.b {
     color: #fff;
     background: transparent;
     border-bottom: 1px solid transparent;
     height: 0 !important;
     margin-bottom: 5px;
}

.routersummary h3 {
     font-size: 9.5pt;
     letter-spacing: 0.04em;
     margin: -9px -7px -2px;
     padding: 2px 0;
     text-transform: uppercase;
     background: #fcfcff !important;
     background: #e7e7ff linear-gradient(to bottom, #fff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)) !important;
     border: 1px solid #99f;
     border-left: none;
     border-right: none;
     border-radius: 0;
     box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 0 #fff;;
     filter: none;
}

.routersummary h3:hover {
     background: linear-gradient(to bottom, #fff 50%, #ffe8bf 50%, #efd9b3 100%) !important;
     background: #fff linear-gradient(to bottom, #fff 50%, rgba(255, 232, 191, 0.6) 50%, rgba(239, 217, 179, 0.4) 100%) !important;
}

.routersummary h3:active {
     box-shadow: inset 0 0 0 1px #fff9ef, inset 2px 2px 3px #7f3000;
     transition: ease box-shadow 0.05s;
     background: #fff linear-gradient(to bottom, #fff3df, #fff9ef) !important;
     background: #f60 !important;
}

.routersummary h3 a, .routersummary h3 a:visited {
     text-transform: uppercase;
     text-decoration: none;
     display: inline-block;
     width: 100%;
     width: calc(100% - 4px);
     padding: 3px 0 2px;
     color: #2c4e8f;
     line-height: 110%;
}

.routersummary h3:hover a, .routersummary h3 a:hover {
     color: #f60 !important;
     text-shadow: 0 0 1px #fff;
}

.routersummary h3:active a, .routersummary h3 a:active {
     color: #cf9233 !important;
     color: #ffecdf !important;
     text-shadow: 0 1px 1px #5f2d0c;
}

/*
h3#helpfaq {
     margin-bottom: -9px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
h3#helpfaq {
     margin-bottom: -10px;
}
}
*/

.routersummary h4 {
     border: none;
     border-radius: 0;
     font-size: 8.5pt;
     letter-spacing: normal;
     text-transform: none;
     margin: -7px;
     padding: 6px 2px !important;
     background: #eef;
     background: linear-gradient(to right, #ddf, #eef 10%, #fff 50%, #eef 90%, #ddf);
     text-decoration: none !important;
     color: #4f617f;
     box-shadow: inset 0 0 0 1px #eef;
     line-height: 105%;
}

.routersummary h4::after {
     content: "";
     display: inline-block;
     box-sizing: border-box;
     min-height: 12px;
     padding-top: 8px;
     padding-bottom: 8px;
     vertical-align: middle;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.routersummary h4 {
     margin-bottom: -8px !important;
}
}

.routersummary h4 a {
     vertical-align: baseline;
}

h4.sb_info {
     margin-top: -11px !important;
}

.sb_info a  {
     vertical-align: baseline !important;
}

h4.sb_info + hr + form {
     padding-top: 5px !important;
     margin-bottom: -1px;
}

.routersummary ul {
     text-align: left !important;
}

.routersummary table {
     border: 0;
     text-align: center !important;
     margin: -8px -5px -5px -5px;
     width: 202px !important;
     overflow: hidden;
     font-size: 8pt;
     background-image: none !important;
     background-color: transparent !important;
}

#sb_version {
     margin-top: 7px !important;
     margin-bottom: 10px !important;
}

#sb_localtunnels td {
     vertical-align: middle;
}

#sb_localtunnels td:first-child {
     text-align: left !important;
     width: 16px;
     padding: 1px 2px;
     border-radius: 2px 0 0 2px;
}

#sb_localtunnels td:first-child img {
     margin: 0 0 2px !important;
}

#sb_localtunnels td img {
     filter: drop-shadow(0 0 1px #ccf);
}

#sb_localtunnels td:last-child {
     text-align: right !important;
     width: 16px;
     padding: 2px 0 2px 2px;
     border-radius: 0 2px 2px 0;
}

#sb_localtunnels a {
     display: inline-block;
     width: 100%;
     max-width: 158px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
}

#sb_localtunnels tr:hover td {
     background: #fffff0 !important;
}

#sb_internals, #sb_advanced, #sb_help {
     margin: -9px -6px -5px;
     width: 204px !important;
}

#sb_internals a, #sb_advanced a, #sb_help a {
     padding: 2px;
     display: inline-block;
     vertical-align: middle !important;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
}

#sb_internals a:hover, #sb_advanced a:hover, #sb_help a:hover {
     background: #ffd;
     border-radius: 3px;
}

#sb_general, #sb_shortgeneral, #sb_advancedgeneral, #sb_bandwidth, #sb_peers, #sb_peersadvanced, #sb_tunnels, #sb_queue {
     margin-bottom: -4px !important;
     margin-top: -10px !important;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
#sb_general, #sb_shortgeneral, #sb_advancedgeneral, #sb_bandwidth, #sb_peers, #sb_peersadvanced, #sb_tunnels, #sb_queue {
     margin-bottom: -6px !important;
}
}

#sb_shortgeneral {
     margin-top: -7px !important;
}

#sb_general td, #sb_shortgeneral td, #sb_advancedgeneral td {
     white-space: nowrap;
}

#sb_general td:first-child, #sb_shortgeneral td:first-child, #sb_advancedgeneral td:first-child {
     max-width: 130px;
}

#sb_general td::after, #sb_shortgeneral td::after, #sb_advancedgeneral td::after, #sb_bandwidth td::after,
#sb_peers td::after, #sb_peersadvanced td::after, #sb_tunnels td::after, #sb_queue td::after {
   content: "";
   display: inline-block;
   min-height: 13px;
}

#sb_peers td:first-child, #sb_peersadvanced td:first-child, #sb_tunnels td:first-child, #sb_queue td:first-child, #sb_bandwidth td:first-child,
#sb_general td:first-child, #sb_shortgeneral td:first-child, #sb_advancedgeneral td:first-child {
     text-transform: capitalize;
}

#sb_peersadvanced a:hover b, #sb_peersadvanced a:visited:hover b {
     color: #f60 !important
}

#sb_peersadvanced a:active b, #sb_peersadvanced a:visited:active b {
     color: #f90 !important
}

#sb_peersadvanced .separator td {
     padding: 0;
}

.separator hr, .separator hr:last-child {
     color: transparent;
     background: transparent;
     height: 1px;
     border-bottom: 1px dashed #99f !important;
     margin: 3px 0 -10px !important;
     display: block !important;
}

/* mini sidebar graph */

#sb_bandwidthgraph {
     width: 100%;
     margin: -5px 0 -6px -5px;
     border-collapse: separate;
     border-spacing: 0;
     padding: 0;
     border: 1px solid #89f;
     border-radius: 2px;
     box-shadow: 0 0 1px #ccf;
     transition: ease border 0.7s;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
#sb_bandwidthgraph {
     margin: -5px 0 -6px -5px !important;
}
}

#sb_bandwidthgraph:hover {
     border: 1px solid #f60;
     cursor: url(/themes/console/images/cursor_zoom.png), pointer;
     transition: ease border 0.7s;
}

a:active #sb_bandwidthgraph {
     border: 1px solid #f30;
}

#sb_bandwidthgraph td {
     background: linear-gradient(to top, #f3f3ff 2px, rgba(255,255,255,0.0) 2px, rgba(255,255,255,0.0) 89%, #f3f3ff 93%), linear-gradient(to right, #f3f3ff, rgba(255,255,255,0.0) 2%, rgba(255,255,255,0.0) 98%, #f3f3ff), repeating-linear-gradient(to right, rgba(255,255,255,0.0) 10px, rgba(120,120,255,0.8) 11px, rgba(255,255,255,0.0) 11px, rgba(255,255,255,0.0) 20px), repeating-linear-gradient(to top, rgba(255,255,255,0.0) 1px, rgba(120,120,255,0.8) 2px, rgba(255,255,255,0.0) 2px, rgba(255,255,255,0.0) 10px) !important;
     padding: 0 1px;
     box-shadow: inset 0 0 0 1px #fff;
     height: 40px;
     vertical-align: top;
}

#sb_graphstats {
     display: inline-block;
     padding: 2px 8px;
     font-weight: bold;
     background: #ddf;
     background: linear-gradient(to right, #ddf, #efefff, #ddf);
     border: 1px solid #89f;
     border-top: none;
     border-radius: 0 0 3px 3px;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #fff;
     opacity: 0;
     transition: ease opacity 0.3s;
}

#sb_graphcontainer:hover #sb_graphstats {
     opacity: 1;
     transition: ease opacity 0.3s;
}

#sb_graphcontainer {
     background-color: #f3f3ff;
     background-position: left -60px top -23px !important;
     background-size: 280px 77px !important;
     background-repeat: no-repeat !important;
     background-blend-mode: multiply;
     will-change: background;
}

@media screen and (min-width: 1500px) {
#sb_graphcontainer {
     background-size: 300px 77px !important;
}
}
/* end mini sidebar graph */

/* status bars for memory usage and router/plugin updates */

.percentBarOuter {
     width: 196px;
     margin: -4px -5px -4px -3px;
     text-align: center;
     border: 1px solid #99f;
     box-shadow: 0 0 1px rgba(200,200,200,0.8);
     background: #eef;
     background: linear-gradient(to right, rgba(0,255,0,0.05) 50%, rgba(255,255,0,0.05) 75%, rgba(255,128,0,0.05) 90%, rgba(255,0,0,0.1)), repeating-linear-gradient(to right, rgba(180, 180, 255,0.7) 1px, rgba(180, 180, 255, 0.7) 2px, rgba(221, 221, 255, 0.7) 2px, rgba(221, 221, 255, 0.7) 4px);
}

@media screen and (min-width: 1500px) {
.percentBarOuter {
     width: 212px;
}
}

.percentBarInner {
     vertical-align: middle;
     border: none;
     height: 14px;
     background: #bbf;
     background: linear-gradient(to bottom, rgba(255, 255, 255,0.6), rgba(238, 238, 255, 0.6) 50%, rgba(180, 180, 255, 0.7) 50%, rgba(140, 140, 255, 0.7));
     box-shadow: inset 0 0 0 1px #ddf;
}

.percentBarText {
     display: inline !important;
     white-space: nowrap;
     text-align: center !important;
     font-weight: bold !important;
     color: #41465f;
     text-shadow: 0 1px 1px rgba(255,255,255,0.8);
     float: left;
     width: 100%;
     height: 14px;
     padding: 0;
     opacity: 0;
     transition: ease opacity 0.2s;
}

.percentBarOuter:hover .percentBarText {
     opacity: 1;
     transition: ease opacity 0.2s;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
#sb_memoryBar {
     margin-bottom: -5px;
}
}

/* updates download bar */

.sb_update a {
    white-space: nowrap;
    vertical-align: baseline;
}

.sb_updatestatus {
     display: block;
     font-style: italic;
     border: 1px solid #99f;
     border-top: none;
     border-radius: 0 0 3px 3px;
     background: #ccf;
     background: linear-gradient(to right, #ddf, #efefff 30%, #efefff 60%, #ddf);
     box-shadow: inset 0 0 0 1px #fff;
     margin: -7px 2px 5px !important;
     padding: 4px 0 3px;
     filter: drop-shadow(0 0 1px #ccf);
}

.sb_info .percentBarOuter {
     margin: 3px -4px -19px 2px;
     background: repeating-linear-gradient(135deg, rgba(238, 238, 255,0.7) 1px, rgba(238, 238, 255, 0.7) 5px, rgba(221, 221, 255, 0.7) 6px, rgba(221, 221, 255, 0.7) 11px);
}

@keyframes downloadbar {
from {
     background: repeating-linear-gradient(135deg, rgba(221, 221, 255, 0.7) 1px, rgba(221, 221, 255, 0.7) 6px, rgba(238, 238, 255,0.7) 7px, rgba(238, 238, 255,0.7) 11px);
}

to {
     background: repeating-linear-gradient(135deg, rgba(238, 238, 255,0.7) 1px, rgba(238, 238, 255, 0.7) 5px, rgba(221, 221, 255, 0.7) 6px, rgba(221, 221, 255, 0.7) 11px);
}
}

.sb_info .percentBarOuter {
     animation: downloadbar 3s linear infinite;
}

.sb_info .percentBarInner {
     height: 16px;
}

.sb_info .percentBarText {
     opacity: 1;
     padding-top: 3px;
     mix-blend-mode: multiply;
}
/* end updates download bar */
/* end status bars */

#sb_warning {
     border-bottom: 1px solid #99f;
}

#sb_warning + hr {
     margin-top: 6px;
}

#sb_warning + .sb_notice {
     margin-top: 10px;
}

#sb_warning a {
     line-height: 100%;
}

#sb_warning + p:empty + form {
     margin-top: 12px;
     margin-bottom: -4px;
}

.sb_notice {
     background: #f2f2ff;
     border: 1px solid #89f;
     border-radius: 2px;
     box-shadow: 0 0 1px #bbb, inset 0 0 0 1px #fff;
     margin: -5px;
     padding: 5px;
     line-height: 140%;
}

p:empty + .sb_notice {
     margin-top: 9px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.sb_notice {
     margin-bottom: -6px;
}
}

/* experimental sidebar navigation for webapps */

#sb_services {
     margin: -15px -9px -11px -7px;
     width: 206px !important;
}

#sb_services td {
     padding-top: 4px;
     padding-bottom: 4px;
}

#sb_services a:link, #sb_services a:visited {
     display: inline-block;
     width: 100%;
     padding: 4px 2px 4px 24px;
     text-align: left;
     border-bottom: 1px dotted #ddf;
     background: #f8f8ff url(/themes/console/images/plugin.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(/themes/console/images/plugin.png) 3px center no-repeat;
     background-size: 16px 16px !important;
}

#sb_services a:link:last-child {
     border-bottom: none;
}

#sb_services a {
     background-blend-mode: luminosity;
     vertical-align: sub !important;
}

#sb_services a:hover {
     background-blend-mode: normal;
     background-color: #ffe;
}

#sb_services a[href="/susimail/susimail"], #sb_services a[href="/webmail"] {
     background: #f8f8ff url(images/inbox.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(images/inbox.png) 3px center no-repeat;
}

#sb_services a[href="/susimail/susimail"]:hover, #sb_services a[href="/webmail"]:hover {
     background: #ffe url(images/inbox.png) 3px center no-repeat;
}

#sb_services a[href="/i2psnark/"], #sb_services a[href="/torrents"] {
     background: #f8f8ff url(/themes/console/images/i2psnark.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(/themes/console/images/i2psnark.png) 3px center no-repeat;
}

#sb_services a[href="/i2psnark/"]:hover, #sb_services a[href="/torrents"]:hover {
     background: #ffe url(/themes/console/images/i2psnark.png) 3px center no-repeat;
}

#sb_services a[href="http://127.0.0.1:7658/"] {
     background: #f8f8ff url(images/server.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(images/server.png) 3px center no-repeat;
}

#sb_services a[href="http://127.0.0.1:7658/"]:hover {
     background: #ffe url(images/server.png) 3px center no-repeat;
}

#sb_services a[href="/orchid/"] {
     background: #f8f8ff url(images/flower.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(images/flower.png) 3px center no-repeat;
}

#sb_services a[href="/orchid/"]:hover {
     background: #ffe url(images/flower.png) 3px center no-repeat;
}

#sb_services a[href*="bote"] {
     background: #f8f8ff url(images/mail_black.png) 3px center no-repeat;
     background: rgba(248, 248, 255, 0.8) url(images/mail_black.png) 3px center no-repeat;
}

#sb_services a[href*="bote"]:hover {
     background: #ffe url(images/mail_black.png) 3px center no-repeat;
}

/* end webapp navigation */

.routersummary tr {
     background-image: none !important;
     background-color: transparent !important;
     border: 0 !important;
}

.routersummary a:hover {
     color: #f60;
}

.routersummary td {
     padding: 0 2px;
     background-image: none !important;
     border: 0 !important;
}

/* sidebar network status */

.sb_netstatus, .tunnelBuildStatus {
     display: inline-block;
     vertical-align: baseline;
     line-height: 120%;
     border: 1px solid #88f;
     border-radius: 2px;
     padding: 6px 4px;
     width: calc(100% - 10px);
     width: 100%;
     margin: -4px -1px;
     box-sizing: border-box;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px rgba(96,96,96,0.5);
     text-shadow: 0 1px 1px #fff;
}

.sb_netstatus a {
     vertical-align: baseline;
}

.routersummary .firewalled {
     background: repeating-linear-gradient(135deg, rgba(220,255,220,0.3) 2px, rgba(255,255,220,0.3) 3px, rgba(220,255,220,0.3) 5px);
}

.routersummary .error {
     background: rgba(255,110,110,0.1);
     box-shadow: inset 0 0 0 1px rgba(200,0,0,0.5), 0 0 1px rgba(96,96,96,0.5);
     background: repeating-linear-gradient(135deg, rgba(255,100,100,0.05) 2px, rgba(255,200,200,0.2) 3px,  rgba(255,100,100,0.05) 5px);
}

.routersummary .warn, .routersummary .clockskew {
     background: rgba(255,255,200,0.25);
     box-shadow: inset 0 0 0 1px #ff0, 0 0 1px rgba(96,96,96,0.5);
}

.routersummary .testing {
     background: rgba(255,220,110,0.1);
}

.routersummary .hidden, .routersummary .vmcomm {
     background: rgba(220,220,220,0.4);
}

.routersummary .vmcomm {
     border: 1px dotted #999daf;
}

.routersummary .running {
     background: rgba(220,255,220,0.15);
}

.routersummary .error::before, .routersummary .warn::before, .routersummary .testing::before, .routersummary .hidden::before,
.routersummary .running::before, .routersummary .firewalled::before, .routersummary .vmcomm::before, .routersummary .clockskew::before {
     margin-bottom: -1px;
     padding-right: 1px;
     vertical-align: text-bottom;
     display: inline-block;
     filter: drop-shadow(0 0 1px rgba(96,96,96,0.5));
     transform: scale(0.9);
}

.routersummary .error::before {
     content: url(/themes/console/images/info/network_status/network_error.png);
}

.routersummary .warn::before {
     content: url(/themes/console/images/info/network_status/network_warning.png);
}

.routersummary .testing::before {
     content: url(/themes/console/images/info/network_status/network_testing.png);
}

.routersummary .hidden::before {
     content: url(/themes/console/images/info/network_status/network_hidden.png);
}

.routersummary .running::before {
     content: url(/themes/console/images/info/network_status/network_ok.png);
}

.routersummary .firewalled::before {
     content: url(/themes/console/images/info/network_status/network_firewalled.png);
     padding-right: 4px;
     opacity: 0.8;
}

.routersummary .vmcomm::before {
     content: url(/themes/console/images/info/network_status/network_vm.png);
}

.routersummary .clockskew::before {
     content: url(/themes/console/images/info/network_status/network_clockskew.png);
}

/* end network status */

/* tunnel build status */

.tunnelBuildStatus {
     padding: 7px 2px;
}

/* TO DO: activate this when we have build status specific spans */

/*
.tunnelStatusAccept {
     background: rgba(220,255,220,0.15);
     color: #070;
}

.tunnelStatusReject {
     background: rgba(255,110,110,0.1);
     color: #070;
}

.tunnelStatusRejectHidden {
     background: rgba(220,220,220,0.4);
     color: #777;
}

.tunnelBuildStatus::before, .tunnelStatusAccept::before, .tunnelStatusReject::before, .tunnelStatusRejectHidden::before {
     margin-bottom: 1px;
     padding-right: 1px;
     vertical-align: -30%;
     vertical-align: middle;
     display: inline-block;
     filter: drop-shadow(0 0 1px rgba(96,96,96,0.5));
}

.tunnelBuildStatus::before {
     content: url(/themes/console/images/info/network_status/accepting.png);
}

.tunnelStatusAccept::before {
     content: url(/themes/console/images/info/network_status/accepting.png);
}

.tunnelStatusReject::before {
     content: url(/themes/console/images/info/network_status/rejecting.png);
}

.tunnelStatusRejectHidden::before {
     content: url(/themes/console/images/info/network_status/rejecting_hidden.png);
}
*/
/* end tunnel build status */

/* sidebar news */

.sb_newsheadings {
     margin: -5px 0 0 8px;
}

.sb_newsheadings table {
     table-layout: auto;
     width: 204px !important;
     margin: -12px 0 -8px -14px;
}

.sb_newsheadings td a {
     padding: 2px 0 !important;
     display: inline-block;
     width: 100%;
}

.sb_newsheadings a {
     display: inline-block;
     margin: -1px 0 -2px;
}

.sb_newsheadings td {
     background: url(images/newsbullet_mini.png) 2px 7px no-repeat !important;
     padding-left: 19px !important;
     border-bottom: 1px dotted #ddf !important;
     padding: 6px 1px;
     text-align: left;
     line-height: 100%;
}

.sb_newsheadings tr:hover td {
     background: url(images/newsbullet_mini.png) 2px 7px no-repeat #ffe !important;
     background-blend-mode: luminosity;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.sb_newsheadings table {
     width: 202px !important;
     margin-bottom: -10px;
}

.sb_newsheadings td, .sb_newsheadings tr:hover td {
     background-position: 2px 6px !important;
}
}

.sb_newsheadings tr:last-child td {
     border-bottom: none !important;
}

/* end sidebar news */
/* end sidebar */

/* proxy error messages */

.logo {
     float: left;
     padding: 10px;
     text-align: center;
     color: #222;
     margin: 0 10px;
     border: 1px solid #447;
     border-radius: 2px;
     background: #f8f8ff;
     width: 185px;
     box-shadow: inset 0 0 0 1px #bbf;
}

.logo hr {
     margin: 8px -10px;
     background: #7778bf;
     height: 1px
}

.warning hr {
     background: #7778bf;
     background: linear-gradient(to right, #7778bf, #c2c4ef);
}

.logo a {
     display: inline-block !important;
     width: 100%;
}

.logo hr ~ a {
     margin: 3px 2px;
}

.warning {
     margin: 16px 12px 30px 232px;
     padding: 10px 25px 20px 75px;
     background: #fafaff;
     border: 1px solid #447;
     color: #33333f;
     border-radius: 2px;
     text-align: justify;
     background-image: url(/themes/console/images/itoopie_sm.png);
     background-position: 10px center;
     background-repeat: no-repeat;
     box-shadow: inset 0 0 1px 0 #d00;
     word-wrap: break-word;
     min-width: 400px;
}

.warning:not(old) {
     background: url(/themes/console/images/itoopie_sm.png) no-repeat scroll 10px center, linear-gradient(to bottom, rgba(248,248,255,0.8), rgba(240,240,255,0.8)) #f8f8ff;
     background-size: 54px auto, 100% 100%;
     background-position: 10px calc(50% + 16px);
}

.warning h3 {
     text-align: left;
     margin: -9px -24px 20px !important;
     border: none;
     border-bottom: 1px solid #447;
     border-radius: 2px 2px 0 0;
     padding: 10px 10px 8px;
     font-size: 10.5pt;
}

#jumplinks {
     margin-top: -15px;
}

#jumplinks h3 {
     margin: 0 0 10px;
}

#jumplinks a {
     display: inline-block;
     padding: 2px 0;
     line-height: 16px;
}

#jumplinks a::before {
     content: "\279F\00A0";
     font-size: 16pt;
     display: inline-block;
     padding: 3px 0;
     vertical-align: sub;
     line-height: 16px;
}

.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;
}

@media screen and (max-width: 800px) {
.warning {
     margin: 114px 5px 0 !important;
     background: #fff !important;
     background: linear-gradient(to bottom, rgba(255,255,255,0.8), rgba(255,255,255,0.3)) #f8f8ff !important;
     padding-left: 25px !important;
}

.warning h3 {
     font-size: 10pt !important;
}

.logo {
     position: absolute;
     top: 0;
     width: calc(100% - 40px) !important;
     min-width: 430px;
     margin: 10px 5px 0 !important;
}

.logo a:link:not(img) {
     display: inline-block;
     width: auto;
     margin: 0 5px;
}
}

@media screen and (min-width: 800px) {
.warning h3 {
     margin: -9px -24px 20px -74px !important;
}
}

@media screen and (min-width: 1400px) {
#jumplinks h4 {
     font-size: 10.5pt;
}
}

@media screen and (min-height: 700px) {
.proxyfooter {
     position: absolute;
     bottom: 0;
     right: 0;
     padding: 0 20px 0 0;
     text-align: right;
     background: #030;
     width: 100%;
     opacity: 0.7;
     border-top: 1px solid #000;
}

.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;
}
}

.proxyfooter p {
     text-align: right !important;
     line-height: 115%;
     color: #6b4612;
}

#proxyNewAddressHelper .warning {
     padding-bottom: 5px !important;
}

#proxyNewHost {
     margin-bottom: 20px;
}

#proxyNewHost td {
     padding: 8px !important;
     font-size: 10pt !important;
}

#proxyNewHost tr:last-child td:first-child {
     vertical-align: top;
}

#proxyNewHost textarea {
     white-space: pre-wrap;
     word-break: break-all;
     overflow: auto;
     border: none;
     resize: none;
     background: none !important;
     box-shadow: none !important;
     width: 100% !important;
     height: 6em;
     margin: 0 !important;
     padding: 0 !important;
}

#proxyNewHost textarea:focus {
     filter: none;
}

#proxyNewHost + hr {
     display: none;
}

#proxyNewHost a {
     display: inline-block;
     word-break: break-all;
}

#proxyNewHost td:first-child {
     font-weight: bold;
}

#proxyNewHost tr:last-child td:first-child {
     vertical-align: top;
}

.warning h4 {
     box-shadow: none !important;
     text-align: left;
     font-size: 10pt;
     margin-top: 20px;
     text-transform: none;
     letter-spacing: 0;
     word-spacing: 0;
     background: none;
     border-radius: 0;
     border: none;
     border-bottom: 1px solid #447 !important;
     padding-left: 0;
     margin-bottom: -5px;
}

#jumplinks h4 {
     margin-bottom: 10px;
     border-color: #7778bf !important;
     color: #41465f;
     padding-bottom: 10px;
}

.warning p + .formaction {
     margin: -5px -3px 10px 0;
     padding: 0;
     background: none !important;
     border: none;
     box-shadow: none;
}

/* end proxy error messages */

/* console error messages */

.sorry {
     margin: -11px 0 10px 214px;
     padding: 20px 25px 20px 70px;
     border: 1px solid #447;
     border-radius: 0 0 2px 2px;
     text-align: justify;
     background: #fafaff url(/themes/console/images/info/errortriangle.png) 16px 40% no-repeat;
     background: url(/themes/console/images/info/errortriangle.png) 16px 40% no-repeat, linear-gradient(to top, rgba(250, 250, 255, 0.5), #f8f8ff 40px), repeating-linear-gradient(135deg, #fafaff 2px, rgba(248, 248, 255, 0.8) 3px, #fafaff 5px) #f8f8ff;
     box-shadow: inset 0 0 1px #f00;
     word-wrap: break-word;
     font-weight: bold;
     min-width: 481px;
}

.sorry {
     color: #41465f;
}

.sorry hr, .sorry hr:last-child {
     color: #558;
     background: #558;
     background: linear-gradient(to right, #558, #77a);
     height: 1px;
     margin: 10px 0 !important;
}

#warning2 {
     min-width: 536px;
     margin-top: -25px;
     margin-bottom: 5px;
     padding: 20px 20px 5px;
     background: #fafaff;
     background: linear-gradient(to bottom, rgba(252, 252, 255, 0.8), rgba(252, 252, 255, 0.5)) #fafaff;
     color: #33333f;
     font-weight: normal;
}

#warning2 h3 {
     margin: -21px -19px 5px;
     padding: 8px 10px;
     border-width: 1px;
     border-left: none;
     border-right: none;
     border-radius: 0;
}

#warning2 p:first-of-type {
     font-weight: bold;
     color: #41465f;
}

#warning2 p + h3 {
     margin-top: -10px !important;
}

#warning2 b {
     display: inline-block;
     min-width: 140px;
     margin-right: 5px;
     text-align: right;
}

/* end console error messages */

/* main content div & variations */

.main, .routersummary, .logo {
     background: #f8f8ff !important;
     background: linear-gradient(to bottom, rgba(248,248,255,0.5), rgba(240,240,255,0.5)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #fafaff !important;
}

.main {
     margin: -12px 0 8px 214px;
     padding: 0 15px 10px 15px;
     text-align: left;
     color: #33333f;
     width: auto;
     min-width: 546px;
     border: 1px solid #447;
     border-radius: 0 0 2px 2px;
     box-shadow: inset 0 0 0 1px #bbf;
     filter: drop-shadow(0 1px 1px #999daf);
}

.main[id^="config_"] {
     padding-bottom: 5px !important;
}

.main#console {
     box-shadow: inset 0 0 0 1px #bbf !important;
}

.news, .main#news, .main#proof, .main#oldconsole, #warning2 {
     background: #f8f8ff url(/themes/snark/ubergine/images/hat.png) no-repeat scroll right bottom;
     background: linear-gradient(to bottom, rgba(248,248,255,0.5), rgba(240,240,255,0.5)), url(/themes/snark/ubergine/images/hat.png) no-repeat right bottom, repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #f8f8ff !important;
     background-size: 100% 100%, auto 160px, 100% 100% !important;
}

.main#news {
     padding: 3px 15px 5px;
}

.news#news {
     margin: -12px 0 5px 214px;
     padding: 5px 15px 12px;
     border: 1px solid #447;
     color: #224;
     border-radius: 0 0 2px 2px;
     text-align: right !important;
     font-size: 8pt;
     line-height: 140%;
     box-shadow: inset 0 0 0 1px #bbf;
     min-width: 546px;
     filter: drop-shadow(0 1px 1px #999daf);
}

.main#proof, .main#oldconsole {
     background-size: 100% 100%, auto 70%, 100% 100% !important;
}

.main#torrents {
     padding: 0;
     min-width: 576px;
}

#i2psnarkframe {
     margin: 0;
}

.main#webmail {
     padding: 0 8px;
}

#susimailframe {
     margin-top: 3px;
}

.main#dns {
     padding: 0;
     min-width: 576px;
}

#susidnsframe {
     margin: 0 0 -2px;
     height: 100%;
     width: 100%;
     overflow: hidden;
}

.main#tunnelmgr {
     padding: 0 10px;
     min-width: 556px;
}

#i2ptunnelframe {
     margin: -4px 0 -1px;
     overflow: hidden;
}

.main#embedded {
     padding: 1px 11px 4px;
}

/* end main content div & variations */

.main li:first-child {
     margin-top: 10px;
}

.main hr, hr {
     color: #113;
     background: #113;
     height: 1px;
     border: 0 solid #113;
     margin: 10px 0;
}

hr:last-child {
     margin-top: 20px !important;
}

.main textarea {
     color: #33333f;
     margin: 5px 0;
     resize: none;
}

td.tabletextarea {
     padding: 0 !important;
     background: #fafaff;
}

textarea[id="advancedsettings"]:focus {
     background: #fff !important;
     color: #19191f;
     border-radius: 0 !important;
}

textarea[id="advancedsettings"], textarea[id="advancedsettings"][disabled]:focus {
     background: #f8f8ff !important;
     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;
     color: #33333f;
}

textarea[name="reseedURL"] {
     margin-bottom: 20px !important;
}

#resetreseed {
     border: 0 !important;
     background: none !important;
     padding: 5px 0;
}

#config_reseed input[type="text"], #config_reseed input[type="password"] {
     min-width: 300px;
}

#reseedconfig tr:nth-child(2) br {
     display: none;
}

#reseedconfig tr:nth-child(2) label {
     white-space: nowrap;
     margin-right: 10px;
}

/* news */

.news hr {
     background: #339;
     opacity: 0.6;
     display: none;
}

.newsentry {
     box-shadow: 0 0 1px #ccc;
}

.news#news .newsentry:first-child {
     margin-top: -2px;
}

.main#news .newsentry:last-child {
     margin-bottom: -5px !important;
}

.newscontent {
     background: #eef !important;
     background: linear-gradient(to bottom, rgba(240,240,255,0.8), rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) !important;
     border: 1px solid #7778bf;
     border-radius: 0 0 2px 2px;
     margin: 0 0 14px;
     padding: 10px 15px;
     box-shadow: inset 0 0 0 1px #fff;
}

div.newscontent p {
     font-size: 9pt;
     text-align: justify !important;
     line-height: 140%;
     margin: 0;
     padding: 0;
     text-shadow: 0 0 1px #fff;
}

.newscontent p:nth-child(n+2) {
     margin-top: 8px;
}

.newscontent hr {
     color: #225;
     background: #225;
     height: 1px;
     border: 0 dotted #225;
     margin: 10px 0 5px;
}

.newsentry + hr + i {
     margin-right: 8px;
}

#newsStatus, #newsDisplay {
     display: inline-block;
     color: #41465f;
}

#newsStatus, .news #newsDisplay {
     padding-top: 6px !important;
     padding-bottom: 3px !important;
}

.news #newsdisplay, #graphopts {
     color: transparent;
}

.news #newsdisplay a, #graphopts a {
     border: 1px solid #8b8edf;
     padding: 2px 10px;
     border-radius: 15px;
     background: #f8f8ff;
     background: rgba(248,248,255,0.5);
     margin-left: -3px;
     box-shadow: 0 0 0 1px #ddf;
     box-shadow: 0 0 0 1px rgba(220,220,255,0.6);
}

.news #newsdisplay a:hover, .news #newsdisplay a:focus,
#graphopts a:hover, #graphopts a:visited:hover, #graphopts a:focus, #graphopts a:visited:focus {
     color: #4f8fff;
     border: 1px solid #7778bf;
     background: #e2e2ff;
     background: linear-gradient(to bottom, #f8f8ff 50%, #e2e2ff 50%);
     box-shadow: 0 0 0 1px rgba(220,220,255,0.6), inset 0 0 0 1px #efefff;
}

.news #newsdisplay a:focus, #graphopts a:focus, #graphopts a:visited:focus {
     border: 1px solid #f60;
}

.news #newsdisplay a:active, #graphopts a:active, #graphopts a:visited:active {
     box-shadow: inset 3px 3px 3px rgba(41,61,95,0.8);
     color: #559 !important;
     border: 1px solid #7778bf;
}

.newsentry + hr + #newsStatus, .newsentry + hr + #newsStatus + #newsDisplay {
     margin-top: -2px;
     margin-bottom: 3px;
}

hr + #newsStatus, hr + #newsStatus + #newsDisplay {
     padding-top: 1px !important;
}

#news #newsStatus {
     float: left;
     text-align: justify;
     margin-bottom: 6px !important;
}

#newsDisplay {
     white-space: nowrap;
     margin-left: 10px;
     color: #337;
}

.newsAuthor {
     padding: 0 0 0 15px !important;
     float: right;
     background: url(/themes/console/images/info/author.png) left 2px center no-repeat;
     background-size: 10px 10px;
     font-size: 8pt !important;
     display: inline-block;
     opacity: 0.9;
     letter-spacing: 0.1em !important;
     text-transform: none;
}

.newsDate {
     opacity: 0.9;
     margin-right: 1px;
}

div.news h3, #news h3 {
     background: url(images/news.png) 8px center no-repeat #fcfcff !important;
     background: url(images/news.png) 8px center no-repeat, linear-gradient(to bottom, #fff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fafaff 5%, rgba(231, 231, 255, 0.8)) 15% !important;
     text-align: left;
     padding: 6px 10px 5px 30px;
     border: 1px solid #7778bf;
     border-radius: 2px 2px 0 0;
     font-size: 10pt !important;
     letter-spacing: 0.08em;
     word-spacing: 0.05em;
     text-transform: uppercase !important;
     margin-bottom: -1px;
     filter: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
div.news h3, #news h3 {
     padding: 7px 10px 5px 30px;
}
}

div.newscontent h4 {
     border-bottom: 0;
     padding: 0;
     margin: 14px 15px 7px 15px;
     font-size: 10pt;
     text-align: left;
}

div.newscontent h5 {
     border-bottom: 0;
     padding: 0;
     margin: 12px 15px 6px 15px;
     font-size: 9.5pt;
     text-align: left;
}

div.newscontent h6 {
     border-bottom: 0;
     padding: 0;
     margin: 12px 15px 6px 15px;
     font-size: 9pt;
     text-align: left;
}

/* end news */

/* top navigation */

h1, .confignav {
     position: relative;
}

.confignav, #help div.confignav {
     padding: 8px;
     margin: -1px -15px 5px -15px;
     border: 1px solid #7778bf;
     border-left: none;
     border-right: none;
     box-shadow: inset 0 0 0 1px #bbf;
     font-size: 9pt;
     text-align: center;
     font-weight: bold;
     color: #33333f;
     background: linear-gradient(to bottom, #fbfbff 50%, rgba(248,248,255,0.6) 50%), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #fafaff !important;
}

.tab, .tab2 {
     box-sizing: border-box;
     display: inline-block;
     border: 1px solid #7778bf;
     margin: 0 -2px -1px -2px !important;
     padding: 1px 0;
     background: #fff;
     min-width: 60px !important;
     filter: drop-shadow(0 0 1px #ccf);
}

.tab a {
     display: inline-block;
     padding: 3px 14px;
}

.tab:hover a {
     color: #f60 !important;
}

.tab {
     background: linear-gradient(to bottom, #fff 50%, #efefff 50%);
     background: linear-gradient(to bottom, #fff 50%, rgba(255, 255, 255, 0.6) 50%, rgba(240, 240, 240, 0.4)) #e7e7ff;
     box-shadow: inset 0 0 0 1px #fff;
}

.tab:hover {
     background: #fff;
     background: #fff linear-gradient(to bottom, #fff 50%, rgba(255, 232, 191, 0.6) 50%, rgba(239, 217, 179, 0.4) 100%);
     box-shadow: inset 0 0 0 1px #f90;
     position: relative;
     z-index: 30;
}

.tab:active {
     box-shadow: inset 3px 2px 2px #7f3000;
     background: #f60;
     transition: ease box-shadow 0.05s;
}

.tab:active a {
     color: #ffecdf !important;
     text-shadow: 0 1px 1px #5f2d0c;
}

.tab2 {
     position: relative;
     z-index: 50;
     padding: 4px 12px;
     color: #fafaff;
     text-shadow: 0 1px 1px #113;
     box-shadow: inset 2px 2px 2px rgba(31, 43, 63, 0.7);
     background: #6288cb;
     background: linear-gradient(to bottom, rgba(31, 43, 63, 0.7), rgba(31, 43, 63,.2) 50%, rgba(31, 43, 63, 0) 50%, rgba(31, 43, 63, 0.4) 50%, rgba(31, 43, 63, 0.5)), linear-gradient( to right, #6288cb, #7fadff, #6288cb);
}

@media screen and (min-width: 1400px) {
#help .confignav, #debug .confignav {
     position: sticky;
     top: -1px;
     z-index: 999;
}
}

/* end topnav */

.th_title a, .th_title a:hover {
     color: #41465f !important;
}

.configure {
     min-width: 400px;
     margin-bottom: 0;
}

.configure h3, .graphspanel h3 {
     border: 1px solid #7778bf;
     border-left: 5px solid #7778bf;
     margin: 15px 0 15px 0;
     border-radius: 0 2px 2px 0;
     text-align: left;
}

.graphspanel h3 {
     text-transform: capitalize;
     letter-spacing: normal;
     word-spacing: normal;
}

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;
}

.h3navlinks a {
     text-transform: capitalize;
     letter-spacing: normal;
     margin-left: 2px;
}

.h3navlinks a:hover {
     color: #f60;
}

h3 a.script, th a.script {
     text-transform: lowercase;
}

h3#iptransport a:not(old), h3#advancedconfig a:not(old) {
     font-size: 0;
     height: 20px;
}

h3#iptransport a::after, h3#advancedconfig a::after {
     content: url(images/help.png);
     display: inline-block;
     padding: 0;
     margin: -2px 0 0 0;
     vertical-align: middle;
     cursor: help;
     filter: hue-rotate(-20deg) saturate(200%) drop-shadow(0 0 1px #999daf);
     mix-blend-mode: luminosity;
}

h3#iptransport a:hover, h3#advancedconfig a:hover {
     filter: drop-shadow(0 0 1px #f60);
}

h3#transports, h3#upnp {
     border: 1px solid #7778bf;
}

pre#transports {
     display: inline-block;
     border: 1px solid #7778bf;
     background: #fafaff;
     padding: 10px 0 0 10px;
     width: calc(100% - 12px);
     margin: -16px 0 0;
}

#upnpscan {
     border: 1px solid #7778bf;
     margin: -16px 0 5px;
     padding: 5px 10px;
     background: #fafaff;
     background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px);
}

/* confignet tidyup */

/*
#netconfig .optbox {
     margin: 10px 6px 2px !important;
     display: inline-block !important;
     vertical-align: sub !important;
}

#netconfig .optbox:first-child {
     margin-top: 6px !important;
     margin-bottom: 6px !important;
}

#netconfig .optbox:last-child, #netconfig .optbox[value="only"], #netconfig .optbox[name="disableUDP"], #netconfig .optbox[value="disabled"] {
     margin-bottom: 6px !important;
}

#netconfig input[type="text"] + br + .optbox, #netconfig .optbox[name="ntcpAutoPort"] {
     margin-top: 3px !important;
}
*/

#netconfig input[name*="ost"] {
     width: 250px !important;
}

b.suboption {
     display: inline-block;
     margin: 5px 0;
}

/* end confignet tidyup */

h3#exploratorytunnels {
     margin-top: 15px;
}

#tunnels h3 a:not(old), #criticallogs + h3.tabletitle a:not(old) {
     font-size: 0;
}

#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 #999daf);
}

#tunnels h3 a[href^="/configtunnels#"]:hover, #criticallogs + h3.tabletitle a:hover {
     filter: drop-shadow(0 0 1px #f60);
}

h3#passwordheading {
     margin-bottom: -2px;
     border: 1px solid #7778bf;
     border-radius: 0;
     filter: none;
}

h3#langheading, h3#themeheading, h3#pluginmanage, h3#pconfig, 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;
}

h3#advancedclientconfig, p#webappconfigtext, p#pluginconfigtext, p#clientconf.infowarn, p#profiles_overview {
     margin-bottom: -2px;
}

h3#pconfig, h3#webappconfig, h3#i2pclientconfig, h3#pluginmanage, p#clientconf.infohelp, #config_stats h3 {
     margin-bottom: -13px;
}

p#enablefullstats {
     border: 1px solid #7778bf;
     padding: 10px;
     margin-bottom: 13px;
}

#configstats th {
     text-transform: uppercase;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
}

#configstats td {
     padding: 4px 3px;
}

#configstats td::before {
     content: "";
     display: inline-block;
     min-height: 20px;
     vertical-align: middle;
}

#configstats td:first-child {
     width: 1%;
     white-space: nowrap;
     padding: 4px 8px;
}

#configstats td:first-child:empty + td > label { /* remove pointer from inert labels */
     cursor: text;
     color: #33333f;
}

#configstats td:last-child {
     border-right: 1px solid #7778bf;
}

#sidebarconf button {
     margin: 2px 0 2px 3px !important;
     padding: 2px 3px;
     min-width: 0;
     background-size: 100% 100% !important;
}

#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: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;
}

/* graphs */

.graphspanel {
     text-align: center !important;
     margin: 15px 0 -15px;
}

#graph_single h3 {
     margin: 15px 0 0 !important;
}

#graph_single .graphspanel {
     margin: 9px -9px -20px;
}

.graphspanel a {
     font-size: 0;
}

.graphspanel img {
     padding: 1px;
     margin: 6px 5px;
     text-align: center !important;
     vertical-align: top !important;
     background: #fff;
     border: 1px solid #7778bf;
     box-shadow: 0 0 1px #ccc;
     max-width: 98%;
}

.graphspanel a img {
     box-shadow: 0 0 1px #ccf;
     filter: none !important;
     white-space: nowrap;
}

.graphspanel a img:hover {
     box-shadow: inset 0 0 1px 1px #f60;
     cursor: url(/themes/console/images/cursor_zoom.png), pointer;
     mix-blend-mode: multiply;
}

.graphspanel a img:active {
     box-shadow: inset 0 0 1px 1px #f90;
     border: 1px solid #f90;
}

.graphspanel form {
     text-align: left;
}

#graphs hr {
     display: none;
}

#graphopts {
     text-align: center;
     text-transform: capitalize;
     padding: 10px 0 9px;
     margin: 30px -14px -9px;
     border-top: 1px solid #77789f;
     box-shadow: inset 0 0 0 1px #fff;
     background: #e8e8ff;
     background: repeating-linear-gradient(135deg, rgba(248,248,255,0.6) 2px, rgba(220, 220, 255, 0.3) 3px, #f8f8ff 5px), #f8f8ff;
     filter: drop-shadow(0 0 1px #ccc);
}

#graphopts a {
     margin: 3px -2px !important;
     display: inline-block;
     padding: 1px 10px !important;
     line-height: 140%;
}

#graphopts a:empty {
     display: none;
}

#graphopts + p {
     text-align: right;
     display: none;
}

.formaction#graphing {
     margin: 8px -11px -11px;
}

h3#graphdisplay {
     border-radius: 0;
     border-width: 1px;
     box-shadow: none;
     filter: none;
}

.main#graphs form {
     border: 1px solid #7778bf;
     padding: 10px;
     margin: -16px 0 5px;
}

/* new graphs optionbox */

#graphs form {
     padding: 0 !important;
}

#graphs form hr {
     margin: 0 -1px 8px !important;
}

#graphs form table {
     border: none;
     margin: 0;
}

.formaction#graphing {
     margin: -1px 0 !important;
     padding: 5px 3px;
     border-left: none;
     border-right: none;
}

#graphs tr:first-child td {
     border-top: none;
}

#graphs td:first-child {
     text-align: right;
     width: 10%;
     white-space: nowrap;
     padding: 13px 3px 13px 15px;
     font-weight: bold;
     color: #41465f;
}

#graphs td:nth-child(2) {
     width: 10%;
     white-space: nowrap;
}

#graphs td.infohelp {
     border: none !important;
     background: url("/themes/console/images/info/infohelp.png") no-repeat scroll 12px center;
     background-size: 20px 20px !important;
     padding: 5px 5px 5px 40px !important;
     text-align: left;
}

#graphs form input, #graphs form select {
     margin: 3px 5px 3px 0;
     vertical-align: middle;
}

#graphs input[type="text"] {
     min-width: 60px;
}

/* end new graphs optionbox */
/* end graphs */

.messages {
     margin: 15px 0;
     padding: 10px 15px;
     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, #fafaff, #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 #ccf);
}

.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(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, auto 100%, 100% 100% !important;
}

.main#graphs .messages {
     margin-bottom: -5px;
}

.main#events .messages {
     margin-bottom: 0;
}

.error {
     color: #900;
}

.notice {
     font-style: italic;
     margin: 0;
     padding: 0;
}

.messages ul {
     padding: 0;
     margin: 0;
}

.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 0 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 0 5px 0;
     font-size: 9pt;
     background: #fafaff;
}

#configinfo th {
     color: #050;
}

#configinfo td {
     text-align: justify;
     padding: 10px;
}

td.optionsave {
     text-align: right;
     padding: 5px !important;
     background: #fafaff;
     border-top: 1px solid #7778bf !important;
}

td.optionsave, .formaction, form[action="configpeer"] tr:last-child td, table#addkeyring tr:last-child td {
     background: linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) !important;
}

#pluginupdater {
     padding: 15px 5px 15px 50px;
     background: url(/themes/console/images/info/update.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) !important;
     background-size: 28px 28px, 100% 100% !important;
}

.configtable {
     box-shadow: none !important;
}

.configtable td {
     padding: 5px;
}

.configtable tr:last-child td {
     border-top: 1px solid #7778bf !important;
}

td.infohelp, #help tr:hover td.infohelp, #eventlog tr:hover .infohelp {
     background: #fff url(/themes/console/images/info/infohelp.png) 12px center no-repeat;
     background: url(/themes/console/images/info/infohelp.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     border-bottom: 1px solid #7778bf !important;
     border-top: 1px solid #7778bf !important;
     text-align: justify;
}

td.infowarn, #help tr:hover td.infowarn {
     background: #fff url(/themes/console/images/info/infowarn.png) 12px center no-repeat;
     background: url(/themes/console/images/info/infowarn.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px !important;
     border-bottom: 1px solid #7778bf !important;
     border-top: 1px solid #7778bf !important;
     text-align: justify;
}

/* logs */

#criticallogs tr:first-child {
     display: none; /* hide empty placeholder for log location */
}

.main#logs ul li {
     padding-left: 0;
     margin-left: 18px;
}

.main#logs li:first-child {
     margin-top: 0 !important;
}

.main#logs li:last-child {
     margin-bottom: 0 !important;
}

table#wrapperlogs, table#routerlogs {
     width: 100%;
     table-layout: fixed;
     margin-bottom: 10px;
}

table#wrapperlogs {
     margin-bottom: 5px;
}

#logs table[id$="logs"] tr:first-child td, .subheading {
     background: linear-gradient(45deg, #fcfcff, #eef) !important;
     box-shadow: inset 0 0 0 1px #fff;
}

#routerlogs ul {
     word-wrap: break-word;
}

#wrapperlogs pre {
     margin: 0;
     padding: 3px 0 0 5px;
     white-space: pre-wrap !important;
     word-wrap: break-word !important;
     width: calc(100% - 5px);
     max-height: 600px;
     overflow: auto;
}

#logs ul {
     margin: -3px -26px -3px 0;
     display: inline-block;
     word-break: break-all;
}

#logs li {
     list-style: none;
     font-size: 8.5pt;
     line-height: 130%;
     text-align: left;
     display: inline-block;
     width: calc(100% - 48px);
     padding-top: 1px !important;
}

#logs li::after {
     content: "";
     display: block;
     border-top: 1px dotted #ddf;
     width: 100%;
     margin: 2px 0 -3px;
}

#logs li:last-child::after {
     border: none;
     margin: 0;
}

#logs font[color^="#"]::before {
     content: "";
     display: inline-block;
     width: 6px;
     height: 6px;
     background: #fff;
     border-radius: 50%;
     margin-right: 5px;
     margin-left: -17px;
     vertical-align: calc(1px);
}

#logs li font[color="#cc0000"]::before {
     background: #c00;
}

#logs li font[color="#006600"]::before {
     background: #060;
}

#logs li font[color="#ff3300"]::before {
     background: #f30;
}

#logs li font[color="#bf00df"]::before {
     background: #bf00df;
}

#logs li font[color="#000099"]::before {
     background: #009;
}

#bugreports {
     margin-top: 15px;
     padding: 10px;
     font-size: 9pt !important;
}

#enviro, table[id$="logs"] {
     font-size: 9pt !important;
     padding: 10px;
}

#enviro {
     -moz-user-select: all;
     -webkit-user-select: all;
     user-select: all;
     cursor: text;
}

#enviro td {
     padding-top: 5px;
     padding-bottom: 5px;
}

#enviro:hover td {
     background: rgba(255,255,239,0.4);
     border-top: 1px inset transparent;
     border-bottom: 1px inset transparent;
     color: #19191f;
}

#enviro td:first-child {
     width: 1%;
     text-align: right;
     padding-right: 0;
     white-space: nowrap;
     padding-left: 10px;
}

#enviro:hover td:first-child b {
     color: #26262f !important;
}

table[id$="logs"] td {
     padding: 5px;
}

table[id$="logs"] td:empty {
     display: none;
}

table[id$="logs"] tr:first-child {
     border-bottom: 1px solid #7778bf;
}

table[id$="logs"] ul li:last-child {
     margin-bottom: 10px !important;
}

#wrapperlogs tr:last-child td {
     padding: 0;
}

/* end logs */

table hr {
     padding: 0 0;
     color: #99f;
     background: #99f;
     border: 0 solid #99f;
     margin: 0 0;
     height: 1px;
     display: none;
}

th {
     padding: 6px 5px;
     color: #41465f;
     text-align: left;
     font-size: 9pt;
     line-height: 110%;
     border-bottom: 1px solid #7778bf !important;
     border-top: 1px solid #7778bf !important;
     vertical-align: middle;
     background: #f6f6ff !important;
     background: linear-gradient(to bottom, #fafaff 50%, rgba(252, 252, 255, 0.8) 50%, #e2e2ff 100%) #fafaff !important;
}

th img[src="/themes/console/images/outbound.png"] {
     vertical-align: middle;
}

th img[src="/themes/console/images/outbound.png"] {
     vertical-align: text-top;
}

.main[id^="config_"] th {
     font-size: 10pt;
}

.main[id^="config_"] th:first-child {
     padding-left: 10px;
}

tr {
     vertical-align: middle !important;
}

tr:nth-child(even), pre#transports {
     background: #efefff;
     background: repeating-linear-gradient(135deg, rgba(252,252,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fafaff 5px) #fafaff;
}

tr:nth-child(odd) {
     background: #f7f8ff;
     background: repeating-linear-gradient(45deg, rgba(255,255,255,0.5) 2px, rgba(200, 200, 255, 0.3) 3px, #fafaff 5px), #fafaff;
}

td {
     padding: 3px 5px;
     color: #33333f;
     vertical-align: middle;
     border-top: 1px inset #ddf;
     border-bottom: 1px inset #ddf;
}

#floodfillconfig tr:nth-child(2) td {
     padding: 8px 10px 8px 18px;
}

#floodfillconfig tr:nth-child(2) b {
     margin-right: 10px;
}

#tunnelconfig tr:last-child, #webappconfig tr:last-child {
     background: #efefff;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px);
}

#clientconfig td:first-child label {
     display: inline-block;
     vertical-align: middle;
}

#clientconfig td:first-child::after {
     content: "";
     display: inline-block !important;
     min-height: 36px !important;
     vertical-align: middle;
}

#clientconfig tr:last-child {
     background: #f7f8ff;
}

#netconfig tr {
     background: #fafaff;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px);
}

.main[id^="config_"] select, .main[id^="config_"] textarea, .main[id^="config_"] .optbox {
     margin-left: 3px !important;
}

#bandwidthconfig td:first-child {
     width: 200px;
     white-space: nowrap;
     padding-right: 10px;
}

#bandwidthconfig td:last-child {
     white-space: normal;
}

/* begin home page */

#homepanel {
     margin-bottom: 0;
}

h4.app, h4.app2 {
     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 50%, #eef 50%);
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
     display: inline-block;
     width: calc(100% - 44px);
     border-radius: 2px;
     color: #41465f;
}

h4.app {
     background: url(/themes/console/images/eepsite.png) 10px center no-repeat, linear-gradient(to bottom, #fff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) #f8f8ff !important;
     background-size: 16px 16px, 100% 100%, 100% 100% !important;
     margin-top: 15px;
}

h4.app2 {
     clear: left;
     margin-top: 10px !important;
     background: url(images/globe.png) 10px center no-repeat, linear-gradient(to bottom, #fff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) #f8f8ff !important;
     background-size: 16px 16px, 100% 100%, 100% 100% !important;
}

div.ag2 {
     margin: 0;
}

div.search + div.ag2 {
     margin: -15px 0 0;
}

div.app {
     float: left;
     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, 0 0 1px #ccc;
}

div.app:hover {
     border: 1px solid #f60;
     background: #fff;
     box-shadow: none;
     cursor: pointer;
}

div.app:hover a:link, div.app:hover a:visited {
    color: #f60;
}

div.app:hover img.app, .app:hover img {
     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;
     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffe8bf 50%, #efd9b3 100%) !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.app:active .applabel {
     box-shadow: inset 0 0 0 1px #fff9ef, inset 2px 2px 3px #7f3000;
}

.appimg {
     min-height: 52px;
}

div.appgroup {
     margin: 5px 0;
     padding: 0;
     width: auto;
}

/* optional homepage search */ 

div.search {
     margin: 10px 10px 0 0;
     padding: 8px 8px 0 8px;
     width: auto;
}

table.search {
     border-collapse: separate;
     border-spacing: 0;
     border-radius: 0 0 2px 2px;
     border: 1px solid #595a8f;
     border-top: 1px solid #447;
     background: #fafaff !important;
     background: linear-gradient(to bottom, #fafaff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) !important;
     padding: 4px 6px;
     width: 70%;
     margin-left: auto;
     margin-right: auto;
     margin-top: -19px;
     box-shadow: 0 1px 1px 1px rgba(210, 210, 255, 0.3), inset 0 0 1px 1px #bbf;
}

.search tr {
     background: none !important;
}

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;
     padding-left: 6px;
     width: 60px;
}

table.search td:nth-child(3) {
     padding-left: 0;
     padding-right: 8px;
}

table.search input[type="text"] {
     min-width: 40px !important;
     width: 100%;
     padding-left: 24px;
}

table.search select {
     min-width: 80px;
     width: 100%;
     text-overflow: ellipsis;
}

/* end optional homepage search */

.app img {
     width: auto;
     height: 32px;
     max-height: 32px;
     max-width: 32px;
     padding: 6px;
     padding: 10px 60px;
     filter: drop-shadow(0 0 1px #ccf);
     opacity: 0.9;
}

.app table {
     background: none;
     border: 0;
     margin: auto;
     width: auto;
}

.app tr {
     background: none;
     border: 0;
     margin: 0;
}

.app td {
     background: none;
     border: 0;
     padding: 0;
}

.applabel {
     background: #fcfcff !important;
     background: linear-gradient(to bottom, #fff 50%, #eef 50%) !important;
     font-size: 8pt;
     margin: 0;
     padding: 4px 6px;
     border-top: 1px solid #7778bf;
     box-shadow: inset 0 0 0 1px #fff;
     text-align: center;
     width: 146px;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
}

.applabel a {
     display: inline-block;
     width: 100%;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
}

/* end home page */

tt, code {
     font-size: 8.5pt;
     font-weight: bold;
     color: #050;
}

tt::-moz-selection {
     color: #fff;
     background: #030 !important;
}

.main li {
     text-align: left;
     list-style: square;
     margin: 2px 20px 0 40px;
     padding: 1px 10px 1px 10px;
     line-height: 150%;
     word-wrap: break-word;
}

.statlist b a:hover {
     color: #41465f !important;
}

.tidylist {
     text-align: justify !important;
}

.tidylist li:first-child {
     margin-top: -10px !important;
}

.tidylist:last-child {
     padding-bottom: 5px;
}

.tidylist code {
     color: #910;
     font-size: 9pt;
     font-weight: bold;
     text-align: left;
}

ol {
     margin: 0 0 10px;
     padding: 0;
}

ul {
     display: inline;
     margin: 0;
     padding: 0;
}

code {
     text-align: left;
     font-size: 8.5pt;
     color: #030;
}

th code {
     font-weight: bold;
     margin-left: 3px;
}

a, h1, h2, h3, h4, th, input[type="submit"], input[type="reset"], button, select {
     text-shadow: 0 1px 1px #fff;
}

a:hover, a:focus, a:active, .app:hover a, .app:focus a, .app:active a,
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active,
input[type="reset"]:hover, input[type="reset"]:focus, input[type="reset"]:active,
button:hover, button:focus, button:active, select:hover, select:focus, select:active, .graphspanel a {
     text-shadow: none;
}

a:link, #graphopts a:visited, .news #newsdisplay a, .news #newsdisplay a:visited {
     color: #3b6bbf;
     text-decoration: none;
     font-weight: bold;
     word-wrap: break-word;
     outline: none;
}

a:visited, .tab a {
     color: #2c4e8f;
     text-decoration: none;
     font-weight: bold;
}

a:hover, a:focus {
     color: #f60;
     text-decoration: none;
     font-weight: bold;
     text-shadow: none;
}

a:active {
     color: #f30 !important;
     font-weight: bold;
}

.links li {
     list-style: url(images/link.png) !important;
     text-align: justify !important;
     line-height: 140% !important;
     margin-right: 10px !important;
}

.links li:first-child {
     padding-top: 0 !important;
}

.links ul {
     margin-top: -5px !important;
}

.links code, #console code {
     color: #910;
     font-size: 8.5pt !important;
     font-weight: bold;
}

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) 12px center no-repeat;
     background: url(/themes/console/images/info/infohelp.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     line-height: 130%;
}

p#upnpstatus, p#keyringhelp, .widescroll + p.infohelp, #profiles ul#banlist, #config_reseed .confignav + p.infohelp 
p#sybilinfo, p#debugmode, #config_family p.infohelp, p#profiles_overview, p#gatherstats {
     border-radius: 2px;
     filter: drop-shadow(0 0 1px #ccf);
}

p#profiles_overview {
     margin-bottom: 13px;
}

#profiles_overview + .widescroll {
     margin-bottom: -5px;
}

#profiles .tunnel_peer {
     margin-left: -6px;
}

#profiles .tunnel_peer img {
     margin-left: -6px;
}

#profiles .wideload {
     text-align: center;
}

.infohelp + hr {
     display: none;
}

#bugreports {
    padding: 0 0 0 10px;
    border-collapse: separate;
    border-radius: 2px;
    filter: drop-shadow(0 0 1px #ccf);
    background: linear-gradient(135deg, #fafaff, #f8f8ff);
}

#bugreports tr {
     background: transparent
}

#bugreports td.infohelp {
     background: #fff url(/themes/console/images/info/bugreport.png) no-repeat left center !important;
     background: url(/themes/console/images/info/bugreport.png) no-repeat left center !important;
     padding: 10px 15px 10px 40px;
     background-size: 28px 28px;
     border: none !important;
     text-align: justify;
}

p#debugmode {
     padding: 15px 15px 15px 50px;
     background: #fff url(/themes/console/images/info/debug.png) 12px center no-repeat;
     background: url(/themes/console/images/info/debug.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     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: url(/themes/console/images/info/experimental.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     background-size: 28px 28px;
     border-radius: 2px;
     filter: drop-shadow(0px 0 1px #ccf);
}

p.infowarn {
     border: 1px solid #7778bf;
     padding: 15px 15px 15px 50px;
     background: #fff url(/themes/console/images/info/infowarn.png) 10px center no-repeat;
     background: url(/themes/console/images/info/infowarn.png) 10px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     line-height: 130%;
}

#bandwidthconfig tr:first-child .infohelp {
     background: #fff url(/themes/console/images/info/bandwidth.png) 12px center no-repeat;
     background: url(/themes/console/images/info/bandwidth.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     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;
     background: url(/themes/console/images/info/keys.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     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;
     background: url(/themes/console/images/info/key.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%, 100% 100% !important;
}

#joinfamily tr:nth-child(2) td {
     background: #fafaff;
     background: linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 10px 15px;
}

#newfamily tr:last-child td:first-child {
     background: #fff url(/themes/console/images/info/label.png) 12px center no-repeat;
     background: url(/themes/console/images/info/label.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%, 100% 100% !important;
}

#exportfamily tr:nth-child(2) td:first-child {
     background: url(/themes/console/images/info/export_key.png) 12px center no-repeat, #fff !important;
     background: url(/themes/console/images/info/export_key.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff) !important;
     padding: 20px 15px 20px 50px;
     background-size: 28px 28px, 100% 100%;
}

#leavefamily {
     margin: 14px 0 10px;
}

#leavefamily tr:last-child td:first-child {
     background: #fff url(/themes/console/images/info/leave_family.png) 12px center no-repeat;
     background: url(/themes/console/images/info/leave_family.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     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;
     background: url(/themes/console/images/info/home.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     padding: 10px 15px 10px 50px;
     background-size: 28px 28px, 100% 100%, 100% 100%;
}

#oldhome input[type="checkbox"], #enablefullstats input[type="checkbox"] {
     vertical-align: sub;
}

#floodfillconfig tr:first-child .infohelp {
     background: #fff url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat;
     background: url(/themes/console/images/info/floodfill_32x32.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#floodfillconfig label {
     margin-right: 5px;
}

p#clientconf.infohelp, p#webappconfigtext.infohelp {
     background: #fff url(/themes/console/images/info/java_edit.png) 12px center no-repeat;
     background: url(/themes/console/images/info/java_edit.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

p#pluginconfigtext {
     background: #fff url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat;
     background: url(/themes/console/images/info/plugin_edit.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#plugininstall .infohelp {
     background: #fff url(/themes/console/images/info/plugin_link.png) 12px center no-repeat;
     background: url(/themes/console/images/info/plugin_link.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     background: url(/themes/console/images/info/plugin_link.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220, 220, 255, 0.3)) repeat scroll 0 0%, rgba(0, 0, 0, 0) repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #ffffff 5px) repeat scroll 0 0;
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#plugininstall tr:nth-child(3) td:nth-last-child(2), #manualreseed tr:nth-child(3) td:nth-last-child(2) {
     background: #fafaff url(/themes/console/images/info/url.png) 12px center no-repeat;
     background: url(/themes/console/images/info/url.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     padding: 10px 15px 10px 50px;
     background-size: 28px 28px, 100% 100%, 100% 100% !important;
}

#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: #fafaff;
}

.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: #fafaff url(/themes/console/images/info/from_file.png) 12px center no-repeat;
     background: url(/themes/console/images/info/from_file.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     padding: 10px 15px 10px 50px;
     background-size: 28px 28px, 100% 100%, 100% 100% !important;
}

#manualreseed tr:nth-last-child(2) td.infohelp {
     background: #fafaff url(/themes/console/images/info/box.png) 12px center no-repeat;
     background: url(/themes/console/images/info/box.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#config_peers tr:nth-child(3) td.infohelp {
     background: #fafaff url(/themes/console/images/info/blocked.png) 12px center no-repeat;
     background: url(/themes/console/images/info/blocked.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

h3#shutdownrouter + p.infohelp {
     background: #fafaff url(/themes/console/images/info/power.png) 12px center no-repeat;
     background: url(/themes/console/images/info/power.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

h3#restartrouter + p.infohelp, #config_family .infohelp.needrestart {
     background: url(/themes/console/images/info/reboot.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

h3#shutdownrouter, h3#systray, h3#servicedebug {
     margin-bottom: -13px;
}

h3#systray + p.infohelp {
     background: #fafaff url(/themes/console/images/info/systray.png) 12px center no-repeat;
     background: url(/themes/console/images/info/systray.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

h3#servicedebug + p.infohelp {
     background: #fafaff url(/themes/console/images/info/debug.png) 12px center no-repeat;
     background: url(/themes/console/images/info/debug.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 10px 15px 10px 50px;
     background-size: 28px 28px, 100% 100%;
}

h3#browseronstart + p.infohelp {
     background: #fafaff url(/themes/console/images/info/launch_browser.png) 12px center no-repeat;
     background: url(/themes/console/images/info/launch_browser.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

.main#config_reseed p.infohelp {
     background: #fafaff url(/themes/console/images/info/connect.png) 12px center no-repeat;
     background: url(/themes/console/images/info/connect.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 10px 15px 10px 50px;
     background-size: 28px 28px, 100% 100%;
     border-radius: 2px;
     box-shadow: 0 0 1px #ccf;
}

p#enablefullstats, p#gatherstats {
     background: #fafaff url(/themes/console/images/info/statistics.png) 12px center no-repeat;
     background: url(/themes/console/images/info/statistics.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#config_family .infohelp {
      background: #fafaff url(/themes/console/images/info/family.png) 12px center no-repeat !important;
      background: url(/themes/console/images/info/family.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff) !important;
      padding: 15px 15px 15px 50px !important;
      background-size: 28px 28px, 100% 100% !important;
}

/* stats page */

.main#stats {
     padding-bottom: 15px;
}

.main#stats h3 {
     border-width: 1px;
     border-radius: 0;
     filter: none;
     margin-bottom: 4px;
     margin-top: -1px;
}

p#gatherstats + form, ul.statlist {
     border: 1px solid #7778bf;
     padding: 10px;
     background: #fafaff;
     background: linear-gradient(135deg, #fafaff, #f8f8ff);
}

ul.statlist {
     border: 1px solid #7778bf;
     padding: 0 10px 10px;
     display: inline-block;
     width: calc(100% - 22px);
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(241, 241, 255, 0.3) 3px, #fff 5px);
     box-shadow: inset 0 0 0 1px #fff;
}

.joblog .statlist li {
     line-height: 140% !important;
     padding-top: 6px;
     padding-bottom: 0;
     margin-right: 5px;
}

.statlist li:not(old) {
     list-style: none !important;
}

.statlist li::before, .statlist li a[href^="graph"]::before {
     content: "";
     display: inline-block;
     height: 4px !important;
     width: 4px !important;
     margin-left: -17px;
     margin-right: 10px;
     margin-top: -4px;
     transform: rotate(45deg);
     vertical-align: middle;
     opacity: 0.8;
}

.statlist li::before {
     background: #779;
     border: 1px solid #335;
}

.statlist li a[href^="graph"]::before {
     background: #3b6bbf;
     border: 1px solid #3b6bbf;
}

.statlist li a[href$="&showEvents=true"]::before {
     display: none;
}

.statlist li a[href^="graph"] {
     margin-top: 4px;
     margin-bottom: 2px;
     display: inline-block;
     vertical-align: middle;
}

.statlist li.statsName::before {
     background: #446;
     box-shadow: inset 0 0 0 1px #fff !important;
     height: 6px !important;
     width: 6px !important;
     opacity: 1;
}

.statlist li li:last-child::before {
     background: #335;
}

.statsName i {
     color: #004f28;
     font-weight: bold;
}

.statsName li i {
     color: inherit;
     font-weight: normal;
}

.statsViewGraphs {
     display: inline-block;
     margin: 0 0 -5px 18px;
}

.statsLongName {
     display: inline-block;
}

.statsLongName::first-letter {
     text-transform: uppercase;
}

.nowrap {
     display: inline-block;
     white-space: nowrap;
}

.statlist > li::after {
     content: "";
     display: block;
     width: 100%;
     height: 1px;
     border-top: 1px dotted #ddf;
}

li.noevents::after {
     content: "";
     margin-top: 12px !important;
     display: block;
}

.statlist > li:last-child::after {
     display: none;
}

li.noevents {
     margin: 0 0 5px 40px !important;
     font-style: italic;
}

/* end stats page */

h1 {
     text-align: left;
     color: #41465f;
     padding: 17px 15px 14px;
     margin: 0 0 10px 214px;
     font-size: 18pt;
     line-height: 90%;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     text-shadow: 0 1px 1px #fff;
     box-shadow: inset 0 0 0 1px #bbf;
     white-space: normal;
     background: #fcfcff;
     background: linear-gradient(135deg, #fcfcff, rgba(252,252,255,0) 600px), linear-gradient(to bottom, #fcfcff 50%, rgba(248,248,255,0.6) 50%), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #fafaff !important;
     border: 1px solid #447;
     border-radius: 2px 2px 0 0;
     min-width: 546px;
     z-index: 999;
}

span.newtab {
     text-align: right;
     font-size: 8pt;
     float: right;
     letter-spacing: 0;
}

.newtab img {
     margin-top: -3px;
     opacity: 0.8;
}

.newtab img:hover {
     filter: drop-shadow(0 0 1px #f60);
}

h2 {
     font-size: 13pt;
     color: #41465f;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
     padding: 10px;
     border: 1px solid #7778bf;
     border-radius: 2px;
     margin: 15px 0 15px 0 !important;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
     word-wrap: break-word;
     text-transform: uppercase !important;
}

.welcome h2 { /* fixes occluded langbox rendering bug */
     filter: none;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
     white-space: nowrap;
}

.main#home .welcome + #homepanel > .ag2 > h4 { /* fix placement of initial /home "welcome to i2p" h2 */
     margin-top: -1px;
}

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 #7778bf;
     border-left: 5px solid #7778bf;
     padding: 7px 5px 6px 7px;
     margin: 12px 0 15px 0;
     border-radius: 0 2px 2px 0;
     font-size: 11pt;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
     color: #41465f;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}

h3.tabletitle, h3.ptitle, #config_advanced h3.tabletitle, h3#bannedpeers {
     border-radius: 0;
     border: 1px solid #7778bf;
     margin-bottom: -2px;
     box-shadow: inset 0 0 0 1px #fff;
     text-align: left;
}

h3.ptitle {
     margin-bottom: -13px;
}

h3#bannedpeers {
     margin-bottom: -1px;
}

h2, h3 {
     background: #fcfcff !important;
     background: linear-gradient(to bottom, #fff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fafaff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
}

/* /configpeers */

#banlist li {
     min-height: 34px;
}

#bannedips {
     margin-bottom: 10px;
}

#bannedips td {
     vertical-align: top;
     padding: 0;
     width: 50%;
}

#permabanned tr:nth-child(2) td, #ipv4 td, #ipv6 td {
     border-bottom: 1px solid #7778bf;
     background: #fff !important;
     background: linear-gradient(to bottom, #fff 50%, rgba(238, 238, 255, 0.2) 50%, #eef 100%) #fff !important;
}

#ipv6 td {
     border-top: 1px solid #7778bf;
}

#bannedips table {
     border: none;
     border-bottom: 1px solid #7778bf;
     margin: -1px 0 !important;
}

#bannedips table th {
     text-align: center;
}

#bannedips table td {
     text-align: center;
     padding: 4px 2px;
}

#banneduntilrestart, #permabanned {
    width: 100%;
}

#permabanned td:first-child {
     border-left: 1px solid #7778bf;
     text-align: right;
     padding-right: 10px;
     width: 49%;
}

#permabanned td:nth-child(2) {
     width: 2%;
}

#permabanned td:last-child {
     text-align: left;
     padding-left: 10px;
     width: 49%;
}

#banneduntilrestart td {
     border-right: 1px solid #7778bf;
     text-align: right !important;
}

#banneduntilrestart td:last-child {
     text-align: center !important;
}

#bannedips tr:nth-child(even) {
     background: #eef;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px);
}

#bannedips tr:nth-child(odd) {
     background: #f7f8ff;
     background: repeating-linear-gradient(45deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px);
}

/* end /configpeers */

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: #41465f;
     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;
}

#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;
}

#certs textarea {
     margin: -1px 0 10px 0;
     width: 100%;
}

#certs h4 + textarea {
     margin: -11px 0 5px !important;
     border: 1px solid #7778bf;
     box-shadow: none;
}

.underline {
     border-bottom: 1px solid #000022;
     padding: 5px 0 5px 0;
     margin: 0 0 10px 0;
}

/* welcome section */

div[lang="es"] li, div[lang="pt"] li, div[lang="sv"] li, div[lang="zh"] li {
     margin-left: 15px;
     margin-right: 15px;
     list-style: none;
     text-align: justify;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
div[lang="es"] li, div[lang="pt"] li, div[lang="sv"] li, div[lang="zh"] li {
     margin-left: 25px;
}
}

div[lang="es"] .twocol, div[lang="pt"] .twocol, div[lang="sv"] .twocol, div[lang="zh"] .twocol {
     margin-left: 25px;
}

div[lang="sv"] li::first-letter {
     text-transform: uppercase !important;
}

div[lang="de"] .links li {
     padding-left: 0;
}

.langbox {
     margin: 3px 1px 0 5px;
     padding: 2px 3px;
     font-size: 7pt;
     width: 380px;
     text-align: right;
     float: right;
     vertical-align: middle;
     opacity: 1 !important;
}

.langbox img {
     padding: 0 !important;
     opacity: 0.9;
     margin: -1px 0 0;
     border: 1px solid #99f;
     filter: none;
     border-radius: 1px;
}

.langbox img:hover, .langbox a:focus img {
     border: 1px solid #f60;
     filter: none !important;
     box-shadow: 0 0 1px 0 #f60;
     opacity: 1;
     transform: scale(1.2);
     transition: ease box-shadow 0.3s, ease border 0.3s;
}

.langbox a:active img {
     transform: scale(1.0);
}

.twocol {
     -moz-columns: 2 400px;
     -webkit-columns: 2 400px;
     columns: 2 400px;
     -moz-column-gap: 0 !important;
     -webkit-column-gap: 0 !important;
     column-gap: 0 !important;
     display: block;
     margin: 10px 0;
}

.twocol li {
     break-inside: avoid;
     page-break-inside: avoid;
     -webkit-column-break-inside: avoid;
}

.twocol li:first-child {
     margin-top: 0 !important;
}

.main#console p {
   margin-left: 10px;
   margin-right: 10px;
}

/* end welcome section */

input[type="submit"], input[type="reset"], button, .optbox, select {
     cursor: pointer;
}

button.search {
     background: url(/themes/console/images/buttons/search.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 24px;
}

button.search:hover, button.search:focus, button.search:active {
     background: url(/themes/console/images/buttons/search_hover.png) no-repeat 6px center, linear-gradient(to bottom, #eee, #fff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

input.search[type="text"] {
     background: #f8f8ff url(/themes/console/images/buttons/search.png) no-repeat 4px center !important;
     padding: 4px 3px 4px 22px;
     background-size: 16px 16px !important;
     background-blend-mode: luminosity;
}

input.search[type="text"]:focus {
     background: #fff url(/themes/console/images/buttons/search.png) no-repeat 4px center !important;
     background-blend-mode: normal;
}

input, input:visited, button, button:visited {
     border: 1px solid #999daf;
     box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 1px #fff;
     background: #eee;
     background: linear-gradient(to bottom, #fff, #efefff);
     color: #41465f;
     margin: 3px;
     font-size: 9pt;
     padding: 4px 5px;
     text-decoration: none;
     border-radius: 2px;
     opacity: 1;
     background-size: 14px auto, 100% 100% !important;
     filter: drop-shadow(0 0 1px #ccf);
}

input[type="text"], textarea, input[type="password"] {
     filter: drop-shadow(0 0 1px #ccf);
}

input[type="submit"], input[type="reset"], button, select {
     filter: drop-shadow(0 0 1px #ccf);
}

button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner {
     outline: none;
     border: none;
}

button:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
     color: #19191f;
     border: 1px solid #f60;
     background: linear-gradient(to bottom, #eee, #fff);
     filter: saturate(100%) drop-shadow(0 0 1px rgba(204, 204, 204, 0.8));
     transition: ease border 0.7s;
}

button:active, input[type="submit"]:active, input[type="reset"]:active {
     color: #4c526f;
     box-shadow: inset 0 0 0 1px #fff, inset 2px 2px 2px #555;
     background-blend-mode: luminosity;
     transition: ease box-shadow 0.05s;
}

input.accept, button.accept {
     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.add, button.add {
     background: url(/themes/console/images/buttons/add.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.cancel, button.cancel {
     background: url(/themes/console/images/buttons/no.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.check, button.check {
     background: url(/themes/console/images/buttons/yes.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.delete, button.delete {
     background: url(/themes/console/images/buttons/delete.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.download, button.download {
     background: url(/themes/console/images/buttons/download.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.go, button.go, input[value="GO"] {
     background: url(/themes/console/images/buttons/go.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.reload, button.reload {
     background: url(/themes/console/images/buttons/restore.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

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, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

input.stop, button.stop {
     background: url(/themes/console/images/buttons/shutdown.png) no-repeat 6px center, linear-gradient(to bottom, #fff, #efefff);
     padding: 5px 7px 5px 22px;
}

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, #eee, #fff);
}

/* client config buttons aka project "X" */

button.control {
     font-size: 0 !important;
     padding: 12px !important;
     text-indent: -99999px !important;
     background-size: 16px 16px, 100% 100% !important;
}

button.accept.control {
     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.accept.control:hover, button.accept.control:focus {
     background: url(/themes/console/images/buttons/Xstart.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

button.stop.control {
     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.stop.control:hover, button.stop.control:focus {
     background: url(/themes/console/images/buttons/Xstop.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

button.add.control {
     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.add.control:hover, button.add.control:focus {
     background: url(/themes/console/images/buttons/edit2.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

button.delete.control {
     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.delete.control:hover, button.delete.control:focus {
     background: url(/themes/console/images/buttons/delete_hover.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

button.check.control {
     background: url(/themes/console/images/buttons/update.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.check.control:hover, button.check.control:focus {
     background: url(/themes/console/images/buttons/update_hover.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

button.download.control {
     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

button.download.control:hover, button.download.control:focus {
     background: url(/themes/console/images/buttons/download.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
}

/* 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;
     min-width: 93px;
     margin: 0 2px -3px;
}

.routersummary .reload {
     background: url(/themes/console/images/buttons/restart.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff) !important;
}

.routersummary .reload:hover, .routersummary .reload:focus {
     background: url(/themes/console/images/buttons/restart_hover.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
     background: url(/themes/console/images/buttons/shutdown_hover.png) 37% center no-repeat, url(/themes/console/images/buttons/restart_hover.png) 63% center no-repeat,  linear-gradient(to bottom, #eee, #fff) !important;
     border: 1px solid #f60;
}

.routersummary .reload:active, .routersummary .stop:active, .routersummary .download:active {
     box-shadow: inset 0 0 0 1px #fff, inset 2px 2px 2px #555;
}

.routersummary .reload[value="Reseed"] {
     text-indent: 0;
     text-align: left;
     min-width: 0;
     background: url(/themes/console/images/buttons/download.png) center left 6px no-repeat, linear-gradient(to bottom, #fff, #efefff) !important;
}

.routersummary .reload[value="Reseed"]:hover, .routersummary .reload[value="Reseed"]:focus {
     background: url(/themes/console/images/buttons/download.png) center left 6px no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
     padding: 5px 7px 5px 22px !important;
}

.routersummary .stop {
     background: url(/themes/console/images/buttons/shutdown.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

.routersummary .stop:hover, .routersummary .stop:focus {
     background: url(/themes/console/images/buttons/shutdown_hover.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
     border: 1px solid #f60;
}

.routersummary .download {
     background: url(/themes/console/images/buttons/download.png) 6px center no-repeat, linear-gradient(to bottom, #fff, #efefff);
     background-size: 14px 14px, 100% 100% !important;
     padding: 5px 7px 5px 22px !important;
}

.routersummary .cancel {
     margin-top: 10px;
}

/* Show text on context specific buttons (eg deferred shutdown) */

.routersummary .reload[value="restartImmediate"], .routersummary .stop[value="shutdownImmediate"],
.routersummary .reload[value="Reseed"], .routersummary .reload[value="Reseed"]:hover, .routersummary .reload[value="Reseed"]:focus {
     background-size: 14px 14px, 100% 100% !important;
     text-indent: 0;
     text-align: left;
     min-width: 0 !important;
     padding: 5px 7px 5px 22px !important;
     text-transform: capitalize;
}

.routersummary .cancel {
     text-transform: capitalize;
}

.routersummary .reload[value="restartImmediate"] {
     background: url(/themes/console/images/buttons/restart.png) center left 6px no-repeat, linear-gradient(to bottom, #fff, #efefff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .reload[value="restartImmediate"]:hover, .routersummary .reload[value="restartImmediate"]:focus, .routersummary .reload[value="restartImmediate"]:active {
     background: url(/themes/console/images/buttons/restart_hover.png) center left 6px no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .stop[value="shutdownImmediate"] {
     background: url(/themes/console/images/buttons/shutdown.png) center left 6px no-repeat, linear-gradient(to bottom, #fff, #efefff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .stop[value="shutdownImmediate"]:hover, .routersummary .stop[value="shutdownImmediate"]:focus, .routersummary .stop[value="shutdownImmediate"]:active {
     background: url(/themes/console/images/buttons/shutdown_hover.png) center left 6px no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .reload[value="Reseed"] {
     background: url(/themes/console/images/buttons/download.png) center left 6px no-repeat, linear-gradient(to bottom, #fff, #efefff) !important;
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .reload[value="Reseed"]:hover, .routersummary .reload[value="Reseed"]:focus, .routersummary .reload[value="Reseed"]:active {
     background: url(/themes/console/images/buttons/download.png) center left 6px no-repeat, linear-gradient(to bottom, #eee, #fff);
     background-size: 14px 14px, 100% 100% !important;
}

.routersummary .download:hover, .routersummary .download:focus, .routersummary .download:active {
     background: url(/themes/console/images/buttons/download.png) 6px center no-repeat, linear-gradient(to bottom, #eee, #fff);
     background-size: 14px 14px, 100% 100% !important;
     padding: 5px 7px 5px 22px !important;
}

/* end sidebar buttons */

input[type="text"], input[type="password"] {
     background: #f8f8ff;
     box-shadow: inset 1px 1px 1px rgba(204, 204, 204, 0.6);
}

input[name="refreshInterval"] {
     text-align: right;
     min-width: 80px;
     width: 80px;
}

input[type="text"]:focus, input[type="password"]:focus {
     background: #fff;
     box-shadow: none;
     filter: drop-shadow(0 0 1px #89f);
     color: #19191f;
     border: 1px solid #676c7f;
}

.main[id^="config_"] input[name="port"] {
     min-width: 120px !important;
     max-width: 120px;
}

input[type="file"] {
     border: none;
     padding: 0;
     background: none;
     box-shadow: none;
     cursor: pointer;
}

.optbox, input[type="checkbox"], input[type="radio"] {
     background: none;
     margin: 5px;
     padding: 2px;
     min-height: 16px;
     height: 16px;
     min-width: 16px !important;
     width: 16px !important;
     vertical-align: sub !important;
     opacity: 1.0;
     border: 0;
     box-shadow: none;
     cursor: pointer;
     filter: sepia(100%) hue-rotate(185deg) drop-shadow(0 0 1px #ccf);
}

.optbox:hover, input[type="checkbox"]:hover, input[type="radio"]:hover,
input[type="checkbox"]:focus, input[type="radio"]:focus {
     outline: none;
     min-height: 16px;
     height: 16px;
     min-width: 16px !important;
     width: 16px !important;
     opacity: 1.0;
     border: 0;
     filter: sepia(100%) hue-rotate(185deg) drop-shadow(0 0 3px #89f);
}

input[type="checkbox"][disabled], input[type="radio"][disabled],
input[type="checkbox"][disabled]:hover, input[type="radio"][disabled]:hover,
input[type="checkbox"][disabled]:focus, input[type="radio"][disabled]:focus {
     filter: sepia(100%) hue-rotate(185deg);
     box-shadow: none;
}

label {
     cursor: pointer;
}

label:hover {
     color: #19191f;
}

.main#config_clients label[for="0"] {
     cursor: default;
}

select {
     -moz-appearance: none;
     -webkit-appearance: none;
     appearance: none;
     background: url(images/dropdown.png) right center no-repeat #fff;
     background: url(images/dropdown.png) right center no-repeat, linear-gradient(to bottom, #fff, #efefff);
     background-blend-mode: hard-light, normal;
     padding: 4px 16px 4px 4px !important;
     color: #41465f;
     margin: 5px;
     border: 1px solid #999daf;
     min-width: 120px;
     font-size: 9pt;
     border-radius: 2px;
     text-align: left !important;
     box-shadow: inset 0 0 0 1px #fff;
     filter: drop-shadow(0 0 1px #ccf);
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
select {
     padding: 5px 16px 5px 6px !important;
}
}

select:-moz-focusring {
     outline: 1px solid transparent;
}

select option {
     background: #fff;
}

select, input[type="text"] {
     min-width: 120px;
}

select:hover, select:active {
     color: #19191f;
     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
}

select:focus {
     color: #19191f;
     background: url(images/dropdown_hover.png) right center no-repeat, linear-gradient(to bottom, #eee, #fff) !important;
     box-shadow: 0 0 1px #89f;
}

select::-moz-focus-inner {
     outline: none !important;
     border: none !important;
}

select::-ms-expand {
     display: none;
}

input[readonly], input[disabled], input[readonly]:focus, input[disabled]:focus {
     background: #e9e9e9;
     box-shadow: inset 1px 1px 1px rgba(204, 204, 204, 0.6);
     color: #4d4d5f;
     filter: none;
     cursor: default;
}

textarea {
     padding: 5px;
     margin: 5px !important;
     background: #f8f8ff;
     color: #33333f !important;
     font-size: 9pt;
     border-radius: 2px;
     min-height: 100px;
     min-width: 97%;
     border: 1px solid #999daf;
     box-shadow: inset 1px 1px 1px rgba(204, 204, 204, 0.6);
}

textarea:focus {
     background: #fff;
     color: #19191f !important;
     box-shadow: none;
     border: 1px solid #676c7f;
     filter: drop-shadow(0 0 1px #89f);
}

.statusnotes {
     font-style: normal;
     font-size: 9pt;
     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 right, #efefff, #fafaff, #efefff) #fff;
     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 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: 350px 2;
     -webkit-columns: 350px 2;
     columns: 350px 2;
     border: 1px solid #7778bf;
     padding: 8px 0;
     margin-top: 1px;
     background: #efefff;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px), #fff;
     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;
}

.main#jobs ol li {
     margin-top: 5px;
     margin-bottom: 5px;
     border-bottom: 1px dotted #ccf;
     padding-bottom: 3px;
}

.main#jobs ol li:last-child {
     margin-bottom: 0;
}

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: #41465f;
}

h3#finishedjobs + ol li:before {
     color: #5a5;
     content: '\2714\00A0';
}

h3#readyjobs + ol li:before {
     color: #dd3;
}

h3#scheduledjobs + ol li:before {
     color: #970;
}

#schedjobs {
     width: 100% !important;
     margin: 15px 0 0 !important;
}

.main#jobs h3 {
     border-width: 1px;
     border-radius: 0;
     filter: none;
     margin-bottom: -2px;
}

.smallhead th {
     font-size: 8pt
}

.mediumtags {
     font-weight: bold;
}

.cells {
     border-left: 1px inset #ddf;
     border-top: 1px inset #ddf !important;
     border-bottom: 1px inset #ddf !important;
     padding-top: 4px;
     padding-bottom: 4px;
}

.tablefooter {
     background: #f8f8ff;
}

.tablefooter tr, .tablefooter td {
     background: #f8f8ff;
     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: 5px;
     background: #fafaff;
}

#config_homepage .formaction, #config_clients .formaction, #webappconfigactions {
     margin-top: -6px;
}

#sidebardefaults {
     margin-top: -6px;
}

div.footnote {
     text-align: right;
     color: #447;
     font-size: 8pt;
     margin-bottom: -5px !important;
}

div.footnote hr {
     margin: 24px 0 5px 0 !important;
     background: #447;
     background: linear-gradient(to right, #77a, #669, #77a);
     height: 1px;
     border-bottom: 1px solid #fff;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
div.footnote hr {
     height: 1px;
}
}

.topness {
     font-size: 8pt;
     text-align: right;
     margin-top: 0;
     margin-bottom: -18px;
     margin-right: 5px;
}

iframe.iframed {
     margin: 10px 0 0;
}

/* 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 .routersummaryouter {
     display: none !important;
}

.iframed h1 {
     margin: 0 10px 10px 7px !important;
}

.iframed .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 -5px 0;
}

#consolepass.formaction {
     margin-top: -6px;
     margin-bottom: -3px;
}

#consolepass tr:first-child td {
     background: #fff url(/themes/console/images/info/user_add.png) 12px center no-repeat;
     background: url(/themes/console/images/info/user_add.png) 12px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     background-size: 28px 28px;
     padding: 15px 15px 15px 50px;
}

#config_ui .themechoice .optbox, #config_ui .langselect .optbox {
     vertical-align: text-bottom;
}

.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, #ddf);
     transition: filter ease 0.3s 0s;
     box-shadow: inset 0 0 0 1px #fff;
     filter: drop-shadow(0 0 1px #ccf);
}

.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;
     background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffe8bf 50%, #efd9b3 100%) !important;
     color: #f60;
}

.themechoice:active > object ~ .themelabel {
     background: #f60 !important;
     color: #fff;
}

.themechoice:hover > object {
     filter: drop-shadow(0 0 1px #f60);
}

#config_ui .themechoice .optbox {
     min-height: 88px !important;
     min-width: 123px !important;
     opacity: 0; /* hide the radio icon so we can use thumbnail img instead */
     margin-left: -38px !important;
     margin-top: 0;
     z-index: 999 !important;
     outline: 1px dotted #f00;
     position: absolute;
}

.themechoice .optbox + object {
     margin-left: -1px;
     margin-top: 6px;
     padding: 2px 0 !important;
     margin-bottom: 31px;
}

.themechoice img, .themechoice object {
     margin-bottom: 31px !important;
}

.themechoice .optbox:checked + object, .themechoice .optbox:checked + img {
     transform: scale(0.9);
     animation: glow 20s 10s infinite;
}

#themeoptions {
     clear: both;
     border-top: 1px solid #ddf;
     background: repeating-linear-gradient(45deg, rgba(252,252,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fafaff 5px), #fafaff;
     margin: 0 -5px 5px;
     position: relative;
     top: 4px;
     padding: 5px 10px 5px 5px;
}

#themeoptions br {
     display: none;
}

#themeoptions label {
     white-space: nowrap;
     margin: 2px 10px 2px 0 !important;
     display: inline-block;
}

p#helptranslate {
     position: relative;
     top: 4px;
     padding: 15px 10px 15px 50px !important;
     text-align: left !important;
     border-top: 1px solid #7778bf;
     background: url(/themes/console/images/info/notice.png) left 14px center no-repeat, #fff;
     background: url(/themes/console/images/info/notice.png) left 14px center no-repeat, linear-gradient(135deg, #fafaff, #f8f8ff);
     background-size: 28px 28px;
}

#themeoptions input {
     margin: 2px 5px 2px 5px;
     vertical-align: sub;
}

div.themelabel {
     border-top: 1px solid #7778bf !important;
     margin-left: -4px;
     margin-right: -4px;
     margin-top: -24px;
     padding: 3px 2px;
     background: #eef;
     background: linear-gradient(to bottom, #fff 50%, #eef 50%) !important;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     box-shadow: inset 0 0 0 1px #fff;
     font-size: 9pt;
}

.themechoice .optbox:hover + img ~ .themelabel {
     color: #f60;
     font-weight: bold;
}

.themechoice .optbox:checked + object ~ .themelabel {
     background: #ddf !important;
     color: #338 !important;
     font-weight: bold;
}

.themechoice .optbox:focus + object ~ .themelabel {
     color: #f60 !important;
     box-shadow: inset 0 0 0 1px #fff;
     background: linear-gradient(to right, #eef, #fff, #eef) !important;
}

.themechoice .optbox:active + object ~ .themelabel {
     color: #fff !important;
     box-shadow: inset 0 0 0 1px #fff;
     box-shadow: inset 0 0 0 1px #fff9ef, inset 2px 2px 3px #7f3000;
     background: #f60 !important;
}

.themechoice .optbox:checked:active + object ~ .themelabel {
     color: #f60 !important;
     background: linear-gradient(to right, #eef, #fff, #eef) !important;
     box-shadow: inset 0 0 0 1px #fff !important;
}

div#themesettings {
     clear: both;
     padding: 4px 5px 0;
     margin: -16px 0 0;
     border: 1px solid #7778bf;
     background: #fafaff;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(248, 248, 255, 0.3) 3px, #fafaff 5px);
}

div#langsettings {
     padding: 4px 5px 0;
     border: 1px solid #7778bf;
     margin: -16px 0 0;
     background: #fafaff;
     background: repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(248, 248, 255, 0.3) 3px, #fafaff 5px);
}

#themesettings hr, #langsettings hr {
     display: none;
}

.langselect { /* containing box for lang selection */
     width: 115px;
     min-height: 64px;
     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, #ddf);
     transition: transform 0.3s ease 0s;
     box-shadow: inset 0 0 0 1px #fff;
     filter: drop-shadow(0 0 1px #ccf);
}

.langselect:hover {
     border: 1px solid #f60;
     background: #fff;
}

#config_ui .langselect .optbox, #config_ui .langselect .optbox:hover, #config_ui .langselect .optbox:focus {
     width: 118px !important;
     min-height: 56px !important;
     height: 56px !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);
}

.langselect img[src^="/flags"] {
     margin-bottom: 42px;
     margin-left: 0;
     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);
     filter: drop-shadow(0 0 1px rgba(256, 100, 0, 0.1));
}

.langselect:hover > input[name="lang"] + img + .ui_lang {
     color: #f60;
     border-top: 1px solid #f60;
     background: #fff !important;
     background: linear-gradient(to bottom, #fff 50%, #ffe8bf 50%, #efd9b3 100%) !important;
}

.langselect:active > input[name="lang"] + img + .ui_lang {
     background: #f60 !important;
     color: #fff;
}

.langselect input[name="lang"]:checked + img + .ui_lang {
     background: #ddf !important;
     color: #338;
     font-weight: bold;
     margin: -32px -4px 0;
     z-index: 2;
}

.langselect input[name="lang"]:focus + img + .ui_lang {
     color: #f60 !important;
     box-shadow: inset 0 0 0 1px #fff;
     background: linear-gradient(to right, #eef, #fff, #eef) !important;
}

.langselect input[name="lang"]:active + img + .ui_lang {
     color: #fff !important;
     box-shadow: inset 0 0 0 1px #fff9ef, inset 2px 2px 3px #7f3000;
     background: #f60 !important;
}

.langselect input[name="lang"]:checked:active + img + .ui_lang {
     color: #f60 !important;
     box-shadow: inset 0 0 0 1px #fff;
     background: linear-gradient(to right, #eef, #fff, #eef) !important;
}

div.langselect + br {
     display: none !important;
}

div.langselect br {
     display: block;
}

/* large flags */

.langselect img {
     margin-top: -60px !important;
     margin-bottom: 34px !important;
     width: 40px;
     height: 40px;
     opacity: 0.9 !important;
     transform: none !important;
     filter: drop-shadow(0 0 1px #77d);
}

.langselect input[name="lang"]:checked + img, .langselect input[name="lang"]:checked + #config_ui img[src="/flags.jsp?c=a1"] {
     margin-top: -56px !important;
     margin-bottom: 30px !important;
     width: 32px !important;
     height: 32px !important;
     opacity: 1 !important;
     transform: none !important;
     animation: glow 20s 10s infinite;
}

.langselect input:hover + img {
     box-shadow: none !important;
     border: none !important;
     transition: none !important;
     filter: drop-shadow(0 0 2px #f60);
}

.langselect input[name="lang"]:checked + img + .ui_lang {
     margin: -24px -4px 0;
}

@keyframes glow {
0% {
     filter: drop-shadow(0 0 1px rgba(256, 100, 0, 0.1));
}

20% {
     filter: drop-shadow(0 0 2px #f60);
}

50% {
     filter: drop-shadow(0 0 2px #930);
}

80% {
     filter: drop-shadow(0 0 2px #d40);
}

100% {
     filter: drop-shadow(0 0 1px rgba(256, 100, 0, 0.1));
}
}

/* end large flags */

div.ui_lang {
     text-align: center;
     background: #eef url(images/tinytitle.png) center center !important;
     background: linear-gradient(to bottom, #fff 50%, #eef 50%) !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"], #reseedconfig input[name="username"], #reseedconfig input[name="susername"],
#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"], #reseedconfig input[type="password"] {
     padding: 4px 5px 4px 26px !important;
     background-size: 16px 16px !important;
     background-blend-mode: luminosity;
}

#consolepass input[name="name"], #externali2cp input[name="user"], #reseedconfig input[name="username"], #reseedconfig input[name="susername"] {
     background: #f8f8ff url(/themes/console/images/buttons/user.png) 5px center no-repeat;
}

#consolepass input[name="nofilter_pw"], #externali2cp input[name="nofilter_pw"], #reseedconfig input[type="password"] {
     background: #f8f8ff url(/themes/console/images/buttons/password.png) 5px center no-repeat !important;
}

#consolepass input[name="name"]:focus, #externali2cp input[name="user"]:focus, #reseedconfig input[name="username"]:focus,
#consolepass input[name="nofilter_pw"]:focus, #externali2cp input[name="nofilter_pw"]:focus, #reseedconfig input[type="password"]:focus {
     background-color: #fff !important;
     background-blend-mode: normal;
}

/* end configui */

#config_update form {
     margin-bottom: 0 !important;
}

table#addkeyring tr:last-child td {
     padding: 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: url(/themes/console/images/info/interval.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220,220,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px), #fff !important;
     background-size: 28px 28px, 100% 100%, 100% 100% !important;
}

/* peers, profiles, tunnels */

.cells tt, #profilelist tt, tt a {
     font-size: 8.5pt !important;
     letter-spacing: 0.1em;
}

img + tt {
     margin-left: 4px !important;
     letter-spacing: 0.1em;
}

/* end peers, profiles, tunnels dests */

/* /peers */

#ntcpconnections th:nth-child(6), #ntcpconnections th:nth-child(7), #ntcpconnections th:nth-child(8), #ntcpconnections th:nth-child(9), #ntcpconnections th:nth-child(10),
#ntcpconnections td:nth-child(6), #ntcpconnections td:nth-child(7), #ntcpconnections td:nth-child(8), #ntcpconnections td:nth-child(9), #ntcpconnections td:nth-child(10),
#udpconnections td:nth-child(6), #udpconnections td:nth-child(7), #udpconnections td:nth-child(9), #udpconnections td:nth-child(10), #udpconnections td:nth-child(11),
#udpconnections td:nth-child(13), #udpconnections td:nth-child(14), #udpconnections td:nth-child(15), #udpconnections td:nth-child(16) {
     text-align: right !important;
     white-space: nowrap;
}

#ntcpconnections .tablefooter td:nth-child(3), #ntcpconnections .tablefooter td:nth-child(4), #ntcpconnections .tablefooter td:nth-child(5), #ntcpconnections .tablefooter td:nth-child(6),
#udpconnections .tablefooter td:nth-child(3), #udpconnections .tablefooter td:nth-child(4), #udpconnections .tablefooter td:nth-child(7), #udpconnections .tablefooter td:nth-child(8),
#udpconnections .tablefooter td:nth-child(10), #udpconnections .tablefooter td:nth-child(11), #udpconnections .tablefooter td:nth-child(12), #udpconnections .tablefooter td:nth-child(13) {
     text-align: right;
}

#udpconnections .tablefooter td:nth-child(9) {
     text-align: center !important;
}

#ntcpconnections td:nth-child(4), #ntcpconnections td:nth-child(5), #udpconnections td:nth-child(4),
#udpconnections td:nth-child(5), #udpconnections td:nth-child(8), #udpconnections td:nth-child(12) {
     white-space: nowrap;
}

#udpconnections .tablefooter td, #ntcpconnections .tablefooter td {
     padding-left: 5px;
     padding-right: 5px;
}

#ntcpconnections th:nth-child(6), #ntcpconnections th:nth-child(7), #ntcpconnections th:nth-child(8), #ntcpconnections th:nth-child(9), #ntcpconnections th:nth-child(10) {
     text-align: right !important;
}

#udpconnections th:nth-child(6), #udpconnections th:nth-child(7), #udpconnections th:nth-child(n+9) {
     text-align: right !important;
}

#udpconnections th:nth-child(12) {
     text-align: center !important;
}

.peersort {
     text-align: center;
     display: inline-block;
}

.right {
     text-align: right;
     margin: 0 1px;
     display: inline-block;
     width: 40%
}

.left {
     text-align: left;
     margin: 0 1px;
     display: inline-block;
     width: 40%
}

.peeripv6:empty {
     padding: 0;
     width: 0;
}

.cwnd .left, .cwnd .right {
     width: auto;
}

#udpconnections td:nth-child(n+13), #udpconnections .tablefooter td:nth-child(n+10) {
     padding-right: 1%;
}

#peerdefs td {
     line-height: 150%;
     padding: 5px;
}

.peer_arrow {
     display: inline-block;
     width: 22px;
     text-align: center;
     margin: 2px 1px;
}

/* end peers */

/* /tunnels */

tt a {
     letter-spacing: 0.1em;
}

.tunnel_cap {
     background: rgba(0,0,64,0.3);
     color: #fff;
     border: 1px solid rgba(0,0,64,0.2);
     border-radius: 2px;
     min-width: 12px;
     padding: 0 2px;
     display: inline-block;
     margin: 1px 2px 1px 8px;
     text-align: center !important;
     text-shadow: 0 1px 1px #555;
}

#tunnel_defs b {
     color: #fff !important;
}

.tunnel_cap:empty {
     border: none;
}

.tunnel_id {
     display: inline-block;
     min-width: 78px;
     text-align: right;
}

.tunnel_id:empty {
     min-width: 0;
}

.tunnel_id:empty + .tunnel_cap {
     margin-left: 12px !important;
     display: inline-block;
}

#tunnels .tunnel_peer {
     display: inline-block;
     min-width: 64px;
     text-align: center;
}

.tunnel_local {
     font-size: 8pt;
     background: rgba(187, 187, 255, 0.3);
     background: #dfdfff;
     border-radius: 2px;
     text-align: center;
     padding: 2px 0;
     margin-left: -4px;
     margin-right: 4px;
     text-transform: lowercase;
}

.tunnel_peer:empty {
     vertical-align: top;
}

#tunnel_defs td {
     padding: 4px;
}

#tunnel_defs td:nth-child(even) {
     text-align: right;
     padding-right: 0;
     width: 1%;
}

#tunnel_defs td:nth-child(3) {
    border-right: 1px inset #ddf;
}

#tunnel_defs td:first-child, #tunnel_defs td:last-child {
     font-size: 0;
     width: 0;
     padding: 0;
}

/* end tunnels */

/* netdb */

.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;
}

.netdbentry th {
     font-weight: normal;
}

.netdbentry th:last-child {
     text-align: right;
     padding: 5px;
     white-space: nowrap;
     width: 50px;
}

.netdbentry th:first-child, .netdbentry td:first-child {
     white-space: nowrap;
     padding: 4px 6px !important;
     text-align: left;
}

.netdbentry td:first-child {
     width: 80px;
}

.netdbentry td:nth-child(2) {
     word-wrap: break-word;
}

.netdbentry img {
     margin: 1px 0 0 0;
}

a.viewfullentry:not(old), #profilelist a[href^="viewprofile"]:not(old) {
     font-size: 0;
}

a.viewfullentry::after, #profilelist a[href^="viewprofile"]::after {
     content: url(/themes/console/images/buttons/fullview.png);
     vertical-align: text-top;
     filter: drop-shadow(0 0 1px #999daf);
}

 #profilelist a[href^="viewprofile"]::after {
     vertical-align: bottom;
}

a.viewfullentry:hover {
     filter: drop-shadow(0 0 1px #f60);
}

#leasesetdebug th a:not(old), table#leasesetsummary th a:not(old) {
     font-size: 0;
}

#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 #999daf);
}

#leasesetdebug th a:hover, table#leasesetsummary th a:hover {
     filter: drop-shadow(0 0 1px #f60);
}

#leasesetsummary {
     margin-top: 10px;
}

#netdboverview th, #netdblookup th {
     text-transform: uppercase;
     font-size: 11pt !important;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
     background:  #f6f6ff url(/themes/console/images/info/globe.png) 8px center no-repeat !important;
     background:  url(/themes/console/images/info/globe.png) 8px center no-repeat, linear-gradient(to bottom, #fcfcff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
     background-size: 18px 18px, 100% 100%, 100% 100% !important;
     padding: 8px 5px 8px 32px;
}

#netdblookup input[type="checkbox"] {
     margin-left: 3px;
}

#netdbversions th, #netdbtransports th, #netdbcountrylist th {
     font-size: 10pt !important;
}

#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: #f6f6ff;
     background: linear-gradient(to bottom, #fcfcff 50%, rgba(255, 255, 255, 0.6) 50%, rgba(240, 240, 255, 0.4)) !important;
     background-size: 100% 100%;
     padding: 8px 5px;
     font-size: 9pt;
}

#netdboverview table td {
     padding: 3px 5px;
}

#netdboverview td {
     padding: 0;
}

#netdboverview a {
     display: inline-block;
     width: 100%;
}

#netdbversions tr {
     border-right: 1px solid #447;
}

#netdbcountrylist tr {
     border-left: 1px solid #447;
}

#netdbcountrylist img {
     margin-right: 5px;
     text-align: right;
}

#leasesetsummary td:first-child {
     width: 50px;
     white-space: nowrap;
}

#leasesetdebug, table.leaseset, #leasesetsummary {
     font-size: 9pt;
}

#leasesetdebug td, table.leaseset td {
     padding: 5px !important;
}

.leaseset, .netdbentry {
     margin-bottom: 10px;
}

.leaseset th {
     font-weight: normal;
     padding: 5px;
     text-align: left;
     font-size: 10pt;
}

.leaseset th:last-child {
     font-size: 9pt;
}

.leaseset th:last-child, .leaseset td:nth-child(2) {
     text-align: right;
     padding-right: 5px;
}

.leaseset td:first-child img {
     margin: 0 3px 2px 5px;
     vertical-align: middle;
}

.leaseset tt {
     margin-right: 3px;
}

#leasesetdebug, #leasesetsummary {
     margin-bottom: 14px !important;
}

.leaseset:last-child, .netdbentry:last-child {
     margin-bottom: 5px;
}

#leasesetdebug th, #leasesetsummary th {
     font-weight: bold;
     padding: 8px;
     text-align: left;
     font-size: 11pt !important;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
}

#leasesetdebug th a {
     font-size: 9pt;
     text-transform: capitalize;
     letter-spacing: normal;
     word-spacing: normal;
}

#leasesetdebug th:last-child, #leasesetsummary th:last-child {
     text-align:right;
     white-space: nowrap;
     font-size: 9pt;
}

#leasesetdebug td:nth-child(odd) {
     width: 200px;
     white-space: nowrap;
     text-align: right;
     border-right: 1px inset #cfd1ff;
}

#leasesetdebug td:nth-child(even) {
     text-align: left;
     white-space: nowrap;
}

#leasesetdebug td:nth-child(2) {
     width: 10px;
}

.addtobook {
     text-align: right;
}

.addtobook a:not(old) {
     font-size: 0;
}

.addtobook a::after {
     content: url(/themes/console/images/buttons/add_address.png);
}

.addtobook a:hover {
     filter: drop-shadow(0 0 1px #f60);
}

#noleasesets, #notinitialized, .netdbnotfound {
     margin-top: -6px;
     margin-bottom: 5px;
     padding: 10px 20px;
     font-weight: bold;
     text-align: center;
     color: #41465f;
     border: 1px solid #7778bf;
     box-shadow: 0 0 1px #ccf;
     border-radius: 2px;
     background: #f2f2ff;
     background: linear-gradient(to right, #f2f2ff, #f8f8ff, #f2f2ff);
}

#notinitialized, .netdbnotfound {
     margin-top: 15px !important;
}

#sybilnav {
     padding: 10px;
     border-radius: 2px;
     -moz-columns: 4;
     -webkit-columns: 4;
     columns: 4;
     -moz-column-gap: 10px;
     -webkit-column-gap: 10px;
     column-gap: 10px;
}

#sybilnav, #sybils_summary {
     border: 1px solid #7778bf;
     margin-bottom: 10px;
     background: repeating-linear-gradient(135deg, rgba(248,238,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fafaff 5px), #fafaff;
     box-shadow: inset 0 0 0 1px #fff;
}

#sybils_summary {
     padding: 5px 10px;
     line-height: 160%;
     -moz-columns: 400px auto;
     -webkit-columns: 400px auto;
     columns: 400px auto;
}

h3.sybils {
     margin-bottom: 9px;
}

#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(45deg, #fafaff 60%, #eef);
     line-height: 88%;
     filter: drop-shadow(0 0 1px #ccf);
}

#sybilnav li a {
     width: 100%;
     display: inline-block;
}

.sybil_routerinfo {
     margin-bottom: 10px;
}

.sybil_routerinfo:last-of-type {
     margin-bottom: 5px;
}

.sybil_routerinfo th {
     padding: 1px 1px 1px 6px !important;
}

.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_info, p.family, p.threatpoints, p.hashdist, p#sybil_totals, p.notfound {
     margin: 3px 0;
     padding: 7px 5px 7px 30px;
     border: 1px solid #7778bf;
     box-shadow: inset 0 0 0 1px #fff;
     font-weight: bold;
     color: #41465f;
     text-align: left;
     background: url(images/eye.png) 8px center no-repeat, repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fafaff 5px), #fafaff;
}

p#sybil_totals {
     font-weight: normal;
}

p.family + p.family, p.sybil_info + p.sybil_info {
     margin-top: -4px;
}

p.family:nth-child(even) {
     background: #efefff;
     background: url(images/eye.png) 8px center no-repeat, repeating-linear-gradient(45deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fafaff 5px), #fafaff;
}

p.family:nth-child(odd) {
     background: #f7f8ff;
     background: url(images/eye.png) 8px center no-repeat, repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fafaff 5px), #fff;
}

p.sybil_info + 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;
     background: repeating-linear-gradient(45deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fafaff 5px), #fafaff;
     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;
}

/* Advanced lookup */

#netdblookup {
     margin-top: 15px;
     margin-bottom: -8px;
}

#netdblookup td:first-child {
     text-align: right;
     width: 100px;
     white-space: nowrap;
     font-weight: bold;
     color: #41465f;
}

#netdblookup td:nth-child(2) {
     width: 100px;
}

.subheading {
     text-align: left !important;
     background: #fafaff;
     padding: 10px;
     border: 1px solid #7778bf;
}

.subheading b {
     font-size: 9.5pt !important;
}

.sybil_distance th {
     text-align: left;
     padding: 5px;
}

.sybil_distance th:last-child, .sybil_distance td:last-child {
     text-align: right;
}

.sybil_distance tr:nth-child(n+2):hover {
     background: #ffe;
     font-weight: bold;
}

/* leasesets */

.netdb_leases, .netdb_leases li, .netdb_leases li:first-child {
     margin: 0;
}

.netdb_leases {
     columns: auto 420px !important;
     column-rule: 1px solid #ccf;
     column-gap: 1em;
     display: block;
}

.netdb_leases li {
     list-style: none;
     display: inline-block;
     padding: 1px 0;
     margin: 1px 0;
     min-width: 400px;
}

.netdb_leases li b:first-child {
     display: inline-block;
     min-width: 80px !important;
     text-align: right;
     margin: 0 !important;
     padding: 0 !important;
}

.netdb_gateway {
     margin-left: -3px !important;
     margin-right: -3px !important;
}

.netdb_tunnel {
     display: inline-block;
     background: #e2e2ff;
     background: rgba(204, 204, 255, 0.4);
     padding: 0 4px;
     margin-left: 4px;
     margin-right: -4px;
     border-radius: 2px;
}

.netdb_leases .tunnel_id {
     min-width: 74px;
}

.netdb_leases .tunnel_peer {
     min-width: 64px;
}

.netdb_leases .tunnel_peer tt, .netdb_leases .tunnel_peer tt a {
     font-size: 8pt !important;
     font-weight: bold !important;
}

.netdb_leases .tunnel_peer tt, .netdb_leases .tunnel_peer a {
     letter-spacing: 0.1em !important;
     margin: 0 !important;
     padding: 0 !important;
}

.main li .netdb_expiry {
     font-weight: normal;
     text-transform: lowercase;
     font-style: italic;
}

img.unknownflag {
     opacity: 0.8;
}

/* end leasesets */

/* end netdb */

ul#banlist {
     display: block;
     padding: 5px 0;
     border: 1px solid #7778bf;
     border-radius: 2px;
     background: #fafaff;
     text-align: center;
     -moz-columns: auto;
     -webkit-columns: auto;
     columns: auto;
     -moz-column-gap: 0;
     -webkit-column-gap: 0;
     column-gap: 0;
}

#profiles #banlist {
    border: none;
    background: none;
}

#banlist li {
     display: inline-block;
     min-width: 300px;
     line-height: 120%;
     margin: 3px 0 3px 5px !important;
     padding: 8px 10px 0 35px;
     list-style: none;
     border: 1px solid #7778bf;
     border-radius: 2px;
     box-shadow: inset 0 0 0 1px #fff;
     background: #eef url(/themes/console/images/buttons/ban.png) 10px center no-repeat;
     background: url(/themes/console/images/buttons/ban.png) 10px center no-repeat, repeating-linear-gradient(135deg, rgba(252,252,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fff 5px) #fafaff;
     font-size: 9pt;
     filter: drop-shadow(0 0 1px #f8f8ff);
     -webkit-break-inside: avoid;
     break-inside: avoid;
     page-break-inside: avoid;
}

#config_peers #banlist li {
     margin: 0 -2px 5px 5px;
}

#banlist li:first-child {
     margin-top: 0;
}

#banlist a[href^="configpeer?peer"]::after {
     vertical-align: top;
}

#banlist tt {
     margin-left: 2px;
}

#tunnelconfig th[colspan="3"] {
     text-transform: uppercase;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
}

#tunnelconfig font[color="red"] {
     background: url(images/warn.png) left center no-repeat;
     padding: 4px 5px 4px 20px;
}

#tunnelconfig td:nth-child(n+2) {
     text-align: left;
}

#tunnelconfigsave {
     margin-top: -22px;
}

#profiles th:nth-child(n+3) {
     text-align: right;
}

#profiles th:nth-child(8) {
     text-align: center;
}

#profilelist {
     margin-bottom: 10px;
}

#profilelist td:first-child {
     width: 1%;
     text-align: right;
     white-space: nowrap;
}

#profilelist td:nth-child(2) {
     text-align: left;
}

#profilelist td[colspan="9"] {
     background: #77f;
     padding: 0;
}

#view_profile h2 {
     text-transform: none !important;
     letter-spacing: normal;
     word-spacing: normal;
}

#thresholds p {
     margin-left: 5px;
     line-height: 140%;
}

#profile_defs b {
     text-transform: capitalize;
}

#profile_defs td:first-child {
     width: 5% !important;
     white-space: nowrap;
     text-align: right;
}

#profile_defs td:last-child {
     white-space: normal;
     line-height: 120%;
}

#profile_defs td:nth-child(2)::first-letter {
     text-transform: uppercase;
}

#thresholds th, #thresholds td {
     text-align: center !important;
}

#capabilities_key td {
     padding: 0 !important;
}

#capabilities_key table {
     margin: 0 !important;
     border: none;
     border-top: 1px solid #ddf;
     border-bottom: 1px solid #ddf;
}

#capabilities_key table td {
     padding: 3px 5px !important;
}

#capabilities_key table td:nth-child(even) {
     width: 16px;
}

#capabilities_key td:nth-child(2)::first-letter {
     text-transform: none;
}

#capabilities_key b {
     text-transform: none !important;
     display: inline-block;
     min-width: 16px;
     background: #e2e2ff;
     text-align: center;
     border-radius: 2px;
     padding: 1px 2px;
}

#profilelist tr:hover td, #floodfills 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,
#netdboverview table tr:hover td, #debug tr:hover td, #clientconfig tr:hover td, #webappconfig tr:hover td, #portfaq tr:hover td, .tunneldisplay tr:hover td {
     background: #ffd;
     color: #19191f;
}

/* peers - sort icons */

#udpconnections th {
     vertical-align: top;
     padding-top: 3px;
}

.sortup, .sortdown, .sortupactive, .sortdownactive {
     padding: 1px 0;
     border: 1px solid #999daf;
     border-radius: 2px;
     margin: 3px 1px 0 !important;
     vertical-align: middle;
     text-align: center;
     display: inline-block;
     width: 16px;
     height: 12px;
     background-size: 10px auto, 100% 100% !important;
}

.sortup, .sortdown {
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ddd;
     opacity: 0.75;
}

.sortup img, .sortdown img, .sortupactive img, .sortdownactive img {
     margin: 0;
     padding: 0;
     opacity: 0;
     width: 16px;
     height: 14px;
     vertical-align: middle;
     text-align: center;
}

.sortupactive, .sortdownactive {
     opacity: 1;
     box-shadow: inset 1px 1px 1px #ccc;
}

.sortup {
     background: url(images/sort_up.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

.sortup:hover {
     background: url(images/sort_up.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
     border: 1px solid #f60;
     opacity: 1;
}

.sortup a:focus, .sortdown a:focus {
     background: rgba(255,102,0,0.15);
     border-radius: 2px;
     box-shadow: inset 0 0 0 1px #fff;
     margin-top: -1px;
     display: inline-block;
}

.sortupactive {
     background: url(images/sort_up.png) center center no-repeat, #fff;
}

.sortdown {
     background: url(images/sort_down.png) center center no-repeat, linear-gradient(to bottom, #fff, #efefff);
}

.sortdown:hover {
     background: url(images/sort_down.png) center center no-repeat, linear-gradient(to bottom, #eee, #fff);
     border: 1px solid #f60;
     opacity: 1;
}

.sortdownactive {
     background: url(images/sort_down.png) center center no-repeat, #fff;
}

/* end peer sort */

table#schedjobs {
     margin-top: -11px !important;
}

#schedjobs th:last-child {
     text-align: center;
}

#schedjobs td:first-child {
     font-weight: bold;
     color: #41465f;
}

#jobstats th:nth-child(n+2) {
     text-align: right;
}

#jobstats tr:last-child {
     font-weight: bold;
}

#jobstats tr:last-child td {
     padding: 5px;
     color: #41465f;
}

#advconf {
     margin-bottom: 12px;
}

#peerdefs, #profile_defs, #thresholds, #configinfo, .infohelp, .infowarn {
     font-size: 9pt;
}

#peerdefs td:first-child {
     text-align: right;
     white-space: nowrap;
}

.sybil_routerinfo th img {
     width: 24px;
     height: 24px;
     margin: -1px;
     border-left: 1px solid #7778bf;
}

.threatpoints + ul + a[name] + .sybil_routerinfo th img {
     margin-top: 1px;
}

.main#tunnels th, .main#peers th, #ntcpconnections td, #udpconnections td {
     text-align: center;
}

h3#ntcpcon, h3#udpcon {
     border-width: 1px;
     margin-bottom: -2px;
     border-radius: 0;
     filter: none;
     text-transform: capitalize;
     letter-spacing: 0;
}

.backlogged {
     font-size: 14pt;
     line-height: 0;
}

#ntcpconnections td:first-child, #udpconnections td:first-child {
     width: 1%;
     white-space: nowrap;
     text-align: right;
     padding-left: 3px !important;
}

#ntcpconnections tr:last-child td:first-child, #udpconnections tr:last-child td:first-child {
     text-align: left;
     padding-left: 10px !important;
}

#profilelist td:last-child {
     text-align: center;
     padding-right: 5px;
     width: 1%;
     white-space: nowrap;
}

#floodfills {
     margin-top: 8px;
}

#floodfills th {
     text-align: center !important;
     border-right: 1px solid #7778bf;
}

#floodfills td:first-child {
     text-align: right;
     padding-left: 3px;
     padding-right: 3px;
     width: 1%;
     white-space: nowrap;
}

#floodfills td:first-child img {
     margin-right: 2px;
     margin-left: 4px;
}

#floodfills td:nth-child(2), #profilelist td:nth-child(3) {
     text-align: right;
     letter-spacing: 0.15em;
}

#i2pupdates input[type="text"]:not([readonly]), #i2pupdates textarea, .main[id^="config_"] textarea, input[name="newsURL"] {
     width: calc(100% - 5px);
}

#i2pupdates select {
     min-width: 220px;
}

#i2pupdates td:first-child {
     width: 15%;
     white-space: nowrap;
}

#loggingoptions input[type="text"], #loggingoptions select:not([name="newlogclass"]):not([name="newloglevel"]) {
     width: calc(100% - 10px);
}

#loggingoptions td:last-child:not(.optionsave) {
     text-align: left;
}

#loggingoptions p {
     text-align: left;
     margin: 0 5px 2px 5px;
     line-height: 150%;
}

#volunteer, #sidebarhelp, #configurationhelp, #reachabilityhelp, #advancedsettings, #legal, #changelog, #faq {
     border: 1px solid #7778bf;
     border-radius: 2px;
     margin-bottom: 10px;
     padding: 0 10px 5px;
     background: #fafaff;
}

#volunteer {
     margin-top: 15px;
}

#changelog {
     margin-bottom: 5px !important;
     padding: 0 0 0 10px;
}

#changelog pre {
     margin: -10px 0 0;
     padding-top: 8px;
     width: 100%;
     height: 600px;
     white-space: pre-wrap;
     font-size: 9pt;
}

#help h2 {
     margin: -1px -11px 10px !important;
     border-radius: 2px 2px 0 0;
     text-transform: uppercase;
     filter: none;
}

#help h3 {
     margin-bottom: -3px;
}

#help #changelog h2 {
    margin-right: -1px !important;
}

#help div, .logtable tr:nth-child(n+2) td, .main#console, .debug_container {
     background: linear-gradient(to bottom, rgba(248,248,255,0.5), rgba(250,250,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #fafaff !important;
     margin-bottom: 13px;
     box-shadow: inset 0 0 0 1px #fff;
}

#help #volunteer, #wrapperlogs pre {
     background: linear-gradient(to bottom, #fafaff, rgba(248,248,255,0.3)), url(/themes/snark/ubergine/images/hat.png) no-repeat right -3px bottom -3px / auto 80%, repeating-linear-gradient(135deg, rgba(252,252,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fafaff 5px) #fafaff !important;
     box-shadow: inset 0 0 0 1px #fff;
}

#help p {
     padding-left: 10px;
     padding-right: 10px;
}

#help p.infohelp {
     padding-left: 50px;
}

#help td.infohelp, #help td.infowarn, #help td.infohelp:hover, #help td.infowarn:hover {
     background-size: 24px 24px !important;
     padding-left: 50px !important;
     color: #33333f !important;
     padding-right: 15px !important;
}

#configinfo td.infowarn, #configinfo tr:hover td.infowarn {
     padding-left: 46px !important;
}

#help code, #help tt {
     font-size: 8.5pt;
     font-weight: bold;
     color: #050;
}

#sidebarhelp ul {
    display: inline-block;
    margin-bottom: 0 !important;
}

#sidebarhelp ul:last-child {
     margin-bottom: 5px !important;
}

#sidebarhelp p + ul {
     margin-top: -15px !important;
}

#help li {
     text-align: justify;
}

#help li code {
     font-weight: bold;
     color: #050;
}

/* mini faq */

#faq h3 {
     padding: 5px 10px 6px 35px;
     background: url(/themes/console/images/info/question.png) 10px center no-repeat, linear-gradient(to bottom, #fcfcff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
     background-size: 18px 18px, 100% 100%, 100% 100% !important;
     background-blend-mode: luminosity, normal, normal;
     text-transform: none;
     letter-spacing: 0;
     word-spacing: 0;
     font-size: 10.5pt;
}

#faq ul li {
     margin-top: 0;
}

#faq code, #advancedsettings code {
     user-select: all;
     -moz-user-select: all;
     -webkit-user-select: all;
}

#portfaq {
     margin-top: 18px;
}

#portfaq th:first-child, #portfaq td:first-child {
     font-weight: bold;
     text-align: right;
     padding-top: 6px;
     padding-bottom: 6px;
     padding-left: 10px;
}

#portfaq .infohelp {
     padding-top: 15px !important;
     padding-bottom: 15px !important;
}

#portfaq th[colspan="3"] {
     text-align: left;
     font-size: 10.5pt !important;
     letter-spacing: 0.08em;
     word-spacing: 0.1em;
}

#portfaq td:nth-child(2) {
     white-space: nowrap;
}

#portfaq td:last-child, #portfaq td[colspan="3"] {
     text-align: justify;
     padding-right: 10px;
}

#portfaq td[colspan="3"] {
     font-weight: normal;
}

/* end mini faq */

#wrapperlogs pre {
     background-size: 100% 100%, auto 120px, 100% 100% !important;
     height: 400px;
     resize: vertical;
}

#fullhistory {
     text-align: right;
     margin: 0 0 0 -10px;
     padding: 6px 5px 5px;
     border-top: 1px solid #7778bf;
     background: linear-gradient(to right, #efefff 65%, #fafaff);
}

#fullhistory a {
     margin-right: -4px;
}

#fullhistory::before {
     content: "";
     display: inline-block;
     background: url(/themes/console/images/buttons/fullview.png) left center no-repeat !important;
     background-size: 14px 14px !important;
     height: 20px;
     width: 18px;
     vertical-align: middle;
     margin-bottom: 1px;
}

#oldconsole p, #proof p {
     margin: 20px 5px 10px;
     padding: 10px 0;
     line-height: 180%;
     background: #f2f2ff;
     background: linear-gradient(135deg, #fafaff, rgba(240,240,255,0.5));
     border: 1px solid #99b;
     border-radius: 2px;
     box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccf;
}

#oldconsole b {
     margin-right: 5px;
     display: inline-block;
     min-width: 160px;
     text-align: right;
}

#proof textarea, #proof textarea:focus, #proof p {
     margin: 0 !important;
     padding: 0 !important;
}

#proof p {
     margin: 15px 0 5px !important;
     padding: 15px 0 0 20px !important;
     width: calc(100% - 22px);
}

#proof p::before {
     content: "";
     display: inline-block;
     background: url(/themes/console/images/info/rosette.png) right 5px top no-repeat !important;
     background-size: 24px 24px;
     height: 32px;
     width: 100%;
     margin: -8px 0 -10px;
     opacity: 0.7;
}

#proof textarea, #proof textarea:focus {
     background: none;
     border: none;
     box-shadow: none;
     color: #33333f !important;
     filter: none;
     outline: none;
     line-height: 160%;
     height: 200px;
}

.homelinkedit th:first-child, #sidebarconf th:first-child, #consolepass th:first-child {
     text-align: center;
     background: #f6f6ff url(/themes/console/images/buttons/delete.png) center center no-repeat !important;
     background: url(/themes/console/images/buttons/delete.png) center center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(252, 252, 255, 0.8) 50%, #e2e2ff 100%) #fafaff !important;
     font-size: 0 !important;
     width: 5%;
}

.homelinkedit tr:last-child td:first-child {
     text-align: right;
}

.homelinkedit input[type="text"], #sidebarconf select {
     margin-left: 0;
}

.homelinkedit img {
     width: auto;
     height: 20px;
}

.main#config_homepage input.delete {
     float: left;
}

#webappconfig td:first-child::after {
     content: "";
     display: inline-block;
     min-height: 32px;
     vertical-align: middle;
}

#clientconfig th:first-child, #webappconfig th:first-child, #pluginconfig th:first-child,
#clientconfig td:first-child, #webappconfig td:first-child, #pluginconfig td:first-child {
     text-align: right !important;
}

#clientconfig th:nth-child(2), #clientconfig th:nth-child(3),
#webappconfig th:nth-child(2), #webappconfig th:nth-child(3),
#pluginconfig th:nth-child(2), #pluginconfig th:nth-child(3) {
     text-align: center !important;
}

#clientconfig td:nth-child(3), #webappconfig td:nth-child(3), #pluginconfig td:nth-child(3) {
     white-space: nowrap;
}

#pluginconfig table {
     margin: 5px 0 5px 0 !important;
     width: calc(100% - 5px);
}

#pluginconfig td:first-child {
     width: 80px;
     white-space: nowrap;
}

#pluginconfig td:nth-child(2) {
     border-right: 1px inset rgba(119, 120, 191, 0.1);
}

#pluginconfig td:last-child {
     padding-right: 3px;
}

table#plugininstall td:first-child {
     white-space: nowrap !important;
}

h4#updateplugins {
     background: #fcfcff !important;
     background: linear-gradient(to bottom, #fff 50%, rgba(238, 238, 255, 0.2) 50%, #eef 100%) #fff !important;
     border: 1px solid #7778bf;
     padding: 5px;
     font-size: 10pt;
     margin: -15px 0 14px;
     text-transform: none;
     letter-spacing: normal;
     color: #41465f;
}

.formaction#pluginupdater, table#permabanned, table#i2pupdates {
     margin-bottom: 10px;
}

.formaction#pluginupdater form {
     padding: 0;
     margin: 0;
}

#pluginconfigactions {
     margin-top: -6px;
}

h3#displayevents {
     border-width: 1px;
     filter: none;
     border-radius: 0;
     margin-top: 0;
}

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;
}

#newfamily {
     margin-top: -6px;
     margin-bottom: 10px;
}

a[href^="configpeer?peer"] {
     font-size: 0;
     filter: drop-shadow(0 0 1px #777);
}

a[href^="configpeer?peer"]::after {
     content: url(/themes/console/images/buttons/edit.png);
     display: inline-block;
     vertical-align: bottom;
     margin: 0 0 0 3px;
}

a[href^="configpeer?peer"]:hover {
     filter: drop-shadow(0 0 1px #f60);
}

.widescroll {
     overflow: auto;
}

#webappconfigactions, #externali2cp {
     margin-bottom: 5px !important;
}

#pluginupdater {
     margin-bottom: 10px !important;
}

/* netdb router address info */

.leasesets_container {
     -moz-columns: 680px 2;
     -webkit-columns: 680px 2;
     columns: 680px 2;
     -moz-column-gap: 10px;
     -webkit-column-gap: 10px;
     column-gap: 10px;
}

th code {
     -moz-user-select: all;
     -webkit-user-select: all;
     user-select: all;
}

@media screen and (min-width: 1634px) {
.leasesets_container {
     margin-bottom: 2px;
}

th code {
     font-size: 9pt !important;
}
}

.leasesets_container table:first-child {
     margin-top: 0;
}

.leasesets_container table {
     break-inside: avoid;
     page-break-inside: avoid;
     -webkit-column-break-inside: avoid;
}

.netdb_addresses br:first-child, .sybil_routerinfo tr:last-child td br:first-child {
     display: none;
}

.netdbentry th:first-child::after {
     content: "";
     display: inline-block;
     min-height: 20px;
     vertical-align: middle;
}

.netdbentry th:last-child > *, .sybil_routerinfo th:nth-child(2) > * {
     vertical-align: middle !important;
}

.netdbentry th a img {
     display: inline-block;
     vertical-align: middle;
     margin-right: 1px;
     margin-top: -2px;
}

.netdbentry a.viewfullentry::after {
     display: inline-block;
     vertical-align: middle !important;
     margin-left: 3px;
}

.netdbentry td:first-child {
     text-align: right;
}

.netdbentry .netdb_addresses {
     padding-left: 40px;
}

b.netdb_transport {
     display: inline-block;
     width: 50px;
     text-align: right;
     margin-left: -50px;
     margin-right: 5px;
}

#netdb code {
    font-weight: normal !important;
}

.netdb_name {
     color: #335;
     text-transform: capitalize;
     font-weight: bold;
}

.netdb_info {
     margin-right: 1px;
}

.netdb_expiry {
     margin-left: 5px;
}

.sybil_routerinfo th img[src^="/flags"] {
     height: 11px;
     width: 16px;
     margin-right: 3px;
}
.sybil_routerinfo b.netdb_transport {
     margin-left: -13px;
     margin-right: 0;
}

.sybil_routerinfo td:first-child, .netdbentry td:first-child {
     text-align: right !important;
     padding-right: 0;
}

.sybil_routerinfo td[colspan="3"] {
     white-space: normal;
}

.sybil_container {
     -moz-columns: 680px 2;
     -webkit-columns: 680px 2;
     columns: 680px 2;
     margin: 10px 0;
}

.sybil_container p {
     break-inside: avoid;
     page-break-inside: avoid;
     -webkit-column-break-inside: avoid;
}

.sybil_container p:first-child {
     margin-top: 0;
}

.sybil_container p:last-child {
     margin-bottom: 0;
}

/* end netdb router address */

/* sybils */

@media screen and (-webkit-min-device-pixel-ratio:0) {
.leaseset th:last-child, .leaseset td:last-child, .sybil_routerinfo th:last-child {
     border-right: 1px solid #7778bf !important;
}
}

.sybilinfo_params {
     padding: 0;
     border: 1px solid #7778bf;
}

.sybilinfo_container {
     columns: 240px auto;
     -moz-columns: 240px auto;
     -webkit-columns: 240px auto;
     -moz-column-gap: 0;
     -webkit-column-gap: 0;
     column-gap: 0;
     background: #f8f8ff;
     background: repeating-linear-gradient(135deg, rgba(252,252,255,0.5) 2px, rgba(240, 240, 255, 0.3) 3px, #fafaff 5px), #f9f9ff;
     padding: 4px 5px;
     box-shadow: inset 0 0 0 1px #fff;
}

.sybilinfo_container b {
     color: #335;
}

.sybil_routerinfo p {
     margin: 0;
     padding: 1px 0;
     break-inside: avoid;
     page-break-inside: avoid;
     -webkit-column-break-inside: avoid;
}

.sybilinfo_familyname {
     display: inline-block;
     vertical-align: top;
     max-width: 150px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
}

.sybil_routerinfo, .sybil_routerinfo tr:nth-child(2) td, .sybil_routerinfo tr:last-child td {
     border-bottom: none !important;
}

.sybil_routerinfo tr:last-child td {
     border-top: none !important;
}

.sybil_addresses td:first-child {
     max-width: 155px;
     font-weight: bold;
     padding-right: 9px;
}

.sybil_addresses table {
     width: 100%;
     margin: 0;
     border-top: 1px solid #7778bf !important;
     border-bottom: 1px solid #7778bf !important;
}

.sybil_addresses {
     padding: 0;
     border-bottom: 1px solid #7778bf;
}

.sybil_addresses table, .sybil_addresses td {
     border: none;
}

.threatpoints + ul {
     -moz-columns: auto 500px;
     -webkit-columns: auto 500px;
     columns: auto 500px;
     -moz-column-rule: 1px solid #7778bf;
     -webkit-column-rule: 1px solid #7778bf;
     column-rule: 1px solid #7778bf;
     padding-top: 3px;
     padding-bottom: 3px;
}

.threatpoints + ul li:first-child {
     margin-top: 0;
}

.threatpoints + ul li:last-child {
     margin-bottom: 0;
}

.threatpoints + ul li {
     list-style: none;
     margin-left: 0;
     line-height: 120%;
     break-inside: avoid;
     page-break-inside: avoid;
     -webkit-column-break-inside: avoid;
}

.threatpoints + ul li a {
     white-space: nowrap;
     font-size: 8pt !important;
     background: #eef;
     margin-left: 2px;
     border-radius: 1px;
     padding: 0 2px;
}

.sybil_routerinfo + .threatpoints + ul + a[name] + table {
     margin-top: -11px !important;
}

/* end sybils */

/* debug */

#debug {
     background: #fafaff;
}

#debug li:first-child {
     margin-top: 0 !important;
}

#debug td:first-child, #debug th:first-child {
     padding-left: 10px;
     color: #41465f;
}

#debug td:last-child {
     text-align: right;
     vertical-align: top;
}

#debug ul li {
     list-style: none;
     margin-left: 0;
     padding: 0;
}

#debug h2 {
     border-radius: 0;
     padding: 8px 10px;
}

#debug h3 {
     border-radius: 0;
}

#debug table {
     filter: drop-shadow(0 0 1px #ccf);
}

#debug h2 + table {
     margin-top: -16px;
}

#debug hr {
     display: none;
}

.debug_container, #debug td {
     line-height: 140%;
}

.debug_container {
     padding: 10px 15px;
     margin-top: -16px;
     background: linear-gradient(to bottom, #fafaff, rgba(250,250,255,0.3)), repeating-linear-gradient(135deg, rgba(255,255,255,0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #efefff !important;
     border: 1px solid #7778bf;
     box-shadow: inset 0 0 0 1px #fff;
     filter: drop-shadow(0px 0 1px #ccf);
}

.debug_container:empty {
     display: none;
}

.debug_container.buckets {
     word-break: break-all;
     margin-bottom: 5px;
     padding-bottom: 0;
     max-height: 600px;
     overflow: auto;
}

.main#debug h3 {
     border-width: 1px;
}

.main#debug h3 + table {
     margin-top: -16px;
}

#debug td {
    padding-top: 5px;
    padding-bottom: 5px;
}

#debug h2 {
     background: url(/themes/console/images/info/debug.png) right 6px center no-repeat, linear-gradient(to bottom, #fcfcff 50%, rgba(255,255,255,0.6) 50%, rgba(240,240,255,0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
     background-size: 20px 20px, 100% 100%, 100% 100% !important;
     background-blend-mode: luminosity, normal, normal;
}

#debug h3 {
     padding-left: 10px;
}

.debug_section {
     margin-bottom: 29px !important;
}

.debug_section + .debug_section {
     margin-top: -13px !important;
}

.debug_section h2 + h3 {
     margin-top: -16px !important;
}

.debug_section table {
     margin-bottom: -13px !important;
}

.debug_section .debug_container {
     margin-bottom: -13px;
}

.debug_container:empty+ h3 {
     margin-top: -16px !important;
}

.expiry td {
     padding-left: 3% !important;
}

.expiry ul {
     display: block;
     columns: auto 400px;
}

#debug h2, #debug h3 {
     position: relative;
     z-index: 100;
}

#portmapper td:first-child {
     font-weight: bold;
}

#portmapper tr:hover td:first-child {
     color: #363b4f !important;
}

#portmapper td:last-child {
     text-align: left !important;
}

#debug h3.debug_outboundsessions, #debug h3.debug_inboundsessions {
     padding: 6px 10px 6px 28px;
     background-blend-mode: luminosity, normal, normal;
}

#debug h3.debug_outboundsessions {
     background: url(/themes/console/images/outbound.png) 6px center no-repeat, linear-gradient(to bottom, #fcfcff 50%, rgba(255, 255, 255, 0.6) 50%, rgba(240, 240, 255, 0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
}

#debug h3.debug_inboundsessions {
     background: url(/themes/console/images/inbound.png) 6px center no-repeat, linear-gradient(to bottom, #fcfcff 50%, rgba(255, 255, 255, 0.6) 50%, rgba(240, 240, 255, 0.4)), linear-gradient(to right, #fcfcff 5%, rgba(231, 231, 255, 0.8) 25%) !important;
}

.debug_version {
     color: #050;
}

/* end debug */

/* jardump */

#jardump {
     overflow-x: auto;
     min-width: 576px;
     padding: 0;
}

#jardump table {
     margin: -1px 0 0;
     border: none;
     font-size: 8pt;
}

#jardump .subheading {
     padding: 5px;
     border-left: none !important;
     border-right: none !important;
}

#jardump .subheading code {
     font-weight: bold !important;
}

.subheading.routerfiles {
     padding-left: 10px !important;
     background: url(/themes/console/images/eepsite.png) right 7px center no-repeat, linear-gradient(to right, #7778bf 5px, #fafaff 5px, #eef) !important;
     background-size: 16px auto, 100% 100% !important;
}

.subheading.pluginfiles {
     padding-left: 10px !important;
     background: url(/themes/console/images/plugin.png) right 7px center no-repeat, linear-gradient(to right, #7778bf 5px, #fafaff 5px, #eef) !important;
     background-size: 16px auto, 100% 100% !important;
}

.subheading.routerfiles {
     padding-left: 5px !important;
     background: url(/themes/console/images/eepsite.png) right 5px center no-repeat, linear-gradient(to right, #fafaff, #eef) !important;
     background-size: 16px auto, 100% 100% !important;
     box-shadow: none !important;
}

.subheading.pluginfiles {
     padding-left: 5px !important;
     background: url(/themes/console/images/plugin.png) right 5px center no-repeat, linear-gradient(to right, #fafaff, #eef) !important;
     background-size: 16px auto, 100% 100% !important;
     box-shadow: none !important;
}

.revision, .sha256, .unsignedmod {
     -moz-user-select: all;
     -webkit-user-select: all;
     user-select: all;
}

.unsignedmod::-moz-selection {
     background: #f00 !important;
     color: #fff;
}

.unsignedmod::selection {
     background: #f00 !important;
     color: #fff;
}

.revision tt::-moz-selection, .sha256 tt::-moz-selection {
     background: #070 !important;
     color: #fff !important;
}

.revision tt::selection, .sha256 tt::selection {
     background: #070 !important;
     color: #fff !important;
}

.revision br::-moz-selection, .sha256 br::-moz-selection {
     background: transparent !important;
}

.revision br::selection, .sha256 br::selection {
     background: transparent !important;
}

#jardump tt {
     letter-spacing: -0.03em;
     font-size: 8pt !important;
     font-weight: normal !important;
}

#jardump a tt {
     color: #359;
}

#jardump code {
     font-weight: normal !important;
}

#jardump a:visited tt {
    color: #218;
}

#jardump a:hover tt {
     color: #f60;
}

#jardump a:active tt {
     color: #f90;
}

#jardump hr {
     margin: 0 !important;
     background: #ddf;
     width: 100%;
     height: 1px;
     display: block;
}

#jardump tr:hover td:first-child {
     background: url(/themes/console/images/info/box.png) 5px center no-repeat #ffd;
     background-size: 16px 16px;
}

#jardump tr:hover td:first-child b, #portmapper tr:hover td:first-child, #portfaq tr:hover td:first-child {
     color: #26262f;
}

#jardump tr:hover .unsignedmod:not(:empty) {
     background: #8f0000;
     color: #fff;
}

#jardump tr:hover hr {
     background: transparent;
}

#jardump th {
     padding-top: 7px !important;
     padding-bottom: 7px !important;
     font-size: 9.5pt;
}

#jardump th:nth-child(n+2) {
     text-align: center;
}

#jardump td {
     border-right: 1px inset #ddf;
     text-align: center;
}

#jardump td:first-child {
     padding-left: 26px;
     padding-right: 3px;
     white-space: nowrap;
     background-image: url(/themes/console/images/info/box.png);
     background-position: 5px center;
     background-repeat: no-repeat;
     background-size: 16px 16px;
}

#jardump td:first-child, #jardump td:last-child {
     text-align: left;
}

#jardump td:nth-child(2) {
     padding-right: 7px;
     padding-left: 7px;
     width: 5%;
     white-space: nowrap;
     color: #41465f;
     text-align: right;
     font-style: italic;
     font-weight: bold;
}

.unsignedmod {
     display: inline-block;
     padding: 2px;
     border-radius: 1px;
}

#jardump td:last-child {
     word-break: break-all;
     padding: 1px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
#jardump table {
     border: 1px solid #7778bf !important;
     border-bottom: none !important;
     border-top: none !important;
     width: calc(100% - 1px) !important;
}

#jardump, #jardump tr {
     border-left: none !important;
     border-right: none !important;
}

#jardump td:nth-child(3), #jardump td:nth-child(7) {
     width: 10%;
}
}

/* end jardump */

/* custom radios/checkboxes for chrome/blink  */

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution:.001dpcm) {
input[type="checkbox"], input[type="checkbox"]:checked, input[type="checkbox"][disabled], input[type="checkbox"][disabled]:checked {
     background: #f8f8ff;
     width: 19px !important;
     height: 19px !important;
     box-shadow: inset 1px 1px 1px rgba(204, 204, 204, 0.6);
     border-radius: 2px;
     -webkit-appearance: inherit;
     border: 1px solid #999daf !important;
     position: relative;
     box-sizing: border-box;
     filter: drop-shadow(0 0 1px #ccf);
     vertical-align: middle !important;
}

#netconfig .optbox {
     vertical-align: middle !important;
}

input[type="checkbox"]:checked::before {
     position: absolute;
     top: 1px;
     left: 1px;
     content: "\2714";
     border-radius: 1px;
     font-size: 15pt;
     color: #41465f;
     line-height: 80%;
     font-family: sans-serif;
     overflow: hidden;
     width: 16px;
     height: 16px;
}

input[type="radio"], input[type="radio"]:checked, input[type="radio"][disabled], input[type="radio"][disabled]:checked {
     background: #f8f8ff;
     width: 19px !important;
     height: 19px !important;
     box-shadow: inset 0 0 2px #7778bf;
     border-radius: 50%;
     -webkit-appearance: none;
     border: 1px solid #999daf !important;
     position: relative;
     box-sizing: border-box;
     filter: drop-shadow(0 0 1px #ccf);
     vertical-align: middle !important;
}

input[type="radio"]:checked::before {
     content: "";
     position: absolute;
     border-radius: 50%;
     left: 25%;
     top: 25%;
     width: 9px;
     height: 9px;
     background: #41465f;
}

input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="checkbox"]:focus, input[type="radio"]:focus {
     background: #fff;
     width: 19px !important;
     height: 19px !important;
     filter: drop-shadow(0 0 3px #89f) !important;
}

input[type="checkbox"][disabled], input[type="radio"][disabled], input[type="checkbox"][disabled]:hover, input[type="radio"][disabled]:hover,
input[type="checkbox"][disabled]:checked, input[type="radio"][disabled]:checked, input[type="checkbox"][disabled]:checked:hover, input[type="radio"][disabled]:checked:hover {
     filter: none !important;
     box-shadow: none !important;
     opacity: 0.5;
}
}

/* end custom radios/checkboxes */

/* responsive layout */

@media screen and (max-width: 900px) {
.homelinkedit input[name="nofilter_url"] {
     width: 240px !important;
}

#newfamily tr:last-child td:first-child, #joinfamily tr:last-child td:first-child, #leavefamily tr:last-child td:first-child {
     background-size: 22px 22px, 100% 100% !important;
     background-position: center left 6px !important;
     padding-left: 34px !important;
}

#joinfamily input[type="file"] {
     width: 220px;
}

h3#ntcpcon, h3#udpcon {
     font-size: 10pt;
     letter-spacing: 0;
}

#ntcpconnections th:last-child:not(old) {
     font-size: 0;
}

#ntcpconnections th:last-child::before {
     content: url(/themes/console/images/info/backlogged.png) !important;
}

.main#config_family input.download {
     max-width: 230px;
     overflow: hidden;
     text-overflow: ellipsis;
}

input[name="family"] {
     min-width: 120px;
     width: 120px;
}

input[name="speed"], input[name="capacity"] {
     min-width: 60px;
     width: 60px;
}

select[name="newlogclass"] {
     width: 200px;
     text-overflow: ellipsis;
}

input[name="pluginFile"], #manualreseed input[name="url"] {
     min-width: 220px;
     width: 220px;
}

.main#profiles, .main#peers, .main#tunnels {
     overflow: auto;
}
}

@media screen and (max-width: 1000px) {
#consolepass input[name="name"], #consolepass input[name="nofilter_pw"],
#externali2cp input[name="user"],  #externali2cp input[name="nofilter_pw"],
#newfamily input[type="text"] {
     max-width: 140px !important;
}

#config_reseed input[type="text"], #config_reseed input[type="password"] {
     max-width: 200px;
}

input[name="pluginURL"] {
     max-width: 260px !important;
}

#i2pupdates td:first-child, #clientconfig td:nth-child(3), #webappconfig td:nth-child(3), #pluginconfig td:nth-child(3) {
     white-space: normal;
}

#i2pupdates td:first-child {
     width: 25%;
     line-height: 120%;
}

.main#config_clients th, #bannedips th {
     font-size: 9pt !important;
     padding-left: 2px !important;
     padding-right: 2px !important;
}

.main#config_clients td:last-child {
     word-break: break-all;
}

.main#tunnels {
     padding: 0 5px;
     min-width: 566px;
}

.main#tunnels h3 {
     margin-top: 5px;
}

#netdbversions th, #netdbtransports th, #netdbcountrylist th, table.leaseset th {
     font-size: 9pt !important;
}

.welcome h2 {
     font-size: 11pt;
     padding-left: 8px;
}

.main#proof {
     padding: 0;
     min-width: 576px;
}

.main#proof textarea {
     margin: -5px 10px !important;
     word-break: break-all;
     white-space: pre-wrap;
}

.cells {
     padding: 3px 2px !important;
}

.cells tt, #profilelist tt {
     margin-left: 2px !important;
     margin-right: 2px !important;
}

#profilelist th {
     font-size: 8pt;
}

#profilelist th:last-child {
     font-size: 0;
}
}

@media screen and (max-width: 1100px) {
.tunnel_id, .tunnel_peer {
     min-width: 0 !important;
     text-align: center !important;
}

.tunnel_local {
     margin-right: 5px;
     margin-left: 2px;
     padding: 2px 4px;
}

.tunnel_peer:empty {
     vertical-align: middle;
}

.tunnel_peer:empty::before {
     margin: 1px 6px 1px 2px;
}

.tunnel_cap {
     margin-left: 5px !important;
}
}

@media screen and (max-width: 1200px) {
#portfaq td:nth-child(2) {
     white-space: normal;
}

#help h3, #faq h3, #leasesetdebug th, table#leasesetsummary th {
     font-size: 10pt !important;
}

#jardump td:first-child, #jardump td:nth-child(6), #jardump td:last-child {
     word-break: break-all;
     min-width: 100px;
}

.sha256, .revision {
     display: inline-block;
     width: 100px;
     overflow: auto;
}

#proof p {
     border: none;
     box-shadow: none;
     background: none;
}

#proof p::before {
     display: inline;
}

#proof textarea {
     padding-right: 15px !important;
}
}

@media screen and (max-width: 1500px) {
body {
     margin: 4px;
}

#sb_general td::after, #sb_shortgeneral td::after, #sb_advancedgeneral td::after,
#sb_bandwidth td::after, #sb_peers td::after, #sb_peersadvanced td::after, #sb_tunnels td::after, #sb_queue td::after {
   min-height: 12px;
}

#sb_internals a, #sb_advanced a #sb_help a {
     max-width: 200px;
}

.tunnels_client th:first-child:not(old) {
     font-size: 0;
}

.tunnels_client th:first-child::after {
     content: "\21E9\21E7";
     font-family: sans-serif;
     font-size: 12pt;
     line-height: 0;
     vertical-align: middle;
     letter-spacing: -0.25em;
}
}

@media screen and (min-width: 1000px) {
.leaseset td:first-child img {
     margin-bottom: 3px;
     vertical-align: middle;
}
}

@media screen and (min-width: 1200px) {
#ntcpconnections td:first-child, #udpconnections td:first-child {
     padding-left: 5px !important;
}

#ntcpconnections .cells {
     border-left: none;
     border-right: none;
}

#jardump {
     overflow: hidden;
}
}

@media screen and (min-width: 1400px) {
#help #changelog pre:not(old) {
     columns: 550px auto;
     column-gap: 25px;
     column-rule: 1px solid rgba(64, 64, 128, 0.5);
     margin-left: -10px !important;
     padding-left: 10px;
     padding-bottom: 5px;
     height: 75%;
}

#profiles .tab:first-child, #profiles .tab2:first-child, #help .tab:first-child, #help .tab2:first-child,
#netdb .tab:first-child, #netdb .tab2:first-child, #debug .tab:first-child, #debug .tab2:first-child {
     border-radius: 2px 0 0 2px;
}

#profiles .tab:last-child, #profiles .tab2:last-child, #help .tab:last-child, #help .tab2:last-child,
#netdb .tab:last-child, #netdb .tab2:last-child, #debug .tab:last-child, #debug .tab2:last-child {
     border-radius: 0 2px 2px 0;
}
}

@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, #changelog pre, .routersummary button.download,
#peerdefs, #profile_defs, #thresholds, #configinfo, .infohelp, .infowarn, button, input, select, textarea, #configinfo th, code, th, .statusnotes {
     font-size: 10pt !important;
}

.routersummary td, .routersummary a, .routersummary button, .routersummary h4, .routersummary h4 a, div.news, pre, #help code, #help tt,
#jardump tt, #jardump td, div.news, #logs li, tt, .cells tt, #profilelist tt, .leaseset tt, .links code, #console code {
     font-size: 9pt !important;
}

#udpconnections .cells {
     border-left: none;
     border-right: none;
}

tt a, .cells tt, #profilelist tt, .cells tt a, #profilelist tt a, .leaseset td tt {
     margin-left: 0 !important;
     margin-right: 3px !important;
     font-size: 9pt !important;
     letter-spacing: 0.1em !important;
}

#tunnels .tunnel_peer tt {
     margin-left: 3px !important;
     letter-spacing: 0.1em !important;
}

.main[id^="config_"] th, h4#updateplugins {
     font-size: 10.5pt !important;
}

.homelinkedit th:first-child, #sidebarconf th:first-child, #consolepass th:first-child {
     font-size: 0 !important;
}

h3#shutdownrouter, h3#systray, h3#servicedebug {
     margin-bottom: -15px;
}

.main, .news, h1 {
     margin-left: 232px !important;
}

.routersummary {
     width: 208px !important;
}

.routersummary div[style="height: 36px;"] {
     height: 40px !important;
     margin-top: 4px;
}

.routersummary table[id^="sb_"] {
     width: 218px !important;
}

#sb_services {
     width: 222px !important;
}

.sb_newsheadings table {
     width: 220px !important;
}

.routersummary h3::after {
     content: "";
     display: inline-block;
     min-height: 18px;
     vertical-align: middle;
     box-sizing: border-box;
}

div.app {
     width: 160px;
}

.applabel {
     width: 148px !important;
}

.footnote {
     font-size: 8pt !important;
}

h3#pconfig, h3#webappconfig, h3#i2pclientconfig, h3#pluginmanage, p#clientconf.infohelp, #config_stats h3 {
     margin-bottom: -15px;
}

.sorry {
     margin-left: 232px !important;
}

.routersummary .reload, .routersummary .stop {
     min-width: 100px;
     margin: 0 3px -5px;
}

.subheading b {
     font-size: 10.5pt !important;
}

h3#restartrouter, p#tunnelconfig {
     margin-bottom: -15px !important;
}

h3.ptitle {
     margin-bottom: -14px;
}

h1 {
     padding: 21px 15px 17px;
     font-size: 19pt;
}

.routersummary h3 a {
     font-size: 11pt !important;
     padding: 4px 0 2px;
}

.routersummary img[src$="i2plogo.png"] {
     margin-left: 0 !important;
     transform: none !important;
     width: 205px !important;
     margin-top: -2px !important;
}

#sb_internals a, #sb_advanced a, #sb_help a {
     max-width: 212px;
}

#sb_general, #sb_shortgeneral, #sb_advancedgeneral, #sb_bandwidth, #sb_peers, #sb_peersadvanced, #sb_tunnels, #sb_queue {
     margin-bottom: -4px !important;
     margin-top: -10px !important;
}

#sb_general, #sb_shortgeneral, #sb_advancedgeneral {
     margin-top: -7px !important;
}

#sb_general td::after, #sb_shortgeneral td::after, #sb_advancedgeneral td::after, #sb_bandwidth td::after,
#sb_peers td::after, #sb_peersadvanced td::after, #sb_tunnels td::after, #sb_queue td::after {
     min-height: 14px;
}

#banlist li {
     font-size: 10pt;
     min-height: 38px !important;
}

.langbox {
     line-height: 120%;
     margin: 4px 2px 0 5px;
}

.langbox img {
     margin: -1px 0 2px 2px;
}

.th_title a {
     font-size: 11pt !important;
}

#logs font[color^="#"]::before {
     margin-right: 6px;
     margin-left: -15px;
     width: 7px;
     height: 7px;
}

.statlist li a[href^="graph"]::before, .statlist li::before {
     height: 6px;
     width: 6px;
}

button.control {
     padding: 14px !important;
}

#configstats td::before {
     min-height: 24px;
}

.newsAuthor {
     font-size: 9pt;
     background-size: 11px 11px;
     padding: 0 0 0 14px;
     background-position: left center !important;
}

.topness, .footnote {
     font-size: 9pt !important;
}

#ntcpconnections td:first-child, #udpconnections td:first-child {
     min-width: 58px;
}

.themechoice, .langselect {
     width: 140px !important;
}

#config_ui .themechoice .optbox, #config_ui .langselect .optbox,
#config_ui .themechoice .optbox:hover, #config_ui .langselect .optbox:hover,
#config_ui .themechoice .optbox:focus, #config_ui .langselect .optbox:focus {
     width: 144px !important;
}

#config_ui .themechoice .optbox {
     margin-left: -49px !important;
     min-height: 92px !important;
}

#config_ui .langselect .optbox, #config_ui .langselect .optbox:hover, #config_ui .langselect .optbox:focus {
     margin-left: -2px !important;
}

.tunnel_cap {
     margin-left: 10px;
     padding: 0 1px;
     min-width: 14px;
}

.tunnel_id:empty {
     margin-right: -10px;
}

_:-ms-lang(x), #browseronstart {
     margin-bottom: -15px !important;
}

_:-ms-lang(x), .tab, .tab2 {
     padding: 3px 6px 6px !important;
}
}

@media screen and (-webkit-min-device-pixel-ratio:0) and (min-width: 1500px) {
.routersummary div[style="height: 36px;"] {
     height: 38px !important;
}
}

@media screen and (min-width: 1600px) {
.tab, .tab2 {
     padding-left: 8px;
     padding-right: 8px;
}
}

/* Edge/IE tweaks */

_:-ms-lang(x), *, *:hover, *:focus, input, input:hover, input:focus, a:hover, a:focus, h1, h2, h3, h4 {
     filter: none !important;
     text-shadow: none !important;
}

_:-ms-lang(x), .tunnels_client th:first-child::after {
     letter-spacing: -0.05em;
     font-weight: normal;
}

/* end Edge/IE tweaks */



/* TO DO: Merge with main classes */

.optionlist {
     -moz-columns: 500px auto;
     -webkit-columns: 500px auto;
     columns: 500px auto;
     padding-bottom: 1px;
}

.optionlist label {
     min-width: 300px;
     break-inside: avoid;
     page-break-inside: avoid !important;
     -webkit-column-break-inside: avoid;
}

th.options {
     padding: 7px 5px !important;
}

textarea[name="reseedURL"] {
     height: 20px !important;
     max-height: 20px !important;
}

th.options {
     font-size: 9pt !important;
}

.options input[type="checkbox"] {
     margin: 0 3px 0 0;
}

#reseedconfig th label, #i2pupdates th label {
     vertical-align: text-top;
}

#reseedconfig .nowrap b, #externali2cp .nowrap b  {
     display: inline-block;
     min-width: 120px;
     margin: 0 3px 0 5px;
     text-align: right;
}

#reseedconfig th[colspan="2"], #i2pupdates th[colspan="2"] {
     padding: 8px;
     vertical-align: middle;
}

#reseedconfig th label, #i2pupdates th label {
     margin-right: 10px;
}

#reseedconfig textarea, #i2pupdates textarea {
      min-height: 76px !important;
      height: 76px !important;
      margin: 2px 6px 2px 3px !important;
      padding: 3px 5px;
}

#reseedconfig td {
     vertical-align: middle;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
#reseedconfig .optbox[type="radio"] {
     margin: 4px 4px 4px 15px !important;
}

#reseedconfig .optbox[type="checkbox"] {
     vertical-align: sub !important;
}

#manualreseed th:last-child, #manualreseed td:last-child {
     border-right: 1px solid #7778bf;
}
}

#reseedconfig td:first-child label {
     min-width: 200px;
     white-space: nowrap;
     display: inline-block;
}

#resetreseed {
     padding: 15px 0 0;
}

/*
#externaltcp {
     padding: 0;
}


#netconfig .infowarn, #netconfig .infohelp, #config_reseed tr:first-child .infohelp, #manualpeercontrol tr:nth-last-child(2) .infohelp,
#bandwidthconfig tr:nth-last-child(2) .infohelp, #clientconf.infowarn, #externali2cp .infowarn, #advconf .infohelp {
     background-size: 22px 22px !important;
     background-position: 8px center;
     padding: 10px 10px 10px 37px !important;
}
*/

/* i2p version & environment */

#enviro, .configtable, #graphs table, #netdb table {
     box-shadow: inset 0 0 4px 2px #eef;
     background: repeating-linear-gradient(135deg, rgba(248,248,255,0.8) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) #fff;
}

#enviro tr:first-child td {
     -moz-user-select: none !important;
     -webkit-user-select: none !important;
     user-select: none !important;
}

@supports (text-justify: auto) { /* only Firefox 55 or newer */
#enviro tr, .configtable tr, #pluginconfig table tr, #graphs tr, #netdb tr {
     background: linear-gradient(to bottom, rgba(248,248,255,0.6) 50%, rgba(248,248,255,0.2)) !important;
     box-shadow: inset 0 0 0 1px #fff;
}
}

#sidebarconf tr:nth-child(odd), .homelinkedit tr:nth-child(odd), #clientconfig tr:nth-child(odd), #netdb tr:nth-child(odd),
#webappconfig tr:nth-child(odd), #configstats tr:nth-child(odd), #pluginconfig table tr:nth-child(even), #routerinfo tr {
     background: linear-gradient(to bottom, rgba(240,240,255,0.6) 50%, rgba(240,240,255,0.4)) !important;
}

#enviro:hover tr {
     box-shadow: none;
}

#enviro:hover b {
     color: #333337 !important;
}

#enviro td {
     padding-top: 6px;
     padding-bottom: 6px;
}

#enviro td:last-child b {
     margin-right: 1px;
}

#cputype {
     background: #557;
     padding: 2px 4px;
     margin: -1px 1px -1px 0;
     display: inline-block;
     font-weight: bold;
     border-radius: 2px;
     color: #fff;
     text-transform: uppercase;
}

#enviro:hover #cputype {
     background: none;
     color: #333337;
}

/* end i2p version & environment */

#webappconfig tr:last-child td, #clientconfig tr:last-child td, #tunnelconfig tr:last-child td {
     border-top: none !important;
}

.messages #newsDisplay, .messages #newsStatus {
     padding: 0 !important;
}

.config_experimental:not(old) {
      font-size: 0;
}

.config_experimental::after {
     content: "";
     display: inline-block;
     background: url(/themes/console/images/info/experimental.png) right center no-repeat;
     background-size: 16px 16px;
     width: 16px;
     margin-bottom: -2px;
     height: 16px;
}

#manualreseed, .formaction#consolepass {
     margin-bottom: 10px;
}

#themesettings, #themeoptions {
     box-shadow: inset 0 0 0 1px #fff;
}

#themeoptions {
     margin-bottom: -1px;
     padding-bottom: 6px;
}

/* graphs */

.statimage {
     animation: fadein 1s ease-in; /* prevent white background flicker on refresh */
}

@keyframes fadein {
from {
     background: #f7f7ff;
}

to {
     background: #fff;
}
}

#graphs td:first-child {
     font-weight: normal;
     text-align: left;
     padding: 5px 0 0;
}

@media screen and (min-width: 1060px) {
#graphs td:first-child {
     padding: 5px 0;
}
}

#graphs td b {
     min-width: 150px;
     text-align: right;
     display: inline-block;
     margin-right: 5px;
}

#graphs .nowrap {
     line-height: 300%;
     display: inline-block;
}

/* end graphs */

#pluginconfigtext + form {
     float: right;
     margin: -38px 6px 0 0;
}

#pluginconfig table {
     border: 1px solid #bbf;
}

#manualreseed tr:last-child td.infohelp {
     background: #fafaff url(/themes/console/images/info/box.png) 12px center no-repeat;
     background: url(/themes/console/images/info/box.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220, 220, 255, 0.3)) repeat scroll 0 0%, rgba(0, 0, 0, 0) repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px);
     padding: 15px 15px 15px 50px;
     background-size: 28px 28px, 100% 100%;
}

#manualpeercontrol tr:nth-child(3) td.infohelp {
     background: #fafaff url(/themes/console/images/info/blocked.png) 12px center no-repeat;
     background: url(/themes/console/images/info/blocked.png) 12px center no-repeat, linear-gradient(to bottom, #fafaff 50%, rgba(220, 220, 255, 0.3)) repeat scroll 0 0%, rgba(0, 0, 0, 0) repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 2px, rgba(221, 221, 255, 0.3) 3px, #fff 5px) !important;
     padding: 15px 15px 15px 50px !important;
     background-size: 28px 28px, 100% 100% !important;
}

#netconfig tr:nth-last-child(3) .optionlist {
     margin-bottom: -1px;
}

.netdb_addresses {
     line-height: 135%;
}

#leasesetsummary td {
     padding: 5px;
}

.buckets br + br {
     line-height: 5px;
}

/* chrome/blink overrides */

@media screen and (-webkit-min-device-pixel-ratio: 0) {

.main, table {
     background: #f6f6ff !important;
}

#help #sidebarhelp, #help #configurationhelp, #help pre, #help #faq, .debug_container {
     background: #f3f3ff !important;
}

#help #volunteer, #help #sidebarhelp, #help #configurationhelp, #help pre, #help #faq, #help #legal,
#help #reachabilityhelp, .debug_container, #help #advancedsettings {
     background: #f8f8ff !important;
}

#help #volunteer {
     background: #f3f3ff url(/themes/snark/ubergine/images/hat.png) no-repeat right -3px bottom -3px !important;
     background-size: auto 80%;
}

#help tr:nth-child(even), .main tr:nth-child(even), #themeoptions {
     background: #f0f0ff !important;
}

#help tr:nth-child(odd), .main tr:nth-child(odd) {
     background: #f8f8ff !important;
}

.main tr, #themeoptions {
     box-shadow: none !important;
}

th.options .optbox {
     vertical-align: sub !important;
}
}

/* end chrome overrides */

