#ibt_master_section .ftco-section {
  padding: 7em 0; }

#ibt_master_section .ftco-no-pt {
  padding-top: 0; }

#ibt_master_section .ftco-no-pb {
  padding-bottom: 0; }

#ibt_master_section .heading-section {
  font-size: 28px;
  color: #000; }

#ibt_master_section .img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

#ibt_master_section .content {
  overflow: none;
  padding: 0px 0;
  position: relative;
}

/*  Events display */

  @media (max-width: 767.98px) {
    #ibt_master_section .events-container { } }

#ibt_master_section .events-container { 
  font-size: 1rem !important;
  color:  var(--almond) !important;
}

#ibt_master_section .time-section-title {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px;
    color: var(--mocha);
    margin-bottom: 6px;
  }
#ibt_master_section  .time-section-date {
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: var(--almond);
    margin-bottom: 5px;
    letter-spacing: 0.3px;
  }


#ibt_master_section .events-container { } 

#ibt_master_section .event-card {
  padding: 20px 0;
  max-width: 100%;
  display: block;
  border: none !important;
  margin: 20px;
  margin-left: 12px; }
  @media (max-width: 991.98px) {
    .event-card {
      margin: 10px; } }
  @media (max-width: 767.98px) {
    .event-card {
      margin: 0;
      background: #e6e6e6; } }

#ibt_master_section .event-count, .event-name, .event-cancelled {
  display: inline;
  padding: 0 10px;
  font-size: 1rem; }

#ibt_master_section .event-count {
  color: #7e0cf5;
  text-align: right; }

#ibt_master_section .event-name {
  padding-right: 0;
  text-align: left; }

#ibt_master_section .event-cancelled {
  color: #cd4dcc;
  text-align: right; }

/*  Calendar wrapper */
#ibt_master_section .calendar-container {
  position: relative;
  margin: 0 auto;
  width: 100%;
  background: #FFFFFF;
  box-shadow: 0 2px 20px rgba(106, 76, 76, 0.06);
  -webkit-box-shadow:  0 2px 20px rgba(106, 76, 76, 0.06);
  -moz-box-shadow:  0 2px 20px rgba(106, 76, 76, 0.06);
  border-radius: 20px;
  font: 13px 'Montserrat', sans-serif;
  display: inline-block;
  padding: 36px;
  float: left; 
}
  @media (max-width: 991.98px) {
    #ibt_master_section .calendar-container {
      padding: 0; } }
  @media (max-width: 767.98px) {
    #ibt_master_section .calendar-container {
      padding: 0;
      width: 100%; } }

#ibt_master_section .calendar-container:after {
  clear: both; }

#ibt_master_section .calendar {
  width: 100%;
  padding: 0; }

/* Calendar Header */
#ibt_master_section .year-header {
  height: 40px;
  text-align: center;
  position: relative;
  color: var(--mocha);
  border-top-left-radius: 3px;
  margin-top: 20px;
  font-weight: 500;    
}

#ibt_master_section .year-header span {
  display: inline-block;
  font-size: 22px;
  line-height: 40px;
  color: var(--mocha);
  font-family: 'Playfair Display', serif;
}

#ibt_master_section .left-button, #ibt_master_section .right-button {
  cursor: pointer;
  width: 28px;
  text-align: center;
  position: absolute;
  color: #cccccc !important;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  font-size: 14px !important; }
  @media (prefers-reduced-motion: reduce) {
    #ibt_master_section .left-button, #ibt_master_section .right-button {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  #ibt_master_section .left-button:hover, #ibt_master_section .right-button:hover {
    color: #7e0cf5 !important; }

#ibt_master_section .left-button {
  left: 0; }

#ibt_master_section .right-button {
  right: 0;
  top: 0; }


 #ibt_master_section .year-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }

  #ibt_master_section .year-nav button {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--blush);
    font-size: 18px;
    padding: 8px;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
  }

#ibt_master_section .year-nav button:hover { background: var(--ivory); }

#ibt_master_section   .year-label {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px;
    color: var(--mocha);
  }







/* Buttons */
#ibt_master_section .button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  font-size: 1rem;
  border-radius: 25px;
  padding: 0.65rem 1.9rem;
  -webkit-transition: .2s ease all;
  -o-transition: .2s ease all;
  transition: .2s ease all;
  color: white;
  border: none;
  background: #7e0cf5; }
  #ibt_master_section .button.button-white {
    background: #fff;
    color: #000; }
  #ibt_master_section .button:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none; }

#ibt_master_section #cancel-button {
  background: #cd4dcc; }

#ibt_master_section #add-button {
  display: block;
  position: absolute;
  right: 20px;
  bottom: 20px; }

#ibt_master_section #add-button:hover, #ibt_master_section #ok-button:hover, #ibt_master_section #cancel-button:hover {
  -webkit-transform: scale(1.03);
  -ms-transform: scale(1.03);
  transform: scale(1.03); }

#ibt_master_section #add-button:active, #ibt_master_section #ok-button:active, #ibt_master_section #cancel-button:active {
  -webkit-transform: translateY(3px) scale(0.97);
  -ms-transform: translateY(3px) scale(0.97);
  transform: translateY(3px) scale(0.97); }

