* {
    margin: 0;
    padding: 0;
}
html {
    overflow: hidden;
}
html,
body {
    height: 100%;
}
body {
    margin: 0;
    width: 100%;
    background-color: white;
    font-family: Arial;
    font-size: 13px;
    line-height: 1;
}
h1.h2 {
    font-size: 1.25em;
}
hr {
    border: 1px dotted silver;
    border-width: 1px 0 0;
    margin: 5px 0;
}
.px0 {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
.clear {
    clear: both;
}
.center {
    text-align: center !important;
}
.right {
    text-align: right !important;
}
.left {
    text-align: left !important;
}
.cursor,
.hand,
tr.hand td {
    cursor: pointer;
}
.w75 {
    width: 75% !important;
}
.fw-bold {
    font-weight: bold;
}
.lien {
    text-decoration: underline;
    cursor: pointer;
    color: rgb(9, 158, 202) !important;
}
.underline {
    text-decoration: underline;
}
#div_corps {
    position: absolute;
    top: 10px;
    bottom: 10px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

#footer_fiche_detail,
.footer_fiche_detail {
    position: absolute;
    bottom: 2px;
    text-align: center;
    height: 38px;
    vertical-align: top;
    left: 0.5%;
    right: 0.5%;
}

#footer_fiche_detail > *,
.footer_fiche_detail > * {
    z-index: 100;
}

/************************
 * THEME GENERAL, COULEUR MENU & ENTETES */
.tr_header > td,
.tr_header > thead > td,
.tr_header > th,
.tr_header > thead > th,
#contenu_menu_bot,
.filtres_header,
.filtres_header_non_float,
.div_contenu #content_detail .conteneur_tableau_donnees,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees tr td,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees tr th,
.tr_header td,
.tr_header th,
.tr_header_sub td,
.tr_header_sub th,
.tr_footer td,
.tr_footer th,
.popin.support .title_support,
.libelle_filtre_bk,
.conteneur_tableau_donnees.entete,
.conteneur_tableau_donnees.entete tr td,
.conteneur_tableau_donnees.entete tr th,
.div_contenu .tr_header th,
.div_contenu .tr_header td,
body .bloc_champ.bt_filtre_on_off,
.paging.selected,
input:checked + .slider {
    background-color: #005477;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.tr_niveau1 .td_total,
.tr_niveau2 .td_total,
.tr_niveau1 .td_libelle,
.tr_niveau2 .td_libelle,
.tr_niveau1_total td,
.tr_niveau2_total td {
    background-color: lightgrey;
}
/************************/

/* TABLEAUX */
.tabcontent_global {
    position: absolute;
    top: 64px;
    bottom: 54px;
}
.tab_global {
    position: relative;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    font-family: arial;
}
.tab_global caption {
    color: #005477;
    font-weight: bold;
    font-style: italic;
    margin-top: 10px;
    padding: 4px 2px;
}
.tab_global td {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.tabcontent_global .tab_global,
.tabcontent_global > div {
    width: 99%;
    left: 0.5%;
    right: 0.5%;
    border-collapse: separate;
}
.tabcontent_global .iframe_liste .tab_global {
    width: 100%;
    left: 0;
    right: 0;
}
.tr_pagination {
    height: 40px;
    vertical-align: bottom;
}
.tr_header,
.tr_header_sub,
.tr_footer {
    color: white;
    height: 18px;
}
.tr_header_sub td,
.tr_header_sub th,
.tr_footer td,
.tr_footer th {
    padding: 5px 4px;
    /*    background-color: rgb(9, 158, 226);*/
}
.tr_header > td,
.tr_header > thead > td,
.tr_header > th,
.tr_header > thead > th {
    padding: 5px 3px;
    /*    background-color: rgb(9, 158, 226);*/
    border-top: 1px solid grey;
    border-bottom: 1px solid grey;
}

.tr_header > td:first-child,
.tr_header > thead > td:first-child,
.tr_footer > td:first-child,
.tr_footer > thead > td:first-child {
    border-left: 1px solid grey;
}
.tr_header > td:last-child,
.tr_header > thead > td:last-child,
.tr_footer > td:last-child,
.tr_footer > thead > td:last-child {
    border-right: 1px solid grey;
}

.tr_filtre {
    background-color: white;
}
.tr_filtre td {
    padding: 1px 2px;
}
.tr_filtre td .select {
    margin-top: 4px;
    width: 93%;
}
.tr_filtre td .input_text {
    height: 20px;
}

/* FORMULAIRES */
a,
a:hover,
a:visited,
a:focus {
    color: rgb(9, 158, 202);
}
a.bt {
    color: black;
    text-decoration: none;
}
a.bt.button_valid {
    color: white;
}

textarea {
    font-size: inherit;
    font-family: inherit;
}

.fa.clicicone {
    cursor: pointer;
    font-size: 1.7em;
    padding-left: 3px;
    vertical-align: -15%;
}
i.fa-lg {
    line-height: inherit;
}

.oblig:after {
    content: ' *';
    color: red;
    vertical-align: super;
    font-size: smaller;
    position: absolute;
    margin-left: 3px;
}
legend {
    font-size: 12px;
    font-family: arial;
    font-weight: bold;
}

/* SELECT */
.select {
    height: 22px !important;
    border: 0 !important;
    overflow: hidden;
    margin: 2px 0;
    margin-bottom: 4px;
    position: relative;
    display: block;
    z-index: 31;
    width: 98%;
}
.select img {
    display: none;
}

.select select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border: 1px solid silver;
    background-color: #fff;
    height: 22px;
    position: relative;
    z-index: 5;
    width: 100%;
    padding-top: 2px;
    padding-right: 25px;
}
.select:before {
    width: 25px;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 0 3px 3px 0;
    content: '';
    position: absolute;
    pointer-events: none;
    border: 1px solid silver;
    z-index: 10;
    background-color: white;
}
.select:after {
    content: '\25BC';
    font-size: 14px;
    line-height: 1;
    right: 6px;
    top: 50%;
    margin-top: -5.5px;
    position: absolute;
    pointer-events: none;
    color: grey;
    z-index: 10;
}
.select select::-ms-expand {
    display: none;
}

.select_disabled select {
    background-color: transparent !important;
    padding-right: 0px;
    color: white !important;
    border: none;
}
.select_disabled select[disabled] {
    color: white !important;
    opacity: 1;
}
.select_disabled:before {
    content: '';
    display: none;
}
.select_disabled:after {
    content: '';
    display: none;
}

/* INPUT */
input[readonly],
input[disabled],
button[disabled],
textarea[readonly],
textarea[disabled] {
    background: #ccc !important;
}
.input_text {
    margin: 2px 0;
    border: 1px solid silver;
    height: 18px;
    border-radius: 3px;
    width: 95%;
    padding-left: 5px;
}
input.error_input {
    border: 1px solid #a53535;
    color: #a53535;
}

/* style de gestino d'erreur, sensé être aussi "puissant" que le javascript, ce qui justifie le important */
a.erreur_js {
    color: #ffb2b2 !important;
}
.erreur_js,
.div_contenu input[disabled].erreur_js,
.div_contenu input[readonly].erreur_js,
.bloc_champ input[disabled].erreur_js,
.bloc_champ input[readonly].erreur_js,
.bloc_champ select[disabled].erreur_js,
.bloc_champ select[readonly].erreur_js {
    background-color: #ffb2b2 !important;
}

/* ONGLETS */
#onglet_fiche_detail {
    min-height: 230px;
    max-height: 100%;
    position: absolute;
    right: 0.5%;
    left: 0.5%;
    bottom: 45px;
}
.td_position {
    position: relative;
}
.td_content_frame {
    margin: 0;
    border: 1.2px solid silver;
    width: 100%;
    border-top: 0;
    background-color: white;
    height: 100%;
    vertical-align: top;
    padding: 1px;
    padding-top: 0;
    overflow: hidden;
    text-align: center;
}
.td_content_frame > iframe,
.td_content_frame > div,
.td_content_frame > textarea {
    width: 99.8%;
    margin: 0;
    padding: 0;
    border: 0 solid silver;
}
.td_content_frame > iframe,
.td_content_frame > textarea {
    height: 100%;
}
.td_content_frame > div {
    overflow-x: hidden;
    position: absolute;
    top: 0;
    bottom: 37px;
    left: 1px;
    right: 1px;
}
#content_onglet {
    padding-left: 1.5%;
    overflow-x: auto;
    width: 98.5%;
    white-space: nowrap;
    overflow-y: auto;
    z-index: 10;
    position: relative;
}
.onglet {
    margin: 0 2px;
    display: inline-block;
    padding: 3px 10px;
    text-align: center;
    font-size: 12px;
    color: gray;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-color: #fafafa;
    border: 1px solid silver;
    cursor: pointer;
    font-family: arial;
}
.onglet_selected {
    margin: 0 2px;
    display: inline-block;
    padding: 3px 10px;
    padding-top: 5px;
    text-align: center;
    font-size: 12px;
    color: white;
    font-weight: bold;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border: 1px solid #09394d;
    cursor: pointer;
    background: #005477;
}

