:root {
  --primary-color: #2ea6ff;
  --secondary-color: #022648;
}

body {
  font-family: "Sarabun" !important;
}

p {
  font-family: "Sarabun" !important;
  font-weight: normal;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Sarabun" !important;
}
.prompt {
  font-family: "Sarabun" !important;
}
a:hover {
  text-decoration: none;
}
.btn-hover-style1 {
  border: none;
  background-size: 300% 100%;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.btn-hover-style1:hover {
  background-position: 100% 0;
  moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.btn-hover-style1:focus {
  outline: none;
}
.btn-hover-style1.color-5 {
  /*background-image: linear-gradient(to right, #0ba360, #3cba92, #30dd8a, #2bb673);*/
  /*background-image: linear-gradient(to right, rgba(194,203,60,1) 37%, rgba(80,203,60,1) 100%);*/
  /*background-image: linear-gradient(to right, rgba(194,203,60,1) 30%, rgba(132,77,145,1) 100%);*/
  background-image: linear-gradient(
    to right,
    rgba(194, 203, 60, 1) 39%,
    rgba(209, 88, 209, 1) 68%,
    rgba(132, 77, 145, 1) 88%
  );
}
.card {
  border-radius: 0.95rem !important;
}
.border-card {
  border-radius: 0.95rem !important;
}
.img-round-top {
  border-top-left-radius: 0.95rem !important;
  border-top-right-radius: 0.95rem !important;
}
.font-color-violet {
  color: #522582;
}

/* reservation */
.title-block {
  background-color: #022648;
  color: #fff;
  font-size: 1rem;
  padding: 15px;
  max-width: 24rem;
  margin: 15px 0;
}

.title-icon {
  vertical-align: middle;
  margin-right: 0.5rem;
}

.flip {
  transform: rotate(180deg);
}

.btn-primary-color {
  background-color: var(--primary-color) !important;
}

.btn-secondary-color {
  background-color: var(--secondary-color) !important;
}

.font-white {
  color: #fff;
}

.my-input {
  border-radius: 5rem;
  background-color: var(--secondary-color);
  color: #fff;
}

.form-control:focus {
  color: #fff;
  background-color: var(--secondary-color);
}

.circle {
  width: 1.2em;
  height: 1.2rem;
  border-radius: 50%;
  border: 1px solid #000;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}

.square {
  width: 1.2em;
  height: 1.2rem;
  border: 1px solid #000;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}

.circle.bg-white,
.day.bg-white {
  background-color: #fff;
}

.stock.bg-gray,
.circle.bg-gray,
.day.bg-gray,
.square.bg-gray,
.booth-cell.bg-gray {
  background-color: #7f7f7f;
}

.circle.bg-red,
.day.bg-red {
  background-color: #ff6161;
}

.stock.bg-secondary-color,
.square.bg-secondary-color {
  background-color: var(--secondary-color);
}

.bg-secondary-color {
  background-color: var(--secondary-color);
}

.explain-block {
  position: absolute;
  bottom: 1rem;
}

.highlight-block {
  background: var(--secondary-color);
  color: #fff;
  display: inline-block;
  padding: 10px 15px;
  border-radius: 1rem;
}

.calendar-head {
  /* display: inline-block; */
  padding: 10px 15px;
  border-radius: 0.5rem;
  margin: 1px;
}

.calendar-head.weekend {
  background: var(--secondary-color);
  color: #fff;
}

.calendar-head.weekday {
  background: #ccc;
  color: var(--secondary-color);
}

.table thead th {
  border-bottom: none;
}

.table td,
.table th {
  border-top: none;
}

.table.separate {
  border-collapse: separate;
  border-spacing: 5px;
}

.day {
  background-color: #fff;
  border: 1px solid var(--secondary);
  border-radius: 50%;
  width: 1.8rem;
  height: 1.8rem;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}

.day.empty {
  visibility: hidden;
}

.calendar-row {
  margin: 10px 0;
}

.table.bg-gray {
  background-color: #f2f2f2;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(100%);
}

.justify-content-space-around {
  justify-content: space-around;
}

.booth-cell {
  width: 11%;
  display: inline-block;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid #000;
  border-radius: 0.5rem;
  margin: 1px;
}

.date-label {
  background: var(--secondary-color);
  color: #fff;
  display: inline-block;
  padding: 10px 15px;
}

#reservationSummaryForm .form-control:disabled, #reservationSummaryForm .form-control[readonly],
#slipForm .form-control:disabled, #slipForm .form-control[readonly] {
  /* background-color: var(--secondary-color) !important; */
  color: var(--secondary-color);
}

#reservationSummaryForm {
  width: 50%;
}

.font-size-75 {
  font-size: 0.75rem;
}

.home-content {
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.8rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

.term-content {
  font-size: 0.9rem;
  font-weight: 200;
  line-height: 1.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .home-content {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .term-content {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  
  .title-block {
    max-width: 100%;
  }
  
  .btn {
    font-size: 0.9rem;
  }

  .calendar-block {
    padding: 0;
  }

  #reservationSummaryForm {
    margin: 0 auto;
    width: 80%;
  }

  .explain-block {
    margin-top: 15px;
    font-size: 0.9rem;
    position: relative;
  }

  .explain-block .circle {
    width: 1.2rem;
  }
}