@import url("https://fonts.googleapis.com/css?family=Montserrat:400,400i,500,600,600i&subset=latin,cyrillic");

/* ! reset */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, var, dl, dt, dd,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, ol, ul, li,
article, aside, details, dialog, figure, footer, header, main, mark, nav, section, summary, time,
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="submit"], textarea, select
	{
		margin: 0;
		padding: 0;
		border: none;
		outline: none;
		font-weight: inherit;
		font-style: inherit;
		font-size: 100%;
		font-family: inherit;
		line-height: inherit;
		vertical-align: baseline;
	}

:focus
	{
		outline: none;
	}

body, input, textarea, select
	{
		font-size: 18px;
		font-family: "Montserrat", sans-serif;
		font-weight: 400;
		line-height: 1.5em;
		color: #000;
		background-color: #f9fafa;
	}

@media only screen and (max-width: 1023px)
	{
		body
			{
				font-size: 16px;
				line-height: 1.5em;
			}
	}

table
	{
		border-collapse: collapse;
		border-spacing: 0;
	}

caption, th, td
	{
		text-align: left;
		font-weight: 400;
	}

blockquote:before, blockquote:after, q:before, q:after
	{
		content: "";
	}

blockquote, q
	{
		quotes: "" "";
	}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="submit"], textarea, select
	{
		font-size: 100%;
		position: relative;
		display: inline-block;
		background-color: #fff;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		resize: none;
	}

input[type="checkbox"]
	{
		margin: 0 4px 0 0;
		padding: 0;
	}

html *
	{
		-webkit-font-smoothing: subpixel-antialiased;
		-webkit-tap-highlight-color: transparent;
		-moz-tap-highlight-color: transparent;
		-webkit-text-size-adjust: none;
		-moz-text-size-adjust: none;
		-ms-text-size-adjust: none;
		text-size-adjust: none;
		max-height: 1000000px;
	}

/* ! styles */

article p, article pre, article blockquote, article address, article ol, article ul, article dl,
article table, article form, article fieldset, article div, article hr, article .hr, article object,
article embed, article iframe, article audio, article video
	{
		margin-top: 1.5em;
	}

article :first-child, article ol ul, article ul ol, article ul ul, article ol ol, article div div,
article table table
	{
		margin-top: 0;
	}

article h2
	{
		font-size: 177.777777%;
		line-height: 1.5em;
		font-weight: 600;
	}

@media only screen and (max-width: 1023px)
	{
		article h2
			{
				font-size: 166.666666%;
				line-height: 1.5em;
			}
	}

/* ! select */

header, footer, .e-btn, body>.alert, .form, .question, .box, .test, .module, .block, .send-error
	{
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		-o-user-select: none;
		user-select: none;
		cursor: default;
	}

/* ! header */

header
	{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		background-color: #2e5797;
		height: 64px;
		z-index: 100;
		box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, .05), 0px 0px 10px 0px rgba(0, 0, 0, .15);
	}

/* @supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial))
	{
		header
			{
				-webkit-backdrop-filter: saturate(180%) blur(20px);
				backdrop-filter: saturate(180%) blur(20px);
				background-color: rgba(255, 255, 255, .75);
			}
	} */

header .wrapper
	{
		max-width: none;
		height: 64px;
		padding: 0 20px;
		overflow: visible;
		position: relative;
		margin: 0 auto;
	}

header .logo span
	{
		position: absolute;
		width: 280px;
		height: 40px;
		left: 50%;
		margin-left: -140px;
		top: 9px;
		text-align: center;
	}

header .logo span b
	{
		white-space: nowrap;
		color: #fff;
		font-size: 36px;
		line-height: 1em;
		font-weight: 600;
	}

header .logo span b small
	{
		display: block;
		color: #fff;
		font-size: 9px;
		line-height: 0;
	}

/* ! branding */

.branding
	{
		position: absolute;
		right: 40px;
		width: 160px;
		top: 10px;
		height: 44px;
		display: flex;
		align-items: center;
	}

.branding a
	{
		display: block;
	}

.branding img
	{
		display: block;
		max-width: 100%;
		max-height: 100%;
	}

.branded
	{
		background: #fff;
	}

.branded .logo span
	{
		left: 40px;
		margin-left: 0;
		text-align: left;
	}

.branded .logo span b, .branded .logo span b small
	{
		color: #2e5797;
	}

@media only screen and (max-width: 720px)
	{
		.branding
			{
				right: 20px;
			}
		.branded .logo span
			{
				left: 20px;
			}
	}

