html, body {
    width: 100%;
    height: 100%;
    font-family: Arial, sans-serif;
}

textarea:focus,
textarea.form-control:focus,
input.form-control:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=number]:focus,
[type=text].form-control:focus,
[type=password].form-control:focus,
[type=email].form-control:focus,
[type=tel].form-control:focus,
[contenteditable].form-control:focus {
    box-shadow: inset 0 -1px 0 #ddd;
}

h1 {
    font-size: calc(20px + 1vw);
}

p {
    font-size: calc(12px + 0.2vw);
}

a {
    color: black;
    text-decoration: underline;
}

.bg-brand {
    background-color: #673ab7;
    color: white;
}

.bg-brand a {
    color: white;
}

.nowrap {
    white-space: nowrap;
}

.data {
    overflow-x: auto;
}

.data small {
    display: inline-block;
    color: #797979;
}

.content {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.navbar {
    border-radius: 0;
    border: 0;
    min-height: 70px;
    /*background-color: #f8f8f8;*/
}

.navbar a {
    text-decoration: none;
}

.navbar li a.nav-link {
    padding: 25px 15px !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .75);
}

.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255, 255, 255, 1);
}

/*.navbar button{
    padding: 15px 15px;
}

.navbar .navbar-brand {
    min-width: 200px;
    color: black;
    font-size: 25px;
}*/

.value-preposition div {
    margin-top: 30px;
    margin-bottom: 30px;
}

.main-page-search {
    /*background-color: #f8f8f8;*/
    margin: 0;
    padding: 20px 0;
}

.main-page-search p {
    /*color: #333;*/
    margin-top: 7px;
    /*font-size: 14px;*/
}

.main-page-search .row {
    margin-left: auto;
    margin-right: auto;
}

.main-page-search #org-search-form input,
.main-page-search #org-search-form button {
    border-radius: 0;
    border: 0;
    height: 60px;
    width: 100%;
}

.main-page-search #org-search-form #org-search {
    width: 100%;
    min-width: 200px;
    margin: 10px auto;
    padding: 1rem;
    font-size: 16px;
    font-weight: lighter;
    height: 60px;
}

.main-page-search #org-search-form div {
    padding: 0;
}

.main-page-search #org-search-form button {
    margin: 10px auto;
    padding: 0 4%;
    background: #009d51;
    color: white;
    font-size: 20px;
    width: 150px;
}

.facts .row div {
    padding: 40px 10px;
}

.facts .number {
    font-size: 30px;
    font-weight: bold;
}

.organization {
    margin-bottom: 50px;
}

.organization .org-description {
    font-size: 18px;
    font-weight: bold;
}

.organization .codes div {
    margin-bottom: 7px;
    margin-top: 0 !important;
    font-size: 12px;
}

.organization .codes div p {
    margin-bottom: 0;
    margin-top: 0 !important;
    font-size: 12px;
}

.organization .codes p.code-name {
    font-size: 10px;
    color: #999;
}

.organization .table th {
    /*border-bottom: 1px solid black;*/
}

.download-btn button {
    border: 0;
    background-color: whitesmoke;
    margin: 0 2px;
    border-radius: 0;
}

.download-btn button:hover {
    background-color: lightgray;
}

.organization .row div {
    /*margin-top: 20px;*/
}

.organization .row {
    /*margin-top: 20px;*/
}

.organization .total-text {
    font-size: 25px;
}

.organization .total-num {
    font-size: 25px;
    font-weight: bold;
}

.organization .subsid {
    color: #834e71;
}

.finance .table {
    /*max-width: 600px;*/
    /*margin-top: 30px;*/
}

.table {
    font-size: calc(12px + 0.2vw);
}

.finance .grant {
    color: #74B9D9;
}

.finance .goscontract {
    color: #fcd167;
}

.finance .contract223 {
    color: #FF9933;
}

.organization a {
    /*text-decoration: none;*/
}

.search-form {
    max-width: 800px;
    margin: 0 auto;
}

.search-form input.string-search {
    min-width: 150px;
    max-width: 800px;
    margin: 5px;
    font-size: 15px;
    height: 40px;
    border-radius: 0;
    border: 2px solid #f8f8f8;
    display: inline-block;
    box-shadow: none;
}

a#extra-search {
    text-decoration: none;
    /*color: #333;*/
    line-height: 1rem;
}

a#extra-search .fa {
    position: relative;
    top: -.25rem;
}

.extra-search input {
    border-radius: 0;
    margin: 5px;
    font-size: 15px;
    height: 40px;
    border: 2px solid #f8f8f8;
    box-shadow: none;
}

tr[data-href] {
    cursor: pointer
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, .025);
}

footer {
    margin: 0 0 20px 0;
}

footer a {
    color: #333;
}

footer hr {
    margin-top: 0;
}

footer p {
    font-size: 12px;
}

footer .footer-text {
    display: table;
    height: 100px;
}

footer .footer-text .centered-footer-text {
    display: table-cell;
    vertical-align: middle;
}

footer .footer-menu a {
    display: block;
}

