html {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin-bottom: 60px;
  font-family: 'Roboto', sans-serif;
}


.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}


.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}


/*personnalisation*/
.bf {
    /*background-color: #DFFFD7; vert claire*/
    background-color: #DFFFD7; /*vert foncé*/
}

.armoirie-bf {
    z-index: 1000;
    transform: translateX(-50%);
    padding: 0px;
    background-image: url('/Images/Armoiries_512.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /*border: solid 1px red;*/
    height: 82px;
    width: 72px;
    left: 100px !important;
    /*box-shadow: -10px 0 15px -5px rgba(0,0,0,0.3),*/ /* gauche */
                 /*10px 0 15px -5px rgba(0,0,0,0.3);*/ /* droite */
}


.ligne-paire {
    border: 1px solid #dbdbdb;
    background-color: lightyellow;
    /*border-color:blue;*/
}

.ligne-impaire {
    border: 1px solid #dbdbdb;
}

.dkii-popover {
    --bs-popover-max-width: 240px;
    --bs-popover-border-color: #0D6EFD !important;
    --bs-popover-header-bg: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
    --bs-popover-header-color: #000 !important;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
}

.dkii-popover-lg {
    --bs-popover-max-width: 420px;
    --bs-popover-border-color: #0D6EFD !important;
    --bs-popover-header-bg: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
    --bs-popover-header-color: #000 !important;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
}

.dkii-popover-alert {
    --bs-popover-max-width: 240px;
    --bs-popover-border-color: #d9534f !important;
    --bs-popover-header-bg: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
    --bs-popover-header-color: #FFF !important;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
}


/* Set height of the grid so .sidenav can be 100% (adjust if needed)580px */
.row.content {
    height: 500px;
    max-height: 100%;
}

.btn-xs,
.btn-group-xs > .btn {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
}

.grise {
    background-color: #f5f5f5;
}

.tableFixHead {
    overflow-y: auto;
    overflow-x: hidden;
}

    .tableFixHead table {
        border-collapse: separate; /* Don't collapse */
        border-spacing: 0;
    }

    .tableFixHead thead {
        position: sticky; /* make the table heads sticky */
        top: -1px; /* table head will be placed from the top of the table and sticks to it */
    }

        .tableFixHead thead th {
            position: sticky; /* make the table heads sticky */
            top: 0px; /* table head will be placed from the top of the table and sticks to it */
        }

    .tableFixHead tfoot {
        position: sticky; /* make the table heads sticky */
        bottom: -1px; /* table head will be placed from the top of the table and sticks to it */
    }

        .tableFixHead tfoot th {
            position: sticky; /* make the table heads sticky */
            bottom: 0px; /* table head will be placed from the top of the table and sticks to it */
        }

    .tableFixHead table th {
        /* Apply both top and bottom borders to the <th> */
        border-top: 1px solid;
        border-bottom: 1px solid;
        border-right: 1px solid;
    }

    .tableFixHead table td {
        /* For cells, apply the border to one of each side only (right but not left, bottom but not top) */
        border-bottom: 1px solid;
        border-right: 1px solid;
        border-color: darkgray;
    }

        .tableFixHead table th:first-child,
        .tableFixHead table td:first-child {
            /* Apply a left border on the first <td> or <th> in a row */
            border-left: 1px solid;
        }


.dkii-dropdown-menu {
    width: 100px;
}

#eForm {
    height: 100%;
}

.dkii-form-label {
    font-family: Roboto;
    color: #0D6EFD;
    /*font-weight: bold;*/
}

@media (min-width: 968px) {
    .dkii-form-label {
        padding-top: 7px;
        margin-bottom: 0;
        text-align: right;
    }
}

@media(min-width: 968px) {
    .dropdown-large {
        min-width: 500px;
    }
}

[data-bs-theme=dark] .dkii-form-label {
    color: #1EC3FD;
}

.dkii-readonly {
    background-color: #f2f2f3;
}

