#loader, .loader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: #ffffff url('../img/loading.gif') no-repeat center center;
    background-size: 150px 150px;
    display: none;
}

.loader {
    position: absolute;
}

table.table {
    width: 100% !important;
}

.top_bar {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 30px;
}

.top_bar_1 {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 0;
}

.top_bar_2 {
    margin-top: 0;
    margin-bottom: 30px;
}

.top_bar_3 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.top_bar h2,
.top_bar_1 h2,
.top_bar_2 h2,
.top_bar_3 h2 {
    margin-top: 0;
    margin-bottom: 0;
}

.buttons_row {
    white-space: nowrap;
    display: flex;
}

a.btn {
    display: inline-block;
}

a.btn .glyphicon {
    position: relative;
    top: 3px;
}

.buttons_row button.btn,
.buttons_row a.btn {
    display: flex;
    box-sizing: border-box;
    padding: 5px;
    width: 30px;
    height: 30px;
    align-content: center;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.buttons_row a.btn:last-of-type {
    margin-right: 0;
}

.buttons_row a.btn .mi_xs {
    font-size: 20px;
    height: 20px;
}

#pre_upload {
    overflow: scroll;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    padding: 40px;
}

#pre_upload .pre_upload {
    background: #f1f1f1;
}

#pre_upload canvas {
    display: block;
    margin: 0;
    padding: 0;
}

#pre_upload .photo_buttons {
    display: flex;
    justify-content: space-between;
    padding: 10px;
}

.ph_bt_l {
    display: flex;
    justify-content: flex-start;
}

.ph_bt_l a {
    margin-right: 5px;
}

.ph_bt_r {
    display: flex;
    justify-content: flex-end;
}

.photo_cancel {
    //padding-right: 0;
}

#photo_save {
    margin-left: 15px;
}

.ph_bt_r a.btn-link {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.ph_bt_r a.btn-link:hover {
    text-decoration: none !important;
}

#pre_upload #video_wrapper {
    display: none;
}

#pre_upload .video_wrapper {
    display: flex;
    overflow: hidden;
    justify-content: center;
    height: 100%;
}

#pre_upload video {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
}

.row-fl {
    display: flex;
    align-content: center;
    align-items: center;
}

.row-fl h1 {
    margin-bottom: 20px;
}

.lnk_back {
    margin-right: 40px;
}

.buttons_bar {
    margin-bottom: 20px;
}

h1 {
    margin-bottom: 20px;
}

div.invalid-input,
label.invalid-input {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 5px;
    color: #d43f3a;
}

textarea.invalid-input,
input.invalid-input {
    border: 1px solid #d43f3a;
}

textarea.valid-input,
input.valid-input {
    border: 1px solid #2e8540;
}

.select2-results__group {
    font-size: 14px !important;
    color: #212121 !important;
}

.select2-results__options--nested li {
    padding-left: 40px !important;
}

.panel-body .form-group:last-of-type {
    margin-bottom: 0;
}

#user_photo {
    padding-bottom: 100%;
    background: #d6d7d9 url('../img/no-photo.jpg') no-repeat center center;
    background-size: contain;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
}

#user_photo img {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

.photo_actions {
    display: flex;
    justify-content: right;
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.photo_actions a {
    margin-left: 5px;
}

#photo {
    visibility: hidden;
    position: absolute;
}

a.btn_capture,
a.btn_undo_crop,
a.btn_crop {
    width: 30px;
    height: 30px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}

.btn_capture .material-icons,
.btn_undo_crop .material-icons,
.btn_crop .material-icons {
    font-size: 18px;
}

.radio label,
.checkbox label {
    display: flex;
    align-content: center;
    align-items: center;
    font-weight: bold;
}

.radio label input,
.checkbox label input {
    width: 20px;
    height: 20px;
    position: relative !important;
    top: -3px;
    margin-right: 10px;
}

textarea {
    resize: vertical;
}

.ph_flex {
    display: flex;
    justify-content: space-between;
}

.panel-collapsable .panel-body {
    display: none;
}

.panel-expanded .panel-body {
    display: block;
}

