/* RESTAURANT RESERVATION */

.reservation-container {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #f7f7f7;
  /* background-color: #ffffff; */
  /* background-color: #f7f8fa; */
  min-height: 600px;
  border: solid 1px #f7f7f7;
  z-index: 2;
  /* max-height: calc(100vh - 160px);
  height: calc(100vh - 160px); */
  overflow: auto;
  padding: 30px 15px 20px;
  box-shadow: 0px -1px 20px 0 rgba(0, 0, 0, 0.07);
  transition: 1s;
  width: 300px
}

.reservation-inner {
  position: relative;
  display: inline-block;
}

.reservation-inner .reservation-closing-icon {
  position: absolute;
  right: 0;
  top: -20px;
  display: none;
  font-size: 20px;
  color: #cbcbcb;
  cursor: pointer;
}

.hour-selectable {
  float: left;
  width: 30%;
  text-align: center;
  margin: 10px 1%;
  background-color: #ffffff;
  border: solid 1px #dedede;
  border-radius: 5px;
  padding: 5px 0;
  font-size: 16px;
  cursor: pointer;
  color: #e7382f;
  transition: 0.3s;
}
.hour-selectable:hover {
  background-color: #e7382f;
  color: #ffffff;
}
.hour-selectable.hour-selected {
  background-color: #e7382f;
  color: #ffffff;
}

button.reservation-pagination-button {
  color: #4a4a4a;
  background-color: #fff;
  text-align: center;
  line-height: 30px;
  padding: 0;
  border: none;
  width: 30px;
  font-size: 16px;
  border-radius: 50%;
}
button.reservation-pagination-button:hover {
  background-color: #f0f0f0;
}
button.reservation-pagination-button:disabled,
button.reservation-pagination-button[disabled] {
  color: #dedede;
  background-color: #f0f0f0;
}

.restaurant-detail-reservation-input-container {
  width: calc(100% - 20px);
  padding: 0 10px;
  display: inline-block;
}

i.reservation-input-icon {
  float: left;
  line-height: 36px;
  font-size: 22px;
  color: #cbcbcb;
}

i.choose-time-icon {
  float: left;
  line-height: 30px;
  font-size: 22px;
  color: #cbcbcb;
  margin-right: 30px;
}

.choose-icon-label {
  font-size: 16px;
  line-height: 30px;
  color: #929292;
  font-weight: bold;
  font-style: italic;
  float: left;
}

.restaurant-detail-reservation-people-number {
  float: right;
  background-color: transparent;
  border: none;
  border-bottom: solid 1px #dadada;
  /* color: #4a4a4a; */
  color: #e7382f;
  outline: none;
  box-shadow: none;
  font-weight: bold;
  margin-bottom: 15px;
  font-style: italic;
  border-radius: 0;
  cursor: pointer;
  line-height: 32px;
  font-size: 16px;
  padding: 0 5px;
  width: calc(100% - 60px);
}
.restaurant-detail-reservation-people-number i {
  color: #4a4a4a;
}

.restaurant-detail-reservation-calendar {
  float: right;
  background-color: transparent;
  border: none;
  border-bottom: solid 1px #dadada;
  color: #4a4a4a;
  outline: none;
  box-shadow: none;
  font-weight: bold;
  margin-bottom: 15px;
  font-style: italic;
  border-radius: 0;
  cursor: pointer;
  line-height: 32px;
  font-size: 16px;
  padding: 0 5px;
  width: calc(100% - 60px);
}
.restaurant-detail-reservation-calendar .DayPickerInput {
  width: 100%;
}

