|
|
@@ -1,5 +1,5 @@
|
|
|
/*!
|
|
|
- * FullCalendar v2.0.2 Stylesheet
|
|
|
+ * FullCalendar v2.1.0-beta1 Stylesheet
|
|
|
* Docs & License: http://arshaw.com/fullcalendar/
|
|
|
* (c) 2013 Adam Shaw
|
|
|
*/
|
|
|
@@ -8,199 +8,118 @@
|
|
|
.fc {
|
|
|
direction: ltr;
|
|
|
text-align: left;
|
|
|
- }
|
|
|
-
|
|
|
-.fc table {
|
|
|
- border-collapse: collapse;
|
|
|
- border-spacing: 0;
|
|
|
- }
|
|
|
-
|
|
|
-html .fc,
|
|
|
-.fc table {
|
|
|
- font-size: 1em;
|
|
|
- }
|
|
|
-
|
|
|
-.fc td,
|
|
|
-.fc th {
|
|
|
- padding: 0;
|
|
|
- vertical-align: top;
|
|
|
- }
|
|
|
-
|
|
|
+}
|
|
|
|
|
|
+.fc-rtl {
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
|
|
|
-/* Header
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+body .fc { /* extra precedence to overcome jqui */
|
|
|
+ font-size: 1em;
|
|
|
+}
|
|
|
|
|
|
-.fc-header td {
|
|
|
- white-space: nowrap;
|
|
|
- }
|
|
|
|
|
|
-.fc-header-left {
|
|
|
- width: 25%;
|
|
|
- text-align: left;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header-center {
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header-right {
|
|
|
- width: 25%;
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header-title {
|
|
|
- display: inline-block;
|
|
|
- vertical-align: top;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header-title h2 {
|
|
|
- margin-top: 0;
|
|
|
- white-space: nowrap;
|
|
|
- }
|
|
|
-
|
|
|
-.fc .fc-header-space {
|
|
|
- padding-left: 10px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header .fc-button {
|
|
|
- margin-bottom: 1em;
|
|
|
- vertical-align: top;
|
|
|
- }
|
|
|
-
|
|
|
-/* buttons edges butting together */
|
|
|
+/* Colors
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
-.fc-header .fc-button {
|
|
|
- margin-right: -1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header .fc-corner-right, /* non-theme */
|
|
|
-.fc-header .ui-corner-right { /* theme */
|
|
|
- margin-right: 0; /* back to normal */
|
|
|
- }
|
|
|
-
|
|
|
-/* button layering (for border precedence) */
|
|
|
-
|
|
|
-.fc-header .fc-state-hover,
|
|
|
-.fc-header .ui-state-hover {
|
|
|
- z-index: 2;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-header .fc-state-down {
|
|
|
- z-index: 3;
|
|
|
- }
|
|
|
+.fc-unthemed th,
|
|
|
+.fc-unthemed td,
|
|
|
+.fc-unthemed hr,
|
|
|
+.fc-unthemed thead,
|
|
|
+.fc-unthemed tbody,
|
|
|
+.fc-unthemed .fc-row {
|
|
|
+ border-color: #ddd;
|
|
|
+}
|
|
|
|
|
|
-.fc-header .fc-state-active,
|
|
|
-.fc-header .ui-state-active {
|
|
|
- z-index: 4;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-/* Content
|
|
|
-------------------------------------------------------------------------*/
|
|
|
-
|
|
|
-.fc-content {
|
|
|
- position: relative;
|
|
|
- z-index: 1; /* scopes all other z-index's to be inside this container */
|
|
|
- clear: both;
|
|
|
- zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */
|
|
|
- }
|
|
|
-
|
|
|
-.fc-view {
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-/* Cell Styles
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+.fc-unthemed hr {
|
|
|
+ background: #eee;
|
|
|
+}
|
|
|
|
|
|
-.fc-widget-header, /* <th>, usually */
|
|
|
-.fc-widget-content { /* <td>, usually */
|
|
|
- border: 1px solid #ddd;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
|
|
|
+.fc-unthemed .fc-today {
|
|
|
background: #fcf8e3;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-cell-overlay { /* semi-transparent rectangle while dragging */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-highlight { /* when user is selecting cells */
|
|
|
background: #bce8f1;
|
|
|
opacity: .3;
|
|
|
filter: alpha(opacity=30); /* for IE */
|
|
|
- }
|
|
|
-
|
|
|
+}
|
|
|
|
|
|
|
|
|
-/* Buttons
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+/* Icons (inline elements with styled text that mock arrow icons)
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
-.fc-button {
|
|
|
- position: relative;
|
|
|
+.fc-icon {
|
|
|
display: inline-block;
|
|
|
- padding: 0 .6em;
|
|
|
- overflow: hidden;
|
|
|
- height: 1.9em;
|
|
|
- line-height: 1.9em;
|
|
|
- white-space: nowrap;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-state-default { /* non-theme */
|
|
|
- border: 1px solid;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-state-default.fc-corner-left { /* non-theme */
|
|
|
- border-top-left-radius: 4px;
|
|
|
- border-bottom-left-radius: 4px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-state-default.fc-corner-right { /* non-theme */
|
|
|
- border-top-right-radius: 4px;
|
|
|
- border-bottom-right-radius: 4px;
|
|
|
- }
|
|
|
-
|
|
|
-/*
|
|
|
- Our default prev/next buttons use HTML entities like ‹ › « »
|
|
|
- and we'll try to make them look good cross-browser.
|
|
|
-*/
|
|
|
-
|
|
|
-.fc-button .fc-icon {
|
|
|
- margin: 0 .1em;
|
|
|
font-size: 2em;
|
|
|
+ line-height: .5em;
|
|
|
+ height: .5em; /* will make the total height 1em */
|
|
|
font-family: "Courier New", Courier, monospace;
|
|
|
- vertical-align: baseline; /* for IE7 */
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-icon-left-single-arrow:after {
|
|
|
content: "\02039";
|
|
|
font-weight: bold;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-icon-right-single-arrow:after {
|
|
|
content: "\0203A";
|
|
|
font-weight: bold;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-icon-left-double-arrow:after {
|
|
|
content: "\000AB";
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-icon-right-double-arrow:after {
|
|
|
content: "\000BB";
|
|
|
- }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Buttons (styled <button> tags, normalized to work cross-browser)
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc button {
|
|
|
+ /* force height to include the border and padding */
|
|
|
+ -moz-box-sizing: border-box;
|
|
|
+ -webkit-box-sizing: border-box;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ /* dimensions */
|
|
|
+ margin: 0;
|
|
|
+ height: 2.1em;
|
|
|
+ padding: 0 .6em;
|
|
|
+
|
|
|
+ /* text & cursor */
|
|
|
+ font-size: 1em; /* normalize */
|
|
|
+ white-space: nowrap;
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+
|
|
|
+/* Firefox has an annoying inner border */
|
|
|
+.fc button::-moz-focus-inner { margin: 0; padding: 0; }
|
|
|
|
|
|
-/* icon (for jquery ui) */
|
|
|
+.fc-state-default { /* non-theme */
|
|
|
+ border: 1px solid;
|
|
|
+}
|
|
|
|
|
|
-.fc-button .ui-icon {
|
|
|
+.fc-state-default.fc-corner-left { /* non-theme */
|
|
|
+ border-top-left-radius: 4px;
|
|
|
+ border-bottom-left-radius: 4px;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-state-default.fc-corner-right { /* non-theme */
|
|
|
+ border-top-right-radius: 4px;
|
|
|
+ border-bottom-right-radius: 4px;
|
|
|
+}
|
|
|
+
|
|
|
+/* icons in buttons */
|
|
|
+
|
|
|
+.fc button .fc-icon { /* non-theme */
|
|
|
position: relative;
|
|
|
- top: 50%;
|
|
|
- float: left;
|
|
|
- margin-top: -8px; /* we know jqui icons are always 16px tall */
|
|
|
- }
|
|
|
+ top: .05em; /* seems to be a good adjustment across browsers */
|
|
|
+ margin: 0 .1em;
|
|
|
+}
|
|
|
|
|
|
/*
|
|
|
button states
|
|
|
@@ -220,7 +139,7 @@ html .fc,
|
|
|
color: #333;
|
|
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-state-hover,
|
|
|
.fc-state-down,
|
|
|
@@ -228,7 +147,7 @@ html .fc,
|
|
|
.fc-state-disabled {
|
|
|
color: #333333;
|
|
|
background-color: #e6e6e6;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-state-hover {
|
|
|
color: #333333;
|
|
|
@@ -238,15 +157,14 @@ html .fc,
|
|
|
-moz-transition: background-position 0.1s linear;
|
|
|
-o-transition: background-position 0.1s linear;
|
|
|
transition: background-position 0.1s linear;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-state-down,
|
|
|
.fc-state-active {
|
|
|
background-color: #cccccc;
|
|
|
background-image: none;
|
|
|
- outline: 0;
|
|
|
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
.fc-state-disabled {
|
|
|
cursor: default;
|
|
|
@@ -254,348 +172,588 @@ html .fc,
|
|
|
opacity: 0.65;
|
|
|
filter: alpha(opacity=65);
|
|
|
box-shadow: none;
|
|
|
- }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Buttons Groups
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-button-group {
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+every button that is not first in a button group should scootch over one pixel and cover the
|
|
|
+previous button's border...
|
|
|
+*/
|
|
|
+
|
|
|
+.fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
|
|
|
+ float: left;
|
|
|
+ margin: 0 0 0 -1px;
|
|
|
+}
|
|
|
+
|
|
|
+.fc .fc-button-group > :first-child { /* same */
|
|
|
+ margin-left: 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Misc Reusable Components
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc hr {
|
|
|
+ height: 0;
|
|
|
+ margin: 0;
|
|
|
+ padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
|
|
|
+ border-style: solid;
|
|
|
+ border-width: 1px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-clear {
|
|
|
+ clear: both;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-bg,
|
|
|
+.fc-highlight-skeleton,
|
|
|
+.fc-helper-skeleton {
|
|
|
+ /* these element should always cling to top-left/right corners */
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-bg {
|
|
|
+ bottom: 0; /* strech bg to bottom edge */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-bg table {
|
|
|
+ height: 100%; /* strech bg to bottom edge */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Tables
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc table {
|
|
|
+ width: 100%;
|
|
|
+ table-layout: fixed;
|
|
|
+ border-collapse: collapse;
|
|
|
+ border-spacing: 0;
|
|
|
+ font-size: 1em; /* normalize cross-browser */
|
|
|
+}
|
|
|
+
|
|
|
+.fc th {
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+
|
|
|
+.fc th,
|
|
|
+.fc td {
|
|
|
+ border-style: solid;
|
|
|
+ border-width: 1px;
|
|
|
+ padding: 0;
|
|
|
+ vertical-align: top;
|
|
|
+}
|
|
|
+
|
|
|
+.fc td.fc-today {
|
|
|
+ border-style: double; /* overcome neighboring borders */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Fake Table Rows
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
|
|
|
+ /* no visible border by default. but make available if need be (scrollbar width compensation) */
|
|
|
+ border-style: solid;
|
|
|
+ border-width: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row table {
|
|
|
+ /* don't put left/right border on anything within a fake row.
|
|
|
+ the outer tbody will worry about this */
|
|
|
+ border-left: 0 hidden transparent;
|
|
|
+ border-right: 0 hidden transparent;
|
|
|
+
|
|
|
+ /* no bottom borders on rows */
|
|
|
+ border-bottom: 0 hidden transparent;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row:first-child table {
|
|
|
+ border-top: 0 hidden transparent; /* no top border on first row */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Day Row (used within the header and the DayGrid)
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-row {
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-bg {
|
|
|
+ z-index: 1;
|
|
|
+}
|
|
|
+
|
|
|
+/* highlighting cells */
|
|
|
+
|
|
|
+.fc-row .fc-highlight-skeleton {
|
|
|
+ z-index: 2;
|
|
|
+ bottom: 0; /* stretch skeleton to bottom of row */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-highlight-skeleton table {
|
|
|
+ height: 100%; /* stretch skeleton to bottom of row */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-highlight-skeleton td {
|
|
|
+ border-color: transparent;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+row content (which contains day/week numbers and events) as well as "helper" (which contains
|
|
|
+temporary rendered events).
|
|
|
+*/
|
|
|
+
|
|
|
+.fc-row .fc-content-skeleton {
|
|
|
+ position: relative;
|
|
|
+ z-index: 3;
|
|
|
+ padding-bottom: 1px; /* matches the space between events */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-helper-skeleton {
|
|
|
+ z-index: 4;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-content-skeleton td,
|
|
|
+.fc-row .fc-helper-skeleton td {
|
|
|
+ /* see-through to the background below */
|
|
|
+ background: none; /* in case <td>s are globally styled */
|
|
|
+ border-color: transparent;
|
|
|
+
|
|
|
+ /* don't put a border between events and/or the day number */
|
|
|
+ border-bottom: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-row .fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */
|
|
|
+.fc-row .fc-helper-skeleton tbody td {
|
|
|
+ /* don't put a border between event cells */
|
|
|
+ border-top: 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* Scrolling Container
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
|
|
|
+ overflow-y: scroll;
|
|
|
+ overflow-x: hidden;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-scroller > * { /* we expect an immediate inner element */
|
|
|
+ position: relative; /* re-scope all positions */
|
|
|
+ width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
|
|
|
+ overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
|
|
|
/* Global Event Styles
|
|
|
-------------------------------------------------------------------------*/
|
|
|
-
|
|
|
-.fc-event-container > * {
|
|
|
- z-index: 8;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-container > .ui-draggable-dragging,
|
|
|
-.fc-event-container > .ui-resizable-resizing {
|
|
|
- z-index: 9;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event {
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-event { /* always an <a> tag */
|
|
|
+ position: relative; /* for resize handle and other inner positioning */
|
|
|
+ display: block; /* make the <a> tag block */
|
|
|
border: 1px solid #3a87ad; /* default BORDER color */
|
|
|
background-color: #3a87ad; /* default BACKGROUND color */
|
|
|
color: #fff; /* default TEXT color */
|
|
|
font-size: .85em;
|
|
|
+ border-radius: 3px;
|
|
|
+ text-decoration: none; /* if it has an href */
|
|
|
cursor: default;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
-a.fc-event {
|
|
|
- text-decoration: none;
|
|
|
- }
|
|
|
-
|
|
|
-a.fc-event,
|
|
|
-.fc-event-draggable {
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-rtl .fc-event {
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
+.ui-widget .fc-event { /* undo jqui's styles on <a> tags */
|
|
|
+ color: #fff;
|
|
|
+ font-weight: normal;
|
|
|
+}
|
|
|
|
|
|
-.fc-event-inner {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
+.fc-event[href],
|
|
|
+.fc-event.fc-draggable {
|
|
|
+ cursor: pointer; /* give events with links and draggable events a hand mouse pointer */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* DayGrid events
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-day-grid .fc-event {
|
|
|
+ margin: 1px 1px 0; /* spacing between events and edges */
|
|
|
+}
|
|
|
+
|
|
|
+/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
|
|
|
+
|
|
|
+.fc-ltr .fc-day-grid .fc-event.fc-not-start,
|
|
|
+.fc-rtl .fc-day-grid .fc-event.fc-not-end {
|
|
|
+ margin-left: 0;
|
|
|
+ border-left-width: 0;
|
|
|
+ padding-left: 1px; /* replace the border with padding */
|
|
|
+ border-top-left-radius: 0;
|
|
|
+ border-bottom-left-radius: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-ltr .fc-day-grid .fc-event.fc-not-end,
|
|
|
+.fc-rtl .fc-day-grid .fc-event.fc-not-start {
|
|
|
+ margin-right: 0;
|
|
|
+ border-right-width: 0;
|
|
|
+ padding-right: 1px; /* replace the border with padding */
|
|
|
+ border-top-right-radius: 0;
|
|
|
+ border-bottom-right-radius: 0;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+The above event styles will not apply to events that are being dragged. Dragged events are attached
|
|
|
+to an outer parent not part of the .fc-view, thus we need the className "fc-day-grid-event".
|
|
|
+The below styles WILL be applied to dragged events.
|
|
|
+*/
|
|
|
+
|
|
|
+.fc-day-grid-event > .fc-content { /* force events to be one-line tall */
|
|
|
+ white-space: nowrap;
|
|
|
overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-time,
|
|
|
-.fc-event-title {
|
|
|
- padding: 0 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc .ui-resizable-handle {
|
|
|
- display: block;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-day-grid-event .fc-time {
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+/* resize handle (outside of fc-content, so can go outside of bounds) */
|
|
|
+
|
|
|
+.fc-day-grid-event .fc-resizer {
|
|
|
position: absolute;
|
|
|
- z-index: 99999;
|
|
|
- overflow: hidden; /* hacky spaces (IE6/7) */
|
|
|
- font-size: 300%; /* */
|
|
|
- line-height: 50%; /* */
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-/* Horizontal Events
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+ top: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 7px;
|
|
|
+}
|
|
|
|
|
|
-.fc-event-hori {
|
|
|
- border-width: 1px 0;
|
|
|
- margin-bottom: 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-ltr .fc-event-hori.fc-event-start,
|
|
|
-.fc-rtl .fc-event-hori.fc-event-end {
|
|
|
- border-left-width: 1px;
|
|
|
- border-top-left-radius: 3px;
|
|
|
- border-bottom-left-radius: 3px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-ltr .fc-event-hori.fc-event-end,
|
|
|
-.fc-rtl .fc-event-hori.fc-event-start {
|
|
|
- border-right-width: 1px;
|
|
|
- border-top-right-radius: 3px;
|
|
|
- border-bottom-right-radius: 3px;
|
|
|
- }
|
|
|
-
|
|
|
-/* resizable */
|
|
|
-
|
|
|
-.fc-event-hori .ui-resizable-e {
|
|
|
- top: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
|
|
- right: -3px !important;
|
|
|
- width: 7px !important;
|
|
|
- height: 100% !important;
|
|
|
+.fc-ltr .fc-day-grid-event .fc-resizer {
|
|
|
+ right: -3px;
|
|
|
cursor: e-resize;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-hori .ui-resizable-w {
|
|
|
- top: 0 !important;
|
|
|
- left: -3px !important;
|
|
|
- width: 7px !important;
|
|
|
- height: 100% !important;
|
|
|
- cursor: w-resize;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-hori .ui-resizable-handle {
|
|
|
- _padding-bottom: 14px; /* IE6 had 0 height */
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-/* Reusable Separate-border Table
|
|
|
-------------------------------------------------------------*/
|
|
|
+}
|
|
|
|
|
|
-table.fc-border-separate {
|
|
|
- border-collapse: separate;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-border-separate th,
|
|
|
-.fc-border-separate td {
|
|
|
- border-width: 1px 0 0 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-border-separate th.fc-last,
|
|
|
-.fc-border-separate td.fc-last {
|
|
|
- border-right-width: 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-border-separate tr.fc-last th,
|
|
|
-.fc-border-separate tr.fc-last td {
|
|
|
- border-bottom-width: 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-border-separate tbody tr.fc-first td,
|
|
|
-.fc-border-separate tbody tr.fc-first th {
|
|
|
- border-top-width: 0;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+.fc-rtl .fc-day-grid-event .fc-resizer {
|
|
|
+ left: -3px;
|
|
|
+ cursor: w-resize;
|
|
|
+}
|
|
|
|
|
|
-/* Month View, Basic Week View, Basic Day View
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+/* Toolbar
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
-.fc-grid th {
|
|
|
+.fc-toolbar {
|
|
|
text-align: center;
|
|
|
- }
|
|
|
+ margin-bottom: 1em;
|
|
|
+}
|
|
|
|
|
|
-.fc .fc-week-number {
|
|
|
- width: 22px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
+.fc-toolbar .fc-left {
|
|
|
+ float: left;
|
|
|
+}
|
|
|
|
|
|
-.fc .fc-week-number div {
|
|
|
- padding: 0 2px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-grid .fc-day-number {
|
|
|
+.fc-toolbar .fc-right {
|
|
|
float: right;
|
|
|
- padding: 0 2px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-grid .fc-other-month .fc-day-number {
|
|
|
- opacity: 0.3;
|
|
|
- filter: alpha(opacity=30); /* for IE */
|
|
|
- /* opacity with small font can sometimes look too faded
|
|
|
- might want to set the 'color' property instead
|
|
|
- making day-numbers bold also fixes the problem */
|
|
|
- }
|
|
|
-
|
|
|
-.fc-grid .fc-day-content {
|
|
|
- clear: both;
|
|
|
- padding: 2px 2px 1px; /* distance between events and day edges */
|
|
|
- }
|
|
|
-
|
|
|
-/* event styles */
|
|
|
-
|
|
|
-.fc-grid .fc-event-time {
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
-
|
|
|
-/* right-to-left */
|
|
|
-
|
|
|
-.fc-rtl .fc-grid .fc-day-number {
|
|
|
+}
|
|
|
+
|
|
|
+.fc-toolbar .fc-center {
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
+
|
|
|
+/* the things within each left/right/center section */
|
|
|
+.fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
|
|
|
float: left;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-rtl .fc-grid .fc-event-time {
|
|
|
- float: right;
|
|
|
- }
|
|
|
-
|
|
|
+ margin-left: .75em;
|
|
|
+}
|
|
|
+
|
|
|
+/* the first thing within each left/center/right section */
|
|
|
+.fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
|
|
|
+ margin-left: 0;
|
|
|
+}
|
|
|
|
|
|
+/* title text */
|
|
|
|
|
|
-/* Agenda Week View, Agenda Day View
|
|
|
-------------------------------------------------------------------------*/
|
|
|
+.fc-toolbar h2 {
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
|
|
|
-.fc-agenda table {
|
|
|
- border-collapse: separate;
|
|
|
- }
|
|
|
+/* button layering (for border precedence) */
|
|
|
+
|
|
|
+.fc-toolbar button {
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-toolbar .fc-state-hover,
|
|
|
+.fc-toolbar .ui-state-hover {
|
|
|
+ z-index: 2;
|
|
|
+}
|
|
|
|
|
|
-.fc-agenda-days th {
|
|
|
+.fc-toolbar .fc-state-down {
|
|
|
+ z-index: 3;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-toolbar .fc-state-active,
|
|
|
+.fc-toolbar .ui-state-active {
|
|
|
+ z-index: 4;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-toolbar button:focus {
|
|
|
+ z-index: 5;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* View Structure
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-view-container, /* scope positioning and z-index's for everything within the view */
|
|
|
+.fc-view > table { /* so dragged elements can be above the view's main element */
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+}
|
|
|
+
|
|
|
+/* BasicView
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+/* day row structure */
|
|
|
+
|
|
|
+.fc-basicWeek-view .fc-content-skeleton,
|
|
|
+.fc-basicDay-view .fc-content-skeleton {
|
|
|
+ /* in basicWeek and basicDay views, where we are sure there are no day numbers, ensure
|
|
|
+ a space at the bottom of the cell to allow for day selecting/clicking */
|
|
|
+ padding-bottom: 1em;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-basic-view tbody .fc-row {
|
|
|
+ min-height: 4em; /* ensure that all rows are at least this tall */
|
|
|
+}
|
|
|
+
|
|
|
+/* week and day number styling */
|
|
|
+
|
|
|
+.fc-basic-view .fc-week-number,
|
|
|
+.fc-basic-view .fc-day-number {
|
|
|
+ padding: 0 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-basic-view td.fc-week-number span,
|
|
|
+.fc-basic-view td.fc-day-number {
|
|
|
+ padding-top: 2px;
|
|
|
+ padding-bottom: 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-basic-view .fc-week-number {
|
|
|
text-align: center;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda .fc-agenda-axis {
|
|
|
- width: 50px;
|
|
|
- padding: 0 4px;
|
|
|
- vertical-align: middle;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-basic-view .fc-week-number span {
|
|
|
+ /* work around the way we do column resizing and ensure a minimum width */
|
|
|
+ display: inline-block;
|
|
|
+ min-width: 1.25em;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-ltr .fc-basic-view .fc-day-number {
|
|
|
text-align: right;
|
|
|
- font-weight: normal;
|
|
|
- }
|
|
|
+}
|
|
|
+
|
|
|
+.fc-rtl .fc-basic-view .fc-day-number {
|
|
|
+ text-align: left;
|
|
|
+}
|
|
|
+
|
|
|
+/* AgendaView all-day area
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-agenda-view tbody .fc-row {
|
|
|
+ min-height: 3em; /* all-day section will never get shorter than this */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-agenda-view tbody .fc-row .fc-content-skeleton {
|
|
|
+ padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
-.fc-agenda-slots .fc-agenda-axis {
|
|
|
+/* TimeGrid axis running down the side (for both the all-day area and the slot area)
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc .fc-axis { /* .fc to overcome default cell styles */
|
|
|
+ vertical-align: middle;
|
|
|
+ padding: 0 4px;
|
|
|
white-space: nowrap;
|
|
|
- }
|
|
|
+}
|
|
|
|
|
|
-.fc-agenda .fc-week-number {
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda .fc-day-content {
|
|
|
- padding: 2px 2px 1px;
|
|
|
- }
|
|
|
-
|
|
|
-/* make axis border take precedence */
|
|
|
-
|
|
|
-.fc-agenda-days .fc-agenda-axis {
|
|
|
- border-right-width: 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-days .fc-col0 {
|
|
|
- border-left-width: 0;
|
|
|
- }
|
|
|
-
|
|
|
-/* all-day area */
|
|
|
-
|
|
|
-.fc-agenda-allday th {
|
|
|
- border-width: 0 1px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-allday .fc-day-content {
|
|
|
- min-height: 34px; /* TODO: doesnt work well in quirksmode */
|
|
|
- _height: 34px;
|
|
|
- }
|
|
|
-
|
|
|
-/* divider (between all-day and slots) */
|
|
|
-
|
|
|
-.fc-agenda-divider-inner {
|
|
|
- height: 2px;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-widget-header .fc-agenda-divider-inner {
|
|
|
- background: #eee;
|
|
|
- }
|
|
|
-
|
|
|
-/* slot rows */
|
|
|
-
|
|
|
-.fc-agenda-slots th {
|
|
|
- border-width: 1px 1px 0;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-slots td {
|
|
|
- border-width: 1px 0 0;
|
|
|
- background: none;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-slots td div {
|
|
|
- height: 20px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-slots tr.fc-slot0 th,
|
|
|
-.fc-agenda-slots tr.fc-slot0 td {
|
|
|
- border-top-width: 0;
|
|
|
- }
|
|
|
+.fc-ltr .fc-axis {
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
|
|
|
-.fc-agenda-slots tr.fc-minor th,
|
|
|
-.fc-agenda-slots tr.fc-minor td {
|
|
|
- border-top-style: dotted;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda-slots tr.fc-minor th.ui-widget-header {
|
|
|
- *border-top-style: solid; /* doesn't work with background in IE6/7 */
|
|
|
- }
|
|
|
-
|
|
|
+.fc-rtl .fc-axis {
|
|
|
+ text-align: left;
|
|
|
+}
|
|
|
|
|
|
+.ui-widget td.fc-axis {
|
|
|
+ font-weight: normal; /* overcome jqui theme making it bold */
|
|
|
+}
|
|
|
|
|
|
-/* Vertical Events
|
|
|
-------------------------------------------------------------------------*/
|
|
|
|
|
|
-.fc-event-vert {
|
|
|
- border-width: 0 1px;
|
|
|
- }
|
|
|
+/* TimeGrid Structure
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
-.fc-event-vert.fc-event-start {
|
|
|
- border-top-width: 1px;
|
|
|
- border-top-left-radius: 3px;
|
|
|
- border-top-right-radius: 3px;
|
|
|
- }
|
|
|
+.fc-time-grid {
|
|
|
+ position: relative; /* so slats/bg/content/etc positions get scoped within here */
|
|
|
+ min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
|
|
|
+}
|
|
|
|
|
|
-.fc-event-vert.fc-event-end {
|
|
|
- border-bottom-width: 1px;
|
|
|
- border-bottom-left-radius: 3px;
|
|
|
- border-bottom-right-radius: 3px;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-vert .fc-event-time {
|
|
|
- white-space: nowrap;
|
|
|
- font-size: 10px;
|
|
|
- }
|
|
|
+.fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
|
|
|
+ border: 0 hidden transparent;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid > .fc-bg {
|
|
|
+ z-index: 1;
|
|
|
+}
|
|
|
|
|
|
-.fc-event-vert .fc-event-inner {
|
|
|
+.fc-time-grid .fc-slats,
|
|
|
+.fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
|
|
|
position: relative;
|
|
|
z-index: 2;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid .fc-highlight-skeleton {
|
|
|
+ z-index: 3;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid .fc-content-skeleton {
|
|
|
position: absolute;
|
|
|
- z-index: 1;
|
|
|
+ z-index: 4;
|
|
|
top: 0;
|
|
|
left: 0;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
+ right: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid > .fc-helper-skeleton {
|
|
|
+ z-index: 5;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* TimeGrid Slats (lines that run horizontally)
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-slats td {
|
|
|
+ height: 1.5em;
|
|
|
+ border-bottom: 0; /* each cell is responsible for its top border */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-slats .fc-minor td {
|
|
|
+ border-top-style: dotted;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-slats .ui-widget-content { /* for jqui theme */
|
|
|
+ background: none; /* see through to fc-bg */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* TimeGrid Highlighting Slots
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
|
|
|
+ position: relative; /* scopes the left/right of the fc-highlight to be in the column */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid .fc-highlight {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ /* top and bottom will be in by JS */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* TimeGrid Event Containment
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-time-grid .fc-event-container { /* a div within a cell within the fc-content-skeleton */
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
|
|
|
+ margin: 0 2.5% 0 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
|
|
|
+ margin: 0 2px 0 2.5%;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid .fc-event {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 1; /* scope inner z-index's */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* TimeGrid Event Styling
|
|
|
+--------------------------------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+.fc-time-grid .fc-event.fc-not-start { /* events that are continuing from another day */
|
|
|
+ /* replace space made by the top border with padding */
|
|
|
+ border-top-width: 0;
|
|
|
+ padding-top: 1px;
|
|
|
+
|
|
|
+ /* remove top rounded corners */
|
|
|
+ border-top-left-radius: 0;
|
|
|
+ border-top-right-radius: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid .fc-event.fc-not-end {
|
|
|
+ /* replace space made by the top border with padding */
|
|
|
+ border-bottom-width: 0;
|
|
|
+ padding-bottom: 1px;
|
|
|
+
|
|
|
+ /* remove bottom rounded corners */
|
|
|
+ border-bottom-left-radius: 0;
|
|
|
+ border-bottom-right-radius: 0;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+The above event styles will not apply to events that are being dragged. Dragged events are attached
|
|
|
+to an outer parent not part of the .fc-view, thus we need the className "fc-time-grid-event".
|
|
|
+The below styles WILL be applied to dragged events.
|
|
|
+*/
|
|
|
+
|
|
|
+.fc-time-grid-event {
|
|
|
+ overflow: hidden; /* don't let the bg flow over rounded corners */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid-event > .fc-content { /* contains the time and title, but no bg and resizer */
|
|
|
+ position: relative;
|
|
|
+ z-index: 2; /* above the bg */
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid-event .fc-time {
|
|
|
+ font-size: .85em;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid-event .fc-bg {
|
|
|
+ z-index: 1;
|
|
|
background: #fff;
|
|
|
opacity: .25;
|
|
|
- filter: alpha(opacity=25);
|
|
|
- }
|
|
|
-
|
|
|
-.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
|
|
|
-.fc-select-helper .fc-event-bg {
|
|
|
- display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */
|
|
|
- }
|
|
|
-
|
|
|
-/* resizable */
|
|
|
-
|
|
|
-.fc-event-vert .ui-resizable-s {
|
|
|
- bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
|
|
- width: 100% !important;
|
|
|
- height: 8px !important;
|
|
|
- overflow: hidden !important;
|
|
|
- line-height: 8px !important;
|
|
|
- font-size: 11px !important;
|
|
|
+ filter: alpha(opacity=25); /* for IE */
|
|
|
+}
|
|
|
+
|
|
|
+/* resizer */
|
|
|
+
|
|
|
+.fc-time-grid-event .fc-resizer {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 3; /* above content */
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ height: 8px;
|
|
|
+ overflow: hidden;
|
|
|
+ line-height: 8px;
|
|
|
+ font-size: 11px;
|
|
|
font-family: monospace;
|
|
|
text-align: center;
|
|
|
cursor: s-resize;
|
|
|
- }
|
|
|
-
|
|
|
-.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
|
|
|
- _overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+}
|
|
|
+
|
|
|
+.fc-time-grid-event .fc-resizer:after {
|
|
|
+ content: "=";
|
|
|
+}
|