/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is Calendar view code.
 *
 * The Initial Developer of the Original Code is
 *  Oracle Corporation
 * Portions created by the Initial Developer are Copyright (C) 2005
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *   Vladimir Vukicevic <vladimir@pobox.com>
 *   Joey Minta <jminta@gmail.com>
 *   Michiel van Leeuwen <mvl@exedo.nl>
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */

/* Multiday view */
calendar-event-column {
  background: #FFFFFF;
}

calendar-event-column[orient="horizontal"] {
  border-top: 1px solid #3F7D91;
}
calendar-event-column[orient="vertical"] {
  border-left: 1px solid #3F7D91;
}

calendar-header-container {
  background: #FFFFFF;
  border-left: 1px solid #3F7D91;
  border-top: 1px solid #3F7D91;
}

calendar-header-container[weekend="true"],
.calendar-event-column-linebox[weekend="true"],
.calendar-event-column-linebox[off-time="true"] {
  background: #f4f4f4;
}

calendar-header-container[today="true"],
.calendar-event-column-linebox[today="true"] {
  background: #dfeaf4;
}

calendar-header-container[selected="true"],
.calendar-event-column-linebox[selected="true"] {
  background: #ffe79c;
}

calendar-header-container[weekend="true"][today="true"],
.calendar-event-column-linebox[weekend="true"][today="true"],
.calendar-event-column-linebox[off-time="true"][today="true"] {
  background: #d6dfe9;
}

calendar-header-container[weekend="true"][selected="true"],
.calendar-event-column-linebox[weekend="true"][selected="true"],
.calendar-event-column-linebox[off-time="true"][selected="true"] {
  background: #f5dd92;
}

.calendar-event-column-linebox[orient="horizontal"] {
  border-right: 1px solid #3F7D91;
}
.calendar-event-column-linebox[orient="vertical"] {
  border-bottom: 1px solid #3F7D91;
}

/* Make sure the box for day-labels appears to end before the scrollbar. */
.calendar-label-day-box[orient="horizontal"] {
  border-right: 1px solid #3F7D91;
}
.calendar-label-day-box[orient="vertical"] {
  border-bottom: 1px solid #3F7D91;
}

/* Make sure we extend the bold line separating scrollable and non-scrollable
   areas over the timebar. */
.calendar-header-time-spacer[orient="horizontal"] {
  border-bottom: 2px solid #3F7D91;
}
.calendar-header-time-spacer[orient="vertical"] {
  border-right: 2px solid #3F7D91;
}

/* Bold the line separating all-day events from scrollable area. */
.calendar-header-day-box[orient="horizontal"] {
  border-bottom: 2px solid #3F7D91;
  border-right: 1px solid #3F7D91;
}
.calendar-header-day-box[orient="vertical"] {
  border-bottom: 1px solid #3F7D91;
  border-right: 2px solid #3F7D91;
}

/* Make sure to have a border between the edge of the views and the scrollbar. */
.calendar-day-box[orient="horizontal"] {
  border-right: 1px solid #3F7D91;
}
.calendar-day-box[orient="vertical"] {
  border-bottom: 1px solid #3F7D91;
}

.fgdragbox {
  -moz-box-orient: inherit;
  display: none;
}

.fgdragbox[dragging="true"] {
  display: -moz-box;
  background: blue;
  opacity: 0.5;
}

.fgdragcontainer {
  -moz-box-orient: inherit;
  display: none;
}

.fgdragcontainer[dragging="true"] {
  display: -moz-box;
  /* This is a workaround for a stack bug and display: hidden in underlying
   * elements -- the display: hidden bits get misrendered as being on top.
   * Setting an opacity here forces a view to be created for this element, too.
   */
  opacity: 0.9999;
}

.fgdragbox-label {
  font-weight: bold;
  overflow: hidden;
}

.calendar-event-box-container {
  padding: 0;
  overflow: hidden;
}

.calendar-event-box-container[parentorient="vertical"] {
  margin: 2px;
}

.calendar-event-box-container[parentorient="horizontal"] {
  margin: 2px;
}

.event-frame {
  margin: 2px;
}

.calendar-event-details {
  padding-left: 2px;
}

textbox.editable-label { 
  font-size: x-small;
  background: transparent !important;
  border: none;
  padding: 0px;
  -moz-appearance: none;
}

calendar-event-box[selected="true"] .calendar-event-selection {
  color: #000000 !important;
  background: #ffdb67 !important;
}

calendar-event-gripbar { 
  -moz-box-align: center;
  -moz-box-pack: center;
  min-height: 4px;
  min-width: 4px;
}

calendar-event-gripbar[parentorient="vertical"] {
  -moz-box-align: center;
  -moz-box-pack: center;
  cursor: n-resize;
}

calendar-event-gripbar[parentorient="horizontal"] {
  -moz-box-align: center;
  -moz-box-pack: center;
  cursor: e-resize;
}

/* headers horizontal, times vertical */
box[anonid="labelbox"][orient="horizontal"] {
  height: 30px;
}
box[anonid="headerbox"][orient="horizontal"] {
  height: 50px;
}
box[anonid="labelbox"][orient="horizontal"] > box[anonid="labeltimespacer"],
box[anonid="headertimespacer"][orient="horizontal"],
calendar-time-bar[anonid="timebar"][orient="vertical"] {
  width: 100px;
}

