.ics-calendar {
	clear: both;
	display: block;
	margin: 1.5em 0;
}

.ics-calendar:first-child { margin-top: 0; }

	.ics-calendar span.phone_only { display: none; }

	.ics-calendar-error { font-style: italic; }

	.ics-calendar .events .time {
		cursor: help;
	}
	.ics-calendar .events .time .show_on_hover {
		display: inline-block;
		font-size: 85%;
		font-weight: normal;
		visibility: hidden;
	}
	.ics-calendar .events .time:hover .show_on_hover { visibility: visible; }
	.ics-calendar.hide_times .events .time { display: none !important; }

	.ics-calendar .events .title.has_desc { cursor: help; }
	
	.ics-calendar .events .eventdesc, .ics-calendar .events .location {
		font-size: 80%;
		line-height: 1.5em;
	}
	.ics-calendar .events .eventdesc[title] { cursor: help; }
	
	.ics-calendar-title { }
	
	.ics-calendar-description { }
	
	.ics-calendar-select {
		float: right;
		font-size: 80%;
		margin-right: 0;
		max-width: 200px;
		min-width: 200px;
		width: 200px;
	}
	
	.ics-calendar-month-wrapper { }
	
		.ics-calendar-label { }
		
		.ics-calendar-month-grid {
			border-collapse: collapse;
			font-size: 85%;
			line-height: 1.5em;
			table-layout: fixed;
		}
		
			.ics-calendar-month-grid th, .ics-calendar-month-grid td {
				border: 1px solid rgb(187,187,187);
				border-top: 0;
				overflow: hidden;
				padding: 0;
				text-align: left;
				vertical-align: top;
				width: 14.2857%;
			}
			
			.ics-calendar-month-grid th {
				background: rgb(171,171,171);
				font-size: 75%;
				padding: 0.5em 0.8em 0.2em 0.8em;
				text-align: center;
				text-transform: uppercase;
			}
			
			.ics-calendar-month-grid .off {
				background: rgb(246,246,246);
				color: rgb(153,153,153) !important;
			}
			
			.ics-calendar-month-grid .day {
				background: rgb(226,226,226);
				font-weight: bold;
				padding: 0.2em 0.8em;
			}
						
			.ics-calendar-month-grid .past {
				background: rgb(250,250,250);
				opacity: 0.75;
			}
			
			.ics-calendar-month-grid .today .day {
				background: rgb(102,102,102);
				color: rgb(255,255,255);
			}
			
			.ics-calendar-month-grid ul.events {
				list-style: none;
				margin: 0;
				min-height: 6em;
				padding: 0;
			}
			
				.ics-calendar-month-grid ul.events li {
					border-bottom: 1px solid rgb(226,226,226);
					margin: 0;
					padding: 0.4em 0.8em;
				}
				.ics-calendar-month-grid ul.events li.all-day {
					background: rgb(245,245,245);
					border-bottom: none;
					font-weight: bold;
					padding: 0.4em 0.8em;
				}
				.ics-calendar-month-grid ul.events > li:last-of-type { border-bottom: 0; }
				
					.ics-calendar-month-grid .events .all-day-indicator {
						display: block;
						font-size: 60%;
						font-weight: normal;
						line-height: 1.5em;
						text-transform: uppercase;
					}
			
					.ics-calendar-month-grid .events .time {
						display: block;
						font-size: 75%;
						font-weight: bold;
						line-height: 1.5em;
					}
				
					.ics-calendar-month-grid .events .title {
						display: block;
						font-size: 75%;
						line-height: 1.5em;
					}
				
					.ics-calendar-month-grid .events .sublabel {
						display: block;
						font-size: 60%;
						font-weight: normal;
						line-height: 1.5em;
						text-transform: uppercase;
					}

	.ics-calendar-list-wrapper { }

		.ics-calendar-list-wrapper .events .sublabel {
			display: block;
			font-size: 75%;
			font-weight: normal;
			line-height: 1.5em;
		}


@media screen and (max-width: 782px) {

	.ics-calendar span.phone_only { display: inline-block; }

	.ics-calendar-select {
		float: none;
		margin-bottom: 1em;
		width: 100%;
	}
	
	.ics-calendar-month-grid { margin-bottom: 3em; }

	.ics-calendar-month-grid,
	.ics-calendar-month-grid tbody,
	.ics-calendar-month-grid tr,
	.ics-calendar-month-grid th,
	.ics-calendar-month-grid td
	{
		border: none;
		display: block;
		font-size: 100%;
		width: 100%;
	}
	
	.ics-calendar-month-grid thead,
	.ics-calendar-month-grid .off,
	.ics-calendar-month-grid .past,
	.ics-calendar-month-grid .empty
	{ display: none; }

	.ics-calendar-month-grid .day {
		padding: 0.5em 0.8em;
	}

	.ics-calendar-month-grid .day * { display: inline-block !important; }
	
	.ics-calendar-month-grid ul.events { min-height: 0; }

	.ics-calendar-month-grid .events .all-day-indicator { font-size: 75%; }

	.ics-calendar-month-grid .events .time { font-size: 100%; }

	.ics-calendar-month-grid .events .title { font-size: 100%; }

	.ics-calendar-month-grid .events .sublabel { font-size: 75%; }

}