h4 {
 font-size: 1.25em;
 font-weight: bold;
 margin:0;
 border-top: 2px solid #DDD;
 padding: .5em 0;
}
h5 {
	font-size: 1.125em;
	font-weight: bold;
	margin:0;
}

details {
	background: #F8F8F8;
	border: 2px solid #CCC;
	border-radius: .5em;
	clear: both;
	margin-bottom: 1em;
	padding: 0 1em;
}
summary {
	cursor: pointer;
}
summary h3 {
	display: inline-block;
}
summary::marker {
	color: #4878B4;
}
summary b {
	float: right;
	margin-top: 1.25em;
	min-width: 6em;
}
summary b, .pages b {
	border-radius: .2em;
	color: #FFF;
	padding: 0 1em;
	text-align: center;
	text-transform: uppercase;
}
button {
	background: #9F9;
	border-radius: 1em;
	cursor: pointer;
	margin-top: 1em;
	padding: 0 1.5em;
	font-size: 1em;
}
button:focus, button:hover {
	background: #CFC;
}
.center {
	text-align: center;
}
.pages b {
	display: block;
	margin: .8em 0 .5em;
}
.pending {
	background: #767676;
}
.inprogress {
	background: #7A7A00;
}
.complete {
	background: #083;
}
summary + p {
	margin-top: 0;
}
details[open] summary ~ * {
  animation: sweep .5s ease-in-out;
}
details summary:focus:not(:focus-visible) {
	outline:none;
}
custom-button:focus-visible {
	outline:1px;
}

/* Home Page */

.score {
	display: inline-block;
	margin-right: 1em;
	text-align: center;
}
.score b, .stats b {
	color: #4878B4;
	display: block;
	font-size: 3em;
	line-height: 1;
}
.stars {
	width: 87%;
	height: 1em;
	color: transparent;
	display: inline-block;
	font-size: 4.5em;
	line-height: 1;
	padding-bottom: 0.1em;
	text-align: center;
	vertical-align: text-bottom;
}
.pages .stars {
	font-size: 1em;
}
.stats {
	border-top: 2px solid #DDD;
	padding: 1em 0 0;
	text-align: center;
}
.stats li {
	display: inline-block;
}
.stats li + li {
	margin-left: 2em;
}
.pages {
	padding: 1em 0 0;
	text-align: center;
}
.pages li {
	background: #FFF;
	border: 2px solid #9CF;
	border-radius: 0 1em 0 0;
	display: inline-block;
	margin-bottom: 1em;
	min-height: 7em;
	padding: 2em 1%;
	vertical-align: top;
	width: 20%;
}
.pages li + li {
	margin-left: 1em;
}
.errors {
	border-bottom: 2px solid #DDD;
	padding: 0;
	text-align: center;
}
.errors li {
	display: inline-block;
	margin-bottom: 1em;
	vertical-align: top;
	width: 19%;
	font-size: .8em;
}
.errors a {
	display: block;
}

.errors a img {
	height: 75px;
} 

/* Scoring Pages */
ol li img, label img {
	height: 1.5em;
	vertical-align: middle;
}
.question {
	background: #F8F8F8;
	border: 2px solid #CCC;
	border-radius: .5em;
	margin-bottom: 1em;
	padding: 0 2%;
}
.question fieldset {
	border: 0;
	margin: 1.5em .5em;
	padding: 0;
}
.question legend {
	margin-bottom: 1em;
}
.question label {
	display: inline-block;
	font-size: .9em;
	text-align: center;
	vertical-align: top;
}

.cols3 label {
	width: 31%;
}

.cols4 label {
	width: 23%;
}

.cols10 label {
	width: 6%;
}

.question label b {
	border-radius: 8px;
	display: block;
	font-size: 1.25rem;
	margin: 0 auto .3em;
	padding: .5em 0;
}
.question label + label {
	margin-left: 2%;
}
.question input {
	display: block;
	margin: auto;
}
.a1 {background: #FF742E}
.a2 {background: #FF9300}
.a3 {background: #E3F201}
.a4 {background: #65FF00}

textarea {
	border: 1px solid #949494;
	border-radius: 8px;
	font-family: 'Open Sans', sans-serif;
	height: 8em;
	padding: .5em .7em;
	width: 80%;
}

/* Full-Size */

@media (min-width: 900px) {
	.big {
		counter-reset: item;
		padding: 0;
		text-align: center;
	}
	.big li {
		background: #4878B4;
		border: 1px solid #999;
		border-radius: 50%;
		color: #FFF;
		display: inline-block;
		margin-bottom: 2em;
		min-height: 9em;
		padding: 0 2% 5%;
		vertical-align: top;
		width: 27%;
	}
	.big li:before {
		content: counter(item);
		counter-increment: item;
		font-size: 3em;
		font-weight: 400;
	}
	.big li + li {
		margin-left: 1em;
	}
	details:not([open]):hover, details:not([open]):focus-within {
		background: #CEF;
		border-color: #4878B4;
		border-radius: .5em;
	}
}

/* Small Device */

@media (max-width: 899px) {
	.big {
		background: #4878B4;
		border: 1px solid #999;
		border-radius: .5em;
		color: #FFF;
		font-size: 1.2em;
	}
	.big br {
		display: none;
	}
	.big li {
		margin: .5em 1em .5em .5em;
	}
	.big ::marker {
		font-weight: 400;
	}
}