:root {
  --main-button-bg-color: unset;
  --main-title-color: #5D5E62;
  --main-top-border-color: #ebebeb;
  --main-top-border-color-dark: #3e3f43;
  --main-icon-color: #2E2E31;
  --main-header-text-color: #242424;
  --main-dates-text-color: #242424;
  --main-dates-text-secondary-color: #9E9E9E;
  --main-dates-today-number-color: #2e2e31;
  --main-timegrid-slot-label-color: #5D5E62;
  --main-bg-color: #fff;
  --main-bg-color-dark: #1b1c1e;

  --fc-border-color: #e1e1e1;
  --fc-border-color-dark: #3e3f43;
  --fc-today-bg-color: #f7f7f7;
  --fc-page-bg-color: #ffffff;
  --fc-page-bg-color-dark: #1b1c1e;
  --fc-small-font-size: 10px;
}

.fc {
  font-weight: 700;
}
/* dark mode - main border */
.dark-calendar .fc-theme-standard td,
.dark-calendar .fc-theme-standard th {
  border-color: var(--main-top-border-color-dark);
}

/* TOOLBAR */
.fc .fc-toolbar {
  justify-content: start;
}
.fc .fc-toolbar.fc-header-toolbar {
  margin-top: 16px;
  margin-bottom: 0;
  padding-bottom: 16px;
  height: 44px;
  padding-left: 16px;
}
.fc .fc-scrollgrid table {
  border-top-style: unset;
  border-left-style: unset;
}
/* client calendar */
.client-calendar .fc .fc-toolbar.fc-header-toolbar {
  padding-left: 0;
}

/* TITLE */
.fc-toolbar > .fc-toolbar-chunk:nth-child(2) {
  margin-left: 16px;
}
.fc .fc-header-toolbar .fc-toolbar-title {
  font-size: 16px;
  font-style: normal;
  font-weight: 590;
  line-height: 19px;
  color: var(--main-title-color);
}
/* dark mode */
.dark-calendar .fc .fc-header-toolbar .fc-toolbar-title {
  color: #A5A5A5;
}

/* TOP BUTTONS */
.fc .fc-header-toolbar .fc-button-primary:focus,
.fc .fc-header-toolbar .fc-button-primary:not(:disabled):active:focus {
  box-shadow: none;
}
/* TODAY BUTTON */
.fc .fc-header-toolbar .fc-today-button.fc-button-primary {
  height: 28px;
  padding: 4px 8px;
  font-style: normal;
  font-weight: 510;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  background-color: #EDEDED;
  color: #2E2E31;
  margin: 0 4px;
  border: none;
  border-radius: 4px;
}
.fc .fc-header-toolbar .fc-today-button.fc-button-primary::first-letter {
  text-transform: uppercase;
}
.fc .fc-header-toolbar .fc-today-button.fc-button-primary:not(:disabled):hover {
  background-color: #D4D4D4;
}
.fc .fc-header-toolbar .fc-today-button.fc-button-primary:disabled {
  color: #CCCCCC;
}
.fc .fc-header-toolbar .fc-today-button.fc-button-primary:not(:disabled):active {
  background-color: #B3B3B3;
}
/* dark mode */
.dark-calendar .fc .fc-header-toolbar  .fc-today-button.fc-button-primary {
  background-color: #2E2E31;
  color: #FFFFFF;
}
.dark-calendar .fc .fc-header-toolbar .fc-today-button.fc-button-primary:not(:disabled):hover {
  background-color: #D4D4D4;
}
.dark-calendar .fc .fc-header-toolbar .fc-today-button.fc-button-primary:not(:disabled):active {
  background-color: #B3B3B3;
}
.dark-calendar .fc .fc-header-toolbar  .fc-today-button.fc-button-primary:disabled {
  color: #52555B;
}

