html {
	height: 100%;
}
body {
	display: flex;
    flex-direction: column;
    min-height: 100%;
	margin: 0;
	/*color: #555555;*/
	color: #181818;
	font: 1em/1.6em "Roboto", "Helvetica Neue", Helvetica, "Tahoma", sans-serif;
}
.b-container {
	padding: 0.5em 0.75em;
	max-width: 1040px;
	margin: auto;
	display: flex;
}
.b-container-vcentered {
	align-items: center;
}
.b-container_element {
	flex: 1 1 auto;
}
.b-container_element-right {
	text-align: right;
}
header {
	width: 100%;
	flex: 0 0 auto;
	background-color: khaki;
}
.homelink {
	text-decoration: none;
}
.logo {
	display: inline-block;
	padding: 0.5em 0 0.25em;
	white-space: nowrap;
}
.icon {
	display: inline;
	margin-right: 0.3em;
}
.icon img {
	height: 1.6em;
	vertical-align: baseline;
}
.name {
	display: inline;
	font-family: Impact, Charcoal, sans-serif;
	font-size: 2em;
}
.part1 {
	color: cadetblue;
}
.part2 {
	color: #888888;
}
.about {
	color: #888888;
	text-transform: uppercase;
	font-weight: bold;
}
main {
	flex: 1 0 auto;
}
.content {
	width: 100%;
	max-width: 800px;
}
@media (max-width: 800px) {
	aside.menu {
		display: none;
	}
}
aside.menu {
	padding-top: 3.0em;
}
aside.menu > div {
	position: sticky;
	top: 0;
	width: 208px;
	margin-right: 32px;
	padding-top: 0.3em;
}
.pane {
	/*color: #181818;*/
	/*color: #555555;*/
	background: #f0f0f0;
	margin-top: 1em !important;
	margin-bottom: 2em !important;
	padding: 4px 10px;
	border-radius: 4px;
	margin: -4px;
}
ul.menu {
	list-style-type: none;
	padding: 0 12px;
}
ul.menu li {
}
ul.menu li a {
	text-decoration: none;
	color: inherit;
}
ul.menu li a:hover {
	border-bottom: 3px solid darkgrey;
}
ul.menu li::before {
	margin-right: 8px;
	font-family: "Font Awesome 5 Free";
}
ul.menu li::after {
	margin-left: 8px;
	font-family: "Font Awesome 5 Free";
}
ul.menu li.part::before {
	content: "\2022";
	font-weight: 900;
}
ul.menu li.part__start::before {
	content: "\f062";
	font-weight: 900;
}
ul.menu li.part__intro::before {
	content: "\f05a";
	font-weight: 900;
}
ul.menu li.part__score::before {
	content: "\f1fe";
	font-weight: 900;
}
ul.menu li.part__warn::before {
	content: "\f071";
	font-weight: 900;
}
ul.menu li.part__server::before {
	content: "\f233";
	font-weight: 900;
}
ul.menu li.part__doc::before {
	content: "\f15c";
	font-weight: 900;
}
ul.menu li.part__struct::before {
	content: "\f1b3";
	font-weight: 900;
}
ul.menu li.part__html::before {
	content: "\f121";
	font-weight: 900;
}
ul.menu li.part__content::before {
	content: "\f15b";
	font-weight: 900;
}
ul.menu li.part__net::before {
	content: "\f6ff";
	font-weight: 900;
}
ul.menu li.part__audit::before {
	content: "\f14a";
	font-weight: 900;
}
ul.menu li.part__news::before {
	content: "\f1ea";
	font-weight: 900;
}
ul.menu li.part__link::before {
	content: "\f0c1";
	font-weight: 900;
}
ul.menu li.part__faq::before {
	content: "\f059";
	font-weight: 900;
}
ul.menu li.part__instruction::before {
	content: "\f15c";
	font-weight: 900;
}
ul.menu li.part__list::before {
	content: "\f560";
	font-weight: 900;
}
ul.menu li.part__lvl-1::before {
	margin-left: 12px;
}
ul.menu li.part__lvl-2::before {
	margin-left: 24px;
}
ul.menu li.part__settings::before {
	content: "\f013";
	font-weight: 900;
}
ul.menu li.part__service::before {
	content: "\f0ad";
	font-weight: 900;
}
ul.menu li.part__result::before {
	content: "\f787";
	font-weight: 900;
}
.pane_legend {
	padding: 0.5em 1em;
}
.label_button {
	cursor: pointer;
	user-select: none;
}
input[type="checkbox"]#visibility_state-ok:not(:checked) ~ section .pane_legend div.parameter_state-ok,
input[type="checkbox"]#visibility_state-warning:not(:checked) ~ section .pane_legend div.parameter_state-warning,
input[type="checkbox"]#visibility_state-error:not(:checked) ~ section .pane_legend div.parameter_state-error,
input[type="checkbox"]#visibility_state-advice:not(:checked) ~ section .pane_legend div.parameter_state-advice,
input[type="checkbox"]#visibility_state-undef:not(:checked) ~ section .pane_legend div.parameter_state-undef,
input[type="checkbox"]#visibility_state-question:not(:checked) ~ section .pane_legend div.parameter_state-question {
	opacity: 0.25;
	background-color: white;
	border-style: outset;
}
input[type="checkbox"]#visibility_state-ok:not(:checked) ~ section .pane_result div.parameter_state-ok,
input[type="checkbox"]#visibility_state-warning:not(:checked) ~ section .pane_result div.parameter_state-warning,
input[type="checkbox"]#visibility_state-error:not(:checked) ~ section .pane_result div.parameter_state-error,
input[type="checkbox"]#visibility_state-advice:not(:checked) ~ section .pane_result div.parameter_state-advice,
input[type="checkbox"]#visibility_state-undef:not(:checked) ~ section .pane_result div.parameter_state-undef,
input[type="checkbox"]#visibility_state-question:not(:checked) ~ section .pane_result div.parameter_state-question {
	display: none;
}
.parameter:hover {
	filter:brightness(1.025);
}
h1, h2 {
	margin: 0;
	padding: 1.3em 0 0;
	font-size: 1.3em;
	color: cadetblue;
	text-transform: uppercase;
	counter-reset: nt 0;
	overflow: hidden;
	text-align: center;
	font-family: "Roboto";
	font-weight: 900;
}
h2 {
	counter-reset: nlv1 0;
}
h3 {
	position: sticky;
	top: 0;
	margin: 0.25em 0;
	font-size: inherit;
	background: #f0f0f0;
	color: slateblue;
	text-align: center;
	text-transform: uppercase;
	counter-increment: nlv1 1;
	counter-reset: nlv2 0;
	z-index: 1;
	border-radius: 4px;
	padding: 0.5em 0;
	font-family: "Roboto";
	font-weight: 900;
}
h3::before {
	content: counter(nlv1) ". ";
}
h4 {
	margin: 0.5em 0;
	font-family: inherit;
	font-size: inherit;
	color: steelblue;
	text-align: center;
	counter-increment: nlv2 1;
	counter-reset: nlv3 0;
}
h4::before {
	content: counter(nlv1) "." counter(nlv2)  ". ";
}
h5 {
	margin: 0.5em 0;
	font-family: inherit;
	font-size: inherit;
	color: steelblue;
	text-align: center;
	counter-increment: nlv3 1;
}
h5::before {
	content: counter(nlv1) "." counter(nlv2) "." counter(nlv3) ". ";
}
p {
	text-align: justify;
}
dd {
	text-align: justify;
	margin: 0.25em 0 0.75em 1em;
}
ul {
	padding-left: 24px;
}
ul li {
	/*line-height: 18px;*/
	margin: 0.5em 0;
	text-align: justify;
}
.report__initial-data {
	/*border: 4px solid #eeeeee;*/
	padding: 0 8px;
}
form div {
	margin: 0.75em 0;
}
form label {
	margin-right: 1em;
}
span.condition_name {
	display: inline-flex;
	margin-top: 0.5em;
	min-width: 14em;
}
span.condition_value {
	display: inline-flex;
	margin-top: 0.5em;
	min-width: calc(100% - 14em - 6px);
}
span.condition_value label {
	text-align: center;
}
input {
	font: 1em/1.6em "Roboto", "Helvetica Neue", Helvetica, "Tahoma", sans-serif;
}
input[type=url] {
	display: inline-block;
	/*width: calc(100% - 1em - 11px);*/
	width: 100%;
	padding: 0.5em 2em 0.5em 0.5em;
	/*margin-top: 0.5em;*/
	vertical-align: bottom;
	box-sizing: border-box;
}
#req {
	display: inline-block;
	width: 100%;
	padding: 0.5em;
	margin-top: 0.5em;
	vertical-align: bottom;
}
#cspscript {
	margin-right: 0.7em;
	padding-left: 6px;
	line-height: normal;
}
.openurl {
	text-decoration: none;
	position: absolute;
	right: 0px;
	top: 0px;
	padding: 0.6em 0.5em;
}
.openurl-disabled{
	pointer-events: none;
	cursor: default;
	color: #999;
	opacity: 0.25;
}
input[type=radio] {
	margin-right: 0.7em;
	transform: scale(1.25);
}
input[type=checkbox] {
	margin-right: 0.7em;
	transform: scale(1.25);
}
input[type=number] {
	margin-right: 0.7em;
	padding-left: 6px;
	line-height: normal;
}
input[type=range] {
	margin-right: 0.7em;
}
select {
	padding: 0.25em;
}
input[type=submit], input[type=button] {
	display: block;
	min-width: 120px;
	height: 2.5em;
	font-variant-caps: all-small-caps;
	padding: 0 1em;
	/*background: linear-gradient(to bottom, #7ec26e, #5fb54c);*/
	background: linear-gradient(to bottom, #5fb54c, #4b913c);
	color: white;
	border: solid 1px #4b913c;
}
input[type=submit]:hover {
	/*background: linear-gradient(to bottom, #5fb54c, #4b913c);*/
	outline: #4b913c auto 1px;
}
input[type=submit]:active {
	background: linear-gradient(to top, #5fb54c, #4b913c);
}
label.fullmodebtn:hover {
	outline: #555555 auto 1px;
}
input:focus {
	outline: none;
}
.form__error {
	color: red;
	text-align: left;
	font-size: small;
	display: none;
	line-height: 1.5em;
	margin-top: 3px;
}
input:valid:not(:placeholder-shown) {
	/* border-color: green;*/
}
input:invalid:not(:placeholder-shown) {
	border-color: red;
	background-color: #ff000024;
}
input:invalid:not(:placeholder-shown) ~ .form__error {
	display: block;
}
input.fullmode:checked ~ div label.fullmodebtn {
	/*display: none;*/
	opacity: 0.5;
}
div.fullmode {
	display: none;
}
input.fullmode:checked ~ div.fullmode {
	display: block;
}
time {
	font-weight: bold;
}

/* Описание параметра */
.parameter {
}
.parameter_view-list {
	margin: 1em 0;
	border-top: 2px solid oldlace;
	border-left: 2px solid oldlace;
	border-right: 2px solid #f0f0f0;
	border-bottom: 2px solid #f0f0f0;
	position: relative;
}
.parameter_view-legend {
	padding: 0.25em 0.5em;
	border: 2px solid oldlace;
	text-align: center;
	flex-basis: 100px;
	flex-grow: 1;
}
.parameter_state-ok {
	background-color: #dff0db;
}
.parameter__state-signal {
	display: block;
}
.parameter_state-ok .parameter__state-signal {
	color: forestgreen;
}
.parameter_state-warning {
	background-color: #fff9c4;
}
.parameter_state-warning .parameter__state-signal {
	color: darkgoldenrod;
}
.parameter_state-error {
	background-color: #fadada;
}
.parameter_state-warning[data-altstate="skipped"],
.parameter_state-error[data-altstate="skipped"] {
	background-color: ghostwhite;
}
.parameter_state-warning[data-altstate="solved"],
.parameter_state-error[data-altstate="solved"] {
	background-color: #dff0db;
}
.parameter_state-error .parameter__state-signal {
	color: red;
}
.parameter_state-advice {
	background-color: #dfedf4;
}
.parameter_state-advice .parameter__state-signal {
	color: blueviolet;
}
.parameter_state-undef {
	background-color: ghostwhite;
}
.parameter_state-undef .parameter__state-signal {
	color: darkgray;
}
.parameter_state-question {
	background-color: lightgray;
}
.parameter__state-description {
	display: block;
}
.parameter_level-0 {
}
.parameter_level-1 {
	margin-left: 0.75em;
}
.parameter_level-2 {
	margin-left: 1.5em;
}
.parameter_level-3 {
	margin-left: 2.25em;
}
.parameter_level-1::before, .parameter_level-2::before, .parameter_level-3::before {
	content: "⎣";
	left: -14px;
	position: absolute;
	font-size: 34px;
	color: lightgray;
}
.power_view-standard {
	width: 100%;
	height: 6px;
	display: block;
}
.parameter__table {
	display: table;
	width: 100%;
	border-collapse: collapse;
	font-size: 95%;
}
div.rtable {
	font-size: small;
}
div.row {
	display: table-row;
}
div.row__total {
}
div.values {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 1em;
}
div.meter {
	margin-bottom: 1em;
}
div.notice {
	margin-bottom: 1em;
}
div.description{
	margin-bottom: 1em;
}
section.settings {
	color: black;
}
div.option {
	padding: 0.25em 0.5em;
}
div.option span {
	vertical-align: middle;
}
div.option label input,
div.option label select {
	vertical-align: text-top;
}

.cell {
	display: table-cell;
	padding: 0 0.5em;
}
.cell__ram::before {
	content: "🗲";
	margin-right: 3px;
}
.cell__need_update::after {
	content: "⟔";
	position: absolute;
	left: 1px;
	color: black;
	top: 6px;
	font-size: 10px;
	line-height: 10px;
}
.cell__signal {
	width: 1em;
	min-width: 1em;
	text-align: center;
}
.fa-shadow {
	text-shadow: 1px 1px 2px lightgray;
}
.cell__text {
	font-weight: bold;
}
div.ptable .cell {
	/* padding: 0.75em 0.5em; */
	padding: 0.4em 0.5em;
}
div.ptable .cell__value {
	min-width: 4em;
	white-space: nowrap;
}
div.ptable .cell__value {
	text-align: right;
	font-weight: bold;
}
div.rtable .cell__value {
	min-width: 4em;
	text-align: right;
}
details summary {
	cursor: pointer;
	display: inline;
}
details summary:focus {
	outline: none;
}
details summary span {
	border-bottom: 1px dotted;
}
details p, details ol {
	word-break: break-all;
	font-weight: initial;
	font-size: 90%;
	color: black;
}
details ol {
	padding-left: 1em;
}
.ok {
	color: forestgreen;
}
.warning {
	color: darkgoldenrod;
}
.error {
	color: red;
}
.advice {
	color: blueviolet;
}
.undef {
	color: darkgray;
}
span.accent_graystrong {
	padding: 1px 1px;
	background-color: khaki;
	box-shadow: 0 0 3px 1px khaki;
	color: darkslategray;
	font-weight: bold;
}
span.accent_underline {
	text-decoration-style: double;
	text-decoration-line: underline;
	text-underline-position: under;
}
span.accent_strike {
	text-decoration: line-through;
}
span.accent_sfraction {
	display: inline-block;
	position: relative;
	word-break: break-all;
	word-wrap: break-word;
	padding-top: 10px;
	margin-bottom: 10px;
	padding-left: 2px;
	padding-right: 3px;
	margin-right: 1px;
	border-bottom: 1px dotted gray;
}	 
/*span.accent_sfraction:first-child::before {
	position: absolute;
	top: 5px;
	left: 0;
	line-height: initial;
	font-size: 10px;
	content: "0";
	white-space: nowrap;
	border-left: 1px dotted gray;
	padding-left: 2px;
	font-weight: bold;
}*/
span.accent_sfraction::after {
	position: absolute;
	top: 5px;
	right: 0;
	height: 30px;
	line-height: initial;
	font-size: 10px;
	content: attr(data-match);
	white-space: nowrap;
	border-right: 1px dotted gray;
	padding-right: 2px;
	font-weight: bold;
}
span.accent_wfraction {
	display: inline-block;
	position: relative;
	word-break: break-all;
	word-wrap: break-word;
	padding-top: 10px;
	margin-bottom: 10px;
	padding-left: 2px;
	padding-right: 3px;
	margin-right: 1px;
}
span.accent_wfraction::before {
	position: absolute;
	top: 5px;
	left: 0;
	height: 30px;
	line-height: initial;
	font-size: 10px;
	content: attr(data-match);
	white-space: nowrap;
	border-left: 1px dotted gray;
	padding-left: 2px;
	font-weight: bold;
}
div.error span.accent_underline {
	text-decoration-color: red;
}
div.ok span.accent_underline {
	text-decoration-color: green;
}
div.ttable .cell__task {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	vertical-align: top;
	counter-increment: nt 1;
}
div.ttable .cell__task::before {
	content: "Задача № " counter(nt) ".";
	font-weight: bold;
	margin-right: 6px;
}
div.ttable .cell__value {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	vertical-align: top;
	text-align: -webkit-right;
}
div.square {
	border: 2px solid;
	width: 32px;
	height: 32px;
}
div.ttable input[type=checkbox]{
	transform: scale(1);
	margin: 0;
	zoom: 3;
}
@media print {
	main {
		max-width: 100%;
	}
	aside.menu {
		display: none;
	}
	hr {
		display: none;
	}
	section.settings {
		display: none;
	}
	div.param {
		page-break-inside: avoid;
		border-top: 2px solid gray;
		border-left: 2px solid gray;
	}
}
footer {
	flex: 0 0 auto;
	border-top: 1px solid lightgray;
}
.feedback__resultform {
	margin: 1em 0;
}
.feedback__resultblock {
	display: flex;
	justify-content: space-evenly;
	margin: 0;
}
.feedback__resultsmile {
	margin: 0;
	font-size: 3em;
}
.feedback__resultsmile.fa-frown {
	color: orangered;
}
.feedback__resultsmile.fa-smile {
	color: forestgreen;
}
.feedback__result {
	display: none;
}
.feedback__result:checked + .feedback__resultsmile {
	text-shadow: 0px 0px 30px;
	font-weight: bold;
}
.feedback__resultcomment {
	width: 100%;
	margin: 2em 1em;
}
.feedback__response {
	margin: 0 1em;
	font-weight: bold;
}
fieldset {
	margin: 0.5em 0;
}
.load__button, 
.save__button {
	font: 1em/1.6em "Roboto", "Helvetica Neue", Helvetica, "Tahoma", sans-serif;
}