[data-bs-theme=dark] .dkii-readonly {
    background-color: rgb(51, 55, 59, 1);
}


.dkii-input-group-label {
    font-family: Roboto;
    color: #0D6EFD;
    /*  font-weight: bold;*/
    text-align: right;
    /*font-size: medium;*/
}


[data-bs-theme=dark] .dkii-input-group-label {
    color: #1EC3FD;
}

[data-bs-theme=dark] .grid-filter {
    background-color: azure;
}

.dkii-label-titre {
    font-family: Roboto;
    color: #0D6EFD;
}

[data-bs-theme=dark] .dkii-label-titre {
    color: #1EC3FD;
}
/*marge de droite des boutons de pied de page du modal*#1EC3FD dkii-label-titre/*/
.mpe {
    padding-right: 60px;
}

/*/*DEBUT bouton d'agrandissement du modal*/

.dkii-btn-agrand {
    --bs-btn-close-color: #000;
    /*--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");*/
    --bs-btn-close-opacity: 0.5;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: 0.25;
    --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    /*padding: 0px 2px 2px -2px;*/
    vertical-align: middle;
    text-align: left;
    /*padding: 0.25em 0.25em;*/
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    border: 0;
    border-radius: 0.375rem;
    opacity: var(--bs-btn-close-opacity);
   
}

    .dkii-btn-agrand:hover {
        color: var(--bs-btn-close-color);
        text-decoration: none;
        opacity: var(--bs-btn-close-hover-opacity);
    }

    .dkii-btn-agrand:focus {
        outline: 0;
        /*box-shadow: var(--bs-btn-close-focus-shadow);*/
        opacity: var(--bs-btn-close-focus-opacity);
    }

    .dkii-btn-agrand:disabled, .dkii-btn-agrand.disabled {
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        opacity: var(--bs-btn-close-disabled-opacity);
    }

.dkii-btn-agrand-white {
    filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .dkii-btn-agrand {
    filter: var(--bs-btn-close-white-filter);
}

.modal-header .dkii-btn-agrand {
    padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
    margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.01 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}
/*FIN bouton d'agrandissement du modal*/

.modal-backdrop {
    /* bug fix - no overlay */
    display: none;
}

.modal {
    background: rgba(0,0,0,0.5);
}

.modal-header {
    --bd-vert: 25, 135, 84;
    --bd-vert-bg: rgba(var(--bd-vert),1);
    background-color: var(--bd-vert-bg);
    /*background-color: #d9534f; 0, 151, 65;*/
    /*// #337AB7;*/
    padding: 16px 16px;
    color: #FFF;
    border-bottom: 2px solid var(--bd-vert-bg);
    /*#337AB7;*/
}

    .modal-header > .close:hover {
        background-color: white;
        /*color:white;*/
    }

/*@media screen and (max-width: 576px) {
    .dkii-dialog {
        min-width: 450px;
        border: 2px solid red;
    }
}*/
/*DEBUT bouton fermant du modal*/
.dkii-btn-clos {
    --bs-btn-close-color: #000;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: 0.5;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: 0.25;
    --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    border: 0;
    border-radius: 0.375rem;
    opacity: var(--bs-btn-close-opacity);
}


    .dkii-btn-clos:hover {
        color: var(--bs-btn-close-color);
        text-decoration: none;
        opacity: var(--bs-btn-close-hover-opacity);
    }

    .dkii-btn-clos:focus {
        outline: 0;
        box-shadow: var(--bs-btn-close-focus-shadow);
        opacity: var(--bs-btn-close-focus-opacity);
    }

    .dkii-btn-clos:disabled, .dkii-btn-clos.disabled {
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        opacity: var(--bs-btn-close-disabled-opacity);
    }

.dkii-btn-clos-white {
    filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .dkii-btn-clos {
    filter: var(--bs-btn-close-white-filter);
}

/*FIN bouton fermant du modal*/

.sidenav-content {
    padding-left: 0px;
    padding-right: 0px;
    background-color: #DFFFD7;
}

.myEtete {
    color: darkblue;
}

.mAccueil {
    color: darkblue;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    font-family: Roboto, "Segoe UI",Arial,sans-serif;
}

    .mAccueil:hover,
    .mAccueil:focus {
        color: #000000;
        background-color: #FFFF00;
    }

[data-bs-theme=dark] .mAccueil {
    color: #1EC3FD;
}



[data-bs-theme=dark] .avis-en-cours {
    color: #1EC3FD;
}


.scrollspy-dkii {
    height: 530px;
    overflow: auto
}

.scrollspy-dkii-lot {
    height: 600px;
    overflow: auto
}

.bd-dkii {
    --bd-example-padding: 1rem;
    position: relative;
    padding: var(--bd-example-padding);
    margin: 0 -1.5rem 1rem;
    border: solid var(--bs-border-color);
    border-width: 1px 0
}

    .bd-dkii::after {
        display: block;
        clear: both;
        content: ""
    }

@media (min-width: 768px) {
    .bd-dkii {
        --bd-example-padding: 1.5rem;
        margin-right: 0;
        margin-left: 0;
        border-width: 1px;
        border-radius: var(--bs-border-radius)
    }
}


.li-separa {
    color: #FFFF00;
    padding-right: 0px;
}


#btnDeconnexion {
    color: #FFFFFF;
}

    #btnDeconnexion:hover,
    #btnDeconnexion:focus {
        color: #000000;
        background-color: #FFFF00;
    }


