/* @group calendar */
body {font-family: Helvetica, Arial, sans-serif;}
.hidden {display:none;}
.noTransition {-webkit-transition:none !important;}
.calendar {-webkit-user-select:none; margin-bottom:20px;}
.calButtonBar {overflow:hidden; -webkit-user-select:none; margin:0 0 10px; padding:0;}
.calButtonBar li {width:25%; list-style-type:none; float:left; overflow:hidden; text-align:center;}
.calPrevious a, .calNext a {display:block; width:28px; height:28px; text-decoration:none; color:#333; font-weight:bold;}
.calPrevious a {float:right;}
.calNext a {float:left;}
.calButtonBar .calMonth {font-weight:bold; font-size:16px; padding-top:2px; width:50%; color:#333;}
.calGrid {position:relative;}
.calGrid table {border-spacing:0; border-collapse:collapse; width:100%;}
.turnup, .turndown {position:absolute; top:0; left:0; background-color:#fff;}
.calGrid th {width:14%; height:24px; color:#333;} 
.calGrid td a.inactive {color:#CCC;}
.calGrid td a.today {}
.calGrid td a.startDate, .calGrid td a.endDate {color:#fff; background-color:#444;}
.calGrid td a.betweenDates {background-color:#ccc;}
.calGrid tr.first td {border-top:none 0;}
.calGrid tr.last td {border-bottom:none 0;}

/* @group animation */
.in, .out {-webkit-animation-duration:250ms; -webkit-animation-fill-mode:forwards; -webkit-animation-timing-function:ease-in-out;}
.in {z-index:10;}
.out {z-index:0;}

/* @group page turn animation */
.turnup, .turndown {-webkit-animation-duration:400ms; -webkit-transform-origin: 50% 0%; -webkit-animation-fill-mode:forwards;}
.turnup {-webkit-animation-name:turnUp;}
.turndown {-webkit-animation-name:turnDown;}
@-webkit-keyframes turnUp {
	from {-webkit-transform:perspective(800) rotateX(0deg); opacity:1; -webkit-animation-timing-function:ease-in;}
  50% {-webkit-transform:perspective(800) rotateX(45deg); opacity:1;-webkit-animation-timing-function:linear;}
  to {-webkit-transform:perspective(800) rotateX(90deg); opacity:0;-webkit-animation-timing-function:ease-out;}
}
@-webkit-keyframes turnDown {
	from {-webkit-transform:perspective(800) rotateX(90deg); opacity:0; -webkit-animation-timing-function:ease-in;}
  50% {-webkit-transform:perspective(800) rotateX(45deg); opacity:1;-webkit-animation-timing-function:linear;}
  to {-webkit-transform:perspective(800) rotateX(0deg); opacity:1;-webkit-animation-timing-function:ease-out;}
}

.calGrid td {
	height:35px;
	line-height:35px;
	text-align:center;
	cursor:pointer;
	padding: 2px;
}

.calGrid td a {
	display:block;
	width:100%;
	height:35px;
	line-height: 35px;
	text-align:center;
	color:#000;
	-webkit-tap-highlight-color:rgba(0,0,0,0.5);
	text-decoration:none;
	moz-box-shadow: 2px 2px 2px #ccc;
	-webkit-box-shadow: 2px 2px 2px #ccc;
	box-shadow: 2px 2px 2px #ccc;
}

.calGrid th {
	height:35px;
	line-height:35px;
	text-align:center;
	padding: 2px;
}

.calGrid th span{
	display:block;
	background-color: #6b6b6b;
	color:#fff;
}