/* PREV-NEXT BUTTONS */
.fc .fc-button-group {
  align-items: center;
}
.fc .fc-header-toolbar .fc-button-group .fc-prev-button,
.fc .fc-header-toolbar .fc-button-group .fc-next-button {
  background-color: unset;
  border: none;
  border-radius: 4px;
  color: var(--main-icon-color);
  width: 24px;
  height: 24px;
  padding: 0;
}
.fc .fc-header-toolbar .fc-button-group .fc-prev-button {
  margin: 0 2px 0 10px;
}
.fc .fc-header-toolbar .fc-button-group .fc-next-button {
  margin: 0 0 0 2px;
}
.fc .fc-header-toolbar .fc-button-group .fc-prev-button:hover,
.fc .fc-header-toolbar .fc-button-group .fc-next-button:hover {
  background-color: #EDEDED;
}
.fc .fc-header-toolbar .fc-button-group .fc-prev-button:not(:disabled):active,
.fc .fc-header-toolbar .fc-button-group .fc-next-button:not(:disabled):active {
  background-color: unset;
  color: #2E2E31;
}
.fc .fc-header-toolbar .fc-button-group .fc-prev-button .fc-icon,
.fc .fc-header-toolbar .fc-button-group .fc-next-button .fc-icon {
  font-size: 20px;
  vertical-align: bottom;
}
/* dark mode */
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-prev-button,
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-next-button {
  color: #FFFFFF; /* icons default */
}
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-prev-button:hover,
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-next-button:hover {
  background-color: #2E2E31;
}
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-prev-button:not(:disabled):active,
.dark-calendar .fc .fc-header-toolbar .fc-button-group .fc-next-button:not(:disabled):active {
  background-color: unset;
  color: #FFFFFF;
}
/* MONTH VIEW */
/* header */
.fc .fc-view thead {
  height: 40px;
}
.fc .fc-view thead .fc-scrollgrid-sync-inner {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: var(--main-header-text-color);
}
.fc .fc-view thead .fc-scrollgrid-sync-inner a {
  padding: 0;
}
.fc .fc-view thead .fc-timeline-header .fc-scrollgrid-sync-inner {
  text-transform: uppercase;
  font-size: 10px;
  line-height: 12px;
}
.fc .fc-col-header-cell.fc-day {
  border: none;
  vertical-align: middle;
}
.fc .fc-scrollgrid {
  border-left-width: 0;
  border-top-width: 0;
}
/* cell */
.fc .fc-daygrid-day-top {
  color: var(--main-dates-text-color);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}
.fc .fc-day-other .fc-daygrid-day-top {
  opacity: 1;
  color: var(--main-dates-text-secondary-color);
}
.fc .fc-more-link {
  height: 20px;
  font-weight: 600;
  color: #242424;
  border: 1px solid #e1e1e1;
  border-radius: 2px;
  padding: 2px 0 3px 8px;
  width: 93%;
  display: inline-block;
  font-size: 12px;
  line-height: 120%;
}
.fc .fc-daygrid-more-link:hover {
  background-color: unset;
  box-shadow: 0px 6px 16px 8px #4E4E4E2E;
}
.fc .fc-daygrid-day.fc-day-today {
  background-color: unset;
}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top {
  height: 28px;
  align-items: center;
}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top a {
  color: #ffffff;
  background-color: #0E8DFF;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  padding: 0;
  text-align: center;
}
.fc .fc-day-today a.fc-more-link {
  color: #242424;
}
.fc .fc-day-today a.fc-more-link:hover {
  background-color: unset;
  box-shadow: 0px 6px 16px 8px #4E4E4E2E;
}
.fc .fc-event {
  border-radius: 2px;
}
.fc .fc-day-today .fc-daygrid-day-top a {
  color: var(--main-dates-today-number-color);
}
/* remove border for month view and all-day events*/
.fc .fc-daygrid-event {
  border: unset;
  max-height: 20px;
}
.fc .fc-timegrid-event {
  border: 0.5px solid #FFFFFF;
}
/* dark mode */
.dark-calendar .fc .fc-view thead .fc-scrollgrid-sync-inner {
  color: #CDCCCC;
}
.dark-calendar .fc .fc-day-other .fc-daygrid-day-top {
  color: #52555B; /* interactive text - disabled */
}
.dark-calendar .fc .fc-day-today a {
  color: #fff;
}
.dark-calendar .fc .fc-more-link {
  color: #CDCCCC;
}
.dark-calendar .fc .fc-day-today a.fc-more-link {
  color: #CDCCCC;
}
.dark-calendar .fc .fc-timegrid-event-harness {
  border: 0.5px solid #1F2022;
}
.dark-calendar .fc .fc-timegrid-event {
  border-color: #1F2022;
}
.dark-calendar .fc .fc-daygrid-day-top {
  color: #CDCCCC;
}
.dark-calendar .fc .fc-day-other .fc-daygrid-day-top {
  color: #808080;
}

