@include b(calendar) {
  background: #fff;
  font-size: 14px;
  &-select-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 40px;
    a {
      padding: 0 15px;
      color: $primary-color;
      &:first-child {
        color: $secondary-text-color;
      }
    }
  }
  &-header {
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid $line-color;
    a {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 95px;
      height: 50px;
      margin: 0 25px;
      text-align: center;
      color: $primary-color;
      &.selected::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 2px;
        background-color: $primary-color;
      }
      p {
        font-size: 14px;
      }
    }
  }
  &-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    &-title {
      display: inline-block;
      width: 50%;
      text-align: center;
      color: $secondary-text-color;
      font-size: 18px;
    }
    &-prev-btn,
    &-next-btn {
      position: relative;
      display: inline-block;
      padding: 10px;
      &::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 8px;
        height: 8px;
        margin: auto;
        border-width: 2px 2px 0 0;
        border-style: solid;
        border-color: $secondary-text-color;
        transform: rotate(-135deg);
      }
      &:last-child::before {
        transform: rotate(45deg);
      }
    }
  }
  &-day {
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px;
    &-item {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: calc(100% / 7);
      height: 55px;
      span {
        display: inline-block;
        width: 100%;
        height: 35px;
        line-height: 35px;
        text-align: center;
        &.today,
        &.extra-day {
          font-size: 10px;
        }
      }
      p {
        width: 100%;
        height: 20px;
        line-height: 20px;
        text-align: center;
        color: $primary-color;
        font-size: 10px;
      }
      &.disabled span {
        width: 35px;
        height: 35px;
        border: none !important;
        border-radius: 100% !important;
        background-color: #eee !important;
        color: #bbb !important;
        cursor: not-allowed !important;
      }
      &.selected {
        span {
          background-color: $primary-color;
          color: #fff;
        }
      }
      &:nth-of-type(1).range,
      &:nth-child(7n + 1).range,
      &.start {
        position: relative;
        &::after {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          display: inline-block;
          width: 18px;
          height: 35px;
          background-color: $primary-color;
        }
        &::before {
          content: '';
          width: 0;
          height: 0;
        }
        span {
          width: 35px;
          border-radius: 100% 0 0 100%;
        }
      }
      &.range span {
        border-radius: 0;
      }
      &.selected:last-child.range,
      &:nth-child(7n).range,
      &.end {
        position: relative;
        &::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          display: inline-block;
          width: 18px;
          height: 35px;
          background-color: $primary-color;
        }
        &::after {
          content: '';
          width: 0;
          height: 0;
        }
        span {
          width: 35px;
          border-radius: 0 100% 100% 0;
        }
      }
      &:nth-child(7n).start,
      &:nth-child(7n + 1).end,
      &:nth-of-type(1).end,
      &.selected:last-child.start,
      &:nth-of-type(1).range:nth-child(7n),
      &.selected:last-child.range:nth-child(7n + 1),
      &.selected.start.end,
      &.single {
        &::before,
        &::after {
          content: '';
          width: 0;
          height: 0;
        }
        span {
          width: 35px;
          border-radius: 100% !important;
        }
      }
    }
  }
  &-week {
    display: flex;
    justify-content: space-around;
    padding-bottom: 8px;
    &-day {
      padding-top: 9px;
      // &:first-child,
      // &:last-child {
      //   color: $primary-color;
      // }
    }
  }
}