/* BOUTONS */
.bt {
    margin: 5px 5px 0 0;
    border: 1px solid grey;
    text-transform: inherit;
    background-color: #ffffff;
    padding: 4px 10px;
    font-size: 12px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.6s, color 0.6s;
    white-space: nowrap;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
}
.bt:hover {
    background-color: hsl(206, 81%, 90%);
    transition: background-color 0.6s, color 0.6s;
}
.bt:after {
    display: inline-block;
    font-size: 1.2em;
    transition: transform 0.6s, color 0.6s;
    font-family: 'Font Awesome 5 Free';
    position: relative;
    top: 1px;
    color: #42a2eb;
    margin: -4px 0 -1px 5px;
}
.bt:hover:after {
    transition: transform 0.6s, color 0.6s;
}
.bt img {
    display: none;
    height: 14px;
    margin-left: 5px;
    position: relative;
    top: 3px;
}

.bt.add:after {
    content: '\f0fe';
}
.bt.off:after {
    content: '\f146';
}
.bt.ban:after {
    content: '\f05e';
}
.bt.trash:after {
    content: '\f014';
}
.bt.check:after {
    content: '\f00c';
}
.bt.link:after {
    content: '\f0c1';
}
.bt.search:after {
    content: '\f002';
}
.bt.email:after {
    content: '\f0e0';
}
.bt.refresh:after {
    content: '\f021';
}
.bt.back:after {
    content: '\f00d';
}
.bt.lock:after {
    content: '\f023';
}
.bt.unlock:after {
    content: '\f09c';
}
.bt.fan:after {
    content: '\f863';
}
.bt.arrow-right:after {
    content: '\f061';
}
.bt.paperclip:after {
    content: '\f0c6';
}
.bt.gear:after {
    content: '\f013';
}
.bt.edit:after {
    content: '\f044';
}
.bt.sort:after {
    content: '\f0dc';
}
.bt.download:after {
    content: '\f019';
}
.bt.envelope:after {
    content: '\f0e0';
}
.bt.calendar:after {
    content: '\f073';
}

.bt.xls:after {
    content: '\f1c3';
}
.bt.pdf:after {
    content: '\f1c1';
}
.bt.word:after {
    content: '\f1c2';
}
.bt.file:after {
    content: '\f1c5';
}

.bt:after {
    color: #42a2eb;
}
.bt.red:after {
    color: #e73131;
}
.bt.orange:after {
    color: orange;
}
.bt.green:after {
    color: green;
}
.bt.blue:after {
    color: #0d6485;
}

.bt {
    border-color: #42a2eb;
}
.bt.bd_red {
    border-color: red;
}
.bt.bd_green {
    border-color: green;
}

.bt:hover:after {
    transform: rotate(90deg);
}
.bt.lock:hover:after,
.bt.unlock:hover:after,
.bt.trash:hover:after,
.bt.pdf:hover:after,
.bt.xls:hover:after,
.bt.download:hover:after,
.bt.sort:hover:after,
.bt.envelope:hover:after,
.calendar:hover:after {
    transform: scaleX(-1);
}
.bt.arrow-right:hover:after,
.bt.refresh:hover:after {
    transform: rotate(360deg);
}

.button_valid,
.button_cancel,
.button_standard,
.button_disabled {
    text-transform: inherit;
    border: 1px solid #245580;
    color: #fff;
    padding: 4px 10px;
    line-height: 1.4;
    font-size: 13px;
}
.bt[disabled] {
    cursor: inherit;
    color: silver;
}

/*.bt.add:hover:after ,
.bt.add:link:after ,
.bt.off:hover:after {
    transform:rotate(90deg);
    background-color: hsl(0, 70%, 92%);
}
.bt.add:hover {
    color: black;
    background-color: hsl(206, 81%, 90%);
}
.bt.pdf:hover {
    color: black;
    background-color: hsl(0, 0%, 92%);
}*/

table.InputTextButton button.button_valid,
.button_valid {
    background: none;
    background-color: #428eeb;
    color: #ffffff;
    border: none;
    font-weight: bold;
}
.button_cancel {
    background-color: #ffffff;
    color: #3c3c3c;
    border: 1px solid #e04c4c;
    font-weight: bold;
}
.button_standard {
    background-color: #ffffff;
    color: #222222;
    border: 1px solid grey;
    font-weight: bold;
}
.button_valid:hover {
    background-color: hsl(206, 81%, 45%);
}
.button_cancel:hover {
    color: black;
    background-color: hsl(0, 70%, 92%);
}
.button_standard:hover {
    color: black;
    background-color: hsl(0, 0%, 92%);
}

.button_valid[disabled],
.button_cancel[disabled],
.button_standard[disabled],
.button_valid:hover[disabled],
.button_cancel:hover[disabled],
.button_standard:hover[disabled] {
    color: black;
    background-color: silver;
}

/* BOUTONS NAV */
.navbouton ul li {
    padding: 3px 12px;
    text-align: left;
}
.navbouton ul li:hover,
.navbouton li:hover a {
    opacity: 0.8;
    background-color: hsl(206, 81%, 50%);
    color: #fff;
}
.navbouton ul a {
    color: #fff;
    text-decoration: none;
}
.navbouton ul {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 26px;
    left: 0;
    z-index: 100;
    background-color: #42a2eb;
    border: 1px solid #fff;
    box-shadow: 0 2px 10px 0 #666;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
    line-height: 1.42857;
    cursor: pointer;
    list-style: none;
    border-radius: 4px;
    font-weight: normal;
    font-size: 12px;
    min-width: 120px;
    transition: visibility 0s, opacity 0.3s linear;
    color: #fff;
}
.navbouton:hover ul,
.navbouton *:hover {
    visibility: visible;
    opacity: 1;
}
.navbouton span {
    text-align: right;
    padding-left: 10px;
}
.navbouton span:after {
    content: '\f0da';
    font-family: 'Font Awesome 5 Free';
    display: inline-block;
}
.navbouton:hover span:after {
    transition: transform 0.2s;
    transform: rotate(90deg);
}
.navbouton {
    text-align: center;
    white-space: nowrap;
    position: relative;
    overflow: visible;

    background-color: #42a2eb;
    border-color: #245580;
    color: #fff;
    padding: 5px 18px;
    line-height: 1.4;
    cursor: pointer;
    border-radius: 4px;
    font-weight: bold;
    font-size: 14px;
    display: inline-block;
}
.upnavbouton ul {
    top: inherit;
    left: inherit;
    bottom: 26px;
    right: 0;
    margin: 0px;
    padding-left: 0px;
}
.upnavbouton:hover span:after {
    transition: transform 0.2s;
    transform: rotate(270deg);
}