@media only screen and (max-width: 540px)
	{
		.branding
			{
				width: 120px;
			}
		.branded .logo span
			{
				top: 19px;
			}
		.branded .logo span b
			{
				font-size: 26px;
			}
		.branded .logo span b small
			{
				display: none;
			}
	}

@media print
	{
		.branded
			{
				padding: 0 !important;
				width: 1000px;
				max-width: 944px !important;
				border-bottom: 1px solid #ccc;
			}
		.branding
			{
				right: 0;
			}
		.branded .logo
			{
				text-align: left !important;
			}
	}

/* ! main */

main
	{
		display: block;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
		max-width: 944px !important;
		padding: 144px 40px 80px 40px;
	}

@media only screen and (max-width: 1023px)
	{
		main
			{
				padding: 120px 40px 60px 40px;
			}
	}

@media only screen and (max-width: 720px)
	{
		main
			{
				padding: 100px 20px 40px 20px;
			}
	}

/* ! footer */

footer
	{
		padding: 20px;
		border-top: 1px solid #e4e6e6;
		text-align: center;
	}

footer.fixed
	{
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
	}

footer .copyrights
	{
		color: rgba(0, 0, 0, .5);
		font-size: 13px;
		line-height: 1.4em;
	}

footer .copyrights img
	{
		margin: 0 15px 10px 15px;
		height: 58px;

		height: 40px;
	}

/* ! form */

.form
	{
		font-size: 16px;
	}

.form.modal
	{
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		opacity: 0;
		background-color: rgba(0, 0, 0, .25);
		z-index: 10000;
	}

.form.modal.touch
	{
		position: absolute;
	}

.form.modal .wrapper
	{
		position: absolute;
		overflow: hidden;
		background: #fff;
		width: 480px;
		left: 50%;
		top: 50%;
		margin-left: -240px;
		padding-top: 40px;
		-moz-transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		border-radius: 15px;
	}

.form.modal.touch .wrapper
	{
		-moz-transform: inherit;
		-webkit-transform: inherit;
		transform: inherit;
	}

.form input[type="text"], .form input[type="tel"], .form input[type="email"], .form input[type="password"], .form textarea, .form select
	{
		border: 1px solid #cad0d7;
		display: block;
		width: 100%;
		padding: 9px 12px;
		border-radius: 5px;
		font-size: 16px;
		line-height: 1.5em;
		font-weight: 500;
	}

.form select
	{
		overflow: hidden;
		height: 44px;
		background: transparent;
		z-index: 3;
		font-size: 16px;
		line-height: 26px;
	}

.form .select-wrapper
	{
		display: block;
		background: #fff;
		position: relative;
		text-align: left;
	}

.form .select-wrapper i
	{
		display: block;
		position: absolute;
		right: 1px;
		bottom: 1px;
		width: 34px;
		height: 42px;
		z-index: 1;
	}

.form .select-wrapper i svg
	{
		display: inline-block;
		width: 8px;
		height: 5px;
		margin: 19px 0 0 10px;
		fill: currentColor;
	}

.form input[type="text"]:focus, .form input[type="tel"]:focus, .form input[type="email"]:focus, .form input[type="password"]:focus, .form textarea:focus, .form select:focus
	{
		border-color: #747c7f;
	}

.form .alert
	{
		border-color: orangered !important;
	}

.form h3
	{
		margin-bottom: .6em;
		font-size: 150%;
		line-height: 1.3em;
		margin-top: 0 !important;
	}

.form h4
	{
		margin: 1.5em 0;
		font-size: 100%;
		line-height: 1.5em;
		color: #73767b;
	}

.form p
	{
		position: relative;
		margin-top: 20px;
		font-size: 88.888888%;
		line-height: 1.3em;
	}

.form p:first-child
	{
		margin-top: 0 !important;
	}

.form label
	{
		display: inline-block;
		margin-bottom: .35em;
	}

.form label i
	{
		font-style: normal;
		color: #73767b;
	}

.form .submit
	{
		margin-top: 30px;
	}

.form .close
	{
		position: absolute;
		overflow: hidden;
		width: 24px;
		height: 24px;
		right: 14px;
		top: 14px;
		z-index: 10;
		cursor: pointer;
	}

.form .close svg
	{
		display: inline-block;
		width: 14px;
		height: 14px;
		margin: 6px 0 0 6px;
		fill: currentColor;
	}