/* headers vertical, times horizonal */
box[anonid="labelbox"][orient="vertical"] {
  width: 30px;
}
box[anonid="headerbox"][orient="vertical"] {
  width: 60px;
}
box[anonid="labelbox"][orient="vertical"] > box[anonid="labeltimespacer"],
box[anonid="headertimespacer"][orient="vertical"],
calendar-time-bar[anonid="timebar"][orient="horizontal"] {
  height: 40px;
}

.calendar-time-bar-label { 
  font-weight: bold;
}

.calendar-time-bar-box-odd,
.calendar-time-bar-box-even {
  color: #3F7D91;
  background: #E7EEEC;
  text-align: right;
  overflow: hidden;
}

.calendar-time-bar-box-odd[orient="horizontal"],
.calendar-time-bar-box-even[orient="horizontal"] {
  border-top: 1px solid #3F7D91;
  border-right: 1px solid #3F7D91;
}

.calendar-time-bar-box-odd[orient="vertical"],
.calendar-time-bar-box-even[orient="vertical"] {
  border-bottom: 1px solid #3F7D91;
  border-left: 1px solid #3F7D91;
}

calendar-multiday-view {
  background: #FFFFFF;
  padding: 2px;
}

calendar-multiday-view[hidden="true"] { 
  display: none;
}

.calendar-day-label-box { 
  color: #3F7D91;
  background: #E7EEEC;
  border-top: 1px solid #3F7D91;
  border-left: 1px solid #3F7D91;
}

.calendar-day-label-date {
  font-weight: bold;
  text-align: center;
}

.calendar-day-label-name {
  font-weight: bold;
  font-size: large;
  text-align: center;
}

/* Month View */
calendar-month-view {
  background: #FFFFFF;
  padding: 2px;
}

.calendar-month-view-grid-column {
  min-width: 1px;
  width: 1px;
}

.calendar-month-view-grid-row {
  min-height: 1px;
  height: 1px;
}

calendar-month-day-box { 
  border: 1px solid #3F7D91;
  overflow-x: hidden;
  overflow-y: auto;
}

.calendar-month-day-box-current-month {
  background: #FFFFFF;
}

.calendar-month-day-box-day-off {
  background: #FFF9E7;
}

.calendar-month-day-box-other-month {
  background: #E7EEEC;
}

.calendar-month-day-box-current-month[today="true"],
.calendar-month-day-box-day-off[today="true"],
.calendar-month-day-box-other-month[today="true"] {
  background: #dfeaf4;
  border: 2px solid #1D7AB5 !important;
}

.calendar-month-day-box-current-month[selected="true"],
.calendar-month-day-box-day-off[selected="true"],
.calendar-month-day-box-other-month[selected="true"] {
  background: #ffe79c;
  border: 1px solid #1D7AB5;
}

.calendar-month-day-box-date-label { 
  color: #3F7D91;;
  font-weight: bold;
  margin-bottom: 0px;
  margin-top: 0px;
}

calendar-month-day-box-item { 
  margin: 1px;
  padding: 0px 1px 0px 1px;
}

calendar-month-day-box-item[selected="true"] .calendar-event-selection {
  color: #000000 !important;
  background: #ffdb67 !important;
}

.calendar-month-day-box-item-label {
  padding: 0px;
  margin: 0px;
}

.calendar-month-day-box-item-label[time="true"] {
  margin-right: 8px;
}

calendar-month-view-column-header {
  color: #3F7D91;
  background: #E7EEEC;
  font-weight:bold;
  border-left: 1px solid #3F7D91;
  border-right: 1px solid #3F7D91;
  border-top: 1px solid #3F7D91;
  /* Allow overflow so long localized weekday names don't prevent narrow view */
  overflow-x: hidden;
}

.calendar-month-view-column-header-label {
  font-weight: bold;
  /* Override label margins to use full box width, for long localized weekday
     names or for narrow screens. */
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding: 3px 1px;
}

calendar-editable-item[selected="true"] .calendar-event-selection {
  color: #000000 !important;
  background: #ffdb67 !important;
}

box[dropbox="true"] { 
  background: blue !important;
  height: 1.2em;
  margin: 1px;
  padding: 0px 1px 0px 1px;
  opacity: 0.5;
}

.calendar-event-box-gradient {
  list-style-image: url("chrome://calendar/skin/gradient-overlay.png");
}

.calendar-event-box-shadow-right {
  list-style-image: url("chrome://calendar/skin/shadow-right.png");
}

.calendar-event-box-shadow-left {
  list-style-image: url("chrome://calendar/skin/shadow-left.png");
}

.calendar-event-box-shadow-edge-right {
  list-style-image: url("chrome://calendar/skin/shadow-edge-right.png");
}

.calendar-event-box-shadow-edge-left {
  list-style-image: url("chrome://calendar/skin/shadow-edge-left.png");
}

.calendar-event-box-shadow-bottom {
  list-style-image: url("chrome://calendar/skin/shadow-bottom.png");
}

calendar-event-box[orient="vertical"]:hover .calendar-event-box-grippy-top {
  list-style-image: url("chrome://calendar/skin/event-grippy-top.png");
}

calendar-event-box[orient="vertical"]:hover .calendar-event-box-grippy-bottom {
  list-style-image: url("chrome://calendar/skin/event-grippy-bottom.png");
}

calendar-event-box[orient="horizontal"]:hover .calendar-event-box-grippy-top {
  list-style-image: url("chrome://calendar/skin/event-grippy-left.png");
}

calendar-event-box[orient="horizontal"]:hover .calendar-event-box-grippy-bottom {
  list-style-image: url("chrome://calendar/skin/event-grippy-right.png");
}