/* POPINS */
.div_flou {
    display: none;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    background-color: #000000;
    z-index: 120;
    filter: alpha(opacity =60);
    -moz-opacity: 0.6;
    opacity: 0.6;
}
.popin-content {
    z-index: 121;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
.popin {
    display: none;
    position: absolute;
    overflow: hidden;
    z-index: 122;
}
.popin.support {
    box-shadow: 0 0 10px 0 #303030;
    border-radius: 5px;
    background-color: white;
}

.popin.support .title_support {
    /*    background-color: rgb(9, 158, 226);*/
    width: 100%;
    border-bottom: 1px solid silver;
    height: 25px;
    padding-top: 10px;
    color: white;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    font-family: arial;
    box-sizing: content-box;
}
.popin.support .title_support img {
    float: right;
    position: relative;
    right: 2%;
    cursor: pointer;
}
.popin.support .content_support {
    padding: 0 2px;
    padding-top: 1%;
    overflow-y: auto;
    position: absolute;
    top: 35px;
    bottom: 33px;
    overflow-x: hidden;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
.popin.support .footer_support {
    clear: both;
    width: 100%;
    text-align: center;
    height: 32px;
    position: absolute;
    bottom: 0;
    padding-bottom: 5px;
}

/* LOADER */
.msgBox.loading {
    background-color: #fafafa;
    border: 1px solid silver;
    color: #303030;
    opacity: 0;
    transition: visibility 0.2s linear, opacity 0.2s linear;
}
.loading_flou {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(100, 100, 100, 0.2);
    display: none;
    z-index: 2000;
}

.msgBox {
    color: white;
    background: rgba(30, 30, 30, 0.8);
    font-size: 1.3rem;
}
#msgBox {
    display: none;
}
.msgBox {
    z-index: 10000;
    width: 40%;
    position: absolute;
    top: 30%;
    left: 27.5%;
    padding: 25px 2.5%;
    text-align: center;
    box-shadow: 0 0 10px 00px #303030;
    border-radius: 5px;
    transition: visibility 0.3s linear, opacity 0.3s linear;
}
.msgBox img {
    float: left;
    position: relative;
    left: 20px;
    height: 25px;
}
.msgBox i {
    margin-right: 10px;
}
.msgBox ul {
    text-align: left;
    font-size: 1.1rem;
}
.msgBox ul li {
    padding-top: 5px;
    margin-left: 5px;
}
.msgBox.ok {
    background-color: rgba(30, 150, 30, 0.8);
}
.msgBox.notice {
    background-color: rgba(200, 128, 00, 0.8);
}
.msgBox.ko {
    background-color: rgba(150, 30, 30, 0.8);
}
.msgBox.ok .icon {
    color: green;
}
.msgBox.ko .icon {
    color: red;
}

/* TITRES */
.entete_liste,
.entete_liste.entete_liste_old {
    display: inline-block;
    color: dimgray;
    font-family: Arial;
    font-weight: bold;
    white-space: nowrap;
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    border: none;
    margin: 3px 2% 0;
    font-size: 22px;
    padding: 10px 0 0;
    background-color: transparent;
}
.entete_liste i.fa-angle-right {
    padding: 0 4px;
    color: black;
    color: dimgray;
}
.entete_liste i.fa-list {
    padding-right: 8px;
    color: #005477;
    vertical-align: bottom;
}
#title_current_page a {
    color: inherit;
    text-decoration: inherit;
}
.div_contenu .entete_liste {
    border: none;
    /*    margin: 3px 2% 0;*/ /*c'est les memes valeurs qu'au dessus, donc ne sert a rien ici, mais casse le css du new design dans layout2024*/
    font-size: 22px;
    /*    padding: 10px 0 0;*/ /*c'est les memes valeurs qu'au dessus, donc ne sert a rien ici, mais casse le css du new design dans layout2024*/
    background-color: transparent;
}
.fil_ariane,
.fil_ariane.fil_ariane_old {
    margin: 5px 2% 0;
    padding: 0 0 10px 0;
    font-size: 0.8em;
    font-family: Verdana;
}
.fil_ariane.fil_ariane_old {
    display: block !important;
}
.fil_ariane a {
    color: #005477;
}
.titre_page_en_cours {
    color: #005477;
}

/* LISTES A FILTRE */
.titre_frame {
    margin: 8px 1% 5px;
    text-transform: lowercase;
    font: bold 14px Arial;
    color: rgb(9, 158, 202);
}
.content_liste {
    position: relative;
    display: block;
    text-align: center;
}
.content_bouton {
    display: block;
    margin: 15px auto;
    clear: both;
    text-align: center;
    width: 95%;
    position: relative;
    top: 22px;
}
.content_bouton table {
    margin: 0 auto;
}

.img_titre {
    display: inline-block;
}

/****** affichage du total en bas, dans les listes  *****/
div.affichage_total {
    margin-top: 4px;
    width: 180px;
    text-align: center;
    border: 1px solid #42a2eb;
    border-radius: 2px;
    padding: 5px;
    color: #005477;
    float: right;
}

.filtres_header {
    border: 1px solid silver;
    border-radius: 5px;
    display: inline-block;
    float: right;
    height: 38px;
    margin: 10px 2% 0 0;
    padding: 7px 10px;
    position: relative;
    vertical-align: top;
    box-sizing: border-box;
}
.filtres_header span:first-child {
    color: white;
    display: inline-block;
    font-size: 14px;
    margin-top: 2px;
    margin-right: 10px;
    padding-top: 0px;
    vertical-align: top;
    height: 20px;
    overflow: hidden;
}
.filtres_header .select {
    display: inline-block;
    float: right;
    margin: 0 !important;
    width: 180px;
}
div.div_contenu .filtres_header .select {
    display: inline-block;
    float: right;
    margin: 0 !important;
    width: 180px;
}
div.div_contenu .filtres_header .select::before,
.bloc_champ .select::before {
    width: 21px;
    bottom: 4.5px;
    top: -0.5px;
}
div.div_contenu .filtres_header .select::after,
.bloc_champ .select::after {
    right: 4px;
    top: 47%;
}

/* TOOLTIPS */
.tip-wrap {
    color: #fff;
    min-width: 200px;
    max-width: 350px;
    z-index: 13000;
}
.tip-title {
    font-weight: bold;
    font-size: 11px;
    margin: 0;
    color: #9fd4ff;
    padding: 8px 8px 4px;
    background: url(/../images/tooltips/bubble.png) top left;
}
.tip-text {
    font-size: 11px;
    padding: 4px 8px 8px;
    background: url(/../images/tooltips/bubble.png) bottom right;
}
td.tooltip.noTooltipBootstrap {
    display: table-cell !important;
}
.tooltip.noTooltipBootstrap {
    opacity: 1 !important;
    font-size: revert;
    z-index: auto;
}
*:not(i).tooltip.noTooltipBootstrap {
    font-family: revert;
}
td.tooltip,
tr.tooltip td,
div.tooltip,
label.tooltip,
.help,
i.fa-info-circle {
    cursor: help;
}

