.calendar {
  width: 100%;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 16px !important;
  box-shadow: 0px 20px 10px 0px rgb(10 13 18 / 3%);
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 24px;
}

.calendar-header .month-year {
  color: #424644;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.calendar-week-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 16px 0 16px 0;
  gap: 4px;
  margin-bottom: 8px;
}

.calendar-week-days div {
  display: grid;
  place-items: center;
  line-height: 18px;
  color: #006f00 !important;
  text-transform: none !important;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 4px;
}

.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  color: #0a0921;
  padding: 0 8px 16px 8px;
}

.calendar-days > div {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 14px;
  transition: all 0.2s;
  border: 1px solid transparent;
  min-height: 36px;
  font-family: Inter, sans-serif;
}

.calendar-days div:not(:empty) {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  animation: to-top 1s forwards;
  color: #292929;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  border-radius: 100px;
  background: none;
  justify-self: center;
}

@media (max-width: 767px) {
  .calendar-days div:not(:empty) {
    width: 42px;
    height: 42px;
    font-size: 10px;
  }
}

.calendar-days div.active-date {
  background-color: #f7fff8;
  color: #009400;
  font-weight: 500;
  cursor: pointer;
  border: 1px dashed #1bc01b;
}

.calendar-days div.picked {
  background-color: #1bc01b !important;
  color: white !important;
  font-weight: 600;
  border-color: #1bc01b !important;
}

.year-picker {
  display: flex;
  align-items: center;
  gap: 8px;
}

.year-picker .year-change {
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 4px;
  transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(81, 171, 59);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.75;
  min-width: 24px;
}

.year-picker #pre-year {
  transform: rotate(180deg);
}

.year-change:hover {
  background-color: rgba(81, 171, 59, 0.04) !important;
  transition: all 0.2s ease-in-out;
}

.calendar-days div span {
  position: absolute;
}

.calendar-days div.active-date:hover {
  transition:
    width 0.2s ease-in-out,
    height 0.2s ease-in-out;
  color: #fff;
  font-weight: 600;
  background-color: #d4f0d4;
  border-color: #51ab3a;
  border: none;
}

.calendar-days div.current-date {
  transition:
    width 0.2s ease-in-out,
    height 0.2s ease-in-out;
  background-color: transparent;
  color: #1bc01b;
  font-weight: 600;
}

.month-list {
  position: relative;
  left: 0;
  top: -130px;
  background-color: #ebebeb;
  color: #151426;
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 5px;
  border-radius: 20px;
}

.month-list > div {
  display: grid;
  place-content: center;
  margin: 5px 10px;
  transition: all 0.2s ease-in-out;
}

.month-list > div > div {
  border-radius: 15px;
  padding: 10px;
  cursor: pointer;
}

.month-list > div > div:hover {
  background-color: #9796f0;
  color: #f8fbff;
  transform: scale(0.9);
  transition: all 0.2s ease-in-out;
}

.month-list.show {
  visibility: visible;
  pointer-events: visible;
  transition: 0.6s ease-in-out;
  animation: to-left 0.71s forwards;
}

.month-list.hideonce {
  visibility: hidden;
}

.month-list.hide {
  animation: to-right 1s forwards;
  visibility: none;
  pointer-events: none;
}

.date-time-formate {
  height: 4rem;
  width: 100%;
  font-family:
    Dubai Light,
    Century Gothic;
  position: relative;
  display: flex;
  top: 50px;
  justify-content: center;
  align-items: center;
}

.day-text-formate {
  font-family: Microsoft JhengHei UI;
  font-size: 1.4rem;
  padding-right: 5%;
  border-right: 3px solid #9796f0;
}

.date-time-value {
  display: block;
  position: relative;
  text-align: center;
  padding-left: 5%;
}

.time-formate {
  font-size: 1.5rem;
}

.time-formate.hideTime {
  animation: hidetime 1.5s forwards;
}

.day-text-formate.hidetime {
  animation: hidetime 1.5s forwards;
}

.date-formate.hideTime {
  animation: hidetime 1.5s forwards;
}

.day-text-formate.showtime {
  animation: showtime 1s forwards;
}

.time-formate.showtime {
  animation: showtime 1s forwards;
}

.date-formate.showtime {
  animation: showtime 1s forwards;
}

@keyframes to-top {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes to-left {
  0% {
    transform: translatex(230%);
    opacity: 1;
  }

  100% {
    transform: translatex(0);
    opacity: 1;
  }
}

@keyframes to-right {
  10% {
    transform: translatex(0);
    opacity: 1;
  }

  100% {
    transform: translatex(-150%);
    opacity: 1;
  }
}

@keyframes showtime {
  0% {
    transform: translatex(250%);
    opacity: 1;
  }

  100% {
    transform: translatex(0%);
    opacity: 1;
  }
}

@keyframes hidetime {
  0% {
    transform: translatex(0%);
    opacity: 1;
  }

  100% {
    transform: translatex(-370%);
    opacity: 1;
  }
}

.list-options {
  padding: 0;
  margin: 0 !important;
}

.list-options li {
  border-radius: 8px;
  border: 1px solid #d9d9d9;
  list-style: none;
}

.list-options li > a,
.list-options li > span {
  display: flex;
  justify-content: space-between;
  text-decoration: none;
  color: #424644;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  padding: 16px 16px 16px 24px;
  margin: 0;
  align-items: center;
  cursor: pointer;
}

.list-options li:not(:last-child) {
  margin-bottom: 8px;
}

.list-options li .icon {
  -webkit-mask: url(../../images/mps/upsell/chevron-icon.svg) no-repeat center;
  mask: url(../../images/mps/upsell/chevron-icon.svg) no-repeat center;
  width: 24px;
  height: 24px;
  background: #646b68;
  mask-size: 100%;
  cursor: pointer;
}

.list-options li:hover {
  border-color: #88908d;
}

.list-options li.active {
  border: 1px solid #51ab3a;
  outline: 3px solid #d3eace;
}

/* @media screen and (max-width: 768px) {
  .calendar-days {
    gap: 4px;
  }
} */

@media screen and (max-width: 768px) {
  .calendar-days {
    gap: 0px !important;
  }

  .calendar-week-days {
    gap: 5px !important;
  }
}
