
/************* reservation *************/
/* .resv-swiper */
.resv-swiper {
    display:flex;
    justify-content:center;
}
.resv-swiper .swiper-slide{
    display: flex;
    justify-content: center;
    align-items: center;
}
.resv-swiper .swiper-slide a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
    
.resv-swiper .swiper-pager {
    display:flex;
}
.resv-swiper .swiper-pager{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    color:#333;
    font-size:20px;
}
.resv-swiper .swiper-pager > div:not(.swiper-pagination){
    cursor: pointer;
    transition: .3s;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.resv-swiper .swiper-pager > div:not(.swiper-pagination):hover,
.resv-swiper .swiper-pager > div:not(.swiper-pagination):focus{
    transform: scale(1.2);
}
.resv-swiper .swiper-button button{
    border:0;
    background: 0;
    cursor: pointer;
}
.resv-swiper .swiper-button.stop .swiper-play{
    display: none;
}
.resv-swiper .swiper-button.play .swiper-play{
    display: block;
}
.resv-swiper .swiper-button.stop .swiper-stop{
    display: block;
    margin: 0 0 3px 0;
}
.resv-swiper .swiper-button.play .swiper-stop{
    display: none;
}
.resv-swiper .swiper-pager .swiper-button-prev, .resv-swiper .swiper-pager .swiper-button-next{
    width: 40px;
    height: 40px;
}

/* .resv-calendar-box */
.message-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align:center;
  height: 100%;
}
.message-box .text {
  margin:20px 0;
  font-weight: 600;
}
.resv-calendar-box {
  border: solid 1px #dee2e6;
  font-family: 'Noto Sans', 'NotoSansKR', sans-serif;
  letter-spacing: 0;
}
.resv-calendar-box .row > div {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.resv-calendar-box .row > div:first-child {
  border-bottom: solid 1px #dee2e6;
}

/* .btn.collapsed */
.resv-calendar-box .btn-more[data-toggle="collapse"] {
  position: relative;
  width: 38px;
  height: 38px;
  
}
.resv-calendar-box .btn-more[data-toggle="collapse"]::after {  
  content: "\f283";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  font-family: 'bootstrap-icons' !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  font-size: 1rem;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
}
.resv-calendar-box .btn-more[data-toggle="collapse"][aria-expanded="false"]::after {
  /* content: "Ã¬â€”Â´ÃªÂ¸Â° " "\f282"; */
  content: "\f282";
}
.resv-calendar-box .btn-more[data-toggle="collapse"][aria-expanded="true"]::after {
  /* content: "Ã«â€¹Â«ÃªÂ¸Â° " "\f286"; */
  content: "\f286"; 
}

@media(max-width: 375px) {
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(1) {
    order: 3;
  }
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(2) {
    order: 1;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 50%;
    max-width: 50%;
  }
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(3) {
    order: 2;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 50%;
    max-width: 50%;
  }
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(4) {
    order: 4;
  }
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(5) {
    order: 5;
  }
  .resv-calendar-box .month-selector > [class*='col-']:nth-child(6) {
    order: 6;
  }
}

/* row box spacing */
.resv-calendar-box .row > div {
  padding-left: 10px;
  padding-right: 10px;
}
.resv-calendar-box .row > div > .form-row {
  justify-content: center;
  padding-left: 12px;
  padding-right: 12px;
}
.resv-calendar-box .row > div:last-child {
  padding-left: 20px;
  padding-right: 20px;
}
.resv-calendar-box .row > div > .form-row .btn {
  border:1px solid #ced4da;
  border-radius: 3px;
  color:#333;
  font-weight: 700;
}
.resv-calendar-box .row > div > .form-row .btn.btn-secondary {
  color:#fff
}
.resv-calendar-box .row > div > .form-row .form-group > select {
  color:#444;
  font-weight: 700;
}

@media(min-width: 576px) {
  .resv-calendar-box .row > div {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media(min-width: 992px) {
  .resv-calendar-box .row > div {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .resv-calendar-box .row > div:first-child {
    border-bottom: none;
    border-right: solid 1px #dee2e6; 
  }
}

.resv-calendar-box #calendar {
  position: relative;
}

/* fc-header-toolbar  */
.resv-calendar-box .fc .fc-toolbar.fc-header-toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
}
.resv-calendar-box .fc-toolbar-chunk > [class*='btn-'] {
  margin: 0 5px;
}
.resv-calendar-box .fc-toolbar-chunk > [class*='btn-']:first-child {
  margin-left: 0;
}
.resv-calendar-box .fc-toolbar-chunk > [class*='btn-']:last-child {
  margin-right: 0;
}

.resv-calendar-box .fc-toolbar-title {
  font-size: 1.25rem;
}

/* fc-view */
/* fc-dayGridMonth-view */
.resv-calendar-box .fc-dayGridMonth-view table[role="grid"] {
  margin-left: auto;
  margin-right: auto;
  border: none;
}
.resv-calendar-box .fc-dayGridMonth-view [role="presentation"] {
  border: none;
}
.resv-calendar-box [role="columnheader"] {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  border: none;
}
.fc .fc-col-header-cell-cushion {
  color: #666 !important;
}
@media(min-width: 768px) {
  .resv-calendar-box [role="columnheader"] {
    font-size: 1rem;
  }
}

/* cell spacing */
.resv-calendar-box .fc-daygrid-day-frame:before, 
.resv-calendar-box .fc-daygrid-day-events:before,
.resv-calendar-box .fc-daygrid-event-harness:before,
.resv-calendar-box .fc-daygrid-day-frame:after,
.resv-calendar-box .fc-daygrid-day-events:after,
.resv-calendar-box .fc-daygrid-event-harness:after,
.resv-calendar-box .fc .fc-daygrid-day-bottom:before,
.resv-calendar-box .fc .fc-daygrid-day-bottom:after {
  border-spacing: 0;
}
.resv-calendar-box .fc-scroller > table[role="presentation"] {
  border-spacing: 10px 0;
}
.resv-calendar-box .fc-daygrid-body > table[role="presentation"] {
  border-spacing: 10px;
}

.resv-calendar-box .fc-scroller > table[role="presentation"],
.resv-calendar-box .fc-daygrid-body > table[role="presentation"] {
  border-collapse: inherit;
  margin: 0 auto;
}
.resv-calendar-box [role="gridcell"] {
  box-sizing: border-box;
  background: #fff;
  border: none;
  border-radius: 50px;
}
.resv-calendar-box [role="gridcell"]:hover {
  cursor: pointer;
}

.resv-calendar-box .fc-daygrid-day-frame {
  height: 40px;
}

@media(min-width: 576px) {
  .resv-calendar-box .fc-scroller > table[role="presentation"],
  .resv-calendar-box .fc-daygrid-body > table[role="presentation"] {
  max-width: 560px;
  }
  .resv-calendar-box .fc-daygrid-day-frame {
    min-height: 60px;
  }
}
@media(min-width: 768px) {
  .resv-calendar-box .fc-scroller > table[role="presentation"],
  .resv-calendar-box .fc-daygrid-body > table[role="presentation"] {
  }
  .resv-calendar-box .fc-daygrid-day-frame {
    min-height: 56px;
  }
  .resv-calendar-box .fc-scroller > table[role="presentation"] {
    border-spacing: 20px 0;
  }
  .resv-calendar-box .fc-daygrid-body > table[role="presentation"] {
    border-spacing: 0 20px;
  }
}
@media(min-width: 992px) {

  .resv-calendar-box .fc-daygrid-day-frame {
    min-height: 74px;
  }
}

 /* font-size */
 .resv-calendar-box .fc-daygrid-block-event {
  font-size: 10px;
  line-height: 1;
}
.resv-calendar-box .fc-daygrid-dot-event {
  font-size: 10px;
  line-height: 1;
}

.resv-calendar-box .fc-daygrid-day-top {
  font-size: 0.875rem;
  font-weight: 700;
}

@media(min-width: 768px) {
  .resv-calendar-box .fc-daygrid-day-top {
    font-size: 1.125rem;
  }  
}

@media(min-width: 1200px) {
  .resv-calendar-box .fc-daygrid-day-top {
    font-size: 1.5rem;
  }
}
@media(min-width: 1400px) {
  .resv-calendar-box .fc-daygrid-day-top {
    font-size: 1.75rem;
  }
}

/* cell style */
.resv-calendar-box .fc-daygrid-day-top {
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.resv-calendar-box .fc-daygrid-day-top .fc-daygrid-day-number {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  /*color: #333;*/
}
.resv-calendar-box .day-selected .fc-daygrid-day-top .fc-daygrid-day-number {
  color:#fff
}

/* hide events */
.resv-calendar-box .fc .fc-daygrid-body .fc-daygrid-day-events {
  opacity: 0;
  width: 0;
  height: 0;

  margin-bottom: 0;
  min-height: calc(100% - 1px);
  z-index: 2;
}
.resv-calendar-box .fc-daygrid-day-events .fc-daygrid-event-harness {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 10px;
}
.resv-calendar-box .fc-daygrid-day-events .fc-daygrid-event {
  border-radius: 10px;
}
.resv-calendar-box .fc-day-other {
  opacity: 0.4;
}
.fc .fc-daygrid-day.fc-day-today {
  position:relative;
  background-color: #eaf2fb !important;
  border-radius: 50px;
  color: var(--primary);
}
.fc .fc-daygrid-day.fc-day-today::before {
  content:'Today';
  display:inline-block;
  text-align:center;
  position:absolute;
  left:50%;
  top: 0;
  font-size: 12px;
  font-weight: 600;
  transform: translateX(-50%);
}
.fc .fc-daygrid-day.fc-day-future {
  position: relative;
}
.fc .fc-daygrid-day.fc-day-future.day-include {
  background-color: var(--primary) !important;
  border-radius: 0;
}
.fc .fc-daygrid-day.fc-day-future.day-include-start {
  background-color: var(--primary) !important;
  border-radius: 50px 0 0 50px;
}
.fc .fc-daygrid-day.fc-day-future.day-include-end {
  background-color: var(--primary) !important;
  border-radius: 0 50px 50px 0;
}
.fc-daygrid-day.fc-day-future.day-include-start.day-include-end, .fc .fc-daygrid-day.fc-day-today.day-include-start.day-include-end {
  border-radius: 50px;
}
.resv-calendar-box .day-include .fc-daygrid-day-top .fc-daygrid-day-number, .resv-calendar-box .day-include-start .fc-daygrid-day-top .fc-daygrid-day-number, .resv-calendar-box .day-include-end .fc-daygrid-day-top .fc-daygrid-day-number {
  color: #fff;
}
.fc .fc-daygrid-day.fc-day-today.day-include {
  background-color: var(--primary) !important;
  color: #fff;
}
.fc .fc-daygrid-day.fc-day-today.day-include-start {
  background-color: var(--primary) !important;
  color: #fff;
  border-radius: 50px 0 0 50px;
}
.fc .fc-daygrid-day.fc-day-today.day-include-end {
  background-color: var(--primary) !important;
  color: #fff;
  border-radius: 0 50px 50px 0;
}
.fc .fc-daygrid-day.fc-day-today.day-include.day-selected {
  background-color: var(--primary) !important;
  border-radius: 50px;
}
/* additional-class */
.resv-calendar-box [role="gridcell"].day-selected {
  border: none;
  background-color: var(--primary) !important;
  color: #fff;
}
.resv-calendar-box [role="gridcell"].day-selected .fc-daygrid-day-top {
  /* color: #094CB2; */
}
.resv-calendar-box [role="gridcell"].fully-booked {
    border: none;
    background-color: #fff;
    opacity: 0.4;
}
.resv-calendar-box [role="gridcell"].fully-booked .fc-daygrid-day-top {
    color: #b4b4b4;
}

.resv-calendar-box [role="gridcell"].fully-booked:hover {
  cursor: default;
}

.resv-calendar-box [role="gridcell"].fully-booked {
    border: none;
    background-color: #fff;
}



/* timetable */
.timetable .tit-h3 {
  font-family:var(--font-type01);
  font-size:26px;
}
.timetable .table .btn  {
  padding: 0 9px;
  background:#fff;
}
.timetable .table .text-point {
  font-size:20px;
  color:var(--primary);
  text-align: center;
}
.timetable .table input[type="checkbox"]{
   display:none; 
}
.timetable .table input[type="checkbox"] + label,
.timetable .table button {
  position: relative;
  padding-left: 25px;
  color:var(--primary);
  font-weight: 600;
}
.timetable .table input[type="checkbox"] + label::after {
  content:'';
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius:3px;
}
.timetable .table input[type="checkbox"]:disabled + label::after {
  background:var(--danger);
  border-color:var(--danger);
}
.timetable .table input[type="checkbox"]:disabled + label {
  color:var(--danger);
}
.timetable input[type="checkbox"]:checked + label::before {
  content:'\F26E';
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);  
  font-family: 'bootstrap-icons';
  color: #fff;
  font-size: 18px;
  line-height: 1;
}
.timetable .table input[type="checkbox"]:checked + label::after {
  background:var(--primary);
  border-color:var(--primary);
}
.timetable button.cancel {
  position:relative;
  background:none;
  border:none;
  color:var(--primary);
}
.timetable button.cancel::before {
  content:'\F623';
  display:inline-block;
  position:absolute;
  top:-1px;
  left:0;
  font-family: 'bootstrap-icons';
  font-size:20px;
  background:none;
  border:none;
}
.timetable button.cancel:hover, .timetable button.cancel:focus {
  cursor:pointer
}