/* PAGES DE LISTE-FILTRE */
div.iframe_liste {
    position: absolute;
    top: 60px;
    bottom: 0;
}
div.iframe_liste iframe {
    height: 100%;
    width: 100%;
    border: none;
}

tr.ligne_vide > td {
    border: 0;
    padding: 2px 3px;
    font-size: 13px;
    background-color: #fff;
    color: #333;
    font-style: italic;
}
tr.ligne_donnee td {
    border: 0;
    padding: 2px 3px;
    font-size: 13px;
    vertical-align: middle;
}
tr.ligne_donnee:nth-child(odd) {
    background-color: #f3f3f3;
    color: #333;
}
tr.ligne_donnee:nth-child(even) {
    background-color: #fff;
    color: #333;
}
tr.ligne_donnee td a,
tr.ligne_donnee td a:visited,
tr.ligne_donnee td a:hover,
tr.ligne_donnee td a:focus {
    color: inherit;
    display: inline-block;
    overflow: hidden;
    text-decoration: inherit;
    text-overflow: ellipsis;
    height: 100%;
    width: 100%;
    vertical-align: middle;
}
.hover:hover,
.hover:hover td,
.hover:hover td > i,
.hover:hover td > span,
tr.forcehover > td {
    background-color: hsl(206, 81%, 66%) !important;
    color: #ffffff !important;
}
.lighthover:hover,
.lighthover:hover td,
.lighthover:hover td > i,
.lighthover:hover td > span {
    background-color: #eee;
}

.div_onglet_haut .conteneur_tableau_donnees {
    left: 0;
    right: 0;
}
.conteneur_tableau_donnees {
    position: absolute;
    left: 0.5%;
    right: 0.5%;
    padding-right: 17px !important;
}
.conteneur_tableau_donnees.central {
    overflow-y: scroll !important;
    padding-right: 0 !important;
}
.tableau_donnees td,
.tableau_donnees th {
    font-size: 13px;
}
.tableau_donnees {
    border: 1px solid grey;
    border-collapse: collapse;
    width: 99%;
    margin: 0 auto;
}
.conteneur_tableau_donnees .tableau_donnees {
    width: 100%;
}
.tableau_donnees a {
    color: inherit;
}
tr.ligne_vide,
tr.ligne_donnee,
tr.tr_total,
tr.tr_niveau1,
tr.tr_niveau2,
tr.tr_niveau3,
tr.tr_niveau1_total,
tr.tr_niveau2_total,
tr.tr_niveau3_total {
    height: 25px;
}
tr.ligne_donnee td,
tr.tr_total td,
tr.tr_niveau1 td,
tr.tr_niveau2 td,
tr.tr_niveau3 td {
    padding: 2px 3px;
}
.tableau_donnees .tr_total td {
    color: white;
}
tr.separateur_top td {
    border-top: 1px black solid !important;
}
.tr_total td {
    font-weight: bold;
    background-color: #595959;
}
.tableau_donnees .libelle_filtre_bk {
    font-size: 12px;
    padding: 1px 5px;
    border: 0;
    border-color: white;
}

.tableau_donnees .select {
    margin: 0;
}

.tr_niveau1,
.tr_niveau1_total {
    background-color: white;
}
.tr_niveau2,
.tr_niveau2_total {
    background-color: #42a2eb11;
}
.tr_niveau1,
.tr_niveau2 {
    background-color: lightgrey;
}
.tr_niveau3,
.tr_niveau3_total {
    background-color: #d3d3d355 /*#42a2eb11*/;
    font-weight: bold;
}
.tr_niveau2,
.tr_niveau3,
.tr_niveau2_total td,
.tr_niveau3_total td,
.tr_niveau3_total th {
    /*color: white;*/
}
.tr_niveau3 td,
.tr_niveau3_total td {
    font-weight: bold;
    padding: 2px 3px;
}
.tr_niveau1,
.tr_niveau2,
.tr_niveau3,
.tr_niveau1_total,
.tr_niveau2_total {
    border-top: 1px solid grey;
    border-bottom: 1px solid grey;
}
.tableau_donnees tr td.td_libelle {
    text-align: left;
    border-right: 1px solid grey;
}
.tableau_donnees tr td.td_total {
    border-left: 1px solid grey;
}
.tableau_donnees tr.ligne_donnee td.td_total {
    background-color: #bbbbbb60;
    border-top: 1px solid grey;
}
.tableau_donnees tr td.td_texte {
    text-align: left;
}
.tableau_donnees tr td.td_date {
    text-align: center;
}
.tableau_donnees tr td.td_fin_colonne,
.tableau_donnees tr th.td_fin_colonne {
    border-right: 1px solid grey !important;
}
.tr_niveau1 .td_total,
.tr_niveau2 .td_total,
.tr_niveau1 .td_libelle,
.tr_niveau2 .td_libelle,
.tr_niveau1_total td,
.tr_niveau2_total td {
    font-weight: bold;
    padding: 1px 5px;
}
tr.tr_niveau4 td {
    font-weight: bold;
}
.tableau_donnees tr td {
    text-align: right;
}
.ligne_desactivee,
tr.ligne_desactivee td {
    font-style: italic;
    color: rgb(9, 158, 202) !important;
}
tr.ligne_donnee.ligne_selectionnee {
    background-color: rgb(137, 201, 280) !important;
}

/* PAGINATION TABLEAUX */
.pagination_fiche {
    width: 140px;
    position: relative;
    text-align: center;
    margin: 12px 2% 0 0;
    float: right;
}
.pagination_fiche span {
    position: relative;
    top: 7px;
}
.pagination_fiche i {
    color: #005477;
    cursor: pointer;
    position: absolute;
}
.pagination_fiche .fa-arrow-circle-left {
    left: 0;
}
.pagination_fiche .fa-arrow-circle-right {
    right: 0;
}
i.page_precedente {
    position: absolute;
    top: 8px;
    left: 15px;
    cursor: pointer;
    color: #09aee3;
}
i.page_precedente:hover {
    transition: color 0.6s;
    color: #005477;
}

/* MENU_CONTEXTUEL */
.clicmenu,
.clicmenurev {
    cursor: pointer;
}
#menu_contextuel {
    position: fixed;
    background: #e4e4e4;
    width: 200px;
    z-index: 1000;
    border: 1px solid grey;
    border-radius: 3px;
    box-shadow: 2px 3px 4px #444;
    font-size: 12px;
}
#menu_contextuel ul {
    list-style-type: none;
}
#menu_contextuel ul li {
    border-bottom: 1px dotted grey;
    padding: 0px;
    cursor: pointer;
}
#menu_contextuel ul li > :not(a) {
    padding: 6px 10px;
}
#menu_contextuel ul li:hover {
    background-color: #4141ff;
    color: white;
}
#menu_contextuel ul li i {
    padding-right: 8px;
}
#menu_contextuel ul li a {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 6px 10px;
}

#message_edition {
    color: red;
    text-align: center;
    font-style: italic;
    font-weight: bold;
}
.zone-boutons {
    float: right;
    margin-right: 1%;
    margin-top: 8px;
}

