[SPIP] ~spip v3.2.0-->v3.2.1
[lhc/web/www.git] / www / plugins-dist / organiseur / lib / fullcalendar / fullcalendar.css
1 /*!
2 * FullCalendar v3.5.1 Stylesheet
3 * Docs & License: https://fullcalendar.io/
4 * (c) 2017 Adam Shaw
5 */
6
7
8 .fc {
9 direction: ltr;
10 text-align: left;
11 }
12
13 .fc-rtl {
14 text-align: right;
15 }
16
17 body .fc { /* extra precedence to overcome jqui */
18 font-size: 1em;
19 }
20
21
22 /* Colors
23 --------------------------------------------------------------------------------------------------*/
24
25
26 .fc-highlight { /* when user is selecting cells */
27 background: #bce8f1;
28 opacity: .3;
29 }
30
31 .fc-bgevent { /* default look for background events */
32 background: rgb(143, 223, 130);
33 opacity: .3;
34 }
35
36 .fc-nonbusiness { /* default look for non-business-hours areas */
37 /* will inherit .fc-bgevent's styles */
38 background: #d7d7d7;
39 }
40
41
42 /* Buttons (styled <button> tags, normalized to work cross-browser)
43 --------------------------------------------------------------------------------------------------*/
44
45 .fc button {
46 /* force height to include the border and padding */
47 -moz-box-sizing: border-box;
48 -webkit-box-sizing: border-box;
49 box-sizing: border-box;
50
51 /* dimensions */
52 margin: 0;
53 height: 2.1em;
54 padding: 0 .6em;
55
56 /* text & cursor */
57 font-size: 1em; /* normalize */
58 white-space: nowrap;
59 cursor: pointer;
60 }
61
62 /* Firefox has an annoying inner border */
63 .fc button::-moz-focus-inner { margin: 0; padding: 0; }
64
65 .fc-state-default { /* non-theme */
66 border: 1px solid;
67 }
68
69 .fc-state-default.fc-corner-left { /* non-theme */
70 border-top-left-radius: 4px;
71 border-bottom-left-radius: 4px;
72 }
73
74 .fc-state-default.fc-corner-right { /* non-theme */
75 border-top-right-radius: 4px;
76 border-bottom-right-radius: 4px;
77 }
78
79 /* icons in buttons */
80
81 .fc button .fc-icon { /* non-theme */
82 position: relative;
83 top: -0.05em; /* seems to be a good adjustment across browsers */
84 margin: 0 .2em;
85 vertical-align: middle;
86 }
87
88 /*
89 button states
90 borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
91 */
92
93 .fc-state-default {
94 background-color: #f5f5f5;
95 background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
96 background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
97 background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
98 background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
99 background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
100 background-repeat: repeat-x;
101 border-color: #e6e6e6 #e6e6e6 #bfbfbf;
102 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
103 color: #333;
104 text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
105 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
106 }
107
108 .fc-state-hover,
109 .fc-state-down,
110 .fc-state-active,
111 .fc-state-disabled {
112 color: #333333;
113 background-color: #e6e6e6;
114 }
115
116 .fc-state-hover {
117 color: #333333;
118 text-decoration: none;
119 background-position: 0 -15px;
120 -webkit-transition: background-position 0.1s linear;
121 -moz-transition: background-position 0.1s linear;
122 -o-transition: background-position 0.1s linear;
123 transition: background-position 0.1s linear;
124 }
125
126 .fc-state-down,
127 .fc-state-active {
128 background-color: #cccccc;
129 background-image: none;
130 box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
131 }
132
133 .fc-state-disabled {
134 cursor: default;
135 background-image: none;
136 opacity: 0.65;
137 box-shadow: none;
138 }
139
140
141 /* Buttons Groups
142 --------------------------------------------------------------------------------------------------*/
143
144 .fc-button-group {
145 display: inline-block;
146 }
147
148 /*
149 every button that is not first in a button group should scootch over one pixel and cover the
150 previous button's border...
151 */
152
153 .fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
154 float: left;
155 margin: 0 0 0 -1px;
156 }
157
158 .fc .fc-button-group > :first-child { /* same */
159 margin-left: 0;
160 }
161
162
163 /* Popover
164 --------------------------------------------------------------------------------------------------*/
165
166 .fc-popover {
167 position: absolute;
168 box-shadow: 0 2px 6px rgba(0,0,0,.15);
169 }
170
171 .fc-popover .fc-header { /* TODO: be more consistent with fc-head/fc-body */
172 padding: 2px 4px;
173 }
174
175 .fc-popover .fc-header .fc-title {
176 margin: 0 2px;
177 }
178
179 .fc-popover .fc-header .fc-close {
180 cursor: pointer;
181 }
182
183 .fc-ltr .fc-popover .fc-header .fc-title,
184 .fc-rtl .fc-popover .fc-header .fc-close {
185 float: left;
186 }
187
188 .fc-rtl .fc-popover .fc-header .fc-title,
189 .fc-ltr .fc-popover .fc-header .fc-close {
190 float: right;
191 }
192
193
194 /* Misc Reusable Components
195 --------------------------------------------------------------------------------------------------*/
196
197 .fc-divider {
198 border-style: solid;
199 border-width: 1px;
200 }
201
202 hr.fc-divider {
203 height: 0;
204 margin: 0;
205 padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
206 border-width: 1px 0;
207 }
208
209 .fc-clear {
210 clear: both;
211 }
212
213 .fc-bg,
214 .fc-bgevent-skeleton,
215 .fc-highlight-skeleton,
216 .fc-helper-skeleton {
217 /* these element should always cling to top-left/right corners */
218 position: absolute;
219 top: 0;
220 left: 0;
221 right: 0;
222 }
223
224 .fc-bg {
225 bottom: 0; /* strech bg to bottom edge */
226 }
227
228 .fc-bg table {
229 height: 100%; /* strech bg to bottom edge */
230 }
231
232
233 /* Tables
234 --------------------------------------------------------------------------------------------------*/
235
236 .fc table {
237 width: 100%;
238 box-sizing: border-box; /* fix scrollbar issue in firefox */
239 table-layout: fixed;
240 border-collapse: collapse;
241 border-spacing: 0;
242 font-size: 1em; /* normalize cross-browser */
243 }
244
245 .fc th {
246 text-align: center;
247 }
248
249 .fc th,
250 .fc td {
251 border-style: solid;
252 border-width: 1px;
253 padding: 0;
254 vertical-align: top;
255 }
256
257 .fc td.fc-today {
258 border-style: double; /* overcome neighboring borders */
259 }
260
261
262 /* Internal Nav Links
263 --------------------------------------------------------------------------------------------------*/
264
265 a[data-goto] {
266 cursor: pointer;
267 }
268
269 a[data-goto]:hover {
270 text-decoration: underline;
271 }
272
273
274 /* Fake Table Rows
275 --------------------------------------------------------------------------------------------------*/
276
277 .fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
278 /* no visible border by default. but make available if need be (scrollbar width compensation) */
279 border-style: solid;
280 border-width: 0;
281 }
282
283 .fc-row table {
284 /* don't put left/right border on anything within a fake row.
285 the outer tbody will worry about this */
286 border-left: 0 hidden transparent;
287 border-right: 0 hidden transparent;
288
289 /* no bottom borders on rows */
290 border-bottom: 0 hidden transparent;
291 }
292
293 .fc-row:first-child table {
294 border-top: 0 hidden transparent; /* no top border on first row */
295 }
296
297
298 /* Day Row (used within the header and the DayGrid)
299 --------------------------------------------------------------------------------------------------*/
300
301 .fc-row {
302 position: relative;
303 }
304
305 .fc-row .fc-bg {
306 z-index: 1;
307 }
308
309 /* highlighting cells & background event skeleton */
310
311 .fc-row .fc-bgevent-skeleton,
312 .fc-row .fc-highlight-skeleton {
313 bottom: 0; /* stretch skeleton to bottom of row */
314 }
315
316 .fc-row .fc-bgevent-skeleton table,
317 .fc-row .fc-highlight-skeleton table {
318 height: 100%; /* stretch skeleton to bottom of row */
319 }
320
321 .fc-row .fc-highlight-skeleton td,
322 .fc-row .fc-bgevent-skeleton td {
323 border-color: transparent;
324 }
325
326 .fc-row .fc-bgevent-skeleton {
327 z-index: 2;
328
329 }
330
331 .fc-row .fc-highlight-skeleton {
332 z-index: 3;
333 }
334
335 /*
336 row content (which contains day/week numbers and events) as well as "helper" (which contains
337 temporary rendered events).
338 */
339
340 .fc-row .fc-content-skeleton {
341 position: relative;
342 z-index: 4;
343 padding-bottom: 2px; /* matches the space above the events */
344 }
345
346 .fc-row .fc-helper-skeleton {
347 z-index: 5;
348 }
349
350 .fc .fc-row .fc-content-skeleton table,
351 .fc .fc-row .fc-content-skeleton td,
352 .fc .fc-row .fc-helper-skeleton td {
353 /* see-through to the background below */
354 /* extra precedence to prevent theme-provided backgrounds */
355 background: none; /* in case <td>s are globally styled */
356 border-color: transparent;
357 }
358
359 .fc-row .fc-content-skeleton td,
360 .fc-row .fc-helper-skeleton td {
361 /* don't put a border between events and/or the day number */
362 border-bottom: 0;
363 }
364
365 .fc-row .fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */
366 .fc-row .fc-helper-skeleton tbody td {
367 /* don't put a border between event cells */
368 border-top: 0;
369 }
370
371
372 /* Scrolling Container
373 --------------------------------------------------------------------------------------------------*/
374
375 .fc-scroller {
376 -webkit-overflow-scrolling: touch;
377 }
378
379 /* TODO: move to agenda/basic */
380 .fc-scroller > .fc-day-grid,
381 .fc-scroller > .fc-time-grid {
382 position: relative; /* re-scope all positions */
383 width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
384 }
385
386
387 /* Global Event Styles
388 --------------------------------------------------------------------------------------------------*/
389
390 .fc-event {
391 position: relative; /* for resize handle and other inner positioning */
392 display: block; /* make the <a> tag block */
393 font-size: .85em;
394 line-height: 1.3;
395 border-radius: 3px;
396 border: 1px solid #3a87ad; /* default BORDER color */
397 }
398
399 .fc-event,
400 .fc-event-dot {
401 background-color: #3a87ad; /* default BACKGROUND color */
402 }
403
404 .fc-event,
405 .fc-event:hover {
406 color: #fff; /* default TEXT color */
407 text-decoration: none; /* if <a> has an href */
408 }
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
415 .fc-not-allowed, /* causes a "warning" cursor. applied on body */
416 .fc-not-allowed .fc-event { /* to override an event's custom cursor */
417 cursor: not-allowed;
418 }
419
420 .fc-event .fc-bg { /* the generic .fc-bg already does position */
421 z-index: 1;
422 background: #fff;
423 opacity: .25;
424 }
425
426 .fc-event .fc-content {
427 position: relative;
428 z-index: 2;
429 }
430
431 /* resizer (cursor AND touch devices) */
432
433 .fc-event .fc-resizer {
434 position: absolute;
435 z-index: 4;
436 }
437
438 /* resizer (touch devices) */
439
440 .fc-event .fc-resizer {
441 display: none;
442 }
443
444 .fc-event.fc-allow-mouse-resize .fc-resizer,
445 .fc-event.fc-selected .fc-resizer {
446 /* only show when hovering or selected (with touch) */
447 display: block;
448 }
449
450 /* hit area */
451
452 .fc-event.fc-selected .fc-resizer:before {
453 /* 40x40 touch area */
454 content: "";
455 position: absolute;
456 z-index: 9999; /* user of this util can scope within a lower z-index */
457 top: 50%;
458 left: 50%;
459 width: 40px;
460 height: 40px;
461 margin-left: -20px;
462 margin-top: -20px;
463 }
464
465
466 /* Event Selection (only for touch devices)
467 --------------------------------------------------------------------------------------------------*/
468
469 .fc-event.fc-selected {
470 z-index: 9999 !important; /* overcomes inline z-index */
471 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
472 }
473
474 .fc-event.fc-selected.fc-dragging {
475 box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
476 }
477
478
479 /* Horizontal Events
480 --------------------------------------------------------------------------------------------------*/
481
482 /* bigger touch area when selected */
483 .fc-h-event.fc-selected:before {
484 content: "";
485 position: absolute;
486 z-index: 3; /* below resizers */
487 top: -10px;
488 bottom: -10px;
489 left: 0;
490 right: 0;
491 }
492
493 /* events that are continuing to/from another week. kill rounded corners and butt up against edge */
494
495 .fc-ltr .fc-h-event.fc-not-start,
496 .fc-rtl .fc-h-event.fc-not-end {
497 margin-left: 0;
498 border-left-width: 0;
499 padding-left: 1px; /* replace the border with padding */
500 border-top-left-radius: 0;
501 border-bottom-left-radius: 0;
502 }
503
504 .fc-ltr .fc-h-event.fc-not-end,
505 .fc-rtl .fc-h-event.fc-not-start {
506 margin-right: 0;
507 border-right-width: 0;
508 padding-right: 1px; /* replace the border with padding */
509 border-top-right-radius: 0;
510 border-bottom-right-radius: 0;
511 }
512
513 /* resizer (cursor AND touch devices) */
514
515 /* left resizer */
516 .fc-ltr .fc-h-event .fc-start-resizer,
517 .fc-rtl .fc-h-event .fc-end-resizer {
518 cursor: w-resize;
519 left: -1px; /* overcome border */
520 }
521
522 /* right resizer */
523 .fc-ltr .fc-h-event .fc-end-resizer,
524 .fc-rtl .fc-h-event .fc-start-resizer {
525 cursor: e-resize;
526 right: -1px; /* overcome border */
527 }
528
529 /* resizer (mouse devices) */
530
531 .fc-h-event.fc-allow-mouse-resize .fc-resizer {
532 width: 7px;
533 top: -1px; /* overcome top border */
534 bottom: -1px; /* overcome bottom border */
535 }
536
537 /* resizer (touch devices) */
538
539 .fc-h-event.fc-selected .fc-resizer {
540 /* 8x8 little dot */
541 border-radius: 4px;
542 border-width: 1px;
543 width: 6px;
544 height: 6px;
545 border-style: solid;
546 border-color: inherit;
547 background: #fff;
548 /* vertically center */
549 top: 50%;
550 margin-top: -4px;
551 }
552
553 /* left resizer */
554 .fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
555 .fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
556 margin-left: -4px; /* centers the 8x8 dot on the left edge */
557 }
558
559 /* right resizer */
560 .fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
561 .fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
562 margin-right: -4px; /* centers the 8x8 dot on the right edge */
563 }
564
565
566 /* DayGrid events
567 ----------------------------------------------------------------------------------------------------
568 We use the full "fc-day-grid-event" class instead of using descendants because the event won't
569 be a descendant of the grid when it is being dragged.
570 */
571
572 .fc-day-grid-event {
573 margin: 1px 2px 0; /* spacing between events and edges */
574 padding: 0 1px;
575 }
576
577 tr:first-child > td > .fc-day-grid-event {
578 margin-top: 2px; /* a little bit more space before the first event */
579 }
580
581 .fc-day-grid-event.fc-selected:after {
582 content: "";
583 position: absolute;
584 z-index: 1; /* same z-index as fc-bg, behind text */
585 /* overcome the borders */
586 top: -1px;
587 right: -1px;
588 bottom: -1px;
589 left: -1px;
590 /* darkening effect */
591 background: #000;
592 opacity: .25;
593 }
594
595 .fc-day-grid-event .fc-content { /* force events to be one-line tall */
596 white-space: nowrap;
597 overflow: hidden;
598 }
599
600 .fc-day-grid-event .fc-time {
601 font-weight: bold;
602 }
603
604 /* resizer (cursor devices) */
605
606 /* left resizer */
607 .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
608 .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
609 margin-left: -2px; /* to the day cell's edge */
610 }
611
612 /* right resizer */
613 .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
614 .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
615 margin-right: -2px; /* to the day cell's edge */
616 }
617
618
619 /* Event Limiting
620 --------------------------------------------------------------------------------------------------*/
621
622 /* "more" link that represents hidden events */
623
624 a.fc-more {
625 margin: 1px 3px;
626 font-size: .85em;
627 cursor: pointer;
628 text-decoration: none;
629 }
630
631 a.fc-more:hover {
632 text-decoration: underline;
633 }
634
635 .fc-limited { /* rows and cells that are hidden because of a "more" link */
636 display: none;
637 }
638
639 /* popover that appears when "more" link is clicked */
640
641 .fc-day-grid .fc-row {
642 z-index: 1; /* make the "more" popover one higher than this */
643 }
644
645 .fc-more-popover {
646 z-index: 2;
647 width: 220px;
648 }
649
650 .fc-more-popover .fc-event-container {
651 padding: 10px;
652 }
653
654
655 /* Now Indicator
656 --------------------------------------------------------------------------------------------------*/
657
658 .fc-now-indicator {
659 position: absolute;
660 border: 0 solid red;
661 }
662
663
664 /* Utilities
665 --------------------------------------------------------------------------------------------------*/
666
667 .fc-unselectable {
668 -webkit-user-select: none;
669 -khtml-user-select: none;
670 -moz-user-select: none;
671 -ms-user-select: none;
672 user-select: none;
673 -webkit-touch-callout: none;
674 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
675 }
676
677
678
679 /*
680 TODO: more distinction between this file and common.css
681 */
682
683 /* Colors
684 --------------------------------------------------------------------------------------------------*/
685
686 .fc-unthemed th,
687 .fc-unthemed td,
688 .fc-unthemed thead,
689 .fc-unthemed tbody,
690 .fc-unthemed .fc-divider,
691 .fc-unthemed .fc-row,
692 .fc-unthemed .fc-content, /* for gutter border */
693 .fc-unthemed .fc-popover,
694 .fc-unthemed .fc-list-view,
695 .fc-unthemed .fc-list-heading td {
696 border-color: #ddd;
697 }
698
699 .fc-unthemed .fc-popover {
700 background-color: #fff;
701 }
702
703 .fc-unthemed .fc-divider,
704 .fc-unthemed .fc-popover .fc-header,
705 .fc-unthemed .fc-list-heading td {
706 background: #eee;
707 }
708
709 .fc-unthemed .fc-popover .fc-header .fc-close {
710 color: #666;
711 }
712
713 .fc-unthemed td.fc-today {
714 background: #fcf8e3;
715 }
716
717 .fc-unthemed .fc-disabled-day {
718 background: #d7d7d7;
719 opacity: .3;
720 }
721
722
723 /* Icons (inline elements with styled text that mock arrow icons)
724 --------------------------------------------------------------------------------------------------*/
725
726 .fc-icon {
727 display: inline-block;
728 height: 1em;
729 line-height: 1em;
730 font-size: 1em;
731 text-align: center;
732 overflow: hidden;
733 font-family: "Courier New", Courier, monospace;
734
735 /* don't allow browser text-selection */
736 -webkit-touch-callout: none;
737 -webkit-user-select: none;
738 -khtml-user-select: none;
739 -moz-user-select: none;
740 -ms-user-select: none;
741 user-select: none;
742 }
743
744 /*
745 Acceptable font-family overrides for individual icons:
746 "Arial", sans-serif
747 "Times New Roman", serif
748
749 NOTE: use percentage font sizes or else old IE chokes
750 */
751
752 .fc-icon:after {
753 position: relative;
754 }
755
756 .fc-icon-left-single-arrow:after {
757 content: "\02039";
758 font-weight: bold;
759 font-size: 200%;
760 top: -7%;
761 }
762
763 .fc-icon-right-single-arrow:after {
764 content: "\0203A";
765 font-weight: bold;
766 font-size: 200%;
767 top: -7%;
768 }
769
770 .fc-icon-left-double-arrow:after {
771 content: "\000AB";
772 font-size: 160%;
773 top: -7%;
774 }
775
776 .fc-icon-right-double-arrow:after {
777 content: "\000BB";
778 font-size: 160%;
779 top: -7%;
780 }
781
782 .fc-icon-left-triangle:after {
783 content: "\25C4";
784 font-size: 125%;
785 top: 3%;
786 }
787
788 .fc-icon-right-triangle:after {
789 content: "\25BA";
790 font-size: 125%;
791 top: 3%;
792 }
793
794 .fc-icon-down-triangle:after {
795 content: "\25BC";
796 font-size: 125%;
797 top: 2%;
798 }
799
800 .fc-icon-x:after {
801 content: "\000D7";
802 font-size: 200%;
803 top: 6%;
804 }
805
806
807 /* Popover
808 --------------------------------------------------------------------------------------------------*/
809
810 .fc-unthemed .fc-popover {
811 border-width: 1px;
812 border-style: solid;
813 }
814
815 .fc-unthemed .fc-popover .fc-header .fc-close {
816 font-size: .9em;
817 margin-top: 2px;
818 }
819
820
821 /* List View
822 --------------------------------------------------------------------------------------------------*/
823
824 .fc-unthemed .fc-list-item:hover td {
825 background-color: #f5f5f5;
826 }
827
828
829
830 /* Colors
831 --------------------------------------------------------------------------------------------------*/
832
833 .ui-widget .fc-disabled-day {
834 background-image: none;
835 }
836
837
838 /* Popover
839 --------------------------------------------------------------------------------------------------*/
840
841 .fc-popover > .ui-widget-header + .ui-widget-content {
842 border-top: 0; /* where they meet, let the header have the border */
843 }
844
845
846 /* Global Event Styles
847 --------------------------------------------------------------------------------------------------*/
848
849 .ui-widget .fc-event {
850 /* overpower jqui's styles on <a> tags. TODO: more DRY */
851 color: #fff; /* default TEXT color */
852 text-decoration: none; /* if <a> has an href */
853
854 /* undo ui-widget-header bold */
855 font-weight: normal;
856 }
857
858
859 /* TimeGrid axis running down the side (for both the all-day area and the slot area)
860 --------------------------------------------------------------------------------------------------*/
861
862 .ui-widget td.fc-axis {
863 font-weight: normal; /* overcome bold */
864 }
865
866
867 /* TimeGrid Slats (lines that run horizontally)
868 --------------------------------------------------------------------------------------------------*/
869
870 .fc-time-grid .fc-slats .ui-widget-content {
871 background: none; /* see through to fc-bg */
872 }
873
874
875
876 .fc.fc-bootstrap3 a {
877 text-decoration: none;
878 }
879
880 .fc.fc-bootstrap3 a[data-goto]:hover {
881 text-decoration: underline;
882 }
883
884 .fc-bootstrap3 hr.fc-divider {
885 border-color: inherit;
886 }
887
888 .fc-bootstrap3 .fc-today.alert {
889 border-radius: 0;
890 }
891
892
893 /* Popover
894 --------------------------------------------------------------------------------------------------*/
895
896 .fc-bootstrap3 .fc-popover .panel-body {
897 padding: 0; /* undo built-in padding */
898 }
899
900
901 /* TimeGrid Slats (lines that run horizontally)
902 --------------------------------------------------------------------------------------------------*/
903
904 .fc-bootstrap3 .fc-time-grid .fc-slats table {
905 /* some themes have background color. see through to slats */
906 background: none;
907 }
908
909
910
911 /* Toolbar
912 --------------------------------------------------------------------------------------------------*/
913
914 .fc-toolbar {
915 text-align: center;
916 }
917
918 .fc-toolbar.fc-header-toolbar {
919 margin-bottom: 1em;
920 }
921
922 .fc-toolbar.fc-footer-toolbar {
923 margin-top: 1em;
924 }
925
926 .fc-toolbar .fc-left {
927 float: left;
928 }
929
930 .fc-toolbar .fc-right {
931 float: right;
932 }
933
934 .fc-toolbar .fc-center {
935 display: inline-block;
936 }
937
938 /* the things within each left/right/center section */
939 .fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
940 float: left;
941 margin-left: .75em;
942 }
943
944 /* the first thing within each left/center/right section */
945 .fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
946 margin-left: 0;
947 }
948
949 /* title text */
950
951 .fc-toolbar h2 {
952 margin: 0;
953 }
954
955 /* button layering (for border precedence) */
956
957 .fc-toolbar button {
958 position: relative;
959 }
960
961 .fc-toolbar .fc-state-hover,
962 .fc-toolbar .ui-state-hover {
963 z-index: 2;
964 }
965
966 .fc-toolbar .fc-state-down {
967 z-index: 3;
968 }
969
970 .fc-toolbar .fc-state-active,
971 .fc-toolbar .ui-state-active {
972 z-index: 4;
973 }
974
975 .fc-toolbar button:focus {
976 z-index: 5;
977 }
978
979
980 /* View Structure
981 --------------------------------------------------------------------------------------------------*/
982
983 /* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
984 /* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
985 .fc-view-container *,
986 .fc-view-container *:before,
987 .fc-view-container *:after {
988 -webkit-box-sizing: content-box;
989 -moz-box-sizing: content-box;
990 box-sizing: content-box;
991 }
992
993 .fc-view, /* scope positioning and z-index's for everything within the view */
994 .fc-view > table { /* so dragged elements can be above the view's main element */
995 position: relative;
996 z-index: 1;
997 }
998
999
1000
1001 /* BasicView
1002 --------------------------------------------------------------------------------------------------*/
1003
1004 /* day row structure */
1005
1006 .fc-basicWeek-view .fc-content-skeleton,
1007 .fc-basicDay-view .fc-content-skeleton {
1008 /* there may be week numbers in these views, so no padding-top */
1009 padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
1010 }
1011
1012 .fc-basic-view .fc-body .fc-row {
1013 min-height: 4em; /* ensure that all rows are at least this tall */
1014 }
1015
1016 /* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
1017
1018 .fc-row.fc-rigid {
1019 overflow: hidden;
1020 }
1021
1022 .fc-row.fc-rigid .fc-content-skeleton {
1023 position: absolute;
1024 top: 0;
1025 left: 0;
1026 right: 0;
1027 }
1028
1029 /* week and day number styling */
1030
1031 .fc-day-top.fc-other-month {
1032 opacity: 0.3;
1033 }
1034
1035 .fc-basic-view .fc-week-number,
1036 .fc-basic-view .fc-day-number {
1037 padding: 2px;
1038 }
1039
1040 .fc-basic-view th.fc-week-number,
1041 .fc-basic-view th.fc-day-number {
1042 padding: 0 2px; /* column headers can't have as much v space */
1043 }
1044
1045 .fc-ltr .fc-basic-view .fc-day-top .fc-day-number { float: right; }
1046 .fc-rtl .fc-basic-view .fc-day-top .fc-day-number { float: left; }
1047
1048 .fc-ltr .fc-basic-view .fc-day-top .fc-week-number { float: left; border-radius: 0 0 3px 0; }
1049 .fc-rtl .fc-basic-view .fc-day-top .fc-week-number { float: right; border-radius: 0 0 0 3px; }
1050
1051 .fc-basic-view .fc-day-top .fc-week-number {
1052 min-width: 1.5em;
1053 text-align: center;
1054 background-color: #f2f2f2;
1055 color: #808080;
1056 }
1057
1058 /* when week/day number have own column */
1059
1060 .fc-basic-view td.fc-week-number {
1061 text-align: center;
1062 }
1063
1064 .fc-basic-view td.fc-week-number > * {
1065 /* work around the way we do column resizing and ensure a minimum width */
1066 display: inline-block;
1067 min-width: 1.25em;
1068 }
1069
1070
1071 /* AgendaView all-day area
1072 --------------------------------------------------------------------------------------------------*/
1073
1074 .fc-agenda-view .fc-day-grid {
1075 position: relative;
1076 z-index: 2; /* so the "more.." popover will be over the time grid */
1077 }
1078
1079 .fc-agenda-view .fc-day-grid .fc-row {
1080 min-height: 3em; /* all-day section will never get shorter than this */
1081 }
1082
1083 .fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
1084 padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
1085 }
1086
1087
1088 /* TimeGrid axis running down the side (for both the all-day area and the slot area)
1089 --------------------------------------------------------------------------------------------------*/
1090
1091 .fc .fc-axis { /* .fc to overcome default cell styles */
1092 vertical-align: middle;
1093 padding: 0 4px;
1094 white-space: nowrap;
1095 }
1096
1097 .fc-ltr .fc-axis {
1098 text-align: right;
1099 }
1100
1101 .fc-rtl .fc-axis {
1102 text-align: left;
1103 }
1104
1105
1106 /* TimeGrid Structure
1107 --------------------------------------------------------------------------------------------------*/
1108
1109 .fc-time-grid-container, /* so scroll container's z-index is below all-day */
1110 .fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
1111 position: relative;
1112 z-index: 1;
1113 }
1114
1115 .fc-time-grid {
1116 min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
1117 }
1118
1119 .fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
1120 border: 0 hidden transparent;
1121 }
1122
1123 .fc-time-grid > .fc-bg {
1124 z-index: 1;
1125 }
1126
1127 .fc-time-grid .fc-slats,
1128 .fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
1129 position: relative;
1130 z-index: 2;
1131 }
1132
1133 .fc-time-grid .fc-content-col {
1134 position: relative; /* because now-indicator lives directly inside */
1135 }
1136
1137 .fc-time-grid .fc-content-skeleton {
1138 position: absolute;
1139 z-index: 3;
1140 top: 0;
1141 left: 0;
1142 right: 0;
1143 }
1144
1145 /* divs within a cell within the fc-content-skeleton */
1146
1147 .fc-time-grid .fc-business-container {
1148 position: relative;
1149 z-index: 1;
1150 }
1151
1152 .fc-time-grid .fc-bgevent-container {
1153 position: relative;
1154 z-index: 2;
1155 }
1156
1157 .fc-time-grid .fc-highlight-container {
1158 position: relative;
1159 z-index: 3;
1160 }
1161
1162 .fc-time-grid .fc-event-container {
1163 position: relative;
1164 z-index: 4;
1165 }
1166
1167 .fc-time-grid .fc-now-indicator-line {
1168 z-index: 5;
1169 }
1170
1171 .fc-time-grid .fc-helper-container { /* also is fc-event-container */
1172 position: relative;
1173 z-index: 6;
1174 }
1175
1176
1177 /* TimeGrid Slats (lines that run horizontally)
1178 --------------------------------------------------------------------------------------------------*/
1179
1180 .fc-time-grid .fc-slats td {
1181 height: 1.5em;
1182 border-bottom: 0; /* each cell is responsible for its top border */
1183 }
1184
1185 .fc-time-grid .fc-slats .fc-minor td {
1186 border-top-style: dotted;
1187 }
1188
1189
1190 /* TimeGrid Highlighting Slots
1191 --------------------------------------------------------------------------------------------------*/
1192
1193 .fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
1194 position: relative; /* scopes the left/right of the fc-highlight to be in the column */
1195 }
1196
1197 .fc-time-grid .fc-highlight {
1198 position: absolute;
1199 left: 0;
1200 right: 0;
1201 /* top and bottom will be in by JS */
1202 }
1203
1204
1205 /* TimeGrid Event Containment
1206 --------------------------------------------------------------------------------------------------*/
1207
1208 .fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
1209 margin: 0 2.5% 0 2px;
1210 }
1211
1212 .fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
1213 margin: 0 2px 0 2.5%;
1214 }
1215
1216 .fc-time-grid .fc-event,
1217 .fc-time-grid .fc-bgevent {
1218 position: absolute;
1219 z-index: 1; /* scope inner z-index's */
1220 }
1221
1222 .fc-time-grid .fc-bgevent {
1223 /* background events always span full width */
1224 left: 0;
1225 right: 0;
1226 }
1227
1228
1229 /* Generic Vertical Event
1230 --------------------------------------------------------------------------------------------------*/
1231
1232 .fc-v-event.fc-not-start { /* events that are continuing from another day */
1233 /* replace space made by the top border with padding */
1234 border-top-width: 0;
1235 padding-top: 1px;
1236
1237 /* remove top rounded corners */
1238 border-top-left-radius: 0;
1239 border-top-right-radius: 0;
1240 }
1241
1242 .fc-v-event.fc-not-end {
1243 /* replace space made by the top border with padding */
1244 border-bottom-width: 0;
1245 padding-bottom: 1px;
1246
1247 /* remove bottom rounded corners */
1248 border-bottom-left-radius: 0;
1249 border-bottom-right-radius: 0;
1250 }
1251
1252
1253 /* TimeGrid Event Styling
1254 ----------------------------------------------------------------------------------------------------
1255 We use the full "fc-time-grid-event" class instead of using descendants because the event won't
1256 be a descendant of the grid when it is being dragged.
1257 */
1258
1259 .fc-time-grid-event {
1260 overflow: hidden; /* don't let the bg flow over rounded corners */
1261 }
1262
1263 .fc-time-grid-event.fc-selected {
1264 /* need to allow touch resizers to extend outside event's bounding box */
1265 /* common fc-selected styles hide the fc-bg, so don't need this anyway */
1266 overflow: visible;
1267 }
1268
1269 .fc-time-grid-event.fc-selected .fc-bg {
1270 display: none; /* hide semi-white background, to appear darker */
1271 }
1272
1273 .fc-time-grid-event .fc-content {
1274 overflow: hidden; /* for when .fc-selected */
1275 }
1276
1277 .fc-time-grid-event .fc-time,
1278 .fc-time-grid-event .fc-title {
1279 padding: 0 1px;
1280 }
1281
1282 .fc-time-grid-event .fc-time {
1283 font-size: .85em;
1284 white-space: nowrap;
1285 }
1286
1287 /* short mode, where time and title are on the same line */
1288
1289 .fc-time-grid-event.fc-short .fc-content {
1290 /* don't wrap to second line (now that contents will be inline) */
1291 white-space: nowrap;
1292 }
1293
1294 .fc-time-grid-event.fc-short .fc-time,
1295 .fc-time-grid-event.fc-short .fc-title {
1296 /* put the time and title on the same line */
1297 display: inline-block;
1298 vertical-align: top;
1299 }
1300
1301 .fc-time-grid-event.fc-short .fc-time span {
1302 display: none; /* don't display the full time text... */
1303 }
1304
1305 .fc-time-grid-event.fc-short .fc-time:before {
1306 content: attr(data-start); /* ...instead, display only the start time */
1307 }
1308
1309 .fc-time-grid-event.fc-short .fc-time:after {
1310 content: "\000A0-\000A0"; /* seperate with a dash, wrapped in nbsp's */
1311 }
1312
1313 .fc-time-grid-event.fc-short .fc-title {
1314 font-size: .85em; /* make the title text the same size as the time */
1315 padding: 0; /* undo padding from above */
1316 }
1317
1318 /* resizer (cursor device) */
1319
1320 .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
1321 left: 0;
1322 right: 0;
1323 bottom: 0;
1324 height: 8px;
1325 overflow: hidden;
1326 line-height: 8px;
1327 font-size: 11px;
1328 font-family: monospace;
1329 text-align: center;
1330 cursor: s-resize;
1331 }
1332
1333 .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
1334 content: "=";
1335 }
1336
1337 /* resizer (touch device) */
1338
1339 .fc-time-grid-event.fc-selected .fc-resizer {
1340 /* 10x10 dot */
1341 border-radius: 5px;
1342 border-width: 1px;
1343 width: 8px;
1344 height: 8px;
1345 border-style: solid;
1346 border-color: inherit;
1347 background: #fff;
1348 /* horizontally center */
1349 left: 50%;
1350 margin-left: -5px;
1351 /* center on the bottom edge */
1352 bottom: -5px;
1353 }
1354
1355
1356 /* Now Indicator
1357 --------------------------------------------------------------------------------------------------*/
1358
1359 .fc-time-grid .fc-now-indicator-line {
1360 border-top-width: 1px;
1361 left: 0;
1362 right: 0;
1363 }
1364
1365 /* arrow on axis */
1366
1367 .fc-time-grid .fc-now-indicator-arrow {
1368 margin-top: -5px; /* vertically center on top coordinate */
1369 }
1370
1371 .fc-ltr .fc-time-grid .fc-now-indicator-arrow {
1372 left: 0;
1373 /* triangle pointing right... */
1374 border-width: 5px 0 5px 6px;
1375 border-top-color: transparent;
1376 border-bottom-color: transparent;
1377 }
1378
1379 .fc-rtl .fc-time-grid .fc-now-indicator-arrow {
1380 right: 0;
1381 /* triangle pointing left... */
1382 border-width: 5px 6px 5px 0;
1383 border-top-color: transparent;
1384 border-bottom-color: transparent;
1385 }
1386
1387
1388
1389 /* List View
1390 --------------------------------------------------------------------------------------------------*/
1391
1392 /* possibly reusable */
1393
1394 .fc-event-dot {
1395 display: inline-block;
1396 width: 10px;
1397 height: 10px;
1398 border-radius: 5px;
1399 }
1400
1401 /* view wrapper */
1402
1403 .fc-rtl .fc-list-view {
1404 direction: rtl; /* unlike core views, leverage browser RTL */
1405 }
1406
1407 .fc-list-view {
1408 border-width: 1px;
1409 border-style: solid;
1410 }
1411
1412 /* table resets */
1413
1414 .fc .fc-list-table {
1415 table-layout: auto; /* for shrinkwrapping cell content */
1416 }
1417
1418 .fc-list-table td {
1419 border-width: 1px 0 0;
1420 padding: 8px 14px;
1421 }
1422
1423 .fc-list-table tr:first-child td {
1424 border-top-width: 0;
1425 }
1426
1427 /* day headings with the list */
1428
1429 .fc-list-heading {
1430 border-bottom-width: 1px;
1431 }
1432
1433 .fc-list-heading td {
1434 font-weight: bold;
1435 }
1436
1437 .fc-ltr .fc-list-heading-main { float: left; }
1438 .fc-ltr .fc-list-heading-alt { float: right; }
1439
1440 .fc-rtl .fc-list-heading-main { float: right; }
1441 .fc-rtl .fc-list-heading-alt { float: left; }
1442
1443 /* event list items */
1444
1445 .fc-list-item.fc-has-url {
1446 cursor: pointer; /* whole row will be clickable */
1447 }
1448
1449 .fc-list-item-marker,
1450 .fc-list-item-time {
1451 white-space: nowrap;
1452 width: 1px;
1453 }
1454
1455 /* make the dot closer to the event title */
1456 .fc-ltr .fc-list-item-marker { padding-right: 0; }
1457 .fc-rtl .fc-list-item-marker { padding-left: 0; }
1458
1459 .fc-list-item-title a {
1460 /* every event title cell has an <a> tag */
1461 text-decoration: none;
1462 color: inherit;
1463 }
1464
1465 .fc-list-item-title a[href]:hover {
1466 /* hover effect only on titles with hrefs */
1467 text-decoration: underline;
1468 }
1469
1470 /* message when no events */
1471
1472 .fc-list-empty-wrap2 {
1473 position: absolute;
1474 top: 0;
1475 left: 0;
1476 right: 0;
1477 bottom: 0;
1478 }
1479
1480 .fc-list-empty-wrap1 {
1481 width: 100%;
1482 height: 100%;
1483 display: table;
1484 }
1485
1486 .fc-list-empty {
1487 display: table-cell;
1488 vertical-align: middle;
1489 text-align: center;
1490 }
1491
1492 .fc-unthemed .fc-list-empty { /* theme will provide own background */
1493 background-color: #eee;
1494 }