/**
Стили по-умолчанию
@first
*/

select:focus, input[type="text"]:focus, input:not([type]):focus, input[type="number"]:focus,
input[type="password"]:focus, input[type="email"]:focus, input[type="checkbox"]:focus,
input[type="tel"]:focus, textarea:focus {
	border: solid 1px #ABADB3;
}

select, input[type="text"], input:not([type]), input[type="number"], input[type="url"], input[type="password"],
input[type="email"], input[type="checkbox"], input[type="tel"], textarea {
	border: solid 1px #BCBEC4;
}

input[type="number"]._hide-arrows::-webkit-outer-spin-button,
input[type="number"]._hide-arrows::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

input[type='number']._hide-arrows,
input[type="number"]._hide-arrows:hover,
input[type="number"]._hide-arrows:focus {
	appearance: none;
	-moz-appearance: textfield;
}

select {
	height: 22px;
	font-size: 14px;
}

select[multiple] {
	height: auto;
}

body {
	background-color: #f2f2f2;
	margin: 0;
	font-family: Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	overflow-y: scroll;
	min-height: 100vh;
}

html {
	overflow-y: scroll;
	min-height: 100%;
}

pre {
	background-color: #dddddd;
	border: 1px dashed #555;
	text-align: left;
	min-width: 200px;
	margin: 0;
}

img {
	vertical-align: -15%;
	border: 0;
}

nobr, .nobr {
	white-space: nowrap;
}

tr {
	text-align: left;
}

.nl2br {
	white-space: pre-wrap;
}

.trim-3-lines {
	height: 4.5em;
	overflow-y: auto;
}

.hid.hid {
	display: none;
}

a {
	color: #369;
	cursor: pointer;
	padding: 2px 2px 0;
	text-decoration: none;
	background: transparent no-repeat;
	border: 1px solid transparent;
	outline: none;
	border-bottom: 1px solid #369;
}

.strike {
	text-decoration: line-through;
}

p {
	margin: 0;
}

a:not([href]),
a[href^='javascript'] {
	border-bottom: 1px dashed #369;
}

a.nodecor {
	border-bottom: none;
}

.buttons > a.nodecor + a.nodecor {
	margin-left: 2px
}