article .form .close, .close.hidden
	{
		display: none;
	}

.form.modal h3
	{
		position: relative;
		padding: 0 48px 8px 40px;
		font-size: 150%;
		line-height: 1.3em;
		margin-bottom: 0;
		font-weight: 600;
		z-index: 5;
	}

.form.modal h4
	{
		margin-top: 12px;
	}

.form.modal h4, .form.modal p
	{
		margin-left: 40px;
		margin-right: 40px;
	}

.form.modal .submit
	{
		margin-left: 40px;
		margin-bottom: 40px;
	}

.desktop .form .close:hover, .form .close.tap
	{
		color: orangered;
	}

.form .group
	{
		margin-top: .5em !important;
		margin-bottom: -5px;
	}

.form .group p
	{
		margin-top: .25em !important;
	}

.form .group .level
	{
		padding-left: 26px;
		margin-bottom: .5em !important;
	}

.form p.gray
	{
		color: #73767b;
	}

.form .hide
	{
		display: none;
	}

/* ! alert */

body>.alert
	{
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		opacity: 0;
		background-color: rgba(0, 0, 0, .25);
		z-index: 10000;
	}

body>.alert p
	{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 340px;
		margin-left: -200px;
		margin-top: 32px;
		padding: 30px;
		font-size: 16px;
		line-height: 1.5em;
		text-align: center;
		background-color: #fff;
		-moz-transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .25);
		border-radius: 15px;
		font-weight: 500;
	}

body>.alert p b
	{
		display: block;
		font-weight: 400;
	}

body>.alert p b:before
	{
		content: "!";
		color: orangered;
		font-size: 64px;
		display: block;
		font-weight: 600;
		margin-bottom: 30px;
		line-height: .75em;
	}

body>.alert p .e-btn
	{
		margin-top: 30px;
	}

@media only screen and (max-width: 640px)
	{
		body>.alert p
			{
				width: auto;
				margin-left: 0;
				margin-top: 0;
				left: 20px;
				right: 20px;
				padding: 30px 26px;
			}
	}

@media only screen and (max-width: 360px)
	{
		body>.alert p
			{
				font-size: 14px;
				line-height: 1.5em;
			}
	}

/* ! radio */

.radio
	{
		position: relative;
		margin-top: .5em;
	}

.radio.first
	{
		margin-top: 1.3em;
	}

.radio input
	{
		position: absolute;
		left: -200vw;
	}

.radio *
	{
		cursor: pointer;
	}

.radio label
	{
		padding-left: 26px;
		display: inline-block;
	}

.radio label:before
	{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 18px;
		height: 18px;
		background: #dcdfe4;
		background:#e5e7eb;
		border-radius: 10em;
		box-shadow: inset 0em .1em .15em rgba(0, 0, 0, .2);
	}

.radio label:after
	{
		content: "";
		display: block;
		position: absolute;
		top: 6px;
		left: 6px;
		width: 6px;
		height: 6px;
		border-radius: 10em;
		background: #fff;
		opacity: 0;
	}

.radio input:checked + label:after
	{
		opacity: 1;
		transform: scale(1);
	}

.radio input:active + label:before
	{
		background-color: #d7dce1;
	}

.radio input:checked + label:before
	{
		background-color: #2e5797;
	}

/* ! button */

.e-btn
	{
		display: inline-block;
		position: relative;
		overflow: hidden;
		color: #fff !important;
		background-color: #2e5797 !important;
		padding: 12px 30px !important;
		line-height: 1.5em !important;
		text-decoration: none;
		cursor: pointer;
		border-radius: 5px;
		font-weight: 500;
		border-bottom: none !important;
		vertical-align: top;
		transition: background-color .1s;
	}

.e-btn.disabled
	{
		background-color: #acb6be !important;
		border-color: #acb6be !important;
		cursor: default;
	}

.button
	{
		text-align: center;
		margin-top: 40px;
	}

/* ! progress */

.progress
	{
    position: fixed;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 0;
    background-color: #2e5797;
    transition: width 1s;
    z-index: 10;
	}

/* ! registration */

#test-registration-form, #test-questionnaire-form, .box
	{
		position: relative;
		padding: 40px;
		border-radius: 15px;
		box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, .15);
		margin-top: 1.5em;
		background: #fff;
		overflow: hidden;
	}

#test-registration-name-wrapper, #test-registration-email-wrapper
	{
		width: 70%;
		padding-right: 10px;
		box-sizing: border-box;
		float: left;
		margin: 0;
		padding-top: 20px;
	}

