/*noprefix*/

.button.play, .button.replay {
	background: darkgreen;
}

.button.print {
	background: lightslategray;
}

.button.back {
	margin: 0;
	padding: 0.3em;
	background: lightslategray;
	box-shadow: #608090 1px 1px 10px 0px;    
}

.button.history {
	background: cadetblue;
}

.button.history-switch {
	margin-bottom: 1.5em;
	padding: 0.5em;
	background: cadetblue;
}

.button.fix {
	padding: 0.5em;
	background: crimson;
	font-size: 0.7em;
}

/*
/// Respondent (Impersonation) {
*/

.respondent {
	display: inline-block;
	overflow: hidden;
}

.respondent > .selection {
	display: inline-block;
	max-width: 100%;
	text-align: left;
}

.respondent > .name + .selection {
	display: block;
	margin-top: 0.5em;
}

.respondent > .selection .name {
	padding: 0;
	color: yellow;
	margin-left: .5ch;
}

.respondent > .selection .avatar {
	width: 32px;
	margin-right: 1em;
	object-fit: scale-down;
}

.respondent > .selection span > * {
	vertical-align: middle;
}

.respondent > .selection .menu > ul {
	border-radius: 0.5em;
}

.respondent > .selection .menu > ul > li > span {
	padding: 0.4em 0.8em;
	border-radius: 0.5em;
	white-space: normal;
}

.respondent > .selection .menu .menu > ul > li > span {
	padding: 0.4em 0.6em;
	white-space: nowrap;
}

/*
/// }
*/

/*
/// Category Page Respondent {
*/

.page-category .respondent {
	flex-grow: 1;
	margin-left: 1em;
	text-align: right;
}

/*
/// }
*/

/*
/// Questionnaire Tile {
*/

.tile.questionnaire.draft > .body {
	background: #ffd2d2;
}

