@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

#restoresa_plugin {
  width: 100%;
  }

.picker, .picker__holder {
  position: initial;
}

.picker__holder {
  max-height: 25rem;
  opacity: 1;
  transform: translateY(0) perspective(600px) rotateX(0);
  outline: none;
}

#top input[type=text].picker__input {
  display: none;
}

.picker--time ul {
  list-style: none;
  padding: 0;
}

.picker--time ul li {
  margin-left: 0;
  padding: 5px 0 5px 10px;
}

.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.hidden {
  display: none;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.loading {
  text-align: center;
}

.loading img {
  animation: rotating 2s linear infinite;
}

#top #restoresa_plugin .form-input {
  border-radius: 10px;
}
#top #restoresa_plugin .form-input.error {
  border-color: red;
}

#form_resa {
  position: relative;
  overflow: hidden;
}

#resa_step_1 {
  position: relative;
}

.resa-block {
  margin-bottom: 10px;
}

.resa-block-title {
  display: flex;
  cursor: pointer;
  margin-bottom: 10px;
}

.resa-block-title div {
  flex-grow: 1;
}

.resa-block-title img {
  width: 20px;
  vertical-align: top;
  margin-right: 5px;
}

.resa-block-title.active span:not(:first-child) {
  transform: rotate(180deg);
}

.resa-block-content {
  display: none;
}

#nb_resa_list {
  list-style: none;
}

#nb_resa_list .select-nb-resa {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #000;
  cursor: pointer;
  border-radius: 10px;
}
#nb_resa_list .select-nb-resa:hover,
#nb_resa_list .select-nb-resa.active {
  background-color: #000;
  color: #fff;
  border: 1px solid #000;
}

#resa_service_block {
  display: flex;
  justify-content: space-around;
}

.radio-container input {
  display: none;
}

.resa-block-content .radio-container label {
  padding: 10px 40px;
  border: 1px solid #000;
  border-radius: 10px;
  cursor: pointer;
}
.radio-container label.active,
.radio-container label:hover {
  background-color: #000;
  color: #fff;
}
.radio-container label.disabled {
  cursor: default;
  border-color: #aaa;
  color: #aaa;
}
.radio-container label.disabled:hover {
  background-color: #fff;
  color: #aaa;
}

.btn-resa {
  width: 100%;
  background-color: #91783d;
  color: #fff;
  padding: 10px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
}

#resa_step_2 {
  display: none;
  position: relative;
  left: 3000px;
}

.back-to-step {
  background-color: #fff;
  cursor: pointer;
  border: none;
  padding: 5px;
  border-radius: 10px;
  margin-right: 10px;
  vertical-align: middle;
}
.back-to-step:hover {
  background-color: #ddd;
}

.back-to-step img {
  vertical-align: middle;
}

#infos_resa {
  display: inline-block;
  vertical-align: middle;
}

#infos_resa img {
  width: 20px;
  margin-right: 5px;
  vertical-align: top;
}

#infos_resa span {
  margin-right: 10px;
}

input[type=radio] {
  margin: 0 5px 0 0;
  vertical-align: text-top;
}

#top .radio-label {
  font-weight: normal;
  margin-right: 15px;
}

.width-50 {
  display: inline-block;
  width: 50%;
  padding: 0 5px;
}

#civility_error,
#send_resa_error,
#valid_resa_error {
  display: none;
  color: red;
}

.code-container {
  display: flex;
  justify-content: space-evenly;
}

#top #restoresa_plugin .code-input {
  width: 40px;
  height: 50px;
  font-size: 30px;
  padding-left: 10px;
}