#test-registration-year-wrapper, #test-registration-gender-wrapper
	{
		width: 30%;
		padding-left: 10px;
		box-sizing: border-box;
		margin: 0;
		float: left;
		white-space: nowrap;
	}

#test-registration-year-wrapper
	{
		padding-top: 20px;
		float: right;
	}

#test-registration-name-wrapper
	{
		padding-top: 0;
	}

.box .small
	{
		color: rgba(0, 0, 0, .5);
		font-size: 15px;
		line-height: 1.4em;
		margin-bottom: -1.75em;
	}

@media only screen and (max-width: 640px)
	{
		#test-registration-form, #test-questionnaire-form, .box
			{
				padding: 30px;
			}
		#test-registration-form p
			{
				width: auto;
				float: none;
				padding: 0;
				margin-top: 15px;
			}
		#test-registration-form #test-registration-gender-wrapper, #test-registration-form #test-registration-year-wrapper
			{
				width: 50%;
				padding-right: 10px;
				box-sizing: border-box;
				float: left;
				margin: 0;
				padding-top: 15px;
			}
		#test-registration-form #test-registration-year-wrapper
			{
				padding-right: 0;
				padding-left: 10px;
			}
		#test-registration-form #test-registration-email-wrapper
			{
				clear: both;
				padding-top: 15px;
			}
	}

@media only screen and (max-width: 340px)
	{
		#test-registration-form, #test-questionnaire-form, .box
			{
				padding: 20px;
			}
		#test-registration-form #test-registration-gender-wrapper, #test-registration-form #test-registration-year-wrapper, #test-registration-form #test-registration-email-wrapper
			{
				width: auto;
				float: none;
				padding: 0;
				margin-top: 15px;
			}
	}

/* ! error */

.send-error
	{
		position: fixed;
		right: 30px;
		bottom: 10px;
		font-size: 13px;
		line-height: 1em;
		color: #2e5797;
		white-space: nowrap;
		cursor: pointer;
		background: #f9fafa;
		padding: 4px 10px;
		border-radius: 10px;
		z-index: 100;
	}

.send-error::after
	{
		content: '';
		position: absolute;
		left: 10px;
		right: 10px;
		bottom: 3px;
		border-bottom: 1px dashed #2e5797;
	}

@media only screen and (max-width: 640px)
	{
		.form.modal .wrapper
			{
				width: auto;
				left: 20px;
				right: 20px;
				margin-left: 0;
				padding-top: 30px;
			}

		.form p
			{
				margin-top: 15px;
			}

		.form.modal h4, .form.modal p
			{
				margin-left: 30px;
				margin-right: 30px;
			}

		.form.modal .submit
			{
				margin: 30px;
			}
	}

/* ! window */

.window
	{
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 1000;
		overflow: auto;
		padding: 50px;
		background: #fff;
		font-size: 16px;
		line-height: 1.4em;
		display: none;
	}

.window.open
	{
		display: block;
	}

.window .close
	{
		position: absolute;
		overflow: hidden;
		width: 24px;
		height: 24px;
		right: 14px;
		top: 14px;
		z-index: 10;
		cursor: pointer;
	}

.window .close svg
	{
		display: inline-block;
		width: 14px;
		height: 14px;
		margin: 6px 0 0 6px;
		fill: currentColor;
	}

.desktop .window .close:hover, .window .close.tap
	{
		color: orangered;
	}

.window .content
	{
		max-width: 700px;
		margin: 0 auto;
	}

.window p, .window ol
	{
		margin-top: 1em;
	}

.window ol
	{
		padding-left: 2.5em;
	}

.window p:first-child
	{
		margin-top: 0;
	}

.man-b-show, .man-c-show, .man-j-show
	{
		cursor: pointer;
		color: #2e5797;
		border-bottom: 1px dashed #2e5797;
	}

@media only screen and (max-width: 640px)
	{
		.window
			{
				padding: 50px 20px;
			}
	}

/* ! test */

.test
	{
		position: fixed;
		left: 0;
		right: 0;
		top: 64px;
		bottom: 0;
		overflow: auto;
		overflow-x: hidden;
		display: none;
	}

.test.passed
	{
		top: 50%;
		bottom: auto;
		-moz-transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		margin-top: 32px;
		max-height: calc(100vh - 64px);
		display: block;
	}

.question, .description
	{
		position: relative;
		width: 100%;
		text-align: center;
		padding: 50px 0 50px 0;
	}

