/* calendars */

table.calendar { 
	width:100%;	
	box-sizing: border-box;
	border-collapse: collapse;
}
table.calendar * { box-sizing: border-box; border-collapse: collapse; }

table.calendar td, table.calendar th {
    width:14.28%;
    text-align:center;
}

/* simple */
.calendar.simple th, .calendar.simple td {
	text-align:center;	
	font-size:80%
}
.calendar.simple th {
	color: #b5b5b5;
	font-weight:600;
	border-bottom:1px solid #e3e3e3;
	padding:5px 0 3px 0
}
.calendar.simple td {
	background:#dcdcdc;
	color:#454545;
	font-weight:bold;
	vertical-align:middle;
	padding:7px 0;
	cursor:pointer
}
.calendar.simple td.mover, .calendar.simple td.month  { background:none; font-size:90%; padding:4px 0} 
.calendar.simple td.today { background:#1c85ee; color:#fff }
.calendar.simple td.not-current { background:none; color:#b5b5b5; font-weight:normal }
.calendar.simple td:hover { background:#cacaca; }
.calendar.simple td.not-current:hover { background:#ededed }
.calendar.simple td.today:hover { background:#1b77d2 }



/* complex */
.calendar.complex th, .calendar.complex td {
	text-align:center;	
	font-size:80%
}
.calendar.complex th {
	color: #555;
	font-size:90%;
	font-weight:400;
	border-bottom:1px solid #e3e3e3;
	border-top:1px solid #e3e3e3;
	padding:10px 0 5px 0
}
.calendar.complex td {
	background:#fff;
	color:#454545;
	font-weight:bold;
	vertical-align:top;
	cursor:pointer;
	border:1px solid #e3e3e3; 
	border-left:none; 
	border-top:none;
	overflow:hidden;
	min-height:45px
}
.calendar.complex td:first-child { border-left:1px solid #e3e3e3 }
.calendar.complex td.mover, .calendar.complex td.month  { background:none; font-size:120%; padding:4px 10px; border:none } 
.calendar.complex td.mover { text-align:left; border:none; cursor: default }
.calendar.complex td.mover i { margin-right:10px }
.calendar.complex td.month { text-align:right; font-weight:normal; cursor: default }
.calendar.complex td:hover { background:#ededed }
.calendar.complex td.month:hover { background: none }
.calendar.complex td.mover:hover { background: none }

.calendar.complex td.today { background:#1b77d2 }
.calendar.complex td.today div.day { color:#fff }

.calendar.complex td div.day { width:100%; padding:5px; font-size:90%; color:black; text-align:left; margin:0px }

.calendar.complex td ul { box-sizing: border-box; padding:0; margin:0; min-height: 20px; list-style-type:none; list-style-position:inside; width:100%; }
.calendar.complex td ul li { box-sizing: border-box; margin:1px; padding:1px 3px; font-weight:normal; font-size:90%; text-align:left; border-radius:3px; font-family:arial, sans-serif }
.calendar.complex td ul li span { font-weight:bold; padding-right:5px }





/* diary */
.calendar.diary td {
	background:#fff;
	color:#454545;
	font-weight:bold;
	vertical-align:top;
	border:1px solid #e3e3e3; 
	border-left:none; 
	border-top:none;
	overflow:hidden;
}
.calendar.diary tr:first-child td { background:none; font-weight: 400; font-size:120%; padding:4px 0px; border:none; border-bottom:1px solid #e3e3e3; }
.calendar.diary tr td.hour { min-width: 30px; width:5%; text-align: right; padding: 4px 10px; font-size: 90%; font-weight:400; border-left:1px solid #e3e3e3; }
.calendar.diary tr td.event-list { width:95%; text-align: left; cursor: pointer }
.calendar.diary tr:hover td.hour { font-weight: bold }

.calendar.diary td ul { box-sizing: border-box; padding:0; margin:0; min-height: 20px; list-style-type:none; list-style-position:inside; width:100%; }
.calendar.diary td ul li { display: inline-block; min-width:100px; box-sizing: border-box; margin:1px; padding:1px 3px; font-weight:normal; font-size:90%; text-align:left; border-radius:3px; font-family:arial, sans-serif }
.calendar.diary td ul li span { font-weight:bold; padding-right:5px }
