/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

/**********************************************************************************
 * Wrapper 
 **********************************************************************************/

.ff-calendar-wrapper 							{ position:relative; }

/**********************************************************************************
 * Calendar 
 **********************************************************************************/

BODY .ff-calendar 								{ font-size:12px; }
.ff-calendar TABLE 								{ margin:0; }
.ff-calendar .fc-toolbar .fc-center 			{ display:block; }
.ff-calendar .fc-toolbar .fc-left,
.ff-calendar .fc-toolbar .fc-right 				{ margin-bottom:10px; }
.ff-calendar .fc-toolbar H2 					{ margin:10px 0 0; }

/* toolbar */
.ff-calendar .fc-toolbar H2 					{ display:block; width:100%;
    											  text-align:left; }

/* Loading */
.ff-calendar-loading 							{ position:absolute; top:0; bottom:0; left:0; right:0; z-index:5; 
												  background-color:rgba(255,255,255,0.85);
												  color:#000; font-size:100%; text-align:center; 
												  display:flex; flex-direction:column; align-items:center; justify-content:center; }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.ff-calendar .fc-toolbar .fc-left,
	.ff-calendar .fc-toolbar .fc-right 				{ margin-bottom:0; }
}


/**********************************************************************************
 * Events 
 **********************************************************************************/

