/* 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"; }