/***********/ /* GENERAL */ /***********/ html { font-size: 16px; box-sizing: border-box; } *, *::before, *::after { box-sizing: inherit; } body { margin: 0; padding: 0; display: flex; flex-flow: column; font-family: Inconsolata, sans-serif; } /***********/ /* BUTTONS */ /***********/ button { -webkit-appearance: none; -moz-appearance: none; background-color: #fff; border: none; cursor: pointer; font-family: Font Awesome, Inconsolata, sans-serif; } button:active { transform: scale(0.95); } button:focus { outline: none; } button::selection { background-color: transparent; } /***************/ /* MAIN BUTTON */ /***************/ .main-button-container { display: flex; flex-flow: column; border-bottom: 1px solid #ddd; } button.main-button { padding: 10px; font-size: 6rem; display: flex; align-items: center; justify-content: center; height: 150px; width: 150px; color: #ccc; } button.main-button.active { color: #000; } button.main-button:hover { text-shadow: 0 0 1px #fff, 0 0 3px #fff, 0 0 5px #fff; } button.main-button:hover { color: #999; } button.main-button::before { content: "\F08D"; font-weight: 900; position: relative; top: 3px; } button.main-button::after { content: "\F05E"; position: absolute; font-weight: 300; color: #c00; opacity: 0.0; transform: scaleX(-1) scale(1.5); } button.main-button.active::after { opacity: 1.0; } button.main-button.active:hover::after { opacity: 0.15; } button.main-button.whitelist::after { opacity: 0.15; } button.main-button.whitelist.active::after { opacity: 0.0; } /*********************/ /* AUXILIARY BUTTONS */ /*********************/ .aux-button-container { display: flex; border-top: 1px solid #ddd; flex: 1 1 auto; padding: 0 8px; } .aux-button-container button { flex: 1 1 auto; padding: 0; margin: 2px 10px; min-width: 0; display: flex; flex-flow: column; align-items: center; justify-content: center; font-size: 1.25rem; } .aux-button-container button::before { padding: 4px 0 0 0; } .aux-button-container button:hover::before { color: #000; } .aux-button-container button::after { text-transform: uppercase; color: #777; font-size: 0.75rem; padding: 4px 0 0 0; } /*==================*/ /*= OPTIONS BUTTON =*/ /*==================*/ button.options-button::before { content: "\F1DE"; color: #777; } button.options-button::after { content: "Options"; } /*===============*/ /*= HELP BUTTON =*/ /*===============*/ button.help-button::before { content: "\F128"; font-weight: 900; color: #999; } button.help-button::after { content: "Help"; } /********/ /* INFO */ /********/ .info { height: 6rem; position: relative; display: flex; flex-flow: column; font-size: 1rem; padding: 10px 8px 6px 8px; line-height: 1; } .info > * { flex: 1 1 auto; } .info.whitelist { background-color: #000; color: #fff; } .mode-display, .status-display { display: flex; justify-content: center; align-items: center; cursor: default; } .mode-display::after, .status-display::after { font-weight: bold; } /*================*/ /*= MODE DISPLAY =*/ /*================*/ .mode-display::after { content: "Blacklist"; margin: 0 0 0 8px; } .info.whitelist .mode-display::after { content: "Whitelist"; } /*==================*/ /*= STATUS DISPLAY =*/ /*==================*/ .status-display { flex-flow: column; line-height: 1.25; font-size: 0.875rem; } .status-display::after { font-size: 1.5rem; line-height: 1; margin: 2px 0 0 0; } .status-display::after, .info.whitelist .status-display.active::after { content: "No"; } .status-display.active::after, .info.whitelist .status-display::after { content: "Yes"; } /*=================*/ /*= RELOAD BUTTON =*/ /*=================*/ button.reload-button { background-color: #ffd; border-radius: 6px; color: #777; max-height: 0; padding: 0; overflow: hidden; position: absolute; width: calc(100% - 10px); height: calc(6rem - 10px); top: -4rem; left: 5px; } button.reload-button.active { max-height: 1000px; padding: 8px; border: 1px solid #ddd; top: 5px; } button.reload-button:hover { color: #000; } button.reload-button::before { content: "\F2F1"; font-size: 2rem; font-weight: 900; } /***************/ /* INFO HEADER */ /***************/ .info-header { text-align: center; font-size: 0.75rem; padding: 2px; background-color: #444; color: #ccc; cursor: default; } /************/ /* TOOLTIPS */ /************/ .tooltip-overlay { position: fixed; width: calc(100% - 20px); left: 10px; top: 0; height: 100%; pointer-events: none; } .tooltip { background-color: #ffe; position: absolute; left: 0; right: 0; margin: auto; padding: 8px 12px; border: 1px solid #777; border-radius: 4px; box-shadow: 1px 1px 4px 0 #aaa; text-align: center; line-height: 1.3; font-size: 0.75rem; width: fit-content; visibility: hidden; opacity: 0.0; transition: none; } .tooltip.active { visibility: visible; opacity: 1.0; transition: opacity 0.1s ease 0.5s; }