
:root {
  --fc-sticky-header-footer-z: 3;
  --fc-popover-z: 4;
}

.fc-pj {
  z-index: var(--fc-popover-z) !important;
}

.fc-L2 {
  isolation: isolate;
}

/*
This will prevent all ancestors from customizing their box size unless they use .contentBox
*/
.fc-oK,
.fc-oK *,
.fc-oK *:before,
.fc-oK *:after {
  box-sizing: border-box !important;
}

/* classes attached to <body> */
.fc-Nr,
.fc-Nr * {
  cursor: not-allowed !important;
}

.fc-h3 {
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.fc-h3::-webkit-scrollbar {
  display: none !important;
}

.fc-s2 {
  flex-shrink: 0 !important;
}

.fc-Qd .fc-j1 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
}

/* HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
   https://stackoverflow.com/a/60256345 */
.fc-Fn .fc-j1 > * {
  float: left !important;
}

[dir=rtl] .fc-Fn .fc-j1 > *,
.fc-Fn[dir=rtl] .fc-j1 > * {
  float: right !important;
}

.fc-Fn .fc-j1::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.fc-3A {
  cursor: pointer !important;
}

.fc-3Z {
  cursor: n-resize !important;
}

.fc-Bn {
  cursor: s-resize !important;
}

.fc-Bs {
  cursor: w-resize !important;
}

[dir=rtl] .fc-Bs {
  cursor: e-resize !important;
}

.fc-mJ {
  cursor: e-resize !important;
}

[dir=rtl] .fc-mJ {
  cursor: w-resize !important;
}

.fc-xg {
  cursor: col-resize !important;
}

.fc-B6,
.fc-If,
.fc-uS {
  position: absolute !important;
  box-sizing: content-box !important;
  width: 100% !important;
  height: 100% !important;
}

.fc-B6 {
  padding: 10px !important;
  margin: -10px !important;
}

.fc-If {
  padding-left: 10px !important;
  padding-right: 10px !important;
  margin-left: -10px !important;
  margin-right: -10px !important;
}

.fc-uS {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin-top: -10px !important;
  margin-bottom: -10px !important;
}

/* QUESTION: why not use -left -right instead of negative margins/padding for ALL? */
.fc-gw {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -5px;
  right: -5px;
}

