.subscribe {
	text-align: right;
}
#calendar {
	display: block;
	margin-left: -1rem; margin-right: -1rem;
}
#calendar .browse {
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #999;
	text-align: center;
}
#calendar .browse i {
	margin: 0 0.5rem;
}
#calendar .browse .year {
	display: inline-block;
	margin: 0 1rem;
	color: #ccc;
}
#calendar .browse .year.current {
	font-weight: 500; color: #000;
}
#calendar .legend {
	padding: 0 1rem;
	font-size: 0.9375rem;
}
#calendar .legend .category {
	box-sizing: content-box;
	min-height: 2em; padding: 1rem;
	color: #fff;
}
#calendar .legend .category a {
	color: #fff; text-decoration: none;
}
#calendar .legend .category a:hover {
	text-decoration: underline;
}
#calendar .monthwrap {
	display: inline-block; position: relative;
	width: 100%; padding: 1rem;
}
#calendar .month {
	display: block;
	background: #ddd; border: 1px solid #0004;
}
#calendar .month .callout {
	margin: 0; padding: 0 0.5rem;
}
#calendar .days {
	padding: 0.35rem;
}
#calendar .daywrap {
	display: inline-block;
	width: 14.2857%; padding: 0.1rem;
	font-family: trade-gothic-next-condensed, sans-serif; font-size: 0.8rem; text-align: right;
}
#calendar .day {
	display: block;
	height: 1.4rem; padding: 0.2rem;
	background: #fff; border: 1px solid #0003;
}
#calendar .day.today {
	border-color: #000; box-shadow: 0 0 0 1px #000;
}
#calendar .day.meeting {
	color: #fff;
	cursor: pointer;
}
#calendar .day.null {
	background: #bbb; border-color: #0001;
}
#calendar .c1 { background: #b35959; }
#calendar .c1c { background: #b38659; }
#calendar .c2 { background: #5ba65b; }
#calendar .c3 { background: #a6a653; }
#calendar .c4 { background: #a654a6; }
#calendar .c23 { background: linear-gradient(180deg, #5ba65b 50%, #a6a653 50%); }
#calendar .c24 { background: linear-gradient(180deg, #5ba65b 50%, #a654a6 50%); }
#calendar .c34 { background: linear-gradient(180deg, #a6a653 50%, #a654a6 50%); }
#calendar .c234 { background: linear-gradient(180deg, #5ba65b 33.3333%, #a6a653 33.3333%, #a6a653 66.6666%, #a654a6 66.6666%); }

@media only screen and (min-width: 468px) and (max-width: 1023px) {
	#calendar .monthwrap {
		width: 50%;
	}
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
	#calendar .monthwrap {
		width: 33.3333%;
	}
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
	#calendar .monthwrap {
		width: 50%;
	}
}
@media only screen and (min-width: 1280px) {
	#calendar .monthwrap {
		width: 33.3333%;
	}
}

#calendar .expand {
/*
	display: block; position: relative; z-index: 100;
	height: 0;
*/
	display: none; position: absolute; z-index: 100;
	left: 0.75rem; right: 0.75rem; bottom: 0;
}
#calendar .expand .meetings {
	list-style: none;
/* 	display: none; position: absolute; */
/* 	left: 0.25rem; right: 0.25rem; top: -0.25rem; */ margin: 0; padding: 0.5rem;
	box-shadow: 0 0 0.125rem 0.125rem rgba(0, 0, 0, 0.3);
	background: #fff;
}
#calendar .expand .meeting {
	margin: 0.5rem 0 0 0; padding: 0 0 0 0.5rem;
}
#calendar .expand .meeting:first-child {
	margin-top: 0;
}
#calendar .expand .meeting .title {
	padding: 0.25rem 0.5rem;
	background: #fff;
	line-height: normal;
}
#calendar .expand .children {
	list-style: none;
	margin: 0; padding: 0.25rem 0 0 0.5rem;
	background: #fff;
}