/* GRILLE PAGE EDITION */
div.row div.card {
    /*    margin: 4px 2px;*/
    /*    border: 1px solid #EDEDED;*/
    /*    border-radius: 18px !important;*/
}
.div_contenu {
    min-height: 530px;
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
}

.grille_espace {
    width: 100%;
    float: left;
    height: 20px;
}
.grille_separateur {
    width: 96%;
    float: left;
    border-top: 1px dotted silver;
    margin: 4px 2%;
}
.grille_large_separateur {
    width: 96%;
    float: left;
    border-top: 1px dotted silver;
    padding-bottom: 3px;
    margin: 20px 2%;
}
.grille_edition_1,
.grille_edition_2,
.grille_edition_3,
.grille_edition_4,
.grille_edition_5,
.grille_edition_5 {
    padding: 3px 0 6px;
    float: left;
    width: 100%;
    box-sizing: border-box;
}

/* Conteneurs de grilles CSS Grid */
.grille_edition_grid_1,
.grille_edition_grid_2,
.grille_edition_grid_3,
.grille_edition_grid_4,
.grille_edition_grid_5,
.grille_edition_grid_6 {
    padding: 3px 0 6px;
    display: grid;
    width: 100%;
    box-sizing: border-box;
    gap: 0 10px;
}
.grille_edition_1 h3,
.grille_edition_2 h3,
.grille_edition_3 h3,
.grille_edition_4 h3,
.grille_edition_5 h3,
.grille_edition_6 h3 {
    text-align: center;
    font-size: 13px;
    padding: 0 0 2px 0;
    margin: 0;
    float: left;
    width: 100%;
}

.grille_edition_grid_1 h3,
.grille_edition_grid_2 h3,
.grille_edition_grid_3 h3,
.grille_edition_grid_4 h3,
.grille_edition_grid_5 h3,
.grille_edition_grid_6 h3 {
    text-align: center;
    padding: 0 0 10px 0;
    width: 100%;
    grid-column: 1 / -1; /* grid-column: start / end : 1 = commence à la ligne de grille 1 (première colonne) et -1 = se termine à la ligne de grille -1 (dernière colonne). Cela permet de mettre le titre sur toute la largeur des colonnes. */
}
.grille_edition_1 .bloc_champ {
    width: 100%;
}
.grille_edition_2 .bloc_champ {
    width: 50%;
}
.grille_edition_3 .bloc_champ {
    width: 33.3%;
}
.grille_edition_4 .bloc_champ {
    width: 25%;
}
.grille_edition_5 .bloc_champ {
    width: 20%;
}
.grille_edition_6 .bloc_champ {
    width: 16.6%;
}

/* Grilles d'édition CSS Grid */
.grille_edition_grid_1 {
    grid-template-columns: 1fr;
}

.grille_edition_grid_2 {
    grid-template-columns: 1fr 1fr;
}

.grille_edition_grid_3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.grille_edition_grid_4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.grille_edition_grid_5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.grille_edition_grid_6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 640px) {
    .grille_edition_2 .bloc_champ,
    .grille_edition_3 .bloc_champ,
    .grille_edition_4 .bloc_champ,
    .grille_edition_5 .bloc_champ,
    .grille_edition_6 .bloc_champ {
        width: 100%;
    }
    .grille_edition_grid_2,
    .grille_edition_grid_3,
    .grille_edition_grid_4,
    .grille_edition_grid_5,
    .grille_edition_grid_6 {
        grid-template-columns: 1fr;
    }
    .cache_petit {
        display: none;
    }
}
/*@media screen and (max-width: 1025px)
{
    body{
        zoom:0.70 !important;
    }
}
@media screen and (max-width: 1366px)
{
    body{
        zoom:0.75;
    }
}*/
/* BLOC EDITION */
.bloc_champ {
    position: relative;
    float: left;
    min-height: 29px;
}

/* Version flexbox de .bloc_champ */
.bloc_champ_flex {
    display: flex;
    align-items: center;
    min-height: 29px;
    position: relative;
}

/* Styles pour les éléments enfants de .bloc_champ_flex */
.bloc_champ_flex > label {
    width: 105px;
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 15px;
}

.bloc_champ_flex > div {
    flex: 1;
    line-height: 28px;
    z-index: auto;
}

.bloc_champ_flex > div > div {
    position: relative;
}
.bloc_champ label,
.bloc_champ_flex label,
.chronos-label,
label.form-label {
    font-weight: bold;
    text-transform: lowercase;
    color: #005477;
    line-height: 28px;
}
.bloc_champ > label:first-letter,
.bloc_champ label:first-letter,
.bloc_champ_flex > label:first-letter,
.bloc_champ_flex label:first-letter,
.chronos-label:first-letter,
label.form-label:first-letter {
    text-transform: uppercase;
}
.bloc_champ > label {
    width: 105px;
    text-align: right;
    float: left;
    white-space: nowrap;
}
.bloc_champ .cutlabel {
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
}
.bloc_champ > div > label {
    text-align: center;
    white-space: nowrap;
    float: left;
    position: relative;
}
.bloc_champ > div:not(.marge_prev) {
    position: absolute;
    left: 120px;
    right: 10px;
    line-height: 28px;
    z-index: auto;
}
.bloc_champ > div > div {
    float: left;
    position: relative;
}
.div_contenu input,
.div_contenu textarea,
.bloc_champ input,
.bloc_champ textarea,
.bloc_champ_flex input,
.bloc_champ_flex textarea {
    width: 100%;
    height: 22px;
    text-indent: 1px;
    padding-left: 0;
    box-sizing: border-box;
    background-color: #ffffff;
}
.div_contenu textarea,
.bloc_champ textarea,
.bloc_champ_flex textarea {
    height: 52px;
    resize: none;
}
.div_contenu input.right,
.bloc_champ input.right,
.bloc_champ_flex input.right {
    padding-right: 5px;
}
.div_contenu input.bouton_droit,
.bloc_champ input.bouton_droit,
.bloc_champ_flex input.bouton_droit,
div.content_support .tableau_donnees input.bouton_droit {
    padding-right: 36px;
}
.bloc_champ .select_bouton,
.bloc_champ_flex .select_bouton {
    padding-right: 22px !important;
}
.bloc_champ .select_bouton button,
.bloc_champ_flex .select_bouton button {
    position: absolute;
    height: 22px;
    top: 4px;
}
.div_contenu input[disabled],
.div_contenu input[readonly],
.bloc_champ input[disabled],
.bloc_champ input[readonly],
.bloc_champ select[disabled],
.bloc_champ select[readonly],
.bloc_champ textarea[disabled],
.bloc_champ textarea[readonly],
.bloc_champ_flex input[disabled],
.bloc_champ_flex input[readonly],
.bloc_champ_flex select[disabled],
.bloc_champ_flex select[readonly],
.bloc_champ_flex textarea[disabled],
.bloc_champ_flex textarea[readonly] {
    color: #555;
    background-color: #e5e5e5 !important;
}
.div_contenu input[disabled].lien,
.div_contenu input[readonly].lien,
.bloc_champ input[disabled].lien,
.bloc_champ input[readonly].lien,
.bloc_champ_flex input[disabled].lien,
.bloc_champ_flex input[readonly].lien {
    color: rgb(9, 158, 202);
}
.div_contenu input[type='checkbox'],
.div_contenu input[type='radio'],
.bloc_champ input[type='checkbox'],
.bloc_champ input[type='radio'],
.bloc_champ_flex input[type='checkbox'],
.bloc_champ_flex input[type='radio'] {
    position: relative;
    top: 2px;
    height: inherit;
}
.div_contenu .select,
.bloc_champ .select,
.bloc_champ_flex .select {
    width: 100%;
    padding: 0;
    height: 26px !important;
}
.bloc_champ .selectbouton button,
.bloc_champ_flex .selectbouton button {
    height: 22px;
    margin-top: -1px;
}
.bloc_champ .selectbouton div,
.bloc_champ_flex .selectbouton div {
    right: 22px;
    left: 0;
    position: absolute;
}
input:focus,
textarea:focus,
.select select:focus {
    border: 1px solid rgb(9, 158, 202);
}
.div_contenu .select select,
.bloc_champ .select select,
.bloc_champ_flex .select select {
    background-color: #ffffff;
    padding-right: 22px;
    z-index: 5;
}
.div_contenu .select:before,
.bloc_champ .select:before,
.bloc_champ_flex .select:before {
    width: 29px;
    bottom: 2px;
    top: 2px;
}
.div_contenu .select:after,
.bloc_champ .select:after,
.bloc_champ_flex .select:after {
    right: 9px;
    top: 52%;
}
.bloc_champ button,
.bloc_champ_flex button,
button.bouton_droit {
    position: absolute;
    border: 1px solid silver;
    background-color: white;
    width: 32px;
    right: 0;
    bottom: 2.5px;
    top: 3px;
    cursor: pointer;
    border-radius: 3px;
    line-height: 100% !important;
}

