div#page {
  overflow: visible;
}

div#page aside#sidebar > section {
  margin-bottom: 1em;
}

div#page section#content {
  overflow: visible;
}

.sidebar-container #sidebar {
  min-width: 230px;
}

@media (width >= 1080px) {
  .sidebar-container #sidebar {
    min-width: 245px;
  }
}

@media (width >= 1920px) {
  .sidebar-container #sidebar {
    min-width: 280px;
  }
}

div.page-heading {
  display: flex;
  margin-bottom: 1em;
}

div.page-heading h1 {
  flex-grow: 1;
  line-height: 1em;
}

div.page-heading a {
  align-self: center;
}

table.striped td,
table.striped th {
  padding: 4px 6px;
}

table.striped tbody tr {
  border-bottom: 1px solid var(--table-row-border-color, var(--default-border-color, var(--emalm-ui-border)));
}

table.striped tbody tr:hover {
  background: var(--table-row-hover-background, var(--emalm-ui-surface-2));
}

table.striped thead tr {
  border-bottom: 2px solid var(--table-header-border-color, var(--default-border-color, var(--emalm-ui-border-strong)));
}

table.striped thead th {
  text-align: left;
}

table.striped tr:nth-child(even) {
  background: var(--table-even-row-background, var(--emalm-ui-surface-2));
}

table.autofit td,
table.autofit th,
table.autofit .col-fit {
  padding-right: 2em;
  white-space: nowrap;
}

table.autofit .col-expand {
  white-space: normal;
  width: 100%;
}

table.autofit .col-normal {
  white-space: normal;
}

table.search th,
table.aligned-vertical th {
  padding-right: 1em;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

table.search td,
table.aligned-vertical td {
  vertical-align: middle;
}

form.simple_form {
  margin: 0 0 1em;
}

form.simple_form label {
  font-weight: bold;
}

form.simple_form div.input {
  margin-bottom: 1em;
}

form.simple_form div.input .hint {
  padding-left: 1em;
}

@media (width <= 660px) {
  form.simple_form div.input .hint {
    display: block;
    padding-left: 0;
  }
}

form.simple_form div.input.field_with_errors input,
form.simple_form div.input.field_with_errors select,
form.simple_form div.input.field_with_errors textarea {
  border: 1px solid var(--form-input-validation-error-border-color, var(--emalm-ui-danger-border));
}

form.simple_form div.input.field_with_errors span.error {
  color: var(--form-input-validation-error-text-color, var(--emalm-ui-danger-text));
  display: block;
  font-size: 0.875em;
  font-style: italic;
}

form.simple_form div.input.text .hint {
  display: block;
  padding-left: 0;
}

form.simple_form div.input.text textarea {
  max-height: 15rem;
  max-width: 60rem;
  width: 100%;
}

form.simple_form div.input select[multiple] {
  height: 20vh;
  max-height: 15rem;
}

form.simple_form div.input label {
  display: block;
  line-height: 1.5em;
}

form.inline-form {
  display: table;
  width: 100%;
}

form.inline-form > div.input {
  display: table-row;
  line-height: 2em;
}

form.inline-form > div.input label {
  display: table-cell;
  line-height: 1em;
  padding-right: 1em;
  text-align: right;
  white-space: nowrap;
  width: 1%;
}

form.inline-form > div.input input,
form.inline-form > div.input select,
form.inline-form > div.input textarea {
  display: table-cell;
  line-height: 1em;
}

form.quick-search-form {
  margin: 0;
}

form.quick-search-form input {
  background: var(--quick-search-form-background, var(--form-input-background, var(--card-background-color)));
}

div.ui-dialog textarea,
div.ui-dialog input[type="text"] {
  max-width: 100%;
  width: 100%;
}