/* WEEK/DAY view */
.fc .fc-scrollgrid-section-header .fc-timegrid-axis {
  border: none;
}
.fc .fc-timegrid-slot.fc-timegrid-slot-label {
  border-bottom: none;
  border-top: none;
  border-left: none;
}
.fc-direction-ltr .fc-timegrid-slot-label-frame {
  text-align: left;
  padding-left: 10px;
}
.fc .fc-scrollgrid-section > * {
  border-bottom-width: 0;
  border-right-width: 0;
}
.fc .fc-timegrid-slot-minor {
  border-top-style: unset;
}
.fc .fc-timeGridWeek-view .fc-day-today,
.fc .fc-timeGridWorkWeek-view .fc-day-today {
  background-color: unset;
}
.fc .fc-resourceTimeGridDay-view .fc-day-today {
  background-color: unset;
}
.fc .fc-resourceTimeGridDay-view .fc-col-header-cell.fc-resource {
  vertical-align: middle;
}
.fc .fc-timegrid-axis-frame {
  color: var(--main-timegrid-slot-label-color);
  font-weight: 400;
  font-size: 10px;
  line-height: 11.93px;
}
.fc .fc-timegrid-slot-label-cushion {
  color: var(--main-timegrid-slot-label-color);
  font-weight: 400;
  font-size: 10px;
  line-height: 11.93px;
  text-transform: uppercase;
}
.fc .fc-timegrid-body table tr > td:nth-child(2) {
  border-left: 0;
}
.fc .fc-event {
  box-shadow: unset;
  border-color: #ffffff;
}
.fc .fc-event:hover {
  box-shadow: 0px 6px 16px 8px #4E4E4E2E;
  border-color: transparent;
}
.fc .fc-resourceTimeGridDay-view thead .fc-scrollgrid-sync-inner {
  text-transform: none;
}
.fc .fc-timegrid-slots tr {
  line-height: 29px;
}
.fc .fc-resourceTimeGridDay-view .fc-timegrid-axis-chunk tr {
  line-height: 29.5px;
}
.fc .fc-timegrid-slots td {
  height: unset;
}
.fc .fc-event.fc-timegrid-event .fc-event-main {
  padding: 0;
}
.fc .fc-resourceTimeGridDay-view .fc-daygrid-body td {
  border-top-width: 0px;
  border-bottom-width: 0px;
}
.fc .fc-resourceTimeGridDay-view thead .fc-scrollgrid-sync-inner {
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
}

/* dark mode */
.dark-calendar .fc .fc-event {
  border-color: #3e3f43;
}
.dark-calendar .fc .fc-event:hover {
  border-color: transparent;
  box-shadow: 0px 6px 16px 8px #4E4E4E2E;
}
.dark-calendar .fc .fc-timegrid-axis-frame {
  color: #A5A5A5;
}
.dark-calendar .fc .fc-timegrid-slot-label-cushion {
  color: #A5A5A5;
}

/* LIST view */
.fc .fc-list.fc-listDay-view.fc-view {
  border-left: 0;
  border-right: 0;
  border-color: var(--main-top-border-color);
}
.fc .fc-list.fc-listDay-view.fc-view .fc-scroller-liquid {
  overflow: auto !important;
}
.fc .fc-listDay-view .fc-list-day.fc-day .fc-list-day-cushion.fc-cell-shaded {
  display: flex;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  justify-content: center;
  background-color: var(--main-bg-color);
}
.fc .fc-listDay-view .fc-list-table tr > * {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
  vertical-align: middle;
  height: 38px;
}
.fc .fc-listDay-view .fc-scroller .fc-list-table {
  border-spacing: 0px 6px;
  border-collapse: separate;
  margin-top: -14px;
}
.fc .fc-listDay-view .fc-list-table td {
  padding: 8px 8px;
}
.fc .fc-listDay-view .fc-list-table .fc-list-event-time {
  padding-left: 14px;
  font-size: 12px;
  font-weight: 400;
}
.fc .fc-listDay-view .fc-list-event:hover td {
  background-color: inherit;
}
/* dark mode */
.dark-calendar .fc .fc-list.fc-listDay-view.fc-view {
  border-left: 0;
  border-color: var(--main-top-border-color-dark);
}
.dark-calendar
  .fc
  .fc-listDay-view
  .fc-list-day.fc-day
  .fc-list-day-cushion.fc-cell-shaded {
  background-color: var(--main-bg-color-dark);
}
.dark-calendar .fc .fc-list-sticky .fc-list-day > * {
  background-color: var(--main-bg-color-dark);
}

