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

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

.fc-HY {
  isolation: isolate;
}

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

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

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

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

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

.fc-Z9 .fc-1g {
  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-HC .fc-1g > * {
  float: left !important;
}

[dir=rtl] .fc-HC .fc-1g > *,
.fc-HC[dir=rtl] .fc-1g > * {
  float: right !important;
}

.fc-HC .fc-1g::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

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

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

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

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

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

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

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

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

.fc-QK,
.fc-eh,
.fc-M9 {
  position: absolute !important;
  box-sizing: content-box !important;
  width: 100% !important;
  height: 100% !important;
}

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

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

.fc-M9 {
  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-SC {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -5px;
  right: -5px;
}

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

.fc-F0 {
  visibility: hidden;
}

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

/* TODO: break-out to x and y. don't have "only" all */
/* TODO: instead of "border" utils, call them "borderless" to subtract? */

.fc-6s {
  border: 0 !important;
}

.fc-8B {
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}

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

.fc-Hm,
.fc-ge {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

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

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

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

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

/* for matching cell start-border, assumed to be 1px, which can't be guaranteed */
.fc-FA {
  border-inline-start: 1px solid transparent !important;
}

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

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

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

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

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

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

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

/* Print-Safe Utils (media:screen ONLY) */
/* ------------------------------------------------------------------------------------------------- */

.fc-Z9 .fc-kE,
.fc-Z9 .fc-Xg {
  display: flex !important;
  flex-direction: column !important;
}

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

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

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

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

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

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

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

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

.fc-U2 {
  overflow-anchor: none;
}

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

.fc-8A {
  position: relative !important;
}

.fc-7t {
  position: absolute !important;
}

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

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

.fc-yW,
.fc-5j {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
}

.fc-1K,
.fc-bH {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
}

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

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

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

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

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

  .fc-Mw {
    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-CU {
  box-sizing: content-box !important;
}

.fc-jm {
  position: absolute !important;
  left: -10000px !important;
}

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

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

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

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

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

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

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

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

.fc-HC .fc-lF {
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
}

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

.fc-HC .fc-Xg {
  display: table-header-group !important;
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
  background: #fff !important;
  z-index: 9999 !important;
  position: relative !important;
}

.fc-Vf {
  /* min-height when multiple rows coexist, provides sane aspect-ratio for cells */
  min-height: 6em !important;
}

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

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

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

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

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

.fc-vz {}

.fc-4B {}
.fc-D7 {}
.fc-wp {}
.fc-Ex {}
.fc-wl {}
.fc-yM {}
.fc-2f {}
.fc-zR {}

.fc-0j {}

.fc-M7 {}

.fc-tb {}

.fc-ew {}

.fc-IZ {}

.fc-UH {}

.fc-classic-n5m {
  font-size: 16px;
  line-height: 1.5;
  --fc-classic-border-style: solid;
}

.fc-classic-Z9U {
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  opacity: 1;
  background-color: #0000;
  border-radius: 0;
  margin: 0;
  border: 0;
  padding: 0
}

.fc-classic-JiE {
  color: inherit;
  text-decoration: inherit;
}

.fc-classic-3Lc {
  pointer-events: none
}

.fc-classic-1EY {
  position: absolute
}

.fc-classic-eYX {
  position: relative
}

.fc-classic-OUe {
  position: sticky
}

.fc-classic-MaV {
  inset-inline: 0
}

.fc-classic-AWB {
  inset-block: 0
}

.fc-classic-11a {
  inset-inline-start: -4px
}

.fc-classic-rbS {
  inset-inline-start: 0
}

.fc-classic-bEw {
  inset-inline-end: -4px
}

.fc-classic-2w8 {
  inset-inline-end: 2px
}

.fc-classic-dnf {
  inset-inline-end: -3px
}

.fc-classic-YDC {
  top: -4px
}

.fc-classic-n9G {
  top: 0
}

.fc-classic-2ik {
  top: 2px
}

.fc-classic-ERR {
  top: 50%
}

.fc-classic-fJL {
  bottom: -4px
}

.fc-classic-jGI {
  bottom: 0
}

.fc-classic-1V6 {
  left: 50%
}

.fc-classic-88I {
  order: -1
}

.fc-classic-gMS {
  margin: 4px
}

.fc-classic-bvX {
  margin: 8px
}

.fc-classic-jD5 {
  margin: 16px
}

.fc-classic-J04 {
  margin-inline: -5px
}

.fc-classic-cKZ {
  margin-inline: 2px
}

.fc-classic-rVY {
  margin-inline: 4px
}

.fc-classic-fn8 {
  margin-inline: 8px
}

.fc-classic-148 {
  margin-inline: 1px
}

.fc-classic-cJ3 {
  margin-block: 2px
}

.fc-classic-V9v {
  margin-block: 4px
}

.fc-classic-2tF {
  margin-block: 8px
}

.fc-classic-Jzj {
  margin-inline-start: 2px
}

.fc-classic-Mde {
  margin-inline-start: 8px
}

.fc-classic-qvL {
  margin-inline-start: 1px
}

.fc-classic-kp0 {
  margin-inline-end: -4px
}

.fc-classic-3e1 {
  margin-inline-end: 2px
}

.fc-classic-B3G {
  margin-inline-end: 2.5%
}

.fc-classic-9hC {
  margin-inline-end: 1px
}

.fc-classic-Dq8 {
  margin-top: -4px
}

.fc-classic-a10 {
  margin-top: -5px
}

.fc-classic-Ika {
  margin-bottom: 1px
}

.fc-classic-nHS {
  margin-bottom: -1px
}

.fc-classic-F99 {
  margin-left: -4px
}

.fc-classic-eF2 {
  display: contents
}

.fc-classic-I48 {
  display: block
}

.fc-classic-dl1 {
  display: flex
}

.fc-classic-i3N {
  display: grid
}

.fc-classic-pps {
  display: none
}

.fc-classic-3wQ {
  width: 8px;
  height: 8px
}

.fc-classic-vnf {
  width: 16px;
  height: 16px
}

.fc-classic-XUJ {
  width: 20px;
  height: 20px
}

.fc-classic-uuA {
  height: 8px
}

.fc-classic-zrJ {
  height: 12px
}

.fc-classic-84e {
  min-height: 2px
}

.fc-classic-mhE {
  min-height: 12px
}

.fc-classic-toR {
  min-height: 1px
}

.fc-classic-roZ {
  width: 50%
}

.fc-classic-hza {
  width: 8px
}

.fc-classic-4Tv {
  width: 5px
}

.fc-classic-kMV {
  max-width: 200px
}

.fc-classic-2KU {
  min-width: 0
}

.fc-classic-aNc {
  min-width: 220px
}

.fc-classic-yi0 {
  flex-shrink: 0
}

.fc-classic-1Zl {
  flex-shrink: 1
}

.fc-classic-OLq {
  flex-shrink: 100
}

.fc-classic-1El {
  flex-grow: 1
}

.fc-classic-jmT {
  rotate: 180deg
}

.fc-classic-sgX {
  flex-direction: column
}

.fc-classic-1sP {
  flex-direction: row
}

.fc-classic-dNl {
  flex-wrap: wrap
}

.fc-classic-XpK {
  align-items: center
}

.fc-classic-N2M {
  justify-content: space-between
}

.fc-classic-E9P {
  justify-content: center
}

.fc-classic-LMv {
  justify-content: flex-end
}

.fc-classic-aTF {
  gap: 2px
}

.fc-classic-NWN {
  gap: 4px
}

.fc-classic-wwb {
  gap: 12px
}

.fc-classic-yth {
  gap: 20px
}

.fc-classic-sI7 {
  align-self: flex-start
}

.fc-classic-pKG {
  overflow: hidden
}

.fc-classic-Ig4 {
  border-radius: 4px
}

.fc-classic-AAA {
  border-radius: 3.40282e38px
}

.fc-classic-Fvv {
  border-radius: 4px
}

.fc-classic-kmj {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px
}

.fc-classic-Skl {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px
}

.fc-classic-C2g {
  border-end-end-radius: 4px
}

.fc-classic-Z7Q {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.fc-classic-2qh {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px
}

.fc-classic-wsy {
  border-style: var(--fc-classic-border-style);
  border-width: 1px
}

.fc-classic-5JF {
  border-style: var(--fc-classic-border-style);
  border-width: 4px
}

.fc-classic-yDA {
  border-style: var(--fc-classic-border-style);
  border-width: 5px
}

.fc-classic-Mjo {
  border-style: var(--fc-classic-border-style);
  border-width: calc(var(--fc-classic-small-dot-width) / 2)
}

.fc-classic-GOm {
  border-style: var(--fc-classic-border-style);
  border-width: calc(var(--fc-classic-large-dot-width) / 2)
}

.fc-classic-1Wx {
  border-inline-style: var(--fc-classic-border-style);
  border-inline-width: 1px
}

.fc-classic-ybF {
  border-inline-style: var(--fc-classic-border-style);
  border-inline-width: 5px
}

.fc-classic-JIC {
  border-block-style: var(--fc-classic-border-style);
  border-block-width: 1px
}

.fc-classic-XM3 {
  border-block-style: var(--fc-classic-border-style);
  border-block-width: 5px
}

.fc-classic-3J4 {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 1px
}

.fc-classic-hhi {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 5px
}

.fc-classic-jIH {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 6px
}

.fc-classic-USt {
  border-inline-end-style: var(--fc-classic-border-style);
  border-inline-end-width: 1px
}

.fc-classic-Bda {
  border-inline-end-style: var(--fc-classic-border-style);
  border-inline-end-width: 5px
}

.fc-classic-ku3 {
  border-top-style: var(--fc-classic-border-style);
  border-top-width: 1px
}

.fc-classic-bLA {
  border-top-style: var(--fc-classic-border-style);
  border-top-width: 6px
}

.fc-classic-zi1 {
  border-bottom-style: var(--fc-classic-border-style);
  border-bottom-width: 1px
}

.fc-classic-TN2 {
  --fc-classic-border-style: dotted;
  border-style: dotted
}

.fc-classic-C1x {
  border-color: var(--fc-classic-border)
}

.fc-classic-sYT {
  border-color: var(--fc-classic-now)
}

.fc-classic-0Pr {
  border-color: var(--fc-classic-primary)
}

.fc-classic-vXO {
  border-color: var(--fc-classic-button-border)
}

.fc-classic-rQI {
  border-color: var(--fc-classic-button-strong-border)
}

.fc-classic-C0k {
  border-color: var(--fc-classic-strong-border)
}

.fc-classic-lNM {
  border-color: var(--fc-event-color)
}

.fc-classic-d0j {
  border-color: #0000
}

.fc-classic-Pqk {
  border-inline-color: #0000
}

.fc-classic-rif {
  border-block-color: #0000
}

.fc-classic-0qY {
  border-inline-start-color: var(--fc-classic-now)
}

.fc-classic-LaM {
  border-inline-start-color: #000
}

.fc-classic-5JV {
  border-inline-end-color: #000
}

.fc-classic-1Aa {
  border-top-color: var(--fc-classic-now)
}

.fc-classic-Jk3 {
  background-color: var(--fc-classic-background)
}

.fc-classic-iYS {
  background-color: var(--fc-classic-faint)
}

.fc-classic-hLU {
  background-color: var(--fc-classic-highlight)
}

.fc-classic-k3f {
  background-color: var(--fc-classic-muted)
}

.fc-classic-YjJ {
  background-color: var(--fc-event-color)
}

@media not print {
  @supports (color:color-mix(in lab, red, red)) {
    .fc-classic-hsC {
      background-color: color-mix(in oklab, var(--fc-event-color) var(--fc-classic-background-event-opacity), transparent)
    }
  }
  @supports not (color:color-mix(in lab, red, red)) {
    .fc-classic-hsC {
      position: relative;
      isolation: isolate
    }
    .fc-classic-hsC:before {
      content: '';
      position: absolute;
      inset: 0;
      background-color: var(--fc-event-color);
      opacity: var(--fc-classic-background-event-opacity);
      z-index: -1
    }
  }
}

.fc-classic-JWq {
  background-color: var(--fc-classic-button)
}

.fc-classic-Adi {
  background-color: var(--fc-classic-button-strong)
}

.fc-classic-KUX {
  padding: 2px
}

.fc-classic-XJa {
  padding: 6px
}

.fc-classic-3N5 {
  padding: 8px
}

.fc-classic-7A6 {
  padding: 1px
}

.fc-classic-oQ2 {
  padding-inline: 2px
}

.fc-classic-Eaq {
  padding-inline: 10px
}

.fc-classic-Apf {
  padding-inline: 12px
}

.fc-classic-F1o {
  padding-inline: 1px
}

.fc-classic-2rx {
  padding-block: 2px
}

.fc-classic-Jhn {
  padding-block: 4px
}

.fc-classic-End {
  padding-block: 6px
}

.fc-classic-dl6 {
  padding-block: 8px
}

.fc-classic-P9h {
  padding-block: 60px
}

.fc-classic-z5u {
  padding-block: 1px
}

.fc-classic-a7i {
  padding-inline-start: 2px
}

.fc-classic-166 {
  padding-top: 2px
}

.fc-classic-8ub {
  padding-bottom: 2px
}

.fc-classic-cM0 {
  padding-bottom: 16px
}

.fc-classic-HXA {
  text-align: center
}

.fc-classic-2HE {
  text-align: end
}

.fc-classic-AVD {
  font-size: 24px;
  line-height: calc(2/1.5)
}

.fc-classic-vQz {
  font-size: 11px;
  line-height: 1.09091
}

.fc-classic-1Po {
  font-size: 16px;
  line-height: calc(1.5/1)
}

.fc-classic-9yp {
  font-size: 14px;
  line-height: calc(1.25/.875)
}

.fc-classic-a3B {
  font-size: 12px;
  line-height: calc(1/.75)
}

.fc-classic-DIS {
  font-weight: 700
}

.fc-classic-IPx {
  text-overflow: ellipsis
}

.fc-classic-TZ4 {
  white-space: nowrap
}

.fc-classic-jm6 {
  white-space: pre
}

.fc-classic-taq {
  color: var(--fc-classic-faint-foreground)
}

.fc-classic-m9h {
  color: var(--fc-classic-muted-foreground)
}

.fc-classic-GAX {
  color: var(--fc-classic-foreground)
}

.fc-classic-RnT {
  color: var(--fc-classic-button-foreground)
}

.fc-classic-i9F {
  color: var(--fc-event-contrast-color)
}

.fc-classic-L1Y {
  font-style: italic
}

.fc-classic-lMo {
  opacity: .5
}

.fc-classic-Q3Z {
  opacity: .65
}

.fc-classic-iTG {
  opacity: .75
}

.fc-classic-MGT {
  opacity: var(--fc-classic-background-event-foreground-opacity)
}

.fc-classic-1kP {
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a
}

.fc-classic-tkw {
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a
}

.fc-classic-qNs {
  box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a
}

.fc-classic-A3h {
  box-shadow: 0 0 0 1px var(--fc-classic-ring-color, currentcolor)
}

.fc-classic-yKG {
  --fc-classic-ring-color: var(--fc-classic-background)
}

.fc-classic-2R2 {
  outline-style: solid;
  outline-width: 1px
}

.fc-classic-0Bj {
  outline-style: solid;
  outline-width: 2px
}

.fc-classic-fFh {
  outline-offset: -2px
}

.fc-classic-3Xj {
  outline-offset: 2px
}

.fc-classic-lYz {
  outline-color: var(--fc-classic-button-outline)
}

.fc-classic-zIi {
  outline-color: var(--fc-classic-primary)
}

.fc-classic-SDU {
  background: linear-gradient(var(--fc-classic-muted), var(--fc-classic-muted))var(--fc-classic-background)
}

.fc-classic-BaR {
  background: linear-gradient(var(--fc-classic-strong), var(--fc-classic-strong))var(--fc-classic-background)
}

.fc-classic-mAY:not(:is(:where(.fc-classic-bCs):hover *)) {
  opacity: .65
}

@media not all and (hover:hover) {
  .fc-classic-mAY {
    opacity: .65
  }
}

@media not print {
  .fc-classic-hbn {
    background-color: var(--fc-classic-today)
  }
}

@media (hover:hover) {
  .fc-classic-vs6:is(:where(.fc-classic-bCs):hover *) {
    display: block
  }

  .fc-classic-Ogp:is(:where(.fc-classic-bCs):hover *) {
    text-decoration-line: underline
  }
}

.fc-classic-uk6:first-child {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px
}

.fc-classic-Tuc:last-child {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px
}

@media (hover:hover) {
  .fc-classic-bqK:hover {
    border-color: var(--fc-classic-button-strong-border)
  }

  .fc-classic-9Rj:hover {
    background-color: var(--fc-classic-button-strong)
  }

  .fc-classic-Ubk:hover {
    background-color: var(--fc-classic-faint)
  }

  .fc-classic-4yP:hover {
    background-color: var(--fc-classic-muted)
  }

  .fc-classic-Eu0:hover {
    text-decoration-line: underline
  }
}

.fc-classic-OIx:focus-visible {
  background-color: var(--fc-classic-faint)
}

.fc-classic-tCP:focus-visible {
  background-color: var(--fc-classic-muted)
}

.fc-classic-uqo:focus-visible {
  outline-style: solid;
  outline-width: 2px
}

.fc-classic-sOR:focus-visible {
  outline-style: solid;
  outline-width: 3px
}

.fc-classic-aIH:active {
  border-color: var(--fc-classic-button-strong-border)
}

.fc-classic-5ky:active {
  background-color: var(--fc-classic-button-strong)
}

.fc-classic-28F:active {
  background-color: var(--fc-classic-muted)
}

.fc-classic-8gz:active {
  background-color: var(--fc-classic-strong)
}

@media print {
  .fc-classic-jsy {
    border-width: 1px
  }

  .fc-classic-nQ5 {
    border-color: var(--fc-classic-button-strong-border)
  }

  .fc-classic-DO7 {
    border-color: var(--fc-event-color)
  }

  .fc-classic-4MR {
    border-color: #000
  }

  .fc-classic-vwH {
    background-color: #fff
  }

  .fc-classic-cfp {
    color: #000
  }
}

[dir=rtl] .fc-classic-jY6 {
  rotate: none
}

[dir=rtl] .fc-classic-asP {
  rotate: 180deg
}


:root {
  /* buttons */
  --fc-classic-button: #334155;
  --fc-classic-button-border: #334155;
  --fc-classic-button-strong: #1e293b;
  --fc-classic-button-strong-border: #0f172a;
  --fc-classic-button-outline: #47556980;
  --fc-classic-button-foreground: #fff;

  /* primary */
  --fc-classic-primary: #3788d8;
  --fc-classic-primary-foreground: #fff;

  /* calendar content */
  --fc-classic-event: var(--fc-classic-primary);
  --fc-classic-event-contrast: var(--fc-classic-primary-foreground);
  --fc-classic-background-event: #22c55e;
  --fc-classic-background-event-opacity: 15%;
  --fc-classic-background-event-foreground-opacity: 50%;
  --fc-classic-highlight: #cffafe66;
  --fc-classic-today: #facc1526;
  --fc-classic-now: #ef4444;
  /* non-colors */
  --fc-classic-small-dot-width: 8px;
  --fc-classic-large-dot-width: 10px;

  /* neutral backgrounds */
  --fc-classic-background: #ffffff;
  --fc-classic-faint: #0000000A;
  --fc-classic-muted: #00000014;
  --fc-classic-strong: #00000024;

  /* neutral foregrounds */
  --fc-classic-foreground: #030712;
  --fc-classic-faint-foreground: #9ca3af;
  --fc-classic-muted-foreground: #6b7280;

  /* neutral borders */
  --fc-classic-border: #ddd;
  --fc-classic-strong-border: #9ca3af;
}

@media not print {
  [data-color-scheme=dark] {
    /* calendar content */
    --fc-classic-highlight: #3b82f633;
    --fc-classic-today: #fef08a1A;

    /* neutral backgrounds */
    --fc-classic-background: #030712;
    --fc-classic-faint: #ffffff0A;
    --fc-classic-muted: #ffffff14;
    --fc-classic-strong: #ffffff24;

    /* neutral foregrounds */
    --fc-classic-foreground: #fff;
    --fc-classic-faint-foreground: #4b5563;
    --fc-classic-muted-foreground: #9ca3af;

    /* neutral borders */
    --fc-classic-border: #1f2937;
    --fc-classic-strong-border: #374151;
  }
}


/*!
 * Select2 Bootstrap 5 Theme v0.1.1 (https://angel-vladov.github.io/select2-theme-bootstrap5)
 * Copyright 2022-2022 Angel Vladov and contributors (https://github.com/angel-vladov/select2-theme-bootstrap5/graphs/contributors)
 * Based on the original select2/select2-bootstrap-theme theme by Florian Kissling and contributors (https://github.com/select2/select2-bootstrap-theme/graphs/contributors)
 * Licensed under MIT (https://github.com/angel-vladov/select2-theme-bootstrap5/blob/master/LICENSE)
 */

.select2-container--bootstrap {
  display: block;
  /*------------------------------------*\
      #COMMON STYLES
  \*------------------------------------*/
  /**
   * Search field in the Select2 dropdown.
   */
  /**
   * No outline for all search fields - in the dropdown
   * and inline in multi Select2s.
   */
  /**
   * Adjust Select2's choices hover and selected styles to match
   * Bootstrap 5's default dropdown styles.
   *
   * @see https://getbootstrap.com/docs/5.0/components/dropdowns/
   */
  /**
   * Clear the selection.
   */
  /**
   * Address disabled Select2 styles.
   *
   * @see https://select2.github.io/examples.html#disabled
   * @see https://getbootstrap.com/docs/5.0/forms/overview/#disabled-forms
   */
  /*------------------------------------*\
      #DROPDOWN
  \*------------------------------------*/
  /**
   * Dropdown border color and box-shadow.
   */
  /**
   * Limit the dropdown height.
   */
  /*------------------------------------*\
      #SINGLE SELECT2
  \*------------------------------------*/
  /*------------------------------------*\
    #MULTIPLE SELECT2
  \*------------------------------------*/
  /**
   * Address Bootstrap control sizing classes
   *
   * 1. Reset Bootstrap defaults.
   * 2. Adjust the dropdown arrow button icon position.
   *
   * @see https://getbootstrap.com/docs/5.0/forms/form-control/#sizing
   */
  /* 1 */
  /*------------------------------------*\
    #RTL SUPPORT
  \*------------------------------------*/
}

.select2-container--bootstrap .select2-selection {
  font-size: 1rem;
  background-color: #fff;
  border: 1px solid #ced4da;
  color: #212529;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  outline: 0;
}

@media (prefers-reduced-motion: reduce) {
  .select2-container--bootstrap .select2-selection {
    transition: none;
  }
}

.select2-container--bootstrap .select2-selection.form-control {
  border-radius: 0.25rem;
}

.select2-container--bootstrap .select2-search--dropdown .select2-search__field {
  font-size: 1rem;
  background-color: #fff;
  border: 1px solid #ced4da;
  color: #212529;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .select2-container--bootstrap .select2-search--dropdown .select2-search__field {
    transition: none;
  }
}

.select2-container--bootstrap .select2-search__field {
  outline: 0;
  /* Firefox 18- */
  /**
     * Firefox 19+
     *
     * @see http://stackoverflow.com/questions/24236240/color-for-styled-placeholder-text-is-muted-in-firefox
     */
}

.select2-container--bootstrap .select2-search__field::-webkit-input-placeholder {
  color: #6c757d;
}

.select2-container--bootstrap .select2-search__field:-moz-placeholder {
  color: #6c757d;
}

.select2-container--bootstrap .select2-search__field::-moz-placeholder {
  color: #6c757d;
  opacity: 1;
}

.select2-container--bootstrap .select2-search__field:-ms-input-placeholder {
  color: #6c757d;
}

.select2-container--bootstrap .select2-results__option {
  padding: 0.375rem 0.75rem;
  /**
     * Disabled results.
     *
     * @see https://select2.github.io/examples.html#disabled-results
     */
  /**
     * Hover state.
     */
  /**
     * Selected state.
     */
}

.select2-container--bootstrap .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--bootstrap .select2-results__option[aria-disabled=true] {
  color: #adb5bd;
  cursor: not-allowed;
}

.select2-container--bootstrap .select2-results__option[aria-selected=true] {
  background-color: #e9ecef;
  color: #1e2125;
}

.select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
  background-color: #0d6efd;
  color: #fff;
}

.select2-container--bootstrap .select2-results__option .select2-results__option {
  padding: 0.375rem 0.75rem;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -0.75rem;
  padding-left: 1.5rem;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1.5rem;
  padding-left: 2.25rem;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2.25rem;
  padding-left: 3rem;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3rem;
  padding-left: 3.75rem;
}

.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3.75rem;
  padding-left: 4.5rem;
}

.select2-container--bootstrap .select2-results__group {
  color: #6c757d;
  display: block;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: nowrap;
}

.select2-container--bootstrap.select2-container--focus .select2-selection, .select2-container--bootstrap.select2-container--open .select2-selection {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.select2-container--bootstrap.select2-container--open {
  /**
     * Make the dropdown arrow point up while the dropdown is visible.
     */
  /**
     * Handle border radii of the container when the dropdown is showing.
     */
}

.select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b {
  border-color: transparent transparent #6c757d transparent;
  border-width: 0 0.25rem 0.25rem 0.25rem;
}

.select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-color: transparent;
  box-shadow: none;
}

.select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top-color: transparent;
  box-shadow: none;
}

.select2-container--bootstrap .select2-selection__clear {
  color: #6c757d;
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px;
}

.select2-container--bootstrap .select2-selection__clear:hover {
  color: #000;
}

.select2-container--bootstrap.select2-container--disabled .select2-selection {
  border-color: #ced4da;
}

.select2-container--bootstrap.select2-container--disabled .select2-selection,
.select2-container--bootstrap.select2-container--disabled .select2-search__field {
  cursor: not-allowed;
}

.select2-container--bootstrap.select2-container--disabled .select2-selection,
.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice {
  background-color: #e9ecef;
}

.select2-container--bootstrap.select2-container--disabled .select2-selection__clear,
.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove {
  display: none;
}

.select2-container--bootstrap .select2-dropdown {
  border-color: #86b7fe;
  overflow-x: hidden;
  margin-top: -1px;
}

.select2-container--bootstrap .select2-dropdown--above {
  margin-top: 1px;
}

.select2-container--bootstrap .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--bootstrap .select2-selection--single {
  height: calc(1.5em + 0.75rem + 2px);
  line-height: 1.5;
  padding: 0.375rem 1.5rem 0.375rem 0.75rem;
  /**
     * Adjust the single Select2's dropdown arrow button appearance.
     */
}

.select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
  position: absolute;
  bottom: 0;
  right: 0.75rem;
  top: 0;
  width: 0.25rem;
}

