@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');

:root {

	--color-primary: #18449A;
	--header-height: 60px;

}


html,
body {
	height: 100%;
}

body {
	display: flex;
	flex-flow: column nowrap;
	min-height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
}


.hidden {
	display: none;
}

input[readonly],
select[readonly],
textarea[readonly] {
	background-color: #f6f7f8;
}

.empty-hidden:empty {
	display: none;
}

.text-ellipsis {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow-x: hidden;
}

.datepicker table tr td.today {
	background-color: #ffefd1;
}

.cursor-pointer,
.cursor-pointer > .form-check-label {
	cursor: pointer;
}

.form-select[readonly] {
	pointer-events: none;
}

label.input-group-text.cursor-pointer:not(.disabled):hover {
	background-color: var(--bs-tertiary-bg);
}

/* header */

#header {
	background-color: var(--color-primary);
	height: var(--header-height);
}

#header #logo {
	height: 30px;
}

#header #userBar {
	color: #fff;
}

#header .navbar-nav .nav-link {
	color: white;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 100%;
	text-align: left;
}

#header .navbar-nav li+li {
	border-top: solid 1px #ffffff1a;
}

#header .navbar-nav hr {
	background-color: white;
	color: white;
	margin: 10px -16px;
	opacity: .35;
}

#header .navbar-toggler {
	border-color: rgb(255 255 255 / 50%);
}


/* main */

#main {
	flex-grow: 1;
	padding-top: 25px;
	padding-bottom: 25px;
	margin-top: var(--header-height);
	display: flex;
}

body.from-mob-app #main {
	margin-top: 0;
}


/* footer */

#footer {
	background-color: #eeeff0;
	color: #7c8390;
	padding-top: 20px;
	padding-bottom: 20px;
}


.btn-icon {
	display: inline-flex;
	gap: 11px;
	align-items: center;
}

.btn-icon.btn-sm {
	gap: 7px;
}

.btn-icon-center {
	justify-content: center;
}

.btn-icon .spinner-border {
	width: 16px;
	height: 16px;
}

.btn-icon.btn-sm .spinner-border {
	width: 14px;
	height: 14px;
}

.btn-icon.loading .bi,
.btn-icon:not(.loading) .spinner-border {
	display: none;
}

/* bootstrap fix */

.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: rgba(var(--bs-body-color-rgb), 0.4);
}

.icon-link {
	line-height: 1.3;
}

.icon-link>.bi {
	height: unset;
}

mark,
.mark {
	padding: unset;
}

textarea.auto-resize {
	overflow-y: hidden;
}

@media (min-width: 576px) {
	.btn-group-sm-horizontal {
		flex-direction: row;
	}

	.btn-group-sm-horizontal>:not(.btn-check:first-child)+.btn {
		margin-left: calc(var(--bs-border-width)* -1);
	}

	.btn-group-sm-horizontal>.btn {
		border-radius: var(--bs-border-radius) !important;
	}

	.btn-group-sm-horizontal>.btn-sm {
		border-radius: var(--bs-border-radius-sm) !important;
	}

	.btn-group-sm-horizontal>.btn:not(:last-child) {
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}

	.btn-group-sm-horizontal>.btn:not(:first-child):not(:nth-child(2)) {
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
	}
}


/* убираем зелёную подсветку и галочку при валидации */

.form-control.is-valid,
.form-control.is-valid:focus,
.was-validated .form-control:valid,
.was-validated .form-control:valid:focus,
.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
	--bs-form-select-bg-icon: unset;
	border-color: var(--bs-border-color);
}

.form-control.is-valid,
.form-control.is-valid:focus,
.was-validated .form-control:valid,
.was-validated .form-control:valid:focus {
	background-image: none;
}


/* bootstrap datepicker fix */

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
	color: #c8c8c8;
}

/* select2 x bootstrap fix */

.select2-container--default .select2-selection--single.form-select,
.select2-container--default .select2-selection--multiple.form-select {
	border-radius: var(--bs-border-radius);
	border: var(--bs-border-width) solid var(--bs-border-color);
	height: unset;
}

.select2-container--default .select2-selection--multiple.form-select {
	padding-top: 0;
	padding-left: 0;
}

