.calendar
{
	position:					relative;
	overflow:					hidden;
	text-transform:				capitalize;
	text-align:					center;
	font:						15px/1em inherit;
	color:						#545A5C;
}

.calendar a
{
	text-decoration:			none;
	color:						inherit;
}

.calendar header .btn
{
	display:					inline-block;
	position:					absolute;
	width:						30px;
	height:						30px;
	text-align:					center;
	line-height:				30px;
	color:						#CBD1D2;
	border-radius:				50%;
	border:						2px solid #CBD1D2;
}

.calendar header .btn:hover
{
	background:					#CBD1D2;
	color:						white;
}

.calendar header .btn:before
{
	content:					'';
	position:					absolute;
	top:						9px;
	left:						8px;
	width:						8px;
	height:						8px;
	border-style:				solid;
	border-width:				3px 3px 0 0;
	transform:					rotate(45deg);
	transform-origin:			center center;
}

.calendar header .btn-prev
{
	top:						0;
	left:						0;
	transform:					rotate(-180deg);
}

.calendar header .btn-next
{
	top:						0;
	right:						0;
}

.calendar header .btn-next:before
{
	transform:					rotate(45deg);
}

.calendar header .month
{
	padding:					0;
	margin:						0;
}

.calendar header .month .year
{
	font-size:					0.6em;
	font-weight:				bold;
}

.calendar table
{
	width:						100%;
	margin:						20px 0;
	border-spacing:				0px;
	background-color:			#E3E3E3
}

.calendar thead
{
	font-size:					1.2em;
	font-weight:				600;
	background-color:			#FFFFFF;
}

.calendar td
{
	padding:					1.4em .1em;
}

.calendar > table > tbody > tr > td
{
	border:						4px solid #FFFFFF;
}

.calendar .day
{
	position:					relative;
	display:					inline-block;
	width:						2.5em;
	height:						2.5em;
	line-height:				2.5em;
	border-radius:				50%;
	border:						2px solid transparent;
	font-weight:				bold;
	font-size:					20px;
	cursor:						pointer;
}

.calendar .td_day
{
	cursor:						pointer;
}

.calendar .td_day.today
{
	background-color:			#FCFCFC;
}

.calendar .day.selected
{
	border:						2px solid #6B9B4F!important;
}

.calendar .day.today
{
	/*background:					#6B9B4F!important;
	color:						white;*/
}

.calendar .day.today.has-event:after
{
	/*background:					white;*/
}

.calendar .day.wrong-month
{
	color:						#CBD1D2;
}

.calendar .day.wrong-month:hover
{
	border:						2px solid transparent;
}

.calendar .day.has-event
{
	border:						2px solid #FA7400;
	background-color:			#FFFFFF;
}

.calendar .day.selected.has-event
{
	border:						2px solid #FA7400;
	background-color:			#FFFFFF;
}

.calendar .day.has-event:after
{
	content:					attr(data-lenght);
	font-size:					14px;
	position:					absolute;
	top:						calc(50% + .6em);
	left:						calc(50% - 4px);
	/*width:						4px;
	height:						4px;
	border-radius:				50%;
	background:					#6691CC;*/
}

.calendar .day.disabled, .calendar .td_day.disabled
{
	color:						#AEAEAE;
	font-weight:				normal;
	cursor:						default;
}

.calendar .day.disabled:hover
{
	border:						2px solid transparent!important;
}

.calendar .event-container
{
	display:					none;
	position:					absolute;
	top:						0;
	left:						0;
	width:						100%;
	height:						100%;
	padding:					70px;
	background:					#545A5C;
	box-sizing:					border-box;
}

.calendar .event-container .event-wrapper
{
	overflow-y:					auto;
	max-height:					100%;
}

.calendar .event-container .close
{
	position:					absolute;
	width:						30px;
	height:						30px;
	top:						20px;
	right:						20px;
	cursor:						pointer;
}

.calendar .event-container .close:before, .calendar .event-container .close:after
{
	content:					'';
	position:					absolute;
	top:						0;
	left:						50%;
	width:						2px;
	height:						100%;
	background-color:			#CBD1D2;
}

.calendar .event-container .close:before
{
	transform:					rotate(45deg);
}

.calendar .event-container .close:after
{
	transform:					rotate(-45deg);
}

.calendar .event-container .event
{
	position:					relative;
	width:						100%;
	padding:					1em;
	margin-bottom:				1em;
	background:					#6B9B4F;
	border-radius:				4px;
	box-sizing:					border-box;
	box-shadow:					0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12);
	text-align:					left;
	color:						white;
}

.calendar .event-container .event-date
{
	margin-bottom:				1em;
}

.calendar .event-container .event-hour
{
	float:						right;
}

.calendar .event-container .event-summary
{
	font-weight:				600;
}

.calendar .filler
{
	position:					absolute;
	width:						0;
	height:						0;
	border-radius:				50%;
	background:					#545A5C;
	transform:					translate(-50%, -50%);
}


.calendar thead td
{
	color:						#F36F23;
}

.calendar > table > tbody > tr > td:hover
{
	background-color:			#F36F23;
	color:						#FFFFFF;
}

.calendar > table > tbody > tr > td.disabled:hover
{
	background-color:			#F8AC7E;
	color:						#FFFFFF;
}

.calendar .day.today
{
	color:						#F36F23;
}

.td_day.today.selected .day.today
{
	color:						#FFFFFF!important;
}

.td_day.today.selected .day.today.has-event
{
	color:						#000000!important;
}

.calendar .day.has-event
{
	border-color:				#E07F51;
}

.calendar .day.has-event
{
	color:						#000000;
}

.calendar .td_day.selected
{
	background-color:			#F36F23;
	color:						#FFFFFF!important;
}

.calendar .td_day.selected_disabled
{
	background-color:			#F8AC7E;
	color:						#FFFFFF!important;
}

/*.calendar .td_day.today.selected .day
{
	color:						#FFFFFF;
}*/

@media only screen and (max-width: 560px)
{
	.calendar .day
	{
		font-size:					inherit;
	}
}