.pagination_bar {
	display: grid;
	grid-template-columns: 8em auto 8em;
	grid-template-areas: "left . right";
	text-align: center;
}
.pagination_bar >*:nth-child(1) {
	grid-area: left;
}
.pagination_bar >*:nth-child(2) {
	grid-area: right;
}

figure.calendar {
	margin: 0;
	padding:0;
	overflow-x: auto;
}

.calendar ul {
	min-width: 43em;
	list-style-type: none;
	padding-left:0;

	display: grid;
	grid-template-columns: repeat(7, 4fr);
	grid-template-rows: auto;
}

.calendar ul a {
	text-decoration: none;
	color: inherit;
}
.calendar ul a div {
	min-height: 4.8em;
}


.calendar ul li {
	margin: 2px;
	
	border-style: solid;
	border-color: #e0e0e0;
	border-width: 1px;
	border-radius: 5px;
	
	background-color: #f3f3f3;
	padding: 0.2em 0.5em;
	padding-bottom: 0.5em;
	min-height: 4.8em;
	font-size: 0.8em;
	color: #444;
	overflow: hidden;
}

.calendar ul li.header {
	text-align: center;
	min-height: 1em;
	
	background-color: #fff;
	border: None;
	border-radius: 0;
	margin: 0px;
	padding: 0.2em 0;
	font-size: 1em;
	font-weight: 500;
	color: #666;
}
.calendar ul li.outOfMonth {
	opacity: 0;
}

.calendar ul li.active {
	color: #222;
	border-color: #679;
	box-shadow: 0 0 3px #89f;
}

.calendar ul li:hover {
	background-color: #fff;
}

.calendar ul li .day{
	display: inline-block;
	width: 1.75em;
	height: 1.75em;
	text-align: center;
	line-height: 1.75em;
	background: #9ab;
	color: white;
	border-radius: 0.875em;
	margin-bottom: 0.1em;
	font-size: 0.8em;
}

.calendar ul li.active .day{
	background: #248;
}

.calendar ul li section {
	line-height: 1.5em;
	background: #038;
	color: white;
	border-radius: 0.75em;
	text-align: center;
	padding: 0 0.2em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.calendar ul li section + section {
	margin-top: 0.1em;
}