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

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

/*
The stacking order is FullCalendar's, so these are !important, like the rest of this file. They come
before the sticky and popover rules, which win on an element that has both.
*/

.fc-5r {
  z-index: 0 !important;
}

.fc-de {
  z-index: 1 !important;
}

.fc-h9 {
  z-index: 2 !important;
}

.fc-Ox {
  z-index: 3 !important;
}

.fc-4g {
  z-index: 4 !important;
}

.fc-zk {
  z-index: 5 !important;
}

.fc-a0 {
  z-index: 1000 !important;
}

.fc-ql {
  z-index: 9999 !important;
}

.fc-RJ:focus-visible {
  z-index: 2 !important;
}

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

.fc-tX {
  isolation: isolate !important;
}

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

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

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

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

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

.fc-uw .fc-De {
  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-ZA .fc-De > * {
  float: left !important;
}

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

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

.fc-jF {
  cursor: pointer !important;
}

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

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

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

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

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

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

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

.fc-ai,
.fc-bx,
.fc-i9 {
  position: absolute !important;
  box-sizing: content-box !important;
  width: 100% !important;
  height: 100% !important;
}

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

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

.fc-i9 {
  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-hx {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: -5px !important;
  right: -5px !important;
}

.fc-fg {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

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

.fc-4z {
  border: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fc-wU > 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-wU > tbody {
  /* Timeline print-layout hack (resource and non-resource): lets shared absolute backgrounds show through. */
  background: transparent !important;
}

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

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

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

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

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

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

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

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

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

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

.fc-FS {
  overflow-anchor: none !important;
}

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

.fc-ip {
  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-i0 {
  white-space: nowrap !important;
  overflow: hidden !important;
}

.fc-hC {
  position: relative !important;
}

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

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

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

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

.fc-dz,
.fc-Db {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
}

.fc-QB,
.fc-3q {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
}

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

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

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

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

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

  .fc-cF {
    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-KX {
  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-Gb {
  position: absolute !important;
  left: -10000px !important;
  visibility: hidden !important;
}

/* Visually hidden but read by screen readers. Unlike .offscreen, never causes scroll overflow */
.fc-8Z {
  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-Id {
  align-items: center !important;
}

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

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

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

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

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

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

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

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

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

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

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

.fc-Lg {}

.fc-Bq {}
.fc-Nb {}
.fc-Wg {}
.fc-nT {}
.fc-sK {}
.fc-LZ {}
.fc-k1 {}
.fc-CC {}

.fc-Wh {}

.fc-ju {}

.fc-2b {}

.fc-bK {}

.fc-wB {}

.fc-TW {}