.tile.questionnaire.draft > .body > .content > .info > .description::after {
	background: linear-gradient(to top, #ffd2d2, 0.8em, rgba(255,210,210,0));
}

.tile.questionnaire .button.progress {
	background-color: darkorange;
}

.tile.questionnaire .button.progress.start {
	padding-left: 2em;
	padding-right: 2em;
	background-color: darkcyan;
}

.tile.questionnaire .button.progress.expired {
	background-color: crimson;
}

.tile.questionnaire .button.progress.finished {
	background-color: darkgreen;
}

.tile.questionnaire .button.progress.finished.failed {
	background-color: darkred;
}

.tile.questionnaire .widget-fallback-image {
	height: 10em !important;
}

/*
/// }
*/

/*
/// Play {
*/

.questionnaire.quick > .questionnaire-title,
.questionnaire.quick .play-progress,
/*.questionnaire.quick .play-progress > .current-progress > *:not(span),*/
.questionnaire.quick:not(.quick-results) .result {
	display: none !important;
}
.questionnaire.quick .player .intro {
	display: none;
}
.questionnaire.quick .question > .question-body {
	font-size: 1em;
}
.questionnaire.quick .question > .interactive > .choices > .choice {
	padding: .5em;
}
.questionnaire.quick.quick-results .result > *:not(.legend) {
	/*display: none;*/
}
.questionnaire.quick.quick-results .result > .legend .widget {
	max-width: 100%;
}
.questionnaire.quick .questionnaire-session.multi-questions > .play-progress {
	top: 0;
}
.questionnaire.quick .play-progress > .current-progress {
	padding: .5em 0;
}

.questionnaire > .questionnaire-title {
	margin-bottom: 1em;
	padding: 1em;
	box-shadow: #606060 0px 5px 5px 0px;
	background: #43618e;
	color: white;
	text-align: center;
}
.questionnaire.compact > .questionnaire-title {
	margin-bottom: 0.5em;
	padding: 0.5em;
}

.questionnaire .play-header > h2 {
	margin: 0;
	font-size: 1.2em !important;
	line-height: initial;
}
.questionnaire > .questionnaire-title h2 {
	margin: 0;
	font-size: 1.4em !important;
	line-height: initial;
}
.questionnaire.compact > .questionnaire-title h2 {
	font-size: 1.3em !important;
	line-height: initial;
}

.questionnaire > .questionnaire-title .name {
	color: yellow;
}

.questionnaire .respondent {
	margin-top: 0.5em;
}

.questionnaire > .player {
	width: 95%;
	max-width: 45em;
	box-sizing: border-box;
	margin: 1em auto 1em auto;
}
.questionnaire.compact > .player {
	margin-top: 0;
}

.questionnaire > .player.finished {
	width: 100%;
	max-width: none;
	margin: 0;
}

.questionnaire > .player > .intro {
	display: block;
	width: 100%;
	max-width: 30em;
	margin: 0 auto;
	text-align: center;
}

.questionnaire > .player > .intro > h3 {
	text-align: center;
	line-height: initial;
}

.questionnaire > .player > .intro > .description {
	margin: 2em 0 1em 0;
	text-align: justify;
}

.help {
	display: block;
	width: 100%;
	max-width: 30em;
	margin: 0 auto;
	text-align: center;
}

.help-body {
	display: inline-block;
	margin: 0.5em;
	padding: 1em;
	background: cornsilk;
	color: #606060;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 1em;
	text-align: left;
}

.help-body .notice, .help-body .hint {
	text-align: center;
}

.help-body .notice {
	margin-bottom: 0.5em;
	font-weight: 600;
}

.play-progress {
	width: 100%;
	margin-bottom: 1em;
	padding: 1em;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	color: #606060;
	font-size: 0.8em;    
	text-align: center;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.play-progress > .current-progress > span {
    display: inline-block;
    padding: 0 .1em;
}

.play-progress h2 {
	margin: 0 0 0.5em 0;
}

.play-progress .button.history {
	margin: 0 0 0 1em;
	padding: 0.5em;
}

.play-progress .button.stop {
	margin: 0 0 0 1em;
	padding: 0.5em;
	background: #ddd;
	color: #444;
}

.play-header {
	width: 100%;
	max-width: 30em;
	margin: 0 auto;
	text-align: justify;
}

.play-footer {
	width: 100%;
	max-width: 30em;
	margin: 0 auto;
	text-align: justify;
}

.common-choices {
	display: none;
}

/*
/// }
*/

/*
/// Question {
*/

.questionnaire .question {
	width: 100%;
	font-family: 'Open Sans', 'Helvetica Neue', helvetica, arial, verdana, sans-serif;
}

.questionnaire .question > .question-body {
	width: calc(100% - 2em);
	margin: .5em;
	text-align: center;
	font-size: 1.4em;
	font-weight: 600;
}

.questionnaire .question > .question-body img {
	max-width: 100%;
}

.questionnaire .question > .interactive {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-evenly;
	align-items: center;
	align-content: center;
}

.questionnaire .question > .interactive > .cases {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
}

.questionnaire .question > .interactive > .cases > .case {
	margin: 0.5em;
	padding: 1em;
	background: darkgrey;
	color: white;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 1em;
	cursor: pointer;
	box-shadow: #606060 1px 1px 10px 2px;
	text-align: center;
}

.questionnaire .question > .interactive > .cases > .case.active {
	background: orangered;
}

.questionnaire .question > .interactive > .cases > .case > .case-body {
	display: inline-block;
}

.questionnaire .question > .interactive > .cases > .case > .choice {
	display: inline-block;
	float: right;
	margin: 0 0 0 0.5em;
	padding: 0.1em 0.5em;
	background: darkgreen;
	color: white;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 1em;
	text-align: center;
	font-size: 0.8em;
}

.questionnaire .question > .interactive > .cases > .case.active > .choice {
	background: rgba(255,255,255,0.3);
}

.questionnaire .question > .interactive > .choices {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
}

.questionnaire .question > .interactive > .cases + .choices {
	flex-flow: column nowrap;
}

.questionnaire .question > .interactive > .choices > .choice {
	margin: 0.4em;
	padding: .5em;
	/*background: darkgreen;*/
    background: #43618e;
	color: white;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: .4em;
	cursor: pointer;
	box-shadow: #606060 1px 1px 10px 2px;
	text-align: center;
}

.questionnaire .question > .interactive > .choices > .choice.selected {
	box-shadow: none;
	background: orangered;
	color: white;
	text-shadow: 1px 1px 1px #303030;
}

.questionnaire .question > .buttons {
	margin-top: 1em;
}
.questionnaire.compact .question > .buttons {
	margin-top: 0.5em;
}
.questionnaire.compact .question > .buttons > .button {
	padding: 0.5em 0.7em;
}

.questionnaire .question.single.auto > .buttons > .button.submit {
	display: none;
}

.questionnaire .question > .explanation {
	text-align: center;
}

.questionnaire .question > .explanation > .message {
	margin: 0.5em;
	padding: 1em;
	background: #eeffee;
	color: #606060;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 1em;
}

.questionnaire .question > .explanation > .message.bad {
	background: #ffeeee;
}

.questionnaire.compact .question > .question-body {
	/*font-size: 1.2em;*/
}
.questionnaire.compact .question > .interactive > .cases > .case,
.questionnaire.compact .question > .interactive > .choices > .choice {
	padding: 0.3em .5em;
}

.questionnaire-session.multi-questions .question {
	border-bottom: 1px dotted #ccc;
}
.questionnaire-session.multi-questions .question:not(.complex) > .question-body {
	margin-bottom: 0;
}
.questionnaire-session.multi-questions .question:not(.complex) > .interactive > .choices > .choice {
	padding: 0;
	box-shadow: none;
	border: none;
	background: none;
	color: inherit;
	text-shadow: none;
}
.questionnaire-session.multi-questions .question:not(.complex) > .interactive > .choices > .choice::before {
	content: "\f111";
	margin-right: 0.5em;
	font-family: "Font Awesome 5 Free" !important;
	font-style: normal;
	font-weight: 400;
}
.questionnaire-session.multi-questions .question:not(.complex) > .interactive > .choices > .choice.selected::before {
	content: "\f111";
	font-weight: 900;
}

.questionnaire-session.table-mode {
	display: table;
	width: 100%;
}
.questionnaire-session.table-mode > .play-progress {
	display: table-caption;
}
.questionnaire-session.table-mode > .common-choices,
.questionnaire-session.table-mode > .question {
	display: table-row;
}
.questionnaire-session.table-mode .question-body,
.questionnaire-session.table-mode .interactive {
	display: table-cell;
	width: unset;
	padding: 0.5em;
	vertical-align: middle;
	border-bottom: 1px dotted #ccc;
	font-size: 1em;
	font-weight: normal;
}
/* this is for preview result widget */
.questionnaire-session.table-mode .question-body {
	text-align: center;
}
/*.questionnaire-session.table-mode .question-body .widget,
.questionnaire-session .play-progress .widget {
	height: 150px;
}*/
.questionnaire-session.table-mode .interactive > .choices {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
}
.questionnaire-session.table-mode > .common-choices > .interactive > .choices > div {
	width: 1.5em;
	writing-mode: vertical-lr;
	white-space: nowrap;
	text-align: right;
}
.questionnaire-session.table-mode .interactive > .choices > .choice {
	margin: 0;
	width: 1.5em;
}
.questionnaire-session.table-mode .interactive > .choices > .choice > * {
	display: none;
}

/*
/// }
*/

/*
/// Review {
*/

.review {
	margin: 1em;
}

.review > h2 {
	text-align: center;
	line-height: initial;
}

.review > .help .button.finish {
	padding: 0.5em;
	background: darkgreen;
}

.review > .questions {
	display: table;
	width: 100%;
	margin-bottom: 1em;
	border: 1px solid #ccc;
}

.review > .questions > .question {
	display: table-row;
	visibility: visible;
	opacity: 1;
	transition: opacity 0.33s linear;
}

.review > .questions > .question.different {
	background: #ffffc8;
}

.review > .questions.diff-only > .question:not(.different) {
	visibility: collapse;
	opacity: 0;
	transition: visibility 0s linear 0.33s, opacity 0.33s linear;
}

@-moz-document url-prefix() {
	/* Fix for Firefox not correctly calculating container height with visibility collapsed */
	.review > .questions.diff-only > .question:not(.different) {
		display: none;
	}
}

.review > .questions.diff-only > .question.header, .review > .questions.diff-only > .question.empty {
	display: table-row;
	visibility: visible;
	opacity: 1;
	transition: none;
}

.review > .questions > .question > .question-body {
	display: table-cell;
	padding: 0.5em;
	border-bottom: 1px solid #ccc;
	text-align: left;
	vertical-align: middle;
	font-size: 1em;
	font-weight: normal;
}

.review > .questions > .question > .question-body:empty {
	display: none;
}

.review > .questions > .question > .response {
	display: table-cell;
	padding: 0em;
	border-bottom: 1px solid #ccc;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
}

.review > .questions > .question.header > .response {
	vertical-align: bottom;
}

.review > .questions > .question:last-child > .question-body, .review > .questions > .question:last-child > .response {
	border-bottom: none;
}

.review > .questions > .question > .response.tweaked {
	position: relative;
}

.review > .questions > .question > .response.tweaked::after {
	content: "Changed";
	position: absolute;
	right: 0.5em;
	bottom: 0.5em;
	padding: 0.4em;
	border-radius: 0.4em;
	background: antiquewhite;
	color: black;
	font-size: 0.7em;
}

.review > .questions > .question > .response > .choice.modified, .review > .questions > .question > .response > .case.modified {
	background: crimson;
	color: white;
	text-shadow: none;
}

.review > .questions > .question > .response > .choice, .review > .questions > .question > .response > .case {
	display: inline-block;
	margin: 0.2em;
	padding: 0.1em;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 0.5em;
	background: #ddd;
	color: black;
	text-shadow: 1px 1px 1px #eee;
	text-align: center;
}

.review > .questions > .question > .response > .case > .choice {
	display: inline-block;
	float: right;
	margin: 0 0 0 0.5em;
	padding: 0.1em 0.5em;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 1em;
	background: darkslategray;
	color: white;
	text-shadow: none;
	text-align: center;
	font-size: 0.8em;
}

.review > .questions > .question > .response > .status {
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em;
	border-radius: 0.5em;
	background: antiquewhite;
	color: black;
	font-size: 0.9em;
}

.review > .questions > .question > .response > .status.title-avatar {
	padding-left: calc(32px + 0.5em);
    background-size: 32px;
    background-repeat: no-repeat;
}

.review > .questions > .question > .response > .date {
	white-space: nowrap;
	font-size: 0.9rem;
}

.review > .questions > .question > .response > .remove, .review > .questions > .question > .response > .tweak {
	display: inline-block;
	margin: 0.2em;
	margin-top: 0.5em;
	padding: 0.5em;
	border-radius: 0.5em;
	background: #eee;
	color: black;
	font-size: 0.9em;
	cursor: pointer;
}

.review > .questions > .question > .response > .button.status {
	background: cadetblue;
	color: white;
}

.review > .questions > .question > .response > .result .legend {
	margin: 1em 0 0 0;
}

.review > .questions > .question > .button.fix {
	margin: 0 0 0 0.5em;
}

/*
/// }
*/

/*
/// Results {
*/

.questionnaire-session .result {
	text-align: center;
}

.questionnaire-session .result .score {
	display: inline-block;
}

.questionnaire-session .result .score > span {
	font-weight: bold;
}

.questionnaire-session .result.failed .score {
	color: darkred;
}

.questionnaire-session .result > .legend {
	display: inline-block;
	max-width: calc(100% - 2em);
	margin: 1em;
	padding: 1em;
	overflow: hidden;
	border-radius: 1em;
	background: #eef5ff;
}

.questionnaire-session > .review .result > .legend {
	max-width: 100%;
}

.questionnaire-session .result > .legend ul.categories {
	display: table;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.questionnaire-session .result > .legend a, .questionnaire-session .result > .legend span {
	text-decoration: none;
	color: #406090;
}

.questionnaire-session .result > .legend a:hover {
	color: #6090C5;
}

.questionnaire-session .result > .legend span + .score {
	float: right;
	margin-left: 0.4em;
}

.questionnaire-session .result .category > h3 {
	z-index: 3;
	/*position: sticky;*/
	/*top: 0;*/
	padding: 1em;
	box-shadow: #606060 0px 5px 5px 0px;
	background: #43618e;
	line-height: initial;
}

.questionnaire-session .result .category h3 > a, .questionnaire-session .result .category h3 > a:hover {
	text-decoration: none;
	color: white;
}

.questionnaire-session .question-body .widget {
	max-height: 30vh;
	display: flex;
}
.questionnaire-session .play-progress .widget {
	max-height: 30vh;
	display: flex;
	justify-content: center;
}
.questionnaire-session .result > .legend .widget {
	width: 80vw;
	/*max-width: 350px;*/
	height: 200px;
	/*display: flex;*/
	flex-flow: row wrap;
}
.questionnaire-session .review .result > .legend .widget {
	width: 200px;
}

.questionnaire-session .result > .legend .widget:not(:empty) ~ .categories {
	display: none;
}

.player .widget {
	width: 100%;
	justify-content: center;
}
.player .widget > .serie {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
    max-height: 100%;
    align-items: center;
    display: flex;
    flex-flow: column;
}
.player .widget > .serie > .gauge {
    max-height: calc(100% - 1em);
}


/*
/// }
*/