.bloc_champ.bloc_desactive {
    display: none;
    visibility: hidden;
}

.div_contenu .oblig:after {
    top: -2px;
}

.large_label .bloc_champ > label {
    width: 190px;
}

.large_label .bloc_champ > div {
    left: 205px;
}

.large_label .bloc_champ_flex > label {
    width: 190px;
    margin-right: 15px;
}

.content_detail {
    margin: 0 0.5%;
    background-color: white;
    border: 1px solid silver;
    border-radius: 0;
    /*
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    */
    padding: 5px 0.5%;
}

.div_contenu .content_detail {
    border: none;
}

/* ONGLETS */
.content_detail.content_onglets {
    border-top: 1px solid silver;
    padding: 0 !important;
    bottom: 45px;
    top: 31px;
    left: 0;
    right: 0;
    position: absolute;
    overflow-y: auto;
    z-index: 9;
}
.content_onglets iframe {
    width: 100%;
    height: 99%;
    border: none;
}
.content_onglets .grille_edition_1,
.content_onglets .grille_edition_2,
.content_onglets .grille_edition_3,
.content_onglets .grille_edition_4,
.content_onglets .grille_edition_5,
.content_onglets .grille_edition_6 {
    margin-top: 6px;
}

.onglet,
.onglet_selected {
    padding: 8px 5px;
    border-radius: 0 4px 0 0;
    border-color: silver;
    font-size: inherit;
}
.onglet {
    margin: 0;
    border-width: 1px 1px 0 0;
    background-color: white;
}
.onglet:hover {
    background-color: hsl(0, 0%, 95%);
}
.onglet_selected,
.onglet_selected:hover {
    color: #005477;
    border-width: 1px 1px 0 0;
    background-color: #e5e5e5;
}

#content_onglet {
    border-left: 1px solid silver;
    border-width: 0 0 0 1px;
    margin: 0 0.5%;
    padding: 0;
    width: 99%;
    background-color: #fff;
    z-index: 10;
}

.bloc_boutons_onglet {
    bottom: 8px;
    height: 36px;
    left: 0;
    right: 0;
    position: absolute;
    margin: 2px 0.5%;
}

#footer_fiche_detail {
    height: 34px;
    padding-top: 3px;
}
.div_contenu .fleches_onglet {
    display: none;
    position: absolute;
    z-index: 50;
    border: 1px solid silver;
    float: left;
    cursor: pointer;
    padding: 6px 0;
    background-color: white;
}
#content_onglet {
    overflow: hidden;
}

/* TABLEAU DANS ONGLET */
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees {
    left: 0;
    right: 0;
}
.div_contenu #content_detail .conteneur_tableau_donnees,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees tr td,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees tr th {
    border: 0;
    /*    background-color: #42a2eb;*/
    font-weight: bold;
    color: white;
}
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees.central,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees.central tr td,
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees.central tr th {
    border: inherit;
    border-width: inherit;
    background-color: inherit;
    color: inherit;
    font-weight: inherit;
}
.div_contenu #onglet_fiche_detail .conteneur_tableau_donnees table {
    border: none;
}
.div_contenu .tr_header th,
.div_contenu .tr_header td {
    /*    background-color: #42a2eb;*/
    font-weight: bold;
    color: white;
}
/*.div_contenu tr.ligne_donnee td {
font-size: 13px;
}*/
.conteneur_tableau_donnees.entete,
.conteneur_tableau_donnees.entete tr td,
.conteneur_tableau_donnees.entete tr th {
    /*    background-color: #42a2eb;*/
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* BARRE DE PROGRESSION */
.progress-bar {
    width: 82px;
    height: 3px;
    margin-top: 1px;
    border-radius: 16px;
    box-shadow: inset 0 1px 2px #000, 0 1px 0 #2b2b2b;
    float: right;
    padding: 1px 0 4px 1px;
    overflow: hidden;
}
.contenu-bar {
    height: 7px;
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3),
        inset 0 -1px 3px rgba(0, 0, 0, 0.4), 0 1px 1px #000;
    background: url(../../images/degrade_progressbar.png) repeat-y;
    background-size: 100%;
}

/* AUTOCOMPLETION */
.conteneur_autocompletion {
    position: relative;
    overflow: visible !important;
    z-index: 35;
}
div.autocompletion {
    background-color: white;
    z-index: 1000 !important;
    position: absolute;
    float: none !important;
    width: 100%;
    /*    border-bottom-right-radius:5px;*/
    /*    border-bottom-left-radius:5px;*/
    top: -3px;
    /*    box-shadow: 1px 1px 1px grey;*/
    display: none;
    border: 0px;
    max-height: 155px;
    overflow-y: scroll;
}
.autocompletion_div {
    text-align: left;
    cursor: pointer;
    line-height: 25px;
    border: 1px solid silver;
    border-width: 1px 1px 0;
    padding-left: 4px;
    float: none !important;
    background-color: white;
}
.autocompletion_div:last-child {
    border-width: 1px;
}
.autocompletion_div:hover,
.autocompletion_selected {
    background-color: #099eca;
    color: #ffffff;
}
.autocompletion_no_results {
    font-style: italic;
    line-height: 25px;
    padding-left: 4px;
}

.bloc_champ > div > div > div.autocompletion {
    float: left;
    position: relative;
}

/* Pieces jointes */
.div_attachement {
    position: absolute;
    overflow: hidden;
    width: 100px;
    height: 52px;
    text-align: center;
}
.div_attachement .fa-times {
    position: absolute;
    top: 0;
    right: 12px;
    cursor: pointer;
    color: red;
}
.div_attachement.selectionnee {
    border: 1px dotted black;
}

/*STYLE CSS POUR CREER DES LEGENDES*/
.my-legend .legend-title {
    text-align: left;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 90%;
}
.my-legend .legend-scale ul {
    margin: 0;
    padding: 0;
    float: left;
    list-style: none;
}
.my-legend .legend-scale ul li {
    display: block;
    float: left;
    width: 50px;
    margin-bottom: 6px;
    text-align: center;
    font-size: 80%;
    list-style: none;
}
.my-legend ul.legend-labels li span {
    display: block;
    float: left;
    height: 15px;
    width: 50px;
}
.my-legend .legend-source {
    font-size: 70%;
    color: #999;
    clear: both;
}
.my-legend a {
    color: #777;
}

