body {
  font-family: "Hanken Grotesk","Helvetica Neue", Helvetica, Arial;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: #3a3532;
  background-color: #fffaf7;
}

.float-right {
  float: right;
}
.d-flex {
  display: flex!important;
}
.flex-fill {
  flex: 1 1 auto!important;
}
.text-right {
  text-align: right;
}

.lh-1 {
  line-height: 1;
}

.mb-1 {
  margin-bottom:5px;
}
.mb-2 {
  margin-bottom:10px;
}
.mb-3 {
  margin-bottom:15px;
}

.mr-1 {
  margin-right:5px;
}
.mr-2 {
  margin-right:10px;
}
.mr-3 {
  margin-right:15px;
}

.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 15px;
  margin-top:-15px;
}

.table td {
  text-align: left;
  padding: .75rem;
  line-height:1.2;
  background-color: #f9f3e7;
  border-top: none !important;
}
.table th {
  text-align:left;
  background-color: #fffaf7;
  border-bottom: none !important;
  border-top: none !important;
  font-weight: normal;
  padding: 0 0.75rem;
  font-size: 90%;
  vertical-align: bottom;
}

.table td div:first-child {
  font-weight: bold;
}

.text-link {
  color: #3a3532;
  text-decoration:underline;
  cursor: pointer;
  font-size:80%;
}

.btn-waiting {
  border-radius: 2px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: bold;
  padding: 3px 6px;
  background: #E9E7E3;
  color: #3a3532;
  white-space:nowrap;
}
.btn-waiting:hover {
  color: #3a3532;
  background-color:#fffaf7;
}

.btn-book {
  border-radius: 2px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: bold;
  padding: 3px 6px;
  background-color: #FFF9F6;
  border-color: #3A3532;
  color: #3a3532;
  white-space:nowrap;
}

.btn-book:hover {
  background: #FFF9F6;
  border-color: #3A3532;
  color: #3a3532;
}

.booking-status {
  padding: 3px 6px;
  font-size:80%;
  border-radius: 2px;
  font-weight: bold;
  text-transform: uppercase;
  white-space:nowrap;
}

@media (min-width: 600px) {
  .booking-status {
    padding: 5px 10px;
    border-radius: 2px;
    font-weight: bold;
    text-transform: uppercase;
  }
  .btn-waiting {
    padding: 14px 23px;
  }
  .btn-book {
    padding: 14px 23px;
    background-color: #3a3532;
    border-color: #3a3532;
    color: #fffaf7;
  }
  .btn-book:hover {
    background-color: #3a3532;
    border-color: #3a3532;
    color: #fffaf7;
  }
}

.status-green {
  background-color: #58c394;
  color: #3a3532;
}
.status-yellow {
  background-color: #ffeb89;
  color: #3a3532;
}
.status-red {
  background-color: #ec615e;
  color: #3a3532;
}
.status-blue {
  background-color: #a7d7ed;
  color: #3a3532;
}
.status-black {
  background-color: #3a3532;
  color: white;
}
.align-middle {
  vertical-align:middle;
}

.pointer {
  cursor:pointer;
}
