:host {
  display: block;
}
.neo-slot-picker {
  position: relative;
}
.neo-popup {
  position: absolute;
  z-index: 999;
  background-color: white;
  padding: 2px;
  margin: 3px 0px;
  box-shadow: 0 0 10px lightgray;
  border: 1px solid whitesmoke;
}
.neo-input {
  min-width: 275px;
  cursor: pointer;
}
.neo-paginate, .neo-close, .neo-back{
  padding: 2px 10px;
  cursor: pointer;
  font-size: medium;
}
.neo-paginate-hidden{
  padding: 2px 10px;
}
table{table-layout:fixed;width:100%;}
tr.neo-equal-width>*:nth-last-child(2)~*{ width:50%}
tr.neo-equal-width>*:nth-last-child(3)~*{ width:33.3%}
tr.neo-equal-width>*:nth-last-child(4)~*{ width:25%}
tr.neo-equal-width>*:nth-last-child(5)~*{ width:20%}
tr.neo-equal-width>*:nth-last-child(6)~*{ width:16.7%}
tr.neo-equal-width>*:nth-last-child(7)~*{ width:14.3%}
table, th, td {
  border: 1px solid whitesmoke;
  border-collapse: collapse;
}
th, td {
  padding: 3px;
}
td {
  text-align: center;
}
.neo-right-end {
  text-align: right;
  width: 15%;
}
.neo-left-end {
  text-align: left;
  width: 15%;
}
.neo-grid {
  font-size: small;
  min-width: 275px;
}
.neo-day, .neo-time {
  padding: 2px;
}
.neo-cell-enabled {
  color: black;
}
.neo-grid tr {
  height: 1.75rem;
}
@media only screen and (min-width: 768px) {
  .neo-cell-enabled:hover {
    color: white;
    background-color: black;
  }
}
.neo-cell-selected {
  color: white;
  background-color: black;
}
.neo-day-enabled, .neo-day-selected, .neo-time-enabled, .neo-time-selected {
  cursor: pointer;
}
.neo-day-disabled {
  color: lightgray;
  cursor: not-allowed;
}
.neo-center {
  border-right: 0px;
  border-left: 0px;
}
.neo-left-end {
  border-right: 0px;
}
.neo-right-end {
  border-left: 0px;
}
.neo-empty-grid th, .neo-empty-grid td {
  border: 1px solid white;
}
.neo-no-slots-text {
  color: gray;
}