/* specifique footer */
#div_footer_astreinte {
    position: absolute;
    margin: auto;
    bottom: 30px;
    border: 2px solid #ff0000;
    right: 20%;
    left: 20%;
    background-color: #ffffff;
    color: #ff0000;
    font-size: 16px;
    text-align: center;
    padding: 15px;
}
#div_footer_astreinte div {
    background-color: #ffff00;
    padding: 5px;
    border: 1px solid #ffd800;
}

/* Pour la suite harmoniser si possible */
.filtre_div_input {
    background-color: white;
    padding: 1px 2px;
}
.filtre_div_input .select {
    margin-top: 4px;
    width: 93%;
}
.filtre_div_input .input_text {
    height: 20px;
}

#footer_fiche_detail.flow {
    overflow: visible;
}
.content_detail.container {
    margin-top: 10px;
    margin-bottom: 10px;
}

/*doit avoir le meme width que .input_text*/
.InputTextButton {
    margin: 2px 0;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
table.InputTextButton tr td {
    margin: 0;
    padding: 0;
    overflow: visible;
    background-color: white;
}
.InputTextButton input[type='text'] {
    margin: 0;
    border: 1px solid silver;
    height: 20px;
    width: 100%;
    padding: 0;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.InputTextButton input[type='button'],
.InputTextButton button,
.minibouton {
    position: static;
    font-weight: bold;
    margin: 0;
    padding: 0 3px;
    height: 22px;
    cursor: pointer;
    background: transparent;
    border: 1px solid silver;
    border-left: 0;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    width: 100%;
    box-sizing: border-box;
}

.td_label {
    font-weight: bold;
    text-align: right;
    padding-right: 5px;
    color: #005477;
    text-transform: lowercase;
}

.ligne_on td {
    background-color: RGB(9, 158, 202) !important;
    color: #ffffff !important;
}
.ligne_off {
    background-color: #ffffff;
    color: #000000;
}
.ligne_off_2 {
    background-color: #f3f3f3;
    color: #000000;
}

.tab_global .ligne_off td,
.tab_global .ligne_off_2 td,
.tab_global .ligne_on td {
    border: 0;
    padding: 0 5px !important;
    font-size: 11px;
}

.scrollTop {
    cursor: pointer;
    margin-top: 2px;
    opacity: 0.8;
    display: inline-block;
    margin-right: 3px;
    transform: rotate(-90deg);
}
.scrollTop:hover {
    opacity: 1;
}
.scrollTop:after {
    font-family: 'Font Awesome 5 Free';
    content: '\0027A0';
    color: #ffffff;
    background-color: #099eca;
    border-radius: 5px;
    font-size: 2em;
    padding: 2px;
    transition: background 0.6s, color 0.6s, opacity 0.6s;
}
.scrollTop:hover:after {
    color: #ffffff;
    background-color: #005477;
    transition: background 0.6s, color 0.6s, opacity 0.6s;
}

.libelle_filtre_bk {
    /*    background-color: rgb(9, 158, 226);*/
    color: white;
    padding: 5px 15px;
    height: 18px;
    border-top: 1px solid silver;
    border-bottom: 1px solid silver;
    font-size: 14px;
}

.left_corner {
    border-left: 1px solid silver;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    border-top-left-radius: 5px;
}
.right_corner {
    border-right: 1px solid silver;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
    border-top-right-radius: 5px;
}

.container {
    margin-top: 10px;
    margin-bottom: 10px;
}

div.tiret_nul {
    margin: 3px auto;
    width: 15px;
    height: 5px;
    background-color: #f22e2e;
    border-radius: 2px;
}
.invisible {
    display: none;
}

.survol_nouvelle_categorie:hover {
    color: #099eca;
    cursor: pointer;
}

.entete_annee {
    width: 75%;
    margin: 0 auto;
    border-collapse: separate;
}
.entete_annee .td_left {
    border-left: 1px solid silver;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.entete_annee .td_right {
    border-right: 1px solid silver;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
.entete_annee .libelle_filtre_bk a {
    color: silver;
}
.entete_annee .libelle_filtre_bk a:hover {
    color: white;
}
.error_info {
    color: red;
}
.msg_info {
    color: green;
}
input.error {
    border-color: red;
    background-color: #f78181;
}
div.error {
    border-color: red;
    background-color: #f78181;
    color: white;
    border-radius: 5px;
}

#footer_fiche_detail .bt_add {
    margin-top: 0;
}

#div_societe {
    position: relative;
    float: right;
    width: 320px;
    height: 20px;
    padding-top: 8px;
    border-radius: 5px;
    right: 7%;
    margin: 15px 0;
    vertical-align: top;
}
#div_societe .select {
    position: absolute !important;
    right: 18px;
    width: 250px !important;
    display: inline-block !important;
    top: 2.5px !important;
}

.marge_prev {
    margin: 20px auto;
}

.participant {
    margin: 1px auto;
    padding-left: 5px;
}
.employe_primexis .bloc_champ {
    margin: 4px 0;
}

.img-zoom-container {
    position: relative;
}
.img-zoom-lens {
    position: absolute;
    border: 1px solid #d4d4d4;
    width: 50px;
    height: 50px;
}
.zoomer {
    border: 2px solid silver;
    border-radius: 3px;
    width: 400px;
    height: 400px;
    position: absolute !important;
    top: -5000px;
    left: -5000px;
    box-shadow: 10px 4px 8px gray;
    z-index: 32;
}
.bloc_champ.attribut.text_area,
.bloc_champ_flex.attribut.text_area {
    min-height: 60px;
}
.bloc_champ.attribut.select_multiple,
.bloc_champ_flex.attribut.select_multiple {
    /*
    min-height: 100px;
    */
}
.bloc_champ.attribut label {
    width: 190px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}

.bloc_champ.attribut > div {
    left: 205px;
}

.bloc_champ_flex.attribut > label {
    width: 190px;
    margin-right: 15px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}

.balance > td,
.balance > thead > td,
.balance > th,
.balance > thead > th {
    padding-right: 0px;
}

.bloc_alerte_modif_histo {
    margin-top: 13px;
    margin-right: 26%;
    background-color: #42a2eb;
    color: white;
    font-weight: bold;
    padding: 5px 0.5%;
    float: right;
    text-align: center;
    width: 280px;
}
.span-select-multiple-spannable {
    display: inline-block;
    width: 100%;
    line-height: 20px;
    border: 1px solid silver !important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    z-index: 99;
}
.select-multiple-spannable {
    z-index: 100 !important;
}
.content-multiple-select-spannable {
    overflow: visible !important;
}
.content-multiple-select-spannable div.select:first-child {
    z-index: 100 !important;
}

/* switch button */
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 2px;
    left: 0;
    right: 0;
    /*    bottom: 0;*/
    background-color: #ccc;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    width: 100%;
    height: 20px;
}