.select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
  border-color: #6c757d transparent transparent transparent;
  border-style: solid;
  border-width: 0.25rem 0.25rem 0 0.25rem;
  height: 0;
  left: 0;
  margin-left: -0.25rem;
  margin-top: -0.125rem;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
  color: #212529;
  padding: 0;
}

.select2-container--bootstrap .select2-selection--single .select2-selection__placeholder {
  color: #6c757d;
}

.select2-container--bootstrap .select2-selection--multiple {
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0;
  height: auto;
  /**
     * Make Multi Select2's choices match Bootstrap 4's default button styles.
     */
  /**
     * Minus 2px borders.
     */
  /**
     * Clear the selection.
     */
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  display: block;
  line-height: 1.5;
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__placeholder {
  color: #6c757d;
  float: left;
  margin-top: 5px;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
  color: #212529;
  background: #e9ecef;
  border: 1px solid #6c757d;
  border-radius: 0.25rem;
  cursor: default;
  float: left;
  margin: calc(0.375rem - 1px) 0 0 0.375rem;
  padding: 0 0.375rem;
}

.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
  background: transparent;
  padding: 0 0.75rem;
  height: calc(1.5em + 0.75rem + 2px);
  line-height: 1.5;
  margin: -1px 0;
  min-width: 5em;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove {
  color: #6c757d;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 0.1875rem;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #000;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__clear {
  margin-top: 0.375rem;
}

.select2-container--bootstrap .select2-selection--single.form-control-sm,
.input-group-sm .select2-container--bootstrap .select2-selection--single,
.form-group-sm .select2-container--bootstrap .select2-selection--single {
  border-radius: 0.2rem;
  font-size: 0.875rem;
  height: calc(1.5em + 0.5rem + 2px);
  line-height: 1.5;
  padding: 0.25rem 1.25rem 0.25rem 0.5rem;
  /* 2 */
}

.select2-container--bootstrap .select2-selection--single.form-control-sm .select2-selection__arrow b,
.input-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,
.form-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
  margin-left: -0.25rem;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-sm,
.input-group-sm .select2-container--bootstrap .select2-selection--multiple,
.form-group-sm .select2-container--bootstrap .select2-selection--multiple {
  border-radius: 0.2rem;
  min-height: calc(1.5em + 0.5rem + 2px);
}

.select2-container--bootstrap .select2-selection--multiple.form-control-sm .select2-selection__choice,
.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,
.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
  font-size: 0.875rem;
  line-height: 1.5;
  margin: calc(0.25rem - 1px) 0 0 0.25rem;
  padding: 0 0.25rem;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-sm .select2-search--inline .select2-search__field,
.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,
.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
  padding: 0 0.5rem;
  font-size: 0.875rem;
  height: calc(1.5em + 0.5rem + 2px);
  line-height: 1.5;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-sm .select2-selection__clear,
.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,
.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear {
  margin-top: 0.25rem;
}

.select2-container--bootstrap .select2-selection--single.form-control-lg,
.input-group-lg .select2-container--bootstrap .select2-selection--single,
.form-group-lg .select2-container--bootstrap .select2-selection--single {
  border-radius: 0.3rem;
  font-size: 1.25rem;
  height: calc(1.5em + 1rem + 2px);
  line-height: 1.5;
  padding: 0.5rem 1.9375rem 0.5rem 1rem;
  /* 1 */
}

.select2-container--bootstrap .select2-selection--single.form-control-lg .select2-selection__arrow,
.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,
.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
  width: 0.3125rem;
}