.panel-collapsable .ph_flex .glyphicon-menu-down {
    display: block;
    cursor: pointer;
}

.panel-collapsable .ph_flex .glyphicon-menu-up {
    display: none;
    cursor: pointer;
}

.panel-expanded .ph_flex .glyphicon-menu-down {
    display: none;
}

.panel-expanded .ph_flex .glyphicon-menu-up {
    display: block;
}

.panel_show .row {
    margin-bottom: 15px;
    font-weight: bold;
}

.panel_show .row:last-of-type {
    margin-bottom: 0;
    margin-top: -10px;
}

.panel_show .btn-link {
    padding: 0;
    margin-bottom: -5px;
}

.btn_link_cancel {
    padding-right: 0;
}

.add_phone_line,
.add_email_line {
    margin-top: 5px;
    display: flex;
    justify-content: flex-end;
    margin-bottom: -10px;
}

.phone_line,
.email_line {
    margin-top: 10px;
}

.phone_line > div:first-child {
    display: flex;
}

.non_existing_val {
    margin-top: 15px;
}

.mr-5 {
    margin-right: 5px !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.mr-15 {
    margin-right: 15px !important;
}

.ml-5 {
    margin-left: 5px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.ml-15 {
    margin-left: 15px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.ml-40 {
    margin-left: 40px !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-15 {
    margin-top: 15px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px; /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}

.btn_icon {
    display: flex !important;
    align-items: center;
    align-content: center;
}

.btn_icon .material-icons {
    font-size: 18px;
}

.fnt_norm {
    font-weight: normal !important;
}

.red {
    color: #d43f3a !important;
}

.green {
    color: #2e8540 !important;
}

.blue {
    color: #00a6d2 !important;
}

.navy {
    color: #205493 !important;
}

.orange {
    color: #e4a61b !important;
}

.row-fl-ll {
    justify-content: flex-start;
}

.mi_xs {
    font-size: 16px;
    display: block;
    height: 18px;
}

.top_bar h3,
.top_bar_1 h3,
.top_bar_2 h3 {
    margin-top: 0;
    margin-bottom: 0;
}

.top_bar_3 h4{
    margin-top: 5px;
    margin-bottom: 0;
}

.mm_message {
    min-width: 300px;
    max-width: 600px;
}

.icon-text {
    font-size: 16px;
    position: relative;
    top: 3px;
    cursor: pointer;
    padding: 0 5px;
    color: #4c965c;
    line-height: 0;
}

.icon-text-large {
    font-size: 30px;
    top: 10px;
}

.icon-text:hover {
    color: #205391;
}

.form_file_rename .input-group-btn {
    vertical-align: top;
}

.alert_message_container {
    position: fixed;
    right: 20px;
    top: 20px;
    z-index: 3;
}

.record-btn-container {
    float: right;
}

.record-btn-container button {
    padding: 2px 3px 0 0;
}

.start-record-btn span, .stop-record-btn span {
    display: inline-block;
    vertical-align: middle;
}

.stop-record-btn span {
    color: #d43f3a;
}

.mt-8 {
    margin-top: 8px;
}

button.btn.disabled-soft, a.btn.disabled-soft {
    pointer-events: auto;
}

.filters_top_bar {
    margin: 10px 0;
}

.row-flex2 {
    display: flex;
}

.col-flex2 {
    display: flex;
    flex-flow: row;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
    max-width: 200px;
    margin-left: 10px;
}

.col-flex2 label {
    margin: 5px 5px 0 0;
}

.col-flex2 input {
    width: 100px;
}

body div.dataTables_processing {
    height: 100%;
    top: 0;
    padding: 0;
    line-height: 100%;
    background: rgba(255, 255, 255, 0.85);
    margin-top: 0;
    align-items: center;
    justify-content: center;
}

body div.dataTables_processing[style*='block'] {
    display: flex !important;
}

.jstree .jstree-action {
    display: none;
    margin-left: 5px;
    position: relative;
}

.jstree .jstree-action:first-of-type {
    margin-left: 15px;
}

.jstree .jstree-action-delete {
    margin-left: 1px;
    top: 1px;
}

/* modal in modal support */
.modal-backdrop {
    visibility: hidden !important;
}

.modal.in {
    background-color: rgba(0, 0, 0, 0.5);
}

.modal {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.hidden {
    display: none;
}

/*.select2-results__option[aria-disabled=true] {
    display: none;
}*/
.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-inline {
    display: inline;

}

.mb-1 {
    margin-bottom: 1rem;
}

.ml-1 {
    margin-left: 1rem;
}

.signature-area {
    width: 100%;
    height: 100px;
    background: #e8e8e8;
    position: relative;
}

.signature-area:hover {
    cursor: crosshair;
}

footer {
    bottom: 7px;
    position: fixed;
    float: right;
    right: 14px;
}

.beyondgrammar-toggle-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#progress-bar {
    width: 100%;
    height: 20px;
    background-color: #f2f2f2;
    margin-top: 10px;
}

#strength-bar {
    height: 100%;
    width: 0;
    text-align: center;
    line-height: 20px;
    color: #fff;
}

.strength-0 { background-color: #FF0000; } /* Very weak */
.strength-1 { background-color: #FF6347; } /* Weak */
.strength-2 { background-color: #FFD700; } /* Fair */
.strength-3 { background-color: #ADFF2F; } /* Strong */
.strength-4 { background-color: #008000; } /* Very strong */

.valid { color: green; }
.invalid { color: red; }

.card.card-double {
    max-width: 1200px;
}
.card-nav .list-group {
    width: 200px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    border-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.card-nav .list-group a {
    border-right: none;
}
.card-nav .list-group a.active {
    background-color: rgba(48, 197, 210, 1);
    border: none;
}
.card-nav .list-group.sticky-top {
    top: 20px;
}
.user-card .card-body {
    border-left: 4px solid rgba(48, 197, 210, 1);
}
.form-floating .select2-container--bootstrap-5 .select2-selection {
    height: calc(3.5rem + 2px);
    padding: 1rem 0.75rem;
}
.form-floating .select2-container--bootstrap-5 .select2-selection>.select2-selection__rendered {
    margin-top: 0.6rem;
    margin-left: 0.25rem;
}
.form-floating > .form-select~label {
    z-index: 10;
}
.form-floating .select2-container--bootstrap-5 .select2-selection {
    border-color: #dee2e6;
}
.form-floating .select2-container--bootstrap-5.select2-container--focus .select2-selection,
.form-floating .select2-container--bootstrap-5.select2-container--open .select2-selection {
    box-shadow: 0 0 0 0.25rem var(--bs-cust-primary-light);
    border-color: #76d8e1;
}
body .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected,
body .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) {
    background-color: rgba(48, 197, 210, 1);
}
body .select2-container--bootstrap-5 .select2-dropdown {
    border-color: #76d8e1;
}
.alert-mfa .alert-icon {
    background-color: #D1E7DD;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.alert-mfa .alert-icon svg {
    stroke: #2E8540;
}
.alert-mfa strong {
    color: #2E8540;
}
.alert-mfa.alert-mfa-disabled .alert-icon {
    background-color: #F8D7DA;
}
.alert-mfa.alert-mfa-disabled .alert-icon svg {
    stroke: #D43F3A;
}
.alert-mfa.alert-mfa-disabled strong {
    color: #D43F3A;
}
.alert-mfa.alert-mfa-disabled .mfa-enabled,
.alert-mfa .mfa-disabled {
    display: none;
}
.alert-mfa.alert-mfa-disabled .mfa-disabled {
    display: inline;
}
.btn-primary {
    background-color: #30C5D2;
    border-color: #30C5D2;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #21838C !important;
    border-color: #21838C !important;
}
.btn-outline-primary {
    color: #2AB4C0;
    border-color: #30C5D2;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: #2AB4C0 !important;
    background-color: transparent !important;
    border-color: #30C5D2 !important;
}
.mfa-image {
    max-width: 100%;
}
.select2-dropdown--above {
    border-bottom: 2px solid lightblue !important;
}