/* side panel */
html.sidepanel-active {
	font-size: 100%;
}
html.sidepanel-active body {
	overflow: hidden;
}
.sidepanel-container {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	display: none;
	font: normal 1em/1.5 Lato, "Trebuchet MS", Arial, sans-serif;
}
.sidepanel-active .sidepanel-container {
	display: block;
}
.sidepanel-container * {
	text-stroke: 0 !important;
	-webkit-text-stroke: 0 !important;
    -moz-text-stroke: 0 !important;
    -ms-text-stroke: 0 !important;
}

.sidepanel-container ol,
.sidepanel-container ul {
	list-style-type: decimal;
	padding: 0 2rem;
}
.sidepanel-container li {
	list-style-type: decimal;
	margin-bottom: 0.5rem;
}

.overlay-bg {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	background-color: #232530;
	bottom: 0;
	left: 0;
	opacity: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	transition: all .25s ease-out;
	z-index: 200;
}
.sidepanel-active .overlay-bg {
	opacity: .9;
}
.sidepanel-active #content {
}
.sidepanel-active .cake-sql-log {
	display: none;
}

.overlay-close-wrapper {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	cursor: pointer;
	display: block;
	height: 5rem;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: all .25s ease-out;
	width: 5rem;
	z-index: 210;
}
.sidepanel-active .overlay-close-wrapper {
	opacity: .8;
}
.sidepanel-active .overlay-close-wrapper:hover {
	opacity: 1;
}

.overlay-close {
	fill: #fff;
	height: 1.25rem;
	margin: 1.875rem;
	width: 1.25rem;
}

.sidepanel-container .overlay-close-wrapper {
	right: 40rem;
	z-index: 230;
}

.sidepanel-wrapper {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	background-color: #eee;
	height: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	right: -35rem;
	top: 0;
	transition: all .25s ease-out;
	width: 40rem;
	z-index: 220;
}
.sidepanel-active .sidepanel-wrapper {
	right: 0;
}

.sidepanel h1 {
	background-color: #1f322a;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.25;
	padding: 1.5625rem 1.25rem;
	margin: 0;
}

.sidepanel h2 {
	margin-bottom: 1.25rem;
}

.sidepanel-contents {
	padding: 2.5rem 1.25rem;
}

.sidepanel-text {
	background-color: #fff;
	box-shadow: 0 1px 2px 0 rgba(49,52,67,.2);
	margin-bottom: 2.5rem;
	padding: 1.25rem 1.25rem 1px;
}

.sidepanel-text p {
	margin: 0 0 1.25em;
}

.sidepanel-contents .container-cards {
	margin-right: -1.25rem;
}

.sidepanel-contents .card-small {
	margin: 0 1.25rem 1.25rem 0;
	width: calc(50% - 1.25rem);
}

.sidepanel-contents .table-full {
	border-radius: 0;
	font-size: .875rem;
}

.sidepanel-contents .table-full th, .sidepanel-contents .table-full td {
	height: 2.5rem;
}

.td-correct {
	border-left: 1px solid #1fb31c;
	color: #1fb31c;
}
.td-incorrect {
	border-left: 1px solid #e14723;
	color: #e14723;
}


.graph-bar {
	margin-bottom: 1.25rem;
}
.graph-bar > span {
	display: block;
}
.graph-bar-title {
	font-weight: bold;
}
.graph-bar-score {
	float: right;
	margin-top: -1.5em;
}
.graph-bar-progressbar,
.graph-bar-progressbar span {
	border-radius: 99em;
	height: 1.25rem;
}
.graph-bar-progressbar {
	background-color: #eee;
}
.graph-bar-progressbar span {
	background-color: #1fb31c;
	display: block;
}

@media (max-width: 55em) {
	.sidepanel-container .overlay-close-wrapper { background-color: rgba(49,52,67,.6); right: 35rem; }
	.sidepanel h1 { padding-left: 5rem; }
}

@media (max-width: 40em) {
	.overlay-close-wrapper { height: 3.75rem; width: 3.75rem; }
	.overlay-close { margin: 1.25rem; }
	.sidepanel-container .overlay-close-wrapper { left: 0; right: auto; }
	.sidepanel-wrapper { width: 100%; }
	.sidepanel h1 { padding: .9375rem 3.75rem; text-align: center; }
}

/******************************************************************************/
/* Loader *********************************************************************/
.loader,
.loader:before,
.loader:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	animation: load7 1.8s infinite ease-in-out;
}
.loader {
	color: #757575;
	font-size: 10px;
	margin: 80px auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
.loader:before,
.loader:after {
	content: '';
	position: absolute;
	top: 0;
}
.loader:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.loader:after {
	left: 3.5em;
}
@-webkit-keyframes load7 {
	0%,
	80%,
	100% {
	  box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
	  box-shadow: 0 2.5em 0 0;
	}
}
@keyframes load7 {
	0%,
	80%,
	100% {
	  box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
	  box-shadow: 0 2.5em 0 0;
	}
}