/* Days/months tables */
#ibt_master_section .days-table, #ibt_master_section .dates-table, #ibt_master_section .months-table {
  border-collapse: separate;
  text-align: center; }

#ibt_master_section .months-table{
  border-spacing: 2px;
}

#ibt_master_section .days-table{
      display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 8px;
    border-bottom: 1px solid var(--pearl);
    padding-bottom: 12px;
}

  #ibt_master_section .weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 8px;
    border-bottom: 1px solid var(--pearl);
    border-top: 1px solid var(--pearl);
    padding-bottom: 12px;
    padding-top: 12px;
  }

  #ibt_master_section .weekday {
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--almond);
    text-align: center;
  }

#ibt_master_section .day {
  height: 26px;
  width: 26px;
  padding: 0 10px;
  line-height: 26px;
  border: 2px solid transparent;
  text-transform: uppercase;
  font-size: 10px;
  color: #000; }
#ibt_master_section .months-row{
  padding-bottom: 10px;
}
#ibt_master_section .months-row .month {
  font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--almond);
    border: none;
    cursor: pointer;
    border-radius: 6px;
    /* white-space: nowrap; */
  background-color: transparent;
  /* height: 26px; */
  width: 8% !important;
  margin: 0px 1px;
  /* line-height: 26px; */
  text-transform: uppercase;
  -webkit-transition: all 250ms;
  -o-transition: all 0.2s;
  transition: all 0.2s; 
  text-align: center;
  padding: 10px 0;

}
@media (max-width: 991.98px) {

}
@media (max-width: 767.98px) {
   #ibt_master_section .months-row .month  {
      width: 16% !important;
    } 
}

#ibt_master_section .active-month {
  color: var(--mocha) !important; 
  font-weight: 600 !important; 
  background: var(--pearl) !important;  
 }

#ibt_master_section .month:hover {
  color: var(--mocha); 
  background: var(--ivory);  
 }

/*  Dates table */
#ibt_master_section .table-date {
  cursor: default;
  height: 26px;
  width: 26px;
  font-size: 15px;
  padding: 10px;
  text-align: center;
  margin: 3px;
  border: 2px solid transparent;
  -webkit-transition: all 250ms;
  -o-transition: all 250ms;
  transition: all 250ms;
  position: relative; 
      font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: var(--mocha);
    line-height: 1;
}

#ibt_master_section .today{
  
}
#ibt_master_section .weekend{
  color: var(--almond); 
}
#ibt_master_section td.table-date:not(.event-date) {
     background: none !important
}

#ibt_master_section .services:hover{
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  background-color: var(--pill-bg-hover);
}

#ibt_master_section .event-date {
  border: none;
  background: none;
    color: var(--mocha);
}


#ibt_master_section .active-date {
  background: #4c93a5;
  color: #fff; }

#ibt_master_section .event-date.active-date {
    background: var(--mocha);
    border-color: var(--mocha);
    color: var(--pearl);
    font-weight: 500;
    border-radius: 10px;
}


#ibt_master_section .table-date .availability-dot{
  display: none;
}

#ibt_master_section .event-date .availability-dot{
  display: block;
}

#ibt_master_section  .active-date .availability-dot{ background: var(--pearl) !important; }

  #ibt_master_section .availability-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--blush);
    margin-top: 5px;
    margin: 5px auto;
  }

#ibt_master_section tr.table-row:hover>td:not(.event-date) {
  background: none;
}
#ibt_master_section tr.table-row:hover>td.event-date:not(.active-date) {
  background: none;
}

#ibt_master_section .event-date:hover {
  cursor: pointer;
   background: var(--ivory) !important;
   border-radius: 10px;
   color: var(--mocha) !important;
}

/* input dialog */
#ibt_master_section .dialog {
  z-index: 5;
  background: #000;
  position: absolute;
  width: 50%;
  height: 500px;
  top: 0;
  right: 0;
  display: none; }
  @media (max-width: 767.98px) {
#ibt_master_section     .dialog {
      width: 100%; } }

#ibt_master_section .dialog-header {
  margin: 20px;
  color: #fff;
  text-align: center;
  font-size: 28px; }

#ibt_master_section .form-container {
  margin-top: 25%; }

#ibt_master_section .form-label {
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.9); }

#ibt_master_section .input {
  border: none;
  background: none;
  border-bottom: 1px rgba(255, 255, 255, 0.2) solid;
  display: block;
  margin-bottom: 50px;
  width: 300px;
  height: 20px;
  text-align: center;
  -webkit-transition: border-color 250ms;
  -o-transition: border-color 250ms;
  transition: border-color 250ms;
  color: #fff; }

#ibt_master_section .input:focus {
  outline: none;
  border-color: #fff; }

#ibt_master_section .error-input {
  border-color: #cd4dcc; }


#ibt_master_section .dates-table{
  border-spacing: 2px;
}


#ibt_master_section .months-bar {
    display: flex;
    gap: 2px;
    margin-bottom: 28px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  #ibt_master_section   .month-btn {
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--almond);
    background: none;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s;
    white-space: nowrap;
  }

#ibt_master_section   .month-btn:hover { color: var(--mocha); background: var(--ivory); }
#ibt_master_section   .month-btn.active { color: var(--mocha); font-weight: 600; background: var(--pearl); }