.nbm-container-background {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: .5;
}

.nbm-item.nbm-booking-submit {
  text-align: center;
}

.nbm-container,
.nbm-container-age {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 20px 20px;
}

.nbm-container-age {
  margin-top: -20px;
}

.nbm-check-in>label,
.nbm-check-out>label,
.nbm-count>label {
  font-size: 1em;
}

#check-in,
#check-out,
#promo-input,
#loyalty-input,
.nbm-item>select {
  width: 100%;
  padding: 10px;
}

#adults {
  margin-right: 20px;
}

.nbm-item {
  width: 100%;
  padding: 20px 20px 0 0;
  display: block;
}

.nbm-item.nbm-count,
.nbm-item.nbm-age {
  width: 50%;
}

.nbm-item.nbm-count .nbm-count-increment {
  display: flex;
}

.nbm-item.nbm-count .nbm-count-increment button {
  width: 25%;
  padding: 0;
}

.nbm-item.nbm-count .nbm-count-increment input {
  width: 50%;
  text-align: center;
  padding: 10px 0;
  margin: 0 !important;
}

#booking-submit {
  width: 100%;
  padding: 10px;
  border: none;
}

.form-invalid .form-required,
.form-invalid .form-required:focus,
.form-invalid.form-required input,
.form-invalid.form-required input:focus,
.form-invalid.form-required select,
.form-invalid.form-required select:focus {
  border-color: #d63638 !important;
  box-shadow: 0 0 2px rgb(214 54 56 / 80%);
}

.form-invalid-text {
  font-size: 10px;
  font-size: 14px;
  color: #d63638;
}

.nbm-hr {
  width: 100%;
  grid-column: 1/5;
  margin-bottom: 0;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .nbm-item {
    width: 40%;
  }

  .nbm-item.nbm-count {
    width: 10%;
  }

  .nbm-item.nbm-booking-submit {
    width: 20%;
  }

  .nbm-item.nbm-age {
    width: 20%;
  }
}