* { margin: 0; padding: 0; }

html, body { min-height: 100%; height: 100%; }

body { background: #fff; font-family: "Golos Text", sans-serif; font-size: 15px; }

a { color: #2148b9; text-decoration: none; }

table { border-collapse: collapse; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; }
h1 { font-size: 42px; }
h2 { font-size: 40px; }
h3 { font-size: 36px; }
h4 { font-size: 27px; }
h5 { font-size: 23px; }
h6 { font-size: 18px; }

p { font-size: 16px; line-height: 1.4; }

dl, ul, ol { font-size: 16px; }

.dim { opacity: .7; }
.flex { align-items: center; display: flex; }

.flex h1,
.flex h2,
.flex h3 { margin: 0; }

main { min-height: 40vh; padding: 2em; }

.narrow-page { margin: 0 auto; max-width: 36em; }
.wide-page { margin: 0 auto; max-width: 1900px; }

.centered-page { text-align: center; }
.centered-page h1,
.centered-page h2,
.centered-page h3,
.centered-page h4,
.centered-page h5,
.centered-page h6 { text-align: center; }

form { margin: 0 auto; max-width: 36em; text-align: left; }
form textarea,
form select,
form input[type=text],
form input[type=number],
form input[type=password] {
	background-color: #f5ebe3;
	border: 1px solid transparent;
	border-radius: 6px;
	box-sizing: border-box;
	color: #111;
	font-family: "Golos Text", sans-serif;
	font-size: 18px;
	margin: 0;
	outline: none;
	padding: .6em;
	width: 100%;
}
form textarea:focus,
form input[type=text]:focus,
form input[type=number]:focus,
form input[type=password]:focus { background-color: #fff; border-color: #e9d1bf; }
form textarea:disabled,
form input[type=text]:disabled,
form input[type=number]:disabled { background-color: #ddd; opacity: .7; }
form textarea { line-height: 1.5; min-height: 10em; }
form textarea.textarea-s { font-size: 16px; min-height: 6em; }
form .fg { margin: 0 0 1.5em; }
form .fg.fg-flex { display: flex; justify-content: space-between; }
form .fg.fg-flex > div { flex-basis: 49%; }
form .fg .label,
form .fg label { color: #777; display: block; margin: .5em 0; }
form .fg label.radio,
form .fg label.checkbox { color: #111; font-size: 17px; margin: .5em 0; }
form .fg label.radio input,
form .fg label.checkbox input { margin-right: .5em; }
form .fg.fg-date { display: flex; flex-wrap: wrap; }
form .fg.fg-date label { width: 100%; }
form .fg.fg-date > div:nth-child(2) { padding-right: 1em; width: 6em; }
form .fg.fg-date > div:nth-child(3) { padding-right: 1em; width: 12em; }
form .fg.fg-date > div:nth-child(4) { width: 6em; }
form .fg .er {
	color: #cb8957;
	display: inline-block;
	margin-top: .3em;
	max-width: 100%;
}
form input[type=text].error,
form input[type=number].error { background-color: #fff4f4; border-color: #e19797; color: #b00; }

.btn,
input[type=submit] {
	background: #04b;
	border: 1px solid transparent;
	border-radius: .25rem;
	color: #fff;
	display: inline-block;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.36;
	outline: none;
	padding: .6em 1.2em;
	text-align: center;
	text-decoration: none;
}
.btn:hover,
input[type=submit]:hover { background: #0172c3; }
input[type=submit]:disabled { background-color: #ddd; color: #777; }

.btn.btn-grey { background: #eee; color: #111; }
.btn.btn-red { background-color: #e40; color:#fff; }

.btn.btn-s { font-size: 16px; padding: .3em .7em; }
.btn-blank {
	background: none;
	border: 1px solid #04b;
	border-radius: 2px;
	color: #04b;
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	padding: .5em 1em;
	text-decoration: none;
}
.btn-blank.btn-blank-inverse { border-color: #fff; color: #fff; }
.btn-blank:hover { background: none; border-color: #0172c3; color: #0172c3; }

.btn + .btn { margin-left: 1em; }

form .radio-toggle {
	border: 1px solid #e9d1bf;
	border-radius: 6px;
	display: flex;
}
form .radio-toggle label {
	border-radius: 6px;
	color: #111;
	font-size: 18px;
	margin: 0;
	padding: .7em 1em;
}
form .radio-toggle label.checked { background: #cf9f79; color: #fff; }
form .privacy {
	color: #777;
	font-size: 13px;
	margin-top: 1em;
}
form .privacy a { color: #555; }

.form-simple { margin: 0; }
.form-simple input[type=text],
.form-simple select {
	border-radius: 2px;
	background: none;
	border-color: #777;
}
.form-simple .radio-toggle { border: none; }
.form-simple .radio-toggle label { margin-right: 20px; padding: 0; }
.form-simple .diagnosis-block .diagnosis-level {
	border: none;
	padding: 0;
}
.form-simple .diagnosis-block .diagnosis-level label { margin: 0 15px 0 0; }


.gradient {
	color: #0c3158;
	background-image: linear-gradient(to right, #1a45be, #3fb2aa);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

header { background: #fff; padding: 1.2em 2em; }
header > div {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 42px;
}
header .logo img { display: block; width: 120px; }

body header { background: none; border-bottom: none; }
body main { margin: 0 auto; max-width: 960px; min-height: 70vh; }

header .st-dots-nav { align-items: center; display: flex; gap: 10px; margin: 0; }
header .st-dots-nav span {
	background-color: #cce5e1;
	border-radius: 50%;
	height: 6px;
	width: 6px;
}
header .st-dots-nav .active { background-color: #3fb2aa; }
header .st-dots-nav small { color: #777; margin-left: 5px; position: relative; top: -1px; }

header small { color: #0f3256; font-size: 12px; }

footer { color: #777; padding: 2em; font-size: 12px; }
footer a { color: #777; margin-right: 1em; }
footer > div {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

.go-to-test { margin: 0 auto; padding: 0 2em; text-align: center; }
.go-to-test a { font-size: 21px; padding: 1em 1.5em .9em; }

.block-params { display: flex; margin: 1em 0 2em; }
.block-params > div {
	align-items: flex-start;
	background: #ddd;
	border-radius: .7em;
	color: #111;
	display: flex;
	flex-direction: column;
	height: 4em;
	font-size: 20px;
	justify-content: center;
	margin-right: .2em;
	padding: 0 1em;
}
.block-params > div small { display: block; font-size: 13px; }

.s-test-message {
	background-color: #f1e4d7;
	border-radius: 1em;
	margin-bottom: 2em;
	padding: 3em;
	text-align: center;
}
.s-test-message p { margin-bottom: 1em; }
.s-test-message .btn { margin: 0 .2em; }
.s-test-message .btn + .btn { background-color: #3fb2aa; }

.s-test-name span {
	background: #eee;
	border-radius: .4em;
	display: inline-block;
	font-size: 13px;
	font-weight: normal;
	margin-left: .5em;
	padding: .5em .7em;
	position: relative;
	top: -3px;
}
.s-test-nav {
	display: flex;
	margin-bottom: 2em;
	overflow: auto;
	padding-bottom: 1em;
}
.s-test-nav a {
	border: 1px solid #d2dadd;
	border-right: none;
	display: inline-block;
	padding: .75em 1em;
	text-transform: capitalize;
	width: 100%;
}
.s-test-nav a:last-child { border-right: 1px solid #d2dadd; }
.s-test-nav a.active { background-color: #003157; color: #fff; }

.s-test-question {
	background: #f5f5f7;
	border-radius: 1em;
	margin: 1.5em 0 3.5em;
	padding: 1.2em 1em;
}
.s-test-question h6 {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
	padding: 1em 5%;
	text-align: left;
}
.s-test-question h6 small {
	color: #999;
	display: block;
	font-size: 13px;
	font-weight: normal;
	margin-bottom: 2px;
}
.s-test-question > div {
	border-top: 1px solid #eee;
	display: block;
	padding: 1em 1em 1em 5%;
	position: relative;
}
.s-test-question > div label { display: flex; font-size: 110%; }
.s-test-question > div label input { margin-right: 1em; }
.s-test-question > div.checked label { color: #003157; }
.s-test-question > div.inactive label { color: #999; transition: .3s transform; }
.s-test-question > div .help-toggle {
	background: url(/i/help.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	content: '';
	cursor: help;
	display: none;
	height: 24px;
	position: absolute;
	right: 10px;
	top: 8px;
	width: 24px;
}
.s-test-question > div p {
	color: #666;
	display: block;
	font-size: 92%;
	margin: 4px 0 0 26px;
}

.screening-test {
	margin: 0 auto 5em;
	max-width: 720px;
	width: 96%;
}
.screening-test h3 { text-align: center; }
.screening-test form { max-width: 60em; }
.screening-test .form-submit {
	align-items: center;
	display: flex;
	margin: 2em 0 0;
}
.screening-test .form-submit .backward { flex-shrink: 0; width: 3.5em; }
.screening-test .form-submit .backward a {
	background-color: #fff;
	border: 1px solid #eee;
	display: block;
	font-size: 16px;
	margin-right: 1em;
	padding: .5em;
}
.screening-test .form-submit .backward img {
	display: block;
	height: 1em;
	opacity: .25;
	transform: scaleX(-1);
	width: 100%;
}
.screening-test .form-submit .status { display: none; font-size: 17px; }
.screening-test .form-submit input[type=submit] { display: none; font-size: 17px; }

#st_payment { margin-top: 2em; }
#st_payment input[type=submit],
#st_payment .btn.btn-submit { box-sizing: border-box; width: 100%; }
#st_payment .robokassa-submit-note { margin-top: 1em; color: #777; font-size: 14px; }
#st_payment .robokassa-submit-note img { margin: 0 .1em; vertical-align: top; }
#st_payment ul li { margin: .5em 0 .5em 1.5em; }

.payment-amount {
	border: 1px solid #e9d1bf;
    border-radius: 6px;
	padding: .6em 1em;
	font-size: 19px;
}
.payment-amount strong { font-size: 21px; white-space: nowrap; }

.promocode-toggle { margin-bottom: 1em; }
.promocode-toggle a { border-bottom: 1px dashed #99adb4; }

.promocode > div { position: relative; }
.promocode > div a {
	background-color: #57c;
	cursor: pointer;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.1;
	position: absolute;
	right: .6em;
	top: .6em;
}
.promocode input { letter-spacing: 2px; transition: .3s all; }
.promocode.promocode-valid input { background-color: #efe; border-color: #44b1a9; color: #44b1a9; }
.promocode.promocode-valid > div a { background-color: #3fb2aa; }
.promocode span { color: #44b1a9; display: none; margin-top: .25em; }
.promocode.promocode-valid span { display: block; }

.detailed-offer-block { margin: 3em 0 2em; max-width: 760px; }
.detailed-offer-block h2 { font-size: 19px; font-weight: bold; }
.detailed-offer-block .important-block { display: flex; gap: .5em; margin: 2em 0; }
.detailed-offer-block .important-block > div {
	background-color: #cce5e1;
	border-radius: .5em;
	font-size: 20px;
	padding: 1em;
}
.detailed-offer-block .important-block > div span {
	color: #5a8985;
	display: block;
	font-size: 12px;
}
.detailed-offer-block .price { margin: 1em 0 1em; }
.detailed-offer-block .price p { font-size: 140%; }
.detailed-offer-block .example a {
	background-image: url(/i/file-pdf.png);
	background-size: auto 60%;
	background-repeat: no-repeat;
	background-position: 10px center;
	border-radius: .5em;
	border: 1px solid #04b;
	display: inline-block;
	margin-left: .5em;
	padding: .5em 1em .5em 2.5em;
}
.detailed-offer-block form {
	background-color: #04b;
	border-radius: 1em;
	color: #fff;
	margin-top: 2em;
	padding: 2em;
}
.detailed-offer-block form label { color: #cce5e1; }
.detailed-offer-block form input { background-color: #fff; }
.detailed-offer-block form input[type=submit] { background: #ff9c07; width: 100%; }

.s-test-report-sample {
	background: #fff;
	border-radius: 1em;
	margin: 1em 0;
	padding: 3em 4em;
	position: relative;
}
.s-test-report-sample .sample-badge {
	background: #99adb4;
	color: #fff;
	font-size: 13px;
	letter-spacing: 2px;
	padding: .4em 1em;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	top: 0;
}
.s-test-report-sample .show-full { background: #fff; }
.s-test-report-sample .show-full h4 { margin: 0; }
.s-test-report-sample .hidden { display: none; }
.s-test-report-sample h3 { color: #0c3158; margin: 2em 0 1em; }
.s-test-report-sample .report-sample-header { margin-top: 0; }
.s-test-report-sample .report-sample-header span { font-weight: 400; color: #99adb4; }
.s-test-report-sample h4 { margin: 2em 0 1em; }
.s-test-report-sample p.lead { font-size: 110%; }
.s-test-report-sample dl { margin: 1em 0; }
.s-test-report-sample dt {
	color: #99adb4;
	display: inline-block;
	padding: 0 0 .75em;
	width: 8em;
}
.s-test-report-sample dd { display: inline; }
.s-test-report-sample dd:after { display: block; content: ''; }
.s-test-report-sample h6 { color: #999; font-size: 16px; }
.s-test-report-sample ul li,
.s-test-report-sample ol li { margin: .75em 0; }
.s-test-report-sample .btn {
	background-color: transparent;
	box-sizing: border-box;
	cursor: pointer;
	margin-top: 1em;
	padding: 1.2em;
	text-align: center;
	width: 100%;
}

.test-stages ul {
	display: flex;
	font-size: 12px;
	list-style: none;
	margin: 40px 0;
}
.test-stages ul li {
	color: #777;
	padding-right: 20px;
	position: relative;
	text-align: left;
}
.test-stages ul li:before {
	background: #cce5e1;
	border-radius: 50%;
	content: '';
	display: block;
	height: 10px;
	margin: 0 0 8px;
	position: relative;
	width: 10px;
	z-index: 1;
}
.test-stages ul li.active { color: #0c3158; }
.test-stages ul li.active:before { background: #3fb2aa; }
.test-stages ul li:after {
	border-bottom: 1px dashed #ccc;
	content: '';
	display: block;
	left: 0;
	position: absolute;
	top: 5px;
	width: 100%;
	z-index: 0;
}
.test-stages ul li:last-child:after { content: none; }

form.checkbox-toggle-list { margin: 2em 0; }
form.checkbox-toggle-list input[type=submit] { margin-top: 2em; }

.checkbox-toggle-list .q {
	border-top: 1px solid #f1e4d7;
	font-size: 17px;
	position: relative;
	max-width: 36em;
}
.checkbox-toggle-list .q label {
	cursor: pointer;
	display: block;
	padding: 1em 4em 1em 0;
	position: relative;
	z-index: 1;
}
.checkbox-toggle-list .q small { color: #777; font-size: 90%; }
.checkbox-toggle-list .q input { cursor: pointer; opacity: 0; position: absolute; right: 0; z-index: 2; }
.checkbox-toggle-list .q .cb {
	background: #f1e4d7;
	border-radius: .8em;
	height: 1.6em;
	position: absolute;
	right: 0;
	top: 1em;
	width: 3em;
	z-index: 0;
}
.checkbox-toggle-list .q .cb:after {
	background: #fff;
	border-radius: 50%;
	content: '';
	display: block;
	height: 1.2em;
	left: 0.2em;
	position: absolute;
	top: 0.2em;
	transform: translateX(0);
	transition: .3s all;
	width: 1.2em;
}
.checkbox-toggle-list .q.checked { color: #000; }
.checkbox-toggle-list .q.checked .cb { background: #04b; }
.checkbox-toggle-list .q.checked .cb:after { background: #fff; transform: translateX(1.4em); }

.form-price {
	border-radius: 1em;
	display: flex;
	margin: 2em 0;
}
.form-price > div {
	border-radius: 10px;
	padding: 1em 1.5em;
}
.form-price > div:first-child { background: #0c3158; color: #fff; width: 11em; }
.form-price span { color: #aaa; display: block; font-size: 13px; }
.form-price strong { font-size: 21px; }

.message p { margin-bottom: 1em; }

.important-message {
	background: #eee;
	margin: 2em 0;
	padding: 2em;
	text-align: center;
}
.important-message p { margin-bottom: 1em; }
.important-message .btn.btn-secondary {
	background: none;
	border: 1px solid #cb8957;
	color: #cb8957;
	font-weight: 400;
	font-size: 17px;
}

.text-page h1,
.text-page h2,
.text-page h3,
.text-page h4,
.text-page h5 { text-align: left; }
.text-page p { margin-bottom: 1em; }

.text-page .file {
	background-image: url(/i/file-pdf.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 80%;
	border-radius: 1em;
	display: inline-block;
	padding: .7em 1.5em .7em 4.2em;
	margin: .5em 0 1.5em;
}
.text-page .file a {
	background: none;
	display: inline-block;
	font-size: 17px;
}
.text-page .file span { display: block; margin-top: .3em; font-size: 13px; color: #777; }


.contacts-page h4 + p { margin-bottom: 20px; }
.contacts-page form .fg label.radio,
.contacts-page form .fg label.checkbox { margin: 1em 0 1em; }
.contacts-page .diagnosis-block small { color: #777; display: block; margin-left: 20px; }

.payment-status-page .payment-status {
	border: 1px solid #ccc;
	border-radius: 1em;
	margin-bottom: 30px;
	padding: 2em;
	text-align: center;
}
.payment-status-page .payment-status p { color: #777; }
.payment-status-page .payment-status #payment-status { font-size: 21px; }
.payment-status-page .btn { box-sizing: border-box; width: 100%; }

#st_choise_test_version input[type=submit] { width: 100%; }

.diagnosis-block .diagnosis-level {
	border: 1px solid #e9d1bf;
	border-radius: 6px;
	margin-left: 20px;
	padding: 10px;
}
.diagnosis-block .diagnosis-level label {
	color: #111;
	display: inline-block;
	margin: 0 5px 0;
}
.diagnosis-block .diagnosis-level label input {
	margin-right: 5px;
	vertical-align: middle;
}

.table { width: 100%; }
.table thead {
	background-color: #f6f6f6;
	border-bottom: 1px solid #eee;
	border-top: 1px solid #eee;
}
.table thead th {
	color: #aaa;
	font-size: 13px;
	font-weight: normal;
	padding: 12px 10px;
	text-align: left;
}
.table tbody td {
	border-bottom: 1px solid #eee;
	padding: 20px 10px;
}
.table tbody td.n {
	color: #777;
	font-size: 13px;
}
.table tbody td.name { 
	font-weight: 500;
}
.table tbody td.d { color: #777; font-family: monospace; font-size: 13px; }

.login-page {
	margin: 0 auto;
	text-align: center;
	width: 21em;
}
.login-page input[type=submit] { width: 100%; }

.header-centre {
	background-color: #154d6d;
}
.header-centre > div {
	justify-content: flex-start;
}

.centre-nav {
	margin-left: 50px;
}
.centre-nav a,
.centre-nav span {
	display: inline-block;
	padding: 10px;
}
.centre-nav a { color: #fff; }
.centre-nav span { border-bottom: 2px solid #0c3158; color: #0c3158; }

.account-info { display: flex; gap: 1%; justify-content: start; margin: 0 0 50px; }
.account-info > div {
	background-color: #f5f5f5;
	border-radius: 10px;
	box-sizing: border-box;
	flex-basis: 30%;
	max-width: 30em;
	padding: 20px 25px;
	position: relative;
}
.account-info > div.back {
	align-items: center;
	background-color: #fff;
	border: 1px solid #ddd;
	display: flex;
	flex-basis: 3em;
	font-size: 20px;
	line-height: 1;
	justify-content: center;
}
.account-info h3 { font-size: 16px; }
.account-info h6 {
	color: #aaa;
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 10px;
}
.account-info p { line-height: 1; margin: 12px 0; }
.account-info p:last-child { margin-bottom: 0; }
.account-info .label {
	color: #777;
	display: block;
	font-size: 13px;
}
.account-info .account-info-ids {
	color: #aaa;
	font-size: 11px;
	font-family: monospace;
	letter-spacing: 1px;
	position: absolute;
	right: 25px;
	top: 20px;
}

.result { margin-bottom: 50px; max-width: 990px; }
.result .result-group {
	background: #f5f5f5;
	border-radius: 10px;
	display: grid;
	grid-template-columns: 120px auto;
	margin-bottom: 10px;
	padding: 20px 25px;
}
.result .result-group .result-group-points {
	border-radius: 4px;
	font-size: 42px;
	grid-row: 1 / span 2;
}
.result .result-group .result-group-points small { color: #aaa; font-size: 14px; }
.result .result-group h6 {
	grid-column-start: 2;
	margin-bottom: 20px;
}
.result .result-group-bar {
	align-items: flex-end;
	display: flex;
	grid-column-start: 2;
}
.result .result-group-bar > span {
	background-color: #d2dadd;
	height: 7px;
	width: 24px;
}
.result .result-group-bar > span:nth-child(even) { margin-right: 5px; }
.result .result-group-bar > span.active { background-color: #2ad3b3; }

/*
.report-content {
	background: #fff;
	padding: 20px;
	max-width: 990px;
}

.report-content .report-header {
	margin-bottom: 10px;
	padding: 20px 0;
}
.report-content .test-date { color: #777; font-size: 90%; text-align: right; }
*/
.report-content {
	background: #fff;
	border: 1px solid #ddd;
	max-width: 64em;
	padding: 20px;
}
.report-content h1 { font-size: 32px; margin: 20px 0; line-height: 1; }
.report-content h2 { font-size: 24px; margin: 40px 0 10px; }
.report-content h3 { font-size: 20px; margin: 40px 0 10px; }
.report-content p { line-height: 1.6; margin: 20px 0; }
.report-content ul, ol { margin: 10px 0 10px 30px; }
.report-content li { margin: 5px 0; }
.report-content table {
	border-collapse: collapse;
	width: 100%;
}
.report-content td,
.report-content th {
	border: 1px solid #ddd;
	padding: 5px;
	text-align: left;
}
.report-content th {
	background-color: #f7f7f7;
	font-weight: bold;
}
.report-content .report-footer {
	color: #444;
	font-size: 95%;
	margin-top: 40px;
}
.report-content .report-footer p { line-height: 1.4; margin: 5px 0; }
.report-info { margin-left: 30px; }
.report-info dl { margin: 20px 0; }
.report-info dt { color: #777; font-size: 95%; }
.report-info dd { margin-bottom: 10px; }
.report-info .btn { margin-bottom: 10px; text-align: center; width: 12em; }