.module
	{
		padding: 0 20px 0 20px;
		text-align: center;
		font-size: 14px;
		line-height: 1.4em;
		background: #eeeff0;
		box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
	}

.module b
	{
		font-weight: 500;
	}

.module h3
	{
		padding-top: 6px;
	}

.module p
	{
		color: rgba(0, 0, 0, .5);
		padding-bottom: 4px;
		padding-top: 2px;
	}

@media only screen and (max-width: 640px)
	{
		.module
			{
				font-size: 12px;
				line-height: 1.4em;
			}
	}

.block
	{
		position: fixed;
		right: 0;
		bottom: 0;
		padding: 10px;
		font-size: 13px;
		line-height: .75em;
		color: rgba(0, 0, 0, .5);
	}

.question h2, .description h2
	{
		font-weight: 500;
		font-size: 24px;
		line-height: 1.5em;
		padding: 0 10% 30px 10%;
		margin-left: auto;
		margin-right: auto;
		max-width: 900px;
	}

.question .wrap
	{
		display: flex;
		flex-wrap: wrap;
		text-align: left;
		width: 240px;
		margin-left: auto;
		margin-right: auto;
		border-radius: 15px;
		margin-bottom: 40px;
		background: #fff;
		box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, .15);
		overflow: hidden;
		position: relative;
	}

.question .wrap.list
	{
		width: 250px;
	}

.question .item
	{
		position: relative;
		width: 50%;
	}

.question .list .item
	{
		width: 100%;
	}

.question .item input
	{
		position: absolute;
		left: -200vw;
	}

.question .item *
	{
		cursor: pointer;
	}

.question .item label
	{
		display: block;
		border-left: 1px solid #eeeff0;
		padding: 12px 12px 12px 40px;
		font-size: 16px;
		line-height: 22px;
		font-weight: 500;
		text-align: center;
	}

.question .list .item label
	{
		padding: 12px 12px 12px 44px;
		border-left: none;
		border-top: 1px solid #eeeff0;
		text-align: left;
	}

.question .item label:active
	{
		background: #f9fafa;
	}

.question .item:first-child label
	{
		border: none;
	}

.question .item input[type="radio"] + label:before
	{
		content: "";
		display: block;
		position: absolute;
		top: 14px;
		left: 14px;
		border-radius: 10vw;
		border: 1px solid #cad0d7;
		width: 18px;
		height: 18px;
	}

.question .item input[type="radio"] + label:after
	{
		content: "";
		display: block;
		position: absolute;
		top: -6px;
		left: -3px;
		width: 52px;
		height: 52px;
		background: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2NCA2NCIgaGVpZ2h0PSI2NCIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTMyLjU5IDQxLjkyLTkuODctOS44N2MtLjMxLS4zMS0uMzEtLjgyIDAtMS4xM2wxLjctMS43Yy4zMS0uMzEuODItLjMxIDEuMTMgMGw3LjYxIDcuNjEgMTYuOTYtMTYuOTZjLjMxLS4zMS44Mi0uMzEgMS4xMyAwbDEuNyAxLjdjLjMxLjMxLjMxLjgyIDAgMS4xM2wtMTkuMjMgMTkuMjJjLS4zMS4zMS0uODIuMzEtMS4xMyAweiIgZmlsbD0iIzJlNTc5NyIvPjwvc3ZnPg==") center center no-repeat;
		background-size: cover;
		opacity: 0;
		transform: scale(.5);
		transition: opacity .1s, transform .1s;
	}

.question .item input[type="radio"]:checked + label:after
	{
		opacity: 1;
		transform: scale(1);
	}

.question .button, .description .button
	{
		margin-top: 0 !important;
		padding-bottom: 1px;
	}

.question .grid
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

.question .grid .wrap
	{
		margin-left: 20px;
		margin-right: 20px;
	}

.question .grid div span
	{
		color: rgba(0, 0, 0, .5);
		display: block;
		font-size: 15px;
		line-height: 1.5em;
		padding-bottom: .5em;
	}

.question input[type="text"]
	{
		display: block;
		padding: 12px;
		font-size: 16px;
		line-height: 22px;
		font-weight: 500;
		text-align: center;
		background: transparent;
	}

.question ins, .description ins
	{
		font-weight: 400;
		font-style: normal;
		text-decoration: none;
	}

.question i, .description i
	{
		color: rgba(0, 0, 0, .5);
		font-weight: 400;
		font-style: italic;
	}

