:root {
  --maincolor: #4D994D;
}

#dev-watermark {
  position: fixed;
  bottom: 0;
  background-color: #fd0;
  width: 100%;
  text-align: center;
  font-size: 0.7em;
  font-weight: bold;
  z-index: 20;
}

body {
  padding: 0 0 2em 0;
  .container:first-child {
    z-index: 5;
  }
}

#logo {
  color: var(--maincolor);
  a {
    color: var(--maincolor);
  }
}

.page-header {
  border-color: aliceblue;
  border-width: 3px;
  margin: 0 0 2em;
  #pageheadline {
    font-size: 1.7em;
    font-weight: 600;
    color: var(--maincolor);
    a {
      color: var(--maincolor);
    }
  }
  ul#listmenu {
    list-style-type: none;
    margin: 1em 0 0;
    padding: 0;
    li {
      display: inline-block;
      margin: 0;
      padding: 0 1em 0 0;
      font-weight: bold;
      a { 
        font-weight: normal;
      }
    }
  }
}

#header {
  margin-bottom: 1em;
}

#submenu {
  margin: -1em 0 2em;
  text-align: right;
}

h1 {
  font-size: 1.5em;
}

h2 {
  margin: 0em 0em 0.5em 0;
  font-weight: 500;
}

<% # A bigger top-margin for the first fieldset %>
fieldset {
  margin-top: 2em;
  & + fieldset {
    margin-top: 1em;
  }
}

.mono {
  font-family: monospace;
}

#navbar .glyphicon {
  color: black;
}

#navbar li#current_user_email a {
  color: black;
  font-weight: bold;
  &:hover {
    background-color: white;
  }
}

.navbar-brand {
  padding-left: 0;
}

.hidden {
  display: none;
}

.large {
  font-size: 1.2em;
}

table tr:first-child > td {
  border-top: 0;
}

.listing {
  td:first-child {
    width: 15em;
    text-align: right;
  }
  td {
    text-align: left;
    padding: 0.2em 0.5em;
  }
}

.black {
  color: black;
}

#keyupload {
  input[type=file] {
    display: inline-block;
  }
}

.hidden {
  display: none;
}

.admin-star-colour {
  color: #F5D327;
}

.listkey { 
  font-style: italic;
}

ul.subscriptions-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  li {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  li:not(:last-child):after {
    content: ',';
  }
}

.key_upload_spacer {
  color: #aaa;
  font-size: 2.5em;
  font-style: italic;
  margin: 0.3em 0;
}

.overwrites {
  font-size: .5em;
  vertical-align: bottom;
  color: #ccc;
  margin: 0.3em 0 0 0;
}
.overwrites_symbol {
  display: inline-block;
  font-size: 1.5em;
}

.subscription_fingerprint option {
  font-family: monospace;
}

input#keyfile {
  font-family: monospace;
  height: auto;
}

.card_listing {
  margin: 3em 0;
  width: 50em;
}

.keys_index .card_listing {
  width: auto;
}

.list_key {
  .card {
    border-style: dashed;
  }
}

.card {
  display: flex;
  border: solid thin #ccc;
  border-radius: 1px;
  box-shadow: 1px 1px 0px rgba(120,120,120,0.2);
  padding: 0.7em 1em;
  margin: 1em;
}

.card_text {
  flex-grow: 100;
  margin: 7px 0 0 0.5em;
}

.popup_icon:hover ~ .popup_text,
.popup_icon:focus ~ .popup_text,
.popup_text:hover,
.popup_text:focus {
  display: block;
}

.popup {
  display: inline-block;
  margin: 0 0 0 .5em;
  position: relative;
  width: auto;
  img.icon_person {
    width: 25px;
  }
}

img.popup_icon {
  width: 30px;
}


.popup_text {
  display: none;
  position: absolute;
  top: -1.5em;
  right: 1.5em;
  width: auto;
  white-space: nowrap;
  border: solid thin silver;
  border-radius: 5px;
  box-shadow: 1px 1px 0px rgba(120,120,120,0.2);
  background: rgba(252, 252, 252, 0.9);
  padding: 1em;
  text-align: right;
}

.warn {
  color: #e0872e;
}

.attribute-container {
  margin: 1em 0;
  display: flex;
  & > *:first-child {
    margin-right: 1em;
  }
  img:first-child {
    width: 30px;
    height: 30px;
  }
  .text {
    flex-grow: 100;
    margin-top: 4px; /* align text vertically —  couldn't get this fixed with the "vertical-align"-attribute */
    * {
      display: inline-block;
    }
    .key-oneline {
      margin-right: 0.5em;
    }
  }
}
