.calendar {
  position: relative;
  width: 100%;
  padding: 15px;
  border-radius: 12px;
}
.calendar--nav {
  margin: -40px 0 20px 0;
  padding: 0 15px;
  color: #EE4558;
  height: 30px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.calendar--nav a {
  position: absolute;
  cursor: pointer;
  left: 10px;
  font-size: 40px;
  line-height: 1;
  top: 0px;
  width: 30px;
  text-align: center;
  display: inline-block;
  color: rgba(255, 255, 255, 0.4);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.calendar--nav a:hover {
  color: #fff;
}
.calendar--nav a:last-child {
  left: auto;
  right: 10px;
}
.calendar--nav h1 {
  margin: 0;
  position: absolute;
  left: 40px;
  right: 40px;
  top: 11px;
  text-align: center;
  cursor: pointer;
  font-weight: var(--sfamily);
  font-size: 16px;
  line-height: 22px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.calendar--nav small {
  font-weight: 300;
  font-size: 60%;
}
.calendar--days {
  font-size: 0;
}
.calendar--days span {
  width: 14.28571%;
  display: inline-block;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  margin: 8px 0;
  line-height: 34px;
  position: relative;
  font-size: 16px;
}
.calendar--days span.label {
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.3);
  font-size: 14px;
  cursor: initial;
}
.calendar--days span.active {
  font-weight: 700;
  background-color: rgba(182, 112, 244, 0.05);
  border-radius: 12px;
}
.calendar--days span.muted {
  color: rgba(0, 0, 0, 0.3);
}
.calendar--days span.between, .calendar span.selected {
  border-radius: 0;
}
.calendar--days span.start, .calendar--days span.between, .calendar span.selected, .calendar--days span.end {
  background-color: rgba(245,103,119,0.4);
  color: #fff;
}
.calendar--days span.start {
  border-radius: 30px 0 0 30px;
}
.calendar--days span.end {
  border-radius: 0 30px 30px 0;
}
.calendar--days span.start.end {
  border-radius: 30px;
}
.calendar--days span.between:nth-child(7n), .calendar--days span.start:nth-child(7n) {
  border-radius: 0 30px 30px 0;
}
.calendar--days span.between:nth-child(7n+1), .calendar--days span.end:nth-child(7n+1) {
  border-radius: 30px 0 0 30px;
}
.calendar--days span.start.end:after {
  display: none;
}
.calendar table{
  width: 100%;
}
.calendar-next-prev{
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 99;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.calendar-next-prev a{
  cursor: pointer;
  font-size: 40px;
  line-height: 1;
  width: 30px;
  text-align: center;
  display: inline-block;
  color: #EE4558 !important;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.calendar table td{
  padding: 0 !important;
  text-align: center;
}
.calendar table thead td{
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.3);
  font-size: 14px;
  cursor: initial;
}
.calendar td > span{
  width: 100%;
  height: 100%;
  display: inline-block;
  text-align: center;
  margin: 8px 0;
  font-size: 16px;
  line-height: 34px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.calendar table tr td:nth-child(1) span{
  border-radius: 30px 0 0 30px;
}
.calendar table tr td:nth-child(7n) span{
  border-radius: 0 30px 30px 0;
}