body {
	font-family: 'Work Sans', sans-serif;
}

.italic {
	font-style: italic;
}

.instant-success {
	display: none;
	position: fixed;
	z-index: 10000;
	width: 30vmin;
	height: 30vmin;
	box-sizing: border-box;
	top: 50%;
	left: 50%;
	border: solid 1em rgba(0, 145, 37, 1);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.instant-success svg {
	position: absolute;
	width: 60%;
	height: auto;
	fill: rgba(0, 145, 37, 1);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.admin {
	position: absolute;
	overflow: auto;
	top: 18vmin;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	padding: 4vmin;
}

.header .loggedbar .admin-toggle-button {
	color: #ffffff;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
	padding: 0.3em;
	border: solid 1px #ffffff;
	border-radius: 3px;
	line-height: 1;
}

.controller .session-start-initial-evaluation-candidate-button .start-time,
.controller .evaluation-candidate-button .start-time,
.admin .admin-button .attempt {
	text-transform: none;
	font-size: 0.7em;
	font-weight: 300;
}

.controller .evaluation-procedure-button .indicator,
.controller .evaluation-standalone-criteria-button .indicator,
.controller .evaluation-landing-button .indicator {
	display: none;
	margin-left: 1em;
	height: 1em;
	width: 1em;
	background-color: #ffffff;
	vertical-align: middle;
	border-radius: 50%;
	position: relative;
}

.controller .evaluation-procedure-button .indicator svg,
.controller .evaluation-standalone-criteria-button .indicator svg,
.controller .evaluation-landing-button .indicator svg {
	width: 70%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	fill: rgba(0, 145, 37, 1)
}

.controller .evaluation-procedure-button.complete .indicator,
.controller .evaluation-standalone-criteria-button.complete .indicator,
.controller .evaluation-landing-button.complete .indicator {
	display: inline-block;
}

.controller .evaluation,
.admin .evaluation {
	
}

.controller .evaluation .candidate-vitals,
.admin .evaluation .candidate-vitals {
	display: flex;
	justify-content: flex-end;
	font-size: 0.8em;
	margin-bottom: 1.4em;
}

.controller .evaluation .criteria,
.admin .evaluation .criteria {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
	margin-bottom: 2em;
}

.controller .evaluation .procedure-checker-holder,
.admin .evaluation .procedure-checker-holder {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin-bottom: 2em;
}

.controller .evaluation .procedure-checker-holder .procedure,
.admin .evaluation .procedure-checker-holder .procedure {
	font-size: 1.2em;
	font-weight: 700;
	color: #cfcfcf;
	letter-spacing: 0.125em;
	text-transform: uppercase;
	text-align: center;
	transition: font-size 0.2s, color 0.2s;
}

.controller .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker,
.admin .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker {
	display: flex;
	gap: 1em;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	color: #212121;
	font-weight: 700;
	font-size: 0.8em;
	transition: font-size 0.2s;
}

.controller .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker,
.admin .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker {
	font-size: 1em;
}

.controller .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker .check,
.admin .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker .check {
	display: block;
	flex-basis: 1.5em;
	width: 1.5em;
	height: 1.5em;
	border: solid 2px #212121;
	border-radius: 50%;
	position: relative;
	transition: background 0.2s;
}

.controller .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker .check,
.admin .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker .check {
	background-color: rgba(0, 145, 37, 0.7);
}

.controller .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker .check svg,
.admin .evaluation .procedure-checker-holder .checker .criteria-procedure-error-checker .check svg {
	position: absolute;
	width: 65%;
	height: auto;
	top: 50%;
	left: 50%;
	fill: #ffffff;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity 0.2s;
}

.controller .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker .check svg,
.admin .evaluation .procedure-checker-holder.no-procedure-errors .checker .criteria-procedure-error-checker .check svg {
	opacity: 1;
}

.controller .evaluation .history,
.admin .evaluation .history {
	margin-bottom: 2em;
}

.controller .evaluation .criteria .criterion,
.admin .evaluation .criteria .criterion {
	display: flex;
	flex-direction: column;
	gap: 1.2em;
	padding-bottom: 1.2em;
	border-bottom: solid 1px #dfdfdf;
	transition: padding 0.2s, border 0.2s;
}

.controller .evaluation .criteria .criterion.no-procedure-errors,
.admin .evaluation .criteria .criterion.no-procedure-errors {
	padding-bottom: 0;
	border-bottom: 0;
}

.controller .evaluation .criteria .criterion .title,
.admin .evaluation .criteria .criterion .title,
.controller .evaluation .history .title,
.admin .evaluation .history .title {
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
	transition: font-size 0.2s, color 0.2s;
}

.controller .evaluation .criteria .criterion.no-procedure-errors .title,
.admin .evaluation .criteria .criterion.no-procedure-errors .title {
	font-size: 1em;
	color: #878787;
}

.controller .evaluation .criteria .criterion .errs,
.admin .evaluation .criteria .criterion .errs,
.controller .evaluation .history .errs,
.admin .evaluation .history .errs {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.controller .evaluation .criteria .criterion .errs .err,
.admin .evaluation .criteria .criterion .errs .err,
.controller .evaluation .history .errs .err,
.admin .evaluation .history .errs .err {
	display: flex;
	justify-content: center;
}

.controller .evaluation .criteria .criterion .errs .err .criteria-error-checker,
.admin .evaluation .criteria .criterion .errs .err .criteria-error-checker,
.controller .evaluation .history .errs .err .history-error-checker,
.admin .evaluation .history .errs .err .history-error-checker {
	flex-grow: 0;
	flex-shrink: 1;
	display: block;
	text-align: center;
	padding: 0.5em 2em;
	text-decoration: none;
	color: #212121;
	border-radius: 3px;
	transition: background 0.2s, color 0.2s;
}

.controller .evaluation .criteria .criterion .errs .err .criteria-error-checker.positive.checked,
.admin .evaluation .criteria .criterion .errs .err .criteria-error-checker.positive.checked,
.controller .evaluation .history .errs .err .history-error-checker.positive.checked,
.admin .evaluation .history .errs .err .history-error-checker.positive.checked {
	background-color: rgba(0, 145, 37, 0.7);
	color: #ffffff;
}

.controller .evaluation .criteria .criterion .errs .err .criteria-error-checker.checked:not(.positive),
.admin .evaluation .criteria .criterion .errs .err .criteria-error-checker.checked:not(.positive),
.controller .evaluation .history .errs .err .history-error-checker.checked:not(.positive),
.admin .evaluation .history .errs .err .history-error-checker.checked:not(.positive) {
	background-color: rgba(189, 0, 12, 0.7);
	color: #ffffff;
}

.controller .session-loading,
.admin .session-loading {
	width: 40vmin;
	margin: 0 auto;
	height: 4px;
	position: relative;
}

.controller .session-loading:before,
.admin .session-loading:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background-color: #dfdfdf;
	animation: sessionLoading 2s infinite ease-in-out;
}

@keyframes sessionLoading {
	0% {
		left: 0;
		right: 100%;
	}
	
	50% {
		right: 0;
		left: 0;
	}
	
	100% {
		left: 100%;
		right: 0;
	}
}

.controller .ia-psa-data-table,
.admin .ia-psa-data-table {
	margin-bottom: 1.5em;
	margin-left: auto;
	margin-right: auto;
}

.controller .ia-psa-data-table tr td,
.admin .ia-psa-data-table tr td {
	padding: 0.5em;
	text-align: center;
}

.controller .ia-psa-data-table tr.head td,
.admin .ia-psa-data-table tr.head td {
	font-size: 0.8em;
	font-weight: 300;
	text-transform: uppercase;
}

.controller .ia-psa-data-table tr td.label,
.admin .ia-psa-data-table tr td.label {
	font-size: 1.5em;
	font-weight: 700;
}

.controller .evaluation-review-procedure-holder,
.controller .evaluation-review-standalone-criteria-holder {
	margin-bottom: 1.5em;
}

.controller .evaluation-review-procedure-holder .procedure-title,
.controller .evaluation-review-standalone-criteria-holder .standalone-criteria-title {
	color: #878787;
	font-size: 1.8em;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.125em;
	margin-bottom: 0.5em;
}

.admin .admin-back-button-holder,
.controller .controller-back-button-holder {
	text-align: right;
}

.admin .admin-back-button-holder .admin-back-button,
.controller .controller-back-button {
	display: inline-block;
	padding: 2vmin;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	margin: 0 auto 4vmin;
	font-size: 3vmin;
	max-width: 80vmin;
	border-radius: 0.6em;
	color: #ffffff !important;
	text-shadow: none !important;
	background-color: #003E5C;
}

.admin .admin-back-button-holder .admin-back-button:active,
.controller .controller-back-button:active {
	background-color: #212121;
}

.admin .evaluation-review-candidates {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.admin .evaluation-review-candidates .candidate {
	border-bottom: solid 1px #dfdfdf;
	padding-bottom: 1em;
}

.admin .evaluation-review-candidates .candidate:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.admin .evaluation-review-candidates .candidate > .pin {
	margin-bottom: 0.5em;
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.admin .candidate-results {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.admin .candidate-results .candidate {
	padding: 1em;
	border-radius: 1em;
	background-color: #f4f4f4;
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.admin .candidate-results .candidate .vitals {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	align-items: center;
}

.admin .candidate-results .candidate .vitals .pin {
	font-size: 1.8em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.125em;
	flex: 1;
}

.admin .candidate-results .candidate .vitals .result {
	flex-basis: 1em;
	font-size: 2em;
	height: 1em;
	max-width: 1em;
	border-radius: 50%;
	position: relative;
	font-weight: 700;
}

.admin .candidate-results .candidate .vitals .result[result="P"] {
	background-color: rgba(0, 145, 37, 1);
}

.admin .candidate-results .candidate .vitals .result[result="F"] {
	background-color: rgba(189, 0, 12, 1);
}

.admin .candidate-results .candidate .vitals .result[result="NS"] {
	background-color: #878787;
}

.admin .candidate-results .candidate .vitals .result[result="P"]:after {
	content: 'P';
	display: block;
	position: absolute;
	color: #ffffff;
	font-size: 0.7em;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.admin .candidate-results .candidate .vitals .result[result="F"]:after {
	content: 'F';
	display: block;
	position: absolute;
	color: #ffffff;
	font-size: 0.7em;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.admin .candidate-results .candidate .vitals .result[result="NS"]:after {
	content: 'NS';
	display: block;
	position: absolute;
	color: #ffffff;
	font-size: 0.5em;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.admin .candidate-results .candidate .release-button-holder .released-indicator {
	font-size: 0.8em;
	font-weight: 700;
	color: #878787;
	text-transform: uppercase;
	letter-spacing: 0.125em;
	text-align: center;
}

.admin .candidate-results .candidate .attempts {
	display: flex;
	flex-direction: column;
	gap: 1em;
	max-width: 80vmin;
	margin: 0 auto;
}

.admin .candidate-results .candidate .attempts .attempt {
	
}

.admin .candidate-results .candidate .attempts .attempt .procedures,
.admin .candidate-results .candidate .medical-history {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.admin .candidate-results .candidate .medical-history {
	font-size: 0.9em;
	max-width: 80vmin;
	margin: 0 auto;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	font-size: 0.9em;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .procedure-result,
.admin .candidate-results .candidate .medical-history .mh-title-result {
	display: flex;
	gap: 2em;
	justify-content: space-between;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .procedure-result .procedure,
.admin .candidate-results .candidate .medical-history .mh-title-result .mh-title {
	font-weight: 700;
	text-transform: uppercase;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .procedure-result .result,
.admin .candidate-results .candidate .medical-history .mh-title-result .result {
	font-weight: 700;
	letter-spacing: 0.125em;
	text-transform: uppercase;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .procedure-result .result[result="P"]:after {
	content: 'pass';
	color: rgba(0, 145, 37, 1);
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .procedure-result .result[result="F"]:after,
.admin .candidate-results .candidate .medical-history .mh-title-result .result[result="F"]:after {
	content: 'fail';
	color: rgba(189, 0, 12, 1);
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .errs,
.admin .candidate-results .candidate .medical-history .errs {
	font-size: 0.9em;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	padding-left: 2em;
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .errs .err .criterion {
	
}

.admin .candidate-results .candidate .attempts .attempt .procedures .procedure .errs .err .content,
.admin .candidate-results .candidate .medical-history .errs .err {
	font-weight: 300;
	font-size: 0.8em;
}

.admin .candidate-results .candidate .medical-history .errs .err {
	text-align: center;
}

.noshow-confirm {
	position: fixed;
	width: 80%;
	z-index: 1000;
	padding: 1em;
	background-color: rgba(219, 173, 116, 0.9);
	border-raduis: 0.2em;
	box-sizing: border-box;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: none;
	font-size: 1.3em;
	text-align: center;
}

.noshow-confirm .text {
	margin-bottom: 1.5em;
}

.noshow-confirm .buttons {
	display: flex;
	justify-content: space-between;
	gap: 1em;
}

.noshow-confirm .buttons a {
	flex-basis: calc(50% - 0.5em);
}

.admin .noshow-button {
	display: flex;
	justify-content: space-around;
	gap: 1em;
}

.admin .noshow-button .indicator {
	display: none;
	flex-basis: 1em;
	max-width: 1em;
	height: 1em;
	background-color: #ffffff;
	position: relative;
	border-radius: 50%;
	transform: scale(1.8);
}

.admin .noshow-button .indicator:after {
	content: 'NS';
	display: block;
	position: absolute;
	color: #878787;
	font-weight: bold;
	font-size: 0.5em;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.admin .noshow-button[noshow="1"] {
	background-color: #878787;
}

.admin .noshow-button[noshow="1"] .indicator {
	display: block;
}

.admin .candidates-table {
	width: 100%;
	border-collapse: collapse;
	border-radius: 3px;
}

.admin .candidates-table td {
	text-align: center;
	white-space: nowrap;
	border: solid 1px #212121;
	padding: 0.5em;
}

.admin .candidates-table thead tr {
	font-weight: 700;
	text-transform: uppercase;
	background-color: #212121;
	color: #ffffff;
	letter-spacing: 0.125em;
}

.admin .candidates-table tbody tr.complete {
	background-color: rgba(0, 145, 37, 0.3);
}

.admin .candidates-table tbody tr td.time .time-button {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	align-items: center;
}

.admin .candidates-table tbody tr td.time .time-button div {
	margin: auto;
}

.admin .candidates-table tbody tr td .candidate-start-time-edit-button {
	position: relative;
	width: 2em;
	height: 2em;
	border: solid 1px #878787;
	border-radius: 50%;
	display: inline-block;
	margin-left: 0.5em;
	vertical-align: middle;
}

.admin .candidates-table tbody tr td .candidate-start-time-edit-button svg {
	width: 60%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	fill: #878787;
}

.admin .session-close-results {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin: auto;
	margin-bottom: 2em;
}

.admin .session-close-results .result-number {
	display: flex;
	font-size: 1.5em;
	font-weight: 700;
	justify-content: center;
	gap: 1.5em;
}

.admin .cell-input.phone-input {
	text-align: center;
	border: 0;
	background-color: #dfdfdf;
	padding: 0.4em;
	width: 12em;
	box-sizing: border-box;
	font-size: 1.4em;
	letter-spacing: 0.125em;
	font-family: 'Work Sans', sans-serif;
}

.admin .candidates-hide-complete-button-holder {
	float: left;
}

.admin .candidates-hide-complete-button-holder .candidates-hide-complete-button,
.admin .candidates-hide-complete-button-holder .candidates-show-complete-button{
	display: inline-block;
	padding: 2vmin;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	margin: 0 auto 4vmin;
	font-size: 3vmin;
	max-width: 80vmin;
	border-radius: 0.6em;
	color: #ffffff !important;
	text-shadow: none !important;
	background-color: #003E5C;
}

.admin .candidates-hide-complete-button-holder .candidates-hide-complete-button:active,
.admin .candidates-hide-complete-button-holder .candidates-show-complete-button:active{
	background-color: #212121;
}

.admin .new-candidates-notice {
	background-color: rgba(255, 216, 148, 1);
	border: solid 0.1em rgba(255, 162, 0, 1);
	padding: 1em;
	border-radius: 0.3em;
	margin-bottom: 1em;
}

.admin .new-candidates-notice .generic-button {
	background-color: #434343;
}

.controller .session-progress {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.controller .session-progress .session-progress-candidate-button {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	align-items: center;
	text-decoration: none;
	color: #212121;
	padding: 0.5em;
}

.controller .session-progress .session-progress-candidate-button:active {
	background-color: #212121;
	color: #ffffff;
}

.controller .session-progress .session-progress-candidate-button .pin-time {
	display: flex;
	align-items: center;
	gap: 1em;
}

.controller .session-progress .session-progress-candidate-button .pin-time .pin {
	font-weight: 700;
	font-size: 1.5em;
}

.controller .session-progress .session-progress-candidate-button .indicators {
	display: flex;
	align-items: center;
	gap: 1em;
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder {
	min-width: 3.5em;
	max-width: 3.5em;
	height: 3.5em;
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator {
	width: 3.5em;
	height: 3.5em;
	display: block;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.2);
	position: relative;
	box-sizing: border-box;
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator .abb {
	position: absolute;
	display: block;
	line-height: 1;
	top: 50%;
	left: 50%;
	color: #ffffff;
	transform: translate(-50%, -50%);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator svg {
	display: block;
	width: 60%;
	height: auto;
	fill: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.noshow {
	background-color: rgba(0, 0, 0, 0.7);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.pre {
	background-color: rgba(3, 41, 166, 0.7);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.mh {
	background-color: rgba(179, 92, 0, 0.7);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.mh.errors {
	background-color: #ababab;
	border: solid 0.5em #ff0000;
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.eval {
	background-color: rgba(154, 0, 171, 0.7);
}

.controller .session-progress .session-progress-candidate-button .indicators .indicator-holder .indicator.complete {
	background-color: rgba(1, 148, 60, 0.7);
}

.controller .session-progress .session-progress-candidate-button .image-pin .pin {
	font-size: 1.2em;
	font-weight: 700;
}

.controller .session-progress .session-progress-candidate-button .status {
	font-size: 1.2em;
	font-weight: 300;
	text-transform: uppercase;
	white-space: nowrap;
}

.controller .candidate .candidate-topbar,
.admin .candidate .candidate-topbar {
	margin-bottom: 2em;
}

.controller .candidate .candidate-topbar:after,
.admin .candidate .candidate-topbar:after {
	content: '';
	display: block;
	clear: both;
}

.controller .candidate .candidate-topbar .pin,
.admin .candidate .candidate-topbar .pin {
	float: left;
	font-weight: 700;
	font-size: 1.5em;
}

.controller .candidate .candidate-topbar .back,
.admin .candidate .candidate-topbar .back {
	float: right;
}

.controller .candidate .generic-button[complete="1"] {
	display: flex;
	gap: 1em;
	align-items: center;
	justify-content: space-between;
}

.controller .candidate .generic-button .indicator {
	background-color: #ffffff;
	height: 2em;
	max-width: 2em;
	min-width: 2em;
	flex-basis: 2em;
	border-radius: 50%;
	position: relative;
}

.controller .candidate .generic-button[complete="0"] .indicator {
	display: none;
}

.controller .candidate .generic-button .indicator svg {
	fill: rgba(1, 148, 60, 1);
	position: absolute;
	width: 60%;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



