fullcalendar.css 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060
  1. /*!
  2. * FullCalendar v2.3.1 Stylesheet
  3. * Docs & License: http://fullcalendar.io/
  4. * (c) 2015 Adam Shaw
  5. */
  6. .fc {
  7. direction: ltr;
  8. text-align: left;
  9. }
  10. .fc-rtl {
  11. text-align: right;
  12. }
  13. body .fc { /* extra precedence to overcome jqui */
  14. font-size: 1em;
  15. }
  16. /* Colors
  17. --------------------------------------------------------------------------------------------------*/
  18. .fc-unthemed th,
  19. .fc-unthemed td,
  20. .fc-unthemed thead,
  21. .fc-unthemed tbody,
  22. .fc-unthemed .fc-divider,
  23. .fc-unthemed .fc-row,
  24. .fc-unthemed .fc-popover {
  25. border-color: #ddd;
  26. }
  27. .fc-unthemed .fc-popover {
  28. background-color: #fff;
  29. }
  30. .fc-unthemed .fc-divider,
  31. .fc-unthemed .fc-popover .fc-header {
  32. background: #eee;
  33. }
  34. .fc-unthemed .fc-popover .fc-header .fc-close {
  35. color: #666;
  36. }
  37. .fc-unthemed .fc-today {
  38. background: #fcf8e3;
  39. }
  40. .fc-highlight { /* when user is selecting cells */
  41. background: #bce8f1;
  42. opacity: .3;
  43. filter: alpha(opacity=30); /* for IE */
  44. }
  45. .fc-bgevent { /* default look for background events */
  46. background: rgb(143, 223, 130);
  47. opacity: .3;
  48. filter: alpha(opacity=30); /* for IE */
  49. }
  50. .fc-nonbusiness { /* default look for non-business-hours areas */
  51. /* will inherit .fc-bgevent's styles */
  52. background: #d7d7d7;
  53. }
  54. /* Icons (inline elements with styled text that mock arrow icons)
  55. --------------------------------------------------------------------------------------------------*/
  56. .fc-icon {
  57. display: inline-block;
  58. width: 1em;
  59. height: 1em;
  60. line-height: 1em;
  61. font-size: 1em;
  62. text-align: center;
  63. overflow: hidden;
  64. font-family: "Courier New", Courier, monospace;
  65. }
  66. /*
  67. Acceptable font-family overrides for individual icons:
  68. "Arial", sans-serif
  69. "Times New Roman", serif
  70. NOTE: use percentage font sizes or else old IE chokes
  71. */
  72. .fc-icon:after {
  73. position: relative;
  74. margin: 0 -1em; /* ensures character will be centered, regardless of width */
  75. }
  76. .fc-icon-left-single-arrow:after {
  77. content: "\02039";
  78. font-weight: bold;
  79. font-size: 200%;
  80. top: -7%;
  81. left: 3%;
  82. }
  83. .fc-icon-right-single-arrow:after {
  84. content: "\0203A";
  85. font-weight: bold;
  86. font-size: 200%;
  87. top: -7%;
  88. left: -3%;
  89. }
  90. .fc-icon-left-double-arrow:after {
  91. content: "\000AB";
  92. font-size: 160%;
  93. top: -7%;
  94. }
  95. .fc-icon-right-double-arrow:after {
  96. content: "\000BB";
  97. font-size: 160%;
  98. top: -7%;
  99. }
  100. .fc-icon-left-triangle:after {
  101. content: "\25C4";
  102. font-size: 125%;
  103. top: 3%;
  104. left: -2%;
  105. }
  106. .fc-icon-right-triangle:after {
  107. content: "\25BA";
  108. font-size: 125%;
  109. top: 3%;
  110. left: 2%;
  111. }
  112. .fc-icon-down-triangle:after {
  113. content: "\25BC";
  114. font-size: 125%;
  115. top: 2%;
  116. }
  117. .fc-icon-x:after {
  118. content: "\000D7";
  119. font-size: 200%;
  120. top: 6%;
  121. }
  122. /* Buttons (styled <button> tags, normalized to work cross-browser)
  123. --------------------------------------------------------------------------------------------------*/
  124. .fc button {
  125. /* force height to include the border and padding */
  126. -moz-box-sizing: border-box;
  127. -webkit-box-sizing: border-box;
  128. box-sizing: border-box;
  129. /* dimensions */
  130. margin: 0;
  131. height: 2.1em;
  132. padding: 0 .6em;
  133. /* text & cursor */
  134. font-size: 1em; /* normalize */
  135. white-space: nowrap;
  136. cursor: pointer;
  137. }
  138. /* Firefox has an annoying inner border */
  139. .fc button::-moz-focus-inner { margin: 0; padding: 0; }
  140. .fc-state-default { /* non-theme */
  141. border: 1px solid;
  142. }
  143. .fc-state-default.fc-corner-left { /* non-theme */
  144. border-top-left-radius: 4px;
  145. border-bottom-left-radius: 4px;
  146. }
  147. .fc-state-default.fc-corner-right { /* non-theme */
  148. border-top-right-radius: 4px;
  149. border-bottom-right-radius: 4px;
  150. }
  151. /* icons in buttons */
  152. .fc button .fc-icon { /* non-theme */
  153. position: relative;
  154. top: -0.05em; /* seems to be a good adjustment across browsers */
  155. margin: 0 .2em;
  156. vertical-align: middle;
  157. }
  158. /*
  159. button states
  160. borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
  161. */
  162. .fc-state-default {
  163. background-color: #f5f5f5;
  164. background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  165. background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  166. background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  167. background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  168. background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  169. background-repeat: repeat-x;
  170. border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  171. border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  172. color: #333;
  173. text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  174. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  175. }
  176. .fc-state-hover,
  177. .fc-state-down,
  178. .fc-state-active,
  179. .fc-state-disabled {
  180. color: #333333;
  181. background-color: #e6e6e6;
  182. }
  183. .fc-state-hover {
  184. color: #333333;
  185. text-decoration: none;
  186. background-position: 0 -15px;
  187. -webkit-transition: background-position 0.1s linear;
  188. -moz-transition: background-position 0.1s linear;
  189. -o-transition: background-position 0.1s linear;
  190. transition: background-position 0.1s linear;
  191. }
  192. .fc-state-down,
  193. .fc-state-active {
  194. background-color: #cccccc;
  195. background-image: none;
  196. box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
  197. }
  198. .fc-state-disabled {
  199. cursor: default;
  200. background-image: none;
  201. opacity: 0.65;
  202. filter: alpha(opacity=65);
  203. box-shadow: none;
  204. }
  205. /* Buttons Groups
  206. --------------------------------------------------------------------------------------------------*/
  207. .fc-button-group {
  208. display: inline-block;
  209. }
  210. /*
  211. every button that is not first in a button group should scootch over one pixel and cover the
  212. previous button's border...
  213. */
  214. .fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
  215. float: left;
  216. margin: 0 0 0 -1px;
  217. }
  218. .fc .fc-button-group > :first-child { /* same */
  219. margin-left: 0;
  220. }
  221. /* Popover
  222. --------------------------------------------------------------------------------------------------*/
  223. .fc-popover {
  224. position: absolute;
  225. box-shadow: 0 2px 6px rgba(0,0,0,.15);
  226. }
  227. .fc-popover .fc-header { /* TODO: be more consistent with fc-head/fc-body */
  228. padding: 2px 4px;
  229. }
  230. .fc-popover .fc-header .fc-title {
  231. margin: 0 2px;
  232. }
  233. .fc-popover .fc-header .fc-close {
  234. cursor: pointer;
  235. }
  236. .fc-ltr .fc-popover .fc-header .fc-title,
  237. .fc-rtl .fc-popover .fc-header .fc-close {
  238. float: left;
  239. }
  240. .fc-rtl .fc-popover .fc-header .fc-title,
  241. .fc-ltr .fc-popover .fc-header .fc-close {
  242. float: right;
  243. }
  244. /* unthemed */
  245. .fc-unthemed .fc-popover {
  246. border-width: 1px;
  247. border-style: solid;
  248. }
  249. .fc-unthemed .fc-popover .fc-header .fc-close {
  250. font-size: .9em;
  251. margin-top: 2px;
  252. }
  253. /* jqui themed */
  254. .fc-popover > .ui-widget-header + .ui-widget-content {
  255. border-top: 0; /* where they meet, let the header have the border */
  256. }
  257. /* Misc Reusable Components
  258. --------------------------------------------------------------------------------------------------*/
  259. .fc-divider {
  260. border-style: solid;
  261. border-width: 1px;
  262. }
  263. hr.fc-divider {
  264. height: 0;
  265. margin: 0;
  266. padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
  267. border-width: 1px 0;
  268. }
  269. .fc-clear {
  270. clear: both;
  271. }
  272. .fc-bg,
  273. .fc-bgevent-skeleton,
  274. .fc-highlight-skeleton,
  275. .fc-helper-skeleton {
  276. /* these element should always cling to top-left/right corners */
  277. position: absolute;
  278. top: 0;
  279. left: 0;
  280. right: 0;
  281. }
  282. .fc-bg {
  283. bottom: 0; /* strech bg to bottom edge */
  284. }
  285. .fc-bg table {
  286. height: 100%; /* strech bg to bottom edge */
  287. }
  288. /* Tables
  289. --------------------------------------------------------------------------------------------------*/
  290. .fc table {
  291. width: 100%;
  292. table-layout: fixed;
  293. border-collapse: collapse;
  294. border-spacing: 0;
  295. font-size: 1em; /* normalize cross-browser */
  296. }
  297. .fc th {
  298. text-align: center;
  299. }
  300. .fc th,
  301. .fc td {
  302. border-style: solid;
  303. border-width: 1px;
  304. padding: 0;
  305. vertical-align: top;
  306. }
  307. .fc td.fc-today {
  308. border-style: double; /* overcome neighboring borders */
  309. }
  310. /* Fake Table Rows
  311. --------------------------------------------------------------------------------------------------*/
  312. .fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  313. /* no visible border by default. but make available if need be (scrollbar width compensation) */
  314. border-style: solid;
  315. border-width: 0;
  316. }
  317. .fc-row table {
  318. /* don't put left/right border on anything within a fake row.
  319. the outer tbody will worry about this */
  320. border-left: 0 hidden transparent;
  321. border-right: 0 hidden transparent;
  322. /* no bottom borders on rows */
  323. border-bottom: 0 hidden transparent;
  324. }
  325. .fc-row:first-child table {
  326. border-top: 0 hidden transparent; /* no top border on first row */
  327. }
  328. /* Day Row (used within the header and the DayGrid)
  329. --------------------------------------------------------------------------------------------------*/
  330. .fc-row {
  331. position: relative;
  332. }
  333. .fc-row .fc-bg {
  334. z-index: 1;
  335. }
  336. /* highlighting cells & background event skeleton */
  337. .fc-row .fc-bgevent-skeleton,
  338. .fc-row .fc-highlight-skeleton {
  339. bottom: 0; /* stretch skeleton to bottom of row */
  340. }
  341. .fc-row .fc-bgevent-skeleton table,
  342. .fc-row .fc-highlight-skeleton table {
  343. height: 100%; /* stretch skeleton to bottom of row */
  344. }
  345. .fc-row .fc-highlight-skeleton td,
  346. .fc-row .fc-bgevent-skeleton td {
  347. border-color: transparent;
  348. }
  349. .fc-row .fc-bgevent-skeleton {
  350. z-index: 2;
  351. }
  352. .fc-row .fc-highlight-skeleton {
  353. z-index: 3;
  354. }
  355. /*
  356. row content (which contains day/week numbers and events) as well as "helper" (which contains
  357. temporary rendered events).
  358. */
  359. .fc-row .fc-content-skeleton {
  360. position: relative;
  361. z-index: 4;
  362. padding-bottom: 2px; /* matches the space above the events */
  363. }
  364. .fc-row .fc-helper-skeleton {
  365. z-index: 5;
  366. }
  367. .fc-row .fc-content-skeleton td,
  368. .fc-row .fc-helper-skeleton td {
  369. /* see-through to the background below */
  370. background: none; /* in case <td>s are globally styled */
  371. border-color: transparent;
  372. /* don't put a border between events and/or the day number */
  373. border-bottom: 0;
  374. }
  375. .fc-row .fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */
  376. .fc-row .fc-helper-skeleton tbody td {
  377. /* don't put a border between event cells */
  378. border-top: 0;
  379. }
  380. /* Scrolling Container
  381. --------------------------------------------------------------------------------------------------*/
  382. .fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
  383. overflow-y: scroll;
  384. overflow-x: hidden;
  385. }
  386. .fc-scroller > * { /* we expect an immediate inner element */
  387. position: relative; /* re-scope all positions */
  388. width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  389. overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
  390. }
  391. /* Global Event Styles
  392. --------------------------------------------------------------------------------------------------*/
  393. .fc-event {
  394. position: relative; /* for resize handle and other inner positioning */
  395. display: block; /* make the <a> tag block */
  396. font-size: .85em;
  397. line-height: 1.3;
  398. border-radius: 3px;
  399. border: 1px solid #0000CC; /* default BORDER color */
  400. background-color: #0000CC; /* default BACKGROUND color */
  401. font-weight: normal; /* undo jqui's ui-widget-header bold */
  402. }
  403. /* overpower some of bootstrap's and jqui's styles on <a> tags */
  404. .fc-event,
  405. .fc-event:hover,
  406. .ui-widget .fc-event {
  407. color: #fff; /* default TEXT color */
  408. text-decoration: none; /* if <a> has an href */
  409. }
  410. .fc-event[href],
  411. .fc-event.fc-draggable {
  412. cursor: pointer; /* give events with links and draggable events a hand mouse pointer */
  413. }
  414. .fc-not-allowed, /* causes a "warning" cursor. applied on body */
  415. .fc-not-allowed .fc-event { /* to override an event's custom cursor */
  416. cursor: not-allowed;
  417. }
  418. .fc-event .fc-bg { /* the generic .fc-bg already does position */
  419. z-index: 1;
  420. background: #fff;
  421. opacity: .25;
  422. filter: alpha(opacity=25); /* for IE */
  423. }
  424. .fc-event .fc-content {
  425. position: relative;
  426. z-index: 2;
  427. }
  428. .fc-event .fc-resizer {
  429. position: absolute;
  430. z-index: 3;
  431. }
  432. /* Horizontal Events
  433. --------------------------------------------------------------------------------------------------*/
  434. /* events that are continuing to/from another week. kill rounded corners and butt up against edge */
  435. .fc-ltr .fc-h-event.fc-not-start,
  436. .fc-rtl .fc-h-event.fc-not-end {
  437. margin-left: 0;
  438. border-left-width: 0;
  439. padding-left: 1px; /* replace the border with padding */
  440. border-top-left-radius: 0;
  441. border-bottom-left-radius: 0;
  442. }
  443. .fc-ltr .fc-h-event.fc-not-end,
  444. .fc-rtl .fc-h-event.fc-not-start {
  445. margin-right: 0;
  446. border-right-width: 0;
  447. padding-right: 1px; /* replace the border with padding */
  448. border-top-right-radius: 0;
  449. border-bottom-right-radius: 0;
  450. }
  451. /* resizer */
  452. .fc-h-event .fc-resizer { /* positioned it to overcome the event's borders */
  453. top: -1px;
  454. bottom: -1px;
  455. left: -1px;
  456. right: -1px;
  457. width: 5px;
  458. }
  459. /* left resizer */
  460. .fc-ltr .fc-h-event .fc-start-resizer,
  461. .fc-ltr .fc-h-event .fc-start-resizer:before,
  462. .fc-ltr .fc-h-event .fc-start-resizer:after,
  463. .fc-rtl .fc-h-event .fc-end-resizer,
  464. .fc-rtl .fc-h-event .fc-end-resizer:before,
  465. .fc-rtl .fc-h-event .fc-end-resizer:after {
  466. right: auto; /* ignore the right and only use the left */
  467. cursor: w-resize;
  468. }
  469. /* right resizer */
  470. .fc-ltr .fc-h-event .fc-end-resizer,
  471. .fc-ltr .fc-h-event .fc-end-resizer:before,
  472. .fc-ltr .fc-h-event .fc-end-resizer:after,
  473. .fc-rtl .fc-h-event .fc-start-resizer,
  474. .fc-rtl .fc-h-event .fc-start-resizer:before,
  475. .fc-rtl .fc-h-event .fc-start-resizer:after {
  476. left: auto; /* ignore the left and only use the right */
  477. cursor: e-resize;
  478. }
  479. /* DayGrid events
  480. ----------------------------------------------------------------------------------------------------
  481. We use the full "fc-day-grid-event" class instead of using descendants because the event won't
  482. be a descendant of the grid when it is being dragged.
  483. */
  484. .fc-day-grid-event {
  485. margin: 1px 2px 0; /* spacing between events and edges */
  486. padding: 0 1px;
  487. }
  488. .fc-day-grid-event .fc-content { /* force events to be one-line tall */
  489. white-space: nowrap;
  490. overflow: hidden;
  491. }
  492. .fc-day-grid-event .fc-time {
  493. font-weight: bold;
  494. }
  495. .fc-day-grid-event .fc-resizer { /* enlarge the default hit area */
  496. left: -3px;
  497. right: -3px;
  498. width: 7px;
  499. }
  500. /* Event Limiting
  501. --------------------------------------------------------------------------------------------------*/
  502. /* "more" link that represents hidden events */
  503. a.fc-more {
  504. margin: 1px 3px;
  505. font-size: .85em;
  506. cursor: pointer;
  507. text-decoration: none;
  508. }
  509. a.fc-more:hover {
  510. text-decoration: underline;
  511. }
  512. .fc-limited { /* rows and cells that are hidden because of a "more" link */
  513. display: none;
  514. }
  515. /* popover that appears when "more" link is clicked */
  516. .fc-day-grid .fc-row {
  517. z-index: 1; /* make the "more" popover one higher than this */
  518. }
  519. .fc-more-popover {
  520. z-index: 2;
  521. width: 220px;
  522. }
  523. .fc-more-popover .fc-event-container {
  524. padding: 10px;
  525. }
  526. /* Toolbar
  527. --------------------------------------------------------------------------------------------------*/
  528. .fc-toolbar {
  529. text-align: center;
  530. margin-bottom: 1em;
  531. }
  532. .fc-toolbar .fc-left {
  533. float: left;
  534. }
  535. .fc-toolbar .fc-right {
  536. float: right;
  537. }
  538. .fc-toolbar .fc-center {
  539. display: inline-block;
  540. }
  541. /* the things within each left/right/center section */
  542. .fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
  543. float: left;
  544. margin-left: .75em;
  545. }
  546. /* the first thing within each left/center/right section */
  547. .fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
  548. margin-left: 0;
  549. }
  550. /* title text */
  551. .fc-toolbar h2 {
  552. margin: 0;
  553. }
  554. /* button layering (for border precedence) */
  555. .fc-toolbar button {
  556. position: relative;
  557. }
  558. .fc-toolbar .fc-state-hover,
  559. .fc-toolbar .ui-state-hover {
  560. z-index: 2;
  561. }
  562. .fc-toolbar .fc-state-down {
  563. z-index: 3;
  564. }
  565. .fc-toolbar .fc-state-active,
  566. .fc-toolbar .ui-state-active {
  567. z-index: 4;
  568. }
  569. .fc-toolbar button:focus {
  570. z-index: 5;
  571. }
  572. /* View Structure
  573. --------------------------------------------------------------------------------------------------*/
  574. /* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
  575. /* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
  576. .fc-view-container *,
  577. .fc-view-container *:before,
  578. .fc-view-container *:after {
  579. -webkit-box-sizing: content-box;
  580. -moz-box-sizing: content-box;
  581. box-sizing: content-box;
  582. }
  583. .fc-view, /* scope positioning and z-index's for everything within the view */
  584. .fc-view > table { /* so dragged elements can be above the view's main element */
  585. position: relative;
  586. z-index: 1;
  587. }
  588. /* BasicView
  589. --------------------------------------------------------------------------------------------------*/
  590. /* day row structure */
  591. .fc-basicWeek-view .fc-content-skeleton,
  592. .fc-basicDay-view .fc-content-skeleton {
  593. /* we are sure there are no day numbers in these views, so... */
  594. padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  595. padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
  596. }
  597. .fc-basic-view .fc-body .fc-row {
  598. min-height: 4em; /* ensure that all rows are at least this tall */
  599. }
  600. /* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
  601. .fc-row.fc-rigid {
  602. overflow: hidden;
  603. }
  604. .fc-row.fc-rigid .fc-content-skeleton {
  605. position: absolute;
  606. top: 0;
  607. left: 0;
  608. right: 0;
  609. }
  610. /* week and day number styling */
  611. .fc-basic-view .fc-week-number,
  612. .fc-basic-view .fc-day-number {
  613. padding: 0 2px;
  614. }
  615. .fc-basic-view td.fc-week-number span,
  616. .fc-basic-view td.fc-day-number {
  617. padding-top: 2px;
  618. padding-bottom: 2px;
  619. }
  620. .fc-basic-view .fc-week-number {
  621. text-align: center;
  622. }
  623. .fc-basic-view .fc-week-number span {
  624. /* work around the way we do column resizing and ensure a minimum width */
  625. display: inline-block;
  626. min-width: 1.25em;
  627. }
  628. .fc-ltr .fc-basic-view .fc-day-number {
  629. text-align: right;
  630. }
  631. .fc-rtl .fc-basic-view .fc-day-number {
  632. text-align: left;
  633. }
  634. .fc-day-number.fc-other-month {
  635. opacity: 0.3;
  636. filter: alpha(opacity=30); /* for IE */
  637. /* opacity with small font can sometimes look too faded
  638. might want to set the 'color' property instead
  639. making day-numbers bold also fixes the problem */
  640. }
  641. /* AgendaView all-day area
  642. --------------------------------------------------------------------------------------------------*/
  643. .fc-agenda-view .fc-day-grid {
  644. position: relative;
  645. z-index: 2; /* so the "more.." popover will be over the time grid */
  646. }
  647. .fc-agenda-view .fc-day-grid .fc-row {
  648. min-height: 3em; /* all-day section will never get shorter than this */
  649. }
  650. .fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  651. padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  652. padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
  653. }
  654. /* TimeGrid axis running down the side (for both the all-day area and the slot area)
  655. --------------------------------------------------------------------------------------------------*/
  656. .fc .fc-axis { /* .fc to overcome default cell styles */
  657. vertical-align: middle;
  658. padding: 0 4px;
  659. white-space: nowrap;
  660. }
  661. .fc-ltr .fc-axis {
  662. text-align: right;
  663. }
  664. .fc-rtl .fc-axis {
  665. text-align: left;
  666. }
  667. .ui-widget td.fc-axis {
  668. font-weight: normal; /* overcome jqui theme making it bold */
  669. }
  670. /* TimeGrid Structure
  671. --------------------------------------------------------------------------------------------------*/
  672. .fc-time-grid-container, /* so scroll container's z-index is below all-day */
  673. .fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
  674. position: relative;
  675. z-index: 1;
  676. }
  677. .fc-time-grid {
  678. min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
  679. }
  680. .fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
  681. border: 0 hidden transparent;
  682. }
  683. .fc-time-grid > .fc-bg {
  684. z-index: 1;
  685. }
  686. .fc-time-grid .fc-slats,
  687. .fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
  688. position: relative;
  689. z-index: 2;
  690. }
  691. .fc-time-grid .fc-bgevent-skeleton,
  692. .fc-time-grid .fc-content-skeleton {
  693. position: absolute;
  694. top: 0;
  695. left: 0;
  696. right: 0;
  697. }
  698. .fc-time-grid .fc-bgevent-skeleton {
  699. z-index: 3;
  700. }
  701. .fc-time-grid .fc-highlight-skeleton {
  702. z-index: 4;
  703. }
  704. .fc-time-grid .fc-content-skeleton {
  705. z-index: 5;
  706. }
  707. .fc-time-grid .fc-helper-skeleton {
  708. z-index: 6;
  709. }
  710. /* TimeGrid Slats (lines that run horizontally)
  711. --------------------------------------------------------------------------------------------------*/
  712. .fc-time-grid .fc-slats td {
  713. height: 1.5em;
  714. border-bottom: 0; /* each cell is responsible for its top border */
  715. }
  716. .fc-time-grid .fc-slats .fc-minor td {
  717. border-top-style: dotted;
  718. }
  719. .fc-time-grid .fc-slats .ui-widget-content { /* for jqui theme */
  720. background: none; /* see through to fc-bg */
  721. }
  722. /* TimeGrid Highlighting Slots
  723. --------------------------------------------------------------------------------------------------*/
  724. .fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
  725. position: relative; /* scopes the left/right of the fc-highlight to be in the column */
  726. }
  727. .fc-time-grid .fc-highlight {
  728. position: absolute;
  729. left: 0;
  730. right: 0;
  731. /* top and bottom will be in by JS */
  732. }
  733. /* TimeGrid Event Containment
  734. --------------------------------------------------------------------------------------------------*/
  735. .fc-time-grid .fc-event-container, /* a div within a cell within the fc-content-skeleton */
  736. .fc-time-grid .fc-bgevent-container { /* a div within a cell within the fc-bgevent-skeleton */
  737. position: relative;
  738. }
  739. .fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
  740. margin: 0 2.5% 0 2px;
  741. }
  742. .fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
  743. margin: 0 2px 0 2.5%;
  744. }
  745. .fc-time-grid .fc-event,
  746. .fc-time-grid .fc-bgevent {
  747. position: absolute;
  748. z-index: 1; /* scope inner z-index's */
  749. }
  750. .fc-time-grid .fc-bgevent {
  751. /* background events always span full width */
  752. left: 0;
  753. right: 0;
  754. }
  755. /* Generic Vertical Event
  756. --------------------------------------------------------------------------------------------------*/
  757. .fc-v-event.fc-not-start { /* events that are continuing from another day */
  758. /* replace space made by the top border with padding */
  759. border-top-width: 0;
  760. padding-top: 1px;
  761. /* remove top rounded corners */
  762. border-top-left-radius: 0;
  763. border-top-right-radius: 0;
  764. }
  765. .fc-v-event.fc-not-end {
  766. /* replace space made by the top border with padding */
  767. border-bottom-width: 0;
  768. padding-bottom: 1px;
  769. /* remove bottom rounded corners */
  770. border-bottom-left-radius: 0;
  771. border-bottom-right-radius: 0;
  772. }
  773. /* TimeGrid Event Styling
  774. ----------------------------------------------------------------------------------------------------
  775. We use the full "fc-time-grid-event" class instead of using descendants because the event won't
  776. be a descendant of the grid when it is being dragged.
  777. */
  778. .fc-time-grid-event {
  779. overflow: hidden; /* don't let the bg flow over rounded corners */
  780. }
  781. .fc-time-grid-event .fc-time,
  782. .fc-time-grid-event .fc-title {
  783. padding: 0 1px;
  784. }
  785. .fc-time-grid-event .fc-time {
  786. font-size: .85em;
  787. white-space: nowrap;
  788. }
  789. /* short mode, where time and title are on the same line */
  790. .fc-time-grid-event.fc-short .fc-content {
  791. /* don't wrap to second line (now that contents will be inline) */
  792. white-space: nowrap;
  793. }
  794. .fc-time-grid-event.fc-short .fc-time,
  795. .fc-time-grid-event.fc-short .fc-title {
  796. /* put the time and title on the same line */
  797. display: inline-block;
  798. vertical-align: top;
  799. }
  800. .fc-time-grid-event.fc-short .fc-time span {
  801. display: none; /* don't display the full time text... */
  802. }
  803. .fc-time-grid-event.fc-short .fc-time:before {
  804. content: attr(data-start); /* ...instead, display only the start time */
  805. }
  806. .fc-time-grid-event.fc-short .fc-time:after {
  807. content: "\000A0-\000A0"; /* seperate with a dash, wrapped in nbsp's */
  808. }
  809. .fc-time-grid-event.fc-short .fc-title {
  810. font-size: .85em; /* make the title text the same size as the time */
  811. padding: 0; /* undo padding from above */
  812. }
  813. /* resizer */
  814. .fc-time-grid-event .fc-resizer {
  815. left: 0;
  816. right: 0;
  817. bottom: 0;
  818. height: 8px;
  819. overflow: hidden;
  820. line-height: 8px;
  821. font-size: 11px;
  822. font-family: monospace;
  823. text-align: center;
  824. cursor: s-resize;
  825. }
  826. .fc-time-grid-event .fc-resizer:after {
  827. content: "=";
  828. }