.select2-container--default .select2-selection--single.form-select .select2-selection__rendered {
	line-height: unset;
	padding-left: unset;
	padding-right: unset;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	outline: unset;
}

.select2-selection__arrow {
	display: none;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
	margin-right: 4px;
	background-color: var(--bs-gray-200);
	padding: 0px 8px 4px 8px;
	border-radius: 4px;
	transform: translateY(-1px);
	display: flex;
	align-items: center;
}

.select2-selection--multiple .select2-selection__choice,
.select2-selection--multiple .select2-search__field {
	margin: unset;
}

.col-form-label+select+.select2-container {
	display: flex;
}

.col-form-label+select+.select2-container>.selection {
	width: 100%;
}

#notificationsNav::after {
	margin-left: auto;
	color: white;
	font-weight: 500;
	background-color: var(--bs-primary);
	font-size: 11px;
	padding: 2px 5px;
	border-radius: 6px;
	letter-spacing: 0.3px;
	transform: translateY(1px);
}

#notificationsNav[data-unread-count]::after {
	content: attr(data-unread-count);
}

/* select2 validation */

.form-select.is-invalid + .select2-container .select2-selection,
.was-validated .form-select:invalid + .select2-container .select2-selection {
	border-color: var(--bs-form-invalid-color);
}

/* bs custom icons */

