div.calendar *,
div.calendar *::before,
div.calendar *::after {
  box-sizing: border-box;
}

.has-calendar > .hasLoader {
  width: 100%;
  min-height: 100vh;
}

div.calendar {
  font-family: Helvetica, Verdana, Arial, sans-serif;
  border-radius: 10px;
  position: relative;
  min-height: 10vw;
  text-align: left;
  width: 100%;
  padding: 10px;
}

div.calendar .iCalendar header .date,
div.calendar .iCalendar .calendar-header {
  text-align: center;
}

div.calendar header {
  width: 100%;
}

div.calendar .iCalendar header {
  display: flex;
  align-items: center;
  justify-content: center;
}

div.calendar .iCalendar .date {
  padding: 22px 0;
  width: 65%;
  font-size: 18px;
  line-height: 24px;
}

div.calendar .iCalendar .caret {
  width: 15px;
  height: 15px;
  border-top: 2px solid #3c4b64;
  border-left: 2px solid #3c4b64;
  margin: 0 auto;
}

div.calendar .iCalendar .previous,
div.calendar .iCalendar .next {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

div.calendar .iCalendar .previous .caret {
  transform: rotate(-45deg);
}

div.calendar .iCalendar .next .caret {
  transform: rotate(135deg);
}

div.calendar .iCalendar .inner-calendar {
  margin-bottom: 50px;
}

div.calendar .iCalendar .rowTable {
  display: flex;
  justify-content: space-between;
  margin: 0;
  gap: 10px;
  margin-bottom: 10px;
}

div.calendar .iCalendar .headDays {
  font-size: 15px;
  line-height: 32px;
  font-weight: 400;
  color: #ff4e5b;
}

div.calendar .iCalendar .dayTD {
  width: 14.2857%;
  font-size: 15px;
  line-height: 32px;
  border: 1px solid #d8dbe0;
  padding: 5px;
  border-radius: 5px;
}
div.calendar .iCalendar .dayTD .title {
  cursor: pointer;
}
div.calendar .iCalendar .dayTD .title:hover {
  text-decoration: underline;
  color: #3c4b64;
}

div.calendar .iCalendar .calendar-body .dayTD {
  min-height: 4.5vw;
}

div.calendar .iCalendar .dayTD.empty {
  background-color: #f9f9f9;
}

body.dark-theme {
  background-color: transparent;
}

div.calendar .iCalendar .calendar-body .dayTD .day {
  width: 22px;
  height: 22px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

div.calendar .iCalendar .calendar-body .dayTD.today .day {
  position: relative;
}

div.calendar .iCalendar .calendar-body .dayTD.today .day::after {
  position: absolute;
  content: "";
  border: 2px solid #8d8d8d;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: translate(0, -1px);
}

div.calendar .iCalendar .calendar-body .dayTD {
  position: relative;
}
div.calendar .iCalendar .calendar-body .dayTD .btn {
  display: none;
}
div.calendar .iCalendar .calendar-body .dayTD:hover .btn {
  display: block;
}

div.calendar .iCalendar .dayTD .cta-button {
  display: none;
  width: 30px;
  height: 20px;
  padding: 0 5px;
}

div.calendar .iCalendar .dayTD:hover .cta-button {
  display: inline-block;
}

div.calendar .iCalendar .dayTD .cta-button svg {
  width: 100%;
  height: 100%;
}
div.calendar .iCalendar .dayTD .cta-button svg path {
  fill: #3c4b64;
  transition: fill 0.3s;
}

div.calendar .iCalendar .dayTD:hover .cta-button svg path {
  fill: #3c4b64;
}

div.calendar .iCalendar .calendar-body .dayTD .events {
  font-size: 12px;
  margin-top: 5px;
  line-height: 14px;
  padding-left: 3px;
}

div.calendar .iCalendar .calendar-body .dayTD .events ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
div.calendar .iCalendar .calendar-body .dayTD .events ul li {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
}

div.calendar .iCalendar .calendar-body .dayTD .events .cta-button svg {
  width: 100%;
  height: auto;
}

div.calendar .iCalendar .dayTD.day:before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background-color: green;
  width: 30px;
  height: 30px;
  margin: -15 0 0 -15;
  border-radius: 50%;
}

div.calendar .iCalendar .headMonthsYear {
  display: block;
}

@media screen and (max-width: 767px) {
  div.calendar .iCalendar .headDays .day .short {
    display: none;
  }
}
@media screen and (max-width: 560px) {
  div.calendar .iCalendar .dayTD {
    background-color: rgba(215, 215, 215, 0.7);
    color: #a4a4a4;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  div.calendar .iCalendar .dayTD:hover .cta-button {
    display: none;
  }
  div.calendar .iCalendar .dayTD.event {
    background-color: transparent;
  }
  div.calendar .iCalendar .dayTD.event .day {
    color: #ff4e5b;
  }
  div.calendar .iCalendar .dayTD.event:hover .events {
    text-align: left;
    display: block;
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: -moz-max-content;
    width: max-content;
    background-color: white;
    color: black;
    margin-top: 0;
    padding: 8px;
    z-index: 2;
    transform: translateX(-50%);
    min-height: 100%;
    box-shadow: 3px 3px 6px -1px rgba(0, 0, 0, 0.3);
  }
  div.calendar .iCalendar .dayTD.event .events {
    display: none;
  }
}
.modal form#order-form .basket {
  bottom: 106px;
}
.modal .modal-dialog form {
  text-align: left;
}
.modal .modal-dialog h2 {
  font-size: 28px;
  margin-bottom: 20px;
}
.modal .modal-dialog h3 {
  font-size: 18px;
  margin-bottom: 20px;
}
.modal .modal-dialog.modal-xxl {
  max-width: 100%;
}
.modal .modal-dialog.modal-xxl .modal-content {
  border: 0 none;
}
.modal .modal-dialog .modal-body {
  text-align: center;
}
.modal .modal-dialog .modal-body .header-content {
  max-width: 400px;
  margin: 0 auto;
}
.modal .modal-dialog .modal-body .header-content img {
  max-width: 100%;
  max-height: 350px;
}