.ff-calendar .fc-event,
.ff-calendar .fc-list-item-title A 				{ cursor:pointer; }
.ff-calendar .fc-event 							{ border:0; padding:2px 3px; 
												  background:#FFF;
												  color:#333; font-size:12px; box-shadow:none; }
.ff-calendar .fc-event:hover					{ border:0;
												  color:#000; cursor:pointer; }

/* Event Details */
.ff-calendar-details 							{ padding:0; }

/**********************************************************************************
 * Widget 
 **********************************************************************************/
.ff-calendar-widget .widget-title				{ position: relative; }
.ff-calendar-widget .widget-title .widget-url	{ position: absolute; bottom: 0; right: 0; 
												  font-size: .75em; font-weight: normal; }

/********************************************************************************** 
 * Modal windows 
 **********************************************************************************/

.ff-calendar-modal 								{ padding:0; border-radius:0; position:fixed; top:0; left:0; bottom:0; right:0; z-index:9999999;
												  background:rgba(0,0,0,0.5); 
												  visibility:hidden; }
.ff-calendar-modal * 							{ box-sizing:border-box; }

.ff-calendar-modal-inner 						{ position:absolute; top:25vh; left:20vw; min-height:50vh; width:60vw;
												  background:#FFF; }
.ff-calendar-modal .ff-calendar-modal-header 	{ position:relative; padding:15px 50px 15px 30px; min-height:55px;
												  background:#000;
												  color:#FFF; }
.ff-calendar-modal .ff-calendar-modal-header H2 { margin:0; padding:0; line-height:normal; 
												  font-size:20px; color:#FFF; }
.ff-calendar-modal .ff-calendar-modal-close 	{ position:absolute; top:5px; right:15px; line-height:1.8em;
												  font-size:26px; cursor:pointer; text-align:center; color:#FFF; }

.ff-calendar-modal .ff-calendar-modal-html 						{ background:#FFF;
																  font-size:16px; line-height:normal; }
.ff-calendar-modal .ff-calendar-modal-html I + SPAN				{ padding-left:20px; }

/* content */
.ff-calendar-modal .ff-calendar-modal-content 					{ padding:20px 30px; }
.ff-calendar-modal .ff-calendar-modal-content > DIV,
.ff-calendar-modal .ff-calendar-modal-content > P 	 			{ margin-bottom:10px; }

.ff-calendar-modal .ff-calendar-modal-content .date:before,
.ff-calendar-modal .ff-calendar-modal-content .time:before,
.ff-calendar-modal .ff-calendar-modal-content .location:before 	{ font-family:'FontAwesome'; width:20px; display:inline-block; margin-right:10px;
																  text-align:center; }
.ff-calendar-modal .ff-calendar-modal-content .date:before 		{ content:'\f073'; }
.ff-calendar-modal .ff-calendar-modal-content .time:before 		{ content:'\f017'; }
.ff-calendar-modal .ff-calendar-modal-content .location:before 	{ content:'\f041'; }

.ff-calendar-modal .ff-calendar-modal-content INPUT[type=checkbox],
.ff-calendar-modal .ff-calendar-modal-content INPUT[type=checkbox] + LABEL
																{ cursor:pointer; }	
.ff-calendar-modal .ff-calendar-modal-content INPUT[type=checkbox] + LABEL		
																{ padding-left:8px; }		
																

/* visiblity and transitions */
.ff-calendar-modal 								{ visibility:hidden; }
.ff-calendar-modal--show 						{ visibility:visible; }

.ff-calendar-modal--transition 					{ transform:scale(0.7); -webkit-transform:scale(0.7); -moz-transform:scale(0.7); -ms-transform:scale(0.7);
												  transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
												  opacity:0; }

.ff-calendar-modal--show .ff-calendar-modal--transition 
												{ transform:scale(1); -webkit-transform:scale(1); -moz-transform:scale(1); -ms-transform:scale(1);
												  opacity:1; }

/*================================================================================================*/
/* Mobile Modal */
@media (max-width:48rem) {
	.ff-calendar-modal-inner 					{ top:0; left:0; bottom:0; width:100%; margin:0; }
	.ff-calendar-modal--transition 				{ transform:translateX(-0) translateY(150%); -webkit-transform:translateX(-0) translateY(150%); -moz-transform:translateX(-0) translateY(150%); -ms-transform:translateX(-0) translateY(150%); }
}

/**********************************************************************************
 * Month view 
 **********************************************************************************/

.fc-month-view .fc-all-day 						{ background:#333;
												  color:#FFF; }
.fc-month-view .fc-all-day:hover 				{ background:#000; 
												  color:#FFF; }

/**********************************************************************************
 * List view 
 **********************************************************************************/

.fc-list-view .fc-list-item  					{ cursor:pointer; }
.fc-list-view .fc-list-item-marker 				{ display:none; }
.fc-listMonth-view .fc-scroller					{ height: auto !important; }

/**********************************************************************************
 * Upcoming (custom) view 
 **********************************************************************************/

.fc-view-container .fc-upcoming-view *,
.fc-view-container .fc-upcoming-view *:after,
.fc-view-container .fc-upcoming-view *:before 	{ box-sizing:border-box; }

.fc-upcoming-view 								{ font-size:14px; }
.fc-upcoming-view .fc-list-table				{ display:table; width:100%; border-spacing:0; border-collapse:collapse; }
.fc-upcoming-view .fc-upcoming-row				{ display:table-row; border-bottom:20px solid transparent; }
.fc-upcoming-view .fc-list-heading 				{ display:table-cell; width:1px; /* small width to match date boxes */ }
.fc-upcoming-view .fc-upcoming-col				{ display:table-cell; vertical-align:top; }

/* date */
.fc-upcoming-view .fc-list-heading-main			{ float:none; }
.fc-upcoming-view .fc-upcoming-date				{ display:table; width:50px; margin:0 10px 10px 0; 
												  text-align:center; }
.fc-upcoming-view .fc-upcoming-day				{ border:1px solid #333; border-top:0; padding:4px 0; 
												  font-size:18px; line-height:normal; }
.fc-upcoming-view .fc-upcoming-month			{ display:table-header-group;
												  background:#F04D4D;
												  color:#FFF; font-size:12px; line-height:normal; }
/*.fc-upcoming-view .fc-upcoming-year				{ font-size:12px; line-height:normal; }*/

/* events */
.fc-upcoming-view .fc-list-item 				{ padding:0 5px 5px; border-bottom:1px solid #EEE;
												  cursor:pointer; }
.fc-upcoming-view .fc-list-item:hover			{ background:#EEE; }
.fc-upcoming-view .fc-list-item-time 			{ width:auto; }
.fc-upcoming-view .fc-list-item-time:before		{ padding-right:5px; 
												  content:'\f017'; font-family:FontAwesome; }