body { background-color: white; border: 0; display: flex; flex-direction: column; margin: 0; opacity: 1; overflow: hidden; padding: 0; white-space: nowrap; width: fit-content; width: -moz-fit-content; } h2 { background-color: #eee; border: 0; color: #666; cursor: pointer; font-size: 100%; font-weight: normal; padding: 0.2em; text-align: center; } a { color: inherit; text-decoration: none; } :focus { outline: 0; } #appinfo { align-items: flex-end; background-color: #444; border: 0; color: #bbb; display: flex; font-size: smaller; justify-content: center; margin: 0; padding: 1px 0; width: 100%; } #panes { display: flex; flex-direction: row-reverse; } #panes > div { display: inline-block; position: relative; vertical-align: top; } body[dir="ltr"] #panes > div { direction: ltr; } body[dir="rtl"] #panes > div { direction: rtl; } #panes > div:nth-of-type(2) { flex-shrink: 0; font-family: "Noto Sans", sans-serif; overflow-y: auto; overflow-x: hidden; width: 24em; } /** Scroll bar to the left. */ body[dir="ltr"] #panes > div:nth-of-type(2) { direction: rtl; margin-right: 1px; } body[dir="rtl"] #panes > div:nth-of-type(2) { direction: ltr; margin-left: 1px; } #panes:not(.dfEnabled) > div:nth-of-type(2) { display: none; } #panes > div:first-of-type { min-width: 11em; padding: 0; } p { display: flex; justify-content: center; } .fa-icon { font-size: 120%; } .fa { font-size: 120%; } #switch { margin: 0.8em 0; } #switch .fa-icon { fill: #0046ff; cursor: pointer; font-size: 700%; margin: 0; padding: 0; } #switch .fa-icon:hover { opacity: 0.9; } body.off #switch .fa-icon { fill: #ccc; } #basicTools { margin: 1.2em 0 0.5em 0; } .tool:first-child { margin-left: 0; } .tool { color: #aaa; cursor: pointer; fill: #aaa; margin-left: 0.8em; min-width: 1em; padding: 0 0.2em; unicode-bidi: embed; visibility: hidden; } .tool.enabled { visibility: visible; } .tool.enabled:hover { color: #444; fill: #444; } #page-blocked { font-size: 1.25em; } .statName { color: #888; font-size: 85%; margin: 0.8em 0.2em 0.4em 0.2em; } .statValue { margin: 0; } #extraTools { background-color: #eee; border: 0; color: #888; display: flex; fill: #888; justify-content: center; margin: 0.8em 0 0 0; padding: 0.2em 0; } body.responsive #extraTools { justify-content: space-evenly; } #extraTools > span { cursor: pointer; font-size: 1.2em; margin: 0 0.8em 0 0; position: relative; } #extraTools > span:first-of-type { margin-left: 0.9em; } #extraTools > span > .nope { left: 50%; position: absolute; stroke: red; stroke-width: 2; transform: translateX(-50%); visibility: hidden; width: 1em; } #extraTools > span.on > .nope { visibility: visible; } #extraTools > span:hover { color: #222; fill: #222; } #refresh { background-color: #ffe; border: 1px solid #ddc; border-radius: 4px; cursor: pointer; display: none; fill: #888; font-size: 3em; justify-content: center; left: 4px; line-height: 1; padding: 0.15em; position: absolute; right: 4px; } body.dirty #refresh { display: flex; } body.dirty #refresh:hover { fill: #000 } #tooltip { background-color: #ffffee; border: 1px solid gray; border-radius: 3px; box-shadow: 1px 1px 3px gray; box-sizing: border-box; color: black; cursor: pointer; direction: ltr; font: 12px sans-serif; left: 5%; line-height: 130%; margin: 0.5em 0; opacity: 0; padding: 4px 6px; pointer-events: none; position: absolute; text-align: center; visibility: hidden; white-space: pre-line; width: 90%; z-index: 100; } body[dir="rtl"] #tooltip { direction: rtl; } #tooltip.show { transition: opacity 0.15s 0.5s; -webkit-transition: opacity 0.15s 0.5s; visibility: visible; opacity: 1; } #firewallContainer { border: 0; font-size: 85%; margin: 0; padding: 0; text-align: right; } #firewallContainer > div { border: 0; direction: ltr; display: flex; justify-content: flex-end; margin: 0; margin-top: 1px; padding: 0; } #firewallContainer > div:first-child { margin-top: 0; } #firewallContainer > div:first-child ~ div[data-des="*"] { display: none; } #firewallContainer:not(.expanded) > div.isSubDomain:not(.expandException):not(.isRootContext), #firewallContainer.expanded > div.isSubDomain.expandException:not(.isRootContext) { display: none; } #firewallContainer > div > span { background-color: #e6e6e6; border: none; box-sizing: border-box; -moz-box-sizing: border-box; color: #000; display: inline-flex; flex-shrink: 0; line-height: 2; position: relative; } #firewallContainer > div:first-of-type > span:first-of-type { cursor: pointer; } #firewallContainer > div > span:first-of-type { justify-content: flex-end; padding-right: 2px; width: calc(100% - 4em); } #firewallContainer > div.isCname > span:first-of-type { color: mediumblue; } #firewallContainer > div > span:first-of-type > sup { color: #666; display: none; font-size: 80%; font-weight: normal; line-height: 1; } #firewallContainer > div.isDomain > span.isIDN:first-of-type > sup { display: inline-block; } #firewallContainer > div.isDomain > span.isIDN:first-of-type > sup::before { content: '\0416\2002'; } #firewallContainer > div > span:first-of-type ~ span { margin-left: 1px; width: 4em; } #firewallContainer > div > span:nth-of-type(2) { display: none; } #firewallContainer > div > span:nth-of-type(3), #firewallContainer > div > span:nth-of-type(4) { color: #444; display: none; font-family: monospace; text-align: center; } #firewallContainer > div.isDomain > span:first-of-type { font-weight: bold; } #firewallContainer > div:first-of-type > span:first-of-type::before { color: #aaa; content: '+'; padding-right: 0.25em; } #firewallContainer.expanded > div:first-of-type > span:first-of-type::before { content: '\2012'; } #firewallContainer > div[data-des="*"] > span:nth-of-type(3), #firewallContainer > div.isSubDomain > span:nth-of-type(3), #firewallContainer > div.isSubDomain.isRootContext > span:nth-of-type(3), #firewallContainer.expanded > div:not(.expandException) > span:nth-of-type(3), #firewallContainer:not(.expanded) > div.expandException > span:nth-of-type(3), #firewallContainer:not(.expanded) > div.isDomain:not(.expandException) > span:nth-of-type(4), #firewallContainer.expanded > div.isDomain.expandException > span:nth-of-type(4) { display: inline-flex; justify-content: space-between; } #firewallContainer > div > span[data-acount]::before, #firewallContainer > div > span[data-bcount]::after { content: ' '; } #firewallContainer > div > span[data-acount]::before { padding-left: 0.1em; } #firewallContainer > div > span[data-acount="1"]::before { content: '+'; } #firewallContainer > div > span[data-acount="2"]::before { content: '++'; } #firewallContainer > div > span[data-acount="3"]::before { content: '+++'; } #firewallContainer > div > span[data-bcount]::after { padding-right: 0.1em; } #firewallContainer > div > span[data-bcount="1"]::after { content: '\2212'; } #firewallContainer > div > span[data-bcount="2"]::after { content: '\2212\2212'; } #firewallContainer > div > span[data-bcount="3"]::after { content: '\2212\2212\2212'; } body.advancedUser #firewallContainer > div > span:first-of-type { width: calc(100% - 8em); } body.advancedUser #firewallContainer > div > span:nth-of-type(2) { display: inline-flex; } body.advancedUser #firewallContainer > div:first-child ~ div[data-des="*"] { display: flex; } body.advancedUser #firewallContainer > div > span:first-of-type ~ span { cursor: pointer; } /** Small coloured label at the left of a row */ #firewallContainer > div.isRootContext > span:first-of-type::before, #firewallContainer > div.allowed > span:first-of-type::before, #firewallContainer > div.blocked > span:first-of-type::before, #firewallContainer:not(.expanded) > div.isDomain.totalAllowed:not(.expandException) > span:first-of-type::before, #firewallContainer:not(.expanded) > div.isDomain.totalBlocked:not(.expandException) > span:first-of-type::before, #firewallContainer.expanded > div.isDomain.totalAllowed.expandException > span:first-of-type::before, #firewallContainer.expanded > div.isDomain.totalBlocked.expandException > span:first-of-type::before { box-sizing: border-box; content: ''; display: inline-block; height: 100%; left: 0; opacity: 0.4; position: absolute; width: 7px; } #firewallContainer > div.isRootContext > span:first-of-type::before { background-color: rgb(127, 127, 127); width: 14px !important; } /** Source for color-blind color scheme from https://github.com/WyohKnott: https://github.com/chrisaljoudi/uBlock/issues/467#issuecomment-95177219 */ #firewallContainer > div.allowed > span:first-of-type::before, #firewallContainer > div.isDomain.totalAllowed > span:first-of-type::before { background-color: rgb(0, 160, 0); } #firewallContainer.colorBlind > div.allowed > span:first-of-type::before, #firewallContainer.colorBlind > div.isDomain.totalAllowed > span:first-of-type::before { background-color: rgb(255, 194, 57); } #firewallContainer > div.blocked > span:first-of-type::before, #firewallContainer > div.isDomain.totalBlocked > span:first-of-type::before { background-color: rgb(192, 0, 0); } #firewallContainer.colorBlind > div.blocked > span:first-of-type::before, #firewallContainer.colorBlind > div.isDomain.totalBlocked > span:first-of-type::before { background-color: rgb(0, 19, 110); } #firewallContainer > div.allowed.blocked > span:first-of-type::before, #firewallContainer > div.isDomain.totalAllowed.totalBlocked > span:first-of-type::before { background-color: rgb(192, 160, 0); } /* Rule cells */ body.advancedUser #firewallContainer > div > span.allowRule { background-color: rgba(0, 160, 0, 0.3); } body.advancedUser #firewallContainer.colorBlind > div > span.allowRule { background-color: rgba(255, 194, 57, 0.4); } body.advancedUser #firewallContainer > div > span.blockRule { background-color: rgba(192, 0, 0, 0.3); } body.advancedUser #firewallContainer.colorBlind > div > span.blockRule { background-color: rgba(0, 19, 110, 0.4); } body.advancedUser #firewallContainer > div > span.noopRule { background-color: rgba(108, 108, 108, 0.3); } body.advancedUser #firewallContainer.colorBlind > div > span.noopRule { background-color: rgba(96, 96, 96, 0.4); } body.advancedUser #firewallContainer > div > span.ownRule { color: white; } body.advancedUser #firewallContainer > div > span.allowRule.ownRule { background-color: rgba(0, 160, 0, 1); } body.advancedUser #firewallContainer.colorBlind > div > span.allowRule.ownRule { background-color: rgba(255, 194, 57, 1); } body.advancedUser #firewallContainer > div > span.blockRule.ownRule { background-color: rgba(192, 0, 0, 1); } body.advancedUser #firewallContainer.colorBlind > div > span.blockRule.ownRule { background-color: rgba(0, 19, 110, 1); } body.advancedUser #firewallContainer > div > span.noopRule.ownRule { background-color: rgba(108, 108, 108, 1); } #actionSelector { bottom: 0; left: 0; position: absolute; top: 0; width: 4em; z-index: 1; } #actionSelector > span { display: inline-block; height: 100%; opacity: 0.2; } #actionSelector > span:first-of-type { width: 33%; } #actionSelector > span:nth-of-type(2) { width: 33.5%; } #actionSelector > span:nth-of-type(3) { width: 33.5%; } #actionSelector > span:hover { opacity: 0.75; } #actionSelector > span:first-of-type { background-color: rgb(0, 160, 0); } #actionSelector.colorBlind > span:first-of-type { background-color: rgb(255, 194, 57); } #actionSelector > span:nth-of-type(2) { background-color: rgb(108, 108, 108); } #actionSelector > span:nth-of-type(3) { background-color: rgb(192, 0, 0); } #actionSelector.colorBlind > span:nth-of-type(3) { background-color: rgb(0, 19, 110); } #rulesetTools { background-color: transparent; border: 0; fill: #888; display: none; left: 4px; padding: 0; position: fixed; top: 4px; } #rulesetTools > span { background-color: #ffe; border: 1px solid #ddc; border-radius: 4px; cursor: pointer; display: inline-block; font-size: 1.8em; line-height: 1.0; margin: 0; margin-right: 0.1em; padding: 0.2em 0.4em; text-align: center; width: 1em; } #firewallContainer.dirty ~ #rulesetTools { display: block; } #firewallContainer.dirty ~ #rulesetTools > span:hover { fill: black; } body.responsive { overflow-y: auto; width: auto; } body.responsive #panes { flex-wrap: wrap; } body.responsive #panes > div:nth-of-type(1) { flex-shrink: 0; flex-grow: 1; } body.responsive #panes > div:nth-of-type(2) { flex-grow: 8; flex-shrink: 1; width: auto; }