body.dark-theme .modal {
  color: #3c4b64;
}
body.dark-theme .modal .modal-xxl {
  color: white;
}
body.dark-theme .modal .modal-xxl .modal-content {
  background-color: transparent;
}

body.modal-booking-open {
  overflow: auto;
}
body.modal-booking-open .c-body {
  display: none;
}
body.modal-booking-open .modal-backdrop.fade.show {
  display: none;
}
body.modal-booking-open .modal {
  position: static;
}
body.modal-booking-open .modal .modal-xxl {
  min-height: auto;
  margin: 0;
}

/********************************/
/**           Loader           **/
/********************************/
.hasLoader {
  position: relative;
  display: inline-block;
}
.hasLoader span {
  color: rgba(33, 37, 41, 0.2588235294) !important;
}

.ajaxSpinner {
  position: absolute;
  display: block;
  z-index: 10;
}

.ajaxSpinner.top {
  top: auto;
  bottom: 100%;
}

.ajaxSpinner.bottom {
  top: 100%;
  bottom: auto;
}

.ajaxSpinner.left {
  right: 100%;
  left: auto;
}

.ajaxSpinner.right {
  left: 100%;
  right: auto;
}

.sk-three-bounce {
  text-align: center;
}

.sk-three-bounce .sk-child {
  background-color: #3c4b64;
  border-radius: 100%;
  display: inline-block;
  animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
}

.sk-three-bounce .sk-bounce1 {
  animation-delay: -0.32s;
}

.sk-three-bounce .sk-bounce2 {
  animation-delay: -0.16s;
}
@keyframes sk-three-bounce {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}/*# sourceMappingURL=calendar.css.map */