.question s, .description s
	{
		color: rgba(0, 0, 0, .5);
		font-weight: 400;
		text-decoration: none;
		text-transform: uppercase;
	}

.question u, .description u
	{
		text-underline-offset: .1em;
	}

.question b, .description b
	{
		font-weight: 600;
	}

@media only screen and (max-width: 1023px)
	{
		.question .item label
			{
				font-size: 15px;
			}	
	}

@media only screen and (max-width: 640px)
	{
		.question, .description
			{
				box-sizing: border-box;
				padding-left: 20px;
				padding-right: 20px;
			}
		.question h2, .description h2
			{
				padding: 0 0 20px 0;
				font-size: 17px;
				line-height: 1.4em;
				font-weight: 600;
			}
		.question .wrap
			{
				margin-bottom: 30px;
			}
	}

@media only screen and (max-width: 340px)
	{
		.question h2, .description h2
			{
				font-size: 16px;
				line-height: 1.4em;
			}
	}

.test-passed, .sending-error, .payment
	{
		text-align: center;
		font-size: 16px;
		line-height: 1.5em;
	}

.test-passed:before, .sending-error:before, .payment:before
	{
		content: "";
		display: block;
		margin: 0 auto;
		width: 160px;
		height: 144px;
		margin-bottom: 30px;
		background: url(/lib/qscid-5/cool.svg) center center no-repeat;
	}

.sending-error:before
	{
		height: 128px;
		background-image: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNjAgMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDE2MCAxMjgiIHdpZHRoPSIxNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB4Mj0iMTYwIiB5MT0iNTkuNjUiIHkyPSI1OS42NSI+PHN0b3Agb2Zmc2V0PSIuNCIgc3RvcC1jb2xvcj0iIzgwYWNkNyIvPjxzdG9wIG9mZnNldD0iLjYiIHN0b3AtY29sb3I9IiM5ZGJmZDgiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im0xMTkuNyAzMC40Yy03LjEtMTQuOC0yMi4zLTI1LjEtMzkuOS0yNS4xLTIxLjUgMC0zOS40IDE1LjQtNDMuMyAzNS43LTIwLjEgMC0zNi41IDE2LjQtMzYuNSAzNi41IDAgMjAuMiAxNi40IDM2LjUgMzYuNiAzNi41aDgxLjVjMjMuMSAwIDQxLjktMTguNyA0MS45LTQxLjggMC0yMi42LTE3LjktNDEtNDAuMy00MS44eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Im0yMy43IDYuOSA3LjMtNi45IDExMy41IDEyMS4xLTcuMyA2Ljh6IiBmaWxsPSIjZmY0NTAwIi8+PC9zdmc+");
	}

.payment:before
	{
		width: 200px;
		height: 121px;
		background: url(/lib/qscid-5/pay.svg) center center no-repeat;
	}

.test-passed h3, .sending-error h3, .payment h3
	{
		font-weight: 600;
		font-size: 22px;
		line-height: 1.5em;
		margin-bottom: 10px;
	}

.test-passed small
	{
		display: block;
		font-size: 14px;
		line-height: 1.5em;
		max-width: 350px;
		padding: 0 20px;
		margin: 10px auto 0 auto;
		color: rgba(0, 0, 0, .5);
	}

.sending-error .e-btn, .payment .e-btn
	{
		margin-top: 20px;
	}

.payment p
	{
		padding: 0 20px;
		max-width: 320px;
		margin: 0 auto;
	}

/* ! report */

.report .right
	{
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		border-top-right-radius: 15px;
		border-bottom-right-radius: 15px;
		width: 300px;
		border-left: 1px solid #eeeff0;
		text-align: center;
		background: #f9fafa;
		color: rgba(0, 0, 0, .5);
		font-size: 14px;
		line-height: 1.4em;
	}

.report .right .info
	{
		position: absolute;
		right: 10px;
		top: 10px;
	}

.report .right .info svg
	{
		display: block;
		width: 20px;
		height: 20px;
		fill: #2e5797;
	}

.report .right .center
	{
		display: table;
		height: 100%;
		width: 100%;
	}

.report .right .stage
	{
		display: table-cell;
		vertical-align: middle;
		padding: 10px;
	}

.report .right p
	{
		margin-top: 0 !important;
	}

.report .score
	{
		font-size: 48px;
		line-height: 1.4em;
		font-weight: 600;
		color: #2e5797;
	}

