.hidden {
  display: none;
}

textarea {
  resize: none;
}

html, body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: sans-serif;
}

header {
  width: 100%;
  padding: 10px;
}

.wrapper {
  flex: 1;
  max-width: 800px;
  width: 100%;
}

.content {
  margin: 10px;
  padding: 10px;
}

footer {
  flex-shrink: 0;
  text-align: center;
  padding: 10px;
}

table {
  border-collapse: collapse;
}

tr, td {
  padding: 0;
}

.shipment-name {

}

.status-icon {
  font-size: 24pt;
  vertical-align: middle;
  display: table-cell;
  padding-right: 10px;
}

.status-text {
  font-size: 16pt;
  vertical-align: middle;
  display: table-cell;
}

.shipment-addresses {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}

.shipment-address {
  flex: 1;
}

.shipment-address > h3 {
  margin-bottom: 0;
}

.shipment-address > pre {
  margin: 0;
}

.actions {
  margin: 20px 0;
}

.form-row {
  margin-bottom: 20px;
}

textarea.invalid {
  border: 2px solid red;
}

.button-cancel {
  margin: 20px 0;
}

.tracking-table {
  height: 1px;
  border-collapse: collapse;
}

.tracking-table>tbody {
  height: 100%;
}

.tracking-table>tbody>tr {
  height: 100%;
}

.tracking-chart {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  padding: 0 10px 0 0;
  font-size: 20pt;
}

.incomplete-line {
  display: inline;
  border-left: 2px dashed black;
  flex: 1 0 20px;
}

.complete-line {
  display: inline;
  border-left: 2px solid black;
  flex: 1 0 20px;
}

.tracking-chart-text {
  vertical-align: top;
  /*border-bottom: 1px solid black;*/
  padding-bottom: 10px;
}

.tracking-chart-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.chart-icon-complete {
  border: 2px solid #2abb2a;
  background-color: #2abb2a;
}

.chart-icon-incomplete {
  border: 2px solid black;
}

.delivery-comment {
  font-family: monospace;
}

.form-hint {
  font-size: 80%;
}
