@font-face {
  font-family: Roboto;
  src: url(/font/Roboto-Regular.ttf); }

@font-face {
  font-family: Roboto;
  src: url(/font/Roboto-Black.ttf);
  font-weight: bold; }

body {
  min-height: -webkit-fill-available;
  display: flex;
  flex-direction: column;
  font-family: Roboto;
  margin: 0;
  height: 100vh;
  overscroll-behavior: none;
  overflow: hidden; }

#app-container {
  flex-grow: 1;
  background: linear-gradient(180deg, #f3f3f3 0%, #d6d6d6 35%);
  box-shadow: inset 0 0 3rem rgba(0, 0, 0, 0.5); }

.hidden {
  display: none !important; }

html {
  overflow: hidden;
  font-size: 12px !important; }

/* Portrait */
@media screen and (orientation: portrait) {
  /* Portrait styles */ }

.flex {
  display: flex; }

.badge {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  font-weight: bold;
  border: 2px solid;
  cursor: pointer;
  margin-left: 1rem;
  margin-right: 1rem;
  width: 4rem; }

.search {
  margin: 0 1rem 2rem 1rem;
  display: flex;
  align-items: center; }
  .search label {
    font-weight: bold; }
  .search select {
    margin-left: 1rem;
    border: none;
    background: none;
    font-size: 1em; }
  .search .search-text {
    background: none;
    border: none;
    border-bottom: 2px solid black;
    flex-grow: 1;
    padding: .5rem;
    font-size: 1rem; }

.sort {
  margin: 0 1rem 2rem 1rem;
  display: flex;
  align-items: center; }
  .sort label {
    font-weight: bold; }
  .sort select {
    margin-left: 1rem;
    border: none;
    background: none;
    font-size: 1em; }

.filter {
  margin: 0 1rem 1rem 1rem;
  display: flex;
  align-items: center; }
  .filter label {
    font-weight: bold; }
  .filter .filters {
    display: inline-flex; }
    .filter .filters .filter-button {
      margin-left: 1rem;
      font-weight: bold;
      padding: 0.25rem;
      border: 1px solid #021935;
      border-radius: 2px;
      color: #021935;
      cursor: pointer;
      user-select: none; }
      .filter .filters .filter-button.selected {
        background: #f1bf10;
        color: #021935; }

.wat-button {
  padding: 0.25rem .5rem;
  background-color: #1a314d;
  color: #f1bf10;
  margin: 0 .25rem; }
  .wat-button:not(.disabled) {
    cursor: pointer; }
    .wat-button:not(.disabled):hover {
      font-weight: bold; }
  .wat-button.small {
    padding: 0.5rem 0.5rem;
    font-size: 1.1rem; }
  .wat-button.big {
    padding: 0.5rem 1rem;
    font-size: 1.1rem; }
  .wat-button.spaced {
    margin: 0 1rem; }
  .wat-button.red {
    background: darkred;
    color: white; }
  .wat-button.disabled {
    background-color: #b1b1b1;
    color: #1a314d; }

.inline-container {
  display: flex; }

.clickable-text {
  text-decoration: underline;
  cursor: pointer;
  color: #0000ee !important; }

.clickable-icon {
  cursor: pointer; }

.required {
  border: 2px solid red; }

.left-align {
  text-align: left !important; }

.table-container {
  margin-bottom: 1rem;
  overflow-y: auto;
  overflow-x: hidden;
  flex-grow: 1; }

.with-icon {
  display: flex !important;
  align-items: center;
  justify-content: center; }
  .with-icon .label-value {
    flex-grow: 1; }
  .with-icon .label-icon {
    margin-right: .25em; }

input:invalid {
  border: 2px solid red !important; }

input:invalid:focus {
  border: 2px solid red !important; }

.bold-red {
  font-weight: bold;
  color: darkred; }

#loading-container {
  position: fixed;
  width: 100vw;
  height: 100vh; }
  #loading-container img {
    width: 10em;
    height: 10em;
    margin-left: calc(50vw - 5em);
    margin-top: calc(50vh - 5em); }

.collapsable-info {
  margin-bottom: 1em; }
  .collapsable-info .header {
    cursor: pointer; }
    .collapsable-info .header .header-title {
      padding: 1em;
      background: #1a314d;
      color: white;
      font-size: 1.1em;
      font-weight: bold; }
  .collapsable-info .content {
    padding: 1em;
    background: #e8e8e8; }

.margin-t-2 {
  margin-top: 2em; }

.margin-b-2 {
  margin-bottom: 2em; }