.fc-Qx {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fc-DP {
  visibility: hidden;
}

/* Border Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-m0 {
  border: 0 !important;
}

.fc-lH {
  border-left: 0 !important;
  border-right: 0 !important;
}

.fc-T4 {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.fc-7v {
  border-top: 0 !important;
}

.fc-C1 {
  border-bottom: 0 !important;
}

.fc-QG {
  border-inline-start: 0 !important;
}

.fc-N5 {
  border-inline-end: 0 !important;
}

/* Flexbox Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-4L {
  display: flex !important;
  flex-direction: row !important;
}

.fc-Ir {
  display: flex !important;
  flex-direction: column !important;
}

.fc-o7 {
  flex-grow: 1 !important;
}

.fc-bx {
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.fc-PC {
  min-height: 0 !important;
}

/*
TODO: use liquidX/Y elsewhere because frees up min other dimension; less collisions
*/
.fc-rJ {
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
}

/* Semantic Print Table */
/* ------------------------------------------------------------------------------------------------- */

.fc-2n {
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.fc-2n > thead {
  /* Both properties are needed for cross-browser repeated headers across printed pages. */
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.fc-2n > tbody {
  /* Timeline print-layout hack (resource and non-resource): lets shared absolute backgrounds show through. */
  background: transparent !important;
}

.fc-2n > thead > tr > th,
.fc-2n > tbody > tr > th,
.fc-2n > tbody > tr > td {
  vertical-align: top !important;
  font-weight: inherit;
  text-align: inherit;
}

/* Table Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-Ib {
  padding: 0 !important;
}

.fc-ho {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.fc-Yg {
  margin: 0 !important;
}

.fc-4U {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fc-mC {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.fc-XZ {
  white-space: nowrap !important;
}

.fc-5Z {
  white-space: pre !important;
}

/* Misc Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-0T {
  overflow-anchor: none;
}

.fc-8Y {
  pointer-events: none !important;
}

.fc-Zz {
  overflow: hidden !important;
}

/*
TODO: eventually use this on daygrid/timegrid events' inner, time, and title, FOR PRINT
Needed to prevent wrapping to multiple lines, increasing height, throwing off print-positioning,
which can't rely on dynamic height detection after print-flag activated.
*/
.fc-Sr {
  white-space: nowrap !important;
  overflow: hidden !important;
}

.fc-7Q {
  position: relative !important;
}

.fc-Rs {
  position: absolute !important;
}

.fc-Hv {
  inset-inline-start: 0 !important;
}

.fc-97 {
  inset-inline-end: 0 !important;
}

.fc-ou {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.fc-b1,
.fc-7k {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
}

.fc-5V,
.fc-Z6 {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
}

.fc-b1 {
  top: 0 !important;
}

.fc-Z6 {
  left: 0 !important;
  right: 0 !important;
  width: 0 !important;
}

@media not print {
  .fc-TI {
    position: sticky !important;
  }

  .fc-G7 {
    position: sticky !important;
    top: 0 !important;
  }

  /* Sticks to either left or right (the flex "start") depending on ltr/rtl */
  .fc-lC {
    position: sticky !important;
    inset-inline-start: 0 !important;
  }

  .fc-hw {
    position: sticky !important;
    top: 0 !important;
    z-index: var(--fc-sticky-header-footer-z) !important;
  }
}

/* Only needed when padding/border must be separate from width/height */
.fc-Ap {
  box-sizing: content-box !important;
}

/* Out of view but keeps its real size, for measurement probes. For screen-reader text, use .srOnly.
Hidden also means not focusable, clickable, or read by screen readers */
.fc-hI {
  position: absolute !important;
  left: -10000px !important;
  visibility: hidden !important;
}

/* Visually hidden but read by screen readers. Unlike .offscreen, never causes scroll overflow */
.fc-GR {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.fc-Hi {
  align-items: center !important;
}

.fc-Yj {
  align-items: flex-start !important;
}

.fc-io {
  align-items: flex-end !important;
}

/* Footer Scrollbar */
/* ------------------------------------------------------------------------------------------------- */

.fc-4I {
  position: sticky !important;
  bottom: 0 !important;
  z-index: var(--fc-sticky-header-footer-z) !important;
}

.fc-Nd > * {
  margin-top: -1px !important;
}

.fc-Nd > * > * {
  height: 1px !important;
}

/* Print Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-Gu {
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.fc-2s {
  min-height: 4em !important;
}

.fc-es {
  display: flow-root !important;
}

/* Z-index */
/* ------------------------------------------------------------------------------------------------- */

.fc-QB {
  z-index: 0;
}

.fc-eY {
  z-index: 1;
}

.fc-qd {
  z-index: 2;
}

.fc-9p {
  z-index: 3;
}

.fc-65 {
  z-index: 4;
}

.fc-Hy {
  z-index: 5;
}

.fc-T7 {
  z-index: 1000;
}

.fc-mO {
  z-index: 9999;
}

.fc-zL:focus-visible {
  z-index: 2;
}

/* INTERNAL MARKER -- used to mark an element for internal significance */
/* ------------------------------------------------------------------------------------------------- */

.fc-7y {}

.fc-Rq {}
.fc-wf {}
.fc-QY {}
.fc-1d {}
.fc-3d {}
.fc-bM {}
.fc-ik {}
.fc-lw {}

.fc-Sz {}

.fc-4D {}

.fc-Wa {}

.fc-JJ {}

.fc-Ix {}

.fc-0s {}