input.restaurant-detail-reservation-input,
.restaurant-detail-reservation-input {
  float: right;
  width: calc(100% - 50px);
  background-color: transparent;
  border: none;
  border-bottom: solid 1px #dadada;
  color: #4a4a4a;
  font-family: 'Archivo Narrow', sans-serif;
  outline: none;
  box-shadow: none;
  font-weight: bold;
  border-radius: 0;
}
input.restaurant-detail-reservation-input::placeholder,
.restaurant-detail-reservation-input::placeholder {
  font-style: italic;
  color: #929292;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: normal;
  font-size: 16px;
}
input.restaurant-detail-reservation-input:-ms-input-placeholder,
.restaurant-detail-reservation-input:-ms-input-placeholder {
  font-style: italic;
  color: #929292;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: normal;
  font-size: 16px;
}
input.restaurant-detail-reservation-input::-moz-placeholder,
.restaurant-detail-reservation-input::-moz-placeholder {
  font-style: italic;
  color: #929292;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: normal;
  font-size: 16px;
}
input.restaurant-detail-reservation-input::-webkit-input-placeholder,
.restaurant-detail-reservation-input::-webkit-input-placeholder {
  font-style: italic;
  color: #929292;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: normal;
  font-size: 16px;
}
input.restaurant-detail-reservation-input:-moz-placeholder,
.restaurant-detail-reservation-input:-moz-placeholder {
  font-style: italic;
  color: #929292;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: normal;
  font-size: 16px;
}

.reservation-people-number-container {
  position: absolute;
  width: calc(100% - 40px);
  right: 0;
  left: 0;
  display: inline-block;
  padding: 20px;
  top: 40px;
  background-color: #fff;
  z-index: 3;
}

.reservation-people-number {
  float: left;
  width: 40px;
  line-height: 40px;
  cursor: pointer;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #4a4a4a;
  transition: 0.3s;
}
.reservation-people-number:hover {
  background-color: #f0f0f0;
}
.reservation-people-number.people-number-selected {
  background-color: #e7382f;
  color: #ffffff;
}

.reservation-button-container {
  /* display: flex; */
  float: left;
  width: 100%;
  margin: 30px 0 20px;
}

button.reservation-button {
  text-transform: uppercase;
  background-color: #e7382f;
  width: initial;
  margin: 0 auto;
  color: #ffffff;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 38px;
  border: solid 1px #e7382f;
  border-radius: 25px;
  transition: 0.3s;
}
button.reservation-button:hover {
  background-color: #ffffff;
  color: #4a4a4a;
  border: solid 1px #cbcbcb
}

.reservation-error-message {
  color: #e7382f;
  font-size: 14px;
  width: 100%;
  float: left;
  text-align: center;
}

.reservation-calendar-input {
  background-color: transparent;
  border: none;
  border-bottom: solid 1px #dadada;
  color: #4a4a4a;
  box-shadow: none;
  border-radius: 0;
}

.restaurant-detail-reservation-people-number .DayPickerInput {
  width: 100%;
}

.reservation-button-container .ReactForm form .grecaptcha-badge {
  display: none !important;
}

.reservation-container-mobile {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 999999;
}

.reservation-thank-you-message {
  font-size: 18px;
  padding-top: 20px;
  text-align: center;
}

.reservation-image-container {
  width: 100%;
  display: flex;
  text-align: center;
  margin: 30px auto;
}

.reservation-email-sent-image {
  width: 50px;
  height: 50px;
  margin: 0 auto;
}

.reservation-countdown-message {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  /* background-color: #e7382f; */
  background-color: transparent;
  padding: 10px 15px;
  align-items: center;
  line-height: 24px;
  font-size: 18px;
  /* color: #ffffff; */
}

.reservation-time-left {
  /* float: right;
  text-align: right;
  font-weight: bold;
  font-size: 23px;
  width: 100px; */
  text-align: center;
  width: 100%;
  font-size: 26px;
  font-weight: bold;
  margin-top: 20px;
}

.restaurant-mobile-reservation-banner {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #e7382f;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  cursor: pointer;
  font-size: 18px;
  line-height: 26px;
  padding: 10px;
  z-index: 100000;
  display: none;
}

.restaurant-detail-reservation-prefix {
  float: left;
  max-width: 100px;
  margin-left: 30px;
}
.restaurant-detail-reservation-prefix .react-tel-input input[type=text],
.restaurant-detail-reservation-prefix .react-tel-input input[type=tel] {
  border: none;
  background-color: transparent;
  box-shadow: none;
  border-bottom: solid 1px #dadada;
  font-family: 'Archivo Narrow', sans-serif;
}

.reservation-toc-container {
  width: 100%;
  float: left;
  margin-top: 20px;
  line-height: 16px;
  font-size: 12px;
}

.reservation-form-title {
  color: #4a4a4a;
  font-size: 20px;
  margin-bottom: 25px;
  text-transform: uppercase;
  padding: 0 10px;
  font-weight: bold;
  width: calc(100% - 20px);
}