.report ol
	{
		list-style: none;
		margin-top: 0;
	}

.report .answers li
	{
		border-top: 1px solid #eeeff0;
		padding: 12px 110px 12px 66px;
		position: relative;
		font-size: 16px;
		line-height: 1.4em;
	}

.report .answers li.subhead
	{
		padding: 6px 20px !important;
		font-size: 15px;
		line-height: 1.4em;
		text-align: center;
		background: #f9fafa;
		color: rgba(0, 0, 0, .5);
	}

.report .answers li.no-border, .report .answers li:first-child
	{
		border: none;
	}

.report .answers li b
	{
		position: absolute;
		right: 20px;
		top: 50%;
		margin-top: -15px;
		line-height: 30px;
		color: #2e5797;
		font-size: 18px;
	}

.report .answers li b.flat
	{
		position: relative;
		right: unset;
		left: unset;
		display: block;
		margin: 0;
		line-height: 1.4em;
	}

.report .answers li em
	{
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: -15px;
		line-height: 30px;
		font-style: normal;
		color: rgba(0, 0, 0, .5);
		text-align: center;
		width: 68px;
	}

.report .answers li s
	{
		color: rgba(0, 0, 0, .5);
		text-decoration: none;
		text-transform: uppercase;
	}

.report .answers li u
	{
		text-underline-offset: .1em;
	}

.report .answers li i
	{
		color: rgba(0, 0, 0, .5);
	}

.report .answers
	{
		padding: 0 !important;
	}

.report .help
	{
		margin-top: 3em;
		color: rgba(0, 0, 0, .75);
		font-size: 16px;
		line-height: 1.4em;
		padding: 0 40px;
	}

.report .help ul
	{
		padding-left: 2em;
	}

.report .answers .head
	{
		position: relative;
		background: #2e5797;
		color: #fff;
		font-size: 14px;
		line-height: 1.4em;
		padding: 16px 20px;
		text-align: center;
	}

.report .answers .head h3
	{
		font-size: 133.333333%;
		line-height: 1.5em;
		font-weight: 500;
	}

.report .answers .head p
	{
		margin-top: .5em;
		color: rgba(255, 255, 255, .75);
	}

.report .diagnoses
	{
		color: rgba(0, 0, 0, .5);
/* 		font-size: 16px;
		line-height: 1.4em; */
	}

.report .diagnoses p
	{
		margin-top: 1em;
		padding-left: 1.25em;
		position: relative;
	}

.report .diagnoses p:first-child
	{
		margin-top: 0;
	}

.report .diagnoses div
	{
		padding-left: 3.5em;
		position: relative;
	}

.report .diagnoses img
	{
		position: absolute;
		left: -.75em;
		top: -.275em;
		width: 2em;
		height: 2em;
		display: none;
	}

.report .diagnoses div img
	{
		left: 1.5em;
	}

.report .diagnoses .have img
	{
		display: block;
	}

.report .diagnoses .have
	{
		color: orangered;
	}

@media only screen and (max-width: 1023px)
	{
		.report .answers li, .report .answers li.subhead
			{
				font-size: 14px;
				line-height: 1.4em;
			}
		.report .answers li b
			{
				font-size: 16px;
			}
		.report .help
			{
				font-size: 15px;
				line-height: 1.4em;
			}
	}

@media only screen and (max-width: 640px)
	{
		.result
			{
				padding-bottom: 190px;
			}
		.result p
			{
				margin-top: .5em;
				font-size: 15px;
				line-height: 1.5em;
			}
		.result p:first-child
			{
				margin-top: 0;
			}
		.result p b
			{
				white-space: nowrap;
			}
		.report .right
			{
				left: 0;
				top: auto;
				width: 100%;
				height: 160px;
				border-left: none;
				border-top: 1px solid #eeeff0;
				border-top-right-radius: 0;
				border-bottom-left-radius: 15px;
				border-bottom-right-radius: 15px;
			}
		.report .right .stage
			{
				padding-left: 20px;
				padding-right: 20px;
			}
		.report .right p
			{
				font-size: 14px;
				line-height: 1.4em;
			}
		.report .score
			{
				line-height: 1.2em;
			}
		.report .answers li
			{
				padding-right: 54px;
				padding-left: 58px;
			}
		.report .answers li em
			{
				width: 56px;
			}
		.report .help
			{
				padding: 0;
				font-size: 15px;
				line-height: 1.4em;
			}
		.report .answers .head
			{
				padding: 16px 20px 16px 20px;
			}
		footer .copyrights img
			{
				height: 40px;
			}
	}