.select2-container--bootstrap .select2-selection--single.form-control-lg .select2-selection__arrow b,
.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,
.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
  border-width: 0.3125rem 0.3125rem 0 0.3125rem;
  margin-left: -0.5rem;
  margin-top: -0.15625rem;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-lg,
.input-group-lg .select2-container--bootstrap .select2-selection--multiple,
.form-group-lg .select2-container--bootstrap .select2-selection--multiple {
  min-height: calc(1.5em + 1rem + 2px);
  border-radius: 0.3rem;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-lg .select2-selection__choice,
.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,
.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  margin: calc(0.5rem - 1px) 0 0 0.5rem;
  padding: 0 0.5rem;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-lg .select2-search--inline .select2-search__field,
.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,
.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
  padding: 0 1rem;
  font-size: 1.25rem;
  height: calc(1.5em + 1rem + 2px);
  line-height: 1.5;
}

.select2-container--bootstrap .select2-selection--multiple.form-control-lg .select2-selection__clear,
.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,
.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear {
  margin-top: 0.5rem;
}

.select2-container--bootstrap .select2-selection.form-control-lg.select2-container--open .select2-selection--single {
  /**
     * Make the dropdown arrow point up while the dropdown is visible.
     */
}

.select2-container--bootstrap .select2-selection.form-control-lg.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #6c757d transparent;
  border-width: 0 0.3125rem 0.3125rem 0.3125rem;
}