.side-search {
    width: 100% !important;
    min-width: 150px;
    max-width: 800px;
    margin: 5px;
    font-size: 15px;
    height: 40px;
    border-radius: 0;
    border: 2px solid #f8f8f8;
    display: inline-block;
}

.search-page-inputs {
    width: 80%;
    /*margin: 20px auto;*/
}

.search-page-inputs .row div {
    padding: 5px;
}

.search-page-inputs input {
    font-size: 15px;
    height: 40px;
    border-radius: 0;
    border: 2px solid #f8f8f8;
    display: inline-block;
}

.search-page-inputs button {

    padding: 0 4%;
    background: #009d51;
    color: white;
    font-size: 15px;
    border-radius: 0;
    border: 0;
    height: 40px;
    width: 150px;
}

.result-nav {

    position: relative;
}

.result-nav-num {
    margin: 0;
    float: left;
    display: inline-block;
    margin-bottom: 5px;
}

.result-nav-num h3 {
    display: inline-block
}

.result-nav-download {
    float: right;
    margin: 15px 0;

}

.search-results a {
    /*text-decoration: none;*/
    color: black;
}

.org-filter div {
    margin-bottom: 20px;
}

.org-filter div:first-child {
    margin-bottom: 0;
}

.org-filter span {
    font-size: 14px;
    font-weight: bold;
}

.org-filter .checkboxes {
    font-size: 14px;
}

.org-filter .checkbox input {

}

.org-filter input {
    border-radius: 0;
}

.org-filter select {
    border-radius: 0;
    margin: 5px 0 5px 0;
    width: 100%;
}

.org-filter label input {
    border-radius: 0;
    margin: 10px 5px;
}

.org-filter label {
    font-weight: normal;
    font-size: 16px;
}

.pagination a {
    margin: auto 5px;
    border-color: #f8f8f8 !important;
    color: black !important;
}

.pagination .active {
    background-color: #f8f8f8;
}

.scrollable-menu {
    height: auto;
    max-height: 200px;
    overflow-x: hidden;
    width: 100%;
}

.text-container {
    /*max-width: 900px;*/
    margin-bottom: 30px;
    min-height: 400px;
}

.text-container h2 {
    margin-bottom: 30px;
}

.text-container h4 {
    margin-bottom: 30px;
    margin-top: 30px;
}

ul.nav-tabs {
    display: table;
    width: 100%;
    margin-bottom: 40px;
    border-bottom-color: transparent;
}

ul.nav-tabs li {
    text-align: center;
    width: 33.3%;
    border-width: 2px;
    border-color: #f8f8f8;
}

ul.nav-tabs a {
    border-radius: 0;
    border-bottom-width: 2px;
    border-bottom-color: #f8f8f8;
    color: #777;
}

ul.nav-tabs a:hover, ul.nav-tabs a:focus {
    color: #000;
    background: transparent;
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
}

ul.nav-tabs li.active a, ul.nav-tabs li.active a:hover {
    border-width: 2px;
    border-color: #f8f8f8;
    border-bottom-color: transparent;

}

.extensions {
    margin: 30px auto 20px auto;
    max-width: 600px;
}

.extensions a, .extensions a:focus, .extensions a:hover, .extensions a:active {
    border-radius: 20px;
    color: black;
    margin: 20px 30px;
    padding: 10px 20px;
    text-decoration: none;
}

.ngoform {
    margin: 30px auto;
    min-width: 900px;
}

.ngoform h1 {
    margin-bottom: 30px;
}

.ngoform .description p {
    margin-bottom: 30px
}

.ngoform form {
    margin: 30px auto 0px auto
}

.ngoform form h4 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.ngoform form h5 {
    font-size: 14px;
    font-weight: 600;
    margin-left: 20px;
}

.ngoform form .form-group {
    margin-bottom: 10px;
}

.ngoform form .group-section {
    margin-bottom: 10px;
}

.ngoform form .group-section .form-group {
    margin-bottom: 5px;
}

.ngoform form .form-group label {
    font-weight: normal;
}

.ngoform form input, .ngoform form textarea, .ngoform form select {
    border-radius: 0;
    width: 400px;
    margin-bottom: 10px;
}

.ngoform form input.short-input {
    width: 200px;
}

.ngoform form input.middle-input {
    width: 300px;
}

.ngoform form input::-webkit-outer-spin-button,
.ngoform form input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

.ngoform form .input-hint {
    margin: -4px 4px 4px 4px;
    color: gray;
    font-style: italic;
    font-size: 12px;

}

.ngoform form .extra-value {
    padding: 20px auto;
    position: relative;
}

.ngoform .btn, .ngoform .btn:active, .ngoform .btn:hover, .ngoform .btn:focus {
    padding: 0 4%;
    background: #bbb;
    color: white;
    font-size: 15px;
    border-radius: 0;
    border: 0;
    height: 40px;
    margin: 20px auto;
}

.ngoform .btn.btn-primary, .ngoform .btn.btn-primary:active, .ngoform .btn.btn-primary:hover, .ngoform .btn.btn-primary:focus {
    background: #009d51;
}

