/* classes attached to <body> */.fc-not-allowed,.fc-not-allowed .fc-event { /* override events' custom cursors */  cursor: not-allowed;}.fc-unselectable {  -webkit-user-select: none;     -moz-user-select: none;      -ms-user-select: none;          user-select: none;  -webkit-touch-callout: none;  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.fc {  /* layout of immediate children */  display: flex;  flex-direction: column;  font-size: 1em}.fc,  .fc *,  .fc *:before,  .fc *:after {    box-sizing: border-box;  }.fc table {    border-collapse: collapse;    border-spacing: 0;    font-size: 1em; /* normalize cross-browser */  }.fc th {    text-align: center;  }.fc th,  .fc td {    vertical-align: top;    padding: 0;  }.fc a[data-navlink] {    cursor: pointer;  }.fc a[data-navlink]:hover {    text-decoration: underline;  }.fc-direction-ltr {  direction: ltr;  text-align: left;}.fc-direction-rtl {  direction: rtl;  text-align: right;}.fc-theme-standard td,  .fc-theme-standard th {    border: 1px solid #ddd;    border: 1px solid var(--fc-border-color, #ddd);  }/* for FF, which doesn't expand a 100% div within a table cell. use absolute positioning *//* inner-wrappers are responsible for being absolute *//* TODO: best place for this? */.fc-liquid-hack td,  .fc-liquid-hack th {    position: relative;  }@font-face {  font-family: 'fcicons';  src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format('truetype');  font-weight: normal;  font-style: normal;}.fc-icon {  /* added for fc */  display: inline-block;  width: 1em;  height: 1em;  text-align: center;  -webkit-user-select: none;     -moz-user-select: none;      -ms-user-select: none;          user-select: none;  /* use !important to prevent issues with browser extensions that change fonts */  font-family: 'fcicons' !important;  speak: none;  font-style: normal;  font-weight: normal;  font-variant: normal;  text-transform: none;  line-height: 1;  /* Better Font Rendering =========== */  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;}.fc-icon-chevron-left:before {  content: "\e900";}.fc-icon-chevron-right:before {  content: "\e901";}.fc-icon-chevrons-left:before {  content: "\e902";}.fc-icon-chevrons-right:before {  content: "\e903";}.fc-icon-minus-square:before {  content: "\e904";}.fc-icon-plus-square:before {  content: "\e905";}.fc-icon-x:before {  content: "\e906";}/*Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.cssThese styles only apply when the standard-theme is activated.When it's NOT activated, the fc-button classes won't even be in the DOM.*/.fc {  /* reset */}.fc .fc-button {    border-radius: 0;    overflow: visible;    text-transform: none;    margin: 0;    font-family: inherit;    font-size: inherit;    line-height: inherit;  }.fc .fc-button:focus {    outline: 1px dotted;    outline: 5px auto -webkit-focus-ring-color;  }.fc .fc-button {    -webkit-appearance: button;  }.fc .fc-button:not(:disabled) {    cursor: pointer;  }.fc .fc-button::-moz-focus-inner {    padding: 0;    border-style: none;  }.fc {  /* theme */}.fc .fc-button {    display: inline-block;    font-weight: 400;    text-align: center;    vertical-align: middle;    -webkit-user-select: none;       -moz-user-select: none;        -ms-user-select: none;            user-select: none;    background-color: transparent;    border: 1px solid transparent;    padding: 0.4em 0.65em;    font-size: 1em;    line-height: 1.5;    border-radius: 0.25em;  }.fc .fc-button:hover {    text-decoration: none;  }.fc .fc-button:focus {    outline: 0;    box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);  }.fc .fc-button:disabled {    opacity: 0.65;  }.fc {  /* "primary" coloring */}.fc .fc-button-primary {    color: #fff;    color: var(--fc-button-text-color, #fff);    background-color: #2C3E50;    background-color: var(--fc-button-bg-color, #2C3E50);    border-color: #2C3E50;    border-color: var(--fc-button-border-color, #2C3E50);  }.fc .fc-button-primary:hover {    color: #fff;    color: var(--fc-button-text-color, #fff);    background-color: #1e2b37;    background-color: var(--fc-button-hover-bg-color, #1e2b37);    border-color: #1a252f;    border-color: var(--fc-button-hover-border-color, #1a252f);  }.fc .fc-button-primary:disabled { /* not DRY */    color: #fff;    color: var(--fc-button-text-color, #fff);    background-color: #2C3E50;    background-color: var(--fc-button-bg-color, #2C3E50);    border-color: #2C3E50;    border-color: var(--fc-button-border-color, #2C3E50); /* overrides :hover */  }.fc .fc-button-primary:focus {    box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);  }.fc .fc-button-primary:not(:disabled):active,  .fc .fc-button-primary:not(:disabled).fc-button-active {    color: #fff;    color: var(--fc-button-text-color, #fff);    background-color: #1a252f;    background-color: var(--fc-button-active-bg-color, #1a252f);    border-color: #151e27;    border-color: var(--fc-button-active-border-color, #151e27);  }.fc .fc-button-primary:not(:disabled):active:focus,  .fc .fc-button-primary:not(:disabled).fc-button-active:focus {    box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);  }.fc {  /* icons within buttons */}.fc .fc-button .fc-icon {    vertical-align: middle;    font-size: 1.5em; /* bump up the size (but don't make it bigger than line-height of button, which is 1.5em also) */  }.fc .fc-button-group {    position: relative;    display: inline-flex;    vertical-align: middle;  }.fc .fc-button-group > .fc-button {    position: relative;    flex: 1 1 auto;  }.fc .fc-button-group > .fc-button:hover {    z-index: 1;  }.fc .fc-button-group > .fc-button:focus,  .fc .fc-button-group > .fc-button:active,  .fc .fc-button-group > .fc-button.fc-button-active {    z-index: 1;  }.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) {    margin-left: -1px;    border-top-left-radius: 0;    border-bottom-left-radius: 0;  }.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child) {    border-top-right-radius: 0;    border-bottom-right-radius: 0;  }.fc-direction-rtl .fc-button-group > .fc-button:not(:first-child) {    margin-right: -1px;    border-top-right-radius: 0;    border-bottom-right-radius: 0;  }.fc-direction-rtl .fc-button-group > .fc-button:not(:last-child) {    border-top-left-radius: 0;    border-bottom-left-radius: 0;  }.fc .fc-toolbar {    display: flex;    justify-content: space-between;    align-items: center;    justify-content:center;  }.fc .fc-toolbar.fc-header-toolbar {    margin-bottom: 1.5em;  }.fc .fc-toolbar.fc-footer-toolbar {    margin-top: 1.5em;  }.fc .fc-toolbar-title {    font-size: 1.75em;    margin: 0;  }.fc-direction-ltr .fc-toolbar > * > :not(:first-child) {    margin-left: .75em; /* space between */  }.fc-direction-rtl .fc-toolbar > * > :not(:first-child) {    margin-right: .75em; /* space between */  }.fc-direction-rtl .fc-toolbar-ltr { /* when the toolbar-chunk positioning system is explicitly left-to-right */    flex-direction: row-reverse;  }.fc .fc-scroller {    -webkit-overflow-scrolling: touch;    position: relative; /* for abs-positioned elements within */  }.fc .fc-scroller-liquid {    height: 100%;  }.fc .fc-scroller-liquid-absolute {    position: absolute;    top: 0;    right: 0;    left: 0;    bottom: 0;  }.fc .fc-scroller-harness {    position: relative;    overflow: hidden;    direction: ltr;      /* hack for chrome computing the scroller's right/left wrong for rtl. undone below... */      /* TODO: demonstrate in codepen */  }.fc .fc-scroller-harness-liquid {    height: 100%;  }.fc-direction-rtl .fc-scroller-harness > .fc-scroller { /* undo above hack */    direction: rtl;  }.fc-theme-standard .fc-scrollgrid {    border: 1px solid #ddd;    border: 1px solid var(--fc-border-color, #ddd); /* bootstrap does this. match */  }.fc .fc-scrollgrid,    .fc .fc-scrollgrid table { /* all tables (self included) */      width: 100%; /* because tables don't normally do this */      table-layout: fixed;    }.fc .fc-scrollgrid table { /* inner tables */      border-top-style: hidden;      border-left-style: hidden;      border-right-style: hidden;    }.fc .fc-scrollgrid {    border-collapse: separate;    border-right-width: 0;    border-bottom-width: 0;  }.fc .fc-scrollgrid-liquid {    height: 100%;  }.fc .fc-scrollgrid-section { /* a <tr> */    height: 1px /* better than 0, for firefox */  }.fc .fc-scrollgrid-section > td {      height: 1px; /* needs a height so inner div within grow. better than 0, for firefox */    }.fc .fc-scrollgrid-section table {      height: 1px;        /* for most browsers, if a height isn't set on the table, can't do liquid-height within cells */        /* serves as a min-height. harmless */    }.fc .fc-scrollgrid-section-liquid {    height: auto  }.fc .fc-scrollgrid-section-liquid > td {      height: 100%; /* better than `auto`, for firefox */    }.fc .fc-scrollgrid-section > * {    border-top-width: 0;    border-left-width: 0;  }.fc .fc-scrollgrid-section-header > *,  .fc .fc-scrollgrid-section-footer > * {    border-bottom-width: 0;  }.fc .fc-scrollgrid-section-body table,  .fc .fc-scrollgrid-section-footer table {    border-bottom-style: hidden; /* head keeps its bottom border tho */  }.fc {  /* stickiness */}.fc .fc-scrollgrid-section-sticky > * {    background: #fff;    background: var(--fc-page-bg-color, #fff);    position: -webkit-sticky;    position: sticky;    z-index: 2; /* TODO: var */    /* TODO: box-shadow when sticking */  }.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky > * {    top: 0; /* because border-sharing causes a gap at the top */      /* TODO: give safari -1. has bug */  }.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky > * {    bottom: 0; /* known bug: bottom-stickiness doesn't work in safari */  }.fc .fc-scrollgrid-sticky-shim { /* for horizontal scrollbar */    height: 1px; /* needs height to create scrollbars */    margin-bottom: -1px;  }.fc-sticky { /* no .fc wrap because used as child of body */  position: -webkit-sticky;  position: sticky;}.fc .fc-view-harness {    flex-grow: 1; /* because this harness is WITHIN the .fc's flexbox */    position: relative;  }.fc {  /* when the harness controls the height, make the view liquid */}.fc .fc-view-harness-active > .fc-view {    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0;  }.fc .fc-col-header-cell-cushion {    display: inline-block; /* x-browser for when sticky (when multi-tier header) */    padding: 2px 4px;  }.fc .fc-bg-event,  .fc .fc-non-business,  .fc .fc-highlight {    /* will always have a harness with position:relative/absolute, so absolutely expand */    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;  }.fc .fc-non-business {    background: rgba(215, 215, 215, 0.3);    background: var(--fc-non-business-color, rgba(215, 215, 215, 0.3));  }.fc .fc-bg-event {    background: rgb(143, 223, 130);    background: var(--fc-bg-event-color, rgb(143, 223, 130));    opacity: 0.3;    opacity: var(--fc-bg-event-opacity, 0.3)  }.fc .fc-bg-event .fc-event-title {      margin: .5em;      font-size: .85em;      font-size: var(--fc-small-font-size, .85em);      font-style: italic;    }.fc .fc-highlight {    background: rgba(188, 232, 241, 0.3);    background: var(--fc-highlight-color, rgba(188, 232, 241, 0.3));  }.fc .fc-cell-shaded,  .fc .fc-day-disabled {    background: rgba(208, 208, 208, 0.3);    background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));  }/* link resets *//* ---------------------------------------------------------------------------------------------------- */a.fc-event,a.fc-event:hover {  text-decoration: none;}/* cursor */.fc-event[href],.fc-event.fc-event-draggable {  cursor: pointer;}/* event text content *//* ---------------------------------------------------------------------------------------------------- */.fc-event .fc-event-main {    position: relative;    z-index: 2;  }/* dragging *//* ---------------------------------------------------------------------------------------------------- */.fc-event-dragging:not(.fc-event-selected) { /* MOUSE */    opacity: 0.75;  }.fc-event-dragging.fc-event-selected { /* TOUCH */    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);  }/* resizing *//* ---------------------------------------------------------------------------------------------------- *//* (subclasses should hone positioning for touch and non-touch) */.fc-event .fc-event-resizer {    display: none;    position: absolute;    z-index: 4;  }.fc-event:hover, /* MOUSE */.fc-event-selected { /* TOUCH */}.fc-event:hover .fc-event-resizer, .fc-event-selected .fc-event-resizer {    display: block;  }.fc-event-selected .fc-event-resizer {    border-radius: 4px;    border-radius: calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);    border-width: 1px;    border-width: var(--fc-event-resizer-dot-border-width, 1px);    width: 8px;    width: var(--fc-event-resizer-dot-total-width, 8px);    height: 8px;    height: var(--fc-event-resizer-dot-total-width, 8px);    border-style: solid;    border-color: inherit;    background: #fff;    background: var(--fc-page-bg-color, #fff)    /* expand hit area */  }.fc-event-selected .fc-event-resizer:before {      content: '';      position: absolute;      top: -20px;      left: -20px;      right: -20px;      bottom: -20px;    }/* selecting (always TOUCH) *//* ---------------------------------------------------------------------------------------------------- */.fc-event-selected {  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2)  /* expand hit area (subclasses should expand) */}.fc-event-selected:before {    content: "";    position: absolute;    z-index: 3;    top: 0;    left: 0;    right: 0;    bottom: 0;  }.fc-event-selected {  /* dimmer effect */}.fc-event-selected:after {    content: "";    background: rgba(0, 0, 0, 0.25);    background: var(--fc-event-selected-overlay-color, rgba(0, 0, 0, 0.25));    position: absolute;    z-index: 1;    /* assume there's a border on all sides. overcome it. */    /* sometimes there's NOT a border, in which case the dimmer will go over */    /* an adjacent border, which looks fine. */    top: -1px;    left: -1px;    right: -1px;    bottom: -1px;  }/*A HORIZONTAL event*/.fc-h-event { /* allowed to be top-level */  display: block;  border: 1px solid #3788d8;  border: 1px solid var(--fc-event-border-color, #3788d8);  background-color: #3788d8;  background-color: var(--fc-event-bg-color, #3788d8)}.fc-h-event .fc-event-main {    color: #fff;    color: var(--fc-event-text-color, #fff);  }.fc-h-event .fc-event-main-frame {    display: flex; /* for make fc-event-title-container expand */  }.fc-h-event .fc-event-time {    max-width: 100%; /* clip overflow on this element */    overflow: hidden;  }.fc-h-event .fc-event-title-container { /* serves as a container for the sticky cushion */    flex-grow: 1;    flex-shrink: 1;    min-width: 0; /* important for allowing to shrink all the way */  }.fc-h-event .fc-event-title {    display: inline-block; /* need this to be sticky cross-browser */    vertical-align: top; /* for not messing up line-height */    left: 0;  /* for sticky */    right: 0; /* for sticky */    max-width: 100%; /* clip overflow on this element */    overflow: hidden;  }.fc-h-event.fc-event-selected:before {    /* expand hit area */    top: -10px;    bottom: -10px;  }/* adjust border and border-radius (if there is any) for non-start/end */.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end) {  border-top-left-radius: 0;  border-bottom-left-radius: 0;  border-left-width: 0;}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start) {  border-top-right-radius: 0;  border-bottom-right-radius: 0;  border-right-width: 0;}/* resizers */.fc-h-event:not(.fc-event-selected) .fc-event-resizer {  top: 0;  bottom: 0;  width: 8px;  width: var(--fc-event-resizer-thickness, 8px);}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end {  cursor: w-resize;  left: -4px;  left: calc(var(--fc-event-resizer-thickness, 8px) / -2);}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start {  cursor: e-resize;  right: -4px;  right: calc(var(--fc-event-resizer-thickness, 8px) / -2);}/* resizers for TOUCH */.fc-h-event.fc-event-selected .fc-event-resizer {  top: 50%;  margin-top: -4px;  margin-top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end {  left: -4px;  left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start {  right: -4px;  right: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);}:root {  --fc-daygrid-event-dot-width: 8px;}.fc .fc-popover {    position: fixed;    top: 0; /* for when not positioned yet */    box-shadow: 0 2px 6px rgba(0,0,0,.15);  }.fc .fc-popover-header {    display: flex;    flex-direction: row;    justify-content: space-between;    align-items: center;    padding: 3px 4px;  }.fc .fc-popover-title {    margin: 0 2px;  }.fc .fc-popover-close {    cursor: pointer;    opacity: 0.65;    font-size: 1.1em;  }.fc-theme-standard .fc-popover {    border: 1px solid #ddd;    border: 1px solid var(--fc-border-color, #ddd);    background: #fff;    background: var(--fc-page-bg-color, #fff);  }.fc-theme-standard .fc-popover-header {    background: rgba(208, 208, 208, 0.3);    background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));  }/* help things clear margins of inner content */.fc-daygrid-day-frame,.fc-daygrid-day-events,.fc-daygrid-event-harness { /* for event top/bottom margins */}.fc-daygrid-day-frame:before, .fc-daygrid-day-events:before, .fc-daygrid-event-harness:before {  content: "";  clear: both;  display: table; }.fc-daygrid-day-frame:after, .fc-daygrid-day-events:after, .fc-daygrid-event-harness:after {  content: "";  clear: both;  display: table; }.fc .fc-daygrid-body { /* a <div> that wraps the table */    position: relative;    z-index: 1; /* container inner z-index's because <tr>s can't do it */  }.fc .fc-daygrid-day.fc-day-today {      background-color: rgba(255, 220, 40, 0.15);      background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15));    }.fc .fc-daygrid-day-frame {    position: relative;    min-height: 100%; /* seems to work better than `height` because sets height after rows/cells naturally do it */  }.fc {  /* cell top */}.fc .fc-daygrid-day-top {    display: flex;    flex-direction: row-reverse;  }.fc .fc-day-other .fc-daygrid-day-top {    opacity: 0.3;  }.fc {  /* day number (within cell top) */}.fc .fc-daygrid-day-number {    position: relative;    z-index: 4;    padding: 4px;  }.fc {  /* event container */}.fc .fc-daygrid-day-events {    margin-top: 1px; /* needs to be margin, not padding, so that available cell height can be computed */  }.fc {  /* positioning for balanced vs natural */}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events {      position: absolute;      left: 0;      right: 0;    }.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {      position: relative; /* for containing abs positioned event harnesses */      min-height: 2em; /* in addition to being a min-height during natural height, equalizes the heights a little bit */    }.fc .fc-daygrid-body-natural { /* can coexist with -unbalanced */  }.fc .fc-daygrid-body-natural .fc-daygrid-day-events {      margin-bottom: 1em;    }.fc {  /* event harness */}.fc .fc-daygrid-event-harness {    position: relative;  }.fc .fc-daygrid-event-harness-abs {    position: absolute;    top: 0; /* fallback coords for when cannot yet be computed */    left: 0; /* */    right: 0; /* */  }.fc .fc-daygrid-bg-harness {    position: absolute;    top: 0;    bottom: 0;  }.fc {  /* bg content */}.fc .fc-daygrid-day-bg .fc-non-business { z-index: 1 }.fc .fc-daygrid-day-bg .fc-bg-event { z-index: 2 }.fc .fc-daygrid-day-bg .fc-highlight { z-index: 3 }.fc {  /* events */}.fc .fc-daygrid-event {    z-index: 6;    margin-top: 1px;  }.fc .fc-daygrid-event.fc-event-mirror {    z-index: 7;  }.fc {  /* cell bottom (within day-events) */}.fc .fc-daygrid-day-bottom {    font-size: .85em;    margin: 2px 3px 0;  }.fc .fc-daygrid-more-link {    position: relative;    z-index: 4;    cursor: pointer;  }.fc {  /* week number (within frame) */}.fc .fc-daygrid-week-number {    position: absolute;    z-index: 5;    top: 0;    padding: 2px;    min-width: 1.5em;    text-align: center;    background-color: rgba(208, 208, 208, 0.3);    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));    color: #808080;    color: var(--fc-neutral-text-color, #808080);  }.fc {  /* popover */}.fc .fc-more-popover {    z-index: 8;  }.fc .fc-more-popover .fc-popover-body {    min-width: 220px;    padding: 10px;  }.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end {  margin-left: 2px;}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start {  margin-right: 2px;}.fc-direction-ltr .fc-daygrid-week-number {    left: 0;    border-radius: 0 0 3px 0;  }.fc-direction-rtl .fc-daygrid-week-number {    right: 0;    border-radius: 0 0 0 3px;  }.fc-liquid-hack .fc-daygrid-day-frame {    position: static; /* will cause inner absolute stuff to expand to <td> */  }.fc-daygrid-event { /* make root-level, because will be dragged-and-dropped outside of a component root */  position: relative; /* for z-indexes assigned later */  white-space: nowrap;  border-radius: 3px; /* dot event needs this to when selected */  font-size: .85em;  font-size: var(--fc-small-font-size, .85em);}/* --- the rectangle ("block") style of event --- */.fc-daygrid-block-event .fc-event-time {    font-weight: bold;  }.fc-daygrid-block-event .fc-event-time,  .fc-daygrid-block-event .fc-event-title {    padding: 1px;  }/* --- the dot style of event --- */.fc-daygrid-dot-event {  display: flex;  align-items: center;  padding: 2px 0}.fc-daygrid-dot-event .fc-event-title {    flex-grow: 1;    flex-shrink: 1;    min-width: 0; /* important for allowing to shrink all the way */    overflow: hidden;    font-weight: bold;  }.fc-daygrid-dot-event:hover,  .fc-daygrid-dot-event.fc-event-mirror {    background: rgba(0, 0, 0, 0.1);  }.fc-daygrid-dot-event.fc-event-selected:before {    /* expand hit area */    top: -10px;    bottom: -10px;  }.fc-daygrid-event-dot { /* the actual dot */  margin: 0 4px;  box-sizing: content-box;  width: 0;  height: 0;  border: 4px solid #3788d8;  border: calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color, #3788d8);  border-radius: 4px;  border-radius: calc(var(--fc-daygrid-event-dot-width, 8px) / 2);}/* --- spacing between time and title --- */.fc-direction-ltr .fc-daygrid-event .fc-event-time {    margin-right: 3px;  }.fc-direction-rtl .fc-daygrid-event .fc-event-time {    margin-left: 3px;  }/*A VERTICAL event*/.fc-v-event { /* allowed to be top-level */  display: block;  border: 1px solid #3788d8;  border: 1px solid var(--fc-event-border-color, #3788d8);  background-color: #3788d8;  background-color: var(--fc-event-bg-color, #3788d8)}.fc-v-event .fc-event-main {    color: #fff;    color: var(--fc-event-text-color, #fff);    height: 100%;  }.fc-v-event .fc-event-main-frame {    height: 100%;    display: flex;    flex-direction: column;  }.fc-v-event .fc-event-time {    flex-grow: 0;    flex-shrink: 0;    max-height: 100%;    overflow: hidden;  }.fc-v-event .fc-event-title-container { /* a container for the sticky cushion */    flex-grow: 1;    flex-shrink: 1;    min-height: 0; /* important for allowing to shrink all the way */  }.fc-v-event .fc-event-title { /* will have fc-sticky on it */    top: 0;    bottom: 0;    max-height: 100%; /* clip overflow */    overflow: hidden;  }.fc-v-event:not(.fc-event-start) {    border-top-width: 0;    border-top-left-radius: 0;    border-top-right-radius: 0;  }.fc-v-event:not(.fc-event-end) {    border-bottom-width: 0;    border-bottom-left-radius: 0;    border-bottom-right-radius: 0;  }.fc-v-event.fc-event-selected:before {    /* expand hit area */    left: -10px;    right: -10px;  }.fc-v-event {  /* resizer (mouse AND touch) */}.fc-v-event .fc-event-resizer-start {    cursor: n-resize;  }.fc-v-event .fc-event-resizer-end {    cursor: s-resize;  }.fc-v-event {  /* resizer for MOUSE */}.fc-v-event:not(.fc-event-selected) .fc-event-resizer {      height: 8px;      height: var(--fc-event-resizer-thickness, 8px);      left: 0;      right: 0;    }.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start {      top: -4px;      top: calc(var(--fc-event-resizer-thickness, 8px) / -2);    }.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end {      bottom: -4px;      bottom: calc(var(--fc-event-resizer-thickness, 8px) / -2);    }.fc-v-event {  /* resizer for TOUCH (when event is "selected") */}.fc-v-event.fc-event-selected .fc-event-resizer {      left: 50%;      margin-left: -4px;      margin-left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);    }.fc-v-event.fc-event-selected .fc-event-resizer-start {      top: -4px;      top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);    }.fc-v-event.fc-event-selected .fc-event-resizer-end {      bottom: -4px;      bottom: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);    }.fc .fc-timegrid .fc-daygrid-body { /* the all-day daygrid within the timegrid view */    z-index: 2; /* put above the timegrid-body so that more-popover is above everything. TODO: better solution */  }.fc .fc-timegrid-divider {    padding: 0 0 2px; /* browsers get confused when you set height. use padding instead */  }.fc .fc-timegrid-body {    position: relative;    z-index: 1; /* scope the z-indexes of slots and cols */    min-height: 100%; /* fill height always, even when slat table doesn't grow */  }.fc .fc-timegrid-axis-chunk { /* for advanced ScrollGrid */    position: relative /* offset parent for now-indicator-container */  }.fc .fc-timegrid-axis-chunk > table {      position: relative;      z-index: 1; /* above the now-indicator-container */    }.fc .fc-timegrid-slots {    position: relative;    z-index: 1;  }.fc .fc-timegrid-slot { /* a <td> */    height: 1.5em;    border-bottom: 0 /* each cell owns its top border */  }.fc .fc-timegrid-slot:empty:before {      content: '\00a0'; /* make sure there's at least an empty space to create height for height syncing */    }.fc .fc-timegrid-slot-minor {    border-top-style: dotted;  }.fc .fc-timegrid-slot-label-cushion {    display: inline-block;    white-space: nowrap;  }.fc .fc-timegrid-slot-label {    vertical-align: middle; /* vertical align the slots */  }.fc {  /* slots AND axis cells (top-left corner of view including the "all-day" text) */}.fc .fc-timegrid-axis-cushion,  .fc .fc-timegrid-slot-label-cushion {    padding: 0 4px;  }.fc {  /* axis cells (top-left corner of view including the "all-day" text) */  /* vertical align is more complicated, uses flexbox */}.fc .fc-timegrid-axis-frame-liquid {    height: 100%; /* will need liquid-hack in FF */  }.fc .fc-timegrid-axis-frame {    overflow: hidden;    display: flex;    align-items: center; /* vertical align */    justify-content: flex-end; /* horizontal align. matches text-align below */  }.fc .fc-timegrid-axis-cushion {    max-width: 60px; /* limits the width of the "all-day" text */    flex-shrink: 0; /* allows text to expand how it normally would, regardless of constrained width */  }.fc-direction-ltr .fc-timegrid-slot-label-frame {    text-align: right;  }.fc-direction-rtl .fc-timegrid-slot-label-frame {    text-align: left;  }.fc-liquid-hack .fc-timegrid-axis-frame-liquid {  height: auto;  position: absolute;  top: 0;  right: 0;  bottom: 0;  left: 0;  }.fc .fc-timegrid-col.fc-day-today {      background-color: rgba(255, 220, 40, 0.15);      background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15));    }.fc .fc-timegrid-col-frame {    min-height: 100%; /* liquid-hack is below */    position: relative;  }.fc-liquid-hack .fc-timegrid-col-frame {  height: auto;  position: absolute;  top: 0;  right: 0;  bottom: 0;  left: 0;  }.fc-media-screen .fc-timegrid-cols {    position: absolute; /* no z-index. children will decide and go above slots */    top: 0;    left: 0;    right: 0;    bottom: 0  }.fc-media-screen .fc-timegrid-cols > table {      height: 100%;    }.fc-media-screen .fc-timegrid-col-bg,  .fc-media-screen .fc-timegrid-col-events,  .fc-media-screen .fc-timegrid-now-indicator-container {    position: absolute;    top: 0;    left: 0;    right: 0;  }.fc-media-screen .fc-timegrid-event-harness {    position: absolute; /* top/left/right/bottom will all be set by JS */  }.fc {  /* bg */}.fc .fc-timegrid-col-bg {    z-index: 2; /* TODO: kill */  }.fc .fc-timegrid-col-bg .fc-non-business { z-index: 1 }.fc .fc-timegrid-col-bg .fc-bg-event { z-index: 2 }.fc .fc-timegrid-col-bg .fc-highlight { z-index: 3 }.fc .fc-timegrid-bg-harness {    position: absolute; /* top/bottom will be set by JS */    left: 0;    right: 0;  }.fc {  /* fg events */  /* (the mirror segs are put into a separate container with same classname, */  /* and they must be after the normal seg container to appear at a higher z-index) */}.fc .fc-timegrid-col-events {    z-index: 3;    /* child event segs have z-indexes that are scoped within this div */  }.fc {  /* now indicator */}.fc .fc-timegrid-now-indicator-container {    bottom: 0;    overflow: hidden; /* don't let overflow of lines/arrows cause unnecessary scrolling */    /* z-index is set on the individual elements */  }.fc-direction-ltr .fc-timegrid-col-events {    margin: 0 2.5% 0 2px;  }.fc-direction-rtl .fc-timegrid-col-events {    margin: 0 2px 0 2.5%;  }.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror {  box-shadow: 0px 0px 0px 1px #fff;  box-shadow: 0px 0px 0px 1px var(--fc-page-bg-color, #fff);}.fc-timegrid-event { /* events need to be root */  font-size: .85em;  font-size: var(--fc-small-font-size, .85em);  border-radius: 3px}.fc-timegrid-event .fc-event-main {    padding: 1px 1px 0;  }.fc-timegrid-event .fc-event-time {    white-space: nowrap;    font-size: .85em;    font-size: var(--fc-small-font-size, .85em);    margin-bottom: 1px;  }.fc-timegrid-event-condensed .fc-event-main-frame {    flex-direction: row;    overflow: hidden;  }.fc-timegrid-event-condensed .fc-event-time:after {    content: '\00a0-\00a0'; /* dash surrounded by non-breaking spaces */  }.fc-timegrid-event-condensed .fc-event-title {    font-size: .85em;    font-size: var(--fc-small-font-size, .85em)  }.fc-media-screen .fc-timegrid-event {    position: absolute; /* absolute WITHIN the harness */    top: 0;    bottom: 1px; /* stay away from bottom slot line */    left: 0;    right: 0;  }.fc {  /* line */}.fc .fc-timegrid-now-indicator-line {    position: absolute;    z-index: 4;    left: 0;    right: 0;    border-style: solid;    border-color: red;    border-color: var(--fc-now-indicator-color, red);    border-width: 1px 0 0;  }.fc {  /* arrow */}.fc .fc-timegrid-now-indicator-arrow {    position: absolute;    z-index: 4;    margin-top: -5px; /* vertically center on top coordinate */    border-style: solid;    border-color: red;    border-color: var(--fc-now-indicator-color, red);  }.fc-direction-ltr .fc-timegrid-now-indicator-arrow {    left: 0;    /* triangle pointing right. TODO: mixin */    border-width: 5px 0 5px 6px;    border-top-color: transparent;    border-bottom-color: transparent;  }.fc-direction-rtl .fc-timegrid-now-indicator-arrow {    right: 0;    /* triangle pointing left. TODO: mixin */    border-width: 5px 6px 5px 0;    border-top-color: transparent;    border-bottom-color: transparent;  }:root {  --fc-list-event-dot-width: 10px;  --fc-list-event-hover-bg-color: #f5f5f5;}.fc-theme-standard .fc-list {    border: 1px solid #ddd;    border: 1px solid var(--fc-border-color, #ddd);  }.fc {  /* message when no events */}.fc .fc-list-empty {    background-color: rgba(208, 208, 208, 0.3);    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));    height: 100%;    display: flex;    justify-content: center;    align-items: center; /* vertically aligns fc-list-empty-inner */  }.fc .fc-list-empty-cushion {    margin: 5em 0;  }.fc {  /* table within the scroller */  /* ---------------------------------------------------------------------------------------------------- */}.fc .fc-list-table {    width: 100%;    border-style: hidden; /* kill outer border on theme */  }.fc .fc-list-table tr > * {    border-left: 0;    border-right: 0;  }.fc .fc-list-sticky .fc-list-day > * { /* the cells */      position: -webkit-sticky;      position: sticky;      top: 0;      background: #fff;      background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */    }.fc .fc-list-table th {    padding: 0; /* uses an inner-wrapper instead... */  }.fc .fc-list-table td,  .fc .fc-list-day-cushion {    padding: 8px 14px;  }.fc {  /* date heading rows */  /* ---------------------------------------------------------------------------------------------------- */}.fc .fc-list-day-cushion:after {  content: "";  clear: both;  display: table; /* clear floating */    }.fc-theme-standard .fc-list-day-cushion {    background-color: rgba(208, 208, 208, 0.3);    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));  }.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text {  float: left;}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text {  float: right;}/* make the dot closer to the event title */.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 }.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 }.fc .fc-list-event.fc-event-forced-url {    cursor: pointer; /* whole row will seem clickable */  }.fc .fc-list-event:hover td {    background-color: #f5f5f5;    background-color: var(--fc-list-event-hover-bg-color, #f5f5f5);  }.fc {  /* shrink certain cols */}.fc .fc-list-event-graphic,  .fc .fc-list-event-time {    white-space: nowrap;    width: 1px;  }.fc .fc-list-event-dot {    display: inline-block;    box-sizing: content-box;    width: 0;    height: 0;    border: 5px solid #3788d8;    border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8);    border-radius: 5px;    border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2);  }.fc {  /* reset <a> styling */}.fc .fc-list-event-title a {    color: inherit;    text-decoration: none;  }.fc {  /* underline link when hovering over any part of row */}.fc .fc-list-event.fc-event-forced-url:hover a {    text-decoration: underline;  }  .fc-theme-bootstrap a:not([href]) {    color: inherit; /* natural color for navlinks */  }