.main-button {
	line-height:1.05;
	hyphens:none;
	text-transform:uppercase;
	margin-top:0.3rem;
	margin-bottom:0;
}

.month-container {
	border:1px solid #bbb;
	width:35rem;
}

.month-label-line {
	border-bottom:1px solid #bbb;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.previous-month, .next-month {
	padding:0.4rem 0.6rem;
}

.previous-month {
	border-right:1px solid #bbb;
}

.next-month {
	border-left:1px solid #bbb;
}

.month-label {
	text-align:center;
	font-size:120%;
}

.week-names {
	background-color:#eee;
	display:flex;
	justify-content:space-between;
}

.day-name {
	width:5rem;
	text-align:center;
}

.month-line {
	border-top:1px solid #bbb;
	display:flex;
	justify-content:space-between;
	min-height:2rem;
}

.week-day {
	width:5rem;
}

.week-day:nth-of-type(2n+1) {
	background-color:#fafafa;
}

.week-day:first-of-type, .week-day:last-of-type {
	background-color:rgba(255, 0, 0, 0.02);
}

.month-day {
	text-align:right;
	padding-right:0.2rem;
	font-size:75%;
}

.holiday::before {
	font-weight:bold;
	color:darkgreen;
	font-size:175%;
	vertical-align:top;
	content:"Ⓗ ";
}

.week-day:first-of-type .month-day, .week-day:last-of-type .month-day {
	color:#b50000;
}

.current-totals-container {
	border:1px solid #aaa;
	border-radius:0.3rem;
	margin:0 auto 0.5rem auto;
	width:60%;
	display:flex;
	justify-content:space-between;
}

.current-totals-container-wide {
	width:80%;
}

.current-total-container {
	min-height:6rem;
	border-right:1px solid #aaa;
	flex-grow:1;
	flex-basis:33.33%;
}

.current-total-container-wide {
	flex-basis:25%;
}

div.current-total-container:last-of-type {
	border-right:none;
}

.current-total {
	text-align:center;
	font-weight:bold;
	font-size:300%;
}

.current-label {
	text-align:center;
	padding:0.3rem 1rem 0 1rem;
}