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