/***********/ /* GENERAL */ /***********/ html { font-size: 16px; box-sizing: border-box; } *, *::before, *::after { box-sizing: inherit; } body { margin: 0; padding: 0; display: flex; flex-flow: column; } /***********/ /* BUTTONS */ /***********/ button { -webkit-appearance: none; -moz-appearance: none; background-color: #fff; border: none; cursor: pointer; } 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; font-family: Font Awesome; } 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 { font-size: 1.25rem; padding: 0; flex: 1 1 auto; font-family: Font Awesome, Inconsolata, sans-serif; display: flex; flex-flow: column; align-items: center; justify-content: center; min-width: 0; } .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-family: Inconsolata, sans-serif; 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-family: Font Awesome; font-size: 2rem; font-weight: 900; } /***************/ /* INFO HEADER */ /***************/ .info-header { text-align: center; font-family: Inconsolata, sans-serif; font-size: 0.75rem; padding: 2px; background-color: #444; color: #ccc; cursor: default; }