/*!
 * FullCalendar Combined CSS
 * Base: FullCalendar 3.x functionality
 * Override: FullCalendar 2.0.0 visual styling
 * This approach ensures compatibility while preserving original appearance
 */

/* Import FullCalendar 3.x base styles for functionality */
@import url('../node_modules/fullcalendar/dist/fullcalendar.css');

/* =============================================================================
   FullCalendar 2.0.0 Visual Overrides
   ============================================================================= */
/* Force original today cell styling to override FullCalendar 3.x */
.fc-unthemed td.fc-today,
.fc-state-highlight,
td.fc-today,
.fc-today {
    background: #1aaaa6 !important;
    color: #fff !important;
}

.fc-widget-header {
    background: #1e615f;
    background-image: -moz-linear-gradient(top, #168986, #1e615f);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#168986), to(#1e615f));
    background-image: -webkit-linear-gradient(top, #168986, #1e615f);
    background-image: -o-linear-gradient(top, #168986, #1e615f);
    background-image: linear-gradient(to bottom, #168986, #1e615f);
    color: #fff;
}

/* Time axis - apply gradient to all axis cells (time column) */
.fc-axis.fc-widget-header,
.fc-axis.fc-widget-content,
.fc-agenda-axis {
    width: 50px !important;
    padding: 0 4px !important;
    background: #1e615f !important;
    background-image: -moz-linear-gradient(top, #168986, #1e615f) !important;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#168986), to(#1e615f)) !important;
    background-image: -webkit-linear-gradient(top, #168986, #1e615f) !important;
    background-image: -o-linear-gradient(top, #168986, #1e615f) !important;
    background-image: linear-gradient(to bottom, #168986, #1e615f) !important;
    color: #fff !important;
    z-index: 100 !important;
}

/* Day headers - apply gradient to all day headers including today */
.fc-day-header {
    background: #1e615f !important;
    background-image: -moz-linear-gradient(top, #168986, #1e615f) !important;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#168986), to(#1e615f)) !important;
    background-image: -webkit-linear-gradient(top, #168986, #1e615f) !important;
    background-image: -o-linear-gradient(top, #168986, #1e615f) !important;
    background-image: linear-gradient(to bottom, #168986, #1e615f) !important;
    color: #fff !important;
}

/* Time slot borders - black gaps between time listings */
.fc-time-grid .fc-slats td {
    border-color: #000 !important;
}

/* All day area background */
.fc-agenda-view .fc-day-grid .fc-row {
    background: #1e615f;
    background-image: -moz-linear-gradient(top, #168986, #1e615f);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#168986), to(#1e615f));
    background-image: -webkit-linear-gradient(top, #168986, #1e615f);
    background-image: -o-linear-gradient(top, #168986, #1e615f);
    background-image: linear-gradient(to bottom, #168986, #1e615f);
    color: #fff !important;
}

.fc-agenda-view .fc-day-grid .fc-bg {
    background: #fff !important;
}

.fc-agenda-view .fc-day-grid .fc-day-header,
.fc-agenda-view .fc-day-grid th,
.fc-agenda-view .fc-day-grid td {
    color: #fff !important;
}

/* Today's date axis gradient */
.fc-today .fc-axis.fc-time.fc-widget-content {
    background: #1aaaa6 !important;
    background-image: none !important;
}

/* =============================================================================
   Button Styles - FullCalendar 2.0.0 Customization
   ============================================================================= */

.fc-button {
    position: relative;
    display: inline-block;
    padding: 0 .6em;
    overflow: hidden;
    height: 1.9em;
    line-height: 1.9em;
    white-space: nowrap;
    cursor: pointer;
    text-shadow: none !important;
}

.fc-state-default { /* non-theme */
    border: 1px solid;
    background-color: #e3efef !important;
    background-image: none !important;
    border-color: #2c6a46;
    color: #2c6a46;
    text-shadow: none !important;
}

.fc-state-default.fc-corner-left { /* non-theme */
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

.fc-state-default.fc-corner-right { /* non-theme */
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

/* Button icons - prev/next arrows using HTML entities */
.fc-button .fc-icon {
    margin: 0 .1em;
    font-size: 1em;
    font-family: "Courier New", Courier, monospace;
    vertical-align: baseline;
}

.fc-icon-left-single-arrow:after {
    content: "\02039";
    font-weight: bold;
}

.fc-icon-right-single-arrow:after {
    content: "\0203A";
    font-weight: bold;
}

.fc-icon-right-double-arrow, .fc-icon-left-double-arrow {
    font-size:1.3em !important;
}

.fc-icon-left-double-arrow:after {
    content: "\000AB";
}

.fc-icon-right-double-arrow:after {
    content: "\000BB";
}

/* jQuery UI icon support */
.fc-button .ui-icon {
    position: relative;
    top: 50%;
    float: left;
    margin-top: -8px;
}

/* Button states */
.fc-state-hover {
    background: #b8f1d1 !important;
    background-image: none !important;
    color: #2c6a46;
    text-decoration: none;
    text-shadow: none !important;
}

.fc-state-down,
.fc-state-active {
    color: #fff !important;
    background-color: #98d2d0 !important;
    background-image: -moz-linear-gradient(top, #6B977D, #2c6a46) !important;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6B977D), to(#2c6a46)) !important;
    background-image: -webkit-linear-gradient(top, #6B977D, #2c6a46) !important;
    background-image: -o-linear-gradient(top, #6B977D, #2c6a46) !important;
    background-image: linear-gradient(to bottom, #6B977D, #2c6a46) !important;
    outline: 0;
    text-shadow: none !important;
}

.fc-state-disabled {
    color: #2c6a46;
    background-color: #e3efef !important;
    background-image: none !important;
    cursor: default;
    opacity: 0.65;
    text-shadow: none !important;
}

/* 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 {
	border: 1px solid #3a87ad; /* default BORDER color */
	background-color: #3a87ad; /* default BACKGROUND color */
	color: #fff;               /* default TEXT color */
	font-size: 1em;
	cursor: default;
	}

a.fc-event {
	text-decoration: none;
	}
	
a.fc-event,
.fc-event-draggable {
	cursor: pointer;
	}
	
.fc-rtl .fc-event {
	text-align: right;
	}

.fc-event-inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
	}
	
.fc-event-time,
.fc-event-title {
	padding: 0 1px;
	}
	
.fc .ui-resizable-handle {
	display: block;
	position: absolute;
	z-index: 99999;
	overflow: hidden; /* hacky spaces (IE6/7) */
	font-size: 300%;  /* */
	line-height: 50%; /* */
	}
	
	
	
/* Horizontal Events
------------------------------------------------------------------------*/

.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;
	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 */
	}
	
/* Fix event container alignment to prevent overlap with time axis */
.fc-ltr .fc-time-grid .fc-event-container {
	margin-left: 0 !important;
}

.fc-time-grid-event.fc-v-event {
	left: 14px !important;
}

/* Ensure day-grid events (all-day area) are properly contained */
/* Events that start on the current day */
.fc-agendaWeek-view .fc-day-grid .fc-day-grid-event.fc-start {
    margin-left: 10px !important;
    margin-right: 0 !important;
}
.fc-agendaDay-view .fc-day-grid .fc-day-grid-event.fc-start {
    margin-left: 19px !important;
    margin-right: 0 !important;
}

/* Events that continue from a previous day */
.fc-agendaWeek-view .fc-day-grid .fc-day-grid-event.fc-not-start {
    margin-left: 19px !important;
    margin-right: 0 !important;
}
.fc-agendaDay-view .fc-day-grid .fc-day-grid-event.fc-not-start {
    margin-left: 19px !important;
    margin-right: 0 !important;
}
.fc-agenda-view .fc-day-grid .fc-row {
    border-bottom: 1px solid #000;
}
/* Allow full event title display with text wrapping in all-day area */
.fc-day-grid-event .fc-content {
    white-space: normal !important;
    overflow: visible !important;
}

.fc-day-grid-event .fc-title {
    white-space: normal !important;
    overflow: visible !important;
}

.fc-day-grid-event {
    white-space: normal !important;
    overflow: visible !important;
    height: auto !important;
}


/* Vertical Events
------------------------------------------------------------------------*/

.fc-event-vert {
	border-width: 0 1px;
	}

.fc-event-vert.fc-event-start {
	border-top-width: 1px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	}

.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-event-vert .fc-event-inner {
	position: relative;
	z-index: 2;
	}
	
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay  */
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	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;
	font-family: monospace;
	text-align: center;
	cursor: s-resize;
	}
	
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
	_overflow: hidden;
}

.fc-toolbar.fc-header-toolbar {
    margin-bottom: 0em;
    margin-top: 0.2em;
}
	
