html,
body {
    height: 100%;
}

a {text-decoration: none;}

/*Шрифт для инв номеров*/
@font-face {
    font-family: 'Stencil';
    src: url('../fonts/Aero_Matics_Stencil_bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Stencil';
    src: url('../fonts/Aero_Matics_Stencil_bold_italic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Oswald';
    src: url('../fonts/Oswald-VariableFont_wght.ttf') format('truetype');
    font-weight: 125 950;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Regular.ttf') format('truetype');
    font-weight: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/RobotoCondensed-Light.ttf') format('truetype');
    font-weight: 100;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

/*.wrap > .container {
    padding: 70px 15px 20px;
}*/

.footer {
    height: 60px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}


.not-set {
    color: #c55;
    font-style: italic;
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}


.comps-view .software_item .os-name {display: none;}
.comps-view .software_item td {padding-right: 5px;}

.hardware_item.excluded {color: lightgrey}

.hardware_item h4 {display: inline;}
.software_item .show-on-hover,      .hardware_item .show-on-hover {display: none;}
.software_item:hover .show-on-hover,.hardware_item:hover .show-on-hover {display: inline-block;}
/* значки действий у IP-адреса ОС (удалённое управление, скрыть/вернуть) — по наведению */
.comp-ip-item .ip-action {display: none;}
.comp-ip-item:hover .ip-action {display: inline-block;}
.comp-ip-item .ip-action + .ip-action {margin-left: .25em;}
/* цель якоря в документации: секция страницы или строка справочника атрибутов
   (models/<class>.md#attr-<имя>) — не прижимаем к краю окна при переходе... */
.docs-page :target, .docs-panel :target, .docs-attributes tr:target {scroll-margin-top: 1rem;}
/* ...и оставляем строку атрибута подкрашенной после того, как подсветка отыграла:
   в длинной таблице иначе не видно, на какой строке ты стоишь */
.docs-attributes tr:target > td {background-color: rgba(255,193,7,.25);}
/* ссылки-подсветки из документации (#doc-anchor:/#doc-select:) никуда не ведут,
   а подсвечивают элемент на этой же странице — маркируем их пунктиром и прицелом,
   чтобы читатель заранее отличал их от обычных ссылок, уводящих со страницы */
a[href^="#doc-anchor:"], a[href^="#doc-select:"] {text-decoration: none; border-bottom: 1px dashed; color:chocolate}
/* подключение fa-crosshairs - иконки прицела. отключил, т.к. сильно загромождало документ
a[href^="#doc-anchor:"]::after, a[href^="#doc-select:"]::after {
	content: "\f05b";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: .75em;
	margin-left: .2em;
	opacity: .65;
}*/
/* временная подсветка элемента, на который указала ссылка из встроенной документации,
   и цели якоря внутри самой документации (заголовок секции, строка атрибута) */
.doc-anchor-highlight {animation: doc-anchor-pulse 2.2s ease-out; border-radius: 4px;}
@keyframes doc-anchor-pulse {
	0%   {box-shadow: 0 0 0 .2rem rgba(255,193,7,.9); background-color: rgba(255,193,7,.30);}
	60%  {box-shadow: 0 0 0 .2rem rgba(255,193,7,.5); background-color: rgba(255,193,7,.12);}
	100% {box-shadow: 0 0 0 .2rem rgba(255,193,7,0);  background-color: transparent;}
}
/* у строки таблицы со схлопнутыми границами box-shadow не рисуется — ей только фон */
tr.doc-anchor-highlight {animation-name: doc-anchor-pulse-bg;}
@keyframes doc-anchor-pulse-bg {
	0%   {background-color: rgba(255,193,7,.55);}
	60%  {background-color: rgba(255,193,7,.25);}
	100% {background-color: transparent;}
}





/* Уволенные сотрудники */
span.users-item.uvolen a {color: red;}

td.usage_col > div.progress {margin-bottom: auto !important;}

span.comps-item,
span.techs-item,
span.arms-item {
    font-family: Consolas, monospace;
}

span.object-item svg.svg-inline--fa {
    margin-left: 1pt;
    margin-right: 1pt;
}


span.services-item a span.service-icon {
    font-size: x-small;
    padding-right: 1pt;
}

span.services-item.archived {
    text-decoration: line-through;
}

/* ДОКУМЕНТЫ */

/* выделенный на карте контракт */
span.contracts_selected {font-weight: bold}
span.contracts-item {display: inline-block}
a.contract_inactive {color: gray; text-decoration: line-through}



/* РАСКРЫВАЮЩИЙСЯ СПИСОК ДЕРЕВО */

/* ul-treefree */
ul.ul-treefree { padding-left:25px; }
ul.ul-treefree ul { margin:0; padding-left:6px; }
ul.ul-treefree li { position:relative; list-style:none outside none; border-left:solid 1px #999; margin:0; padding:0 0 0 19px; line-height:23px; }
ul.ul-treefree li:before { content:''; display:block; border-bottom:solid 1px #999; position:absolute; width:18px; height:11px; left:0; top:0; }
ul.ul-treefree li:last-child { border-left:0 none; }
ul.ul-treefree li:last-child:before { border-left:solid 1px #999; }
ul.candrop li { border: none; margin:0; padding:0;}
ul.candrop li:before {border: none;}
ul.candrop li:last-child:before {border: none;}

/* ul-dropfree */
ul.ul-dropfree div.drop {
    width:11px;
    height:11px;
    position:absolute;
    z-index:10;
    top:6px;
    left:-6px;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAALCAIAAAD0nuopAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpinDlzJgNlgAWI09LScEnPmjWLoAImrHpIAkwMFAMqGMGC6X44GzkIsHoQooAFTTVQKdbAwxOigyMsmIh3MC7ASHnqBAgwAD4CGeOiDhXRAAAAAElFTkSuQmCC');
    background-position:-11px 0;
    background-repeat:no-repeat;
    cursor:pointer;
}

/* ПРОЧЕЕ */

.href {cursor: pointer;}
.form-text.text-muted .href {text-decoration: underline}

.cursor-default {
    cursor: default;
}

.grayed-out {
    color: dimgray;
}

.grayed-out:hover {
    color: black;
}


/* Главная */
div.site-about a {
    color: inherit;
}

div.site-index div.search {
    padding: 20px;
    margin: 0 0;
    background: #333;
    color: white;
    font: bold 20px monospace;
    border-radius: 5px;
}

div.site-index div.search input,
div.site-index div.search input:active,
div.site-index div.search input:focus
{
    background: transparent;
    border: none;
    outline:none;
    caret-color: lime;
    color: white;
    width: 100%;
}

div.site-index div.search label {
    float: left;
    font: bold 20px monospace;
    cursor:pointer;
}

div.site-index div.search label:hover {
    color:lime;
}

div.site-index div.search span.search-group {
    overflow: hidden;
    display: block;
    padding: 0 4px 0 10px
}

div.site-index div.search span.search-group input {
    width: 100%
}


.services-ttip.ttip-card {
    min-width: 450px; !important;
}

.showIndividual-switcher-widget,
.showChildren-switcher-widget,
.showArchived-switcher-widget {display: inline-block;}

.disabled-item {color:var(--bs-gray-700);text-decoration: line-through;}
.disabled-item a {color:var(--bs-gray-700);}

span.archived-card-alert {
    display: block;
    width: 100%;
    /*height: 15pt;*/
    margin: 2pt 0;
    padding: 0;
    background: repeating-linear-gradient(120deg, transparent,transparent 5px,currentColor 6px, currentColor 10px, transparent 11px);
}

li.muted-tab {
    opacity: 0.5;
    filter: grayscale(100%);
}


/* вложенная модалка (форма из формы, layouts/main.php): поверх основной, затемнение основной вместо backdrop */
#modal_form_loader_nested {
    --bs-modal-zindex: 1065;
    background-color: rgba(var(--bs-black-rgb), .5);
}
