:root {
    --bs-border-color: #cdcdcd;
    --input-border: var(--bs-gray-400);
    --input-focus-border: #a5a5a5 !important;
    --readonly-color: var(--bs-gray-600);
    --bs-box-shadow-sm: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
    --label-color: #555 !important;
}

form .modal-title {
    text-align: center !important;
    font-weight: var(--fw-medium) !important;
    font-size: 1.4rem !important;
}

label.line {
    position: absolute;
    top: -.6rem;
    margin-left: .5rem;
    background-color: #fff;
    font-size: 0.85em;
}

    .form-select {
        padding-right: 2.25rem !important;
    }

.form-check-input {
    width: 1.2em;
    height: 1.2em;
    margin-top: 0;
}

.div-radio {
    border-radius: var(--bs-border-radius) !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

    form input::placeholder,
    form textarea::placeholder {
        opacity: 0.8 !important;
    }


.form-control,
.form-select,
.div-radio {
    height: auto;
    min-height: auto;
    padding: 0.5rem 0.5rem !important;
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.form-control-sm {
    padding: 0.33em !important;
}

.form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F16721' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-control.is-valid:focus, 
.was-validated .form-control:valid:focus,
.form-check-input.is-valid:focus, 
.was-validated .form-check-input:valid:focus,
.form-check-input:focus {
    border-color: #c5c5c5;
    box-shadow: none;
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus,
.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: none;
}

.form-control.is-valid,
.was-validated .form-control:valid,
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-control:valid {
    --bs-form-select-bg-icon: none;
    border-color: var(--input-border);
}

.was-validated .form-check-input:valid ~ .form-check-label {
    color: var(--standart-color);
}

.was-validated .form-select:invalid:not([multiple]):not([size]) {
    --bs-form-select-bg-icon: none;
}

.was-validated .form-control:valid {
    background-image: none;
}

form .form-check-input {
    width: 1.3em;
    height: 1.3em;
    border: var(--bs-border-width) solid #bbb;
}

form .form-check-label {
    margin-left: .35rem !important
}

.form-check-input:checked,
.form-check-input.is-valid:checked, .was-validated .form-check-input:valid:checked {
    background-color: var(--system-color);
    border-color: var(--system-color);
}

.form-check-input.is-valid, .was-validated .form-check-input:valid {
    border-color: var(--bs-border-color);
}

textarea.style {
    height: 15em !important;
}

.invalid-feedback {
    position: absolute;
    margin-top: 0;
    font-size: 0.8rem;
}

.was-validated .form-control:invalid + input {
    border: 1px solid red;
}

.was-validated .form-control:invalid {
    background-image: none;
    border: 1px solid red !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--input-focus-border);
    box-shadow: none;
}

form .middle-caption {
    overflow: hidden;
    color: var(--standart-color);
    font-weight: var(--fw-medium);
    margin-bottom: 0.5em;
}

form input.form-control:read-only {
    color: var(--readonly-color);
}

.border-focus {
    border-color: var(--input-focus-border);
}

#admin-realestate-visuals .img-fluid {
    height: 200px !important;
}

input[data-bs-toggle=""] {
    background-color: var(--bs-secondary-bg);
    opacity: 0.6;
}

form .label {
    overflow: hidden;
    color: var(--standart-color);
    font-weight: var(--fw-medium);
    margin-bottom: 0.5em;
}

form .label > sup {
    color: var(--system-color) !important;
}

form .buttons.fixed {
    position: fixed !important;
    bottom: 0;
    width: calc(100% - 3rem - var(--side-nav-buttons-width)) !important;
    transition: width 0.3s;
    z-index: 2 !important;
}

@media (max-width: 991.9px) {
    form .buttons.fixed {
        width: calc(100% - 2rem - var(--side-nav-buttons-width)) !important;
    }
}


form .buttons button,
form .buttons button a {
    min-width: 6em !important;
}

.virtual-circle sup {
    color: green !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

.form-select[disabled] {
    opacity: 0.6;
}

.form-control-sm {
    padding: 5px !important;
}

[class^="filter-"] .dropdown-menu {
    min-height: 230px !important;
    z-index: 1;
}

[class^="filter-"] .dropdown-menu.free {
    min-height: auto !important;
}

    [class^="filter-"] .dropdown-menu .list-group {
        height: 150px !important;
        overflow: auto;
    }

    [class^="filter-"] .dropdown-menu.free .list-group {
        height: auto !important;
        overflow: auto;
    }

    [class^="filter-"] .dropdown-menu .list-group-item:hover {
        cursor: pointer;
        background-color: var(--hover-back-color);
        color: var(--hover-color) !important;
    }



.dropdown-loader {
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    position: absolute;
    overflow: hidden;
    background-color: #ddd;
    z-index: 2051;
    z-index: 2;
}

    .dropdown-loader:before {
        content: "";
        position: absolute;
        left: -50%;
        height: 3px;
        width: 40%;
        background-color: var(--system-color);
        -webkit-animation: lineAnimation 3s linear infinite;
        -moz-animation: lineAnimation 3s linear infinite;
        animation: lineAnimation 3s linear infinite;
    }


.nav-tabs-system .nav-link {
    color: #000 !important;
}

    .nav-tabs-system .nav-link.active {
        font-weight: var(--fw-medium) !important;
        color: var(--system-color) !important;
    }

/* GENERAL */
/* ------------------------------------------------------------------------------------------*/
#system-parameters textarea {
    height: 20em !important;
}

#editor-code .modal-body,
#editor-image .modal-body {
    height: 90vh !important;
}

#editor-code .modal-body textarea {
    overflow: auto;
}