.slider:before {
    position: absolute;
    content: '';
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

input:focus + .slider {
    box-shadow: 0 0 1px #42a2eb;
}

input:checked + .slider:before {
    -webkit-transform: translateX(17px);
    -ms-transform: translateX(17px);
    transform: translateX(17px);
}

.slider.round {
    border-radius: 26px;
}

.slider.round:before {
    border-radius: 50%;
}

.bloc_champ .switch,
.bloc_champ_flex .switch {
    top: 2px;
    /*
    left: calc(50% - 25px);
    */
}

.filtre_complementaire span {
    float: left;
    font-weight: bold;
    margin: 6px 15px;
}
#iframe_annuaire {
    top: 130px;
    width: 100%;
}
#iframe_annuaire .title_support img {
    display: none;
}
#iframe_annuaire .title_support {
    width: 100%;
    text-align: center;
    font-weight: bold;
}
.vertical {
    writing-mode: vertical-lr;
}

div.bloc_help_cloture {
    position: absolute;
    right: 324px;
    top: 7px;
    text-align: center;
    height: 23px;
    width: 150px;
    margin: 0 0.5%;
    color: white;
    background-color: hsl(206, 81%, 66%); /*white;*/
    border: 3px solid silver;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 5px 0.5%;
}
.badge.rounded-pill {
    color: white;
    border-radius: 5px;
    font-size: 12px;
    padding: 3px 6px;
    display: inline-block;
    font-weight: 500;
}
/* Nuage de mots */
body .bloc_champ.bt_filtre_on_off,
body .bloc_champ_flex.bt_filtre_on_off {
    text-align: left;
    font-weight: normal;
    font-size: 16px;
    min-height: auto;
    width: auto;
    margin: 4px;
    padding: 4px 10px;
    border: 0px;
    border-radius: 7px;
    /*    background-color: rgb(9, 158, 226);*/
    color: white;
}
body .bloc_champ.bt_filtre_on_off.bt_on,
body .bloc_champ_flex.bt_filtre_on_off.bt_on {
    background-color: DarkGreen;
    font-weight: bold;
}

.paging_content {
    display: flex;
    align-items: center;
    justify-content: center;
}
.nopaging,
.paging {
    float: left;
    padding: 7px 12px;
    margin: 7px;
}
.paging {
    cursor: pointer;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: color 0.3s, border 0.3s;
}
.paging.selected {
    color: #000055;
    /*    background-color: rgb(9, 158, 226);*/
    color: white;
    border: 1px solid rgb(9, 158, 226);
}
.paging:hover {
    background-color: #f8f8ff;
    color: black;
    border: 1px solid rgb(9, 158, 226);
}

.ligne_donnee .fa-times {
    color: #ff8680;
}
.ligne_donnee .fa-check {
    color: #0c0;
}
#bloc_boutons_haut,
#barre_laterale {
    display: none;
}

.bloc_info {
    float: left;
    width: 140px;
    height: 60px;
    padding: 10px;
    margin-left: 20px;
    border: 1px solid silver;
    border-top: 4px solid rgb(9, 158, 202);
    transition: background 0.6s;
    cursor: pointer;
}
.bloc_info h3 {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: normal;
}
.bloc_info span {
    display: inline-block;
    font-size: 26px;
    margin-top: 16px;
}
.bloc_info:hover {
    background-color: #eee;
}

.categorie-attribut:before {
    clear: both;
}
.categorie-attribut {
    padding: 2px 5px;
    border-bottom: 1px solid silver;
    margin-top: 15px;
    clear: both;
}
div#div_complements h3.categorie-attribut {
    margin-bottom: 12px;
}

.filtres_header.multiselect {
    height: 50px;
    overflow: visible;
    white-space: normal;
}
.select-container {
    position: relative;
    /*border: 1px solid #ccc;*/
    /*padding: 5px;*/
    /*border-radius: 5px;*/
    cursor: text;
    /*min-height: 40px;*/
    float: right;
    width: 300px;
    background-color: white;
    height: 34px;
    position: relative;
}
#select-input-societe {
    border: none;
    outline: none;
    width: 100%;
    position: absolute;
    top: 18px;
    left: 0;
}
.selected-text {
    display: inline;
    font-size: 14px;
}
.filtres_header .selected-text span {
    color: black;
}
.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid #ccc;
    max-height: 150px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    font-size: 14px;
}
.dropdown div {
    padding: 5px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
}
.dropdown div:hover {
    background: #f0f0f0;
}
.dropdown div.disabled {
    color: gray;
    pointer-events: none;
}
.removable > strong {
    cursor: pointer;
}

/* flex_horizontal_vertical */
.flex_around_center {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.flex_center_center {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex_start_center {
    display: flex;
    justify-content: start;
    align-items: center;
}
.flex_end_center {
    display: flex;
    justify-content: end;
    align-items: center;
}

.flex_center_stretch {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.flex_start_stretch {
    display: flex;
    justify-content: start;
    align-items: stretch;
}

.flex_between_stretch {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.flex_between_center {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flex_end_bottom {
    display: flex;
    justify-content: end;
    align-items: flex-end;
}

.flex_row_reverse_center {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
}

.flex_row_reverse_center {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
}

.flex_col {
    display: flex;
    flex-direction: column;
}

/* cercle du logo */
.crop_circle_65,
.crop_circle_48 {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid #005477;
    box-shadow: 2px 2px 6px #666;
    color: #005477;
    overflow: hidden;
    font-weight: bold;
}
.crop_circle_65 {
    width: 65px;
    height: 65px;
    font-size: 38px;
}
.crop_circle_48 {
    width: 40px;
    height: 40px;
    font-size: 30px;
}

.crop_circle_65 img,
.crop_circle_48 img {
    width: 100%;
    height: 100%;
}
.crop_circle_48 i {
    font-size: 19px;
}

div.entete_fiche {
    padding: 0px 1%;
    background-color: #03a9f417; /*#c0c0c042*/
}

div.entete_fiche div.flex_center_center {
    width: 5%;
    padding: 2px;
}
div.entete_fiche div button {
    padding: 7px 15px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.spinner-rotate {
    animation: spin 1s linear infinite;
}

.gap-10 {
    gap: 10px;
}

.gap-5 {
    gap: 5px;
}

.gap-20 {
    gap: 20px;
}

td.texte_tronque,
div.texte_tronque,
span.texte_tronque {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.label_title {
    margin: 0 0 20px 0;
    font-weight: bold;
    color: #005477;
    line-height: 28px;
}

/* Nouveaux filtres_header à utiliser avec flexbox */
.filtres_header_non_float {
    border: 1px solid silver;
    border-radius: 5px;
    height: 38px;
    margin: 10px 10px 0 0;
    padding: 7px 10px;
    position: relative;
    vertical-align: top;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.filtres_header_non_float span:first-child {
    color: white;
    display: inline-block;
    font-size: 14px;
    margin-top: 2px;
    margin-right: 10px;
    padding-top: 0px;
    vertical-align: top;
    height: 20px;
    overflow: hidden;
}
.filtres_header_non_float .select {
    display: inline-block;
    margin: 0;
    width: 180px;
}
div.div_contenu .filtres_header_non_float .select {
    display: inline-block;
    margin: 0;
    width: 180px;
}
div.div_contenu .filtres_header_non_float .select::before,
.bloc_champ .select::before {
    width: 21px;
    bottom: 2.5px;
    top: 1.5px;
}
div.div_contenu .filtres_header_non_float .select::after,
.bloc_champ .select::after {
    right: 4px;
    top: 47%;
}

.footer-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
}
.footer-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 10px;
}
.footer-right {
    position: absolute;
    right: 10px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
}
.footer-right button {
    margin-left: 20px;
}

.clearfix::after {
    content: '';
    display: table;
    clear: both;
}
