body {
  margin: 0;
  font-family: "EB Garamond", "Garamond", "Baskerville", "Baskerville Old Face", "Times", "Times New Roman", serif;
  font-size: 1.2rem;
  background: #f9f6f3;
}

nav#login {
  padding-top: 20px;
  text-align: center;
  margin: 0 auto;
  filter: opacity(45%);
  font-size: 0.9em;
}

nav#login:hover {
  filter: opacity(100%);
}

nav#login a {
  display: inline-block;
  margin-left: min(1em, 2vw);
}

img#topbar_logo {
  height: 1.1em;
  margin: 0.3em;
  margin-top: 0;
  margin-bottom: -0.2em;
  margin-right: 0.4em;
}

div#content_wrapper {
  margin-left: auto;
  margin-right: auto;
  padding: 2vw;
  min-height: 100vh;
  max-width: min(100%, 800px);
  padding-top: 40px;
}

h1 {
  font-weight: 500;
  font-size: 2em;
  margin-top: 0;
}

img.header_dragon {
  height: 1em;
  margin-bottom: -0.05em;
  margin-left: 0.05em;
  margin-right: 0.2em;
}

p {
  margin-top: 0;
}

div.image_container {
  filter: drop-shadow(3px 5px 10px #444444);
  padding: 0;
  margin: 2em auto;
  text-align: center;
}

div.image_container img {
  width: 100%;
  margin: 0;
}

#user_info {
  display: inline-block;
}

a {
  color: #43b;
}

a:hover {
  color: #000;
}

h1 {
  text-align: center;
}

h1 a {
  text-decoration: none;
  color: #000;
}

h1 a:hover {
  text-decoration: underline;
}

div#dashboard_controls {
  text-align: center;
  padding: 10px;
}

table#balances {
  text-align: right;
  border-collapse: collapse;
  margin: 0 auto;
  margin-bottom: 3em;
  font-size: 0.8em;
}

table#balances td, table#balances th {
  padding-left: 0.8em;
}

table#balances tr.institution_row td {
  border-top: 1px solid black;
}

table#balances tr.item_row td {
  border-top: 1px dashed #ccc;
}

table#balances .institution_cell {
  text-align: left;
}

div#disclaimer, div#email_disclaimer {
  font-size: 0.7em;
  text-align: center;
  width: 65%;
  margin: 0 auto;
}

button {
  margin-left: 5px;
  margin-right: 5px;
}

td.arrows {
  min-width: 24px;
}

a.item_arrow {
  margin: 0;
  filter: opacity(45%);
}

a.item_arrow:hover {
  margin: 0;
  filter: opacity(100%);
}
table#settings td.label {
  text-align: right;
  min-width: 10em;
}

table#settings td.info {
  font-size: 0.8em;
}

table#settings td {
  border-bottom: 1px dashed #ccc;
  padding: 5px;
}

table#settings button, table#settings input {
  margin: 0;
  min-width: 10em;
}

table#settings select {
  margin: 0;
  margin-right: 1em;
  min-width: 10em;
}

div#settings_message {
  text-align: center;
}

span.full_accounts_message {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 1em;
}
