fullcalendar.css 27 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052
  1. @charset "UTF-8";
  2. .fc {
  3. direction: ltr;
  4. text-align: left;
  5. }
  6. .fc-rtl {
  7. text-align: right;
  8. }
  9. body .fc {
  10. /* extra precedence to overcome jqui */
  11. font-size: 1em;
  12. }
  13. /* Colors
  14. --------------------------------------------------------------------------------------------------*/
  15. .fc-highlight {
  16. /* when user is selecting cells */
  17. background: #bce8f1;
  18. opacity: 0.3;
  19. }
  20. .fc-bgevent {
  21. /* default look for background events */
  22. background: #8fdf82;
  23. opacity: 0.3;
  24. }
  25. .fc-nonbusiness {
  26. /* default look for non-business-hours areas */
  27. /* will inherit .fc-bgevent's styles */
  28. background: #d7d7d7;
  29. }
  30. /* Popover
  31. --------------------------------------------------------------------------------------------------*/
  32. .fc-popover {
  33. position: absolute;
  34. box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  35. }
  36. .fc-popover .fc-header {
  37. /* TODO: be more consistent with fc-head/fc-body */
  38. display: flex;
  39. flex-direction: row;
  40. justify-content: space-between;
  41. align-items: center;
  42. padding: 2px 4px;
  43. }
  44. .fc-rtl .fc-popover .fc-header {
  45. flex-direction: row-reverse;
  46. }
  47. .fc-popover .fc-header .fc-title {
  48. margin: 0 2px;
  49. }
  50. .fc-popover .fc-header .fc-close {
  51. cursor: pointer;
  52. opacity: 0.65;
  53. font-size: 1.1em;
  54. }
  55. /* Misc Reusable Components
  56. --------------------------------------------------------------------------------------------------*/
  57. .fc-divider {
  58. border-style: solid;
  59. border-width: 1px;
  60. }
  61. hr.fc-divider {
  62. height: 0;
  63. margin: 0;
  64. padding: 0 0 2px;
  65. /* height is unreliable across browsers, so use padding */
  66. border-width: 1px 0;
  67. }
  68. .fc-bg,
  69. .fc-bgevent-skeleton,
  70. .fc-highlight-skeleton,
  71. .fc-mirror-skeleton {
  72. /* these element should always cling to top-left/right corners */
  73. position: absolute;
  74. top: 0;
  75. left: 0;
  76. right: 0;
  77. }
  78. .fc-bg {
  79. bottom: 0;
  80. /* strech bg to bottom edge */
  81. }
  82. .fc-bg table {
  83. height: 100%;
  84. /* strech bg to bottom edge */
  85. }
  86. /* Tables
  87. --------------------------------------------------------------------------------------------------*/
  88. .fc table {
  89. width: 100%;
  90. box-sizing: border-box;
  91. /* fix scrollbar issue in firefox */
  92. table-layout: fixed;
  93. border-collapse: collapse;
  94. border-spacing: 0;
  95. font-size: 1em;
  96. /* normalize cross-browser */
  97. }
  98. .fc th {
  99. text-align: center;
  100. }
  101. .fc th,
  102. .fc td {
  103. border-style: solid;
  104. border-width: 1px;
  105. padding: 0;
  106. vertical-align: top;
  107. }
  108. .fc td.fc-today {
  109. border-style: double;
  110. /* overcome neighboring borders */
  111. }
  112. /* Internal Nav Links
  113. --------------------------------------------------------------------------------------------------*/
  114. a[data-goto] {
  115. cursor: pointer;
  116. }
  117. a[data-goto]:hover {
  118. text-decoration: underline;
  119. }
  120. /* Fake Table Rows
  121. --------------------------------------------------------------------------------------------------*/
  122. .fc .fc-row {
  123. /* extra precedence to overcome themes forcing a 1px border */
  124. /* no visible border by default. but make available if need be (scrollbar width compensation) */
  125. border-style: solid;
  126. border-width: 0;
  127. }
  128. .fc-row table {
  129. /* don't put left/right border on anything within a fake row.
  130. the outer tbody will worry about this */
  131. border-left: 0 hidden transparent;
  132. border-right: 0 hidden transparent;
  133. /* no bottom borders on rows */
  134. border-bottom: 0 hidden transparent;
  135. }
  136. .fc-row:first-child table {
  137. border-top: 0 hidden transparent;
  138. /* no top border on first row */
  139. }
  140. /* Day Row (used within the header and the DayGrid)
  141. --------------------------------------------------------------------------------------------------*/
  142. .fc-row {
  143. position: relative;
  144. }
  145. .fc-row .fc-bg {
  146. z-index: 1;
  147. }
  148. /* highlighting cells & background event skeleton */
  149. .fc-row .fc-bgevent-skeleton,
  150. .fc-row .fc-highlight-skeleton {
  151. bottom: 0;
  152. /* stretch skeleton to bottom of row */
  153. }
  154. .fc-row .fc-bgevent-skeleton table,
  155. .fc-row .fc-highlight-skeleton table {
  156. height: 100%;
  157. /* stretch skeleton to bottom of row */
  158. }
  159. .fc-row .fc-highlight-skeleton td,
  160. .fc-row .fc-bgevent-skeleton td {
  161. border-color: transparent;
  162. }
  163. .fc-row .fc-bgevent-skeleton {
  164. z-index: 2;
  165. }
  166. .fc-row .fc-highlight-skeleton {
  167. z-index: 3;
  168. }
  169. /*
  170. row content (which contains day/week numbers and events) as well as "mirror" (which contains
  171. temporary rendered events).
  172. */
  173. .fc-row .fc-content-skeleton {
  174. position: relative;
  175. z-index: 4;
  176. padding-bottom: 2px;
  177. /* matches the space above the events */
  178. }
  179. .fc-row .fc-mirror-skeleton {
  180. z-index: 5;
  181. }
  182. .fc .fc-row .fc-content-skeleton table,
  183. .fc .fc-row .fc-content-skeleton td,
  184. .fc .fc-row .fc-mirror-skeleton td {
  185. /* see-through to the background below */
  186. /* extra precedence to prevent theme-provided backgrounds */
  187. background: none;
  188. /* in case <td>s are globally styled */
  189. border-color: transparent;
  190. }
  191. .fc-row .fc-content-skeleton td,
  192. .fc-row .fc-mirror-skeleton td {
  193. /* don't put a border between events and/or the day number */
  194. border-bottom: 0;
  195. }
  196. .fc-row .fc-content-skeleton tbody td,
  197. .fc-row .fc-mirror-skeleton tbody td {
  198. /* don't put a border between event cells */
  199. border-top: 0;
  200. }
  201. /* Scrolling Container
  202. --------------------------------------------------------------------------------------------------*/
  203. .fc-scroller {
  204. -webkit-overflow-scrolling: touch;
  205. }
  206. /* TODO: move to timegrid/daygrid */
  207. .fc-scroller > .fc-day-grid,
  208. .fc-scroller > .fc-time-grid {
  209. position: relative;
  210. /* re-scope all positions */
  211. width: 100%;
  212. /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  213. }
  214. /* Global Event Styles
  215. --------------------------------------------------------------------------------------------------*/
  216. .fc-event {
  217. position: relative;
  218. /* for resize handle and other inner positioning */
  219. display: block;
  220. /* make the <a> tag block */
  221. font-size: 0.85em;
  222. line-height: 1.4;
  223. border-radius: 3px;
  224. border: 1px solid #3788d8;
  225. }
  226. .fc-event,
  227. .fc-event-dot {
  228. background-color: #3788d8;
  229. /* default BACKGROUND color */
  230. }
  231. .fc-event,
  232. .fc-event:hover {
  233. color: #fff;
  234. /* default TEXT color */
  235. text-decoration: none;
  236. /* if <a> has an href */
  237. }
  238. .fc-event[href],
  239. .fc-event.fc-draggable {
  240. cursor: pointer;
  241. /* give events with links and draggable events a hand mouse pointer */
  242. }
  243. .fc-not-allowed,
  244. .fc-not-allowed .fc-event {
  245. /* to override an event's custom cursor */
  246. cursor: not-allowed;
  247. }
  248. .fc-event .fc-content {
  249. position: relative;
  250. z-index: 2;
  251. }
  252. /* resizer (cursor AND touch devices) */
  253. .fc-event .fc-resizer {
  254. position: absolute;
  255. z-index: 4;
  256. }
  257. /* resizer (touch devices) */
  258. .fc-event .fc-resizer {
  259. display: none;
  260. }
  261. .fc-event.fc-allow-mouse-resize .fc-resizer,
  262. .fc-event.fc-selected .fc-resizer {
  263. /* only show when hovering or selected (with touch) */
  264. display: block;
  265. }
  266. /* hit area */
  267. .fc-event.fc-selected .fc-resizer:before {
  268. /* 40x40 touch area */
  269. content: "";
  270. position: absolute;
  271. z-index: 9999;
  272. /* user of this util can scope within a lower z-index */
  273. top: 50%;
  274. left: 50%;
  275. width: 40px;
  276. height: 40px;
  277. margin-left: -20px;
  278. margin-top: -20px;
  279. }
  280. /* Event Selection (only for touch devices)
  281. --------------------------------------------------------------------------------------------------*/
  282. .fc-event.fc-selected {
  283. z-index: 9999 !important;
  284. /* overcomes inline z-index */
  285. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  286. }
  287. .fc-event.fc-selected:after {
  288. content: "";
  289. position: absolute;
  290. z-index: 1;
  291. /* same z-index as fc-bg, behind text */
  292. /* overcome the borders */
  293. top: -1px;
  294. right: -1px;
  295. bottom: -1px;
  296. left: -1px;
  297. /* darkening effect */
  298. background: #000;
  299. opacity: 0.25;
  300. }
  301. /* Event Dragging
  302. --------------------------------------------------------------------------------------------------*/
  303. .fc-event.fc-dragging.fc-selected {
  304. box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
  305. }
  306. .fc-event.fc-dragging:not(.fc-selected) {
  307. opacity: 0.75;
  308. }
  309. /* Horizontal Events
  310. --------------------------------------------------------------------------------------------------*/
  311. /* bigger touch area when selected */
  312. .fc-h-event.fc-selected:before {
  313. content: "";
  314. position: absolute;
  315. z-index: 3;
  316. /* below resizers */
  317. top: -10px;
  318. bottom: -10px;
  319. left: 0;
  320. right: 0;
  321. }
  322. /* events that are continuing to/from another week. kill rounded corners and butt up against edge */
  323. .fc-ltr .fc-h-event.fc-not-start,
  324. .fc-rtl .fc-h-event.fc-not-end {
  325. margin-left: 0;
  326. border-left-width: 0;
  327. padding-left: 1px;
  328. /* replace the border with padding */
  329. border-top-left-radius: 0;
  330. border-bottom-left-radius: 0;
  331. }
  332. .fc-ltr .fc-h-event.fc-not-end,
  333. .fc-rtl .fc-h-event.fc-not-start {
  334. margin-right: 0;
  335. border-right-width: 0;
  336. padding-right: 1px;
  337. /* replace the border with padding */
  338. border-top-right-radius: 0;
  339. border-bottom-right-radius: 0;
  340. }
  341. /* resizer (cursor AND touch devices) */
  342. /* left resizer */
  343. .fc-ltr .fc-h-event .fc-start-resizer,
  344. .fc-rtl .fc-h-event .fc-end-resizer {
  345. cursor: w-resize;
  346. left: -1px;
  347. /* overcome border */
  348. }
  349. /* right resizer */
  350. .fc-ltr .fc-h-event .fc-end-resizer,
  351. .fc-rtl .fc-h-event .fc-start-resizer {
  352. cursor: e-resize;
  353. right: -1px;
  354. /* overcome border */
  355. }
  356. /* resizer (mouse devices) */
  357. .fc-h-event.fc-allow-mouse-resize .fc-resizer {
  358. width: 7px;
  359. top: -1px;
  360. /* overcome top border */
  361. bottom: -1px;
  362. /* overcome bottom border */
  363. }
  364. /* resizer (touch devices) */
  365. .fc-h-event.fc-selected .fc-resizer {
  366. /* 8x8 little dot */
  367. border-radius: 4px;
  368. border-width: 1px;
  369. width: 6px;
  370. height: 6px;
  371. border-style: solid;
  372. border-color: inherit;
  373. background: #fff;
  374. /* vertically center */
  375. top: 50%;
  376. margin-top: -4px;
  377. }
  378. /* left resizer */
  379. .fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
  380. .fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  381. margin-left: -4px;
  382. /* centers the 8x8 dot on the left edge */
  383. }
  384. /* right resizer */
  385. .fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
  386. .fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  387. margin-right: -4px;
  388. /* centers the 8x8 dot on the right edge */
  389. }
  390. /* DayGrid events
  391. ----------------------------------------------------------------------------------------------------
  392. We use the full "fc-day-grid-event" class instead of using descendants because the event won't
  393. be a descendant of the grid when it is being dragged.
  394. */
  395. .fc-day-grid-event {
  396. margin: 1px 2px 0;
  397. /* spacing between events and edges */
  398. padding: 0 1px;
  399. }
  400. tr:first-child > td > .fc-day-grid-event {
  401. margin-top: 2px;
  402. /* a little bit more space before the first event */
  403. }
  404. .fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
  405. margin-top: 0;
  406. /* except for mirror skeleton */
  407. }
  408. .fc-day-grid-event .fc-content {
  409. /* force events to be one-line tall */
  410. white-space: nowrap;
  411. overflow: hidden;
  412. }
  413. .fc-day-grid-event .fc-time {
  414. font-weight: bold;
  415. }
  416. /* resizer (cursor devices) */
  417. /* left resizer */
  418. .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
  419. .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  420. margin-left: -2px;
  421. /* to the day cell's edge */
  422. }
  423. /* right resizer */
  424. .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
  425. .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  426. margin-right: -2px;
  427. /* to the day cell's edge */
  428. }
  429. /* Event Limiting
  430. --------------------------------------------------------------------------------------------------*/
  431. /* "more" link that represents hidden events */
  432. a.fc-more {
  433. margin: 1px 3px;
  434. font-size: 0.85em;
  435. cursor: pointer;
  436. text-decoration: none;
  437. }
  438. a.fc-more:hover {
  439. text-decoration: underline;
  440. }
  441. .fc-limited {
  442. /* rows and cells that are hidden because of a "more" link */
  443. display: none;
  444. }
  445. /* popover that appears when "more" link is clicked */
  446. .fc-day-grid .fc-row {
  447. z-index: 1;
  448. /* make the "more" popover one higher than this */
  449. }
  450. .fc-more-popover {
  451. z-index: 2;
  452. width: 220px;
  453. }
  454. .fc-more-popover .fc-event-container {
  455. padding: 10px;
  456. }
  457. /* Now Indicator
  458. --------------------------------------------------------------------------------------------------*/
  459. .fc-now-indicator {
  460. position: absolute;
  461. border: 0 solid red;
  462. }
  463. /* Utilities
  464. --------------------------------------------------------------------------------------------------*/
  465. .fc-unselectable {
  466. -webkit-user-select: none;
  467. -khtml-user-select: none;
  468. -moz-user-select: none;
  469. -ms-user-select: none;
  470. user-select: none;
  471. -webkit-touch-callout: none;
  472. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  473. }
  474. /*
  475. TODO: more distinction between this file and common.css
  476. */
  477. /* Colors
  478. --------------------------------------------------------------------------------------------------*/
  479. .fc-unthemed th,
  480. .fc-unthemed td,
  481. .fc-unthemed thead,
  482. .fc-unthemed tbody,
  483. .fc-unthemed .fc-divider,
  484. .fc-unthemed .fc-row,
  485. .fc-unthemed .fc-content,
  486. .fc-unthemed .fc-popover,
  487. .fc-unthemed .fc-list-view,
  488. .fc-unthemed .fc-list-heading td {
  489. border-color: #ddd;
  490. }
  491. .fc-unthemed .fc-popover {
  492. background-color: #fff;
  493. }
  494. .fc-unthemed .fc-divider,
  495. .fc-unthemed .fc-popover .fc-header,
  496. .fc-unthemed .fc-list-heading td {
  497. background: #eee;
  498. }
  499. .fc-unthemed td.fc-today {
  500. background: #fcf8e3;
  501. }
  502. .fc-unthemed .fc-disabled-day {
  503. background: #d7d7d7;
  504. opacity: 0.3;
  505. }
  506. /* Icons
  507. --------------------------------------------------------------------------------------------------
  508. from https://feathericons.com/ and built with IcoMoon
  509. */
  510. @font-face {
  511. font-family: "fcicons";
  512. src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
  513. font-weight: normal;
  514. font-style: normal;
  515. }
  516. .fc-icon {
  517. /* use !important to prevent issues with browser extensions that change fonts */
  518. font-family: "fcicons" !important;
  519. speak: none;
  520. font-style: normal;
  521. font-weight: normal;
  522. font-variant: normal;
  523. text-transform: none;
  524. line-height: 1;
  525. /* Better Font Rendering =========== */
  526. -webkit-font-smoothing: antialiased;
  527. -moz-osx-font-smoothing: grayscale;
  528. }
  529. .fc-icon-chevron-left:before {
  530. content: "";
  531. }
  532. .fc-icon-chevron-right:before {
  533. content: "";
  534. }
  535. .fc-icon-chevrons-left:before {
  536. content: "";
  537. }
  538. .fc-icon-chevrons-right:before {
  539. content: "";
  540. }
  541. .fc-icon-minus-square:before {
  542. content: "";
  543. }
  544. .fc-icon-plus-square:before {
  545. content: "";
  546. }
  547. .fc-icon-x:before {
  548. content: "";
  549. }
  550. .fc-icon {
  551. display: inline-block;
  552. width: 1em;
  553. height: 1em;
  554. text-align: center;
  555. }
  556. /* Buttons
  557. --------------------------------------------------------------------------------------------------
  558. Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
  559. */
  560. /* reset */
  561. .fc-button {
  562. border-radius: 0;
  563. overflow: visible;
  564. text-transform: none;
  565. margin: 0;
  566. font-family: inherit;
  567. font-size: inherit;
  568. line-height: inherit;
  569. }
  570. .fc-button:focus {
  571. outline: 1px dotted;
  572. outline: 5px auto -webkit-focus-ring-color;
  573. }
  574. .fc-button {
  575. -webkit-appearance: button;
  576. }
  577. .fc-button:not(:disabled) {
  578. cursor: pointer;
  579. }
  580. .fc-button::-moz-focus-inner {
  581. padding: 0;
  582. border-style: none;
  583. }
  584. /* theme */
  585. .fc-button {
  586. display: inline-block;
  587. font-weight: 400;
  588. color: #212529;
  589. text-align: center;
  590. vertical-align: middle;
  591. -webkit-user-select: none;
  592. -moz-user-select: none;
  593. -ms-user-select: none;
  594. user-select: none;
  595. background-color: transparent;
  596. border: 1px solid transparent;
  597. padding: 0.4em 0.65em;
  598. font-size: 1em;
  599. line-height: 1.5;
  600. border-radius: 0.25em;
  601. }
  602. .fc-button:hover {
  603. color: #212529;
  604. text-decoration: none;
  605. }
  606. .fc-button:focus {
  607. outline: 0;
  608. -webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
  609. box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
  610. }
  611. .fc-button:disabled {
  612. opacity: 0.65;
  613. }
  614. /* "primary" coloring */
  615. .fc-button-primary {
  616. color: #fff;
  617. background-color: #2C3E50;
  618. border-color: #2C3E50;
  619. }
  620. .fc-button-primary:hover {
  621. color: #fff;
  622. background-color: #1e2b37;
  623. border-color: #1a252f;
  624. }
  625. .fc-button-primary:focus {
  626. -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  627. box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  628. }
  629. .fc-button-primary:disabled {
  630. color: #fff;
  631. background-color: #2C3E50;
  632. border-color: #2C3E50;
  633. }
  634. .fc-button-primary:not(:disabled):active,
  635. .fc-button-primary:not(:disabled).fc-button-active {
  636. color: #fff;
  637. background-color: #1a252f;
  638. border-color: #151e27;
  639. }
  640. .fc-button-primary:not(:disabled):active:focus,
  641. .fc-button-primary:not(:disabled).fc-button-active:focus {
  642. -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  643. box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  644. }
  645. /* icons within buttons */
  646. .fc-button .fc-icon {
  647. vertical-align: middle;
  648. font-size: 1.5em;
  649. }
  650. /* Buttons Groups
  651. --------------------------------------------------------------------------------------------------*/
  652. .fc-button-group {
  653. position: relative;
  654. display: -webkit-inline-box;
  655. display: -ms-inline-flexbox;
  656. display: inline-flex;
  657. vertical-align: middle;
  658. }
  659. .fc-button-group > .fc-button {
  660. position: relative;
  661. -webkit-box-flex: 1;
  662. -ms-flex: 1 1 auto;
  663. flex: 1 1 auto;
  664. }
  665. .fc-button-group > .fc-button:hover {
  666. z-index: 1;
  667. }
  668. .fc-button-group > .fc-button:focus,
  669. .fc-button-group > .fc-button:active,
  670. .fc-button-group > .fc-button.fc-button-active {
  671. z-index: 1;
  672. }
  673. .fc-button-group > .fc-button:not(:first-child) {
  674. margin-left: -1px;
  675. }
  676. .fc-button-group > .fc-button:not(:last-child) {
  677. border-top-right-radius: 0;
  678. border-bottom-right-radius: 0;
  679. }
  680. .fc-button-group > .fc-button:not(:first-child) {
  681. border-top-left-radius: 0;
  682. border-bottom-left-radius: 0;
  683. }
  684. /* Popover
  685. --------------------------------------------------------------------------------------------------*/
  686. .fc-unthemed .fc-popover {
  687. border-width: 1px;
  688. border-style: solid;
  689. }
  690. /* List View
  691. --------------------------------------------------------------------------------------------------*/
  692. .fc-unthemed .fc-list-item:hover td {
  693. background-color: #f5f5f5;
  694. }
  695. /* Toolbar
  696. --------------------------------------------------------------------------------------------------*/
  697. .fc-toolbar {
  698. display: flex;
  699. justify-content: space-between;
  700. align-items: center;
  701. }
  702. .fc-toolbar.fc-header-toolbar {
  703. margin-bottom: 1.5em;
  704. }
  705. .fc-toolbar.fc-footer-toolbar {
  706. margin-top: 1.5em;
  707. }
  708. /* inner content */
  709. .fc-toolbar > * > :not(:first-child) {
  710. margin-left: 0.75em;
  711. }
  712. .fc-toolbar h2 {
  713. font-size: 1.75em;
  714. margin: 0;
  715. }
  716. /* View Structure
  717. --------------------------------------------------------------------------------------------------*/
  718. .fc-view-container {
  719. position: relative;
  720. }
  721. /* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
  722. /* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
  723. .fc-view-container *,
  724. .fc-view-container *:before,
  725. .fc-view-container *:after {
  726. -webkit-box-sizing: content-box;
  727. -moz-box-sizing: content-box;
  728. box-sizing: content-box;
  729. }
  730. .fc-view,
  731. .fc-view > table {
  732. /* so dragged elements can be above the view's main element */
  733. position: relative;
  734. z-index: 1;
  735. }
  736. @media print {
  737. .fc {
  738. max-width: 100% !important;
  739. }
  740. /* Global Event Restyling
  741. --------------------------------------------------------------------------------------------------*/
  742. .fc-event {
  743. background: #fff !important;
  744. color: #000 !important;
  745. page-break-inside: avoid;
  746. }
  747. .fc-event .fc-resizer {
  748. display: none;
  749. }
  750. /* Table & Day-Row Restyling
  751. --------------------------------------------------------------------------------------------------*/
  752. .fc th,
  753. .fc td,
  754. .fc hr,
  755. .fc thead,
  756. .fc tbody,
  757. .fc-row {
  758. border-color: #ccc !important;
  759. background: #fff !important;
  760. }
  761. /* kill the overlaid, absolutely-positioned components */
  762. /* common... */
  763. .fc-bg,
  764. .fc-bgevent-skeleton,
  765. .fc-highlight-skeleton,
  766. .fc-mirror-skeleton,
  767. .fc-bgevent-container,
  768. .fc-business-container,
  769. .fc-highlight-container,
  770. .fc-mirror-container {
  771. display: none;
  772. }
  773. /* don't force a min-height on rows (for DayGrid) */
  774. .fc tbody .fc-row {
  775. height: auto !important;
  776. /* undo height that JS set in distributeHeight */
  777. min-height: 0 !important;
  778. /* undo the min-height from each view's specific stylesheet */
  779. }
  780. .fc tbody .fc-row .fc-content-skeleton {
  781. position: static;
  782. /* undo .fc-rigid */
  783. padding-bottom: 0 !important;
  784. /* use a more border-friendly method for this... */
  785. }
  786. .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
  787. /* only works in newer browsers */
  788. padding-bottom: 1em;
  789. /* ...gives space within the skeleton. also ensures min height in a way */
  790. }
  791. .fc tbody .fc-row .fc-content-skeleton table {
  792. /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
  793. making it look more like 3em. for other browers, it will already be this tall */
  794. height: 1em;
  795. }
  796. /* Undo month-view event limiting. Display all events and hide the "more" links
  797. --------------------------------------------------------------------------------------------------*/
  798. .fc-more-cell,
  799. .fc-more {
  800. display: none !important;
  801. }
  802. .fc tr.fc-limited {
  803. display: table-row !important;
  804. }
  805. .fc td.fc-limited {
  806. display: table-cell !important;
  807. }
  808. .fc-popover {
  809. display: none;
  810. /* never display the "more.." popover in print mode */
  811. }
  812. /* TimeGrid Restyling
  813. --------------------------------------------------------------------------------------------------*/
  814. /* undo the min-height 100% trick used to fill the container's height */
  815. .fc-time-grid {
  816. min-height: 0 !important;
  817. }
  818. /* don't display the side axis at all ("all-day" and time cells) */
  819. .fc-timeGrid-view .fc-axis {
  820. display: none;
  821. }
  822. /* don't display the horizontal lines */
  823. .fc-slats,
  824. .fc-time-grid hr {
  825. /* this hr is used when height is underused and needs to be filled */
  826. display: none !important;
  827. /* important overrides inline declaration */
  828. }
  829. /* let the container that holds the events be naturally positioned and create real height */
  830. .fc-time-grid .fc-content-skeleton {
  831. position: static;
  832. }
  833. /* in case there are no events, we still want some height */
  834. .fc-time-grid .fc-content-skeleton table {
  835. height: 4em;
  836. }
  837. /* kill the horizontal spacing made by the event container. event margins will be done below */
  838. .fc-time-grid .fc-event-container {
  839. margin: 0 !important;
  840. }
  841. /* TimeGrid *Event* Restyling
  842. --------------------------------------------------------------------------------------------------*/
  843. /* naturally position events, vertically stacking them */
  844. .fc-time-grid .fc-event {
  845. position: static !important;
  846. margin: 3px 2px !important;
  847. }
  848. /* for events that continue to a future day, give the bottom border back */
  849. .fc-time-grid .fc-event.fc-not-end {
  850. border-bottom-width: 1px !important;
  851. }
  852. /* indicate the event continues via "..." text */
  853. .fc-time-grid .fc-event.fc-not-end:after {
  854. content: "...";
  855. }
  856. /* for events that are continuations from previous days, give the top border back */
  857. .fc-time-grid .fc-event.fc-not-start {
  858. border-top-width: 1px !important;
  859. }
  860. /* indicate the event is a continuation via "..." text */
  861. .fc-time-grid .fc-event.fc-not-start:before {
  862. content: "...";
  863. }
  864. /* time */
  865. /* undo a previous declaration and let the time text span to a second line */
  866. .fc-time-grid .fc-event .fc-time {
  867. white-space: normal !important;
  868. }
  869. /* hide the the time that is normally displayed... */
  870. .fc-time-grid .fc-event .fc-time span {
  871. display: none;
  872. }
  873. /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
  874. .fc-time-grid .fc-event .fc-time:after {
  875. content: attr(data-full);
  876. }
  877. /* Vertical Scroller & Containers
  878. --------------------------------------------------------------------------------------------------*/
  879. /* kill the scrollbars and allow natural height */
  880. .fc-scroller,
  881. .fc-day-grid-container,
  882. .fc-time-grid-container {
  883. /* */
  884. overflow: visible !important;
  885. height: auto !important;
  886. }
  887. /* kill the horizontal border/padding used to compensate for scrollbars */
  888. .fc-row {
  889. border: 0 !important;
  890. margin: 0 !important;
  891. }
  892. /* Button Controls
  893. --------------------------------------------------------------------------------------------------*/
  894. .fc-button-group,
  895. .fc button {
  896. display: none;
  897. /* don't display any button-related controls */
  898. }
  899. }