.my-list-unstyled {
    padding-left: 0;
    list-style: none;
}

.list-unstyled .dropdown-divider {
    background-color: #FFFF00;
}

.list-unstyled > li > a {
    color: #FFFFFF;
    background-color: transparent
}

    .list-unstyled > li > a:hover,
    .list-unstyled > li > a:focus {
        color: #000000;
        background-color: #FFFF00;
    }

.dkii-dropdown-menu > li > a:hover,
.dkii-dropdown-menu > li > a:focus {
    color: #000000;
    background-color: #FFFF00;
}


@media (max-width: 767px) {

    .list-unstyled .dropdown-divider {
        background-color: #FFFF00;
    }


    .list-unstyled > li > a {
        color: #FFFFFF;
    }

        .list-unstyled > li > a:hover,
        .list-unstyled > li > a:focus {
            color: #000000;
            background-color: #FFFF00;
        }

}


.card-dkii {
    border-color: #337ab7;
    min-width: 540px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    min-height: calc(100vh - 10rem);
}

    .card-dkii > .card-header {
        color: darkblue;
        background-color: white;
        border-color: #337ab7;
        border-bottom: solid 2px;
/*        font-family: Roboto,"Segoe UI",Arial,sans-serif;*/ 
       font-size: large;
       font-weight: bold;
    }

    .card-dkii > h4 {
        font-weight: bold;
    }

    .card-dkii > .body-dkii {
        background-color: #DFFFD7;
        /*font-family: Roboto, "Segoe UI",Arial,sans-serif;*/
    }

    .card-dkii > .card-header + .card-collapse > .card-body {
        border-top-color: #337ab7;
    }

    .card-dkii > .card-header .badge {
        color: #CDF5C3;
        background-color: darkblue;
    }

    .card-dkii > .panel-footer + .pcard-collapse > .card-body {
        border-bottom-color: #337ab7;
    }

.panel-nav-dkii {
    min-width: 320px;
    /*font-family: Roboto, "Segoe UI",Arial,sans-serif;*/
    padding-left: 20px;
    padding-right: 20px;
}

.colonneCentre {
    text-align: center;
}

.colonneDroite {
    text-align: right;
}

.tex-label {
    /*font-family: Roboto, "Segoe UI",Arial,sans-serif;*/
    font-weight: bold;
}




