:root {
  --blue: #1263ad !important;
  --darkblue: #25476d !important;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #D60000 !important;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #008600;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --gray-light: #898f95;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --black: #000000;
}

.text-blue { color: var(--blue) !important; }
.text-darkblue { color: var(--darkblue) !important; }
.text-indigo { color: var(--indigo) !important; }
.text-purple { color: var(--purple) !important; }
.text-pink { color: var(--pink) !important; }
.text-red { color: var(--red) !important; }
.text-orange { color: var(--orange) !important; }
.text-yellow { color: var(--yellow) !important; }
.text-green { color: var(--green) !important; }
.text-teal { color: var(--teal) !important; }
.text-cyan { color: var(--cyan) !important; }
.text-gray { color: var(--gray) !important; }
.text-gray-dark { color: var(--gray-dark) !important; }
.text-gray-light { color: var(--gray-light) !important; }
.text-white { color: var(--white) !important; }
.text-black { color: var(--black) !important; }
.text-muted { color: #9fa8af !important; }

.text-bold { font-weight: 800; }
.text-lh-1 { line-height: .95em !important; }
.text-lh-11 { line-height: 1.1em !important; }
.text-condensed { letter-spacing: -.05em !important; }
.text-stretched { letter-spacing: .01rem; transform: scale(0.7, 1.1); transform-origin: 0; }
.text-wrap-all { word-break: break-all; }
.text-break {
  word-break: break-word !important;
  overflow-wrap; break-word !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bg-blue { background-color: var(--blue) !important; }
.bg-darkblue { background-color: var(--darkblue) !important; }
.bg-indigo { background-color: var(--indigo) !important; }
.bg-purple { background-color: var(--purple) !important; }
.bg-pink { background-color: var(--pink) !important; }
.bg-red { background-color: var(--red) !important; }
.bg-orange { background-color: var(--orange) !important; }
.bg-yellow { background-color: var(--yellow) !important; }
.bg-green { background-color: var(--green) !important; }
.bg-teal { background-color: var(--teal) !important; }
.bg-cyan { background-color: var(--cyan) !important; }
.bg-gray { background-color: var(--gray) !important; }
.bg-gray-dark { background-color: var(--gray-dark) !important; }
.bg-gray-light { background-color: var(--gray-light) !important; }
.bg-white { background-color: var(--white) !important; }
.bg-white-50 { background-color: var(--white) !important; opacity: .6; }
.bg-black { background-color: var(--black) !important; }

.w-1 {
  width: 1% !important;
}
.w-5 {
  width: 5% !important;
}
.w-10 {
  width: 10% !important;
}
.w-15 {
  width: 15% !important;
}
.w-45 {
  width: 45% !important;
}
.w-75 {
  width: 75% !important;
}
.w-90 {
  width: 90% !important;
}






.top-line-blue:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--blue);
}
.top-line-indigo:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--indigo);
}
.top-line-purple:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--purple);
}
.top-line-pink:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--pink);
}
.top-line-red:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--red);
}
.top-line-orange:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--orange);
}
.top-line-yellow:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--yellow);
}
.top-line-green:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--green);
}
.top-line-teal:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--teal);
}
.top-line-cyan:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--cyan);
}
.top-line-white:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--white);
}
.top-line-gray:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--gray);
}
.top-line-gray-dark:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--gray-dark);
}
.top-line-gray-light:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--gray-light);
}
.top-line-primary:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--primary);
}
.top-line-secondary:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--secondary);
}
.top-line-success:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--success);
}
.top-line-info:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--info);
}
.top-line-warning:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--warning);
}
.top-line-danger:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--danger);
}
.top-line-light:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--light);
}
.top-line-dark:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--dark);
}
.top-line-black:before {
  content: '';
  display: block;
  height: 3px;
  background: var(--black);
}




.bi-sm {
  font-size: 1.1em !important;
  line-height: 0.5em !important;
  vertical-align: -15% !important;
}
.bi-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.bi-2x {
  font-size: 2em;
}
.bi-3x {
  font-size: 3em;
}
.bi-4x {
  font-size: 4em;
}
.bi-5x {
  font-size: 5em;
}
.bi-fw {
  width: 1.28571429em;
  text-align: center;
}
.bi-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em;
}
.bi-pull-left {
  float: left;
}
.bi-pull-right {
  float: right;
}
.bi.bi-pull-left {
  margin-right: .3em;
}
.bi.bi-pull-right {
  margin-left: .3em;
}