.input-group-lg .select2-container--bootstrap .select2-selection.select2-container--open .select2-selection--single {
  /**
     * Make the dropdown arrow point up while the dropdown is visible.
     */
}

.input-group-lg .select2-container--bootstrap .select2-selection.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #6c757d transparent;
  border-width: 0 0.3125rem 0.3125rem 0.3125rem;
}

.select2-container--bootstrap[dir="rtl"] {
  /**
     * Single Select2
     *
     * 1. Makes sure that .select2-selection__placeholder is positioned
     *    correctly.
     */
  /**
     * Multiple Select2
     */
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--single {
  padding-left: 1.5rem;
  padding-right: 0.75rem;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 0;
  padding-left: 0;
  text-align: right;
  /* 1 */
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 0.75rem;
  right: auto;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__arrow b {
  margin-left: 0;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice,
.select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,
.select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 0;
  margin-right: 0.375rem;
}

.select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--bootstrap .select2-dropdown[dir="rtl"] .select2-results__options {
  text-align: right;
}

/*------------------------------------*\
  #ADDITIONAL GOODIES
\*------------------------------------*/
/**
 * Address Bootstrap's validation states
 *
 * If a Select2 widget parent has one of Bootstrap's validation state modifier
 * classes, adjust Select2's border colors and focus states accordingly.
 * You may apply said classes to the Select2 dropdown (body > .select2-container)
 * via JavaScript match Bootstraps' to make its styles match.
 *
 * @see https://getbootstrap.com/docs/5.0/forms/validation/
 */
.is-valid .select2-dropdown,
.is-valid .select2-selection {
  border-color: #198754;
}

.is-valid .select2-container--focus .select2-selection,
.is-valid .select2-container--open .select2-selection {
  border-color: #115c39;
}

.is-valid .select2-container--focus .select2-selection:focus,
.is-valid .select2-container--open .select2-selection:focus {
  box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

.is-valid.select2-drop-active {
  border-color: #115c39;
}

.is-valid.select2-drop-active.select2-drop.select2-drop-above {
  border-top-color: #115c39;
}

.is-invalid .select2-dropdown,
.is-invalid .select2-selection {
  border-color: #dc3545;
}

.is-invalid .select2-container--focus .select2-selection,
.is-invalid .select2-container--open .select2-selection {
  border-color: #bd2130;
}

.is-invalid .select2-container--focus .select2-selection:focus,
.is-invalid .select2-container--open .select2-selection:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.is-invalid.select2-drop-active {
  border-color: #bd2130;
}

.is-invalid.select2-drop-active.select2-drop.select2-drop-above {
  border-top-color: #bd2130;
}

/* Validation classes on parent element. Preserved Bootstrap 3 validation classes */
.has-warning .select2-dropdown,
.has-warning .select2-selection {
  border-color: #ffc107;
}

.has-warning .select2-container--focus .select2-selection,
.has-warning .select2-container--open .select2-selection {
  border-color: #d39e00;
}

.has-warning .select2-container--focus .select2-selection:focus,
.has-warning .select2-container--open .select2-selection:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
}

.has-warning.select2-drop-active {
  border-color: #d39e00;
}

.has-warning.select2-drop-active.select2-drop.select2-drop-above {
  border-top-color: #d39e00;
}

.has-error .select2-dropdown,
.has-error .select2-selection {
  border-color: #dc3545;
}

.has-error .select2-container--focus .select2-selection,
.has-error .select2-container--open .select2-selection {
  border-color: #bd2130;
}

.has-error .select2-container--focus .select2-selection:focus,
.has-error .select2-container--open .select2-selection:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.has-error.select2-drop-active {
  border-color: #bd2130;
}

.has-error.select2-drop-active.select2-drop.select2-drop-above {
  border-top-color: #bd2130;
}

.has-success .select2-dropdown,
.has-success .select2-selection {
  border-color: #198754;
}

.has-success .select2-container--focus .select2-selection,
.has-success .select2-container--open .select2-selection {
  border-color: #115c39;
}

.has-success .select2-container--focus .select2-selection:focus,
.has-success .select2-container--open .select2-selection:focus {
  box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

.has-success.select2-drop-active {
  border-color: #115c39;
}

.has-success.select2-drop-active.select2-drop.select2-drop-above {
  border-top-color: #115c39;
}

/**
 * Select2 widgets in Bootstrap Input Groups
 *
 * @see https://getbootstrap.com/docs/4.0/components/input-group/
 * @see https://github.com/twbs/bootstrap/blob/v5.1.3/scss/forms/_input-group.scss
 */
/**
 * Reset rounded corners
 */
.input-group > .select2-hidden-accessible:not(:first-child) + .select2-container--bootstrap > .selection > .select2-selection,
.input-group > .select2-hidden-accessible:not(:first-child) + .select2-container--bootstrap > .selection > .select2-selection.form-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .select2-hidden-accessible + .select2-container--bootstrap:not(:last-child) > .selection > .select2-selection,
.input-group > .select2-hidden-accessible + .select2-container--bootstrap:not(:last-child) > .selection > .select2-selection.form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .select2-container--bootstrap {
  flex: 1 1 auto;
  position: relative;
  z-index: 2;
  width: 1%;
  margin-bottom: 0;
  /**
   * Adjust z-index like Bootstrap does to show the focus-box-shadow
   * above appended buttons in .input-group and .form-group.
   */
  /**
   * Adjust alignment of Bootstrap buttons in Bootstrap Input Groups to address
   * Multi Select2's height which - depending on how many elements have been selected -
   * may grow taller than its initial size.
   *
   * @see https://github.com/twbs/bootstrap/blob/v5.1.3/scss/forms/_input-group.scss
   */
}

.input-group > .select2-container--bootstrap > .selection {
  display: flex;
  flex: 1 1 auto;
}

.input-group > .select2-container--bootstrap > .selection > .select2-selection.form-control {
  float: none;
}

.input-group > .select2-container--bootstrap.select2-container--open, .input-group > .select2-container--bootstrap.select2-container--focus {
  z-index: 3;
}

.input-group > .select2-container--bootstrap,
.input-group > .select2-container--bootstrap .input-group-text,
.input-group > .select2-container--bootstrap .input-group-text .btn {
  vertical-align: top;
}

/**
 * Temporary fix for https://github.com/select2/select2-bootstrap-theme/issues/9
 *
 * Provides `!important` for certain properties of the class applied to the
 * original `<select>` element to hide it.
 *
 * @see https://github.com/select2/select2/pull/3301
 * @see https://github.com/fk/select2/commit/31830c7b32cb3d8e1b12d5b434dee40a6e753ada
 */
.form-control.select2-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(/assets/app/images/node_modules/leaflet/dist/images/layers.416d9136.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/assets/app/images/node_modules/leaflet/dist/images/layers-2x.8f2c4d11.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(/assets/app/images/node_modules/leaflet/dist/images/marker-icon.2b3e1faf.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