.bi-handshake::before {
	content: url('data:image/svg+xml;utf8,%3Csvg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M8.21376 13.775C8.2992 13.775 8.38278 13.7579 8.4645 13.7237C8.54611 13.6895 8.61494 13.6444 8.67099 13.5883L14.2065 8.03424C14.349 7.89177 14.4625 7.73788 14.5471 7.57257C14.6315 7.40738 14.6738 7.22806 14.6738 7.03461C14.6738 6.83448 14.6315 6.6417 14.5471 6.45627C14.4625 6.27072 14.349 6.10436 14.2065 5.9572L10.9473 2.67942C10.7878 2.53695 10.6249 2.42701 10.4588 2.3496C10.2925 2.27232 10.112 2.23368 9.91747 2.23368C9.64685 2.23368 9.40611 2.30936 9.19524 2.46072C8.98438 2.6122 8.78543 2.78386 8.59839 2.97572L8.37747 3.19664L9.76636 4.52275C9.94487 4.70609 10.0893 4.90862 10.1995 5.13035C10.3096 5.35207 10.3647 5.59065 10.3647 5.84609C10.3647 6.27349 10.2168 6.6351 9.92099 6.9309C9.62518 7.2267 9.26432 7.37461 8.83839 7.37461C8.63247 7.37461 8.43296 7.33849 8.23988 7.26627C8.04679 7.19417 7.87092 7.0788 7.71228 6.92016L6.1795 5.38035L3.33062 8.22924C3.27457 8.29763 3.22944 8.37109 3.19525 8.44961C3.16105 8.528 3.14395 8.60893 3.14395 8.69238C3.14395 8.84991 3.19821 8.98022 3.30673 9.08331C3.41525 9.1864 3.54815 9.23794 3.70543 9.23794C3.78889 9.23794 3.86833 9.22084 3.94376 9.18664C4.01932 9.15244 4.09129 9.10732 4.15969 9.05127L6.27784 6.95164L6.94728 7.62109L4.82191 9.73924C4.75364 9.80763 4.70549 9.88066 4.67747 9.95831C4.64944 10.0361 4.63543 10.1163 4.63543 10.1989C4.63543 10.3501 4.68975 10.4806 4.79839 10.5903C4.90704 10.7001 5.03913 10.755 5.19469 10.755C5.27963 10.755 5.3629 10.7379 5.4445 10.7037C5.52623 10.6695 5.59506 10.6244 5.65099 10.5683L7.85469 8.35757L8.54284 9.04553L6.33191 11.2307C6.26833 11.2991 6.22136 11.3757 6.19099 11.4603C6.16062 11.5452 6.14543 11.6287 6.14543 11.7111C6.14543 11.8617 6.19975 11.9916 6.30839 12.1009C6.41704 12.2103 6.54913 12.265 6.70469 12.265C6.7895 12.265 6.87278 12.2479 6.9545 12.2137C7.03611 12.1795 7.10494 12.1344 7.16099 12.0783L9.36469 9.86757L10.0528 10.5555L7.84913 12.7407C7.79308 12.8091 7.74796 12.886 7.71376 12.9715C7.67957 13.0569 7.66247 13.1403 7.66247 13.2216C7.66247 13.3844 7.71636 13.5173 7.82413 13.6203C7.93191 13.7234 8.06179 13.775 8.21376 13.775ZM8.20228 14.7007C7.78352 14.7007 7.42765 14.5555 7.13469 14.265C6.84173 13.9744 6.69432 13.6187 6.69247 13.1979C6.28506 13.1941 5.93747 13.0512 5.64969 12.7692C5.36191 12.4871 5.20617 12.1321 5.18247 11.7041C4.7437 11.6773 4.38284 11.5247 4.09988 11.2465C3.81679 10.9682 3.67808 10.6182 3.68376 10.1965C3.25549 10.2051 2.89796 10.0639 2.61117 9.77275C2.32438 9.48164 2.18099 9.12152 2.18099 8.69238C2.18099 8.48251 2.21944 8.27899 2.29636 8.08183C2.37327 7.88479 2.49105 7.70701 2.64969 7.54849L6.1795 4.02998L8.36765 6.21794C8.43592 6.28152 8.50543 6.32856 8.57617 6.35905C8.64704 6.38942 8.72771 6.4046 8.81821 6.4046C8.9708 6.4046 9.10191 6.35072 9.21154 6.24294C9.32129 6.13516 9.37617 6.00115 9.37617 5.8409C9.37617 5.75115 9.3579 5.66738 9.32136 5.58961C9.28469 5.51183 9.24074 5.44491 9.1895 5.38886L6.48006 2.67942C6.32055 2.5246 6.15549 2.41158 5.98487 2.34035C5.81426 2.26923 5.63055 2.23368 5.43376 2.23368C5.24339 2.23368 5.06679 2.27232 4.90395 2.3496C4.74099 2.42701 4.58216 2.53695 4.42747 2.67942L1.76802 5.33294C1.62358 5.47652 1.51148 5.64948 1.43173 5.85183C1.35197 6.05405 1.31685 6.263 1.32636 6.47868C1.33574 6.58695 1.35518 6.68738 1.38469 6.77998C1.41407 6.87257 1.44728 6.96825 1.48432 7.06701L0.759319 7.77349C0.636727 7.59782 0.54364 7.39954 0.48006 7.17868C0.41648 6.95794 0.379937 6.7246 0.37043 6.47868C0.360924 6.12535 0.416233 5.78985 0.536356 5.4722C0.65648 5.15454 0.841418 4.87701 1.09117 4.6396L3.73932 1.99146C3.96734 1.75874 4.22592 1.58047 4.51506 1.45664C4.8042 1.33269 5.11592 1.27072 5.45025 1.27072C5.78444 1.27072 6.09494 1.33269 6.38173 1.45664C6.66864 1.58047 6.92839 1.75874 7.16099 1.99146L7.67821 2.50849L8.19525 1.97294C8.42315 1.74022 8.68049 1.56195 8.96728 1.43812C9.25407 1.31417 9.56463 1.2522 9.89895 1.2522C10.2333 1.2522 10.5419 1.31417 10.8249 1.43812C11.1078 1.56195 11.3657 1.74022 11.5984 1.97294L14.8762 5.25072C15.1088 5.48343 15.2906 5.7472 15.4217 6.04201C15.5527 6.33683 15.6182 6.6514 15.6182 6.98572C15.6182 7.32004 15.5527 7.63059 15.4217 7.91738C15.2906 8.20417 15.1088 8.46386 14.8762 8.69646L9.34043 14.2392C9.1771 14.4026 8.99913 14.5203 8.80654 14.5926C8.61395 14.6647 8.41253 14.7007 8.20228 14.7007Z" fill="%23212529"/%3E%3C/svg%3E');
	opacity: 0.5;
}

@media (max-width: 576px) {
	.bi-handshake::before {
		filter: brightness(0) invert(1);
		opacity: 0.6;
	}
}


.form-check-input.not-muted:disabled,
.form-check-input.not-muted[disabled],
.form-check-input.not-muted:disabled~.form-check-label,
.form-check-input.not-muted[disabled]~.form-check-label {
	opacity: 1;
}