a:hover,
a:focus {
	background-image: linear-gradient(to bottom, transparent, #cde);
}

a:active {
	background-image: linear-gradient(to bottom, #cde, #cde);
}

a.nodecor:hover,
a.nodecor:focus,
a.nodecor:active {
	background-image: none;
}

input {
	font-size: 14px;
}

.button, .button-disabled {
	cursor: pointer;
	border: 1px transparent solid;
	padding: 1px;
}

.button-disabled {
	cursor: default;
}

.button:hover,
.button:focus,
:focus > .button {
	border: 1px #67A3E3 solid;
	background-color: #B4D0EE;
}

.button:active {
	border: 1px #5399E0 solid;
	background-color: #9BC4F1;
	transform: translate(0, 1px);
}

table {
	border-spacing: 0;
	border-top: 1px solid #bbb;
	border-right: 1px solid #FFF;
}

td {
	border-collapse: separate;
	border-spacing: 0;
	border-bottom: 1px solid #bbb;
	border-left: 1px solid #FFF;
	font-size: 14px;
	padding: 6px 4px;
}

td.table-divide-top {
	border-top: 3px solid #bbb;
}

td.table-divide-bottom {
	border-top: 4px solid #bbb;
}

.table-borders-mode td {
	border-left: 1px solid #bbb;
}

.table-borders-mode table {
	border-right: 1px solid #bbb;
}

textarea {
	overflow: auto;
	font-size: 14px;
}

select, input, textarea {
	margin: 0;
	background: #fff;
}

select:required, input:required, textarea:required, div[required] {
	box-shadow: 0 0 3px red;
}

select:focus, input:focus, textarea:focus {
	box-shadow: 0 0 2px #1EA1FF;
	outline: none;
}

ul {
	margin: 0;
	padding-left: 15px;
}

input[type='button'] {
	cursor: pointer;
}

img.button, input.button, img.button-disabled {
	height: 16px;
	width: 16px;
	display: inline-block;
	text-align: center;
	margin-bottom: -1px;
	overflow: hidden;
}

img.button, input.button {
	background: linear-gradient(to bottom, #b4d0ee00 0%, #b4d0ee90 100%) no-repeat;
}

.inline {
	display: inline-block;
	vertical-align: baseline;
}

.block {
	display: block;
	vertical-align: middle;
}

.dotted {
	border: 1px dotted black;
	padding: 3px;
}

.udotted {
	border-bottom: 1px dotted black;
}

.vtop {
	vertical-align: top !important;
}

input[type="button"],
input[type="submit"],
button.button {
	text-decoration: none;
	color: var(--button-text, #fff);
	background-color: var(--button-bg, #1976D2) !important;
	text-align: center;
	letter-spacing: .5px;
	-webkit-transition: background-color .2s ease-out;
	transition: background-color .2s ease-out;
	cursor: pointer;
	font-size: 16px;
	outline: 0;
	border: none;
	border-radius: 18px;
	display: inline-block;
	height: 36px;
	line-height: 36px;
	padding: 0 24px;
	vertical-align: middle;
	-webkit-tap-highlight-color: transparent;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
	background-position: center;
	margin: 4px;
}

input[type="button"]:hover,
input[type="submit"]:hover,
button.button:hover {
	background-color: var(--button-bg-hover, #1565C0) !important;
	-webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
	box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
	border: none;
}

input[type="button"]:focus,
input[type="submit"]:focus,
button.button:focus {
	-webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
	box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
	border: none;
}

input[type="button"]:active,
input[type="submit"]:active,
button.button:active {
	background-color: var(--button-bg-active, #0D47A1) !important;
	border: none;
}

.readonly {
	border: #ABADB3 1px dashed;
	box-shadow: none !important;
}

/*General*/
.absolute {
	position: absolute;
}

.relative {
	position: relative;
}

.bold {
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.left.left {
	text-align: left;
}

.center {
	text-align: center;
}

.nopadding {
	padding: 0;
}

.red {
	color: red;
}

.blue {
	color: blue;
}

.orange {
	color: orange;
}

.green {
	color: green;
}

.gray {
	color: #aaa;
}

.small {
	font-size: 7pt;
}

.right {
	text-align: right;
}

.help {
	cursor: help;
}

.bggray {
	background-color: lightgray;
	--button-bg: #F2F2F2;
	--button-bg-hover: #d3d3d3;
	--button-bg-active: #c3c3c3;
	--button-text: #000;
}

.bglightgray {
	background-color: #F2F2F2 !important;
}

.bggreen {
	background-color: #9cdd4a !important;
	--button-bg: #4CAF50;
	--button-bg-hover: #66BB6A;
	--button-bg-active: #81C784;
}

.bggreen-not {
	background-color: #9cdd4a;
}

.bglgreen {
	background-color: #D0FFD0 !important;
}

.bglgreen-not {
	background-color: #D0FFD0;
}

.bgblue {
	background-color: skyblue !important;
}

.bgblue-not {
	background-color: skyblue;
}

.bgred {
	background-color: #ffc0cb !important;
	--button-bg: #F44336;
	--button-bg-hover: #EF5350;
	--button-bg-active: #E57373;
}

.bgred-not {
	background-color: pink;
}

.bgorange {
	background-color: orange !important;
}

.bgorange-not {
	background-color: orange;
}

.bgyellow {
	background-color: #F9ECA8 !important;
}

.bgyellow-not {
	background-color: #F9ECA8;
}

.bgwhite {
	background-color: white !important;
}

.bgwhite-not {
	background-color: white;
}

.fright {
	float: right;
}

.blink > * {
	animation: blink 1s steps(5, start) infinite;
	-webkit-animation: blink 1s steps(5, start) infinite;
}

@keyframes blink {
	to {
		visibility: hidden;
	}
}

@-webkit-keyframes blink {
	to {
		visibility: hidden;
	}
}

.inverted {
	-webkit-filter: invert(100%);
	filter: invert(100%);
	background-color: #222;
}

.table_no_outer {
	border: none;
	width: 100%;
}

.table_no_outer td:first-child {
	border-left: none;
}

.table_no_outer td:last-child {
	border-right: none;
}

.table_no_outer tr:first-child td {
	border-top: none;
}

.table_no_outer tr:last-child td {
	border-bottom: none;
}

.text-with-tooltip {
	cursor: help;
	border-bottom: 1px dotted #999;
}

._half-faded {
	opacity: .5;
}

.fade {
	transition: opacity 0.4s ease-out 0s;
	opacity: 0;
}

.fade-in {
	transition: opacity 0.4s ease-in 0s;
	opacity: 1;
}

.no-ani {
	transition: none !important;
}