You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

417 lines
6.4 KiB

/* Global styles */
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
background: #b24592;
background: linear-gradient(to left, #b24592 , #f15f79);
color: #222;
margin: 0;
display: flex;
min-height: 100vh;
flex-direction: column;
}
a {
color: #f15f79;
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: #b24592;
}
h1,
h2 {
margin-top: 0;
text-overflow: ellipsis;
overflow: hidden;
}
.wrapper {
width: calc(100% - 2em);
max-width: 1200px;
margin: 0 auto;
}
.clearfix:after {
content: "";
display: table;
clear: both;
}
.hide {
display: none;
}
/* Header */
header {
background: #fff;
box-shadow: 0px 3px rgba(255, 255, 255, 0.66);
margin-bottom: 2em;
}
header .wrapper {
display: flex;
}
header .title {
padding: 0.6em 0;
}
header .title .icon-tor {
color: #b24592;
}
h1 {
margin: 0;
}
.search {
flex: 1;
margin-left: 5em;
display: flex;
}
.search label {
flex: 1;
display: flex;
}
.search input {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #666;
width: 100%;
-webkit-appearance: none;
border: 1px solid #eee;
border-width: 0 1px;
font-size: 28px;
padding: 0 0.2em;
border-radius: 0;
}
.search input:focus {
outline: 0;
}
/* Main */
main {
color: #fff;
flex: 1;
-ms-flex: inherit;
}
main a {
color: #fff;
text-decoration: underline;
}
main a:hover {
color: rgba(255,255,255,0.75);
}
/* Listing page */
table {
font-family: "Source Code Pro", Consolas, monospace;
width: 100%;
}
th,
td {
padding: 0.4em;
background: rgba(255, 255, 255, 0.1);
}
th {
font-weight: normal;
background: rgba(255, 255, 255, 0.3);
}
tr:nth-of-type(even) td {
background: rgba(255, 255, 255, 0.2);
}
td:first-child {
text-align: center;
}
.pagination {
margin-top: 0.6em;
}
.pagination a {
text-decoration: none;
font-family: "Georgia", "Apple Symbols", serif;
font-size: 3em;
line-height: 0.6em;
}
.pagination .prev {
float: left;
}
.pagination .next {
float: right;
}
table td:nth-of-type(6) {
letter-spacing: -0.4em;
}
table i {
display: inline-block;
max-width: 1em;
overflow: hidden;
letter-spacing: normal;
}
/* Node page */
.node-title {
float: left;
}
.status {
float: right;
padding: 1em;
background: rgba(255, 255, 255, 0.1);
font-size: 14px;
font-family: "Source Code Pro", Consolas, monospace;
}
.status h3 {
display: inline;
}
dl {
padding: 1em;
background: rgba(255, 255, 255, 0.1);
font-family: "Source Code Pro", Consolas, monospace;
}
dt:not(:first-child) {
margin-top: 1em;
}
dd {
margin: 0.2em 0 0 2em;
overflow: hidden;
text-overflow: ellipsis;
}
dd.flag {
margin-left: 0.5em;
}
dd.flag i {
opacity: 0.5;
}
.overview {
position: relative;
}
.overview .icon-tor {
position: absolute;
font-size: 10em;
top: 3.6rem;
right: 1rem;
opacity: 0.3;
}
.columns {
-moz-columns: 2;
columns: 2;
}
.meta,
.config {
overflow: hidden;
-webkit-column-break-inside: avoid;
break-inside: avoid;
}
/* Footer */
footer {
margin-top: 2em;
padding: 1em 0;
background: #fff;
}
/* Small desktop */
@media (min-width: 800px) and (max-width: 1000px) {
/* Hide country column */
th:nth-of-type(5),
td:nth-of-type(5) {
display: none;
}
}
/* Mobile */
@media (max-width: 800px) {
/* Reduce header/footer margins */
header {
margin-bottom: 1em;
}
footer {
margin-top: 1em;
}
/* Increase searchbar size */
.search {
margin-left: 2em;
}
/* Get rid of browser table layout */
table, thead, tbody, th, td, tr {
display: block;
}
/* Hide table headers */
thead {
display: none;
}
/* Redo padding and sections */
tr {
position: relative;
background: rgba(255, 255, 255, 0.1);
padding: 1em;
}
tr:nth-of-type(even) {
background: rgba(255, 255, 255, 0.2);
}
tr:not(:last-child) {
margin-bottom: 1em;
}
td,
tr:nth-of-type(even) td {
padding: 0;
background: none;
}
td:not(:last-child) {
margin-bottom: 0.5em;
text-overflow: ellipsis;
overflow: hidden;
}
/* Position number on the right */
td:first-child {
position: absolute;
top: 1em;
right: 1em;
}
td:first-child:before { content: '#'; }
/* Set labels */
td:not(:first-child):before {
display: inline-block;
min-width: 7em;
margin-right: 1em;
letter-spacing: normal;
}
td:nth-of-type(2):before { content: "Nickname:"; }
td:nth-of-type(3):before { content: "Bandwidth:"; }
td:nth-of-type(4):before { content: "Uptime:"; }
td:nth-of-type(5):before { content: "Country:"; }
td:nth-of-type(6):before { content: "Flags:"; }
td:nth-of-type(7):before { content: "Type:"; }
/* Collapse columns on smaller screens */
.columns {
columns: 1;
}
}
/* Small Mobile */
@media (max-width: 500px) {
/* Center title and move searchbar below */
header {
margin-bottom: 5em;
}
header .wrapper {
position: relative;
}
header .title {
width: 100%;
text-align: center;
}
.search {
position: absolute;
bottom: 0;
left: 0;
transform: translateY(150%);
width: 100%;
margin: 0;
background: #fff;
box-shadow: 0px 3px rgba(255, 255, 255, 0.66);
}
.search input {
padding: 0.1em 0.2em;
}
/* Clear float on node title/status */
.node-title,
.status {
float: none;
}
/* Hide tor icon on node page */
.overview .icon-tor {
display: none;
}
/* Reduce list title padding */
td:not(:first-child):before {
min-width: 6em;
}
}
/* Icons */
@font-face {
font-family: 'iconfont';
src: url('/assets/iconfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
font-family: 'iconfont' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-tor:before {
content: "\e900";
}
.icon-badexit:before {
content: "\e14b";
}
.icon-stable:before {
content: "\e2bf";
}
.icon-exit:before {
content: "\e2c0";
}
.icon-running:before {
content: "\e876";
}
.icon-valid:before {
content: "\e877";
}
.icon-hsdir:before {
content: "\e2c7";
}
.icon-v2dir:before {
content: "\e617";
}
.icon-authority:before {
content: "\e925";
}
.icon-guard:before {
content: "\e32a";
}
.icon-fast:before {
content: "\e80e";
}