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

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

	.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%;
			letter-spacing: 0.05em;
			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;
			}
			
			.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;
				min-height: 6em;
				padding: 0.2em 0 0 0;
			}
			
				.ics-calendar-month-grid ul.events li {
					border-bottom: 1px solid rgb(226,226,226);
					padding: 0.2em 0.8em;
				}
				.ics-calendar-month-grid ul.events > li:last-of-type { border-bottom: 0; }
			
					.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;
					}


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

	.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 td
	{
		border: none;
		display: block;
		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: none; }

}