.ngoform .nav-pills li a {
    background: #bbb;
    color: white;
    font-size: 15px;
    border-radius: 0;
    margin: auto 5px;
}

.ngoform .nav-pills li.active a {
    background: #666;
    color: white;
    font-size: 15px;
    border-radius: 0;
}

.ngoform .sidebar .sidebar-item {
    padding: 10px;
}

.ngoform .sidebar .sidebar-item h4 {
    font-size: 17px;

}

.ngoform .sidebar a, .ngoform .sidebar a:hover, .ngoform .sidebar a:active, .ngoform .sidebar a:focus {
    text-decoration: none;
    color: black;
}

.ngoform .sidebar .sidebar-item:hover, .ngoform .sidebar .sidebar-item:active, .ngoform .sidebar .sidebar-item:focus, .ngoform .sidebar .active {
    background-color: whitesmoke;
}

.ngoform .step {
    padding: 17px;
}

.ngoform .step h3 {
    margin: 0 auto;
}

.ngoform .modal-content {
    border-radius: 0;
}

.ngoform .modal-content form input {
    border-radius: 0;
    width: 200px;
    margin-bottom: 10px;
}

.ngoform .modal-content form select,
.ngoform .modal-content form textarea {
    width: 300px;
}

.ngoform .modal-content .modal-footer {
    text-align: center;
}

.ngoform .modal-content .modal-footer button, .ngoform .modal-content .modal-footer button:active, .ngoform .modal-content .modal-footer button:hover, .ngoform .modal-content .modal-footer button:focus {
    padding: 0 4%;
    background: #009d51;
    color: white;
    font-size: 15px;
    border-radius: 0;
    border: 0;
    height: 40px;
}

.ngoform form .fa-times {
    color: red;
}

.ngoform .level {
    font-size: 30px;
}

.ngoform form a.list-element,
.ngoform form a.list-element:hover {
    color: #333;
    text-decoration: none;
}

.ngoform ul.errorlist {
    padding-left: 0;
    list-style: none;
}

.ngoform .errorlist {
    color: #a94442;
}

.public-ngo-form {
    margin-bottom: 30px;
    margin-top: 30px;
}

.public-ngo-form .long-field {
    font-size: 12px
}

.public-ngo-form th,
.public-ngo-form td {
    padding-right: 20px;
}

.public-ngo-form dl {
    padding-left: 10px;
    margin-bottom: 15px;
}

.public-ngo-form dt {
    font-weight: 400;
}

.public-ngo-form dd {
    padding-left: 20px;
}

.public-ngo-form .list-field-name {
    margin-bottom: 0;
}

.public-ngo-form .list-field-value {
    margin-left: 15px;
    margin-bottom: 10px;
}

.ngoform .label-column {
    width: 25%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}

.ngoform .input-column {
    width: 75%;
    float: left;
    padding-left: 15px;
    padding-right: 15px;
}

.ngoform .ngoform-modal .label-column {
    width: 34%;
}

.ngoform .ngoform-modal .input-column {
    width: 66%;
}

.ngoform ul.ngoform-list {
    list-style: none;
    padding: 0;
}

.ngoform ul.ngoform-list .sub-field {
    margin-left: 20px;
}

.ngoform ul.ngoform-list ul.ngoform-list {
    list-style-type: disc;
    padding-left: 40px;
}

.ngoform ul.ngoform-list .add-entity-link {
    padding-left: 40px;
}

.ngoform .management-body-activity {
    margin-left: 20px;
}

.ngoform-modal.message-popup .message-text {
    margin: 15px 15px 20px
}

.ngoform-modal.message-popup .modal-footer {
    border-top: none;
    padding-top: 0;
}

.ngoform-modal.message-popup .modal-footer::before {
    content: none;
}

.ngoform-modal.message-popup .modal-footer .btn {
    margin: 0;
}

.org-title {
    background-color: #f8f8f8;
    margin: 0;
    width: 100%
}

.org-title .row > div {
    margin-top: 25px;
    margin-bottom: 15px;
}

.org-title .nav-pills {
    margin-top: 30px;
}

.org-title .nav-pills li a {
    border-radius: 0;
    color: black;
    text-decoration: none;
}

.org-title .nav-pills li.active a, .org-title .nav-pills li.active a:hover, .org-title .nav-pills li.active a:focus {
    background-color: white;
    color: black;
}

.tabs {
    margin-bottom: 1em;
    border-bottom: 1px solid #dee2e6;
}

.tabs li a {
    padding: .5rem 0;
    margin: 0 1rem;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    border-radius: 0 !important;
}

.tabs li:first-child a {
    margin-left: 0;
}

.tabs li.active a {
    border-bottom-color: #673ab7;
    color: black !important;
    font-weight: bold;
}

.finance .table th{
    border-top: none;
}

/* по-умолчанию, иконка заметно больше текста, выглядит криво */
.fa-external-link {
    font-size: 70%;
}

a.serp-link {
    display: block;
    text-decoration: none;
}
a.serp-link >:first-child {
    text-decoration: underline;
}