.btn-dkii-warning {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107;
}

    .btn-dkii-warning:hover,
    .btn-dkii-warning:active:hover,
    .btn-dkii-warning.active:hover,
    .btn-dkii-warning:focus:hover {
        color: #000;
        background-color: #FFFF00;
        border-color: #FFFF00;
    }

    .btn-dkii-warning:focus {
        color: #000;
        background-color: #ffc107;
        border-color: #FFFF00;
        box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
    }

    .btn-dkii-warning:active, .btn-dkii-warning.active {
        color: #000;
        background-color: #ffc107;
        border-color: #FFFF00;
    }

        .btn-dkii-warning:active:focus, .btn-dkii-warning.active:focus {
            box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
        }

    .btn-dkii-warning:disabled, .btn-dkii-warning.disabled {
        color: #000;
        background-color: #ffc107;
        border-color: #ffc107;
    }

fieldset {
    margin: 2px;
    /*padding: 0 10px 10px;*/
    padding: 0px 4px 0px 4px;
    border: 1px solid darkblue;
    border-radius: 4px;
    -moz-border-radius: 4px;
    box-shadow: 0 0 2px #666;
    /*padding-top: 8px;*/
}

legend {
    font-size: small;
    font-weight: bold !important;
    text-align: left !important;
    font-style: italic;
    color: darkblue;
    width: auto;
    padding: 0px 2px;
    background: #fff;
    border-bottom: none;
    margin-left: 4px;
    /* For better legibility against the box-shadow */
}

fieldset > legend {
    float: left;
    margin-top: -12px;
}

    fieldset > legend + * {
        clear: both;
    }

.my-label {
    color: darkblue;
    font-weight: bold;
}

.dkii-link-jaune-or {
    color: yellow !important;
    -webkit-text-decoration-color: yellow !important;
    text-decoration-color: yellow !important;
}

    .dkii-link-jaune-or:hover, .dkii-link-jaune-or:focus {
        color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
        -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
        text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
    }


tr.rouge-pale td {
    background-color: #f8d7da !important;
    color: black;
    font-weight: bold;
}

tr.jaune-pale td {
    background-color: #fff3cd !important;
    color: #856404;
}

tr.gris-doux td {
    background-color: #e2e3e5 !important;
    color: blue;
    font-style: italic;
}
tr.default-italic td {
    font-style: italic;
}
tr.vert-doux td {
    background-color: #d1e7dd !important;
    /*color: blue;
    font-style: italic;*/
}
/*[data-bs-theme=dark] tr.rouge-pale td {
    color: #1EC3FD;
}*/

/* Applique une bordure à toutes les cellules du tableau */
table.grid-table td, table.grid-table th {
    border: 1px solid #ccc;
    border-radius: 4px;
}

/*Optionnel : ajoute une bordure autour du tableau*/
table.grid-table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #ccc;
}

th:has(.grid-header-action) {
    text-align: center;
}


@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.text-blink {
    animation: blink 1s step-start infinite;
}

.label-bordered {
    border: 1px solid #0d6efd; /* bleu Bootstrap */
    padding: 6px 10px;
    font-weight: bold;
    background-color: #f8f9fa;
    border-radius: 4px;
    display: inline-block;
    width: 100%;
    text-align: right;
}

.input-bordered {
    border: 2px solid #0d6efd;
    border-radius: 4px;
    padding: 6px 10px;
    width: 100%;
}

.input-group-text {
    background-color: #e9ecef;
}

.input-noir {
    background-color: #000; /* fond noir */
    color: #fff; /* texte blanc pour contraste */
    border: 1px solid #444; /* bordure grise discrète */
}

.input-noir[readonly] {
   opacity: 1; /* évite l’effet grisé par défaut */
}


#img-fullscreen {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

    #img-fullscreen img {
        max-width: 90%;
        max-height: 90%;
        border-radius: 8px;
    }








