/* (A) WHOLE PAGE */
* {
  font-family: Arial, Helvetica, sans-serif;
  box-sizing: border-box;
}
body {
  max-width: 1000px;
  margin: 0 auto;
  padding: 10px;
  background: #f2f2f2;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

#confirm input[type=email] {
    padding: 10px;
    margin-right: 10px;
    border: 0;
}

#confirm input[type=number] {
    padding: 10px;
    margin-right: 10px;
    border: 0;
}

#confirm textarea {
    padding: 10px;
    /*margin-right: 10px;*/
    border: 0;
}


/* (B) SELECT APPOINTMENT DATE/SLOT */
#select {
  width: 100%;
  border-collapse: collapse;
}
#select th, #select td {
  text-align: center;
  padding: 15px;
  border: 1px solid #d7d7d7;
}
#select th {
  font-weight: 700;
  color: #fff;
  background: #2460ab;
}
#select td { background: #fff; }
#select td.booked {
  color: #b1b1b1;
  background: #f3f3f3;
}
#select td.selected { background: #feffaa; }

/* (C) CONFIRMATION FORM */
#confirm {
  /*display: flex;*/
  padding: 10px;
  background: #e1e1e1;
}
#confirm input[type=text] {
  padding: 10px;
  margin-right: 10px;
  border: 0;
}
#confirm input[type=text]:focus {
  outline-width: 0;
}
#confirm input[type=submit] {
  padding: 10px 20px;
  border: 0;
  color: #fff;
  background: #2460ab;
  cursor: pointer;
}
#confirm input[type=submit]:disabled { background: #9d9d9d; }