.custom-control-input-danger:checked ~ .custom-control-label-danger::before {
  color: #fff;
  border-color: var(--danger);
  background-color: var(--danger);
}

.custom-control-label-danger::before {
  position: absolute;
  top: .25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: var(--danger) solid 1px;
}


table.table-modern {
  border-collapse: collapse;
}

.table-modern thead th {
  font-weight: normal;
  font-size: .65rem;
  text-align: left;
  line-height: .95em;
  padding: 6px 4px 6px 4px;
  color: #FFFFFF;
  background: #343a40;
  vertical-align: top;
}

.table-modern td {
  text-align: left;
  line-height: .95em;
  padding: 4px 4px 4px 4px;
  vertical-align: top;
  border-bottom: 1px solid #898f95;
}


.badge-outline-primary {
    color: #007bff;
    background-color: transparent;
    background-image: none;
    border-color: #007bff;
    border: 1px solid;
}

.badge-outline-secondary {
    color: #6c757d;
    background-color: transparent;
    background-image: none;
    border-color: #6c757d;
    border: 1px solid;
}

.badge-outline-success {
    color: #28a745;
    background-color: transparent;
    background-image: none;
    border-color: #28a745;
    border: 1px solid;
}

.badge-outline-danger {
    color: #dc3545;
    background-color: transparent;
    background-image: none;
    border-color: #dc3545;
}

.badge-outline-warning {
    color: #ffc107;
    background-color: transparent;
    background-image: none;
    border-color: #ffc107;
    border: 1px solid;
}

.badge-outline-info {
    color: #17a2b8;
    background-color: transparent;
    background-image: none;
    border-color: #17a2b8;
    border: 1px solid;
}

.badge-outline-light {
    color: #f8f9fa;
    background-color: transparent;
    background-image: none;
    border-color: #f8f9fa;
    border: 1px solid;
}

.badge-outline-dark {
    color: #343a40;
    background-color: transparent;
    background-image: none;
    border-color: #343a40;
    border: 1px solid;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.125rem -0.15rem;
  font-size: 0.825rem;
  line-height: 1.3em;
  border-radius: 0.2rem;
  border: none;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-icon {
  padding-top: 0;
  padding-bottom: 0;
}
.btn > .icon {
  position: relative;
  display: inline-block;
  left: -.60rem;
  padding: .275rem .65rem;
  background: rgba(0, 0, 0, 0.15);
  border-radius: .2rem 0 0 .2rem;
}

.btn-sm > .icon {
  position: relative;
  display: inline-block;
  left: -0.48rem;
  padding: .125rem .235rem;
  background: rgba(0, 0, 0, 0.15);
  border-radius: .2rem 0 0 .2rem;
  border: 1px solid transparent;
}

.btn-pressed {
  border: none;
  box-shadow: inset 1px 1px 1px #666, inset 0 3px 10px #999;
  color: #666;
  background: #fff;
}


/* Малые девайсы («ландшафтные телефоны», >= 576px) */
@media (max-width: 575.98px) {
  .card-columns {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    windows: 1;
  }
}

/* Средние девайсы («таблетки», >= 768px) */
@media (min-width: 576px) and (max-width: 767.98px) {
  .card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3 !important;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    windows: 1;
  }
}

/* Большие девайсы (десктопы, >= 992px, max-width: 1999px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    windows: 1;
  }
}

/* Экстрабольшие девайсы (большие десктопы, >= 1200px) */
@media (min-width: 1200px) {
  .card-columns {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
}


.dropdown-toggle[aria-expanded="true"]:after {
  transform: rotate(180deg); 
}
.dropdown-toggle:after { 
  transition: 0.4s; 
}

.dropdown-arrow[data-toggle="collapse"]:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
''    font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

//  content: "\F231";
  content: "\F285";
  font-family: "bootstrap-icons";

  transform: rotate(90deg) ;
  transition: all linear 0.25s;
}

.dropdown-arrow[data-toggle="collapse"].collapsed:after {
  transform: rotate(0deg) ;
}