@media only screen and (max-width: 340px)
	{
		.report .answers li
			{
				font-size: 13px;
				line-height: 1.4em;
				padding-right: 52px;
			}
		.report .answers li em
			{
				width: 54px;
			}
		.report .answers li b
			{
				font-size: 14px;
			}
	}

/* ! log */

.log
	{
		font-size: 13px;
		position: fixed;
		left: -1px;
		top: -1px;
		width: 400px;
		height: 64px;
		padding: 10px;
		border-radius: 0 !important;
		border: 1px solid #000;
		resize: both;
		z-index: 100;
		-webkit-user-select: text;
		-khtml-user-select: text;
		-moz-user-select: text;
		-ms-user-select: text;
		-o-user-select: text;
		user-select: text;
		cursor: text;
	}

/* ! print */

.print-report
	{
		position: absolute;
		right: 40px;
		top: 21px;
		width: 25px;
		height: 24px;		
		cursor: pointer;
		z-index: 10;
	}

.print-report svg
	{
		width: 25px;
		height: 24px;
		fill: #fff;
	}

@media only screen and (max-width: 640px)
	{
		.print-report
			{
				display: none;
			}
	}

.e-print
	{
		display: none;
	}

@media print
	{

		.test-page, .report .help, .report .right .info, .send-error, .print-report
			{
				display: none !important;
			}

		.e-print
			{
				display: block !important;
			}

		main
			{
				width: 1000px;
				padding: 0 0 20px 0 !important;
			}

		article
			{
				width: 100% !important;
			}

		*
			{
				background: none !important;
				color: #000 !important;
				box-shadow: none !important;
				color-adjust: exact;
				print-color-adjust: exact;
				-webkit-print-color-adjust: exact;
			}

		a, a *
			{
				color: #2e5797 !important;
			}

		header
			{
				position: static !important;
			}

		footer
			{
				border: none !important;
				position: static !important;
			}

		header .logo
			{
				text-align: center;
			}

		header .logo span
			{
				position: static !important;
				margin: 0 !important;
			}

		header .logo img
			{
				width: 160px;
			}

		footer .copyrights small
			{
				color: rgba(0, 0, 0, .5) !important;
				font-size: 11px;
			}

		footer .copyrights img
			{
				height: 40px;
				margin: 0 10px 4px 10px;
			}

		article p
			{
				margin-top: 1em;
			}

		article h2
			{
				margin-top: 1.5em !important;
				font-size: 100%;
				line-height: 1.5em;
			}

		header .logo span *
			{
				color: #2e5797 !important;
			}

		.box
			{
				padding: 20px;
				border: 1px solid #ccc;
				font-size: 14px;
				line-height: 1.4em;
				margin-top: 1.75em;
			}

		.box .small
			{
				margin-bottom: -.75em;
				font-size: 12px;
				line-height: 1.4em;
				color: rgba(0, 0, 0, .5) !important;
			}

		.report .right, .report .answers li
			{
				border-color: #ccc;
			}

		.report .answers li
			{
				font-size: 14px;
				line-height: 1.35em;
				padding: 8px 120px 8px 48px;
			}

		.report .answers li b
			{
				font-size: 16px;
				color: #2e5797 !important;
			}

		.report .answers li em
			{
				color: rgba(0, 0, 0, .5) !important;
				width: 50px;
			}

		.report .diagnoses p b, .report .diagnoses div, .report .answers li.subhead, .report .answers li s
			{
				color: rgba(0, 0, 0, .5) !important;
			}

		.report .answers li.subhead
			{
				background: #f9fafa !important;
			}

		.report .diagnoses p.have b, .report .diagnoses div.have
			{
				color: orangered !important;
			}

		.report .right p
			{
				font-size: 11px;
				line-height: 1.4em;
				padding: 0 20px;
				color: rgba(0, 0, 0, .5) !important;
			}
			
		.report .score
			{
				font-size: 40px;
				line-height: 1.2em;
				color: #2e5797 !important;
			}

		.report .help
			{
				font-size: 15px;
				line-height: 1.4em;
				margin-top: 1.75em;
				padding: 0 20px;
			}

		.report .answers .head
			{
				border-bottom: 1px solid #ccc;
				background: #2e5797 !important;
				color: #fff !important;
				color-adjust: exact;
				-webkit-print-color-adjust: exact;
				-webkit-text-fill-color: #fff;
			}

	}