/* SCHEDULER view */
.fc .fc-resourceTimelineDay-view .fc-datagrid-header th {
  border-left: 0;
  border-top: 0;
  border-bottom: 0;
}
.fc .fc-resourceTimelineDay-view .fc-datagrid-body tr > * {
  border-left: 0;
}
.fc .fc-resourceTimelineDay-view .fc-timeline-header .fc-timeline-slot-label {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
}
.fc .fc-resourceTimelineDay-view .fc-event {
  padding: 0;
}
.fc .fc-resourceTimelineDay-view .fc-scrollgrid-section-body .fc-scrollgrid-sync-inner {
  font-weight: 500;
  font-size: 14px;
  line-height: 16.71px;
  color: #242424;
}
.fc .fc-resourceTimelineDay-view .fc-scrollgrid-section-header .fc-resource-timeline-divider {
  width: 1px;
  background-color: unset;
}
/* dark mode */
.dark-calendar .fc .fc-resourceTimelineDay-view .fc-scrollgrid-section-body .fc-scrollgrid-sync-inner {
  color: #CDCCCC;
}

/* MORE POPOVER */
.fc .fc-more-popover {
  box-shadow: 0px 4px 16px 8px #00000033;
  border-radius: 6px;
  min-width: 300px;
  max-width: 90%;
  z-index: 1300;
}
.fc .fc-more-popover .fc-popover-header {
  background-color: unset;
  padding: 7px 10px;
  height: 34px;
  border-bottom: 1px solid #E1E1E1;
}
.fc .fc-more-popover .fc-popover-header .fc-popover-title {
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #242424;
}
.fc .fc-more-popover .fc-popover-header .fc-popover-close {
  color: var(--main-icon-color);
  border-radius: 4px;
  width: 24px;
  height: 24px;
}
.fc .fc-more-popover .fc-popover-header .fc-popover-close:hover {
  background-color: #EDEDED;
}
.fc .fc-more-popover .fc-popover-header .fc-icon-x:before {
  font-size: 24px;
}
.fc .fc-more-popover .fc-popover-body {
  padding: 10px 10px 12px;
}
.fc .fc-more-link {
  border-color: var(--fc-border-color);
  width: 100%;
}
/* dark mode */
.dark-calendar .fc .fc-more-link {
  border-color: var(--fc-border-color-dark);
}
.dark-calendar .fc .fc-more-popover {
  background-color: #1B1C1E;/* other bgMain */
  border-color: #1B1C1E;
}
.dark-calendar .fc .fc-more-popover .fc-popover-header {
  border-bottom: 1px solid #3E3F43;
}
.dark-calendar .fc .fc-more-popover .fc-popover-header .fc-popover-title {
  color: #CDCCCC;
}
.dark-calendar .fc .fc-more-popover .fc-popover-header .fc-popover-close {
  color: #FFFFFF;
}
.dark-calendar .fc .fc-more-popover .fc-popover-header .fc-popover-close:hover {
  background-color: #2E2E31;
}

/* EVENT */
.fc .fc-event {
  overflow: hidden;
}
.fc .fc-listDay-view .fc-event > * {
  padding-top: 2px;
  padding-bottom: 2px;
}

.fc .fc-listDay-view .fc-event:hover {
  cursor: pointer;
}

/* ALL-DAY LABEL */
.fc-timegrid-axis-cushion {
  text-transform: capitalize;
}
