body {
  padding: 0;
  margin: 0
}

.cal-modal-container {
  background: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  justify-content: center
}

.cal-modal {
  background: #1d252c;
  color: #fff;
  padding: 40px 60px;
  text-align: center;

  h3 {
    font-size: 37px;
    font-weight: 900;
    margin: 0 0 1rem
  }
}

#calendar {
  display: inline-block;

  .placeholder {
    display: none;
    width: 300px
  }

  .flatpickr-calendar {
    background: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    top: 0;

    .flatpickr-innerContainer {
      overflow: visible;

      .flatpickr-weekdays {
        overflow: visible
      }
    }

    .flatpickr-months {
      .flatpickr-month {
        color: inherit;
        margin-bottom: 10px;

        .flatpickr-current-month {
          font-size: 16px;

          .numInputWrapper {
            display: none
          }
        }
      }

      .flatpickr-prev-month,
      .flatpickr-next-month {
        top: calc(50% - 23px);

        svg {
          height: 46px;
          width: 46px;

          path {
            fill: #3dae2b
          }
        }
      }

      .flatpickr-prev-month {
        left: -60px
      }

      .flatpickr-next-month {
        right: -60px
      }
    }

    .flatpickr-weekdays {
      .flatpickr-weekdaycontainer {
        max-width: 307.875px;
        padding: 0 10px;
        position: relative;

        &::after {
          content: '';
          background: #343f48;
          position: absolute;
          top: -32px;
          bottom: -230px;
          right: 0;
          width: 1px
        }

        &:last-child::after {
          content: none
        }

        .flatpickr-weekday {
          color: #fff;
          font-weight: 700
        }
      }
    }

    .dayContainer {
      box-shadow: none;
      padding: 0 10px;
      position: static;

      &:last-child::after {
        content: none
      }
    }

    .flatpickr-day {
      background: #fff;
      border: 0;
      color: #1d252c;
      font-weight: 500;
      transition: color .1s, background .1s;

      &:hover {
        background: #3dae2b;
        color: #fff
      }

      &.flatpickr-disabled,
      &.flatpickr-disabled:hover {
        background: 0;
        color: #fff;
        cursor: default
      }

      &.selected:not(.hidden) {

        &,
        &:hover,
        &:focus {
          background: #37a628;
          color: #fff
        }
      }

      &.nextMonthDay,
      &.prevMonthDay {
        background: 0;
        color: rgba(#CFD2D3, .1) !important;
        cursor: default;
        visibility: visible
      }

      &.processing {
        background: #fff
      }

      &.set {
        background: #8996a1
      }

      &.set2 {
        background: #404b55
      }

      &.vacation {
        background: #37a329
      }
    }
  }

  .calendar-events {
    display: block;
    justify-content: space-around;
    margin-top: 30px;
    min-height: 36px;

    @media screen and (min-width:992px) {
      display: flex;
      justify-content: space-around
    }

    .event {
      font-size: 29px;

      .date {
        color: #fff;
        font-weight: 600
      }

      .location {
        color: #3dae2b;
        font-weight: 800;
        letter-spacing: -.8px
      }
    }
  }
}