html, body {
  min-height: 100%;
  height: 100%; }

body {
  background: #FFF;
  margin: 0;
  padding: 0;
  font-size: 13px;
  overflow: hidden; }

i {
  color: white;
  text-transform: none; }

.theme_color {
  color: #00ff00; }

.theme_border_color {
  border-color: #00ff00; }

.theme_bg_color {
  background: #00ff00; }

.theme_fill_color {
  fill: #00ff00; }

::-webkit-scrollbar {
  width: 0; }

::-webkit-scrollbar-track {
  background: #000000; }

::-webkit-scrollbar-thumb {
  background: #000000; }

::-webkit-scrollbar-thumb:hover {
  background: #000000; }

a {
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  color: inherit; }
  a:hover {
    text-decoration: underline; }
  a:visited {
    color: inherit;
    text-decoration: none; }

li a {
  text-decoration: underline;
  line-height: 2em;
  color: #3df7f7; }
  li a:visited {
    color: #3df7f7; }

input {
  color: white;
  border: none;
  background: transparent;
  border-bottom: 1px solid #00ff00; }
  input:focus {
    outline: none; }

input[type="file"] {
  width: 100%; }

input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 2px;
  outline: none;
  background: #00ff00;
  border: none; }
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 10px;
    height: 10px;
    border: 1px solid white;
    background: black;
    cursor: pointer; }
  input[type="range"]::-moz-range-thumb {
    width: 10px;
    height: 10px;
    border: 1px solid white;
    background: black;
    cursor: pointer; }

select {
  border: none;
  border-bottom: 1px solid #00ff00;
  background: transparent;
  color: white;
  border-radius: 0; }
  select:focus {
    outline: none; }

pre {
  margin: 0;
  padding: 0; }

.main {
  min-height: 100%;
  max-height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  padding-left: 8px;
  padding-top: 8px; }

.bottom_padding {
  height: 50px; }

.footer {
  user-select: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  border-top: 1px solid #00ff00;
  display: grid;
  grid-template-columns: auto 1fr auto;
  background: black;
  line-height: 40px; }
  .footer a.twitter_link {
    display: none;
    margin: 0; }
    .footer a.twitter_link svg {
      width: 30px; }
  .footer a {
    margin: 0.5em 1.1em;
    font-size: 1.1em; }

.hamburger {
  display: none;
  margin: 8px; }
  .hamburger div {
    margin: 4px;
    height: 2px;
    width: 20px;
    background: #00ff00; }

@media (min-width: 600px) {
  .menu {
    display: none !important; } }

.hidden_text {
  border: none;
  color: rgba(150, 150, 150, 0.5);
  position: absolute;
  top: 30%;
  text-align: center;
  width: 100%;
  background: transparent;
  font-size: 2em;
  display: none; }
  .hidden_text.hidden {
    top: -100000px;
    width: 0;
    height: 0; }

.mobile_links {
  display: none;
  align-items: center; }
  .mobile_links a {
    margin: 0 1.1em; }

@media (max-width: 600px) {
  .footer_links {
    display: none; }
  .mobile_links {
    display: flex; }
  .hamburger {
    display: block; }
  .footer {
    grid-template-columns: auto auto 1fr auto; }
    .footer a.twitter_link {
      margin-left: .5em;
      display: flex; }
  .menu {
    background: black;
    position: fixed;
    bottom: 40px;
    border: 1px solid #00ff00;
    display: none;
    z-index: 1; }
    .menu a {
      display: block;
      margin: 20px;
      font-size: 1.4em; }
    .menu.visible {
      display: block; }
  .file_row {
    display: none; }
  .hidden_text {
    display: block; } }

.blurred {
  filter: blur(1px); }

.settings_row {
  display: grid;
  grid-template-columns: 80px 1fr 60px;
  grid-gap: 1em;
  margin: 1em; }

.color_selector {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center; }
  .color_selector .color_block {
    width: 10px;
    height: 10px;
    cursor: pointer; }

.modal {
  grid-column: 2;
  grid-row: 2;
  min-width: 300px;
  max-width: 350px;
  position: relative;
  border: 1px solid #00ff00;
  background: black;
  display: none;
  grid-template-rows: 1fr auto;
  padding: 1em; }
  .modal h2 {
    text-align: center;
    margin: 0; }
  .modal .modal_footer {
    text-align: right; }

.drop_area {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: red;
  display: none; }

.alert {
  grid-column: 2;
  grid-row: 2;
  display: none;
  border-width: 1px;
  border-style: solid;
  width: 300px;
  text-align: center; }
  .alert h1 {
    margin: 1.5em 0; }
  .alert.denied {
    border: 2px solid #ff0000;
    color: #ff0000; }

.overlay {
  background: rgba(0, 0, 0, 0.2);
  display: none;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr auto 1fr;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.shade {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }