:root, [data-bs-theme=light] {
    --body-font-size: 1em; /* original: --bs-body-color = 1em */
    --body-font-size-mobile: 0.9em;
    --body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    /* original: --bs-body-font-family -> --bs-font-sans-serif = system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" */
    /* original: --bs-body-font-family -> --bs-font-monospace = SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace */
    --body-font-weight: 400; /* original: --bs-body-font-weight = 400 */
    --body-font-weight-mobile: 400;
    --body-line-height: 1.5; /* original: --bs-body-line-height = 1.5 */
    --body-color: #212529; /* original: --bs-body-color = #212529 */
    --bg-page-background: #d0d0d0; /* original: --bs-body-bg = #fff */
    --footer-header-gradient-start: rgba(248,248,248,0);
    --footer-header-gradient-end: rgba(248,248,248,1);
    --main-content-background: #f0f0f0;
}
[data-bs-theme=dark] {
    --body-color: #dee2e6; /* original: --bs-body-color = #dee2e6 */
    --bg-page-background: #212529; /* original: --bs-body-bg = #212529 */
    --footer-header-gradient-start: rgba(43,49,55,0);
    --footer-header-gradient-end: rgba(43,49,55,1);
    --main-content-background: #2b3036;
}

/* =============================================================== */
/* FONTS */
/* =============================================================== */

@font-face {
    font-family: RobotoCondensed;
    src: url(./fonts/RobotoCondensed-Regular.ttf) format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: RobotoCondensed;
    src: url(./fonts/RobotoCondensed-Bold.ttf) format('opentype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: RobotoCondensed;
    src: url(./fonts/RobotoCondensed-Italic.ttf) format('opentype');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: RobotoCondensed;
    src: url(./fonts/RobotoCondensed-BoldItalic.ttf) format('opentype');
    font-weight: bold;
    font-style: italic;
}
.fonts_RobotoCondensed {
    font-family: RobotoCondensed, sans-serif !important;
}

@font-face {
    font-family: RobotoCondensedLight;
    src: url(./fonts/RobotoCondensed-Light.ttf) format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: RobotoCondensedLight;
    src: url(./fonts/RobotoCondensed-SemiBold.ttf) format('opentype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: RobotoCondensedLight;
    src: url(./fonts/RobotoCondensed-LightItalic.ttf) format('opentype');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: RobotoCondensedLight;
    src: url(./fonts/RobotoCondensed-SemiBoldItalic.ttf) format('opentype');
    font-weight: bold;
    font-style: italic;
}
.fonts_RobotoCondensedLight {
    font-family: RobotoCondensedLight, sans-serif !important;
}

/* =============================================================== */
/* GENERAL */
/* =============================================================== */

html {
    /*scrollbar-gutter: stable both-edges;*/ /* Prevent content shift with scrollbar */
    /* margin-left: calc(100vw - 100%); */ /* Prevent content shift with scrollbar */
}
body {
    background-color: var(--bg-page-background);
    color: var(--body-color);
    font-size: var(--body-font-size);
    font-family: var(--body-font-family);
    font-weight: var(--body-font-weight);
    line-height: var(--body-line-height);
}
body.modal-open { /* fix body shift when opening modals */
    padding-right: 0 !important;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    /* fix for wrong attribution in Firefox (bug?) */
    font-weight: 600;
}

/* =============================================================== */
/* COOKIES */
/* =============================================================== */

.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #3a4a9d;
    color: #fff;
    padding: 15px;
    text-align: center;
    z-index: 9999;

    margin: 10px 10px 0 10px;
    border-radius: 10px 10px 0 0;
    border: solid 2px #cccccc;
    border-bottom: none;
}
html[data-bs-theme="light"] .cookie-banner {
    border-color: #444444;
}
.cookie-banner button {
    margin-left: 15px;
    padding: 5px 12px;
    border: none;
    background: #fff;
    color: #3a4a9d;
    font-weight: bold;
    cursor: pointer;
    border-radius: 5px;
}

/* =============================================================== */
/* BOOTSTRAP BUTTONS HELPER */
/* =============================================================== */
.btn-inline {
    /* Align btn buttons/links in normal text phrases; for use inside .btn-inline-container */
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    margin: 0.25rem 0.15rem;
    font-size: 0.9em;
    line-height: 1.4;
    vertical-align: baseline;
}
.btn-inline-container {
    /* Align btn buttons/links in normal text phrases; for use with btn buttons/links with .btn-inline */
    line-height: 1.6;
}

/* =============================================================== */
/* BOOTSTRAP ICONS HELPER */
/* =============================================================== */
i.bi-flip-h {
    /* flip icon horizontally */
    transform: scaleX(-1);
    display: inline-block;
}
i.bi-flip-v {
    /* flip icon vertically */
    transform: scaleY(-1);
    display: inline-block;
}
i.bi-rotate-90 {
    /* rotate icon by 90 degrees */
    transform: rotate(90deg);
    display: inline-block;
}
i.bi-rotate-180 {
    /*  rotate icon by 180 degrees */
    transform: rotate(180deg);
    display: inline-block;
}
i.bi-rotate-270 {
    /*  rotate icon by 270 degrees */
    transform: rotate(270deg);
    display: inline-block;
}
i.bi-size-xs {
    font-size: 0.50rem;
}
i.bi-size-sm {
    font-size: 0.75rem;
}
i.bi-size-md {
    /* normal size */
    font-size: 1rem;
}
i.bi-size-lg {
    font-size: 1.25rem;
}
i.bi-size-xl {
    font-size: 1.50rem;
}
i.bi-size-xxl {
    font-size: 2rem;
}


/* =============================================================== */
/* TEXT STYLES */
/* =============================================================== */

.small-caps {
    font-variant: small-caps;
}
.small {
    font-size: 0.875em !important;
}

/* =============================================================== */
/* FORMS */
/* =============================================================== */
html[data-bs-theme="light"] form.form-dataforms input[type='checkbox'][role='switch'], form.form-dataforms input[type='radio'][role='switch'] {
    /* Fix input switch type for checkbox and radio to border color more readable for light theme */
    border-color: #aeb2b6; /* Bootstrap original: #dee2e6 */
}
form.form_auth span.error {
    /*color: var(--bs-danger);*/ /* #ff4444 */
    /*padding-left: 10px;*/
}
form.form_auth span.checked {
    /*color: var(--bs-success) !important;*/
}
form.form_auth span.error::before {
    /*margin-right: 8px;*/
}
form.form_auth input.error, form.form_auth textarea.error {
    /*border: solid 1px var(--bs-danger);*/
}
form.form_auth textarea {
    min-height: 8rem !important;
}

/* =============================================================== */
/* HEADER */
/* =============================================================== */

.top-title {
    background: linear-gradient(var(--footer-header-gradient-start) 50%, var(--footer-header-gradient-end));
    margin-bottom: 5px;
    font-size: 150%;
    margin-top: 10px;
    height: 75px;
    width: 100%;
    display: inline-flex;
    align-items: center;
}
.top-title .top-logo-container {
    width: 258px;
    height: 75px;
    display: inline-block;
    background: url(../images/app/logo.png) no-repeat center center;
    background-size: contain;
    background-origin: content-box;
    padding: 0 15px 0 5px;
    border-right: 2px solid var(--footer-header-gradient-end);
}
.top-title div {
    margin-left: 15px;
}

.top-title .top-banner {
    /* Custom */
    margin-left: auto;
}
.main-banner-img {
    /* Custom */
    border: 1px solid #cccccc;
    margin-right: 5px;
    margin-bottom: 5px;
}

/* =============================================================== */
/* NAVBAR */
/* =============================================================== */

.navbar {
    background-color: #3a4a9d; /* #006699 */
    margin-bottom: 20px;
}
.navbar .btn.flag-lang img {
    height: 24px;
    margin-top: 2px;
 }

/* =============================================================== */
/* MAIN CONTENT */
/* =============================================================== */

.main-content {
    background-color: var(--main-content-background);
    padding: 10px;
    margin-bottom: 20px;
    border-radius: var(--bs-border-radius-sm); /* = rounded-1 bs class */
    box-shadow: var(--bs-box-shadow-sm); /* = shadow-sm bs class  old: 0 0 3px 3px rgba(0,0,0,0.1) */
    min-height: 600px;
}
.main-content.flex-full {
    height: 1vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* =============================================================== */
/* FOOTER */
/* =============================================================== */

.footer {
    background-color: var(--bg-page-background);
}
.footer .footer-line {
    height: 10px;
    background-color: #3a4a9d; /* #006699 */
}
.footer .footer-text {
    height: 120px;
    background: linear-gradient(var(--footer-header-gradient-end), var(--footer-header-gradient-start) 50%);
    margin-top: 5px;
    font-size: 80%;
    padding:6px 10px;
    color: #888888;
}
#btn-back-to-top { /*Scroll Back To Top button*/
    position: fixed;
    bottom: 20px;
    cursor: pointer;
    display: none;

    /* for display block right */
    right: 30px;

    /* for display flex center */
    width: 100%;
    justify-content: end;
}
.footer .footer-text.footer-menu-desktop > div {
    /* custom */
    height: 30px;
    border-bottom: dotted 2px #bbb;
    margin-bottom: 5px;
}
.footer .footer-text.footer-menu-desktop img, .footer .footer-text.footer-menu-mobile img {
    /* custom: logo images */
    height: 20px;
}

/* =============================================================== */
/* MISC */
/* =============================================================== */

/* Progressbar */
.notransition {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}
.cursor-pointer {
    cursor: pointer;
}
.btn.btn-icon-zoom {
    /* For maximize icon size inside a button */
    padding: 3px 10px 3px 10px;
    font-size: 125%;
}
textarea.auto-resize-textarea {
    /* for auto resize textarea: */
    overflow:hidden;
    resize:none !important;
}

i.rem1-25 {
    /* use with <i> icons */
    font-size: 1.25rem;
}
i.rem1-50 {
    /* use with <i> icons */
    font-size: 1.50rem;
}
i.rem2 {
    /* use with <i> icons */
    font-size: 2rem;
}

/* Titled rounded box */
.custom-titled-box {
    position: relative;
    border: 2px solid var(--bs-border-color);
    border-radius: 4px; /* var(--bs-border-radius) */
    padding: 24px 10px 10px;
    margin-top: 2px;
}
.custom-titled-box-title {
    position: absolute;
    top: -14px;
    left: 10px;
    background: var(--main-content-background); /* var(--main-content-background) | #2b3036 */
    padding: 0 8px;
    font-weight: 600;
    /*font-size: large;*/
    /*border-radius: 4px;*/
    /*border-top: 1px solid var(--bs-border-color);*/
}
.form.form-dataforms {
    /* Customization form box */
}

/* Callout: */
.bd-callout-info {
    --bd-callout-color: var(--bs-info-text-emphasis);
    --bd-callout-bg: var(--bs-info-bg-subtle);
    --bd-callout-border: var(--bs-info-border-subtle)
}
.bd-callout-warning {
    --bd-callout-color: var(--bs-warning-text-emphasis);
    --bd-callout-bg: var(--bs-warning-bg-subtle);
    --bd-callout-border: var(--bs-warning-border-subtle)
}
.bd-callout-danger {
    --bd-callout-color: var(--bs-danger-text-emphasis);
    --bd-callout-bg: var(--bs-danger-bg-subtle);
    --bd-callout-border: var(--bs-danger-border-subtle)
}
.bd-callout-success {
    --bd-callout-color: var(--bs-success-text-emphasis);
    --bd-callout-bg: var(--bs-success-bg-subtle);
    --bd-callout-border: var(--bs-success-border-subtle)
}
.bd-callout-primary {
    --bd-callout-color: var(--bs-primary-text-emphasis);
    --bd-callout-bg: var(--bs-primary-bg-subtle);
    --bd-callout-border: var(--bs-primary-border-subtle)
}
.bd-callout-secondary {
    --bd-callout-color: var(--bs-secondary-text-emphasis);
    --bd-callout-bg: var(--bs-secondary-bg-subtle);
    --bd-callout-border: var(--bs-secondary-border-subtle)
}

.bd-callout {
    /*--bs-link-color-rgb: var(--bd-callout-link);*/
    /*--bs-code-color: var(--bd-callout-code-color);*/
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    color: var(--bd-callout-color, inherit);
    background-color: var(--bd-callout-bg, var(--bs-gray-100));
    border-left: 0.25rem solid var(--bd-callout-border, var(--bs-gray-300));
}

/* Bootstrap Button Group spacer */
.btn-group.btn-group-spacer button:not(:last-child) {
    margin-right: 2px;
}

/* =============================================================== */
/* DATATABLES */
/* =============================================================== */

table.dataTable {
    /* Fix: enable Bootstrap separator (.table-group-divider) on <tbody> */
    border-collapse: collapse !important;
}
table.dataTable.table-bordered th:last-child, table.dataTable.table-bordered td:last-child {
    /* Fix: restore border right of last column in Bootstrap style */
    border-right: inherit !important;
    /*border-width: var(--bs-border-width) !important;*/ /* or border-right-width */
    border-right-width: var(--bs-border-width) !important; /* or border-right-width */
}

/* DataTables: custom control for row panel details */
table.dataTable td.custom-details span.dt-custom-control-close {
    display: none;
}
table.dataTable td.custom-details span.dt-custom-control-close {
    display: block !important;
}
table.dataTable td.custom-details span.dt-custom-control-open {
    display: none;
}

table.dataTable thead.table-head-divider {
    /* Alternative to table-group-divider (BootStrap class) that not works right with expanded row panel details */
    /*border-bottom: calc(var(--bs-border-width)*2) solid currentcolor;*/
    border-bottom: calc(var(--bs-border-width)*3) solid var(--bs-border-color);
}
.dt-container .dt-buttons .btn:hover {
    /* Fix hover for buttons custom className */
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
}

/* selected rows */
table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1).row-selected>* {
    /*box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.95);*/
    box-shadow: inset 0 0 0 9999px rgba(var(--bs-primary-rgb), 0.35); /* (opacity) ,0.95 */
}
table.table.dataTable>tbody>tr.row-selected>* {
    /*box-shadow: inset 0 0 0 9999px rgb(13, 110, 253);*/
    box-shadow: inset 0 0 0 9999px rgb(var(--bs-primary-rgb), 0.40); /* (opacity) NO */
    /*color: rgb(255, 255, 255);*/
    /*color: rgb(var(--dt-row-selected-text));*/
}
table.table.dataTable.table-hover>tbody>tr.row-selected:hover>* {
    /*box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.975);*/
    box-shadow: inset 0 0 0 9999px rgba(var(--bs-primary-rgb), 0.375); /* (opacity) ,0.975 */
}

/* For animation and loading of row details open/close */
table.dataTable .details-row-slider {
    display: none;
    padding: 5px;
}
table.dataTable .details-row-loading {
    text-align: center;
    padding: 20px;
}

/* Optimize open/close row details */
table.table.dataTable>tbody>tr.details {
    /* row containing master data to open */
    border-bottom: none;
}
table.table.dataTable>tbody>tr.details-container td {
    /* cell containing details opened */
    box-shadow: none !important;
    background-color: var(--bs-body-bg);
}
table.table.dataTable>tbody>tr>td.custom-details {
    /* cell containing button open/close */
    background-color: var(--bs-body-bg);
    border-bottom-color: var(--bs-body-bg);
    border-width: 1px;
    box-shadow: none !important;
}

table.table.dataTable span.btn-close-details>* {
    /* For button/icons when open row details  */
    border: none;
    font-size: 125%;
    padding: 0;
}
.dt-container div.dt-processing {
    /* Show popup processing message independently by page scrolling position  */
    position: fixed; /* original: absolute */
}

tr.child ul.dtr-details li {
    text-align: left !important;
}

.input-group-checkbox {
    /* For checkbox2 input type */
    width: 100%;
}

/* =============================================================== */
/* SELECT2 */
/* =============================================================== */

/* */
/* Fix/override Select2 for compatibility with BootStrap dark mode: */
/* */
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background-color: transparent !important;
    border: 1px solid #495057;
}
html[data-bs-theme="dark"] .is-valid+.select2-container--bootstrap-5 .select2-selection:focus {
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: #dee2e6 !important;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
    color: #eee !important;
    background-color: #383838;
    border: 1px solid #555;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
    /*border: 1px solid var(--bs-gray-600);*/
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered .select2-selection__placeholder {
    color: #dee2e6 !important;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field {
    background-color: transparent !important;
    color: #dee2e6 !important;
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    color: #dee2e6 !important;
    border: 1px solid #495057 !important;
    background-color: var(--bs-body-bg);
}
html[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group {
    color: var(--bs-secondary-color)!important;
}

/* */
/* Fix Select2 with Multiple option to avoid carriage return, font size, adjust margins/paddings and show correctly placeholder: */
/* */
.select2-selection.select2-selection--multiple {
    /* avoid carriage return */
    padding-bottom: 0 !important;
}
.select2-selection.select2-selection--multiple .select2-search.select2-search--inline {
    /* avoid carriage return */
    display: inline;
    width: auto;
}
.form-floating .select2.select2-container .select2-selection--multiple {
    /* adjust margins/paddings */
    padding-top: 3px !important;
}
.select2.select2-container .select2-selection--multiple .select2-selection__choice {
    /* font size, adjust margins/paddings */
    font-size: 80% !important;
    margin-bottom: 3px !important;
    line-height: 1;
    font-weight: 500;
    color: #111 !important;
    background-color: #ddd;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;

}
.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove {
    /* fix show pixel of X to cancel single item */
    padding: 0.1em !important;
    cursor: pointer;
}
.select2-selection--multiple .select2-search--inline .select2-search__field{
    /* show correctly placeholder */
    width:initial !important;
}

/* */
/* Fix Select2 for compatibility with BootStrap 5 Floatings Labels: */
/* */
.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; /* orig fix: 0.25rem */
}

.form-floating .select2-container--bootstrap-5 {
    /* add to orig fix */
    background-color: var(--bs-body-bg);
}

select.form-select.is-valid + .select2-container--bootstrap-5 .select2-selection {
    border-color: var(--bs-form-valid-border-color); /* orig: #198754 */
    /* box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25); */
}

select.form-select.is-invalid + .select2-container--bootstrap-5 .select2-selection {
    border-color: var(--bs-form-invalid-border-color); /* orig: ??? */
    /* box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25); */
}

.form-floating .is-valid + .select2-container--bootstrap-5 .select2-selection.select2-selection--single::after {
    /* Fix for valid icon for select2 with single option */
    content: "";
    position: absolute;
    top: 50%;
    right: 1.90rem;
    transform: translateY(-50%);
    width: 24px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2871, 159, 118.2%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}
.form-floating .is-valid + .select2-container--bootstrap-5 .select2-selection.select2-selection--multiple::after {
    /* Fix for valid icon for select2 with multiple option */
    content: "";
    position: absolute;
    top: 50%;
    right: 0.15rem;
    transform: translateY(-50%);
    width: 24px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2871, 159, 118.2%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

.form-floating .is-invalid + .select2-container--bootstrap-5 .select2-selection::after {
    /* Fix for not valid icon */
    content: "";
    position: absolute;
    top: 50%;
    right: 1.90rem;
    transform: translateY(-50%);
    width: 24px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='rgb%28227, 93.4, 106.2%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='rgb%28227, 93.4, 106.2%29' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}
.form-floating .select2-selection--multiple .select2-selection__rendered {
    /* Fix for select2 with multiple option in a floating input form */
    margin-top: 24px !important;
}
.form-floating .select2-selection--multiple {
    /* Fix for select2 with multiple option in a floating input form */
    height: auto !important;
    padding-bottom: 2px !important;
}


/* =============================================================== */
/* JODIT */
/* =============================================================== */
.jodit-wysiwyg {
    text-wrap-mode: wrap;
}

/* =============================================================== */
/* DATAFORMS */
/* =============================================================== */

.form-footer-infos {
    border-left: 2px solid var(--bs-border-color);
    border-bottom: 2px solid var(--bs-border-color);
    border-radius: 0 0 0 6px;
    padding-left: 6px;
    padding-bottom: 2px;
    min-height: 52px;
}
.form-footer-buttons .btn {
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.form-footer-buttons a.btn {
   /* padding-top: 12px;*/
}
.input-group .input-group-text-floating-img, .input-group .input-group-text-floating-filename {
    /* Manage image into input-group for floating labels */
    padding:6px;
}
.input-group .input-group-text-floating-img img {
    /* Manage image into input-group for floating labels */
    height: 44px;
}
.input-group-upload {
    /* Force size for align with floating labels */
    height: 58px;
}
.input-group-upload .input-group-text {
    /* background color transparent for upload controls block */
    background-color: inherit;
}
.input-group .btn.btn-outline-secondary {
    /* Makes border color uniform to input-group */
    border-color: var(--bs-border-color);
}
.col-input-check-radio {
    /* Column styling for checkbox/radio inputs */
    padding: 3px 5px 0 10px;
    border: 1px solid var(--bs-border-color); /* #555 */
    border-radius: 6px;
    min-height: 58px;
    width: auto;
}
.col-input-check-radio .form-check {
    min-height: auto;
}
.col-input-check-radio:has(input.is-invalid) {
    /* For manage invalid validation for radio inputs */
    border-color: var(--bs-form-invalid-border-color);
}
.col-input-check-radio:has(input.is-valid) {
    /* For manage valid validation for radio inputs */
    border-color: var(--bs-form-valid-border-color); /* orig: #198754 */
}
.input-group-text.form-floating-height {
    height: 58px;
}
.col-input-captcha .input-group-text {
    padding: 3px;
}


/* =============================================================== */
/* FANCYBOX OVERRIDES */
/* =============================================================== */

.fancybox__content {
    background-color: var(--bg-page-background) !important;
}


/* =============================================================== */
/* MOBILE */
/* =============================================================== */

@media only screen and (max-width: 600px) {
    /* GENERAL */
    body {
        font-size: var(--body-font-size-mobile);
        font-weight: var(--body-font-weight-mobile);
    }

    /* HEADER */
    .top-title {
        font-size: 100%;
    }
    .top-title .top-logo {
        height: 50px;
    }

    /* NAVBAR */
    .navbar .dropdown-menu {
        margin-bottom: 10px;
    }
    .navbar .dropdown-menu .nav-link {
        padding-left: 10px;
    }

    /* MAIN CONTENT */
    .main-content {
        padding: 5px;
        min-height: auto;
    }

    /* FOOTER */
    .footer .footer-text {
        /*height: 60px;*/
        padding:3px 5px;
        font-size: 80%; /* 60% */
    }

    /* =============================================================== */
    /* DATATABLES */
    /* =============================================================== */

    div.dt-container div.dt-info {
        /* fix margin for mobile */
        margin-bottom: 7px;
    }
    div.dt-container div.dt-paging {
        margin-bottom: 10px !important;
    }
}

